.include "macros.inc" .section .data .balign 8 .global lbl_803EDA80 lbl_803EDA80: # ROM: 0x3EAA80 .4byte 0 .4byte 0 .4byte __dt__11CElementGenFv .4byte Update__11CElementGenFd .4byte Render__11CElementGenFv .4byte SetOrientation__11CElementGenFRC12CTransform4f .4byte SetTranslation__11CElementGenFRC9CVector3f .4byte SetGlobalOrientation__11CElementGenFRC12CTransform4f .4byte SetGlobalTranslation__11CElementGenFRC9CVector3f .4byte SetGlobalScale__11CElementGenFRC9CVector3f .4byte SetLocalScale__11CElementGenFRC9CVector3f .4byte SetParticleEmission__11CElementGenFb .4byte SetModulationColor__11CElementGenFRC6CColor .4byte SetGeneratorRate__11CElementGenFf .4byte GetOrientation__11CElementGenCFv .4byte GetTranslation__11CElementGenCFv .4byte GetGlobalOrientation__11CElementGenCFv .4byte GetGlobalTranslation__11CElementGenCFv .4byte GetGlobalScale__11CElementGenCFv .4byte GetParticleEmission__11CElementGenCFv .4byte GetModulationColor__11CElementGenCFv .4byte GetGeneratorRate__11CElementGenCFv .4byte IsSystemDeletable__11CElementGenCFv .4byte GetBounds__11CElementGenCFv .4byte GetParticleCount__11CElementGenCFv .4byte SystemHasLight__11CElementGenCFv .4byte GetLight__11CElementGenCFv .4byte DestroyParticles__11CElementGenFv .4byte AddModifier__12CParticleGenFP5CWarp .4byte Get4CharId__11CElementGenCF .section .sdata .balign 8 .global lbl_805A88B0 lbl_805A88B0: # ROM: 0x3F6250 .4byte 0x3F911111 .4byte 0x11111111 .global lbl_805A88B8 lbl_805A88B8: # ROM: 0x3F6258 .4byte 0x00630000 .4byte 0 .global lbl_805A88C0 lbl_805A88C0: # ROM: 0x3F6260 .4byte 0 .4byte 0 .global lbl_805A88C8 lbl_805A88C8: # ROM: 0x3F6268 .4byte 0 .global lbl_805A88CC lbl_805A88CC: # ROM: 0x3F626C .4byte 0x00000001 .global lbl_805A88D0 lbl_805A88D0: # ROM: 0x3F6270 .4byte 0 .4byte 0 .section .bss .balign 8 .lcomm mStaticParticleList, 0x20, 4 .lcomm mStaticFreeList, 0x20, 4 .lcomm "ModulatePreviousTEVWithRasColor$6239", 0x4C, 4 .lcomm "ModulatePreviousTEVWithRasColor$6760", 0x4C, 4 .section .sbss, "wa" .balign 8 .global mParticleAliveCount__11CElementGen mParticleAliveCount__11CElementGen: .skip 0x4 .global mParticleSystemAliveCount__11CElementGen mParticleSystemAliveCount__11CElementGen: .skip 0x4 .global sMoveRedToAlphaBuffer__11CElementGen sMoveRedToAlphaBuffer__11CElementGen: .skip 0x1 .global sSubtractBlend__11CElementGen sSubtractBlend__11CElementGen: .skip 0x1 .global sStaticListInitialized sStaticListInitialized: .skip 0x1 .global lbl_805A947B lbl_805A947B: .skip 0x1 .global lbl_805A947C lbl_805A947C: .skip 0x4 .global lbl_805A9480 lbl_805A9480: .skip 0x4 .global lbl_805A9484 lbl_805A9484: .skip 0x1 .global lbl_805A9485 lbl_805A9485: .skip 0x3 .section .text, "ax" .global GetGlobalTranslation__11CElementGenCFv GetGlobalTranslation__11CElementGenCFv: /* 8031762C 0031458C 38 63 00 E8 */ addi r3, r3, 0xe8 /* 80317630 00314590 4E 80 00 20 */ blr .global GetGlobalOrientation__11CElementGenCFv GetGlobalOrientation__11CElementGenCFv: /* 80317634 00314594 38 63 02 2C */ addi r3, r3, 0x22c /* 80317638 00314598 4E 80 00 20 */ blr .global GetParticleEmission__11CElementGenCFv GetParticleEmission__11CElementGenCFv: /* 8031763C 0031459C 88 63 00 88 */ lbz r3, 0x88(r3) /* 80317640 003145A0 4E 80 00 20 */ blr .global IsIndirectTextured__11CElementGenCFv IsIndirectTextured__11CElementGenCFv: /* 80317644 003145A4 80 83 00 28 */ lwz r4, 0x28(r3) /* 80317648 003145A8 38 60 00 00 */ li r3, 0 /* 8031764C 003145AC 80 04 00 40 */ lwz r0, 0x40(r4) /* 80317650 003145B0 28 00 00 00 */ cmplwi r0, 0 /* 80317654 003145B4 4D 82 00 20 */ beqlr /* 80317658 003145B8 80 04 00 44 */ lwz r0, 0x44(r4) /* 8031765C 003145BC 28 00 00 00 */ cmplwi r0, 0 /* 80317660 003145C0 4D 82 00 20 */ beqlr /* 80317664 003145C4 38 60 00 01 */ li r3, 1 /* 80317668 003145C8 4E 80 00 20 */ blr .global GetExternalVar__11CElementGenCFi GetExternalVar__11CElementGenCFi: /* 8031766C 003145CC 54 80 10 3A */ slwi r0, r4, 2 /* 80317670 003145D0 7C 63 02 14 */ add r3, r3, r0 /* 80317674 003145D4 C0 23 00 9C */ lfs f1, 0x9c(r3) /* 80317678 003145D8 4E 80 00 20 */ blr .global SetCEXTValue__11CElementGenFif SetCEXTValue__11CElementGenFif: /* 8031767C 003145DC 54 80 10 3A */ slwi r0, r4, 2 /* 80317680 003145E0 7C 63 02 14 */ add r3, r3, r0 /* 80317684 003145E4 D0 23 00 9C */ stfs f1, 0x9c(r3) /* 80317688 003145E8 4E 80 00 20 */ blr .global GetActiveChildParticle__11CElementGenCFi GetActiveChildParticle__11CElementGenCFi: /* 8031768C 003145EC 80 63 02 9C */ lwz r3, 0x29c(r3) /* 80317690 003145F0 54 80 10 3A */ slwi r0, r4, 2 /* 80317694 003145F4 7C 63 00 2E */ lwzx r3, r3, r0 /* 80317698 003145F8 4E 80 00 20 */ blr .global GetNumActiveChildParticles__11CElementGenCFv GetNumActiveChildParticles__11CElementGenCFv: /* 8031769C 003145FC 80 63 02 94 */ lwz r3, 0x294(r3) /* 803176A0 00314600 4E 80 00 20 */ blr .global Get4CharId__11CElementGenCF Get4CharId__11CElementGenCF: /* 803176A4 00314604 3C 60 50 41 */ lis r3, 0x50415254@ha /* 803176A8 00314608 38 63 52 54 */ addi r3, r3, 0x50415254@l /* 803176AC 0031460C 4E 80 00 20 */ blr .global GetGeneratorRate__11CElementGenCFv GetGeneratorRate__11CElementGenCFv: /* 803176B0 00314610 C0 23 00 98 */ lfs f1, 0x98(r3) /* 803176B4 00314614 4E 80 00 20 */ blr .global SetGeneratorRate__11CElementGenFf SetGeneratorRate__11CElementGenFf: /* 803176B8 00314618 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803176BC 0031461C 7C 08 02 A6 */ mflr r0 /* 803176C0 00314620 FC 40 08 18 */ frsp f2, f1 /* 803176C4 00314624 90 01 00 24 */ stw r0, 0x24(r1) /* 803176C8 00314628 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803176CC 0031462C 93 C1 00 18 */ stw r30, 0x18(r1) /* 803176D0 00314630 93 A1 00 14 */ stw r29, 0x14(r1) /* 803176D4 00314634 7C 7D 1B 78 */ mr r29, r3 /* 803176D8 00314638 C0 0D 9D 10 */ lfs f0, lbl_805A88D0@sda21(r13) /* 803176DC 0031463C D0 21 00 08 */ stfs f1, 8(r1) /* 803176E0 00314640 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 803176E4 00314644 40 80 00 0C */ bge lbl_803176F0 /* 803176E8 00314648 38 6D 9D 10 */ addi r3, r13, lbl_805A88D0@sda21 /* 803176EC 0031464C 48 00 00 08 */ b lbl_803176F4 lbl_803176F0: /* 803176F0 00314650 38 61 00 08 */ addi r3, r1, 8 lbl_803176F4: /* 803176F4 00314654 C0 03 00 00 */ lfs f0, 0(r3) /* 803176F8 00314658 D0 1D 00 98 */ stfs f0, 0x98(r29) /* 803176FC 0031465C 83 FD 02 9C */ lwz r31, 0x29c(r29) /* 80317700 00314660 48 00 00 44 */ b lbl_80317744 lbl_80317704: /* 80317704 00314664 83 DF 00 00 */ lwz r30, 0(r31) /* 80317708 00314668 7F C3 F3 78 */ mr r3, r30 /* 8031770C 0031466C 81 9E 00 00 */ lwz r12, 0(r30) /* 80317710 00314670 81 8C 00 74 */ lwz r12, 0x74(r12) /* 80317714 00314674 7D 89 03 A6 */ mtctr r12 /* 80317718 00314678 4E 80 04 21 */ bctrl /* 8031771C 0031467C 3C 03 AF BF */ addis r0, r3, 0xafbf /* 80317720 00314680 28 00 52 54 */ cmplwi r0, 0x5254 /* 80317724 00314684 40 82 00 1C */ bne lbl_80317740 /* 80317728 00314688 7F C3 F3 78 */ mr r3, r30 /* 8031772C 0031468C C0 3D 00 98 */ lfs f1, 0x98(r29) /* 80317730 00314690 81 9E 00 00 */ lwz r12, 0(r30) /* 80317734 00314694 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80317738 00314698 7D 89 03 A6 */ mtctr r12 /* 8031773C 0031469C 4E 80 04 21 */ bctrl lbl_80317740: /* 80317740 003146A0 3B FF 00 04 */ addi r31, r31, 4 lbl_80317744: /* 80317744 003146A4 80 1D 02 94 */ lwz r0, 0x294(r29) /* 80317748 003146A8 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031774C 003146AC 54 00 10 3A */ slwi r0, r0, 2 /* 80317750 003146B0 7C 03 02 14 */ add r0, r3, r0 /* 80317754 003146B4 7C 1F 00 40 */ cmplw r31, r0 /* 80317758 003146B8 40 82 FF AC */ bne lbl_80317704 /* 8031775C 003146BC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80317760 003146C0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80317764 003146C4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80317768 003146C8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031776C 003146CC 7C 08 03 A6 */ mtlr r0 /* 80317770 003146D0 38 21 00 20 */ addi r1, r1, 0x20 /* 80317774 003146D4 4E 80 00 20 */ blr .global GetLight__11CElementGenCFv GetLight__11CElementGenCFv: /* 80317778 003146D8 94 21 FF 10 */ stwu r1, -0xf0(r1) /* 8031777C 003146DC 7C 08 02 A6 */ mflr r0 /* 80317780 003146E0 90 01 00 F4 */ stw r0, 0xf4(r1) /* 80317784 003146E4 93 E1 00 EC */ stw r31, 0xec(r1) /* 80317788 003146E8 93 C1 00 E8 */ stw r30, 0xe8(r1) /* 8031778C 003146EC 7C 9E 23 78 */ mr r30, r4 /* 80317790 003146F0 93 A1 00 E4 */ stw r29, 0xe4(r1) /* 80317794 003146F4 7C 7D 1B 78 */ mr r29, r3 /* 80317798 003146F8 80 04 03 08 */ lwz r0, 0x308(r4) /* 8031779C 003146FC 2C 00 00 03 */ cmpwi r0, 3 /* 803177A0 00314700 41 82 00 78 */ beq lbl_80317818 /* 803177A4 00314704 40 80 01 40 */ bge lbl_803178E4 /* 803177A8 00314708 2C 00 00 02 */ cmpwi r0, 2 /* 803177AC 0031470C 40 80 00 08 */ bge lbl_803177B4 /* 803177B0 00314710 48 00 01 34 */ b lbl_803178E4 lbl_803177B4: /* 803177B4 00314714 E0 3E A3 0C */ psq_l f1, 780(r30), 1, qr2 /* 803177B8 00314718 E0 5E A3 0D */ psq_l f2, 781(r30), 1, qr2 /* 803177BC 0031471C E0 7E A3 0E */ psq_l f3, 782(r30), 1, qr2 /* 803177C0 00314720 E0 9E A3 0F */ psq_l f4, 783(r30), 1, qr2 /* 803177C4 00314724 38 61 00 0C */ addi r3, r1, 0xc /* 803177C8 00314728 C0 02 C9 EC */ lfs f0, lbl_805AE70C@sda21(r2) /* 803177CC 0031472C C0 BE 03 10 */ lfs f5, 0x310(r30) /* 803177D0 00314730 EC 20 00 72 */ fmuls f1, f0, f1 /* 803177D4 00314734 EC 40 00 B2 */ fmuls f2, f0, f2 /* 803177D8 00314738 EC 60 00 F2 */ fmuls f3, f0, f3 /* 803177DC 0031473C EC 00 01 32 */ fmuls f0, f0, f4 /* 803177E0 00314740 EC 25 00 72 */ fmuls f1, f5, f1 /* 803177E4 00314744 EC 45 00 B2 */ fmuls f2, f5, f2 /* 803177E8 00314748 EC 65 00 F2 */ fmuls f3, f5, f3 /* 803177EC 0031474C EC 85 00 32 */ fmuls f4, f5, f0 /* 803177F0 00314750 48 04 BB FD */ bl __ct__6CColorFffff /* 803177F4 00314754 7C 7F 1B 78 */ mr r31, r3 /* 803177F8 00314758 38 61 00 28 */ addi r3, r1, 0x28 /* 803177FC 0031475C 38 9E 03 20 */ addi r4, r30, 0x320 /* 80317800 00314760 4B FF D0 51 */ bl AsNormalized__9CVector3fCFv /* 80317804 00314764 7F A3 EB 78 */ mr r3, r29 /* 80317808 00314768 7F E5 FB 78 */ mr r5, r31 /* 8031780C 0031476C 38 81 00 28 */ addi r4, r1, 0x28 /* 80317810 00314770 4B FE EC 5D */ bl BuildDirectional__6CLightFRC9CVector3fRC6CColor /* 80317814 00314774 48 00 01 40 */ b lbl_80317954 lbl_80317818: /* 80317818 00314778 E0 3E A3 0C */ psq_l f1, 780(r30), 1, qr2 /* 8031781C 0031477C E0 5E A3 0D */ psq_l f2, 781(r30), 1, qr2 /* 80317820 00314780 E0 7E A3 0E */ psq_l f3, 782(r30), 1, qr2 /* 80317824 00314784 E0 9E A3 0F */ psq_l f4, 783(r30), 1, qr2 /* 80317828 00314788 38 61 00 08 */ addi r3, r1, 8 /* 8031782C 0031478C C0 02 C9 EC */ lfs f0, lbl_805AE70C@sda21(r2) /* 80317830 00314790 C0 BE 03 10 */ lfs f5, 0x310(r30) /* 80317834 00314794 EC 20 00 72 */ fmuls f1, f0, f1 /* 80317838 00314798 EC 40 00 B2 */ fmuls f2, f0, f2 /* 8031783C 0031479C EC 60 00 F2 */ fmuls f3, f0, f3 /* 80317840 003147A0 EC 00 01 32 */ fmuls f0, f0, f4 /* 80317844 003147A4 EC 25 00 72 */ fmuls f1, f5, f1 /* 80317848 003147A8 EC 45 00 B2 */ fmuls f2, f5, f2 /* 8031784C 003147AC EC 65 00 F2 */ fmuls f3, f5, f3 /* 80317850 003147B0 EC 85 00 32 */ fmuls f4, f5, f0 /* 80317854 003147B4 48 04 BB 99 */ bl __ct__6CColorFffff /* 80317858 003147B8 7C 7F 1B 78 */ mr r31, r3 /* 8031785C 003147BC 38 61 00 1C */ addi r3, r1, 0x1c /* 80317860 003147C0 38 9E 03 20 */ addi r4, r30, 0x320 /* 80317864 003147C4 4B FF CF ED */ bl AsNormalized__9CVector3fCFv /* 80317868 003147C8 C0 3E 03 34 */ lfs f1, 0x334(r30) /* 8031786C 003147CC 7F E6 FB 78 */ mr r6, r31 /* 80317870 003147D0 38 61 00 34 */ addi r3, r1, 0x34 /* 80317874 003147D4 38 9E 03 14 */ addi r4, r30, 0x314 /* 80317878 003147D8 38 A1 00 1C */ addi r5, r1, 0x1c /* 8031787C 003147DC 4B FE EB 81 */ bl BuildSpot__6CLightFRC9CVector3fRC9CVector3fRC6CColorf /* 80317880 003147E0 38 61 00 84 */ addi r3, r1, 0x84 /* 80317884 003147E4 38 81 00 34 */ addi r4, r1, 0x34 /* 80317888 003147E8 4B D2 3C E9 */ bl __ct__6CLightFRC6CLight /* 8031788C 003147EC 80 1E 03 2C */ lwz r0, 0x32c(r30) /* 80317890 003147F0 2C 00 00 02 */ cmpwi r0, 2 /* 80317894 003147F4 40 82 00 0C */ bne lbl_803178A0 /* 80317898 003147F8 C0 7E 03 30 */ lfs f3, 0x330(r30) /* 8031789C 003147FC 48 00 00 08 */ b lbl_803178A4 lbl_803178A0: /* 803178A0 00314800 C0 62 C9 E8 */ lfs f3, lbl_805AE708@sda21(r2) lbl_803178A4: /* 803178A4 00314804 2C 00 00 01 */ cmpwi r0, 1 /* 803178A8 00314808 40 82 00 0C */ bne lbl_803178B4 /* 803178AC 0031480C C0 5E 03 30 */ lfs f2, 0x330(r30) /* 803178B0 00314810 48 00 00 08 */ b lbl_803178B8 lbl_803178B4: /* 803178B4 00314814 C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) lbl_803178B8: /* 803178B8 00314818 2C 00 00 00 */ cmpwi r0, 0 /* 803178BC 0031481C 38 61 00 84 */ addi r3, r1, 0x84 /* 803178C0 00314820 40 82 00 0C */ bne lbl_803178CC /* 803178C4 00314824 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 803178C8 00314828 48 00 00 08 */ b lbl_803178D0 lbl_803178CC: /* 803178CC 0031482C C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) lbl_803178D0: /* 803178D0 00314830 4B FE EA E1 */ bl SetAttenuation__6CLightFfff /* 803178D4 00314834 7F A3 EB 78 */ mr r3, r29 /* 803178D8 00314838 38 81 00 84 */ addi r4, r1, 0x84 /* 803178DC 0031483C 4B D2 3C 95 */ bl __ct__6CLightFRC6CLight /* 803178E0 00314840 48 00 00 74 */ b lbl_80317954 lbl_803178E4: /* 803178E4 00314844 80 1E 03 2C */ lwz r0, 0x32c(r30) /* 803178E8 00314848 2C 00 00 02 */ cmpwi r0, 2 /* 803178EC 0031484C 40 82 00 0C */ bne lbl_803178F8 /* 803178F0 00314850 C0 7E 03 30 */ lfs f3, 0x330(r30) /* 803178F4 00314854 48 00 00 08 */ b lbl_803178FC lbl_803178F8: /* 803178F8 00314858 C0 62 C9 E8 */ lfs f3, lbl_805AE708@sda21(r2) lbl_803178FC: /* 803178FC 0031485C 2C 00 00 01 */ cmpwi r0, 1 /* 80317900 00314860 40 82 00 0C */ bne lbl_8031790C /* 80317904 00314864 C0 5E 03 30 */ lfs f2, 0x330(r30) /* 80317908 00314868 48 00 00 08 */ b lbl_80317910 lbl_8031790C: /* 8031790C 0031486C C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) lbl_80317910: /* 80317910 00314870 2C 00 00 00 */ cmpwi r0, 0 /* 80317914 00314874 40 82 00 0C */ bne lbl_80317920 /* 80317918 00314878 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 8031791C 0031487C 48 00 00 08 */ b lbl_80317924 lbl_80317920: /* 80317920 00314880 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) lbl_80317924: /* 80317924 00314884 C0 A2 C9 E8 */ lfs f5, lbl_805AE708@sda21(r2) /* 80317928 00314888 7F A3 EB 78 */ mr r3, r29 /* 8031792C 0031488C C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 80317930 00314890 38 9E 03 14 */ addi r4, r30, 0x314 /* 80317934 00314894 FC C0 28 90 */ fmr f6, f5 /* 80317938 00314898 D0 A1 00 14 */ stfs f5, 0x14(r1) /* 8031793C 0031489C C0 9E 03 10 */ lfs f4, 0x310(r30) /* 80317940 003148A0 38 A1 00 10 */ addi r5, r1, 0x10 /* 80317944 003148A4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80317948 003148A8 38 DE 03 0C */ addi r6, r30, 0x30c /* 8031794C 003148AC D0 A1 00 18 */ stfs f5, 0x18(r1) /* 80317950 003148B0 4B FE EA 8D */ bl BuildCustom__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff lbl_80317954: /* 80317954 003148B4 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 80317958 003148B8 83 E1 00 EC */ lwz r31, 0xec(r1) /* 8031795C 003148BC 83 C1 00 E8 */ lwz r30, 0xe8(r1) /* 80317960 003148C0 83 A1 00 E4 */ lwz r29, 0xe4(r1) /* 80317964 003148C4 7C 08 03 A6 */ mtlr r0 /* 80317968 003148C8 38 21 00 F0 */ addi r1, r1, 0xf0 /* 8031796C 003148CC 4E 80 00 20 */ blr .global SystemHasLight__11CElementGenCFv SystemHasLight__11CElementGenCFv: /* 80317970 003148D0 80 63 03 08 */ lwz r3, 0x308(r3) /* 80317974 003148D4 7C 03 00 D0 */ neg r0, r3 /* 80317978 003148D8 7C 00 1B 78 */ or r0, r0, r3 /* 8031797C 003148DC 54 03 0F FE */ srwi r3, r0, 0x1f /* 80317980 003148E0 4E 80 00 20 */ blr .global GetEmitterTime__11CElementGenCFv GetEmitterTime__11CElementGenCFv: /* 80317984 003148E4 80 63 00 74 */ lwz r3, 0x74(r3) /* 80317988 003148E8 4E 80 00 20 */ blr .global GetBounds__11CElementGenCFv GetBounds__11CElementGenCFv: /* 8031798C 003148EC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80317990 003148F0 7C 08 02 A6 */ mflr r0 /* 80317994 003148F4 90 01 00 14 */ stw r0, 0x14(r1) /* 80317998 003148F8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031799C 003148FC 7C 9F 23 78 */ mr r31, r4 /* 803179A0 00314900 93 C1 00 08 */ stw r30, 8(r1) /* 803179A4 00314904 7C 7E 1B 78 */ mr r30, r3 /* 803179A8 00314908 7F E3 FB 78 */ mr r3, r31 /* 803179AC 0031490C 48 00 05 41 */ bl GetParticleCountAll__11CElementGenCFv /* 803179B0 00314910 2C 03 00 00 */ cmpwi r3, 0 /* 803179B4 00314914 41 81 00 10 */ bgt lbl_803179C4 /* 803179B8 00314918 38 00 00 00 */ li r0, 0 /* 803179BC 0031491C 98 1E 00 18 */ stb r0, 0x18(r30) /* 803179C0 00314920 48 00 00 44 */ b lbl_80317A04 lbl_803179C4: /* 803179C4 00314924 38 00 00 01 */ li r0, 1 /* 803179C8 00314928 28 1E 00 00 */ cmplwi r30, 0 /* 803179CC 0031492C 98 1E 00 18 */ stb r0, 0x18(r30) /* 803179D0 00314930 41 82 00 34 */ beq lbl_80317A04 /* 803179D4 00314934 C0 1F 02 F0 */ lfs f0, 0x2f0(r31) /* 803179D8 00314938 D0 1E 00 00 */ stfs f0, 0(r30) /* 803179DC 0031493C C0 1F 02 F4 */ lfs f0, 0x2f4(r31) /* 803179E0 00314940 D0 1E 00 04 */ stfs f0, 4(r30) /* 803179E4 00314944 C0 1F 02 F8 */ lfs f0, 0x2f8(r31) /* 803179E8 00314948 D0 1E 00 08 */ stfs f0, 8(r30) /* 803179EC 0031494C C0 1F 02 FC */ lfs f0, 0x2fc(r31) /* 803179F0 00314950 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 803179F4 00314954 C0 1F 03 00 */ lfs f0, 0x300(r31) /* 803179F8 00314958 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 803179FC 0031495C C0 1F 03 04 */ lfs f0, 0x304(r31) /* 80317A00 00314960 D0 1E 00 14 */ stfs f0, 0x14(r30) lbl_80317A04: /* 80317A04 00314964 80 01 00 14 */ lwz r0, 0x14(r1) /* 80317A08 00314968 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80317A0C 0031496C 83 C1 00 08 */ lwz r30, 8(r1) /* 80317A10 00314970 7C 08 03 A6 */ mtlr r0 /* 80317A14 00314974 38 21 00 10 */ addi r1, r1, 0x10 /* 80317A18 00314978 4E 80 00 20 */ blr .global BuildParticleSystemBounds__11CElementGenFv BuildParticleSystemBounds__11CElementGenFv: /* 80317A1C 0031497C 94 21 FE 80 */ stwu r1, -0x180(r1) /* 80317A20 00314980 7C 08 02 A6 */ mflr r0 /* 80317A24 00314984 90 01 01 84 */ stw r0, 0x184(r1) /* 80317A28 00314988 DB E1 01 70 */ stfd f31, 0x170(r1) /* 80317A2C 0031498C F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0 /* 80317A30 00314990 DB C1 01 60 */ stfd f30, 0x160(r1) /* 80317A34 00314994 F3 C1 01 68 */ psq_st f30, 360(r1), 0, qr0 /* 80317A38 00314998 DB A1 01 50 */ stfd f29, 0x150(r1) /* 80317A3C 0031499C F3 A1 01 58 */ psq_st f29, 344(r1), 0, qr0 /* 80317A40 003149A0 BF 41 01 38 */ stmw r26, 0x138(r1) /* 80317A44 003149A4 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 80317A48 003149A8 7C 7C 1B 78 */ mr r28, r3 /* 80317A4C 003149AC 3B E4 67 54 */ addi r31, r4, mskInvertedBox__6CAABox@l /* 80317A50 003149B0 3B C1 00 C4 */ addi r30, r1, 0xc4 /* 80317A54 003149B4 C0 BF 00 00 */ lfs f5, 0(r31) /* 80317A58 003149B8 3B A0 00 00 */ li r29, 0 /* 80317A5C 003149BC C0 9F 00 04 */ lfs f4, 4(r31) /* 80317A60 003149C0 C0 7F 00 08 */ lfs f3, 8(r31) /* 80317A64 003149C4 C0 5F 00 0C */ lfs f2, 0xc(r31) /* 80317A68 003149C8 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 80317A6C 003149CC C0 1F 00 14 */ lfs f0, 0x14(r31) /* 80317A70 003149D0 D0 A1 00 B8 */ stfs f5, 0xb8(r1) /* 80317A74 003149D4 D0 81 00 BC */ stfs f4, 0xbc(r1) /* 80317A78 003149D8 D0 61 00 C0 */ stfs f3, 0xc0(r1) /* 80317A7C 003149DC D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 80317A80 003149E0 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 80317A84 003149E4 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 80317A88 003149E8 83 43 02 9C */ lwz r26, 0x29c(r3) /* 80317A8C 003149EC 48 00 00 A4 */ b lbl_80317B30 lbl_80317A90: /* 80317A90 003149F0 80 9A 00 00 */ lwz r4, 0(r26) /* 80317A94 003149F4 38 61 00 80 */ addi r3, r1, 0x80 /* 80317A98 003149F8 81 84 00 00 */ lwz r12, 0(r4) /* 80317A9C 003149FC 81 8C 00 5C */ lwz r12, 0x5c(r12) /* 80317AA0 00314A00 7D 89 03 A6 */ mtctr r12 /* 80317AA4 00314A04 4E 80 04 21 */ bctrl /* 80317AA8 00314A08 88 01 00 98 */ lbz r0, 0x98(r1) /* 80317AAC 00314A0C 28 00 00 00 */ cmplwi r0, 0 /* 80317AB0 00314A10 98 01 00 B4 */ stb r0, 0xb4(r1) /* 80317AB4 00314A14 41 82 00 3C */ beq lbl_80317AF0 /* 80317AB8 00314A18 34 61 00 9C */ addic. r3, r1, 0x9c /* 80317ABC 00314A1C 41 82 00 34 */ beq lbl_80317AF0 /* 80317AC0 00314A20 C0 01 00 80 */ lfs f0, 0x80(r1) /* 80317AC4 00314A24 D0 03 00 00 */ stfs f0, 0(r3) /* 80317AC8 00314A28 C0 01 00 84 */ lfs f0, 0x84(r1) /* 80317ACC 00314A2C D0 03 00 04 */ stfs f0, 4(r3) /* 80317AD0 00314A30 C0 01 00 88 */ lfs f0, 0x88(r1) /* 80317AD4 00314A34 D0 03 00 08 */ stfs f0, 8(r3) /* 80317AD8 00314A38 C0 01 00 8C */ lfs f0, 0x8c(r1) /* 80317ADC 00314A3C D0 03 00 0C */ stfs f0, 0xc(r3) /* 80317AE0 00314A40 C0 01 00 90 */ lfs f0, 0x90(r1) /* 80317AE4 00314A44 D0 03 00 10 */ stfs f0, 0x10(r3) /* 80317AE8 00314A48 C0 01 00 94 */ lfs f0, 0x94(r1) /* 80317AEC 00314A4C D0 03 00 14 */ stfs f0, 0x14(r3) lbl_80317AF0: /* 80317AF0 00314A50 88 01 00 B4 */ lbz r0, 0xb4(r1) /* 80317AF4 00314A54 38 60 00 00 */ li r3, 0 /* 80317AF8 00314A58 98 61 00 98 */ stb r3, 0x98(r1) /* 80317AFC 00314A5C 28 00 00 00 */ cmplwi r0, 0 /* 80317B00 00314A60 41 82 00 24 */ beq lbl_80317B24 /* 80317B04 00314A64 3B 61 00 9C */ addi r27, r1, 0x9c /* 80317B08 00314A68 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80317B0C 00314A6C 7F 64 DB 78 */ mr r4, r27 /* 80317B10 00314A70 3B A0 00 01 */ li r29, 1 /* 80317B14 00314A74 48 01 FF F5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 80317B18 00314A78 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80317B1C 00314A7C 38 9B 00 0C */ addi r4, r27, 0xc /* 80317B20 00314A80 48 01 FF E9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f lbl_80317B24: /* 80317B24 00314A84 38 00 00 00 */ li r0, 0 /* 80317B28 00314A88 3B 5A 00 04 */ addi r26, r26, 4 /* 80317B2C 00314A8C 98 01 00 B4 */ stb r0, 0xb4(r1) lbl_80317B30: /* 80317B30 00314A90 80 1C 02 94 */ lwz r0, 0x294(r28) /* 80317B34 00314A94 80 7C 02 9C */ lwz r3, 0x29c(r28) /* 80317B38 00314A98 54 00 10 3A */ slwi r0, r0, 2 /* 80317B3C 00314A9C 7C 03 02 14 */ add r0, r3, r0 /* 80317B40 00314AA0 7C 1A 00 40 */ cmplw r26, r0 /* 80317B44 00314AA4 40 82 FF 4C */ bne lbl_80317A90 /* 80317B48 00314AA8 7F 83 E3 78 */ mr r3, r28 /* 80317B4C 00314AAC 48 00 03 05 */ bl GetParticleCountAllInternal__11CElementGenCFv /* 80317B50 00314AB0 90 7C 02 64 */ stw r3, 0x264(r28) /* 80317B54 00314AB4 7F 83 E3 78 */ mr r3, r28 /* 80317B58 00314AB8 81 9C 00 00 */ lwz r12, 0(r28) /* 80317B5C 00314ABC 81 8C 00 60 */ lwz r12, 0x60(r12) /* 80317B60 00314AC0 7D 89 03 A6 */ mtctr r12 /* 80317B64 00314AC4 4E 80 04 21 */ bctrl /* 80317B68 00314AC8 2C 03 00 00 */ cmpwi r3, 0 /* 80317B6C 00314ACC 40 81 01 28 */ ble lbl_80317C94 /* 80317B70 00314AD0 C0 7C 02 EC */ lfs f3, 0x2ec(r28) /* 80317B74 00314AD4 38 61 00 D0 */ addi r3, r1, 0xd0 /* 80317B78 00314AD8 C0 5C 01 08 */ lfs f2, 0x108(r28) /* 80317B7C 00314ADC 38 9C 01 0C */ addi r4, r28, 0x10c /* 80317B80 00314AE0 C0 3C 01 04 */ lfs f1, 0x104(r28) /* 80317B84 00314AE4 38 BC 02 2C */ addi r5, r28, 0x22c /* 80317B88 00314AE8 C0 1C 01 00 */ lfs f0, 0x100(r28) /* 80317B8C 00314AEC EF A3 00 B2 */ fmuls f29, f3, f2 /* 80317B90 00314AF0 EF C3 00 72 */ fmuls f30, f3, f1 /* 80317B94 00314AF4 EF E3 00 32 */ fmuls f31, f3, f0 /* 80317B98 00314AF8 4B FF AD B9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80317B9C 00314AFC 38 61 01 00 */ addi r3, r1, 0x100 /* 80317BA0 00314B00 38 81 00 D0 */ addi r4, r1, 0xd0 /* 80317BA4 00314B04 38 BC 01 78 */ addi r5, r28, 0x178 /* 80317BA8 00314B08 4B FF AD A9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80317BAC 00314B0C 38 61 00 50 */ addi r3, r1, 0x50 /* 80317BB0 00314B10 38 9C 02 D4 */ addi r4, r28, 0x2d4 /* 80317BB4 00314B14 38 BC 02 E0 */ addi r5, r28, 0x2e0 /* 80317BB8 00314B18 48 02 09 51 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 80317BBC 00314B1C 7C 64 1B 78 */ mr r4, r3 /* 80317BC0 00314B20 38 61 00 68 */ addi r3, r1, 0x68 /* 80317BC4 00314B24 38 A1 01 00 */ addi r5, r1, 0x100 /* 80317BC8 00314B28 48 01 FD 35 */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f /* 80317BCC 00314B2C C0 41 00 6C */ lfs f2, 0x6c(r1) /* 80317BD0 00314B30 38 61 00 38 */ addi r3, r1, 0x38 /* 80317BD4 00314B34 C0 1C 00 EC */ lfs f0, 0xec(r28) /* 80317BD8 00314B38 38 81 00 2C */ addi r4, r1, 0x2c /* 80317BDC 00314B3C C0 21 00 78 */ lfs f1, 0x78(r1) /* 80317BE0 00314B40 38 A1 00 14 */ addi r5, r1, 0x14 /* 80317BE4 00314B44 EC A2 00 2A */ fadds f5, f2, f0 /* 80317BE8 00314B48 C0 41 00 70 */ lfs f2, 0x70(r1) /* 80317BEC 00314B4C EC C1 00 2A */ fadds f6, f1, f0 /* 80317BF0 00314B50 C0 1C 00 F0 */ lfs f0, 0xf0(r28) /* 80317BF4 00314B54 C0 21 00 7C */ lfs f1, 0x7c(r1) /* 80317BF8 00314B58 EC 82 00 2A */ fadds f4, f2, f0 /* 80317BFC 00314B5C EC E1 00 2A */ fadds f7, f1, f0 /* 80317C00 00314B60 C0 41 00 74 */ lfs f2, 0x74(r1) /* 80317C04 00314B64 C0 3C 00 E8 */ lfs f1, 0xe8(r28) /* 80317C08 00314B68 ED 26 F0 2A */ fadds f9, f6, f30 /* 80317C0C 00314B6C C0 01 00 68 */ lfs f0, 0x68(r1) /* 80317C10 00314B70 EC 62 08 2A */ fadds f3, f2, f1 /* 80317C14 00314B74 EC 20 08 2A */ fadds f1, f0, f1 /* 80317C18 00314B78 D0 C1 00 0C */ stfs f6, 0xc(r1) /* 80317C1C 00314B7C ED 07 E8 2A */ fadds f8, f7, f29 /* 80317C20 00314B80 EC 43 F8 2A */ fadds f2, f3, f31 /* 80317C24 00314B84 D0 61 00 08 */ stfs f3, 8(r1) /* 80317C28 00314B88 EC C5 F0 28 */ fsubs f6, f5, f30 /* 80317C2C 00314B8C EC 64 E8 28 */ fsubs f3, f4, f29 /* 80317C30 00314B90 D0 E1 00 10 */ stfs f7, 0x10(r1) /* 80317C34 00314B94 EC 01 F8 28 */ fsubs f0, f1, f31 /* 80317C38 00314B98 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80317C3C 00314B9C D1 21 00 18 */ stfs f9, 0x18(r1) /* 80317C40 00314BA0 D1 01 00 1C */ stfs f8, 0x1c(r1) /* 80317C44 00314BA4 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80317C48 00314BA8 D0 A1 00 24 */ stfs f5, 0x24(r1) /* 80317C4C 00314BAC D0 81 00 28 */ stfs f4, 0x28(r1) /* 80317C50 00314BB0 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80317C54 00314BB4 D0 C1 00 30 */ stfs f6, 0x30(r1) /* 80317C58 00314BB8 D0 61 00 34 */ stfs f3, 0x34(r1) /* 80317C5C 00314BBC 48 02 08 AD */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 80317C60 00314BC0 80 61 00 38 */ lwz r3, 0x38(r1) /* 80317C64 00314BC4 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80317C68 00314BC8 90 7C 02 F0 */ stw r3, 0x2f0(r28) /* 80317C6C 00314BCC 90 1C 02 F4 */ stw r0, 0x2f4(r28) /* 80317C70 00314BD0 80 01 00 40 */ lwz r0, 0x40(r1) /* 80317C74 00314BD4 90 1C 02 F8 */ stw r0, 0x2f8(r28) /* 80317C78 00314BD8 80 61 00 44 */ lwz r3, 0x44(r1) /* 80317C7C 00314BDC 80 01 00 48 */ lwz r0, 0x48(r1) /* 80317C80 00314BE0 90 7C 02 FC */ stw r3, 0x2fc(r28) /* 80317C84 00314BE4 90 1C 03 00 */ stw r0, 0x300(r28) /* 80317C88 00314BE8 80 01 00 4C */ lwz r0, 0x4c(r1) /* 80317C8C 00314BEC 90 1C 03 04 */ stw r0, 0x304(r28) /* 80317C90 00314BF0 48 00 00 3C */ b lbl_80317CCC lbl_80317C94: /* 80317C94 00314BF4 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 80317C98 00314BF8 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 80317C9C 00314BFC 80 64 00 00 */ lwz r3, 0(r4) /* 80317CA0 00314C00 80 04 00 04 */ lwz r0, 4(r4) /* 80317CA4 00314C04 90 7C 02 F0 */ stw r3, 0x2f0(r28) /* 80317CA8 00314C08 90 1C 02 F4 */ stw r0, 0x2f4(r28) /* 80317CAC 00314C0C 80 04 00 08 */ lwz r0, 8(r4) /* 80317CB0 00314C10 90 1C 02 F8 */ stw r0, 0x2f8(r28) /* 80317CB4 00314C14 80 7F 00 0C */ lwz r3, 0xc(r31) /* 80317CB8 00314C18 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80317CBC 00314C1C 90 7C 02 FC */ stw r3, 0x2fc(r28) /* 80317CC0 00314C20 90 1C 03 00 */ stw r0, 0x300(r28) /* 80317CC4 00314C24 80 1F 00 14 */ lwz r0, 0x14(r31) /* 80317CC8 00314C28 90 1C 03 04 */ stw r0, 0x304(r28) lbl_80317CCC: /* 80317CCC 00314C2C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 80317CD0 00314C30 41 82 00 1C */ beq lbl_80317CEC /* 80317CD4 00314C34 38 7C 02 F0 */ addi r3, r28, 0x2f0 /* 80317CD8 00314C38 38 81 00 B8 */ addi r4, r1, 0xb8 /* 80317CDC 00314C3C 48 01 FE 2D */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 80317CE0 00314C40 7F C4 F3 78 */ mr r4, r30 /* 80317CE4 00314C44 38 7C 02 F0 */ addi r3, r28, 0x2f0 /* 80317CE8 00314C48 48 01 FE 21 */ bl AccumulateBounds__6CAABoxFRC9CVector3f lbl_80317CEC: /* 80317CEC 00314C4C E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0 /* 80317CF0 00314C50 CB E1 01 70 */ lfd f31, 0x170(r1) /* 80317CF4 00314C54 E3 C1 01 68 */ psq_l f30, 360(r1), 0, qr0 /* 80317CF8 00314C58 CB C1 01 60 */ lfd f30, 0x160(r1) /* 80317CFC 00314C5C E3 A1 01 58 */ psq_l f29, 344(r1), 0, qr0 /* 80317D00 00314C60 CB A1 01 50 */ lfd f29, 0x150(r1) /* 80317D04 00314C64 BB 41 01 38 */ lmw r26, 0x138(r1) /* 80317D08 00314C68 80 01 01 84 */ lwz r0, 0x184(r1) /* 80317D0C 00314C6C 7C 08 03 A6 */ mtlr r0 /* 80317D10 00314C70 38 21 01 80 */ addi r1, r1, 0x180 /* 80317D14 00314C74 4E 80 00 20 */ blr .global AccumulateBounds__11CElementGenFRC9CVector3ff AccumulateBounds__11CElementGenFRC9CVector3ff: /* 80317D18 00314C78 C0 44 00 00 */ lfs f2, 0(r4) /* 80317D1C 00314C7C C0 03 02 E0 */ lfs f0, 0x2e0(r3) /* 80317D20 00314C80 C0 64 00 04 */ lfs f3, 4(r4) /* 80317D24 00314C84 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80317D28 00314C88 C0 84 00 08 */ lfs f4, 8(r4) /* 80317D2C 00314C8C 40 81 00 08 */ ble lbl_80317D34 /* 80317D30 00314C90 D0 43 02 E0 */ stfs f2, 0x2e0(r3) lbl_80317D34: /* 80317D34 00314C94 C0 03 02 D4 */ lfs f0, 0x2d4(r3) /* 80317D38 00314C98 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80317D3C 00314C9C 40 80 00 08 */ bge lbl_80317D44 /* 80317D40 00314CA0 D0 43 02 D4 */ stfs f2, 0x2d4(r3) lbl_80317D44: /* 80317D44 00314CA4 C0 03 02 E4 */ lfs f0, 0x2e4(r3) /* 80317D48 00314CA8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80317D4C 00314CAC 40 81 00 08 */ ble lbl_80317D54 /* 80317D50 00314CB0 D0 63 02 E4 */ stfs f3, 0x2e4(r3) lbl_80317D54: /* 80317D54 00314CB4 C0 03 02 D8 */ lfs f0, 0x2d8(r3) /* 80317D58 00314CB8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80317D5C 00314CBC 40 80 00 08 */ bge lbl_80317D64 /* 80317D60 00314CC0 D0 63 02 D8 */ stfs f3, 0x2d8(r3) lbl_80317D64: /* 80317D64 00314CC4 C0 03 02 E8 */ lfs f0, 0x2e8(r3) /* 80317D68 00314CC8 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80317D6C 00314CCC 40 81 00 08 */ ble lbl_80317D74 /* 80317D70 00314CD0 D0 83 02 E8 */ stfs f4, 0x2e8(r3) lbl_80317D74: /* 80317D74 00314CD4 C0 03 02 DC */ lfs f0, 0x2dc(r3) /* 80317D78 00314CD8 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80317D7C 00314CDC 40 80 00 08 */ bge lbl_80317D84 /* 80317D80 00314CE0 D0 83 02 DC */ stfs f4, 0x2dc(r3) lbl_80317D84: /* 80317D84 00314CE4 C0 03 02 EC */ lfs f0, 0x2ec(r3) /* 80317D88 00314CE8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80317D8C 00314CEC 4C 81 00 20 */ blelr /* 80317D90 00314CF0 D0 23 02 EC */ stfs f1, 0x2ec(r3) /* 80317D94 00314CF4 4E 80 00 20 */ blr .global GetSystemCount__11CElementGenFv GetSystemCount__11CElementGenFv: /* 80317D98 00314CF8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80317D9C 00314CFC 7C 08 02 A6 */ mflr r0 /* 80317DA0 00314D00 90 01 00 24 */ stw r0, 0x24(r1) /* 80317DA4 00314D04 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80317DA8 00314D08 93 C1 00 18 */ stw r30, 0x18(r1) /* 80317DAC 00314D0C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80317DB0 00314D10 93 81 00 10 */ stw r28, 0x10(r1) /* 80317DB4 00314D14 7C 7C 1B 78 */ mr r28, r3 /* 80317DB8 00314D18 80 63 02 5C */ lwz r3, 0x25c(r3) /* 80317DBC 00314D1C 83 FC 02 9C */ lwz r31, 0x29c(r28) /* 80317DC0 00314D20 7C 03 00 D0 */ neg r0, r3 /* 80317DC4 00314D24 7C 00 18 78 */ andc r0, r0, r3 /* 80317DC8 00314D28 54 00 0F FE */ srwi r0, r0, 0x1f /* 80317DCC 00314D2C 7C 1E 03 78 */ mr r30, r0 /* 80317DD0 00314D30 48 00 00 44 */ b lbl_80317E14 lbl_80317DD4: /* 80317DD4 00314D34 83 BF 00 00 */ lwz r29, 0(r31) /* 80317DD8 00314D38 7F A3 EB 78 */ mr r3, r29 /* 80317DDC 00314D3C 81 9D 00 00 */ lwz r12, 0(r29) /* 80317DE0 00314D40 81 8C 00 74 */ lwz r12, 0x74(r12) /* 80317DE4 00314D44 7D 89 03 A6 */ mtctr r12 /* 80317DE8 00314D48 4E 80 04 21 */ bctrl /* 80317DEC 00314D4C 3C 03 AF BF */ addis r0, r3, 0xafbf /* 80317DF0 00314D50 28 00 52 54 */ cmplwi r0, 0x5254 /* 80317DF4 00314D54 40 82 00 14 */ bne lbl_80317E08 /* 80317DF8 00314D58 7F A3 EB 78 */ mr r3, r29 /* 80317DFC 00314D5C 4B FF FF 9D */ bl GetSystemCount__11CElementGenFv /* 80317E00 00314D60 7C 1E 1A 14 */ add r0, r30, r3 /* 80317E04 00314D64 48 00 00 08 */ b lbl_80317E0C lbl_80317E08: /* 80317E08 00314D68 38 1E 00 01 */ addi r0, r30, 1 lbl_80317E0C: /* 80317E0C 00314D6C 7C 1E 03 78 */ mr r30, r0 /* 80317E10 00314D70 3B FF 00 04 */ addi r31, r31, 4 lbl_80317E14: /* 80317E14 00314D74 80 1C 02 94 */ lwz r0, 0x294(r28) /* 80317E18 00314D78 80 7C 02 9C */ lwz r3, 0x29c(r28) /* 80317E1C 00314D7C 54 00 10 3A */ slwi r0, r0, 2 /* 80317E20 00314D80 7C 03 02 14 */ add r0, r3, r0 /* 80317E24 00314D84 7C 1F 00 40 */ cmplw r31, r0 /* 80317E28 00314D88 40 82 FF AC */ bne lbl_80317DD4 /* 80317E2C 00314D8C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80317E30 00314D90 7F C3 F3 78 */ mr r3, r30 /* 80317E34 00314D94 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80317E38 00314D98 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80317E3C 00314D9C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80317E40 00314DA0 83 81 00 10 */ lwz r28, 0x10(r1) /* 80317E44 00314DA4 7C 08 03 A6 */ mtlr r0 /* 80317E48 00314DA8 38 21 00 20 */ addi r1, r1, 0x20 /* 80317E4C 00314DAC 4E 80 00 20 */ blr .global GetParticleCountAllInternal__11CElementGenCFv GetParticleCountAllInternal__11CElementGenCFv: /* 80317E50 00314DB0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80317E54 00314DB4 7C 08 02 A6 */ mflr r0 /* 80317E58 00314DB8 90 01 00 24 */ stw r0, 0x24(r1) /* 80317E5C 00314DBC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80317E60 00314DC0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80317E64 00314DC4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80317E68 00314DC8 93 81 00 10 */ stw r28, 0x10(r1) /* 80317E6C 00314DCC 7C 7C 1B 78 */ mr r28, r3 /* 80317E70 00314DD0 83 C3 02 5C */ lwz r30, 0x25c(r3) /* 80317E74 00314DD4 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 80317E78 00314DD8 48 00 00 38 */ b lbl_80317EB0 lbl_80317E7C: /* 80317E7C 00314DDC 83 BF 00 00 */ lwz r29, 0(r31) /* 80317E80 00314DE0 7F A3 EB 78 */ mr r3, r29 /* 80317E84 00314DE4 81 9D 00 00 */ lwz r12, 0(r29) /* 80317E88 00314DE8 81 8C 00 74 */ lwz r12, 0x74(r12) /* 80317E8C 00314DEC 7D 89 03 A6 */ mtctr r12 /* 80317E90 00314DF0 4E 80 04 21 */ bctrl /* 80317E94 00314DF4 3C 03 AF BF */ addis r0, r3, 0xafbf /* 80317E98 00314DF8 28 00 52 54 */ cmplwi r0, 0x5254 /* 80317E9C 00314DFC 40 82 00 10 */ bne lbl_80317EAC /* 80317EA0 00314E00 7F A3 EB 78 */ mr r3, r29 /* 80317EA4 00314E04 48 00 00 49 */ bl GetParticleCountAll__11CElementGenCFv /* 80317EA8 00314E08 7F DE 1A 14 */ add r30, r30, r3 lbl_80317EAC: /* 80317EAC 00314E0C 3B FF 00 04 */ addi r31, r31, 4 lbl_80317EB0: /* 80317EB0 00314E10 80 1C 02 94 */ lwz r0, 0x294(r28) /* 80317EB4 00314E14 80 7C 02 9C */ lwz r3, 0x29c(r28) /* 80317EB8 00314E18 54 00 10 3A */ slwi r0, r0, 2 /* 80317EBC 00314E1C 7C 03 02 14 */ add r0, r3, r0 /* 80317EC0 00314E20 7C 1F 00 40 */ cmplw r31, r0 /* 80317EC4 00314E24 40 82 FF B8 */ bne lbl_80317E7C /* 80317EC8 00314E28 80 01 00 24 */ lwz r0, 0x24(r1) /* 80317ECC 00314E2C 7F C3 F3 78 */ mr r3, r30 /* 80317ED0 00314E30 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80317ED4 00314E34 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80317ED8 00314E38 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80317EDC 00314E3C 83 81 00 10 */ lwz r28, 0x10(r1) /* 80317EE0 00314E40 7C 08 03 A6 */ mtlr r0 /* 80317EE4 00314E44 38 21 00 20 */ addi r1, r1, 0x20 /* 80317EE8 00314E48 4E 80 00 20 */ blr .global GetParticleCountAll__11CElementGenCFv GetParticleCountAll__11CElementGenCFv: /* 80317EEC 00314E4C 80 63 02 64 */ lwz r3, 0x264(r3) /* 80317EF0 00314E50 4E 80 00 20 */ blr .global RenderModels__11CElementGenFv RenderModels__11CElementGenFv: /* 80317EF4 00314E54 94 21 FA C0 */ stwu r1, -0x540(r1) /* 80317EF8 00314E58 7C 08 02 A6 */ mflr r0 /* 80317EFC 00314E5C 90 01 05 44 */ stw r0, 0x544(r1) /* 80317F00 00314E60 DB E1 05 30 */ stfd f31, 0x530(r1) /* 80317F04 00314E64 F3 E1 05 38 */ psq_st f31, 1336(r1), 0, qr0 /* 80317F08 00314E68 DB C1 05 20 */ stfd f30, 0x520(r1) /* 80317F0C 00314E6C F3 C1 05 28 */ psq_st f30, 1320(r1), 0, qr0 /* 80317F10 00314E70 DB A1 05 10 */ stfd f29, 0x510(r1) /* 80317F14 00314E74 F3 A1 05 18 */ psq_st f29, 1304(r1), 0, qr0 /* 80317F18 00314E78 BE 81 04 E0 */ stmw r20, 0x4e0(r1) /* 80317F1C 00314E7C 38 00 00 00 */ li r0, 0 /* 80317F20 00314E80 7C 7E 1B 78 */ mr r30, r3 /* 80317F24 00314E84 90 0D A8 F0 */ stw r0, mParticleAccessParameters__16CParticleGlobals@sda21(r13) /* 80317F28 00314E88 88 03 02 6D */ lbz r0, 0x26d(r3) /* 80317F2C 00314E8C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80317F30 00314E90 41 82 00 10 */ beq lbl_80317F40 /* 80317F34 00314E94 88 7E 02 74 */ lbz r3, 0x274(r30) /* 80317F38 00314E98 4B FF 49 99 */ bl SetLightState__9CGraphicsFUc /* 80317F3C 00314E9C 48 00 00 0C */ b lbl_80317F48 lbl_80317F40: /* 80317F40 00314EA0 48 03 20 6D */ bl White__6CColorFv /* 80317F44 00314EA4 4B FF 40 D9 */ bl SetAmbientColor__9CGraphicsFRC6CColor lbl_80317F48: /* 80317F48 00314EA8 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80317F4C 00314EAC 38 9E 02 7C */ addi r4, r30, 0x27c /* 80317F50 00314EB0 3B E0 00 00 */ li r31, 0 /* 80317F54 00314EB4 4B FF A7 2D */ bl __ct__13CGlobalRandomFR9CRandom16 /* 80317F58 00314EB8 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 80317F5C 00314EBC C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 80317F60 00314EC0 D0 21 01 04 */ stfs f1, 0x104(r1) /* 80317F64 00314EC4 D0 01 01 0C */ stfs f0, 0x10c(r1) /* 80317F68 00314EC8 D0 21 01 08 */ stfs f1, 0x108(r1) /* 80317F6C 00314ECC D0 01 01 10 */ stfs f0, 0x110(r1) /* 80317F70 00314ED0 80 9E 00 28 */ lwz r4, 0x28(r30) /* 80317F74 00314ED4 88 64 00 31 */ lbz r3, 0x31(r4) /* 80317F78 00314ED8 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 80317F7C 00314EDC 41 82 02 A8 */ beq lbl_80318224 /* 80317F80 00314EE0 88 0D A8 B8 */ lbz r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13) /* 80317F84 00314EE4 3A 80 00 00 */ li r20, 0 /* 80317F88 00314EE8 28 00 00 00 */ cmplwi r0, 0 /* 80317F8C 00314EEC 41 82 00 1C */ beq lbl_80317FA8 /* 80317F90 00314EF0 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f /* 80317F94 00314EF4 41 82 00 14 */ beq lbl_80317FA8 /* 80317F98 00314EF8 80 04 00 40 */ lwz r0, 0x40(r4) /* 80317F9C 00314EFC 28 00 00 00 */ cmplwi r0, 0 /* 80317FA0 00314F00 41 82 00 08 */ beq lbl_80317FA8 /* 80317FA4 00314F04 3A 80 00 01 */ li r20, 1 lbl_80317FA8: /* 80317FA8 00314F08 88 04 00 31 */ lbz r0, 0x31(r4) /* 80317FAC 00314F0C 7E 9F A3 78 */ mr r31, r20 /* 80317FB0 00314F10 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80317FB4 00314F14 41 82 00 64 */ beq lbl_80318018 /* 80317FB8 00314F18 38 60 00 01 */ li r3, 1 /* 80317FBC 00314F1C 38 80 00 03 */ li r4, 3 /* 80317FC0 00314F20 38 A0 00 00 */ li r5, 0 /* 80317FC4 00314F24 4B FF 3A D1 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 80317FC8 00314F28 56 80 06 3F */ clrlwi. r0, r20, 0x18 /* 80317FCC 00314F2C 41 82 00 1C */ beq lbl_80317FE8 /* 80317FD0 00314F30 38 60 00 01 */ li r3, 1 /* 80317FD4 00314F34 38 80 00 01 */ li r4, 1 /* 80317FD8 00314F38 38 A0 00 01 */ li r5, 1 /* 80317FDC 00314F3C 38 C0 00 00 */ li r6, 0 /* 80317FE0 00314F40 4B FF 3A 71 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 80317FE4 00314F44 48 00 00 70 */ b lbl_80318054 lbl_80317FE8: /* 80317FE8 00314F48 38 60 00 01 */ li r3, 1 /* 80317FEC 00314F4C 38 80 00 04 */ li r4, 4 /* 80317FF0 00314F50 38 A0 00 01 */ li r5, 1 /* 80317FF4 00314F54 38 C0 00 00 */ li r6, 0 /* 80317FF8 00314F58 4B FF 3A 59 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 80317FFC 00314F5C 38 60 00 04 */ li r3, 4 /* 80318000 00314F60 38 80 00 00 */ li r4, 0 /* 80318004 00314F64 38 A0 00 00 */ li r5, 0 /* 80318008 00314F68 38 C0 00 07 */ li r6, 7 /* 8031800C 00314F6C 38 E0 00 00 */ li r7, 0 /* 80318010 00314F70 4B FF 3A 19 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 80318014 00314F74 48 00 00 40 */ b lbl_80318054 lbl_80318018: /* 80318018 00314F78 38 60 00 01 */ li r3, 1 /* 8031801C 00314F7C 38 80 00 03 */ li r4, 3 /* 80318020 00314F80 38 A0 00 01 */ li r5, 1 /* 80318024 00314F84 4B FF 3A 71 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 80318028 00314F88 38 60 00 01 */ li r3, 1 /* 8031802C 00314F8C 38 80 00 04 */ li r4, 4 /* 80318030 00314F90 38 A0 00 05 */ li r5, 5 /* 80318034 00314F94 38 C0 00 00 */ li r6, 0 /* 80318038 00314F98 4B FF 3A 19 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 8031803C 00314F9C 38 60 00 04 */ li r3, 4 /* 80318040 00314FA0 38 80 00 00 */ li r4, 0 /* 80318044 00314FA4 38 A0 00 00 */ li r5, 0 /* 80318048 00314FA8 38 C0 00 07 */ li r6, 7 /* 8031804C 00314FAC 38 E0 00 00 */ li r7, 0 /* 80318050 00314FB0 4B FF 39 D9 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc lbl_80318054: /* 80318054 00314FB4 38 60 00 00 */ li r3, 0 /* 80318058 00314FB8 4B FF 3A 19 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 8031805C 00314FBC 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80318060 00314FC0 80 83 00 40 */ lwz r4, 0x40(r3) /* 80318064 00314FC4 28 04 00 00 */ cmplwi r4, 0 /* 80318068 00314FC8 41 82 01 A4 */ beq lbl_8031820C /* 8031806C 00314FCC 80 BE 00 3C */ lwz r5, 0x3c(r30) /* 80318070 00314FD0 38 61 00 BC */ addi r3, r1, 0xbc /* 80318074 00314FD4 81 84 00 00 */ lwz r12, 0(r4) /* 80318078 00314FD8 80 A5 00 28 */ lwz r5, 0x28(r5) /* 8031807C 00314FDC 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80318080 00314FE0 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80318084 00314FE4 7C A5 00 50 */ subf r5, r5, r0 /* 80318088 00314FE8 7D 89 03 A6 */ mtctr r12 /* 8031808C 00314FEC 4E 80 04 21 */ bctrl /* 80318090 00314FF0 38 61 00 60 */ addi r3, r1, 0x60 /* 80318094 00314FF4 38 81 00 BC */ addi r4, r1, 0xbc /* 80318098 00314FF8 48 02 8E 11 */ bl __ct__6CTokenFRC6CToken /* 8031809C 00314FFC 38 61 00 BC */ addi r3, r1, 0xbc /* 803180A0 00315000 38 80 00 00 */ li r4, 0 /* 803180A4 00315004 48 02 8D 9D */ bl __dt__6CTokenFv /* 803180A8 00315008 38 61 00 60 */ addi r3, r1, 0x60 /* 803180AC 0031500C 48 02 8D 61 */ bl GetObj__6CTokenFv /* 803180B0 00315010 80 63 00 04 */ lwz r3, 4(r3) /* 803180B4 00315014 38 80 00 00 */ li r4, 0 /* 803180B8 00315018 38 A0 00 01 */ li r5, 1 /* 803180BC 0031501C 4B FF 76 81 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 803180C0 00315020 3C 80 80 5A */ lis r4, kEnvModulate__9CGraphics@ha /* 803180C4 00315024 38 60 00 00 */ li r3, 0 /* 803180C8 00315028 38 84 5E BC */ addi r4, r4, kEnvModulate__9CGraphics@l /* 803180CC 0031502C 4B FF 21 ED */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 803180D0 00315030 56 80 06 3F */ clrlwi. r0, r20, 0x18 /* 803180D4 00315034 41 82 00 D8 */ beq lbl_803181AC /* 803180D8 00315038 38 60 00 01 */ li r3, 1 /* 803180DC 0031503C 38 80 00 0F */ li r4, 0xf /* 803180E0 00315040 38 A0 00 00 */ li r5, 0 /* 803180E4 00315044 38 C0 00 01 */ li r6, 1 /* 803180E8 00315048 38 E0 00 0F */ li r7, 0xf /* 803180EC 0031504C 4B FF 0B 01 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 803180F0 00315050 38 60 00 01 */ li r3, 1 /* 803180F4 00315054 38 80 00 07 */ li r4, 7 /* 803180F8 00315058 38 A0 00 04 */ li r5, 4 /* 803180FC 0031505C 38 C0 00 00 */ li r6, 0 /* 80318100 00315060 38 E0 00 07 */ li r7, 7 /* 80318104 00315064 4B FF 0A 91 */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg /* 80318108 00315068 38 60 00 01 */ li r3, 1 /* 8031810C 0031506C 4B FE FB 45 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID /* 80318110 00315070 38 60 00 01 */ li r3, 1 /* 80318114 00315074 38 80 00 00 */ li r4, 0 /* 80318118 00315078 38 A0 00 00 */ li r5, 0 /* 8031811C 0031507C 38 C0 00 FF */ li r6, 0xff /* 80318120 00315080 4B FF 08 2D */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 80318124 00315084 38 60 00 01 */ li r3, 1 /* 80318128 00315088 38 80 00 00 */ li r4, 0 /* 8031812C 0031508C 38 A0 00 01 */ li r5, 1 /* 80318130 00315090 48 06 37 01 */ bl GXSetTevSwapMode /* 80318134 00315094 38 60 00 02 */ li r3, 2 /* 80318138 00315098 4B FF 0B 59 */ bl SetNumTevStages__3CGXFUc /* 8031813C 0031509C 3C 60 80 3D */ lis r3, lbl_803D78F0@ha /* 80318140 003150A0 38 63 78 F0 */ addi r3, r3, lbl_803D78F0@l /* 80318144 003150A4 4B FE FC E5 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList /* 80318148 003150A8 38 60 00 00 */ li r3, 0 /* 8031814C 003150AC 38 80 00 00 */ li r4, 0 /* 80318150 003150B0 38 A0 00 00 */ li r5, 0 /* 80318154 003150B4 38 C0 00 01 */ li r6, 1 /* 80318158 003150B8 38 E0 00 00 */ li r7, 0 /* 8031815C 003150BC 39 00 00 00 */ li r8, 0 /* 80318160 003150C0 39 20 00 02 */ li r9, 2 /* 80318164 003150C4 4B FF 0B 69 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 80318168 003150C8 38 60 00 01 */ li r3, 1 /* 8031816C 003150CC 4B FF 0C E5 */ bl SetNumChans__3CGXFUc /* 80318170 003150D0 38 60 00 00 */ li r3, 0 /* 80318174 003150D4 38 80 00 01 */ li r4, 1 /* 80318178 003150D8 38 A0 00 04 */ li r5, 4 /* 8031817C 003150DC 38 C0 00 3C */ li r6, 0x3c /* 80318180 003150E0 38 E0 00 00 */ li r7, 0 /* 80318184 003150E4 39 00 00 7D */ li r8, 0x7d /* 80318188 003150E8 4B FF 05 45 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 8031818C 003150EC 38 60 00 00 */ li r3, 0 /* 80318190 003150F0 38 80 00 00 */ li r4, 0 /* 80318194 003150F4 38 A0 00 00 */ li r5, 0 /* 80318198 003150F8 38 C0 00 04 */ li r6, 4 /* 8031819C 003150FC 4B FF 07 B1 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 803181A0 00315100 38 60 00 01 */ li r3, 1 /* 803181A4 00315104 4B FF 0C 71 */ bl SetNumTexGens__3CGXFUc /* 803181A8 00315108 48 00 00 10 */ b lbl_803181B8 lbl_803181AC: /* 803181AC 0031510C 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 803181B0 00315110 38 60 00 01 */ li r3, 1 /* 803181B4 00315114 4B FF 21 05 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass lbl_803181B8: /* 803181B8 00315118 80 7E 00 28 */ lwz r3, 0x28(r30) /* 803181BC 0031511C 38 A1 01 04 */ addi r5, r1, 0x104 /* 803181C0 00315120 80 9E 00 3C */ lwz r4, 0x3c(r30) /* 803181C4 00315124 80 63 00 40 */ lwz r3, 0x40(r3) /* 803181C8 00315128 80 84 00 28 */ lwz r4, 0x28(r4) /* 803181CC 0031512C 81 83 00 00 */ lwz r12, 0(r3) /* 803181D0 00315130 80 1E 00 74 */ lwz r0, 0x74(r30) /* 803181D4 00315134 81 8C 00 0C */ lwz r12, 0xc(r12) /* 803181D8 00315138 7C 84 00 50 */ subf r4, r4, r0 /* 803181DC 0031513C 7D 89 03 A6 */ mtctr r12 /* 803181E0 00315140 4E 80 04 21 */ bctrl /* 803181E4 00315144 80 7E 00 28 */ lwz r3, 0x28(r30) /* 803181E8 00315148 80 63 00 40 */ lwz r3, 0x40(r3) /* 803181EC 0031514C 81 83 00 00 */ lwz r12, 0(r3) /* 803181F0 00315150 81 8C 00 18 */ lwz r12, 0x18(r12) /* 803181F4 00315154 7D 89 03 A6 */ mtctr r12 /* 803181F8 00315158 4E 80 04 21 */ bctrl /* 803181FC 0031515C 38 61 00 60 */ addi r3, r1, 0x60 /* 80318200 00315160 38 80 00 00 */ li r4, 0 /* 80318204 00315164 48 02 8C 3D */ bl __dt__6CTokenFv /* 80318208 00315168 48 00 00 1C */ b lbl_80318224 lbl_8031820C: /* 8031820C 0031516C 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 80318210 00315170 38 60 00 00 */ li r3, 0 /* 80318214 00315174 4B FF 20 A5 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 80318218 00315178 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 8031821C 0031517C 38 60 00 01 */ li r3, 1 /* 80318220 00315180 4B FF 20 99 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass lbl_80318224: /* 80318224 00315184 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 80318228 00315188 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha /* 8031822C 0031518C 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l /* 80318230 00315190 D0 01 00 EC */ stfs f0, 0xec(r1) /* 80318234 00315194 38 61 04 A4 */ addi r3, r1, 0x4a4 /* 80318238 00315198 D0 01 00 F0 */ stfs f0, 0xf0(r1) /* 8031823C 0031519C D0 01 00 F4 */ stfs f0, 0xf4(r1) /* 80318240 003151A0 4B FF A9 35 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80318244 003151A4 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80318248 003151A8 88 03 00 31 */ lbz r0, 0x31(r3) /* 8031824C 003151AC 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80318250 003151B0 40 82 00 10 */ bne lbl_80318260 /* 80318254 003151B4 38 61 04 A4 */ addi r3, r1, 0x4a4 /* 80318258 003151B8 38 9E 01 D8 */ addi r4, r30, 0x1d8 /* 8031825C 003151BC 4B FF A8 E5 */ bl __as__12CTransform4fFRC12CTransform4f lbl_80318260: /* 80318260 003151C0 38 61 03 E4 */ addi r3, r1, 0x3e4 /* 80318264 003151C4 38 81 04 A4 */ addi r4, r1, 0x4a4 /* 80318268 003151C8 38 BE 02 2C */ addi r5, r30, 0x22c /* 8031826C 003151CC 4B FF A6 E5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318270 003151D0 38 61 04 A4 */ addi r3, r1, 0x4a4 /* 80318274 003151D4 38 81 03 E4 */ addi r4, r1, 0x3e4 /* 80318278 003151D8 4B FF A8 C9 */ bl __as__12CTransform4fFRC12CTransform4f /* 8031827C 003151DC 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80318280 003151E0 3B A0 00 00 */ li r29, 0 /* 80318284 003151E4 80 63 00 5C */ lwz r3, 0x5c(r3) /* 80318288 003151E8 28 03 00 00 */ cmplwi r3, 0 /* 8031828C 003151EC 41 82 00 20 */ beq lbl_803182AC /* 80318290 003151F0 81 83 00 00 */ lwz r12, 0(r3) /* 80318294 003151F4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80318298 003151F8 7D 89 03 A6 */ mtctr r12 /* 8031829C 003151FC 4E 80 04 21 */ bctrl /* 803182A0 00315200 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 803182A4 00315204 41 82 00 08 */ beq lbl_803182AC /* 803182A8 00315208 3B A0 00 01 */ li r29, 1 lbl_803182AC: /* 803182AC 0031520C 38 61 03 B4 */ addi r3, r1, 0x3b4 /* 803182B0 00315210 38 9E 01 3C */ addi r4, r30, 0x13c /* 803182B4 00315214 38 BE 01 A8 */ addi r5, r30, 0x1a8 /* 803182B8 00315218 4B FF A6 99 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 803182BC 0031521C 38 61 00 B0 */ addi r3, r1, 0xb0 /* 803182C0 00315220 38 81 03 B4 */ addi r4, r1, 0x3b4 /* 803182C4 00315224 38 BE 00 E8 */ addi r5, r30, 0xe8 /* 803182C8 00315228 4B FF A8 21 */ bl __ml__12CTransform4fCFRC9CVector3f /* 803182CC 0031522C 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha /* 803182D0 00315230 C3 E1 00 B0 */ lfs f31, 0xb0(r1) /* 803182D4 00315234 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l /* 803182D8 00315238 C3 C1 00 B4 */ lfs f30, 0xb4(r1) /* 803182DC 0031523C C3 A1 00 B8 */ lfs f29, 0xb8(r1) /* 803182E0 00315240 38 61 04 74 */ addi r3, r1, 0x474 /* 803182E4 00315244 4B FF A8 91 */ bl __ct__12CTransform4fFRC12CTransform4f /* 803182E8 00315248 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 803182EC 0031524C 41 82 00 94 */ beq lbl_80318380 /* 803182F0 00315250 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 803182F4 00315254 38 A1 00 E0 */ addi r5, r1, 0xe0 /* 803182F8 00315258 D0 01 00 E0 */ stfs f0, 0xe0(r1) /* 803182FC 0031525C D0 01 00 E4 */ stfs f0, 0xe4(r1) /* 80318300 00315260 D0 01 00 E8 */ stfs f0, 0xe8(r1) /* 80318304 00315264 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80318308 00315268 80 9E 00 74 */ lwz r4, 0x74(r30) /* 8031830C 0031526C 80 63 00 5C */ lwz r3, 0x5c(r3) /* 80318310 00315270 81 83 00 00 */ lwz r12, 0(r3) /* 80318314 00315274 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80318318 00315278 7D 89 03 A6 */ mtctr r12 /* 8031831C 0031527C 4E 80 04 21 */ bctrl /* 80318320 00315280 C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 80318324 00315284 38 61 03 84 */ addi r3, r1, 0x384 /* 80318328 00315288 C0 01 00 E8 */ lfs f0, 0xe8(r1) /* 8031832C 0031528C 38 81 00 20 */ addi r4, r1, 0x20 /* 80318330 00315290 EC 01 00 32 */ fmuls f0, f1, f0 /* 80318334 00315294 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80318338 00315298 4B FF B4 D9 */ bl RotateZ__12CTransform4fFRC9CRelAngle /* 8031833C 0031529C 38 61 04 74 */ addi r3, r1, 0x474 /* 80318340 003152A0 38 81 03 84 */ addi r4, r1, 0x384 /* 80318344 003152A4 4B FF A7 FD */ bl __as__12CTransform4fFRC12CTransform4f /* 80318348 003152A8 C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 8031834C 003152AC 38 61 04 74 */ addi r3, r1, 0x474 /* 80318350 003152B0 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 80318354 003152B4 38 81 00 1C */ addi r4, r1, 0x1c /* 80318358 003152B8 EC 01 00 32 */ fmuls f0, f1, f0 /* 8031835C 003152BC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80318360 003152C0 4B FF B2 79 */ bl RotateLocalY__12CTransform4fFRC9CRelAngle /* 80318364 003152C4 C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 80318368 003152C8 38 61 04 74 */ addi r3, r1, 0x474 /* 8031836C 003152CC C0 01 00 E0 */ lfs f0, 0xe0(r1) /* 80318370 003152D0 38 81 00 18 */ addi r4, r1, 0x18 /* 80318374 003152D4 EC 01 00 32 */ fmuls f0, f1, f0 /* 80318378 003152D8 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8031837C 003152DC 4B FF B3 79 */ bl RotateLocalX__12CTransform4fFRC9CRelAngle lbl_80318380: /* 80318380 003152E0 38 61 03 54 */ addi r3, r1, 0x354 /* 80318384 003152E4 38 81 04 A4 */ addi r4, r1, 0x4a4 /* 80318388 003152E8 38 A1 04 74 */ addi r5, r1, 0x474 /* 8031838C 003152EC 4B FF A5 C5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318390 003152F0 38 61 04 74 */ addi r3, r1, 0x474 /* 80318394 003152F4 38 81 03 54 */ addi r4, r1, 0x354 /* 80318398 003152F8 4B FF A7 A9 */ bl __as__12CTransform4fFRC12CTransform4f /* 8031839C 003152FC 80 7E 00 74 */ lwz r3, 0x74(r30) /* 803183A0 00315300 48 01 23 A9 */ bl SetEmitterTime__16CParticleGlobalsFi /* 803183A4 00315304 80 1E 03 38 */ lwz r0, 0x338(r30) /* 803183A8 00315308 3B 60 00 00 */ li r27, 0 /* 803183AC 0031530C 7F 7A DB 78 */ mr r26, r27 /* 803183B0 00315310 3B 01 00 54 */ addi r24, r1, 0x54 /* 803183B4 00315314 90 01 00 24 */ stw r0, 0x24(r1) /* 803183B8 00315318 7F 79 DB 78 */ mr r25, r27 /* 803183BC 0031531C 3A E1 00 3C */ addi r23, r1, 0x3c /* 803183C0 00315320 3A C1 00 2C */ addi r22, r1, 0x2c /* 803183C4 00315324 3A A0 00 00 */ li r21, 0 /* 803183C8 00315328 48 00 06 94 */ b lbl_80318A5C lbl_803183CC: /* 803183CC 0031532C 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 803183D0 00315330 7F 80 DA 14 */ add r28, r0, r27 /* 803183D4 00315334 80 7C 00 00 */ lwz r3, 0(r28) /* 803183D8 00315338 2C 03 FF FF */ cmpwi r3, -1 /* 803183DC 0031533C 41 82 06 70 */ beq lbl_80318A4C /* 803183E0 00315340 80 9C 00 28 */ lwz r4, 0x28(r28) /* 803183E4 00315344 80 1E 00 74 */ lwz r0, 0x74(r30) /* 803183E8 00315348 7C 64 18 50 */ subf r3, r4, r3 /* 803183EC 0031534C 7C 84 00 50 */ subf r4, r4, r0 /* 803183F0 00315350 3A 84 FF FF */ addi r20, r4, -1 /* 803183F4 00315354 48 01 23 85 */ bl SetParticleLifetime__16CParticleGlobalsFi /* 803183F8 00315358 7E 83 A3 78 */ mr r3, r20 /* 803183FC 0031535C 48 01 22 81 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 80318400 00315360 93 8D A8 EC */ stw r28, mCurrentParticle__16CParticleGlobals@sda21(r13) /* 80318404 00315364 88 1E 02 6D */ lbz r0, 0x26d(r30) /* 80318408 00315368 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8031840C 0031536C 41 82 00 10 */ beq lbl_8031841C /* 80318410 00315370 80 1E 00 6C */ lwz r0, 0x6c(r30) /* 80318414 00315374 7C 00 D2 14 */ add r0, r0, r26 /* 80318418 00315378 90 0D A8 F0 */ stw r0, mParticleAccessParameters__16CParticleGlobals@sda21(r13) lbl_8031841C: /* 8031841C 0031537C 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80318420 00315380 80 63 00 58 */ lwz r3, 0x58(r3) /* 80318424 00315384 28 03 00 00 */ cmplwi r3, 0 /* 80318428 00315388 41 82 00 1C */ beq lbl_80318444 /* 8031842C 0031538C 81 83 00 00 */ lwz r12, 0(r3) /* 80318430 00315390 7E 84 A3 78 */ mr r4, r20 /* 80318434 00315394 38 A1 00 EC */ addi r5, r1, 0xec /* 80318438 00315398 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031843C 0031539C 7D 89 03 A6 */ mtctr r12 /* 80318440 003153A0 4E 80 04 21 */ bctrl lbl_80318444: /* 80318444 003153A4 C0 3C 00 08 */ lfs f1, 8(r28) /* 80318448 003153A8 38 61 03 24 */ addi r3, r1, 0x324 /* 8031844C 003153AC C0 9C 00 14 */ lfs f4, 0x14(r28) /* 80318450 003153B0 38 81 00 A4 */ addi r4, r1, 0xa4 /* 80318454 003153B4 C0 1C 00 0C */ lfs f0, 0xc(r28) /* 80318458 003153B8 C0 7C 00 18 */ lfs f3, 0x18(r28) /* 8031845C 003153BC EC 21 20 28 */ fsubs f1, f1, f4 /* 80318460 003153C0 C1 1E 00 80 */ lfs f8, 0x80(r30) /* 80318464 003153C4 EC A0 18 28 */ fsubs f5, f0, f3 /* 80318468 003153C8 C0 1C 00 04 */ lfs f0, 4(r28) /* 8031846C 003153CC EC E8 00 72 */ fmuls f7, f8, f1 /* 80318470 003153D0 C0 5C 00 10 */ lfs f2, 0x10(r28) /* 80318474 003153D4 D0 21 00 84 */ stfs f1, 0x84(r1) /* 80318478 003153D8 EC 20 10 28 */ fsubs f1, f0, f2 /* 8031847C 003153DC EC C8 01 72 */ fmuls f6, f8, f5 /* 80318480 003153E0 D0 A1 00 88 */ stfs f5, 0x88(r1) /* 80318484 003153E4 EC 87 20 2A */ fadds f4, f7, f4 /* 80318488 003153E8 EC 08 00 72 */ fmuls f0, f8, f1 /* 8031848C 003153EC D0 21 00 80 */ stfs f1, 0x80(r1) /* 80318490 003153F0 EC 66 18 2A */ fadds f3, f6, f3 /* 80318494 003153F4 EC BE 20 2A */ fadds f5, f30, f4 /* 80318498 003153F8 D0 E1 00 90 */ stfs f7, 0x90(r1) /* 8031849C 003153FC EC 20 10 2A */ fadds f1, f0, f2 /* 803184A0 00315400 EC 5D 18 2A */ fadds f2, f29, f3 /* 803184A4 00315404 D0 01 00 8C */ stfs f0, 0x8c(r1) /* 803184A8 00315408 EC 1F 08 2A */ fadds f0, f31, f1 /* 803184AC 0031540C D0 C1 00 94 */ stfs f6, 0x94(r1) /* 803184B0 00315410 D0 21 00 98 */ stfs f1, 0x98(r1) /* 803184B4 00315414 D0 81 00 9C */ stfs f4, 0x9c(r1) /* 803184B8 00315418 D0 61 00 A0 */ stfs f3, 0xa0(r1) /* 803184BC 0031541C D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 803184C0 00315420 D0 A1 00 A8 */ stfs f5, 0xa8(r1) /* 803184C4 00315424 D0 41 00 AC */ stfs f2, 0xac(r1) /* 803184C8 00315428 4B FF AC 79 */ bl Translate__12CTransform4fFRC9CVector3f /* 803184CC 0031542C 38 61 04 44 */ addi r3, r1, 0x444 /* 803184D0 00315430 38 81 03 24 */ addi r4, r1, 0x324 /* 803184D4 00315434 4B FF A6 A1 */ bl __ct__12CTransform4fFRC12CTransform4f /* 803184D8 00315438 80 1E 00 2C */ lwz r0, 0x2c(r30) /* 803184DC 0031543C 2C 00 00 01 */ cmpwi r0, 1 /* 803184E0 00315440 40 82 00 8C */ bne lbl_8031856C /* 803184E4 00315444 80 1E 00 5C */ lwz r0, 0x5c(r30) /* 803184E8 00315448 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 803184EC 0031544C 38 A3 66 A0 */ addi r5, r3, sZeroVector__9CVector3f@l /* 803184F0 00315450 38 61 04 14 */ addi r3, r1, 0x414 /* 803184F4 00315454 7C 80 CA 14 */ add r4, r0, r25 /* 803184F8 00315458 4B FF AD 81 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f /* 803184FC 0031545C 38 61 02 F4 */ addi r3, r1, 0x2f4 /* 80318500 00315460 38 81 04 A4 */ addi r4, r1, 0x4a4 /* 80318504 00315464 38 A1 04 14 */ addi r5, r1, 0x414 /* 80318508 00315468 4B FF A4 49 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031850C 0031546C 38 61 00 74 */ addi r3, r1, 0x74 /* 80318510 00315470 38 81 02 F4 */ addi r4, r1, 0x2f4 /* 80318514 00315474 38 A1 00 EC */ addi r5, r1, 0xec /* 80318518 00315478 4B FF A5 D1 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031851C 0031547C C0 21 04 50 */ lfs f1, 0x450(r1) /* 80318520 00315480 38 61 01 D4 */ addi r3, r1, 0x1d4 /* 80318524 00315484 C0 01 00 74 */ lfs f0, 0x74(r1) /* 80318528 00315488 38 81 04 44 */ addi r4, r1, 0x444 /* 8031852C 0031548C C0 61 04 60 */ lfs f3, 0x460(r1) /* 80318530 00315490 38 A1 04 14 */ addi r5, r1, 0x414 /* 80318534 00315494 C0 41 00 78 */ lfs f2, 0x78(r1) /* 80318538 00315498 EC 81 00 2A */ fadds f4, f1, f0 /* 8031853C 0031549C C0 21 04 70 */ lfs f1, 0x470(r1) /* 80318540 003154A0 C0 01 00 7C */ lfs f0, 0x7c(r1) /* 80318544 003154A4 EC 43 10 2A */ fadds f2, f3, f2 /* 80318548 003154A8 D0 81 04 50 */ stfs f4, 0x450(r1) /* 8031854C 003154AC EC 01 00 2A */ fadds f0, f1, f0 /* 80318550 003154B0 D0 41 04 60 */ stfs f2, 0x460(r1) /* 80318554 003154B4 D0 01 04 70 */ stfs f0, 0x470(r1) /* 80318558 003154B8 4B FF A3 F9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031855C 003154BC 38 61 04 44 */ addi r3, r1, 0x444 /* 80318560 003154C0 38 81 01 D4 */ addi r4, r1, 0x1d4 /* 80318564 003154C4 4B FF A5 DD */ bl __as__12CTransform4fFRC12CTransform4f /* 80318568 003154C8 48 00 00 44 */ b lbl_803185AC lbl_8031856C: /* 8031856C 003154CC 38 61 00 68 */ addi r3, r1, 0x68 /* 80318570 003154D0 38 81 04 A4 */ addi r4, r1, 0x4a4 /* 80318574 003154D4 38 A1 00 EC */ addi r5, r1, 0xec /* 80318578 003154D8 4B FF A5 71 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031857C 003154DC C0 21 04 50 */ lfs f1, 0x450(r1) /* 80318580 003154E0 C0 01 00 68 */ lfs f0, 0x68(r1) /* 80318584 003154E4 C0 61 04 60 */ lfs f3, 0x460(r1) /* 80318588 003154E8 C0 41 00 6C */ lfs f2, 0x6c(r1) /* 8031858C 003154EC EC 81 00 2A */ fadds f4, f1, f0 /* 80318590 003154F0 C0 21 04 70 */ lfs f1, 0x470(r1) /* 80318594 003154F4 C0 01 00 70 */ lfs f0, 0x70(r1) /* 80318598 003154F8 EC 43 10 2A */ fadds f2, f3, f2 /* 8031859C 003154FC D0 81 04 50 */ stfs f4, 0x450(r1) /* 803185A0 00315500 EC 01 00 2A */ fadds f0, f1, f0 /* 803185A4 00315504 D0 41 04 60 */ stfs f2, 0x460(r1) /* 803185A8 00315508 D0 01 04 70 */ stfs f0, 0x470(r1) lbl_803185AC: /* 803185AC 0031550C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 803185B0 00315510 41 82 00 24 */ beq lbl_803185D4 /* 803185B4 00315514 38 61 01 A4 */ addi r3, r1, 0x1a4 /* 803185B8 00315518 38 81 04 44 */ addi r4, r1, 0x444 /* 803185BC 0031551C 38 A1 04 74 */ addi r5, r1, 0x474 /* 803185C0 00315520 4B FF A3 91 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 803185C4 00315524 38 61 04 44 */ addi r3, r1, 0x444 /* 803185C8 00315528 38 81 01 A4 */ addi r4, r1, 0x1a4 /* 803185CC 0031552C 4B FF A5 75 */ bl __as__12CTransform4fFRC12CTransform4f /* 803185D0 00315530 48 00 00 E8 */ b lbl_803186B8 lbl_803185D4: /* 803185D4 00315534 80 7E 00 28 */ lwz r3, 0x28(r30) /* 803185D8 00315538 80 63 00 5C */ lwz r3, 0x5c(r3) /* 803185DC 0031553C 28 03 00 00 */ cmplwi r3, 0 /* 803185E0 00315540 41 82 00 BC */ beq lbl_8031869C /* 803185E4 00315544 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 803185E8 00315548 7E 84 A3 78 */ mr r4, r20 /* 803185EC 0031554C 38 A1 00 D4 */ addi r5, r1, 0xd4 /* 803185F0 00315550 D0 01 00 D4 */ stfs f0, 0xd4(r1) /* 803185F4 00315554 D0 01 00 D8 */ stfs f0, 0xd8(r1) /* 803185F8 00315558 D0 01 00 DC */ stfs f0, 0xdc(r1) /* 803185FC 0031555C 81 83 00 00 */ lwz r12, 0(r3) /* 80318600 00315560 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80318604 00315564 7D 89 03 A6 */ mtctr r12 /* 80318608 00315568 4E 80 04 21 */ bctrl /* 8031860C 0031556C C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 80318610 00315570 38 61 02 C4 */ addi r3, r1, 0x2c4 /* 80318614 00315574 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 80318618 00315578 38 81 00 14 */ addi r4, r1, 0x14 /* 8031861C 0031557C EC 01 00 32 */ fmuls f0, f1, f0 /* 80318620 00315580 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80318624 00315584 4B FF B1 ED */ bl RotateZ__12CTransform4fFRC9CRelAngle /* 80318628 00315588 38 61 04 74 */ addi r3, r1, 0x474 /* 8031862C 0031558C 38 81 02 C4 */ addi r4, r1, 0x2c4 /* 80318630 00315590 4B FF A5 11 */ bl __as__12CTransform4fFRC12CTransform4f /* 80318634 00315594 C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 80318638 00315598 38 61 04 74 */ addi r3, r1, 0x474 /* 8031863C 0031559C C0 01 00 D8 */ lfs f0, 0xd8(r1) /* 80318640 003155A0 38 81 00 10 */ addi r4, r1, 0x10 /* 80318644 003155A4 EC 01 00 32 */ fmuls f0, f1, f0 /* 80318648 003155A8 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8031864C 003155AC 4B FF AF 8D */ bl RotateLocalY__12CTransform4fFRC9CRelAngle /* 80318650 003155B0 C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 80318654 003155B4 38 61 04 74 */ addi r3, r1, 0x474 /* 80318658 003155B8 C0 01 00 D4 */ lfs f0, 0xd4(r1) /* 8031865C 003155BC 38 81 00 0C */ addi r4, r1, 0xc /* 80318660 003155C0 EC 01 00 32 */ fmuls f0, f1, f0 /* 80318664 003155C4 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80318668 003155C8 4B FF B0 8D */ bl RotateLocalX__12CTransform4fFRC9CRelAngle /* 8031866C 003155CC 38 61 02 94 */ addi r3, r1, 0x294 /* 80318670 003155D0 38 81 04 A4 */ addi r4, r1, 0x4a4 /* 80318674 003155D4 38 A1 04 74 */ addi r5, r1, 0x474 /* 80318678 003155D8 4B FF A2 D9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031867C 003155DC 38 61 01 74 */ addi r3, r1, 0x174 /* 80318680 003155E0 38 81 04 44 */ addi r4, r1, 0x444 /* 80318684 003155E4 38 A1 02 94 */ addi r5, r1, 0x294 /* 80318688 003155E8 4B FF A2 C9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031868C 003155EC 38 61 04 44 */ addi r3, r1, 0x444 /* 80318690 003155F0 38 81 01 74 */ addi r4, r1, 0x174 /* 80318694 003155F4 4B FF A4 AD */ bl __as__12CTransform4fFRC12CTransform4f /* 80318698 003155F8 48 00 00 20 */ b lbl_803186B8 lbl_8031869C: /* 8031869C 003155FC 38 61 01 44 */ addi r3, r1, 0x144 /* 803186A0 00315600 38 81 04 44 */ addi r4, r1, 0x444 /* 803186A4 00315604 38 A1 04 74 */ addi r5, r1, 0x474 /* 803186A8 00315608 4B FF A2 A9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 803186AC 0031560C 38 61 04 44 */ addi r3, r1, 0x444 /* 803186B0 00315610 38 81 01 44 */ addi r4, r1, 0x144 /* 803186B4 00315614 4B FF A4 8D */ bl __as__12CTransform4fFRC12CTransform4f lbl_803186B8: /* 803186B8 00315618 80 7E 00 28 */ lwz r3, 0x28(r30) /* 803186BC 0031561C 80 63 00 60 */ lwz r3, 0x60(r3) /* 803186C0 00315620 28 03 00 00 */ cmplwi r3, 0 /* 803186C4 00315624 41 82 00 5C */ beq lbl_80318720 /* 803186C8 00315628 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 803186CC 0031562C 7E 84 A3 78 */ mr r4, r20 /* 803186D0 00315630 38 A1 00 C8 */ addi r5, r1, 0xc8 /* 803186D4 00315634 D0 01 00 C8 */ stfs f0, 0xc8(r1) /* 803186D8 00315638 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 803186DC 0031563C D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 803186E0 00315640 81 83 00 00 */ lwz r12, 0(r3) /* 803186E4 00315644 81 8C 00 0C */ lwz r12, 0xc(r12) /* 803186E8 00315648 7D 89 03 A6 */ mtctr r12 /* 803186EC 0031564C 4E 80 04 21 */ bctrl /* 803186F0 00315650 C0 21 00 C8 */ lfs f1, 0xc8(r1) /* 803186F4 00315654 38 61 02 64 */ addi r3, r1, 0x264 /* 803186F8 00315658 C0 41 00 CC */ lfs f2, 0xcc(r1) /* 803186FC 0031565C C0 61 00 D0 */ lfs f3, 0xd0(r1) /* 80318700 00315660 4B FF AB 09 */ bl Scale__12CTransform4fFfff /* 80318704 00315664 38 61 01 14 */ addi r3, r1, 0x114 /* 80318708 00315668 38 81 04 44 */ addi r4, r1, 0x444 /* 8031870C 0031566C 38 A1 02 64 */ addi r5, r1, 0x264 /* 80318710 00315670 4B FF A2 41 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318714 00315674 38 61 04 44 */ addi r3, r1, 0x444 /* 80318718 00315678 38 81 01 14 */ addi r4, r1, 0x114 /* 8031871C 0031567C 4B FF A4 25 */ bl __as__12CTransform4fFRC12CTransform4f lbl_80318720: /* 80318720 00315680 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80318724 00315684 80 63 00 64 */ lwz r3, 0x64(r3) /* 80318728 00315688 28 03 00 00 */ cmplwi r3, 0 /* 8031872C 0031568C 41 82 00 34 */ beq lbl_80318760 /* 80318730 00315690 81 83 00 00 */ lwz r12, 0(r3) /* 80318734 00315694 7E 84 A3 78 */ mr r4, r20 /* 80318738 00315698 38 A1 00 24 */ addi r5, r1, 0x24 /* 8031873C 0031569C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80318740 003156A0 7D 89 03 A6 */ mtctr r12 /* 80318744 003156A4 4E 80 04 21 */ bctrl /* 80318748 003156A8 38 61 00 08 */ addi r3, r1, 8 /* 8031874C 003156AC 38 81 00 24 */ addi r4, r1, 0x24 /* 80318750 003156B0 38 BE 03 38 */ addi r5, r30, 0x338 /* 80318754 003156B4 48 04 AA 25 */ bl Modulate__6CColorFRC6CColorRC6CColor /* 80318758 003156B8 80 01 00 08 */ lwz r0, 8(r1) /* 8031875C 003156BC 90 01 00 24 */ stw r0, 0x24(r1) lbl_80318760: /* 80318760 003156C0 38 61 02 04 */ addi r3, r1, 0x204 /* 80318764 003156C4 38 9E 01 0C */ addi r4, r30, 0x10c /* 80318768 003156C8 38 A1 04 44 */ addi r5, r1, 0x444 /* 8031876C 003156CC 4B FF A1 E5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318770 003156D0 38 61 02 34 */ addi r3, r1, 0x234 /* 80318774 003156D4 38 81 02 04 */ addi r4, r1, 0x204 /* 80318778 003156D8 38 BE 01 78 */ addi r5, r30, 0x178 /* 8031877C 003156DC 4B FF A1 D5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318780 003156E0 38 61 02 34 */ addi r3, r1, 0x234 /* 80318784 003156E4 4B FF 3E 5D */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f /* 80318788 003156E8 80 9E 00 28 */ lwz r4, 0x28(r30) /* 8031878C 003156EC 88 64 00 31 */ lbz r3, 0x31(r4) /* 80318790 003156F0 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 80318794 003156F4 41 82 01 3C */ beq lbl_803188D0 /* 80318798 003156F8 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 8031879C 003156FC 41 82 00 AC */ beq lbl_80318848 /* 803187A0 00315700 38 60 00 80 */ li r3, 0x80 /* 803187A4 00315704 38 80 00 00 */ li r4, 0 /* 803187A8 00315708 38 A0 00 04 */ li r5, 4 /* 803187AC 0031570C 4B FE FD D9 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 803187B0 00315710 C0 62 C9 F8 */ lfs f3, lbl_805AE718@sda21(r2) /* 803187B4 00315714 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 803187B8 00315718 C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) /* 803187BC 0031571C D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 803187C0 00315720 C0 22 C9 FC */ lfs f1, lbl_805AE71C@sda21(r2) /* 803187C4 00315724 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 803187C8 00315728 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 803187CC 0031572C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803187D0 00315730 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 803187D4 00315734 C0 01 01 0C */ lfs f0, 0x10c(r1) /* 803187D8 00315738 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 803187DC 0031573C C0 01 01 10 */ lfs f0, 0x110(r1) /* 803187E0 00315740 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 803187E4 00315744 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 803187E8 00315748 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 803187EC 0031574C D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 803187F0 00315750 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 803187F4 00315754 C0 81 01 04 */ lfs f4, 0x104(r1) /* 803187F8 00315758 D0 83 80 00 */ stfs f4, 0xCC008000@l(r3) /* 803187FC 0031575C C0 01 01 10 */ lfs f0, 0x110(r1) /* 80318800 00315760 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80318804 00315764 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 80318808 00315768 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031880C 0031576C D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 80318810 00315770 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 80318814 00315774 D0 83 80 00 */ stfs f4, 0xCC008000@l(r3) /* 80318818 00315778 C0 01 01 08 */ lfs f0, 0x108(r1) /* 8031881C 0031577C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80318820 00315780 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 80318824 00315784 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 80318828 00315788 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 8031882C 0031578C 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 80318830 00315790 C0 01 01 0C */ lfs f0, 0x10c(r1) /* 80318834 00315794 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80318838 00315798 C0 01 01 08 */ lfs f0, 0x108(r1) /* 8031883C 0031579C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80318840 003157A0 4B FE FD 41 */ bl End__3CGXFv /* 80318844 003157A4 48 00 02 08 */ b lbl_80318A4C lbl_80318848: /* 80318848 003157A8 38 60 00 80 */ li r3, 0x80 /* 8031884C 003157AC 4B FF 2E 1D */ bl StreamBegin__9CGraphicsF13ERglPrimitive /* 80318850 003157B0 80 61 00 24 */ lwz r3, 0x24(r1) /* 80318854 003157B4 4B FF 2D 19 */ bl StreamColor__9CGraphicsFUi /* 80318858 003157B8 C0 21 01 0C */ lfs f1, 0x10c(r1) /* 8031885C 003157BC C0 41 01 10 */ lfs f2, 0x110(r1) /* 80318860 003157C0 4B FF 2C 05 */ bl StreamTexcoord__9CGraphicsFff /* 80318864 003157C4 C0 22 C9 F8 */ lfs f1, lbl_805AE718@sda21(r2) /* 80318868 003157C8 C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) /* 8031886C 003157CC FC 60 08 90 */ fmr f3, f1 /* 80318870 003157D0 4B FF 2D C9 */ bl StreamVertex__9CGraphicsFfff /* 80318874 003157D4 C0 21 01 04 */ lfs f1, 0x104(r1) /* 80318878 003157D8 C0 41 01 10 */ lfs f2, 0x110(r1) /* 8031887C 003157DC 4B FF 2B E9 */ bl StreamTexcoord__9CGraphicsFff /* 80318880 003157E0 C0 22 C9 FC */ lfs f1, lbl_805AE71C@sda21(r2) /* 80318884 003157E4 C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) /* 80318888 003157E8 C0 62 C9 F8 */ lfs f3, lbl_805AE718@sda21(r2) /* 8031888C 003157EC 4B FF 2D AD */ bl StreamVertex__9CGraphicsFfff /* 80318890 003157F0 C0 21 01 04 */ lfs f1, 0x104(r1) /* 80318894 003157F4 C0 41 01 08 */ lfs f2, 0x108(r1) /* 80318898 003157F8 4B FF 2B CD */ bl StreamTexcoord__9CGraphicsFff /* 8031889C 003157FC C0 22 C9 FC */ lfs f1, lbl_805AE71C@sda21(r2) /* 803188A0 00315800 C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) /* 803188A4 00315804 FC 60 08 90 */ fmr f3, f1 /* 803188A8 00315808 4B FF 2D 91 */ bl StreamVertex__9CGraphicsFfff /* 803188AC 0031580C C0 21 01 0C */ lfs f1, 0x10c(r1) /* 803188B0 00315810 C0 41 01 08 */ lfs f2, 0x108(r1) /* 803188B4 00315814 4B FF 2B B1 */ bl StreamTexcoord__9CGraphicsFff /* 803188B8 00315818 C0 22 C9 F8 */ lfs f1, lbl_805AE718@sda21(r2) /* 803188BC 0031581C C0 42 C9 E8 */ lfs f2, lbl_805AE708@sda21(r2) /* 803188C0 00315820 C0 62 C9 FC */ lfs f3, lbl_805AE71C@sda21(r2) /* 803188C4 00315824 4B FF 2D 75 */ bl StreamVertex__9CGraphicsFfff /* 803188C8 00315828 4B FF 2B 49 */ bl StreamEnd__9CGraphicsFv /* 803188CC 0031582C 48 00 01 80 */ b lbl_80318A4C lbl_803188D0: /* 803188D0 00315830 88 0D A8 B9 */ lbz r0, sSubtractBlend__11CElementGen@sda21(r13) /* 803188D4 00315834 83 84 00 50 */ lwz r28, 0x50(r4) /* 803188D8 00315838 28 00 00 00 */ cmplwi r0, 0 /* 803188DC 0031583C 41 82 00 6C */ beq lbl_80318948 /* 803188E0 00315840 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 803188E4 00315844 38 80 00 05 */ li r4, 5 /* 803188E8 00315848 38 60 00 00 */ li r3, 0 /* 803188EC 0031584C 38 00 00 03 */ li r0, 3 /* 803188F0 00315850 FC 40 08 90 */ fmr f2, f1 /* 803188F4 00315854 98 81 00 50 */ stb r4, 0x50(r1) /* 803188F8 00315858 FC 60 08 90 */ fmr f3, f1 /* 803188FC 0031585C C0 82 C9 F8 */ lfs f4, lbl_805AE718@sda21(r2) /* 80318900 00315860 98 61 00 51 */ stb r3, 0x51(r1) /* 80318904 00315864 7F 03 C3 78 */ mr r3, r24 /* 80318908 00315868 B0 01 00 52 */ sth r0, 0x52(r1) /* 8031890C 0031586C 48 04 AA E1 */ bl __ct__6CColorFffff /* 80318910 00315870 A0 01 00 52 */ lhz r0, 0x52(r1) /* 80318914 00315874 7F 83 E3 78 */ mr r3, r28 /* 80318918 00315878 88 E1 00 50 */ lbz r7, 0x50(r1) /* 8031891C 0031587C 38 81 00 58 */ addi r4, r1, 0x58 /* 80318920 00315880 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80318924 00315884 88 C1 00 51 */ lbz r6, 0x51(r1) /* 80318928 00315888 60 05 00 01 */ ori r5, r0, 1 /* 8031892C 0031588C 80 01 00 54 */ lwz r0, 0x54(r1) /* 80318930 00315890 98 E1 00 58 */ stb r7, 0x58(r1) /* 80318934 00315894 98 C1 00 59 */ stb r6, 0x59(r1) /* 80318938 00315898 B0 A1 00 5A */ sth r5, 0x5a(r1) /* 8031893C 0031589C 90 01 00 5C */ stw r0, 0x5c(r1) /* 80318940 003158A0 48 03 D2 95 */ bl Draw__6CModelCFRC11CModelFlags /* 80318944 003158A4 48 00 01 08 */ b lbl_80318A4C lbl_80318948: /* 80318948 003158A8 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f /* 8031894C 003158AC 41 82 00 4C */ beq lbl_80318998 /* 80318950 003158B0 38 C0 00 03 */ li r6, 3 /* 80318954 003158B4 80 A1 00 24 */ lwz r5, 0x24(r1) /* 80318958 003158B8 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d /* 8031895C 003158BC 39 00 00 07 */ li r8, 7 /* 80318960 003158C0 38 E0 00 00 */ li r7, 0 /* 80318964 003158C4 99 01 00 40 */ stb r8, 0x40(r1) /* 80318968 003158C8 60 00 00 01 */ ori r0, r0, 1 /* 8031896C 003158CC 7F 83 E3 78 */ mr r3, r28 /* 80318970 003158D0 98 E1 00 41 */ stb r7, 0x41(r1) /* 80318974 003158D4 38 81 00 48 */ addi r4, r1, 0x48 /* 80318978 003158D8 B0 C1 00 42 */ sth r6, 0x42(r1) /* 8031897C 003158DC 90 A1 00 44 */ stw r5, 0x44(r1) /* 80318980 003158E0 99 01 00 48 */ stb r8, 0x48(r1) /* 80318984 003158E4 98 E1 00 49 */ stb r7, 0x49(r1) /* 80318988 003158E8 B0 01 00 4A */ sth r0, 0x4a(r1) /* 8031898C 003158EC 90 A1 00 4C */ stw r5, 0x4c(r1) /* 80318990 003158F0 48 03 D2 45 */ bl Draw__6CModelCFRC11CModelFlags /* 80318994 003158F4 48 00 00 B8 */ b lbl_80318A4C lbl_80318998: /* 80318998 003158F8 E0 01 A0 27 */ psq_l f0, 39(r1), 1, qr2 /* 8031899C 003158FC C0 82 C9 EC */ lfs f4, lbl_805AE70C@sda21(r2) /* 803189A0 00315900 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 803189A4 00315904 EC 04 00 32 */ fmuls f0, f4, f0 /* 803189A8 00315908 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 803189AC 0031590C 40 82 00 3C */ bne lbl_803189E8 /* 803189B0 00315910 38 80 00 00 */ li r4, 0 /* 803189B4 00315914 38 00 00 03 */ li r0, 3 /* 803189B8 00315918 FC 40 08 90 */ fmr f2, f1 /* 803189BC 0031591C 98 81 00 38 */ stb r4, 0x38(r1) /* 803189C0 00315920 FC 60 08 90 */ fmr f3, f1 /* 803189C4 00315924 7E E3 BB 78 */ mr r3, r23 /* 803189C8 00315928 FC 80 08 90 */ fmr f4, f1 /* 803189CC 0031592C 98 81 00 39 */ stb r4, 0x39(r1) /* 803189D0 00315930 B0 01 00 3A */ sth r0, 0x3a(r1) /* 803189D4 00315934 48 04 AA 19 */ bl __ct__6CColorFffff /* 803189D8 00315938 7F 83 E3 78 */ mr r3, r28 /* 803189DC 0031593C 38 81 00 38 */ addi r4, r1, 0x38 /* 803189E0 00315940 48 03 D1 F5 */ bl Draw__6CModelCFRC11CModelFlags /* 803189E4 00315944 48 00 00 68 */ b lbl_80318A4C lbl_803189E8: /* 803189E8 00315948 E0 01 A0 27 */ psq_l f0, 39(r1), 1, qr2 /* 803189EC 0031594C 38 60 00 05 */ li r3, 5 /* 803189F0 00315950 38 80 00 00 */ li r4, 0 /* 803189F4 00315954 38 00 00 03 */ li r0, 3 /* 803189F8 00315958 FC 40 08 90 */ fmr f2, f1 /* 803189FC 0031595C 98 61 00 28 */ stb r3, 0x28(r1) /* 80318A00 00315960 FC 60 08 90 */ fmr f3, f1 /* 80318A04 00315964 7E C3 B3 78 */ mr r3, r22 /* 80318A08 00315968 EC 84 00 32 */ fmuls f4, f4, f0 /* 80318A0C 0031596C 98 81 00 29 */ stb r4, 0x29(r1) /* 80318A10 00315970 B0 01 00 2A */ sth r0, 0x2a(r1) /* 80318A14 00315974 48 04 A9 D9 */ bl __ct__6CColorFffff /* 80318A18 00315978 A0 01 00 2A */ lhz r0, 0x2a(r1) /* 80318A1C 0031597C 7F 83 E3 78 */ mr r3, r28 /* 80318A20 00315980 88 E1 00 28 */ lbz r7, 0x28(r1) /* 80318A24 00315984 38 81 00 30 */ addi r4, r1, 0x30 /* 80318A28 00315988 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80318A2C 0031598C 88 C1 00 29 */ lbz r6, 0x29(r1) /* 80318A30 00315990 60 05 00 01 */ ori r5, r0, 1 /* 80318A34 00315994 80 01 00 2C */ lwz r0, 0x2c(r1) /* 80318A38 00315998 98 E1 00 30 */ stb r7, 0x30(r1) /* 80318A3C 0031599C 98 C1 00 31 */ stb r6, 0x31(r1) /* 80318A40 003159A0 B0 A1 00 32 */ sth r5, 0x32(r1) /* 80318A44 003159A4 90 01 00 34 */ stw r0, 0x34(r1) /* 80318A48 003159A8 48 03 D1 8D */ bl Draw__6CModelCFRC11CModelFlags lbl_80318A4C: /* 80318A4C 003159AC 3B 7B 00 38 */ addi r27, r27, 0x38 /* 80318A50 003159B0 3B 5A 00 20 */ addi r26, r26, 0x20 /* 80318A54 003159B4 3B 39 00 24 */ addi r25, r25, 0x24 /* 80318A58 003159B8 3A B5 00 01 */ addi r21, r21, 1 lbl_80318A5C: /* 80318A5C 003159BC 80 1E 00 34 */ lwz r0, 0x34(r30) /* 80318A60 003159C0 7C 15 00 00 */ cmpw r21, r0 /* 80318A64 003159C4 41 80 F9 68 */ blt lbl_803183CC /* 80318A68 003159C8 88 1E 02 6D */ lbz r0, 0x26d(r30) /* 80318A6C 003159CC 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80318A70 003159D0 41 82 00 08 */ beq lbl_80318A78 /* 80318A74 003159D4 4B FF 3F 09 */ bl DisableAllLights__9CGraphicsFv lbl_80318A78: /* 80318A78 003159D8 38 60 00 01 */ li r3, 1 /* 80318A7C 003159DC 4B FF 2F F5 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 80318A80 003159E0 4B FF 04 29 */ bl ResetStates__13CTevCombinersFv /* 80318A84 003159E4 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80318A88 003159E8 41 82 00 14 */ beq lbl_80318A9C /* 80318A8C 003159EC 38 60 00 01 */ li r3, 1 /* 80318A90 003159F0 38 80 00 00 */ li r4, 0 /* 80318A94 003159F4 38 A0 00 00 */ li r5, 0 /* 80318A98 003159F8 48 06 2D 99 */ bl GXSetTevSwapMode lbl_80318A9C: /* 80318A9C 003159FC 38 60 00 07 */ li r3, 7 /* 80318AA0 00315A00 38 80 00 00 */ li r4, 0 /* 80318AA4 00315A04 38 A0 00 00 */ li r5, 0 /* 80318AA8 00315A08 38 C0 00 07 */ li r6, 7 /* 80318AAC 00315A0C 38 E0 00 00 */ li r7, 0 /* 80318AB0 00315A10 4B FF 2F 79 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 80318AB4 00315A14 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80318AB8 00315A18 38 80 FF FF */ li r4, -1 /* 80318ABC 00315A1C 4B FF 9B 49 */ bl __dt__13CGlobalRandomFv /* 80318AC0 00315A20 E3 E1 05 38 */ psq_l f31, 1336(r1), 0, qr0 /* 80318AC4 00315A24 CB E1 05 30 */ lfd f31, 0x530(r1) /* 80318AC8 00315A28 E3 C1 05 28 */ psq_l f30, 1320(r1), 0, qr0 /* 80318ACC 00315A2C CB C1 05 20 */ lfd f30, 0x520(r1) /* 80318AD0 00315A30 E3 A1 05 18 */ psq_l f29, 1304(r1), 0, qr0 /* 80318AD4 00315A34 CB A1 05 10 */ lfd f29, 0x510(r1) /* 80318AD8 00315A38 BA 81 04 E0 */ lmw r20, 0x4e0(r1) /* 80318ADC 00315A3C 80 01 05 44 */ lwz r0, 0x544(r1) /* 80318AE0 00315A40 7C 08 03 A6 */ mtlr r0 /* 80318AE4 00315A44 38 21 05 40 */ addi r1, r1, 0x540 /* 80318AE8 00315A48 4E 80 00 20 */ blr .global RenderLines__11CElementGenFv RenderLines__11CElementGenFv: /* 80318AEC 00315A4C 94 21 FD 00 */ stwu r1, -0x300(r1) /* 80318AF0 00315A50 7C 08 02 A6 */ mflr r0 /* 80318AF4 00315A54 90 01 03 04 */ stw r0, 0x304(r1) /* 80318AF8 00315A58 DB E1 02 F0 */ stfd f31, 0x2f0(r1) /* 80318AFC 00315A5C F3 E1 02 F8 */ psq_st f31, 760(r1), 0, qr0 /* 80318B00 00315A60 DB C1 02 E0 */ stfd f30, 0x2e0(r1) /* 80318B04 00315A64 F3 C1 02 E8 */ psq_st f30, 744(r1), 0, qr0 /* 80318B08 00315A68 DB A1 02 D0 */ stfd f29, 0x2d0(r1) /* 80318B0C 00315A6C F3 A1 02 D8 */ psq_st f29, 728(r1), 0, qr0 /* 80318B10 00315A70 DB 81 02 C0 */ stfd f28, 0x2c0(r1) /* 80318B14 00315A74 F3 81 02 C8 */ psq_st f28, 712(r1), 0, qr0 /* 80318B18 00315A78 DB 61 02 B0 */ stfd f27, 0x2b0(r1) /* 80318B1C 00315A7C F3 61 02 B8 */ psq_st f27, 696(r1), 0, qr0 /* 80318B20 00315A80 DB 41 02 A0 */ stfd f26, 0x2a0(r1) /* 80318B24 00315A84 F3 41 02 A8 */ psq_st f26, 680(r1), 0, qr0 /* 80318B28 00315A88 DB 21 02 90 */ stfd f25, 0x290(r1) /* 80318B2C 00315A8C F3 21 02 98 */ psq_st f25, 664(r1), 0, qr0 /* 80318B30 00315A90 BF 21 02 74 */ stmw r25, 0x274(r1) /* 80318B34 00315A94 7C 7C 1B 78 */ mr r28, r3 /* 80318B38 00315A98 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80318B3C 00315A9C 80 DC 03 38 */ lwz r6, 0x338(r28) /* 80318B40 00315AA0 38 9C 02 7C */ addi r4, r28, 0x27c /* 80318B44 00315AA4 20 A6 FF FF */ subfic r5, r6, -1 /* 80318B48 00315AA8 38 06 00 01 */ addi r0, r6, 1 /* 80318B4C 00315AAC 7C A0 03 78 */ or r0, r5, r0 /* 80318B50 00315AB0 54 1E 0F FE */ srwi r30, r0, 0x1f /* 80318B54 00315AB4 4B FF 9B 2D */ bl __ct__13CGlobalRandomFR9CRandom16 /* 80318B58 00315AB8 3C 80 80 5A */ lis r4, mViewMatrix__9CGraphics@ha /* 80318B5C 00315ABC 38 61 02 34 */ addi r3, r1, 0x234 /* 80318B60 00315AC0 38 84 61 D4 */ addi r4, r4, mViewMatrix__9CGraphics@l /* 80318B64 00315AC4 4B FF A0 11 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80318B68 00315AC8 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 80318B6C 00315ACC 38 61 01 A4 */ addi r3, r1, 0x1a4 /* 80318B70 00315AD0 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l /* 80318B74 00315AD4 38 81 02 34 */ addi r4, r1, 0x234 /* 80318B78 00315AD8 C0 45 00 00 */ lfs f2, 0(r5) /* 80318B7C 00315ADC C0 25 00 04 */ lfs f1, 4(r5) /* 80318B80 00315AE0 C0 05 00 08 */ lfs f0, 8(r5) /* 80318B84 00315AE4 D0 41 02 40 */ stfs f2, 0x240(r1) /* 80318B88 00315AE8 D0 21 02 50 */ stfs f1, 0x250(r1) /* 80318B8C 00315AEC D0 01 02 60 */ stfs f0, 0x260(r1) /* 80318B90 00315AF0 4B FF A1 0D */ bl GetQuickInverse__12CTransform4fCFv /* 80318B94 00315AF4 38 61 01 D4 */ addi r3, r1, 0x1d4 /* 80318B98 00315AF8 38 81 01 A4 */ addi r4, r1, 0x1a4 /* 80318B9C 00315AFC 38 BC 02 2C */ addi r5, r28, 0x22c /* 80318BA0 00315B00 4B FF 9D B1 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318BA4 00315B04 38 61 02 04 */ addi r3, r1, 0x204 /* 80318BA8 00315B08 38 81 01 D4 */ addi r4, r1, 0x1d4 /* 80318BAC 00315B0C 4B FF 9F C9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80318BB0 00315B10 38 61 00 E4 */ addi r3, r1, 0xe4 /* 80318BB4 00315B14 38 9C 00 E8 */ addi r4, r28, 0xe8 /* 80318BB8 00315B18 4B FF A5 89 */ bl Translate__12CTransform4fFRC9CVector3f /* 80318BBC 00315B1C 38 61 01 14 */ addi r3, r1, 0x114 /* 80318BC0 00315B20 38 81 00 E4 */ addi r4, r1, 0xe4 /* 80318BC4 00315B24 38 BC 01 0C */ addi r5, r28, 0x10c /* 80318BC8 00315B28 4B FF 9D 89 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318BCC 00315B2C 38 61 01 44 */ addi r3, r1, 0x144 /* 80318BD0 00315B30 38 81 01 14 */ addi r4, r1, 0x114 /* 80318BD4 00315B34 38 A1 02 34 */ addi r5, r1, 0x234 /* 80318BD8 00315B38 4B FF 9D 79 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318BDC 00315B3C 38 61 01 74 */ addi r3, r1, 0x174 /* 80318BE0 00315B40 38 81 01 44 */ addi r4, r1, 0x144 /* 80318BE4 00315B44 38 BC 01 78 */ addi r5, r28, 0x178 /* 80318BE8 00315B48 4B FF 9D 69 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80318BEC 00315B4C 38 61 02 34 */ addi r3, r1, 0x234 /* 80318BF0 00315B50 38 81 01 74 */ addi r4, r1, 0x174 /* 80318BF4 00315B54 4B FF 9F 4D */ bl __as__12CTransform4fFRC12CTransform4f /* 80318BF8 00315B58 38 61 02 34 */ addi r3, r1, 0x234 /* 80318BFC 00315B5C 4B FF 39 E5 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f /* 80318C00 00315B60 38 60 00 07 */ li r3, 7 /* 80318C04 00315B64 38 80 00 00 */ li r4, 0 /* 80318C08 00315B68 38 A0 00 00 */ li r5, 0 /* 80318C0C 00315B6C 38 C0 00 07 */ li r6, 7 /* 80318C10 00315B70 38 E0 00 00 */ li r7, 0 /* 80318C14 00315B74 4B FF 2E 15 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 80318C18 00315B78 88 1C 02 6C */ lbz r0, 0x26c(r28) /* 80318C1C 00315B7C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80318C20 00315B80 41 82 00 2C */ beq lbl_80318C4C /* 80318C24 00315B84 38 60 00 01 */ li r3, 1 /* 80318C28 00315B88 38 80 00 03 */ li r4, 3 /* 80318C2C 00315B8C 38 A0 00 00 */ li r5, 0 /* 80318C30 00315B90 4B FF 2E 65 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 80318C34 00315B94 38 60 00 01 */ li r3, 1 /* 80318C38 00315B98 38 80 00 04 */ li r4, 4 /* 80318C3C 00315B9C 38 A0 00 01 */ li r5, 1 /* 80318C40 00315BA0 38 C0 00 00 */ li r6, 0 /* 80318C44 00315BA4 4B FF 2E 0D */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 80318C48 00315BA8 48 00 00 28 */ b lbl_80318C70 lbl_80318C4C: /* 80318C4C 00315BAC 38 60 00 01 */ li r3, 1 /* 80318C50 00315BB0 38 80 00 03 */ li r4, 3 /* 80318C54 00315BB4 38 A0 00 01 */ li r5, 1 /* 80318C58 00315BB8 4B FF 2E 3D */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 80318C5C 00315BBC 38 60 00 01 */ li r3, 1 /* 80318C60 00315BC0 38 80 00 04 */ li r4, 4 /* 80318C64 00315BC4 38 A0 00 05 */ li r5, 5 /* 80318C68 00315BC8 38 C0 00 00 */ li r6, 0 /* 80318C6C 00315BCC 4B FF 2D E5 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp lbl_80318C70: /* 80318C70 00315BD0 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 80318C74 00315BD4 3B 20 00 01 */ li r25, 1 /* 80318C78 00315BD8 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 80318C7C 00315BDC 3B E0 00 00 */ li r31, 0 /* 80318C80 00315BE0 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 80318C84 00315BE4 D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 80318C88 00315BE8 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 80318C8C 00315BEC D0 01 00 AC */ stfs f0, 0xac(r1) /* 80318C90 00315BF0 80 7C 00 28 */ lwz r3, 0x28(r28) /* 80318C94 00315BF4 80 63 00 18 */ lwz r3, 0x18(r3) /* 80318C98 00315BF8 28 03 00 00 */ cmplwi r3, 0 /* 80318C9C 00315BFC 41 82 00 20 */ beq lbl_80318CBC /* 80318CA0 00315C00 81 83 00 00 */ lwz r12, 0(r3) /* 80318CA4 00315C04 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80318CA8 00315C08 7D 89 03 A6 */ mtctr r12 /* 80318CAC 00315C0C 4E 80 04 21 */ bctrl /* 80318CB0 00315C10 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80318CB4 00315C14 41 82 00 08 */ beq lbl_80318CBC /* 80318CB8 00315C18 3B E0 00 01 */ li r31, 1 lbl_80318CBC: /* 80318CBC 00315C1C 80 7C 00 28 */ lwz r3, 0x28(r28) /* 80318CC0 00315C20 80 83 00 40 */ lwz r4, 0x40(r3) /* 80318CC4 00315C24 28 04 00 00 */ cmplwi r4, 0 /* 80318CC8 00315C28 41 82 01 EC */ beq lbl_80318EB4 /* 80318CCC 00315C2C 80 BC 00 3C */ lwz r5, 0x3c(r28) /* 80318CD0 00315C30 38 61 00 88 */ addi r3, r1, 0x88 /* 80318CD4 00315C34 81 84 00 00 */ lwz r12, 0(r4) /* 80318CD8 00315C38 80 A5 00 28 */ lwz r5, 0x28(r5) /* 80318CDC 00315C3C 80 1C 00 74 */ lwz r0, 0x74(r28) /* 80318CE0 00315C40 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80318CE4 00315C44 7C A5 00 50 */ subf r5, r5, r0 /* 80318CE8 00315C48 7D 89 03 A6 */ mtctr r12 /* 80318CEC 00315C4C 4E 80 04 21 */ bctrl /* 80318CF0 00315C50 38 61 00 30 */ addi r3, r1, 0x30 /* 80318CF4 00315C54 38 81 00 88 */ addi r4, r1, 0x88 /* 80318CF8 00315C58 48 02 81 B1 */ bl __ct__6CTokenFRC6CToken /* 80318CFC 00315C5C 38 61 00 88 */ addi r3, r1, 0x88 /* 80318D00 00315C60 38 80 00 00 */ li r4, 0 /* 80318D04 00315C64 48 02 81 3D */ bl __dt__6CTokenFv /* 80318D08 00315C68 38 61 00 30 */ addi r3, r1, 0x30 /* 80318D0C 00315C6C 48 02 81 01 */ bl GetObj__6CTokenFv /* 80318D10 00315C70 80 63 00 04 */ lwz r3, 4(r3) /* 80318D14 00315C74 38 80 00 00 */ li r4, 0 /* 80318D18 00315C78 38 A0 00 01 */ li r5, 1 /* 80318D1C 00315C7C 4B FF 6A 21 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 80318D20 00315C80 3C 80 80 5A */ lis r4, kEnvModulate__9CGraphics@ha /* 80318D24 00315C84 38 60 00 00 */ li r3, 0 /* 80318D28 00315C88 38 84 5E BC */ addi r4, r4, kEnvModulate__9CGraphics@l /* 80318D2C 00315C8C 4B FF 15 8D */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 80318D30 00315C90 28 1E 00 00 */ cmplwi r30, 0 /* 80318D34 00315C94 41 82 01 18 */ beq lbl_80318E4C /* 80318D38 00315C98 88 0D A8 C5 */ lbz r0, lbl_805A9485@sda21(r13) /* 80318D3C 00315C9C 7C 00 07 75 */ extsb. r0, r0 /* 80318D40 00315CA0 40 82 00 F8 */ bne lbl_80318E38 /* 80318D44 00315CA4 38 00 00 00 */ li r0, 0 /* 80318D48 00315CA8 38 A0 00 01 */ li r5, 1 /* 80318D4C 00315CAC 98 A1 00 BC */ stb r5, 0xbc(r1) /* 80318D50 00315CB0 38 61 00 0C */ addi r3, r1, 0xc /* 80318D54 00315CB4 38 80 00 07 */ li r4, 7 /* 80318D58 00315CB8 90 01 00 C0 */ stw r0, 0xc0(r1) /* 80318D5C 00315CBC 90 01 00 C4 */ stw r0, 0xc4(r1) /* 80318D60 00315CC0 90 01 00 C8 */ stw r0, 0xc8(r1) /* 80318D64 00315CC4 90 01 00 CC */ stw r0, 0xcc(r1) /* 80318D68 00315CC8 98 A1 00 D0 */ stb r5, 0xd0(r1) /* 80318D6C 00315CCC 90 01 00 D4 */ stw r0, 0xd4(r1) /* 80318D70 00315CD0 90 01 00 D8 */ stw r0, 0xd8(r1) /* 80318D74 00315CD4 90 01 00 DC */ stw r0, 0xdc(r1) /* 80318D78 00315CD8 90 01 00 E0 */ stw r0, 0xe0(r1) /* 80318D7C 00315CDC 4B FF 03 B1 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 80318D80 00315CE0 38 61 00 10 */ addi r3, r1, 0x10 /* 80318D84 00315CE4 38 80 00 05 */ li r4, 5 /* 80318D88 00315CE8 4B FF 03 A5 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 80318D8C 00315CEC 38 61 00 14 */ addi r3, r1, 0x14 /* 80318D90 00315CF0 38 80 00 00 */ li r4, 0 /* 80318D94 00315CF4 4B FF 03 99 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 80318D98 00315CF8 38 61 00 18 */ addi r3, r1, 0x18 /* 80318D9C 00315CFC 38 80 00 07 */ li r4, 7 /* 80318DA0 00315D00 4B FF 03 8D */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 80318DA4 00315D04 80 E1 00 18 */ lwz r7, 0x18(r1) /* 80318DA8 00315D08 38 61 00 1C */ addi r3, r1, 0x1c /* 80318DAC 00315D0C 80 C1 00 14 */ lwz r6, 0x14(r1) /* 80318DB0 00315D10 38 80 00 0F */ li r4, 0xf /* 80318DB4 00315D14 80 A1 00 10 */ lwz r5, 0x10(r1) /* 80318DB8 00315D18 80 01 00 0C */ lwz r0, 0xc(r1) /* 80318DBC 00315D1C 90 E1 00 68 */ stw r7, 0x68(r1) /* 80318DC0 00315D20 90 C1 00 6C */ stw r6, 0x6c(r1) /* 80318DC4 00315D24 90 A1 00 70 */ stw r5, 0x70(r1) /* 80318DC8 00315D28 90 01 00 74 */ stw r0, 0x74(r1) /* 80318DCC 00315D2C 4B FF 03 59 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 80318DD0 00315D30 38 61 00 20 */ addi r3, r1, 0x20 /* 80318DD4 00315D34 38 80 00 0A */ li r4, 0xa /* 80318DD8 00315D38 4B FF 03 4D */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 80318DDC 00315D3C 38 61 00 24 */ addi r3, r1, 0x24 /* 80318DE0 00315D40 38 80 00 00 */ li r4, 0 /* 80318DE4 00315D44 4B FF 03 41 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 80318DE8 00315D48 38 61 00 28 */ addi r3, r1, 0x28 /* 80318DEC 00315D4C 38 80 00 0F */ li r4, 0xf /* 80318DF0 00315D50 4B FF 03 35 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 80318DF4 00315D54 80 A1 00 28 */ lwz r5, 0x28(r1) /* 80318DF8 00315D58 3C 60 80 4C */ lis r3, "ModulatePreviousTEVWithRasColor$6760"@ha /* 80318DFC 00315D5C 81 21 00 24 */ lwz r9, 0x24(r1) /* 80318E00 00315D60 38 63 FE B4 */ addi r3, r3, "ModulatePreviousTEVWithRasColor$6760"@l /* 80318E04 00315D64 81 01 00 20 */ lwz r8, 0x20(r1) /* 80318E08 00315D68 38 81 00 78 */ addi r4, r1, 0x78 /* 80318E0C 00315D6C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80318E10 00315D70 38 C1 00 D0 */ addi r6, r1, 0xd0 /* 80318E14 00315D74 90 A1 00 78 */ stw r5, 0x78(r1) /* 80318E18 00315D78 38 A1 00 68 */ addi r5, r1, 0x68 /* 80318E1C 00315D7C 38 E1 00 BC */ addi r7, r1, 0xbc /* 80318E20 00315D80 91 21 00 7C */ stw r9, 0x7c(r1) /* 80318E24 00315D84 91 01 00 80 */ stw r8, 0x80(r1) /* 80318E28 00315D88 90 01 00 84 */ stw r0, 0x84(r1) /* 80318E2C 00315D8C 4B FF 04 29 */ bl __ct__Q213CTevCombiners8CTevPassFRCQ213CTevCombiners9ColorPassRCQ213CTevCombiners9AlphaPassRCQ213CTevCombiners6CTevOpRCQ213CTevCombiners6CTevOp /* 80318E30 00315D90 38 00 00 01 */ li r0, 1 /* 80318E34 00315D94 98 0D A8 C5 */ stb r0, lbl_805A9485@sda21(r13) lbl_80318E38: /* 80318E38 00315D98 3C 80 80 4C */ lis r4, "ModulatePreviousTEVWithRasColor$6760"@ha /* 80318E3C 00315D9C 38 60 00 01 */ li r3, 1 /* 80318E40 00315DA0 38 84 FE B4 */ addi r4, r4, "ModulatePreviousTEVWithRasColor$6760"@l /* 80318E44 00315DA4 4B FF 14 75 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 80318E48 00315DA8 48 00 00 10 */ b lbl_80318E58 lbl_80318E4C: /* 80318E4C 00315DAC 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 80318E50 00315DB0 38 60 00 01 */ li r3, 1 /* 80318E54 00315DB4 4B FF 14 65 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass lbl_80318E58: /* 80318E58 00315DB8 80 7C 00 28 */ lwz r3, 0x28(r28) /* 80318E5C 00315DBC 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 80318E60 00315DC0 80 9C 00 3C */ lwz r4, 0x3c(r28) /* 80318E64 00315DC4 80 63 00 40 */ lwz r3, 0x40(r3) /* 80318E68 00315DC8 80 84 00 28 */ lwz r4, 0x28(r4) /* 80318E6C 00315DCC 81 83 00 00 */ lwz r12, 0(r3) /* 80318E70 00315DD0 80 1C 00 74 */ lwz r0, 0x74(r28) /* 80318E74 00315DD4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80318E78 00315DD8 7C 84 00 50 */ subf r4, r4, r0 /* 80318E7C 00315DDC 7D 89 03 A6 */ mtctr r12 /* 80318E80 00315DE0 4E 80 04 21 */ bctrl /* 80318E84 00315DE4 80 7C 00 28 */ lwz r3, 0x28(r28) /* 80318E88 00315DE8 80 63 00 40 */ lwz r3, 0x40(r3) /* 80318E8C 00315DEC 81 83 00 00 */ lwz r12, 0(r3) /* 80318E90 00315DF0 81 8C 00 18 */ lwz r12, 0x18(r12) /* 80318E94 00315DF4 7D 89 03 A6 */ mtctr r12 /* 80318E98 00315DF8 4E 80 04 21 */ bctrl /* 80318E9C 00315DFC 7C 60 1B 78 */ mr r0, r3 /* 80318EA0 00315E00 38 61 00 30 */ addi r3, r1, 0x30 /* 80318EA4 00315E04 7C 19 03 78 */ mr r25, r0 /* 80318EA8 00315E08 38 80 00 00 */ li r4, 0 /* 80318EAC 00315E0C 48 02 7F 95 */ bl __dt__6CTokenFv /* 80318EB0 00315E10 48 00 00 1C */ b lbl_80318ECC lbl_80318EB4: /* 80318EB4 00315E14 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 80318EB8 00315E18 38 60 00 00 */ li r3, 0 /* 80318EBC 00315E1C 4B FF 13 FD */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 80318EC0 00315E20 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 80318EC4 00315E24 38 60 00 01 */ li r3, 1 /* 80318EC8 00315E28 4B FF 13 F1 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass lbl_80318ECC: /* 80318ECC 00315E2C 3C 60 80 3D */ lis r3, lbl_803D78D0@ha /* 80318ED0 00315E30 38 63 78 D0 */ addi r3, r3, lbl_803D78D0@l /* 80318ED4 00315E34 4B FE EF 55 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList /* 80318ED8 00315E38 28 1E 00 00 */ cmplwi r30, 0 /* 80318EDC 00315E3C 41 82 00 50 */ beq lbl_80318F2C /* 80318EE0 00315E40 38 60 00 02 */ li r3, 2 /* 80318EE4 00315E44 4B FE FF 6D */ bl SetNumChans__3CGXFUc /* 80318EE8 00315E48 38 60 00 01 */ li r3, 1 /* 80318EEC 00315E4C 38 80 00 FF */ li r4, 0xff /* 80318EF0 00315E50 38 A0 00 FF */ li r5, 0xff /* 80318EF4 00315E54 38 C0 00 05 */ li r6, 5 /* 80318EF8 00315E58 4B FE FA 55 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 80318EFC 00315E5C 38 9C 03 38 */ addi r4, r28, 0x338 /* 80318F00 00315E60 38 60 00 01 */ li r3, 1 /* 80318F04 00315E64 4B FE FE 59 */ bl SetChanMatColor__3CGXFQ23CGX10EChannelIdRC8_GXColor /* 80318F08 00315E68 38 60 00 01 */ li r3, 1 /* 80318F0C 00315E6C 38 80 00 00 */ li r4, 0 /* 80318F10 00315E70 38 A0 00 00 */ li r5, 0 /* 80318F14 00315E74 38 C0 00 00 */ li r6, 0 /* 80318F18 00315E78 38 E0 00 00 */ li r7, 0 /* 80318F1C 00315E7C 39 00 00 00 */ li r8, 0 /* 80318F20 00315E80 39 20 00 02 */ li r9, 2 /* 80318F24 00315E84 4B FE FD A9 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 80318F28 00315E88 48 00 00 0C */ b lbl_80318F34 lbl_80318F2C: /* 80318F2C 00315E8C 38 60 00 01 */ li r3, 1 /* 80318F30 00315E90 4B FE FF 21 */ bl SetNumChans__3CGXFUc lbl_80318F34: /* 80318F34 00315E94 38 60 00 01 */ li r3, 1 /* 80318F38 00315E98 4B FE FE DD */ bl SetNumTexGens__3CGXFUc /* 80318F3C 00315E9C 38 60 00 00 */ li r3, 0 /* 80318F40 00315EA0 38 80 00 00 */ li r4, 0 /* 80318F44 00315EA4 38 A0 00 00 */ li r5, 0 /* 80318F48 00315EA8 38 C0 00 04 */ li r6, 4 /* 80318F4C 00315EAC 4B FE FA 01 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 80318F50 00315EB0 38 60 00 00 */ li r3, 0 /* 80318F54 00315EB4 38 80 00 00 */ li r4, 0 /* 80318F58 00315EB8 38 A0 00 00 */ li r5, 0 /* 80318F5C 00315EBC 38 C0 00 01 */ li r6, 1 /* 80318F60 00315EC0 38 E0 00 00 */ li r7, 0 /* 80318F64 00315EC4 39 00 00 00 */ li r8, 0 /* 80318F68 00315EC8 39 20 00 02 */ li r9, 2 /* 80318F6C 00315ECC 4B FE FD 61 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 80318F70 00315ED0 38 60 00 00 */ li r3, 0 /* 80318F74 00315ED4 38 80 00 01 */ li r4, 1 /* 80318F78 00315ED8 38 A0 00 04 */ li r5, 4 /* 80318F7C 00315EDC 38 C0 00 3C */ li r6, 0x3c /* 80318F80 00315EE0 38 E0 00 00 */ li r7, 0 /* 80318F84 00315EE4 39 00 00 7D */ li r8, 0x7d /* 80318F88 00315EE8 4B FE F7 45 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 80318F8C 00315EEC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80318F90 00315EF0 41 82 00 84 */ beq lbl_80319014 /* 80318F94 00315EF4 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 80318F98 00315EF8 38 A1 00 2C */ addi r5, r1, 0x2c /* 80318F9C 00315EFC 38 80 00 00 */ li r4, 0 /* 80318FA0 00315F00 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80318FA4 00315F04 80 7C 00 28 */ lwz r3, 0x28(r28) /* 80318FA8 00315F08 80 63 00 18 */ lwz r3, 0x18(r3) /* 80318FAC 00315F0C 81 83 00 00 */ lwz r12, 0(r3) /* 80318FB0 00315F10 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80318FB4 00315F14 7D 89 03 A6 */ mtctr r12 /* 80318FB8 00315F18 4E 80 04 21 */ bctrl /* 80318FBC 00315F1C C0 21 00 2C */ lfs f1, 0x2c(r1) /* 80318FC0 00315F20 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 80318FC4 00315F24 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80318FC8 00315F28 40 80 00 0C */ bge lbl_80318FD4 /* 80318FCC 00315F2C D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80318FD0 00315F30 48 00 00 14 */ b lbl_80318FE4 lbl_80318FD4: /* 80318FD4 00315F34 C0 02 CA 00 */ lfs f0, lbl_805AE720@sda21(r2) /* 80318FD8 00315F38 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80318FDC 00315F3C 40 81 00 08 */ ble lbl_80318FE4 /* 80318FE0 00315F40 D0 01 00 2C */ stfs f0, 0x2c(r1) lbl_80318FE4: /* 80318FE4 00315F44 C0 22 CA 04 */ lfs f1, lbl_805AE724@sda21(r2) /* 80318FE8 00315F48 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80318FEC 00315F4C EF C1 00 32 */ fmuls f30, f1, f0 /* 80318FF0 00315F50 F3 C1 A0 09 */ psq_st f30, 9(r1), 1, qr2 /* 80318FF4 00315F54 38 80 00 00 */ li r4, 0 /* 80318FF8 00315F58 88 61 00 09 */ lbz r3, 9(r1) /* 80318FFC 00315F5C 4B FE F4 BD */ bl SetLineWidth__3CGXFUc12_GXTexOffset /* 80319000 00315F60 80 1C 00 34 */ lwz r0, 0x34(r28) /* 80319004 00315F64 38 60 00 A8 */ li r3, 0xa8 /* 80319008 00315F68 38 80 00 00 */ li r4, 0 /* 8031900C 00315F6C 54 05 0C 3C */ rlwinm r5, r0, 1, 0x10, 0x1e /* 80319010 00315F70 4B FE F5 75 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs lbl_80319014: /* 80319014 00315F74 57 3A 06 3E */ clrlwi r26, r25, 0x18 /* 80319018 00315F78 57 FB 06 3E */ clrlwi r27, r31, 0x18 /* 8031901C 00315F7C 3B A0 00 00 */ li r29, 0 /* 80319020 00315F80 3B C0 00 00 */ li r30, 0 /* 80319024 00315F84 48 00 02 34 */ b lbl_80319258 lbl_80319028: /* 80319028 00315F88 80 1C 00 3C */ lwz r0, 0x3c(r28) /* 8031902C 00315F8C 28 1A 00 00 */ cmplwi r26, 0 /* 80319030 00315F90 7F 20 F2 14 */ add r25, r0, r30 /* 80319034 00315F94 40 82 00 2C */ bne lbl_80319060 /* 80319038 00315F98 80 7C 00 28 */ lwz r3, 0x28(r28) /* 8031903C 00315F9C 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 80319040 00315FA0 80 99 00 28 */ lwz r4, 0x28(r25) /* 80319044 00315FA4 80 63 00 40 */ lwz r3, 0x40(r3) /* 80319048 00315FA8 80 1C 00 74 */ lwz r0, 0x74(r28) /* 8031904C 00315FAC 81 83 00 00 */ lwz r12, 0(r3) /* 80319050 00315FB0 7C 84 00 50 */ subf r4, r4, r0 /* 80319054 00315FB4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80319058 00315FB8 7D 89 03 A6 */ mtctr r12 /* 8031905C 00315FBC 4E 80 04 21 */ bctrl lbl_80319060: /* 80319060 00315FC0 C0 39 00 08 */ lfs f1, 8(r25) /* 80319064 00315FC4 C0 19 00 14 */ lfs f0, 0x14(r25) /* 80319068 00315FC8 C0 79 00 0C */ lfs f3, 0xc(r25) /* 8031906C 00315FCC EC 81 00 28 */ fsubs f4, f1, f0 /* 80319070 00315FD0 C0 59 00 18 */ lfs f2, 0x18(r25) /* 80319074 00315FD4 C0 39 00 04 */ lfs f1, 4(r25) /* 80319078 00315FD8 C0 19 00 10 */ lfs f0, 0x10(r25) /* 8031907C 00315FDC EC 43 10 28 */ fsubs f2, f3, f2 /* 80319080 00315FE0 EC 01 00 28 */ fsubs f0, f1, f0 /* 80319084 00315FE4 D0 81 00 98 */ stfs f4, 0x98(r1) /* 80319088 00315FE8 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 8031908C 00315FEC D0 01 00 94 */ stfs f0, 0x94(r1) /* 80319090 00315FF0 88 1C 02 6D */ lbz r0, 0x26d(r28) /* 80319094 00315FF4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80319098 00315FF8 41 82 00 44 */ beq lbl_803190DC /* 8031909C 00315FFC 38 61 00 94 */ addi r3, r1, 0x94 /* 803190A0 00316000 4B FF B8 19 */ bl Magnitude__9CVector3fCFv /* 803190A4 00316004 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 803190A8 00316008 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 803190AC 0031600C 40 81 00 30 */ ble lbl_803190DC /* 803190B0 00316010 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 803190B4 00316014 C0 41 00 94 */ lfs f2, 0x94(r1) /* 803190B8 00316018 EC 60 08 24 */ fdivs f3, f0, f1 /* 803190BC 0031601C C0 21 00 98 */ lfs f1, 0x98(r1) /* 803190C0 00316020 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 803190C4 00316024 EC 42 00 F2 */ fmuls f2, f2, f3 /* 803190C8 00316028 EC 21 00 F2 */ fmuls f1, f1, f3 /* 803190CC 0031602C EC 00 00 F2 */ fmuls f0, f0, f3 /* 803190D0 00316030 D0 41 00 94 */ stfs f2, 0x94(r1) /* 803190D4 00316034 D0 21 00 98 */ stfs f1, 0x98(r1) /* 803190D8 00316038 D0 01 00 9C */ stfs f0, 0x9c(r1) lbl_803190DC: /* 803190DC 0031603C 38 61 00 5C */ addi r3, r1, 0x5c /* 803190E0 00316040 38 81 02 04 */ addi r4, r1, 0x204 /* 803190E4 00316044 38 B9 00 04 */ addi r5, r25, 4 /* 803190E8 00316048 4B FF 9A 01 */ bl __ml__12CTransform4fCFRC9CVector3f /* 803190EC 0031604C C0 79 00 2C */ lfs f3, 0x2c(r25) /* 803190F0 00316050 38 61 00 50 */ addi r3, r1, 0x50 /* 803190F4 00316054 C0 41 00 98 */ lfs f2, 0x98(r1) /* 803190F8 00316058 38 81 02 04 */ addi r4, r1, 0x204 /* 803190FC 0031605C C0 21 00 9C */ lfs f1, 0x9c(r1) /* 80319100 00316060 38 A1 00 44 */ addi r5, r1, 0x44 /* 80319104 00316064 C0 01 00 94 */ lfs f0, 0x94(r1) /* 80319108 00316068 EC A3 00 B2 */ fmuls f5, f3, f2 /* 8031910C 0031606C EC 83 00 72 */ fmuls f4, f3, f1 /* 80319110 00316070 C0 59 00 08 */ lfs f2, 8(r25) /* 80319114 00316074 EC 63 00 32 */ fmuls f3, f3, f0 /* 80319118 00316078 C0 39 00 0C */ lfs f1, 0xc(r25) /* 8031911C 0031607C C0 19 00 04 */ lfs f0, 4(r25) /* 80319120 00316080 EC 42 28 2A */ fadds f2, f2, f5 /* 80319124 00316084 EC 21 20 2A */ fadds f1, f1, f4 /* 80319128 00316088 D0 61 00 38 */ stfs f3, 0x38(r1) /* 8031912C 0031608C EC 00 18 2A */ fadds f0, f0, f3 /* 80319130 00316090 C3 C1 00 5C */ lfs f30, 0x5c(r1) /* 80319134 00316094 D0 A1 00 3C */ stfs f5, 0x3c(r1) /* 80319138 00316098 C3 A1 00 60 */ lfs f29, 0x60(r1) /* 8031913C 0031609C D0 81 00 40 */ stfs f4, 0x40(r1) /* 80319140 003160A0 C3 81 00 64 */ lfs f28, 0x64(r1) /* 80319144 003160A4 D0 01 00 44 */ stfs f0, 0x44(r1) /* 80319148 003160A8 D0 41 00 48 */ stfs f2, 0x48(r1) /* 8031914C 003160AC D0 21 00 4C */ stfs f1, 0x4c(r1) /* 80319150 003160B0 4B FF 99 99 */ bl __ml__12CTransform4fCFRC9CVector3f /* 80319154 003160B4 28 1B 00 00 */ cmplwi r27, 0 /* 80319158 003160B8 C3 61 00 50 */ lfs f27, 0x50(r1) /* 8031915C 003160BC C3 41 00 54 */ lfs f26, 0x54(r1) /* 80319160 003160C0 C3 21 00 58 */ lfs f25, 0x58(r1) /* 80319164 003160C4 41 82 00 50 */ beq lbl_803191B4 /* 80319168 003160C8 80 19 00 34 */ lwz r0, 0x34(r25) /* 8031916C 003160CC 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80319170 003160D0 D3 C3 80 00 */ stfs f30, 0xCC008000@l(r3) /* 80319174 003160D4 D3 A3 80 00 */ stfs f29, 0xCC008000@l(r3) /* 80319178 003160D8 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031917C 003160DC 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 80319180 003160E0 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 80319184 003160E4 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319188 003160E8 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 8031918C 003160EC D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319190 003160F0 D3 63 80 00 */ stfs f27, 0xCC008000@l(r3) /* 80319194 003160F4 D3 43 80 00 */ stfs f26, 0xCC008000@l(r3) /* 80319198 003160F8 D3 23 80 00 */ stfs f25, 0xCC008000@l(r3) /* 8031919C 003160FC 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 803191A0 00316100 C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 803191A4 00316104 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 803191A8 00316108 C0 01 00 AC */ lfs f0, 0xac(r1) /* 803191AC 0031610C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 803191B0 00316110 48 00 00 A0 */ b lbl_80319250 lbl_803191B4: /* 803191B4 00316114 C0 39 00 30 */ lfs f1, 0x30(r25) /* 803191B8 00316118 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 803191BC 0031611C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 803191C0 00316120 40 80 00 0C */ bge lbl_803191CC /* 803191C4 00316124 FC 20 00 90 */ fmr f1, f0 /* 803191C8 00316128 48 00 00 14 */ b lbl_803191DC lbl_803191CC: /* 803191CC 0031612C C0 02 CA 00 */ lfs f0, lbl_805AE720@sda21(r2) /* 803191D0 00316130 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 803191D4 00316134 40 81 00 08 */ ble lbl_803191DC /* 803191D8 00316138 FC 20 00 90 */ fmr f1, f0 lbl_803191DC: /* 803191DC 0031613C C0 02 CA 04 */ lfs f0, lbl_805AE724@sda21(r2) /* 803191E0 00316140 EF E0 00 72 */ fmuls f31, f0, f1 /* 803191E4 00316144 F3 E1 A0 08 */ psq_st f31, 8(r1), 1, qr2 /* 803191E8 00316148 38 80 00 00 */ li r4, 0 /* 803191EC 0031614C 88 61 00 08 */ lbz r3, 8(r1) /* 803191F0 00316150 4B FE F2 C9 */ bl SetLineWidth__3CGXFUc12_GXTexOffset /* 803191F4 00316154 38 60 00 A8 */ li r3, 0xa8 /* 803191F8 00316158 38 80 00 00 */ li r4, 0 /* 803191FC 0031615C 38 A0 00 02 */ li r5, 2 /* 80319200 00316160 4B FE F3 85 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 80319204 00316164 80 19 00 34 */ lwz r0, 0x34(r25) /* 80319208 00316168 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8031920C 0031616C D3 C3 80 00 */ stfs f30, 0xCC008000@l(r3) /* 80319210 00316170 D3 A3 80 00 */ stfs f29, 0xCC008000@l(r3) /* 80319214 00316174 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 80319218 00316178 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 8031921C 0031617C C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 80319220 00316180 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319224 00316184 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 80319228 00316188 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031922C 0031618C D3 63 80 00 */ stfs f27, 0xCC008000@l(r3) /* 80319230 00316190 D3 43 80 00 */ stfs f26, 0xCC008000@l(r3) /* 80319234 00316194 D3 23 80 00 */ stfs f25, 0xCC008000@l(r3) /* 80319238 00316198 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 8031923C 0031619C C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 80319240 003161A0 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319244 003161A4 C0 01 00 AC */ lfs f0, 0xac(r1) /* 80319248 003161A8 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031924C 003161AC 4B FE F3 35 */ bl End__3CGXFv lbl_80319250: /* 80319250 003161B0 3B DE 00 38 */ addi r30, r30, 0x38 /* 80319254 003161B4 3B BD 00 01 */ addi r29, r29, 1 lbl_80319258: /* 80319258 003161B8 80 1C 00 34 */ lwz r0, 0x34(r28) /* 8031925C 003161BC 7C 1D 00 00 */ cmpw r29, r0 /* 80319260 003161C0 41 80 FD C8 */ blt lbl_80319028 /* 80319264 003161C4 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80319268 003161C8 41 82 00 08 */ beq lbl_80319270 /* 8031926C 003161CC 4B FE F3 15 */ bl End__3CGXFv lbl_80319270: /* 80319270 003161D0 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 80319274 003161D4 38 60 00 00 */ li r3, 0 /* 80319278 003161D8 4B FF 21 61 */ bl SetLineWidth__9CGraphicsFf13ERglTexOffset /* 8031927C 003161DC 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80319280 003161E0 38 80 FF FF */ li r4, -1 /* 80319284 003161E4 4B FF 93 81 */ bl __dt__13CGlobalRandomFv /* 80319288 003161E8 E3 E1 02 F8 */ psq_l f31, 760(r1), 0, qr0 /* 8031928C 003161EC CB E1 02 F0 */ lfd f31, 0x2f0(r1) /* 80319290 003161F0 E3 C1 02 E8 */ psq_l f30, 744(r1), 0, qr0 /* 80319294 003161F4 CB C1 02 E0 */ lfd f30, 0x2e0(r1) /* 80319298 003161F8 E3 A1 02 D8 */ psq_l f29, 728(r1), 0, qr0 /* 8031929C 003161FC CB A1 02 D0 */ lfd f29, 0x2d0(r1) /* 803192A0 00316200 E3 81 02 C8 */ psq_l f28, 712(r1), 0, qr0 /* 803192A4 00316204 CB 81 02 C0 */ lfd f28, 0x2c0(r1) /* 803192A8 00316208 E3 61 02 B8 */ psq_l f27, 696(r1), 0, qr0 /* 803192AC 0031620C CB 61 02 B0 */ lfd f27, 0x2b0(r1) /* 803192B0 00316210 E3 41 02 A8 */ psq_l f26, 680(r1), 0, qr0 /* 803192B4 00316214 CB 41 02 A0 */ lfd f26, 0x2a0(r1) /* 803192B8 00316218 E3 21 02 98 */ psq_l f25, 664(r1), 0, qr0 /* 803192BC 0031621C CB 21 02 90 */ lfd f25, 0x290(r1) /* 803192C0 00316220 BB 21 02 74 */ lmw r25, 0x274(r1) /* 803192C4 00316224 80 01 03 04 */ lwz r0, 0x304(r1) /* 803192C8 00316228 7C 08 03 A6 */ mtlr r0 /* 803192CC 0031622C 38 21 03 00 */ addi r1, r1, 0x300 /* 803192D0 00316230 4E 80 00 20 */ blr .global RenderParticlesIndirectTexture__11CElementGenFv RenderParticlesIndirectTexture__11CElementGenFv: /* 803192D4 00316234 94 21 FC 50 */ stwu r1, -0x3b0(r1) /* 803192D8 00316238 7C 08 02 A6 */ mflr r0 /* 803192DC 0031623C 90 01 03 B4 */ stw r0, 0x3b4(r1) /* 803192E0 00316240 DB E1 03 A0 */ stfd f31, 0x3a0(r1) /* 803192E4 00316244 F3 E1 03 A8 */ psq_st f31, 936(r1), 0, qr0 /* 803192E8 00316248 DB C1 03 90 */ stfd f30, 0x390(r1) /* 803192EC 0031624C F3 C1 03 98 */ psq_st f30, 920(r1), 0, qr0 /* 803192F0 00316250 DB A1 03 80 */ stfd f29, 0x380(r1) /* 803192F4 00316254 F3 A1 03 88 */ psq_st f29, 904(r1), 0, qr0 /* 803192F8 00316258 DB 81 03 70 */ stfd f28, 0x370(r1) /* 803192FC 0031625C F3 81 03 78 */ psq_st f28, 888(r1), 0, qr0 /* 80319300 00316260 DB 61 03 60 */ stfd f27, 0x360(r1) /* 80319304 00316264 F3 61 03 68 */ psq_st f27, 872(r1), 0, qr0 /* 80319308 00316268 DB 41 03 50 */ stfd f26, 0x350(r1) /* 8031930C 0031626C F3 41 03 58 */ psq_st f26, 856(r1), 0, qr0 /* 80319310 00316270 DB 21 03 40 */ stfd f25, 0x340(r1) /* 80319314 00316274 F3 21 03 48 */ psq_st f25, 840(r1), 0, qr0 /* 80319318 00316278 DB 01 03 30 */ stfd f24, 0x330(r1) /* 8031931C 0031627C F3 01 03 38 */ psq_st f24, 824(r1), 0, qr0 /* 80319320 00316280 DA E1 03 20 */ stfd f23, 0x320(r1) /* 80319324 00316284 F2 E1 03 28 */ psq_st f23, 808(r1), 0, qr0 /* 80319328 00316288 DA C1 03 10 */ stfd f22, 0x310(r1) /* 8031932C 0031628C F2 C1 03 18 */ psq_st f22, 792(r1), 0, qr0 /* 80319330 00316290 BD C1 02 C8 */ stmw r14, 0x2c8(r1) /* 80319334 00316294 7C 3F 0B 78 */ mr r31, r1 /* 80319338 00316298 3C 80 80 5A */ lis r4, mViewMatrix__9CGraphics@ha /* 8031933C 0031629C 7C 7E 1B 78 */ mr r30, r3 /* 80319340 003162A0 38 84 61 D4 */ addi r4, r4, mViewMatrix__9CGraphics@l /* 80319344 003162A4 38 7F 02 8C */ addi r3, r31, 0x28c /* 80319348 003162A8 4B FF 98 2D */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031934C 003162AC 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 80319350 003162B0 38 7F 01 FC */ addi r3, r31, 0x1fc /* 80319354 003162B4 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l /* 80319358 003162B8 38 9F 02 8C */ addi r4, r31, 0x28c /* 8031935C 003162BC C0 45 00 00 */ lfs f2, 0(r5) /* 80319360 003162C0 C0 25 00 04 */ lfs f1, 4(r5) /* 80319364 003162C4 C0 05 00 08 */ lfs f0, 8(r5) /* 80319368 003162C8 D0 5F 02 98 */ stfs f2, 0x298(r31) /* 8031936C 003162CC D0 3F 02 A8 */ stfs f1, 0x2a8(r31) /* 80319370 003162D0 D0 1F 02 B8 */ stfs f0, 0x2b8(r31) /* 80319374 003162D4 4B FF 99 29 */ bl GetQuickInverse__12CTransform4fCFv /* 80319378 003162D8 38 7F 02 2C */ addi r3, r31, 0x22c /* 8031937C 003162DC 38 9F 01 FC */ addi r4, r31, 0x1fc /* 80319380 003162E0 38 BE 02 2C */ addi r5, r30, 0x22c /* 80319384 003162E4 4B FF 95 CD */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80319388 003162E8 38 7F 02 5C */ addi r3, r31, 0x25c /* 8031938C 003162EC 38 9F 02 2C */ addi r4, r31, 0x22c /* 80319390 003162F0 4B FF 97 E5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80319394 003162F4 38 7F 01 3C */ addi r3, r31, 0x13c /* 80319398 003162F8 38 9E 00 E8 */ addi r4, r30, 0xe8 /* 8031939C 003162FC 4B FF 9D A5 */ bl Translate__12CTransform4fFRC9CVector3f /* 803193A0 00316300 38 7F 01 6C */ addi r3, r31, 0x16c /* 803193A4 00316304 38 9F 01 3C */ addi r4, r31, 0x13c /* 803193A8 00316308 38 BE 01 0C */ addi r5, r30, 0x10c /* 803193AC 0031630C 4B FF 95 A5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 803193B0 00316310 38 7F 01 9C */ addi r3, r31, 0x19c /* 803193B4 00316314 38 9F 01 6C */ addi r4, r31, 0x16c /* 803193B8 00316318 38 BF 02 8C */ addi r5, r31, 0x28c /* 803193BC 0031631C 4B FF 95 95 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 803193C0 00316320 38 7F 01 CC */ addi r3, r31, 0x1cc /* 803193C4 00316324 38 9F 01 9C */ addi r4, r31, 0x19c /* 803193C8 00316328 38 BE 01 78 */ addi r5, r30, 0x178 /* 803193CC 0031632C 4B FF 95 85 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 803193D0 00316330 38 7F 02 8C */ addi r3, r31, 0x28c /* 803193D4 00316334 38 9F 01 CC */ addi r4, r31, 0x1cc /* 803193D8 00316338 4B FF 97 69 */ bl __as__12CTransform4fFRC12CTransform4f /* 803193DC 0031633C 38 7F 02 8C */ addi r3, r31, 0x28c /* 803193E0 00316340 4B FF 32 01 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f /* 803193E4 00316344 38 60 00 07 */ li r3, 7 /* 803193E8 00316348 38 80 00 00 */ li r4, 0 /* 803193EC 0031634C 38 A0 00 00 */ li r5, 0 /* 803193F0 00316350 38 C0 00 07 */ li r6, 7 /* 803193F4 00316354 38 E0 00 00 */ li r7, 0 /* 803193F8 00316358 4B FE F4 1D */ bl SetAlphaCompare__3CGXF10_GXCompareUc10_GXAlphaOp10_GXCompareUc /* 803193FC 0031635C 88 7E 02 6C */ lbz r3, 0x26c(r30) /* 80319400 00316360 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 80319404 00316364 41 82 00 2C */ beq lbl_80319430 /* 80319408 00316368 38 60 00 01 */ li r3, 1 /* 8031940C 0031636C 38 80 00 03 */ li r4, 3 /* 80319410 00316370 38 A0 00 00 */ li r5, 0 /* 80319414 00316374 4B FE F4 69 */ bl SetZMode__3CGXFUi10_GXCompareUi /* 80319418 00316378 38 60 00 01 */ li r3, 1 /* 8031941C 0031637C 38 80 00 04 */ li r4, 4 /* 80319420 00316380 38 A0 00 01 */ li r5, 1 /* 80319424 00316384 38 C0 00 00 */ li r6, 0 /* 80319428 00316388 4B FE F4 A9 */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp /* 8031942C 0031638C 48 00 00 28 */ b lbl_80319454 lbl_80319430: /* 80319430 00316390 54 65 E7 FE */ rlwinm r5, r3, 0x1c, 0x1f, 0x1f /* 80319434 00316394 38 60 00 01 */ li r3, 1 /* 80319438 00316398 38 80 00 03 */ li r4, 3 /* 8031943C 0031639C 4B FE F4 41 */ bl SetZMode__3CGXFUi10_GXCompareUi /* 80319440 003163A0 38 60 00 01 */ li r3, 1 /* 80319444 003163A4 38 80 00 04 */ li r4, 4 /* 80319448 003163A8 38 A0 00 05 */ li r5, 5 /* 8031944C 003163AC 38 C0 00 00 */ li r6, 0 /* 80319450 003163B0 4B FE F4 81 */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp lbl_80319454: /* 80319454 003163B4 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 80319458 003163B8 38 7F 00 D0 */ addi r3, r31, 0xd0 /* 8031945C 003163BC C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 80319460 003163C0 D0 3F 00 EC */ stfs f1, 0xec(r31) /* 80319464 003163C4 D0 1F 00 F4 */ stfs f0, 0xf4(r31) /* 80319468 003163C8 D0 3F 00 F0 */ stfs f1, 0xf0(r31) /* 8031946C 003163CC D0 1F 00 F8 */ stfs f0, 0xf8(r31) /* 80319470 003163D0 D0 3F 00 DC */ stfs f1, 0xdc(r31) /* 80319474 003163D4 D0 1F 00 E4 */ stfs f0, 0xe4(r31) /* 80319478 003163D8 D0 3F 00 E0 */ stfs f1, 0xe0(r31) /* 8031947C 003163DC D0 1F 00 E8 */ stfs f0, 0xe8(r31) /* 80319480 003163E0 80 9E 00 28 */ lwz r4, 0x28(r30) /* 80319484 003163E4 80 BE 00 3C */ lwz r5, 0x3c(r30) /* 80319488 003163E8 80 84 00 40 */ lwz r4, 0x40(r4) /* 8031948C 003163EC 80 A5 00 28 */ lwz r5, 0x28(r5) /* 80319490 003163F0 81 84 00 00 */ lwz r12, 0(r4) /* 80319494 003163F4 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319498 003163F8 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031949C 003163FC 7C A5 00 50 */ subf r5, r5, r0 /* 803194A0 00316400 7D 89 03 A6 */ mtctr r12 /* 803194A4 00316404 4E 80 04 21 */ bctrl /* 803194A8 00316408 38 7F 00 2C */ addi r3, r31, 0x2c /* 803194AC 0031640C 38 9F 00 D0 */ addi r4, r31, 0xd0 /* 803194B0 00316410 48 02 79 F9 */ bl __ct__6CTokenFRC6CToken /* 803194B4 00316414 38 7F 00 D0 */ addi r3, r31, 0xd0 /* 803194B8 00316418 38 80 00 00 */ li r4, 0 /* 803194BC 0031641C 48 02 79 85 */ bl __dt__6CTokenFv /* 803194C0 00316420 38 7F 00 2C */ addi r3, r31, 0x2c /* 803194C4 00316424 48 02 79 49 */ bl GetObj__6CTokenFv /* 803194C8 00316428 80 63 00 04 */ lwz r3, 4(r3) /* 803194CC 0031642C 38 80 00 00 */ li r4, 0 /* 803194D0 00316430 38 A0 00 01 */ li r5, 1 /* 803194D4 00316434 4B FF 62 69 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 803194D8 00316438 38 7F 00 2C */ addi r3, r31, 0x2c /* 803194DC 0031643C 48 02 79 31 */ bl GetObj__6CTokenFv /* 803194E0 00316440 80 9E 00 28 */ lwz r4, 0x28(r30) /* 803194E4 00316444 82 63 00 04 */ lwz r19, 4(r3) /* 803194E8 00316448 80 64 00 40 */ lwz r3, 0x40(r4) /* 803194EC 0031644C 81 83 00 00 */ lwz r12, 0(r3) /* 803194F0 00316450 81 8C 00 14 */ lwz r12, 0x14(r12) /* 803194F4 00316454 7D 89 03 A6 */ mtctr r12 /* 803194F8 00316458 4E 80 04 21 */ bctrl /* 803194FC 0031645C 80 DE 00 28 */ lwz r6, 0x28(r30) /* 80319500 00316460 7C 74 1B 78 */ mr r20, r3 /* 80319504 00316464 80 9E 00 3C */ lwz r4, 0x3c(r30) /* 80319508 00316468 38 BF 00 EC */ addi r5, r31, 0xec /* 8031950C 0031646C 80 66 00 40 */ lwz r3, 0x40(r6) /* 80319510 00316470 80 84 00 28 */ lwz r4, 0x28(r4) /* 80319514 00316474 81 83 00 00 */ lwz r12, 0(r3) /* 80319518 00316478 80 1E 00 74 */ lwz r0, 0x74(r30) /* 8031951C 0031647C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80319520 00316480 7C 84 00 50 */ subf r4, r4, r0 /* 80319524 00316484 7D 89 03 A6 */ mtctr r12 /* 80319528 00316488 4E 80 04 21 */ bctrl /* 8031952C 0031648C 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80319530 00316490 80 63 00 40 */ lwz r3, 0x40(r3) /* 80319534 00316494 81 83 00 00 */ lwz r12, 0(r3) /* 80319538 00316498 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031953C 0031649C 7D 89 03 A6 */ mtctr r12 /* 80319540 003164A0 4E 80 04 21 */ bctrl /* 80319544 003164A4 80 9E 00 28 */ lwz r4, 0x28(r30) /* 80319548 003164A8 7C 70 1B 78 */ mr r16, r3 /* 8031954C 003164AC 80 BE 00 3C */ lwz r5, 0x3c(r30) /* 80319550 003164B0 38 7F 00 C4 */ addi r3, r31, 0xc4 /* 80319554 003164B4 80 84 00 44 */ lwz r4, 0x44(r4) /* 80319558 003164B8 80 A5 00 28 */ lwz r5, 0x28(r5) /* 8031955C 003164BC 81 84 00 00 */ lwz r12, 0(r4) /* 80319560 003164C0 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319564 003164C4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80319568 003164C8 7C A5 00 50 */ subf r5, r5, r0 /* 8031956C 003164CC 7D 89 03 A6 */ mtctr r12 /* 80319570 003164D0 4E 80 04 21 */ bctrl /* 80319574 003164D4 38 7F 00 24 */ addi r3, r31, 0x24 /* 80319578 003164D8 38 9F 00 C4 */ addi r4, r31, 0xc4 /* 8031957C 003164DC 48 02 79 2D */ bl __ct__6CTokenFRC6CToken /* 80319580 003164E0 38 7F 00 C4 */ addi r3, r31, 0xc4 /* 80319584 003164E4 38 80 00 00 */ li r4, 0 /* 80319588 003164E8 48 02 78 B9 */ bl __dt__6CTokenFv /* 8031958C 003164EC 38 7F 00 24 */ addi r3, r31, 0x24 /* 80319590 003164F0 48 02 78 7D */ bl GetObj__6CTokenFv /* 80319594 003164F4 80 63 00 04 */ lwz r3, 4(r3) /* 80319598 003164F8 38 80 00 02 */ li r4, 2 /* 8031959C 003164FC 38 A0 00 01 */ li r5, 1 /* 803195A0 00316500 4B FF 61 9D */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 803195A4 00316504 38 7F 00 24 */ addi r3, r31, 0x24 /* 803195A8 00316508 48 02 78 65 */ bl GetObj__6CTokenFv /* 803195AC 0031650C 80 9E 00 28 */ lwz r4, 0x28(r30) /* 803195B0 00316510 82 43 00 04 */ lwz r18, 4(r3) /* 803195B4 00316514 80 64 00 44 */ lwz r3, 0x44(r4) /* 803195B8 00316518 81 83 00 00 */ lwz r12, 0(r3) /* 803195BC 0031651C 81 8C 00 14 */ lwz r12, 0x14(r12) /* 803195C0 00316520 7D 89 03 A6 */ mtctr r12 /* 803195C4 00316524 4E 80 04 21 */ bctrl /* 803195C8 00316528 80 9E 00 28 */ lwz r4, 0x28(r30) /* 803195CC 0031652C 7C 6F 1B 78 */ mr r15, r3 /* 803195D0 00316530 80 64 00 44 */ lwz r3, 0x44(r4) /* 803195D4 00316534 81 83 00 00 */ lwz r12, 0(r3) /* 803195D8 00316538 81 8C 00 18 */ lwz r12, 0x18(r12) /* 803195DC 0031653C 7D 89 03 A6 */ mtctr r12 /* 803195E0 00316540 4E 80 04 21 */ bctrl /* 803195E4 00316544 80 DE 00 28 */ lwz r6, 0x28(r30) /* 803195E8 00316548 7C 6E 1B 78 */ mr r14, r3 /* 803195EC 0031654C 80 9E 00 3C */ lwz r4, 0x3c(r30) /* 803195F0 00316550 38 BF 00 DC */ addi r5, r31, 0xdc /* 803195F4 00316554 80 66 00 44 */ lwz r3, 0x44(r6) /* 803195F8 00316558 80 84 00 28 */ lwz r4, 0x28(r4) /* 803195FC 0031655C 81 83 00 00 */ lwz r12, 0(r3) /* 80319600 00316560 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319604 00316564 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80319608 00316568 7C 84 00 50 */ subf r4, r4, r0 /* 8031960C 0031656C 7D 89 03 A6 */ mtctr r12 /* 80319610 00316570 4E 80 04 21 */ bctrl /* 80319614 00316574 38 60 00 03 */ li r3, 3 /* 80319618 00316578 4B FE F7 FD */ bl SetNumTexGens__3CGXFUc /* 8031961C 0031657C 38 60 00 00 */ li r3, 0 /* 80319620 00316580 38 80 00 01 */ li r4, 1 /* 80319624 00316584 38 A0 00 04 */ li r5, 4 /* 80319628 00316588 38 C0 00 3C */ li r6, 0x3c /* 8031962C 0031658C 38 E0 00 00 */ li r7, 0 /* 80319630 00316590 39 00 00 7D */ li r8, 0x7d /* 80319634 00316594 4B FE F0 99 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 80319638 00316598 38 60 00 01 */ li r3, 1 /* 8031963C 0031659C 38 80 00 01 */ li r4, 1 /* 80319640 003165A0 38 A0 00 05 */ li r5, 5 /* 80319644 003165A4 38 C0 00 3C */ li r6, 0x3c /* 80319648 003165A8 38 E0 00 00 */ li r7, 0 /* 8031964C 003165AC 39 00 00 7D */ li r8, 0x7d /* 80319650 003165B0 4B FE F0 7D */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 80319654 003165B4 38 60 00 02 */ li r3, 2 /* 80319658 003165B8 38 80 00 01 */ li r4, 1 /* 8031965C 003165BC 38 A0 00 06 */ li r5, 6 /* 80319660 003165C0 38 C0 00 3C */ li r6, 0x3c /* 80319664 003165C4 38 E0 00 00 */ li r7, 0 /* 80319668 003165C8 39 00 00 7D */ li r8, 0x7d /* 8031966C 003165CC 4B FE F0 61 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 80319670 003165D0 3C 60 80 3D */ lis r3, lbl_803D7888@ha /* 80319674 003165D4 38 9F 00 FC */ addi r4, r31, 0xfc /* 80319678 003165D8 39 63 78 88 */ addi r11, r3, lbl_803D7888@l /* 8031967C 003165DC 38 60 00 01 */ li r3, 1 /* 80319680 003165E0 81 4B 00 00 */ lwz r10, 0(r11) /* 80319684 003165E4 38 A0 00 01 */ li r5, 1 /* 80319688 003165E8 81 2B 00 04 */ lwz r9, 4(r11) /* 8031968C 003165EC 81 0B 00 08 */ lwz r8, 8(r11) /* 80319690 003165F0 80 EB 00 0C */ lwz r7, 0xc(r11) /* 80319694 003165F4 80 CB 00 10 */ lwz r6, 0x10(r11) /* 80319698 003165F8 80 0B 00 14 */ lwz r0, 0x14(r11) /* 8031969C 003165FC 91 5F 00 FC */ stw r10, 0xfc(r31) /* 803196A0 00316600 91 3F 01 00 */ stw r9, 0x100(r31) /* 803196A4 00316604 91 1F 01 04 */ stw r8, 0x104(r31) /* 803196A8 00316608 90 FF 01 08 */ stw r7, 0x108(r31) /* 803196AC 0031660C 90 DF 01 0C */ stw r6, 0x10c(r31) /* 803196B0 00316610 90 1F 01 10 */ stw r0, 0x110(r31) /* 803196B4 00316614 48 06 18 15 */ bl GXSetIndTexMtx /* 803196B8 00316618 38 60 00 00 */ li r3, 0 /* 803196BC 0031661C 38 80 00 02 */ li r4, 2 /* 803196C0 00316620 38 A0 00 02 */ li r5, 2 /* 803196C4 00316624 48 06 1A E1 */ bl GXSetIndTexOrder /* 803196C8 00316628 38 00 00 00 */ li r0, 0 /* 803196CC 0031662C 38 60 00 01 */ li r3, 1 /* 803196D0 00316630 90 01 00 08 */ stw r0, 8(r1) /* 803196D4 00316634 38 80 00 00 */ li r4, 0 /* 803196D8 00316638 38 A0 00 00 */ li r5, 0 /* 803196DC 0031663C 38 C0 00 07 */ li r6, 7 /* 803196E0 00316640 90 01 00 0C */ stw r0, 0xc(r1) /* 803196E4 00316644 38 E0 00 01 */ li r7, 1 /* 803196E8 00316648 39 00 00 00 */ li r8, 0 /* 803196EC 0031664C 39 20 00 00 */ li r9, 0 /* 803196F0 00316650 39 40 00 00 */ li r10, 0 /* 803196F4 00316654 4B FE F0 99 */ bl SetTevIndirect__3CGXF13_GXTevStageID16_GXIndTexStageID15_GXIndTexFormat16_GXIndTexBiasSel14_GXIndTexMtxID13_GXIndTexWrap13_GXIndTexWrapUcUc17_GXIndTexAlphaSel /* 803196F8 00316658 38 60 00 01 */ li r3, 1 /* 803196FC 0031665C 4B FE EF 95 */ bl SetNumIndStages__3CGXFUc /* 80319700 00316660 38 60 00 00 */ li r3, 0 /* 80319704 00316664 38 80 00 00 */ li r4, 0 /* 80319708 00316668 38 A0 00 00 */ li r5, 0 /* 8031970C 0031666C 38 C0 00 04 */ li r6, 4 /* 80319710 00316670 4B FE F2 3D */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 80319714 00316674 80 A2 C7 A8 */ lwz r5, kSpareBufferTexMapID__9CGraphics@sda21(r2) /* 80319718 00316678 38 60 00 01 */ li r3, 1 /* 8031971C 0031667C 38 80 00 01 */ li r4, 1 /* 80319720 00316680 38 C0 00 04 */ li r6, 4 /* 80319724 00316684 4B FE F2 29 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 80319728 00316688 38 60 00 02 */ li r3, 2 /* 8031972C 0031668C 4B FE F5 65 */ bl SetNumTevStages__3CGXFUc /* 80319730 00316690 38 60 00 00 */ li r3, 0 /* 80319734 00316694 38 80 00 00 */ li r4, 0 /* 80319738 00316698 4B FE F2 65 */ bl SetTevKAlphaSel__3CGXF13_GXTevStageID15_GXTevKAlphaSel /* 8031973C 0031669C 38 60 00 01 */ li r3, 1 /* 80319740 003166A0 38 80 00 00 */ li r4, 0 /* 80319744 003166A4 4B FE F2 59 */ bl SetTevKAlphaSel__3CGXF13_GXTevStageID15_GXTevKAlphaSel /* 80319748 003166A8 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031974C 003166AC 88 03 00 32 */ lbz r0, 0x32(r3) /* 80319750 003166B0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80319754 003166B4 40 82 00 38 */ bne lbl_8031978C /* 80319758 003166B8 38 60 00 00 */ li r3, 0 /* 8031975C 003166BC 38 80 00 0F */ li r4, 0xf /* 80319760 003166C0 38 A0 00 08 */ li r5, 8 /* 80319764 003166C4 38 C0 00 0C */ li r6, 0xc /* 80319768 003166C8 38 E0 00 0F */ li r7, 0xf /* 8031976C 003166CC 4B FE F4 81 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 80319770 003166D0 38 60 00 01 */ li r3, 1 /* 80319774 003166D4 38 80 00 0F */ li r4, 0xf /* 80319778 003166D8 38 A0 00 08 */ li r5, 8 /* 8031977C 003166DC 38 C0 00 0A */ li r6, 0xa /* 80319780 003166E0 38 E0 00 00 */ li r7, 0 /* 80319784 003166E4 4B FE F4 69 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 80319788 003166E8 48 00 00 34 */ b lbl_803197BC lbl_8031978C: /* 8031978C 003166EC 38 60 00 00 */ li r3, 0 /* 80319790 003166F0 38 80 00 0F */ li r4, 0xf /* 80319794 003166F4 38 A0 00 08 */ li r5, 8 /* 80319798 003166F8 38 C0 00 0A */ li r6, 0xa /* 8031979C 003166FC 38 E0 00 0F */ li r7, 0xf /* 803197A0 00316700 4B FE F4 4D */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 803197A4 00316704 38 60 00 01 */ li r3, 1 /* 803197A8 00316708 38 80 00 0F */ li r4, 0xf /* 803197AC 0031670C 38 A0 00 08 */ li r5, 8 /* 803197B0 00316710 38 C0 00 00 */ li r6, 0 /* 803197B4 00316714 38 E0 00 0F */ li r7, 0xf /* 803197B8 00316718 4B FE F4 35 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg lbl_803197BC: /* 803197BC 0031671C 38 60 00 00 */ li r3, 0 /* 803197C0 00316720 38 80 00 07 */ li r4, 7 /* 803197C4 00316724 38 A0 00 04 */ li r5, 4 /* 803197C8 00316728 38 C0 00 06 */ li r6, 6 /* 803197CC 0031672C 38 E0 00 07 */ li r7, 7 /* 803197D0 00316730 4B FE F3 C5 */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg /* 803197D4 00316734 38 60 00 00 */ li r3, 0 /* 803197D8 00316738 4B FE E4 79 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID /* 803197DC 0031673C 38 60 00 01 */ li r3, 1 /* 803197E0 00316740 4B FE E4 71 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID /* 803197E4 00316744 38 60 00 01 */ li r3, 1 /* 803197E8 00316748 38 80 00 07 */ li r4, 7 /* 803197EC 0031674C 38 A0 00 00 */ li r5, 0 /* 803197F0 00316750 38 C0 00 05 */ li r6, 5 /* 803197F4 00316754 38 E0 00 07 */ li r7, 7 /* 803197F8 00316758 4B FE F3 9D */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg /* 803197FC 0031675C 38 60 00 01 */ li r3, 1 /* 80319800 00316760 38 80 00 04 */ li r4, 4 /* 80319804 00316764 38 A0 00 05 */ li r5, 5 /* 80319808 00316768 38 C0 00 00 */ li r6, 0 /* 8031980C 0031676C 4B FE F0 C5 */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp /* 80319810 00316770 38 60 00 01 */ li r3, 1 /* 80319814 00316774 4B FE F6 3D */ bl SetNumChans__3CGXFUc /* 80319818 00316778 38 60 00 00 */ li r3, 0 /* 8031981C 0031677C 38 80 00 00 */ li r4, 0 /* 80319820 00316780 38 A0 00 00 */ li r5, 0 /* 80319824 00316784 38 C0 00 01 */ li r6, 1 /* 80319828 00316788 38 E0 00 00 */ li r7, 0 /* 8031982C 0031678C 39 00 00 00 */ li r8, 0 /* 80319830 00316790 39 20 00 02 */ li r9, 2 /* 80319834 00316794 4B FE F4 99 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 80319838 00316798 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031983C 0031679C 3A A0 00 00 */ li r21, 0 /* 80319840 003167A0 83 5E 00 34 */ lwz r26, 0x34(r30) /* 80319844 003167A4 88 03 00 30 */ lbz r0, 0x30(r3) /* 80319848 003167A8 54 11 EF FF */ rlwinm. r17, r0, 0x1d, 0x1f, 0x1f /* 8031984C 003167AC 41 82 00 F4 */ beq lbl_80319940 /* 80319850 003167B0 57 43 20 36 */ slwi r3, r26, 4 /* 80319854 003167B4 80 01 00 00 */ lwz r0, 0(r1) /* 80319858 003167B8 7E A3 00 D0 */ neg r21, r3 /* 8031985C 003167BC 56 B5 00 38 */ rlwinm r21, r21, 0, 0, 0x1c /* 80319860 003167C0 7C 01 A9 6E */ stwux r0, r1, r21 /* 80319864 003167C4 3B 00 00 00 */ li r24, 0 /* 80319868 003167C8 3A C0 00 00 */ li r22, 0 /* 8031986C 003167CC 3A A1 00 10 */ addi r21, r1, 0x10 /* 80319870 003167D0 7E B7 AB 78 */ mr r23, r21 /* 80319874 003167D4 48 00 00 A8 */ b lbl_8031991C lbl_80319878: /* 80319878 003167D8 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8031987C 003167DC 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 80319880 003167E0 C0 FE 00 80 */ lfs f7, 0x80(r30) /* 80319884 003167E4 38 9F 02 5C */ addi r4, r31, 0x25c /* 80319888 003167E8 7C C0 B2 14 */ add r6, r0, r22 /* 8031988C 003167EC 38 BF 00 AC */ addi r5, r31, 0xac /* 80319890 003167F0 C0 06 00 08 */ lfs f0, 8(r6) /* 80319894 003167F4 C0 86 00 14 */ lfs f4, 0x14(r6) /* 80319898 003167F8 C0 26 00 0C */ lfs f1, 0xc(r6) /* 8031989C 003167FC EC A0 20 28 */ fsubs f5, f0, f4 /* 803198A0 00316800 C0 66 00 18 */ lfs f3, 0x18(r6) /* 803198A4 00316804 C0 06 00 04 */ lfs f0, 4(r6) /* 803198A8 00316808 EC 21 18 28 */ fsubs f1, f1, f3 /* 803198AC 0031680C C0 46 00 10 */ lfs f2, 0x10(r6) /* 803198B0 00316810 EC C7 01 72 */ fmuls f6, f7, f5 /* 803198B4 00316814 EC 00 10 28 */ fsubs f0, f0, f2 /* 803198B8 00316818 D0 BF 00 98 */ stfs f5, 0x98(r31) /* 803198BC 0031681C EC A7 00 72 */ fmuls f5, f7, f1 /* 803198C0 00316820 EC 86 20 2A */ fadds f4, f6, f4 /* 803198C4 00316824 D0 3F 00 9C */ stfs f1, 0x9c(r31) /* 803198C8 00316828 EC 27 00 32 */ fmuls f1, f7, f0 /* 803198CC 0031682C EC 65 18 2A */ fadds f3, f5, f3 /* 803198D0 00316830 D0 1F 00 94 */ stfs f0, 0x94(r31) /* 803198D4 00316834 EC 01 10 2A */ fadds f0, f1, f2 /* 803198D8 00316838 D0 3F 00 A0 */ stfs f1, 0xa0(r31) /* 803198DC 0031683C D0 DF 00 A4 */ stfs f6, 0xa4(r31) /* 803198E0 00316840 D0 BF 00 A8 */ stfs f5, 0xa8(r31) /* 803198E4 00316844 D0 1F 00 AC */ stfs f0, 0xac(r31) /* 803198E8 00316848 D0 9F 00 B0 */ stfs f4, 0xb0(r31) /* 803198EC 0031684C D0 7F 00 B4 */ stfs f3, 0xb4(r31) /* 803198F0 00316850 4B FF 91 F9 */ bl __ml__12CTransform4fCFRC9CVector3f /* 803198F4 00316854 C0 1F 00 B8 */ lfs f0, 0xb8(r31) /* 803198F8 00316858 3A D6 00 38 */ addi r22, r22, 0x38 /* 803198FC 0031685C D0 17 00 04 */ stfs f0, 4(r23) /* 80319900 00316860 C0 1F 00 BC */ lfs f0, 0xbc(r31) /* 80319904 00316864 D0 17 00 08 */ stfs f0, 8(r23) /* 80319908 00316868 C0 1F 00 C0 */ lfs f0, 0xc0(r31) /* 8031990C 0031686C D0 17 00 0C */ stfs f0, 0xc(r23) /* 80319910 00316870 B3 17 00 00 */ sth r24, 0(r23) /* 80319914 00316874 3A F7 00 10 */ addi r23, r23, 0x10 /* 80319918 00316878 3B 18 00 01 */ addi r24, r24, 1 lbl_8031991C: /* 8031991C 0031687C 7C 18 D0 00 */ cmpw r24, r26 /* 80319920 00316880 41 80 FF 58 */ blt lbl_80319878 /* 80319924 00316884 88 8D A8 C4 */ lbz r4, lbl_805A9484@sda21(r13) /* 80319928 00316888 57 40 20 36 */ slwi r0, r26, 4 /* 8031992C 0031688C 7E A3 AB 78 */ mr r3, r21 /* 80319930 00316890 38 BF 00 10 */ addi r5, r31, 0x10 /* 80319934 00316894 98 9F 00 10 */ stb r4, 0x10(r31) /* 80319938 00316898 7C 95 02 14 */ add r4, r21, r0 /* 8031993C 0031689C 48 00 67 A9 */ bl sub_803200e4 lbl_80319940: /* 80319940 003168A0 3C 60 80 3D */ lis r3, lbl_803D78A0@ha /* 80319944 003168A4 38 63 78 A0 */ addi r3, r3, lbl_803D78A0@l /* 80319948 003168A8 4B FE E4 E1 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList /* 8031994C 003168AC C3 E2 C9 F8 */ lfs f31, lbl_805AE718@sda21(r2) /* 80319950 003168B0 56 9B 06 3E */ clrlwi r27, r20, 0x18 /* 80319954 003168B4 56 1D 06 3E */ clrlwi r29, r16, 0x18 /* 80319958 003168B8 55 FC 06 3E */ clrlwi r28, r15, 0x18 /* 8031995C 003168BC 55 CE 06 3E */ clrlwi r14, r14, 0x18 /* 80319960 003168C0 3A 00 00 00 */ li r16, 0 /* 80319964 003168C4 3A 80 00 00 */ li r20, 0 /* 80319968 003168C8 48 00 04 38 */ b lbl_80319DA0 lbl_8031996C: /* 8031996C 003168CC 28 11 00 00 */ cmplwi r17, 0 /* 80319970 003168D0 41 82 00 18 */ beq lbl_80319988 /* 80319974 003168D4 A0 15 00 00 */ lhz r0, 0(r21) /* 80319978 003168D8 80 7E 00 3C */ lwz r3, 0x3c(r30) /* 8031997C 003168DC 1C 00 00 38 */ mulli r0, r0, 0x38 /* 80319980 003168E0 7F 23 02 14 */ add r25, r3, r0 /* 80319984 003168E4 48 00 00 0C */ b lbl_80319990 lbl_80319988: /* 80319988 003168E8 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8031998C 003168EC 7F 20 A2 14 */ add r25, r0, r20 lbl_80319990: /* 80319990 003168F0 C0 59 00 08 */ lfs f2, 8(r25) /* 80319994 003168F4 38 7F 00 88 */ addi r3, r31, 0x88 /* 80319998 003168F8 C0 39 00 14 */ lfs f1, 0x14(r25) /* 8031999C 003168FC 38 9F 02 5C */ addi r4, r31, 0x25c /* 803199A0 00316900 C0 19 00 0C */ lfs f0, 0xc(r25) /* 803199A4 00316904 38 BF 00 7C */ addi r5, r31, 0x7c /* 803199A8 00316908 C0 79 00 18 */ lfs f3, 0x18(r25) /* 803199AC 0031690C EC A2 08 28 */ fsubs f5, f2, f1 /* 803199B0 00316910 C0 FE 00 80 */ lfs f7, 0x80(r30) /* 803199B4 00316914 EC 80 18 28 */ fsubs f4, f0, f3 /* 803199B8 00316918 C0 19 00 04 */ lfs f0, 4(r25) /* 803199BC 0031691C EC C7 01 72 */ fmuls f6, f7, f5 /* 803199C0 00316920 C0 59 00 10 */ lfs f2, 0x10(r25) /* 803199C4 00316924 D0 BF 00 68 */ stfs f5, 0x68(r31) /* 803199C8 00316928 EC 00 10 28 */ fsubs f0, f0, f2 /* 803199CC 0031692C EC A7 01 32 */ fmuls f5, f7, f4 /* 803199D0 00316930 D0 9F 00 6C */ stfs f4, 0x6c(r31) /* 803199D4 00316934 EC 86 08 2A */ fadds f4, f6, f1 /* 803199D8 00316938 EC 27 00 32 */ fmuls f1, f7, f0 /* 803199DC 0031693C D0 1F 00 64 */ stfs f0, 0x64(r31) /* 803199E0 00316940 EC 65 18 2A */ fadds f3, f5, f3 /* 803199E4 00316944 D0 DF 00 74 */ stfs f6, 0x74(r31) /* 803199E8 00316948 EC 01 10 2A */ fadds f0, f1, f2 /* 803199EC 0031694C D0 3F 00 70 */ stfs f1, 0x70(r31) /* 803199F0 00316950 D0 BF 00 78 */ stfs f5, 0x78(r31) /* 803199F4 00316954 D0 1F 00 7C */ stfs f0, 0x7c(r31) /* 803199F8 00316958 D0 9F 00 80 */ stfs f4, 0x80(r31) /* 803199FC 0031695C D0 7F 00 84 */ stfs f3, 0x84(r31) /* 80319A00 00316960 4B FF 90 E9 */ bl __ml__12CTransform4fCFRC9CVector3f /* 80319A04 00316964 28 1B 00 00 */ cmplwi r27, 0 /* 80319A08 00316968 C3 DF 00 88 */ lfs f30, 0x88(r31) /* 80319A0C 0031696C C3 BF 00 8C */ lfs f29, 0x8c(r31) /* 80319A10 00316970 C3 9F 00 90 */ lfs f28, 0x90(r31) /* 80319A14 00316974 40 82 00 88 */ bne lbl_80319A9C /* 80319A18 00316978 80 9E 00 28 */ lwz r4, 0x28(r30) /* 80319A1C 0031697C 38 7F 00 58 */ addi r3, r31, 0x58 /* 80319A20 00316980 80 B9 00 28 */ lwz r5, 0x28(r25) /* 80319A24 00316984 80 84 00 40 */ lwz r4, 0x40(r4) /* 80319A28 00316988 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319A2C 0031698C 81 84 00 00 */ lwz r12, 0(r4) /* 80319A30 00316990 7C A5 00 50 */ subf r5, r5, r0 /* 80319A34 00316994 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80319A38 00316998 7D 89 03 A6 */ mtctr r12 /* 80319A3C 0031699C 4E 80 04 21 */ bctrl /* 80319A40 003169A0 38 7F 00 1C */ addi r3, r31, 0x1c /* 80319A44 003169A4 38 9F 00 58 */ addi r4, r31, 0x58 /* 80319A48 003169A8 48 02 74 61 */ bl __ct__6CTokenFRC6CToken /* 80319A4C 003169AC 38 7F 00 58 */ addi r3, r31, 0x58 /* 80319A50 003169B0 38 80 00 00 */ li r4, 0 /* 80319A54 003169B4 48 02 73 ED */ bl __dt__6CTokenFv /* 80319A58 003169B8 38 7F 00 1C */ addi r3, r31, 0x1c /* 80319A5C 003169BC 48 02 73 B1 */ bl GetObj__6CTokenFv /* 80319A60 003169C0 80 03 00 04 */ lwz r0, 4(r3) /* 80319A64 003169C4 7C 00 98 40 */ cmplw r0, r19 /* 80319A68 003169C8 41 82 00 28 */ beq lbl_80319A90 /* 80319A6C 003169CC 38 7F 00 1C */ addi r3, r31, 0x1c /* 80319A70 003169D0 48 02 73 9D */ bl GetObj__6CTokenFv /* 80319A74 003169D4 80 63 00 04 */ lwz r3, 4(r3) /* 80319A78 003169D8 38 80 00 00 */ li r4, 0 /* 80319A7C 003169DC 38 A0 00 01 */ li r5, 1 /* 80319A80 003169E0 4B FF 5C BD */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 80319A84 003169E4 38 7F 00 1C */ addi r3, r31, 0x1c /* 80319A88 003169E8 48 02 73 85 */ bl GetObj__6CTokenFv /* 80319A8C 003169EC 82 63 00 04 */ lwz r19, 4(r3) lbl_80319A90: /* 80319A90 003169F0 38 7F 00 1C */ addi r3, r31, 0x1c /* 80319A94 003169F4 38 80 00 00 */ li r4, 0 /* 80319A98 003169F8 48 02 73 A9 */ bl __dt__6CTokenFv lbl_80319A9C: /* 80319A9C 003169FC 28 1C 00 00 */ cmplwi r28, 0 /* 80319AA0 00316A00 40 82 00 88 */ bne lbl_80319B28 /* 80319AA4 00316A04 80 9E 00 28 */ lwz r4, 0x28(r30) /* 80319AA8 00316A08 38 7F 00 4C */ addi r3, r31, 0x4c /* 80319AAC 00316A0C 80 B9 00 28 */ lwz r5, 0x28(r25) /* 80319AB0 00316A10 80 84 00 44 */ lwz r4, 0x44(r4) /* 80319AB4 00316A14 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319AB8 00316A18 81 84 00 00 */ lwz r12, 0(r4) /* 80319ABC 00316A1C 7C A5 00 50 */ subf r5, r5, r0 /* 80319AC0 00316A20 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80319AC4 00316A24 7D 89 03 A6 */ mtctr r12 /* 80319AC8 00316A28 4E 80 04 21 */ bctrl /* 80319ACC 00316A2C 38 7F 00 14 */ addi r3, r31, 0x14 /* 80319AD0 00316A30 38 9F 00 4C */ addi r4, r31, 0x4c /* 80319AD4 00316A34 48 02 73 D5 */ bl __ct__6CTokenFRC6CToken /* 80319AD8 00316A38 38 7F 00 4C */ addi r3, r31, 0x4c /* 80319ADC 00316A3C 38 80 00 00 */ li r4, 0 /* 80319AE0 00316A40 48 02 73 61 */ bl __dt__6CTokenFv /* 80319AE4 00316A44 38 7F 00 14 */ addi r3, r31, 0x14 /* 80319AE8 00316A48 48 02 73 25 */ bl GetObj__6CTokenFv /* 80319AEC 00316A4C 80 03 00 04 */ lwz r0, 4(r3) /* 80319AF0 00316A50 7C 00 90 40 */ cmplw r0, r18 /* 80319AF4 00316A54 41 82 00 28 */ beq lbl_80319B1C /* 80319AF8 00316A58 38 7F 00 14 */ addi r3, r31, 0x14 /* 80319AFC 00316A5C 48 02 73 11 */ bl GetObj__6CTokenFv /* 80319B00 00316A60 80 63 00 04 */ lwz r3, 4(r3) /* 80319B04 00316A64 38 80 00 02 */ li r4, 2 /* 80319B08 00316A68 38 A0 00 01 */ li r5, 1 /* 80319B0C 00316A6C 4B FF 5C 31 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 80319B10 00316A70 38 7F 00 14 */ addi r3, r31, 0x14 /* 80319B14 00316A74 48 02 72 F9 */ bl GetObj__6CTokenFv /* 80319B18 00316A78 82 43 00 04 */ lwz r18, 4(r3) lbl_80319B1C: /* 80319B1C 00316A7C 38 7F 00 14 */ addi r3, r31, 0x14 /* 80319B20 00316A80 38 80 00 00 */ li r4, 0 /* 80319B24 00316A84 48 02 73 1D */ bl __dt__6CTokenFv lbl_80319B28: /* 80319B28 00316A88 28 1D 00 00 */ cmplwi r29, 0 /* 80319B2C 00316A8C 40 82 00 34 */ bne lbl_80319B60 /* 80319B30 00316A90 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80319B34 00316A94 38 14 00 28 */ addi r0, r20, 0x28 /* 80319B38 00316A98 80 9E 00 3C */ lwz r4, 0x3c(r30) /* 80319B3C 00316A9C 38 BF 00 EC */ addi r5, r31, 0xec /* 80319B40 00316AA0 80 63 00 40 */ lwz r3, 0x40(r3) /* 80319B44 00316AA4 7C 84 00 2E */ lwzx r4, r4, r0 /* 80319B48 00316AA8 81 83 00 00 */ lwz r12, 0(r3) /* 80319B4C 00316AAC 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319B50 00316AB0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80319B54 00316AB4 7C 84 00 50 */ subf r4, r4, r0 /* 80319B58 00316AB8 7D 89 03 A6 */ mtctr r12 /* 80319B5C 00316ABC 4E 80 04 21 */ bctrl lbl_80319B60: /* 80319B60 00316AC0 28 0E 00 00 */ cmplwi r14, 0 /* 80319B64 00316AC4 40 82 00 34 */ bne lbl_80319B98 /* 80319B68 00316AC8 80 7E 00 28 */ lwz r3, 0x28(r30) /* 80319B6C 00316ACC 38 14 00 28 */ addi r0, r20, 0x28 /* 80319B70 00316AD0 80 9E 00 3C */ lwz r4, 0x3c(r30) /* 80319B74 00316AD4 38 BF 00 DC */ addi r5, r31, 0xdc /* 80319B78 00316AD8 80 63 00 44 */ lwz r3, 0x44(r3) /* 80319B7C 00316ADC 7C 84 00 2E */ lwzx r4, r4, r0 /* 80319B80 00316AE0 81 83 00 00 */ lwz r12, 0(r3) /* 80319B84 00316AE4 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80319B88 00316AE8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80319B8C 00316AEC 7C 84 00 50 */ subf r4, r4, r0 /* 80319B90 00316AF0 7D 89 03 A6 */ mtctr r12 /* 80319B94 00316AF4 4E 80 04 21 */ bctrl lbl_80319B98: /* 80319B98 00316AF8 C0 19 00 2C */ lfs f0, 0x2c(r25) /* 80319B9C 00316AFC 38 7F 01 14 */ addi r3, r31, 0x114 /* 80319BA0 00316B00 38 9F 00 40 */ addi r4, r31, 0x40 /* 80319BA4 00316B04 38 BF 00 34 */ addi r5, r31, 0x34 /* 80319BA8 00316B08 EC 1F 00 32 */ fmuls f0, f31, f0 /* 80319BAC 00316B0C D3 BF 00 38 */ stfs f29, 0x38(r31) /* 80319BB0 00316B10 38 C0 00 07 */ li r6, 7 /* 80319BB4 00316B14 D3 BF 00 44 */ stfs f29, 0x44(r31) /* 80319BB8 00316B18 EF 20 F0 2A */ fadds f25, f0, f30 /* 80319BBC 00316B1C EF 00 E0 2A */ fadds f24, f0, f28 /* 80319BC0 00316B20 EE FE 00 28 */ fsubs f23, f30, f0 /* 80319BC4 00316B24 EE DC 00 28 */ fsubs f22, f28, f0 /* 80319BC8 00316B28 D3 3F 00 34 */ stfs f25, 0x34(r31) /* 80319BCC 00316B2C D3 1F 00 3C */ stfs f24, 0x3c(r31) /* 80319BD0 00316B30 D2 FF 00 40 */ stfs f23, 0x40(r31) /* 80319BD4 00316B34 D2 DF 00 48 */ stfs f22, 0x48(r31) /* 80319BD8 00316B38 4B FE FC D5 */ bl ClipScreenRectFromMS__9CGraphicsFRC9CVector3fRC9CVector3f12ETexelFormat /* 80319BDC 00316B3C 88 1F 01 14 */ lbz r0, 0x114(r31) /* 80319BE0 00316B40 80 7F 01 18 */ lwz r3, 0x118(r31) /* 80319BE4 00316B44 28 00 00 00 */ cmplwi r0, 0 /* 80319BE8 00316B48 80 1F 01 1C */ lwz r0, 0x11c(r31) /* 80319BEC 00316B4C 80 BF 01 20 */ lwz r5, 0x120(r31) /* 80319BF0 00316B50 82 FF 01 24 */ lwz r23, 0x124(r31) /* 80319BF4 00316B54 82 DF 01 28 */ lwz r22, 0x128(r31) /* 80319BF8 00316B58 C3 9F 01 2C */ lfs f28, 0x12c(r31) /* 80319BFC 00316B5C C3 DF 01 30 */ lfs f30, 0x130(r31) /* 80319C00 00316B60 C3 7F 01 34 */ lfs f27, 0x134(r31) /* 80319C04 00316B64 C3 5F 01 38 */ lfs f26, 0x138(r31) /* 80319C08 00316B68 41 82 01 8C */ beq lbl_80319D94 /* 80319C0C 00316B6C 81 ED A8 28 */ lwz r15, mpSpareBuffer__9CGraphics@sda21(r13) /* 80319C10 00316B70 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80319C14 00316B74 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 80319C18 00316B78 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 80319C1C 00316B7C 56 E6 04 3E */ clrlwi r6, r23, 0x10 /* 80319C20 00316B80 48 05 F1 95 */ bl GXSetTexCopySrc /* 80319C24 00316B84 56 C3 04 3E */ clrlwi r3, r22, 0x10 /* 80319C28 00316B88 56 E4 04 3E */ clrlwi r4, r23, 0x10 /* 80319C2C 00316B8C 38 A0 00 04 */ li r5, 4 /* 80319C30 00316B90 38 C0 00 00 */ li r6, 0 /* 80319C34 00316B94 48 05 F2 4D */ bl GXSetTexCopyDst /* 80319C38 00316B98 83 0D A8 24 */ lwz r24, mSpareBufferSize__9CGraphics@sda21(r13) /* 80319C3C 00316B9C 56 C3 04 3E */ clrlwi r3, r22, 0x10 /* 80319C40 00316BA0 56 E4 04 3E */ clrlwi r4, r23, 0x10 /* 80319C44 00316BA4 38 A0 00 04 */ li r5, 4 /* 80319C48 00316BA8 38 C0 00 00 */ li r6, 0 /* 80319C4C 00316BAC 38 E0 00 00 */ li r7, 0 /* 80319C50 00316BB0 48 05 FF F1 */ bl GXGetTexBufferSize /* 80319C54 00316BB4 7C 03 C0 40 */ cmplw r3, r24 /* 80319C58 00316BB8 41 81 01 3C */ bgt lbl_80319D94 /* 80319C5C 00316BBC 4B FE FB A9 */ bl GetUseVideoFilter__9CGraphicsFv /* 80319C60 00316BC0 7C 60 1B 78 */ mr r0, r3 /* 80319C64 00316BC4 38 60 00 00 */ li r3, 0 /* 80319C68 00316BC8 7C 18 03 78 */ mr r24, r0 /* 80319C6C 00316BCC 4B FE FB A1 */ bl SetUseVideoFilter__9CGraphicsFb /* 80319C70 00316BD0 7D E3 7B 78 */ mr r3, r15 /* 80319C74 00316BD4 38 80 00 00 */ li r4, 0 /* 80319C78 00316BD8 48 05 F8 BD */ bl GXCopyTex /* 80319C7C 00316BDC 7F 03 C3 78 */ mr r3, r24 /* 80319C80 00316BE0 4B FE FB 8D */ bl SetUseVideoFilter__9CGraphicsFb /* 80319C84 00316BE4 48 05 E8 E1 */ bl GXPixModeSync /* 80319C88 00316BE8 80 E2 C7 A8 */ lwz r7, kSpareBufferTexMapID__9CGraphics@sda21(r2) /* 80319C8C 00316BEC 7E C3 B3 78 */ mr r3, r22 /* 80319C90 00316BF0 7E E4 BB 78 */ mr r4, r23 /* 80319C94 00316BF4 38 A0 00 04 */ li r5, 4 /* 80319C98 00316BF8 38 C0 00 00 */ li r6, 0 /* 80319C9C 00316BFC 4B FF 03 85 */ bl LoadDolphinSpareTexture__9CGraphicsFii9_GXTexFmtPv11_GXTexMapID /* 80319CA0 00316C00 81 F9 00 34 */ lwz r15, 0x34(r25) /* 80319CA4 00316C04 38 60 00 80 */ li r3, 0x80 /* 80319CA8 00316C08 38 80 00 00 */ li r4, 0 /* 80319CAC 00316C0C 38 A0 00 04 */ li r5, 4 /* 80319CB0 00316C10 4B FE E8 D5 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 80319CB4 00316C14 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80319CB8 00316C18 D3 23 80 00 */ stfs f25, 0xCC008000@l(r3) /* 80319CBC 00316C1C D3 A3 80 00 */ stfs f29, 0xCC008000@l(r3) /* 80319CC0 00316C20 D3 03 80 00 */ stfs f24, 0xCC008000@l(r3) /* 80319CC4 00316C24 91 E3 80 00 */ stw r15, 0xCC008000@l(r3) /* 80319CC8 00316C28 C0 1F 00 F4 */ lfs f0, 0xf4(r31) /* 80319CCC 00316C2C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319CD0 00316C30 C0 1F 00 F8 */ lfs f0, 0xf8(r31) /* 80319CD4 00316C34 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319CD8 00316C38 D3 C3 80 00 */ stfs f30, 0xCC008000@l(r3) /* 80319CDC 00316C3C D3 63 80 00 */ stfs f27, 0xCC008000@l(r3) /* 80319CE0 00316C40 C0 1F 00 E4 */ lfs f0, 0xe4(r31) /* 80319CE4 00316C44 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319CE8 00316C48 C0 1F 00 E8 */ lfs f0, 0xe8(r31) /* 80319CEC 00316C4C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319CF0 00316C50 D2 E3 80 00 */ stfs f23, 0xCC008000@l(r3) /* 80319CF4 00316C54 D3 A3 80 00 */ stfs f29, 0xCC008000@l(r3) /* 80319CF8 00316C58 D3 03 80 00 */ stfs f24, 0xCC008000@l(r3) /* 80319CFC 00316C5C 91 E3 80 00 */ stw r15, 0xCC008000@l(r3) /* 80319D00 00316C60 C0 3F 00 EC */ lfs f1, 0xec(r31) /* 80319D04 00316C64 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 80319D08 00316C68 C0 1F 00 F8 */ lfs f0, 0xf8(r31) /* 80319D0C 00316C6C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D10 00316C70 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 80319D14 00316C74 D3 63 80 00 */ stfs f27, 0xCC008000@l(r3) /* 80319D18 00316C78 C0 5F 00 DC */ lfs f2, 0xdc(r31) /* 80319D1C 00316C7C D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 80319D20 00316C80 C0 1F 00 E8 */ lfs f0, 0xe8(r31) /* 80319D24 00316C84 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D28 00316C88 D2 E3 80 00 */ stfs f23, 0xCC008000@l(r3) /* 80319D2C 00316C8C D3 A3 80 00 */ stfs f29, 0xCC008000@l(r3) /* 80319D30 00316C90 D2 C3 80 00 */ stfs f22, 0xCC008000@l(r3) /* 80319D34 00316C94 91 E3 80 00 */ stw r15, 0xCC008000@l(r3) /* 80319D38 00316C98 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 80319D3C 00316C9C C0 1F 00 F0 */ lfs f0, 0xf0(r31) /* 80319D40 00316CA0 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D44 00316CA4 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 80319D48 00316CA8 D3 43 80 00 */ stfs f26, 0xCC008000@l(r3) /* 80319D4C 00316CAC D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 80319D50 00316CB0 C0 1F 00 E0 */ lfs f0, 0xe0(r31) /* 80319D54 00316CB4 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D58 00316CB8 D3 23 80 00 */ stfs f25, 0xCC008000@l(r3) /* 80319D5C 00316CBC D3 A3 80 00 */ stfs f29, 0xCC008000@l(r3) /* 80319D60 00316CC0 D2 C3 80 00 */ stfs f22, 0xCC008000@l(r3) /* 80319D64 00316CC4 91 E3 80 00 */ stw r15, 0xCC008000@l(r3) /* 80319D68 00316CC8 C0 1F 00 F4 */ lfs f0, 0xf4(r31) /* 80319D6C 00316CCC D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D70 00316CD0 C0 1F 00 F0 */ lfs f0, 0xf0(r31) /* 80319D74 00316CD4 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D78 00316CD8 D3 C3 80 00 */ stfs f30, 0xCC008000@l(r3) /* 80319D7C 00316CDC D3 43 80 00 */ stfs f26, 0xCC008000@l(r3) /* 80319D80 00316CE0 C0 1F 00 E4 */ lfs f0, 0xe4(r31) /* 80319D84 00316CE4 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D88 00316CE8 C0 1F 00 E0 */ lfs f0, 0xe0(r31) /* 80319D8C 00316CEC D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 80319D90 00316CF0 4B FE E7 F1 */ bl End__3CGXFv lbl_80319D94: /* 80319D94 00316CF4 3A B5 00 10 */ addi r21, r21, 0x10 /* 80319D98 00316CF8 3A 94 00 38 */ addi r20, r20, 0x38 /* 80319D9C 00316CFC 3A 10 00 01 */ addi r16, r16, 1 lbl_80319DA0: /* 80319DA0 00316D00 7C 10 D0 00 */ cmpw r16, r26 /* 80319DA4 00316D04 41 80 FB C8 */ blt lbl_8031996C /* 80319DA8 00316D08 38 60 00 00 */ li r3, 0 /* 80319DAC 00316D0C 4B FE E8 E5 */ bl SetNumIndStages__3CGXFUc /* 80319DB0 00316D10 38 60 00 01 */ li r3, 1 /* 80319DB4 00316D14 4B FE E9 91 */ bl SetTevDirect__3CGXF13_GXTevStageID /* 80319DB8 00316D18 38 7F 00 24 */ addi r3, r31, 0x24 /* 80319DBC 00316D1C 38 80 00 00 */ li r4, 0 /* 80319DC0 00316D20 48 02 70 81 */ bl __dt__6CTokenFv /* 80319DC4 00316D24 38 7F 00 2C */ addi r3, r31, 0x2c /* 80319DC8 00316D28 38 80 00 00 */ li r4, 0 /* 80319DCC 00316D2C 48 02 70 75 */ bl __dt__6CTokenFv /* 80319DD0 00316D30 7F EA FB 78 */ mr r10, r31 /* 80319DD4 00316D34 E3 EA 03 A8 */ psq_l f31, 936(r10), 0, qr0 /* 80319DD8 00316D38 CB FF 03 A0 */ lfd f31, 0x3a0(r31) /* 80319DDC 00316D3C E3 CA 03 98 */ psq_l f30, 920(r10), 0, qr0 /* 80319DE0 00316D40 CB DF 03 90 */ lfd f30, 0x390(r31) /* 80319DE4 00316D44 E3 AA 03 88 */ psq_l f29, 904(r10), 0, qr0 /* 80319DE8 00316D48 CB BF 03 80 */ lfd f29, 0x380(r31) /* 80319DEC 00316D4C E3 8A 03 78 */ psq_l f28, 888(r10), 0, qr0 /* 80319DF0 00316D50 CB 9F 03 70 */ lfd f28, 0x370(r31) /* 80319DF4 00316D54 E3 6A 03 68 */ psq_l f27, 872(r10), 0, qr0 /* 80319DF8 00316D58 CB 7F 03 60 */ lfd f27, 0x360(r31) /* 80319DFC 00316D5C E3 4A 03 58 */ psq_l f26, 856(r10), 0, qr0 /* 80319E00 00316D60 CB 5F 03 50 */ lfd f26, 0x350(r31) /* 80319E04 00316D64 E3 2A 03 48 */ psq_l f25, 840(r10), 0, qr0 /* 80319E08 00316D68 CB 3F 03 40 */ lfd f25, 0x340(r31) /* 80319E0C 00316D6C E3 0A 03 38 */ psq_l f24, 824(r10), 0, qr0 /* 80319E10 00316D70 CB 1F 03 30 */ lfd f24, 0x330(r31) /* 80319E14 00316D74 E2 EA 03 28 */ psq_l f23, 808(r10), 0, qr0 /* 80319E18 00316D78 CA FF 03 20 */ lfd f23, 0x320(r31) /* 80319E1C 00316D7C E2 CA 03 18 */ psq_l f22, 792(r10), 0, qr0 /* 80319E20 00316D80 CA DF 03 10 */ lfd f22, 0x310(r31) /* 80319E24 00316D84 B9 CA 02 C8 */ lmw r14, 0x2c8(r10) /* 80319E28 00316D88 81 41 00 00 */ lwz r10, 0(r1) /* 80319E2C 00316D8C 80 0A 00 04 */ lwz r0, 4(r10) /* 80319E30 00316D90 7D 41 53 78 */ mr r1, r10 /* 80319E34 00316D94 7C 08 03 A6 */ mtlr r0 /* 80319E38 00316D98 4E 80 00 20 */ blr .global sub_80319e3c sub_80319e3c: /* 80319E3C 00316D9C 94 21 FE 40 */ stwu r1, -0x1c0(r1) /* 80319E40 00316DA0 7C 08 02 A6 */ mflr r0 /* 80319E44 00316DA4 90 01 01 C4 */ stw r0, 0x1c4(r1) /* 80319E48 00316DA8 DB E1 01 B0 */ stfd f31, 0x1b0(r1) /* 80319E4C 00316DAC F3 E1 01 B8 */ psq_st f31, 440(r1), 0, qr0 /* 80319E50 00316DB0 DB C1 01 A0 */ stfd f30, 0x1a0(r1) /* 80319E54 00316DB4 F3 C1 01 A8 */ psq_st f30, 424(r1), 0, qr0 /* 80319E58 00316DB8 DB A1 01 90 */ stfd f29, 0x190(r1) /* 80319E5C 00316DBC F3 A1 01 98 */ psq_st f29, 408(r1), 0, qr0 /* 80319E60 00316DC0 DB 81 01 80 */ stfd f28, 0x180(r1) /* 80319E64 00316DC4 F3 81 01 88 */ psq_st f28, 392(r1), 0, qr0 /* 80319E68 00316DC8 DB 61 01 70 */ stfd f27, 0x170(r1) /* 80319E6C 00316DCC F3 61 01 78 */ psq_st f27, 376(r1), 0, qr0 /* 80319E70 00316DD0 BE 01 01 30 */ stmw r16, 0x130(r1) /* 80319E74 00316DD4 7C 3F 0B 78 */ mr r31, r1 /* 80319E78 00316DD8 3C A0 80 5A */ lis r5, mViewMatrix__9CGraphics@ha /* 80319E7C 00316DDC 7C 7E 1B 78 */ mr r30, r3 /* 80319E80 00316DE0 38 05 61 D4 */ addi r0, r5, mViewMatrix__9CGraphics@l /* 80319E84 00316DE4 7C 93 23 78 */ mr r19, r4 /* 80319E88 00316DE8 7C 04 03 78 */ mr r4, r0 /* 80319E8C 00316DEC 38 7F 00 F4 */ addi r3, r31, 0xf4 /* 80319E90 00316DF0 4B FF 8C E5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80319E94 00316DF4 38 7F 00 C4 */ addi r3, r31, 0xc4 /* 80319E98 00316DF8 38 9F 00 F4 */ addi r4, r31, 0xf4 /* 80319E9C 00316DFC 4B FF 8C D9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80319EA0 00316E00 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 80319EA4 00316E04 38 7F 00 64 */ addi r3, r31, 0x64 /* 80319EA8 00316E08 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l /* 80319EAC 00316E0C 38 9F 00 C4 */ addi r4, r31, 0xc4 /* 80319EB0 00316E10 C0 45 00 00 */ lfs f2, 0(r5) /* 80319EB4 00316E14 C0 25 00 04 */ lfs f1, 4(r5) /* 80319EB8 00316E18 C0 05 00 08 */ lfs f0, 8(r5) /* 80319EBC 00316E1C D0 5F 00 D0 */ stfs f2, 0xd0(r31) /* 80319EC0 00316E20 D0 3F 00 E0 */ stfs f1, 0xe0(r31) /* 80319EC4 00316E24 D0 1F 00 F0 */ stfs f0, 0xf0(r31) /* 80319EC8 00316E28 4B FF 8D D5 */ bl GetQuickInverse__12CTransform4fCFv /* 80319ECC 00316E2C 38 7F 00 94 */ addi r3, r31, 0x94 /* 80319ED0 00316E30 38 9F 00 64 */ addi r4, r31, 0x64 /* 80319ED4 00316E34 4B FF 8C A1 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80319ED8 00316E38 38 7F 00 C4 */ addi r3, r31, 0xc4 /* 80319EDC 00316E3C 4B FF 27 05 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f /* 80319EE0 00316E40 38 60 00 00 */ li r3, 0 /* 80319EE4 00316E44 4B FF 1B 8D */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 80319EE8 00316E48 38 60 00 01 */ li r3, 1 /* 80319EEC 00316E4C 38 80 00 03 */ li r4, 3 /* 80319EF0 00316E50 38 A0 00 00 */ li r5, 0 /* 80319EF4 00316E54 4B FF 1B A1 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 80319EF8 00316E58 38 60 00 04 */ li r3, 4 /* 80319EFC 00316E5C 38 80 00 00 */ li r4, 0 /* 80319F00 00316E60 38 A0 00 00 */ li r5, 0 /* 80319F04 00316E64 38 C0 00 07 */ li r6, 7 /* 80319F08 00316E68 38 E0 00 00 */ li r7, 0 /* 80319F0C 00316E6C 4B FF 1B 1D */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 80319F10 00316E70 3C 80 80 5A */ lis r4, kEnvModulate__9CGraphics@ha /* 80319F14 00316E74 38 60 00 00 */ li r3, 0 /* 80319F18 00316E78 38 84 5E BC */ addi r4, r4, kEnvModulate__9CGraphics@l /* 80319F1C 00316E7C 4B FF 03 9D */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 80319F20 00316E80 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 80319F24 00316E84 38 60 00 01 */ li r3, 1 /* 80319F28 00316E88 4B FF 03 91 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 80319F2C 00316E8C 8B AD A8 B8 */ lbz r29, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13) /* 80319F30 00316E90 7F D0 F3 78 */ mr r16, r30 /* 80319F34 00316E94 3A 20 00 00 */ li r17, 0 /* 80319F38 00316E98 48 00 00 4C */ b lbl_80319F84 lbl_80319F3C: /* 80319F3C 00316E9C 80 90 00 00 */ lwz r4, 0(r16) /* 80319F40 00316EA0 38 7F 00 48 */ addi r3, r31, 0x48 /* 80319F44 00316EA4 38 A0 00 00 */ li r5, 0 /* 80319F48 00316EA8 80 84 00 28 */ lwz r4, 0x28(r4) /* 80319F4C 00316EAC 80 84 00 40 */ lwz r4, 0x40(r4) /* 80319F50 00316EB0 81 84 00 00 */ lwz r12, 0(r4) /* 80319F54 00316EB4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80319F58 00316EB8 7D 89 03 A6 */ mtctr r12 /* 80319F5C 00316EBC 4E 80 04 21 */ bctrl /* 80319F60 00316EC0 80 7F 00 50 */ lwz r3, 0x50(r31) /* 80319F64 00316EC4 7E 24 8B 78 */ mr r4, r17 /* 80319F68 00316EC8 38 A0 00 01 */ li r5, 1 /* 80319F6C 00316ECC 4B FF 57 D1 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 80319F70 00316ED0 38 7F 00 48 */ addi r3, r31, 0x48 /* 80319F74 00316ED4 38 80 00 00 */ li r4, 0 /* 80319F78 00316ED8 48 02 6E C9 */ bl __dt__6CTokenFv /* 80319F7C 00316EDC 3A 10 00 04 */ addi r16, r16, 4 /* 80319F80 00316EE0 3A 31 00 01 */ addi r17, r17, 1 lbl_80319F84: /* 80319F84 00316EE4 7C 11 98 00 */ cmpw r17, r19 /* 80319F88 00316EE8 41 80 FF B4 */ blt lbl_80319F3C /* 80319F8C 00316EEC 3C 60 80 3D */ lis r3, lbl_803D7868@ha /* 80319F90 00316EF0 38 63 78 68 */ addi r3, r3, lbl_803D7868@l /* 80319F94 00316EF4 4B FE DE 95 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList /* 80319F98 00316EF8 3A 00 00 01 */ li r16, 1 /* 80319F9C 00316EFC 38 60 00 01 */ li r3, 1 /* 80319FA0 00316F00 4B FE EE B1 */ bl SetNumChans__3CGXFUc /* 80319FA4 00316F04 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 80319FA8 00316F08 3B 00 00 00 */ li r24, 0 /* 80319FAC 00316F0C 41 82 00 68 */ beq lbl_8031A014 /* 80319FB0 00316F10 38 60 00 01 */ li r3, 1 /* 80319FB4 00316F14 38 80 00 01 */ li r4, 1 /* 80319FB8 00316F18 38 A0 00 01 */ li r5, 1 /* 80319FBC 00316F1C 38 C0 00 00 */ li r6, 0 /* 80319FC0 00316F20 4B FF 1A 91 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 80319FC4 00316F24 3B 00 00 01 */ li r24, 1 /* 80319FC8 00316F28 38 60 00 01 */ li r3, 1 /* 80319FCC 00316F2C 38 80 00 0F */ li r4, 0xf /* 80319FD0 00316F30 38 A0 00 00 */ li r5, 0 /* 80319FD4 00316F34 38 C0 00 01 */ li r6, 1 /* 80319FD8 00316F38 38 E0 00 0F */ li r7, 0xf /* 80319FDC 00316F3C 4B FE EC 11 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 80319FE0 00316F40 38 60 00 01 */ li r3, 1 /* 80319FE4 00316F44 38 80 00 07 */ li r4, 7 /* 80319FE8 00316F48 38 A0 00 04 */ li r5, 4 /* 80319FEC 00316F4C 38 C0 00 00 */ li r6, 0 /* 80319FF0 00316F50 38 E0 00 07 */ li r7, 7 /* 80319FF4 00316F54 4B FE EB A1 */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg /* 80319FF8 00316F58 38 60 00 01 */ li r3, 1 /* 80319FFC 00316F5C 4B FE DC 55 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID /* 8031A000 00316F60 38 60 00 01 */ li r3, 1 /* 8031A004 00316F64 38 80 00 00 */ li r4, 0 /* 8031A008 00316F68 38 A0 00 01 */ li r5, 1 /* 8031A00C 00316F6C 48 06 18 25 */ bl GXSetTevSwapMode /* 8031A010 00316F70 3A 00 00 02 */ li r16, 2 lbl_8031A014: /* 8031A014 00316F74 56 03 06 3E */ clrlwi r3, r16, 0x18 /* 8031A018 00316F78 4B FE EC 79 */ bl SetNumTevStages__3CGXFUc /* 8031A01C 00316F7C 38 60 00 01 */ li r3, 1 /* 8031A020 00316F80 4B FE ED F5 */ bl SetNumTexGens__3CGXFUc /* 8031A024 00316F84 38 60 00 00 */ li r3, 0 /* 8031A028 00316F88 38 80 00 00 */ li r4, 0 /* 8031A02C 00316F8C 38 A0 00 00 */ li r5, 0 /* 8031A030 00316F90 38 C0 00 01 */ li r6, 1 /* 8031A034 00316F94 38 E0 00 00 */ li r7, 0 /* 8031A038 00316F98 39 00 00 00 */ li r8, 0 /* 8031A03C 00316F9C 39 20 00 02 */ li r9, 2 /* 8031A040 00316FA0 4B FE EC 8D */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 8031A044 00316FA4 38 60 00 00 */ li r3, 0 /* 8031A048 00316FA8 38 80 00 01 */ li r4, 1 /* 8031A04C 00316FAC 38 A0 00 04 */ li r5, 4 /* 8031A050 00316FB0 38 C0 00 3C */ li r6, 0x3c /* 8031A054 00316FB4 38 E0 00 00 */ li r7, 0 /* 8031A058 00316FB8 39 00 00 7D */ li r8, 0x7d /* 8031A05C 00316FBC 4B FE E6 71 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 8031A060 00316FC0 38 60 00 06 */ li r3, 6 /* 8031A064 00316FC4 38 80 00 09 */ li r4, 9 /* 8031A068 00316FC8 38 A0 00 01 */ li r5, 1 /* 8031A06C 00316FCC 38 C0 00 04 */ li r6, 4 /* 8031A070 00316FD0 38 E0 00 00 */ li r7, 0 /* 8031A074 00316FD4 48 05 D7 19 */ bl GXSetVtxAttrFmt /* 8031A078 00316FD8 38 60 00 06 */ li r3, 6 /* 8031A07C 00316FDC 38 80 00 0B */ li r4, 0xb /* 8031A080 00316FE0 38 A0 00 01 */ li r5, 1 /* 8031A084 00316FE4 38 C0 00 05 */ li r6, 5 /* 8031A088 00316FE8 38 E0 00 00 */ li r7, 0 /* 8031A08C 00316FEC 48 05 D7 01 */ bl GXSetVtxAttrFmt /* 8031A090 00316FF0 38 60 00 06 */ li r3, 6 /* 8031A094 00316FF4 38 80 00 0D */ li r4, 0xd /* 8031A098 00316FF8 38 A0 00 01 */ li r5, 1 /* 8031A09C 00316FFC 38 C0 00 04 */ li r6, 4 /* 8031A0A0 00317000 38 E0 00 00 */ li r7, 0 /* 8031A0A4 00317004 48 05 D6 E9 */ bl GXSetVtxAttrFmt /* 8031A0A8 00317008 7F D0 F3 78 */ mr r16, r30 /* 8031A0AC 0031700C 3A 20 00 00 */ li r17, 0 /* 8031A0B0 00317010 3A 40 00 00 */ li r18, 0 /* 8031A0B4 00317014 48 00 00 24 */ b lbl_8031A0D8 lbl_8031A0B8: /* 8031A0B8 00317018 80 70 00 00 */ lwz r3, 0(r16) /* 8031A0BC 0031701C 81 83 00 00 */ lwz r12, 0(r3) /* 8031A0C0 00317020 81 8C 00 60 */ lwz r12, 0x60(r12) /* 8031A0C4 00317024 7D 89 03 A6 */ mtctr r12 /* 8031A0C8 00317028 4E 80 04 21 */ bctrl /* 8031A0CC 0031702C 7E 31 1A 14 */ add r17, r17, r3 /* 8031A0D0 00317030 3A 10 00 04 */ addi r16, r16, 4 /* 8031A0D4 00317034 3A 52 00 01 */ addi r18, r18, 1 lbl_8031A0D8: /* 8031A0D8 00317038 7C 12 98 00 */ cmpw r18, r19 /* 8031A0DC 0031703C 41 80 FF DC */ blt lbl_8031A0B8 /* 8031A0E0 00317040 56 23 20 36 */ slwi r3, r17, 4 /* 8031A0E4 00317044 80 01 00 00 */ lwz r0, 0(r1) /* 8031A0E8 00317048 7E E3 00 D0 */ neg r23, r3 /* 8031A0EC 0031704C 56 F7 00 38 */ rlwinm r23, r23, 0, 0, 0x1c /* 8031A0F0 00317050 7C 01 B9 6E */ stwux r0, r1, r23 /* 8031A0F4 00317054 7F DB F3 78 */ mr r27, r30 /* 8031A0F8 00317058 3B 20 00 00 */ li r25, 0 /* 8031A0FC 0031705C 3A C0 00 00 */ li r22, 0 /* 8031A100 00317060 3A E1 00 08 */ addi r23, r1, 8 /* 8031A104 00317064 7E FA BB 78 */ mr r26, r23 /* 8031A108 00317068 48 00 01 24 */ b lbl_8031A22C lbl_8031A10C: /* 8031A10C 0031706C 82 BB 00 00 */ lwz r21, 0(r27) /* 8031A110 00317070 7E A3 AB 78 */ mr r3, r21 /* 8031A114 00317074 81 95 00 00 */ lwz r12, 0(r21) /* 8031A118 00317078 81 8C 00 60 */ lwz r12, 0x60(r12) /* 8031A11C 0031707C 7D 89 03 A6 */ mtctr r12 /* 8031A120 00317080 4E 80 04 21 */ bctrl /* 8031A124 00317084 C3 D5 00 80 */ lfs f30, 0x80(r21) /* 8031A128 00317088 7C 71 1B 78 */ mr r17, r3 /* 8031A12C 0031708C 7F 5C D3 78 */ mr r28, r26 /* 8031A130 00317090 3A 80 00 00 */ li r20, 0 /* 8031A134 00317094 3A 40 00 00 */ li r18, 0 /* 8031A138 00317098 48 00 00 E4 */ b lbl_8031A21C lbl_8031A13C: /* 8031A13C 0031709C 80 15 00 3C */ lwz r0, 0x3c(r21) /* 8031A140 003170A0 7E 00 92 14 */ add r16, r0, r18 /* 8031A144 003170A4 80 10 00 00 */ lwz r0, 0(r16) /* 8031A148 003170A8 2C 00 FF FF */ cmpwi r0, -1 /* 8031A14C 003170AC 41 82 00 C8 */ beq lbl_8031A214 /* 8031A150 003170B0 38 7F 00 3C */ addi r3, r31, 0x3c /* 8031A154 003170B4 38 9F 00 94 */ addi r4, r31, 0x94 /* 8031A158 003170B8 38 B0 00 04 */ addi r5, r16, 4 /* 8031A15C 003170BC 4B FF 89 8D */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031A160 003170C0 C0 1F 00 3C */ lfs f0, 0x3c(r31) /* 8031A164 003170C4 38 7F 00 30 */ addi r3, r31, 0x30 /* 8031A168 003170C8 38 9F 00 94 */ addi r4, r31, 0x94 /* 8031A16C 003170CC 38 BF 00 24 */ addi r5, r31, 0x24 /* 8031A170 003170D0 D0 1C 00 04 */ stfs f0, 4(r28) /* 8031A174 003170D4 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8031A178 003170D8 D0 1C 00 08 */ stfs f0, 8(r28) /* 8031A17C 003170DC C0 1F 00 44 */ lfs f0, 0x44(r31) /* 8031A180 003170E0 D0 1C 00 0C */ stfs f0, 0xc(r28) /* 8031A184 003170E4 C0 10 00 08 */ lfs f0, 8(r16) /* 8031A188 003170E8 C0 90 00 14 */ lfs f4, 0x14(r16) /* 8031A18C 003170EC C0 30 00 0C */ lfs f1, 0xc(r16) /* 8031A190 003170F0 EC A0 20 28 */ fsubs f5, f0, f4 /* 8031A194 003170F4 C0 70 00 18 */ lfs f3, 0x18(r16) /* 8031A198 003170F8 C0 10 00 04 */ lfs f0, 4(r16) /* 8031A19C 003170FC EC 21 18 28 */ fsubs f1, f1, f3 /* 8031A1A0 00317100 C0 50 00 10 */ lfs f2, 0x10(r16) /* 8031A1A4 00317104 EC DE 01 72 */ fmuls f6, f30, f5 /* 8031A1A8 00317108 EC 00 10 28 */ fsubs f0, f0, f2 /* 8031A1AC 0031710C D0 BF 00 10 */ stfs f5, 0x10(r31) /* 8031A1B0 00317110 EC BE 00 72 */ fmuls f5, f30, f1 /* 8031A1B4 00317114 EC 86 20 2A */ fadds f4, f6, f4 /* 8031A1B8 00317118 D0 3F 00 14 */ stfs f1, 0x14(r31) /* 8031A1BC 0031711C EC 3E 00 32 */ fmuls f1, f30, f0 /* 8031A1C0 00317120 EC 65 18 2A */ fadds f3, f5, f3 /* 8031A1C4 00317124 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 8031A1C8 00317128 EC 01 10 2A */ fadds f0, f1, f2 /* 8031A1CC 0031712C D0 3F 00 18 */ stfs f1, 0x18(r31) /* 8031A1D0 00317130 D0 DF 00 1C */ stfs f6, 0x1c(r31) /* 8031A1D4 00317134 D0 BF 00 20 */ stfs f5, 0x20(r31) /* 8031A1D8 00317138 D0 1F 00 24 */ stfs f0, 0x24(r31) /* 8031A1DC 0031713C D0 9F 00 28 */ stfs f4, 0x28(r31) /* 8031A1E0 00317140 D0 7F 00 2C */ stfs f3, 0x2c(r31) /* 8031A1E4 00317144 4B FF 89 05 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031A1E8 00317148 C0 1F 00 30 */ lfs f0, 0x30(r31) /* 8031A1EC 0031714C 3B 5A 00 10 */ addi r26, r26, 0x10 /* 8031A1F0 00317150 3B 39 00 01 */ addi r25, r25, 1 /* 8031A1F4 00317154 D0 1C 00 04 */ stfs f0, 4(r28) /* 8031A1F8 00317158 C0 1F 00 34 */ lfs f0, 0x34(r31) /* 8031A1FC 0031715C D0 1C 00 08 */ stfs f0, 8(r28) /* 8031A200 00317160 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 8031A204 00317164 D0 1C 00 0C */ stfs f0, 0xc(r28) /* 8031A208 00317168 B2 DC 00 00 */ sth r22, 0(r28) /* 8031A20C 0031716C B2 9C 00 02 */ sth r20, 2(r28) /* 8031A210 00317170 3B 9C 00 10 */ addi r28, r28, 0x10 lbl_8031A214: /* 8031A214 00317174 3A 94 00 01 */ addi r20, r20, 1 /* 8031A218 00317178 3A 52 00 38 */ addi r18, r18, 0x38 lbl_8031A21C: /* 8031A21C 0031717C 7C 14 88 00 */ cmpw r20, r17 /* 8031A220 00317180 41 80 FF 1C */ blt lbl_8031A13C /* 8031A224 00317184 3B 7B 00 04 */ addi r27, r27, 4 /* 8031A228 00317188 3A D6 00 01 */ addi r22, r22, 1 lbl_8031A22C: /* 8031A22C 0031718C 7C 16 98 00 */ cmpw r22, r19 /* 8031A230 00317190 41 80 FE DC */ blt lbl_8031A10C /* 8031A234 00317194 88 8D A8 C0 */ lbz r4, lbl_805A9480@sda21(r13) /* 8031A238 00317198 57 20 20 36 */ slwi r0, r25, 4 /* 8031A23C 0031719C 7E E3 BB 78 */ mr r3, r23 /* 8031A240 003171A0 38 BF 00 08 */ addi r5, r31, 8 /* 8031A244 003171A4 98 9F 00 08 */ stb r4, 8(r31) /* 8031A248 003171A8 7C 97 02 14 */ add r4, r23, r0 /* 8031A24C 003171AC 48 00 5F FD */ bl sub_80320248 /* 8031A250 003171B0 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 8031A254 003171B4 C3 C2 C9 F8 */ lfs f30, lbl_805AE718@sda21(r2) /* 8031A258 003171B8 C3 E2 C9 F4 */ lfs f31, lbl_805AE714@sda21(r2) /* 8031A25C 003171BC 7E FA BB 78 */ mr r26, r23 /* 8031A260 003171C0 3A 83 FF FF */ addi r20, r3, 0x0000FFFF@l /* 8031A264 003171C4 3A A0 00 00 */ li r21, 0 /* 8031A268 003171C8 3A C0 00 00 */ li r22, 0 /* 8031A26C 003171CC 3A E0 00 00 */ li r23, 0 /* 8031A270 003171D0 3B 60 00 00 */ li r27, 0 /* 8031A274 003171D4 3E 40 CC 01 */ lis r18, 0xcc01 /* 8031A278 003171D8 48 00 02 20 */ b lbl_8031A498 lbl_8031A27C: /* 8031A27C 003171DC A3 9A 00 00 */ lhz r28, 0(r26) /* 8031A280 003171E0 56 80 04 3E */ clrlwi r0, r20, 0x10 /* 8031A284 003171E4 7C 00 E0 40 */ cmplw r0, r28 /* 8031A288 003171E8 41 82 00 94 */ beq lbl_8031A31C /* 8031A28C 003171EC 57 93 13 BA */ rlwinm r19, r28, 2, 0xe, 0x1d /* 8031A290 003171F0 7E BE 98 2E */ lwzx r21, r30, r19 /* 8031A294 003171F4 7E A3 AB 78 */ mr r3, r21 /* 8031A298 003171F8 4B FF D6 ED */ bl GetEmitterTime__11CElementGenCFv /* 8031A29C 003171FC 7C 9E 98 2E */ lwzx r4, r30, r19 /* 8031A2A0 00317200 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031A2A4 00317204 7C 77 1B 78 */ mr r23, r3 /* 8031A2A8 00317208 80 84 00 28 */ lwz r4, 0x28(r4) /* 8031A2AC 0031720C 7C 96 23 78 */ mr r22, r4 /* 8031A2B0 00317210 40 82 00 40 */ bne lbl_8031A2F0 /* 8031A2B4 00317214 88 04 00 30 */ lbz r0, 0x30(r4) /* 8031A2B8 00317218 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8031A2BC 0031721C 41 82 00 1C */ beq lbl_8031A2D8 /* 8031A2C0 00317220 38 60 00 01 */ li r3, 1 /* 8031A2C4 00317224 38 80 00 04 */ li r4, 4 /* 8031A2C8 00317228 38 A0 00 01 */ li r5, 1 /* 8031A2CC 0031722C 38 C0 00 00 */ li r6, 0 /* 8031A2D0 00317230 4B FF 17 81 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 8031A2D4 00317234 48 00 00 30 */ b lbl_8031A304 lbl_8031A2D8: /* 8031A2D8 00317238 38 60 00 01 */ li r3, 1 /* 8031A2DC 0031723C 38 80 00 04 */ li r4, 4 /* 8031A2E0 00317240 38 A0 00 05 */ li r5, 5 /* 8031A2E4 00317244 38 C0 00 00 */ li r6, 0 /* 8031A2E8 00317248 4B FF 17 69 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 8031A2EC 0031724C 48 00 00 18 */ b lbl_8031A304 lbl_8031A2F0: /* 8031A2F0 00317250 7F 03 C3 78 */ mr r3, r24 /* 8031A2F4 00317254 7F 85 E3 78 */ mr r5, r28 /* 8031A2F8 00317258 38 80 00 00 */ li r4, 0 /* 8031A2FC 0031725C 38 C0 00 FF */ li r6, 0xff /* 8031A300 00317260 4B FE E6 4D */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID lbl_8031A304: /* 8031A304 00317264 7F 85 E3 78 */ mr r5, r28 /* 8031A308 00317268 38 60 00 00 */ li r3, 0 /* 8031A30C 0031726C 38 80 00 00 */ li r4, 0 /* 8031A310 00317270 38 C0 00 04 */ li r6, 4 /* 8031A314 00317274 4B FE E6 39 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 8031A318 00317278 7F 94 E3 78 */ mr r20, r28 lbl_8031A31C: /* 8031A31C 0031727C A0 1A 00 02 */ lhz r0, 2(r26) /* 8031A320 00317280 80 75 00 3C */ lwz r3, 0x3c(r21) /* 8031A324 00317284 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031A328 00317288 7E 03 02 14 */ add r16, r3, r0 /* 8031A32C 0031728C 80 90 00 28 */ lwz r4, 0x28(r16) /* 8031A330 00317290 80 10 00 00 */ lwz r0, 0(r16) /* 8031A334 00317294 7C 64 B8 50 */ subf r3, r4, r23 /* 8031A338 00317298 3A 23 FF FF */ addi r17, r3, -1 /* 8031A33C 0031729C 7C 64 00 50 */ subf r3, r4, r0 /* 8031A340 003172A0 48 01 04 39 */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031A344 003172A4 7E 23 8B 78 */ mr r3, r17 /* 8031A348 003172A8 48 01 03 35 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 8031A34C 003172AC 80 76 00 40 */ lwz r3, 0x40(r22) /* 8031A350 003172B0 7E 24 8B 78 */ mr r4, r17 /* 8031A354 003172B4 38 BF 00 54 */ addi r5, r31, 0x54 /* 8031A358 003172B8 81 83 00 00 */ lwz r12, 0(r3) /* 8031A35C 003172BC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031A360 003172C0 7D 89 03 A6 */ mtctr r12 /* 8031A364 003172C4 4E 80 04 21 */ bctrl /* 8031A368 003172C8 38 60 00 80 */ li r3, 0x80 /* 8031A36C 003172CC 38 80 00 06 */ li r4, 6 /* 8031A370 003172D0 38 A0 00 04 */ li r5, 4 /* 8031A374 003172D4 4B FE E2 11 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 8031A378 003172D8 C0 10 00 30 */ lfs f0, 0x30(r16) /* 8031A37C 003172DC C0 30 00 2C */ lfs f1, 0x2c(r16) /* 8031A380 003172E0 EF 9F 00 32 */ fmuls f28, f31, f0 /* 8031A384 003172E4 82 10 00 34 */ lwz r16, 0x34(r16) /* 8031A388 003172E8 EF BE 00 72 */ fmuls f29, f30, f1 /* 8031A38C 003172EC FC 20 E0 90 */ fmr f1, f28 /* 8031A390 003172F0 4B FF AA 61 */ bl FastSinR__5CMathFf /* 8031A394 003172F4 EF 7D 00 72 */ fmuls f27, f29, f1 /* 8031A398 003172F8 FC 20 E0 90 */ fmr f1, f28 /* 8031A39C 003172FC 4B FF A9 A9 */ bl FastCosR__5CMathFf /* 8031A3A0 00317300 ED 3D 00 72 */ fmuls f9, f29, f1 /* 8031A3A4 00317304 C0 3A 00 04 */ lfs f1, 4(r26) /* 8031A3A8 00317308 FC 00 D8 50 */ fneg f0, f27 /* 8031A3AC 0031730C C0 7A 00 0C */ lfs f3, 0xc(r26) /* 8031A3B0 00317310 C0 DA 00 08 */ lfs f6, 8(r26) /* 8031A3B4 00317314 ED 1B 48 2A */ fadds f8, f27, f9 /* 8031A3B8 00317318 EC E9 D8 28 */ fsubs f7, f9, f27 /* 8031A3BC 0031731C FC 40 48 50 */ fneg f2, f9 /* 8031A3C0 00317320 EC 28 08 2A */ fadds f1, f8, f1 /* 8031A3C4 00317324 EC A7 18 2A */ fadds f5, f7, f3 /* 8031A3C8 00317328 EC 9B 48 28 */ fsubs f4, f27, f9 /* 8031A3CC 0031732C D0 32 80 00 */ stfs f1, 0xCC008000@l(r18) /* 8031A3D0 00317330 EC 20 48 2A */ fadds f1, f0, f9 /* 8031A3D4 00317334 EC 62 D8 28 */ fsubs f3, f2, f27 /* 8031A3D8 00317338 D0 D2 80 00 */ stfs f6, 0xCC008000@l(r18) /* 8031A3DC 0031733C D0 B2 80 00 */ stfs f5, 0xCC008000@l(r18) /* 8031A3E0 00317340 92 12 80 00 */ stw r16, 0xCC008000@l(r18) /* 8031A3E4 00317344 C0 1F 00 5C */ lfs f0, 0x5c(r31) /* 8031A3E8 00317348 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A3EC 0031734C C0 1F 00 60 */ lfs f0, 0x60(r31) /* 8031A3F0 00317350 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A3F4 00317354 C0 1A 00 04 */ lfs f0, 4(r26) /* 8031A3F8 00317358 C0 5A 00 0C */ lfs f2, 0xc(r26) /* 8031A3FC 0031735C EC 04 00 2A */ fadds f0, f4, f0 /* 8031A400 00317360 C0 9A 00 08 */ lfs f4, 8(r26) /* 8031A404 00317364 EC 48 10 2A */ fadds f2, f8, f2 /* 8031A408 00317368 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A40C 0031736C D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031A410 00317370 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031A414 00317374 92 12 80 00 */ stw r16, 0xCC008000@l(r18) /* 8031A418 00317378 C0 BF 00 54 */ lfs f5, 0x54(r31) /* 8031A41C 0031737C D0 B2 80 00 */ stfs f5, 0xCC008000@l(r18) /* 8031A420 00317380 C0 1F 00 60 */ lfs f0, 0x60(r31) /* 8031A424 00317384 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A428 00317388 C0 1A 00 04 */ lfs f0, 4(r26) /* 8031A42C 0031738C C0 5A 00 0C */ lfs f2, 0xc(r26) /* 8031A430 00317390 EC 00 40 28 */ fsubs f0, f0, f8 /* 8031A434 00317394 C0 9A 00 08 */ lfs f4, 8(r26) /* 8031A438 00317398 EC 42 38 28 */ fsubs f2, f2, f7 /* 8031A43C 0031739C D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A440 003173A0 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031A444 003173A4 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031A448 003173A8 92 12 80 00 */ stw r16, 0xCC008000@l(r18) /* 8031A44C 003173AC D0 B2 80 00 */ stfs f5, 0xCC008000@l(r18) /* 8031A450 003173B0 C0 1F 00 58 */ lfs f0, 0x58(r31) /* 8031A454 003173B4 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A458 003173B8 C0 1A 00 04 */ lfs f0, 4(r26) /* 8031A45C 003173BC C0 5A 00 0C */ lfs f2, 0xc(r26) /* 8031A460 003173C0 EC 01 00 2A */ fadds f0, f1, f0 /* 8031A464 003173C4 C0 9A 00 08 */ lfs f4, 8(r26) /* 8031A468 003173C8 EC 23 10 2A */ fadds f1, f3, f2 /* 8031A46C 003173CC D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A470 003173D0 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031A474 003173D4 D0 32 80 00 */ stfs f1, 0xCC008000@l(r18) /* 8031A478 003173D8 92 12 80 00 */ stw r16, 0xCC008000@l(r18) /* 8031A47C 003173DC C0 1F 00 5C */ lfs f0, 0x5c(r31) /* 8031A480 003173E0 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A484 003173E4 C0 1F 00 58 */ lfs f0, 0x58(r31) /* 8031A488 003173E8 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031A48C 003173EC 4B FE E0 F5 */ bl End__3CGXFv /* 8031A490 003173F0 3B 5A 00 10 */ addi r26, r26, 0x10 /* 8031A494 003173F4 3B 7B 00 01 */ addi r27, r27, 1 lbl_8031A498: /* 8031A498 003173F8 7C 1B C8 00 */ cmpw r27, r25 /* 8031A49C 003173FC 41 80 FD E0 */ blt lbl_8031A27C /* 8031A4A0 00317400 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031A4A4 00317404 41 82 00 14 */ beq lbl_8031A4B8 /* 8031A4A8 00317408 7F 03 C3 78 */ mr r3, r24 /* 8031A4AC 0031740C 38 80 00 00 */ li r4, 0 /* 8031A4B0 00317410 38 A0 00 00 */ li r5, 0 /* 8031A4B4 00317414 48 06 13 7D */ bl GXSetTevSwapMode lbl_8031A4B8: /* 8031A4B8 00317418 38 60 00 01 */ li r3, 1 /* 8031A4BC 0031741C 4B FF 15 B5 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 8031A4C0 00317420 38 60 00 07 */ li r3, 7 /* 8031A4C4 00317424 38 80 00 00 */ li r4, 0 /* 8031A4C8 00317428 38 A0 00 00 */ li r5, 0 /* 8031A4CC 0031742C 38 C0 00 07 */ li r6, 7 /* 8031A4D0 00317430 38 E0 00 00 */ li r7, 0 /* 8031A4D4 00317434 4B FF 15 55 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 8031A4D8 00317438 7F EA FB 78 */ mr r10, r31 /* 8031A4DC 0031743C E3 EA 01 B8 */ psq_l f31, 440(r10), 0, qr0 /* 8031A4E0 00317440 CB FF 01 B0 */ lfd f31, 0x1b0(r31) /* 8031A4E4 00317444 E3 CA 01 A8 */ psq_l f30, 424(r10), 0, qr0 /* 8031A4E8 00317448 CB DF 01 A0 */ lfd f30, 0x1a0(r31) /* 8031A4EC 0031744C E3 AA 01 98 */ psq_l f29, 408(r10), 0, qr0 /* 8031A4F0 00317450 CB BF 01 90 */ lfd f29, 0x190(r31) /* 8031A4F4 00317454 E3 8A 01 88 */ psq_l f28, 392(r10), 0, qr0 /* 8031A4F8 00317458 CB 9F 01 80 */ lfd f28, 0x180(r31) /* 8031A4FC 0031745C E3 6A 01 78 */ psq_l f27, 376(r10), 0, qr0 /* 8031A500 00317460 CB 7F 01 70 */ lfd f27, 0x170(r31) /* 8031A504 00317464 BA 0A 01 30 */ lmw r16, 0x130(r10) /* 8031A508 00317468 81 41 00 00 */ lwz r10, 0(r1) /* 8031A50C 0031746C 80 0A 00 04 */ lwz r0, 4(r10) /* 8031A510 00317470 7D 41 53 78 */ mr r1, r10 /* 8031A514 00317474 7C 08 03 A6 */ mtlr r0 /* 8031A518 00317478 4E 80 00 20 */ blr .global RenderParticles__11CElementGenFv RenderParticles__11CElementGenFv: /* 8031A51C 0031747C 94 21 FB 60 */ stwu r1, -0x4a0(r1) /* 8031A520 00317480 7C 08 02 A6 */ mflr r0 /* 8031A524 00317484 90 01 04 A4 */ stw r0, 0x4a4(r1) /* 8031A528 00317488 DB E1 04 90 */ stfd f31, 0x490(r1) /* 8031A52C 0031748C F3 E1 04 98 */ psq_st f31, 1176(r1), 0, qr0 /* 8031A530 00317490 DB C1 04 80 */ stfd f30, 0x480(r1) /* 8031A534 00317494 F3 C1 04 88 */ psq_st f30, 1160(r1), 0, qr0 /* 8031A538 00317498 DB A1 04 70 */ stfd f29, 0x470(r1) /* 8031A53C 0031749C F3 A1 04 78 */ psq_st f29, 1144(r1), 0, qr0 /* 8031A540 003174A0 DB 81 04 60 */ stfd f28, 0x460(r1) /* 8031A544 003174A4 F3 81 04 68 */ psq_st f28, 1128(r1), 0, qr0 /* 8031A548 003174A8 DB 61 04 50 */ stfd f27, 0x450(r1) /* 8031A54C 003174AC F3 61 04 58 */ psq_st f27, 1112(r1), 0, qr0 /* 8031A550 003174B0 DB 41 04 40 */ stfd f26, 0x440(r1) /* 8031A554 003174B4 F3 41 04 48 */ psq_st f26, 1096(r1), 0, qr0 /* 8031A558 003174B8 DB 21 04 30 */ stfd f25, 0x430(r1) /* 8031A55C 003174BC F3 21 04 38 */ psq_st f25, 1080(r1), 0, qr0 /* 8031A560 003174C0 DB 01 04 20 */ stfd f24, 0x420(r1) /* 8031A564 003174C4 F3 01 04 28 */ psq_st f24, 1064(r1), 0, qr0 /* 8031A568 003174C8 DA E1 04 10 */ stfd f23, 0x410(r1) /* 8031A56C 003174CC F2 E1 04 18 */ psq_st f23, 1048(r1), 0, qr0 /* 8031A570 003174D0 DA C1 04 00 */ stfd f22, 0x400(r1) /* 8031A574 003174D4 F2 C1 04 08 */ psq_st f22, 1032(r1), 0, qr0 /* 8031A578 003174D8 DA A1 03 F0 */ stfd f21, 0x3f0(r1) /* 8031A57C 003174DC F2 A1 03 F8 */ psq_st f21, 1016(r1), 0, qr0 /* 8031A580 003174E0 DA 81 03 E0 */ stfd f20, 0x3e0(r1) /* 8031A584 003174E4 F2 81 03 E8 */ psq_st f20, 1000(r1), 0, qr0 /* 8031A588 003174E8 DA 61 03 D0 */ stfd f19, 0x3d0(r1) /* 8031A58C 003174EC F2 61 03 D8 */ psq_st f19, 984(r1), 0, qr0 /* 8031A590 003174F0 DA 41 03 C0 */ stfd f18, 0x3c0(r1) /* 8031A594 003174F4 F2 41 03 C8 */ psq_st f18, 968(r1), 0, qr0 /* 8031A598 003174F8 DA 21 03 B0 */ stfd f17, 0x3b0(r1) /* 8031A59C 003174FC F2 21 03 B8 */ psq_st f17, 952(r1), 0, qr0 /* 8031A5A0 00317500 BE 41 03 78 */ stmw r18, 0x378(r1) /* 8031A5A4 00317504 7C 3F 0B 78 */ mr r31, r1 /* 8031A5A8 00317508 7C 7E 1B 78 */ mr r30, r3 /* 8031A5AC 0031750C 38 7F 01 50 */ addi r3, r31, 0x150 /* 8031A5B0 00317510 38 9E 02 7C */ addi r4, r30, 0x27c /* 8031A5B4 00317514 4B FF 80 CD */ bl __ct__13CGlobalRandomFR9CRandom16 /* 8031A5B8 00317518 7F C3 F3 78 */ mr r3, r30 /* 8031A5BC 0031751C 4B FF D0 89 */ bl IsIndirectTextured__11CElementGenCFv /* 8031A5C0 00317520 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031A5C4 00317524 41 82 00 1C */ beq lbl_8031A5E0 /* 8031A5C8 00317528 7F C3 F3 78 */ mr r3, r30 /* 8031A5CC 0031752C 4B FF ED 09 */ bl RenderParticlesIndirectTexture__11CElementGenFv /* 8031A5D0 00317530 38 7F 01 50 */ addi r3, r31, 0x150 /* 8031A5D4 00317534 38 80 FF FF */ li r4, -1 /* 8031A5D8 00317538 4B FF 80 2D */ bl __dt__13CGlobalRandomFv /* 8031A5DC 0031753C 48 00 18 8C */ b lbl_8031BE68 lbl_8031A5E0: /* 8031A5E0 00317540 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A5E4 00317544 80 63 00 38 */ lwz r3, 0x38(r3) /* 8031A5E8 00317548 28 03 00 00 */ cmplwi r3, 0 /* 8031A5EC 0031754C 41 82 00 9C */ beq lbl_8031A688 /* 8031A5F0 00317550 81 83 00 00 */ lwz r12, 0(r3) /* 8031A5F4 00317554 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031A5F8 00317558 7D 89 03 A6 */ mtctr r12 /* 8031A5FC 0031755C 4E 80 04 21 */ bctrl /* 8031A600 00317560 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031A604 00317564 41 82 00 84 */ beq lbl_8031A688 /* 8031A608 00317568 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031A60C 0031756C 38 BF 00 3C */ addi r5, r31, 0x3c /* 8031A610 00317570 38 80 00 00 */ li r4, 0 /* 8031A614 00317574 D0 1F 00 3C */ stfs f0, 0x3c(r31) /* 8031A618 00317578 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A61C 0031757C 80 63 00 38 */ lwz r3, 0x38(r3) /* 8031A620 00317580 81 83 00 00 */ lwz r12, 0(r3) /* 8031A624 00317584 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031A628 00317588 7D 89 03 A6 */ mtctr r12 /* 8031A62C 0031758C 4E 80 04 21 */ bctrl /* 8031A630 00317590 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031A634 00317594 C0 1F 00 3C */ lfs f0, 0x3c(r31) /* 8031A638 00317598 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8031A63C 0031759C 40 82 00 4C */ bne lbl_8031A688 /* 8031A640 003175A0 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031A644 003175A4 38 BF 00 3C */ addi r5, r31, 0x3c /* 8031A648 003175A8 38 80 00 01 */ li r4, 1 /* 8031A64C 003175AC D0 1F 00 3C */ stfs f0, 0x3c(r31) /* 8031A650 003175B0 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A654 003175B4 80 63 00 38 */ lwz r3, 0x38(r3) /* 8031A658 003175B8 81 83 00 00 */ lwz r12, 0(r3) /* 8031A65C 003175BC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031A660 003175C0 7D 89 03 A6 */ mtctr r12 /* 8031A664 003175C4 4E 80 04 21 */ bctrl /* 8031A668 003175C8 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031A66C 003175CC C0 1F 00 3C */ lfs f0, 0x3c(r31) /* 8031A670 003175D0 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8031A674 003175D4 40 82 00 14 */ bne lbl_8031A688 /* 8031A678 003175D8 38 7F 01 50 */ addi r3, r31, 0x150 /* 8031A67C 003175DC 38 80 FF FF */ li r4, -1 /* 8031A680 003175E0 4B FF 7F 85 */ bl __dt__13CGlobalRandomFv /* 8031A684 003175E4 48 00 17 E4 */ b lbl_8031BE68 lbl_8031A688: /* 8031A688 003175E8 38 60 00 00 */ li r3, 0 /* 8031A68C 003175EC 4B FF 13 E5 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 8031A690 003175F0 80 DE 03 38 */ lwz r6, 0x338(r30) /* 8031A694 003175F4 3C 60 80 5A */ lis r3, mViewMatrix__9CGraphics@ha /* 8031A698 003175F8 38 83 61 D4 */ addi r4, r3, mViewMatrix__9CGraphics@l /* 8031A69C 003175FC 20 A6 FF FF */ subfic r5, r6, -1 /* 8031A6A0 00317600 38 06 00 01 */ addi r0, r6, 1 /* 8031A6A4 00317604 7C A0 03 78 */ or r0, r5, r0 /* 8031A6A8 00317608 38 7F 03 34 */ addi r3, r31, 0x334 /* 8031A6AC 0031760C 54 14 0F FE */ srwi r20, r0, 0x1f /* 8031A6B0 00317610 4B FF 84 C5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031A6B4 00317614 38 7F 03 04 */ addi r3, r31, 0x304 /* 8031A6B8 00317618 38 9F 03 34 */ addi r4, r31, 0x334 /* 8031A6BC 0031761C 4B FF 84 B9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031A6C0 00317620 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8031A6C4 00317624 38 7F 02 74 */ addi r3, r31, 0x274 /* 8031A6C8 00317628 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l /* 8031A6CC 0031762C 38 9F 03 04 */ addi r4, r31, 0x304 /* 8031A6D0 00317630 C0 45 00 00 */ lfs f2, 0(r5) /* 8031A6D4 00317634 C0 25 00 04 */ lfs f1, 4(r5) /* 8031A6D8 00317638 C0 05 00 08 */ lfs f0, 8(r5) /* 8031A6DC 0031763C D0 5F 03 10 */ stfs f2, 0x310(r31) /* 8031A6E0 00317640 D0 3F 03 20 */ stfs f1, 0x320(r31) /* 8031A6E4 00317644 D0 1F 03 30 */ stfs f0, 0x330(r31) /* 8031A6E8 00317648 4B FF 85 B5 */ bl GetQuickInverse__12CTransform4fCFv /* 8031A6EC 0031764C 38 7F 02 A4 */ addi r3, r31, 0x2a4 /* 8031A6F0 00317650 38 9F 02 74 */ addi r4, r31, 0x274 /* 8031A6F4 00317654 38 BE 02 2C */ addi r5, r30, 0x22c /* 8031A6F8 00317658 4B FF 82 59 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031A6FC 0031765C 38 7F 02 D4 */ addi r3, r31, 0x2d4 /* 8031A700 00317660 38 9F 02 A4 */ addi r4, r31, 0x2a4 /* 8031A704 00317664 4B FF 84 71 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031A708 00317668 38 7F 01 B4 */ addi r3, r31, 0x1b4 /* 8031A70C 0031766C 38 9E 00 E8 */ addi r4, r30, 0xe8 /* 8031A710 00317670 4B FF 8A 31 */ bl Translate__12CTransform4fFRC9CVector3f /* 8031A714 00317674 38 7F 01 E4 */ addi r3, r31, 0x1e4 /* 8031A718 00317678 38 9F 01 B4 */ addi r4, r31, 0x1b4 /* 8031A71C 0031767C 38 BE 01 0C */ addi r5, r30, 0x10c /* 8031A720 00317680 4B FF 82 31 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031A724 00317684 38 7F 02 14 */ addi r3, r31, 0x214 /* 8031A728 00317688 38 9F 01 E4 */ addi r4, r31, 0x1e4 /* 8031A72C 0031768C 38 BF 03 04 */ addi r5, r31, 0x304 /* 8031A730 00317690 4B FF 82 21 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031A734 00317694 38 7F 02 44 */ addi r3, r31, 0x244 /* 8031A738 00317698 38 9F 02 14 */ addi r4, r31, 0x214 /* 8031A73C 0031769C 38 BE 01 78 */ addi r5, r30, 0x178 /* 8031A740 003176A0 4B FF 82 11 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031A744 003176A4 38 7F 03 04 */ addi r3, r31, 0x304 /* 8031A748 003176A8 38 9F 02 44 */ addi r4, r31, 0x244 /* 8031A74C 003176AC 4B FF 83 F5 */ bl __as__12CTransform4fFRC12CTransform4f /* 8031A750 003176B0 88 1E 02 6C */ lbz r0, 0x26c(r30) /* 8031A754 003176B4 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 8031A758 003176B8 41 82 00 20 */ beq lbl_8031A778 /* 8031A75C 003176BC 38 7F 01 84 */ addi r3, r31, 0x184 /* 8031A760 003176C0 38 9F 03 04 */ addi r4, r31, 0x304 /* 8031A764 003176C4 38 BF 02 D4 */ addi r5, r31, 0x2d4 /* 8031A768 003176C8 4B FF 81 E9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031A76C 003176CC 38 7F 01 84 */ addi r3, r31, 0x184 /* 8031A770 003176D0 4B FF 1E 71 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f /* 8031A774 003176D4 48 00 00 0C */ b lbl_8031A780 lbl_8031A778: /* 8031A778 003176D8 38 7F 03 04 */ addi r3, r31, 0x304 /* 8031A77C 003176DC 4B FF 1E 65 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f lbl_8031A780: /* 8031A780 003176E0 38 60 00 04 */ li r3, 4 /* 8031A784 003176E4 38 80 00 00 */ li r4, 0 /* 8031A788 003176E8 38 A0 00 00 */ li r5, 0 /* 8031A78C 003176EC 38 C0 00 07 */ li r6, 7 /* 8031A790 003176F0 38 E0 00 00 */ li r7, 0 /* 8031A794 003176F4 4B FF 12 95 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 8031A798 003176F8 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031A79C 003176FC 3B 80 00 01 */ li r28, 1 /* 8031A7A0 00317700 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031A7A4 00317704 D0 3F 01 40 */ stfs f1, 0x140(r31) /* 8031A7A8 00317708 D0 1F 01 48 */ stfs f0, 0x148(r31) /* 8031A7AC 0031770C D0 3F 01 44 */ stfs f1, 0x144(r31) /* 8031A7B0 00317710 D0 1F 01 4C */ stfs f0, 0x14c(r31) /* 8031A7B4 00317714 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A7B8 00317718 80 63 00 3C */ lwz r3, 0x3c(r3) /* 8031A7BC 0031771C 7C 60 00 34 */ cntlzw r0, r3 /* 8031A7C0 00317720 28 03 00 00 */ cmplwi r3, 0 /* 8031A7C4 00317724 54 1D D9 7E */ srwi r29, r0, 5 /* 8031A7C8 00317728 41 82 00 90 */ beq lbl_8031A858 /* 8031A7CC 0031772C 81 83 00 00 */ lwz r12, 0(r3) /* 8031A7D0 00317730 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031A7D4 00317734 7D 89 03 A6 */ mtctr r12 /* 8031A7D8 00317738 4E 80 04 21 */ bctrl /* 8031A7DC 0031773C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031A7E0 00317740 41 82 00 78 */ beq lbl_8031A858 /* 8031A7E4 00317744 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031A7E8 00317748 38 BF 00 38 */ addi r5, r31, 0x38 /* 8031A7EC 0031774C 38 80 00 00 */ li r4, 0 /* 8031A7F0 00317750 D0 1F 00 38 */ stfs f0, 0x38(r31) /* 8031A7F4 00317754 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A7F8 00317758 80 63 00 3C */ lwz r3, 0x3c(r3) /* 8031A7FC 0031775C 81 83 00 00 */ lwz r12, 0(r3) /* 8031A800 00317760 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031A804 00317764 7D 89 03 A6 */ mtctr r12 /* 8031A808 00317768 4E 80 04 21 */ bctrl /* 8031A80C 0031776C C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031A810 00317770 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 8031A814 00317774 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8031A818 00317778 40 82 00 40 */ bne lbl_8031A858 /* 8031A81C 0031777C C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031A820 00317780 38 BF 00 38 */ addi r5, r31, 0x38 /* 8031A824 00317784 38 80 00 01 */ li r4, 1 /* 8031A828 00317788 D0 1F 00 38 */ stfs f0, 0x38(r31) /* 8031A82C 0031778C 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A830 00317790 80 63 00 3C */ lwz r3, 0x3c(r3) /* 8031A834 00317794 81 83 00 00 */ lwz r12, 0(r3) /* 8031A838 00317798 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031A83C 0031779C 7D 89 03 A6 */ mtctr r12 /* 8031A840 003177A0 4E 80 04 21 */ bctrl /* 8031A844 003177A4 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031A848 003177A8 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 8031A84C 003177AC FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8031A850 003177B0 40 82 00 08 */ bne lbl_8031A858 /* 8031A854 003177B4 3B A0 00 01 */ li r29, 1 lbl_8031A858: /* 8031A858 003177B8 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A85C 003177BC 80 83 00 40 */ lwz r4, 0x40(r3) /* 8031A860 003177C0 28 04 00 00 */ cmplwi r4, 0 /* 8031A864 003177C4 41 82 01 EC */ beq lbl_8031AA50 /* 8031A868 003177C8 80 BE 00 3C */ lwz r5, 0x3c(r30) /* 8031A86C 003177CC 38 7F 01 1C */ addi r3, r31, 0x11c /* 8031A870 003177D0 81 84 00 00 */ lwz r12, 0(r4) /* 8031A874 003177D4 80 A5 00 28 */ lwz r5, 0x28(r5) /* 8031A878 003177D8 80 1E 00 74 */ lwz r0, 0x74(r30) /* 8031A87C 003177DC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031A880 003177E0 7C A5 00 50 */ subf r5, r5, r0 /* 8031A884 003177E4 7D 89 03 A6 */ mtctr r12 /* 8031A888 003177E8 4E 80 04 21 */ bctrl /* 8031A88C 003177EC 38 7F 00 40 */ addi r3, r31, 0x40 /* 8031A890 003177F0 38 9F 01 1C */ addi r4, r31, 0x11c /* 8031A894 003177F4 48 02 66 15 */ bl __ct__6CTokenFRC6CToken /* 8031A898 003177F8 38 7F 01 1C */ addi r3, r31, 0x11c /* 8031A89C 003177FC 38 80 00 00 */ li r4, 0 /* 8031A8A0 00317800 48 02 65 A1 */ bl __dt__6CTokenFv /* 8031A8A4 00317804 38 7F 00 40 */ addi r3, r31, 0x40 /* 8031A8A8 00317808 48 02 65 65 */ bl GetObj__6CTokenFv /* 8031A8AC 0031780C 80 63 00 04 */ lwz r3, 4(r3) /* 8031A8B0 00317810 38 80 00 00 */ li r4, 0 /* 8031A8B4 00317814 38 A0 00 01 */ li r5, 1 /* 8031A8B8 00317818 4B FF 4E 85 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode /* 8031A8BC 0031781C 3C 80 80 5A */ lis r4, kEnvModulate__9CGraphics@ha /* 8031A8C0 00317820 38 60 00 00 */ li r3, 0 /* 8031A8C4 00317824 38 84 5E BC */ addi r4, r4, kEnvModulate__9CGraphics@l /* 8031A8C8 00317828 4B FE F9 F1 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 8031A8CC 0031782C 28 14 00 00 */ cmplwi r20, 0 /* 8031A8D0 00317830 41 82 01 18 */ beq lbl_8031A9E8 /* 8031A8D4 00317834 88 0D A8 BB */ lbz r0, lbl_805A947B@sda21(r13) /* 8031A8D8 00317838 7C 00 07 75 */ extsb. r0, r0 /* 8031A8DC 0031783C 40 82 00 F8 */ bne lbl_8031A9D4 /* 8031A8E0 00317840 38 00 00 00 */ li r0, 0 /* 8031A8E4 00317844 38 A0 00 01 */ li r5, 1 /* 8031A8E8 00317848 98 BF 01 5C */ stb r5, 0x15c(r31) /* 8031A8EC 0031784C 38 7F 00 14 */ addi r3, r31, 0x14 /* 8031A8F0 00317850 38 80 00 07 */ li r4, 7 /* 8031A8F4 00317854 90 1F 01 60 */ stw r0, 0x160(r31) /* 8031A8F8 00317858 90 1F 01 64 */ stw r0, 0x164(r31) /* 8031A8FC 0031785C 90 1F 01 68 */ stw r0, 0x168(r31) /* 8031A900 00317860 90 1F 01 6C */ stw r0, 0x16c(r31) /* 8031A904 00317864 98 BF 01 70 */ stb r5, 0x170(r31) /* 8031A908 00317868 90 1F 01 74 */ stw r0, 0x174(r31) /* 8031A90C 0031786C 90 1F 01 78 */ stw r0, 0x178(r31) /* 8031A910 00317870 90 1F 01 7C */ stw r0, 0x17c(r31) /* 8031A914 00317874 90 1F 01 80 */ stw r0, 0x180(r31) /* 8031A918 00317878 4B FE E8 15 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 8031A91C 0031787C 38 7F 00 18 */ addi r3, r31, 0x18 /* 8031A920 00317880 38 80 00 05 */ li r4, 5 /* 8031A924 00317884 4B FE E8 09 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 8031A928 00317888 38 7F 00 1C */ addi r3, r31, 0x1c /* 8031A92C 0031788C 38 80 00 00 */ li r4, 0 /* 8031A930 00317890 4B FE E7 FD */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 8031A934 00317894 38 7F 00 20 */ addi r3, r31, 0x20 /* 8031A938 00317898 38 80 00 07 */ li r4, 7 /* 8031A93C 0031789C 4B FE E7 F1 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc /* 8031A940 003178A0 80 FF 00 20 */ lwz r7, 0x20(r31) /* 8031A944 003178A4 38 7F 00 24 */ addi r3, r31, 0x24 /* 8031A948 003178A8 80 DF 00 1C */ lwz r6, 0x1c(r31) /* 8031A94C 003178AC 38 80 00 0F */ li r4, 0xf /* 8031A950 003178B0 80 BF 00 18 */ lwz r5, 0x18(r31) /* 8031A954 003178B4 80 1F 00 14 */ lwz r0, 0x14(r31) /* 8031A958 003178B8 90 FF 00 FC */ stw r7, 0xfc(r31) /* 8031A95C 003178BC 90 DF 01 00 */ stw r6, 0x100(r31) /* 8031A960 003178C0 90 BF 01 04 */ stw r5, 0x104(r31) /* 8031A964 003178C4 90 1F 01 08 */ stw r0, 0x108(r31) /* 8031A968 003178C8 4B FE E7 BD */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 8031A96C 003178CC 38 7F 00 28 */ addi r3, r31, 0x28 /* 8031A970 003178D0 38 80 00 0A */ li r4, 0xa /* 8031A974 003178D4 4B FE E7 B1 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 8031A978 003178D8 38 7F 00 2C */ addi r3, r31, 0x2c /* 8031A97C 003178DC 38 80 00 00 */ li r4, 0 /* 8031A980 003178E0 4B FE E7 A5 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 8031A984 003178E4 38 7F 00 30 */ addi r3, r31, 0x30 /* 8031A988 003178E8 38 80 00 0F */ li r4, 0xf /* 8031A98C 003178EC 4B FE E7 99 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc /* 8031A990 003178F0 80 BF 00 30 */ lwz r5, 0x30(r31) /* 8031A994 003178F4 3C 60 80 4C */ lis r3, "ModulatePreviousTEVWithRasColor$6239"@ha /* 8031A998 003178F8 81 3F 00 2C */ lwz r9, 0x2c(r31) /* 8031A99C 003178FC 38 63 FE 68 */ addi r3, r3, "ModulatePreviousTEVWithRasColor$6239"@l /* 8031A9A0 00317900 81 1F 00 28 */ lwz r8, 0x28(r31) /* 8031A9A4 00317904 38 9F 01 0C */ addi r4, r31, 0x10c /* 8031A9A8 00317908 80 1F 00 24 */ lwz r0, 0x24(r31) /* 8031A9AC 0031790C 38 DF 01 70 */ addi r6, r31, 0x170 /* 8031A9B0 00317910 90 BF 01 0C */ stw r5, 0x10c(r31) /* 8031A9B4 00317914 38 BF 00 FC */ addi r5, r31, 0xfc /* 8031A9B8 00317918 38 FF 01 5C */ addi r7, r31, 0x15c /* 8031A9BC 0031791C 91 3F 01 10 */ stw r9, 0x110(r31) /* 8031A9C0 00317920 91 1F 01 14 */ stw r8, 0x114(r31) /* 8031A9C4 00317924 90 1F 01 18 */ stw r0, 0x118(r31) /* 8031A9C8 00317928 4B FE E8 8D */ bl __ct__Q213CTevCombiners8CTevPassFRCQ213CTevCombiners9ColorPassRCQ213CTevCombiners9AlphaPassRCQ213CTevCombiners6CTevOpRCQ213CTevCombiners6CTevOp /* 8031A9CC 0031792C 38 00 00 01 */ li r0, 1 /* 8031A9D0 00317930 98 0D A8 BB */ stb r0, lbl_805A947B@sda21(r13) lbl_8031A9D4: /* 8031A9D4 00317934 3C 80 80 4C */ lis r4, "ModulatePreviousTEVWithRasColor$6239"@ha /* 8031A9D8 00317938 38 60 00 01 */ li r3, 1 /* 8031A9DC 0031793C 38 84 FE 68 */ addi r4, r4, "ModulatePreviousTEVWithRasColor$6239"@l /* 8031A9E0 00317940 4B FE F8 D9 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 8031A9E4 00317944 48 00 00 10 */ b lbl_8031A9F4 lbl_8031A9E8: /* 8031A9E8 00317948 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 8031A9EC 0031794C 38 60 00 01 */ li r3, 1 /* 8031A9F0 00317950 4B FE F8 C9 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass lbl_8031A9F4: /* 8031A9F4 00317954 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031A9F8 00317958 38 BF 01 40 */ addi r5, r31, 0x140 /* 8031A9FC 0031795C 80 9E 00 3C */ lwz r4, 0x3c(r30) /* 8031AA00 00317960 80 63 00 40 */ lwz r3, 0x40(r3) /* 8031AA04 00317964 80 84 00 28 */ lwz r4, 0x28(r4) /* 8031AA08 00317968 81 83 00 00 */ lwz r12, 0(r3) /* 8031AA0C 0031796C 80 1E 00 74 */ lwz r0, 0x74(r30) /* 8031AA10 00317970 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031AA14 00317974 7C 84 00 50 */ subf r4, r4, r0 /* 8031AA18 00317978 7D 89 03 A6 */ mtctr r12 /* 8031AA1C 0031797C 4E 80 04 21 */ bctrl /* 8031AA20 00317980 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031AA24 00317984 80 63 00 40 */ lwz r3, 0x40(r3) /* 8031AA28 00317988 81 83 00 00 */ lwz r12, 0(r3) /* 8031AA2C 0031798C 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031AA30 00317990 7D 89 03 A6 */ mtctr r12 /* 8031AA34 00317994 4E 80 04 21 */ bctrl /* 8031AA38 00317998 7C 60 1B 78 */ mr r0, r3 /* 8031AA3C 0031799C 38 7F 00 40 */ addi r3, r31, 0x40 /* 8031AA40 003179A0 7C 1C 03 78 */ mr r28, r0 /* 8031AA44 003179A4 38 80 00 00 */ li r4, 0 /* 8031AA48 003179A8 48 02 63 F9 */ bl __dt__6CTokenFv /* 8031AA4C 003179AC 48 00 00 1C */ b lbl_8031AA68 lbl_8031AA50: /* 8031AA50 003179B0 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 8031AA54 003179B4 38 60 00 00 */ li r3, 0 /* 8031AA58 003179B8 4B FE F8 61 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 8031AA5C 003179BC 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 8031AA60 003179C0 38 60 00 01 */ li r3, 1 /* 8031AA64 003179C4 4B FE F8 55 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass lbl_8031AA68: /* 8031AA68 003179C8 3C 60 80 3D */ lis r3, lbl_803D7848@ha /* 8031AA6C 003179CC 38 63 78 48 */ addi r3, r3, lbl_803D7848@l /* 8031AA70 003179D0 4B FE D3 B9 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList /* 8031AA74 003179D4 28 14 00 00 */ cmplwi r20, 0 /* 8031AA78 003179D8 41 82 00 78 */ beq lbl_8031AAF0 /* 8031AA7C 003179DC 38 60 00 02 */ li r3, 2 /* 8031AA80 003179E0 4B FE E3 D1 */ bl SetNumChans__3CGXFUc /* 8031AA84 003179E4 3B 60 00 02 */ li r27, 2 /* 8031AA88 003179E8 38 60 00 01 */ li r3, 1 /* 8031AA8C 003179EC 38 80 00 FF */ li r4, 0xff /* 8031AA90 003179F0 38 A0 00 FF */ li r5, 0xff /* 8031AA94 003179F4 38 C0 00 05 */ li r6, 5 /* 8031AA98 003179F8 4B FE DE B5 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 8031AA9C 003179FC C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031AAA0 00317A00 38 7F 00 10 */ addi r3, r31, 0x10 /* 8031AAA4 00317A04 C0 82 C9 F0 */ lfs f4, lbl_805AE710@sda21(r2) /* 8031AAA8 00317A08 FC 40 08 90 */ fmr f2, f1 /* 8031AAAC 00317A0C FC 60 08 90 */ fmr f3, f1 /* 8031AAB0 00317A10 48 04 89 3D */ bl __ct__6CColorFffff /* 8031AAB4 00317A14 7C 64 1B 78 */ mr r4, r3 /* 8031AAB8 00317A18 38 60 00 01 */ li r3, 1 /* 8031AABC 00317A1C 4B FE E3 09 */ bl SetChanAmbColor__3CGXFQ23CGX10EChannelIdRC8_GXColor /* 8031AAC0 00317A20 38 9E 03 38 */ addi r4, r30, 0x338 /* 8031AAC4 00317A24 38 60 00 01 */ li r3, 1 /* 8031AAC8 00317A28 4B FE E2 95 */ bl SetChanMatColor__3CGXFQ23CGX10EChannelIdRC8_GXColor /* 8031AACC 00317A2C 38 60 00 01 */ li r3, 1 /* 8031AAD0 00317A30 38 80 00 00 */ li r4, 0 /* 8031AAD4 00317A34 38 A0 00 00 */ li r5, 0 /* 8031AAD8 00317A38 38 C0 00 00 */ li r6, 0 /* 8031AADC 00317A3C 38 E0 00 00 */ li r7, 0 /* 8031AAE0 00317A40 39 00 00 00 */ li r8, 0 /* 8031AAE4 00317A44 39 20 00 02 */ li r9, 2 /* 8031AAE8 00317A48 4B FE E1 E5 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 8031AAEC 00317A4C 48 00 00 10 */ b lbl_8031AAFC lbl_8031AAF0: /* 8031AAF0 00317A50 38 60 00 01 */ li r3, 1 /* 8031AAF4 00317A54 4B FE E3 5D */ bl SetNumChans__3CGXFUc /* 8031AAF8 00317A58 3B 60 00 01 */ li r27, 1 lbl_8031AAFC: /* 8031AAFC 00317A5C 88 0D A8 B9 */ lbz r0, sSubtractBlend__11CElementGen@sda21(r13) /* 8031AB00 00317A60 8B 4D A8 B8 */ lbz r26, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13) /* 8031AB04 00317A64 28 00 00 00 */ cmplwi r0, 0 /* 8031AB08 00317A68 41 82 00 98 */ beq lbl_8031ABA0 /* 8031AB0C 00317A6C 88 1E 02 6C */ lbz r0, 0x26c(r30) /* 8031AB10 00317A70 38 80 00 03 */ li r4, 3 /* 8031AB14 00317A74 38 A0 00 00 */ li r5, 0 /* 8031AB18 00317A78 54 03 EF FE */ rlwinm r3, r0, 0x1d, 0x1f, 0x1f /* 8031AB1C 00317A7C 4B FF 0F 79 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 8031AB20 00317A80 38 60 00 03 */ li r3, 3 /* 8031AB24 00317A84 38 80 00 01 */ li r4, 1 /* 8031AB28 00317A88 38 A0 00 00 */ li r5, 0 /* 8031AB2C 00317A8C 38 C0 00 00 */ li r6, 0 /* 8031AB30 00317A90 4B FE DD A1 */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp /* 8031AB34 00317A94 28 1A 00 00 */ cmplwi r26, 0 /* 8031AB38 00317A98 41 82 01 54 */ beq lbl_8031AC8C /* 8031AB3C 00317A9C 7F 63 DB 78 */ mr r3, r27 /* 8031AB40 00317AA0 38 80 00 0F */ li r4, 0xf /* 8031AB44 00317AA4 38 A0 00 00 */ li r5, 0 /* 8031AB48 00317AA8 38 C0 00 01 */ li r6, 1 /* 8031AB4C 00317AAC 38 E0 00 0F */ li r7, 0xf /* 8031AB50 00317AB0 4B FE E0 9D */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 8031AB54 00317AB4 7F 63 DB 78 */ mr r3, r27 /* 8031AB58 00317AB8 38 80 00 07 */ li r4, 7 /* 8031AB5C 00317ABC 38 A0 00 04 */ li r5, 4 /* 8031AB60 00317AC0 38 C0 00 00 */ li r6, 0 /* 8031AB64 00317AC4 38 E0 00 07 */ li r7, 7 /* 8031AB68 00317AC8 4B FE E0 2D */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg /* 8031AB6C 00317ACC 7F 63 DB 78 */ mr r3, r27 /* 8031AB70 00317AD0 4B FE D0 E1 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID /* 8031AB74 00317AD4 7F 63 DB 78 */ mr r3, r27 /* 8031AB78 00317AD8 38 80 00 00 */ li r4, 0 /* 8031AB7C 00317ADC 38 A0 00 00 */ li r5, 0 /* 8031AB80 00317AE0 38 C0 00 FF */ li r6, 0xff /* 8031AB84 00317AE4 4B FE DD C9 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 8031AB88 00317AE8 7F 63 DB 78 */ mr r3, r27 /* 8031AB8C 00317AEC 38 80 00 00 */ li r4, 0 /* 8031AB90 00317AF0 38 A0 00 01 */ li r5, 1 /* 8031AB94 00317AF4 48 06 0C 9D */ bl GXSetTevSwapMode /* 8031AB98 00317AF8 3B 7B 00 01 */ addi r27, r27, 1 /* 8031AB9C 00317AFC 48 00 00 F0 */ b lbl_8031AC8C lbl_8031ABA0: /* 8031ABA0 00317B00 28 1A 00 00 */ cmplwi r26, 0 /* 8031ABA4 00317B04 41 82 00 90 */ beq lbl_8031AC34 /* 8031ABA8 00317B08 88 1E 02 6C */ lbz r0, 0x26c(r30) /* 8031ABAC 00317B0C 38 80 00 03 */ li r4, 3 /* 8031ABB0 00317B10 38 A0 00 00 */ li r5, 0 /* 8031ABB4 00317B14 54 03 EF FE */ rlwinm r3, r0, 0x1d, 0x1f, 0x1f /* 8031ABB8 00317B18 4B FF 0E DD */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 8031ABBC 00317B1C 38 60 00 01 */ li r3, 1 /* 8031ABC0 00317B20 38 80 00 01 */ li r4, 1 /* 8031ABC4 00317B24 38 A0 00 01 */ li r5, 1 /* 8031ABC8 00317B28 38 C0 00 00 */ li r6, 0 /* 8031ABCC 00317B2C 4B FF 0E 85 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 8031ABD0 00317B30 7F 63 DB 78 */ mr r3, r27 /* 8031ABD4 00317B34 38 80 00 0F */ li r4, 0xf /* 8031ABD8 00317B38 38 A0 00 00 */ li r5, 0 /* 8031ABDC 00317B3C 38 C0 00 01 */ li r6, 1 /* 8031ABE0 00317B40 38 E0 00 0F */ li r7, 0xf /* 8031ABE4 00317B44 4B FE E0 09 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg /* 8031ABE8 00317B48 7F 63 DB 78 */ mr r3, r27 /* 8031ABEC 00317B4C 38 80 00 07 */ li r4, 7 /* 8031ABF0 00317B50 38 A0 00 04 */ li r5, 4 /* 8031ABF4 00317B54 38 C0 00 00 */ li r6, 0 /* 8031ABF8 00317B58 38 E0 00 07 */ li r7, 7 /* 8031ABFC 00317B5C 4B FE DF 99 */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg /* 8031AC00 00317B60 7F 63 DB 78 */ mr r3, r27 /* 8031AC04 00317B64 4B FE D0 4D */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID /* 8031AC08 00317B68 7F 63 DB 78 */ mr r3, r27 /* 8031AC0C 00317B6C 38 80 00 00 */ li r4, 0 /* 8031AC10 00317B70 38 A0 00 00 */ li r5, 0 /* 8031AC14 00317B74 38 C0 00 FF */ li r6, 0xff /* 8031AC18 00317B78 4B FE DD 35 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 8031AC1C 00317B7C 7F 63 DB 78 */ mr r3, r27 /* 8031AC20 00317B80 38 80 00 00 */ li r4, 0 /* 8031AC24 00317B84 38 A0 00 01 */ li r5, 1 /* 8031AC28 00317B88 48 06 0C 09 */ bl GXSetTevSwapMode /* 8031AC2C 00317B8C 3B 7B 00 01 */ addi r27, r27, 1 /* 8031AC30 00317B90 48 00 00 5C */ b lbl_8031AC8C lbl_8031AC34: /* 8031AC34 00317B94 88 9E 02 6C */ lbz r4, 0x26c(r30) /* 8031AC38 00317B98 54 80 DF FF */ rlwinm. r0, r4, 0x1b, 0x1f, 0x1f /* 8031AC3C 00317B9C 41 82 00 2C */ beq lbl_8031AC68 /* 8031AC40 00317BA0 54 83 EF FE */ rlwinm r3, r4, 0x1d, 0x1f, 0x1f /* 8031AC44 00317BA4 38 80 00 03 */ li r4, 3 /* 8031AC48 00317BA8 38 A0 00 00 */ li r5, 0 /* 8031AC4C 00317BAC 4B FF 0E 49 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 8031AC50 00317BB0 38 60 00 01 */ li r3, 1 /* 8031AC54 00317BB4 38 80 00 04 */ li r4, 4 /* 8031AC58 00317BB8 38 A0 00 01 */ li r5, 1 /* 8031AC5C 00317BBC 38 C0 00 00 */ li r6, 0 /* 8031AC60 00317BC0 4B FF 0D F1 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp /* 8031AC64 00317BC4 48 00 00 28 */ b lbl_8031AC8C lbl_8031AC68: /* 8031AC68 00317BC8 54 83 EF FE */ rlwinm r3, r4, 0x1d, 0x1f, 0x1f /* 8031AC6C 00317BCC 54 85 E7 FE */ rlwinm r5, r4, 0x1c, 0x1f, 0x1f /* 8031AC70 00317BD0 38 80 00 03 */ li r4, 3 /* 8031AC74 00317BD4 4B FF 0E 21 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb /* 8031AC78 00317BD8 38 60 00 01 */ li r3, 1 /* 8031AC7C 00317BDC 38 80 00 04 */ li r4, 4 /* 8031AC80 00317BE0 38 A0 00 05 */ li r5, 5 /* 8031AC84 00317BE4 38 C0 00 00 */ li r6, 0 /* 8031AC88 00317BE8 4B FF 0D C9 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp lbl_8031AC8C: /* 8031AC8C 00317BEC 57 63 06 3E */ clrlwi r3, r27, 0x18 /* 8031AC90 00317BF0 4B FE E0 01 */ bl SetNumTevStages__3CGXFUc /* 8031AC94 00317BF4 38 60 00 01 */ li r3, 1 /* 8031AC98 00317BF8 4B FE E1 7D */ bl SetNumTexGens__3CGXFUc /* 8031AC9C 00317BFC 38 60 00 00 */ li r3, 0 /* 8031ACA0 00317C00 38 80 00 00 */ li r4, 0 /* 8031ACA4 00317C04 38 A0 00 00 */ li r5, 0 /* 8031ACA8 00317C08 38 C0 00 04 */ li r6, 4 /* 8031ACAC 00317C0C 4B FE DC A1 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 8031ACB0 00317C10 38 60 00 00 */ li r3, 0 /* 8031ACB4 00317C14 38 80 00 00 */ li r4, 0 /* 8031ACB8 00317C18 38 A0 00 00 */ li r5, 0 /* 8031ACBC 00317C1C 38 C0 00 01 */ li r6, 1 /* 8031ACC0 00317C20 38 E0 00 00 */ li r7, 0 /* 8031ACC4 00317C24 39 00 00 00 */ li r8, 0 /* 8031ACC8 00317C28 39 20 00 02 */ li r9, 2 /* 8031ACCC 00317C2C 4B FE E0 01 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 8031ACD0 00317C30 38 60 00 00 */ li r3, 0 /* 8031ACD4 00317C34 38 80 00 01 */ li r4, 1 /* 8031ACD8 00317C38 38 A0 00 04 */ li r5, 4 /* 8031ACDC 00317C3C 38 C0 00 3C */ li r6, 0x3c /* 8031ACE0 00317C40 38 E0 00 00 */ li r7, 0 /* 8031ACE4 00317C44 39 00 00 7D */ li r8, 0x7d /* 8031ACE8 00317C48 4B FE D9 E5 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx /* 8031ACEC 00317C4C 38 60 00 06 */ li r3, 6 /* 8031ACF0 00317C50 38 80 00 09 */ li r4, 9 /* 8031ACF4 00317C54 38 A0 00 01 */ li r5, 1 /* 8031ACF8 00317C58 38 C0 00 04 */ li r6, 4 /* 8031ACFC 00317C5C 38 E0 00 00 */ li r7, 0 /* 8031AD00 00317C60 48 05 CA 8D */ bl GXSetVtxAttrFmt /* 8031AD04 00317C64 38 60 00 06 */ li r3, 6 /* 8031AD08 00317C68 38 80 00 0B */ li r4, 0xb /* 8031AD0C 00317C6C 38 A0 00 01 */ li r5, 1 /* 8031AD10 00317C70 38 C0 00 05 */ li r6, 5 /* 8031AD14 00317C74 38 E0 00 00 */ li r7, 0 /* 8031AD18 00317C78 48 05 CA 75 */ bl GXSetVtxAttrFmt /* 8031AD1C 00317C7C 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 8031AD20 00317C80 41 82 00 20 */ beq lbl_8031AD40 /* 8031AD24 00317C84 38 60 00 06 */ li r3, 6 /* 8031AD28 00317C88 38 80 00 0D */ li r4, 0xd /* 8031AD2C 00317C8C 38 A0 00 01 */ li r5, 1 /* 8031AD30 00317C90 38 C0 00 01 */ li r6, 1 /* 8031AD34 00317C94 38 E0 00 01 */ li r7, 1 /* 8031AD38 00317C98 48 05 CA 55 */ bl GXSetVtxAttrFmt /* 8031AD3C 00317C9C 48 00 00 1C */ b lbl_8031AD58 lbl_8031AD40: /* 8031AD40 00317CA0 38 60 00 06 */ li r3, 6 /* 8031AD44 00317CA4 38 80 00 0D */ li r4, 0xd /* 8031AD48 00317CA8 38 A0 00 01 */ li r5, 1 /* 8031AD4C 00317CAC 38 C0 00 04 */ li r6, 4 /* 8031AD50 00317CB0 38 E0 00 00 */ li r7, 0 /* 8031AD54 00317CB4 48 05 CA 39 */ bl GXSetVtxAttrFmt lbl_8031AD58: /* 8031AD58 00317CB8 80 6D 9D 0C */ lwz r3, lbl_805A88CC@sda21(r13) /* 8031AD5C 00317CBC 80 1E 02 70 */ lwz r0, 0x270(r30) /* 8031AD60 00317CC0 82 FE 00 34 */ lwz r23, 0x34(r30) /* 8031AD64 00317CC4 7C 03 00 00 */ cmpw r3, r0 /* 8031AD68 00317CC8 40 80 00 0C */ bge lbl_8031AD74 /* 8031AD6C 00317CCC 38 7E 02 70 */ addi r3, r30, 0x270 /* 8031AD70 00317CD0 48 00 00 08 */ b lbl_8031AD78 lbl_8031AD74: /* 8031AD74 00317CD4 38 6D 9D 0C */ addi r3, r13, lbl_805A88CC@sda21 lbl_8031AD78: /* 8031AD78 00317CD8 88 1E 02 6C */ lbz r0, 0x26c(r30) /* 8031AD7C 00317CDC 82 A3 00 00 */ lwz r21, 0(r3) /* 8031AD80 00317CE0 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8031AD84 00317CE4 40 82 00 18 */ bne lbl_8031AD9C /* 8031AD88 00317CE8 56 E5 14 3A */ rlwinm r5, r23, 2, 0x10, 0x1d /* 8031AD8C 00317CEC 38 60 00 80 */ li r3, 0x80 /* 8031AD90 00317CF0 38 80 00 06 */ li r4, 6 /* 8031AD94 00317CF4 4B FE D7 F1 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 8031AD98 00317CF8 48 00 00 1C */ b lbl_8031ADB4 lbl_8031AD9C: /* 8031AD9C 00317CFC 56 E0 10 3A */ slwi r0, r23, 2 /* 8031ADA0 00317D00 38 60 00 80 */ li r3, 0x80 /* 8031ADA4 00317D04 7C 15 01 D6 */ mullw r0, r21, r0 /* 8031ADA8 00317D08 38 80 00 06 */ li r4, 6 /* 8031ADAC 00317D0C 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 8031ADB0 00317D10 4B FE D7 D5 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs lbl_8031ADB4: /* 8031ADB4 00317D14 C0 5E 00 80 */ lfs f2, 0x80(r30) /* 8031ADB8 00317D18 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 8031ADBC 00317D1C C8 02 CA 08 */ lfd f0, lbl_805AE728@sda21(r2) /* 8031ADC0 00317D20 EC 22 08 28 */ fsubs f1, f2, f1 /* 8031ADC4 00317D24 FC 20 0A 10 */ fabs f1, f1 /* 8031ADC8 00317D28 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8031ADCC 00317D2C 7C 00 00 26 */ mfcr r0 /* 8031ADD0 00317D30 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031ADD4 00317D34 54 04 0F FE */ srwi r4, r0, 0x1f /* 8031ADD8 00317D38 3A 80 00 00 */ li r20, 0 /* 8031ADDC 00317D3C 88 03 00 30 */ lbz r0, 0x30(r3) /* 8031ADE0 00317D40 7C 83 00 34 */ cntlzw r3, r4 /* 8031ADE4 00317D44 54 78 D9 7E */ srwi r24, r3, 5 /* 8031ADE8 00317D48 54 19 EF FF */ rlwinm. r25, r0, 0x1d, 0x1f, 0x1f /* 8031ADEC 00317D4C 41 82 00 F4 */ beq lbl_8031AEE0 /* 8031ADF0 00317D50 56 E3 20 36 */ slwi r3, r23, 4 /* 8031ADF4 00317D54 80 01 00 00 */ lwz r0, 0(r1) /* 8031ADF8 00317D58 7E 83 00 D0 */ neg r20, r3 /* 8031ADFC 00317D5C 56 94 00 38 */ rlwinm r20, r20, 0, 0, 0x1c /* 8031AE00 00317D60 7C 01 A1 6E */ stwux r0, r1, r20 /* 8031AE04 00317D64 3A C0 00 00 */ li r22, 0 /* 8031AE08 00317D68 3A 40 00 00 */ li r18, 0 /* 8031AE0C 00317D6C 3A 81 00 08 */ addi r20, r1, 8 /* 8031AE10 00317D70 7E 93 A3 78 */ mr r19, r20 /* 8031AE14 00317D74 48 00 00 A8 */ b lbl_8031AEBC lbl_8031AE18: /* 8031AE18 00317D78 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8031AE1C 00317D7C 38 7F 00 F0 */ addi r3, r31, 0xf0 /* 8031AE20 00317D80 C0 FE 00 80 */ lfs f7, 0x80(r30) /* 8031AE24 00317D84 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031AE28 00317D88 7C C0 92 14 */ add r6, r0, r18 /* 8031AE2C 00317D8C 38 BF 00 E4 */ addi r5, r31, 0xe4 /* 8031AE30 00317D90 C0 06 00 08 */ lfs f0, 8(r6) /* 8031AE34 00317D94 C0 86 00 14 */ lfs f4, 0x14(r6) /* 8031AE38 00317D98 C0 26 00 0C */ lfs f1, 0xc(r6) /* 8031AE3C 00317D9C EC A0 20 28 */ fsubs f5, f0, f4 /* 8031AE40 00317DA0 C0 66 00 18 */ lfs f3, 0x18(r6) /* 8031AE44 00317DA4 C0 06 00 04 */ lfs f0, 4(r6) /* 8031AE48 00317DA8 EC 21 18 28 */ fsubs f1, f1, f3 /* 8031AE4C 00317DAC C0 46 00 10 */ lfs f2, 0x10(r6) /* 8031AE50 00317DB0 EC C7 01 72 */ fmuls f6, f7, f5 /* 8031AE54 00317DB4 EC 00 10 28 */ fsubs f0, f0, f2 /* 8031AE58 00317DB8 D0 BF 00 D0 */ stfs f5, 0xd0(r31) /* 8031AE5C 00317DBC EC A7 00 72 */ fmuls f5, f7, f1 /* 8031AE60 00317DC0 EC 86 20 2A */ fadds f4, f6, f4 /* 8031AE64 00317DC4 D0 3F 00 D4 */ stfs f1, 0xd4(r31) /* 8031AE68 00317DC8 EC 27 00 32 */ fmuls f1, f7, f0 /* 8031AE6C 00317DCC EC 65 18 2A */ fadds f3, f5, f3 /* 8031AE70 00317DD0 D0 1F 00 CC */ stfs f0, 0xcc(r31) /* 8031AE74 00317DD4 EC 01 10 2A */ fadds f0, f1, f2 /* 8031AE78 00317DD8 D0 3F 00 D8 */ stfs f1, 0xd8(r31) /* 8031AE7C 00317DDC D0 DF 00 DC */ stfs f6, 0xdc(r31) /* 8031AE80 00317DE0 D0 BF 00 E0 */ stfs f5, 0xe0(r31) /* 8031AE84 00317DE4 D0 1F 00 E4 */ stfs f0, 0xe4(r31) /* 8031AE88 00317DE8 D0 9F 00 E8 */ stfs f4, 0xe8(r31) /* 8031AE8C 00317DEC D0 7F 00 EC */ stfs f3, 0xec(r31) /* 8031AE90 00317DF0 4B FF 7C 59 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031AE94 00317DF4 C0 1F 00 F0 */ lfs f0, 0xf0(r31) /* 8031AE98 00317DF8 3A 52 00 38 */ addi r18, r18, 0x38 /* 8031AE9C 00317DFC D0 13 00 04 */ stfs f0, 4(r19) /* 8031AEA0 00317E00 C0 1F 00 F4 */ lfs f0, 0xf4(r31) /* 8031AEA4 00317E04 D0 13 00 08 */ stfs f0, 8(r19) /* 8031AEA8 00317E08 C0 1F 00 F8 */ lfs f0, 0xf8(r31) /* 8031AEAC 00317E0C D0 13 00 0C */ stfs f0, 0xc(r19) /* 8031AEB0 00317E10 B2 D3 00 00 */ sth r22, 0(r19) /* 8031AEB4 00317E14 3A 73 00 10 */ addi r19, r19, 0x10 /* 8031AEB8 00317E18 3A D6 00 01 */ addi r22, r22, 1 lbl_8031AEBC: /* 8031AEBC 00317E1C 7C 16 B8 00 */ cmpw r22, r23 /* 8031AEC0 00317E20 41 80 FF 58 */ blt lbl_8031AE18 /* 8031AEC4 00317E24 88 8D A8 BC */ lbz r4, lbl_805A947C@sda21(r13) /* 8031AEC8 00317E28 56 E0 20 36 */ slwi r0, r23, 4 /* 8031AECC 00317E2C 7E 83 A3 78 */ mr r3, r20 /* 8031AED0 00317E30 38 BF 00 0C */ addi r5, r31, 0xc /* 8031AED4 00317E34 98 9F 00 0C */ stb r4, 0xc(r31) /* 8031AED8 00317E38 7C 94 02 14 */ add r4, r20, r0 /* 8031AEDC 00317E3C 48 00 52 09 */ bl sub_803200e4 lbl_8031AEE0: /* 8031AEE0 00317E40 80 7E 00 74 */ lwz r3, 0x74(r30) /* 8031AEE4 00317E44 48 00 F8 65 */ bl SetEmitterTime__16CParticleGlobalsFi /* 8031AEE8 00317E48 88 7E 02 6C */ lbz r3, 0x26c(r30) /* 8031AEEC 00317E4C 54 60 FF FF */ rlwinm. r0, r3, 0x1f, 0x1f, 0x1f /* 8031AEF0 00317E50 40 82 09 C0 */ bne lbl_8031B8B0 /* 8031AEF4 00317E54 28 19 00 00 */ cmplwi r25, 0 /* 8031AEF8 00317E58 40 82 00 6C */ bne lbl_8031AF64 /* 8031AEFC 00317E5C 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 8031AF00 00317E60 41 82 00 64 */ beq lbl_8031AF64 /* 8031AF04 00317E64 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f /* 8031AF08 00317E68 40 82 00 5C */ bne lbl_8031AF64 /* 8031AF0C 00317E6C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031AF10 00317E70 41 82 00 2C */ beq lbl_8031AF3C /* 8031AF14 00317E74 57 00 06 3F */ clrlwi. r0, r24, 0x18 /* 8031AF18 00317E78 41 82 00 14 */ beq lbl_8031AF2C /* 8031AF1C 00317E7C 7F C3 F3 78 */ mr r3, r30 /* 8031AF20 00317E80 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031AF24 00317E84 48 00 11 ED */ bl RenderBasicParticlesNoRotNoTS__11CElementGenFRC10CTransform /* 8031AF28 00317E88 48 00 0E F8 */ b lbl_8031BE20 lbl_8031AF2C: /* 8031AF2C 00317E8C 7F C3 F3 78 */ mr r3, r30 /* 8031AF30 00317E90 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031AF34 00317E94 48 00 15 05 */ bl RenderBasicParticlesNoRotTS__11CElementGenFRC10CTransform /* 8031AF38 00317E98 48 00 0E E8 */ b lbl_8031BE20 lbl_8031AF3C: /* 8031AF3C 00317E9C 57 00 06 3F */ clrlwi. r0, r24, 0x18 /* 8031AF40 00317EA0 41 82 00 14 */ beq lbl_8031AF54 /* 8031AF44 00317EA4 7F C3 F3 78 */ mr r3, r30 /* 8031AF48 00317EA8 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031AF4C 00317EAC 48 00 0F B1 */ bl RenderBasicParticlesRotNoTS__11CElementGenFRC10CTransform /* 8031AF50 00317EB0 48 00 0E D0 */ b lbl_8031BE20 lbl_8031AF54: /* 8031AF54 00317EB4 7F C3 F3 78 */ mr r3, r30 /* 8031AF58 00317EB8 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031AF5C 00317EBC 48 00 13 2D */ bl RenderBasicParticlesRotTS__11CElementGenFRC10CTransform /* 8031AF60 00317EC0 48 00 0E C0 */ b lbl_8031BE20 lbl_8031AF64: /* 8031AF64 00317EC4 88 1E 02 6C */ lbz r0, 0x26c(r30) /* 8031AF68 00317EC8 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 8031AF6C 00317ECC 40 82 04 24 */ bne lbl_8031B390 /* 8031AF70 00317ED0 7E 95 A3 78 */ mr r21, r20 /* 8031AF74 00317ED4 57 9C 06 3E */ clrlwi r28, r28, 0x18 /* 8031AF78 00317ED8 3A 60 00 00 */ li r19, 0 /* 8031AF7C 00317EDC 3A 80 00 00 */ li r20, 0 /* 8031AF80 00317EE0 48 00 04 04 */ b lbl_8031B384 lbl_8031AF84: /* 8031AF84 00317EE4 28 19 00 00 */ cmplwi r25, 0 /* 8031AF88 00317EE8 41 82 00 18 */ beq lbl_8031AFA0 /* 8031AF8C 00317EEC A0 15 00 00 */ lhz r0, 0(r21) /* 8031AF90 00317EF0 80 7E 00 3C */ lwz r3, 0x3c(r30) /* 8031AF94 00317EF4 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031AF98 00317EF8 7F 03 02 14 */ add r24, r3, r0 /* 8031AF9C 00317EFC 48 00 00 0C */ b lbl_8031AFA8 lbl_8031AFA0: /* 8031AFA0 00317F00 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8031AFA4 00317F04 7F 00 A2 14 */ add r24, r0, r20 lbl_8031AFA8: /* 8031AFA8 00317F08 C0 58 00 08 */ lfs f2, 8(r24) /* 8031AFAC 00317F0C 38 7F 00 C0 */ addi r3, r31, 0xc0 /* 8031AFB0 00317F10 C0 38 00 14 */ lfs f1, 0x14(r24) /* 8031AFB4 00317F14 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031AFB8 00317F18 C0 18 00 0C */ lfs f0, 0xc(r24) /* 8031AFBC 00317F1C 38 BF 00 B4 */ addi r5, r31, 0xb4 /* 8031AFC0 00317F20 C0 78 00 18 */ lfs f3, 0x18(r24) /* 8031AFC4 00317F24 EC A2 08 28 */ fsubs f5, f2, f1 /* 8031AFC8 00317F28 C0 FE 00 80 */ lfs f7, 0x80(r30) /* 8031AFCC 00317F2C EC 80 18 28 */ fsubs f4, f0, f3 /* 8031AFD0 00317F30 C0 18 00 04 */ lfs f0, 4(r24) /* 8031AFD4 00317F34 EC C7 01 72 */ fmuls f6, f7, f5 /* 8031AFD8 00317F38 C0 58 00 10 */ lfs f2, 0x10(r24) /* 8031AFDC 00317F3C D0 BF 00 A0 */ stfs f5, 0xa0(r31) /* 8031AFE0 00317F40 EC 00 10 28 */ fsubs f0, f0, f2 /* 8031AFE4 00317F44 EC A7 01 32 */ fmuls f5, f7, f4 /* 8031AFE8 00317F48 D0 9F 00 A4 */ stfs f4, 0xa4(r31) /* 8031AFEC 00317F4C EC 86 08 2A */ fadds f4, f6, f1 /* 8031AFF0 00317F50 EC 27 00 32 */ fmuls f1, f7, f0 /* 8031AFF4 00317F54 D0 1F 00 9C */ stfs f0, 0x9c(r31) /* 8031AFF8 00317F58 EC 65 18 2A */ fadds f3, f5, f3 /* 8031AFFC 00317F5C D0 DF 00 AC */ stfs f6, 0xac(r31) /* 8031B000 00317F60 EC 01 10 2A */ fadds f0, f1, f2 /* 8031B004 00317F64 D0 3F 00 A8 */ stfs f1, 0xa8(r31) /* 8031B008 00317F68 D0 BF 00 B0 */ stfs f5, 0xb0(r31) /* 8031B00C 00317F6C D0 1F 00 B4 */ stfs f0, 0xb4(r31) /* 8031B010 00317F70 D0 9F 00 B8 */ stfs f4, 0xb8(r31) /* 8031B014 00317F74 D0 7F 00 BC */ stfs f3, 0xbc(r31) /* 8031B018 00317F78 4B FF 7A D1 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031B01C 00317F7C 28 1C 00 00 */ cmplwi r28, 0 /* 8031B020 00317F80 C3 7F 00 C0 */ lfs f27, 0xc0(r31) /* 8031B024 00317F84 C3 9F 00 C4 */ lfs f28, 0xc4(r31) /* 8031B028 00317F88 C3 BF 00 C8 */ lfs f29, 0xc8(r31) /* 8031B02C 00317F8C 82 D8 00 34 */ lwz r22, 0x34(r24) /* 8031B030 00317F90 40 82 01 F0 */ bne lbl_8031B220 /* 8031B034 00317F94 80 98 00 28 */ lwz r4, 0x28(r24) /* 8031B038 00317F98 80 7E 00 74 */ lwz r3, 0x74(r30) /* 8031B03C 00317F9C 80 18 00 00 */ lwz r0, 0(r24) /* 8031B040 00317FA0 7C 64 18 50 */ subf r3, r4, r3 /* 8031B044 00317FA4 3A 43 FF FF */ addi r18, r3, -1 /* 8031B048 00317FA8 7C 64 00 50 */ subf r3, r4, r0 /* 8031B04C 00317FAC 48 00 F7 2D */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031B050 00317FB0 7E 43 93 78 */ mr r3, r18 /* 8031B054 00317FB4 48 00 F6 29 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 8031B058 00317FB8 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031B05C 00317FBC 7E 44 93 78 */ mr r4, r18 /* 8031B060 00317FC0 38 BF 01 40 */ addi r5, r31, 0x140 /* 8031B064 00317FC4 80 63 00 40 */ lwz r3, 0x40(r3) /* 8031B068 00317FC8 81 83 00 00 */ lwz r12, 0(r3) /* 8031B06C 00317FCC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031B070 00317FD0 7D 89 03 A6 */ mtctr r12 /* 8031B074 00317FD4 4E 80 04 21 */ bctrl /* 8031B078 00317FD8 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031B07C 00317FDC 41 82 00 B4 */ beq lbl_8031B130 /* 8031B080 00317FE0 C0 22 C9 F8 */ lfs f1, lbl_805AE718@sda21(r2) /* 8031B084 00317FE4 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8031B088 00317FE8 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B08C 00317FEC EC 01 00 32 */ fmuls f0, f1, f0 /* 8031B090 00317FF0 EC 40 D8 2A */ fadds f2, f0, f27 /* 8031B094 00317FF4 EC 60 E8 2A */ fadds f3, f0, f29 /* 8031B098 00317FF8 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B09C 00317FFC D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B0A0 00318000 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B0A4 00318004 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B0A8 00318008 C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031B0AC 0031800C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B0B0 00318010 C0 1F 01 4C */ lfs f0, 0x14c(r31) /* 8031B0B4 00318014 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B0B8 00318018 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B0BC 0031801C EC 42 00 28 */ fsubs f2, f2, f0 /* 8031B0C0 00318020 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B0C4 00318024 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B0C8 00318028 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B0CC 0031802C 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B0D0 00318030 C0 3F 01 40 */ lfs f1, 0x140(r31) /* 8031B0D4 00318034 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 8031B0D8 00318038 C0 1F 01 4C */ lfs f0, 0x14c(r31) /* 8031B0DC 0031803C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B0E0 00318040 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B0E4 00318044 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B0E8 00318048 EC 63 00 28 */ fsubs f3, f3, f0 /* 8031B0EC 0031804C D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B0F0 00318050 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B0F4 00318054 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B0F8 00318058 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 8031B0FC 0031805C C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031B100 00318060 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B104 00318064 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B108 00318068 EC 42 00 2A */ fadds f2, f2, f0 /* 8031B10C 0031806C D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B110 00318070 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B114 00318074 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B118 00318078 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B11C 0031807C C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031B120 00318080 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B124 00318084 C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031B128 00318088 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B12C 0031808C 48 00 02 4C */ b lbl_8031B378 lbl_8031B130: /* 8031B130 00318090 C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 8031B134 00318094 C0 18 00 30 */ lfs f0, 0x30(r24) /* 8031B138 00318098 C0 42 C9 F8 */ lfs f2, lbl_805AE718@sda21(r2) /* 8031B13C 0031809C EE 41 00 32 */ fmuls f18, f1, f0 /* 8031B140 003180A0 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B144 003180A4 EE 22 00 32 */ fmuls f17, f2, f0 /* 8031B148 003180A8 FC 20 90 90 */ fmr f1, f18 /* 8031B14C 003180AC 4B FF 9C A5 */ bl FastSinR__5CMathFf /* 8031B150 003180B0 EE 71 00 72 */ fmuls f19, f17, f1 /* 8031B154 003180B4 FC 20 90 90 */ fmr f1, f18 /* 8031B158 003180B8 4B FF 9B ED */ bl FastCosR__5CMathFf /* 8031B15C 003180BC EC 91 00 72 */ fmuls f4, f17, f1 /* 8031B160 003180C0 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8031B164 003180C4 FC 00 98 50 */ fneg f0, f19 /* 8031B168 003180C8 EC D3 20 2A */ fadds f6, f19, f4 /* 8031B16C 003180CC EC E4 98 28 */ fsubs f7, f4, f19 /* 8031B170 003180D0 EC 53 20 28 */ fsubs f2, f19, f4 /* 8031B174 003180D4 EC 66 D8 2A */ fadds f3, f6, f27 /* 8031B178 003180D8 EC 20 20 2A */ fadds f1, f0, f4 /* 8031B17C 003180DC FC 00 20 50 */ fneg f0, f4 /* 8031B180 003180E0 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B184 003180E4 EC 67 E8 2A */ fadds f3, f7, f29 /* 8031B188 003180E8 EC A2 D8 2A */ fadds f5, f2, f27 /* 8031B18C 003180EC D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B190 003180F0 EC 00 98 28 */ fsubs f0, f0, f19 /* 8031B194 003180F4 EC 86 E8 2A */ fadds f4, f6, f29 /* 8031B198 003180F8 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B19C 003180FC EC 7B 30 28 */ fsubs f3, f27, f6 /* 8031B1A0 00318100 EC 5D 38 28 */ fsubs f2, f29, f7 /* 8031B1A4 00318104 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B1A8 00318108 EC 21 D8 2A */ fadds f1, f1, f27 /* 8031B1AC 0031810C EC 00 E8 2A */ fadds f0, f0, f29 /* 8031B1B0 00318110 C0 DF 01 48 */ lfs f6, 0x148(r31) /* 8031B1B4 00318114 D0 C3 80 00 */ stfs f6, 0xCC008000@l(r3) /* 8031B1B8 00318118 C0 DF 01 4C */ lfs f6, 0x14c(r31) /* 8031B1BC 0031811C D0 C3 80 00 */ stfs f6, 0xCC008000@l(r3) /* 8031B1C0 00318120 D0 A3 80 00 */ stfs f5, 0xCC008000@l(r3) /* 8031B1C4 00318124 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B1C8 00318128 D0 83 80 00 */ stfs f4, 0xCC008000@l(r3) /* 8031B1CC 0031812C 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B1D0 00318130 C0 BF 01 40 */ lfs f5, 0x140(r31) /* 8031B1D4 00318134 D0 A3 80 00 */ stfs f5, 0xCC008000@l(r3) /* 8031B1D8 00318138 C0 9F 01 4C */ lfs f4, 0x14c(r31) /* 8031B1DC 0031813C D0 83 80 00 */ stfs f4, 0xCC008000@l(r3) /* 8031B1E0 00318140 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B1E4 00318144 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B1E8 00318148 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B1EC 0031814C 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B1F0 00318150 D0 A3 80 00 */ stfs f5, 0xCC008000@l(r3) /* 8031B1F4 00318154 C0 5F 01 44 */ lfs f2, 0x144(r31) /* 8031B1F8 00318158 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B1FC 0031815C D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 8031B200 00318160 D3 83 80 00 */ stfs f28, 0xCC008000@l(r3) /* 8031B204 00318164 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B208 00318168 92 C3 80 00 */ stw r22, 0xCC008000@l(r3) /* 8031B20C 0031816C C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031B210 00318170 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B214 00318174 C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031B218 00318178 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B21C 0031817C 48 00 01 5C */ b lbl_8031B378 lbl_8031B220: /* 8031B220 00318180 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031B224 00318184 41 82 00 98 */ beq lbl_8031B2BC /* 8031B228 00318188 C0 22 C9 F8 */ lfs f1, lbl_805AE718@sda21(r2) /* 8031B22C 0031818C 3C C0 CC 01 */ lis r6, 0xCC008000@ha /* 8031B230 00318190 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B234 00318194 38 A0 02 02 */ li r5, 0x202 /* 8031B238 00318198 38 80 00 02 */ li r4, 2 /* 8031B23C 0031819C 38 60 00 00 */ li r3, 0 /* 8031B240 003181A0 EC 01 00 32 */ fmuls f0, f1, f0 /* 8031B244 003181A4 38 00 02 00 */ li r0, 0x200 /* 8031B248 003181A8 EC 20 D8 2A */ fadds f1, f0, f27 /* 8031B24C 003181AC EC 40 E8 2A */ fadds f2, f0, f29 /* 8031B250 003181B0 D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B254 003181B4 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B258 003181B8 D0 46 80 00 */ stfs f2, 0xCC008000@l(r6) /* 8031B25C 003181BC 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B260 003181C0 B0 A6 80 00 */ sth r5, 0xCC008000@l(r6) /* 8031B264 003181C4 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B268 003181C8 EC 21 00 28 */ fsubs f1, f1, f0 /* 8031B26C 003181CC D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B270 003181D0 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B274 003181D4 D0 46 80 00 */ stfs f2, 0xCC008000@l(r6) /* 8031B278 003181D8 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B27C 003181DC B0 86 80 00 */ sth r4, 0xCC008000@l(r6) /* 8031B280 003181E0 C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B284 003181E4 D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B288 003181E8 EC 42 00 28 */ fsubs f2, f2, f0 /* 8031B28C 003181EC D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B290 003181F0 D0 46 80 00 */ stfs f2, 0xCC008000@l(r6) /* 8031B294 003181F4 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B298 003181F8 B0 66 80 00 */ sth r3, 0xCC008000@l(r6) /* 8031B29C 003181FC C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B2A0 00318200 EC 21 00 2A */ fadds f1, f1, f0 /* 8031B2A4 00318204 D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B2A8 00318208 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B2AC 0031820C D0 46 80 00 */ stfs f2, 0xCC008000@l(r6) /* 8031B2B0 00318210 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B2B4 00318214 B0 06 80 00 */ sth r0, 0xCC008000@l(r6) /* 8031B2B8 00318218 48 00 00 C0 */ b lbl_8031B378 lbl_8031B2BC: /* 8031B2BC 0031821C C0 22 C9 F4 */ lfs f1, lbl_805AE714@sda21(r2) /* 8031B2C0 00318220 C0 18 00 30 */ lfs f0, 0x30(r24) /* 8031B2C4 00318224 C0 42 C9 F8 */ lfs f2, lbl_805AE718@sda21(r2) /* 8031B2C8 00318228 EE 41 00 32 */ fmuls f18, f1, f0 /* 8031B2CC 0031822C C0 18 00 2C */ lfs f0, 0x2c(r24) /* 8031B2D0 00318230 EE 22 00 32 */ fmuls f17, f2, f0 /* 8031B2D4 00318234 FC 20 90 90 */ fmr f1, f18 /* 8031B2D8 00318238 4B FF 9B 19 */ bl FastSinR__5CMathFf /* 8031B2DC 0031823C EE 71 00 72 */ fmuls f19, f17, f1 /* 8031B2E0 00318240 FC 20 90 90 */ fmr f1, f18 /* 8031B2E4 00318244 4B FF 9A 61 */ bl FastCosR__5CMathFf /* 8031B2E8 00318248 EC 11 00 72 */ fmuls f0, f17, f1 /* 8031B2EC 0031824C 3C C0 CC 01 */ lis r6, 0xCC008000@ha /* 8031B2F0 00318250 38 A0 02 02 */ li r5, 0x202 /* 8031B2F4 00318254 38 80 00 02 */ li r4, 2 /* 8031B2F8 00318258 38 60 00 00 */ li r3, 0 /* 8031B2FC 0031825C 38 00 02 00 */ li r0, 0x200 /* 8031B300 00318260 EC D3 00 2A */ fadds f6, f19, f0 /* 8031B304 00318264 EC F3 00 28 */ fsubs f7, f19, f0 /* 8031B308 00318268 EC 3B 30 2A */ fadds f1, f27, f6 /* 8031B30C 0031826C EC 1D 38 28 */ fsubs f0, f29, f7 /* 8031B310 00318270 EC BB 38 2A */ fadds f5, f27, f7 /* 8031B314 00318274 D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B318 00318278 EC 9D 30 2A */ fadds f4, f29, f6 /* 8031B31C 0031827C EC 7B 30 28 */ fsubs f3, f27, f6 /* 8031B320 00318280 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B324 00318284 EC 5D 38 2A */ fadds f2, f29, f7 /* 8031B328 00318288 EC 3B 38 28 */ fsubs f1, f27, f7 /* 8031B32C 0031828C D0 06 80 00 */ stfs f0, 0xCC008000@l(r6) /* 8031B330 00318290 EC 1D 30 28 */ fsubs f0, f29, f6 /* 8031B334 00318294 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B338 00318298 B0 A6 80 00 */ sth r5, 0xCC008000@l(r6) /* 8031B33C 0031829C D0 A6 80 00 */ stfs f5, 0xCC008000@l(r6) /* 8031B340 003182A0 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B344 003182A4 D0 86 80 00 */ stfs f4, 0xCC008000@l(r6) /* 8031B348 003182A8 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B34C 003182AC B0 86 80 00 */ sth r4, 0xCC008000@l(r6) /* 8031B350 003182B0 D0 66 80 00 */ stfs f3, 0xCC008000@l(r6) /* 8031B354 003182B4 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B358 003182B8 D0 46 80 00 */ stfs f2, 0xCC008000@l(r6) /* 8031B35C 003182BC 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B360 003182C0 B0 66 80 00 */ sth r3, 0xCC008000@l(r6) /* 8031B364 003182C4 D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B368 003182C8 D3 86 80 00 */ stfs f28, 0xCC008000@l(r6) /* 8031B36C 003182CC D0 06 80 00 */ stfs f0, 0xCC008000@l(r6) /* 8031B370 003182D0 92 C6 80 00 */ stw r22, 0xCC008000@l(r6) /* 8031B374 003182D4 B0 06 80 00 */ sth r0, 0xCC008000@l(r6) lbl_8031B378: /* 8031B378 003182D8 3A B5 00 10 */ addi r21, r21, 0x10 /* 8031B37C 003182DC 3A 94 00 38 */ addi r20, r20, 0x38 /* 8031B380 003182E0 3A 73 00 01 */ addi r19, r19, 1 lbl_8031B384: /* 8031B384 003182E4 7C 13 B8 00 */ cmpw r19, r23 /* 8031B388 003182E8 41 80 FB FC */ blt lbl_8031AF84 /* 8031B38C 003182EC 48 00 0A 94 */ b lbl_8031BE20 lbl_8031B390: /* 8031B390 003182F0 C3 5F 03 38 */ lfs f26, 0x338(r31) /* 8031B394 003182F4 57 9C 06 3E */ clrlwi r28, r28, 0x18 /* 8031B398 003182F8 C3 3F 03 48 */ lfs f25, 0x348(r31) /* 8031B39C 003182FC 3A 60 00 00 */ li r19, 0 /* 8031B3A0 00318300 C3 1F 03 58 */ lfs f24, 0x358(r31) /* 8031B3A4 00318304 3A A0 00 00 */ li r21, 0 /* 8031B3A8 00318308 C2 FF 03 40 */ lfs f23, 0x340(r31) /* 8031B3AC 0031830C C2 DF 03 50 */ lfs f22, 0x350(r31) /* 8031B3B0 00318310 C2 BF 03 60 */ lfs f21, 0x360(r31) /* 8031B3B4 00318314 C3 82 CA 10 */ lfs f28, lbl_805AE730@sda21(r2) /* 8031B3B8 00318318 48 00 04 EC */ b lbl_8031B8A4 lbl_8031B3BC: /* 8031B3BC 0031831C 28 19 00 00 */ cmplwi r25, 0 /* 8031B3C0 00318320 41 82 00 18 */ beq lbl_8031B3D8 /* 8031B3C4 00318324 A0 14 00 00 */ lhz r0, 0(r20) /* 8031B3C8 00318328 80 7E 00 3C */ lwz r3, 0x3c(r30) /* 8031B3CC 0031832C 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031B3D0 00318330 7E C3 02 14 */ add r22, r3, r0 /* 8031B3D4 00318334 48 00 00 0C */ b lbl_8031B3E0 lbl_8031B3D8: /* 8031B3D8 00318338 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8031B3DC 0031833C 7E C0 AA 14 */ add r22, r0, r21 lbl_8031B3E0: /* 8031B3E0 00318340 C0 36 00 04 */ lfs f1, 4(r22) /* 8031B3E4 00318344 C0 B6 00 10 */ lfs f5, 0x10(r22) /* 8031B3E8 00318348 C0 16 00 08 */ lfs f0, 8(r22) /* 8031B3EC 0031834C C0 D6 00 14 */ lfs f6, 0x14(r22) /* 8031B3F0 00318350 EC 81 28 28 */ fsubs f4, f1, f5 /* 8031B3F4 00318354 C0 7E 00 80 */ lfs f3, 0x80(r30) /* 8031B3F8 00318358 EC 40 30 28 */ fsubs f2, f0, f6 /* 8031B3FC 0031835C C0 36 00 0C */ lfs f1, 0xc(r22) /* 8031B400 00318360 C0 F6 00 18 */ lfs f7, 0x18(r22) /* 8031B404 00318364 EC 03 01 32 */ fmuls f0, f3, f4 /* 8031B408 00318368 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031B40C 0031836C EC 81 38 28 */ fsubs f4, f1, f7 /* 8031B410 00318370 EC 23 00 B2 */ fmuls f1, f3, f2 /* 8031B414 00318374 80 03 00 3C */ lwz r0, 0x3c(r3) /* 8031B418 00318378 EC 40 28 2A */ fadds f2, f0, f5 /* 8031B41C 0031837C 83 16 00 34 */ lwz r24, 0x34(r22) /* 8031B420 00318380 EC 03 01 32 */ fmuls f0, f3, f4 /* 8031B424 00318384 EC 21 30 2A */ fadds f1, f1, f6 /* 8031B428 00318388 28 00 00 00 */ cmplwi r0, 0 /* 8031B42C 0031838C D0 5F 01 34 */ stfs f2, 0x134(r31) /* 8031B430 00318390 EC 00 38 2A */ fadds f0, f0, f7 /* 8031B434 00318394 D0 3F 01 38 */ stfs f1, 0x138(r31) /* 8031B438 00318398 D0 1F 01 3C */ stfs f0, 0x13c(r31) /* 8031B43C 0031839C 40 82 00 0C */ bne lbl_8031B448 /* 8031B440 003183A0 C3 62 C9 F0 */ lfs f27, lbl_805AE710@sda21(r2) /* 8031B444 003183A4 48 00 00 08 */ b lbl_8031B44C lbl_8031B448: /* 8031B448 003183A8 C3 76 00 30 */ lfs f27, 0x30(r22) lbl_8031B44C: /* 8031B44C 003183AC C0 96 00 1C */ lfs f4, 0x1c(r22) /* 8031B450 003183B0 C0 76 00 20 */ lfs f3, 0x20(r22) /* 8031B454 003183B4 EC 24 01 32 */ fmuls f1, f4, f4 /* 8031B458 003183B8 C0 B6 00 24 */ lfs f5, 0x24(r22) /* 8031B45C 003183BC EC 03 00 F2 */ fmuls f0, f3, f3 /* 8031B460 003183C0 EC 45 01 72 */ fmuls f2, f5, f5 /* 8031B464 003183C4 EC 01 00 2A */ fadds f0, f1, f0 /* 8031B468 003183C8 EC 02 00 2A */ fadds f0, f2, f0 /* 8031B46C 003183CC FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 8031B470 003183D0 40 81 00 1C */ ble lbl_8031B48C /* 8031B474 003183D4 FC 00 00 34 */ frsqrte f0, f0 /* 8031B478 003183D8 FC 00 00 18 */ frsp f0, f0 /* 8031B47C 003183DC EE 80 01 32 */ fmuls f20, f0, f4 /* 8031B480 003183E0 EE 60 00 F2 */ fmuls f19, f0, f3 /* 8031B484 003183E4 EE 40 01 72 */ fmuls f18, f0, f5 /* 8031B488 003183E8 48 00 00 74 */ b lbl_8031B4FC lbl_8031B48C: /* 8031B48C 003183EC C0 56 00 08 */ lfs f2, 8(r22) /* 8031B490 003183F0 C0 16 00 14 */ lfs f0, 0x14(r22) /* 8031B494 003183F4 C0 36 00 04 */ lfs f1, 4(r22) /* 8031B498 003183F8 EC A2 00 28 */ fsubs f5, f2, f0 /* 8031B49C 003183FC C0 16 00 10 */ lfs f0, 0x10(r22) /* 8031B4A0 00318400 C0 56 00 0C */ lfs f2, 0xc(r22) /* 8031B4A4 00318404 EC 61 00 28 */ fsubs f3, f1, f0 /* 8031B4A8 00318408 C0 36 00 18 */ lfs f1, 0x18(r22) /* 8031B4AC 0031840C EC 05 01 72 */ fmuls f0, f5, f5 /* 8031B4B0 00318410 EC 82 08 28 */ fsubs f4, f2, f1 /* 8031B4B4 00318414 D0 BF 00 94 */ stfs f5, 0x94(r31) /* 8031B4B8 00318418 EC 23 00 F2 */ fmuls f1, f3, f3 /* 8031B4BC 0031841C D0 7F 00 90 */ stfs f3, 0x90(r31) /* 8031B4C0 00318420 EC 44 01 32 */ fmuls f2, f4, f4 /* 8031B4C4 00318424 EC 01 00 2A */ fadds f0, f1, f0 /* 8031B4C8 00318428 D0 9F 00 98 */ stfs f4, 0x98(r31) /* 8031B4CC 0031842C EC 02 00 2A */ fadds f0, f2, f0 /* 8031B4D0 00318430 FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 8031B4D4 00318434 40 81 00 1C */ ble lbl_8031B4F0 /* 8031B4D8 00318438 FC 00 00 34 */ frsqrte f0, f0 /* 8031B4DC 0031843C FC 00 00 18 */ frsp f0, f0 /* 8031B4E0 00318440 EE 80 00 F2 */ fmuls f20, f0, f3 /* 8031B4E4 00318444 EE 60 01 72 */ fmuls f19, f0, f5 /* 8031B4E8 00318448 EE 40 01 32 */ fmuls f18, f0, f4 /* 8031B4EC 0031844C 48 00 00 10 */ b lbl_8031B4FC lbl_8031B4F0: /* 8031B4F0 00318450 C2 82 C9 E8 */ lfs f20, lbl_805AE708@sda21(r2) /* 8031B4F4 00318454 C2 42 C9 F0 */ lfs f18, lbl_805AE710@sda21(r2) /* 8031B4F8 00318458 FE 60 A0 90 */ fmr f19, f20 lbl_8031B4FC: /* 8031B4FC 0031845C 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031B500 00318460 C0 96 00 2C */ lfs f4, 0x2c(r22) /* 8031B504 00318464 88 03 00 30 */ lbz r0, 0x30(r3) /* 8031B508 00318468 EF E4 05 32 */ fmuls f31, f4, f20 /* 8031B50C 0031846C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8031B510 00318470 EF C4 04 F2 */ fmuls f30, f4, f19 /* 8031B514 00318474 EF A4 04 B2 */ fmuls f29, f4, f18 /* 8031B518 00318478 41 82 00 E4 */ beq lbl_8031B5FC /* 8031B51C 0031847C EC 58 05 32 */ fmuls f2, f24, f20 /* 8031B520 00318480 C0 02 CA 10 */ lfs f0, lbl_805AE730@sda21(r2) /* 8031B524 00318484 EC 39 04 B2 */ fmuls f1, f25, f18 /* 8031B528 00318488 EC 7A 04 F2 */ fmuls f3, f26, f19 /* 8031B52C 0031848C EC B2 16 B8 */ fmsubs f5, f18, f26, f2 /* 8031B530 00318490 EC 53 0E 38 */ fmsubs f2, f19, f24, f1 /* 8031B534 00318494 EC 74 1E 78 */ fmsubs f3, f20, f25, f3 /* 8031B538 00318498 EC 25 01 72 */ fmuls f1, f5, f5 /* 8031B53C 0031849C EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8031B540 003184A0 EC 23 08 FA */ fmadds f1, f3, f3, f1 /* 8031B544 003184A4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8031B548 003184A8 40 81 00 24 */ ble lbl_8031B56C /* 8031B54C 003184AC FC 20 08 34 */ frsqrte f1, f1 /* 8031B550 003184B0 EC 04 06 F2 */ fmuls f0, f4, f27 /* 8031B554 003184B4 FC 20 08 18 */ frsp f1, f1 /* 8031B558 003184B8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8031B55C 003184BC EE 42 00 32 */ fmuls f18, f2, f0 /* 8031B560 003184C0 EE 25 00 32 */ fmuls f17, f5, f0 /* 8031B564 003184C4 EE 63 00 32 */ fmuls f19, f3, f0 /* 8031B568 003184C8 48 00 00 B8 */ b lbl_8031B620 lbl_8031B56C: /* 8031B56C 003184CC C0 56 00 08 */ lfs f2, 8(r22) /* 8031B570 003184D0 38 7F 00 84 */ addi r3, r31, 0x84 /* 8031B574 003184D4 C0 36 00 0C */ lfs f1, 0xc(r22) /* 8031B578 003184D8 38 9F 00 78 */ addi r4, r31, 0x78 /* 8031B57C 003184DC C0 16 00 04 */ lfs f0, 4(r22) /* 8031B580 003184E0 EC 56 10 28 */ fsubs f2, f22, f2 /* 8031B584 003184E4 EC 35 08 28 */ fsubs f1, f21, f1 /* 8031B588 003184E8 EC 17 00 28 */ fsubs f0, f23, f0 /* 8031B58C 003184EC D0 5F 00 7C */ stfs f2, 0x7c(r31) /* 8031B590 003184F0 D0 1F 00 78 */ stfs f0, 0x78(r31) /* 8031B594 003184F4 D0 3F 00 80 */ stfs f1, 0x80(r31) /* 8031B598 003184F8 4B FF 92 B9 */ bl AsNormalized__9CVector3fCFv /* 8031B59C 003184FC C0 BF 00 8C */ lfs f5, 0x8c(r31) /* 8031B5A0 00318500 C0 9F 00 88 */ lfs f4, 0x88(r31) /* 8031B5A4 00318504 EC 45 05 32 */ fmuls f2, f5, f20 /* 8031B5A8 00318508 C0 DF 00 84 */ lfs f6, 0x84(r31) /* 8031B5AC 0031850C EC 24 04 B2 */ fmuls f1, f4, f18 /* 8031B5B0 00318510 C0 02 CA 10 */ lfs f0, lbl_805AE730@sda21(r2) /* 8031B5B4 00318514 EC 66 04 F2 */ fmuls f3, f6, f19 /* 8031B5B8 00318518 EE 32 11 B8 */ fmsubs f17, f18, f6, f2 /* 8031B5BC 0031851C EE 53 09 78 */ fmsubs f18, f19, f5, f1 /* 8031B5C0 00318520 EE 74 19 38 */ fmsubs f19, f20, f4, f3 /* 8031B5C4 00318524 EC 31 04 72 */ fmuls f1, f17, f17 /* 8031B5C8 00318528 EC 32 0C BA */ fmadds f1, f18, f18, f1 /* 8031B5CC 0031852C EC 33 0C FA */ fmadds f1, f19, f19, f1 /* 8031B5D0 00318530 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8031B5D4 00318534 40 81 00 4C */ ble lbl_8031B620 /* 8031B5D8 00318538 FC 20 08 34 */ frsqrte f1, f1 /* 8031B5DC 0031853C C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031B5E0 00318540 EC 00 06 F2 */ fmuls f0, f0, f27 /* 8031B5E4 00318544 FC 20 08 18 */ frsp f1, f1 /* 8031B5E8 00318548 EC 00 00 72 */ fmuls f0, f0, f1 /* 8031B5EC 0031854C EE 52 00 32 */ fmuls f18, f18, f0 /* 8031B5F0 00318550 EE 31 00 32 */ fmuls f17, f17, f0 /* 8031B5F4 00318554 EE 73 00 32 */ fmuls f19, f19, f0 /* 8031B5F8 00318558 48 00 00 28 */ b lbl_8031B620 lbl_8031B5FC: /* 8031B5FC 0031855C EC 59 07 72 */ fmuls f2, f25, f29 /* 8031B600 00318560 EC 38 07 F2 */ fmuls f1, f24, f31 /* 8031B604 00318564 EC 1A 07 B2 */ fmuls f0, f26, f30 /* 8031B608 00318568 EC 5E 16 38 */ fmsubs f2, f30, f24, f2 /* 8031B60C 0031856C EC 3D 0E B8 */ fmsubs f1, f29, f26, f1 /* 8031B610 00318570 EC 1F 06 78 */ fmsubs f0, f31, f25, f0 /* 8031B614 00318574 EE 5B 00 B2 */ fmuls f18, f27, f2 /* 8031B618 00318578 EE 3B 00 72 */ fmuls f17, f27, f1 /* 8031B61C 0031857C EE 7B 00 32 */ fmuls f19, f27, f0 lbl_8031B620: /* 8031B620 00318580 28 1C 00 00 */ cmplwi r28, 0 /* 8031B624 00318584 40 82 01 70 */ bne lbl_8031B794 /* 8031B628 00318588 80 96 00 28 */ lwz r4, 0x28(r22) /* 8031B62C 0031858C 80 7E 00 74 */ lwz r3, 0x74(r30) /* 8031B630 00318590 80 16 00 00 */ lwz r0, 0(r22) /* 8031B634 00318594 7C 64 18 50 */ subf r3, r4, r3 /* 8031B638 00318598 3A 43 FF FF */ addi r18, r3, -1 /* 8031B63C 0031859C 7C 64 00 50 */ subf r3, r4, r0 /* 8031B640 003185A0 48 00 F1 39 */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031B644 003185A4 7E 43 93 78 */ mr r3, r18 /* 8031B648 003185A8 48 00 F0 35 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 8031B64C 003185AC 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031B650 003185B0 7E 44 93 78 */ mr r4, r18 /* 8031B654 003185B4 38 BF 01 40 */ addi r5, r31, 0x140 /* 8031B658 003185B8 80 63 00 40 */ lwz r3, 0x40(r3) /* 8031B65C 003185BC 81 83 00 00 */ lwz r12, 0(r3) /* 8031B660 003185C0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031B664 003185C4 7D 89 03 A6 */ mtctr r12 /* 8031B668 003185C8 4E 80 04 21 */ bctrl /* 8031B66C 003185CC C0 C2 C9 F8 */ lfs f6, lbl_805AE718@sda21(r2) /* 8031B670 003185D0 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8031B674 003185D4 C0 BF 01 34 */ lfs f5, 0x134(r31) /* 8031B678 003185D8 EC 26 04 B2 */ fmuls f1, f6, f18 /* 8031B67C 003185DC C0 9F 01 38 */ lfs f4, 0x138(r31) /* 8031B680 003185E0 EC 06 04 72 */ fmuls f0, f6, f17 /* 8031B684 003185E4 C0 7F 01 3C */ lfs f3, 0x13c(r31) /* 8031B688 003185E8 EC 46 04 F2 */ fmuls f2, f6, f19 /* 8031B68C 003185EC EC A5 08 2A */ fadds f5, f5, f1 /* 8031B690 003185F0 EC 26 07 F2 */ fmuls f1, f6, f31 /* 8031B694 003185F4 EC 84 00 2A */ fadds f4, f4, f0 /* 8031B698 003185F8 EC 06 07 B2 */ fmuls f0, f6, f30 /* 8031B69C 003185FC D0 BF 01 34 */ stfs f5, 0x134(r31) /* 8031B6A0 00318600 EC 25 08 2A */ fadds f1, f5, f1 /* 8031B6A4 00318604 EC 43 10 2A */ fadds f2, f3, f2 /* 8031B6A8 00318608 D0 9F 01 38 */ stfs f4, 0x138(r31) /* 8031B6AC 0031860C ED 64 00 2A */ fadds f11, f4, f0 /* 8031B6B0 00318610 EC 06 07 72 */ fmuls f0, f6, f29 /* 8031B6B4 00318614 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 8031B6B8 00318618 ED 21 F8 28 */ fsubs f9, f1, f31 /* 8031B6BC 0031861C D1 63 80 00 */ stfs f11, 0xCC008000@l(r3) /* 8031B6C0 00318620 ED 0B F0 28 */ fsubs f8, f11, f30 /* 8031B6C4 00318624 ED 42 00 2A */ fadds f10, f2, f0 /* 8031B6C8 00318628 EC C9 90 28 */ fsubs f6, f9, f18 /* 8031B6CC 0031862C D0 5F 01 3C */ stfs f2, 0x13c(r31) /* 8031B6D0 00318630 EC A8 88 28 */ fsubs f5, f8, f17 /* 8031B6D4 00318634 D1 43 80 00 */ stfs f10, 0xCC008000@l(r3) /* 8031B6D8 00318638 EC EA E8 28 */ fsubs f7, f10, f29 /* 8031B6DC 0031863C EC 66 F8 2A */ fadds f3, f6, f31 /* 8031B6E0 00318640 93 03 80 00 */ stw r24, 0xCC008000@l(r3) /* 8031B6E4 00318644 EC 45 F0 2A */ fadds f2, f5, f30 /* 8031B6E8 00318648 EC 87 98 28 */ fsubs f4, f7, f19 /* 8031B6EC 0031864C C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031B6F0 00318650 D0 3F 01 34 */ stfs f1, 0x134(r31) /* 8031B6F4 00318654 EC 24 E8 2A */ fadds f1, f4, f29 /* 8031B6F8 00318658 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B6FC 0031865C C0 1F 01 4C */ lfs f0, 0x14c(r31) /* 8031B700 00318660 D1 7F 01 38 */ stfs f11, 0x138(r31) /* 8031B704 00318664 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B708 00318668 D1 23 80 00 */ stfs f9, 0xCC008000@l(r3) /* 8031B70C 0031866C D1 03 80 00 */ stfs f8, 0xCC008000@l(r3) /* 8031B710 00318670 D0 E3 80 00 */ stfs f7, 0xCC008000@l(r3) /* 8031B714 00318674 93 03 80 00 */ stw r24, 0xCC008000@l(r3) /* 8031B718 00318678 C0 1F 01 40 */ lfs f0, 0x140(r31) /* 8031B71C 0031867C D1 5F 01 3C */ stfs f10, 0x13c(r31) /* 8031B720 00318680 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B724 00318684 C0 1F 01 4C */ lfs f0, 0x14c(r31) /* 8031B728 00318688 D1 3F 01 34 */ stfs f9, 0x134(r31) /* 8031B72C 0031868C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B730 00318690 D0 C3 80 00 */ stfs f6, 0xCC008000@l(r3) /* 8031B734 00318694 D0 A3 80 00 */ stfs f5, 0xCC008000@l(r3) /* 8031B738 00318698 D0 83 80 00 */ stfs f4, 0xCC008000@l(r3) /* 8031B73C 0031869C 93 03 80 00 */ stw r24, 0xCC008000@l(r3) /* 8031B740 003186A0 C0 1F 01 40 */ lfs f0, 0x140(r31) /* 8031B744 003186A4 D1 1F 01 38 */ stfs f8, 0x138(r31) /* 8031B748 003186A8 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B74C 003186AC C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031B750 003186B0 D0 FF 01 3C */ stfs f7, 0x13c(r31) /* 8031B754 003186B4 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B758 003186B8 D0 63 80 00 */ stfs f3, 0xCC008000@l(r3) /* 8031B75C 003186BC D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 8031B760 003186C0 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 8031B764 003186C4 93 03 80 00 */ stw r24, 0xCC008000@l(r3) /* 8031B768 003186C8 C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031B76C 003186CC D0 DF 01 34 */ stfs f6, 0x134(r31) /* 8031B770 003186D0 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B774 003186D4 D0 BF 01 38 */ stfs f5, 0x138(r31) /* 8031B778 003186D8 C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031B77C 003186DC D0 9F 01 3C */ stfs f4, 0x13c(r31) /* 8031B780 003186E0 D0 7F 01 34 */ stfs f3, 0x134(r31) /* 8031B784 003186E4 D0 5F 01 38 */ stfs f2, 0x138(r31) /* 8031B788 003186E8 D0 3F 01 3C */ stfs f1, 0x13c(r31) /* 8031B78C 003186EC D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8031B790 003186F0 48 00 01 08 */ b lbl_8031B898 lbl_8031B794: /* 8031B794 003186F4 C0 C2 C9 F8 */ lfs f6, lbl_805AE718@sda21(r2) /* 8031B798 003186F8 3C C0 CC 01 */ lis r6, 0xCC008000@ha /* 8031B79C 003186FC C0 BF 01 34 */ lfs f5, 0x134(r31) /* 8031B7A0 00318700 38 A0 02 02 */ li r5, 0x202 /* 8031B7A4 00318704 EC 06 04 B2 */ fmuls f0, f6, f18 /* 8031B7A8 00318708 C0 9F 01 38 */ lfs f4, 0x138(r31) /* 8031B7AC 0031870C EC 26 04 72 */ fmuls f1, f6, f17 /* 8031B7B0 00318710 C0 7F 01 3C */ lfs f3, 0x13c(r31) /* 8031B7B4 00318714 EC 46 04 F2 */ fmuls f2, f6, f19 /* 8031B7B8 00318718 38 80 00 02 */ li r4, 2 /* 8031B7BC 0031871C EC A5 00 2A */ fadds f5, f5, f0 /* 8031B7C0 00318720 38 60 00 00 */ li r3, 0 /* 8031B7C4 00318724 EC 06 07 F2 */ fmuls f0, f6, f31 /* 8031B7C8 00318728 38 00 02 00 */ li r0, 0x200 /* 8031B7CC 0031872C EC 84 08 2A */ fadds f4, f4, f1 /* 8031B7D0 00318730 EC 26 07 B2 */ fmuls f1, f6, f30 /* 8031B7D4 00318734 ED 65 00 2A */ fadds f11, f5, f0 /* 8031B7D8 00318738 D0 BF 01 34 */ stfs f5, 0x134(r31) /* 8031B7DC 0031873C ED 83 10 2A */ fadds f12, f3, f2 /* 8031B7E0 00318740 EC 06 07 72 */ fmuls f0, f6, f29 /* 8031B7E4 00318744 D0 9F 01 38 */ stfs f4, 0x138(r31) /* 8031B7E8 00318748 ED 44 08 2A */ fadds f10, f4, f1 /* 8031B7EC 0031874C D1 66 80 00 */ stfs f11, 0xCC008000@l(r6) /* 8031B7F0 00318750 ED 0B F8 28 */ fsubs f8, f11, f31 /* 8031B7F4 00318754 ED 2C 00 2A */ fadds f9, f12, f0 /* 8031B7F8 00318758 D1 46 80 00 */ stfs f10, 0xCC008000@l(r6) /* 8031B7FC 0031875C EC EA F0 28 */ fsubs f7, f10, f30 /* 8031B800 00318760 EC A8 90 28 */ fsubs f5, f8, f18 /* 8031B804 00318764 D1 26 80 00 */ stfs f9, 0xCC008000@l(r6) /* 8031B808 00318768 EC C9 E8 28 */ fsubs f6, f9, f29 /* 8031B80C 0031876C EC 87 88 28 */ fsubs f4, f7, f17 /* 8031B810 00318770 93 06 80 00 */ stw r24, 0xCC008000@l(r6) /* 8031B814 00318774 EC 45 F8 2A */ fadds f2, f5, f31 /* 8031B818 00318778 EC 66 98 28 */ fsubs f3, f6, f19 /* 8031B81C 0031877C B0 A6 80 00 */ sth r5, 0xCC008000@l(r6) /* 8031B820 00318780 EC 24 F0 2A */ fadds f1, f4, f30 /* 8031B824 00318784 D1 06 80 00 */ stfs f8, 0xCC008000@l(r6) /* 8031B828 00318788 EC 03 E8 2A */ fadds f0, f3, f29 /* 8031B82C 0031878C D0 E6 80 00 */ stfs f7, 0xCC008000@l(r6) /* 8031B830 00318790 D0 C6 80 00 */ stfs f6, 0xCC008000@l(r6) /* 8031B834 00318794 93 06 80 00 */ stw r24, 0xCC008000@l(r6) /* 8031B838 00318798 B0 86 80 00 */ sth r4, 0xCC008000@l(r6) /* 8031B83C 0031879C D0 A6 80 00 */ stfs f5, 0xCC008000@l(r6) /* 8031B840 003187A0 D0 86 80 00 */ stfs f4, 0xCC008000@l(r6) /* 8031B844 003187A4 D0 66 80 00 */ stfs f3, 0xCC008000@l(r6) /* 8031B848 003187A8 93 06 80 00 */ stw r24, 0xCC008000@l(r6) /* 8031B84C 003187AC B0 66 80 00 */ sth r3, 0xCC008000@l(r6) /* 8031B850 003187B0 D1 9F 01 3C */ stfs f12, 0x13c(r31) /* 8031B854 003187B4 D0 46 80 00 */ stfs f2, 0xCC008000@l(r6) /* 8031B858 003187B8 D1 7F 01 34 */ stfs f11, 0x134(r31) /* 8031B85C 003187BC D1 5F 01 38 */ stfs f10, 0x138(r31) /* 8031B860 003187C0 D1 3F 01 3C */ stfs f9, 0x13c(r31) /* 8031B864 003187C4 D0 26 80 00 */ stfs f1, 0xCC008000@l(r6) /* 8031B868 003187C8 D1 1F 01 34 */ stfs f8, 0x134(r31) /* 8031B86C 003187CC D0 FF 01 38 */ stfs f7, 0x138(r31) /* 8031B870 003187D0 D0 DF 01 3C */ stfs f6, 0x13c(r31) /* 8031B874 003187D4 D0 06 80 00 */ stfs f0, 0xCC008000@l(r6) /* 8031B878 003187D8 D0 BF 01 34 */ stfs f5, 0x134(r31) /* 8031B87C 003187DC D0 9F 01 38 */ stfs f4, 0x138(r31) /* 8031B880 003187E0 D0 7F 01 3C */ stfs f3, 0x13c(r31) /* 8031B884 003187E4 93 06 80 00 */ stw r24, 0xCC008000@l(r6) /* 8031B888 003187E8 D0 5F 01 34 */ stfs f2, 0x134(r31) /* 8031B88C 003187EC D0 3F 01 38 */ stfs f1, 0x138(r31) /* 8031B890 003187F0 D0 1F 01 3C */ stfs f0, 0x13c(r31) /* 8031B894 003187F4 B0 06 80 00 */ sth r0, 0xCC008000@l(r6) lbl_8031B898: /* 8031B898 003187F8 3A 94 00 10 */ addi r20, r20, 0x10 /* 8031B89C 003187FC 3A B5 00 38 */ addi r21, r21, 0x38 /* 8031B8A0 00318800 3A 73 00 01 */ addi r19, r19, 1 lbl_8031B8A4: /* 8031B8A4 00318804 7C 13 B8 00 */ cmpw r19, r23 /* 8031B8A8 00318808 41 80 FB 14 */ blt lbl_8031B3BC /* 8031B8AC 0031880C 48 00 05 74 */ b lbl_8031BE20 lbl_8031B8B0: /* 8031B8B0 00318810 6E A3 80 00 */ xoris r3, r21, 0x8000 /* 8031B8B4 00318814 3C 00 43 30 */ lis r0, 0x4330 /* 8031B8B8 00318818 90 7F 03 6C */ stw r3, 0x36c(r31) /* 8031B8BC 0031881C 57 9C 06 3E */ clrlwi r28, r28, 0x18 /* 8031B8C0 00318820 C8 22 CA 18 */ lfd f1, lbl_805AE738@sda21(r2) /* 8031B8C4 00318824 3A 60 00 00 */ li r19, 0 /* 8031B8C8 00318828 90 1F 03 68 */ stw r0, 0x368(r31) /* 8031B8CC 0031882C 3A 80 00 00 */ li r20, 0 /* 8031B8D0 00318830 C0 42 C9 F0 */ lfs f2, lbl_805AE710@sda21(r2) /* 8031B8D4 00318834 C8 1F 03 68 */ lfd f0, 0x368(r31) /* 8031B8D8 00318838 C3 82 CA 14 */ lfs f28, lbl_805AE734@sda21(r2) /* 8031B8DC 0031883C EC 00 08 28 */ fsubs f0, f0, f1 /* 8031B8E0 00318840 C3 A2 C9 EC */ lfs f29, lbl_805AE70C@sda21(r2) /* 8031B8E4 00318844 EE E2 00 24 */ fdivs f23, f2, f0 /* 8031B8E8 00318848 48 00 05 30 */ b lbl_8031BE18 lbl_8031B8EC: /* 8031B8EC 0031884C 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8031B8F0 00318850 C0 7E 00 80 */ lfs f3, 0x80(r30) /* 8031B8F4 00318854 7E C0 A2 14 */ add r22, r0, r20 /* 8031B8F8 00318858 C0 36 00 04 */ lfs f1, 4(r22) /* 8031B8FC 0031885C C0 56 00 10 */ lfs f2, 0x10(r22) /* 8031B900 00318860 C0 16 00 08 */ lfs f0, 8(r22) /* 8031B904 00318864 EC 81 10 28 */ fsubs f4, f1, f2 /* 8031B908 00318868 C0 F6 00 14 */ lfs f7, 0x14(r22) /* 8031B90C 0031886C C0 36 00 0C */ lfs f1, 0xc(r22) /* 8031B910 00318870 EC A0 38 28 */ fsubs f5, f0, f7 /* 8031B914 00318874 C1 16 00 18 */ lfs f8, 0x18(r22) /* 8031B918 00318878 EC 03 01 32 */ fmuls f0, f3, f4 /* 8031B91C 0031887C EC C1 40 28 */ fsubs f6, f1, f8 /* 8031B920 00318880 EC 23 01 72 */ fmuls f1, f3, f5 /* 8031B924 00318884 EC 40 10 2A */ fadds f2, f0, f2 /* 8031B928 00318888 EC 03 01 B2 */ fmuls f0, f3, f6 /* 8031B92C 0031888C EC 21 38 2A */ fadds f1, f1, f7 /* 8031B930 00318890 D0 5F 01 28 */ stfs f2, 0x128(r31) /* 8031B934 00318894 EE 37 01 32 */ fmuls f17, f23, f4 /* 8031B938 00318898 EC 00 40 2A */ fadds f0, f0, f8 /* 8031B93C 0031889C D0 3F 01 2C */ stfs f1, 0x12c(r31) /* 8031B940 003188A0 EE 57 01 72 */ fmuls f18, f23, f5 /* 8031B944 003188A4 EE 77 01 B2 */ fmuls f19, f23, f6 /* 8031B948 003188A8 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 8031B94C 003188AC 80 16 00 34 */ lwz r0, 0x34(r22) /* 8031B950 003188B0 90 1F 00 34 */ stw r0, 0x34(r31) /* 8031B954 003188B4 E0 1F A0 37 */ psq_l f0, 55(r31), 1, qr2 /* 8031B958 003188B8 EC 1D 00 32 */ fmuls f0, f29, f0 /* 8031B95C 003188BC EC 17 00 32 */ fmuls f0, f23, f0 /* 8031B960 003188C0 EF 7C 00 32 */ fmuls f27, f28, f0 /* 8031B964 003188C4 F3 7F A0 08 */ psq_st f27, 8(r31), 1, qr2 /* 8031B968 003188C8 28 1C 00 00 */ cmplwi r28, 0 /* 8031B96C 003188CC 88 1F 00 08 */ lbz r0, 8(r31) /* 8031B970 003188D0 98 1F 00 37 */ stb r0, 0x37(r31) /* 8031B974 003188D4 83 1F 00 34 */ lwz r24, 0x34(r31) /* 8031B978 003188D8 40 82 02 98 */ bne lbl_8031BC10 /* 8031B97C 003188DC 80 96 00 28 */ lwz r4, 0x28(r22) /* 8031B980 003188E0 80 7E 00 74 */ lwz r3, 0x74(r30) /* 8031B984 003188E4 80 16 00 00 */ lwz r0, 0(r22) /* 8031B988 003188E8 7C 64 18 50 */ subf r3, r4, r3 /* 8031B98C 003188EC 3A 43 FF FF */ addi r18, r3, -1 /* 8031B990 003188F0 7C 64 00 50 */ subf r3, r4, r0 /* 8031B994 003188F4 48 00 ED E5 */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031B998 003188F8 7E 43 93 78 */ mr r3, r18 /* 8031B99C 003188FC 48 00 EC E1 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 8031B9A0 00318900 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8031B9A4 00318904 7E 44 93 78 */ mr r4, r18 /* 8031B9A8 00318908 38 BF 01 40 */ addi r5, r31, 0x140 /* 8031B9AC 0031890C 80 63 00 40 */ lwz r3, 0x40(r3) /* 8031B9B0 00318910 81 83 00 00 */ lwz r12, 0(r3) /* 8031B9B4 00318914 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031B9B8 00318918 7D 89 03 A6 */ mtctr r12 /* 8031B9BC 0031891C 4E 80 04 21 */ bctrl /* 8031B9C0 00318920 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031B9C4 00318924 41 82 01 08 */ beq lbl_8031BACC /* 8031B9C8 00318928 C3 C2 C9 F8 */ lfs f30, lbl_805AE718@sda21(r2) /* 8031B9CC 0031892C 3B 20 00 00 */ li r25, 0 /* 8031B9D0 00318930 3E 40 CC 01 */ lis r18, 0xcc01 /* 8031B9D4 00318934 48 00 00 EC */ b lbl_8031BAC0 lbl_8031B9D8: /* 8031B9D8 00318938 C0 5F 01 28 */ lfs f2, 0x128(r31) /* 8031B9DC 0031893C 38 7F 00 6C */ addi r3, r31, 0x6c /* 8031B9E0 00318940 C0 3F 01 2C */ lfs f1, 0x12c(r31) /* 8031B9E4 00318944 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031B9E8 00318948 C0 1F 01 30 */ lfs f0, 0x130(r31) /* 8031B9EC 0031894C EC 42 88 2A */ fadds f2, f2, f17 /* 8031B9F0 00318950 EC 21 90 2A */ fadds f1, f1, f18 /* 8031B9F4 00318954 38 BF 01 28 */ addi r5, r31, 0x128 /* 8031B9F8 00318958 EC 00 98 2A */ fadds f0, f0, f19 /* 8031B9FC 0031895C D0 5F 01 28 */ stfs f2, 0x128(r31) /* 8031BA00 00318960 D0 3F 01 2C */ stfs f1, 0x12c(r31) /* 8031BA04 00318964 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 8031BA08 00318968 4B FF 70 E1 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031BA0C 0031896C C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BA10 00318970 3B 39 00 01 */ addi r25, r25, 1 /* 8031BA14 00318974 C0 3F 00 6C */ lfs f1, 0x6c(r31) /* 8031BA18 00318978 EC 7E 00 32 */ fmuls f3, f30, f0 /* 8031BA1C 0031897C C0 1F 00 74 */ lfs f0, 0x74(r31) /* 8031BA20 00318980 C0 5F 00 70 */ lfs f2, 0x70(r31) /* 8031BA24 00318984 EC 83 08 2A */ fadds f4, f3, f1 /* 8031BA28 00318988 EC 63 00 2A */ fadds f3, f3, f0 /* 8031BA2C 0031898C D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031BA30 00318990 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031BA34 00318994 D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BA38 00318998 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BA3C 0031899C C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031BA40 003189A0 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BA44 003189A4 C0 1F 01 4C */ lfs f0, 0x14c(r31) /* 8031BA48 003189A8 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BA4C 003189AC C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BA50 003189B0 EC 84 00 28 */ fsubs f4, f4, f0 /* 8031BA54 003189B4 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031BA58 003189B8 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031BA5C 003189BC D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BA60 003189C0 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BA64 003189C4 C0 3F 01 40 */ lfs f1, 0x140(r31) /* 8031BA68 003189C8 D0 32 80 00 */ stfs f1, 0xCC008000@l(r18) /* 8031BA6C 003189CC C0 1F 01 4C */ lfs f0, 0x14c(r31) /* 8031BA70 003189D0 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BA74 003189D4 C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BA78 003189D8 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031BA7C 003189DC EC 63 00 28 */ fsubs f3, f3, f0 /* 8031BA80 003189E0 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031BA84 003189E4 D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BA88 003189E8 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BA8C 003189EC D0 32 80 00 */ stfs f1, 0xCC008000@l(r18) /* 8031BA90 003189F0 C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031BA94 003189F4 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BA98 003189F8 C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BA9C 003189FC EC 84 00 2A */ fadds f4, f4, f0 /* 8031BAA0 00318A00 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031BAA4 00318A04 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031BAA8 00318A08 D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BAAC 00318A0C 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BAB0 00318A10 C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031BAB4 00318A14 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BAB8 00318A18 C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031BABC 00318A1C D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) lbl_8031BAC0: /* 8031BAC0 00318A20 7C 19 A8 00 */ cmpw r25, r21 /* 8031BAC4 00318A24 41 80 FF 14 */ blt lbl_8031B9D8 /* 8031BAC8 00318A28 48 00 03 48 */ b lbl_8031BE10 lbl_8031BACC: /* 8031BACC 00318A2C C3 E2 C9 F8 */ lfs f31, lbl_805AE718@sda21(r2) /* 8031BAD0 00318A30 3B 20 00 00 */ li r25, 0 /* 8031BAD4 00318A34 C3 C2 C9 F4 */ lfs f30, lbl_805AE714@sda21(r2) /* 8031BAD8 00318A38 3E 40 CC 01 */ lis r18, 0xcc01 /* 8031BADC 00318A3C 48 00 01 28 */ b lbl_8031BC04 lbl_8031BAE0: /* 8031BAE0 00318A40 C0 5F 01 28 */ lfs f2, 0x128(r31) /* 8031BAE4 00318A44 38 7F 00 60 */ addi r3, r31, 0x60 /* 8031BAE8 00318A48 C0 3F 01 2C */ lfs f1, 0x12c(r31) /* 8031BAEC 00318A4C 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031BAF0 00318A50 C0 1F 01 30 */ lfs f0, 0x130(r31) /* 8031BAF4 00318A54 EC 42 88 2A */ fadds f2, f2, f17 /* 8031BAF8 00318A58 EC 21 90 2A */ fadds f1, f1, f18 /* 8031BAFC 00318A5C 38 BF 01 28 */ addi r5, r31, 0x128 /* 8031BB00 00318A60 EC 00 98 2A */ fadds f0, f0, f19 /* 8031BB04 00318A64 D0 5F 01 28 */ stfs f2, 0x128(r31) /* 8031BB08 00318A68 D0 3F 01 2C */ stfs f1, 0x12c(r31) /* 8031BB0C 00318A6C D0 1F 01 30 */ stfs f0, 0x130(r31) /* 8031BB10 00318A70 4B FF 6F D9 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031BB14 00318A74 C0 16 00 30 */ lfs f0, 0x30(r22) /* 8031BB18 00318A78 C0 36 00 2C */ lfs f1, 0x2c(r22) /* 8031BB1C 00318A7C EF 5E 00 32 */ fmuls f26, f30, f0 /* 8031BB20 00318A80 C2 9F 00 60 */ lfs f20, 0x60(r31) /* 8031BB24 00318A84 EF 3F 00 72 */ fmuls f25, f31, f1 /* 8031BB28 00318A88 C2 BF 00 64 */ lfs f21, 0x64(r31) /* 8031BB2C 00318A8C C2 DF 00 68 */ lfs f22, 0x68(r31) /* 8031BB30 00318A90 FC 20 D0 90 */ fmr f1, f26 /* 8031BB34 00318A94 4B FF 92 BD */ bl FastSinR__5CMathFf /* 8031BB38 00318A98 EF 19 00 72 */ fmuls f24, f25, f1 /* 8031BB3C 00318A9C FC 20 D0 90 */ fmr f1, f26 /* 8031BB40 00318AA0 4B FF 92 05 */ bl FastCosR__5CMathFf /* 8031BB44 00318AA4 EC 99 00 72 */ fmuls f4, f25, f1 /* 8031BB48 00318AA8 3B 39 00 01 */ addi r25, r25, 1 /* 8031BB4C 00318AAC FC 00 C0 50 */ fneg f0, f24 /* 8031BB50 00318AB0 EC D8 20 2A */ fadds f6, f24, f4 /* 8031BB54 00318AB4 EC 20 20 2A */ fadds f1, f0, f4 /* 8031BB58 00318AB8 EC 58 20 28 */ fsubs f2, f24, f4 /* 8031BB5C 00318ABC EC 66 A0 2A */ fadds f3, f6, f20 /* 8031BB60 00318AC0 EC E4 C0 28 */ fsubs f7, f4, f24 /* 8031BB64 00318AC4 FC 00 20 50 */ fneg f0, f4 /* 8031BB68 00318AC8 D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BB6C 00318ACC EC A2 A0 2A */ fadds f5, f2, f20 /* 8031BB70 00318AD0 EC 67 B0 2A */ fadds f3, f7, f22 /* 8031BB74 00318AD4 D2 B2 80 00 */ stfs f21, 0xCC008000@l(r18) /* 8031BB78 00318AD8 EC 00 C0 28 */ fsubs f0, f0, f24 /* 8031BB7C 00318ADC EC 86 B0 2A */ fadds f4, f6, f22 /* 8031BB80 00318AE0 D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BB84 00318AE4 EC 74 30 28 */ fsubs f3, f20, f6 /* 8031BB88 00318AE8 EC 56 38 28 */ fsubs f2, f22, f7 /* 8031BB8C 00318AEC 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BB90 00318AF0 EC 21 A0 2A */ fadds f1, f1, f20 /* 8031BB94 00318AF4 EC 00 B0 2A */ fadds f0, f0, f22 /* 8031BB98 00318AF8 C0 DF 01 48 */ lfs f6, 0x148(r31) /* 8031BB9C 00318AFC D0 D2 80 00 */ stfs f6, 0xCC008000@l(r18) /* 8031BBA0 00318B00 C0 DF 01 4C */ lfs f6, 0x14c(r31) /* 8031BBA4 00318B04 D0 D2 80 00 */ stfs f6, 0xCC008000@l(r18) /* 8031BBA8 00318B08 D0 B2 80 00 */ stfs f5, 0xCC008000@l(r18) /* 8031BBAC 00318B0C D2 B2 80 00 */ stfs f21, 0xCC008000@l(r18) /* 8031BBB0 00318B10 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031BBB4 00318B14 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BBB8 00318B18 C0 BF 01 40 */ lfs f5, 0x140(r31) /* 8031BBBC 00318B1C D0 B2 80 00 */ stfs f5, 0xCC008000@l(r18) /* 8031BBC0 00318B20 C0 9F 01 4C */ lfs f4, 0x14c(r31) /* 8031BBC4 00318B24 D0 92 80 00 */ stfs f4, 0xCC008000@l(r18) /* 8031BBC8 00318B28 D0 72 80 00 */ stfs f3, 0xCC008000@l(r18) /* 8031BBCC 00318B2C D2 B2 80 00 */ stfs f21, 0xCC008000@l(r18) /* 8031BBD0 00318B30 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031BBD4 00318B34 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BBD8 00318B38 D0 B2 80 00 */ stfs f5, 0xCC008000@l(r18) /* 8031BBDC 00318B3C C0 5F 01 44 */ lfs f2, 0x144(r31) /* 8031BBE0 00318B40 D0 52 80 00 */ stfs f2, 0xCC008000@l(r18) /* 8031BBE4 00318B44 D0 32 80 00 */ stfs f1, 0xCC008000@l(r18) /* 8031BBE8 00318B48 D2 B2 80 00 */ stfs f21, 0xCC008000@l(r18) /* 8031BBEC 00318B4C D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BBF0 00318B50 93 12 80 00 */ stw r24, 0xCC008000@l(r18) /* 8031BBF4 00318B54 C0 1F 01 48 */ lfs f0, 0x148(r31) /* 8031BBF8 00318B58 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) /* 8031BBFC 00318B5C C0 1F 01 44 */ lfs f0, 0x144(r31) /* 8031BC00 00318B60 D0 12 80 00 */ stfs f0, 0xCC008000@l(r18) lbl_8031BC04: /* 8031BC04 00318B64 7C 19 A8 00 */ cmpw r25, r21 /* 8031BC08 00318B68 41 80 FE D8 */ blt lbl_8031BAE0 /* 8031BC0C 00318B6C 48 00 02 04 */ b lbl_8031BE10 lbl_8031BC10: /* 8031BC10 00318B70 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 8031BC14 00318B74 41 82 00 EC */ beq lbl_8031BD00 /* 8031BC18 00318B78 C2 82 C9 F8 */ lfs f20, lbl_805AE718@sda21(r2) /* 8031BC1C 00318B7C 3A 40 00 00 */ li r18, 0 /* 8031BC20 00318B80 3F 20 CC 01 */ lis r25, 0xcc01 /* 8031BC24 00318B84 48 00 00 D0 */ b lbl_8031BCF4 lbl_8031BC28: /* 8031BC28 00318B88 C0 5F 01 28 */ lfs f2, 0x128(r31) /* 8031BC2C 00318B8C 38 7F 00 54 */ addi r3, r31, 0x54 /* 8031BC30 00318B90 C0 3F 01 2C */ lfs f1, 0x12c(r31) /* 8031BC34 00318B94 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031BC38 00318B98 C0 1F 01 30 */ lfs f0, 0x130(r31) /* 8031BC3C 00318B9C EC 42 88 2A */ fadds f2, f2, f17 /* 8031BC40 00318BA0 EC 21 90 2A */ fadds f1, f1, f18 /* 8031BC44 00318BA4 38 BF 01 28 */ addi r5, r31, 0x128 /* 8031BC48 00318BA8 EC 00 98 2A */ fadds f0, f0, f19 /* 8031BC4C 00318BAC D0 5F 01 28 */ stfs f2, 0x128(r31) /* 8031BC50 00318BB0 D0 3F 01 2C */ stfs f1, 0x12c(r31) /* 8031BC54 00318BB4 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 8031BC58 00318BB8 4B FF 6E 91 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031BC5C 00318BBC C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BC60 00318BC0 38 A0 02 02 */ li r5, 0x202 /* 8031BC64 00318BC4 C0 3F 00 54 */ lfs f1, 0x54(r31) /* 8031BC68 00318BC8 38 80 00 02 */ li r4, 2 /* 8031BC6C 00318BCC EC 74 00 32 */ fmuls f3, f20, f0 /* 8031BC70 00318BD0 C0 1F 00 5C */ lfs f0, 0x5c(r31) /* 8031BC74 00318BD4 C0 5F 00 58 */ lfs f2, 0x58(r31) /* 8031BC78 00318BD8 38 60 00 00 */ li r3, 0 /* 8031BC7C 00318BDC 38 00 02 00 */ li r0, 0x200 /* 8031BC80 00318BE0 3A 52 00 01 */ addi r18, r18, 1 /* 8031BC84 00318BE4 EC 23 08 2A */ fadds f1, f3, f1 /* 8031BC88 00318BE8 EC 63 00 2A */ fadds f3, f3, f0 /* 8031BC8C 00318BEC D0 39 80 00 */ stfs f1, 0xCC008000@l(r25) /* 8031BC90 00318BF0 D0 59 80 00 */ stfs f2, 0xCC008000@l(r25) /* 8031BC94 00318BF4 D0 79 80 00 */ stfs f3, 0xCC008000@l(r25) /* 8031BC98 00318BF8 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BC9C 00318BFC B0 B9 80 00 */ sth r5, 0xCC008000@l(r25) /* 8031BCA0 00318C00 C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BCA4 00318C04 EC 21 00 28 */ fsubs f1, f1, f0 /* 8031BCA8 00318C08 D0 39 80 00 */ stfs f1, 0xCC008000@l(r25) /* 8031BCAC 00318C0C D0 59 80 00 */ stfs f2, 0xCC008000@l(r25) /* 8031BCB0 00318C10 D0 79 80 00 */ stfs f3, 0xCC008000@l(r25) /* 8031BCB4 00318C14 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BCB8 00318C18 B0 99 80 00 */ sth r4, 0xCC008000@l(r25) /* 8031BCBC 00318C1C C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BCC0 00318C20 D0 39 80 00 */ stfs f1, 0xCC008000@l(r25) /* 8031BCC4 00318C24 EC 63 00 28 */ fsubs f3, f3, f0 /* 8031BCC8 00318C28 D0 59 80 00 */ stfs f2, 0xCC008000@l(r25) /* 8031BCCC 00318C2C D0 79 80 00 */ stfs f3, 0xCC008000@l(r25) /* 8031BCD0 00318C30 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BCD4 00318C34 B0 79 80 00 */ sth r3, 0xCC008000@l(r25) /* 8031BCD8 00318C38 C0 16 00 2C */ lfs f0, 0x2c(r22) /* 8031BCDC 00318C3C EC 21 00 2A */ fadds f1, f1, f0 /* 8031BCE0 00318C40 D0 39 80 00 */ stfs f1, 0xCC008000@l(r25) /* 8031BCE4 00318C44 D0 59 80 00 */ stfs f2, 0xCC008000@l(r25) /* 8031BCE8 00318C48 D0 79 80 00 */ stfs f3, 0xCC008000@l(r25) /* 8031BCEC 00318C4C 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BCF0 00318C50 B0 19 80 00 */ sth r0, 0xCC008000@l(r25) lbl_8031BCF4: /* 8031BCF4 00318C54 7C 12 A8 00 */ cmpw r18, r21 /* 8031BCF8 00318C58 41 80 FF 30 */ blt lbl_8031BC28 /* 8031BCFC 00318C5C 48 00 01 14 */ b lbl_8031BE10 lbl_8031BD00: /* 8031BD00 00318C60 C3 C2 C9 F8 */ lfs f30, lbl_805AE718@sda21(r2) /* 8031BD04 00318C64 3A 40 00 00 */ li r18, 0 /* 8031BD08 00318C68 C3 E2 C9 F4 */ lfs f31, lbl_805AE714@sda21(r2) /* 8031BD0C 00318C6C 3F 20 CC 01 */ lis r25, 0xcc01 /* 8031BD10 00318C70 48 00 00 F8 */ b lbl_8031BE08 lbl_8031BD14: /* 8031BD14 00318C74 C0 5F 01 28 */ lfs f2, 0x128(r31) /* 8031BD18 00318C78 38 7F 00 48 */ addi r3, r31, 0x48 /* 8031BD1C 00318C7C C0 3F 01 2C */ lfs f1, 0x12c(r31) /* 8031BD20 00318C80 38 9F 02 D4 */ addi r4, r31, 0x2d4 /* 8031BD24 00318C84 C0 1F 01 30 */ lfs f0, 0x130(r31) /* 8031BD28 00318C88 EC 42 88 2A */ fadds f2, f2, f17 /* 8031BD2C 00318C8C EC 21 90 2A */ fadds f1, f1, f18 /* 8031BD30 00318C90 38 BF 01 28 */ addi r5, r31, 0x128 /* 8031BD34 00318C94 EC 00 98 2A */ fadds f0, f0, f19 /* 8031BD38 00318C98 D0 5F 01 28 */ stfs f2, 0x128(r31) /* 8031BD3C 00318C9C D0 3F 01 2C */ stfs f1, 0x12c(r31) /* 8031BD40 00318CA0 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 8031BD44 00318CA4 4B FF 6D A5 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031BD48 00318CA8 C0 16 00 30 */ lfs f0, 0x30(r22) /* 8031BD4C 00318CAC C0 36 00 2C */ lfs f1, 0x2c(r22) /* 8031BD50 00318CB0 EF 3F 00 32 */ fmuls f25, f31, f0 /* 8031BD54 00318CB4 C2 9F 00 48 */ lfs f20, 0x48(r31) /* 8031BD58 00318CB8 EF 1E 00 72 */ fmuls f24, f30, f1 /* 8031BD5C 00318CBC C2 BF 00 4C */ lfs f21, 0x4c(r31) /* 8031BD60 00318CC0 C2 DF 00 50 */ lfs f22, 0x50(r31) /* 8031BD64 00318CC4 FC 20 C8 90 */ fmr f1, f25 /* 8031BD68 00318CC8 4B FF 90 89 */ bl FastSinR__5CMathFf /* 8031BD6C 00318CCC EF 58 00 72 */ fmuls f26, f24, f1 /* 8031BD70 00318CD0 FC 20 C8 90 */ fmr f1, f25 /* 8031BD74 00318CD4 4B FF 8F D1 */ bl FastCosR__5CMathFf /* 8031BD78 00318CD8 EC 18 00 72 */ fmuls f0, f24, f1 /* 8031BD7C 00318CDC 38 A0 02 02 */ li r5, 0x202 /* 8031BD80 00318CE0 38 80 00 02 */ li r4, 2 /* 8031BD84 00318CE4 38 60 00 00 */ li r3, 0 /* 8031BD88 00318CE8 38 00 02 00 */ li r0, 0x200 /* 8031BD8C 00318CEC 3A 52 00 01 */ addi r18, r18, 1 /* 8031BD90 00318CF0 EC DA 00 2A */ fadds f6, f26, f0 /* 8031BD94 00318CF4 EC FA 00 28 */ fsubs f7, f26, f0 /* 8031BD98 00318CF8 EC 34 30 2A */ fadds f1, f20, f6 /* 8031BD9C 00318CFC EC 16 38 28 */ fsubs f0, f22, f7 /* 8031BDA0 00318D00 EC B4 38 2A */ fadds f5, f20, f7 /* 8031BDA4 00318D04 D0 39 80 00 */ stfs f1, 0xCC008000@l(r25) /* 8031BDA8 00318D08 EC 96 30 2A */ fadds f4, f22, f6 /* 8031BDAC 00318D0C EC 74 30 28 */ fsubs f3, f20, f6 /* 8031BDB0 00318D10 D2 B9 80 00 */ stfs f21, 0xCC008000@l(r25) /* 8031BDB4 00318D14 EC 56 38 2A */ fadds f2, f22, f7 /* 8031BDB8 00318D18 EC 34 38 28 */ fsubs f1, f20, f7 /* 8031BDBC 00318D1C D0 19 80 00 */ stfs f0, 0xCC008000@l(r25) /* 8031BDC0 00318D20 EC 16 30 28 */ fsubs f0, f22, f6 /* 8031BDC4 00318D24 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BDC8 00318D28 B0 B9 80 00 */ sth r5, 0xCC008000@l(r25) /* 8031BDCC 00318D2C D0 B9 80 00 */ stfs f5, 0xCC008000@l(r25) /* 8031BDD0 00318D30 D2 B9 80 00 */ stfs f21, 0xCC008000@l(r25) /* 8031BDD4 00318D34 D0 99 80 00 */ stfs f4, 0xCC008000@l(r25) /* 8031BDD8 00318D38 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BDDC 00318D3C B0 99 80 00 */ sth r4, 0xCC008000@l(r25) /* 8031BDE0 00318D40 D0 79 80 00 */ stfs f3, 0xCC008000@l(r25) /* 8031BDE4 00318D44 D2 B9 80 00 */ stfs f21, 0xCC008000@l(r25) /* 8031BDE8 00318D48 D0 59 80 00 */ stfs f2, 0xCC008000@l(r25) /* 8031BDEC 00318D4C 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BDF0 00318D50 B0 79 80 00 */ sth r3, 0xCC008000@l(r25) /* 8031BDF4 00318D54 D0 39 80 00 */ stfs f1, 0xCC008000@l(r25) /* 8031BDF8 00318D58 D2 B9 80 00 */ stfs f21, 0xCC008000@l(r25) /* 8031BDFC 00318D5C D0 19 80 00 */ stfs f0, 0xCC008000@l(r25) /* 8031BE00 00318D60 93 19 80 00 */ stw r24, 0xCC008000@l(r25) /* 8031BE04 00318D64 B0 19 80 00 */ sth r0, 0xCC008000@l(r25) lbl_8031BE08: /* 8031BE08 00318D68 7C 12 A8 00 */ cmpw r18, r21 /* 8031BE0C 00318D6C 41 80 FF 08 */ blt lbl_8031BD14 lbl_8031BE10: /* 8031BE10 00318D70 3A 94 00 38 */ addi r20, r20, 0x38 /* 8031BE14 00318D74 3A 73 00 01 */ addi r19, r19, 1 lbl_8031BE18: /* 8031BE18 00318D78 7C 13 B8 00 */ cmpw r19, r23 /* 8031BE1C 00318D7C 41 80 FA D0 */ blt lbl_8031B8EC lbl_8031BE20: /* 8031BE20 00318D80 4B FE C7 61 */ bl End__3CGXFv /* 8031BE24 00318D84 28 1A 00 00 */ cmplwi r26, 0 /* 8031BE28 00318D88 41 82 00 14 */ beq lbl_8031BE3C /* 8031BE2C 00318D8C 38 7B FF FF */ addi r3, r27, -1 /* 8031BE30 00318D90 38 80 00 00 */ li r4, 0 /* 8031BE34 00318D94 38 A0 00 00 */ li r5, 0 /* 8031BE38 00318D98 48 05 F9 F9 */ bl GXSetTevSwapMode lbl_8031BE3C: /* 8031BE3C 00318D9C 38 60 00 01 */ li r3, 1 /* 8031BE40 00318DA0 4B FE FC 31 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 8031BE44 00318DA4 38 60 00 07 */ li r3, 7 /* 8031BE48 00318DA8 38 80 00 00 */ li r4, 0 /* 8031BE4C 00318DAC 38 A0 00 00 */ li r5, 0 /* 8031BE50 00318DB0 38 C0 00 07 */ li r6, 7 /* 8031BE54 00318DB4 38 E0 00 00 */ li r7, 0 /* 8031BE58 00318DB8 4B FE FB D1 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc /* 8031BE5C 00318DBC 38 7F 01 50 */ addi r3, r31, 0x150 /* 8031BE60 00318DC0 38 80 FF FF */ li r4, -1 /* 8031BE64 00318DC4 4B FF 67 A1 */ bl __dt__13CGlobalRandomFv lbl_8031BE68: /* 8031BE68 00318DC8 7F EA FB 78 */ mr r10, r31 /* 8031BE6C 00318DCC E3 EA 04 98 */ psq_l f31, 1176(r10), 0, qr0 /* 8031BE70 00318DD0 CB FF 04 90 */ lfd f31, 0x490(r31) /* 8031BE74 00318DD4 E3 CA 04 88 */ psq_l f30, 1160(r10), 0, qr0 /* 8031BE78 00318DD8 CB DF 04 80 */ lfd f30, 0x480(r31) /* 8031BE7C 00318DDC E3 AA 04 78 */ psq_l f29, 1144(r10), 0, qr0 /* 8031BE80 00318DE0 CB BF 04 70 */ lfd f29, 0x470(r31) /* 8031BE84 00318DE4 E3 8A 04 68 */ psq_l f28, 1128(r10), 0, qr0 /* 8031BE88 00318DE8 CB 9F 04 60 */ lfd f28, 0x460(r31) /* 8031BE8C 00318DEC E3 6A 04 58 */ psq_l f27, 1112(r10), 0, qr0 /* 8031BE90 00318DF0 CB 7F 04 50 */ lfd f27, 0x450(r31) /* 8031BE94 00318DF4 E3 4A 04 48 */ psq_l f26, 1096(r10), 0, qr0 /* 8031BE98 00318DF8 CB 5F 04 40 */ lfd f26, 0x440(r31) /* 8031BE9C 00318DFC E3 2A 04 38 */ psq_l f25, 1080(r10), 0, qr0 /* 8031BEA0 00318E00 CB 3F 04 30 */ lfd f25, 0x430(r31) /* 8031BEA4 00318E04 E3 0A 04 28 */ psq_l f24, 1064(r10), 0, qr0 /* 8031BEA8 00318E08 CB 1F 04 20 */ lfd f24, 0x420(r31) /* 8031BEAC 00318E0C E2 EA 04 18 */ psq_l f23, 1048(r10), 0, qr0 /* 8031BEB0 00318E10 CA FF 04 10 */ lfd f23, 0x410(r31) /* 8031BEB4 00318E14 E2 CA 04 08 */ psq_l f22, 1032(r10), 0, qr0 /* 8031BEB8 00318E18 CA DF 04 00 */ lfd f22, 0x400(r31) /* 8031BEBC 00318E1C E2 AA 03 F8 */ psq_l f21, 1016(r10), 0, qr0 /* 8031BEC0 00318E20 CA BF 03 F0 */ lfd f21, 0x3f0(r31) /* 8031BEC4 00318E24 E2 8A 03 E8 */ psq_l f20, 1000(r10), 0, qr0 /* 8031BEC8 00318E28 CA 9F 03 E0 */ lfd f20, 0x3e0(r31) /* 8031BECC 00318E2C E2 6A 03 D8 */ psq_l f19, 984(r10), 0, qr0 /* 8031BED0 00318E30 CA 7F 03 D0 */ lfd f19, 0x3d0(r31) /* 8031BED4 00318E34 E2 4A 03 C8 */ psq_l f18, 968(r10), 0, qr0 /* 8031BED8 00318E38 CA 5F 03 C0 */ lfd f18, 0x3c0(r31) /* 8031BEDC 00318E3C E2 2A 03 B8 */ psq_l f17, 952(r10), 0, qr0 /* 8031BEE0 00318E40 CA 3F 03 B0 */ lfd f17, 0x3b0(r31) /* 8031BEE4 00318E44 BA 4A 03 78 */ lmw r18, 0x378(r10) /* 8031BEE8 00318E48 81 41 00 00 */ lwz r10, 0(r1) /* 8031BEEC 00318E4C 80 0A 00 04 */ lwz r0, 4(r10) /* 8031BEF0 00318E50 7D 41 53 78 */ mr r1, r10 /* 8031BEF4 00318E54 7C 08 03 A6 */ mtlr r0 /* 8031BEF8 00318E58 4E 80 00 20 */ blr .global RenderBasicParticlesRotNoTS__11CElementGenFRC10CTransform RenderBasicParticlesRotNoTS__11CElementGenFRC10CTransform: /* 8031BEFC 00318E5C 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 8031BF00 00318E60 7C 08 02 A6 */ mflr r0 /* 8031BF04 00318E64 90 01 00 D4 */ stw r0, 0xd4(r1) /* 8031BF08 00318E68 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 8031BF0C 00318E6C F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 8031BF10 00318E70 DB C1 00 B0 */ stfd f30, 0xb0(r1) /* 8031BF14 00318E74 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0 /* 8031BF18 00318E78 DB A1 00 A0 */ stfd f29, 0xa0(r1) /* 8031BF1C 00318E7C F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0 /* 8031BF20 00318E80 DB 81 00 90 */ stfd f28, 0x90(r1) /* 8031BF24 00318E84 F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0 /* 8031BF28 00318E88 DB 61 00 80 */ stfd f27, 0x80(r1) /* 8031BF2C 00318E8C F3 61 00 88 */ psq_st f27, 136(r1), 0, qr0 /* 8031BF30 00318E90 DB 41 00 70 */ stfd f26, 0x70(r1) /* 8031BF34 00318E94 F3 41 00 78 */ psq_st f26, 120(r1), 0, qr0 /* 8031BF38 00318E98 DB 21 00 60 */ stfd f25, 0x60(r1) /* 8031BF3C 00318E9C F3 21 00 68 */ psq_st f25, 104(r1), 0, qr0 /* 8031BF40 00318EA0 DB 01 00 50 */ stfd f24, 0x50(r1) /* 8031BF44 00318EA4 F3 01 00 58 */ psq_st f24, 88(r1), 0, qr0 /* 8031BF48 00318EA8 BF 41 00 38 */ stmw r26, 0x38(r1) /* 8031BF4C 00318EAC C3 C2 C9 F8 */ lfs f30, lbl_805AE718@sda21(r2) /* 8031BF50 00318EB0 7C 7A 1B 78 */ mr r26, r3 /* 8031BF54 00318EB4 C3 E2 C9 F4 */ lfs f31, lbl_805AE714@sda21(r2) /* 8031BF58 00318EB8 7C 9B 23 78 */ mr r27, r4 /* 8031BF5C 00318EBC 3B 80 00 00 */ li r28, 0 /* 8031BF60 00318EC0 3B A0 00 00 */ li r29, 0 /* 8031BF64 00318EC4 3F E0 CC 01 */ lis r31, 0xcc01 /* 8031BF68 00318EC8 48 00 01 48 */ b lbl_8031C0B0 lbl_8031BF6C: /* 8031BF6C 00318ECC 80 1A 00 3C */ lwz r0, 0x3c(r26) /* 8031BF70 00318ED0 7F 64 DB 78 */ mr r4, r27 /* 8031BF74 00318ED4 C0 FA 00 80 */ lfs f7, 0x80(r26) /* 8031BF78 00318ED8 38 61 00 2C */ addi r3, r1, 0x2c /* 8031BF7C 00318EDC 7F C0 EA 14 */ add r30, r0, r29 /* 8031BF80 00318EE0 38 A1 00 20 */ addi r5, r1, 0x20 /* 8031BF84 00318EE4 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031BF88 00318EE8 C0 9E 00 14 */ lfs f4, 0x14(r30) /* 8031BF8C 00318EEC C0 3E 00 0C */ lfs f1, 0xc(r30) /* 8031BF90 00318EF0 EC A0 20 28 */ fsubs f5, f0, f4 /* 8031BF94 00318EF4 C0 7E 00 18 */ lfs f3, 0x18(r30) /* 8031BF98 00318EF8 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031BF9C 00318EFC EC 21 18 28 */ fsubs f1, f1, f3 /* 8031BFA0 00318F00 C0 5E 00 10 */ lfs f2, 0x10(r30) /* 8031BFA4 00318F04 EC C7 01 72 */ fmuls f6, f7, f5 /* 8031BFA8 00318F08 EC 00 10 28 */ fsubs f0, f0, f2 /* 8031BFAC 00318F0C D0 A1 00 0C */ stfs f5, 0xc(r1) /* 8031BFB0 00318F10 EC A7 00 72 */ fmuls f5, f7, f1 /* 8031BFB4 00318F14 EC 86 20 2A */ fadds f4, f6, f4 /* 8031BFB8 00318F18 D0 21 00 10 */ stfs f1, 0x10(r1) /* 8031BFBC 00318F1C EC 27 00 32 */ fmuls f1, f7, f0 /* 8031BFC0 00318F20 EC 65 18 2A */ fadds f3, f5, f3 /* 8031BFC4 00318F24 D0 01 00 08 */ stfs f0, 8(r1) /* 8031BFC8 00318F28 EC 01 10 2A */ fadds f0, f1, f2 /* 8031BFCC 00318F2C D0 21 00 14 */ stfs f1, 0x14(r1) /* 8031BFD0 00318F30 D0 C1 00 18 */ stfs f6, 0x18(r1) /* 8031BFD4 00318F34 D0 A1 00 1C */ stfs f5, 0x1c(r1) /* 8031BFD8 00318F38 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8031BFDC 00318F3C D0 81 00 24 */ stfs f4, 0x24(r1) /* 8031BFE0 00318F40 D0 61 00 28 */ stfs f3, 0x28(r1) /* 8031BFE4 00318F44 4B FF 6B 05 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031BFE8 00318F48 C0 1E 00 30 */ lfs f0, 0x30(r30) /* 8031BFEC 00318F4C C0 3E 00 2C */ lfs f1, 0x2c(r30) /* 8031BFF0 00318F50 EF 3F 00 32 */ fmuls f25, f31, f0 /* 8031BFF4 00318F54 C3 A1 00 2C */ lfs f29, 0x2c(r1) /* 8031BFF8 00318F58 EF 5E 00 72 */ fmuls f26, f30, f1 /* 8031BFFC 00318F5C C3 81 00 30 */ lfs f28, 0x30(r1) /* 8031C000 00318F60 C3 61 00 34 */ lfs f27, 0x34(r1) /* 8031C004 00318F64 FC 20 C8 90 */ fmr f1, f25 /* 8031C008 00318F68 83 DE 00 34 */ lwz r30, 0x34(r30) /* 8031C00C 00318F6C 4B FF 8D E5 */ bl FastSinR__5CMathFf /* 8031C010 00318F70 EF 1A 00 72 */ fmuls f24, f26, f1 /* 8031C014 00318F74 FC 20 C8 90 */ fmr f1, f25 /* 8031C018 00318F78 4B FF 8D 2D */ bl FastCosR__5CMathFf /* 8031C01C 00318F7C EC 1A 00 72 */ fmuls f0, f26, f1 /* 8031C020 00318F80 38 A0 02 02 */ li r5, 0x202 /* 8031C024 00318F84 38 80 00 02 */ li r4, 2 /* 8031C028 00318F88 38 60 00 00 */ li r3, 0 /* 8031C02C 00318F8C 38 00 02 00 */ li r0, 0x200 /* 8031C030 00318F90 3B BD 00 38 */ addi r29, r29, 0x38 /* 8031C034 00318F94 EC D8 00 2A */ fadds f6, f24, f0 /* 8031C038 00318F98 3B 9C 00 01 */ addi r28, r28, 1 /* 8031C03C 00318F9C EC F8 00 28 */ fsubs f7, f24, f0 /* 8031C040 00318FA0 EC 3D 30 2A */ fadds f1, f29, f6 /* 8031C044 00318FA4 EC 1B 38 28 */ fsubs f0, f27, f7 /* 8031C048 00318FA8 EC BD 38 2A */ fadds f5, f29, f7 /* 8031C04C 00318FAC D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C050 00318FB0 EC 9B 30 2A */ fadds f4, f27, f6 /* 8031C054 00318FB4 EC 7D 30 28 */ fsubs f3, f29, f6 /* 8031C058 00318FB8 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C05C 00318FBC EC 5B 38 2A */ fadds f2, f27, f7 /* 8031C060 00318FC0 EC 3D 38 28 */ fsubs f1, f29, f7 /* 8031C064 00318FC4 D0 1F 80 00 */ stfs f0, 0xCC008000@l(r31) /* 8031C068 00318FC8 EC 1B 30 28 */ fsubs f0, f27, f6 /* 8031C06C 00318FCC 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C070 00318FD0 B0 BF 80 00 */ sth r5, 0xCC008000@l(r31) /* 8031C074 00318FD4 D0 BF 80 00 */ stfs f5, 0xCC008000@l(r31) /* 8031C078 00318FD8 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C07C 00318FDC D0 9F 80 00 */ stfs f4, 0xCC008000@l(r31) /* 8031C080 00318FE0 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C084 00318FE4 B0 9F 80 00 */ sth r4, 0xCC008000@l(r31) /* 8031C088 00318FE8 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C08C 00318FEC D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C090 00318FF0 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C094 00318FF4 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C098 00318FF8 B0 7F 80 00 */ sth r3, 0xCC008000@l(r31) /* 8031C09C 00318FFC D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C0A0 00319000 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C0A4 00319004 D0 1F 80 00 */ stfs f0, 0xCC008000@l(r31) /* 8031C0A8 00319008 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C0AC 0031900C B0 1F 80 00 */ sth r0, 0xCC008000@l(r31) lbl_8031C0B0: /* 8031C0B0 00319010 80 1A 00 34 */ lwz r0, 0x34(r26) /* 8031C0B4 00319014 7C 1C 00 00 */ cmpw r28, r0 /* 8031C0B8 00319018 41 80 FE B4 */ blt lbl_8031BF6C /* 8031C0BC 0031901C E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 8031C0C0 00319020 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 8031C0C4 00319024 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0 /* 8031C0C8 00319028 CB C1 00 B0 */ lfd f30, 0xb0(r1) /* 8031C0CC 0031902C E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0 /* 8031C0D0 00319030 CB A1 00 A0 */ lfd f29, 0xa0(r1) /* 8031C0D4 00319034 E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0 /* 8031C0D8 00319038 CB 81 00 90 */ lfd f28, 0x90(r1) /* 8031C0DC 0031903C E3 61 00 88 */ psq_l f27, 136(r1), 0, qr0 /* 8031C0E0 00319040 CB 61 00 80 */ lfd f27, 0x80(r1) /* 8031C0E4 00319044 E3 41 00 78 */ psq_l f26, 120(r1), 0, qr0 /* 8031C0E8 00319048 CB 41 00 70 */ lfd f26, 0x70(r1) /* 8031C0EC 0031904C E3 21 00 68 */ psq_l f25, 104(r1), 0, qr0 /* 8031C0F0 00319050 CB 21 00 60 */ lfd f25, 0x60(r1) /* 8031C0F4 00319054 E3 01 00 58 */ psq_l f24, 88(r1), 0, qr0 /* 8031C0F8 00319058 CB 01 00 50 */ lfd f24, 0x50(r1) /* 8031C0FC 0031905C BB 41 00 38 */ lmw r26, 0x38(r1) /* 8031C100 00319060 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 8031C104 00319064 7C 08 03 A6 */ mtlr r0 /* 8031C108 00319068 38 21 00 D0 */ addi r1, r1, 0xd0 /* 8031C10C 0031906C 4E 80 00 20 */ blr .global RenderBasicParticlesNoRotNoTS__11CElementGenFRC10CTransform RenderBasicParticlesNoRotNoTS__11CElementGenFRC10CTransform: /* 8031C110 00319070 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8031C114 00319074 7C 08 02 A6 */ mflr r0 /* 8031C118 00319078 90 01 00 64 */ stw r0, 0x64(r1) /* 8031C11C 0031907C DB E1 00 50 */ stfd f31, 0x50(r1) /* 8031C120 00319080 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 8031C124 00319084 BF 41 00 38 */ stmw r26, 0x38(r1) /* 8031C128 00319088 C3 E2 C9 F8 */ lfs f31, lbl_805AE718@sda21(r2) /* 8031C12C 0031908C 7C 7A 1B 78 */ mr r26, r3 /* 8031C130 00319090 7C 9B 23 78 */ mr r27, r4 /* 8031C134 00319094 3B 80 00 00 */ li r28, 0 /* 8031C138 00319098 3B A0 00 00 */ li r29, 0 /* 8031C13C 0031909C 3F E0 CC 01 */ lis r31, 0xcc01 /* 8031C140 003190A0 48 00 01 20 */ b lbl_8031C260 lbl_8031C144: /* 8031C144 003190A4 80 1A 00 3C */ lwz r0, 0x3c(r26) /* 8031C148 003190A8 7F 64 DB 78 */ mr r4, r27 /* 8031C14C 003190AC C0 FA 00 80 */ lfs f7, 0x80(r26) /* 8031C150 003190B0 38 61 00 2C */ addi r3, r1, 0x2c /* 8031C154 003190B4 7F C0 EA 14 */ add r30, r0, r29 /* 8031C158 003190B8 38 A1 00 20 */ addi r5, r1, 0x20 /* 8031C15C 003190BC C0 1E 00 08 */ lfs f0, 8(r30) /* 8031C160 003190C0 C0 9E 00 14 */ lfs f4, 0x14(r30) /* 8031C164 003190C4 C0 3E 00 0C */ lfs f1, 0xc(r30) /* 8031C168 003190C8 EC A0 20 28 */ fsubs f5, f0, f4 /* 8031C16C 003190CC C0 7E 00 18 */ lfs f3, 0x18(r30) /* 8031C170 003190D0 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031C174 003190D4 EC 21 18 28 */ fsubs f1, f1, f3 /* 8031C178 003190D8 C0 5E 00 10 */ lfs f2, 0x10(r30) /* 8031C17C 003190DC EC C7 01 72 */ fmuls f6, f7, f5 /* 8031C180 003190E0 EC 00 10 28 */ fsubs f0, f0, f2 /* 8031C184 003190E4 D0 A1 00 0C */ stfs f5, 0xc(r1) /* 8031C188 003190E8 EC A7 00 72 */ fmuls f5, f7, f1 /* 8031C18C 003190EC EC 86 20 2A */ fadds f4, f6, f4 /* 8031C190 003190F0 D0 21 00 10 */ stfs f1, 0x10(r1) /* 8031C194 003190F4 EC 27 00 32 */ fmuls f1, f7, f0 /* 8031C198 003190F8 EC 65 18 2A */ fadds f3, f5, f3 /* 8031C19C 003190FC D0 01 00 08 */ stfs f0, 8(r1) /* 8031C1A0 00319100 EC 01 10 2A */ fadds f0, f1, f2 /* 8031C1A4 00319104 D0 21 00 14 */ stfs f1, 0x14(r1) /* 8031C1A8 00319108 D0 C1 00 18 */ stfs f6, 0x18(r1) /* 8031C1AC 0031910C D0 A1 00 1C */ stfs f5, 0x1c(r1) /* 8031C1B0 00319110 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8031C1B4 00319114 D0 81 00 24 */ stfs f4, 0x24(r1) /* 8031C1B8 00319118 D0 61 00 28 */ stfs f3, 0x28(r1) /* 8031C1BC 0031911C 4B FF 69 2D */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031C1C0 00319120 C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C1C4 00319124 38 A0 02 02 */ li r5, 0x202 /* 8031C1C8 00319128 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8031C1CC 0031912C 38 80 00 02 */ li r4, 2 /* 8031C1D0 00319130 EC 7F 00 32 */ fmuls f3, f31, f0 /* 8031C1D4 00319134 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8031C1D8 00319138 C0 41 00 30 */ lfs f2, 0x30(r1) /* 8031C1DC 0031913C 38 60 00 00 */ li r3, 0 /* 8031C1E0 00319140 80 DE 00 34 */ lwz r6, 0x34(r30) /* 8031C1E4 00319144 38 00 02 00 */ li r0, 0x200 /* 8031C1E8 00319148 EC 23 08 2A */ fadds f1, f3, f1 /* 8031C1EC 0031914C 3B BD 00 38 */ addi r29, r29, 0x38 /* 8031C1F0 00319150 EC 63 00 2A */ fadds f3, f3, f0 /* 8031C1F4 00319154 3B 9C 00 01 */ addi r28, r28, 1 /* 8031C1F8 00319158 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C1FC 0031915C D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C200 00319160 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C204 00319164 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C208 00319168 B0 BF 80 00 */ sth r5, 0xCC008000@l(r31) /* 8031C20C 0031916C C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C210 00319170 EC 21 00 28 */ fsubs f1, f1, f0 /* 8031C214 00319174 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C218 00319178 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C21C 0031917C D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C220 00319180 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C224 00319184 B0 9F 80 00 */ sth r4, 0xCC008000@l(r31) /* 8031C228 00319188 C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C22C 0031918C D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C230 00319190 EC 63 00 28 */ fsubs f3, f3, f0 /* 8031C234 00319194 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C238 00319198 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C23C 0031919C 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C240 003191A0 B0 7F 80 00 */ sth r3, 0xCC008000@l(r31) /* 8031C244 003191A4 C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C248 003191A8 EC 21 00 2A */ fadds f1, f1, f0 /* 8031C24C 003191AC D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C250 003191B0 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C254 003191B4 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C258 003191B8 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C25C 003191BC B0 1F 80 00 */ sth r0, 0xCC008000@l(r31) lbl_8031C260: /* 8031C260 003191C0 80 1A 00 34 */ lwz r0, 0x34(r26) /* 8031C264 003191C4 7C 1C 00 00 */ cmpw r28, r0 /* 8031C268 003191C8 41 80 FE DC */ blt lbl_8031C144 /* 8031C26C 003191CC E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 8031C270 003191D0 CB E1 00 50 */ lfd f31, 0x50(r1) /* 8031C274 003191D4 BB 41 00 38 */ lmw r26, 0x38(r1) /* 8031C278 003191D8 80 01 00 64 */ lwz r0, 0x64(r1) /* 8031C27C 003191DC 7C 08 03 A6 */ mtlr r0 /* 8031C280 003191E0 38 21 00 60 */ addi r1, r1, 0x60 /* 8031C284 003191E4 4E 80 00 20 */ blr .global RenderBasicParticlesRotTS__11CElementGenFRC10CTransform RenderBasicParticlesRotTS__11CElementGenFRC10CTransform: /* 8031C288 003191E8 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8031C28C 003191EC 7C 08 02 A6 */ mflr r0 /* 8031C290 003191F0 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8031C294 003191F4 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 8031C298 003191F8 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 8031C29C 003191FC DB C1 00 90 */ stfd f30, 0x90(r1) /* 8031C2A0 00319200 F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 8031C2A4 00319204 DB A1 00 80 */ stfd f29, 0x80(r1) /* 8031C2A8 00319208 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 8031C2AC 0031920C DB 81 00 70 */ stfd f28, 0x70(r1) /* 8031C2B0 00319210 F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0 /* 8031C2B4 00319214 DB 61 00 60 */ stfd f27, 0x60(r1) /* 8031C2B8 00319218 F3 61 00 68 */ psq_st f27, 104(r1), 0, qr0 /* 8031C2BC 0031921C DB 41 00 50 */ stfd f26, 0x50(r1) /* 8031C2C0 00319220 F3 41 00 58 */ psq_st f26, 88(r1), 0, qr0 /* 8031C2C4 00319224 DB 21 00 40 */ stfd f25, 0x40(r1) /* 8031C2C8 00319228 F3 21 00 48 */ psq_st f25, 72(r1), 0, qr0 /* 8031C2CC 0031922C DB 01 00 30 */ stfd f24, 0x30(r1) /* 8031C2D0 00319230 F3 01 00 38 */ psq_st f24, 56(r1), 0, qr0 /* 8031C2D4 00319234 BF 41 00 18 */ stmw r26, 0x18(r1) /* 8031C2D8 00319238 C3 C2 C9 F8 */ lfs f30, lbl_805AE718@sda21(r2) /* 8031C2DC 0031923C 7C 7A 1B 78 */ mr r26, r3 /* 8031C2E0 00319240 C3 E2 C9 F4 */ lfs f31, lbl_805AE714@sda21(r2) /* 8031C2E4 00319244 7C 9B 23 78 */ mr r27, r4 /* 8031C2E8 00319248 3B 80 00 00 */ li r28, 0 /* 8031C2EC 0031924C 3B A0 00 00 */ li r29, 0 /* 8031C2F0 00319250 3F E0 CC 01 */ lis r31, 0xcc01 /* 8031C2F4 00319254 48 00 00 E4 */ b lbl_8031C3D8 lbl_8031C2F8: /* 8031C2F8 00319258 80 1A 00 3C */ lwz r0, 0x3c(r26) /* 8031C2FC 0031925C 7F 64 DB 78 */ mr r4, r27 /* 8031C300 00319260 38 61 00 08 */ addi r3, r1, 8 /* 8031C304 00319264 7F C0 EA 14 */ add r30, r0, r29 /* 8031C308 00319268 38 BE 00 04 */ addi r5, r30, 4 /* 8031C30C 0031926C 4B FF 67 DD */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031C310 00319270 C0 1E 00 30 */ lfs f0, 0x30(r30) /* 8031C314 00319274 C0 3E 00 2C */ lfs f1, 0x2c(r30) /* 8031C318 00319278 EF 3F 00 32 */ fmuls f25, f31, f0 /* 8031C31C 0031927C C3 A1 00 08 */ lfs f29, 8(r1) /* 8031C320 00319280 EF 5E 00 72 */ fmuls f26, f30, f1 /* 8031C324 00319284 C3 81 00 0C */ lfs f28, 0xc(r1) /* 8031C328 00319288 C3 61 00 10 */ lfs f27, 0x10(r1) /* 8031C32C 0031928C FC 20 C8 90 */ fmr f1, f25 /* 8031C330 00319290 83 DE 00 34 */ lwz r30, 0x34(r30) /* 8031C334 00319294 4B FF 8A BD */ bl FastSinR__5CMathFf /* 8031C338 00319298 EF 1A 00 72 */ fmuls f24, f26, f1 /* 8031C33C 0031929C FC 20 C8 90 */ fmr f1, f25 /* 8031C340 003192A0 4B FF 8A 05 */ bl FastCosR__5CMathFf /* 8031C344 003192A4 EC 1A 00 72 */ fmuls f0, f26, f1 /* 8031C348 003192A8 38 A0 02 02 */ li r5, 0x202 /* 8031C34C 003192AC 38 80 00 02 */ li r4, 2 /* 8031C350 003192B0 38 60 00 00 */ li r3, 0 /* 8031C354 003192B4 38 00 02 00 */ li r0, 0x200 /* 8031C358 003192B8 3B BD 00 38 */ addi r29, r29, 0x38 /* 8031C35C 003192BC EC D8 00 2A */ fadds f6, f24, f0 /* 8031C360 003192C0 3B 9C 00 01 */ addi r28, r28, 1 /* 8031C364 003192C4 EC F8 00 28 */ fsubs f7, f24, f0 /* 8031C368 003192C8 EC 3D 30 2A */ fadds f1, f29, f6 /* 8031C36C 003192CC EC 1B 38 28 */ fsubs f0, f27, f7 /* 8031C370 003192D0 EC BD 38 2A */ fadds f5, f29, f7 /* 8031C374 003192D4 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C378 003192D8 EC 9B 30 2A */ fadds f4, f27, f6 /* 8031C37C 003192DC EC 7D 30 28 */ fsubs f3, f29, f6 /* 8031C380 003192E0 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C384 003192E4 EC 5B 38 2A */ fadds f2, f27, f7 /* 8031C388 003192E8 EC 3D 38 28 */ fsubs f1, f29, f7 /* 8031C38C 003192EC D0 1F 80 00 */ stfs f0, 0xCC008000@l(r31) /* 8031C390 003192F0 EC 1B 30 28 */ fsubs f0, f27, f6 /* 8031C394 003192F4 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C398 003192F8 B0 BF 80 00 */ sth r5, 0xCC008000@l(r31) /* 8031C39C 003192FC D0 BF 80 00 */ stfs f5, 0xCC008000@l(r31) /* 8031C3A0 00319300 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C3A4 00319304 D0 9F 80 00 */ stfs f4, 0xCC008000@l(r31) /* 8031C3A8 00319308 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C3AC 0031930C B0 9F 80 00 */ sth r4, 0xCC008000@l(r31) /* 8031C3B0 00319310 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C3B4 00319314 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C3B8 00319318 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C3BC 0031931C 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C3C0 00319320 B0 7F 80 00 */ sth r3, 0xCC008000@l(r31) /* 8031C3C4 00319324 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C3C8 00319328 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31) /* 8031C3CC 0031932C D0 1F 80 00 */ stfs f0, 0xCC008000@l(r31) /* 8031C3D0 00319330 93 DF 80 00 */ stw r30, 0xCC008000@l(r31) /* 8031C3D4 00319334 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31) lbl_8031C3D8: /* 8031C3D8 00319338 80 1A 00 34 */ lwz r0, 0x34(r26) /* 8031C3DC 0031933C 7C 1C 00 00 */ cmpw r28, r0 /* 8031C3E0 00319340 41 80 FF 18 */ blt lbl_8031C2F8 /* 8031C3E4 00319344 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 8031C3E8 00319348 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 8031C3EC 0031934C E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 8031C3F0 00319350 CB C1 00 90 */ lfd f30, 0x90(r1) /* 8031C3F4 00319354 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 8031C3F8 00319358 CB A1 00 80 */ lfd f29, 0x80(r1) /* 8031C3FC 0031935C E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0 /* 8031C400 00319360 CB 81 00 70 */ lfd f28, 0x70(r1) /* 8031C404 00319364 E3 61 00 68 */ psq_l f27, 104(r1), 0, qr0 /* 8031C408 00319368 CB 61 00 60 */ lfd f27, 0x60(r1) /* 8031C40C 0031936C E3 41 00 58 */ psq_l f26, 88(r1), 0, qr0 /* 8031C410 00319370 CB 41 00 50 */ lfd f26, 0x50(r1) /* 8031C414 00319374 E3 21 00 48 */ psq_l f25, 72(r1), 0, qr0 /* 8031C418 00319378 CB 21 00 40 */ lfd f25, 0x40(r1) /* 8031C41C 0031937C E3 01 00 38 */ psq_l f24, 56(r1), 0, qr0 /* 8031C420 00319380 CB 01 00 30 */ lfd f24, 0x30(r1) /* 8031C424 00319384 BB 41 00 18 */ lmw r26, 0x18(r1) /* 8031C428 00319388 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8031C42C 0031938C 7C 08 03 A6 */ mtlr r0 /* 8031C430 00319390 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8031C434 00319394 4E 80 00 20 */ blr .global RenderBasicParticlesNoRotTS__11CElementGenFRC10CTransform RenderBasicParticlesNoRotTS__11CElementGenFRC10CTransform: /* 8031C438 00319398 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8031C43C 0031939C 7C 08 02 A6 */ mflr r0 /* 8031C440 003193A0 90 01 00 44 */ stw r0, 0x44(r1) /* 8031C444 003193A4 DB E1 00 30 */ stfd f31, 0x30(r1) /* 8031C448 003193A8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 8031C44C 003193AC BF 41 00 18 */ stmw r26, 0x18(r1) /* 8031C450 003193B0 C3 E2 C9 F8 */ lfs f31, lbl_805AE718@sda21(r2) /* 8031C454 003193B4 7C 7A 1B 78 */ mr r26, r3 /* 8031C458 003193B8 7C 9B 23 78 */ mr r27, r4 /* 8031C45C 003193BC 3B 80 00 00 */ li r28, 0 /* 8031C460 003193C0 3B A0 00 00 */ li r29, 0 /* 8031C464 003193C4 3F E0 CC 01 */ lis r31, 0xcc01 /* 8031C468 003193C8 48 00 00 BC */ b lbl_8031C524 lbl_8031C46C: /* 8031C46C 003193CC 80 1A 00 3C */ lwz r0, 0x3c(r26) /* 8031C470 003193D0 7F 64 DB 78 */ mr r4, r27 /* 8031C474 003193D4 38 61 00 08 */ addi r3, r1, 8 /* 8031C478 003193D8 7F C0 EA 14 */ add r30, r0, r29 /* 8031C47C 003193DC 38 BE 00 04 */ addi r5, r30, 4 /* 8031C480 003193E0 4B FF 66 69 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031C484 003193E4 C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C488 003193E8 38 A0 02 02 */ li r5, 0x202 /* 8031C48C 003193EC C0 21 00 08 */ lfs f1, 8(r1) /* 8031C490 003193F0 38 80 00 02 */ li r4, 2 /* 8031C494 003193F4 EC 7F 00 32 */ fmuls f3, f31, f0 /* 8031C498 003193F8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8031C49C 003193FC C0 41 00 0C */ lfs f2, 0xc(r1) /* 8031C4A0 00319400 38 60 00 00 */ li r3, 0 /* 8031C4A4 00319404 80 DE 00 34 */ lwz r6, 0x34(r30) /* 8031C4A8 00319408 38 00 02 00 */ li r0, 0x200 /* 8031C4AC 0031940C EC 23 08 2A */ fadds f1, f3, f1 /* 8031C4B0 00319410 3B BD 00 38 */ addi r29, r29, 0x38 /* 8031C4B4 00319414 EC 63 00 2A */ fadds f3, f3, f0 /* 8031C4B8 00319418 3B 9C 00 01 */ addi r28, r28, 1 /* 8031C4BC 0031941C D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C4C0 00319420 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C4C4 00319424 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C4C8 00319428 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C4CC 0031942C B0 BF 80 00 */ sth r5, 0xCC008000@l(r31) /* 8031C4D0 00319430 C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C4D4 00319434 EC 21 00 28 */ fsubs f1, f1, f0 /* 8031C4D8 00319438 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C4DC 0031943C D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C4E0 00319440 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C4E4 00319444 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C4E8 00319448 B0 9F 80 00 */ sth r4, 0xCC008000@l(r31) /* 8031C4EC 0031944C C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C4F0 00319450 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C4F4 00319454 EC 63 00 28 */ fsubs f3, f3, f0 /* 8031C4F8 00319458 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C4FC 0031945C D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C500 00319460 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C504 00319464 B0 7F 80 00 */ sth r3, 0xCC008000@l(r31) /* 8031C508 00319468 C0 1E 00 2C */ lfs f0, 0x2c(r30) /* 8031C50C 0031946C EC 21 00 2A */ fadds f1, f1, f0 /* 8031C510 00319470 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31) /* 8031C514 00319474 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31) /* 8031C518 00319478 D0 7F 80 00 */ stfs f3, 0xCC008000@l(r31) /* 8031C51C 0031947C 90 DF 80 00 */ stw r6, 0xCC008000@l(r31) /* 8031C520 00319480 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31) lbl_8031C524: /* 8031C524 00319484 80 1A 00 34 */ lwz r0, 0x34(r26) /* 8031C528 00319488 7C 1C 00 00 */ cmpw r28, r0 /* 8031C52C 0031948C 41 80 FF 40 */ blt lbl_8031C46C /* 8031C530 00319490 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 8031C534 00319494 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8031C538 00319498 BB 41 00 18 */ lmw r26, 0x18(r1) /* 8031C53C 0031949C 80 01 00 44 */ lwz r0, 0x44(r1) /* 8031C540 003194A0 7C 08 03 A6 */ mtlr r0 /* 8031C544 003194A4 38 21 00 40 */ addi r1, r1, 0x40 /* 8031C548 003194A8 4E 80 00 20 */ blr .global Render__11CElementGenFv Render__11CElementGenFv: /* 8031C54C 003194AC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8031C550 003194B0 7C 08 02 A6 */ mflr r0 /* 8031C554 003194B4 90 01 00 34 */ stw r0, 0x34(r1) /* 8031C558 003194B8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8031C55C 003194BC 93 C1 00 28 */ stw r30, 0x28(r1) /* 8031C560 003194C0 93 A1 00 24 */ stw r29, 0x24(r1) /* 8031C564 003194C4 7C 7D 1B 78 */ mr r29, r3 /* 8031C568 003194C8 93 81 00 20 */ stw r28, 0x20(r1) /* 8031C56C 003194CC 48 06 8E 3D */ bl OSGetTime /* 8031C570 003194D0 88 0D A8 16 */ lbz r0, mLightActive__9CGraphics@sda21(r13) /* 8031C574 003194D4 7C 9E 23 78 */ mr r30, r4 /* 8031C578 003194D8 7C 7F 1B 78 */ mr r31, r3 /* 8031C57C 003194DC 98 1D 02 74 */ stb r0, 0x274(r29) /* 8031C580 003194E0 4B FF 03 FD */ bl DisableAllLights__9CGraphicsFv /* 8031C584 003194E4 83 9D 02 9C */ lwz r28, 0x29c(r29) /* 8031C588 003194E8 48 00 00 1C */ b lbl_8031C5A4 lbl_8031C58C: /* 8031C58C 003194EC 80 7C 00 00 */ lwz r3, 0(r28) /* 8031C590 003194F0 81 83 00 00 */ lwz r12, 0(r3) /* 8031C594 003194F4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031C598 003194F8 7D 89 03 A6 */ mtctr r12 /* 8031C59C 003194FC 4E 80 04 21 */ bctrl /* 8031C5A0 00319500 3B 9C 00 04 */ addi r28, r28, 4 lbl_8031C5A4: /* 8031C5A4 00319504 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031C5A8 00319508 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031C5AC 0031950C 54 00 10 3A */ slwi r0, r0, 2 /* 8031C5B0 00319510 7C 03 02 14 */ add r0, r3, r0 /* 8031C5B4 00319514 7C 1C 00 40 */ cmplw r28, r0 /* 8031C5B8 00319518 40 82 FF D4 */ bne lbl_8031C58C /* 8031C5BC 0031951C 80 6D A8 F4 */ lwz r3, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) /* 8031C5C0 00319520 3C 80 50 41 */ lis r4, 0x50415254@ha /* 8031C5C4 00319524 38 84 52 54 */ addi r4, r4, 0x50415254@l /* 8031C5C8 00319528 38 01 00 08 */ addi r0, r1, 8 /* 8031C5CC 0031952C 90 81 00 08 */ stw r4, 8(r1) /* 8031C5D0 00319530 93 A1 00 0C */ stw r29, 0xc(r1) /* 8031C5D4 00319534 90 61 00 10 */ stw r3, 0x10(r1) /* 8031C5D8 00319538 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) /* 8031C5DC 0031953C 80 1D 00 34 */ lwz r0, 0x34(r29) /* 8031C5E0 00319540 2C 00 00 00 */ cmpwi r0, 0 /* 8031C5E4 00319544 40 81 00 48 */ ble lbl_8031C62C /* 8031C5E8 00319548 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031C5EC 0031954C 88 03 00 54 */ lbz r0, 0x54(r3) /* 8031C5F0 00319550 28 00 00 00 */ cmplwi r0, 0 /* 8031C5F4 00319554 40 82 00 10 */ bne lbl_8031C604 /* 8031C5F8 00319558 88 03 00 31 */ lbz r0, 0x31(r3) /* 8031C5FC 0031955C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8031C600 00319560 41 82 00 0C */ beq lbl_8031C60C lbl_8031C604: /* 8031C604 00319564 7F A3 EB 78 */ mr r3, r29 /* 8031C608 00319568 4B FF B8 ED */ bl RenderModels__11CElementGenFv lbl_8031C60C: /* 8031C60C 0031956C 88 1D 02 6C */ lbz r0, 0x26c(r29) /* 8031C610 00319570 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8031C614 00319574 41 82 00 10 */ beq lbl_8031C624 /* 8031C618 00319578 7F A3 EB 78 */ mr r3, r29 /* 8031C61C 0031957C 4B FF C4 D1 */ bl RenderLines__11CElementGenFv /* 8031C620 00319580 48 00 00 0C */ b lbl_8031C62C lbl_8031C624: /* 8031C624 00319584 7F A3 EB 78 */ mr r3, r29 /* 8031C628 00319588 4B FF DE F5 */ bl RenderParticles__11CElementGenFv lbl_8031C62C: /* 8031C62C 0031958C 48 06 8D 7D */ bl OSGetTime /* 8031C630 00319590 7C 9E 20 10 */ subfc r4, r30, r4 /* 8031C634 00319594 7C 7F 19 10 */ subfe r3, r31, r3 /* 8031C638 00319598 48 06 D9 2D */ bl __cvt_sll_flt /* 8031C63C 0031959C 3C 60 80 5A */ lis r3, mData__10CStopwatch@ha /* 8031C640 003195A0 34 01 00 08 */ addic. r0, r1, 8 /* 8031C644 003195A4 38 63 FD 30 */ addi r3, r3, mData__10CStopwatch@l /* 8031C648 003195A8 C0 03 00 10 */ lfs f0, 0x10(r3) /* 8031C64C 003195AC EC 01 00 32 */ fmuls f0, f1, f0 /* 8031C650 003195B0 D0 1D 02 D0 */ stfs f0, 0x2d0(r29) /* 8031C654 003195B4 41 82 00 0C */ beq lbl_8031C660 /* 8031C658 003195B8 80 01 00 10 */ lwz r0, 0x10(r1) /* 8031C65C 003195BC 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) lbl_8031C660: /* 8031C660 003195C0 80 01 00 34 */ lwz r0, 0x34(r1) /* 8031C664 003195C4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8031C668 003195C8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8031C66C 003195CC 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8031C670 003195D0 83 81 00 20 */ lwz r28, 0x20(r1) /* 8031C674 003195D4 7C 08 03 A6 */ mtlr r0 /* 8031C678 003195D8 38 21 00 30 */ addi r1, r1, 0x30 /* 8031C67C 003195DC 4E 80 00 20 */ blr .global IsSystemDeletable__11CElementGenCFv IsSystemDeletable__11CElementGenCFv: /* 8031C680 003195E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031C684 003195E4 7C 08 02 A6 */ mflr r0 /* 8031C688 003195E8 90 01 00 14 */ stw r0, 0x14(r1) /* 8031C68C 003195EC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031C690 003195F0 93 C1 00 08 */ stw r30, 8(r1) /* 8031C694 003195F4 7C 7E 1B 78 */ mr r30, r3 /* 8031C698 003195F8 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 8031C69C 003195FC 48 00 00 2C */ b lbl_8031C6C8 lbl_8031C6A0: /* 8031C6A0 00319600 80 7F 00 00 */ lwz r3, 0(r31) /* 8031C6A4 00319604 81 83 00 00 */ lwz r12, 0(r3) /* 8031C6A8 00319608 81 8C 00 58 */ lwz r12, 0x58(r12) /* 8031C6AC 0031960C 7D 89 03 A6 */ mtctr r12 /* 8031C6B0 00319610 4E 80 04 21 */ bctrl /* 8031C6B4 00319614 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031C6B8 00319618 40 82 00 0C */ bne lbl_8031C6C4 /* 8031C6BC 0031961C 38 60 00 00 */ li r3, 0 /* 8031C6C0 00319620 48 00 00 48 */ b lbl_8031C708 lbl_8031C6C4: /* 8031C6C4 00319624 3B FF 00 04 */ addi r31, r31, 4 lbl_8031C6C8: /* 8031C6C8 00319628 80 1E 02 94 */ lwz r0, 0x294(r30) /* 8031C6CC 0031962C 80 7E 02 9C */ lwz r3, 0x29c(r30) /* 8031C6D0 00319630 54 00 10 3A */ slwi r0, r0, 2 /* 8031C6D4 00319634 7C 03 02 14 */ add r0, r3, r0 /* 8031C6D8 00319638 7C 1F 00 40 */ cmplw r31, r0 /* 8031C6DC 0031963C 40 82 FF C4 */ bne lbl_8031C6A0 /* 8031C6E0 00319640 80 7E 02 68 */ lwz r3, 0x268(r30) /* 8031C6E4 00319644 80 1E 00 74 */ lwz r0, 0x74(r30) /* 8031C6E8 00319648 7C 03 00 00 */ cmpw r3, r0 /* 8031C6EC 0031964C 40 80 00 18 */ bge lbl_8031C704 /* 8031C6F0 00319650 80 1E 02 5C */ lwz r0, 0x25c(r30) /* 8031C6F4 00319654 2C 00 00 00 */ cmpwi r0, 0 /* 8031C6F8 00319658 40 82 00 0C */ bne lbl_8031C704 /* 8031C6FC 0031965C 38 60 00 01 */ li r3, 1 /* 8031C700 00319660 48 00 00 08 */ b lbl_8031C708 lbl_8031C704: /* 8031C704 00319664 38 60 00 00 */ li r3, 0 lbl_8031C708: /* 8031C708 00319668 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031C70C 0031966C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8031C710 00319670 83 C1 00 08 */ lwz r30, 8(r1) /* 8031C714 00319674 7C 08 03 A6 */ mtlr r0 /* 8031C718 00319678 38 21 00 10 */ addi r1, r1, 0x10 /* 8031C71C 0031967C 4E 80 00 20 */ blr .global DestroyParticles__11CElementGenFv DestroyParticles__11CElementGenFv: /* 8031C720 00319680 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8031C724 00319684 7C 08 02 A6 */ mflr r0 /* 8031C728 00319688 90 01 00 34 */ stw r0, 0x34(r1) /* 8031C72C 0031968C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8031C730 00319690 7C 7F 1B 78 */ mr r31, r3 /* 8031C734 00319694 93 C1 00 28 */ stw r30, 0x28(r1) /* 8031C738 00319698 80 0D A8 B0 */ lwz r0, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031C73C 0031969C 80 63 00 34 */ lwz r3, 0x34(r3) /* 8031C740 003196A0 7C 03 00 50 */ subf r0, r3, r0 /* 8031C744 003196A4 90 0D A8 B0 */ stw r0, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031C748 003196A8 80 1F 00 34 */ lwz r0, 0x34(r31) /* 8031C74C 003196AC 80 7F 00 3C */ lwz r3, 0x3c(r31) /* 8031C750 003196B0 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031C754 003196B4 90 61 00 1C */ stw r3, 0x1c(r1) /* 8031C758 003196B8 7C 03 02 14 */ add r0, r3, r0 /* 8031C75C 003196BC 90 61 00 18 */ stw r3, 0x18(r1) /* 8031C760 003196C0 90 01 00 24 */ stw r0, 0x24(r1) /* 8031C764 003196C4 90 01 00 20 */ stw r0, 0x20(r1) /* 8031C768 003196C8 48 00 00 08 */ b lbl_8031C770 lbl_8031C76C: /* 8031C76C 003196CC 38 63 00 38 */ addi r3, r3, 0x38 lbl_8031C770: /* 8031C770 003196D0 7C 03 00 40 */ cmplw r3, r0 /* 8031C774 003196D4 40 82 FF F8 */ bne lbl_8031C76C /* 8031C778 003196D8 38 00 00 00 */ li r0, 0 /* 8031C77C 003196DC 90 1F 00 34 */ stw r0, 0x34(r31) /* 8031C780 003196E0 80 1F 00 2C */ lwz r0, 0x2c(r31) /* 8031C784 003196E4 2C 00 00 01 */ cmpwi r0, 1 /* 8031C788 003196E8 40 82 00 3C */ bne lbl_8031C7C4 /* 8031C78C 003196EC 80 1F 00 54 */ lwz r0, 0x54(r31) /* 8031C790 003196F0 80 7F 00 5C */ lwz r3, 0x5c(r31) /* 8031C794 003196F4 1C 00 00 24 */ mulli r0, r0, 0x24 /* 8031C798 003196F8 90 61 00 0C */ stw r3, 0xc(r1) /* 8031C79C 003196FC 7C 03 02 14 */ add r0, r3, r0 /* 8031C7A0 00319700 90 61 00 08 */ stw r3, 8(r1) /* 8031C7A4 00319704 90 01 00 14 */ stw r0, 0x14(r1) /* 8031C7A8 00319708 90 01 00 10 */ stw r0, 0x10(r1) /* 8031C7AC 0031970C 48 00 00 08 */ b lbl_8031C7B4 lbl_8031C7B0: /* 8031C7B0 00319710 38 63 00 24 */ addi r3, r3, 0x24 lbl_8031C7B4: /* 8031C7B4 00319714 7C 03 00 40 */ cmplw r3, r0 /* 8031C7B8 00319718 40 82 FF F8 */ bne lbl_8031C7B0 /* 8031C7BC 0031971C 38 00 00 00 */ li r0, 0 /* 8031C7C0 00319720 90 1F 00 54 */ stw r0, 0x54(r31) lbl_8031C7C4: /* 8031C7C4 00319724 83 DF 02 9C */ lwz r30, 0x29c(r31) /* 8031C7C8 00319728 48 00 00 1C */ b lbl_8031C7E4 lbl_8031C7CC: /* 8031C7CC 0031972C 80 7E 00 00 */ lwz r3, 0(r30) /* 8031C7D0 00319730 81 83 00 00 */ lwz r12, 0(r3) /* 8031C7D4 00319734 81 8C 00 6C */ lwz r12, 0x6c(r12) /* 8031C7D8 00319738 7D 89 03 A6 */ mtctr r12 /* 8031C7DC 0031973C 4E 80 04 21 */ bctrl /* 8031C7E0 00319740 3B DE 00 04 */ addi r30, r30, 4 lbl_8031C7E4: /* 8031C7E4 00319744 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031C7E8 00319748 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031C7EC 0031974C 54 00 10 3A */ slwi r0, r0, 2 /* 8031C7F0 00319750 7C 03 02 14 */ add r0, r3, r0 /* 8031C7F4 00319754 7C 1E 00 40 */ cmplw r30, r0 /* 8031C7F8 00319758 40 82 FF D4 */ bne lbl_8031C7CC /* 8031C7FC 0031975C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8031C800 00319760 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8031C804 00319764 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8031C808 00319768 7C 08 03 A6 */ mtlr r0 /* 8031C80C 0031976C 38 21 00 30 */ addi r1, r1, 0x30 /* 8031C810 00319770 4E 80 00 20 */ blr .global EndLifetime__11CElementGenFv EndLifetime__11CElementGenFv: /* 8031C814 00319774 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031C818 00319778 7C 08 02 A6 */ mflr r0 /* 8031C81C 0031977C 90 01 00 24 */ stw r0, 0x24(r1) /* 8031C820 00319780 38 00 00 00 */ li r0, 0 /* 8031C824 00319784 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031C828 00319788 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031C82C 0031978C 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031C830 00319790 7C 7D 1B 78 */ mr r29, r3 /* 8031C834 00319794 90 03 02 68 */ stw r0, 0x268(r3) /* 8031C838 00319798 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 8031C83C 0031979C 48 00 00 50 */ b lbl_8031C88C lbl_8031C840: /* 8031C840 003197A0 83 DF 00 00 */ lwz r30, 0(r31) /* 8031C844 003197A4 7F C3 F3 78 */ mr r3, r30 /* 8031C848 003197A8 81 9E 00 00 */ lwz r12, 0(r30) /* 8031C84C 003197AC 81 8C 00 74 */ lwz r12, 0x74(r12) /* 8031C850 003197B0 7D 89 03 A6 */ mtctr r12 /* 8031C854 003197B4 4E 80 04 21 */ bctrl /* 8031C858 003197B8 3C 03 AF BF */ addis r0, r3, 0xafbf /* 8031C85C 003197BC 28 00 52 54 */ cmplwi r0, 0x5254 /* 8031C860 003197C0 40 82 00 10 */ bne lbl_8031C870 /* 8031C864 003197C4 7F C3 F3 78 */ mr r3, r30 /* 8031C868 003197C8 4B FF FF AD */ bl EndLifetime__11CElementGenFv /* 8031C86C 003197CC 48 00 00 1C */ b lbl_8031C888 lbl_8031C870: /* 8031C870 003197D0 7F C3 F3 78 */ mr r3, r30 /* 8031C874 003197D4 38 80 00 00 */ li r4, 0 /* 8031C878 003197D8 81 9E 00 00 */ lwz r12, 0(r30) /* 8031C87C 003197DC 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 8031C880 003197E0 7D 89 03 A6 */ mtctr r12 /* 8031C884 003197E4 4E 80 04 21 */ bctrl lbl_8031C888: /* 8031C888 003197E8 3B FF 00 04 */ addi r31, r31, 4 lbl_8031C88C: /* 8031C88C 003197EC 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031C890 003197F0 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031C894 003197F4 54 00 10 3A */ slwi r0, r0, 2 /* 8031C898 003197F8 7C 03 02 14 */ add r0, r3, r0 /* 8031C89C 003197FC 7C 1F 00 40 */ cmplw r31, r0 /* 8031C8A0 00319800 40 82 FF A0 */ bne lbl_8031C840 /* 8031C8A4 00319804 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031C8A8 00319808 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031C8AC 0031980C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031C8B0 00319810 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031C8B4 00319814 7C 08 03 A6 */ mtlr r0 /* 8031C8B8 00319818 38 21 00 20 */ addi r1, r1, 0x20 /* 8031C8BC 0031981C 4E 80 00 20 */ blr .global ForceParticleCreation__11CElementGenFi ForceParticleCreation__11CElementGenFi: /* 8031C8C0 00319820 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031C8C4 00319824 7C 08 02 A6 */ mflr r0 /* 8031C8C8 00319828 3C C0 50 41 */ lis r6, 0x50415254@ha /* 8031C8CC 0031982C 90 01 00 24 */ stw r0, 0x24(r1) /* 8031C8D0 00319830 38 01 00 08 */ addi r0, r1, 8 /* 8031C8D4 00319834 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031C8D8 00319838 7C 9F 23 78 */ mr r31, r4 /* 8031C8DC 0031983C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031C8E0 00319840 7C 7E 1B 78 */ mr r30, r3 /* 8031C8E4 00319844 38 66 52 54 */ addi r3, r6, 0x50415254@l /* 8031C8E8 00319848 80 AD A8 F4 */ lwz r5, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) /* 8031C8EC 0031984C 93 C1 00 0C */ stw r30, 0xc(r1) /* 8031C8F0 00319850 90 61 00 08 */ stw r3, 8(r1) /* 8031C8F4 00319854 90 A1 00 10 */ stw r5, 0x10(r1) /* 8031C8F8 00319858 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) /* 8031C8FC 0031985C 80 7E 00 74 */ lwz r3, 0x74(r30) /* 8031C900 00319860 48 00 DE 49 */ bl SetEmitterTime__16CParticleGlobalsFi /* 8031C904 00319864 7F C3 F3 78 */ mr r3, r30 /* 8031C908 00319868 7F E4 FB 78 */ mr r4, r31 /* 8031C90C 0031986C 48 00 0D D9 */ bl CreateNewParticles__11CElementGenFi /* 8031C910 00319870 34 01 00 08 */ addic. r0, r1, 8 /* 8031C914 00319874 41 82 00 0C */ beq lbl_8031C920 /* 8031C918 00319878 80 01 00 10 */ lwz r0, 0x10(r1) /* 8031C91C 0031987C 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) lbl_8031C920: /* 8031C920 00319880 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031C924 00319884 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031C928 00319888 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031C92C 0031988C 7C 08 03 A6 */ mtlr r0 /* 8031C930 00319890 38 21 00 20 */ addi r1, r1, 0x20 /* 8031C934 00319894 4E 80 00 20 */ blr .global SetParticleEmission__11CElementGenFb SetParticleEmission__11CElementGenFb: /* 8031C938 00319898 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031C93C 0031989C 7C 08 02 A6 */ mflr r0 /* 8031C940 003198A0 90 01 00 24 */ stw r0, 0x24(r1) /* 8031C944 003198A4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031C948 003198A8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031C94C 003198AC 7C 9E 23 78 */ mr r30, r4 /* 8031C950 003198B0 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031C954 003198B4 7C 7D 1B 78 */ mr r29, r3 /* 8031C958 003198B8 9B C3 00 88 */ stb r30, 0x88(r3) /* 8031C95C 003198BC 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 8031C960 003198C0 48 00 00 20 */ b lbl_8031C980 lbl_8031C964: /* 8031C964 003198C4 80 7F 00 00 */ lwz r3, 0(r31) /* 8031C968 003198C8 7F C4 F3 78 */ mr r4, r30 /* 8031C96C 003198CC 81 83 00 00 */ lwz r12, 0(r3) /* 8031C970 003198D0 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 8031C974 003198D4 7D 89 03 A6 */ mtctr r12 /* 8031C978 003198D8 4E 80 04 21 */ bctrl /* 8031C97C 003198DC 3B FF 00 04 */ addi r31, r31, 4 lbl_8031C980: /* 8031C980 003198E0 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031C984 003198E4 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031C988 003198E8 54 00 10 3A */ slwi r0, r0, 2 /* 8031C98C 003198EC 7C 03 02 14 */ add r0, r3, r0 /* 8031C990 003198F0 7C 1F 00 40 */ cmplw r31, r0 /* 8031C994 003198F4 40 82 FF D0 */ bne lbl_8031C964 /* 8031C998 003198F8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031C99C 003198FC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031C9A0 00319900 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031C9A4 00319904 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031C9A8 00319908 7C 08 03 A6 */ mtlr r0 /* 8031C9AC 0031990C 38 21 00 20 */ addi r1, r1, 0x20 /* 8031C9B0 00319910 4E 80 00 20 */ blr .global UpdateChildParticleSystems__11CElementGenFd UpdateChildParticleSystems__11CElementGenFd: /* 8031C9B4 00319914 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 8031C9B8 00319918 7C 08 02 A6 */ mflr r0 /* 8031C9BC 0031991C 90 01 00 E4 */ stw r0, 0xe4(r1) /* 8031C9C0 00319920 DB E1 00 D0 */ stfd f31, 0xd0(r1) /* 8031C9C4 00319924 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0 /* 8031C9C8 00319928 BF 01 00 B0 */ stmw r24, 0xb0(r1) /* 8031C9CC 0031992C FF E0 08 90 */ fmr f31, f1 /* 8031C9D0 00319930 C8 22 CA 20 */ lfd f1, lbl_805AE740@sda21(r2) /* 8031C9D4 00319934 C8 02 CA 28 */ lfd f0, lbl_805AE748@sda21(r2) /* 8031C9D8 00319938 7C 7F 1B 78 */ mr r31, r3 /* 8031C9DC 0031993C FC 3F 08 28 */ fsub f1, f31, f1 /* 8031C9E0 00319940 FC 20 0A 10 */ fabs f1, f1 /* 8031C9E4 00319944 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8031C9E8 00319948 41 80 09 74 */ blt lbl_8031D35C /* 8031C9EC 0031994C 38 61 00 A0 */ addi r3, r1, 0xa0 /* 8031C9F0 00319950 38 9F 02 7C */ addi r4, r31, 0x27c /* 8031C9F4 00319954 4B FF 5C 8D */ bl __ct__13CGlobalRandomFR9CRandom16 /* 8031C9F8 00319958 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031C9FC 0031995C 88 03 00 84 */ lbz r0, 0x84(r3) /* 8031CA00 00319960 28 00 00 00 */ cmplwi r0, 0 /* 8031CA04 00319964 41 82 01 4C */ beq lbl_8031CB50 /* 8031CA08 00319968 80 1F 00 84 */ lwz r0, 0x84(r31) /* 8031CA0C 0031996C 80 7F 00 74 */ lwz r3, 0x74(r31) /* 8031CA10 00319970 7C 00 18 00 */ cmpw r0, r3 /* 8031CA14 00319974 41 82 01 3C */ beq lbl_8031CB50 /* 8031CA18 00319978 80 1F 02 A0 */ lwz r0, 0x2a0(r31) /* 8031CA1C 0031997C 7C 03 00 00 */ cmpw r3, r0 /* 8031CA20 00319980 40 82 01 30 */ bne lbl_8031CB50 /* 8031CA24 00319984 38 00 00 01 */ li r0, 1 /* 8031CA28 00319988 90 01 00 18 */ stw r0, 0x18(r1) /* 8031CA2C 0031998C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031CA30 00319990 80 63 00 88 */ lwz r3, 0x88(r3) /* 8031CA34 00319994 28 03 00 00 */ cmplwi r3, 0 /* 8031CA38 00319998 41 82 00 1C */ beq lbl_8031CA54 /* 8031CA3C 0031999C 81 83 00 00 */ lwz r12, 0(r3) /* 8031CA40 003199A0 38 A1 00 18 */ addi r5, r1, 0x18 /* 8031CA44 003199A4 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031CA48 003199A8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031CA4C 003199AC 7D 89 03 A6 */ mtctr r12 /* 8031CA50 003199B0 4E 80 04 21 */ bctrl lbl_8031CA54: /* 8031CA54 003199B4 80 81 00 18 */ lwz r4, 0x18(r1) /* 8031CA58 003199B8 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CA5C 003199BC 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CA60 003199C0 7C 84 02 14 */ add r4, r4, r0 /* 8031CA64 003199C4 48 00 3C DD */ bl sub_80320740 /* 8031CA68 003199C8 3B 41 00 94 */ addi r26, r1, 0x94 /* 8031CA6C 003199CC 3B 60 00 00 */ li r27, 0 /* 8031CA70 003199D0 48 00 00 D4 */ b lbl_8031CB44 lbl_8031CA74: /* 8031CA74 003199D4 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031CA78 003199D8 7F 43 D3 78 */ mr r3, r26 /* 8031CA7C 003199DC 38 84 00 78 */ addi r4, r4, 0x78 /* 8031CA80 003199E0 48 02 44 29 */ bl __ct__6CTokenFRC6CToken /* 8031CA84 003199E4 7F 43 D3 78 */ mr r3, r26 /* 8031CA88 003199E8 48 02 43 85 */ bl GetObj__6CTokenFv /* 8031CA8C 003199EC 80 63 00 04 */ lwz r3, 4(r3) /* 8031CA90 003199F0 90 61 00 9C */ stw r3, 0x9c(r1) /* 8031CA94 003199F4 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031CA98 003199F8 88 63 00 32 */ lbz r3, 0x32(r3) /* 8031CA9C 003199FC 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8031CAA0 00319A00 54 60 D7 FE */ rlwinm r0, r3, 0x1a, 0x1f, 0x1f /* 8031CAA4 00319A04 41 82 00 1C */ beq lbl_8031CAC0 /* 8031CAA8 00319A08 28 00 00 00 */ cmplwi r0, 0 /* 8031CAAC 00319A0C 41 82 00 14 */ beq lbl_8031CAC0 /* 8031CAB0 00319A10 38 61 00 94 */ addi r3, r1, 0x94 /* 8031CAB4 00319A14 38 80 00 00 */ li r4, 0 /* 8031CAB8 00319A18 48 02 43 89 */ bl __dt__6CTokenFv /* 8031CABC 00319A1C 48 00 00 94 */ b lbl_8031CB50 lbl_8031CAC0: /* 8031CAC0 00319A20 38 61 00 44 */ addi r3, r1, 0x44 /* 8031CAC4 00319A24 38 81 00 94 */ addi r4, r1, 0x94 /* 8031CAC8 00319A28 48 02 43 E1 */ bl __ct__6CTokenFRC6CToken /* 8031CACC 00319A2C 7F E3 FB 78 */ mr r3, r31 /* 8031CAD0 00319A30 38 81 00 44 */ addi r4, r1, 0x44 /* 8031CAD4 00319A34 48 00 09 C5 */ bl "ConstructChildParticleSystem__11CElementGenCF25TToken<15CGenDescription>" /* 8031CAD8 00319A38 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CADC 00319A3C 7C 78 1B 78 */ mr r24, r3 /* 8031CAE0 00319A40 80 BF 02 98 */ lwz r5, 0x298(r31) /* 8031CAE4 00319A44 7C 00 28 00 */ cmpw r0, r5 /* 8031CAE8 00319A48 41 80 00 1C */ blt lbl_8031CB04 /* 8031CAEC 00319A4C 2C 05 00 00 */ cmpwi r5, 0 /* 8031CAF0 00319A50 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CAF4 00319A54 38 80 00 04 */ li r4, 4 /* 8031CAF8 00319A58 41 82 00 08 */ beq lbl_8031CB00 /* 8031CAFC 00319A5C 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031CB00: /* 8031CB00 00319A60 48 00 3C 41 */ bl sub_80320740 lbl_8031CB04: /* 8031CB04 00319A64 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CB08 00319A68 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031CB0C 00319A6C 54 00 10 3A */ slwi r0, r0, 2 /* 8031CB10 00319A70 7C 63 02 15 */ add. r3, r3, r0 /* 8031CB14 00319A74 41 82 00 08 */ beq lbl_8031CB1C /* 8031CB18 00319A78 93 03 00 00 */ stw r24, 0(r3) lbl_8031CB1C: /* 8031CB1C 00319A7C 80 BF 02 94 */ lwz r5, 0x294(r31) /* 8031CB20 00319A80 38 61 00 44 */ addi r3, r1, 0x44 /* 8031CB24 00319A84 38 80 00 00 */ li r4, 0 /* 8031CB28 00319A88 38 05 00 01 */ addi r0, r5, 1 /* 8031CB2C 00319A8C 90 1F 02 94 */ stw r0, 0x294(r31) /* 8031CB30 00319A90 48 02 43 11 */ bl __dt__6CTokenFv /* 8031CB34 00319A94 38 61 00 94 */ addi r3, r1, 0x94 /* 8031CB38 00319A98 38 80 00 00 */ li r4, 0 /* 8031CB3C 00319A9C 48 02 43 05 */ bl __dt__6CTokenFv /* 8031CB40 00319AA0 3B 7B 00 01 */ addi r27, r27, 1 lbl_8031CB44: /* 8031CB44 00319AA4 80 01 00 18 */ lwz r0, 0x18(r1) /* 8031CB48 00319AA8 7C 1B 00 00 */ cmpw r27, r0 /* 8031CB4C 00319AAC 41 80 FF 28 */ blt lbl_8031CA74 lbl_8031CB50: /* 8031CB50 00319AB0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031CB54 00319AB4 38 83 00 A4 */ addi r4, r3, 0xa4 /* 8031CB58 00319AB8 88 03 00 B0 */ lbz r0, 0xb0(r3) /* 8031CB5C 00319ABC 28 00 00 00 */ cmplwi r0, 0 /* 8031CB60 00319AC0 41 82 01 18 */ beq lbl_8031CC78 /* 8031CB64 00319AC4 80 1F 00 84 */ lwz r0, 0x84(r31) /* 8031CB68 00319AC8 80 BF 00 74 */ lwz r5, 0x74(r31) /* 8031CB6C 00319ACC 7C 00 28 00 */ cmpw r0, r5 /* 8031CB70 00319AD0 41 82 01 08 */ beq lbl_8031CC78 /* 8031CB74 00319AD4 80 1F 02 68 */ lwz r0, 0x268(r31) /* 8031CB78 00319AD8 7C 05 00 00 */ cmpw r5, r0 /* 8031CB7C 00319ADC 40 80 00 FC */ bge lbl_8031CC78 /* 8031CB80 00319AE0 88 1F 00 88 */ lbz r0, 0x88(r31) /* 8031CB84 00319AE4 28 00 00 01 */ cmplwi r0, 1 /* 8031CB88 00319AE8 40 82 00 F0 */ bne lbl_8031CC78 /* 8031CB8C 00319AEC 80 1F 02 A4 */ lwz r0, 0x2a4(r31) /* 8031CB90 00319AF0 7C 05 00 00 */ cmpw r5, r0 /* 8031CB94 00319AF4 41 80 00 E4 */ blt lbl_8031CC78 /* 8031CB98 00319AF8 80 7F 02 A8 */ lwz r3, 0x2a8(r31) /* 8031CB9C 00319AFC 7C A0 28 50 */ subf r5, r0, r5 /* 8031CBA0 00319B00 7C 05 1B D6 */ divw r0, r5, r3 /* 8031CBA4 00319B04 7C 00 19 D6 */ mullw r0, r0, r3 /* 8031CBA8 00319B08 7C 00 28 51 */ subf. r0, r0, r5 /* 8031CBAC 00319B0C 40 82 00 CC */ bne lbl_8031CC78 /* 8031CBB0 00319B10 3B 01 00 88 */ addi r24, r1, 0x88 /* 8031CBB4 00319B14 7F 03 C3 78 */ mr r3, r24 /* 8031CBB8 00319B18 48 02 42 F1 */ bl __ct__6CTokenFRC6CToken /* 8031CBBC 00319B1C 7F 03 C3 78 */ mr r3, r24 /* 8031CBC0 00319B20 48 02 42 4D */ bl GetObj__6CTokenFv /* 8031CBC4 00319B24 80 63 00 04 */ lwz r3, 4(r3) /* 8031CBC8 00319B28 90 61 00 90 */ stw r3, 0x90(r1) /* 8031CBCC 00319B2C 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031CBD0 00319B30 88 63 00 32 */ lbz r3, 0x32(r3) /* 8031CBD4 00319B34 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8031CBD8 00319B38 54 60 D7 FE */ rlwinm r0, r3, 0x1a, 0x1f, 0x1f /* 8031CBDC 00319B3C 41 82 00 0C */ beq lbl_8031CBE8 /* 8031CBE0 00319B40 28 00 00 00 */ cmplwi r0, 0 /* 8031CBE4 00319B44 40 82 00 88 */ bne lbl_8031CC6C lbl_8031CBE8: /* 8031CBE8 00319B48 80 9F 02 94 */ lwz r4, 0x294(r31) /* 8031CBEC 00319B4C 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CBF0 00319B50 38 84 00 01 */ addi r4, r4, 1 /* 8031CBF4 00319B54 48 00 3B 4D */ bl sub_80320740 /* 8031CBF8 00319B58 38 61 00 3C */ addi r3, r1, 0x3c /* 8031CBFC 00319B5C 38 81 00 88 */ addi r4, r1, 0x88 /* 8031CC00 00319B60 48 02 42 A9 */ bl __ct__6CTokenFRC6CToken /* 8031CC04 00319B64 7F E3 FB 78 */ mr r3, r31 /* 8031CC08 00319B68 38 81 00 3C */ addi r4, r1, 0x3c /* 8031CC0C 00319B6C 48 00 08 8D */ bl "ConstructChildParticleSystem__11CElementGenCF25TToken<15CGenDescription>" /* 8031CC10 00319B70 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CC14 00319B74 7C 78 1B 78 */ mr r24, r3 /* 8031CC18 00319B78 80 BF 02 98 */ lwz r5, 0x298(r31) /* 8031CC1C 00319B7C 7C 00 28 00 */ cmpw r0, r5 /* 8031CC20 00319B80 41 80 00 1C */ blt lbl_8031CC3C /* 8031CC24 00319B84 2C 05 00 00 */ cmpwi r5, 0 /* 8031CC28 00319B88 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CC2C 00319B8C 38 80 00 04 */ li r4, 4 /* 8031CC30 00319B90 41 82 00 08 */ beq lbl_8031CC38 /* 8031CC34 00319B94 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031CC38: /* 8031CC38 00319B98 48 00 3B 09 */ bl sub_80320740 lbl_8031CC3C: /* 8031CC3C 00319B9C 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CC40 00319BA0 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031CC44 00319BA4 54 00 10 3A */ slwi r0, r0, 2 /* 8031CC48 00319BA8 7C 63 02 15 */ add. r3, r3, r0 /* 8031CC4C 00319BAC 41 82 00 08 */ beq lbl_8031CC54 /* 8031CC50 00319BB0 93 03 00 00 */ stw r24, 0(r3) lbl_8031CC54: /* 8031CC54 00319BB4 80 BF 02 94 */ lwz r5, 0x294(r31) /* 8031CC58 00319BB8 38 61 00 3C */ addi r3, r1, 0x3c /* 8031CC5C 00319BBC 38 80 00 00 */ li r4, 0 /* 8031CC60 00319BC0 38 05 00 01 */ addi r0, r5, 1 /* 8031CC64 00319BC4 90 1F 02 94 */ stw r0, 0x294(r31) /* 8031CC68 00319BC8 48 02 41 D9 */ bl __dt__6CTokenFv lbl_8031CC6C: /* 8031CC6C 00319BCC 38 61 00 88 */ addi r3, r1, 0x88 /* 8031CC70 00319BD0 38 80 00 00 */ li r4, 0 /* 8031CC74 00319BD4 48 02 41 CD */ bl __dt__6CTokenFv lbl_8031CC78: /* 8031CC78 00319BD8 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031CC7C 00319BDC 80 63 00 BC */ lwz r3, 0xbc(r3) /* 8031CC80 00319BE0 28 03 00 00 */ cmplwi r3, 0 /* 8031CC84 00319BE4 41 82 01 70 */ beq lbl_8031CDF4 /* 8031CC88 00319BE8 80 1F 00 84 */ lwz r0, 0x84(r31) /* 8031CC8C 00319BEC 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031CC90 00319BF0 7C 00 20 00 */ cmpw r0, r4 /* 8031CC94 00319BF4 41 82 01 60 */ beq lbl_8031CDF4 /* 8031CC98 00319BF8 80 1F 02 68 */ lwz r0, 0x268(r31) /* 8031CC9C 00319BFC 7C 04 00 00 */ cmpw r4, r0 /* 8031CCA0 00319C00 40 80 01 54 */ bge lbl_8031CDF4 /* 8031CCA4 00319C04 A3 AD 9C F8 */ lhz r29, lbl_805A88B8@sda21(r13) /* 8031CCA8 00319C08 48 01 68 5D */ bl sub_80333504 /* 8031CCAC 00319C0C 7C 7E 1B 78 */ mr r30, r3 /* 8031CCB0 00319C10 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CCB4 00319C14 80 83 00 04 */ lwz r4, 4(r3) /* 8031CCB8 00319C18 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CCBC 00319C1C 7C 84 02 14 */ add r4, r4, r0 /* 8031CCC0 00319C20 48 00 3A 81 */ bl sub_80320740 /* 8031CCC4 00319C24 57 BB 04 3E */ clrlwi r27, r29, 0x10 /* 8031CCC8 00319C28 3B 21 00 7C */ addi r25, r1, 0x7c /* 8031CCCC 00319C2C 3B 40 00 00 */ li r26, 0 /* 8031CCD0 00319C30 3B 80 00 00 */ li r28, 0 /* 8031CCD4 00319C34 48 00 01 10 */ b lbl_8031CDE4 lbl_8031CCD8: /* 8031CCD8 00319C38 80 1E 00 0C */ lwz r0, 0xc(r30) /* 8031CCDC 00319C3C 38 61 00 64 */ addi r3, r1, 0x64 /* 8031CCE0 00319C40 7C 80 E2 14 */ add r4, r0, r28 /* 8031CCE4 00319C44 48 00 07 75 */ bl sub_8031d458 /* 8031CCE8 00319C48 7F 23 CB 78 */ mr r3, r25 /* 8031CCEC 00319C4C 38 81 00 64 */ addi r4, r1, 0x64 /* 8031CCF0 00319C50 48 02 41 B9 */ bl __ct__6CTokenFRC6CToken /* 8031CCF4 00319C54 7F 23 CB 78 */ mr r3, r25 /* 8031CCF8 00319C58 48 02 41 15 */ bl GetObj__6CTokenFv /* 8031CCFC 00319C5C 88 01 00 6C */ lbz r0, 0x6c(r1) /* 8031CD00 00319C60 80 63 00 04 */ lwz r3, 4(r3) /* 8031CD04 00319C64 28 00 00 00 */ cmplwi r0, 0 /* 8031CD08 00319C68 90 61 00 84 */ stw r3, 0x84(r1) /* 8031CD0C 00319C6C 41 82 00 10 */ beq lbl_8031CD1C /* 8031CD10 00319C70 38 61 00 64 */ addi r3, r1, 0x64 /* 8031CD14 00319C74 38 80 FF FF */ li r4, -1 /* 8031CD18 00319C78 48 02 41 29 */ bl __dt__6CTokenFv lbl_8031CD1C: /* 8031CD1C 00319C7C 38 00 00 00 */ li r0, 0 /* 8031CD20 00319C80 80 61 00 84 */ lwz r3, 0x84(r1) /* 8031CD24 00319C84 98 01 00 6C */ stb r0, 0x6c(r1) /* 8031CD28 00319C88 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031CD2C 00319C8C 88 63 00 32 */ lbz r3, 0x32(r3) /* 8031CD30 00319C90 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8031CD34 00319C94 54 60 D7 FE */ rlwinm r0, r3, 0x1a, 0x1f, 0x1f /* 8031CD38 00319C98 41 82 00 1C */ beq lbl_8031CD54 /* 8031CD3C 00319C9C 28 00 00 00 */ cmplwi r0, 0 /* 8031CD40 00319CA0 41 82 00 14 */ beq lbl_8031CD54 /* 8031CD44 00319CA4 38 61 00 7C */ addi r3, r1, 0x7c /* 8031CD48 00319CA8 38 80 00 00 */ li r4, 0 /* 8031CD4C 00319CAC 48 02 40 F5 */ bl __dt__6CTokenFv /* 8031CD50 00319CB0 48 00 00 88 */ b lbl_8031CDD8 lbl_8031CD54: /* 8031CD54 00319CB4 B3 6D 9C F8 */ sth r27, lbl_805A88B8@sda21(r13) /* 8031CD58 00319CB8 38 61 00 34 */ addi r3, r1, 0x34 /* 8031CD5C 00319CBC 38 81 00 7C */ addi r4, r1, 0x7c /* 8031CD60 00319CC0 48 02 41 49 */ bl __ct__6CTokenFRC6CToken /* 8031CD64 00319CC4 7F E3 FB 78 */ mr r3, r31 /* 8031CD68 00319CC8 38 81 00 34 */ addi r4, r1, 0x34 /* 8031CD6C 00319CCC 48 00 07 2D */ bl "ConstructChildParticleSystem__11CElementGenCF25TToken<15CGenDescription>" /* 8031CD70 00319CD0 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CD74 00319CD4 7C 78 1B 78 */ mr r24, r3 /* 8031CD78 00319CD8 80 BF 02 98 */ lwz r5, 0x298(r31) /* 8031CD7C 00319CDC 7C 00 28 00 */ cmpw r0, r5 /* 8031CD80 00319CE0 41 80 00 1C */ blt lbl_8031CD9C /* 8031CD84 00319CE4 2C 05 00 00 */ cmpwi r5, 0 /* 8031CD88 00319CE8 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CD8C 00319CEC 38 80 00 04 */ li r4, 4 /* 8031CD90 00319CF0 41 82 00 08 */ beq lbl_8031CD98 /* 8031CD94 00319CF4 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031CD98: /* 8031CD98 00319CF8 48 00 39 A9 */ bl sub_80320740 lbl_8031CD9C: /* 8031CD9C 00319CFC 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CDA0 00319D00 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031CDA4 00319D04 54 00 10 3A */ slwi r0, r0, 2 /* 8031CDA8 00319D08 7C 63 02 15 */ add. r3, r3, r0 /* 8031CDAC 00319D0C 41 82 00 08 */ beq lbl_8031CDB4 /* 8031CDB0 00319D10 93 03 00 00 */ stw r24, 0(r3) lbl_8031CDB4: /* 8031CDB4 00319D14 80 BF 02 94 */ lwz r5, 0x294(r31) /* 8031CDB8 00319D18 38 61 00 34 */ addi r3, r1, 0x34 /* 8031CDBC 00319D1C 38 80 00 00 */ li r4, 0 /* 8031CDC0 00319D20 38 05 00 01 */ addi r0, r5, 1 /* 8031CDC4 00319D24 90 1F 02 94 */ stw r0, 0x294(r31) /* 8031CDC8 00319D28 48 02 40 79 */ bl __dt__6CTokenFv /* 8031CDCC 00319D2C 38 61 00 7C */ addi r3, r1, 0x7c /* 8031CDD0 00319D30 38 80 00 00 */ li r4, 0 /* 8031CDD4 00319D34 48 02 40 6D */ bl __dt__6CTokenFv lbl_8031CDD8: /* 8031CDD8 00319D38 3B 9C 00 1C */ addi r28, r28, 0x1c /* 8031CDDC 00319D3C 3B 7B 00 01 */ addi r27, r27, 1 /* 8031CDE0 00319D40 3B 5A 00 01 */ addi r26, r26, 1 lbl_8031CDE4: /* 8031CDE4 00319D44 80 1E 00 04 */ lwz r0, 4(r30) /* 8031CDE8 00319D48 7C 1A 00 00 */ cmpw r26, r0 /* 8031CDEC 00319D4C 41 80 FE EC */ blt lbl_8031CCD8 /* 8031CDF0 00319D50 B3 AD 9C F8 */ sth r29, lbl_805A88B8@sda21(r13) lbl_8031CDF4: /* 8031CDF4 00319D54 80 7F 00 74 */ lwz r3, 0x74(r31) /* 8031CDF8 00319D58 80 1F 02 68 */ lwz r0, 0x268(r31) /* 8031CDFC 00319D5C 7C 03 00 00 */ cmpw r3, r0 /* 8031CE00 00319D60 40 82 01 4C */ bne lbl_8031CF4C /* 8031CE04 00319D64 80 1F 00 84 */ lwz r0, 0x84(r31) /* 8031CE08 00319D68 7C 00 18 00 */ cmpw r0, r3 /* 8031CE0C 00319D6C 41 82 01 40 */ beq lbl_8031CF4C /* 8031CE10 00319D70 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031CE14 00319D74 88 03 00 9C */ lbz r0, 0x9c(r3) /* 8031CE18 00319D78 28 00 00 00 */ cmplwi r0, 0 /* 8031CE1C 00319D7C 41 82 01 30 */ beq lbl_8031CF4C /* 8031CE20 00319D80 38 00 00 01 */ li r0, 1 /* 8031CE24 00319D84 90 01 00 14 */ stw r0, 0x14(r1) /* 8031CE28 00319D88 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031CE2C 00319D8C 80 63 00 A0 */ lwz r3, 0xa0(r3) /* 8031CE30 00319D90 28 03 00 00 */ cmplwi r3, 0 /* 8031CE34 00319D94 41 82 00 1C */ beq lbl_8031CE50 /* 8031CE38 00319D98 81 83 00 00 */ lwz r12, 0(r3) /* 8031CE3C 00319D9C 38 A1 00 14 */ addi r5, r1, 0x14 /* 8031CE40 00319DA0 38 80 00 00 */ li r4, 0 /* 8031CE44 00319DA4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031CE48 00319DA8 7D 89 03 A6 */ mtctr r12 /* 8031CE4C 00319DAC 4E 80 04 21 */ bctrl lbl_8031CE50: /* 8031CE50 00319DB0 80 81 00 14 */ lwz r4, 0x14(r1) /* 8031CE54 00319DB4 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CE58 00319DB8 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CE5C 00319DBC 7C 84 02 14 */ add r4, r4, r0 /* 8031CE60 00319DC0 48 00 38 E1 */ bl sub_80320740 /* 8031CE64 00319DC4 3B 21 00 70 */ addi r25, r1, 0x70 /* 8031CE68 00319DC8 3B 40 00 00 */ li r26, 0 /* 8031CE6C 00319DCC 48 00 00 D4 */ b lbl_8031CF40 lbl_8031CE70: /* 8031CE70 00319DD0 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031CE74 00319DD4 7F 23 CB 78 */ mr r3, r25 /* 8031CE78 00319DD8 38 84 00 90 */ addi r4, r4, 0x90 /* 8031CE7C 00319DDC 48 02 40 2D */ bl __ct__6CTokenFRC6CToken /* 8031CE80 00319DE0 7F 23 CB 78 */ mr r3, r25 /* 8031CE84 00319DE4 48 02 3F 89 */ bl GetObj__6CTokenFv /* 8031CE88 00319DE8 80 63 00 04 */ lwz r3, 4(r3) /* 8031CE8C 00319DEC 90 61 00 78 */ stw r3, 0x78(r1) /* 8031CE90 00319DF0 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031CE94 00319DF4 88 63 00 32 */ lbz r3, 0x32(r3) /* 8031CE98 00319DF8 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8031CE9C 00319DFC 54 60 D7 FE */ rlwinm r0, r3, 0x1a, 0x1f, 0x1f /* 8031CEA0 00319E00 41 82 00 1C */ beq lbl_8031CEBC /* 8031CEA4 00319E04 28 00 00 00 */ cmplwi r0, 0 /* 8031CEA8 00319E08 41 82 00 14 */ beq lbl_8031CEBC /* 8031CEAC 00319E0C 38 61 00 70 */ addi r3, r1, 0x70 /* 8031CEB0 00319E10 38 80 00 00 */ li r4, 0 /* 8031CEB4 00319E14 48 02 3F 8D */ bl __dt__6CTokenFv /* 8031CEB8 00319E18 48 00 00 94 */ b lbl_8031CF4C lbl_8031CEBC: /* 8031CEBC 00319E1C 38 61 00 2C */ addi r3, r1, 0x2c /* 8031CEC0 00319E20 38 81 00 70 */ addi r4, r1, 0x70 /* 8031CEC4 00319E24 48 02 3F E5 */ bl __ct__6CTokenFRC6CToken /* 8031CEC8 00319E28 7F E3 FB 78 */ mr r3, r31 /* 8031CECC 00319E2C 38 81 00 2C */ addi r4, r1, 0x2c /* 8031CED0 00319E30 48 00 05 C9 */ bl "ConstructChildParticleSystem__11CElementGenCF25TToken<15CGenDescription>" /* 8031CED4 00319E34 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CED8 00319E38 7C 7B 1B 78 */ mr r27, r3 /* 8031CEDC 00319E3C 80 BF 02 98 */ lwz r5, 0x298(r31) /* 8031CEE0 00319E40 7C 00 28 00 */ cmpw r0, r5 /* 8031CEE4 00319E44 41 80 00 1C */ blt lbl_8031CF00 /* 8031CEE8 00319E48 2C 05 00 00 */ cmpwi r5, 0 /* 8031CEEC 00319E4C 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031CEF0 00319E50 38 80 00 04 */ li r4, 4 /* 8031CEF4 00319E54 41 82 00 08 */ beq lbl_8031CEFC /* 8031CEF8 00319E58 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031CEFC: /* 8031CEFC 00319E5C 48 00 38 45 */ bl sub_80320740 lbl_8031CF00: /* 8031CF00 00319E60 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031CF04 00319E64 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031CF08 00319E68 54 00 10 3A */ slwi r0, r0, 2 /* 8031CF0C 00319E6C 7C 63 02 15 */ add. r3, r3, r0 /* 8031CF10 00319E70 41 82 00 08 */ beq lbl_8031CF18 /* 8031CF14 00319E74 93 63 00 00 */ stw r27, 0(r3) lbl_8031CF18: /* 8031CF18 00319E78 80 BF 02 94 */ lwz r5, 0x294(r31) /* 8031CF1C 00319E7C 38 61 00 2C */ addi r3, r1, 0x2c /* 8031CF20 00319E80 38 80 00 00 */ li r4, 0 /* 8031CF24 00319E84 38 05 00 01 */ addi r0, r5, 1 /* 8031CF28 00319E88 90 1F 02 94 */ stw r0, 0x294(r31) /* 8031CF2C 00319E8C 48 02 3F 15 */ bl __dt__6CTokenFv /* 8031CF30 00319E90 38 61 00 70 */ addi r3, r1, 0x70 /* 8031CF34 00319E94 38 80 00 00 */ li r4, 0 /* 8031CF38 00319E98 48 02 3F 09 */ bl __dt__6CTokenFv /* 8031CF3C 00319E9C 3B 5A 00 01 */ addi r26, r26, 1 lbl_8031CF40: /* 8031CF40 00319EA0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031CF44 00319EA4 7C 1A 00 00 */ cmpw r26, r0 /* 8031CF48 00319EA8 41 80 FF 28 */ blt lbl_8031CE70 lbl_8031CF4C: /* 8031CF4C 00319EAC 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031CF50 00319EB0 88 03 00 CC */ lbz r0, 0xcc(r3) /* 8031CF54 00319EB4 28 00 00 00 */ cmplwi r0, 0 /* 8031CF58 00319EB8 41 82 01 98 */ beq lbl_8031D0F0 /* 8031CF5C 00319EBC 80 1F 00 84 */ lwz r0, 0x84(r31) /* 8031CF60 00319EC0 80 7F 00 74 */ lwz r3, 0x74(r31) /* 8031CF64 00319EC4 7C 00 18 00 */ cmpw r0, r3 /* 8031CF68 00319EC8 41 82 01 88 */ beq lbl_8031D0F0 /* 8031CF6C 00319ECC 80 1F 02 AC */ lwz r0, 0x2ac(r31) /* 8031CF70 00319ED0 7C 03 00 00 */ cmpw r3, r0 /* 8031CF74 00319ED4 40 82 01 7C */ bne lbl_8031D0F0 /* 8031CF78 00319ED8 3C 60 80 3D */ lis r3, lbl_803D7910@ha /* 8031CF7C 00319EDC 3B 20 00 00 */ li r25, 0 /* 8031CF80 00319EE0 38 83 79 10 */ addi r4, r3, lbl_803D7910@l /* 8031CF84 00319EE4 38 A0 00 00 */ li r5, 0 /* 8031CF88 00319EE8 38 60 02 10 */ li r3, 0x210 /* 8031CF8C 00319EEC 4B FF 88 E1 */ bl __nw__FUlPCcPCc /* 8031CF90 00319EF0 7C 78 1B 79 */ or. r24, r3, r3 /* 8031CF94 00319EF4 41 82 00 2C */ beq lbl_8031CFC0 /* 8031CF98 00319EF8 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031CF9C 00319EFC 38 61 00 24 */ addi r3, r1, 0x24 /* 8031CFA0 00319F00 38 84 00 C0 */ addi r4, r4, 0xc0 /* 8031CFA4 00319F04 48 02 3F 05 */ bl __ct__6CTokenFRC6CToken /* 8031CFA8 00319F08 7F 03 C3 78 */ mr r3, r24 /* 8031CFAC 00319F0C 38 81 00 24 */ addi r4, r1, 0x24 /* 8031CFB0 00319F10 3B 20 00 01 */ li r25, 1 /* 8031CFB4 00319F14 38 A0 00 00 */ li r5, 0 /* 8031CFB8 00319F18 48 01 1E 2D */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i" /* 8031CFBC 00319F1C 7C 78 1B 78 */ mr r24, r3 lbl_8031CFC0: /* 8031CFC0 00319F20 7F 20 07 75 */ extsb. r0, r25 /* 8031CFC4 00319F24 41 82 00 10 */ beq lbl_8031CFD4 /* 8031CFC8 00319F28 38 61 00 24 */ addi r3, r1, 0x24 /* 8031CFCC 00319F2C 38 80 00 00 */ li r4, 0 /* 8031CFD0 00319F30 48 02 3E 71 */ bl __dt__6CTokenFv lbl_8031CFD4: /* 8031CFD4 00319F34 7F 03 C3 78 */ mr r3, r24 /* 8031CFD8 00319F38 38 9F 00 E8 */ addi r4, r31, 0xe8 /* 8031CFDC 00319F3C 81 98 00 00 */ lwz r12, 0(r24) /* 8031CFE0 00319F40 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8031CFE4 00319F44 7D 89 03 A6 */ mtctr r12 /* 8031CFE8 00319F48 4E 80 04 21 */ bctrl /* 8031CFEC 00319F4C 7F 03 C3 78 */ mr r3, r24 /* 8031CFF0 00319F50 38 9F 01 00 */ addi r4, r31, 0x100 /* 8031CFF4 00319F54 81 98 00 00 */ lwz r12, 0(r24) /* 8031CFF8 00319F58 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8031CFFC 00319F5C 7D 89 03 A6 */ mtctr r12 /* 8031D000 00319F60 4E 80 04 21 */ bctrl /* 8031D004 00319F64 7F 03 C3 78 */ mr r3, r24 /* 8031D008 00319F68 38 9F 01 6C */ addi r4, r31, 0x16c /* 8031D00C 00319F6C 81 98 00 00 */ lwz r12, 0(r24) /* 8031D010 00319F70 81 8C 00 28 */ lwz r12, 0x28(r12) /* 8031D014 00319F74 7D 89 03 A6 */ mtctr r12 /* 8031D018 00319F78 4E 80 04 21 */ bctrl /* 8031D01C 00319F7C C0 3F 00 E0 */ lfs f1, 0xe0(r31) /* 8031D020 00319F80 7F 03 C3 78 */ mr r3, r24 /* 8031D024 00319F84 C0 1F 02 B4 */ lfs f0, 0x2b4(r31) /* 8031D028 00319F88 38 81 00 58 */ addi r4, r1, 0x58 /* 8031D02C 00319F8C C0 7F 00 E4 */ lfs f3, 0xe4(r31) /* 8031D030 00319F90 C0 5F 02 B8 */ lfs f2, 0x2b8(r31) /* 8031D034 00319F94 EC 81 00 2A */ fadds f4, f1, f0 /* 8031D038 00319F98 C0 3F 00 DC */ lfs f1, 0xdc(r31) /* 8031D03C 00319F9C C0 1F 02 B0 */ lfs f0, 0x2b0(r31) /* 8031D040 00319FA0 EC 43 10 2A */ fadds f2, f3, f2 /* 8031D044 00319FA4 EC 01 00 2A */ fadds f0, f1, f0 /* 8031D048 00319FA8 D0 81 00 5C */ stfs f4, 0x5c(r1) /* 8031D04C 00319FAC D0 41 00 60 */ stfs f2, 0x60(r1) /* 8031D050 00319FB0 D0 01 00 58 */ stfs f0, 0x58(r1) /* 8031D054 00319FB4 81 98 00 00 */ lwz r12, 0(r24) /* 8031D058 00319FB8 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031D05C 00319FBC 7D 89 03 A6 */ mtctr r12 /* 8031D060 00319FC0 4E 80 04 21 */ bctrl /* 8031D064 00319FC4 7F 03 C3 78 */ mr r3, r24 /* 8031D068 00319FC8 38 9F 01 D8 */ addi r4, r31, 0x1d8 /* 8031D06C 00319FCC 81 98 00 00 */ lwz r12, 0(r24) /* 8031D070 00319FD0 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8031D074 00319FD4 7D 89 03 A6 */ mtctr r12 /* 8031D078 00319FD8 4E 80 04 21 */ bctrl /* 8031D07C 00319FDC 81 98 00 00 */ lwz r12, 0(r24) /* 8031D080 00319FE0 7F 03 C3 78 */ mr r3, r24 /* 8031D084 00319FE4 88 9F 00 88 */ lbz r4, 0x88(r31) /* 8031D088 00319FE8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 8031D08C 00319FEC 7D 89 03 A6 */ mtctr r12 /* 8031D090 00319FF0 4E 80 04 21 */ bctrl /* 8031D094 00319FF4 80 9F 02 94 */ lwz r4, 0x294(r31) /* 8031D098 00319FF8 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031D09C 00319FFC 38 84 00 01 */ addi r4, r4, 1 /* 8031D0A0 0031A000 48 00 36 A1 */ bl sub_80320740 /* 8031D0A4 0031A004 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031D0A8 0031A008 80 BF 02 98 */ lwz r5, 0x298(r31) /* 8031D0AC 0031A00C 7C 00 28 00 */ cmpw r0, r5 /* 8031D0B0 0031A010 41 80 00 1C */ blt lbl_8031D0CC /* 8031D0B4 0031A014 2C 05 00 00 */ cmpwi r5, 0 /* 8031D0B8 0031A018 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031D0BC 0031A01C 38 80 00 04 */ li r4, 4 /* 8031D0C0 0031A020 41 82 00 08 */ beq lbl_8031D0C8 /* 8031D0C4 0031A024 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031D0C8: /* 8031D0C8 0031A028 48 00 36 79 */ bl sub_80320740 lbl_8031D0CC: /* 8031D0CC 0031A02C 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031D0D0 0031A030 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031D0D4 0031A034 54 00 10 3A */ slwi r0, r0, 2 /* 8031D0D8 0031A038 7C 63 02 15 */ add. r3, r3, r0 /* 8031D0DC 0031A03C 41 82 00 08 */ beq lbl_8031D0E4 /* 8031D0E0 0031A040 93 03 00 00 */ stw r24, 0(r3) lbl_8031D0E4: /* 8031D0E4 0031A044 80 7F 02 94 */ lwz r3, 0x294(r31) /* 8031D0E8 0031A048 38 03 00 01 */ addi r0, r3, 1 /* 8031D0EC 0031A04C 90 1F 02 94 */ stw r0, 0x294(r31) lbl_8031D0F0: /* 8031D0F0 0031A050 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031D0F4 0031A054 88 03 00 E0 */ lbz r0, 0xe0(r3) /* 8031D0F8 0031A058 28 00 00 00 */ cmplwi r0, 0 /* 8031D0FC 0031A05C 41 82 01 94 */ beq lbl_8031D290 /* 8031D100 0031A060 80 1F 00 84 */ lwz r0, 0x84(r31) /* 8031D104 0031A064 80 7F 00 74 */ lwz r3, 0x74(r31) /* 8031D108 0031A068 7C 00 18 00 */ cmpw r0, r3 /* 8031D10C 0031A06C 41 82 01 84 */ beq lbl_8031D290 /* 8031D110 0031A070 80 1F 02 BC */ lwz r0, 0x2bc(r31) /* 8031D114 0031A074 7C 03 00 00 */ cmpw r3, r0 /* 8031D118 0031A078 40 82 01 78 */ bne lbl_8031D290 /* 8031D11C 0031A07C 3C 60 80 3D */ lis r3, lbl_803D7910@ha /* 8031D120 0031A080 3B 20 00 00 */ li r25, 0 /* 8031D124 0031A084 38 83 79 10 */ addi r4, r3, lbl_803D7910@l /* 8031D128 0031A088 38 A0 00 00 */ li r5, 0 /* 8031D12C 0031A08C 38 60 04 58 */ li r3, 0x458 /* 8031D130 0031A090 4B FF 87 3D */ bl __nw__FUlPCcPCc /* 8031D134 0031A094 7C 78 1B 79 */ or. r24, r3, r3 /* 8031D138 0031A098 41 82 00 28 */ beq lbl_8031D160 /* 8031D13C 0031A09C 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031D140 0031A0A0 38 61 00 1C */ addi r3, r1, 0x1c /* 8031D144 0031A0A4 38 84 00 D8 */ addi r4, r4, 0xd8 /* 8031D148 0031A0A8 48 02 3D 61 */ bl __ct__6CTokenFRC6CToken /* 8031D14C 0031A0AC 7F 03 C3 78 */ mr r3, r24 /* 8031D150 0031A0B0 38 81 00 1C */ addi r4, r1, 0x1c /* 8031D154 0031A0B4 3B 20 00 01 */ li r25, 1 /* 8031D158 0031A0B8 48 04 50 19 */ bl "__ct__17CParticleElectricF30TToken<20CElectricDescription>" /* 8031D15C 0031A0BC 7C 78 1B 78 */ mr r24, r3 lbl_8031D160: /* 8031D160 0031A0C0 7F 20 07 75 */ extsb. r0, r25 /* 8031D164 0031A0C4 41 82 00 10 */ beq lbl_8031D174 /* 8031D168 0031A0C8 38 61 00 1C */ addi r3, r1, 0x1c /* 8031D16C 0031A0CC 38 80 00 00 */ li r4, 0 /* 8031D170 0031A0D0 48 02 3C D1 */ bl __dt__6CTokenFv lbl_8031D174: /* 8031D174 0031A0D4 7F 03 C3 78 */ mr r3, r24 /* 8031D178 0031A0D8 38 9F 00 E8 */ addi r4, r31, 0xe8 /* 8031D17C 0031A0DC 81 98 00 00 */ lwz r12, 0(r24) /* 8031D180 0031A0E0 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8031D184 0031A0E4 7D 89 03 A6 */ mtctr r12 /* 8031D188 0031A0E8 4E 80 04 21 */ bctrl /* 8031D18C 0031A0EC 7F 03 C3 78 */ mr r3, r24 /* 8031D190 0031A0F0 38 9F 01 00 */ addi r4, r31, 0x100 /* 8031D194 0031A0F4 81 98 00 00 */ lwz r12, 0(r24) /* 8031D198 0031A0F8 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8031D19C 0031A0FC 7D 89 03 A6 */ mtctr r12 /* 8031D1A0 0031A100 4E 80 04 21 */ bctrl /* 8031D1A4 0031A104 7F 03 C3 78 */ mr r3, r24 /* 8031D1A8 0031A108 38 9F 01 6C */ addi r4, r31, 0x16c /* 8031D1AC 0031A10C 81 98 00 00 */ lwz r12, 0(r24) /* 8031D1B0 0031A110 81 8C 00 28 */ lwz r12, 0x28(r12) /* 8031D1B4 0031A114 7D 89 03 A6 */ mtctr r12 /* 8031D1B8 0031A118 4E 80 04 21 */ bctrl /* 8031D1BC 0031A11C C0 3F 00 E0 */ lfs f1, 0xe0(r31) /* 8031D1C0 0031A120 7F 03 C3 78 */ mr r3, r24 /* 8031D1C4 0031A124 C0 1F 02 C4 */ lfs f0, 0x2c4(r31) /* 8031D1C8 0031A128 38 81 00 4C */ addi r4, r1, 0x4c /* 8031D1CC 0031A12C C0 7F 00 E4 */ lfs f3, 0xe4(r31) /* 8031D1D0 0031A130 C0 5F 02 C8 */ lfs f2, 0x2c8(r31) /* 8031D1D4 0031A134 EC 81 00 2A */ fadds f4, f1, f0 /* 8031D1D8 0031A138 C0 3F 00 DC */ lfs f1, 0xdc(r31) /* 8031D1DC 0031A13C C0 1F 02 C0 */ lfs f0, 0x2c0(r31) /* 8031D1E0 0031A140 EC 43 10 2A */ fadds f2, f3, f2 /* 8031D1E4 0031A144 EC 01 00 2A */ fadds f0, f1, f0 /* 8031D1E8 0031A148 D0 81 00 50 */ stfs f4, 0x50(r1) /* 8031D1EC 0031A14C D0 41 00 54 */ stfs f2, 0x54(r1) /* 8031D1F0 0031A150 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8031D1F4 0031A154 81 98 00 00 */ lwz r12, 0(r24) /* 8031D1F8 0031A158 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031D1FC 0031A15C 7D 89 03 A6 */ mtctr r12 /* 8031D200 0031A160 4E 80 04 21 */ bctrl /* 8031D204 0031A164 7F 03 C3 78 */ mr r3, r24 /* 8031D208 0031A168 38 9F 01 D8 */ addi r4, r31, 0x1d8 /* 8031D20C 0031A16C 81 98 00 00 */ lwz r12, 0(r24) /* 8031D210 0031A170 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8031D214 0031A174 7D 89 03 A6 */ mtctr r12 /* 8031D218 0031A178 4E 80 04 21 */ bctrl /* 8031D21C 0031A17C 81 98 00 00 */ lwz r12, 0(r24) /* 8031D220 0031A180 7F 03 C3 78 */ mr r3, r24 /* 8031D224 0031A184 88 9F 00 88 */ lbz r4, 0x88(r31) /* 8031D228 0031A188 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 8031D22C 0031A18C 7D 89 03 A6 */ mtctr r12 /* 8031D230 0031A190 4E 80 04 21 */ bctrl /* 8031D234 0031A194 80 9F 02 94 */ lwz r4, 0x294(r31) /* 8031D238 0031A198 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031D23C 0031A19C 38 84 00 01 */ addi r4, r4, 1 /* 8031D240 0031A1A0 48 00 35 01 */ bl sub_80320740 /* 8031D244 0031A1A4 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031D248 0031A1A8 80 BF 02 98 */ lwz r5, 0x298(r31) /* 8031D24C 0031A1AC 7C 00 28 00 */ cmpw r0, r5 /* 8031D250 0031A1B0 41 80 00 1C */ blt lbl_8031D26C /* 8031D254 0031A1B4 2C 05 00 00 */ cmpwi r5, 0 /* 8031D258 0031A1B8 38 7F 02 90 */ addi r3, r31, 0x290 /* 8031D25C 0031A1BC 38 80 00 04 */ li r4, 4 /* 8031D260 0031A1C0 41 82 00 08 */ beq lbl_8031D268 /* 8031D264 0031A1C4 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031D268: /* 8031D268 0031A1C8 48 00 34 D9 */ bl sub_80320740 lbl_8031D26C: /* 8031D26C 0031A1CC 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031D270 0031A1D0 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031D274 0031A1D4 54 00 10 3A */ slwi r0, r0, 2 /* 8031D278 0031A1D8 7C 63 02 15 */ add. r3, r3, r0 /* 8031D27C 0031A1DC 41 82 00 08 */ beq lbl_8031D284 /* 8031D280 0031A1E0 93 03 00 00 */ stw r24, 0(r3) lbl_8031D284: /* 8031D284 0031A1E4 80 7F 02 94 */ lwz r3, 0x294(r31) /* 8031D288 0031A1E8 38 03 00 01 */ addi r0, r3, 1 /* 8031D28C 0031A1EC 90 1F 02 94 */ stw r0, 0x294(r31) lbl_8031D290: /* 8031D290 0031A1F0 80 1F 02 9C */ lwz r0, 0x29c(r31) /* 8031D294 0031A1F4 90 01 00 10 */ stw r0, 0x10(r1) /* 8031D298 0031A1F8 48 00 00 94 */ b lbl_8031D32C lbl_8031D29C: /* 8031D29C 0031A1FC 80 61 00 10 */ lwz r3, 0x10(r1) /* 8031D2A0 0031A200 FC 20 F8 90 */ fmr f1, f31 /* 8031D2A4 0031A204 83 03 00 00 */ lwz r24, 0(r3) /* 8031D2A8 0031A208 7F 03 C3 78 */ mr r3, r24 /* 8031D2AC 0031A20C 81 98 00 00 */ lwz r12, 0(r24) /* 8031D2B0 0031A210 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031D2B4 0031A214 7D 89 03 A6 */ mtctr r12 /* 8031D2B8 0031A218 4E 80 04 21 */ bctrl /* 8031D2BC 0031A21C 7F 03 C3 78 */ mr r3, r24 /* 8031D2C0 0031A220 81 98 00 00 */ lwz r12, 0(r24) /* 8031D2C4 0031A224 81 8C 00 58 */ lwz r12, 0x58(r12) /* 8031D2C8 0031A228 7D 89 03 A6 */ mtctr r12 /* 8031D2CC 0031A22C 4E 80 04 21 */ bctrl /* 8031D2D0 0031A230 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8031D2D4 0031A234 28 00 00 01 */ cmplwi r0, 1 /* 8031D2D8 0031A238 40 82 00 48 */ bne lbl_8031D320 /* 8031D2DC 0031A23C 28 18 00 00 */ cmplwi r24, 0 /* 8031D2E0 0031A240 41 82 00 1C */ beq lbl_8031D2FC /* 8031D2E4 0031A244 7F 03 C3 78 */ mr r3, r24 /* 8031D2E8 0031A248 38 80 00 01 */ li r4, 1 /* 8031D2EC 0031A24C 81 98 00 00 */ lwz r12, 0(r24) /* 8031D2F0 0031A250 81 8C 00 08 */ lwz r12, 8(r12) /* 8031D2F4 0031A254 7D 89 03 A6 */ mtctr r12 /* 8031D2F8 0031A258 4E 80 04 21 */ bctrl lbl_8031D2FC: /* 8031D2FC 0031A25C 80 01 00 10 */ lwz r0, 0x10(r1) /* 8031D300 0031A260 38 61 00 0C */ addi r3, r1, 0xc /* 8031D304 0031A264 38 9F 02 90 */ addi r4, r31, 0x290 /* 8031D308 0031A268 38 A1 00 08 */ addi r5, r1, 8 /* 8031D30C 0031A26C 90 01 00 08 */ stw r0, 8(r1) /* 8031D310 0031A270 48 00 00 69 */ bl sub_8031d378 /* 8031D314 0031A274 80 01 00 0C */ lwz r0, 0xc(r1) /* 8031D318 0031A278 90 01 00 10 */ stw r0, 0x10(r1) /* 8031D31C 0031A27C 48 00 00 10 */ b lbl_8031D32C lbl_8031D320: /* 8031D320 0031A280 80 61 00 10 */ lwz r3, 0x10(r1) /* 8031D324 0031A284 38 03 00 04 */ addi r0, r3, 4 /* 8031D328 0031A288 90 01 00 10 */ stw r0, 0x10(r1) lbl_8031D32C: /* 8031D32C 0031A28C 80 1F 02 94 */ lwz r0, 0x294(r31) /* 8031D330 0031A290 80 7F 02 9C */ lwz r3, 0x29c(r31) /* 8031D334 0031A294 54 00 10 3A */ slwi r0, r0, 2 /* 8031D338 0031A298 80 81 00 10 */ lwz r4, 0x10(r1) /* 8031D33C 0031A29C 7C 03 02 14 */ add r0, r3, r0 /* 8031D340 0031A2A0 7C 04 00 40 */ cmplw r4, r0 /* 8031D344 0031A2A4 40 82 FF 58 */ bne lbl_8031D29C /* 8031D348 0031A2A8 80 1F 00 74 */ lwz r0, 0x74(r31) /* 8031D34C 0031A2AC 38 61 00 A0 */ addi r3, r1, 0xa0 /* 8031D350 0031A2B0 38 80 FF FF */ li r4, -1 /* 8031D354 0031A2B4 90 1F 00 84 */ stw r0, 0x84(r31) /* 8031D358 0031A2B8 4B FF 52 AD */ bl __dt__13CGlobalRandomFv lbl_8031D35C: /* 8031D35C 0031A2BC E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0 /* 8031D360 0031A2C0 CB E1 00 D0 */ lfd f31, 0xd0(r1) /* 8031D364 0031A2C4 BB 01 00 B0 */ lmw r24, 0xb0(r1) /* 8031D368 0031A2C8 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 8031D36C 0031A2CC 7C 08 03 A6 */ mtlr r0 /* 8031D370 0031A2D0 38 21 00 E0 */ addi r1, r1, 0xe0 /* 8031D374 0031A2D4 4E 80 00 20 */ blr .global sub_8031d378 sub_8031d378: /* 8031D378 0031A2D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031D37C 0031A2DC 7C 08 02 A6 */ mflr r0 /* 8031D380 0031A2E0 90 01 00 24 */ stw r0, 0x24(r1) /* 8031D384 0031A2E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031D388 0031A2E8 7C 7F 1B 78 */ mr r31, r3 /* 8031D38C 0031A2EC 80 C5 00 00 */ lwz r6, 0(r5) /* 8031D390 0031A2F0 80 05 00 00 */ lwz r0, 0(r5) /* 8031D394 0031A2F4 38 A1 00 10 */ addi r5, r1, 0x10 /* 8031D398 0031A2F8 38 E6 00 04 */ addi r7, r6, 4 /* 8031D39C 0031A2FC 38 C1 00 0C */ addi r6, r1, 0xc /* 8031D3A0 0031A300 90 E1 00 08 */ stw r7, 8(r1) /* 8031D3A4 0031A304 90 E1 00 0C */ stw r7, 0xc(r1) /* 8031D3A8 0031A308 90 01 00 10 */ stw r0, 0x10(r1) /* 8031D3AC 0031A30C 48 00 00 19 */ bl sub_8031d3c4 /* 8031D3B0 0031A310 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031D3B4 0031A314 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031D3B8 0031A318 7C 08 03 A6 */ mtlr r0 /* 8031D3BC 0031A31C 38 21 00 20 */ addi r1, r1, 0x20 /* 8031D3C0 0031A320 4E 80 00 20 */ blr .global sub_8031d3c4 sub_8031d3c4: /* 8031D3C4 0031A324 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031D3C8 0031A328 80 E5 00 00 */ lwz r7, 0(r5) /* 8031D3CC 0031A32C 80 06 00 00 */ lwz r0, 0(r6) /* 8031D3D0 0031A330 90 E1 00 0C */ stw r7, 0xc(r1) /* 8031D3D4 0031A334 90 01 00 08 */ stw r0, 8(r1) /* 8031D3D8 0031A338 48 00 00 08 */ b lbl_8031D3E0 lbl_8031D3DC: /* 8031D3DC 0031A33C 38 E7 00 04 */ addi r7, r7, 4 lbl_8031D3E0: /* 8031D3E0 0031A340 7C 07 00 40 */ cmplw r7, r0 /* 8031D3E4 0031A344 40 82 FF F8 */ bne lbl_8031D3DC /* 8031D3E8 0031A348 81 04 00 0C */ lwz r8, 0xc(r4) /* 8031D3EC 0031A34C 80 05 00 00 */ lwz r0, 0(r5) /* 8031D3F0 0031A350 80 E6 00 00 */ lwz r7, 0(r6) /* 8031D3F4 0031A354 7C 08 00 50 */ subf r0, r8, r0 /* 8031D3F8 0031A358 7C 00 16 70 */ srawi r0, r0, 2 /* 8031D3FC 0031A35C 7C C0 01 94 */ addze r6, r0 /* 8031D400 0031A360 54 C0 10 3A */ slwi r0, r6, 2 /* 8031D404 0031A364 7C C9 33 78 */ mr r9, r6 /* 8031D408 0031A368 7D 08 02 14 */ add r8, r8, r0 /* 8031D40C 0031A36C 48 00 00 20 */ b lbl_8031D42C lbl_8031D410: /* 8031D410 0031A370 28 08 00 00 */ cmplwi r8, 0 /* 8031D414 0031A374 41 82 00 0C */ beq lbl_8031D420 /* 8031D418 0031A378 80 07 00 00 */ lwz r0, 0(r7) /* 8031D41C 0031A37C 90 08 00 00 */ stw r0, 0(r8) lbl_8031D420: /* 8031D420 0031A380 39 08 00 04 */ addi r8, r8, 4 /* 8031D424 0031A384 39 29 00 01 */ addi r9, r9, 1 /* 8031D428 0031A388 38 E7 00 04 */ addi r7, r7, 4 lbl_8031D42C: /* 8031D42C 0031A38C 80 04 00 04 */ lwz r0, 4(r4) /* 8031D430 0031A390 80 C4 00 0C */ lwz r6, 0xc(r4) /* 8031D434 0031A394 54 00 10 3A */ slwi r0, r0, 2 /* 8031D438 0031A398 7C 06 02 14 */ add r0, r6, r0 /* 8031D43C 0031A39C 7C 07 00 40 */ cmplw r7, r0 /* 8031D440 0031A3A0 40 82 FF D0 */ bne lbl_8031D410 /* 8031D444 0031A3A4 91 24 00 04 */ stw r9, 4(r4) /* 8031D448 0031A3A8 80 05 00 00 */ lwz r0, 0(r5) /* 8031D44C 0031A3AC 90 03 00 00 */ stw r0, 0(r3) /* 8031D450 0031A3B0 38 21 00 10 */ addi r1, r1, 0x10 /* 8031D454 0031A3B4 4E 80 00 20 */ blr .global sub_8031d458 sub_8031d458: /* 8031D458 0031A3B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031D45C 0031A3BC 7C 08 02 A6 */ mflr r0 /* 8031D460 0031A3C0 90 01 00 14 */ stw r0, 0x14(r1) /* 8031D464 0031A3C4 88 04 00 18 */ lbz r0, 0x18(r4) /* 8031D468 0031A3C8 98 03 00 08 */ stb r0, 8(r3) /* 8031D46C 0031A3CC 88 04 00 18 */ lbz r0, 0x18(r4) /* 8031D470 0031A3D0 28 00 00 00 */ cmplwi r0, 0 /* 8031D474 0031A3D4 41 82 00 14 */ beq lbl_8031D488 /* 8031D478 0031A3D8 28 03 00 00 */ cmplwi r3, 0 /* 8031D47C 0031A3DC 38 84 00 10 */ addi r4, r4, 0x10 /* 8031D480 0031A3E0 41 82 00 08 */ beq lbl_8031D488 /* 8031D484 0031A3E4 48 02 3A 25 */ bl __ct__6CTokenFRC6CToken lbl_8031D488: /* 8031D488 0031A3E8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031D48C 0031A3EC 7C 08 03 A6 */ mtlr r0 /* 8031D490 0031A3F0 38 21 00 10 */ addi r1, r1, 0x10 /* 8031D494 0031A3F4 4E 80 00 20 */ blr .global "ConstructChildParticleSystem__11CElementGenCF25TToken<15CGenDescription>" "ConstructChildParticleSystem__11CElementGenCF25TToken<15CGenDescription>": /* 8031D498 0031A3F8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031D49C 0031A3FC 7C 08 02 A6 */ mflr r0 /* 8031D4A0 0031A400 3C A0 80 3D */ lis r5, lbl_803D7910@ha /* 8031D4A4 0031A404 90 01 00 24 */ stw r0, 0x24(r1) /* 8031D4A8 0031A408 38 05 79 10 */ addi r0, r5, lbl_803D7910@l /* 8031D4AC 0031A40C 38 A0 00 00 */ li r5, 0 /* 8031D4B0 0031A410 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031D4B4 0031A414 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031D4B8 0031A418 7C 9E 23 78 */ mr r30, r4 /* 8031D4BC 0031A41C 7C 04 03 78 */ mr r4, r0 /* 8031D4C0 0031A420 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031D4C4 0031A424 7C 7D 1B 78 */ mr r29, r3 /* 8031D4C8 0031A428 38 60 03 40 */ li r3, 0x340 /* 8031D4CC 0031A42C 93 81 00 10 */ stw r28, 0x10(r1) /* 8031D4D0 0031A430 3B 80 00 00 */ li r28, 0 /* 8031D4D4 0031A434 4B FF 83 99 */ bl __nw__FUlPCcPCc /* 8031D4D8 0031A438 7C 7F 1B 79 */ or. r31, r3, r3 /* 8031D4DC 0031A43C 41 82 00 3C */ beq lbl_8031D518 /* 8031D4E0 0031A440 7F C4 F3 78 */ mr r4, r30 /* 8031D4E4 0031A444 38 61 00 08 */ addi r3, r1, 8 /* 8031D4E8 0031A448 48 02 39 C1 */ bl __ct__6CTokenFRC6CToken /* 8031D4EC 0031A44C 88 1D 02 6D */ lbz r0, 0x26d(r29) /* 8031D4F0 0031A450 7F E3 FB 78 */ mr r3, r31 /* 8031D4F4 0031A454 38 81 00 08 */ addi r4, r1, 8 /* 8031D4F8 0031A458 3B 80 00 01 */ li r28, 1 /* 8031D4FC 0031A45C 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8031D500 0031A460 38 A0 00 00 */ li r5, 0 /* 8031D504 0031A464 38 C0 00 01 */ li r6, 1 /* 8031D508 0031A468 41 82 00 08 */ beq lbl_8031D510 /* 8031D50C 0031A46C 38 C0 00 02 */ li r6, 2 lbl_8031D510: /* 8031D510 0031A470 48 00 1E D1 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8031D514 0031A474 7C 7F 1B 78 */ mr r31, r3 lbl_8031D518: /* 8031D518 0031A478 7F 80 07 75 */ extsb. r0, r28 /* 8031D51C 0031A47C 41 82 00 10 */ beq lbl_8031D52C /* 8031D520 0031A480 38 61 00 08 */ addi r3, r1, 8 /* 8031D524 0031A484 38 80 00 00 */ li r4, 0 /* 8031D528 0031A488 48 02 39 19 */ bl __dt__6CTokenFv lbl_8031D52C: /* 8031D52C 0031A48C 88 BD 02 6D */ lbz r5, 0x26d(r29) /* 8031D530 0031A490 7F E3 FB 78 */ mr r3, r31 /* 8031D534 0031A494 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031D538 0031A498 38 9D 00 E8 */ addi r4, r29, 0xe8 /* 8031D53C 0031A49C 50 A0 06 B4 */ rlwimi r0, r5, 0, 0x1a, 0x1a /* 8031D540 0031A4A0 98 1F 02 6D */ stb r0, 0x26d(r31) /* 8031D544 0031A4A4 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D548 0031A4A8 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8031D54C 0031A4AC 7D 89 03 A6 */ mtctr r12 /* 8031D550 0031A4B0 4E 80 04 21 */ bctrl /* 8031D554 0031A4B4 7F E3 FB 78 */ mr r3, r31 /* 8031D558 0031A4B8 38 9D 02 2C */ addi r4, r29, 0x22c /* 8031D55C 0031A4BC 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D560 0031A4C0 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8031D564 0031A4C4 7D 89 03 A6 */ mtctr r12 /* 8031D568 0031A4C8 4E 80 04 21 */ bctrl /* 8031D56C 0031A4CC 7F E3 FB 78 */ mr r3, r31 /* 8031D570 0031A4D0 38 9D 01 00 */ addi r4, r29, 0x100 /* 8031D574 0031A4D4 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D578 0031A4D8 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8031D57C 0031A4DC 7D 89 03 A6 */ mtctr r12 /* 8031D580 0031A4E0 4E 80 04 21 */ bctrl /* 8031D584 0031A4E4 7F E3 FB 78 */ mr r3, r31 /* 8031D588 0031A4E8 38 9D 01 6C */ addi r4, r29, 0x16c /* 8031D58C 0031A4EC 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D590 0031A4F0 81 8C 00 28 */ lwz r12, 0x28(r12) /* 8031D594 0031A4F4 7D 89 03 A6 */ mtctr r12 /* 8031D598 0031A4F8 4E 80 04 21 */ bctrl /* 8031D59C 0031A4FC 7F E3 FB 78 */ mr r3, r31 /* 8031D5A0 0031A500 38 9D 00 DC */ addi r4, r29, 0xdc /* 8031D5A4 0031A504 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D5A8 0031A508 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031D5AC 0031A50C 7D 89 03 A6 */ mtctr r12 /* 8031D5B0 0031A510 4E 80 04 21 */ bctrl /* 8031D5B4 0031A514 7F E3 FB 78 */ mr r3, r31 /* 8031D5B8 0031A518 38 9D 01 D8 */ addi r4, r29, 0x1d8 /* 8031D5BC 0031A51C 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D5C0 0031A520 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8031D5C4 0031A524 7D 89 03 A6 */ mtctr r12 /* 8031D5C8 0031A528 4E 80 04 21 */ bctrl /* 8031D5CC 0031A52C 7F E3 FB 78 */ mr r3, r31 /* 8031D5D0 0031A530 88 9D 00 88 */ lbz r4, 0x88(r29) /* 8031D5D4 0031A534 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D5D8 0031A538 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 8031D5DC 0031A53C 7D 89 03 A6 */ mtctr r12 /* 8031D5E0 0031A540 4E 80 04 21 */ bctrl /* 8031D5E4 0031A544 7F E3 FB 78 */ mr r3, r31 /* 8031D5E8 0031A548 38 9D 03 38 */ addi r4, r29, 0x338 /* 8031D5EC 0031A54C 81 9F 00 00 */ lwz r12, 0(r31) /* 8031D5F0 0031A550 81 8C 00 30 */ lwz r12, 0x30(r12) /* 8031D5F4 0031A554 7D 89 03 A6 */ mtctr r12 /* 8031D5F8 0031A558 4E 80 04 21 */ bctrl /* 8031D5FC 0031A55C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031D600 0031A560 7F E3 FB 78 */ mr r3, r31 /* 8031D604 0031A564 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031D608 0031A568 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031D60C 0031A56C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031D610 0031A570 83 81 00 10 */ lwz r28, 0x10(r1) /* 8031D614 0031A574 7C 08 03 A6 */ mtlr r0 /* 8031D618 0031A578 38 21 00 20 */ addi r1, r1, 0x20 /* 8031D61C 0031A57C 4E 80 00 20 */ blr .global UpdatePSTranslationAndOrientation__11CElementGenFv UpdatePSTranslationAndOrientation__11CElementGenFv: /* 8031D620 0031A580 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031D624 0031A584 7C 08 02 A6 */ mflr r0 /* 8031D628 0031A588 90 01 00 24 */ stw r0, 0x24(r1) /* 8031D62C 0031A58C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031D630 0031A590 7C 7F 1B 78 */ mr r31, r3 /* 8031D634 0031A594 38 61 00 08 */ addi r3, r1, 8 /* 8031D638 0031A598 38 9F 02 7C */ addi r4, r31, 0x27c /* 8031D63C 0031A59C 4B FF 50 45 */ bl __ct__13CGlobalRandomFR9CRandom16 /* 8031D640 0031A5A0 80 1F 02 68 */ lwz r0, 0x268(r31) /* 8031D644 0031A5A4 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031D648 0031A5A8 7C 00 20 00 */ cmpw r0, r4 /* 8031D64C 0031A5AC 41 80 00 78 */ blt lbl_8031D6C4 /* 8031D650 0031A5B0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031D654 0031A5B4 80 63 00 0C */ lwz r3, 0xc(r3) /* 8031D658 0031A5B8 28 03 00 00 */ cmplwi r3, 0 /* 8031D65C 0031A5BC 41 82 00 18 */ beq lbl_8031D674 /* 8031D660 0031A5C0 81 83 00 00 */ lwz r12, 0(r3) /* 8031D664 0031A5C4 38 BF 00 F4 */ addi r5, r31, 0xf4 /* 8031D668 0031A5C8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031D66C 0031A5CC 7D 89 03 A6 */ mtctr r12 /* 8031D670 0031A5D0 4E 80 04 21 */ bctrl lbl_8031D674: /* 8031D674 0031A5D4 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031D678 0031A5D8 80 63 00 D4 */ lwz r3, 0xd4(r3) /* 8031D67C 0031A5DC 28 03 00 00 */ cmplwi r3, 0 /* 8031D680 0031A5E0 41 82 00 1C */ beq lbl_8031D69C /* 8031D684 0031A5E4 81 83 00 00 */ lwz r12, 0(r3) /* 8031D688 0031A5E8 38 BF 02 B0 */ addi r5, r31, 0x2b0 /* 8031D68C 0031A5EC 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031D690 0031A5F0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031D694 0031A5F4 7D 89 03 A6 */ mtctr r12 /* 8031D698 0031A5F8 4E 80 04 21 */ bctrl lbl_8031D69C: /* 8031D69C 0031A5FC 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031D6A0 0031A600 80 63 00 E8 */ lwz r3, 0xe8(r3) /* 8031D6A4 0031A604 28 03 00 00 */ cmplwi r3, 0 /* 8031D6A8 0031A608 41 82 00 1C */ beq lbl_8031D6C4 /* 8031D6AC 0031A60C 81 83 00 00 */ lwz r12, 0(r3) /* 8031D6B0 0031A610 38 BF 02 C0 */ addi r5, r31, 0x2c0 /* 8031D6B4 0031A614 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031D6B8 0031A618 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031D6BC 0031A61C 7D 89 03 A6 */ mtctr r12 /* 8031D6C0 0031A620 4E 80 04 21 */ bctrl lbl_8031D6C4: /* 8031D6C4 0031A624 38 61 00 08 */ addi r3, r1, 8 /* 8031D6C8 0031A628 38 80 FF FF */ li r4, -1 /* 8031D6CC 0031A62C 4B FF 4F 39 */ bl __dt__13CGlobalRandomFv /* 8031D6D0 0031A630 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031D6D4 0031A634 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031D6D8 0031A638 7C 08 03 A6 */ mtlr r0 /* 8031D6DC 0031A63C 38 21 00 20 */ addi r1, r1, 0x20 /* 8031D6E0 0031A640 4E 80 00 20 */ blr .global CreateNewParticles__11CElementGenFi CreateNewParticles__11CElementGenFi: /* 8031D6E4 0031A644 94 21 FE C0 */ stwu r1, -0x140(r1) /* 8031D6E8 0031A648 7C 08 02 A6 */ mflr r0 /* 8031D6EC 0031A64C 90 01 01 44 */ stw r0, 0x144(r1) /* 8031D6F0 0031A650 BF 41 01 28 */ stmw r26, 0x128(r1) /* 8031D6F4 0031A654 7C 7A 1B 78 */ mr r26, r3 /* 8031D6F8 0031A658 7C 9B 23 78 */ mr r27, r4 /* 8031D6FC 0031A65C 88 0D A8 BA */ lbz r0, sStaticListInitialized@sda21(r13) /* 8031D700 0031A660 28 00 00 00 */ cmplwi r0, 0 /* 8031D704 0031A664 40 82 00 08 */ bne lbl_8031D70C /* 8031D708 0031A668 48 00 1A 61 */ bl Initialize__11CElementGenFv lbl_8031D70C: /* 8031D70C 0031A66C 80 7A 00 34 */ lwz r3, 0x34(r26) /* 8031D710 0031A670 7F 7D DB 78 */ mr r29, r27 /* 8031D714 0031A674 80 9A 00 90 */ lwz r4, 0x90(r26) /* 8031D718 0031A678 7C 03 20 00 */ cmpw r3, r4 /* 8031D71C 0031A67C 40 80 05 54 */ bge lbl_8031DC70 /* 8031D720 0031A680 7C 1B 1A 14 */ add r0, r27, r3 /* 8031D724 0031A684 7C 00 20 00 */ cmpw r0, r4 /* 8031D728 0031A688 40 81 00 08 */ ble lbl_8031D730 /* 8031D72C 0031A68C 7F A3 20 50 */ subf r29, r3, r4 lbl_8031D730: /* 8031D730 0031A690 80 6D A8 B0 */ lwz r3, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031D734 0031A694 7C 1D 1A 14 */ add r0, r29, r3 /* 8031D738 0031A698 2C 00 0A 00 */ cmpwi r0, 0xa00 /* 8031D73C 0031A69C 40 81 00 08 */ ble lbl_8031D744 /* 8031D740 0031A6A0 23 A3 0A 00 */ subfic r29, r3, 0xa00 lbl_8031D744: /* 8031D744 0031A6A4 38 61 00 3C */ addi r3, r1, 0x3c /* 8031D748 0031A6A8 38 9A 02 7C */ addi r4, r26, 0x27c /* 8031D74C 0031A6AC 4B FF 4F 35 */ bl __ct__13CGlobalRandomFR9CRandom16 /* 8031D750 0031A6B0 80 1A 00 34 */ lwz r0, 0x34(r26) /* 8031D754 0031A6B4 38 7A 00 30 */ addi r3, r26, 0x30 /* 8031D758 0031A6B8 7C 9D 02 14 */ add r4, r29, r0 /* 8031D75C 0031A6BC 48 00 2C 65 */ bl sub_803203c0 /* 8031D760 0031A6C0 88 1A 02 6D */ lbz r0, 0x26d(r26) /* 8031D764 0031A6C4 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8031D768 0031A6C8 41 82 01 28 */ beq lbl_8031D890 /* 8031D76C 0031A6CC 80 1A 00 34 */ lwz r0, 0x34(r26) /* 8031D770 0031A6D0 80 7A 00 68 */ lwz r3, 0x68(r26) /* 8031D774 0031A6D4 7C 1D 02 14 */ add r0, r29, r0 /* 8031D778 0031A6D8 7C 03 00 00 */ cmpw r3, r0 /* 8031D77C 0031A6DC 40 80 01 14 */ bge lbl_8031D890 /* 8031D780 0031A6E0 54 63 08 3C */ slwi r3, r3, 1 /* 8031D784 0031A6E4 90 61 00 08 */ stw r3, 8(r1) /* 8031D788 0031A6E8 80 1A 00 90 */ lwz r0, 0x90(r26) /* 8031D78C 0031A6EC 7C 03 00 00 */ cmpw r3, r0 /* 8031D790 0031A6F0 40 80 00 0C */ bge lbl_8031D79C /* 8031D794 0031A6F4 38 61 00 08 */ addi r3, r1, 8 /* 8031D798 0031A6F8 48 00 00 08 */ b lbl_8031D7A0 lbl_8031D79C: /* 8031D79C 0031A6FC 38 7A 00 90 */ addi r3, r26, 0x90 lbl_8031D7A0: /* 8031D7A0 0031A700 80 83 00 00 */ lwz r4, 0(r3) /* 8031D7A4 0031A704 38 7A 00 60 */ addi r3, r26, 0x60 /* 8031D7A8 0031A708 48 00 2E 75 */ bl "reserve__Q24rstl69vectorFi" /* 8031D7AC 0031A70C 3C 60 80 4C */ lis r3, mStaticFreeList@ha /* 8031D7B0 0031A710 3B E3 FE 48 */ addi r31, r3, mStaticFreeList@l /* 8031D7B4 0031A714 48 00 00 CC */ b lbl_8031D880 lbl_8031D7B8: /* 8031D7B8 0031A718 80 1A 00 64 */ lwz r0, 0x64(r26) /* 8031D7BC 0031A71C 81 5A 00 68 */ lwz r10, 0x68(r26) /* 8031D7C0 0031A720 81 3F 00 00 */ lwz r9, 0(r31) /* 8031D7C4 0031A724 81 1F 00 04 */ lwz r8, 4(r31) /* 8031D7C8 0031A728 7C 00 50 00 */ cmpw r0, r10 /* 8031D7CC 0031A72C 80 FF 00 08 */ lwz r7, 8(r31) /* 8031D7D0 0031A730 80 DF 00 0C */ lwz r6, 0xc(r31) /* 8031D7D4 0031A734 80 BF 00 10 */ lwz r5, 0x10(r31) /* 8031D7D8 0031A738 80 9F 00 14 */ lwz r4, 0x14(r31) /* 8031D7DC 0031A73C 80 7F 00 18 */ lwz r3, 0x18(r31) /* 8031D7E0 0031A740 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 8031D7E4 0031A744 91 21 00 48 */ stw r9, 0x48(r1) /* 8031D7E8 0031A748 91 01 00 4C */ stw r8, 0x4c(r1) /* 8031D7EC 0031A74C 90 E1 00 50 */ stw r7, 0x50(r1) /* 8031D7F0 0031A750 90 C1 00 54 */ stw r6, 0x54(r1) /* 8031D7F4 0031A754 90 A1 00 58 */ stw r5, 0x58(r1) /* 8031D7F8 0031A758 90 81 00 5C */ stw r4, 0x5c(r1) /* 8031D7FC 0031A75C 90 61 00 60 */ stw r3, 0x60(r1) /* 8031D800 0031A760 90 01 00 64 */ stw r0, 0x64(r1) /* 8031D804 0031A764 41 80 00 1C */ blt lbl_8031D820 /* 8031D808 0031A768 2C 0A 00 00 */ cmpwi r10, 0 /* 8031D80C 0031A76C 38 7A 00 60 */ addi r3, r26, 0x60 /* 8031D810 0031A770 38 80 00 04 */ li r4, 4 /* 8031D814 0031A774 41 82 00 08 */ beq lbl_8031D81C /* 8031D818 0031A778 55 44 08 3C */ slwi r4, r10, 1 lbl_8031D81C: /* 8031D81C 0031A77C 48 00 2E 01 */ bl "reserve__Q24rstl69vectorFi" lbl_8031D820: /* 8031D820 0031A780 80 1A 00 64 */ lwz r0, 0x64(r26) /* 8031D824 0031A784 80 7A 00 6C */ lwz r3, 0x6c(r26) /* 8031D828 0031A788 54 00 28 34 */ slwi r0, r0, 5 /* 8031D82C 0031A78C 7C 83 02 15 */ add. r4, r3, r0 /* 8031D830 0031A790 41 82 00 44 */ beq lbl_8031D874 /* 8031D834 0031A794 80 61 00 48 */ lwz r3, 0x48(r1) /* 8031D838 0031A798 80 01 00 4C */ lwz r0, 0x4c(r1) /* 8031D83C 0031A79C 90 64 00 00 */ stw r3, 0(r4) /* 8031D840 0031A7A0 80 61 00 50 */ lwz r3, 0x50(r1) /* 8031D844 0031A7A4 90 04 00 04 */ stw r0, 4(r4) /* 8031D848 0031A7A8 80 01 00 54 */ lwz r0, 0x54(r1) /* 8031D84C 0031A7AC 90 64 00 08 */ stw r3, 8(r4) /* 8031D850 0031A7B0 80 61 00 58 */ lwz r3, 0x58(r1) /* 8031D854 0031A7B4 90 04 00 0C */ stw r0, 0xc(r4) /* 8031D858 0031A7B8 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8031D85C 0031A7BC 90 64 00 10 */ stw r3, 0x10(r4) /* 8031D860 0031A7C0 80 61 00 60 */ lwz r3, 0x60(r1) /* 8031D864 0031A7C4 90 04 00 14 */ stw r0, 0x14(r4) /* 8031D868 0031A7C8 80 01 00 64 */ lwz r0, 0x64(r1) /* 8031D86C 0031A7CC 90 64 00 18 */ stw r3, 0x18(r4) /* 8031D870 0031A7D0 90 04 00 1C */ stw r0, 0x1c(r4) lbl_8031D874: /* 8031D874 0031A7D4 80 7A 00 64 */ lwz r3, 0x64(r26) /* 8031D878 0031A7D8 38 03 00 01 */ addi r0, r3, 1 /* 8031D87C 0031A7DC 90 1A 00 64 */ stw r0, 0x64(r26) lbl_8031D880: /* 8031D880 0031A7E0 80 7A 00 64 */ lwz r3, 0x64(r26) /* 8031D884 0031A7E4 80 1A 00 68 */ lwz r0, 0x68(r26) /* 8031D888 0031A7E8 7C 03 00 00 */ cmpw r3, r0 /* 8031D88C 0031A7EC 41 80 FF 2C */ blt lbl_8031D7B8 lbl_8031D890: /* 8031D890 0031A7F0 38 00 00 00 */ li r0, 0 /* 8031D894 0031A7F4 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8031D898 0031A7F8 90 0D A8 F0 */ stw r0, mParticleAccessParameters__16CParticleGlobals@sda21(r13) /* 8031D89C 0031A7FC 3B E3 66 A0 */ addi r31, r3, sZeroVector__9CVector3f@l /* 8031D8A0 0031A800 3B 80 00 00 */ li r28, 0 /* 8031D8A4 0031A804 48 00 03 B8 */ b lbl_8031DC5C lbl_8031D8A8: /* 8031D8A8 0031A808 C0 BF 00 00 */ lfs f5, 0(r31) /* 8031D8AC 0031A80C 38 A0 00 FF */ li r5, 0xff /* 8031D8B0 0031A810 C0 9F 00 04 */ lfs f4, 4(r31) /* 8031D8B4 0031A814 38 00 00 00 */ li r0, 0 /* 8031D8B8 0031A818 C0 7F 00 08 */ lfs f3, 8(r31) /* 8031D8BC 0031A81C FC 40 28 18 */ frsp f2, f5 /* 8031D8C0 0031A820 FC 20 20 18 */ frsp f1, f4 /* 8031D8C4 0031A824 D0 A1 00 F0 */ stfs f5, 0xf0(r1) /* 8031D8C8 0031A828 FC 00 18 18 */ frsp f0, f3 /* 8031D8CC 0031A82C 38 7A 00 30 */ addi r3, r26, 0x30 /* 8031D8D0 0031A830 D0 81 00 F4 */ stfs f4, 0xf4(r1) /* 8031D8D4 0031A834 38 81 00 EC */ addi r4, r1, 0xec /* 8031D8D8 0031A838 D0 61 00 F8 */ stfs f3, 0xf8(r1) /* 8031D8DC 0031A83C D0 A1 00 FC */ stfs f5, 0xfc(r1) /* 8031D8E0 0031A840 D0 81 01 00 */ stfs f4, 0x100(r1) /* 8031D8E4 0031A844 D0 61 01 04 */ stfs f3, 0x104(r1) /* 8031D8E8 0031A848 D0 41 01 08 */ stfs f2, 0x108(r1) /* 8031D8EC 0031A84C D0 21 01 0C */ stfs f1, 0x10c(r1) /* 8031D8F0 0031A850 D0 01 01 10 */ stfs f0, 0x110(r1) /* 8031D8F4 0031A854 98 A1 01 20 */ stb r5, 0x120(r1) /* 8031D8F8 0031A858 98 01 01 21 */ stb r0, 0x121(r1) /* 8031D8FC 0031A85C 98 A1 01 22 */ stb r5, 0x122(r1) /* 8031D900 0031A860 98 A1 01 23 */ stb r5, 0x123(r1) /* 8031D904 0031A864 48 00 03 81 */ bl sub_8031dc84 /* 8031D908 0031A868 80 6D A8 B0 */ lwz r3, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031D90C 0031A86C 80 9A 00 34 */ lwz r4, 0x34(r26) /* 8031D910 0031A870 38 03 00 01 */ addi r0, r3, 1 /* 8031D914 0031A874 90 0D A8 B0 */ stw r0, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031D918 0031A878 3B 64 FF FF */ addi r27, r4, -1 /* 8031D91C 0031A87C 80 7A 02 5C */ lwz r3, 0x25c(r26) /* 8031D920 0031A880 38 03 00 01 */ addi r0, r3, 1 /* 8031D924 0031A884 90 1A 02 5C */ stw r0, 0x25c(r26) /* 8031D928 0031A888 80 7A 02 60 */ lwz r3, 0x260(r26) /* 8031D92C 0031A88C 38 03 00 01 */ addi r0, r3, 1 /* 8031D930 0031A890 90 1A 02 60 */ stw r0, 0x260(r26) /* 8031D934 0031A894 80 1A 00 2C */ lwz r0, 0x2c(r26) /* 8031D938 0031A898 2C 00 00 01 */ cmpwi r0, 1 /* 8031D93C 0031A89C 40 82 00 28 */ bne lbl_8031D964 /* 8031D940 0031A8A0 1C 1B 00 24 */ mulli r0, r27, 0x24 /* 8031D944 0031A8A4 80 BA 00 5C */ lwz r5, 0x5c(r26) /* 8031D948 0031A8A8 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8031D94C 0031A8AC 38 9A 01 D8 */ addi r4, r26, 0x1d8 /* 8031D950 0031A8B0 7F C5 02 14 */ add r30, r5, r0 /* 8031D954 0031A8B4 4B FF 57 A1 */ bl BuildMatrix3f__12CTransform4fCFv /* 8031D958 0031A8B8 7F C3 F3 78 */ mr r3, r30 /* 8031D95C 0031A8BC 38 81 00 C8 */ addi r4, r1, 0xc8 /* 8031D960 0031A8C0 4B FF 26 99 */ bl __as__9CMatrix3fFRC9CMatrix3f lbl_8031D964: /* 8031D964 0031A8C4 1C 7B 00 38 */ mulli r3, r27, 0x38 /* 8031D968 0031A8C8 80 9A 00 3C */ lwz r4, 0x3c(r26) /* 8031D96C 0031A8CC 80 1A 00 74 */ lwz r0, 0x74(r26) /* 8031D970 0031A8D0 7F C4 1A 14 */ add r30, r4, r3 /* 8031D974 0031A8D4 90 1E 00 28 */ stw r0, 0x28(r30) /* 8031D978 0031A8D8 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031D97C 0031A8DC 80 63 00 28 */ lwz r3, 0x28(r3) /* 8031D980 0031A8E0 28 03 00 00 */ cmplwi r3, 0 /* 8031D984 0031A8E4 41 82 00 1C */ beq lbl_8031D9A0 /* 8031D988 0031A8E8 81 83 00 00 */ lwz r12, 0(r3) /* 8031D98C 0031A8EC 7F C5 F3 78 */ mr r5, r30 /* 8031D990 0031A8F0 38 80 00 00 */ li r4, 0 /* 8031D994 0031A8F4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031D998 0031A8F8 7D 89 03 A6 */ mtctr r12 /* 8031D99C 0031A8FC 4E 80 04 21 */ bctrl lbl_8031D9A0: /* 8031D9A0 0031A900 80 7E 00 00 */ lwz r3, 0(r30) /* 8031D9A4 0031A904 48 00 CD D5 */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031D9A8 0031A908 38 60 00 00 */ li r3, 0 /* 8031D9AC 0031A90C 48 00 CC D1 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 8031D9B0 0031A910 93 CD A8 EC */ stw r30, mCurrentParticle__16CParticleGlobals@sda21(r13) /* 8031D9B4 0031A914 88 1A 02 6D */ lbz r0, 0x26d(r26) /* 8031D9B8 0031A918 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8031D9BC 0031A91C 41 82 00 14 */ beq lbl_8031D9D0 /* 8031D9C0 0031A920 7F 43 D3 78 */ mr r3, r26 /* 8031D9C4 0031A924 7F 64 DB 78 */ mr r4, r27 /* 8031D9C8 0031A928 38 A0 00 00 */ li r5, 0 /* 8031D9CC 0031A92C 48 00 09 E5 */ bl UpdateAdvanceAccessParameters__11CElementGenFii lbl_8031D9D0: /* 8031D9D0 0031A930 80 7E 00 00 */ lwz r3, 0(r30) /* 8031D9D4 0031A934 80 1A 00 74 */ lwz r0, 0x74(r26) /* 8031D9D8 0031A938 7C 03 02 14 */ add r0, r3, r0 /* 8031D9DC 0031A93C 90 1E 00 00 */ stw r0, 0(r30) /* 8031D9E0 0031A940 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031D9E4 0031A944 80 63 00 24 */ lwz r3, 0x24(r3) /* 8031D9E8 0031A948 28 03 00 00 */ cmplwi r3, 0 /* 8031D9EC 0031A94C 41 82 00 20 */ beq lbl_8031DA0C /* 8031D9F0 0031A950 81 83 00 00 */ lwz r12, 0(r3) /* 8031D9F4 0031A954 38 BE 00 34 */ addi r5, r30, 0x34 /* 8031D9F8 0031A958 38 80 00 00 */ li r4, 0 /* 8031D9FC 0031A95C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031DA00 0031A960 7D 89 03 A6 */ mtctr r12 /* 8031DA04 0031A964 4E 80 04 21 */ bctrl /* 8031DA08 0031A968 48 00 00 0C */ b lbl_8031DA14 lbl_8031DA0C: /* 8031DA0C 0031A96C 38 00 FF FF */ li r0, -1 /* 8031DA10 0031A970 90 1E 00 34 */ stw r0, 0x34(r30) lbl_8031DA14: /* 8031DA14 0031A974 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031DA18 0031A978 80 63 00 2C */ lwz r3, 0x2c(r3) /* 8031DA1C 0031A97C 28 03 00 00 */ cmplwi r3, 0 /* 8031DA20 0031A980 41 82 00 C4 */ beq lbl_8031DAE4 /* 8031DA24 0031A984 81 83 00 00 */ lwz r12, 0(r3) /* 8031DA28 0031A988 38 BE 00 04 */ addi r5, r30, 4 /* 8031DA2C 0031A98C 38 DE 00 1C */ addi r6, r30, 0x1c /* 8031DA30 0031A990 80 9A 00 74 */ lwz r4, 0x74(r26) /* 8031DA34 0031A994 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031DA38 0031A998 7D 89 03 A6 */ mtctr r12 /* 8031DA3C 0031A99C 4E 80 04 21 */ bctrl /* 8031DA40 0031A9A0 38 61 00 98 */ addi r3, r1, 0x98 /* 8031DA44 0031A9A4 38 9A 01 3C */ addi r4, r26, 0x13c /* 8031DA48 0031A9A8 38 BA 01 A8 */ addi r5, r26, 0x1a8 /* 8031DA4C 0031A9AC 4B FF 4F 05 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031DA50 0031A9B0 38 61 00 24 */ addi r3, r1, 0x24 /* 8031DA54 0031A9B4 38 81 00 98 */ addi r4, r1, 0x98 /* 8031DA58 0031A9B8 38 BA 00 DC */ addi r5, r26, 0xdc /* 8031DA5C 0031A9BC 4B FF 50 8D */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031DA60 0031A9C0 38 61 00 30 */ addi r3, r1, 0x30 /* 8031DA64 0031A9C4 38 9A 01 D8 */ addi r4, r26, 0x1d8 /* 8031DA68 0031A9C8 38 BE 00 04 */ addi r5, r30, 4 /* 8031DA6C 0031A9CC 4B FF 50 15 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8031DA70 0031A9D0 C0 21 00 30 */ lfs f1, 0x30(r1) /* 8031DA74 0031A9D4 38 61 00 18 */ addi r3, r1, 0x18 /* 8031DA78 0031A9D8 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8031DA7C 0031A9DC 38 9A 01 D8 */ addi r4, r26, 0x1d8 /* 8031DA80 0031A9E0 C0 61 00 34 */ lfs f3, 0x34(r1) /* 8031DA84 0031A9E4 38 BE 00 1C */ addi r5, r30, 0x1c /* 8031DA88 0031A9E8 C0 41 00 28 */ lfs f2, 0x28(r1) /* 8031DA8C 0031A9EC EC 21 00 2A */ fadds f1, f1, f0 /* 8031DA90 0031A9F0 C0 1A 00 F4 */ lfs f0, 0xf4(r26) /* 8031DA94 0031A9F4 EC A3 10 2A */ fadds f5, f3, f2 /* 8031DA98 0031A9F8 C0 9A 00 F8 */ lfs f4, 0xf8(r26) /* 8031DA9C 0031A9FC C0 61 00 38 */ lfs f3, 0x38(r1) /* 8031DAA0 0031AA00 EC 01 00 2A */ fadds f0, f1, f0 /* 8031DAA4 0031AA04 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 8031DAA8 0031AA08 C0 3A 00 FC */ lfs f1, 0xfc(r26) /* 8031DAAC 0031AA0C EC 43 10 2A */ fadds f2, f3, f2 /* 8031DAB0 0031AA10 EC 65 20 2A */ fadds f3, f5, f4 /* 8031DAB4 0031AA14 D0 1E 00 04 */ stfs f0, 4(r30) /* 8031DAB8 0031AA18 EC 02 08 2A */ fadds f0, f2, f1 /* 8031DABC 0031AA1C D0 7E 00 08 */ stfs f3, 8(r30) /* 8031DAC0 0031AA20 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 8031DAC4 0031AA24 4B FF 4F BD */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8031DAC8 0031AA28 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8031DACC 0031AA2C D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8031DAD0 0031AA30 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8031DAD4 0031AA34 D0 1E 00 20 */ stfs f0, 0x20(r30) /* 8031DAD8 0031AA38 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8031DADC 0031AA3C D0 1E 00 24 */ stfs f0, 0x24(r30) /* 8031DAE0 0031AA40 48 00 00 70 */ b lbl_8031DB50 lbl_8031DAE4: /* 8031DAE4 0031AA44 38 61 00 68 */ addi r3, r1, 0x68 /* 8031DAE8 0031AA48 38 9A 01 3C */ addi r4, r26, 0x13c /* 8031DAEC 0031AA4C 38 BA 01 A8 */ addi r5, r26, 0x1a8 /* 8031DAF0 0031AA50 4B FF 4E 61 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8031DAF4 0031AA54 38 61 00 0C */ addi r3, r1, 0xc /* 8031DAF8 0031AA58 38 81 00 68 */ addi r4, r1, 0x68 /* 8031DAFC 0031AA5C 38 BA 00 DC */ addi r5, r26, 0xdc /* 8031DB00 0031AA60 4B FF 4F E9 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8031DB04 0031AA64 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8031DB08 0031AA68 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8031DB0C 0031AA6C C0 1A 00 F4 */ lfs f0, 0xf4(r26) /* 8031DB10 0031AA70 C0 81 00 10 */ lfs f4, 0x10(r1) /* 8031DB14 0031AA74 C0 7A 00 F8 */ lfs f3, 0xf8(r26) /* 8031DB18 0031AA78 EC 01 00 2A */ fadds f0, f1, f0 /* 8031DB1C 0031AA7C C0 41 00 14 */ lfs f2, 0x14(r1) /* 8031DB20 0031AA80 C0 3A 00 FC */ lfs f1, 0xfc(r26) /* 8031DB24 0031AA84 EC 64 18 2A */ fadds f3, f4, f3 /* 8031DB28 0031AA88 D0 1E 00 04 */ stfs f0, 4(r30) /* 8031DB2C 0031AA8C EC 02 08 2A */ fadds f0, f2, f1 /* 8031DB30 0031AA90 D0 7E 00 08 */ stfs f3, 8(r30) /* 8031DB34 0031AA94 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 8031DB38 0031AA98 C0 03 66 A0 */ lfs f0, sZeroVector__9CVector3f@l(r3) /* 8031DB3C 0031AA9C D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8031DB40 0031AAA0 C0 1F 00 04 */ lfs f0, 4(r31) /* 8031DB44 0031AAA4 D0 1E 00 20 */ stfs f0, 0x20(r30) /* 8031DB48 0031AAA8 C0 1F 00 08 */ lfs f0, 8(r31) /* 8031DB4C 0031AAAC D0 1E 00 24 */ stfs f0, 0x24(r30) lbl_8031DB50: /* 8031DB50 0031AAB0 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031DB54 0031AAB4 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 8031DB58 0031AAB8 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031DB5C 0031AABC D0 1E 00 14 */ stfs f0, 0x14(r30) /* 8031DB60 0031AAC0 C0 1E 00 0C */ lfs f0, 0xc(r30) /* 8031DB64 0031AAC4 D0 1E 00 18 */ stfs f0, 0x18(r30) /* 8031DB68 0031AAC8 88 1A 02 6C */ lbz r0, 0x26c(r26) /* 8031DB6C 0031AACC 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8031DB70 0031AAD0 41 82 00 70 */ beq lbl_8031DBE0 /* 8031DB74 0031AAD4 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031DB78 0031AAD8 80 63 00 14 */ lwz r3, 0x14(r3) /* 8031DB7C 0031AADC 28 03 00 00 */ cmplwi r3, 0 /* 8031DB80 0031AAE0 41 82 00 20 */ beq lbl_8031DBA0 /* 8031DB84 0031AAE4 81 83 00 00 */ lwz r12, 0(r3) /* 8031DB88 0031AAE8 38 BE 00 2C */ addi r5, r30, 0x2c /* 8031DB8C 0031AAEC 38 80 00 00 */ li r4, 0 /* 8031DB90 0031AAF0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031DB94 0031AAF4 7D 89 03 A6 */ mtctr r12 /* 8031DB98 0031AAF8 4E 80 04 21 */ bctrl /* 8031DB9C 0031AAFC 48 00 00 0C */ b lbl_8031DBA8 lbl_8031DBA0: /* 8031DBA0 0031AB00 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031DBA4 0031AB04 D0 1E 00 2C */ stfs f0, 0x2c(r30) lbl_8031DBA8: /* 8031DBA8 0031AB08 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031DBAC 0031AB0C 80 63 00 18 */ lwz r3, 0x18(r3) /* 8031DBB0 0031AB10 28 03 00 00 */ cmplwi r3, 0 /* 8031DBB4 0031AB14 41 82 00 20 */ beq lbl_8031DBD4 /* 8031DBB8 0031AB18 81 83 00 00 */ lwz r12, 0(r3) /* 8031DBBC 0031AB1C 38 BE 00 30 */ addi r5, r30, 0x30 /* 8031DBC0 0031AB20 38 80 00 00 */ li r4, 0 /* 8031DBC4 0031AB24 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031DBC8 0031AB28 7D 89 03 A6 */ mtctr r12 /* 8031DBCC 0031AB2C 4E 80 04 21 */ bctrl /* 8031DBD0 0031AB30 48 00 00 78 */ b lbl_8031DC48 lbl_8031DBD4: /* 8031DBD4 0031AB34 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031DBD8 0031AB38 D0 1E 00 30 */ stfs f0, 0x30(r30) /* 8031DBDC 0031AB3C 48 00 00 6C */ b lbl_8031DC48 lbl_8031DBE0: /* 8031DBE0 0031AB40 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031DBE4 0031AB44 80 63 00 3C */ lwz r3, 0x3c(r3) /* 8031DBE8 0031AB48 28 03 00 00 */ cmplwi r3, 0 /* 8031DBEC 0031AB4C 41 82 00 20 */ beq lbl_8031DC0C /* 8031DBF0 0031AB50 81 83 00 00 */ lwz r12, 0(r3) /* 8031DBF4 0031AB54 38 BE 00 30 */ addi r5, r30, 0x30 /* 8031DBF8 0031AB58 38 80 00 00 */ li r4, 0 /* 8031DBFC 0031AB5C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031DC00 0031AB60 7D 89 03 A6 */ mtctr r12 /* 8031DC04 0031AB64 4E 80 04 21 */ bctrl /* 8031DC08 0031AB68 48 00 00 0C */ b lbl_8031DC14 lbl_8031DC0C: /* 8031DC0C 0031AB6C C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 8031DC10 0031AB70 D0 1E 00 30 */ stfs f0, 0x30(r30) lbl_8031DC14: /* 8031DC14 0031AB74 80 7A 00 28 */ lwz r3, 0x28(r26) /* 8031DC18 0031AB78 80 63 00 38 */ lwz r3, 0x38(r3) /* 8031DC1C 0031AB7C 28 03 00 00 */ cmplwi r3, 0 /* 8031DC20 0031AB80 41 82 00 20 */ beq lbl_8031DC40 /* 8031DC24 0031AB84 81 83 00 00 */ lwz r12, 0(r3) /* 8031DC28 0031AB88 38 BE 00 2C */ addi r5, r30, 0x2c /* 8031DC2C 0031AB8C 38 80 00 00 */ li r4, 0 /* 8031DC30 0031AB90 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031DC34 0031AB94 7D 89 03 A6 */ mtctr r12 /* 8031DC38 0031AB98 4E 80 04 21 */ bctrl /* 8031DC3C 0031AB9C 48 00 00 0C */ b lbl_8031DC48 lbl_8031DC40: /* 8031DC40 0031ABA0 C0 02 CA 30 */ lfs f0, lbl_805AE750@sda21(r2) /* 8031DC44 0031ABA4 D0 1E 00 2C */ stfs f0, 0x2c(r30) lbl_8031DC48: /* 8031DC48 0031ABA8 C0 3E 00 2C */ lfs f1, 0x2c(r30) /* 8031DC4C 0031ABAC 7F 43 D3 78 */ mr r3, r26 /* 8031DC50 0031ABB0 38 9E 00 04 */ addi r4, r30, 4 /* 8031DC54 0031ABB4 4B FF A0 C5 */ bl AccumulateBounds__11CElementGenFRC9CVector3ff /* 8031DC58 0031ABB8 3B 9C 00 01 */ addi r28, r28, 1 lbl_8031DC5C: /* 8031DC5C 0031ABBC 7C 1C E8 00 */ cmpw r28, r29 /* 8031DC60 0031ABC0 41 80 FC 48 */ blt lbl_8031D8A8 /* 8031DC64 0031ABC4 38 61 00 3C */ addi r3, r1, 0x3c /* 8031DC68 0031ABC8 38 80 FF FF */ li r4, -1 /* 8031DC6C 0031ABCC 4B FF 49 99 */ bl __dt__13CGlobalRandomFv lbl_8031DC70: /* 8031DC70 0031ABD0 BB 41 01 28 */ lmw r26, 0x128(r1) /* 8031DC74 0031ABD4 80 01 01 44 */ lwz r0, 0x144(r1) /* 8031DC78 0031ABD8 7C 08 03 A6 */ mtlr r0 /* 8031DC7C 0031ABDC 38 21 01 40 */ addi r1, r1, 0x140 /* 8031DC80 0031ABE0 4E 80 00 20 */ blr .global sub_8031dc84 sub_8031dc84: /* 8031DC84 0031ABE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031DC88 0031ABE8 7C 08 02 A6 */ mflr r0 /* 8031DC8C 0031ABEC 90 01 00 14 */ stw r0, 0x14(r1) /* 8031DC90 0031ABF0 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031DC94 0031ABF4 7C 9F 23 78 */ mr r31, r4 /* 8031DC98 0031ABF8 93 C1 00 08 */ stw r30, 8(r1) /* 8031DC9C 0031ABFC 7C 7E 1B 78 */ mr r30, r3 /* 8031DCA0 0031AC00 80 03 00 04 */ lwz r0, 4(r3) /* 8031DCA4 0031AC04 80 A3 00 08 */ lwz r5, 8(r3) /* 8031DCA8 0031AC08 7C 00 28 00 */ cmpw r0, r5 /* 8031DCAC 0031AC0C 41 80 00 18 */ blt lbl_8031DCC4 /* 8031DCB0 0031AC10 2C 05 00 00 */ cmpwi r5, 0 /* 8031DCB4 0031AC14 38 80 00 04 */ li r4, 4 /* 8031DCB8 0031AC18 41 82 00 08 */ beq lbl_8031DCC0 /* 8031DCBC 0031AC1C 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031DCC0: /* 8031DCC0 0031AC20 48 00 27 01 */ bl sub_803203c0 lbl_8031DCC4: /* 8031DCC4 0031AC24 80 1E 00 04 */ lwz r0, 4(r30) /* 8031DCC8 0031AC28 80 7E 00 0C */ lwz r3, 0xc(r30) /* 8031DCCC 0031AC2C 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031DCD0 0031AC30 7C 63 02 15 */ add. r3, r3, r0 /* 8031DCD4 0031AC34 41 82 00 74 */ beq lbl_8031DD48 /* 8031DCD8 0031AC38 80 1F 00 00 */ lwz r0, 0(r31) /* 8031DCDC 0031AC3C 90 03 00 00 */ stw r0, 0(r3) /* 8031DCE0 0031AC40 C0 1F 00 04 */ lfs f0, 4(r31) /* 8031DCE4 0031AC44 D0 03 00 04 */ stfs f0, 4(r3) /* 8031DCE8 0031AC48 C0 1F 00 08 */ lfs f0, 8(r31) /* 8031DCEC 0031AC4C D0 03 00 08 */ stfs f0, 8(r3) /* 8031DCF0 0031AC50 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 8031DCF4 0031AC54 D0 03 00 0C */ stfs f0, 0xc(r3) /* 8031DCF8 0031AC58 C0 1F 00 10 */ lfs f0, 0x10(r31) /* 8031DCFC 0031AC5C D0 03 00 10 */ stfs f0, 0x10(r3) /* 8031DD00 0031AC60 C0 1F 00 14 */ lfs f0, 0x14(r31) /* 8031DD04 0031AC64 D0 03 00 14 */ stfs f0, 0x14(r3) /* 8031DD08 0031AC68 C0 1F 00 18 */ lfs f0, 0x18(r31) /* 8031DD0C 0031AC6C D0 03 00 18 */ stfs f0, 0x18(r3) /* 8031DD10 0031AC70 C0 1F 00 1C */ lfs f0, 0x1c(r31) /* 8031DD14 0031AC74 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8031DD18 0031AC78 C0 1F 00 20 */ lfs f0, 0x20(r31) /* 8031DD1C 0031AC7C D0 03 00 20 */ stfs f0, 0x20(r3) /* 8031DD20 0031AC80 C0 1F 00 24 */ lfs f0, 0x24(r31) /* 8031DD24 0031AC84 D0 03 00 24 */ stfs f0, 0x24(r3) /* 8031DD28 0031AC88 80 1F 00 28 */ lwz r0, 0x28(r31) /* 8031DD2C 0031AC8C 90 03 00 28 */ stw r0, 0x28(r3) /* 8031DD30 0031AC90 C0 1F 00 2C */ lfs f0, 0x2c(r31) /* 8031DD34 0031AC94 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 8031DD38 0031AC98 C0 1F 00 30 */ lfs f0, 0x30(r31) /* 8031DD3C 0031AC9C D0 03 00 30 */ stfs f0, 0x30(r3) /* 8031DD40 0031ACA0 80 1F 00 34 */ lwz r0, 0x34(r31) /* 8031DD44 0031ACA4 90 03 00 34 */ stw r0, 0x34(r3) lbl_8031DD48: /* 8031DD48 0031ACA8 80 7E 00 04 */ lwz r3, 4(r30) /* 8031DD4C 0031ACAC 38 03 00 01 */ addi r0, r3, 1 /* 8031DD50 0031ACB0 90 1E 00 04 */ stw r0, 4(r30) /* 8031DD54 0031ACB4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8031DD58 0031ACB8 83 C1 00 08 */ lwz r30, 8(r1) /* 8031DD5C 0031ACBC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031DD60 0031ACC0 7C 08 03 A6 */ mtlr r0 /* 8031DD64 0031ACC4 38 21 00 10 */ addi r1, r1, 0x10 /* 8031DD68 0031ACC8 4E 80 00 20 */ blr .global UpdateExistingParticles__11CElementGenFv UpdateExistingParticles__11CElementGenFv: /* 8031DD6C 0031ACCC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031DD70 0031ACD0 7C 08 02 A6 */ mflr r0 /* 8031DD74 0031ACD4 90 01 00 24 */ stw r0, 0x24(r1) /* 8031DD78 0031ACD8 38 00 00 00 */ li r0, 0 /* 8031DD7C 0031ACDC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031DD80 0031ACE0 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031DD84 0031ACE4 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031DD88 0031ACE8 7C 7D 1B 78 */ mr r29, r3 /* 8031DD8C 0031ACEC 83 E3 00 3C */ lwz r31, 0x3c(r3) /* 8031DD90 0031ACF0 90 03 02 5C */ stw r0, 0x25c(r3) /* 8031DD94 0031ACF4 80 63 00 74 */ lwz r3, 0x74(r3) /* 8031DD98 0031ACF8 48 00 C9 B1 */ bl SetEmitterTime__16CParticleGlobalsFi /* 8031DD9C 0031ACFC 38 00 00 00 */ li r0, 0 /* 8031DDA0 0031AD00 90 0D A8 F0 */ stw r0, mParticleAccessParameters__16CParticleGlobals@sda21(r13) /* 8031DDA4 0031AD04 48 00 03 98 */ b lbl_8031E13C lbl_8031DDA8: /* 8031DDA8 0031AD08 80 7F 00 00 */ lwz r3, 0(r31) /* 8031DDAC 0031AD0C 80 1D 00 74 */ lwz r0, 0x74(r29) /* 8031DDB0 0031AD10 7C 03 00 00 */ cmpw r3, r0 /* 8031DDB4 0031AD14 40 80 01 84 */ bge lbl_8031DF38 /* 8031DDB8 0031AD18 80 6D A8 B0 */ lwz r3, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031DDBC 0031AD1C 38 1F 00 38 */ addi r0, r31, 0x38 /* 8031DDC0 0031AD20 38 63 FF FF */ addi r3, r3, -1 /* 8031DDC4 0031AD24 90 6D A8 B0 */ stw r3, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031DDC8 0031AD28 80 9D 00 34 */ lwz r4, 0x34(r29) /* 8031DDCC 0031AD2C 80 BD 00 3C */ lwz r5, 0x3c(r29) /* 8031DDD0 0031AD30 1C 64 00 38 */ mulli r3, r4, 0x38 /* 8031DDD4 0031AD34 7C 65 1A 14 */ add r3, r5, r3 /* 8031DDD8 0031AD38 7C 00 18 40 */ cmplw r0, r3 /* 8031DDDC 0031AD3C 40 82 00 10 */ bne lbl_8031DDEC /* 8031DDE0 0031AD40 38 04 FF FF */ addi r0, r4, -1 /* 8031DDE4 0031AD44 90 1D 00 34 */ stw r0, 0x34(r29) /* 8031DDE8 0031AD48 48 00 03 6C */ b lbl_8031E154 lbl_8031DDEC: /* 8031DDEC 0031AD4C 38 04 FF FF */ addi r0, r4, -1 /* 8031DDF0 0031AD50 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031DDF4 0031AD54 7C 85 02 14 */ add r4, r5, r0 /* 8031DDF8 0031AD58 80 04 00 00 */ lwz r0, 0(r4) /* 8031DDFC 0031AD5C 90 1F 00 00 */ stw r0, 0(r31) /* 8031DE00 0031AD60 80 64 00 04 */ lwz r3, 4(r4) /* 8031DE04 0031AD64 80 04 00 08 */ lwz r0, 8(r4) /* 8031DE08 0031AD68 90 7F 00 04 */ stw r3, 4(r31) /* 8031DE0C 0031AD6C 90 1F 00 08 */ stw r0, 8(r31) /* 8031DE10 0031AD70 80 04 00 0C */ lwz r0, 0xc(r4) /* 8031DE14 0031AD74 90 1F 00 0C */ stw r0, 0xc(r31) /* 8031DE18 0031AD78 80 64 00 10 */ lwz r3, 0x10(r4) /* 8031DE1C 0031AD7C 80 04 00 14 */ lwz r0, 0x14(r4) /* 8031DE20 0031AD80 90 7F 00 10 */ stw r3, 0x10(r31) /* 8031DE24 0031AD84 90 1F 00 14 */ stw r0, 0x14(r31) /* 8031DE28 0031AD88 80 04 00 18 */ lwz r0, 0x18(r4) /* 8031DE2C 0031AD8C 90 1F 00 18 */ stw r0, 0x18(r31) /* 8031DE30 0031AD90 80 64 00 1C */ lwz r3, 0x1c(r4) /* 8031DE34 0031AD94 80 04 00 20 */ lwz r0, 0x20(r4) /* 8031DE38 0031AD98 90 7F 00 1C */ stw r3, 0x1c(r31) /* 8031DE3C 0031AD9C 90 1F 00 20 */ stw r0, 0x20(r31) /* 8031DE40 0031ADA0 80 04 00 24 */ lwz r0, 0x24(r4) /* 8031DE44 0031ADA4 90 1F 00 24 */ stw r0, 0x24(r31) /* 8031DE48 0031ADA8 80 04 00 28 */ lwz r0, 0x28(r4) /* 8031DE4C 0031ADAC 90 1F 00 28 */ stw r0, 0x28(r31) /* 8031DE50 0031ADB0 C0 04 00 2C */ lfs f0, 0x2c(r4) /* 8031DE54 0031ADB4 D0 1F 00 2C */ stfs f0, 0x2c(r31) /* 8031DE58 0031ADB8 C0 04 00 30 */ lfs f0, 0x30(r4) /* 8031DE5C 0031ADBC D0 1F 00 30 */ stfs f0, 0x30(r31) /* 8031DE60 0031ADC0 80 04 00 34 */ lwz r0, 0x34(r4) /* 8031DE64 0031ADC4 90 1F 00 34 */ stw r0, 0x34(r31) /* 8031DE68 0031ADC8 80 1D 00 2C */ lwz r0, 0x2c(r29) /* 8031DE6C 0031ADCC 2C 00 00 01 */ cmpwi r0, 1 /* 8031DE70 0031ADD0 40 82 00 28 */ bne lbl_8031DE98 /* 8031DE74 0031ADD4 80 7D 00 34 */ lwz r3, 0x34(r29) /* 8031DE78 0031ADD8 80 1D 02 5C */ lwz r0, 0x25c(r29) /* 8031DE7C 0031ADDC 38 63 FF FF */ addi r3, r3, -1 /* 8031DE80 0031ADE0 80 BD 00 5C */ lwz r5, 0x5c(r29) /* 8031DE84 0031ADE4 1C 63 00 24 */ mulli r3, r3, 0x24 /* 8031DE88 0031ADE8 1C 00 00 24 */ mulli r0, r0, 0x24 /* 8031DE8C 0031ADEC 7C 85 1A 14 */ add r4, r5, r3 /* 8031DE90 0031ADF0 7C 65 02 14 */ add r3, r5, r0 /* 8031DE94 0031ADF4 4B FF 21 65 */ bl __as__9CMatrix3fFRC9CMatrix3f lbl_8031DE98: /* 8031DE98 0031ADF8 88 1D 02 6D */ lbz r0, 0x26d(r29) /* 8031DE9C 0031ADFC 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8031DEA0 0031AE00 41 82 00 64 */ beq lbl_8031DF04 /* 8031DEA4 0031AE04 80 7D 00 34 */ lwz r3, 0x34(r29) /* 8031DEA8 0031AE08 80 1D 02 5C */ lwz r0, 0x25c(r29) /* 8031DEAC 0031AE0C 38 63 FF FF */ addi r3, r3, -1 /* 8031DEB0 0031AE10 80 9D 00 6C */ lwz r4, 0x6c(r29) /* 8031DEB4 0031AE14 54 63 28 34 */ slwi r3, r3, 5 /* 8031DEB8 0031AE18 54 00 28 34 */ slwi r0, r0, 5 /* 8031DEBC 0031AE1C 7C A4 1A 14 */ add r5, r4, r3 /* 8031DEC0 0031AE20 80 65 00 00 */ lwz r3, 0(r5) /* 8031DEC4 0031AE24 7C 84 02 14 */ add r4, r4, r0 /* 8031DEC8 0031AE28 80 05 00 04 */ lwz r0, 4(r5) /* 8031DECC 0031AE2C 90 64 00 00 */ stw r3, 0(r4) /* 8031DED0 0031AE30 90 04 00 04 */ stw r0, 4(r4) /* 8031DED4 0031AE34 80 65 00 08 */ lwz r3, 8(r5) /* 8031DED8 0031AE38 80 05 00 0C */ lwz r0, 0xc(r5) /* 8031DEDC 0031AE3C 90 64 00 08 */ stw r3, 8(r4) /* 8031DEE0 0031AE40 90 04 00 0C */ stw r0, 0xc(r4) /* 8031DEE4 0031AE44 80 65 00 10 */ lwz r3, 0x10(r5) /* 8031DEE8 0031AE48 80 05 00 14 */ lwz r0, 0x14(r5) /* 8031DEEC 0031AE4C 90 64 00 10 */ stw r3, 0x10(r4) /* 8031DEF0 0031AE50 90 04 00 14 */ stw r0, 0x14(r4) /* 8031DEF4 0031AE54 80 65 00 18 */ lwz r3, 0x18(r5) /* 8031DEF8 0031AE58 80 05 00 1C */ lwz r0, 0x1c(r5) /* 8031DEFC 0031AE5C 90 64 00 18 */ stw r3, 0x18(r4) /* 8031DF00 0031AE60 90 04 00 1C */ stw r0, 0x1c(r4) lbl_8031DF04: /* 8031DF04 0031AE64 80 7D 00 34 */ lwz r3, 0x34(r29) /* 8031DF08 0031AE68 38 03 FF FF */ addi r0, r3, -1 /* 8031DF0C 0031AE6C 90 1D 00 34 */ stw r0, 0x34(r29) /* 8031DF10 0031AE70 80 1D 00 34 */ lwz r0, 0x34(r29) /* 8031DF14 0031AE74 80 7D 00 3C */ lwz r3, 0x3c(r29) /* 8031DF18 0031AE78 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031DF1C 0031AE7C 7C 03 02 14 */ add r0, r3, r0 /* 8031DF20 0031AE80 7C 1F 00 40 */ cmplw r31, r0 /* 8031DF24 0031AE84 41 82 00 14 */ beq lbl_8031DF38 /* 8031DF28 0031AE88 80 7F 00 00 */ lwz r3, 0(r31) /* 8031DF2C 0031AE8C 80 1D 00 74 */ lwz r0, 0x74(r29) /* 8031DF30 0031AE90 7C 03 00 00 */ cmpw r3, r0 /* 8031DF34 0031AE94 41 80 02 08 */ blt lbl_8031E13C lbl_8031DF38: /* 8031DF38 0031AE98 C0 1F 00 04 */ lfs f0, 4(r31) /* 8031DF3C 0031AE9C D0 1F 00 10 */ stfs f0, 0x10(r31) /* 8031DF40 0031AEA0 C0 1F 00 08 */ lfs f0, 8(r31) /* 8031DF44 0031AEA4 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 8031DF48 0031AEA8 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 8031DF4C 0031AEAC D0 1F 00 18 */ stfs f0, 0x18(r31) /* 8031DF50 0031AEB0 C0 3F 00 04 */ lfs f1, 4(r31) /* 8031DF54 0031AEB4 C0 1F 00 1C */ lfs f0, 0x1c(r31) /* 8031DF58 0031AEB8 EC 01 00 2A */ fadds f0, f1, f0 /* 8031DF5C 0031AEBC D0 1F 00 04 */ stfs f0, 4(r31) /* 8031DF60 0031AEC0 C0 3F 00 08 */ lfs f1, 8(r31) /* 8031DF64 0031AEC4 C0 1F 00 20 */ lfs f0, 0x20(r31) /* 8031DF68 0031AEC8 EC 01 00 2A */ fadds f0, f1, f0 /* 8031DF6C 0031AECC D0 1F 00 08 */ stfs f0, 8(r31) /* 8031DF70 0031AED0 C0 3F 00 0C */ lfs f1, 0xc(r31) /* 8031DF74 0031AED4 C0 1F 00 24 */ lfs f0, 0x24(r31) /* 8031DF78 0031AED8 EC 01 00 2A */ fadds f0, f1, f0 /* 8031DF7C 0031AEDC D0 1F 00 0C */ stfs f0, 0xc(r31) /* 8031DF80 0031AEE0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031DF84 0031AEE4 80 1D 00 74 */ lwz r0, 0x74(r29) /* 8031DF88 0031AEE8 93 ED A8 EC */ stw r31, mCurrentParticle__16CParticleGlobals@sda21(r13) /* 8031DF8C 0031AEEC 7F C3 00 50 */ subf r30, r3, r0 /* 8031DF90 0031AEF0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031DF94 0031AEF4 80 1F 00 00 */ lwz r0, 0(r31) /* 8031DF98 0031AEF8 7C 63 00 50 */ subf r3, r3, r0 /* 8031DF9C 0031AEFC 48 00 C7 DD */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031DFA0 0031AF00 7F C3 F3 78 */ mr r3, r30 /* 8031DFA4 0031AF04 48 00 C6 D9 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi /* 8031DFA8 0031AF08 88 1D 02 6D */ lbz r0, 0x26d(r29) /* 8031DFAC 0031AF0C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8031DFB0 0031AF10 41 82 00 14 */ beq lbl_8031DFC4 /* 8031DFB4 0031AF14 80 9D 02 5C */ lwz r4, 0x25c(r29) /* 8031DFB8 0031AF18 7F A3 EB 78 */ mr r3, r29 /* 8031DFBC 0031AF1C 7F C5 F3 78 */ mr r5, r30 /* 8031DFC0 0031AF20 48 00 03 F1 */ bl UpdateAdvanceAccessParameters__11CElementGenFii lbl_8031DFC4: /* 8031DFC4 0031AF24 80 7D 02 5C */ lwz r3, 0x25c(r29) /* 8031DFC8 0031AF28 38 03 00 01 */ addi r0, r3, 1 /* 8031DFCC 0031AF2C 90 1D 02 5C */ stw r0, 0x25c(r29) /* 8031DFD0 0031AF30 80 1D 02 80 */ lwz r0, 0x280(r29) /* 8031DFD4 0031AF34 28 00 00 00 */ cmplwi r0, 0 /* 8031DFD8 0031AF38 41 82 00 78 */ beq lbl_8031E050 /* 8031DFDC 0031AF3C 7F A3 EB 78 */ mr r3, r29 /* 8031DFE0 0031AF40 7F C5 F3 78 */ mr r5, r30 /* 8031DFE4 0031AF44 7F E6 FB 78 */ mr r6, r31 /* 8031DFE8 0031AF48 38 80 00 00 */ li r4, 0 /* 8031DFEC 0031AF4C 48 00 02 05 */ bl UpdateVelocitySource__11CElementGenFiiRQ211CElementGen9CParticle /* 8031DFF0 0031AF50 80 1D 02 84 */ lwz r0, 0x284(r29) /* 8031DFF4 0031AF54 28 00 00 00 */ cmplwi r0, 0 /* 8031DFF8 0031AF58 41 82 00 58 */ beq lbl_8031E050 /* 8031DFFC 0031AF5C 7F A3 EB 78 */ mr r3, r29 /* 8031E000 0031AF60 7F C5 F3 78 */ mr r5, r30 /* 8031E004 0031AF64 7F E6 FB 78 */ mr r6, r31 /* 8031E008 0031AF68 38 80 00 01 */ li r4, 1 /* 8031E00C 0031AF6C 48 00 01 E5 */ bl UpdateVelocitySource__11CElementGenFiiRQ211CElementGen9CParticle /* 8031E010 0031AF70 80 1D 02 88 */ lwz r0, 0x288(r29) /* 8031E014 0031AF74 28 00 00 00 */ cmplwi r0, 0 /* 8031E018 0031AF78 41 82 00 38 */ beq lbl_8031E050 /* 8031E01C 0031AF7C 7F A3 EB 78 */ mr r3, r29 /* 8031E020 0031AF80 7F C5 F3 78 */ mr r5, r30 /* 8031E024 0031AF84 7F E6 FB 78 */ mr r6, r31 /* 8031E028 0031AF88 38 80 00 02 */ li r4, 2 /* 8031E02C 0031AF8C 48 00 01 C5 */ bl UpdateVelocitySource__11CElementGenFiiRQ211CElementGen9CParticle /* 8031E030 0031AF90 80 1D 02 8C */ lwz r0, 0x28c(r29) /* 8031E034 0031AF94 28 00 00 00 */ cmplwi r0, 0 /* 8031E038 0031AF98 41 82 00 18 */ beq lbl_8031E050 /* 8031E03C 0031AF9C 7F A3 EB 78 */ mr r3, r29 /* 8031E040 0031AFA0 7F C5 F3 78 */ mr r5, r30 /* 8031E044 0031AFA4 7F E6 FB 78 */ mr r6, r31 /* 8031E048 0031AFA8 38 80 00 03 */ li r4, 3 /* 8031E04C 0031AFAC 48 00 01 A5 */ bl UpdateVelocitySource__11CElementGenFiiRQ211CElementGen9CParticle lbl_8031E050: /* 8031E050 0031AFB0 88 1D 02 6C */ lbz r0, 0x26c(r29) /* 8031E054 0031AFB4 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8031E058 0031AFB8 41 82 00 58 */ beq lbl_8031E0B0 /* 8031E05C 0031AFBC 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E060 0031AFC0 80 63 00 14 */ lwz r3, 0x14(r3) /* 8031E064 0031AFC4 28 03 00 00 */ cmplwi r3, 0 /* 8031E068 0031AFC8 41 82 00 1C */ beq lbl_8031E084 /* 8031E06C 0031AFCC 81 83 00 00 */ lwz r12, 0(r3) /* 8031E070 0031AFD0 7F C4 F3 78 */ mr r4, r30 /* 8031E074 0031AFD4 38 BF 00 2C */ addi r5, r31, 0x2c /* 8031E078 0031AFD8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E07C 0031AFDC 7D 89 03 A6 */ mtctr r12 /* 8031E080 0031AFE0 4E 80 04 21 */ bctrl lbl_8031E084: /* 8031E084 0031AFE4 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E088 0031AFE8 80 63 00 18 */ lwz r3, 0x18(r3) /* 8031E08C 0031AFEC 28 03 00 00 */ cmplwi r3, 0 /* 8031E090 0031AFF0 41 82 00 70 */ beq lbl_8031E100 /* 8031E094 0031AFF4 81 83 00 00 */ lwz r12, 0(r3) /* 8031E098 0031AFF8 7F C4 F3 78 */ mr r4, r30 /* 8031E09C 0031AFFC 38 BF 00 30 */ addi r5, r31, 0x30 /* 8031E0A0 0031B000 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E0A4 0031B004 7D 89 03 A6 */ mtctr r12 /* 8031E0A8 0031B008 4E 80 04 21 */ bctrl /* 8031E0AC 0031B00C 48 00 00 54 */ b lbl_8031E100 lbl_8031E0B0: /* 8031E0B0 0031B010 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E0B4 0031B014 80 63 00 3C */ lwz r3, 0x3c(r3) /* 8031E0B8 0031B018 28 03 00 00 */ cmplwi r3, 0 /* 8031E0BC 0031B01C 41 82 00 1C */ beq lbl_8031E0D8 /* 8031E0C0 0031B020 81 83 00 00 */ lwz r12, 0(r3) /* 8031E0C4 0031B024 7F C4 F3 78 */ mr r4, r30 /* 8031E0C8 0031B028 38 BF 00 30 */ addi r5, r31, 0x30 /* 8031E0CC 0031B02C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E0D0 0031B030 7D 89 03 A6 */ mtctr r12 /* 8031E0D4 0031B034 4E 80 04 21 */ bctrl lbl_8031E0D8: /* 8031E0D8 0031B038 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E0DC 0031B03C 80 63 00 38 */ lwz r3, 0x38(r3) /* 8031E0E0 0031B040 28 03 00 00 */ cmplwi r3, 0 /* 8031E0E4 0031B044 41 82 00 1C */ beq lbl_8031E100 /* 8031E0E8 0031B048 81 83 00 00 */ lwz r12, 0(r3) /* 8031E0EC 0031B04C 7F C4 F3 78 */ mr r4, r30 /* 8031E0F0 0031B050 38 BF 00 2C */ addi r5, r31, 0x2c /* 8031E0F4 0031B054 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E0F8 0031B058 7D 89 03 A6 */ mtctr r12 /* 8031E0FC 0031B05C 4E 80 04 21 */ bctrl lbl_8031E100: /* 8031E100 0031B060 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E104 0031B064 80 63 00 24 */ lwz r3, 0x24(r3) /* 8031E108 0031B068 28 03 00 00 */ cmplwi r3, 0 /* 8031E10C 0031B06C 41 82 00 1C */ beq lbl_8031E128 /* 8031E110 0031B070 81 83 00 00 */ lwz r12, 0(r3) /* 8031E114 0031B074 7F C4 F3 78 */ mr r4, r30 /* 8031E118 0031B078 38 BF 00 34 */ addi r5, r31, 0x34 /* 8031E11C 0031B07C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E120 0031B080 7D 89 03 A6 */ mtctr r12 /* 8031E124 0031B084 4E 80 04 21 */ bctrl lbl_8031E128: /* 8031E128 0031B088 C0 3F 00 2C */ lfs f1, 0x2c(r31) /* 8031E12C 0031B08C 7F A3 EB 78 */ mr r3, r29 /* 8031E130 0031B090 38 9F 00 04 */ addi r4, r31, 4 /* 8031E134 0031B094 4B FF 9B E5 */ bl AccumulateBounds__11CElementGenFRC9CVector3ff /* 8031E138 0031B098 3B FF 00 38 */ addi r31, r31, 0x38 lbl_8031E13C: /* 8031E13C 0031B09C 80 1D 00 34 */ lwz r0, 0x34(r29) /* 8031E140 0031B0A0 80 7D 00 3C */ lwz r3, 0x3c(r29) /* 8031E144 0031B0A4 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031E148 0031B0A8 7C 03 02 14 */ add r0, r3, r0 /* 8031E14C 0031B0AC 7C 1F 00 40 */ cmplw r31, r0 /* 8031E150 0031B0B0 40 82 FC 58 */ bne lbl_8031DDA8 lbl_8031E154: /* 8031E154 0031B0B4 80 1D 00 34 */ lwz r0, 0x34(r29) /* 8031E158 0031B0B8 2C 00 00 00 */ cmpwi r0, 0 /* 8031E15C 0031B0BC 40 81 00 78 */ ble lbl_8031E1D4 /* 8031E160 0031B0C0 83 DD 00 08 */ lwz r30, 8(r29) /* 8031E164 0031B0C4 83 FD 00 0C */ lwz r31, 0xc(r29) /* 8031E168 0031B0C8 48 00 00 64 */ b lbl_8031E1CC lbl_8031E16C: /* 8031E16C 0031B0CC 80 7E 00 08 */ lwz r3, 8(r30) /* 8031E170 0031B0D0 81 83 00 00 */ lwz r12, 0(r3) /* 8031E174 0031B0D4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E178 0031B0D8 7D 89 03 A6 */ mtctr r12 /* 8031E17C 0031B0DC 4E 80 04 21 */ bctrl /* 8031E180 0031B0E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031E184 0031B0E4 41 82 00 44 */ beq lbl_8031E1C8 /* 8031E188 0031B0E8 80 DD 00 3C */ lwz r6, 0x3c(r29) /* 8031E18C 0031B0EC 38 A0 00 38 */ li r5, 0x38 /* 8031E190 0031B0F0 38 66 00 2C */ addi r3, r6, 0x2c /* 8031E194 0031B0F4 38 06 00 30 */ addi r0, r6, 0x30 /* 8031E198 0031B0F8 90 61 00 08 */ stw r3, 8(r1) /* 8031E19C 0031B0FC 38 E6 00 10 */ addi r7, r6, 0x10 /* 8031E1A0 0031B100 39 06 00 04 */ addi r8, r6, 4 /* 8031E1A4 0031B104 39 26 00 1C */ addi r9, r6, 0x1c /* 8031E1A8 0031B108 90 01 00 0C */ stw r0, 0xc(r1) /* 8031E1AC 0031B10C 39 46 00 34 */ addi r10, r6, 0x34 /* 8031E1B0 0031B110 80 7E 00 08 */ lwz r3, 8(r30) /* 8031E1B4 0031B114 80 9D 00 34 */ lwz r4, 0x34(r29) /* 8031E1B8 0031B118 81 83 00 00 */ lwz r12, 0(r3) /* 8031E1BC 0031B11C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031E1C0 0031B120 7D 89 03 A6 */ mtctr r12 /* 8031E1C4 0031B124 4E 80 04 21 */ bctrl lbl_8031E1C8: /* 8031E1C8 0031B128 83 DE 00 04 */ lwz r30, 4(r30) lbl_8031E1CC: /* 8031E1CC 0031B12C 7C 1E F8 40 */ cmplw r30, r31 /* 8031E1D0 0031B130 40 82 FF 9C */ bne lbl_8031E16C lbl_8031E1D4: /* 8031E1D4 0031B134 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031E1D8 0031B138 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031E1DC 0031B13C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031E1E0 0031B140 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031E1E4 0031B144 7C 08 03 A6 */ mtlr r0 /* 8031E1E8 0031B148 38 21 00 20 */ addi r1, r1, 0x20 /* 8031E1EC 0031B14C 4E 80 00 20 */ blr .global UpdateVelocitySource__11CElementGenFiiRQ211CElementGen9CParticle UpdateVelocitySource__11CElementGenFiiRQ211CElementGen9CParticle: /* 8031E1F0 0031B150 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8031E1F4 0031B154 7C 08 02 A6 */ mflr r0 /* 8031E1F8 0031B158 90 01 00 74 */ stw r0, 0x74(r1) /* 8031E1FC 0031B15C 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8031E200 0031B160 7C BF 2B 78 */ mr r31, r5 /* 8031E204 0031B164 93 C1 00 68 */ stw r30, 0x68(r1) /* 8031E208 0031B168 7C DE 33 78 */ mr r30, r6 /* 8031E20C 0031B16C 93 A1 00 64 */ stw r29, 0x64(r1) /* 8031E210 0031B170 7C 9D 23 78 */ mr r29, r4 /* 8031E214 0031B174 93 81 00 60 */ stw r28, 0x60(r1) /* 8031E218 0031B178 7C 7C 1B 78 */ mr r28, r3 /* 8031E21C 0031B17C 7C 7C EA 14 */ add r3, r28, r29 /* 8031E220 0031B180 88 03 02 78 */ lbz r0, 0x278(r3) /* 8031E224 0031B184 28 00 00 00 */ cmplwi r0, 0 /* 8031E228 0031B188 41 82 01 20 */ beq lbl_8031E348 /* 8031E22C 0031B18C 38 61 00 38 */ addi r3, r1, 0x38 /* 8031E230 0031B190 38 9C 02 08 */ addi r4, r28, 0x208 /* 8031E234 0031B194 38 BE 00 1C */ addi r5, r30, 0x1c /* 8031E238 0031B198 4B FF 20 5D */ bl __ml__9CMatrix3fCFRC9CVector3f /* 8031E23C 0031B19C C0 41 00 38 */ lfs f2, 0x38(r1) /* 8031E240 0031B1A0 38 61 00 2C */ addi r3, r1, 0x2c /* 8031E244 0031B1A4 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 8031E248 0031B1A8 38 9C 02 08 */ addi r4, r28, 0x208 /* 8031E24C 0031B1AC C0 01 00 40 */ lfs f0, 0x40(r1) /* 8031E250 0031B1B0 38 A1 00 20 */ addi r5, r1, 0x20 /* 8031E254 0031B1B4 D0 41 00 50 */ stfs f2, 0x50(r1) /* 8031E258 0031B1B8 D0 21 00 54 */ stfs f1, 0x54(r1) /* 8031E25C 0031B1BC D0 01 00 58 */ stfs f0, 0x58(r1) /* 8031E260 0031B1C0 C0 3E 00 08 */ lfs f1, 8(r30) /* 8031E264 0031B1C4 C0 1C 00 E0 */ lfs f0, 0xe0(r28) /* 8031E268 0031B1C8 C0 7E 00 0C */ lfs f3, 0xc(r30) /* 8031E26C 0031B1CC C0 5C 00 E4 */ lfs f2, 0xe4(r28) /* 8031E270 0031B1D0 EC 81 00 28 */ fsubs f4, f1, f0 /* 8031E274 0031B1D4 C0 3E 00 04 */ lfs f1, 4(r30) /* 8031E278 0031B1D8 C0 1C 00 DC */ lfs f0, 0xdc(r28) /* 8031E27C 0031B1DC EC 43 10 28 */ fsubs f2, f3, f2 /* 8031E280 0031B1E0 EC 01 00 28 */ fsubs f0, f1, f0 /* 8031E284 0031B1E4 D0 81 00 24 */ stfs f4, 0x24(r1) /* 8031E288 0031B1E8 D0 41 00 28 */ stfs f2, 0x28(r1) /* 8031E28C 0031B1EC D0 01 00 20 */ stfs f0, 0x20(r1) /* 8031E290 0031B1F0 4B FF 20 05 */ bl __ml__9CMatrix3fCFRC9CVector3f /* 8031E294 0031B1F4 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 8031E298 0031B1F8 57 A0 10 3A */ slwi r0, r29, 2 /* 8031E29C 0031B1FC C0 21 00 30 */ lfs f1, 0x30(r1) /* 8031E2A0 0031B200 7C 7C 02 14 */ add r3, r28, r0 /* 8031E2A4 0031B204 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8031E2A8 0031B208 7F E4 FB 78 */ mr r4, r31 /* 8031E2AC 0031B20C D0 41 00 44 */ stfs f2, 0x44(r1) /* 8031E2B0 0031B210 38 A1 00 50 */ addi r5, r1, 0x50 /* 8031E2B4 0031B214 38 C1 00 44 */ addi r6, r1, 0x44 /* 8031E2B8 0031B218 D0 21 00 48 */ stfs f1, 0x48(r1) /* 8031E2BC 0031B21C D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8031E2C0 0031B220 80 63 02 80 */ lwz r3, 0x280(r3) /* 8031E2C4 0031B224 81 83 00 00 */ lwz r12, 0(r3) /* 8031E2C8 0031B228 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E2CC 0031B22C 7D 89 03 A6 */ mtctr r12 /* 8031E2D0 0031B230 4E 80 04 21 */ bctrl /* 8031E2D4 0031B234 7C 60 1B 78 */ mr r0, r3 /* 8031E2D8 0031B238 38 61 00 14 */ addi r3, r1, 0x14 /* 8031E2DC 0031B23C 7C 1F 03 78 */ mr r31, r0 /* 8031E2E0 0031B240 38 9C 01 D8 */ addi r4, r28, 0x1d8 /* 8031E2E4 0031B244 38 A1 00 50 */ addi r5, r1, 0x50 /* 8031E2E8 0031B248 4B FF 47 99 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8031E2EC 0031B24C C0 01 00 14 */ lfs f0, 0x14(r1) /* 8031E2F0 0031B250 38 61 00 08 */ addi r3, r1, 8 /* 8031E2F4 0031B254 38 9C 01 D8 */ addi r4, r28, 0x1d8 /* 8031E2F8 0031B258 38 A1 00 44 */ addi r5, r1, 0x44 /* 8031E2FC 0031B25C D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8031E300 0031B260 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8031E304 0031B264 D0 1E 00 20 */ stfs f0, 0x20(r30) /* 8031E308 0031B268 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8031E30C 0031B26C D0 1E 00 24 */ stfs f0, 0x24(r30) /* 8031E310 0031B270 4B FF 47 71 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8031E314 0031B274 C0 21 00 08 */ lfs f1, 8(r1) /* 8031E318 0031B278 C0 1C 00 DC */ lfs f0, 0xdc(r28) /* 8031E31C 0031B27C C0 81 00 0C */ lfs f4, 0xc(r1) /* 8031E320 0031B280 C0 7C 00 E0 */ lfs f3, 0xe0(r28) /* 8031E324 0031B284 EC 01 00 2A */ fadds f0, f1, f0 /* 8031E328 0031B288 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8031E32C 0031B28C C0 3C 00 E4 */ lfs f1, 0xe4(r28) /* 8031E330 0031B290 EC 64 18 2A */ fadds f3, f4, f3 /* 8031E334 0031B294 D0 1E 00 04 */ stfs f0, 4(r30) /* 8031E338 0031B298 EC 02 08 2A */ fadds f0, f2, f1 /* 8031E33C 0031B29C D0 7E 00 08 */ stfs f3, 8(r30) /* 8031E340 0031B2A0 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 8031E344 0031B2A4 48 00 00 30 */ b lbl_8031E374 lbl_8031E348: /* 8031E348 0031B2A8 57 A0 10 3A */ slwi r0, r29, 2 /* 8031E34C 0031B2AC 7F E4 FB 78 */ mr r4, r31 /* 8031E350 0031B2B0 7C 7C 02 14 */ add r3, r28, r0 /* 8031E354 0031B2B4 38 BE 00 1C */ addi r5, r30, 0x1c /* 8031E358 0031B2B8 80 63 02 80 */ lwz r3, 0x280(r3) /* 8031E35C 0031B2BC 38 DE 00 04 */ addi r6, r30, 4 /* 8031E360 0031B2C0 81 83 00 00 */ lwz r12, 0(r3) /* 8031E364 0031B2C4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E368 0031B2C8 7D 89 03 A6 */ mtctr r12 /* 8031E36C 0031B2CC 4E 80 04 21 */ bctrl /* 8031E370 0031B2D0 7C 7F 1B 78 */ mr r31, r3 lbl_8031E374: /* 8031E374 0031B2D4 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 8031E378 0031B2D8 41 82 00 14 */ beq lbl_8031E38C /* 8031E37C 0031B2DC 38 00 FF FF */ li r0, -1 /* 8031E380 0031B2E0 38 60 00 01 */ li r3, 1 /* 8031E384 0031B2E4 90 1E 00 00 */ stw r0, 0(r30) /* 8031E388 0031B2E8 48 00 00 08 */ b lbl_8031E390 lbl_8031E38C: /* 8031E38C 0031B2EC 38 60 00 00 */ li r3, 0 lbl_8031E390: /* 8031E390 0031B2F0 80 01 00 74 */ lwz r0, 0x74(r1) /* 8031E394 0031B2F4 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8031E398 0031B2F8 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8031E39C 0031B2FC 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8031E3A0 0031B300 83 81 00 60 */ lwz r28, 0x60(r1) /* 8031E3A4 0031B304 7C 08 03 A6 */ mtlr r0 /* 8031E3A8 0031B308 38 21 00 70 */ addi r1, r1, 0x70 /* 8031E3AC 0031B30C 4E 80 00 20 */ blr .global UpdateAdvanceAccessParameters__11CElementGenFii UpdateAdvanceAccessParameters__11CElementGenFii: /* 8031E3B0 0031B310 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031E3B4 0031B314 7C 08 02 A6 */ mflr r0 /* 8031E3B8 0031B318 90 01 00 24 */ stw r0, 0x24(r1) /* 8031E3BC 0031B31C 54 80 28 34 */ slwi r0, r4, 5 /* 8031E3C0 0031B320 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031E3C4 0031B324 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031E3C8 0031B328 7C BE 2B 78 */ mr r30, r5 /* 8031E3CC 0031B32C 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031E3D0 0031B330 7C 7D 1B 78 */ mr r29, r3 /* 8031E3D4 0031B334 80 63 00 6C */ lwz r3, 0x6c(r3) /* 8031E3D8 0031B338 7F E3 02 14 */ add r31, r3, r0 /* 8031E3DC 0031B33C 93 ED A8 F0 */ stw r31, mParticleAccessParameters__16CParticleGlobals@sda21(r13) /* 8031E3E0 0031B340 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E3E4 0031B344 80 63 01 0C */ lwz r3, 0x10c(r3) /* 8031E3E8 0031B348 28 03 00 00 */ cmplwi r3, 0 /* 8031E3EC 0031B34C 41 82 00 1C */ beq lbl_8031E408 /* 8031E3F0 0031B350 81 83 00 00 */ lwz r12, 0(r3) /* 8031E3F4 0031B354 7F C4 F3 78 */ mr r4, r30 /* 8031E3F8 0031B358 7F E5 FB 78 */ mr r5, r31 /* 8031E3FC 0031B35C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E400 0031B360 7D 89 03 A6 */ mtctr r12 /* 8031E404 0031B364 4E 80 04 21 */ bctrl lbl_8031E408: /* 8031E408 0031B368 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E40C 0031B36C 80 63 01 10 */ lwz r3, 0x110(r3) /* 8031E410 0031B370 28 03 00 00 */ cmplwi r3, 0 /* 8031E414 0031B374 41 82 00 1C */ beq lbl_8031E430 /* 8031E418 0031B378 81 83 00 00 */ lwz r12, 0(r3) /* 8031E41C 0031B37C 7F C4 F3 78 */ mr r4, r30 /* 8031E420 0031B380 38 BF 00 04 */ addi r5, r31, 4 /* 8031E424 0031B384 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E428 0031B388 7D 89 03 A6 */ mtctr r12 /* 8031E42C 0031B38C 4E 80 04 21 */ bctrl lbl_8031E430: /* 8031E430 0031B390 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E434 0031B394 80 63 01 14 */ lwz r3, 0x114(r3) /* 8031E438 0031B398 28 03 00 00 */ cmplwi r3, 0 /* 8031E43C 0031B39C 41 82 00 1C */ beq lbl_8031E458 /* 8031E440 0031B3A0 81 83 00 00 */ lwz r12, 0(r3) /* 8031E444 0031B3A4 7F C4 F3 78 */ mr r4, r30 /* 8031E448 0031B3A8 38 BF 00 08 */ addi r5, r31, 8 /* 8031E44C 0031B3AC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E450 0031B3B0 7D 89 03 A6 */ mtctr r12 /* 8031E454 0031B3B4 4E 80 04 21 */ bctrl lbl_8031E458: /* 8031E458 0031B3B8 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E45C 0031B3BC 80 63 01 18 */ lwz r3, 0x118(r3) /* 8031E460 0031B3C0 28 03 00 00 */ cmplwi r3, 0 /* 8031E464 0031B3C4 41 82 00 1C */ beq lbl_8031E480 /* 8031E468 0031B3C8 81 83 00 00 */ lwz r12, 0(r3) /* 8031E46C 0031B3CC 7F C4 F3 78 */ mr r4, r30 /* 8031E470 0031B3D0 38 BF 00 0C */ addi r5, r31, 0xc /* 8031E474 0031B3D4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E478 0031B3D8 7D 89 03 A6 */ mtctr r12 /* 8031E47C 0031B3DC 4E 80 04 21 */ bctrl lbl_8031E480: /* 8031E480 0031B3E0 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E484 0031B3E4 80 63 01 1C */ lwz r3, 0x11c(r3) /* 8031E488 0031B3E8 28 03 00 00 */ cmplwi r3, 0 /* 8031E48C 0031B3EC 41 82 00 1C */ beq lbl_8031E4A8 /* 8031E490 0031B3F0 81 83 00 00 */ lwz r12, 0(r3) /* 8031E494 0031B3F4 7F C4 F3 78 */ mr r4, r30 /* 8031E498 0031B3F8 38 BF 00 10 */ addi r5, r31, 0x10 /* 8031E49C 0031B3FC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E4A0 0031B400 7D 89 03 A6 */ mtctr r12 /* 8031E4A4 0031B404 4E 80 04 21 */ bctrl lbl_8031E4A8: /* 8031E4A8 0031B408 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E4AC 0031B40C 80 63 01 20 */ lwz r3, 0x120(r3) /* 8031E4B0 0031B410 28 03 00 00 */ cmplwi r3, 0 /* 8031E4B4 0031B414 41 82 00 1C */ beq lbl_8031E4D0 /* 8031E4B8 0031B418 81 83 00 00 */ lwz r12, 0(r3) /* 8031E4BC 0031B41C 7F C4 F3 78 */ mr r4, r30 /* 8031E4C0 0031B420 38 BF 00 14 */ addi r5, r31, 0x14 /* 8031E4C4 0031B424 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E4C8 0031B428 7D 89 03 A6 */ mtctr r12 /* 8031E4CC 0031B42C 4E 80 04 21 */ bctrl lbl_8031E4D0: /* 8031E4D0 0031B430 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E4D4 0031B434 80 63 01 24 */ lwz r3, 0x124(r3) /* 8031E4D8 0031B438 28 03 00 00 */ cmplwi r3, 0 /* 8031E4DC 0031B43C 41 82 00 1C */ beq lbl_8031E4F8 /* 8031E4E0 0031B440 81 83 00 00 */ lwz r12, 0(r3) /* 8031E4E4 0031B444 7F C4 F3 78 */ mr r4, r30 /* 8031E4E8 0031B448 38 BF 00 18 */ addi r5, r31, 0x18 /* 8031E4EC 0031B44C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E4F0 0031B450 7D 89 03 A6 */ mtctr r12 /* 8031E4F4 0031B454 4E 80 04 21 */ bctrl lbl_8031E4F8: /* 8031E4F8 0031B458 80 7D 00 28 */ lwz r3, 0x28(r29) /* 8031E4FC 0031B45C 80 63 01 28 */ lwz r3, 0x128(r3) /* 8031E500 0031B460 28 03 00 00 */ cmplwi r3, 0 /* 8031E504 0031B464 41 82 00 1C */ beq lbl_8031E520 /* 8031E508 0031B468 81 83 00 00 */ lwz r12, 0(r3) /* 8031E50C 0031B46C 7F C4 F3 78 */ mr r4, r30 /* 8031E510 0031B470 38 BF 00 1C */ addi r5, r31, 0x1c /* 8031E514 0031B474 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E518 0031B478 7D 89 03 A6 */ mtctr r12 /* 8031E51C 0031B47C 4E 80 04 21 */ bctrl lbl_8031E520: /* 8031E520 0031B480 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031E524 0031B484 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031E528 0031B488 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031E52C 0031B48C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031E530 0031B490 7C 08 03 A6 */ mtlr r0 /* 8031E534 0031B494 38 21 00 20 */ addi r1, r1, 0x20 /* 8031E538 0031B498 4E 80 00 20 */ blr .global UpdateLightParameters__11CElementGenFv UpdateLightParameters__11CElementGenFv: /* 8031E53C 0031B49C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031E540 0031B4A0 7C 08 02 A6 */ mflr r0 /* 8031E544 0031B4A4 90 01 00 14 */ stw r0, 0x14(r1) /* 8031E548 0031B4A8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031E54C 0031B4AC 7C 7F 1B 78 */ mr r31, r3 /* 8031E550 0031B4B0 38 BF 03 0C */ addi r5, r31, 0x30c /* 8031E554 0031B4B4 80 63 00 28 */ lwz r3, 0x28(r3) /* 8031E558 0031B4B8 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031E55C 0031B4BC 80 63 00 F0 */ lwz r3, 0xf0(r3) /* 8031E560 0031B4C0 81 83 00 00 */ lwz r12, 0(r3) /* 8031E564 0031B4C4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E568 0031B4C8 7D 89 03 A6 */ mtctr r12 /* 8031E56C 0031B4CC 4E 80 04 21 */ bctrl /* 8031E570 0031B4D0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031E574 0031B4D4 38 BF 03 10 */ addi r5, r31, 0x310 /* 8031E578 0031B4D8 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031E57C 0031B4DC 80 63 00 F4 */ lwz r3, 0xf4(r3) /* 8031E580 0031B4E0 81 83 00 00 */ lwz r12, 0(r3) /* 8031E584 0031B4E4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E588 0031B4E8 7D 89 03 A6 */ mtctr r12 /* 8031E58C 0031B4EC 4E 80 04 21 */ bctrl /* 8031E590 0031B4F0 80 1F 03 08 */ lwz r0, 0x308(r31) /* 8031E594 0031B4F4 2C 00 00 02 */ cmpwi r0, 2 /* 8031E598 0031B4F8 41 82 00 70 */ beq lbl_8031E608 /* 8031E59C 0031B4FC 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031E5A0 0031B500 38 BF 03 14 */ addi r5, r31, 0x314 /* 8031E5A4 0031B504 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031E5A8 0031B508 80 63 00 F8 */ lwz r3, 0xf8(r3) /* 8031E5AC 0031B50C 81 83 00 00 */ lwz r12, 0(r3) /* 8031E5B0 0031B510 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E5B4 0031B514 7D 89 03 A6 */ mtctr r12 /* 8031E5B8 0031B518 4E 80 04 21 */ bctrl /* 8031E5BC 0031B51C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031E5C0 0031B520 38 BF 03 30 */ addi r5, r31, 0x330 /* 8031E5C4 0031B524 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031E5C8 0031B528 80 63 01 04 */ lwz r3, 0x104(r3) /* 8031E5CC 0031B52C 81 83 00 00 */ lwz r12, 0(r3) /* 8031E5D0 0031B530 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E5D4 0031B534 7D 89 03 A6 */ mtctr r12 /* 8031E5D8 0031B538 4E 80 04 21 */ bctrl /* 8031E5DC 0031B53C 80 1F 03 08 */ lwz r0, 0x308(r31) /* 8031E5E0 0031B540 2C 00 00 03 */ cmpwi r0, 3 /* 8031E5E4 0031B544 40 82 00 24 */ bne lbl_8031E608 /* 8031E5E8 0031B548 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031E5EC 0031B54C 38 BF 03 34 */ addi r5, r31, 0x334 /* 8031E5F0 0031B550 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031E5F4 0031B554 80 63 01 08 */ lwz r3, 0x108(r3) /* 8031E5F8 0031B558 81 83 00 00 */ lwz r12, 0(r3) /* 8031E5FC 0031B55C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E600 0031B560 7D 89 03 A6 */ mtctr r12 /* 8031E604 0031B564 4E 80 04 21 */ bctrl lbl_8031E608: /* 8031E608 0031B568 80 1F 03 08 */ lwz r0, 0x308(r31) /* 8031E60C 0031B56C 2C 00 00 01 */ cmpwi r0, 1 /* 8031E610 0031B570 41 82 00 24 */ beq lbl_8031E634 /* 8031E614 0031B574 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031E618 0031B578 38 BF 03 20 */ addi r5, r31, 0x320 /* 8031E61C 0031B57C 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031E620 0031B580 80 63 00 FC */ lwz r3, 0xfc(r3) /* 8031E624 0031B584 81 83 00 00 */ lwz r12, 0(r3) /* 8031E628 0031B588 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E62C 0031B58C 7D 89 03 A6 */ mtctr r12 /* 8031E630 0031B590 4E 80 04 21 */ bctrl lbl_8031E634: /* 8031E634 0031B594 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031E638 0031B598 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8031E63C 0031B59C 7C 08 03 A6 */ mtlr r0 /* 8031E640 0031B5A0 38 21 00 10 */ addi r1, r1, 0x10 /* 8031E644 0031B5A4 4E 80 00 20 */ blr .global InternalUpdate__11CElementGenFd InternalUpdate__11CElementGenFd: /* 8031E648 0031B5A8 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 8031E64C 0031B5AC 7C 08 02 A6 */ mflr r0 /* 8031E650 0031B5B0 90 01 00 C4 */ stw r0, 0xc4(r1) /* 8031E654 0031B5B4 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 8031E658 0031B5B8 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 8031E65C 0031B5BC DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 8031E660 0031B5C0 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 8031E664 0031B5C4 DB A1 00 90 */ stfd f29, 0x90(r1) /* 8031E668 0031B5C8 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0 /* 8031E66C 0031B5CC DB 81 00 80 */ stfd f28, 0x80(r1) /* 8031E670 0031B5D0 F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0 /* 8031E674 0031B5D4 DB 61 00 70 */ stfd f27, 0x70(r1) /* 8031E678 0031B5D8 F3 61 00 78 */ psq_st f27, 120(r1), 0, qr0 /* 8031E67C 0031B5DC BF 61 00 5C */ stmw r27, 0x5c(r1) /* 8031E680 0031B5E0 7C 7C 1B 78 */ mr r28, r3 /* 8031E684 0031B5E4 FF A0 08 90 */ fmr f29, f1 /* 8031E688 0031B5E8 48 06 6D 21 */ bl OSGetTime /* 8031E68C 0031B5EC 7C 9E 23 78 */ mr r30, r4 /* 8031E690 0031B5F0 7C 7F 1B 78 */ mr r31, r3 /* 8031E694 0031B5F4 38 61 00 30 */ addi r3, r1, 0x30 /* 8031E698 0031B5F8 38 9C 02 7C */ addi r4, r28, 0x27c /* 8031E69C 0031B5FC 4B FF 3F E5 */ bl __ct__13CGlobalRandomFR9CRandom16 /* 8031E6A0 0031B600 80 7C 00 74 */ lwz r3, 0x74(r28) /* 8031E6A4 0031B604 3C 00 43 30 */ lis r0, 0x4330 /* 8031E6A8 0031B608 C8 AD 9C F0 */ lfd f5, lbl_805A88B0@sda21(r13) /* 8031E6AC 0031B60C 3B A0 00 00 */ li r29, 0 /* 8031E6B0 0031B610 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 8031E6B4 0031B614 90 01 00 40 */ stw r0, 0x40(r1) /* 8031E6B8 0031B618 FC 3D 28 28 */ fsub f1, f29, f5 /* 8031E6BC 0031B61C C8 62 CA 18 */ lfd f3, lbl_805AE738@sda21(r2) /* 8031E6C0 0031B620 90 61 00 44 */ stw r3, 0x44(r1) /* 8031E6C4 0031B624 C8 02 CA 38 */ lfd f0, lbl_805AE758@sda21(r2) /* 8031E6C8 0031B628 C8 41 00 40 */ lfd f2, 0x40(r1) /* 8031E6CC 0031B62C FC 80 0A 10 */ fabs f4, f1 /* 8031E6D0 0031B630 FC 22 18 28 */ fsub f1, f2, f3 /* 8031E6D4 0031B634 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 8031E6D8 0031B638 FF 81 01 72 */ fmul f28, f1, f5 /* 8031E6DC 0031B63C 40 80 00 08 */ bge lbl_8031E6E4 /* 8031E6E0 0031B640 48 00 00 08 */ b lbl_8031E6E8 lbl_8031E6E4: /* 8031E6E4 0031B644 FC A0 E8 90 */ fmr f5, f29 lbl_8031E6E8: /* 8031E6E8 0031B648 D8 A1 00 28 */ stfd f5, 0x28(r1) /* 8031E6EC 0031B64C 80 7C 00 74 */ lwz r3, 0x74(r28) /* 8031E6F0 0031B650 48 00 C0 59 */ bl SetEmitterTime__16CParticleGlobalsFi /* 8031E6F4 0031B654 80 7C 00 28 */ lwz r3, 0x28(r28) /* 8031E6F8 0031B658 80 03 00 08 */ lwz r0, 8(r3) /* 8031E6FC 0031B65C 28 00 00 00 */ cmplwi r0, 0 /* 8031E700 0031B660 41 82 00 5C */ beq lbl_8031E75C /* 8031E704 0031B664 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031E708 0031B668 38 A1 00 20 */ addi r5, r1, 0x20 /* 8031E70C 0031B66C D0 01 00 20 */ stfs f0, 0x20(r1) /* 8031E710 0031B670 80 7C 00 28 */ lwz r3, 0x28(r28) /* 8031E714 0031B674 80 9C 00 74 */ lwz r4, 0x74(r28) /* 8031E718 0031B678 80 63 00 08 */ lwz r3, 8(r3) /* 8031E71C 0031B67C 81 83 00 00 */ lwz r12, 0(r3) /* 8031E720 0031B680 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E724 0031B684 7D 89 03 A6 */ mtctr r12 /* 8031E728 0031B688 4E 80 04 21 */ bctrl /* 8031E72C 0031B68C C8 41 00 28 */ lfd f2, 0x28(r1) /* 8031E730 0031B690 C0 21 00 20 */ lfs f1, 0x20(r1) /* 8031E734 0031B694 C8 0D 9D 00 */ lfd f0, lbl_805A88C0@sda21(r13) /* 8031E738 0031B698 FC 22 00 72 */ fmul f1, f2, f1 /* 8031E73C 0031B69C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8031E740 0031B6A0 D8 21 00 28 */ stfd f1, 0x28(r1) /* 8031E744 0031B6A4 40 80 00 0C */ bge lbl_8031E750 /* 8031E748 0031B6A8 38 61 00 28 */ addi r3, r1, 0x28 /* 8031E74C 0031B6AC 48 00 00 08 */ b lbl_8031E754 lbl_8031E750: /* 8031E750 0031B6B0 38 6D 9D 00 */ addi r3, r13, lbl_805A88C0@sda21 lbl_8031E754: /* 8031E754 0031B6B4 C8 03 00 00 */ lfd f0, 0(r3) /* 8031E758 0031B6B8 D8 01 00 28 */ stfd f0, 0x28(r1) lbl_8031E75C: /* 8031E75C 0031B6BC C8 3C 00 78 */ lfd f1, 0x78(r28) /* 8031E760 0031B6C0 C8 01 00 28 */ lfd f0, 0x28(r1) /* 8031E764 0031B6C4 FC 01 00 2A */ fadd f0, f1, f0 /* 8031E768 0031B6C8 D8 1C 00 78 */ stfd f0, 0x78(r28) /* 8031E76C 0031B6CC 88 1C 02 6C */ lbz r0, 0x26c(r28) /* 8031E770 0031B6D0 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8031E774 0031B6D4 41 82 00 38 */ beq lbl_8031E7AC /* 8031E778 0031B6D8 C8 02 CA 20 */ lfd f0, lbl_805AE740@sda21(r2) /* 8031E77C 0031B6DC FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 8031E780 0031B6E0 40 81 00 2C */ ble lbl_8031E7AC /* 8031E784 0031B6E4 80 7C 00 28 */ lwz r3, 0x28(r28) /* 8031E788 0031B6E8 80 63 00 34 */ lwz r3, 0x34(r3) /* 8031E78C 0031B6EC 28 03 00 00 */ cmplwi r3, 0 /* 8031E790 0031B6F0 41 82 00 1C */ beq lbl_8031E7AC /* 8031E794 0031B6F4 81 83 00 00 */ lwz r12, 0(r3) /* 8031E798 0031B6F8 38 BC 02 70 */ addi r5, r28, 0x270 /* 8031E79C 0031B6FC 80 9C 00 74 */ lwz r4, 0x74(r28) /* 8031E7A0 0031B700 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E7A4 0031B704 7D 89 03 A6 */ mtctr r12 /* 8031E7A8 0031B708 4E 80 04 21 */ bctrl lbl_8031E7AC: /* 8031E7AC 0031B70C CB 62 CA 38 */ lfd f27, lbl_805AE758@sda21(r2) /* 8031E7B0 0031B710 C3 A2 CA 40 */ lfs f29, lbl_805AE760@sda21(r2) /* 8031E7B4 0031B714 C3 C2 CA 44 */ lfs f30, lbl_805AE764@sda21(r2) /* 8031E7B8 0031B718 C3 E2 C9 E8 */ lfs f31, lbl_805AE708@sda21(r2) /* 8031E7BC 0031B71C 48 00 01 C8 */ b lbl_8031E984 lbl_8031E7C0: /* 8031E7C0 0031B720 D3 BC 02 D4 */ stfs f29, 0x2d4(r28) /* 8031E7C4 0031B724 D3 BC 02 D8 */ stfs f29, 0x2d8(r28) /* 8031E7C8 0031B728 D3 BC 02 DC */ stfs f29, 0x2dc(r28) /* 8031E7CC 0031B72C D3 DC 02 E0 */ stfs f30, 0x2e0(r28) /* 8031E7D0 0031B730 D3 DC 02 E4 */ stfs f30, 0x2e4(r28) /* 8031E7D4 0031B734 D3 DC 02 E8 */ stfs f30, 0x2e8(r28) /* 8031E7D8 0031B738 D3 FC 02 EC */ stfs f31, 0x2ec(r28) /* 8031E7DC 0031B73C 80 7C 00 74 */ lwz r3, 0x74(r28) /* 8031E7E0 0031B740 48 00 BF 69 */ bl SetEmitterTime__16CParticleGlobalsFi /* 8031E7E4 0031B744 7F 83 E3 78 */ mr r3, r28 /* 8031E7E8 0031B748 4B FF F5 85 */ bl UpdateExistingParticles__11CElementGenFv /* 8031E7EC 0031B74C 80 7C 02 68 */ lwz r3, 0x268(r28) /* 8031E7F0 0031B750 48 00 BF 89 */ bl SetParticleLifetime__16CParticleGlobalsFi /* 8031E7F4 0031B754 80 7C 00 74 */ lwz r3, 0x74(r28) /* 8031E7F8 0031B758 80 1C 02 68 */ lwz r0, 0x268(r28) /* 8031E7FC 0031B75C 7C 03 00 00 */ cmpw r3, r0 /* 8031E800 0031B760 40 80 01 38 */ bge lbl_8031E938 /* 8031E804 0031B764 88 1C 00 88 */ lbz r0, 0x88(r28) /* 8031E808 0031B768 28 00 00 00 */ cmplwi r0, 0 /* 8031E80C 0031B76C 41 82 01 2C */ beq lbl_8031E938 /* 8031E810 0031B770 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 8031E814 0031B774 38 A1 00 1C */ addi r5, r1, 0x1c /* 8031E818 0031B778 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8031E81C 0031B77C 80 7C 00 28 */ lwz r3, 0x28(r28) /* 8031E820 0031B780 80 9C 00 74 */ lwz r4, 0x74(r28) /* 8031E824 0031B784 80 63 00 20 */ lwz r3, 0x20(r3) /* 8031E828 0031B788 81 83 00 00 */ lwz r12, 0(r3) /* 8031E82C 0031B78C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E830 0031B790 7D 89 03 A6 */ mtctr r12 /* 8031E834 0031B794 4E 80 04 21 */ bctrl /* 8031E838 0031B798 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031E83C 0031B79C 41 82 00 50 */ beq lbl_8031E88C /* 8031E840 0031B7A0 80 1C 00 34 */ lwz r0, 0x34(r28) /* 8031E844 0031B7A4 80 7C 00 3C */ lwz r3, 0x3c(r28) /* 8031E848 0031B7A8 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031E84C 0031B7AC 90 61 00 0C */ stw r3, 0xc(r1) /* 8031E850 0031B7B0 7C 03 02 14 */ add r0, r3, r0 /* 8031E854 0031B7B4 90 61 00 08 */ stw r3, 8(r1) /* 8031E858 0031B7B8 90 01 00 14 */ stw r0, 0x14(r1) /* 8031E85C 0031B7BC 90 01 00 10 */ stw r0, 0x10(r1) /* 8031E860 0031B7C0 48 00 00 08 */ b lbl_8031E868 lbl_8031E864: /* 8031E864 0031B7C4 38 63 00 38 */ addi r3, r3, 0x38 lbl_8031E868: /* 8031E868 0031B7C8 7C 03 00 40 */ cmplw r3, r0 /* 8031E86C 0031B7CC 40 82 FF F8 */ bne lbl_8031E864 /* 8031E870 0031B7D0 38 00 00 00 */ li r0, 0 /* 8031E874 0031B7D4 38 61 00 30 */ addi r3, r1, 0x30 /* 8031E878 0031B7D8 90 1C 00 34 */ stw r0, 0x34(r28) /* 8031E87C 0031B7DC 38 80 FF FF */ li r4, -1 /* 8031E880 0031B7E0 4B FF 3D 85 */ bl __dt__13CGlobalRandomFv /* 8031E884 0031B7E4 38 60 00 01 */ li r3, 1 /* 8031E888 0031B7E8 48 00 01 CC */ b lbl_8031EA54 lbl_8031E88C: /* 8031E88C 0031B7EC C0 41 00 1C */ lfs f2, 0x1c(r1) /* 8031E890 0031B7F0 C0 3C 00 98 */ lfs f1, 0x98(r28) /* 8031E894 0031B7F4 C0 0D 9D 08 */ lfs f0, lbl_805A88C8@sda21(r13) /* 8031E898 0031B7F8 EC 22 00 72 */ fmuls f1, f2, f1 /* 8031E89C 0031B7FC FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8031E8A0 0031B800 D0 21 00 18 */ stfs f1, 0x18(r1) /* 8031E8A4 0031B804 40 80 00 0C */ bge lbl_8031E8B0 /* 8031E8A8 0031B808 38 61 00 18 */ addi r3, r1, 0x18 /* 8031E8AC 0031B80C 48 00 00 08 */ b lbl_8031E8B4 lbl_8031E8B0: /* 8031E8B0 0031B810 38 6D 9D 08 */ addi r3, r13, lbl_805A88C8@sda21 lbl_8031E8B4: /* 8031E8B4 0031B814 C0 23 00 00 */ lfs f1, 0(r3) /* 8031E8B8 0031B818 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 8031E8BC 0031B81C C0 1C 00 8C */ lfs f0, 0x8c(r28) /* 8031E8C0 0031B820 EC 00 08 2A */ fadds f0, f0, f1 /* 8031E8C4 0031B824 D0 1C 00 8C */ stfs f0, 0x8c(r28) /* 8031E8C8 0031B828 C0 3C 00 8C */ lfs f1, 0x8c(r28) /* 8031E8CC 0031B82C 48 07 5B F9 */ bl floor /* 8031E8D0 0031B830 FC 00 08 1E */ fctiwz f0, f1 /* 8031E8D4 0031B834 3C 00 43 30 */ lis r0, 0x4330 /* 8031E8D8 0031B838 90 01 00 48 */ stw r0, 0x48(r1) /* 8031E8DC 0031B83C C8 22 CA 18 */ lfd f1, lbl_805AE738@sda21(r2) /* 8031E8E0 0031B840 D8 01 00 40 */ stfd f0, 0x40(r1) /* 8031E8E4 0031B844 C0 5C 00 8C */ lfs f2, 0x8c(r28) /* 8031E8E8 0031B848 83 61 00 44 */ lwz r27, 0x44(r1) /* 8031E8EC 0031B84C 6F 60 80 00 */ xoris r0, r27, 0x8000 /* 8031E8F0 0031B850 90 01 00 4C */ stw r0, 0x4c(r1) /* 8031E8F4 0031B854 C8 01 00 48 */ lfd f0, 0x48(r1) /* 8031E8F8 0031B858 EC 00 08 28 */ fsubs f0, f0, f1 /* 8031E8FC 0031B85C EC 02 00 28 */ fsubs f0, f2, f0 /* 8031E900 0031B860 D0 1C 00 8C */ stfs f0, 0x8c(r28) /* 8031E904 0031B864 80 7C 00 28 */ lwz r3, 0x28(r28) /* 8031E908 0031B868 80 63 00 1C */ lwz r3, 0x1c(r3) /* 8031E90C 0031B86C 28 03 00 00 */ cmplwi r3, 0 /* 8031E910 0031B870 41 82 00 1C */ beq lbl_8031E92C /* 8031E914 0031B874 81 83 00 00 */ lwz r12, 0(r3) /* 8031E918 0031B878 38 BC 00 90 */ addi r5, r28, 0x90 /* 8031E91C 0031B87C 80 9C 00 74 */ lwz r4, 0x74(r28) /* 8031E920 0031B880 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031E924 0031B884 7D 89 03 A6 */ mtctr r12 /* 8031E928 0031B888 4E 80 04 21 */ bctrl lbl_8031E92C: /* 8031E92C 0031B88C 7F 83 E3 78 */ mr r3, r28 /* 8031E930 0031B890 7F 64 DB 78 */ mr r4, r27 /* 8031E934 0031B894 4B FF ED B1 */ bl CreateNewParticles__11CElementGenFi lbl_8031E938: /* 8031E938 0031B898 88 1C 02 6C */ lbz r0, 0x26c(r28) /* 8031E93C 0031B89C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8031E940 0031B8A0 41 82 00 0C */ beq lbl_8031E94C /* 8031E944 0031B8A4 7F 83 E3 78 */ mr r3, r28 /* 8031E948 0031B8A8 4B FF EC D9 */ bl UpdatePSTranslationAndOrientation__11CElementGenFv lbl_8031E94C: /* 8031E94C 0031B8AC 80 1C 03 08 */ lwz r0, 0x308(r28) /* 8031E950 0031B8B0 2C 00 00 00 */ cmpwi r0, 0 /* 8031E954 0031B8B4 41 82 00 0C */ beq lbl_8031E960 /* 8031E958 0031B8B8 7F 83 E3 78 */ mr r3, r28 /* 8031E95C 0031B8BC 4B FF FB E1 */ bl UpdateLightParameters__11CElementGenFv lbl_8031E960: /* 8031E960 0031B8C0 C8 2D 9C F0 */ lfd f1, lbl_805A88B0@sda21(r13) /* 8031E964 0031B8C4 7F 83 E3 78 */ mr r3, r28 /* 8031E968 0031B8C8 4B FF E0 4D */ bl UpdateChildParticleSystems__11CElementGenFd /* 8031E96C 0031B8CC C8 0D 9C F0 */ lfd f0, lbl_805A88B0@sda21(r13) /* 8031E970 0031B8D0 3B BD 00 01 */ addi r29, r29, 1 /* 8031E974 0031B8D4 80 7C 00 74 */ lwz r3, 0x74(r28) /* 8031E978 0031B8D8 FF 9C 00 2A */ fadd f28, f28, f0 /* 8031E97C 0031B8DC 38 03 00 01 */ addi r0, r3, 1 /* 8031E980 0031B8E0 90 1C 00 74 */ stw r0, 0x74(r28) lbl_8031E984: /* 8031E984 0031B8E4 C8 1C 00 78 */ lfd f0, 0x78(r28) /* 8031E988 0031B8E8 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 8031E98C 0031B8EC 40 80 00 14 */ bge lbl_8031E9A0 /* 8031E990 0031B8F0 FC 1C 00 28 */ fsub f0, f28, f0 /* 8031E994 0031B8F4 FC 00 02 10 */ fabs f0, f0 /* 8031E998 0031B8F8 FC 00 D8 40 */ fcmpo cr0, f0, f27 /* 8031E99C 0031B8FC 40 80 FE 24 */ bge lbl_8031E7C0 lbl_8031E9A0: /* 8031E9A0 0031B900 C8 3C 00 78 */ lfd f1, 0x78(r28) /* 8031E9A4 0031B904 C8 02 CA 38 */ lfd f0, lbl_805AE758@sda21(r2) /* 8031E9A8 0031B908 FC 3C 08 28 */ fsub f1, f28, f1 /* 8031E9AC 0031B90C FC 20 0A 10 */ fabs f1, f1 /* 8031E9B0 0031B910 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8031E9B4 0031B914 40 80 00 14 */ bge lbl_8031E9C8 /* 8031E9B8 0031B918 DB 9C 00 78 */ stfd f28, 0x78(r28) /* 8031E9BC 0031B91C C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031E9C0 0031B920 D0 1C 00 80 */ stfs f0, 0x80(r28) /* 8031E9C4 0031B924 48 00 00 54 */ b lbl_8031EA18 lbl_8031E9C8: /* 8031E9C8 0031B928 6F A3 80 00 */ xoris r3, r29, 0x8000 /* 8031E9CC 0031B92C 3C 00 43 30 */ lis r0, 0x4330 /* 8031E9D0 0031B930 90 61 00 4C */ stw r3, 0x4c(r1) /* 8031E9D4 0031B934 7F 83 E3 78 */ mr r3, r28 /* 8031E9D8 0031B938 C8 62 CA 18 */ lfd f3, lbl_805AE738@sda21(r2) /* 8031E9DC 0031B93C 90 01 00 48 */ stw r0, 0x48(r1) /* 8031E9E0 0031B940 C8 2D 9C F0 */ lfd f1, lbl_805A88B0@sda21(r13) /* 8031E9E4 0031B944 C8 41 00 48 */ lfd f2, 0x48(r1) /* 8031E9E8 0031B948 C8 01 00 28 */ lfd f0, 0x28(r1) /* 8031E9EC 0031B94C FC 42 18 28 */ fsub f2, f2, f3 /* 8031E9F0 0031B950 FC 22 00 7C */ fnmsub f1, f2, f1, f0 /* 8031E9F4 0031B954 4B FF DF C1 */ bl UpdateChildParticleSystems__11CElementGenFd /* 8031E9F8 0031B958 C8 3C 00 78 */ lfd f1, 0x78(r28) /* 8031E9FC 0031B95C C8 0D 9C F0 */ lfd f0, lbl_805A88B0@sda21(r13) /* 8031EA00 0031B960 FC 3C 08 28 */ fsub f1, f28, f1 /* 8031EA04 0031B964 C0 42 C9 F0 */ lfs f2, lbl_805AE710@sda21(r2) /* 8031EA08 0031B968 FC 01 00 24 */ fdiv f0, f1, f0 /* 8031EA0C 0031B96C FC 00 00 18 */ frsp f0, f0 /* 8031EA10 0031B970 EC 02 00 28 */ fsubs f0, f2, f0 /* 8031EA14 0031B974 D0 1C 00 80 */ stfs f0, 0x80(r28) lbl_8031EA18: /* 8031EA18 0031B978 7F 83 E3 78 */ mr r3, r28 /* 8031EA1C 0031B97C 4B FF 90 01 */ bl BuildParticleSystemBounds__11CElementGenFv /* 8031EA20 0031B980 48 06 69 89 */ bl OSGetTime /* 8031EA24 0031B984 7C 9E 20 10 */ subfc r4, r30, r4 /* 8031EA28 0031B988 7C 7F 19 10 */ subfe r3, r31, r3 /* 8031EA2C 0031B98C 48 06 B5 39 */ bl __cvt_sll_flt /* 8031EA30 0031B990 3C 80 80 5A */ lis r4, mData__10CStopwatch@ha /* 8031EA34 0031B994 38 61 00 30 */ addi r3, r1, 0x30 /* 8031EA38 0031B998 38 A4 FD 30 */ addi r5, r4, mData__10CStopwatch@l /* 8031EA3C 0031B99C 38 80 FF FF */ li r4, -1 /* 8031EA40 0031B9A0 C0 05 00 10 */ lfs f0, 0x10(r5) /* 8031EA44 0031B9A4 EC 01 00 32 */ fmuls f0, f1, f0 /* 8031EA48 0031B9A8 D0 1C 02 CC */ stfs f0, 0x2cc(r28) /* 8031EA4C 0031B9AC 4B FF 3B B9 */ bl __dt__13CGlobalRandomFv /* 8031EA50 0031B9B0 38 60 00 00 */ li r3, 0 lbl_8031EA54: /* 8031EA54 0031B9B4 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 8031EA58 0031B9B8 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 8031EA5C 0031B9BC E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 8031EA60 0031B9C0 CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 8031EA64 0031B9C4 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0 /* 8031EA68 0031B9C8 CB A1 00 90 */ lfd f29, 0x90(r1) /* 8031EA6C 0031B9CC E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0 /* 8031EA70 0031B9D0 CB 81 00 80 */ lfd f28, 0x80(r1) /* 8031EA74 0031B9D4 E3 61 00 78 */ psq_l f27, 120(r1), 0, qr0 /* 8031EA78 0031B9D8 CB 61 00 70 */ lfd f27, 0x70(r1) /* 8031EA7C 0031B9DC BB 61 00 5C */ lmw r27, 0x5c(r1) /* 8031EA80 0031B9E0 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 8031EA84 0031B9E4 7C 08 03 A6 */ mtlr r0 /* 8031EA88 0031B9E8 38 21 00 C0 */ addi r1, r1, 0xc0 /* 8031EA8C 0031B9EC 4E 80 00 20 */ blr .global Update__11CElementGenFd Update__11CElementGenFd: /* 8031EA90 0031B9F0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8031EA94 0031B9F4 7C 08 02 A6 */ mflr r0 /* 8031EA98 0031B9F8 3C A0 50 41 */ lis r5, 0x50415254@ha /* 8031EA9C 0031B9FC 90 01 00 34 */ stw r0, 0x34(r1) /* 8031EAA0 0031BA00 38 01 00 0C */ addi r0, r1, 0xc /* 8031EAA4 0031BA04 DB E1 00 28 */ stfd f31, 0x28(r1) /* 8031EAA8 0031BA08 FF E0 08 90 */ fmr f31, f1 /* 8031EAAC 0031BA0C 93 E1 00 24 */ stw r31, 0x24(r1) /* 8031EAB0 0031BA10 7C 7F 1B 78 */ mr r31, r3 /* 8031EAB4 0031BA14 38 65 52 54 */ addi r3, r5, 0x50415254@l /* 8031EAB8 0031BA18 80 8D A8 F4 */ lwz r4, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) /* 8031EABC 0031BA1C 93 E1 00 10 */ stw r31, 0x10(r1) /* 8031EAC0 0031BA20 90 61 00 0C */ stw r3, 0xc(r1) /* 8031EAC4 0031BA24 90 81 00 14 */ stw r4, 0x14(r1) /* 8031EAC8 0031BA28 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) /* 8031EACC 0031BA2C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031EAD0 0031BA30 80 03 00 04 */ lwz r0, 4(r3) /* 8031EAD4 0031BA34 28 00 00 00 */ cmplwi r0, 0 /* 8031EAD8 0031BA38 41 82 00 78 */ beq lbl_8031EB50 /* 8031EADC 0031BA3C 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031EAE0 0031BA40 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8031EAE4 0031BA44 40 82 00 6C */ bne lbl_8031EB50 /* 8031EAE8 0031BA48 38 00 00 00 */ li r0, 0 /* 8031EAEC 0031BA4C 38 A1 00 08 */ addi r5, r1, 8 /* 8031EAF0 0031BA50 90 01 00 08 */ stw r0, 8(r1) /* 8031EAF4 0031BA54 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031EAF8 0031BA58 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031EAFC 0031BA5C 80 63 00 04 */ lwz r3, 4(r3) /* 8031EB00 0031BA60 81 83 00 00 */ lwz r12, 0(r3) /* 8031EB04 0031BA64 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031EB08 0031BA68 7D 89 03 A6 */ mtctr r12 /* 8031EB0C 0031BA6C 4E 80 04 21 */ bctrl /* 8031EB10 0031BA70 80 81 00 08 */ lwz r4, 8(r1) /* 8031EB14 0031BA74 3C 00 43 30 */ lis r0, 0x4330 /* 8031EB18 0031BA78 90 01 00 18 */ stw r0, 0x18(r1) /* 8031EB1C 0031BA7C 7F E3 FB 78 */ mr r3, r31 /* 8031EB20 0031BA80 6C 80 80 00 */ xoris r0, r4, 0x8000 /* 8031EB24 0031BA84 C8 22 CA 18 */ lfd f1, lbl_805AE738@sda21(r2) /* 8031EB28 0031BA88 90 01 00 1C */ stw r0, 0x1c(r1) /* 8031EB2C 0031BA8C C8 4D 9C F0 */ lfd f2, lbl_805A88B0@sda21(r13) /* 8031EB30 0031BA90 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8031EB34 0031BA94 FC 00 08 28 */ fsub f0, f0, f1 /* 8031EB38 0031BA98 FC 22 00 32 */ fmul f1, f2, f0 /* 8031EB3C 0031BA9C 4B FF FB 0D */ bl InternalUpdate__11CElementGenFd /* 8031EB40 0031BAA0 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031EB44 0031BAA4 38 60 00 01 */ li r3, 1 /* 8031EB48 0031BAA8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8031EB4C 0031BAAC 98 1F 02 6D */ stb r0, 0x26d(r31) lbl_8031EB50: /* 8031EB50 0031BAB0 FC 20 F8 90 */ fmr f1, f31 /* 8031EB54 0031BAB4 7F E3 FB 78 */ mr r3, r31 /* 8031EB58 0031BAB8 4B FF FA F1 */ bl InternalUpdate__11CElementGenFd /* 8031EB5C 0031BABC 34 01 00 0C */ addic. r0, r1, 0xc /* 8031EB60 0031BAC0 41 82 00 0C */ beq lbl_8031EB6C /* 8031EB64 0031BAC4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031EB68 0031BAC8 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13) lbl_8031EB6C: /* 8031EB6C 0031BACC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8031EB70 0031BAD0 CB E1 00 28 */ lfd f31, 0x28(r1) /* 8031EB74 0031BAD4 83 E1 00 24 */ lwz r31, 0x24(r1) /* 8031EB78 0031BAD8 7C 08 03 A6 */ mtlr r0 /* 8031EB7C 0031BADC 38 21 00 30 */ addi r1, r1, 0x30 /* 8031EB80 0031BAE0 4E 80 00 20 */ blr .global SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f: /* 8031EB84 0031BAE4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031EB88 0031BAE8 7C 08 02 A6 */ mflr r0 /* 8031EB8C 0031BAEC 90 01 00 24 */ stw r0, 0x24(r1) /* 8031EB90 0031BAF0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031EB94 0031BAF4 7C 9F 23 78 */ mr r31, r4 /* 8031EB98 0031BAF8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031EB9C 0031BAFC 7C 7E 1B 78 */ mr r30, r3 /* 8031EBA0 0031BB00 81 83 00 00 */ lwz r12, 0(r3) /* 8031EBA4 0031BB04 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8031EBA8 0031BB08 7D 89 03 A6 */ mtctr r12 /* 8031EBAC 0031BB0C 4E 80 04 21 */ bctrl /* 8031EBB0 0031BB10 C0 5F 00 2C */ lfs f2, 0x2c(r31) /* 8031EBB4 0031BB14 7F C3 F3 78 */ mr r3, r30 /* 8031EBB8 0031BB18 C0 3F 00 1C */ lfs f1, 0x1c(r31) /* 8031EBBC 0031BB1C 38 81 00 08 */ addi r4, r1, 8 /* 8031EBC0 0031BB20 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 8031EBC4 0031BB24 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8031EBC8 0031BB28 D0 01 00 08 */ stfs f0, 8(r1) /* 8031EBCC 0031BB2C D0 41 00 10 */ stfs f2, 0x10(r1) /* 8031EBD0 0031BB30 81 9E 00 00 */ lwz r12, 0(r30) /* 8031EBD4 0031BB34 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8031EBD8 0031BB38 7D 89 03 A6 */ mtctr r12 /* 8031EBDC 0031BB3C 4E 80 04 21 */ bctrl /* 8031EBE0 0031BB40 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031EBE4 0031BB44 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031EBE8 0031BB48 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031EBEC 0031BB4C 7C 08 03 A6 */ mtlr r0 /* 8031EBF0 0031BB50 38 21 00 20 */ addi r1, r1, 0x20 /* 8031EBF4 0031BB54 4E 80 00 20 */ blr .global SetGlobalOrientation__11CElementGenFRC12CTransform4f SetGlobalOrientation__11CElementGenFRC12CTransform4f: /* 8031EBF8 0031BB58 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031EBFC 0031BB5C 7C 08 02 A6 */ mflr r0 /* 8031EC00 0031BB60 90 01 00 14 */ stw r0, 0x14(r1) /* 8031EC04 0031BB64 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031EC08 0031BB68 93 C1 00 08 */ stw r30, 8(r1) /* 8031EC0C 0031BB6C 7C 7E 1B 78 */ mr r30, r3 /* 8031EC10 0031BB70 38 7E 02 2C */ addi r3, r30, 0x22c /* 8031EC14 0031BB74 4B FF 3F 95 */ bl SetRotation__12CTransform4fFRC12CTransform4f /* 8031EC18 0031BB78 83 FE 02 9C */ lwz r31, 0x29c(r30) /* 8031EC1C 0031BB7C 48 00 00 20 */ b lbl_8031EC3C lbl_8031EC20: /* 8031EC20 0031BB80 80 7F 00 00 */ lwz r3, 0(r31) /* 8031EC24 0031BB84 38 9E 02 2C */ addi r4, r30, 0x22c /* 8031EC28 0031BB88 81 83 00 00 */ lwz r12, 0(r3) /* 8031EC2C 0031BB8C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8031EC30 0031BB90 7D 89 03 A6 */ mtctr r12 /* 8031EC34 0031BB94 4E 80 04 21 */ bctrl /* 8031EC38 0031BB98 3B FF 00 04 */ addi r31, r31, 4 lbl_8031EC3C: /* 8031EC3C 0031BB9C 80 1E 02 94 */ lwz r0, 0x294(r30) /* 8031EC40 0031BBA0 80 7E 02 9C */ lwz r3, 0x29c(r30) /* 8031EC44 0031BBA4 54 00 10 3A */ slwi r0, r0, 2 /* 8031EC48 0031BBA8 7C 03 02 14 */ add r0, r3, r0 /* 8031EC4C 0031BBAC 7C 1F 00 40 */ cmplw r31, r0 /* 8031EC50 0031BBB0 40 82 FF D0 */ bne lbl_8031EC20 /* 8031EC54 0031BBB4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031EC58 0031BBB8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8031EC5C 0031BBBC 83 C1 00 08 */ lwz r30, 8(r1) /* 8031EC60 0031BBC0 7C 08 03 A6 */ mtlr r0 /* 8031EC64 0031BBC4 38 21 00 10 */ addi r1, r1, 0x10 /* 8031EC68 0031BBC8 4E 80 00 20 */ blr .global SetOrientation__11CElementGenFRC12CTransform4f SetOrientation__11CElementGenFRC12CTransform4f: /* 8031EC6C 0031BBCC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8031EC70 0031BBD0 7C 08 02 A6 */ mflr r0 /* 8031EC74 0031BBD4 90 01 00 74 */ stw r0, 0x74(r1) /* 8031EC78 0031BBD8 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8031EC7C 0031BBDC 93 C1 00 68 */ stw r30, 0x68(r1) /* 8031EC80 0031BBE0 7C 9E 23 78 */ mr r30, r4 /* 8031EC84 0031BBE4 93 A1 00 64 */ stw r29, 0x64(r1) /* 8031EC88 0031BBE8 7C 7D 1B 78 */ mr r29, r3 /* 8031EC8C 0031BBEC 38 7D 01 D8 */ addi r3, r29, 0x1d8 /* 8031EC90 0031BBF0 4B FF 3E B1 */ bl __as__12CTransform4fFRC12CTransform4f /* 8031EC94 0031BBF4 38 61 00 08 */ addi r3, r1, 8 /* 8031EC98 0031BBF8 38 9D 01 D8 */ addi r4, r29, 0x1d8 /* 8031EC9C 0031BBFC 4B FF 40 01 */ bl GetQuickInverse__12CTransform4fCFv /* 8031ECA0 0031BC00 38 61 00 38 */ addi r3, r1, 0x38 /* 8031ECA4 0031BC04 38 81 00 08 */ addi r4, r1, 8 /* 8031ECA8 0031BC08 4B FF 44 4D */ bl BuildMatrix3f__12CTransform4fCFv /* 8031ECAC 0031BC0C 38 7D 02 08 */ addi r3, r29, 0x208 /* 8031ECB0 0031BC10 38 81 00 38 */ addi r4, r1, 0x38 /* 8031ECB4 0031BC14 4B FF 13 45 */ bl __as__9CMatrix3fFRC9CMatrix3f /* 8031ECB8 0031BC18 83 FD 02 9C */ lwz r31, 0x29c(r29) /* 8031ECBC 0031BC1C 48 00 00 20 */ b lbl_8031ECDC lbl_8031ECC0: /* 8031ECC0 0031BC20 80 7F 00 00 */ lwz r3, 0(r31) /* 8031ECC4 0031BC24 7F C4 F3 78 */ mr r4, r30 /* 8031ECC8 0031BC28 81 83 00 00 */ lwz r12, 0(r3) /* 8031ECCC 0031BC2C 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8031ECD0 0031BC30 7D 89 03 A6 */ mtctr r12 /* 8031ECD4 0031BC34 4E 80 04 21 */ bctrl /* 8031ECD8 0031BC38 3B FF 00 04 */ addi r31, r31, 4 lbl_8031ECDC: /* 8031ECDC 0031BC3C 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031ECE0 0031BC40 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031ECE4 0031BC44 54 00 10 3A */ slwi r0, r0, 2 /* 8031ECE8 0031BC48 7C 03 02 14 */ add r0, r3, r0 /* 8031ECEC 0031BC4C 7C 1F 00 40 */ cmplw r31, r0 /* 8031ECF0 0031BC50 40 82 FF D0 */ bne lbl_8031ECC0 /* 8031ECF4 0031BC54 80 01 00 74 */ lwz r0, 0x74(r1) /* 8031ECF8 0031BC58 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8031ECFC 0031BC5C 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8031ED00 0031BC60 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8031ED04 0031BC64 7C 08 03 A6 */ mtlr r0 /* 8031ED08 0031BC68 38 21 00 70 */ addi r1, r1, 0x70 /* 8031ED0C 0031BC6C 4E 80 00 20 */ blr .global SetLocalScale__11CElementGenFRC9CVector3f SetLocalScale__11CElementGenFRC9CVector3f: /* 8031ED10 0031BC70 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8031ED14 0031BC74 7C 08 02 A6 */ mflr r0 /* 8031ED18 0031BC78 90 01 00 84 */ stw r0, 0x84(r1) /* 8031ED1C 0031BC7C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8031ED20 0031BC80 93 C1 00 78 */ stw r30, 0x78(r1) /* 8031ED24 0031BC84 7C 9E 23 78 */ mr r30, r4 /* 8031ED28 0031BC88 93 A1 00 74 */ stw r29, 0x74(r1) /* 8031ED2C 0031BC8C 7C 7D 1B 78 */ mr r29, r3 /* 8031ED30 0031BC90 38 61 00 38 */ addi r3, r1, 0x38 /* 8031ED34 0031BC94 C0 04 00 00 */ lfs f0, 0(r4) /* 8031ED38 0031BC98 D0 1D 01 6C */ stfs f0, 0x16c(r29) /* 8031ED3C 0031BC9C C0 04 00 04 */ lfs f0, 4(r4) /* 8031ED40 0031BCA0 D0 1D 01 70 */ stfs f0, 0x170(r29) /* 8031ED44 0031BCA4 C0 04 00 08 */ lfs f0, 8(r4) /* 8031ED48 0031BCA8 D0 1D 01 74 */ stfs f0, 0x174(r29) /* 8031ED4C 0031BCAC C0 3D 01 6C */ lfs f1, 0x16c(r29) /* 8031ED50 0031BCB0 C0 5D 01 70 */ lfs f2, 0x170(r29) /* 8031ED54 0031BCB4 C0 7D 01 74 */ lfs f3, 0x174(r29) /* 8031ED58 0031BCB8 4B FF 44 B1 */ bl Scale__12CTransform4fFfff /* 8031ED5C 0031BCBC 38 7D 01 78 */ addi r3, r29, 0x178 /* 8031ED60 0031BCC0 38 81 00 38 */ addi r4, r1, 0x38 /* 8031ED64 0031BCC4 4B FF 3D DD */ bl __as__12CTransform4fFRC12CTransform4f /* 8031ED68 0031BCC8 C0 62 C9 F0 */ lfs f3, lbl_805AE710@sda21(r2) /* 8031ED6C 0031BCCC 38 61 00 08 */ addi r3, r1, 8 /* 8031ED70 0031BCD0 C0 3D 01 6C */ lfs f1, 0x16c(r29) /* 8031ED74 0031BCD4 C0 5D 01 70 */ lfs f2, 0x170(r29) /* 8031ED78 0031BCD8 C0 1D 01 74 */ lfs f0, 0x174(r29) /* 8031ED7C 0031BCDC EC 23 08 24 */ fdivs f1, f3, f1 /* 8031ED80 0031BCE0 EC 43 10 24 */ fdivs f2, f3, f2 /* 8031ED84 0031BCE4 EC 63 00 24 */ fdivs f3, f3, f0 /* 8031ED88 0031BCE8 4B FF 44 81 */ bl Scale__12CTransform4fFfff /* 8031ED8C 0031BCEC 38 7D 01 A8 */ addi r3, r29, 0x1a8 /* 8031ED90 0031BCF0 38 81 00 08 */ addi r4, r1, 8 /* 8031ED94 0031BCF4 4B FF 3D AD */ bl __as__12CTransform4fFRC12CTransform4f /* 8031ED98 0031BCF8 83 FD 02 9C */ lwz r31, 0x29c(r29) /* 8031ED9C 0031BCFC 48 00 00 20 */ b lbl_8031EDBC lbl_8031EDA0: /* 8031EDA0 0031BD00 80 7F 00 00 */ lwz r3, 0(r31) /* 8031EDA4 0031BD04 7F C4 F3 78 */ mr r4, r30 /* 8031EDA8 0031BD08 81 83 00 00 */ lwz r12, 0(r3) /* 8031EDAC 0031BD0C 81 8C 00 28 */ lwz r12, 0x28(r12) /* 8031EDB0 0031BD10 7D 89 03 A6 */ mtctr r12 /* 8031EDB4 0031BD14 4E 80 04 21 */ bctrl /* 8031EDB8 0031BD18 3B FF 00 04 */ addi r31, r31, 4 lbl_8031EDBC: /* 8031EDBC 0031BD1C 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031EDC0 0031BD20 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031EDC4 0031BD24 54 00 10 3A */ slwi r0, r0, 2 /* 8031EDC8 0031BD28 7C 03 02 14 */ add r0, r3, r0 /* 8031EDCC 0031BD2C 7C 1F 00 40 */ cmplw r31, r0 /* 8031EDD0 0031BD30 40 82 FF D0 */ bne lbl_8031EDA0 /* 8031EDD4 0031BD34 80 01 00 84 */ lwz r0, 0x84(r1) /* 8031EDD8 0031BD38 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8031EDDC 0031BD3C 83 C1 00 78 */ lwz r30, 0x78(r1) /* 8031EDE0 0031BD40 83 A1 00 74 */ lwz r29, 0x74(r1) /* 8031EDE4 0031BD44 7C 08 03 A6 */ mtlr r0 /* 8031EDE8 0031BD48 38 21 00 80 */ addi r1, r1, 0x80 /* 8031EDEC 0031BD4C 4E 80 00 20 */ blr .global SetGlobalScale__11CElementGenFRC9CVector3f SetGlobalScale__11CElementGenFRC9CVector3f: /* 8031EDF0 0031BD50 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8031EDF4 0031BD54 7C 08 02 A6 */ mflr r0 /* 8031EDF8 0031BD58 90 01 00 84 */ stw r0, 0x84(r1) /* 8031EDFC 0031BD5C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8031EE00 0031BD60 93 C1 00 78 */ stw r30, 0x78(r1) /* 8031EE04 0031BD64 7C 9E 23 78 */ mr r30, r4 /* 8031EE08 0031BD68 93 A1 00 74 */ stw r29, 0x74(r1) /* 8031EE0C 0031BD6C 7C 7D 1B 78 */ mr r29, r3 /* 8031EE10 0031BD70 38 61 00 38 */ addi r3, r1, 0x38 /* 8031EE14 0031BD74 C0 04 00 00 */ lfs f0, 0(r4) /* 8031EE18 0031BD78 D0 1D 01 00 */ stfs f0, 0x100(r29) /* 8031EE1C 0031BD7C C0 04 00 04 */ lfs f0, 4(r4) /* 8031EE20 0031BD80 D0 1D 01 04 */ stfs f0, 0x104(r29) /* 8031EE24 0031BD84 C0 04 00 08 */ lfs f0, 8(r4) /* 8031EE28 0031BD88 D0 1D 01 08 */ stfs f0, 0x108(r29) /* 8031EE2C 0031BD8C C0 3D 01 00 */ lfs f1, 0x100(r29) /* 8031EE30 0031BD90 C0 5D 01 04 */ lfs f2, 0x104(r29) /* 8031EE34 0031BD94 C0 7D 01 08 */ lfs f3, 0x108(r29) /* 8031EE38 0031BD98 4B FF 43 D1 */ bl Scale__12CTransform4fFfff /* 8031EE3C 0031BD9C 38 7D 01 0C */ addi r3, r29, 0x10c /* 8031EE40 0031BDA0 38 81 00 38 */ addi r4, r1, 0x38 /* 8031EE44 0031BDA4 4B FF 3C FD */ bl __as__12CTransform4fFRC12CTransform4f /* 8031EE48 0031BDA8 C0 62 C9 F0 */ lfs f3, lbl_805AE710@sda21(r2) /* 8031EE4C 0031BDAC 38 61 00 08 */ addi r3, r1, 8 /* 8031EE50 0031BDB0 C0 3D 01 00 */ lfs f1, 0x100(r29) /* 8031EE54 0031BDB4 C0 5D 01 04 */ lfs f2, 0x104(r29) /* 8031EE58 0031BDB8 C0 1D 01 08 */ lfs f0, 0x108(r29) /* 8031EE5C 0031BDBC EC 23 08 24 */ fdivs f1, f3, f1 /* 8031EE60 0031BDC0 EC 43 10 24 */ fdivs f2, f3, f2 /* 8031EE64 0031BDC4 EC 63 00 24 */ fdivs f3, f3, f0 /* 8031EE68 0031BDC8 4B FF 43 A1 */ bl Scale__12CTransform4fFfff /* 8031EE6C 0031BDCC 38 7D 01 3C */ addi r3, r29, 0x13c /* 8031EE70 0031BDD0 38 81 00 08 */ addi r4, r1, 8 /* 8031EE74 0031BDD4 4B FF 3C CD */ bl __as__12CTransform4fFRC12CTransform4f /* 8031EE78 0031BDD8 83 FD 02 9C */ lwz r31, 0x29c(r29) /* 8031EE7C 0031BDDC 48 00 00 20 */ b lbl_8031EE9C lbl_8031EE80: /* 8031EE80 0031BDE0 80 7F 00 00 */ lwz r3, 0(r31) /* 8031EE84 0031BDE4 7F C4 F3 78 */ mr r4, r30 /* 8031EE88 0031BDE8 81 83 00 00 */ lwz r12, 0(r3) /* 8031EE8C 0031BDEC 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8031EE90 0031BDF0 7D 89 03 A6 */ mtctr r12 /* 8031EE94 0031BDF4 4E 80 04 21 */ bctrl /* 8031EE98 0031BDF8 3B FF 00 04 */ addi r31, r31, 4 lbl_8031EE9C: /* 8031EE9C 0031BDFC 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031EEA0 0031BE00 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031EEA4 0031BE04 54 00 10 3A */ slwi r0, r0, 2 /* 8031EEA8 0031BE08 7C 03 02 14 */ add r0, r3, r0 /* 8031EEAC 0031BE0C 7C 1F 00 40 */ cmplw r31, r0 /* 8031EEB0 0031BE10 40 82 FF D0 */ bne lbl_8031EE80 /* 8031EEB4 0031BE14 80 01 00 84 */ lwz r0, 0x84(r1) /* 8031EEB8 0031BE18 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8031EEBC 0031BE1C 83 C1 00 78 */ lwz r30, 0x78(r1) /* 8031EEC0 0031BE20 83 A1 00 74 */ lwz r29, 0x74(r1) /* 8031EEC4 0031BE24 7C 08 03 A6 */ mtlr r0 /* 8031EEC8 0031BE28 38 21 00 80 */ addi r1, r1, 0x80 /* 8031EECC 0031BE2C 4E 80 00 20 */ blr .global GetModulationColor__11CElementGenCFv GetModulationColor__11CElementGenCFv: /* 8031EED0 0031BE30 38 63 03 38 */ addi r3, r3, 0x338 /* 8031EED4 0031BE34 4E 80 00 20 */ blr .global SetModulationColor__11CElementGenFRC6CColor SetModulationColor__11CElementGenFRC6CColor: /* 8031EED8 0031BE38 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031EEDC 0031BE3C 7C 08 02 A6 */ mflr r0 /* 8031EEE0 0031BE40 90 01 00 24 */ stw r0, 0x24(r1) /* 8031EEE4 0031BE44 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031EEE8 0031BE48 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031EEEC 0031BE4C 7C 9E 23 78 */ mr r30, r4 /* 8031EEF0 0031BE50 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031EEF4 0031BE54 7C 7D 1B 78 */ mr r29, r3 /* 8031EEF8 0031BE58 80 04 00 00 */ lwz r0, 0(r4) /* 8031EEFC 0031BE5C 90 03 03 38 */ stw r0, 0x338(r3) /* 8031EF00 0031BE60 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 8031EF04 0031BE64 48 00 00 20 */ b lbl_8031EF24 lbl_8031EF08: /* 8031EF08 0031BE68 80 7F 00 00 */ lwz r3, 0(r31) /* 8031EF0C 0031BE6C 7F C4 F3 78 */ mr r4, r30 /* 8031EF10 0031BE70 81 83 00 00 */ lwz r12, 0(r3) /* 8031EF14 0031BE74 81 8C 00 30 */ lwz r12, 0x30(r12) /* 8031EF18 0031BE78 7D 89 03 A6 */ mtctr r12 /* 8031EF1C 0031BE7C 4E 80 04 21 */ bctrl /* 8031EF20 0031BE80 3B FF 00 04 */ addi r31, r31, 4 lbl_8031EF24: /* 8031EF24 0031BE84 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031EF28 0031BE88 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031EF2C 0031BE8C 54 00 10 3A */ slwi r0, r0, 2 /* 8031EF30 0031BE90 7C 03 02 14 */ add r0, r3, r0 /* 8031EF34 0031BE94 7C 1F 00 40 */ cmplw r31, r0 /* 8031EF38 0031BE98 40 82 FF D0 */ bne lbl_8031EF08 /* 8031EF3C 0031BE9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031EF40 0031BEA0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031EF44 0031BEA4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031EF48 0031BEA8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031EF4C 0031BEAC 7C 08 03 A6 */ mtlr r0 /* 8031EF50 0031BEB0 38 21 00 20 */ addi r1, r1, 0x20 /* 8031EF54 0031BEB4 4E 80 00 20 */ blr .global SetGlobalTranslation__11CElementGenFRC9CVector3f SetGlobalTranslation__11CElementGenFRC9CVector3f: /* 8031EF58 0031BEB8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031EF5C 0031BEBC 7C 08 02 A6 */ mflr r0 /* 8031EF60 0031BEC0 90 01 00 24 */ stw r0, 0x24(r1) /* 8031EF64 0031BEC4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031EF68 0031BEC8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031EF6C 0031BECC 7C 9E 23 78 */ mr r30, r4 /* 8031EF70 0031BED0 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031EF74 0031BED4 7C 7D 1B 78 */ mr r29, r3 /* 8031EF78 0031BED8 C0 04 00 00 */ lfs f0, 0(r4) /* 8031EF7C 0031BEDC D0 03 00 E8 */ stfs f0, 0xe8(r3) /* 8031EF80 0031BEE0 C0 04 00 04 */ lfs f0, 4(r4) /* 8031EF84 0031BEE4 D0 03 00 EC */ stfs f0, 0xec(r3) /* 8031EF88 0031BEE8 C0 04 00 08 */ lfs f0, 8(r4) /* 8031EF8C 0031BEEC D0 03 00 F0 */ stfs f0, 0xf0(r3) /* 8031EF90 0031BEF0 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 8031EF94 0031BEF4 48 00 00 20 */ b lbl_8031EFB4 lbl_8031EF98: /* 8031EF98 0031BEF8 80 7F 00 00 */ lwz r3, 0(r31) /* 8031EF9C 0031BEFC 7F C4 F3 78 */ mr r4, r30 /* 8031EFA0 0031BF00 81 83 00 00 */ lwz r12, 0(r3) /* 8031EFA4 0031BF04 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8031EFA8 0031BF08 7D 89 03 A6 */ mtctr r12 /* 8031EFAC 0031BF0C 4E 80 04 21 */ bctrl /* 8031EFB0 0031BF10 3B FF 00 04 */ addi r31, r31, 4 lbl_8031EFB4: /* 8031EFB4 0031BF14 80 1D 02 94 */ lwz r0, 0x294(r29) /* 8031EFB8 0031BF18 80 7D 02 9C */ lwz r3, 0x29c(r29) /* 8031EFBC 0031BF1C 54 00 10 3A */ slwi r0, r0, 2 /* 8031EFC0 0031BF20 7C 03 02 14 */ add r0, r3, r0 /* 8031EFC4 0031BF24 7C 1F 00 40 */ cmplw r31, r0 /* 8031EFC8 0031BF28 40 82 FF D0 */ bne lbl_8031EF98 /* 8031EFCC 0031BF2C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031EFD0 0031BF30 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031EFD4 0031BF34 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031EFD8 0031BF38 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031EFDC 0031BF3C 7C 08 03 A6 */ mtlr r0 /* 8031EFE0 0031BF40 38 21 00 20 */ addi r1, r1, 0x20 /* 8031EFE4 0031BF44 4E 80 00 20 */ blr .global SetTranslation__11CElementGenFRC9CVector3f SetTranslation__11CElementGenFRC9CVector3f: /* 8031EFE8 0031BF48 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8031EFEC 0031BF4C 7C 08 02 A6 */ mflr r0 /* 8031EFF0 0031BF50 90 01 00 34 */ stw r0, 0x34(r1) /* 8031EFF4 0031BF54 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8031EFF8 0031BF58 93 C1 00 28 */ stw r30, 0x28(r1) /* 8031EFFC 0031BF5C 93 A1 00 24 */ stw r29, 0x24(r1) /* 8031F000 0031BF60 7C 9D 23 78 */ mr r29, r4 /* 8031F004 0031BF64 93 81 00 20 */ stw r28, 0x20(r1) /* 8031F008 0031BF68 7C 7C 1B 78 */ mr r28, r3 /* 8031F00C 0031BF6C C0 04 00 00 */ lfs f0, 0(r4) /* 8031F010 0031BF70 D0 03 00 DC */ stfs f0, 0xdc(r3) /* 8031F014 0031BF74 C0 04 00 04 */ lfs f0, 4(r4) /* 8031F018 0031BF78 D0 03 00 E0 */ stfs f0, 0xe0(r3) /* 8031F01C 0031BF7C C0 04 00 08 */ lfs f0, 8(r4) /* 8031F020 0031BF80 D0 03 00 E4 */ stfs f0, 0xe4(r3) /* 8031F024 0031BF84 83 E3 02 9C */ lwz r31, 0x29c(r3) /* 8031F028 0031BF88 48 00 00 FC */ b lbl_8031F124 lbl_8031F02C: /* 8031F02C 0031BF8C 83 DF 00 00 */ lwz r30, 0(r31) /* 8031F030 0031BF90 7F C3 F3 78 */ mr r3, r30 /* 8031F034 0031BF94 81 9E 00 00 */ lwz r12, 0(r30) /* 8031F038 0031BF98 81 8C 00 74 */ lwz r12, 0x74(r12) /* 8031F03C 0031BF9C 7D 89 03 A6 */ mtctr r12 /* 8031F040 0031BFA0 4E 80 04 21 */ bctrl /* 8031F044 0031BFA4 3C 03 BA B4 */ addis r0, r3, 0xbab4 /* 8031F048 0031BFA8 28 00 53 43 */ cmplwi r0, 0x5343 /* 8031F04C 0031BFAC 40 82 00 50 */ bne lbl_8031F09C /* 8031F050 0031BFB0 C0 3D 00 04 */ lfs f1, 4(r29) /* 8031F054 0031BFB4 7F C3 F3 78 */ mr r3, r30 /* 8031F058 0031BFB8 C0 1C 02 C4 */ lfs f0, 0x2c4(r28) /* 8031F05C 0031BFBC 38 81 00 14 */ addi r4, r1, 0x14 /* 8031F060 0031BFC0 C0 7D 00 08 */ lfs f3, 8(r29) /* 8031F064 0031BFC4 C0 5C 02 C8 */ lfs f2, 0x2c8(r28) /* 8031F068 0031BFC8 EC 81 00 2A */ fadds f4, f1, f0 /* 8031F06C 0031BFCC C0 1C 02 C0 */ lfs f0, 0x2c0(r28) /* 8031F070 0031BFD0 C0 3D 00 00 */ lfs f1, 0(r29) /* 8031F074 0031BFD4 EC 43 10 2A */ fadds f2, f3, f2 /* 8031F078 0031BFD8 D0 81 00 18 */ stfs f4, 0x18(r1) /* 8031F07C 0031BFDC EC 01 00 2A */ fadds f0, f1, f0 /* 8031F080 0031BFE0 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 8031F084 0031BFE4 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8031F088 0031BFE8 81 9E 00 00 */ lwz r12, 0(r30) /* 8031F08C 0031BFEC 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031F090 0031BFF0 7D 89 03 A6 */ mtctr r12 /* 8031F094 0031BFF4 4E 80 04 21 */ bctrl /* 8031F098 0031BFF8 48 00 00 88 */ b lbl_8031F120 lbl_8031F09C: /* 8031F09C 0031BFFC 7F C3 F3 78 */ mr r3, r30 /* 8031F0A0 0031C000 81 9E 00 00 */ lwz r12, 0(r30) /* 8031F0A4 0031C004 81 8C 00 74 */ lwz r12, 0x74(r12) /* 8031F0A8 0031C008 7D 89 03 A6 */ mtctr r12 /* 8031F0AC 0031C00C 4E 80 04 21 */ bctrl /* 8031F0B0 0031C010 3C 03 AC A9 */ addis r0, r3, 0xaca9 /* 8031F0B4 0031C014 28 00 48 43 */ cmplwi r0, 0x4843 /* 8031F0B8 0031C018 40 82 00 50 */ bne lbl_8031F108 /* 8031F0BC 0031C01C C0 3D 00 04 */ lfs f1, 4(r29) /* 8031F0C0 0031C020 7F C3 F3 78 */ mr r3, r30 /* 8031F0C4 0031C024 C0 1C 02 B4 */ lfs f0, 0x2b4(r28) /* 8031F0C8 0031C028 38 81 00 08 */ addi r4, r1, 8 /* 8031F0CC 0031C02C C0 7D 00 08 */ lfs f3, 8(r29) /* 8031F0D0 0031C030 C0 5C 02 B8 */ lfs f2, 0x2b8(r28) /* 8031F0D4 0031C034 EC 81 00 2A */ fadds f4, f1, f0 /* 8031F0D8 0031C038 C0 1C 02 B0 */ lfs f0, 0x2b0(r28) /* 8031F0DC 0031C03C C0 3D 00 00 */ lfs f1, 0(r29) /* 8031F0E0 0031C040 EC 43 10 2A */ fadds f2, f3, f2 /* 8031F0E4 0031C044 D0 81 00 0C */ stfs f4, 0xc(r1) /* 8031F0E8 0031C048 EC 01 00 2A */ fadds f0, f1, f0 /* 8031F0EC 0031C04C D0 41 00 10 */ stfs f2, 0x10(r1) /* 8031F0F0 0031C050 D0 01 00 08 */ stfs f0, 8(r1) /* 8031F0F4 0031C054 81 9E 00 00 */ lwz r12, 0(r30) /* 8031F0F8 0031C058 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031F0FC 0031C05C 7D 89 03 A6 */ mtctr r12 /* 8031F100 0031C060 4E 80 04 21 */ bctrl /* 8031F104 0031C064 48 00 00 1C */ b lbl_8031F120 lbl_8031F108: /* 8031F108 0031C068 7F C3 F3 78 */ mr r3, r30 /* 8031F10C 0031C06C 7F A4 EB 78 */ mr r4, r29 /* 8031F110 0031C070 81 9E 00 00 */ lwz r12, 0(r30) /* 8031F114 0031C074 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8031F118 0031C078 7D 89 03 A6 */ mtctr r12 /* 8031F11C 0031C07C 4E 80 04 21 */ bctrl lbl_8031F120: /* 8031F120 0031C080 3B FF 00 04 */ addi r31, r31, 4 lbl_8031F124: /* 8031F124 0031C084 80 1C 02 94 */ lwz r0, 0x294(r28) /* 8031F128 0031C088 80 7C 02 9C */ lwz r3, 0x29c(r28) /* 8031F12C 0031C08C 54 00 10 3A */ slwi r0, r0, 2 /* 8031F130 0031C090 7C 03 02 14 */ add r0, r3, r0 /* 8031F134 0031C094 7C 1F 00 40 */ cmplw r31, r0 /* 8031F138 0031C098 40 82 FE F4 */ bne lbl_8031F02C /* 8031F13C 0031C09C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8031F140 0031C0A0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8031F144 0031C0A4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8031F148 0031C0A8 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8031F14C 0031C0AC 83 81 00 20 */ lwz r28, 0x20(r1) /* 8031F150 0031C0B0 7C 08 03 A6 */ mtlr r0 /* 8031F154 0031C0B4 38 21 00 30 */ addi r1, r1, 0x30 /* 8031F158 0031C0B8 4E 80 00 20 */ blr .global ShutDown__11CElementGenFv ShutDown__11CElementGenFv: /* 8031F15C 0031C0BC 38 00 00 00 */ li r0, 0 /* 8031F160 0031C0C0 98 0D A8 BA */ stb r0, sStaticListInitialized@sda21(r13) /* 8031F164 0031C0C4 4E 80 00 20 */ blr .global Initialize__11CElementGenFv Initialize__11CElementGenFv: /* 8031F168 0031C0C8 88 0D A8 BA */ lbz r0, sStaticListInitialized@sda21(r13) /* 8031F16C 0031C0CC 28 00 00 00 */ cmplwi r0, 0 /* 8031F170 0031C0D0 4C 82 00 20 */ bnelr /* 8031F174 0031C0D4 38 60 00 00 */ li r3, 0 /* 8031F178 0031C0D8 38 00 00 01 */ li r0, 1 /* 8031F17C 0031C0DC 90 6D A8 B0 */ stw r3, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031F180 0031C0E0 90 6D A8 B4 */ stw r3, mParticleSystemAliveCount__11CElementGen@sda21(r13) /* 8031F184 0031C0E4 98 0D A8 BA */ stb r0, sStaticListInitialized@sda21(r13) /* 8031F188 0031C0E8 4E 80 00 20 */ blr .global __dt__11CElementGenFv __dt__11CElementGenFv: /* 8031F18C 0031C0EC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8031F190 0031C0F0 7C 08 02 A6 */ mflr r0 /* 8031F194 0031C0F4 90 01 00 74 */ stw r0, 0x74(r1) /* 8031F198 0031C0F8 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8031F19C 0031C0FC 7C 9F 23 78 */ mr r31, r4 /* 8031F1A0 0031C100 93 C1 00 68 */ stw r30, 0x68(r1) /* 8031F1A4 0031C104 7C 7E 1B 79 */ or. r30, r3, r3 /* 8031F1A8 0031C108 93 A1 00 64 */ stw r29, 0x64(r1) /* 8031F1AC 0031C10C 41 82 02 14 */ beq lbl_8031F3C0 /* 8031F1B0 0031C110 3C 60 80 3F */ lis r3, lbl_803EDA80@ha /* 8031F1B4 0031C114 38 03 DA 80 */ addi r0, r3, lbl_803EDA80@l /* 8031F1B8 0031C118 90 1E 00 00 */ stw r0, 0(r30) /* 8031F1BC 0031C11C 80 6D A8 B4 */ lwz r3, mParticleSystemAliveCount__11CElementGen@sda21(r13) /* 8031F1C0 0031C120 80 0D A8 B0 */ lwz r0, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031F1C4 0031C124 38 63 FF FF */ addi r3, r3, -1 /* 8031F1C8 0031C128 90 6D A8 B4 */ stw r3, mParticleSystemAliveCount__11CElementGen@sda21(r13) /* 8031F1CC 0031C12C 80 7E 00 34 */ lwz r3, 0x34(r30) /* 8031F1D0 0031C130 7C 03 00 50 */ subf r0, r3, r0 /* 8031F1D4 0031C134 90 0D A8 B0 */ stw r0, mParticleAliveCount__11CElementGen@sda21(r13) /* 8031F1D8 0031C138 83 BE 02 9C */ lwz r29, 0x29c(r30) /* 8031F1DC 0031C13C 48 00 00 28 */ b lbl_8031F204 lbl_8031F1E0: /* 8031F1E0 0031C140 80 7D 00 00 */ lwz r3, 0(r29) /* 8031F1E4 0031C144 28 03 00 00 */ cmplwi r3, 0 /* 8031F1E8 0031C148 41 82 00 18 */ beq lbl_8031F200 /* 8031F1EC 0031C14C 81 83 00 00 */ lwz r12, 0(r3) /* 8031F1F0 0031C150 38 80 00 01 */ li r4, 1 /* 8031F1F4 0031C154 81 8C 00 08 */ lwz r12, 8(r12) /* 8031F1F8 0031C158 7D 89 03 A6 */ mtctr r12 /* 8031F1FC 0031C15C 4E 80 04 21 */ bctrl lbl_8031F200: /* 8031F200 0031C160 3B BD 00 04 */ addi r29, r29, 4 lbl_8031F204: /* 8031F204 0031C164 80 1E 02 94 */ lwz r0, 0x294(r30) /* 8031F208 0031C168 80 7E 02 9C */ lwz r3, 0x29c(r30) /* 8031F20C 0031C16C 54 00 10 3A */ slwi r0, r0, 2 /* 8031F210 0031C170 7C A3 02 14 */ add r5, r3, r0 /* 8031F214 0031C174 7C 1D 28 40 */ cmplw r29, r5 /* 8031F218 0031C178 40 82 FF C8 */ bne lbl_8031F1E0 /* 8031F21C 0031C17C 34 1E 02 90 */ addic. r0, r30, 0x290 /* 8031F220 0031C180 41 82 00 34 */ beq lbl_8031F254 /* 8031F224 0031C184 90 A1 00 54 */ stw r5, 0x54(r1) /* 8031F228 0031C188 7C 64 1B 78 */ mr r4, r3 /* 8031F22C 0031C18C 90 A1 00 50 */ stw r5, 0x50(r1) /* 8031F230 0031C190 90 61 00 4C */ stw r3, 0x4c(r1) /* 8031F234 0031C194 90 61 00 48 */ stw r3, 0x48(r1) /* 8031F238 0031C198 48 00 00 08 */ b lbl_8031F240 lbl_8031F23C: /* 8031F23C 0031C19C 38 84 00 04 */ addi r4, r4, 4 lbl_8031F240: /* 8031F240 0031C1A0 7C 04 28 40 */ cmplw r4, r5 /* 8031F244 0031C1A4 40 82 FF F8 */ bne lbl_8031F23C /* 8031F248 0031C1A8 28 03 00 00 */ cmplwi r3, 0 /* 8031F24C 0031C1AC 41 82 00 08 */ beq lbl_8031F254 /* 8031F250 0031C1B0 4B FF 66 E1 */ bl Free__7CMemoryFPCv lbl_8031F254: /* 8031F254 0031C1B4 34 1E 00 60 */ addic. r0, r30, 0x60 /* 8031F258 0031C1B8 41 82 00 44 */ beq lbl_8031F29C /* 8031F25C 0031C1BC 80 1E 00 64 */ lwz r0, 0x64(r30) /* 8031F260 0031C1C0 80 7E 00 6C */ lwz r3, 0x6c(r30) /* 8031F264 0031C1C4 54 00 28 34 */ slwi r0, r0, 5 /* 8031F268 0031C1C8 7C 03 02 14 */ add r0, r3, r0 /* 8031F26C 0031C1CC 90 61 00 3C */ stw r3, 0x3c(r1) /* 8031F270 0031C1D0 7C 64 1B 78 */ mr r4, r3 /* 8031F274 0031C1D4 90 01 00 44 */ stw r0, 0x44(r1) /* 8031F278 0031C1D8 90 01 00 40 */ stw r0, 0x40(r1) /* 8031F27C 0031C1DC 90 61 00 38 */ stw r3, 0x38(r1) /* 8031F280 0031C1E0 48 00 00 08 */ b lbl_8031F288 lbl_8031F284: /* 8031F284 0031C1E4 38 84 00 20 */ addi r4, r4, 0x20 lbl_8031F288: /* 8031F288 0031C1E8 7C 04 00 40 */ cmplw r4, r0 /* 8031F28C 0031C1EC 40 82 FF F8 */ bne lbl_8031F284 /* 8031F290 0031C1F0 28 03 00 00 */ cmplwi r3, 0 /* 8031F294 0031C1F4 41 82 00 08 */ beq lbl_8031F29C /* 8031F298 0031C1F8 4B FF 66 99 */ bl Free__7CMemoryFPCv lbl_8031F29C: /* 8031F29C 0031C1FC 34 1E 00 50 */ addic. r0, r30, 0x50 /* 8031F2A0 0031C200 41 82 00 44 */ beq lbl_8031F2E4 /* 8031F2A4 0031C204 80 1E 00 54 */ lwz r0, 0x54(r30) /* 8031F2A8 0031C208 80 7E 00 5C */ lwz r3, 0x5c(r30) /* 8031F2AC 0031C20C 1C 00 00 24 */ mulli r0, r0, 0x24 /* 8031F2B0 0031C210 90 61 00 2C */ stw r3, 0x2c(r1) /* 8031F2B4 0031C214 7C 64 1B 78 */ mr r4, r3 /* 8031F2B8 0031C218 7C 03 02 14 */ add r0, r3, r0 /* 8031F2BC 0031C21C 90 61 00 28 */ stw r3, 0x28(r1) /* 8031F2C0 0031C220 90 01 00 34 */ stw r0, 0x34(r1) /* 8031F2C4 0031C224 90 01 00 30 */ stw r0, 0x30(r1) /* 8031F2C8 0031C228 48 00 00 08 */ b lbl_8031F2D0 lbl_8031F2CC: /* 8031F2CC 0031C22C 38 84 00 24 */ addi r4, r4, 0x24 lbl_8031F2D0: /* 8031F2D0 0031C230 7C 04 00 40 */ cmplw r4, r0 /* 8031F2D4 0031C234 40 82 FF F8 */ bne lbl_8031F2CC /* 8031F2D8 0031C238 28 03 00 00 */ cmplwi r3, 0 /* 8031F2DC 0031C23C 41 82 00 08 */ beq lbl_8031F2E4 /* 8031F2E0 0031C240 4B FF 66 51 */ bl Free__7CMemoryFPCv lbl_8031F2E4: /* 8031F2E4 0031C244 34 1E 00 40 */ addic. r0, r30, 0x40 /* 8031F2E8 0031C248 41 82 00 44 */ beq lbl_8031F32C /* 8031F2EC 0031C24C 80 1E 00 44 */ lwz r0, 0x44(r30) /* 8031F2F0 0031C250 80 7E 00 4C */ lwz r3, 0x4c(r30) /* 8031F2F4 0031C254 1C 00 00 0C */ mulli r0, r0, 0xc /* 8031F2F8 0031C258 90 61 00 1C */ stw r3, 0x1c(r1) /* 8031F2FC 0031C25C 7C 64 1B 78 */ mr r4, r3 /* 8031F300 0031C260 7C 03 02 14 */ add r0, r3, r0 /* 8031F304 0031C264 90 61 00 18 */ stw r3, 0x18(r1) /* 8031F308 0031C268 90 01 00 24 */ stw r0, 0x24(r1) /* 8031F30C 0031C26C 90 01 00 20 */ stw r0, 0x20(r1) /* 8031F310 0031C270 48 00 00 08 */ b lbl_8031F318 lbl_8031F314: /* 8031F314 0031C274 38 84 00 0C */ addi r4, r4, 0xc lbl_8031F318: /* 8031F318 0031C278 7C 04 00 40 */ cmplw r4, r0 /* 8031F31C 0031C27C 40 82 FF F8 */ bne lbl_8031F314 /* 8031F320 0031C280 28 03 00 00 */ cmplwi r3, 0 /* 8031F324 0031C284 41 82 00 08 */ beq lbl_8031F32C /* 8031F328 0031C288 4B FF 66 09 */ bl Free__7CMemoryFPCv lbl_8031F32C: /* 8031F32C 0031C28C 34 1E 00 30 */ addic. r0, r30, 0x30 /* 8031F330 0031C290 41 82 00 44 */ beq lbl_8031F374 /* 8031F334 0031C294 80 1E 00 34 */ lwz r0, 0x34(r30) /* 8031F338 0031C298 80 7E 00 3C */ lwz r3, 0x3c(r30) /* 8031F33C 0031C29C 1C 00 00 38 */ mulli r0, r0, 0x38 /* 8031F340 0031C2A0 90 61 00 0C */ stw r3, 0xc(r1) /* 8031F344 0031C2A4 7C 64 1B 78 */ mr r4, r3 /* 8031F348 0031C2A8 7C 03 02 14 */ add r0, r3, r0 /* 8031F34C 0031C2AC 90 61 00 08 */ stw r3, 8(r1) /* 8031F350 0031C2B0 90 01 00 14 */ stw r0, 0x14(r1) /* 8031F354 0031C2B4 90 01 00 10 */ stw r0, 0x10(r1) /* 8031F358 0031C2B8 48 00 00 08 */ b lbl_8031F360 lbl_8031F35C: /* 8031F35C 0031C2BC 38 84 00 38 */ addi r4, r4, 0x38 lbl_8031F360: /* 8031F360 0031C2C0 7C 04 00 40 */ cmplw r4, r0 /* 8031F364 0031C2C4 40 82 FF F8 */ bne lbl_8031F35C /* 8031F368 0031C2C8 28 03 00 00 */ cmplwi r3, 0 /* 8031F36C 0031C2CC 41 82 00 08 */ beq lbl_8031F374 /* 8031F370 0031C2D0 4B FF 65 C1 */ bl Free__7CMemoryFPCv lbl_8031F374: /* 8031F374 0031C2D4 34 1E 00 1C */ addic. r0, r30, 0x1c /* 8031F378 0031C2D8 41 82 00 18 */ beq lbl_8031F390 /* 8031F37C 0031C2DC 34 1E 00 1C */ addic. r0, r30, 0x1c /* 8031F380 0031C2E0 41 82 00 10 */ beq lbl_8031F390 /* 8031F384 0031C2E4 38 7E 00 1C */ addi r3, r30, 0x1c /* 8031F388 0031C2E8 38 80 00 00 */ li r4, 0 /* 8031F38C 0031C2EC 48 02 1A B5 */ bl __dt__6CTokenFv lbl_8031F390: /* 8031F390 0031C2F0 28 1E 00 00 */ cmplwi r30, 0 /* 8031F394 0031C2F4 41 82 00 1C */ beq lbl_8031F3B0 /* 8031F398 0031C2F8 3C 80 80 3F */ lis r4, __vt__12CParticleGen@ha /* 8031F39C 0031C2FC 38 7E 00 04 */ addi r3, r30, 4 /* 8031F3A0 0031C300 38 04 DD 08 */ addi r0, r4, __vt__12CParticleGen@l /* 8031F3A4 0031C304 38 80 FF FF */ li r4, -1 /* 8031F3A8 0031C308 90 1E 00 00 */ stw r0, 0(r30) /* 8031F3AC 0031C30C 4B D3 B9 25 */ bl "__dt__Q24rstl52list,Q24rstl17rmemory_allocator>Fv" lbl_8031F3B0: /* 8031F3B0 0031C310 7F E0 07 35 */ extsh. r0, r31 /* 8031F3B4 0031C314 40 81 00 0C */ ble lbl_8031F3C0 /* 8031F3B8 0031C318 7F C3 F3 78 */ mr r3, r30 /* 8031F3BC 0031C31C 4B FF 65 75 */ bl Free__7CMemoryFPCv lbl_8031F3C0: /* 8031F3C0 0031C320 80 01 00 74 */ lwz r0, 0x74(r1) /* 8031F3C4 0031C324 7F C3 F3 78 */ mr r3, r30 /* 8031F3C8 0031C328 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8031F3CC 0031C32C 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8031F3D0 0031C330 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8031F3D4 0031C334 7C 08 03 A6 */ mtlr r0 /* 8031F3D8 0031C338 38 21 00 70 */ addi r1, r1, 0x70 /* 8031F3DC 0031C33C 4E 80 00 20 */ blr .global "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags": /* 8031F3E0 0031C340 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8031F3E4 0031C344 7C 08 02 A6 */ mflr r0 /* 8031F3E8 0031C348 3C E0 80 3F */ lis r7, __vt__12CParticleGen@ha /* 8031F3EC 0031C34C 90 01 00 54 */ stw r0, 0x54(r1) /* 8031F3F0 0031C350 38 07 DD 08 */ addi r0, r7, __vt__12CParticleGen@l /* 8031F3F4 0031C354 38 E0 00 00 */ li r7, 0 /* 8031F3F8 0031C358 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8031F3FC 0031C35C 7C 7F 1B 78 */ mr r31, r3 /* 8031F400 0031C360 39 1F 00 10 */ addi r8, r31, 0x10 /* 8031F404 0031C364 3C 60 80 3F */ lis r3, lbl_803EDA80@ha /* 8031F408 0031C368 93 C1 00 48 */ stw r30, 0x48(r1) /* 8031F40C 0031C36C 3B DF 00 1C */ addi r30, r31, 0x1c /* 8031F410 0031C370 93 A1 00 44 */ stw r29, 0x44(r1) /* 8031F414 0031C374 7C DD 33 78 */ mr r29, r6 /* 8031F418 0031C378 93 81 00 40 */ stw r28, 0x40(r1) /* 8031F41C 0031C37C 7C BC 2B 78 */ mr r28, r5 /* 8031F420 0031C380 90 1F 00 00 */ stw r0, 0(r31) /* 8031F424 0031C384 38 03 DA 80 */ addi r0, r3, lbl_803EDA80@l /* 8031F428 0031C388 7F C3 F3 78 */ mr r3, r30 /* 8031F42C 0031C38C 91 1F 00 08 */ stw r8, 8(r31) /* 8031F430 0031C390 91 1F 00 0C */ stw r8, 0xc(r31) /* 8031F434 0031C394 91 1F 00 10 */ stw r8, 0x10(r31) /* 8031F438 0031C398 91 1F 00 14 */ stw r8, 0x14(r31) /* 8031F43C 0031C39C 90 FF 00 18 */ stw r7, 0x18(r31) /* 8031F440 0031C3A0 90 1F 00 00 */ stw r0, 0(r31) /* 8031F444 0031C3A4 48 02 1A 65 */ bl __ct__6CTokenFRC6CToken /* 8031F448 0031C3A8 7F C3 F3 78 */ mr r3, r30 /* 8031F44C 0031C3AC 48 02 19 C1 */ bl GetObj__6CTokenFv /* 8031F450 0031C3B0 80 03 00 04 */ lwz r0, 4(r3) /* 8031F454 0031C3B4 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha /* 8031F458 0031C3B8 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l /* 8031F45C 0031C3BC 38 E0 00 00 */ li r7, 0 /* 8031F460 0031C3C0 90 1E 00 08 */ stw r0, 8(r30) /* 8031F464 0031C3C4 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha /* 8031F468 0031C3C8 C8 42 CA 20 */ lfd f2, lbl_805AE740@sda21(r2) /* 8031F46C 0031C3CC 38 C0 FF FF */ li r6, -1 /* 8031F470 0031C3D0 80 7F 00 24 */ lwz r3, 0x24(r31) /* 8031F474 0031C3D4 38 00 00 01 */ li r0, 1 /* 8031F478 0031C3D8 C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 8031F47C 0031C3DC 3B C5 66 A0 */ addi r30, r5, sZeroVector__9CVector3f@l /* 8031F480 0031C3E0 90 7F 00 28 */ stw r3, 0x28(r31) /* 8031F484 0031C3E4 38 7F 01 0C */ addi r3, r31, 0x10c /* 8031F488 0031C3E8 C0 22 C9 F0 */ lfs f1, lbl_805AE710@sda21(r2) /* 8031F48C 0031C3EC 93 9F 00 2C */ stw r28, 0x2c(r31) /* 8031F490 0031C3F0 90 FF 00 34 */ stw r7, 0x34(r31) /* 8031F494 0031C3F4 90 FF 00 38 */ stw r7, 0x38(r31) /* 8031F498 0031C3F8 90 FF 00 3C */ stw r7, 0x3c(r31) /* 8031F49C 0031C3FC 90 FF 00 44 */ stw r7, 0x44(r31) /* 8031F4A0 0031C400 90 FF 00 48 */ stw r7, 0x48(r31) /* 8031F4A4 0031C404 90 FF 00 4C */ stw r7, 0x4c(r31) /* 8031F4A8 0031C408 90 FF 00 54 */ stw r7, 0x54(r31) /* 8031F4AC 0031C40C 90 FF 00 58 */ stw r7, 0x58(r31) /* 8031F4B0 0031C410 90 FF 00 5C */ stw r7, 0x5c(r31) /* 8031F4B4 0031C414 90 FF 00 64 */ stw r7, 0x64(r31) /* 8031F4B8 0031C418 90 FF 00 68 */ stw r7, 0x68(r31) /* 8031F4BC 0031C41C 90 FF 00 6C */ stw r7, 0x6c(r31) /* 8031F4C0 0031C420 90 FF 00 70 */ stw r7, 0x70(r31) /* 8031F4C4 0031C424 90 FF 00 74 */ stw r7, 0x74(r31) /* 8031F4C8 0031C428 D8 5F 00 78 */ stfd f2, 0x78(r31) /* 8031F4CC 0031C42C 90 DF 00 84 */ stw r6, 0x84(r31) /* 8031F4D0 0031C430 98 1F 00 88 */ stb r0, 0x88(r31) /* 8031F4D4 0031C434 D0 1F 00 8C */ stfs f0, 0x8c(r31) /* 8031F4D8 0031C438 90 FF 00 90 */ stw r7, 0x90(r31) /* 8031F4DC 0031C43C A0 0D 9C F8 */ lhz r0, lbl_805A88B8@sda21(r13) /* 8031F4E0 0031C440 B0 1F 00 94 */ sth r0, 0x94(r31) /* 8031F4E4 0031C444 D0 3F 00 98 */ stfs f1, 0x98(r31) /* 8031F4E8 0031C448 C0 1E 00 00 */ lfs f0, 0(r30) /* 8031F4EC 0031C44C D0 1F 00 DC */ stfs f0, 0xdc(r31) /* 8031F4F0 0031C450 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F4F4 0031C454 D0 1F 00 E0 */ stfs f0, 0xe0(r31) /* 8031F4F8 0031C458 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F4FC 0031C45C D0 1F 00 E4 */ stfs f0, 0xe4(r31) /* 8031F500 0031C460 C0 1E 00 00 */ lfs f0, 0(r30) /* 8031F504 0031C464 D0 1F 00 E8 */ stfs f0, 0xe8(r31) /* 8031F508 0031C468 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F50C 0031C46C D0 1F 00 EC */ stfs f0, 0xec(r31) /* 8031F510 0031C470 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F514 0031C474 D0 1F 00 F0 */ stfs f0, 0xf0(r31) /* 8031F518 0031C478 C0 1E 00 00 */ lfs f0, 0(r30) /* 8031F51C 0031C47C D0 1F 00 F4 */ stfs f0, 0xf4(r31) /* 8031F520 0031C480 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F524 0031C484 D0 1F 00 F8 */ stfs f0, 0xf8(r31) /* 8031F528 0031C488 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F52C 0031C48C D0 1F 00 FC */ stfs f0, 0xfc(r31) /* 8031F530 0031C490 D0 3F 01 00 */ stfs f1, 0x100(r31) /* 8031F534 0031C494 D0 3F 01 04 */ stfs f1, 0x104(r31) /* 8031F538 0031C498 D0 3F 01 08 */ stfs f1, 0x108(r31) /* 8031F53C 0031C49C 4B FF 36 39 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031F540 0031C4A0 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha /* 8031F544 0031C4A4 38 7F 01 3C */ addi r3, r31, 0x13c /* 8031F548 0031C4A8 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l /* 8031F54C 0031C4AC 4B FF 36 29 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031F550 0031C4B0 C0 02 C9 F0 */ lfs f0, lbl_805AE710@sda21(r2) /* 8031F554 0031C4B4 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha /* 8031F558 0031C4B8 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l /* 8031F55C 0031C4BC D0 1F 01 6C */ stfs f0, 0x16c(r31) /* 8031F560 0031C4C0 38 7F 01 78 */ addi r3, r31, 0x178 /* 8031F564 0031C4C4 D0 1F 01 70 */ stfs f0, 0x170(r31) /* 8031F568 0031C4C8 D0 1F 01 74 */ stfs f0, 0x174(r31) /* 8031F56C 0031C4CC 4B FF 36 09 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031F570 0031C4D0 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha /* 8031F574 0031C4D4 38 7F 01 A8 */ addi r3, r31, 0x1a8 /* 8031F578 0031C4D8 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l /* 8031F57C 0031C4DC 4B FF 35 F9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031F580 0031C4E0 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha /* 8031F584 0031C4E4 38 7F 01 D8 */ addi r3, r31, 0x1d8 /* 8031F588 0031C4E8 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l /* 8031F58C 0031C4EC 4B FF 35 E9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031F590 0031C4F0 3C 80 80 5A */ lis r4, sIdentity__9CMatrix3f@ha /* 8031F594 0031C4F4 38 7F 02 08 */ addi r3, r31, 0x208 /* 8031F598 0031C4F8 38 84 65 FC */ addi r4, r4, sIdentity__9CMatrix3f@l /* 8031F59C 0031C4FC 4B FF 0A 89 */ bl __ct__9CMatrix3fFRC9CMatrix3f /* 8031F5A0 0031C500 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha /* 8031F5A4 0031C504 38 7F 02 2C */ addi r3, r31, 0x22c /* 8031F5A8 0031C508 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l /* 8031F5AC 0031C50C 4B FF 35 C9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8031F5B0 0031C510 38 C0 00 00 */ li r6, 0 /* 8031F5B4 0031C514 38 A0 00 01 */ li r5, 1 /* 8031F5B8 0031C518 90 DF 02 5C */ stw r6, 0x25c(r31) /* 8031F5BC 0031C51C 38 7F 02 7C */ addi r3, r31, 0x27c /* 8031F5C0 0031C520 90 DF 02 60 */ stw r6, 0x260(r31) /* 8031F5C4 0031C524 90 DF 02 64 */ stw r6, 0x264(r31) /* 8031F5C8 0031C528 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F5CC 0031C52C 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18 /* 8031F5D0 0031C530 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F5D4 0031C534 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F5D8 0031C538 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 8031F5DC 0031C53C 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F5E0 0031C540 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F5E4 0031C544 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d /* 8031F5E8 0031C548 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F5EC 0031C54C 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031F5F0 0031C550 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19 /* 8031F5F4 0031C554 98 1F 02 6D */ stb r0, 0x26d(r31) /* 8031F5F8 0031C558 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031F5FC 0031C55C 50 C0 2E B4 */ rlwimi r0, r6, 5, 0x1a, 0x1a /* 8031F600 0031C560 98 1F 02 6D */ stb r0, 0x26d(r31) /* 8031F604 0031C564 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031F608 0031C568 53 A0 1E F6 */ rlwimi r0, r29, 3, 0x1b, 0x1b /* 8031F60C 0031C56C 98 1F 02 6D */ stb r0, 0x26d(r31) /* 8031F610 0031C570 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031F614 0031C574 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c /* 8031F618 0031C578 98 1F 02 6D */ stb r0, 0x26d(r31) /* 8031F61C 0031C57C 98 DF 02 74 */ stb r6, 0x274(r31) /* 8031F620 0031C580 A8 9F 00 94 */ lha r4, 0x94(r31) /* 8031F624 0031C584 4B FF 2F C9 */ bl __ct__9CRandom16FUi /* 8031F628 0031C588 38 00 00 00 */ li r0, 0 /* 8031F62C 0031C58C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8031F630 0031C590 90 1F 02 94 */ stw r0, 0x294(r31) /* 8031F634 0031C594 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 8031F638 0031C598 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031F63C 0031C59C 90 1F 02 98 */ stw r0, 0x298(r31) /* 8031F640 0031C5A0 90 1F 02 9C */ stw r0, 0x29c(r31) /* 8031F644 0031C5A4 C4 04 66 A0 */ lfsu f0, sZeroVector__9CVector3f@l(r4) /* 8031F648 0031C5A8 D0 1F 02 B0 */ stfs f0, 0x2b0(r31) /* 8031F64C 0031C5AC C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F650 0031C5B0 D0 1F 02 B4 */ stfs f0, 0x2b4(r31) /* 8031F654 0031C5B4 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F658 0031C5B8 D0 1F 02 B8 */ stfs f0, 0x2b8(r31) /* 8031F65C 0031C5BC C0 04 00 00 */ lfs f0, 0(r4) /* 8031F660 0031C5C0 D0 1F 02 C0 */ stfs f0, 0x2c0(r31) /* 8031F664 0031C5C4 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F668 0031C5C8 D0 1F 02 C4 */ stfs f0, 0x2c4(r31) /* 8031F66C 0031C5CC C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F670 0031C5D0 D0 1F 02 C8 */ stfs f0, 0x2c8(r31) /* 8031F674 0031C5D4 D0 3F 02 CC */ stfs f1, 0x2cc(r31) /* 8031F678 0031C5D8 D0 3F 02 D0 */ stfs f1, 0x2d0(r31) /* 8031F67C 0031C5DC C0 04 00 00 */ lfs f0, 0(r4) /* 8031F680 0031C5E0 D0 1F 02 D4 */ stfs f0, 0x2d4(r31) /* 8031F684 0031C5E4 C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F688 0031C5E8 D0 1F 02 D8 */ stfs f0, 0x2d8(r31) /* 8031F68C 0031C5EC C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F690 0031C5F0 D0 1F 02 DC */ stfs f0, 0x2dc(r31) /* 8031F694 0031C5F4 C0 04 00 00 */ lfs f0, 0(r4) /* 8031F698 0031C5F8 D0 1F 02 E0 */ stfs f0, 0x2e0(r31) /* 8031F69C 0031C5FC C0 1E 00 04 */ lfs f0, 4(r30) /* 8031F6A0 0031C600 D0 1F 02 E4 */ stfs f0, 0x2e4(r31) /* 8031F6A4 0031C604 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F6A8 0031C608 D0 1F 02 E8 */ stfs f0, 0x2e8(r31) /* 8031F6AC 0031C60C D0 3F 02 EC */ stfs f1, 0x2ec(r31) /* 8031F6B0 0031C610 C4 03 67 54 */ lfsu f0, mskInvertedBox__6CAABox@l(r3) /* 8031F6B4 0031C614 D0 1F 02 F0 */ stfs f0, 0x2f0(r31) /* 8031F6B8 0031C618 C0 03 00 04 */ lfs f0, 4(r3) /* 8031F6BC 0031C61C D0 1F 02 F4 */ stfs f0, 0x2f4(r31) /* 8031F6C0 0031C620 C0 03 00 08 */ lfs f0, 8(r3) /* 8031F6C4 0031C624 D0 1F 02 F8 */ stfs f0, 0x2f8(r31) /* 8031F6C8 0031C628 C0 03 00 0C */ lfs f0, 0xc(r3) /* 8031F6CC 0031C62C D0 1F 02 FC */ stfs f0, 0x2fc(r31) /* 8031F6D0 0031C630 C0 03 00 10 */ lfs f0, 0x10(r3) /* 8031F6D4 0031C634 D0 1F 03 00 */ stfs f0, 0x300(r31) /* 8031F6D8 0031C638 C0 03 00 14 */ lfs f0, 0x14(r3) /* 8031F6DC 0031C63C D0 1F 03 04 */ stfs f0, 0x304(r31) /* 8031F6E0 0031C640 90 1F 03 08 */ stw r0, 0x308(r31) /* 8031F6E4 0031C644 48 02 A8 C9 */ bl White__6CColorFv /* 8031F6E8 0031C648 80 03 00 00 */ lwz r0, 0(r3) /* 8031F6EC 0031C64C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8031F6F0 0031C650 C0 62 C9 F0 */ lfs f3, lbl_805AE710@sda21(r2) /* 8031F6F4 0031C654 38 C3 66 A0 */ addi r6, r3, sZeroVector__9CVector3f@l /* 8031F6F8 0031C658 90 1F 03 0C */ stw r0, 0x30c(r31) /* 8031F6FC 0031C65C 38 A0 00 01 */ li r5, 1 /* 8031F700 0031C660 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031F704 0031C664 38 00 FF FF */ li r0, -1 /* 8031F708 0031C668 D0 7F 03 10 */ stfs f3, 0x310(r31) /* 8031F70C 0031C66C 38 61 00 14 */ addi r3, r1, 0x14 /* 8031F710 0031C670 C0 02 CA 48 */ lfs f0, lbl_805AE768@sda21(r2) /* 8031F714 0031C674 38 9F 02 7C */ addi r4, r31, 0x27c /* 8031F718 0031C678 C0 46 00 00 */ lfs f2, 0(r6) /* 8031F71C 0031C67C D0 5F 03 14 */ stfs f2, 0x314(r31) /* 8031F720 0031C680 C0 5E 00 04 */ lfs f2, 4(r30) /* 8031F724 0031C684 D0 5F 03 18 */ stfs f2, 0x318(r31) /* 8031F728 0031C688 C0 5E 00 08 */ lfs f2, 8(r30) /* 8031F72C 0031C68C D0 5F 03 1C */ stfs f2, 0x31c(r31) /* 8031F730 0031C690 D0 7F 03 20 */ stfs f3, 0x320(r31) /* 8031F734 0031C694 D0 3F 03 24 */ stfs f1, 0x324(r31) /* 8031F738 0031C698 D0 3F 03 28 */ stfs f1, 0x328(r31) /* 8031F73C 0031C69C 90 BF 03 2C */ stw r5, 0x32c(r31) /* 8031F740 0031C6A0 D0 7F 03 30 */ stfs f3, 0x330(r31) /* 8031F744 0031C6A4 D0 1F 03 34 */ stfs f0, 0x334(r31) /* 8031F748 0031C6A8 90 1F 03 38 */ stw r0, 0x338(r31) /* 8031F74C 0031C6AC 4B FF 2F 35 */ bl __ct__13CGlobalRandomFR9CRandom16 /* 8031F750 0031C6B0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F754 0031C6B4 80 63 00 10 */ lwz r3, 0x10(r3) /* 8031F758 0031C6B8 28 03 00 00 */ cmplwi r3, 0 /* 8031F75C 0031C6BC 41 82 00 24 */ beq lbl_8031F780 /* 8031F760 0031C6C0 81 83 00 00 */ lwz r12, 0(r3) /* 8031F764 0031C6C4 38 A1 00 10 */ addi r5, r1, 0x10 /* 8031F768 0031C6C8 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031F76C 0031C6CC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031F770 0031C6D0 7D 89 03 A6 */ mtctr r12 /* 8031F774 0031C6D4 4E 80 04 21 */ bctrl /* 8031F778 0031C6D8 80 01 00 10 */ lwz r0, 0x10(r1) /* 8031F77C 0031C6DC B0 1F 00 94 */ sth r0, 0x94(r31) lbl_8031F780: /* 8031F780 0031C6E0 A8 9F 00 94 */ lha r4, 0x94(r31) /* 8031F784 0031C6E4 38 7F 02 7C */ addi r3, r31, 0x27c /* 8031F788 0031C6E8 4B FF 2E 5D */ bl SetSeed__9CRandom16FUi /* 8031F78C 0031C6EC 80 6D A8 B4 */ lwz r3, mParticleSystemAliveCount__11CElementGen@sda21(r13) /* 8031F790 0031C6F0 38 03 00 01 */ addi r0, r3, 1 /* 8031F794 0031C6F4 90 0D A8 B4 */ stw r0, mParticleSystemAliveCount__11CElementGen@sda21(r13) /* 8031F798 0031C6F8 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F79C 0031C6FC 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F7A0 0031C700 88 63 00 30 */ lbz r3, 0x30(r3) /* 8031F7A4 0031C704 50 60 26 72 */ rlwimi r0, r3, 4, 0x19, 0x19 /* 8031F7A8 0031C708 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F7AC 0031C70C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F7B0 0031C710 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F7B4 0031C714 88 63 00 30 */ lbz r3, 0x30(r3) /* 8031F7B8 0031C718 50 60 06 B4 */ rlwimi r0, r3, 0, 0x1a, 0x1a /* 8031F7BC 0031C71C 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F7C0 0031C720 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F7C4 0031C724 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F7C8 0031C728 88 63 00 30 */ lbz r3, 0x30(r3) /* 8031F7CC 0031C72C 50 60 06 F6 */ rlwimi r0, r3, 0, 0x1b, 0x1b /* 8031F7D0 0031C730 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F7D4 0031C734 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F7D8 0031C738 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F7DC 0031C73C 88 63 00 30 */ lbz r3, 0x30(r3) /* 8031F7E0 0031C740 50 60 0F 7A */ rlwimi r0, r3, 1, 0x1d, 0x1d /* 8031F7E4 0031C744 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F7E8 0031C748 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F7EC 0031C74C 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 8031F7F0 0031C750 41 82 00 0C */ beq lbl_8031F7FC /* 8031F7F4 0031C754 38 60 00 00 */ li r3, 0 /* 8031F7F8 0031C758 48 00 00 10 */ b lbl_8031F808 lbl_8031F7FC: /* 8031F7FC 0031C75C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F800 0031C760 88 03 00 31 */ lbz r0, 0x31(r3) /* 8031F804 0031C764 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f lbl_8031F808: /* 8031F808 0031C768 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031F80C 0031C76C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8031F810 0031C770 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031F814 0031C774 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F818 0031C778 80 63 00 34 */ lwz r3, 0x34(r3) /* 8031F81C 0031C77C 28 03 00 00 */ cmplwi r3, 0 /* 8031F820 0031C780 41 82 00 1C */ beq lbl_8031F83C /* 8031F824 0031C784 81 83 00 00 */ lwz r12, 0(r3) /* 8031F828 0031C788 38 BF 02 70 */ addi r5, r31, 0x270 /* 8031F82C 0031C78C 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031F830 0031C790 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031F834 0031C794 7D 89 03 A6 */ mtctr r12 /* 8031F838 0031C798 4E 80 04 21 */ bctrl lbl_8031F83C: /* 8031F83C 0031C79C 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031F840 0031C7A0 38 60 00 00 */ li r3, 0 /* 8031F844 0031C7A4 80 04 00 68 */ lwz r0, 0x68(r4) /* 8031F848 0031C7A8 28 00 00 00 */ cmplwi r0, 0 /* 8031F84C 0031C7AC 41 82 00 1C */ beq lbl_8031F868 /* 8031F850 0031C7B0 90 1F 02 80 */ stw r0, 0x280(r31) /* 8031F854 0031C7B4 38 60 00 01 */ li r3, 1 /* 8031F858 0031C7B8 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031F85C 0031C7BC 88 04 00 31 */ lbz r0, 0x31(r4) /* 8031F860 0031C7C0 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f /* 8031F864 0031C7C4 98 1F 02 78 */ stb r0, 0x278(r31) lbl_8031F868: /* 8031F868 0031C7C8 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031F86C 0031C7CC 80 C4 00 6C */ lwz r6, 0x6c(r4) /* 8031F870 0031C7D0 28 06 00 00 */ cmplwi r6, 0 /* 8031F874 0031C7D4 41 82 00 28 */ beq lbl_8031F89C /* 8031F878 0031C7D8 54 60 10 3A */ slwi r0, r3, 2 /* 8031F87C 0031C7DC 7C 9F 1A 14 */ add r4, r31, r3 /* 8031F880 0031C7E0 7C BF 02 14 */ add r5, r31, r0 /* 8031F884 0031C7E4 38 63 00 01 */ addi r3, r3, 1 /* 8031F888 0031C7E8 90 C5 02 80 */ stw r6, 0x280(r5) /* 8031F88C 0031C7EC 80 BF 00 28 */ lwz r5, 0x28(r31) /* 8031F890 0031C7F0 88 05 00 31 */ lbz r0, 0x31(r5) /* 8031F894 0031C7F4 54 00 F7 FE */ rlwinm r0, r0, 0x1e, 0x1f, 0x1f /* 8031F898 0031C7F8 98 04 02 78 */ stb r0, 0x278(r4) lbl_8031F89C: /* 8031F89C 0031C7FC 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031F8A0 0031C800 80 C4 00 70 */ lwz r6, 0x70(r4) /* 8031F8A4 0031C804 28 06 00 00 */ cmplwi r6, 0 /* 8031F8A8 0031C808 41 82 00 28 */ beq lbl_8031F8D0 /* 8031F8AC 0031C80C 54 60 10 3A */ slwi r0, r3, 2 /* 8031F8B0 0031C810 7C 9F 1A 14 */ add r4, r31, r3 /* 8031F8B4 0031C814 7C BF 02 14 */ add r5, r31, r0 /* 8031F8B8 0031C818 38 63 00 01 */ addi r3, r3, 1 /* 8031F8BC 0031C81C 90 C5 02 80 */ stw r6, 0x280(r5) /* 8031F8C0 0031C820 80 BF 00 28 */ lwz r5, 0x28(r31) /* 8031F8C4 0031C824 88 05 00 31 */ lbz r0, 0x31(r5) /* 8031F8C8 0031C828 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f /* 8031F8CC 0031C82C 98 04 02 78 */ stb r0, 0x278(r4) lbl_8031F8D0: /* 8031F8D0 0031C830 80 9F 00 28 */ lwz r4, 0x28(r31) /* 8031F8D4 0031C834 80 C4 00 74 */ lwz r6, 0x74(r4) /* 8031F8D8 0031C838 28 06 00 00 */ cmplwi r6, 0 /* 8031F8DC 0031C83C 41 82 00 28 */ beq lbl_8031F904 /* 8031F8E0 0031C840 54 60 10 3A */ slwi r0, r3, 2 /* 8031F8E4 0031C844 7C 9F 1A 14 */ add r4, r31, r3 /* 8031F8E8 0031C848 7C BF 02 14 */ add r5, r31, r0 /* 8031F8EC 0031C84C 38 63 00 01 */ addi r3, r3, 1 /* 8031F8F0 0031C850 90 C5 02 80 */ stw r6, 0x280(r5) /* 8031F8F4 0031C854 80 BF 00 28 */ lwz r5, 0x28(r31) /* 8031F8F8 0031C858 88 05 00 31 */ lbz r0, 0x31(r5) /* 8031F8FC 0031C85C 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 8031F900 0031C860 98 04 02 78 */ stb r0, 0x278(r4) lbl_8031F904: /* 8031F904 0031C864 2C 03 00 04 */ cmpwi r3, 4 /* 8031F908 0031C868 54 65 10 3A */ slwi r5, r3, 2 /* 8031F90C 0031C86C 20 63 00 04 */ subfic r3, r3, 4 /* 8031F910 0031C870 38 80 00 00 */ li r4, 0 /* 8031F914 0031C874 40 80 00 74 */ bge lbl_8031F988 /* 8031F918 0031C878 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 8031F91C 0031C87C 7C 09 03 A6 */ mtctr r0 /* 8031F920 0031C880 41 82 00 54 */ beq lbl_8031F974 lbl_8031F924: /* 8031F924 0031C884 38 05 02 80 */ addi r0, r5, 0x280 /* 8031F928 0031C888 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F92C 0031C88C 38 05 02 84 */ addi r0, r5, 0x284 /* 8031F930 0031C890 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F934 0031C894 38 05 02 88 */ addi r0, r5, 0x288 /* 8031F938 0031C898 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F93C 0031C89C 38 05 02 8C */ addi r0, r5, 0x28c /* 8031F940 0031C8A0 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F944 0031C8A4 38 05 02 90 */ addi r0, r5, 0x290 /* 8031F948 0031C8A8 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F94C 0031C8AC 38 05 02 94 */ addi r0, r5, 0x294 /* 8031F950 0031C8B0 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F954 0031C8B4 38 05 02 98 */ addi r0, r5, 0x298 /* 8031F958 0031C8B8 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F95C 0031C8BC 38 05 02 9C */ addi r0, r5, 0x29c /* 8031F960 0031C8C0 38 A5 00 20 */ addi r5, r5, 0x20 /* 8031F964 0031C8C4 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F968 0031C8C8 42 00 FF BC */ bdnz lbl_8031F924 /* 8031F96C 0031C8CC 70 63 00 07 */ andi. r3, r3, 7 /* 8031F970 0031C8D0 41 82 00 18 */ beq lbl_8031F988 lbl_8031F974: /* 8031F974 0031C8D4 7C 69 03 A6 */ mtctr r3 lbl_8031F978: /* 8031F978 0031C8D8 38 05 02 80 */ addi r0, r5, 0x280 /* 8031F97C 0031C8DC 38 A5 00 04 */ addi r5, r5, 4 /* 8031F980 0031C8E0 7C 9F 01 2E */ stwx r4, r31, r0 /* 8031F984 0031C8E4 42 00 FF F4 */ bdnz lbl_8031F978 lbl_8031F988: /* 8031F988 0031C8E8 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031F98C 0031C8EC 80 03 01 0C */ lwz r0, 0x10c(r3) /* 8031F990 0031C8F0 28 00 00 00 */ cmplwi r0, 0 /* 8031F994 0031C8F4 40 82 00 58 */ bne lbl_8031F9EC /* 8031F998 0031C8F8 80 03 01 10 */ lwz r0, 0x110(r3) /* 8031F99C 0031C8FC 28 00 00 00 */ cmplwi r0, 0 /* 8031F9A0 0031C900 40 82 00 4C */ bne lbl_8031F9EC /* 8031F9A4 0031C904 80 03 01 14 */ lwz r0, 0x114(r3) /* 8031F9A8 0031C908 28 00 00 00 */ cmplwi r0, 0 /* 8031F9AC 0031C90C 40 82 00 40 */ bne lbl_8031F9EC /* 8031F9B0 0031C910 80 03 01 18 */ lwz r0, 0x118(r3) /* 8031F9B4 0031C914 28 00 00 00 */ cmplwi r0, 0 /* 8031F9B8 0031C918 40 82 00 34 */ bne lbl_8031F9EC /* 8031F9BC 0031C91C 80 03 01 1C */ lwz r0, 0x11c(r3) /* 8031F9C0 0031C920 28 00 00 00 */ cmplwi r0, 0 /* 8031F9C4 0031C924 40 82 00 28 */ bne lbl_8031F9EC /* 8031F9C8 0031C928 80 03 01 20 */ lwz r0, 0x120(r3) /* 8031F9CC 0031C92C 28 00 00 00 */ cmplwi r0, 0 /* 8031F9D0 0031C930 40 82 00 1C */ bne lbl_8031F9EC /* 8031F9D4 0031C934 80 03 01 24 */ lwz r0, 0x124(r3) /* 8031F9D8 0031C938 28 00 00 00 */ cmplwi r0, 0 /* 8031F9DC 0031C93C 40 82 00 10 */ bne lbl_8031F9EC /* 8031F9E0 0031C940 80 03 01 28 */ lwz r0, 0x128(r3) /* 8031F9E4 0031C944 28 00 00 00 */ cmplwi r0, 0 /* 8031F9E8 0031C948 41 82 00 14 */ beq lbl_8031F9FC lbl_8031F9EC: /* 8031F9EC 0031C94C 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031F9F0 0031C950 38 60 00 01 */ li r3, 1 /* 8031F9F4 0031C954 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8031F9F8 0031C958 98 1F 02 6D */ stb r0, 0x26d(r31) lbl_8031F9FC: /* 8031F9FC 0031C95C C0 02 C9 E8 */ lfs f0, lbl_805AE708@sda21(r2) /* 8031FA00 0031C960 38 00 00 00 */ li r0, 0 /* 8031FA04 0031C964 D0 1F 00 9C */ stfs f0, 0x9c(r31) /* 8031FA08 0031C968 D0 1F 00 A0 */ stfs f0, 0xa0(r31) /* 8031FA0C 0031C96C D0 1F 00 A4 */ stfs f0, 0xa4(r31) /* 8031FA10 0031C970 D0 1F 00 A8 */ stfs f0, 0xa8(r31) /* 8031FA14 0031C974 D0 1F 00 AC */ stfs f0, 0xac(r31) /* 8031FA18 0031C978 D0 1F 00 B0 */ stfs f0, 0xb0(r31) /* 8031FA1C 0031C97C D0 1F 00 B4 */ stfs f0, 0xb4(r31) /* 8031FA20 0031C980 D0 1F 00 B8 */ stfs f0, 0xb8(r31) /* 8031FA24 0031C984 D0 1F 00 BC */ stfs f0, 0xbc(r31) /* 8031FA28 0031C988 D0 1F 00 C0 */ stfs f0, 0xc0(r31) /* 8031FA2C 0031C98C D0 1F 00 C4 */ stfs f0, 0xc4(r31) /* 8031FA30 0031C990 D0 1F 00 C8 */ stfs f0, 0xc8(r31) /* 8031FA34 0031C994 D0 1F 00 CC */ stfs f0, 0xcc(r31) /* 8031FA38 0031C998 D0 1F 00 D0 */ stfs f0, 0xd0(r31) /* 8031FA3C 0031C99C D0 1F 00 D4 */ stfs f0, 0xd4(r31) /* 8031FA40 0031C9A0 D0 1F 00 D8 */ stfs f0, 0xd8(r31) /* 8031FA44 0031C9A4 90 1F 02 A0 */ stw r0, 0x2a0(r31) /* 8031FA48 0031C9A8 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FA4C 0031C9AC 80 63 00 8C */ lwz r3, 0x8c(r3) /* 8031FA50 0031C9B0 28 03 00 00 */ cmplwi r3, 0 /* 8031FA54 0031C9B4 41 82 00 1C */ beq lbl_8031FA70 /* 8031FA58 0031C9B8 81 83 00 00 */ lwz r12, 0(r3) /* 8031FA5C 0031C9BC 38 BF 02 A0 */ addi r5, r31, 0x2a0 /* 8031FA60 0031C9C0 38 80 00 00 */ li r4, 0 /* 8031FA64 0031C9C4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FA68 0031C9C8 7D 89 03 A6 */ mtctr r12 /* 8031FA6C 0031C9CC 4E 80 04 21 */ bctrl lbl_8031FA70: /* 8031FA70 0031C9D0 38 00 00 10 */ li r0, 0x10 /* 8031FA74 0031C9D4 90 1F 02 A8 */ stw r0, 0x2a8(r31) /* 8031FA78 0031C9D8 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FA7C 0031C9DC 80 63 00 B4 */ lwz r3, 0xb4(r3) /* 8031FA80 0031C9E0 28 03 00 00 */ cmplwi r3, 0 /* 8031FA84 0031C9E4 41 82 00 30 */ beq lbl_8031FAB4 /* 8031FA88 0031C9E8 81 83 00 00 */ lwz r12, 0(r3) /* 8031FA8C 0031C9EC 38 BF 02 A8 */ addi r5, r31, 0x2a8 /* 8031FA90 0031C9F0 38 80 00 00 */ li r4, 0 /* 8031FA94 0031C9F4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FA98 0031C9F8 7D 89 03 A6 */ mtctr r12 /* 8031FA9C 0031C9FC 4E 80 04 21 */ bctrl /* 8031FAA0 0031CA00 80 1F 02 A8 */ lwz r0, 0x2a8(r31) /* 8031FAA4 0031CA04 2C 00 00 00 */ cmpwi r0, 0 /* 8031FAA8 0031CA08 41 81 00 0C */ bgt lbl_8031FAB4 /* 8031FAAC 0031CA0C 38 00 00 01 */ li r0, 1 /* 8031FAB0 0031CA10 90 1F 02 A8 */ stw r0, 0x2a8(r31) lbl_8031FAB4: /* 8031FAB4 0031CA14 38 00 00 10 */ li r0, 0x10 /* 8031FAB8 0031CA18 90 1F 02 A4 */ stw r0, 0x2a4(r31) /* 8031FABC 0031CA1C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FAC0 0031CA20 80 63 00 B8 */ lwz r3, 0xb8(r3) /* 8031FAC4 0031CA24 28 03 00 00 */ cmplwi r3, 0 /* 8031FAC8 0031CA28 41 82 00 1C */ beq lbl_8031FAE4 /* 8031FACC 0031CA2C 81 83 00 00 */ lwz r12, 0(r3) /* 8031FAD0 0031CA30 38 BF 02 A4 */ addi r5, r31, 0x2a4 /* 8031FAD4 0031CA34 38 80 00 00 */ li r4, 0 /* 8031FAD8 0031CA38 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FADC 0031CA3C 7D 89 03 A6 */ mtctr r12 /* 8031FAE0 0031CA40 4E 80 04 21 */ bctrl lbl_8031FAE4: /* 8031FAE4 0031CA44 38 00 00 00 */ li r0, 0 /* 8031FAE8 0031CA48 90 1F 02 AC */ stw r0, 0x2ac(r31) /* 8031FAEC 0031CA4C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FAF0 0031CA50 80 63 00 D0 */ lwz r3, 0xd0(r3) /* 8031FAF4 0031CA54 28 03 00 00 */ cmplwi r3, 0 /* 8031FAF8 0031CA58 41 82 00 1C */ beq lbl_8031FB14 /* 8031FAFC 0031CA5C 81 83 00 00 */ lwz r12, 0(r3) /* 8031FB00 0031CA60 38 BF 02 AC */ addi r5, r31, 0x2ac /* 8031FB04 0031CA64 38 80 00 00 */ li r4, 0 /* 8031FB08 0031CA68 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FB0C 0031CA6C 7D 89 03 A6 */ mtctr r12 /* 8031FB10 0031CA70 4E 80 04 21 */ bctrl lbl_8031FB14: /* 8031FB14 0031CA74 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FB18 0031CA78 80 63 00 D4 */ lwz r3, 0xd4(r3) /* 8031FB1C 0031CA7C 28 03 00 00 */ cmplwi r3, 0 /* 8031FB20 0031CA80 41 82 00 4C */ beq lbl_8031FB6C /* 8031FB24 0031CA84 81 83 00 00 */ lwz r12, 0(r3) /* 8031FB28 0031CA88 38 BF 02 B0 */ addi r5, r31, 0x2b0 /* 8031FB2C 0031CA8C 38 80 00 00 */ li r4, 0 /* 8031FB30 0031CA90 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FB34 0031CA94 7D 89 03 A6 */ mtctr r12 /* 8031FB38 0031CA98 4E 80 04 21 */ bctrl /* 8031FB3C 0031CA9C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FB40 0031CAA0 80 63 00 D4 */ lwz r3, 0xd4(r3) /* 8031FB44 0031CAA4 81 83 00 00 */ lwz r12, 0(r3) /* 8031FB48 0031CAA8 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031FB4C 0031CAAC 7D 89 03 A6 */ mtctr r12 /* 8031FB50 0031CAB0 4E 80 04 21 */ bctrl /* 8031FB54 0031CAB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031FB58 0031CAB8 40 82 00 14 */ bne lbl_8031FB6C /* 8031FB5C 0031CABC 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031FB60 0031CAC0 38 60 00 01 */ li r3, 1 /* 8031FB64 0031CAC4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8031FB68 0031CAC8 98 1F 02 6C */ stb r0, 0x26c(r31) lbl_8031FB6C: /* 8031FB6C 0031CACC 38 00 00 00 */ li r0, 0 /* 8031FB70 0031CAD0 90 1F 02 BC */ stw r0, 0x2bc(r31) /* 8031FB74 0031CAD4 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FB78 0031CAD8 80 63 00 E4 */ lwz r3, 0xe4(r3) /* 8031FB7C 0031CADC 28 03 00 00 */ cmplwi r3, 0 /* 8031FB80 0031CAE0 41 82 00 1C */ beq lbl_8031FB9C /* 8031FB84 0031CAE4 81 83 00 00 */ lwz r12, 0(r3) /* 8031FB88 0031CAE8 38 BF 02 BC */ addi r5, r31, 0x2bc /* 8031FB8C 0031CAEC 38 80 00 00 */ li r4, 0 /* 8031FB90 0031CAF0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FB94 0031CAF4 7D 89 03 A6 */ mtctr r12 /* 8031FB98 0031CAF8 4E 80 04 21 */ bctrl lbl_8031FB9C: /* 8031FB9C 0031CAFC 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FBA0 0031CB00 80 63 00 E8 */ lwz r3, 0xe8(r3) /* 8031FBA4 0031CB04 28 03 00 00 */ cmplwi r3, 0 /* 8031FBA8 0031CB08 41 82 00 4C */ beq lbl_8031FBF4 /* 8031FBAC 0031CB0C 81 83 00 00 */ lwz r12, 0(r3) /* 8031FBB0 0031CB10 38 BF 02 C0 */ addi r5, r31, 0x2c0 /* 8031FBB4 0031CB14 38 80 00 00 */ li r4, 0 /* 8031FBB8 0031CB18 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FBBC 0031CB1C 7D 89 03 A6 */ mtctr r12 /* 8031FBC0 0031CB20 4E 80 04 21 */ bctrl /* 8031FBC4 0031CB24 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FBC8 0031CB28 80 63 00 E8 */ lwz r3, 0xe8(r3) /* 8031FBCC 0031CB2C 81 83 00 00 */ lwz r12, 0(r3) /* 8031FBD0 0031CB30 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031FBD4 0031CB34 7D 89 03 A6 */ mtctr r12 /* 8031FBD8 0031CB38 4E 80 04 21 */ bctrl /* 8031FBDC 0031CB3C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031FBE0 0031CB40 40 82 00 14 */ bne lbl_8031FBF4 /* 8031FBE4 0031CB44 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031FBE8 0031CB48 38 60 00 01 */ li r3, 1 /* 8031FBEC 0031CB4C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8031FBF0 0031CB50 98 1F 02 6C */ stb r0, 0x26c(r31) lbl_8031FBF4: /* 8031FBF4 0031CB54 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FBF8 0031CB58 80 63 00 0C */ lwz r3, 0xc(r3) /* 8031FBFC 0031CB5C 28 03 00 00 */ cmplwi r3, 0 /* 8031FC00 0031CB60 41 82 00 4C */ beq lbl_8031FC4C /* 8031FC04 0031CB64 81 83 00 00 */ lwz r12, 0(r3) /* 8031FC08 0031CB68 38 BF 00 F4 */ addi r5, r31, 0xf4 /* 8031FC0C 0031CB6C 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031FC10 0031CB70 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FC14 0031CB74 7D 89 03 A6 */ mtctr r12 /* 8031FC18 0031CB78 4E 80 04 21 */ bctrl /* 8031FC1C 0031CB7C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FC20 0031CB80 80 63 00 0C */ lwz r3, 0xc(r3) /* 8031FC24 0031CB84 81 83 00 00 */ lwz r12, 0(r3) /* 8031FC28 0031CB88 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8031FC2C 0031CB8C 7D 89 03 A6 */ mtctr r12 /* 8031FC30 0031CB90 4E 80 04 21 */ bctrl /* 8031FC34 0031CB94 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8031FC38 0031CB98 40 82 00 14 */ bne lbl_8031FC4C /* 8031FC3C 0031CB9C 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031FC40 0031CBA0 38 60 00 01 */ li r3, 1 /* 8031FC44 0031CBA4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8031FC48 0031CBA8 98 1F 02 6C */ stb r0, 0x26c(r31) lbl_8031FC4C: /* 8031FC4C 0031CBAC 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FC50 0031CBB0 80 63 00 00 */ lwz r3, 0(r3) /* 8031FC54 0031CBB4 28 03 00 00 */ cmplwi r3, 0 /* 8031FC58 0031CBB8 41 82 00 20 */ beq lbl_8031FC78 /* 8031FC5C 0031CBBC 81 83 00 00 */ lwz r12, 0(r3) /* 8031FC60 0031CBC0 38 BF 02 68 */ addi r5, r31, 0x268 /* 8031FC64 0031CBC4 38 80 00 00 */ li r4, 0 /* 8031FC68 0031CBC8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FC6C 0031CBCC 7D 89 03 A6 */ mtctr r12 /* 8031FC70 0031CBD0 4E 80 04 21 */ bctrl /* 8031FC74 0031CBD4 48 00 00 10 */ b lbl_8031FC84 lbl_8031FC78: /* 8031FC78 0031CBD8 3C 60 00 80 */ lis r3, 0x007FFFFF@ha /* 8031FC7C 0031CBDC 38 03 FF FF */ addi r0, r3, 0x007FFFFF@l /* 8031FC80 0031CBE0 90 1F 02 68 */ stw r0, 0x268(r31) lbl_8031FC84: /* 8031FC84 0031CBE4 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FC88 0031CBE8 80 63 00 1C */ lwz r3, 0x1c(r3) /* 8031FC8C 0031CBEC 28 03 00 00 */ cmplwi r3, 0 /* 8031FC90 0031CBF0 41 82 00 1C */ beq lbl_8031FCAC /* 8031FC94 0031CBF4 81 83 00 00 */ lwz r12, 0(r3) /* 8031FC98 0031CBF8 38 BF 00 90 */ addi r5, r31, 0x90 /* 8031FC9C 0031CBFC 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031FCA0 0031CC00 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FCA4 0031CC04 7D 89 03 A6 */ mtctr r12 /* 8031FCA8 0031CC08 4E 80 04 21 */ bctrl lbl_8031FCAC: /* 8031FCAC 0031CC0C 83 DF 00 90 */ lwz r30, 0x90(r31) /* 8031FCB0 0031CC10 2C 1E 01 00 */ cmpwi r30, 0x100 /* 8031FCB4 0031CC14 40 81 00 08 */ ble lbl_8031FCBC /* 8031FCB8 0031CC18 3B C0 01 00 */ li r30, 0x100 lbl_8031FCBC: /* 8031FCBC 0031CC1C 7F C4 F3 78 */ mr r4, r30 /* 8031FCC0 0031CC20 38 7F 00 30 */ addi r3, r31, 0x30 /* 8031FCC4 0031CC24 48 00 06 FD */ bl sub_803203c0 /* 8031FCC8 0031CC28 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031FCCC 0031CC2C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8031FCD0 0031CC30 41 82 00 5C */ beq lbl_8031FD2C /* 8031FCD4 0031CC34 3C 60 80 4C */ lis r3, mStaticParticleList@ha /* 8031FCD8 0031CC38 38 A1 00 20 */ addi r5, r1, 0x20 /* 8031FCDC 0031CC3C 3B A3 FE 28 */ addi r29, r3, mStaticParticleList@l /* 8031FCE0 0031CC40 7F C4 F3 78 */ mr r4, r30 /* 8031FCE4 0031CC44 81 9D 00 00 */ lwz r12, 0(r29) /* 8031FCE8 0031CC48 38 7F 00 60 */ addi r3, r31, 0x60 /* 8031FCEC 0031CC4C 81 7D 00 04 */ lwz r11, 4(r29) /* 8031FCF0 0031CC50 81 5D 00 08 */ lwz r10, 8(r29) /* 8031FCF4 0031CC54 81 3D 00 0C */ lwz r9, 0xc(r29) /* 8031FCF8 0031CC58 81 1D 00 10 */ lwz r8, 0x10(r29) /* 8031FCFC 0031CC5C 80 FD 00 14 */ lwz r7, 0x14(r29) /* 8031FD00 0031CC60 80 DD 00 18 */ lwz r6, 0x18(r29) /* 8031FD04 0031CC64 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 8031FD08 0031CC68 91 81 00 20 */ stw r12, 0x20(r1) /* 8031FD0C 0031CC6C 91 61 00 24 */ stw r11, 0x24(r1) /* 8031FD10 0031CC70 91 41 00 28 */ stw r10, 0x28(r1) /* 8031FD14 0031CC74 91 21 00 2C */ stw r9, 0x2c(r1) /* 8031FD18 0031CC78 91 01 00 30 */ stw r8, 0x30(r1) /* 8031FD1C 0031CC7C 90 E1 00 34 */ stw r7, 0x34(r1) /* 8031FD20 0031CC80 90 C1 00 38 */ stw r6, 0x38(r1) /* 8031FD24 0031CC84 90 01 00 3C */ stw r0, 0x3c(r1) /* 8031FD28 0031CC88 48 00 02 95 */ bl sub_8031ffbc lbl_8031FD2C: /* 8031FD2C 0031CC8C 80 1F 00 2C */ lwz r0, 0x2c(r31) /* 8031FD30 0031CC90 2C 00 00 01 */ cmpwi r0, 1 /* 8031FD34 0031CC94 40 82 00 18 */ bne lbl_8031FD4C /* 8031FD38 0031CC98 3C 60 80 5A */ lis r3, sIdentity__9CMatrix3f@ha /* 8031FD3C 0031CC9C 80 9F 00 90 */ lwz r4, 0x90(r31) /* 8031FD40 0031CCA0 38 A3 65 FC */ addi r5, r3, sIdentity__9CMatrix3f@l /* 8031FD44 0031CCA4 38 7F 00 50 */ addi r3, r31, 0x50 /* 8031FD48 0031CCA8 48 00 01 85 */ bl sub_8031fecc lbl_8031FD4C: /* 8031FD4C 0031CCAC 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FD50 0031CCB0 88 1F 02 6C */ lbz r0, 0x26c(r31) /* 8031FD54 0031CCB4 88 63 00 30 */ lbz r3, 0x30(r3) /* 8031FD58 0031CCB8 50 60 CF FE */ rlwimi r0, r3, 0x19, 0x1f, 0x1f /* 8031FD5C 0031CCBC 98 1F 02 6C */ stb r0, 0x26c(r31) /* 8031FD60 0031CCC0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FD64 0031CCC4 88 1F 02 6D */ lbz r0, 0x26d(r31) /* 8031FD68 0031CCC8 88 63 00 30 */ lbz r3, 0x30(r3) /* 8031FD6C 0031CCCC 50 60 0E 30 */ rlwimi r0, r3, 1, 0x18, 0x18 /* 8031FD70 0031CCD0 98 1F 02 6D */ stb r0, 0x26d(r31) /* 8031FD74 0031CCD4 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FD78 0031CCD8 80 03 00 EC */ lwz r0, 0xec(r3) /* 8031FD7C 0031CCDC 28 00 00 00 */ cmplwi r0, 0 /* 8031FD80 0031CCE0 41 82 01 1C */ beq lbl_8031FE9C /* 8031FD84 0031CCE4 38 00 00 00 */ li r0, 0 /* 8031FD88 0031CCE8 38 A1 00 0C */ addi r5, r1, 0xc /* 8031FD8C 0031CCEC 90 01 00 0C */ stw r0, 0xc(r1) /* 8031FD90 0031CCF0 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FD94 0031CCF4 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031FD98 0031CCF8 80 63 00 EC */ lwz r3, 0xec(r3) /* 8031FD9C 0031CCFC 81 83 00 00 */ lwz r12, 0(r3) /* 8031FDA0 0031CD00 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FDA4 0031CD04 7D 89 03 A6 */ mtctr r12 /* 8031FDA8 0031CD08 4E 80 04 21 */ bctrl /* 8031FDAC 0031CD0C 80 01 00 0C */ lwz r0, 0xc(r1) /* 8031FDB0 0031CD10 2C 00 00 02 */ cmpwi r0, 2 /* 8031FDB4 0031CD14 41 82 00 3C */ beq lbl_8031FDF0 /* 8031FDB8 0031CD18 40 80 00 14 */ bge lbl_8031FDCC /* 8031FDBC 0031CD1C 2C 00 00 00 */ cmpwi r0, 0 /* 8031FDC0 0031CD20 41 82 00 18 */ beq lbl_8031FDD8 /* 8031FDC4 0031CD24 40 80 00 20 */ bge lbl_8031FDE4 /* 8031FDC8 0031CD28 48 00 00 40 */ b lbl_8031FE08 lbl_8031FDCC: /* 8031FDCC 0031CD2C 2C 00 00 04 */ cmpwi r0, 4 /* 8031FDD0 0031CD30 40 80 00 38 */ bge lbl_8031FE08 /* 8031FDD4 0031CD34 48 00 00 28 */ b lbl_8031FDFC lbl_8031FDD8: /* 8031FDD8 0031CD38 38 00 00 00 */ li r0, 0 /* 8031FDDC 0031CD3C 90 1F 03 08 */ stw r0, 0x308(r31) /* 8031FDE0 0031CD40 48 00 00 30 */ b lbl_8031FE10 lbl_8031FDE4: /* 8031FDE4 0031CD44 38 00 00 01 */ li r0, 1 /* 8031FDE8 0031CD48 90 1F 03 08 */ stw r0, 0x308(r31) /* 8031FDEC 0031CD4C 48 00 00 24 */ b lbl_8031FE10 lbl_8031FDF0: /* 8031FDF0 0031CD50 38 00 00 02 */ li r0, 2 /* 8031FDF4 0031CD54 90 1F 03 08 */ stw r0, 0x308(r31) /* 8031FDF8 0031CD58 48 00 00 18 */ b lbl_8031FE10 lbl_8031FDFC: /* 8031FDFC 0031CD5C 38 00 00 03 */ li r0, 3 /* 8031FE00 0031CD60 90 1F 03 08 */ stw r0, 0x308(r31) /* 8031FE04 0031CD64 48 00 00 0C */ b lbl_8031FE10 lbl_8031FE08: /* 8031FE08 0031CD68 38 00 00 00 */ li r0, 0 /* 8031FE0C 0031CD6C 90 1F 03 08 */ stw r0, 0x308(r31) lbl_8031FE10: /* 8031FE10 0031CD70 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FE14 0031CD74 80 03 01 00 */ lwz r0, 0x100(r3) /* 8031FE18 0031CD78 28 00 00 00 */ cmplwi r0, 0 /* 8031FE1C 0031CD7C 41 82 00 80 */ beq lbl_8031FE9C /* 8031FE20 0031CD80 38 00 00 01 */ li r0, 1 /* 8031FE24 0031CD84 38 A1 00 08 */ addi r5, r1, 8 /* 8031FE28 0031CD88 90 01 00 08 */ stw r0, 8(r1) /* 8031FE2C 0031CD8C 80 7F 00 28 */ lwz r3, 0x28(r31) /* 8031FE30 0031CD90 80 9F 00 74 */ lwz r4, 0x74(r31) /* 8031FE34 0031CD94 80 63 01 00 */ lwz r3, 0x100(r3) /* 8031FE38 0031CD98 81 83 00 00 */ lwz r12, 0(r3) /* 8031FE3C 0031CD9C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8031FE40 0031CDA0 7D 89 03 A6 */ mtctr r12 /* 8031FE44 0031CDA4 4E 80 04 21 */ bctrl /* 8031FE48 0031CDA8 80 01 00 08 */ lwz r0, 8(r1) /* 8031FE4C 0031CDAC 2C 00 00 01 */ cmpwi r0, 1 /* 8031FE50 0031CDB0 41 82 00 2C */ beq lbl_8031FE7C /* 8031FE54 0031CDB4 40 80 00 10 */ bge lbl_8031FE64 /* 8031FE58 0031CDB8 2C 00 00 00 */ cmpwi r0, 0 /* 8031FE5C 0031CDBC 40 80 00 14 */ bge lbl_8031FE70 /* 8031FE60 0031CDC0 48 00 00 34 */ b lbl_8031FE94 lbl_8031FE64: /* 8031FE64 0031CDC4 2C 00 00 03 */ cmpwi r0, 3 /* 8031FE68 0031CDC8 40 80 00 2C */ bge lbl_8031FE94 /* 8031FE6C 0031CDCC 48 00 00 1C */ b lbl_8031FE88 lbl_8031FE70: /* 8031FE70 0031CDD0 38 00 00 00 */ li r0, 0 /* 8031FE74 0031CDD4 90 1F 03 2C */ stw r0, 0x32c(r31) /* 8031FE78 0031CDD8 48 00 00 24 */ b lbl_8031FE9C lbl_8031FE7C: /* 8031FE7C 0031CDDC 38 00 00 01 */ li r0, 1 /* 8031FE80 0031CDE0 90 1F 03 2C */ stw r0, 0x32c(r31) /* 8031FE84 0031CDE4 48 00 00 18 */ b lbl_8031FE9C lbl_8031FE88: /* 8031FE88 0031CDE8 38 00 00 02 */ li r0, 2 /* 8031FE8C 0031CDEC 90 1F 03 2C */ stw r0, 0x32c(r31) /* 8031FE90 0031CDF0 48 00 00 0C */ b lbl_8031FE9C lbl_8031FE94: /* 8031FE94 0031CDF4 38 00 00 01 */ li r0, 1 /* 8031FE98 0031CDF8 90 1F 03 2C */ stw r0, 0x32c(r31) lbl_8031FE9C: /* 8031FE9C 0031CDFC 38 61 00 14 */ addi r3, r1, 0x14 /* 8031FEA0 0031CE00 38 80 FF FF */ li r4, -1 /* 8031FEA4 0031CE04 4B FF 27 61 */ bl __dt__13CGlobalRandomFv /* 8031FEA8 0031CE08 80 01 00 54 */ lwz r0, 0x54(r1) /* 8031FEAC 0031CE0C 7F E3 FB 78 */ mr r3, r31 /* 8031FEB0 0031CE10 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8031FEB4 0031CE14 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8031FEB8 0031CE18 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8031FEBC 0031CE1C 83 81 00 40 */ lwz r28, 0x40(r1) /* 8031FEC0 0031CE20 7C 08 03 A6 */ mtlr r0 /* 8031FEC4 0031CE24 38 21 00 50 */ addi r1, r1, 0x50 /* 8031FEC8 0031CE28 4E 80 00 20 */ blr .global sub_8031fecc sub_8031fecc: /* 8031FECC 0031CE2C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8031FED0 0031CE30 7C 08 02 A6 */ mflr r0 /* 8031FED4 0031CE34 90 01 00 34 */ stw r0, 0x34(r1) /* 8031FED8 0031CE38 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8031FEDC 0031CE3C 7C BF 2B 78 */ mr r31, r5 /* 8031FEE0 0031CE40 93 C1 00 28 */ stw r30, 0x28(r1) /* 8031FEE4 0031CE44 7C 9E 23 78 */ mr r30, r4 /* 8031FEE8 0031CE48 93 A1 00 24 */ stw r29, 0x24(r1) /* 8031FEEC 0031CE4C 7C 7D 1B 78 */ mr r29, r3 /* 8031FEF0 0031CE50 93 81 00 20 */ stw r28, 0x20(r1) /* 8031FEF4 0031CE54 80 03 00 04 */ lwz r0, 4(r3) /* 8031FEF8 0031CE58 80 63 00 0C */ lwz r3, 0xc(r3) /* 8031FEFC 0031CE5C 1C 00 00 24 */ mulli r0, r0, 0x24 /* 8031FF00 0031CE60 90 61 00 0C */ stw r3, 0xc(r1) /* 8031FF04 0031CE64 7C 03 02 14 */ add r0, r3, r0 /* 8031FF08 0031CE68 90 61 00 08 */ stw r3, 8(r1) /* 8031FF0C 0031CE6C 90 01 00 14 */ stw r0, 0x14(r1) /* 8031FF10 0031CE70 90 01 00 10 */ stw r0, 0x10(r1) /* 8031FF14 0031CE74 48 00 00 08 */ b lbl_8031FF1C lbl_8031FF18: /* 8031FF18 0031CE78 38 63 00 24 */ addi r3, r3, 0x24 lbl_8031FF1C: /* 8031FF1C 0031CE7C 7C 03 00 40 */ cmplw r3, r0 /* 8031FF20 0031CE80 40 82 FF F8 */ bne lbl_8031FF18 /* 8031FF24 0031CE84 38 00 00 00 */ li r0, 0 /* 8031FF28 0031CE88 7F A3 EB 78 */ mr r3, r29 /* 8031FF2C 0031CE8C 90 1D 00 04 */ stw r0, 4(r29) /* 8031FF30 0031CE90 7F C4 F3 78 */ mr r4, r30 /* 8031FF34 0031CE94 48 00 06 05 */ bl sub_80320538 /* 8031FF38 0031CE98 3B 80 00 00 */ li r28, 0 /* 8031FF3C 0031CE9C 48 00 00 58 */ b lbl_8031FF94 lbl_8031FF40: /* 8031FF40 0031CEA0 80 1D 00 04 */ lwz r0, 4(r29) /* 8031FF44 0031CEA4 80 BD 00 08 */ lwz r5, 8(r29) /* 8031FF48 0031CEA8 7C 00 28 00 */ cmpw r0, r5 /* 8031FF4C 0031CEAC 41 80 00 1C */ blt lbl_8031FF68 /* 8031FF50 0031CEB0 2C 05 00 00 */ cmpwi r5, 0 /* 8031FF54 0031CEB4 7F A3 EB 78 */ mr r3, r29 /* 8031FF58 0031CEB8 38 80 00 04 */ li r4, 4 /* 8031FF5C 0031CEBC 41 82 00 08 */ beq lbl_8031FF64 /* 8031FF60 0031CEC0 54 A4 08 3C */ slwi r4, r5, 1 lbl_8031FF64: /* 8031FF64 0031CEC4 48 00 05 D5 */ bl sub_80320538 lbl_8031FF68: /* 8031FF68 0031CEC8 80 1D 00 04 */ lwz r0, 4(r29) /* 8031FF6C 0031CECC 80 7D 00 0C */ lwz r3, 0xc(r29) /* 8031FF70 0031CED0 1C 00 00 24 */ mulli r0, r0, 0x24 /* 8031FF74 0031CED4 7C 63 02 15 */ add. r3, r3, r0 /* 8031FF78 0031CED8 41 82 00 0C */ beq lbl_8031FF84 /* 8031FF7C 0031CEDC 7F E4 FB 78 */ mr r4, r31 /* 8031FF80 0031CEE0 4B FF 00 A5 */ bl __ct__9CMatrix3fFRC9CMatrix3f lbl_8031FF84: /* 8031FF84 0031CEE4 80 7D 00 04 */ lwz r3, 4(r29) /* 8031FF88 0031CEE8 3B 9C 00 01 */ addi r28, r28, 1 /* 8031FF8C 0031CEEC 38 03 00 01 */ addi r0, r3, 1 /* 8031FF90 0031CEF0 90 1D 00 04 */ stw r0, 4(r29) lbl_8031FF94: /* 8031FF94 0031CEF4 7C 1C F0 00 */ cmpw r28, r30 /* 8031FF98 0031CEF8 41 80 FF A8 */ blt lbl_8031FF40 /* 8031FF9C 0031CEFC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8031FFA0 0031CF00 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8031FFA4 0031CF04 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8031FFA8 0031CF08 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8031FFAC 0031CF0C 83 81 00 20 */ lwz r28, 0x20(r1) /* 8031FFB0 0031CF10 7C 08 03 A6 */ mtlr r0 /* 8031FFB4 0031CF14 38 21 00 30 */ addi r1, r1, 0x30 /* 8031FFB8 0031CF18 4E 80 00 20 */ blr .global sub_8031ffbc sub_8031ffbc: /* 8031FFBC 0031CF1C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8031FFC0 0031CF20 7C 08 02 A6 */ mflr r0 /* 8031FFC4 0031CF24 90 01 00 34 */ stw r0, 0x34(r1) /* 8031FFC8 0031CF28 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8031FFCC 0031CF2C 93 C1 00 28 */ stw r30, 0x28(r1) /* 8031FFD0 0031CF30 7C BE 2B 78 */ mr r30, r5 /* 8031FFD4 0031CF34 93 A1 00 24 */ stw r29, 0x24(r1) /* 8031FFD8 0031CF38 7C 9D 23 78 */ mr r29, r4 /* 8031FFDC 0031CF3C 93 81 00 20 */ stw r28, 0x20(r1) /* 8031FFE0 0031CF40 7C 7C 1B 78 */ mr r28, r3 /* 8031FFE4 0031CF44 80 03 00 04 */ lwz r0, 4(r3) /* 8031FFE8 0031CF48 80 63 00 0C */ lwz r3, 0xc(r3) /* 8031FFEC 0031CF4C 54 00 28 34 */ slwi r0, r0, 5 /* 8031FFF0 0031CF50 7C 03 02 14 */ add r0, r3, r0 /* 8031FFF4 0031CF54 90 61 00 0C */ stw r3, 0xc(r1) /* 8031FFF8 0031CF58 90 01 00 14 */ stw r0, 0x14(r1) /* 8031FFFC 0031CF5C 90 01 00 10 */ stw r0, 0x10(r1) /* 80320000 0031CF60 90 61 00 08 */ stw r3, 8(r1) /* 80320004 0031CF64 48 00 00 08 */ b lbl_8032000C lbl_80320008: /* 80320008 0031CF68 38 63 00 20 */ addi r3, r3, 0x20 lbl_8032000C: /* 8032000C 0031CF6C 7C 03 00 40 */ cmplw r3, r0 /* 80320010 0031CF70 40 82 FF F8 */ bne lbl_80320008 /* 80320014 0031CF74 38 00 00 00 */ li r0, 0 /* 80320018 0031CF78 7F 83 E3 78 */ mr r3, r28 /* 8032001C 0031CF7C 90 1C 00 04 */ stw r0, 4(r28) /* 80320020 0031CF80 7F A4 EB 78 */ mr r4, r29 /* 80320024 0031CF84 48 00 05 F9 */ bl "reserve__Q24rstl69vectorFi" /* 80320028 0031CF88 3B E0 00 00 */ li r31, 0 /* 8032002C 0031CF8C 48 00 00 90 */ b lbl_803200BC lbl_80320030: /* 80320030 0031CF90 80 1C 00 04 */ lwz r0, 4(r28) /* 80320034 0031CF94 80 BC 00 08 */ lwz r5, 8(r28) /* 80320038 0031CF98 7C 00 28 00 */ cmpw r0, r5 /* 8032003C 0031CF9C 41 80 00 1C */ blt lbl_80320058 /* 80320040 0031CFA0 2C 05 00 00 */ cmpwi r5, 0 /* 80320044 0031CFA4 7F 83 E3 78 */ mr r3, r28 /* 80320048 0031CFA8 38 80 00 04 */ li r4, 4 /* 8032004C 0031CFAC 41 82 00 08 */ beq lbl_80320054 /* 80320050 0031CFB0 54 A4 08 3C */ slwi r4, r5, 1 lbl_80320054: /* 80320054 0031CFB4 48 00 05 C9 */ bl "reserve__Q24rstl69vectorFi" lbl_80320058: /* 80320058 0031CFB8 80 1C 00 04 */ lwz r0, 4(r28) /* 8032005C 0031CFBC 80 7C 00 0C */ lwz r3, 0xc(r28) /* 80320060 0031CFC0 54 00 28 34 */ slwi r0, r0, 5 /* 80320064 0031CFC4 7C 83 02 15 */ add. r4, r3, r0 /* 80320068 0031CFC8 41 82 00 44 */ beq lbl_803200AC /* 8032006C 0031CFCC 80 7E 00 00 */ lwz r3, 0(r30) /* 80320070 0031CFD0 80 1E 00 04 */ lwz r0, 4(r30) /* 80320074 0031CFD4 90 64 00 00 */ stw r3, 0(r4) /* 80320078 0031CFD8 90 04 00 04 */ stw r0, 4(r4) /* 8032007C 0031CFDC 80 7E 00 08 */ lwz r3, 8(r30) /* 80320080 0031CFE0 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80320084 0031CFE4 90 64 00 08 */ stw r3, 8(r4) /* 80320088 0031CFE8 90 04 00 0C */ stw r0, 0xc(r4) /* 8032008C 0031CFEC 80 7E 00 10 */ lwz r3, 0x10(r30) /* 80320090 0031CFF0 80 1E 00 14 */ lwz r0, 0x14(r30) /* 80320094 0031CFF4 90 64 00 10 */ stw r3, 0x10(r4) /* 80320098 0031CFF8 90 04 00 14 */ stw r0, 0x14(r4) /* 8032009C 0031CFFC 80 7E 00 18 */ lwz r3, 0x18(r30) /* 803200A0 0031D000 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 803200A4 0031D004 90 64 00 18 */ stw r3, 0x18(r4) /* 803200A8 0031D008 90 04 00 1C */ stw r0, 0x1c(r4) lbl_803200AC: /* 803200AC 0031D00C 80 7C 00 04 */ lwz r3, 4(r28) /* 803200B0 0031D010 3B FF 00 01 */ addi r31, r31, 1 /* 803200B4 0031D014 38 03 00 01 */ addi r0, r3, 1 /* 803200B8 0031D018 90 1C 00 04 */ stw r0, 4(r28) lbl_803200BC: /* 803200BC 0031D01C 7C 1F E8 00 */ cmpw r31, r29 /* 803200C0 0031D020 41 80 FF 70 */ blt lbl_80320030 /* 803200C4 0031D024 80 01 00 34 */ lwz r0, 0x34(r1) /* 803200C8 0031D028 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 803200CC 0031D02C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 803200D0 0031D030 83 A1 00 24 */ lwz r29, 0x24(r1) /* 803200D4 0031D034 83 81 00 20 */ lwz r28, 0x20(r1) /* 803200D8 0031D038 7C 08 03 A6 */ mtlr r0 /* 803200DC 0031D03C 38 21 00 30 */ addi r1, r1, 0x30 /* 803200E0 0031D040 4E 80 00 20 */ blr .global sub_803200e4 sub_803200e4: /* 803200E4 0031D044 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803200E8 0031D048 7C 08 02 A6 */ mflr r0 /* 803200EC 0031D04C 90 01 00 44 */ stw r0, 0x44(r1) /* 803200F0 0031D050 BF 61 00 2C */ stmw r27, 0x2c(r1) /* 803200F4 0031D054 7C 7D 1B 78 */ mr r29, r3 /* 803200F8 0031D058 7C 9E 23 78 */ mr r30, r4 /* 803200FC 0031D05C 7C BF 2B 78 */ mr r31, r5 /* 80320100 0031D060 7C 1D F0 50 */ subf r0, r29, r30 /* 80320104 0031D064 7C 00 26 70 */ srawi r0, r0, 4 /* 80320108 0031D068 7C A0 01 94 */ addze r5, r0 /* 8032010C 0031D06C 2C 05 00 01 */ cmpwi r5, 1 /* 80320110 0031D070 40 81 01 24 */ ble lbl_80320234 /* 80320114 0031D074 2C 05 00 14 */ cmpwi r5, 0x14 /* 80320118 0031D078 41 81 00 18 */ bgt lbl_80320130 /* 8032011C 0031D07C 88 1F 00 00 */ lbz r0, 0(r31) /* 80320120 0031D080 38 A1 00 14 */ addi r5, r1, 0x14 /* 80320124 0031D084 98 01 00 14 */ stb r0, 0x14(r1) /* 80320128 0031D088 48 00 07 05 */ bl sub_8032082c /* 8032012C 0031D08C 48 00 01 08 */ b lbl_80320234 lbl_80320130: /* 80320130 0031D090 54 A4 0F FE */ srwi r4, r5, 0x1f /* 80320134 0031D094 88 1F 00 00 */ lbz r0, 0(r31) /* 80320138 0031D098 7C 84 2A 14 */ add r4, r4, r5 /* 8032013C 0031D09C 3B 7E FF F0 */ addi r27, r30, -16 /* 80320140 0031D0A0 7C 84 0E 70 */ srawi r4, r4, 1 /* 80320144 0031D0A4 98 01 00 10 */ stb r0, 0x10(r1) /* 80320148 0031D0A8 54 80 20 36 */ slwi r0, r4, 4 /* 8032014C 0031D0AC 7F 65 DB 78 */ mr r5, r27 /* 80320150 0031D0B0 7F 9D 02 14 */ add r28, r29, r0 /* 80320154 0031D0B4 38 C1 00 10 */ addi r6, r1, 0x10 /* 80320158 0031D0B8 7F 84 E3 78 */ mr r4, r28 /* 8032015C 0031D0BC 48 00 09 DD */ bl sub_80320b38 /* 80320160 0031D0C0 C0 7C 00 08 */ lfs f3, 8(r28) /* 80320164 0031D0C4 3B 9D 00 10 */ addi r28, r29, 0x10 /* 80320168 0031D0C8 3B 7B FF F0 */ addi r27, r27, -16 /* 8032016C 0031D0CC 48 00 00 08 */ b lbl_80320174 lbl_80320170: /* 80320170 0031D0D0 3B 9C 00 10 */ addi r28, r28, 0x10 lbl_80320174: /* 80320174 0031D0D4 C0 1C 00 08 */ lfs f0, 8(r28) /* 80320178 0031D0D8 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 8032017C 0031D0DC 41 81 FF F4 */ bgt lbl_80320170 /* 80320180 0031D0E0 48 00 00 08 */ b lbl_80320188 lbl_80320184: /* 80320184 0031D0E4 3B 7B FF F0 */ addi r27, r27, -16 lbl_80320188: /* 80320188 0031D0E8 C0 1B 00 08 */ lfs f0, 8(r27) /* 8032018C 0031D0EC FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80320190 0031D0F0 41 81 FF F4 */ bgt lbl_80320184 /* 80320194 0031D0F4 7C 1C D8 40 */ cmplw r28, r27 /* 80320198 0031D0F8 40 80 00 6C */ bge lbl_80320204 /* 8032019C 0031D0FC A0 BC 00 00 */ lhz r5, 0(r28) /* 803201A0 0031D100 C0 5C 00 04 */ lfs f2, 4(r28) /* 803201A4 0031D104 C0 3C 00 08 */ lfs f1, 8(r28) /* 803201A8 0031D108 C0 1C 00 0C */ lfs f0, 0xc(r28) /* 803201AC 0031D10C A0 1B 00 00 */ lhz r0, 0(r27) /* 803201B0 0031D110 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 803201B4 0031D114 B0 1C 00 00 */ sth r0, 0(r28) /* 803201B8 0031D118 80 81 00 1C */ lwz r4, 0x1c(r1) /* 803201BC 0031D11C 80 7B 00 04 */ lwz r3, 4(r27) /* 803201C0 0031D120 80 1B 00 08 */ lwz r0, 8(r27) /* 803201C4 0031D124 D0 21 00 20 */ stfs f1, 0x20(r1) /* 803201C8 0031D128 90 7C 00 04 */ stw r3, 4(r28) /* 803201CC 0031D12C 80 61 00 20 */ lwz r3, 0x20(r1) /* 803201D0 0031D130 90 1C 00 08 */ stw r0, 8(r28) /* 803201D4 0031D134 80 1B 00 0C */ lwz r0, 0xc(r27) /* 803201D8 0031D138 D0 01 00 24 */ stfs f0, 0x24(r1) /* 803201DC 0031D13C 90 1C 00 0C */ stw r0, 0xc(r28) /* 803201E0 0031D140 3B 9C 00 10 */ addi r28, r28, 0x10 /* 803201E4 0031D144 80 01 00 24 */ lwz r0, 0x24(r1) /* 803201E8 0031D148 B0 BB 00 00 */ sth r5, 0(r27) /* 803201EC 0031D14C 90 9B 00 04 */ stw r4, 4(r27) /* 803201F0 0031D150 90 7B 00 08 */ stw r3, 8(r27) /* 803201F4 0031D154 90 1B 00 0C */ stw r0, 0xc(r27) /* 803201F8 0031D158 3B 7B FF F0 */ addi r27, r27, -16 /* 803201FC 0031D15C B0 A1 00 18 */ sth r5, 0x18(r1) /* 80320200 0031D160 4B FF FF 74 */ b lbl_80320174 lbl_80320204: /* 80320204 0031D164 88 1F 00 00 */ lbz r0, 0(r31) /* 80320208 0031D168 7F A3 EB 78 */ mr r3, r29 /* 8032020C 0031D16C 7F 84 E3 78 */ mr r4, r28 /* 80320210 0031D170 38 A1 00 0C */ addi r5, r1, 0xc /* 80320214 0031D174 98 01 00 0C */ stb r0, 0xc(r1) /* 80320218 0031D178 4B FF FE CD */ bl sub_803200e4 /* 8032021C 0031D17C 88 1F 00 00 */ lbz r0, 0(r31) /* 80320220 0031D180 7F 83 E3 78 */ mr r3, r28 /* 80320224 0031D184 7F C4 F3 78 */ mr r4, r30 /* 80320228 0031D188 38 A1 00 08 */ addi r5, r1, 8 /* 8032022C 0031D18C 98 01 00 08 */ stb r0, 8(r1) /* 80320230 0031D190 4B FF FE B5 */ bl sub_803200e4 lbl_80320234: /* 80320234 0031D194 BB 61 00 2C */ lmw r27, 0x2c(r1) /* 80320238 0031D198 80 01 00 44 */ lwz r0, 0x44(r1) /* 8032023C 0031D19C 7C 08 03 A6 */ mtlr r0 /* 80320240 0031D1A0 38 21 00 40 */ addi r1, r1, 0x40 /* 80320244 0031D1A4 4E 80 00 20 */ blr .global sub_80320248 sub_80320248: /* 80320248 0031D1A8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8032024C 0031D1AC 7C 08 02 A6 */ mflr r0 /* 80320250 0031D1B0 90 01 00 44 */ stw r0, 0x44(r1) /* 80320254 0031D1B4 BF 61 00 2C */ stmw r27, 0x2c(r1) /* 80320258 0031D1B8 7C 7C 1B 78 */ mr r28, r3 /* 8032025C 0031D1BC 7C 9D 23 78 */ mr r29, r4 /* 80320260 0031D1C0 7C BE 2B 78 */ mr r30, r5 /* 80320264 0031D1C4 7C 1C E8 50 */ subf r0, r28, r29 /* 80320268 0031D1C8 7C 00 26 70 */ srawi r0, r0, 4 /* 8032026C 0031D1CC 7C A0 01 94 */ addze r5, r0 /* 80320270 0031D1D0 2C 05 00 01 */ cmpwi r5, 1 /* 80320274 0031D1D4 40 81 01 38 */ ble lbl_803203AC /* 80320278 0031D1D8 2C 05 00 14 */ cmpwi r5, 0x14 /* 8032027C 0031D1DC 41 81 00 18 */ bgt lbl_80320294 /* 80320280 0031D1E0 88 1E 00 00 */ lbz r0, 0(r30) /* 80320284 0031D1E4 38 A1 00 14 */ addi r5, r1, 0x14 /* 80320288 0031D1E8 98 01 00 14 */ stb r0, 0x14(r1) /* 8032028C 0031D1EC 48 00 06 59 */ bl sub_803208e4 /* 80320290 0031D1F0 48 00 01 1C */ b lbl_803203AC lbl_80320294: /* 80320294 0031D1F4 54 A4 0F FE */ srwi r4, r5, 0x1f /* 80320298 0031D1F8 88 1E 00 00 */ lbz r0, 0(r30) /* 8032029C 0031D1FC 7C 84 2A 14 */ add r4, r4, r5 /* 803202A0 0031D200 3B FD FF F0 */ addi r31, r29, -16 /* 803202A4 0031D204 7C 84 0E 70 */ srawi r4, r4, 1 /* 803202A8 0031D208 98 01 00 10 */ stb r0, 0x10(r1) /* 803202AC 0031D20C 54 80 20 36 */ slwi r0, r4, 4 /* 803202B0 0031D210 7F E5 FB 78 */ mr r5, r31 /* 803202B4 0031D214 7F 7C 02 14 */ add r27, r28, r0 /* 803202B8 0031D218 38 C1 00 10 */ addi r6, r1, 0x10 /* 803202BC 0031D21C 7F 64 DB 78 */ mr r4, r27 /* 803202C0 0031D220 48 00 06 F5 */ bl sub_803209b4 /* 803202C4 0031D224 C0 7B 00 08 */ lfs f3, 8(r27) /* 803202C8 0031D228 3B 7C 00 10 */ addi r27, r28, 0x10 /* 803202CC 0031D22C 3B FF FF F0 */ addi r31, r31, -16 /* 803202D0 0031D230 48 00 00 08 */ b lbl_803202D8 lbl_803202D4: /* 803202D4 0031D234 3B 7B 00 10 */ addi r27, r27, 0x10 lbl_803202D8: /* 803202D8 0031D238 C0 1B 00 08 */ lfs f0, 8(r27) /* 803202DC 0031D23C FC 00 18 40 */ fcmpo cr0, f0, f3 /* 803202E0 0031D240 41 81 FF F4 */ bgt lbl_803202D4 /* 803202E4 0031D244 48 00 00 08 */ b lbl_803202EC lbl_803202E8: /* 803202E8 0031D248 3B FF FF F0 */ addi r31, r31, -16 lbl_803202EC: /* 803202EC 0031D24C C0 1F 00 08 */ lfs f0, 8(r31) /* 803202F0 0031D250 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 803202F4 0031D254 41 81 FF F4 */ bgt lbl_803202E8 /* 803202F8 0031D258 7C 1B F8 40 */ cmplw r27, r31 /* 803202FC 0031D25C 40 80 00 80 */ bge lbl_8032037C /* 80320300 0031D260 A0 FB 00 00 */ lhz r7, 0(r27) /* 80320304 0031D264 A0 DB 00 02 */ lhz r6, 2(r27) /* 80320308 0031D268 C0 5B 00 04 */ lfs f2, 4(r27) /* 8032030C 0031D26C C0 3B 00 08 */ lfs f1, 8(r27) /* 80320310 0031D270 C0 1B 00 0C */ lfs f0, 0xc(r27) /* 80320314 0031D274 A0 1F 00 00 */ lhz r0, 0(r31) /* 80320318 0031D278 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 8032031C 0031D27C B0 1B 00 00 */ sth r0, 0(r27) /* 80320320 0031D280 80 81 00 1C */ lwz r4, 0x1c(r1) /* 80320324 0031D284 A0 1F 00 02 */ lhz r0, 2(r31) /* 80320328 0031D288 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8032032C 0031D28C B0 1B 00 02 */ sth r0, 2(r27) /* 80320330 0031D290 80 61 00 20 */ lwz r3, 0x20(r1) /* 80320334 0031D294 80 1F 00 04 */ lwz r0, 4(r31) /* 80320338 0031D298 80 BF 00 08 */ lwz r5, 8(r31) /* 8032033C 0031D29C D0 01 00 24 */ stfs f0, 0x24(r1) /* 80320340 0031D2A0 90 1B 00 04 */ stw r0, 4(r27) /* 80320344 0031D2A4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80320348 0031D2A8 90 BB 00 08 */ stw r5, 8(r27) /* 8032034C 0031D2AC 80 BF 00 0C */ lwz r5, 0xc(r31) /* 80320350 0031D2B0 B0 E1 00 18 */ sth r7, 0x18(r1) /* 80320354 0031D2B4 90 BB 00 0C */ stw r5, 0xc(r27) /* 80320358 0031D2B8 3B 7B 00 10 */ addi r27, r27, 0x10 /* 8032035C 0031D2BC B0 FF 00 00 */ sth r7, 0(r31) /* 80320360 0031D2C0 B0 DF 00 02 */ sth r6, 2(r31) /* 80320364 0031D2C4 90 9F 00 04 */ stw r4, 4(r31) /* 80320368 0031D2C8 90 7F 00 08 */ stw r3, 8(r31) /* 8032036C 0031D2CC 90 1F 00 0C */ stw r0, 0xc(r31) /* 80320370 0031D2D0 3B FF FF F0 */ addi r31, r31, -16 /* 80320374 0031D2D4 B0 C1 00 1A */ sth r6, 0x1a(r1) /* 80320378 0031D2D8 4B FF FF 60 */ b lbl_803202D8 lbl_8032037C: /* 8032037C 0031D2DC 88 1E 00 00 */ lbz r0, 0(r30) /* 80320380 0031D2E0 7F 83 E3 78 */ mr r3, r28 /* 80320384 0031D2E4 7F 64 DB 78 */ mr r4, r27 /* 80320388 0031D2E8 38 A1 00 0C */ addi r5, r1, 0xc /* 8032038C 0031D2EC 98 01 00 0C */ stb r0, 0xc(r1) /* 80320390 0031D2F0 4B FF FE B9 */ bl sub_80320248 /* 80320394 0031D2F4 88 1E 00 00 */ lbz r0, 0(r30) /* 80320398 0031D2F8 7F 63 DB 78 */ mr r3, r27 /* 8032039C 0031D2FC 7F A4 EB 78 */ mr r4, r29 /* 803203A0 0031D300 38 A1 00 08 */ addi r5, r1, 8 /* 803203A4 0031D304 98 01 00 08 */ stb r0, 8(r1) /* 803203A8 0031D308 4B FF FE A1 */ bl sub_80320248 lbl_803203AC: /* 803203AC 0031D30C BB 61 00 2C */ lmw r27, 0x2c(r1) /* 803203B0 0031D310 80 01 00 44 */ lwz r0, 0x44(r1) /* 803203B4 0031D314 7C 08 03 A6 */ mtlr r0 /* 803203B8 0031D318 38 21 00 40 */ addi r1, r1, 0x40 /* 803203BC 0031D31C 4E 80 00 20 */ blr .global sub_803203c0 sub_803203c0: /* 803203C0 0031D320 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803203C4 0031D324 7C 08 02 A6 */ mflr r0 /* 803203C8 0031D328 90 01 00 34 */ stw r0, 0x34(r1) /* 803203CC 0031D32C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803203D0 0031D330 7C 9F 23 78 */ mr r31, r4 /* 803203D4 0031D334 93 C1 00 28 */ stw r30, 0x28(r1) /* 803203D8 0031D338 7C 7E 1B 78 */ mr r30, r3 /* 803203DC 0031D33C 93 A1 00 24 */ stw r29, 0x24(r1) /* 803203E0 0031D340 80 03 00 08 */ lwz r0, 8(r3) /* 803203E4 0031D344 7C 1F 00 00 */ cmpw r31, r0 /* 803203E8 0031D348 40 81 00 98 */ ble lbl_80320480 /* 803203EC 0031D34C 1C 7F 00 38 */ mulli r3, r31, 0x38 /* 803203F0 0031D350 2C 03 00 00 */ cmpwi r3, 0 /* 803203F4 0031D354 40 82 00 0C */ bne lbl_80320400 /* 803203F8 0031D358 3B A0 00 00 */ li r29, 0 /* 803203FC 0031D35C 48 00 00 18 */ b lbl_80320414 lbl_80320400: /* 80320400 0031D360 3C 80 80 3D */ lis r4, lbl_803D7910@ha /* 80320404 0031D364 38 A0 00 00 */ li r5, 0 /* 80320408 0031D368 38 84 79 10 */ addi r4, r4, lbl_803D7910@l /* 8032040C 0031D36C 4B FF 54 0D */ bl __nwa__FUlPCcPCc /* 80320410 0031D370 7C 7D 1B 78 */ mr r29, r3 lbl_80320414: /* 80320414 0031D374 80 1E 00 04 */ lwz r0, 4(r30) /* 80320418 0031D378 7F A5 EB 78 */ mr r5, r29 /* 8032041C 0031D37C 80 DE 00 0C */ lwz r6, 0xc(r30) /* 80320420 0031D380 38 61 00 14 */ addi r3, r1, 0x14 /* 80320424 0031D384 1C 00 00 38 */ mulli r0, r0, 0x38 /* 80320428 0031D388 38 81 00 0C */ addi r4, r1, 0xc /* 8032042C 0031D38C 7C C6 02 14 */ add r6, r6, r0 /* 80320430 0031D390 90 C1 00 0C */ stw r6, 0xc(r1) /* 80320434 0031D394 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80320438 0031D398 90 C1 00 08 */ stw r6, 8(r1) /* 8032043C 0031D39C 90 01 00 10 */ stw r0, 0x10(r1) /* 80320440 0031D3A0 90 01 00 14 */ stw r0, 0x14(r1) /* 80320444 0031D3A4 48 00 00 59 */ bl sub_8032049c /* 80320448 0031D3A8 80 1E 00 04 */ lwz r0, 4(r30) /* 8032044C 0031D3AC 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80320450 0031D3B0 1C 00 00 38 */ mulli r0, r0, 0x38 /* 80320454 0031D3B4 7C 64 1B 78 */ mr r4, r3 /* 80320458 0031D3B8 7C 03 02 14 */ add r0, r3, r0 /* 8032045C 0031D3BC 48 00 00 08 */ b lbl_80320464 lbl_80320460: /* 80320460 0031D3C0 38 84 00 38 */ addi r4, r4, 0x38 lbl_80320464: /* 80320464 0031D3C4 7C 04 00 40 */ cmplw r4, r0 /* 80320468 0031D3C8 40 82 FF F8 */ bne lbl_80320460 /* 8032046C 0031D3CC 28 03 00 00 */ cmplwi r3, 0 /* 80320470 0031D3D0 41 82 00 08 */ beq lbl_80320478 /* 80320474 0031D3D4 4B FF 54 BD */ bl Free__7CMemoryFPCv lbl_80320478: /* 80320478 0031D3D8 93 BE 00 0C */ stw r29, 0xc(r30) /* 8032047C 0031D3DC 93 FE 00 08 */ stw r31, 8(r30) lbl_80320480: /* 80320480 0031D3E0 80 01 00 34 */ lwz r0, 0x34(r1) /* 80320484 0031D3E4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80320488 0031D3E8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8032048C 0031D3EC 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80320490 0031D3F0 7C 08 03 A6 */ mtlr r0 /* 80320494 0031D3F4 38 21 00 30 */ addi r1, r1, 0x30 /* 80320498 0031D3F8 4E 80 00 20 */ blr .global sub_8032049c sub_8032049c: /* 8032049C 0031D3FC 80 63 00 00 */ lwz r3, 0(r3) /* 803204A0 0031D400 48 00 00 84 */ b lbl_80320524 lbl_803204A4: /* 803204A4 0031D404 28 05 00 00 */ cmplwi r5, 0 /* 803204A8 0031D408 41 82 00 74 */ beq lbl_8032051C /* 803204AC 0031D40C 80 03 00 00 */ lwz r0, 0(r3) /* 803204B0 0031D410 90 05 00 00 */ stw r0, 0(r5) /* 803204B4 0031D414 C0 03 00 04 */ lfs f0, 4(r3) /* 803204B8 0031D418 D0 05 00 04 */ stfs f0, 4(r5) /* 803204BC 0031D41C C0 03 00 08 */ lfs f0, 8(r3) /* 803204C0 0031D420 D0 05 00 08 */ stfs f0, 8(r5) /* 803204C4 0031D424 C0 03 00 0C */ lfs f0, 0xc(r3) /* 803204C8 0031D428 D0 05 00 0C */ stfs f0, 0xc(r5) /* 803204CC 0031D42C C0 03 00 10 */ lfs f0, 0x10(r3) /* 803204D0 0031D430 D0 05 00 10 */ stfs f0, 0x10(r5) /* 803204D4 0031D434 C0 03 00 14 */ lfs f0, 0x14(r3) /* 803204D8 0031D438 D0 05 00 14 */ stfs f0, 0x14(r5) /* 803204DC 0031D43C C0 03 00 18 */ lfs f0, 0x18(r3) /* 803204E0 0031D440 D0 05 00 18 */ stfs f0, 0x18(r5) /* 803204E4 0031D444 C0 03 00 1C */ lfs f0, 0x1c(r3) /* 803204E8 0031D448 D0 05 00 1C */ stfs f0, 0x1c(r5) /* 803204EC 0031D44C C0 03 00 20 */ lfs f0, 0x20(r3) /* 803204F0 0031D450 D0 05 00 20 */ stfs f0, 0x20(r5) /* 803204F4 0031D454 C0 03 00 24 */ lfs f0, 0x24(r3) /* 803204F8 0031D458 D0 05 00 24 */ stfs f0, 0x24(r5) /* 803204FC 0031D45C 80 03 00 28 */ lwz r0, 0x28(r3) /* 80320500 0031D460 90 05 00 28 */ stw r0, 0x28(r5) /* 80320504 0031D464 C0 03 00 2C */ lfs f0, 0x2c(r3) /* 80320508 0031D468 D0 05 00 2C */ stfs f0, 0x2c(r5) /* 8032050C 0031D46C C0 03 00 30 */ lfs f0, 0x30(r3) /* 80320510 0031D470 D0 05 00 30 */ stfs f0, 0x30(r5) /* 80320514 0031D474 80 03 00 34 */ lwz r0, 0x34(r3) /* 80320518 0031D478 90 05 00 34 */ stw r0, 0x34(r5) lbl_8032051C: /* 8032051C 0031D47C 38 A5 00 38 */ addi r5, r5, 0x38 /* 80320520 0031D480 38 63 00 38 */ addi r3, r3, 0x38 lbl_80320524: /* 80320524 0031D484 80 04 00 00 */ lwz r0, 0(r4) /* 80320528 0031D488 7C 03 00 40 */ cmplw r3, r0 /* 8032052C 0031D48C 40 82 FF 78 */ bne lbl_803204A4 /* 80320530 0031D490 7C A3 2B 78 */ mr r3, r5 /* 80320534 0031D494 4E 80 00 20 */ blr .global sub_80320538 sub_80320538: /* 80320538 0031D498 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8032053C 0031D49C 7C 08 02 A6 */ mflr r0 /* 80320540 0031D4A0 90 01 00 34 */ stw r0, 0x34(r1) /* 80320544 0031D4A4 BF 41 00 18 */ stmw r26, 0x18(r1) /* 80320548 0031D4A8 7C 9F 23 78 */ mr r31, r4 /* 8032054C 0031D4AC 7C 7E 1B 78 */ mr r30, r3 /* 80320550 0031D4B0 80 03 00 08 */ lwz r0, 8(r3) /* 80320554 0031D4B4 7C 1F 00 00 */ cmpw r31, r0 /* 80320558 0031D4B8 40 81 00 B0 */ ble lbl_80320608 /* 8032055C 0031D4BC 1C 7F 00 24 */ mulli r3, r31, 0x24 /* 80320560 0031D4C0 2C 03 00 00 */ cmpwi r3, 0 /* 80320564 0031D4C4 40 82 00 0C */ bne lbl_80320570 /* 80320568 0031D4C8 3B 80 00 00 */ li r28, 0 /* 8032056C 0031D4CC 48 00 00 18 */ b lbl_80320584 lbl_80320570: /* 80320570 0031D4D0 3C 80 80 3D */ lis r4, lbl_803D7910@ha /* 80320574 0031D4D4 38 A0 00 00 */ li r5, 0 /* 80320578 0031D4D8 38 84 79 10 */ addi r4, r4, lbl_803D7910@l /* 8032057C 0031D4DC 4B FF 52 9D */ bl __nwa__FUlPCcPCc /* 80320580 0031D4E0 7C 7C 1B 78 */ mr r28, r3 lbl_80320584: /* 80320584 0031D4E4 80 1E 00 04 */ lwz r0, 4(r30) /* 80320588 0031D4E8 7F 9B E3 78 */ mr r27, r28 /* 8032058C 0031D4EC 83 5E 00 0C */ lwz r26, 0xc(r30) /* 80320590 0031D4F0 1C 00 00 24 */ mulli r0, r0, 0x24 /* 80320594 0031D4F4 93 41 00 10 */ stw r26, 0x10(r1) /* 80320598 0031D4F8 7F BA 02 14 */ add r29, r26, r0 /* 8032059C 0031D4FC 93 41 00 14 */ stw r26, 0x14(r1) /* 803205A0 0031D500 93 A1 00 08 */ stw r29, 8(r1) /* 803205A4 0031D504 93 A1 00 0C */ stw r29, 0xc(r1) /* 803205A8 0031D508 48 00 00 20 */ b lbl_803205C8 lbl_803205AC: /* 803205AC 0031D50C 28 1B 00 00 */ cmplwi r27, 0 /* 803205B0 0031D510 41 82 00 10 */ beq lbl_803205C0 /* 803205B4 0031D514 7F 63 DB 78 */ mr r3, r27 /* 803205B8 0031D518 7F 44 D3 78 */ mr r4, r26 /* 803205BC 0031D51C 4B FE FA 69 */ bl __ct__9CMatrix3fFRC9CMatrix3f lbl_803205C0: /* 803205C0 0031D520 3B 7B 00 24 */ addi r27, r27, 0x24 /* 803205C4 0031D524 3B 5A 00 24 */ addi r26, r26, 0x24 lbl_803205C8: /* 803205C8 0031D528 7C 1A E8 40 */ cmplw r26, r29 /* 803205CC 0031D52C 40 82 FF E0 */ bne lbl_803205AC /* 803205D0 0031D530 80 1E 00 04 */ lwz r0, 4(r30) /* 803205D4 0031D534 80 7E 00 0C */ lwz r3, 0xc(r30) /* 803205D8 0031D538 1C 00 00 24 */ mulli r0, r0, 0x24 /* 803205DC 0031D53C 7C 64 1B 78 */ mr r4, r3 /* 803205E0 0031D540 7C 03 02 14 */ add r0, r3, r0 /* 803205E4 0031D544 48 00 00 08 */ b lbl_803205EC lbl_803205E8: /* 803205E8 0031D548 38 84 00 24 */ addi r4, r4, 0x24 lbl_803205EC: /* 803205EC 0031D54C 7C 04 00 40 */ cmplw r4, r0 /* 803205F0 0031D550 40 82 FF F8 */ bne lbl_803205E8 /* 803205F4 0031D554 28 03 00 00 */ cmplwi r3, 0 /* 803205F8 0031D558 41 82 00 08 */ beq lbl_80320600 /* 803205FC 0031D55C 4B FF 53 35 */ bl Free__7CMemoryFPCv lbl_80320600: /* 80320600 0031D560 93 9E 00 0C */ stw r28, 0xc(r30) /* 80320604 0031D564 93 FE 00 08 */ stw r31, 8(r30) lbl_80320608: /* 80320608 0031D568 BB 41 00 18 */ lmw r26, 0x18(r1) /* 8032060C 0031D56C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80320610 0031D570 7C 08 03 A6 */ mtlr r0 /* 80320614 0031D574 38 21 00 30 */ addi r1, r1, 0x30 /* 80320618 0031D578 4E 80 00 20 */ blr .global "reserve__Q24rstl69vectorFi" "reserve__Q24rstl69vectorFi": /* 8032061C 0031D57C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80320620 0031D580 7C 08 02 A6 */ mflr r0 /* 80320624 0031D584 90 01 00 34 */ stw r0, 0x34(r1) /* 80320628 0031D588 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8032062C 0031D58C 93 C1 00 28 */ stw r30, 0x28(r1) /* 80320630 0031D590 7C 9E 23 78 */ mr r30, r4 /* 80320634 0031D594 93 A1 00 24 */ stw r29, 0x24(r1) /* 80320638 0031D598 7C 7D 1B 78 */ mr r29, r3 /* 8032063C 0031D59C 80 03 00 08 */ lwz r0, 8(r3) /* 80320640 0031D5A0 7C 1E 00 00 */ cmpw r30, r0 /* 80320644 0031D5A4 40 81 00 E0 */ ble lbl_80320724 /* 80320648 0031D5A8 57 C3 28 35 */ rlwinm. r3, r30, 5, 0, 0x1a /* 8032064C 0031D5AC 40 82 00 0C */ bne lbl_80320658 /* 80320650 0031D5B0 3B E0 00 00 */ li r31, 0 /* 80320654 0031D5B4 48 00 00 18 */ b lbl_8032066C lbl_80320658: /* 80320658 0031D5B8 3C 80 80 3D */ lis r4, lbl_803D7910@ha /* 8032065C 0031D5BC 38 A0 00 00 */ li r5, 0 /* 80320660 0031D5C0 38 84 79 10 */ addi r4, r4, lbl_803D7910@l /* 80320664 0031D5C4 4B FF 51 B5 */ bl __nwa__FUlPCcPCc /* 80320668 0031D5C8 7C 7F 1B 78 */ mr r31, r3 lbl_8032066C: /* 8032066C 0031D5CC 80 1D 00 04 */ lwz r0, 4(r29) /* 80320670 0031D5D0 7F E5 FB 78 */ mr r5, r31 /* 80320674 0031D5D4 80 DD 00 0C */ lwz r6, 0xc(r29) /* 80320678 0031D5D8 54 00 28 34 */ slwi r0, r0, 5 /* 8032067C 0031D5DC 7C 86 02 14 */ add r4, r6, r0 /* 80320680 0031D5E0 90 C1 00 10 */ stw r6, 0x10(r1) /* 80320684 0031D5E4 90 81 00 08 */ stw r4, 8(r1) /* 80320688 0031D5E8 90 81 00 0C */ stw r4, 0xc(r1) /* 8032068C 0031D5EC 90 C1 00 14 */ stw r6, 0x14(r1) /* 80320690 0031D5F0 48 00 00 54 */ b lbl_803206E4 lbl_80320694: /* 80320694 0031D5F4 28 05 00 00 */ cmplwi r5, 0 /* 80320698 0031D5F8 41 82 00 44 */ beq lbl_803206DC /* 8032069C 0031D5FC 80 66 00 00 */ lwz r3, 0(r6) /* 803206A0 0031D600 80 06 00 04 */ lwz r0, 4(r6) /* 803206A4 0031D604 90 65 00 00 */ stw r3, 0(r5) /* 803206A8 0031D608 90 05 00 04 */ stw r0, 4(r5) /* 803206AC 0031D60C 80 66 00 08 */ lwz r3, 8(r6) /* 803206B0 0031D610 80 06 00 0C */ lwz r0, 0xc(r6) /* 803206B4 0031D614 90 65 00 08 */ stw r3, 8(r5) /* 803206B8 0031D618 90 05 00 0C */ stw r0, 0xc(r5) /* 803206BC 0031D61C 80 66 00 10 */ lwz r3, 0x10(r6) /* 803206C0 0031D620 80 06 00 14 */ lwz r0, 0x14(r6) /* 803206C4 0031D624 90 65 00 10 */ stw r3, 0x10(r5) /* 803206C8 0031D628 90 05 00 14 */ stw r0, 0x14(r5) /* 803206CC 0031D62C 80 66 00 18 */ lwz r3, 0x18(r6) /* 803206D0 0031D630 80 06 00 1C */ lwz r0, 0x1c(r6) /* 803206D4 0031D634 90 65 00 18 */ stw r3, 0x18(r5) /* 803206D8 0031D638 90 05 00 1C */ stw r0, 0x1c(r5) lbl_803206DC: /* 803206DC 0031D63C 38 A5 00 20 */ addi r5, r5, 0x20 /* 803206E0 0031D640 38 C6 00 20 */ addi r6, r6, 0x20 lbl_803206E4: /* 803206E4 0031D644 7C 06 20 40 */ cmplw r6, r4 /* 803206E8 0031D648 40 82 FF AC */ bne lbl_80320694 /* 803206EC 0031D64C 80 1D 00 04 */ lwz r0, 4(r29) /* 803206F0 0031D650 80 7D 00 0C */ lwz r3, 0xc(r29) /* 803206F4 0031D654 54 00 28 34 */ slwi r0, r0, 5 /* 803206F8 0031D658 7C 64 1B 78 */ mr r4, r3 /* 803206FC 0031D65C 7C 03 02 14 */ add r0, r3, r0 /* 80320700 0031D660 48 00 00 08 */ b lbl_80320708 lbl_80320704: /* 80320704 0031D664 38 84 00 20 */ addi r4, r4, 0x20 lbl_80320708: /* 80320708 0031D668 7C 04 00 40 */ cmplw r4, r0 /* 8032070C 0031D66C 40 82 FF F8 */ bne lbl_80320704 /* 80320710 0031D670 28 03 00 00 */ cmplwi r3, 0 /* 80320714 0031D674 41 82 00 08 */ beq lbl_8032071C /* 80320718 0031D678 4B FF 52 19 */ bl Free__7CMemoryFPCv lbl_8032071C: /* 8032071C 0031D67C 93 FD 00 0C */ stw r31, 0xc(r29) /* 80320720 0031D680 93 DD 00 08 */ stw r30, 8(r29) lbl_80320724: /* 80320724 0031D684 80 01 00 34 */ lwz r0, 0x34(r1) /* 80320728 0031D688 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8032072C 0031D68C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80320730 0031D690 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80320734 0031D694 7C 08 03 A6 */ mtlr r0 /* 80320738 0031D698 38 21 00 30 */ addi r1, r1, 0x30 /* 8032073C 0031D69C 4E 80 00 20 */ blr .global sub_80320740 sub_80320740: /* 80320740 0031D6A0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80320744 0031D6A4 7C 08 02 A6 */ mflr r0 /* 80320748 0031D6A8 90 01 00 34 */ stw r0, 0x34(r1) /* 8032074C 0031D6AC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80320750 0031D6B0 7C 9F 23 78 */ mr r31, r4 /* 80320754 0031D6B4 93 C1 00 28 */ stw r30, 0x28(r1) /* 80320758 0031D6B8 7C 7E 1B 78 */ mr r30, r3 /* 8032075C 0031D6BC 93 A1 00 24 */ stw r29, 0x24(r1) /* 80320760 0031D6C0 80 03 00 08 */ lwz r0, 8(r3) /* 80320764 0031D6C4 7C 1F 00 00 */ cmpw r31, r0 /* 80320768 0031D6C8 40 81 00 A8 */ ble lbl_80320810 /* 8032076C 0031D6CC 57 E3 10 3B */ rlwinm. r3, r31, 2, 0, 0x1d /* 80320770 0031D6D0 40 82 00 0C */ bne lbl_8032077C /* 80320774 0031D6D4 3B A0 00 00 */ li r29, 0 /* 80320778 0031D6D8 48 00 00 18 */ b lbl_80320790 lbl_8032077C: /* 8032077C 0031D6DC 3C 80 80 3D */ lis r4, lbl_803D7910@ha /* 80320780 0031D6E0 38 A0 00 00 */ li r5, 0 /* 80320784 0031D6E4 38 84 79 10 */ addi r4, r4, lbl_803D7910@l /* 80320788 0031D6E8 4B FF 50 91 */ bl __nwa__FUlPCcPCc /* 8032078C 0031D6EC 7C 7D 1B 78 */ mr r29, r3 lbl_80320790: /* 80320790 0031D6F0 80 1E 00 04 */ lwz r0, 4(r30) /* 80320794 0031D6F4 7F A4 EB 78 */ mr r4, r29 /* 80320798 0031D6F8 80 BE 00 0C */ lwz r5, 0xc(r30) /* 8032079C 0031D6FC 54 00 10 3A */ slwi r0, r0, 2 /* 803207A0 0031D700 7C 65 02 14 */ add r3, r5, r0 /* 803207A4 0031D704 90 A1 00 10 */ stw r5, 0x10(r1) /* 803207A8 0031D708 90 61 00 08 */ stw r3, 8(r1) /* 803207AC 0031D70C 90 61 00 0C */ stw r3, 0xc(r1) /* 803207B0 0031D710 90 A1 00 14 */ stw r5, 0x14(r1) /* 803207B4 0031D714 48 00 00 1C */ b lbl_803207D0 lbl_803207B8: /* 803207B8 0031D718 28 04 00 00 */ cmplwi r4, 0 /* 803207BC 0031D71C 41 82 00 0C */ beq lbl_803207C8 /* 803207C0 0031D720 80 05 00 00 */ lwz r0, 0(r5) /* 803207C4 0031D724 90 04 00 00 */ stw r0, 0(r4) lbl_803207C8: /* 803207C8 0031D728 38 84 00 04 */ addi r4, r4, 4 /* 803207CC 0031D72C 38 A5 00 04 */ addi r5, r5, 4 lbl_803207D0: /* 803207D0 0031D730 7C 05 18 40 */ cmplw r5, r3 /* 803207D4 0031D734 40 82 FF E4 */ bne lbl_803207B8 /* 803207D8 0031D738 80 1E 00 04 */ lwz r0, 4(r30) /* 803207DC 0031D73C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 803207E0 0031D740 54 00 10 3A */ slwi r0, r0, 2 /* 803207E4 0031D744 7C 64 1B 78 */ mr r4, r3 /* 803207E8 0031D748 7C 03 02 14 */ add r0, r3, r0 /* 803207EC 0031D74C 48 00 00 08 */ b lbl_803207F4 lbl_803207F0: /* 803207F0 0031D750 38 84 00 04 */ addi r4, r4, 4 lbl_803207F4: /* 803207F4 0031D754 7C 04 00 40 */ cmplw r4, r0 /* 803207F8 0031D758 40 82 FF F8 */ bne lbl_803207F0 /* 803207FC 0031D75C 28 03 00 00 */ cmplwi r3, 0 /* 80320800 0031D760 41 82 00 08 */ beq lbl_80320808 /* 80320804 0031D764 4B FF 51 2D */ bl Free__7CMemoryFPCv lbl_80320808: /* 80320808 0031D768 93 BE 00 0C */ stw r29, 0xc(r30) /* 8032080C 0031D76C 93 FE 00 08 */ stw r31, 8(r30) lbl_80320810: /* 80320810 0031D770 80 01 00 34 */ lwz r0, 0x34(r1) /* 80320814 0031D774 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80320818 0031D778 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8032081C 0031D77C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80320820 0031D780 7C 08 03 A6 */ mtlr r0 /* 80320824 0031D784 38 21 00 30 */ addi r1, r1, 0x30 /* 80320828 0031D788 4E 80 00 20 */ blr .global sub_8032082c sub_8032082c: /* 8032082C 0031D78C 38 A3 00 10 */ addi r5, r3, 0x10 /* 80320830 0031D790 38 04 00 0F */ addi r0, r4, 0xf /* 80320834 0031D794 7C 05 00 50 */ subf r0, r5, r0 /* 80320838 0031D798 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8032083C 0031D79C 54 00 E1 3E */ srwi r0, r0, 4 /* 80320840 0031D7A0 7C 09 03 A6 */ mtctr r0 /* 80320844 0031D7A4 7C 05 20 40 */ cmplw r5, r4 /* 80320848 0031D7A8 40 80 00 94 */ bge lbl_803208DC lbl_8032084C: /* 8032084C 0031D7AC A0 05 00 00 */ lhz r0, 0(r5) /* 80320850 0031D7B0 7C A7 2B 78 */ mr r7, r5 /* 80320854 0031D7B4 C0 45 00 04 */ lfs f2, 4(r5) /* 80320858 0031D7B8 38 C5 FF F0 */ addi r6, r5, -16 /* 8032085C 0031D7BC C0 25 00 08 */ lfs f1, 8(r5) /* 80320860 0031D7C0 C0 05 00 0C */ lfs f0, 0xc(r5) /* 80320864 0031D7C4 B0 01 00 08 */ sth r0, 8(r1) /* 80320868 0031D7C8 D0 41 00 0C */ stfs f2, 0xc(r1) /* 8032086C 0031D7CC D0 21 00 10 */ stfs f1, 0x10(r1) /* 80320870 0031D7D0 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80320874 0031D7D4 48 00 00 2C */ b lbl_803208A0 lbl_80320878: /* 80320878 0031D7D8 A0 06 00 00 */ lhz r0, 0(r6) /* 8032087C 0031D7DC B0 07 00 00 */ sth r0, 0(r7) /* 80320880 0031D7E0 80 86 00 04 */ lwz r4, 4(r6) /* 80320884 0031D7E4 80 06 00 08 */ lwz r0, 8(r6) /* 80320888 0031D7E8 90 87 00 04 */ stw r4, 4(r7) /* 8032088C 0031D7EC 90 07 00 08 */ stw r0, 8(r7) /* 80320890 0031D7F0 80 06 00 0C */ lwz r0, 0xc(r6) /* 80320894 0031D7F4 38 C6 FF F0 */ addi r6, r6, -16 /* 80320898 0031D7F8 90 07 00 0C */ stw r0, 0xc(r7) /* 8032089C 0031D7FC 38 E7 FF F0 */ addi r7, r7, -16 lbl_803208A0: /* 803208A0 0031D800 7C 03 38 40 */ cmplw r3, r7 /* 803208A4 0031D804 40 80 00 10 */ bge lbl_803208B4 /* 803208A8 0031D808 C0 06 00 08 */ lfs f0, 8(r6) /* 803208AC 0031D80C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 803208B0 0031D810 41 81 FF C8 */ bgt lbl_80320878 lbl_803208B4: /* 803208B4 0031D814 A0 81 00 08 */ lhz r4, 8(r1) /* 803208B8 0031D818 38 A5 00 10 */ addi r5, r5, 0x10 /* 803208BC 0031D81C 80 01 00 0C */ lwz r0, 0xc(r1) /* 803208C0 0031D820 B0 87 00 00 */ sth r4, 0(r7) /* 803208C4 0031D824 80 81 00 10 */ lwz r4, 0x10(r1) /* 803208C8 0031D828 90 07 00 04 */ stw r0, 4(r7) /* 803208CC 0031D82C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803208D0 0031D830 90 87 00 08 */ stw r4, 8(r7) /* 803208D4 0031D834 90 07 00 0C */ stw r0, 0xc(r7) /* 803208D8 0031D838 42 00 FF 74 */ bdnz lbl_8032084C lbl_803208DC: /* 803208DC 0031D83C 38 21 00 20 */ addi r1, r1, 0x20 /* 803208E0 0031D840 4E 80 00 20 */ blr .global sub_803208e4 sub_803208e4: /* 803208E4 0031D844 38 A3 00 10 */ addi r5, r3, 0x10 /* 803208E8 0031D848 38 04 00 0F */ addi r0, r4, 0xf /* 803208EC 0031D84C 7C 05 00 50 */ subf r0, r5, r0 /* 803208F0 0031D850 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803208F4 0031D854 54 00 E1 3E */ srwi r0, r0, 4 /* 803208F8 0031D858 7C 09 03 A6 */ mtctr r0 /* 803208FC 0031D85C 7C 05 20 40 */ cmplw r5, r4 /* 80320900 0031D860 40 80 00 AC */ bge lbl_803209AC lbl_80320904: /* 80320904 0031D864 A0 85 00 00 */ lhz r4, 0(r5) /* 80320908 0031D868 7C A7 2B 78 */ mr r7, r5 /* 8032090C 0031D86C A0 05 00 02 */ lhz r0, 2(r5) /* 80320910 0031D870 38 C5 FF F0 */ addi r6, r5, -16 /* 80320914 0031D874 C0 45 00 04 */ lfs f2, 4(r5) /* 80320918 0031D878 C0 25 00 08 */ lfs f1, 8(r5) /* 8032091C 0031D87C C0 05 00 0C */ lfs f0, 0xc(r5) /* 80320920 0031D880 B0 81 00 08 */ sth r4, 8(r1) /* 80320924 0031D884 B0 01 00 0A */ sth r0, 0xa(r1) /* 80320928 0031D888 D0 41 00 0C */ stfs f2, 0xc(r1) /* 8032092C 0031D88C D0 21 00 10 */ stfs f1, 0x10(r1) /* 80320930 0031D890 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80320934 0031D894 48 00 00 34 */ b lbl_80320968 lbl_80320938: /* 80320938 0031D898 A0 06 00 00 */ lhz r0, 0(r6) /* 8032093C 0031D89C B0 07 00 00 */ sth r0, 0(r7) /* 80320940 0031D8A0 A0 06 00 02 */ lhz r0, 2(r6) /* 80320944 0031D8A4 B0 07 00 02 */ sth r0, 2(r7) /* 80320948 0031D8A8 80 86 00 04 */ lwz r4, 4(r6) /* 8032094C 0031D8AC 80 06 00 08 */ lwz r0, 8(r6) /* 80320950 0031D8B0 90 87 00 04 */ stw r4, 4(r7) /* 80320954 0031D8B4 90 07 00 08 */ stw r0, 8(r7) /* 80320958 0031D8B8 80 06 00 0C */ lwz r0, 0xc(r6) /* 8032095C 0031D8BC 38 C6 FF F0 */ addi r6, r6, -16 /* 80320960 0031D8C0 90 07 00 0C */ stw r0, 0xc(r7) /* 80320964 0031D8C4 38 E7 FF F0 */ addi r7, r7, -16 lbl_80320968: /* 80320968 0031D8C8 7C 03 38 40 */ cmplw r3, r7 /* 8032096C 0031D8CC 40 80 00 10 */ bge lbl_8032097C /* 80320970 0031D8D0 C0 06 00 08 */ lfs f0, 8(r6) /* 80320974 0031D8D4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80320978 0031D8D8 41 81 FF C0 */ bgt lbl_80320938 lbl_8032097C: /* 8032097C 0031D8DC A0 01 00 08 */ lhz r0, 8(r1) /* 80320980 0031D8E0 38 A5 00 10 */ addi r5, r5, 0x10 /* 80320984 0031D8E4 A0 81 00 0A */ lhz r4, 0xa(r1) /* 80320988 0031D8E8 B0 07 00 00 */ sth r0, 0(r7) /* 8032098C 0031D8EC 80 01 00 0C */ lwz r0, 0xc(r1) /* 80320990 0031D8F0 B0 87 00 02 */ sth r4, 2(r7) /* 80320994 0031D8F4 80 81 00 10 */ lwz r4, 0x10(r1) /* 80320998 0031D8F8 90 07 00 04 */ stw r0, 4(r7) /* 8032099C 0031D8FC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803209A0 0031D900 90 87 00 08 */ stw r4, 8(r7) /* 803209A4 0031D904 90 07 00 0C */ stw r0, 0xc(r7) /* 803209A8 0031D908 42 00 FF 5C */ bdnz lbl_80320904 lbl_803209AC: /* 803209AC 0031D90C 38 21 00 20 */ addi r1, r1, 0x20 /* 803209B0 0031D910 4E 80 00 20 */ blr .global sub_803209b4 sub_803209b4: /* 803209B4 0031D914 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803209B8 0031D918 C0 04 00 08 */ lfs f0, 8(r4) /* 803209BC 0031D91C C0 43 00 08 */ lfs f2, 8(r3) /* 803209C0 0031D920 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 803209C4 0031D924 40 81 00 0C */ ble lbl_803209D0 /* 803209C8 0031D928 38 00 00 01 */ li r0, 1 /* 803209CC 0031D92C 48 00 00 08 */ b lbl_803209D4 lbl_803209D0: /* 803209D0 0031D930 38 00 00 00 */ li r0, 0 lbl_803209D4: /* 803209D4 0031D934 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 803209D8 0031D938 41 82 00 70 */ beq lbl_80320A48 /* 803209DC 0031D93C A1 43 00 00 */ lhz r10, 0(r3) /* 803209E0 0031D940 A1 23 00 02 */ lhz r9, 2(r3) /* 803209E4 0031D944 C0 23 00 04 */ lfs f1, 4(r3) /* 803209E8 0031D948 C0 03 00 0C */ lfs f0, 0xc(r3) /* 803209EC 0031D94C A0 04 00 00 */ lhz r0, 0(r4) /* 803209F0 0031D950 D0 21 00 0C */ stfs f1, 0xc(r1) /* 803209F4 0031D954 B0 03 00 00 */ sth r0, 0(r3) /* 803209F8 0031D958 80 E1 00 0C */ lwz r7, 0xc(r1) /* 803209FC 0031D95C A0 04 00 02 */ lhz r0, 2(r4) /* 80320A00 0031D960 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80320A04 0031D964 B0 03 00 02 */ sth r0, 2(r3) /* 80320A08 0031D968 80 C1 00 10 */ lwz r6, 0x10(r1) /* 80320A0C 0031D96C 80 04 00 04 */ lwz r0, 4(r4) /* 80320A10 0031D970 81 04 00 08 */ lwz r8, 8(r4) /* 80320A14 0031D974 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80320A18 0031D978 90 03 00 04 */ stw r0, 4(r3) /* 80320A1C 0031D97C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80320A20 0031D980 91 03 00 08 */ stw r8, 8(r3) /* 80320A24 0031D984 81 04 00 0C */ lwz r8, 0xc(r4) /* 80320A28 0031D988 B1 41 00 08 */ sth r10, 8(r1) /* 80320A2C 0031D98C 91 03 00 0C */ stw r8, 0xc(r3) /* 80320A30 0031D990 B1 44 00 00 */ sth r10, 0(r4) /* 80320A34 0031D994 B1 24 00 02 */ sth r9, 2(r4) /* 80320A38 0031D998 90 E4 00 04 */ stw r7, 4(r4) /* 80320A3C 0031D99C 90 C4 00 08 */ stw r6, 8(r4) /* 80320A40 0031D9A0 B1 21 00 0A */ sth r9, 0xa(r1) /* 80320A44 0031D9A4 90 04 00 0C */ stw r0, 0xc(r4) lbl_80320A48: /* 80320A48 0031D9A8 C0 45 00 08 */ lfs f2, 8(r5) /* 80320A4C 0031D9AC C0 04 00 08 */ lfs f0, 8(r4) /* 80320A50 0031D9B0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80320A54 0031D9B4 40 81 00 0C */ ble lbl_80320A60 /* 80320A58 0031D9B8 38 00 00 01 */ li r0, 1 /* 80320A5C 0031D9BC 48 00 00 08 */ b lbl_80320A64 lbl_80320A60: /* 80320A60 0031D9C0 38 00 00 00 */ li r0, 0 lbl_80320A64: /* 80320A64 0031D9C4 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 80320A68 0031D9C8 41 82 00 C8 */ beq lbl_80320B30 /* 80320A6C 0031D9CC A1 45 00 00 */ lhz r10, 0(r5) /* 80320A70 0031D9D0 A1 25 00 02 */ lhz r9, 2(r5) /* 80320A74 0031D9D4 C0 05 00 04 */ lfs f0, 4(r5) /* 80320A78 0031D9D8 C0 25 00 0C */ lfs f1, 0xc(r5) /* 80320A7C 0031D9DC A0 04 00 00 */ lhz r0, 0(r4) /* 80320A80 0031D9E0 B1 41 00 18 */ sth r10, 0x18(r1) /* 80320A84 0031D9E4 B0 05 00 00 */ sth r0, 0(r5) /* 80320A88 0031D9E8 A0 04 00 02 */ lhz r0, 2(r4) /* 80320A8C 0031D9EC B1 21 00 1A */ sth r9, 0x1a(r1) /* 80320A90 0031D9F0 B0 05 00 02 */ sth r0, 2(r5) /* 80320A94 0031D9F4 80 C4 00 04 */ lwz r6, 4(r4) /* 80320A98 0031D9F8 80 04 00 08 */ lwz r0, 8(r4) /* 80320A9C 0031D9FC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80320AA0 0031DA00 90 C5 00 04 */ stw r6, 4(r5) /* 80320AA4 0031DA04 90 05 00 08 */ stw r0, 8(r5) /* 80320AA8 0031DA08 80 04 00 0C */ lwz r0, 0xc(r4) /* 80320AAC 0031DA0C D0 41 00 20 */ stfs f2, 0x20(r1) /* 80320AB0 0031DA10 90 05 00 0C */ stw r0, 0xc(r5) /* 80320AB4 0031DA14 C0 03 00 08 */ lfs f0, 8(r3) /* 80320AB8 0031DA18 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80320ABC 0031DA1C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80320AC0 0031DA20 40 81 00 50 */ ble lbl_80320B10 /* 80320AC4 0031DA24 A0 03 00 00 */ lhz r0, 0(r3) /* 80320AC8 0031DA28 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 80320ACC 0031DA2C B0 04 00 00 */ sth r0, 0(r4) /* 80320AD0 0031DA30 80 A1 00 20 */ lwz r5, 0x20(r1) /* 80320AD4 0031DA34 A0 E3 00 02 */ lhz r7, 2(r3) /* 80320AD8 0031DA38 80 01 00 24 */ lwz r0, 0x24(r1) /* 80320ADC 0031DA3C B0 E4 00 02 */ sth r7, 2(r4) /* 80320AE0 0031DA40 81 03 00 04 */ lwz r8, 4(r3) /* 80320AE4 0031DA44 80 E3 00 08 */ lwz r7, 8(r3) /* 80320AE8 0031DA48 91 04 00 04 */ stw r8, 4(r4) /* 80320AEC 0031DA4C 90 E4 00 08 */ stw r7, 8(r4) /* 80320AF0 0031DA50 80 E3 00 0C */ lwz r7, 0xc(r3) /* 80320AF4 0031DA54 90 E4 00 0C */ stw r7, 0xc(r4) /* 80320AF8 0031DA58 B1 43 00 00 */ sth r10, 0(r3) /* 80320AFC 0031DA5C B1 23 00 02 */ sth r9, 2(r3) /* 80320B00 0031DA60 90 C3 00 04 */ stw r6, 4(r3) /* 80320B04 0031DA64 90 A3 00 08 */ stw r5, 8(r3) /* 80320B08 0031DA68 90 03 00 0C */ stw r0, 0xc(r3) /* 80320B0C 0031DA6C 48 00 00 24 */ b lbl_80320B30 lbl_80320B10: /* 80320B10 0031DA70 B1 44 00 00 */ sth r10, 0(r4) /* 80320B14 0031DA74 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80320B18 0031DA78 B1 24 00 02 */ sth r9, 2(r4) /* 80320B1C 0031DA7C 80 61 00 20 */ lwz r3, 0x20(r1) /* 80320B20 0031DA80 90 04 00 04 */ stw r0, 4(r4) /* 80320B24 0031DA84 80 01 00 24 */ lwz r0, 0x24(r1) /* 80320B28 0031DA88 90 64 00 08 */ stw r3, 8(r4) /* 80320B2C 0031DA8C 90 04 00 0C */ stw r0, 0xc(r4) lbl_80320B30: /* 80320B30 0031DA90 38 21 00 30 */ addi r1, r1, 0x30 /* 80320B34 0031DA94 4E 80 00 20 */ blr .global sub_80320b38 sub_80320b38: /* 80320B38 0031DA98 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80320B3C 0031DA9C C0 04 00 08 */ lfs f0, 8(r4) /* 80320B40 0031DAA0 C0 43 00 08 */ lfs f2, 8(r3) /* 80320B44 0031DAA4 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80320B48 0031DAA8 40 81 00 0C */ ble lbl_80320B54 /* 80320B4C 0031DAAC 38 00 00 01 */ li r0, 1 /* 80320B50 0031DAB0 48 00 00 08 */ b lbl_80320B58 lbl_80320B54: /* 80320B54 0031DAB4 38 00 00 00 */ li r0, 0 lbl_80320B58: /* 80320B58 0031DAB8 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 80320B5C 0031DABC 41 82 00 5C */ beq lbl_80320BB8 /* 80320B60 0031DAC0 A1 03 00 00 */ lhz r8, 0(r3) /* 80320B64 0031DAC4 C0 23 00 04 */ lfs f1, 4(r3) /* 80320B68 0031DAC8 C0 03 00 0C */ lfs f0, 0xc(r3) /* 80320B6C 0031DACC A0 04 00 00 */ lhz r0, 0(r4) /* 80320B70 0031DAD0 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80320B74 0031DAD4 B0 03 00 00 */ sth r0, 0(r3) /* 80320B78 0031DAD8 80 E1 00 0C */ lwz r7, 0xc(r1) /* 80320B7C 0031DADC 80 C4 00 04 */ lwz r6, 4(r4) /* 80320B80 0031DAE0 80 04 00 08 */ lwz r0, 8(r4) /* 80320B84 0031DAE4 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80320B88 0031DAE8 90 C3 00 04 */ stw r6, 4(r3) /* 80320B8C 0031DAEC 80 C1 00 10 */ lwz r6, 0x10(r1) /* 80320B90 0031DAF0 90 03 00 08 */ stw r0, 8(r3) /* 80320B94 0031DAF4 80 04 00 0C */ lwz r0, 0xc(r4) /* 80320B98 0031DAF8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80320B9C 0031DAFC 90 03 00 0C */ stw r0, 0xc(r3) /* 80320BA0 0031DB00 80 01 00 14 */ lwz r0, 0x14(r1) /* 80320BA4 0031DB04 B1 04 00 00 */ sth r8, 0(r4) /* 80320BA8 0031DB08 90 E4 00 04 */ stw r7, 4(r4) /* 80320BAC 0031DB0C 90 C4 00 08 */ stw r6, 8(r4) /* 80320BB0 0031DB10 B1 01 00 08 */ sth r8, 8(r1) /* 80320BB4 0031DB14 90 04 00 0C */ stw r0, 0xc(r4) lbl_80320BB8: /* 80320BB8 0031DB18 C0 45 00 08 */ lfs f2, 8(r5) /* 80320BBC 0031DB1C C0 04 00 08 */ lfs f0, 8(r4) /* 80320BC0 0031DB20 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80320BC4 0031DB24 40 81 00 0C */ ble lbl_80320BD0 /* 80320BC8 0031DB28 38 00 00 01 */ li r0, 1 /* 80320BCC 0031DB2C 48 00 00 08 */ b lbl_80320BD4 lbl_80320BD0: /* 80320BD0 0031DB30 38 00 00 00 */ li r0, 0 lbl_80320BD4: /* 80320BD4 0031DB34 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 80320BD8 0031DB38 41 82 00 A8 */ beq lbl_80320C80 /* 80320BDC 0031DB3C A1 25 00 00 */ lhz r9, 0(r5) /* 80320BE0 0031DB40 C0 05 00 04 */ lfs f0, 4(r5) /* 80320BE4 0031DB44 C0 25 00 0C */ lfs f1, 0xc(r5) /* 80320BE8 0031DB48 A0 04 00 00 */ lhz r0, 0(r4) /* 80320BEC 0031DB4C B1 21 00 18 */ sth r9, 0x18(r1) /* 80320BF0 0031DB50 B0 05 00 00 */ sth r0, 0(r5) /* 80320BF4 0031DB54 80 C4 00 04 */ lwz r6, 4(r4) /* 80320BF8 0031DB58 80 04 00 08 */ lwz r0, 8(r4) /* 80320BFC 0031DB5C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80320C00 0031DB60 90 C5 00 04 */ stw r6, 4(r5) /* 80320C04 0031DB64 90 05 00 08 */ stw r0, 8(r5) /* 80320C08 0031DB68 80 04 00 0C */ lwz r0, 0xc(r4) /* 80320C0C 0031DB6C D0 41 00 20 */ stfs f2, 0x20(r1) /* 80320C10 0031DB70 90 05 00 0C */ stw r0, 0xc(r5) /* 80320C14 0031DB74 C0 03 00 08 */ lfs f0, 8(r3) /* 80320C18 0031DB78 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80320C1C 0031DB7C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80320C20 0031DB80 40 81 00 44 */ ble lbl_80320C64 /* 80320C24 0031DB84 A0 03 00 00 */ lhz r0, 0(r3) /* 80320C28 0031DB88 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 80320C2C 0031DB8C B0 04 00 00 */ sth r0, 0(r4) /* 80320C30 0031DB90 80 A1 00 20 */ lwz r5, 0x20(r1) /* 80320C34 0031DB94 81 03 00 04 */ lwz r8, 4(r3) /* 80320C38 0031DB98 80 E3 00 08 */ lwz r7, 8(r3) /* 80320C3C 0031DB9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80320C40 0031DBA0 91 04 00 04 */ stw r8, 4(r4) /* 80320C44 0031DBA4 90 E4 00 08 */ stw r7, 8(r4) /* 80320C48 0031DBA8 80 E3 00 0C */ lwz r7, 0xc(r3) /* 80320C4C 0031DBAC 90 E4 00 0C */ stw r7, 0xc(r4) /* 80320C50 0031DBB0 B1 23 00 00 */ sth r9, 0(r3) /* 80320C54 0031DBB4 90 C3 00 04 */ stw r6, 4(r3) /* 80320C58 0031DBB8 90 A3 00 08 */ stw r5, 8(r3) /* 80320C5C 0031DBBC 90 03 00 0C */ stw r0, 0xc(r3) /* 80320C60 0031DBC0 48 00 00 20 */ b lbl_80320C80 lbl_80320C64: /* 80320C64 0031DBC4 B1 24 00 00 */ sth r9, 0(r4) /* 80320C68 0031DBC8 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80320C6C 0031DBCC 80 61 00 20 */ lwz r3, 0x20(r1) /* 80320C70 0031DBD0 90 04 00 04 */ stw r0, 4(r4) /* 80320C74 0031DBD4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80320C78 0031DBD8 90 64 00 08 */ stw r3, 8(r4) /* 80320C7C 0031DBDC 90 04 00 0C */ stw r0, 0xc(r4) lbl_80320C80: /* 80320C80 0031DBE0 38 21 00 30 */ addi r1, r1, 0x30 /* 80320C84 0031DBE4 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805AE708 lbl_805AE708: # ROM: 0x3FAFA8 .4byte 0 .global lbl_805AE70C lbl_805AE70C: # ROM: 0x3FAFAC .4byte 0x3B808081 .global lbl_805AE710 lbl_805AE710: # ROM: 0x3FAFB0 .float 1.0 .global lbl_805AE714 lbl_805AE714: # ROM: 0x3FAFB4 .float 0.017453292 .global lbl_805AE718 lbl_805AE718: # ROM: 0x3FAFB8 .float 0.5 .global lbl_805AE71C lbl_805AE71C: # ROM: 0x3FAFBC .4byte 0xBF000000 .global lbl_805AE720 lbl_805AE720: # ROM: 0x3FAFC0 .4byte 0x422A0000 .global lbl_805AE724 lbl_805AE724: # ROM: 0x3FAFC4 .4byte 0x40C00000 .global lbl_805AE728 lbl_805AE728: # ROM: 0x3FAFC8 .double 9.999999747378752E-6 .global lbl_805AE730 lbl_805AE730: # ROM: 0x3FAFD0 .float 1.1920929E-7 .global lbl_805AE734 lbl_805AE734: # ROM: 0x3FAFD4 .float 255.0 .global lbl_805AE738 lbl_805AE738: # ROM: 0x3FAFD8 .double 4.503601774854144E15 .global lbl_805AE740 lbl_805AE740: # ROM: 0x3FAFE0 .4byte 0 .4byte 0 .global lbl_805AE748 lbl_805AE748: # ROM: 0x3FAFE8 .4byte 0x3E7AD7F2 .4byte 0x9ABCAF48 .global lbl_805AE750 lbl_805AE750: # ROM: 0x3FAFF0 .float 0.1 .4byte 0 .global lbl_805AE758 lbl_805AE758: # ROM: 0x3FAFF8 .4byte 0x3EF179EC .4byte 0x9CBD821E .global lbl_805AE760 lbl_805AE760: # ROM: 0x3FB000 .4byte 0x7F7FFFFF .global lbl_805AE764 lbl_805AE764: # ROM: 0x3FB004 .4byte 0xFF7FFFFF .global lbl_805AE768 lbl_805AE768: # ROM: 0x3FB008 .4byte 0x42340000 .section .rodata .balign 8 .global lbl_803D7848 lbl_803D7848: # ROM: 0x3D4848 .4byte 0x00000009 .4byte 0x00000001 .4byte 0x0000000B .4byte 0x00000001 .4byte 0x0000000D .4byte 0x00000001 .4byte 0x000000FF .4byte 0 .global lbl_803D7868 lbl_803D7868: # ROM: 0x3D4868 .4byte 0x00000009 .4byte 0x00000001 .4byte 0x0000000B .4byte 0x00000001 .4byte 0x0000000D .4byte 0x00000001 .4byte 0x000000FF .4byte 0 .global lbl_803D7888 lbl_803D7888: # ROM: 0x3D4888 .float 0.5 .4byte 0 .4byte 0 .4byte 0 .float 0.5 .4byte 0 .global lbl_803D78A0 lbl_803D78A0: # ROM: 0x3D48A0 .4byte 0x00000009 .4byte 0x00000001 .4byte 0x0000000B .4byte 0x00000001 .4byte 0x0000000D .4byte 0x00000001 .4byte 0x0000000E .4byte 0x00000001 .4byte 0x0000000F .4byte 0x00000001 .4byte 0x000000FF .4byte 0 .global lbl_803D78D0 lbl_803D78D0: # ROM: 0x3D48D0 .4byte 0x00000009 .4byte 0x00000001 .4byte 0x0000000B .4byte 0x00000001 .4byte 0x0000000D .4byte 0x00000001 .4byte 0x000000FF .4byte 0 .global lbl_803D78F0 lbl_803D78F0: # ROM: 0x3D48F0 .4byte 0x00000009 .4byte 0x00000001 .4byte 0x0000000B .4byte 0x00000001 .4byte 0x0000000D .4byte 0x00000001 .4byte 0x000000FF .4byte 0 .global lbl_803D7910 lbl_803D7910: # ROM: 0x3D4910 .asciz "??(??)" .balign 4