prime/asm/Kyoto/Particles/CColorElement.s

1495 lines
67 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803EDA00
lbl_803EDA00:
# ROM: 0x3EAA00
.4byte 0
.4byte 0
.4byte __dt__16CCEParticleColor
.4byte GetValue__16CCEParticleColor
.global lbl_803EDA10
lbl_803EDA10:
# ROM: 0x3EAA10
.4byte 0
.4byte 0
.4byte __dt__18CCEKeyframeEmitterFv
.4byte GetValue__18CCEKeyframeEmitterCFiR6CColor
.global lbl_803EDA20
lbl_803EDA20:
# ROM: 0x3EAA20
.4byte 0
.4byte 0
.4byte __dt__8CCEPulseFv
.4byte GetValue__8CCEPulseCFiR6CColor
.global lbl_803EDA30
lbl_803EDA30:
# ROM: 0x3EAA30
.4byte 0
.4byte 0
.4byte __dt__12CCETimeChainFv
.4byte GetValue__12CCETimeChainCFiR6CColor
.global lbl_803EDA40
lbl_803EDA40:
# ROM: 0x3EAA40
.4byte 0
.4byte 0
.4byte __dt__10CCEFadeEndFv
.4byte GetValue__10CCEFadeEndCFiR6CColor
.global lbl_803EDA50
lbl_803EDA50:
# ROM: 0x3EAA50
.4byte 0
.4byte 0
.4byte __dt__7CCEFadeFv
.4byte GetValue__7CCEFadeCFiR6CColor
.global lbl_803EDA60
lbl_803EDA60:
# ROM: 0x3EAA60
.4byte 0
.4byte 0
.4byte __dt__15CCEFastConstantFv
.4byte GetValue__15CCEFastConstantCFiR6CColor
.global lbl_803EDA70
lbl_803EDA70:
# ROM: 0x3EAA70
.4byte 0
.4byte 0
.4byte __dt__11CCEConstantFv
.4byte GetValue__11CCEConstantCFiR6CColor
.section .sdata
.balign 8
.global lbl_805A8870
lbl_805A8870:
# ROM: 0x3F6210
.4byte 0
.global lbl_805A8874
lbl_805A8874:
# ROM: 0x3F6214
.float 1.0
.global lbl_805A8878
lbl_805A8878:
# ROM: 0x3F6218
.4byte 0
.global lbl_805A887C
lbl_805A887C:
# ROM: 0x3F621C
.float 1.0
.global lbl_805A8880
lbl_805A8880:
# ROM: 0x3F6220
.4byte 0
.global lbl_805A8884
lbl_805A8884:
# ROM: 0x3F6224
.float 1.0
.global lbl_805A8888
lbl_805A8888:
# ROM: 0x3F6228
.4byte 0
.global lbl_805A888C
lbl_805A888C:
# ROM: 0x3F622C
.float 1.0
.global lbl_805A8890
lbl_805A8890:
# ROM: 0x3F6230
.4byte 0
.global lbl_805A8894
lbl_805A8894:
# ROM: 0x3F6234
.float 1.0
.global lbl_805A8898
lbl_805A8898:
# ROM: 0x3F6238
.4byte 0
.global lbl_805A889C
lbl_805A889C:
# ROM: 0x3F623C
.float 1.0
.global lbl_805A88A0
lbl_805A88A0:
# ROM: 0x3F6240
.4byte 0
.global lbl_805A88A4
lbl_805A88A4:
# ROM: 0x3F6244
.float 1.0
.global lbl_805A88A8
lbl_805A88A8:
# ROM: 0x3F6248
.4byte 0
.global lbl_805A88AC
lbl_805A88AC:
# ROM: 0x3F624C
.float 1.0
.section .text, "ax"
.global __dt__16CCEParticleColor
__dt__16CCEParticleColor:
/* 803163C8 00313328 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803163CC 0031332C 7C 08 02 A6 */ mflr r0
/* 803163D0 00313330 90 01 00 14 */ stw r0, 0x14(r1)
/* 803163D4 00313334 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803163D8 00313338 7C 7F 1B 79 */ or. r31, r3, r3
/* 803163DC 0031333C 41 82 00 44 */ beq lbl_80316420
/* 803163E0 00313340 3C 60 80 3F */ lis r3, lbl_803EDA00@ha
/* 803163E4 00313344 38 03 DA 00 */ addi r0, r3, lbl_803EDA00@l
/* 803163E8 00313348 90 1F 00 00 */ stw r0, 0(r31)
/* 803163EC 0031334C 41 82 00 20 */ beq lbl_8031640C
/* 803163F0 00313350 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803163F4 00313354 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803163F8 00313358 90 1F 00 00 */ stw r0, 0(r31)
/* 803163FC 0031335C 41 82 00 10 */ beq lbl_8031640C
/* 80316400 00313360 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316404 00313364 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316408 00313368 90 1F 00 00 */ stw r0, 0(r31)
lbl_8031640C:
/* 8031640C 0031336C 7C 80 07 35 */ extsh. r0, r4
/* 80316410 00313370 40 81 00 10 */ ble lbl_80316420
/* 80316414 00313374 7F E3 FB 78 */ mr r3, r31
/* 80316418 00313378 38 80 00 04 */ li r4, 4
/* 8031641C 0031337C 48 05 66 49 */ bl __dl__8IElementFPvUl
lbl_80316420:
/* 80316420 00313380 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80316424 00313384 7F E3 FB 78 */ mr r3, r31
/* 80316428 00313388 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031642C 0031338C 7C 08 03 A6 */ mtlr r0
/* 80316430 00313390 38 21 00 10 */ addi r1, r1, 0x10
/* 80316434 00313394 4E 80 00 20 */ blr
.global GetValue__16CCEParticleColor
GetValue__16CCEParticleColor:
/* 80316438 00313398 80 8D A8 EC */ lwz r4, lbl_805A94AC@sda21(r13)
/* 8031643C 0031339C 38 60 00 00 */ li r3, 0
/* 80316440 003133A0 80 04 00 34 */ lwz r0, 0x34(r4)
/* 80316444 003133A4 90 05 00 00 */ stw r0, 0(r5)
/* 80316448 003133A8 4E 80 00 20 */ blr
.global GetValue__18CCEKeyframeEmitterCFiR6CColor
GetValue__18CCEKeyframeEmitterCFiR6CColor:
/* 8031644C 003133AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80316450 003133B0 7C 08 02 A6 */ mflr r0
/* 80316454 003133B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80316458 003133B8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8031645C 003133BC 7C BF 2B 78 */ mr r31, r5
/* 80316460 003133C0 80 03 00 04 */ lwz r0, 4(r3)
/* 80316464 003133C4 2C 00 00 00 */ cmpwi r0, 0
/* 80316468 003133C8 40 82 00 A0 */ bne lbl_80316508
/* 8031646C 003133CC 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80316470 003133D0 80 ED A8 D8 */ lwz r7, mEmitterTime__16CParticleGlobals@sda21(r13)
/* 80316474 003133D4 28 00 00 00 */ cmplwi r0, 0
/* 80316478 003133D8 90 E1 00 10 */ stw r7, 0x10(r1)
/* 8031647C 003133DC 41 82 00 50 */ beq lbl_803164CC
/* 80316480 003133E0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80316484 003133E4 7C 07 00 00 */ cmpw r7, r0
/* 80316488 003133E8 41 80 00 2C */ blt lbl_803164B4
/* 8031648C 003133EC 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 80316490 003133F0 7C A6 38 50 */ subf r5, r6, r7
/* 80316494 003133F4 7C 86 00 50 */ subf r4, r6, r0
/* 80316498 003133F8 7C 05 23 D6 */ divw r0, r5, r4
/* 8031649C 003133FC 90 A1 00 10 */ stw r5, 0x10(r1)
/* 803164A0 00313400 7C 00 21 D6 */ mullw r0, r0, r4
/* 803164A4 00313404 7C 00 28 50 */ subf r0, r0, r5
/* 803164A8 00313408 90 01 00 10 */ stw r0, 0x10(r1)
/* 803164AC 0031340C 7C 00 32 14 */ add r0, r0, r6
/* 803164B0 00313410 90 01 00 10 */ stw r0, 0x10(r1)
lbl_803164B4:
/* 803164B4 00313414 80 01 00 10 */ lwz r0, 0x10(r1)
/* 803164B8 00313418 80 63 00 24 */ lwz r3, 0x24(r3)
/* 803164BC 0031341C 54 00 10 3A */ slwi r0, r0, 2
/* 803164C0 00313420 7C 03 00 2E */ lwzx r0, r3, r0
/* 803164C4 00313424 90 1F 00 00 */ stw r0, 0(r31)
/* 803164C8 00313428 48 00 00 38 */ b lbl_80316500
lbl_803164CC:
/* 803164CC 0031342C 80 A3 00 10 */ lwz r5, 0x10(r3)
/* 803164D0 00313430 38 81 00 10 */ addi r4, r1, 0x10
/* 803164D4 00313434 38 05 FF FF */ addi r0, r5, -1
/* 803164D8 00313438 7C 00 38 00 */ cmpw r0, r7
/* 803164DC 0031343C 90 01 00 0C */ stw r0, 0xc(r1)
/* 803164E0 00313440 40 80 00 08 */ bge lbl_803164E8
/* 803164E4 00313444 38 81 00 0C */ addi r4, r1, 0xc
lbl_803164E8:
/* 803164E8 00313448 80 04 00 00 */ lwz r0, 0(r4)
/* 803164EC 0031344C 80 63 00 24 */ lwz r3, 0x24(r3)
/* 803164F0 00313450 90 01 00 10 */ stw r0, 0x10(r1)
/* 803164F4 00313454 54 00 10 3A */ slwi r0, r0, 2
/* 803164F8 00313458 7C 03 00 2E */ lwzx r0, r3, r0
/* 803164FC 0031345C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80316500:
/* 80316500 00313460 38 60 00 00 */ li r3, 0
/* 80316504 00313464 48 00 00 54 */ b lbl_80316558
lbl_80316508:
/* 80316508 00313468 80 8D A8 E0 */ lwz r4, mParticleLifetimePercentage__16CParticleGlobals@sda21(r13)
/* 8031650C 0031346C 2C 04 00 64 */ cmpwi r4, 0x64
/* 80316510 00313470 40 82 00 18 */ bne lbl_80316528
/* 80316514 00313474 80 63 00 24 */ lwz r3, 0x24(r3)
/* 80316518 00313478 54 80 10 3A */ slwi r0, r4, 2
/* 8031651C 0031347C 7C 03 00 2E */ lwzx r0, r3, r0
/* 80316520 00313480 90 1F 00 00 */ stw r0, 0(r31)
/* 80316524 00313484 48 00 00 30 */ b lbl_80316554
lbl_80316528:
/* 80316528 00313488 38 04 00 01 */ addi r0, r4, 1
/* 8031652C 0031348C 80 C3 00 24 */ lwz r6, 0x24(r3)
/* 80316530 00313490 54 03 10 3A */ slwi r3, r0, 2
/* 80316534 00313494 C0 2D A8 E8 */ lfs f1, mParticleLifetimePercentageRemainder__16CParticleGlobals@sda21(r13)
/* 80316538 00313498 54 80 10 3A */ slwi r0, r4, 2
/* 8031653C 0031349C 7C A6 1A 14 */ add r5, r6, r3
/* 80316540 003134A0 38 61 00 08 */ addi r3, r1, 8
/* 80316544 003134A4 7C 86 02 14 */ add r4, r6, r0
/* 80316548 003134A8 48 04 CD 65 */ bl Lerp__6CColorFRC6CColorRC6CColorf
/* 8031654C 003134AC 80 01 00 08 */ lwz r0, 8(r1)
/* 80316550 003134B0 90 1F 00 00 */ stw r0, 0(r31)
lbl_80316554:
/* 80316554 003134B4 38 60 00 00 */ li r3, 0
lbl_80316558:
/* 80316558 003134B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031655C 003134BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80316560 003134C0 7C 08 03 A6 */ mtlr r0
/* 80316564 003134C4 38 21 00 20 */ addi r1, r1, 0x20
/* 80316568 003134C8 4E 80 00 20 */ blr
.global __dt__18CCEKeyframeEmitterFv
__dt__18CCEKeyframeEmitterFv:
/* 8031656C 003134CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80316570 003134D0 7C 08 02 A6 */ mflr r0
/* 80316574 003134D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80316578 003134D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8031657C 003134DC 7C 9F 23 78 */ mr r31, r4
/* 80316580 003134E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80316584 003134E4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80316588 003134E8 41 82 00 90 */ beq lbl_80316618
/* 8031658C 003134EC 3C 60 80 3F */ lis r3, lbl_803EDA10@ha
/* 80316590 003134F0 34 1E 00 18 */ addic. r0, r30, 0x18
/* 80316594 003134F4 38 03 DA 10 */ addi r0, r3, lbl_803EDA10@l
/* 80316598 003134F8 90 1E 00 00 */ stw r0, 0(r30)
/* 8031659C 003134FC 41 82 00 44 */ beq lbl_803165E0
/* 803165A0 00313500 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 803165A4 00313504 80 7E 00 24 */ lwz r3, 0x24(r30)
/* 803165A8 00313508 54 00 10 3A */ slwi r0, r0, 2
/* 803165AC 0031350C 7C 03 02 14 */ add r0, r3, r0
/* 803165B0 00313510 90 61 00 0C */ stw r3, 0xc(r1)
/* 803165B4 00313514 7C 64 1B 78 */ mr r4, r3
/* 803165B8 00313518 90 01 00 14 */ stw r0, 0x14(r1)
/* 803165BC 0031351C 90 01 00 10 */ stw r0, 0x10(r1)
/* 803165C0 00313520 90 61 00 08 */ stw r3, 8(r1)
/* 803165C4 00313524 48 00 00 08 */ b lbl_803165CC
lbl_803165C8:
/* 803165C8 00313528 38 84 00 04 */ addi r4, r4, 4
lbl_803165CC:
/* 803165CC 0031352C 7C 04 00 40 */ cmplw r4, r0
/* 803165D0 00313530 40 82 FF F8 */ bne lbl_803165C8
/* 803165D4 00313534 28 03 00 00 */ cmplwi r3, 0
/* 803165D8 00313538 41 82 00 08 */ beq lbl_803165E0
/* 803165DC 0031353C 4B FF F3 55 */ bl Free__7CMemoryFPCv
lbl_803165E0:
/* 803165E0 00313540 28 1E 00 00 */ cmplwi r30, 0
/* 803165E4 00313544 41 82 00 20 */ beq lbl_80316604
/* 803165E8 00313548 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803165EC 0031354C 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803165F0 00313550 90 1E 00 00 */ stw r0, 0(r30)
/* 803165F4 00313554 41 82 00 10 */ beq lbl_80316604
/* 803165F8 00313558 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803165FC 0031355C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316600 00313560 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316604:
/* 80316604 00313564 7F E0 07 35 */ extsh. r0, r31
/* 80316608 00313568 40 81 00 10 */ ble lbl_80316618
/* 8031660C 0031356C 7F C3 F3 78 */ mr r3, r30
/* 80316610 00313570 38 80 00 28 */ li r4, 0x28
/* 80316614 00313574 48 05 64 51 */ bl __dl__8IElementFPvUl
lbl_80316618:
/* 80316618 00313578 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031661C 0031357C 7F C3 F3 78 */ mr r3, r30
/* 80316620 00313580 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80316624 00313584 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80316628 00313588 7C 08 03 A6 */ mtlr r0
/* 8031662C 0031358C 38 21 00 20 */ addi r1, r1, 0x20
/* 80316630 00313590 4E 80 00 20 */ blr
.global __ct__18CCEKeyframeEmitterFR12CInputStream
__ct__18CCEKeyframeEmitterFR12CInputStream:
/* 80316634 00313594 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80316638 00313598 7C 08 02 A6 */ mflr r0
/* 8031663C 0031359C 3C A0 80 3F */ lis r5, __vt__13CColorElement@ha
/* 80316640 003135A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80316644 003135A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80316648 003135A8 7C 9F 23 78 */ mr r31, r4
/* 8031664C 003135AC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80316650 003135B0 7C 7E 1B 78 */ mr r30, r3
/* 80316654 003135B4 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316658 003135B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8031665C 003135BC 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316660 003135C0 3C 60 80 3F */ lis r3, lbl_803EDA10@ha
/* 80316664 003135C4 7F C6 F3 78 */ mr r6, r30
/* 80316668 003135C8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8031666C 003135CC 90 1E 00 00 */ stw r0, 0(r30)
/* 80316670 003135D0 38 05 C5 B4 */ addi r0, r5, __vt__13CColorElement@l
/* 80316674 003135D4 90 1E 00 00 */ stw r0, 0(r30)
/* 80316678 003135D8 38 03 DA 10 */ addi r0, r3, lbl_803EDA10@l
/* 8031667C 003135DC 7F E3 FB 78 */ mr r3, r31
/* 80316680 003135E0 90 1E 00 00 */ stw r0, 0(r30)
/* 80316684 003135E4 48 02 86 01 */ bl ReadLong__12CInputStreamFv
/* 80316688 003135E8 90 7E 00 04 */ stw r3, 4(r30)
/* 8031668C 003135EC 7F E3 FB 78 */ mr r3, r31
/* 80316690 003135F0 48 02 85 F5 */ bl ReadLong__12CInputStreamFv
/* 80316694 003135F4 90 7E 00 08 */ stw r3, 8(r30)
/* 80316698 003135F8 7F E3 FB 78 */ mr r3, r31
/* 8031669C 003135FC 48 02 86 41 */ bl ReadBool__12CInputStreamFv
/* 803166A0 00313600 98 7E 00 0C */ stb r3, 0xc(r30)
/* 803166A4 00313604 7F E3 FB 78 */ mr r3, r31
/* 803166A8 00313608 48 02 86 35 */ bl ReadBool__12CInputStreamFv
/* 803166AC 0031360C 98 7E 00 0D */ stb r3, 0xd(r30)
/* 803166B0 00313610 7F E3 FB 78 */ mr r3, r31
/* 803166B4 00313614 48 02 85 D1 */ bl ReadLong__12CInputStreamFv
/* 803166B8 00313618 90 7E 00 10 */ stw r3, 0x10(r30)
/* 803166BC 0031361C 7F E3 FB 78 */ mr r3, r31
/* 803166C0 00313620 48 02 85 C5 */ bl ReadLong__12CInputStreamFv
/* 803166C4 00313624 90 7E 00 14 */ stw r3, 0x14(r30)
/* 803166C8 00313628 38 00 00 00 */ li r0, 0
/* 803166CC 0031362C 7F E3 FB 78 */ mr r3, r31
/* 803166D0 00313630 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 803166D4 00313634 90 1E 00 20 */ stw r0, 0x20(r30)
/* 803166D8 00313638 90 1E 00 24 */ stw r0, 0x24(r30)
/* 803166DC 0031363C 48 02 85 A9 */ bl ReadLong__12CInputStreamFv
/* 803166E0 00313640 7C 7C 1B 78 */ mr r28, r3
/* 803166E4 00313644 38 7E 00 18 */ addi r3, r30, 0x18
/* 803166E8 00313648 7F 84 E3 78 */ mr r4, r28
/* 803166EC 0031364C 48 00 0E 55 */ bl "reserve__Q24rstl42vector<6CColor,Q24rstl17rmemory_allocator>Fi"
/* 803166F0 00313650 3B A0 00 00 */ li r29, 0
/* 803166F4 00313654 48 00 00 64 */ b lbl_80316758
lbl_803166F8:
/* 803166F8 00313658 7F E4 FB 78 */ mr r4, r31
/* 803166FC 0031365C 38 61 00 08 */ addi r3, r1, 8
/* 80316700 00313660 48 04 CD 4D */ bl __ct__6CColorFR12CInputStream
/* 80316704 00313664 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80316708 00313668 80 BE 00 20 */ lwz r5, 0x20(r30)
/* 8031670C 0031366C 7C 00 28 00 */ cmpw r0, r5
/* 80316710 00313670 41 80 00 1C */ blt lbl_8031672C
/* 80316714 00313674 2C 05 00 00 */ cmpwi r5, 0
/* 80316718 00313678 38 7E 00 18 */ addi r3, r30, 0x18
/* 8031671C 0031367C 38 80 00 04 */ li r4, 4
/* 80316720 00313680 41 82 00 08 */ beq lbl_80316728
/* 80316724 00313684 54 A4 08 3C */ slwi r4, r5, 1
lbl_80316728:
/* 80316728 00313688 48 00 0E 19 */ bl "reserve__Q24rstl42vector<6CColor,Q24rstl17rmemory_allocator>Fi"
lbl_8031672C:
/* 8031672C 0031368C 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80316730 00313690 80 7E 00 24 */ lwz r3, 0x24(r30)
/* 80316734 00313694 54 00 10 3A */ slwi r0, r0, 2
/* 80316738 00313698 7C 63 02 15 */ add. r3, r3, r0
/* 8031673C 0031369C 41 82 00 0C */ beq lbl_80316748
/* 80316740 003136A0 80 01 00 08 */ lwz r0, 8(r1)
/* 80316744 003136A4 90 03 00 00 */ stw r0, 0(r3)
lbl_80316748:
/* 80316748 003136A8 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8031674C 003136AC 3B BD 00 01 */ addi r29, r29, 1
/* 80316750 003136B0 38 03 00 01 */ addi r0, r3, 1
/* 80316754 003136B4 90 1E 00 1C */ stw r0, 0x1c(r30)
lbl_80316758:
/* 80316758 003136B8 7C 1D E0 00 */ cmpw r29, r28
/* 8031675C 003136BC 41 80 FF 9C */ blt lbl_803166F8
/* 80316760 003136C0 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 80316764 003136C4 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80316768 003136C8 7C 03 00 00 */ cmpw r3, r0
/* 8031676C 003136CC 41 80 00 0C */ blt lbl_80316778
/* 80316770 003136D0 38 00 00 00 */ li r0, 0
/* 80316774 003136D4 90 1E 00 14 */ stw r0, 0x14(r30)
lbl_80316778:
/* 80316778 003136D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031677C 003136DC 7F C3 F3 78 */ mr r3, r30
/* 80316780 003136E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80316784 003136E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80316788 003136E8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8031678C 003136EC 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80316790 003136F0 7C 08 03 A6 */ mtlr r0
/* 80316794 003136F4 38 21 00 20 */ addi r1, r1, 0x20
/* 80316798 003136F8 4E 80 00 20 */ blr
.global GetValue__8CCEPulseCFiR6CColor
GetValue__8CCEPulseCFiR6CColor:
/* 8031679C 003136FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803167A0 00313700 7C 08 02 A6 */ mflr r0
/* 803167A4 00313704 90 01 00 24 */ stw r0, 0x24(r1)
/* 803167A8 00313708 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803167AC 0031370C 7C BF 2B 78 */ mr r31, r5
/* 803167B0 00313710 38 A1 00 0C */ addi r5, r1, 0xc
/* 803167B4 00313714 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803167B8 00313718 7C 9E 23 78 */ mr r30, r4
/* 803167BC 0031371C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803167C0 00313720 7C 7D 1B 78 */ mr r29, r3
/* 803167C4 00313724 80 63 00 04 */ lwz r3, 4(r3)
/* 803167C8 00313728 81 83 00 00 */ lwz r12, 0(r3)
/* 803167CC 0031372C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803167D0 00313730 7D 89 03 A6 */ mtctr r12
/* 803167D4 00313734 4E 80 04 21 */ bctrl
/* 803167D8 00313738 80 7D 00 08 */ lwz r3, 8(r29)
/* 803167DC 0031373C 7F C4 F3 78 */ mr r4, r30
/* 803167E0 00313740 38 A1 00 08 */ addi r5, r1, 8
/* 803167E4 00313744 81 83 00 00 */ lwz r12, 0(r3)
/* 803167E8 00313748 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803167EC 0031374C 7D 89 03 A6 */ mtctr r12
/* 803167F0 00313750 4E 80 04 21 */ bctrl
/* 803167F4 00313754 80 61 00 08 */ lwz r3, 8(r1)
/* 803167F8 00313758 80 81 00 0C */ lwz r4, 0xc(r1)
/* 803167FC 0031375C 38 A3 00 01 */ addi r5, r3, 1
/* 80316800 00313760 7C A4 2A 15 */ add. r5, r4, r5
/* 80316804 00313764 40 80 00 08 */ bge lbl_8031680C
/* 80316808 00313768 38 A0 00 01 */ li r5, 1
lbl_8031680C:
/* 8031680C 0031376C 2C 03 00 01 */ cmpwi r3, 1
/* 80316810 00313770 41 80 00 58 */ blt lbl_80316868
/* 80316814 00313774 7C 1E 2B D6 */ divw r0, r30, r5
/* 80316818 00313778 7C 00 29 D6 */ mullw r0, r0, r5
/* 8031681C 0031377C 7C 00 F0 50 */ subf r0, r0, r30
/* 80316820 00313780 7C 00 20 00 */ cmpw r0, r4
/* 80316824 00313784 40 81 00 24 */ ble lbl_80316848
/* 80316828 00313788 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8031682C 0031378C 7F C4 F3 78 */ mr r4, r30
/* 80316830 00313790 7F E5 FB 78 */ mr r5, r31
/* 80316834 00313794 81 83 00 00 */ lwz r12, 0(r3)
/* 80316838 00313798 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031683C 0031379C 7D 89 03 A6 */ mtctr r12
/* 80316840 003137A0 4E 80 04 21 */ bctrl
/* 80316844 003137A4 48 00 00 40 */ b lbl_80316884
lbl_80316848:
/* 80316848 003137A8 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8031684C 003137AC 7F C4 F3 78 */ mr r4, r30
/* 80316850 003137B0 7F E5 FB 78 */ mr r5, r31
/* 80316854 003137B4 81 83 00 00 */ lwz r12, 0(r3)
/* 80316858 003137B8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031685C 003137BC 7D 89 03 A6 */ mtctr r12
/* 80316860 003137C0 4E 80 04 21 */ bctrl
/* 80316864 003137C4 48 00 00 20 */ b lbl_80316884
lbl_80316868:
/* 80316868 003137C8 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8031686C 003137CC 7F C4 F3 78 */ mr r4, r30
/* 80316870 003137D0 7F E5 FB 78 */ mr r5, r31
/* 80316874 003137D4 81 83 00 00 */ lwz r12, 0(r3)
/* 80316878 003137D8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031687C 003137DC 7D 89 03 A6 */ mtctr r12
/* 80316880 003137E0 4E 80 04 21 */ bctrl
lbl_80316884:
/* 80316884 003137E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80316888 003137E8 38 60 00 00 */ li r3, 0
/* 8031688C 003137EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80316890 003137F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80316894 003137F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80316898 003137F8 7C 08 03 A6 */ mtlr r0
/* 8031689C 003137FC 38 21 00 20 */ addi r1, r1, 0x20
/* 803168A0 00313800 4E 80 00 20 */ blr
.global __dt__8CCEPulseFv
__dt__8CCEPulseFv:
/* 803168A4 00313804 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803168A8 00313808 7C 08 02 A6 */ mflr r0
/* 803168AC 0031380C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803168B0 00313810 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803168B4 00313814 7C 9F 23 78 */ mr r31, r4
/* 803168B8 00313818 93 C1 00 08 */ stw r30, 8(r1)
/* 803168BC 0031381C 7C 7E 1B 79 */ or. r30, r3, r3
/* 803168C0 00313820 41 82 00 C8 */ beq lbl_80316988
/* 803168C4 00313824 3C 60 80 3F */ lis r3, lbl_803EDA20@ha
/* 803168C8 00313828 38 03 DA 20 */ addi r0, r3, lbl_803EDA20@l
/* 803168CC 0031382C 90 1E 00 00 */ stw r0, 0(r30)
/* 803168D0 00313830 80 7E 00 04 */ lwz r3, 4(r30)
/* 803168D4 00313834 28 03 00 00 */ cmplwi r3, 0
/* 803168D8 00313838 41 82 00 18 */ beq lbl_803168F0
/* 803168DC 0031383C 81 83 00 00 */ lwz r12, 0(r3)
/* 803168E0 00313840 38 80 00 01 */ li r4, 1
/* 803168E4 00313844 81 8C 00 08 */ lwz r12, 8(r12)
/* 803168E8 00313848 7D 89 03 A6 */ mtctr r12
/* 803168EC 0031384C 4E 80 04 21 */ bctrl
lbl_803168F0:
/* 803168F0 00313850 80 7E 00 08 */ lwz r3, 8(r30)
/* 803168F4 00313854 28 03 00 00 */ cmplwi r3, 0
/* 803168F8 00313858 41 82 00 18 */ beq lbl_80316910
/* 803168FC 0031385C 81 83 00 00 */ lwz r12, 0(r3)
/* 80316900 00313860 38 80 00 01 */ li r4, 1
/* 80316904 00313864 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316908 00313868 7D 89 03 A6 */ mtctr r12
/* 8031690C 0031386C 4E 80 04 21 */ bctrl
lbl_80316910:
/* 80316910 00313870 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80316914 00313874 28 03 00 00 */ cmplwi r3, 0
/* 80316918 00313878 41 82 00 18 */ beq lbl_80316930
/* 8031691C 0031387C 81 83 00 00 */ lwz r12, 0(r3)
/* 80316920 00313880 38 80 00 01 */ li r4, 1
/* 80316924 00313884 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316928 00313888 7D 89 03 A6 */ mtctr r12
/* 8031692C 0031388C 4E 80 04 21 */ bctrl
lbl_80316930:
/* 80316930 00313890 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80316934 00313894 28 03 00 00 */ cmplwi r3, 0
/* 80316938 00313898 41 82 00 18 */ beq lbl_80316950
/* 8031693C 0031389C 81 83 00 00 */ lwz r12, 0(r3)
/* 80316940 003138A0 38 80 00 01 */ li r4, 1
/* 80316944 003138A4 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316948 003138A8 7D 89 03 A6 */ mtctr r12
/* 8031694C 003138AC 4E 80 04 21 */ bctrl
lbl_80316950:
/* 80316950 003138B0 28 1E 00 00 */ cmplwi r30, 0
/* 80316954 003138B4 41 82 00 20 */ beq lbl_80316974
/* 80316958 003138B8 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 8031695C 003138BC 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80316960 003138C0 90 1E 00 00 */ stw r0, 0(r30)
/* 80316964 003138C4 41 82 00 10 */ beq lbl_80316974
/* 80316968 003138C8 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8031696C 003138CC 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316970 003138D0 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316974:
/* 80316974 003138D4 7F E0 07 35 */ extsh. r0, r31
/* 80316978 003138D8 40 81 00 10 */ ble lbl_80316988
/* 8031697C 003138DC 7F C3 F3 78 */ mr r3, r30
/* 80316980 003138E0 38 80 00 14 */ li r4, 0x14
/* 80316984 003138E4 48 05 60 E1 */ bl __dl__8IElementFPvUl
lbl_80316988:
/* 80316988 003138E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031698C 003138EC 7F C3 F3 78 */ mr r3, r30
/* 80316990 003138F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80316994 003138F4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80316998 003138F8 7C 08 03 A6 */ mtlr r0
/* 8031699C 003138FC 38 21 00 10 */ addi r1, r1, 0x10
/* 803169A0 00313900 4E 80 00 20 */ blr
.global __ct__8CCEPulseFP11CIntElementP11CIntElementP13CColorElementP13CColorElement
__ct__8CCEPulseFP11CIntElementP11CIntElementP13CColorElementP13CColorElement:
/* 803169A4 00313904 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 803169A8 00313908 3D 20 80 3F */ lis r9, __vt__13CColorElement@ha
/* 803169AC 0031390C 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 803169B0 00313910 3D 00 80 3F */ lis r8, lbl_803EDA20@ha
/* 803169B4 00313914 90 03 00 00 */ stw r0, 0(r3)
/* 803169B8 00313918 39 29 C5 B4 */ addi r9, r9, __vt__13CColorElement@l
/* 803169BC 0031391C 38 08 DA 20 */ addi r0, r8, lbl_803EDA20@l
/* 803169C0 00313920 91 23 00 00 */ stw r9, 0(r3)
/* 803169C4 00313924 90 03 00 00 */ stw r0, 0(r3)
/* 803169C8 00313928 90 83 00 04 */ stw r4, 4(r3)
/* 803169CC 0031392C 90 A3 00 08 */ stw r5, 8(r3)
/* 803169D0 00313930 90 C3 00 0C */ stw r6, 0xc(r3)
/* 803169D4 00313934 90 E3 00 10 */ stw r7, 0x10(r3)
/* 803169D8 00313938 4E 80 00 20 */ blr
.global GetValue__12CCETimeChainCFiR6CColor
GetValue__12CCETimeChainCFiR6CColor:
/* 803169DC 0031393C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803169E0 00313940 7C 08 02 A6 */ mflr r0
/* 803169E4 00313944 90 01 00 24 */ stw r0, 0x24(r1)
/* 803169E8 00313948 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803169EC 0031394C 7C BF 2B 78 */ mr r31, r5
/* 803169F0 00313950 38 A1 00 08 */ addi r5, r1, 8
/* 803169F4 00313954 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803169F8 00313958 7C 9E 23 78 */ mr r30, r4
/* 803169FC 0031395C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80316A00 00313960 7C 7D 1B 78 */ mr r29, r3
/* 80316A04 00313964 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80316A08 00313968 81 83 00 00 */ lwz r12, 0(r3)
/* 80316A0C 0031396C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316A10 00313970 7D 89 03 A6 */ mtctr r12
/* 80316A14 00313974 4E 80 04 21 */ bctrl
/* 80316A18 00313978 80 01 00 08 */ lwz r0, 8(r1)
/* 80316A1C 0031397C 7C 1E 00 00 */ cmpw r30, r0
/* 80316A20 00313980 40 80 00 24 */ bge lbl_80316A44
/* 80316A24 00313984 80 7D 00 04 */ lwz r3, 4(r29)
/* 80316A28 00313988 7F C4 F3 78 */ mr r4, r30
/* 80316A2C 0031398C 7F E5 FB 78 */ mr r5, r31
/* 80316A30 00313990 81 83 00 00 */ lwz r12, 0(r3)
/* 80316A34 00313994 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316A38 00313998 7D 89 03 A6 */ mtctr r12
/* 80316A3C 0031399C 4E 80 04 21 */ bctrl
/* 80316A40 003139A0 48 00 00 20 */ b lbl_80316A60
lbl_80316A44:
/* 80316A44 003139A4 80 7D 00 08 */ lwz r3, 8(r29)
/* 80316A48 003139A8 7F E5 FB 78 */ mr r5, r31
/* 80316A4C 003139AC 7C 80 F0 50 */ subf r4, r0, r30
/* 80316A50 003139B0 81 83 00 00 */ lwz r12, 0(r3)
/* 80316A54 003139B4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316A58 003139B8 7D 89 03 A6 */ mtctr r12
/* 80316A5C 003139BC 4E 80 04 21 */ bctrl
lbl_80316A60:
/* 80316A60 003139C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80316A64 003139C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80316A68 003139C8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80316A6C 003139CC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80316A70 003139D0 7C 08 03 A6 */ mtlr r0
/* 80316A74 003139D4 38 21 00 20 */ addi r1, r1, 0x20
/* 80316A78 003139D8 4E 80 00 20 */ blr
.global __dt__12CCETimeChainFv
__dt__12CCETimeChainFv:
/* 80316A7C 003139DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80316A80 003139E0 7C 08 02 A6 */ mflr r0
/* 80316A84 003139E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80316A88 003139E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80316A8C 003139EC 7C 9F 23 78 */ mr r31, r4
/* 80316A90 003139F0 93 C1 00 08 */ stw r30, 8(r1)
/* 80316A94 003139F4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80316A98 003139F8 41 82 00 A8 */ beq lbl_80316B40
/* 80316A9C 003139FC 3C 60 80 3F */ lis r3, lbl_803EDA30@ha
/* 80316AA0 00313A00 38 03 DA 30 */ addi r0, r3, lbl_803EDA30@l
/* 80316AA4 00313A04 90 1E 00 00 */ stw r0, 0(r30)
/* 80316AA8 00313A08 80 7E 00 04 */ lwz r3, 4(r30)
/* 80316AAC 00313A0C 28 03 00 00 */ cmplwi r3, 0
/* 80316AB0 00313A10 41 82 00 18 */ beq lbl_80316AC8
/* 80316AB4 00313A14 81 83 00 00 */ lwz r12, 0(r3)
/* 80316AB8 00313A18 38 80 00 01 */ li r4, 1
/* 80316ABC 00313A1C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316AC0 00313A20 7D 89 03 A6 */ mtctr r12
/* 80316AC4 00313A24 4E 80 04 21 */ bctrl
lbl_80316AC8:
/* 80316AC8 00313A28 80 7E 00 08 */ lwz r3, 8(r30)
/* 80316ACC 00313A2C 28 03 00 00 */ cmplwi r3, 0
/* 80316AD0 00313A30 41 82 00 18 */ beq lbl_80316AE8
/* 80316AD4 00313A34 81 83 00 00 */ lwz r12, 0(r3)
/* 80316AD8 00313A38 38 80 00 01 */ li r4, 1
/* 80316ADC 00313A3C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316AE0 00313A40 7D 89 03 A6 */ mtctr r12
/* 80316AE4 00313A44 4E 80 04 21 */ bctrl
lbl_80316AE8:
/* 80316AE8 00313A48 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80316AEC 00313A4C 28 03 00 00 */ cmplwi r3, 0
/* 80316AF0 00313A50 41 82 00 18 */ beq lbl_80316B08
/* 80316AF4 00313A54 81 83 00 00 */ lwz r12, 0(r3)
/* 80316AF8 00313A58 38 80 00 01 */ li r4, 1
/* 80316AFC 00313A5C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316B00 00313A60 7D 89 03 A6 */ mtctr r12
/* 80316B04 00313A64 4E 80 04 21 */ bctrl
lbl_80316B08:
/* 80316B08 00313A68 28 1E 00 00 */ cmplwi r30, 0
/* 80316B0C 00313A6C 41 82 00 20 */ beq lbl_80316B2C
/* 80316B10 00313A70 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 80316B14 00313A74 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80316B18 00313A78 90 1E 00 00 */ stw r0, 0(r30)
/* 80316B1C 00313A7C 41 82 00 10 */ beq lbl_80316B2C
/* 80316B20 00313A80 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316B24 00313A84 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316B28 00313A88 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316B2C:
/* 80316B2C 00313A8C 7F E0 07 35 */ extsh. r0, r31
/* 80316B30 00313A90 40 81 00 10 */ ble lbl_80316B40
/* 80316B34 00313A94 7F C3 F3 78 */ mr r3, r30
/* 80316B38 00313A98 38 80 00 10 */ li r4, 0x10
/* 80316B3C 00313A9C 48 05 5F 29 */ bl __dl__8IElementFPvUl
lbl_80316B40:
/* 80316B40 00313AA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80316B44 00313AA4 7F C3 F3 78 */ mr r3, r30
/* 80316B48 00313AA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80316B4C 00313AAC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80316B50 00313AB0 7C 08 03 A6 */ mtlr r0
/* 80316B54 00313AB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80316B58 00313AB8 4E 80 00 20 */ blr
.global __ct__12CCETimeChainFP13CColorElementP13CColorElementP11CIntElement
__ct__12CCETimeChainFP13CColorElementP13CColorElementP11CIntElement:
/* 80316B5C 00313ABC 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80316B60 00313AC0 3D 00 80 3F */ lis r8, __vt__13CColorElement@ha
/* 80316B64 00313AC4 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80316B68 00313AC8 3C E0 80 3F */ lis r7, lbl_803EDA30@ha
/* 80316B6C 00313ACC 90 03 00 00 */ stw r0, 0(r3)
/* 80316B70 00313AD0 39 08 C5 B4 */ addi r8, r8, __vt__13CColorElement@l
/* 80316B74 00313AD4 38 07 DA 30 */ addi r0, r7, lbl_803EDA30@l
/* 80316B78 00313AD8 91 03 00 00 */ stw r8, 0(r3)
/* 80316B7C 00313ADC 90 03 00 00 */ stw r0, 0(r3)
/* 80316B80 00313AE0 90 83 00 04 */ stw r4, 4(r3)
/* 80316B84 00313AE4 90 A3 00 08 */ stw r5, 8(r3)
/* 80316B88 00313AE8 90 C3 00 0C */ stw r6, 0xc(r3)
/* 80316B8C 00313AEC 4E 80 00 20 */ blr
.global GetValue__10CCEFadeEndCFiR6CColor
GetValue__10CCEFadeEndCFiR6CColor:
/* 80316B90 00313AF0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80316B94 00313AF4 7C 08 02 A6 */ mflr r0
/* 80316B98 00313AF8 90 01 00 74 */ stw r0, 0x74(r1)
/* 80316B9C 00313AFC DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80316BA0 00313B00 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80316BA4 00313B04 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80316BA8 00313B08 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80316BAC 00313B0C 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80316BB0 00313B10 7C 7D 1B 78 */ mr r29, r3
/* 80316BB4 00313B14 7C BF 2B 78 */ mr r31, r5
/* 80316BB8 00313B18 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80316BBC 00313B1C 7C 9E 23 78 */ mr r30, r4
/* 80316BC0 00313B20 38 A1 00 38 */ addi r5, r1, 0x38
/* 80316BC4 00313B24 81 83 00 00 */ lwz r12, 0(r3)
/* 80316BC8 00313B28 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316BCC 00313B2C 7D 89 03 A6 */ mtctr r12
/* 80316BD0 00313B30 4E 80 04 21 */ bctrl
/* 80316BD4 00313B34 6F C3 80 00 */ xoris r3, r30, 0x8000
/* 80316BD8 00313B38 3C 00 43 30 */ lis r0, 0x4330
/* 80316BDC 00313B3C 90 61 00 44 */ stw r3, 0x44(r1)
/* 80316BE0 00313B40 C8 42 C9 E0 */ lfd f2, lbl_805AE700@sda21(r2)
/* 80316BE4 00313B44 90 01 00 40 */ stw r0, 0x40(r1)
/* 80316BE8 00313B48 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80316BEC 00313B4C C8 21 00 40 */ lfd f1, 0x40(r1)
/* 80316BF0 00313B50 EF E1 10 28 */ fsubs f31, f1, f2
/* 80316BF4 00313B54 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 80316BF8 00313B58 40 80 00 28 */ bge lbl_80316C20
/* 80316BFC 00313B5C 80 7D 00 04 */ lwz r3, 4(r29)
/* 80316C00 00313B60 7F C4 F3 78 */ mr r4, r30
/* 80316C04 00313B64 7F E5 FB 78 */ mr r5, r31
/* 80316C08 00313B68 81 83 00 00 */ lwz r12, 0(r3)
/* 80316C0C 00313B6C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316C10 00313B70 7D 89 03 A6 */ mtctr r12
/* 80316C14 00313B74 4E 80 04 21 */ bctrl
/* 80316C18 00313B78 38 60 00 00 */ li r3, 0
/* 80316C1C 00313B7C 48 00 01 20 */ b lbl_80316D3C
lbl_80316C20:
/* 80316C20 00313B80 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 80316C24 00313B84 7F C4 F3 78 */ mr r4, r30
/* 80316C28 00313B88 38 A1 00 34 */ addi r5, r1, 0x34
/* 80316C2C 00313B8C 81 83 00 00 */ lwz r12, 0(r3)
/* 80316C30 00313B90 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316C34 00313B94 7D 89 03 A6 */ mtctr r12
/* 80316C38 00313B98 4E 80 04 21 */ bctrl
/* 80316C3C 00313B9C 38 C0 00 FF */ li r6, 0xff
/* 80316C40 00313BA0 38 00 00 00 */ li r0, 0
/* 80316C44 00313BA4 98 C1 00 30 */ stb r6, 0x30(r1)
/* 80316C48 00313BA8 7F C4 F3 78 */ mr r4, r30
/* 80316C4C 00313BAC 80 7D 00 04 */ lwz r3, 4(r29)
/* 80316C50 00313BB0 38 A1 00 30 */ addi r5, r1, 0x30
/* 80316C54 00313BB4 98 01 00 31 */ stb r0, 0x31(r1)
/* 80316C58 00313BB8 98 C1 00 32 */ stb r6, 0x32(r1)
/* 80316C5C 00313BBC 98 C1 00 33 */ stb r6, 0x33(r1)
/* 80316C60 00313BC0 98 C1 00 2C */ stb r6, 0x2c(r1)
/* 80316C64 00313BC4 98 01 00 2D */ stb r0, 0x2d(r1)
/* 80316C68 00313BC8 98 C1 00 2E */ stb r6, 0x2e(r1)
/* 80316C6C 00313BCC 98 C1 00 2F */ stb r6, 0x2f(r1)
/* 80316C70 00313BD0 81 83 00 00 */ lwz r12, 0(r3)
/* 80316C74 00313BD4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316C78 00313BD8 7D 89 03 A6 */ mtctr r12
/* 80316C7C 00313BDC 4E 80 04 21 */ bctrl
/* 80316C80 00313BE0 80 7D 00 08 */ lwz r3, 8(r29)
/* 80316C84 00313BE4 7F C4 F3 78 */ mr r4, r30
/* 80316C88 00313BE8 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80316C8C 00313BEC 81 83 00 00 */ lwz r12, 0(r3)
/* 80316C90 00313BF0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316C94 00313BF4 7D 89 03 A6 */ mtctr r12
/* 80316C98 00313BF8 4E 80 04 21 */ bctrl
/* 80316C9C 00313BFC 38 61 00 30 */ addi r3, r1, 0x30
/* 80316CA0 00313C00 38 81 00 28 */ addi r4, r1, 0x28
/* 80316CA4 00313C04 38 A1 00 24 */ addi r5, r1, 0x24
/* 80316CA8 00313C08 38 C1 00 20 */ addi r6, r1, 0x20
/* 80316CAC 00313C0C 38 E1 00 1C */ addi r7, r1, 0x1c
/* 80316CB0 00313C10 48 04 C6 B5 */ bl Get__6CColorCFRfRfRfRf
/* 80316CB4 00313C14 38 61 00 2C */ addi r3, r1, 0x2c
/* 80316CB8 00313C18 38 81 00 18 */ addi r4, r1, 0x18
/* 80316CBC 00313C1C 38 A1 00 14 */ addi r5, r1, 0x14
/* 80316CC0 00313C20 38 C1 00 10 */ addi r6, r1, 0x10
/* 80316CC4 00313C24 38 E1 00 0C */ addi r7, r1, 0xc
/* 80316CC8 00313C28 48 04 C6 9D */ bl Get__6CColorCFRfRfRfRf
/* 80316CCC 00313C2C C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80316CD0 00313C30 38 61 00 08 */ addi r3, r1, 8
/* 80316CD4 00313C34 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80316CD8 00313C38 EC 9F 08 28 */ fsubs f4, f31, f1
/* 80316CDC 00313C3C C0 E2 C9 D8 */ lfs f7, lbl_805AE6F8@sda21(r2)
/* 80316CE0 00313C40 EC 00 08 28 */ fsubs f0, f0, f1
/* 80316CE4 00313C44 C0 61 00 18 */ lfs f3, 0x18(r1)
/* 80316CE8 00313C48 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80316CEC 00313C4C C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80316CF0 00313C50 ED 24 00 24 */ fdivs f9, f4, f0
/* 80316CF4 00313C54 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80316CF8 00313C58 C1 01 00 28 */ lfs f8, 0x28(r1)
/* 80316CFC 00313C5C C0 C1 00 24 */ lfs f6, 0x24(r1)
/* 80316D00 00313C60 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 80316D04 00313C64 C0 81 00 1C */ lfs f4, 0x1c(r1)
/* 80316D08 00313C68 ED 47 48 28 */ fsubs f10, f7, f9
/* 80316D0C 00313C6C EC E3 02 72 */ fmuls f7, f3, f9
/* 80316D10 00313C70 EC 42 02 72 */ fmuls f2, f2, f9
/* 80316D14 00313C74 EC 61 02 72 */ fmuls f3, f1, f9
/* 80316D18 00313C78 EC 00 02 72 */ fmuls f0, f0, f9
/* 80316D1C 00313C7C EC 28 3A BA */ fmadds f1, f8, f10, f7
/* 80316D20 00313C80 EC 46 12 BA */ fmadds f2, f6, f10, f2
/* 80316D24 00313C84 EC 65 1A BA */ fmadds f3, f5, f10, f3
/* 80316D28 00313C88 EC 84 02 BA */ fmadds f4, f4, f10, f0
/* 80316D2C 00313C8C 48 04 C6 C1 */ bl __ct__6CColorFffff
/* 80316D30 00313C90 80 01 00 08 */ lwz r0, 8(r1)
/* 80316D34 00313C94 38 60 00 00 */ li r3, 0
/* 80316D38 00313C98 90 1F 00 00 */ stw r0, 0(r31)
lbl_80316D3C:
/* 80316D3C 00313C9C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80316D40 00313CA0 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80316D44 00313CA4 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80316D48 00313CA8 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80316D4C 00313CAC 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80316D50 00313CB0 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80316D54 00313CB4 7C 08 03 A6 */ mtlr r0
/* 80316D58 00313CB8 38 21 00 70 */ addi r1, r1, 0x70
/* 80316D5C 00313CBC 4E 80 00 20 */ blr
.global __dt__10CCEFadeEndFv
__dt__10CCEFadeEndFv:
/* 80316D60 00313CC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80316D64 00313CC4 7C 08 02 A6 */ mflr r0
/* 80316D68 00313CC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80316D6C 00313CCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80316D70 00313CD0 7C 9F 23 78 */ mr r31, r4
/* 80316D74 00313CD4 93 C1 00 08 */ stw r30, 8(r1)
/* 80316D78 00313CD8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80316D7C 00313CDC 41 82 00 C8 */ beq lbl_80316E44
/* 80316D80 00313CE0 3C 60 80 3F */ lis r3, lbl_803EDA40@ha
/* 80316D84 00313CE4 38 03 DA 40 */ addi r0, r3, lbl_803EDA40@l
/* 80316D88 00313CE8 90 1E 00 00 */ stw r0, 0(r30)
/* 80316D8C 00313CEC 80 7E 00 04 */ lwz r3, 4(r30)
/* 80316D90 00313CF0 28 03 00 00 */ cmplwi r3, 0
/* 80316D94 00313CF4 41 82 00 18 */ beq lbl_80316DAC
/* 80316D98 00313CF8 81 83 00 00 */ lwz r12, 0(r3)
/* 80316D9C 00313CFC 38 80 00 01 */ li r4, 1
/* 80316DA0 00313D00 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316DA4 00313D04 7D 89 03 A6 */ mtctr r12
/* 80316DA8 00313D08 4E 80 04 21 */ bctrl
lbl_80316DAC:
/* 80316DAC 00313D0C 80 7E 00 08 */ lwz r3, 8(r30)
/* 80316DB0 00313D10 28 03 00 00 */ cmplwi r3, 0
/* 80316DB4 00313D14 41 82 00 18 */ beq lbl_80316DCC
/* 80316DB8 00313D18 81 83 00 00 */ lwz r12, 0(r3)
/* 80316DBC 00313D1C 38 80 00 01 */ li r4, 1
/* 80316DC0 00313D20 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316DC4 00313D24 7D 89 03 A6 */ mtctr r12
/* 80316DC8 00313D28 4E 80 04 21 */ bctrl
lbl_80316DCC:
/* 80316DCC 00313D2C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80316DD0 00313D30 28 03 00 00 */ cmplwi r3, 0
/* 80316DD4 00313D34 41 82 00 18 */ beq lbl_80316DEC
/* 80316DD8 00313D38 81 83 00 00 */ lwz r12, 0(r3)
/* 80316DDC 00313D3C 38 80 00 01 */ li r4, 1
/* 80316DE0 00313D40 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316DE4 00313D44 7D 89 03 A6 */ mtctr r12
/* 80316DE8 00313D48 4E 80 04 21 */ bctrl
lbl_80316DEC:
/* 80316DEC 00313D4C 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80316DF0 00313D50 28 03 00 00 */ cmplwi r3, 0
/* 80316DF4 00313D54 41 82 00 18 */ beq lbl_80316E0C
/* 80316DF8 00313D58 81 83 00 00 */ lwz r12, 0(r3)
/* 80316DFC 00313D5C 38 80 00 01 */ li r4, 1
/* 80316E00 00313D60 81 8C 00 08 */ lwz r12, 8(r12)
/* 80316E04 00313D64 7D 89 03 A6 */ mtctr r12
/* 80316E08 00313D68 4E 80 04 21 */ bctrl
lbl_80316E0C:
/* 80316E0C 00313D6C 28 1E 00 00 */ cmplwi r30, 0
/* 80316E10 00313D70 41 82 00 20 */ beq lbl_80316E30
/* 80316E14 00313D74 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 80316E18 00313D78 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80316E1C 00313D7C 90 1E 00 00 */ stw r0, 0(r30)
/* 80316E20 00313D80 41 82 00 10 */ beq lbl_80316E30
/* 80316E24 00313D84 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316E28 00313D88 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316E2C 00313D8C 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316E30:
/* 80316E30 00313D90 7F E0 07 35 */ extsh. r0, r31
/* 80316E34 00313D94 40 81 00 10 */ ble lbl_80316E44
/* 80316E38 00313D98 7F C3 F3 78 */ mr r3, r30
/* 80316E3C 00313D9C 38 80 00 14 */ li r4, 0x14
/* 80316E40 00313DA0 48 05 5C 25 */ bl __dl__8IElementFPvUl
lbl_80316E44:
/* 80316E44 00313DA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80316E48 00313DA8 7F C3 F3 78 */ mr r3, r30
/* 80316E4C 00313DAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80316E50 00313DB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80316E54 00313DB4 7C 08 03 A6 */ mtlr r0
/* 80316E58 00313DB8 38 21 00 10 */ addi r1, r1, 0x10
/* 80316E5C 00313DBC 4E 80 00 20 */ blr
.global __ct__10CCEFadeEndFP13CColorElementP13CColorElementP12CRealElementP12CRealElement
__ct__10CCEFadeEndFP13CColorElementP13CColorElementP12CRealElementP12CRealElement:
/* 80316E60 00313DC0 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 80316E64 00313DC4 3D 20 80 3F */ lis r9, __vt__13CColorElement@ha
/* 80316E68 00313DC8 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 80316E6C 00313DCC 3D 00 80 3F */ lis r8, lbl_803EDA40@ha
/* 80316E70 00313DD0 90 03 00 00 */ stw r0, 0(r3)
/* 80316E74 00313DD4 39 29 C5 B4 */ addi r9, r9, __vt__13CColorElement@l
/* 80316E78 00313DD8 38 08 DA 40 */ addi r0, r8, lbl_803EDA40@l
/* 80316E7C 00313DDC 91 23 00 00 */ stw r9, 0(r3)
/* 80316E80 00313DE0 90 03 00 00 */ stw r0, 0(r3)
/* 80316E84 00313DE4 90 83 00 04 */ stw r4, 4(r3)
/* 80316E88 00313DE8 90 A3 00 08 */ stw r5, 8(r3)
/* 80316E8C 00313DEC 90 C3 00 0C */ stw r6, 0xc(r3)
/* 80316E90 00313DF0 90 E3 00 10 */ stw r7, 0x10(r3)
/* 80316E94 00313DF4 4E 80 00 20 */ blr
.global GetValue__7CCEFadeCFiR6CColor
GetValue__7CCEFadeCFiR6CColor:
/* 80316E98 00313DF8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80316E9C 00313DFC 7C 08 02 A6 */ mflr r0
/* 80316EA0 00313E00 90 01 00 64 */ stw r0, 0x64(r1)
/* 80316EA4 00313E04 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 80316EA8 00313E08 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80316EAC 00313E0C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80316EB0 00313E10 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80316EB4 00313E14 93 A1 00 44 */ stw r29, 0x44(r1)
/* 80316EB8 00313E18 7C 7D 1B 78 */ mr r29, r3
/* 80316EBC 00313E1C 7C BF 2B 78 */ mr r31, r5
/* 80316EC0 00313E20 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80316EC4 00313E24 7C 9E 23 78 */ mr r30, r4
/* 80316EC8 00313E28 38 A1 00 34 */ addi r5, r1, 0x34
/* 80316ECC 00313E2C 81 83 00 00 */ lwz r12, 0(r3)
/* 80316ED0 00313E30 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316ED4 00313E34 7D 89 03 A6 */ mtctr r12
/* 80316ED8 00313E38 4E 80 04 21 */ bctrl
/* 80316EDC 00313E3C C0 22 C9 D8 */ lfs f1, lbl_805AE6F8@sda21(r2)
/* 80316EE0 00313E40 6F C3 80 00 */ xoris r3, r30, 0x8000
/* 80316EE4 00313E44 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80316EE8 00313E48 3C 00 43 30 */ lis r0, 0x4330
/* 80316EEC 00313E4C 90 61 00 3C */ stw r3, 0x3c(r1)
/* 80316EF0 00313E50 EC 01 00 24 */ fdivs f0, f1, f0
/* 80316EF4 00313E54 C8 62 C9 E0 */ lfd f3, lbl_805AE700@sda21(r2)
/* 80316EF8 00313E58 90 01 00 38 */ stw r0, 0x38(r1)
/* 80316EFC 00313E5C C8 41 00 38 */ lfd f2, 0x38(r1)
/* 80316F00 00313E60 EC 42 18 28 */ fsubs f2, f2, f3
/* 80316F04 00313E64 EF E2 00 32 */ fmuls f31, f2, f0
/* 80316F08 00313E68 FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 80316F0C 00313E6C 4C 41 13 82 */ cror 2, 1, 2
/* 80316F10 00313E70 40 82 00 24 */ bne lbl_80316F34
/* 80316F14 00313E74 80 7D 00 08 */ lwz r3, 8(r29)
/* 80316F18 00313E78 7F C4 F3 78 */ mr r4, r30
/* 80316F1C 00313E7C 7F E5 FB 78 */ mr r5, r31
/* 80316F20 00313E80 81 83 00 00 */ lwz r12, 0(r3)
/* 80316F24 00313E84 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316F28 00313E88 7D 89 03 A6 */ mtctr r12
/* 80316F2C 00313E8C 4E 80 04 21 */ bctrl
/* 80316F30 00313E90 48 00 00 EC */ b lbl_8031701C
lbl_80316F34:
/* 80316F34 00313E94 38 C0 00 FF */ li r6, 0xff
/* 80316F38 00313E98 38 00 00 00 */ li r0, 0
/* 80316F3C 00313E9C 98 C1 00 30 */ stb r6, 0x30(r1)
/* 80316F40 00313EA0 7F C4 F3 78 */ mr r4, r30
/* 80316F44 00313EA4 80 7D 00 04 */ lwz r3, 4(r29)
/* 80316F48 00313EA8 38 A1 00 30 */ addi r5, r1, 0x30
/* 80316F4C 00313EAC 98 01 00 31 */ stb r0, 0x31(r1)
/* 80316F50 00313EB0 98 C1 00 32 */ stb r6, 0x32(r1)
/* 80316F54 00313EB4 98 C1 00 33 */ stb r6, 0x33(r1)
/* 80316F58 00313EB8 98 C1 00 2C */ stb r6, 0x2c(r1)
/* 80316F5C 00313EBC 98 01 00 2D */ stb r0, 0x2d(r1)
/* 80316F60 00313EC0 98 C1 00 2E */ stb r6, 0x2e(r1)
/* 80316F64 00313EC4 98 C1 00 2F */ stb r6, 0x2f(r1)
/* 80316F68 00313EC8 81 83 00 00 */ lwz r12, 0(r3)
/* 80316F6C 00313ECC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316F70 00313ED0 7D 89 03 A6 */ mtctr r12
/* 80316F74 00313ED4 4E 80 04 21 */ bctrl
/* 80316F78 00313ED8 80 7D 00 08 */ lwz r3, 8(r29)
/* 80316F7C 00313EDC 7F C4 F3 78 */ mr r4, r30
/* 80316F80 00313EE0 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80316F84 00313EE4 81 83 00 00 */ lwz r12, 0(r3)
/* 80316F88 00313EE8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80316F8C 00313EEC 7D 89 03 A6 */ mtctr r12
/* 80316F90 00313EF0 4E 80 04 21 */ bctrl
/* 80316F94 00313EF4 38 61 00 30 */ addi r3, r1, 0x30
/* 80316F98 00313EF8 38 81 00 28 */ addi r4, r1, 0x28
/* 80316F9C 00313EFC 38 A1 00 24 */ addi r5, r1, 0x24
/* 80316FA0 00313F00 38 C1 00 20 */ addi r6, r1, 0x20
/* 80316FA4 00313F04 38 E1 00 1C */ addi r7, r1, 0x1c
/* 80316FA8 00313F08 48 04 C3 BD */ bl Get__6CColorCFRfRfRfRf
/* 80316FAC 00313F0C 38 61 00 2C */ addi r3, r1, 0x2c
/* 80316FB0 00313F10 38 81 00 18 */ addi r4, r1, 0x18
/* 80316FB4 00313F14 38 A1 00 14 */ addi r5, r1, 0x14
/* 80316FB8 00313F18 38 C1 00 10 */ addi r6, r1, 0x10
/* 80316FBC 00313F1C 38 E1 00 0C */ addi r7, r1, 0xc
/* 80316FC0 00313F20 48 04 C3 A5 */ bl Get__6CColorCFRfRfRfRf
/* 80316FC4 00313F24 C0 22 C9 D8 */ lfs f1, lbl_805AE6F8@sda21(r2)
/* 80316FC8 00313F28 38 61 00 08 */ addi r3, r1, 8
/* 80316FCC 00313F2C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80316FD0 00313F30 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80316FD4 00313F34 ED 21 F8 28 */ fsubs f9, f1, f31
/* 80316FD8 00313F38 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80316FDC 00313F3C EC E0 07 F2 */ fmuls f7, f0, f31
/* 80316FE0 00313F40 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80316FE4 00313F44 EC 42 07 F2 */ fmuls f2, f2, f31
/* 80316FE8 00313F48 C1 01 00 28 */ lfs f8, 0x28(r1)
/* 80316FEC 00313F4C C0 C1 00 24 */ lfs f6, 0x24(r1)
/* 80316FF0 00313F50 EC 61 07 F2 */ fmuls f3, f1, f31
/* 80316FF4 00313F54 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 80316FF8 00313F58 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80316FFC 00313F5C C0 81 00 1C */ lfs f4, 0x1c(r1)
/* 80317000 00313F60 EC 28 3A 7A */ fmadds f1, f8, f9, f7
/* 80317004 00313F64 EC 46 12 7A */ fmadds f2, f6, f9, f2
/* 80317008 00313F68 EC 65 1A 7A */ fmadds f3, f5, f9, f3
/* 8031700C 00313F6C EC 84 02 7A */ fmadds f4, f4, f9, f0
/* 80317010 00313F70 48 04 C3 DD */ bl __ct__6CColorFffff
/* 80317014 00313F74 80 01 00 08 */ lwz r0, 8(r1)
/* 80317018 00313F78 90 1F 00 00 */ stw r0, 0(r31)
lbl_8031701C:
/* 8031701C 00313F7C 38 60 00 00 */ li r3, 0
/* 80317020 00313F80 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80317024 00313F84 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80317028 00313F88 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 8031702C 00313F8C 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80317030 00313F90 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80317034 00313F94 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 80317038 00313F98 7C 08 03 A6 */ mtlr r0
/* 8031703C 00313F9C 38 21 00 60 */ addi r1, r1, 0x60
/* 80317040 00313FA0 4E 80 00 20 */ blr
.global __dt__7CCEFadeFv
__dt__7CCEFadeFv:
/* 80317044 00313FA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80317048 00313FA8 7C 08 02 A6 */ mflr r0
/* 8031704C 00313FAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80317050 00313FB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80317054 00313FB4 7C 9F 23 78 */ mr r31, r4
/* 80317058 00313FB8 93 C1 00 08 */ stw r30, 8(r1)
/* 8031705C 00313FBC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80317060 00313FC0 41 82 00 A8 */ beq lbl_80317108
/* 80317064 00313FC4 3C 60 80 3F */ lis r3, lbl_803EDA50@ha
/* 80317068 00313FC8 38 03 DA 50 */ addi r0, r3, lbl_803EDA50@l
/* 8031706C 00313FCC 90 1E 00 00 */ stw r0, 0(r30)
/* 80317070 00313FD0 80 7E 00 04 */ lwz r3, 4(r30)
/* 80317074 00313FD4 28 03 00 00 */ cmplwi r3, 0
/* 80317078 00313FD8 41 82 00 18 */ beq lbl_80317090
/* 8031707C 00313FDC 81 83 00 00 */ lwz r12, 0(r3)
/* 80317080 00313FE0 38 80 00 01 */ li r4, 1
/* 80317084 00313FE4 81 8C 00 08 */ lwz r12, 8(r12)
/* 80317088 00313FE8 7D 89 03 A6 */ mtctr r12
/* 8031708C 00313FEC 4E 80 04 21 */ bctrl
lbl_80317090:
/* 80317090 00313FF0 80 7E 00 08 */ lwz r3, 8(r30)
/* 80317094 00313FF4 28 03 00 00 */ cmplwi r3, 0
/* 80317098 00313FF8 41 82 00 18 */ beq lbl_803170B0
/* 8031709C 00313FFC 81 83 00 00 */ lwz r12, 0(r3)
/* 803170A0 00314000 38 80 00 01 */ li r4, 1
/* 803170A4 00314004 81 8C 00 08 */ lwz r12, 8(r12)
/* 803170A8 00314008 7D 89 03 A6 */ mtctr r12
/* 803170AC 0031400C 4E 80 04 21 */ bctrl
lbl_803170B0:
/* 803170B0 00314010 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803170B4 00314014 28 03 00 00 */ cmplwi r3, 0
/* 803170B8 00314018 41 82 00 18 */ beq lbl_803170D0
/* 803170BC 0031401C 81 83 00 00 */ lwz r12, 0(r3)
/* 803170C0 00314020 38 80 00 01 */ li r4, 1
/* 803170C4 00314024 81 8C 00 08 */ lwz r12, 8(r12)
/* 803170C8 00314028 7D 89 03 A6 */ mtctr r12
/* 803170CC 0031402C 4E 80 04 21 */ bctrl
lbl_803170D0:
/* 803170D0 00314030 28 1E 00 00 */ cmplwi r30, 0
/* 803170D4 00314034 41 82 00 20 */ beq lbl_803170F4
/* 803170D8 00314038 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803170DC 0031403C 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803170E0 00314040 90 1E 00 00 */ stw r0, 0(r30)
/* 803170E4 00314044 41 82 00 10 */ beq lbl_803170F4
/* 803170E8 00314048 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803170EC 0031404C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803170F0 00314050 90 1E 00 00 */ stw r0, 0(r30)
lbl_803170F4:
/* 803170F4 00314054 7F E0 07 35 */ extsh. r0, r31
/* 803170F8 00314058 40 81 00 10 */ ble lbl_80317108
/* 803170FC 0031405C 7F C3 F3 78 */ mr r3, r30
/* 80317100 00314060 38 80 00 10 */ li r4, 0x10
/* 80317104 00314064 48 05 59 61 */ bl __dl__8IElementFPvUl
lbl_80317108:
/* 80317108 00314068 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031710C 0031406C 7F C3 F3 78 */ mr r3, r30
/* 80317110 00314070 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80317114 00314074 83 C1 00 08 */ lwz r30, 8(r1)
/* 80317118 00314078 7C 08 03 A6 */ mtlr r0
/* 8031711C 0031407C 38 21 00 10 */ addi r1, r1, 0x10
/* 80317120 00314080 4E 80 00 20 */ blr
.global __ct__7CCEFadeFP13CColorElementP13CColorElementP12CRealElement
__ct__7CCEFadeFP13CColorElementP13CColorElementP12CRealElement:
/* 80317124 00314084 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80317128 00314088 3D 00 80 3F */ lis r8, __vt__13CColorElement@ha
/* 8031712C 0031408C 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80317130 00314090 3C E0 80 3F */ lis r7, lbl_803EDA50@ha
/* 80317134 00314094 90 03 00 00 */ stw r0, 0(r3)
/* 80317138 00314098 39 08 C5 B4 */ addi r8, r8, __vt__13CColorElement@l
/* 8031713C 0031409C 38 07 DA 50 */ addi r0, r7, lbl_803EDA50@l
/* 80317140 003140A0 91 03 00 00 */ stw r8, 0(r3)
/* 80317144 003140A4 90 03 00 00 */ stw r0, 0(r3)
/* 80317148 003140A8 90 83 00 04 */ stw r4, 4(r3)
/* 8031714C 003140AC 90 A3 00 08 */ stw r5, 8(r3)
/* 80317150 003140B0 90 C3 00 0C */ stw r6, 0xc(r3)
/* 80317154 003140B4 4E 80 00 20 */ blr
.global GetValue__15CCEFastConstantCFiR6CColor
GetValue__15CCEFastConstantCFiR6CColor:
/* 80317158 003140B8 80 03 00 04 */ lwz r0, 4(r3)
/* 8031715C 003140BC 38 60 00 00 */ li r3, 0
/* 80317160 003140C0 90 05 00 00 */ stw r0, 0(r5)
/* 80317164 003140C4 4E 80 00 20 */ blr
.global __dt__15CCEFastConstantFv
__dt__15CCEFastConstantFv:
/* 80317168 003140C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031716C 003140CC 7C 08 02 A6 */ mflr r0
/* 80317170 003140D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80317174 003140D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80317178 003140D8 7C 7F 1B 79 */ or. r31, r3, r3
/* 8031717C 003140DC 41 82 00 44 */ beq lbl_803171C0
/* 80317180 003140E0 3C 60 80 3F */ lis r3, lbl_803EDA60@ha
/* 80317184 003140E4 38 03 DA 60 */ addi r0, r3, lbl_803EDA60@l
/* 80317188 003140E8 90 1F 00 00 */ stw r0, 0(r31)
/* 8031718C 003140EC 41 82 00 20 */ beq lbl_803171AC
/* 80317190 003140F0 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 80317194 003140F4 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80317198 003140F8 90 1F 00 00 */ stw r0, 0(r31)
/* 8031719C 003140FC 41 82 00 10 */ beq lbl_803171AC
/* 803171A0 00314100 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803171A4 00314104 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803171A8 00314108 90 1F 00 00 */ stw r0, 0(r31)
lbl_803171AC:
/* 803171AC 0031410C 7C 80 07 35 */ extsh. r0, r4
/* 803171B0 00314110 40 81 00 10 */ ble lbl_803171C0
/* 803171B4 00314114 7F E3 FB 78 */ mr r3, r31
/* 803171B8 00314118 38 80 00 08 */ li r4, 8
/* 803171BC 0031411C 48 05 58 A9 */ bl __dl__8IElementFPvUl
lbl_803171C0:
/* 803171C0 00314120 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803171C4 00314124 7F E3 FB 78 */ mr r3, r31
/* 803171C8 00314128 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803171CC 0031412C 7C 08 03 A6 */ mtlr r0
/* 803171D0 00314130 38 21 00 10 */ addi r1, r1, 0x10
/* 803171D4 00314134 4E 80 00 20 */ blr
.global __ct__15CCEFastConstantFffff
__ct__15CCEFastConstantFffff:
/* 803171D8 00314138 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 803171DC 0031413C 7C 08 02 A6 */ mflr r0
/* 803171E0 00314140 90 01 00 54 */ stw r0, 0x54(r1)
/* 803171E4 00314144 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 803171E8 00314148 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 803171EC 0031414C DB C1 00 30 */ stfd f30, 0x30(r1)
/* 803171F0 00314150 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 803171F4 00314154 DB A1 00 20 */ stfd f29, 0x20(r1)
/* 803171F8 00314158 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
/* 803171FC 0031415C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80317200 00314160 7C 7F 1B 78 */ mr r31, r3
/* 80317204 00314164 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80317208 00314168 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 8031720C 0031416C 3C 80 80 3F */ lis r4, __vt__13CColorElement@ha
/* 80317210 00314170 90 1F 00 00 */ stw r0, 0(r31)
/* 80317214 00314174 38 04 C5 B4 */ addi r0, r4, __vt__13CColorElement@l
/* 80317218 00314178 3C 60 80 3F */ lis r3, lbl_803EDA60@ha
/* 8031721C 0031417C 38 C0 00 FF */ li r6, 0xff
/* 80317220 00314180 90 1F 00 00 */ stw r0, 0(r31)
/* 80317224 00314184 38 63 DA 60 */ addi r3, r3, lbl_803EDA60@l
/* 80317228 00314188 38 00 00 00 */ li r0, 0
/* 8031722C 0031418C 38 81 00 08 */ addi r4, r1, 8
/* 80317230 00314190 90 7F 00 00 */ stw r3, 0(r31)
/* 80317234 00314194 38 6D 9C D0 */ addi r3, r13, lbl_805A8890@sda21
/* 80317238 00314198 38 AD 9C D4 */ addi r5, r13, lbl_805A8894@sda21
/* 8031723C 0031419C 98 DF 00 04 */ stb r6, 4(r31)
/* 80317240 003141A0 98 1F 00 05 */ stb r0, 5(r31)
/* 80317244 003141A4 98 DF 00 06 */ stb r6, 6(r31)
/* 80317248 003141A8 D0 21 00 08 */ stfs f1, 8(r1)
/* 8031724C 003141AC D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80317250 003141B0 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 80317254 003141B4 D0 81 00 14 */ stfs f4, 0x14(r1)
/* 80317258 003141B8 98 DF 00 07 */ stb r6, 7(r31)
/* 8031725C 003141BC 4B CF 50 59 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 80317260 003141C0 C3 E3 00 00 */ lfs f31, 0(r3)
/* 80317264 003141C4 38 81 00 0C */ addi r4, r1, 0xc
/* 80317268 003141C8 38 6D 9C D8 */ addi r3, r13, lbl_805A8898@sda21
/* 8031726C 003141CC 38 AD 9C DC */ addi r5, r13, lbl_805A889C@sda21
/* 80317270 003141D0 4B CF 50 45 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 80317274 003141D4 C3 C3 00 00 */ lfs f30, 0(r3)
/* 80317278 003141D8 38 81 00 10 */ addi r4, r1, 0x10
/* 8031727C 003141DC 38 6D 9C E0 */ addi r3, r13, lbl_805A88A0@sda21
/* 80317280 003141E0 38 AD 9C E4 */ addi r5, r13, lbl_805A88A4@sda21
/* 80317284 003141E4 4B CF 50 31 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 80317288 003141E8 C3 A3 00 00 */ lfs f29, 0(r3)
/* 8031728C 003141EC 38 81 00 14 */ addi r4, r1, 0x14
/* 80317290 003141F0 38 6D 9C E8 */ addi r3, r13, lbl_805A88A8@sda21
/* 80317294 003141F4 38 AD 9C EC */ addi r5, r13, lbl_805A88AC@sda21
/* 80317298 003141F8 4B CF 50 1D */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 8031729C 003141FC FC 20 F8 90 */ fmr f1, f31
/* 803172A0 00314200 C0 83 00 00 */ lfs f4, 0(r3)
/* 803172A4 00314204 FC 40 F0 90 */ fmr f2, f30
/* 803172A8 00314208 38 7F 00 04 */ addi r3, r31, 4
/* 803172AC 0031420C FC 60 E8 90 */ fmr f3, f29
/* 803172B0 00314210 48 04 C0 ED */ bl Set__6CColorFffff
/* 803172B4 00314214 7F E3 FB 78 */ mr r3, r31
/* 803172B8 00314218 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 803172BC 0031421C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 803172C0 00314220 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 803172C4 00314224 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 803172C8 00314228 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0
/* 803172CC 0031422C CB A1 00 20 */ lfd f29, 0x20(r1)
/* 803172D0 00314230 80 01 00 54 */ lwz r0, 0x54(r1)
/* 803172D4 00314234 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803172D8 00314238 7C 08 03 A6 */ mtlr r0
/* 803172DC 0031423C 38 21 00 50 */ addi r1, r1, 0x50
/* 803172E0 00314240 4E 80 00 20 */ blr
.global GetValue__11CCEConstantCFiR6CColor
GetValue__11CCEConstantCFiR6CColor:
/* 803172E4 00314244 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803172E8 00314248 7C 08 02 A6 */ mflr r0
/* 803172EC 0031424C 90 01 00 34 */ stw r0, 0x34(r1)
/* 803172F0 00314250 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803172F4 00314254 7C BF 2B 78 */ mr r31, r5
/* 803172F8 00314258 38 A1 00 14 */ addi r5, r1, 0x14
/* 803172FC 0031425C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80317300 00314260 7C 9E 23 78 */ mr r30, r4
/* 80317304 00314264 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80317308 00314268 7C 7D 1B 78 */ mr r29, r3
/* 8031730C 0031426C 80 63 00 04 */ lwz r3, 4(r3)
/* 80317310 00314270 81 83 00 00 */ lwz r12, 0(r3)
/* 80317314 00314274 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80317318 00314278 7D 89 03 A6 */ mtctr r12
/* 8031731C 0031427C 4E 80 04 21 */ bctrl
/* 80317320 00314280 38 81 00 14 */ addi r4, r1, 0x14
/* 80317324 00314284 38 6D 9C B0 */ addi r3, r13, lbl_805A8870@sda21
/* 80317328 00314288 38 AD 9C B4 */ addi r5, r13, lbl_805A8874@sda21
/* 8031732C 0031428C 4B CF 4F 89 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 80317330 00314290 C0 03 00 00 */ lfs f0, 0(r3)
/* 80317334 00314294 7F C4 F3 78 */ mr r4, r30
/* 80317338 00314298 80 7D 00 08 */ lwz r3, 8(r29)
/* 8031733C 0031429C 38 A1 00 10 */ addi r5, r1, 0x10
/* 80317340 003142A0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80317344 003142A4 81 83 00 00 */ lwz r12, 0(r3)
/* 80317348 003142A8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031734C 003142AC 7D 89 03 A6 */ mtctr r12
/* 80317350 003142B0 4E 80 04 21 */ bctrl
/* 80317354 003142B4 38 81 00 10 */ addi r4, r1, 0x10
/* 80317358 003142B8 38 6D 9C B8 */ addi r3, r13, lbl_805A8878@sda21
/* 8031735C 003142BC 38 AD 9C BC */ addi r5, r13, lbl_805A887C@sda21
/* 80317360 003142C0 4B CF 4F 55 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 80317364 003142C4 C0 03 00 00 */ lfs f0, 0(r3)
/* 80317368 003142C8 7F C4 F3 78 */ mr r4, r30
/* 8031736C 003142CC 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80317370 003142D0 38 A1 00 0C */ addi r5, r1, 0xc
/* 80317374 003142D4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80317378 003142D8 81 83 00 00 */ lwz r12, 0(r3)
/* 8031737C 003142DC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80317380 003142E0 7D 89 03 A6 */ mtctr r12
/* 80317384 003142E4 4E 80 04 21 */ bctrl
/* 80317388 003142E8 38 81 00 0C */ addi r4, r1, 0xc
/* 8031738C 003142EC 38 6D 9C C0 */ addi r3, r13, lbl_805A8880@sda21
/* 80317390 003142F0 38 AD 9C C4 */ addi r5, r13, lbl_805A8884@sda21
/* 80317394 003142F4 4B CF 4F 21 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 80317398 003142F8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8031739C 003142FC 7F C4 F3 78 */ mr r4, r30
/* 803173A0 00314300 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 803173A4 00314304 38 A1 00 08 */ addi r5, r1, 8
/* 803173A8 00314308 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 803173AC 0031430C 81 83 00 00 */ lwz r12, 0(r3)
/* 803173B0 00314310 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803173B4 00314314 7D 89 03 A6 */ mtctr r12
/* 803173B8 00314318 4E 80 04 21 */ bctrl
/* 803173BC 0031431C 38 81 00 08 */ addi r4, r1, 8
/* 803173C0 00314320 38 6D 9C C8 */ addi r3, r13, lbl_805A8888@sda21
/* 803173C4 00314324 38 AD 9C CC */ addi r5, r13, lbl_805A888C@sda21
/* 803173C8 00314328 4B CF 4E ED */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 803173CC 0031432C C0 83 00 00 */ lfs f4, 0(r3)
/* 803173D0 00314330 7F E3 FB 78 */ mr r3, r31
/* 803173D4 00314334 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 803173D8 00314338 D0 81 00 08 */ stfs f4, 8(r1)
/* 803173DC 0031433C C0 41 00 10 */ lfs f2, 0x10(r1)
/* 803173E0 00314340 C0 61 00 0C */ lfs f3, 0xc(r1)
/* 803173E4 00314344 48 04 BF B9 */ bl Set__6CColorFffff
/* 803173E8 00314348 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803173EC 0031434C 38 60 00 00 */ li r3, 0
/* 803173F0 00314350 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803173F4 00314354 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803173F8 00314358 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803173FC 0031435C 7C 08 03 A6 */ mtlr r0
/* 80317400 00314360 38 21 00 30 */ addi r1, r1, 0x30
/* 80317404 00314364 4E 80 00 20 */ blr
.global __dt__11CCEConstantFv
__dt__11CCEConstantFv:
/* 80317408 00314368 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031740C 0031436C 7C 08 02 A6 */ mflr r0
/* 80317410 00314370 90 01 00 14 */ stw r0, 0x14(r1)
/* 80317414 00314374 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80317418 00314378 7C 9F 23 78 */ mr r31, r4
/* 8031741C 0031437C 93 C1 00 08 */ stw r30, 8(r1)
/* 80317420 00314380 7C 7E 1B 79 */ or. r30, r3, r3
/* 80317424 00314384 41 82 00 C8 */ beq lbl_803174EC
/* 80317428 00314388 3C 60 80 3F */ lis r3, lbl_803EDA70@ha
/* 8031742C 0031438C 38 03 DA 70 */ addi r0, r3, lbl_803EDA70@l
/* 80317430 00314390 90 1E 00 00 */ stw r0, 0(r30)
/* 80317434 00314394 80 7E 00 04 */ lwz r3, 4(r30)
/* 80317438 00314398 28 03 00 00 */ cmplwi r3, 0
/* 8031743C 0031439C 41 82 00 18 */ beq lbl_80317454
/* 80317440 003143A0 81 83 00 00 */ lwz r12, 0(r3)
/* 80317444 003143A4 38 80 00 01 */ li r4, 1
/* 80317448 003143A8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8031744C 003143AC 7D 89 03 A6 */ mtctr r12
/* 80317450 003143B0 4E 80 04 21 */ bctrl
lbl_80317454:
/* 80317454 003143B4 80 7E 00 08 */ lwz r3, 8(r30)
/* 80317458 003143B8 28 03 00 00 */ cmplwi r3, 0
/* 8031745C 003143BC 41 82 00 18 */ beq lbl_80317474
/* 80317460 003143C0 81 83 00 00 */ lwz r12, 0(r3)
/* 80317464 003143C4 38 80 00 01 */ li r4, 1
/* 80317468 003143C8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8031746C 003143CC 7D 89 03 A6 */ mtctr r12
/* 80317470 003143D0 4E 80 04 21 */ bctrl
lbl_80317474:
/* 80317474 003143D4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80317478 003143D8 28 03 00 00 */ cmplwi r3, 0
/* 8031747C 003143DC 41 82 00 18 */ beq lbl_80317494
/* 80317480 003143E0 81 83 00 00 */ lwz r12, 0(r3)
/* 80317484 003143E4 38 80 00 01 */ li r4, 1
/* 80317488 003143E8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8031748C 003143EC 7D 89 03 A6 */ mtctr r12
/* 80317490 003143F0 4E 80 04 21 */ bctrl
lbl_80317494:
/* 80317494 003143F4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80317498 003143F8 28 03 00 00 */ cmplwi r3, 0
/* 8031749C 003143FC 41 82 00 18 */ beq lbl_803174B4
/* 803174A0 00314400 81 83 00 00 */ lwz r12, 0(r3)
/* 803174A4 00314404 38 80 00 01 */ li r4, 1
/* 803174A8 00314408 81 8C 00 08 */ lwz r12, 8(r12)
/* 803174AC 0031440C 7D 89 03 A6 */ mtctr r12
/* 803174B0 00314410 4E 80 04 21 */ bctrl
lbl_803174B4:
/* 803174B4 00314414 28 1E 00 00 */ cmplwi r30, 0
/* 803174B8 00314418 41 82 00 20 */ beq lbl_803174D8
/* 803174BC 0031441C 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803174C0 00314420 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803174C4 00314424 90 1E 00 00 */ stw r0, 0(r30)
/* 803174C8 00314428 41 82 00 10 */ beq lbl_803174D8
/* 803174CC 0031442C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803174D0 00314430 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803174D4 00314434 90 1E 00 00 */ stw r0, 0(r30)
lbl_803174D8:
/* 803174D8 00314438 7F E0 07 35 */ extsh. r0, r31
/* 803174DC 0031443C 40 81 00 10 */ ble lbl_803174EC
/* 803174E0 00314440 7F C3 F3 78 */ mr r3, r30
/* 803174E4 00314444 38 80 00 14 */ li r4, 0x14
/* 803174E8 00314448 48 05 55 7D */ bl __dl__8IElementFPvUl
lbl_803174EC:
/* 803174EC 0031444C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803174F0 00314450 7F C3 F3 78 */ mr r3, r30
/* 803174F4 00314454 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803174F8 00314458 83 C1 00 08 */ lwz r30, 8(r1)
/* 803174FC 0031445C 7C 08 03 A6 */ mtlr r0
/* 80317500 00314460 38 21 00 10 */ addi r1, r1, 0x10
/* 80317504 00314464 4E 80 00 20 */ blr
.global __ct__11CCEConstantFP12CRealElementP12CRealElementP12CRealElementP12CRealElement
__ct__11CCEConstantFP12CRealElementP12CRealElementP12CRealElementP12CRealElement:
/* 80317508 00314468 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 8031750C 0031446C 3D 20 80 3F */ lis r9, __vt__13CColorElement@ha
/* 80317510 00314470 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 80317514 00314474 3D 00 80 3F */ lis r8, lbl_803EDA70@ha
/* 80317518 00314478 90 03 00 00 */ stw r0, 0(r3)
/* 8031751C 0031447C 39 29 C5 B4 */ addi r9, r9, __vt__13CColorElement@l
/* 80317520 00314480 38 08 DA 70 */ addi r0, r8, lbl_803EDA70@l
/* 80317524 00314484 91 23 00 00 */ stw r9, 0(r3)
/* 80317528 00314488 90 03 00 00 */ stw r0, 0(r3)
/* 8031752C 0031448C 90 83 00 04 */ stw r4, 4(r3)
/* 80317530 00314490 90 A3 00 08 */ stw r5, 8(r3)
/* 80317534 00314494 90 C3 00 0C */ stw r6, 0xc(r3)
/* 80317538 00314498 90 E3 00 10 */ stw r7, 0x10(r3)
/* 8031753C 0031449C 4E 80 00 20 */ blr
.global "reserve__Q24rstl42vector<6CColor,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl42vector<6CColor,Q24rstl17rmemory_allocator>Fi":
/* 80317540 003144A0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80317544 003144A4 7C 08 02 A6 */ mflr r0
/* 80317548 003144A8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8031754C 003144AC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80317550 003144B0 7C 9F 23 78 */ mr r31, r4
/* 80317554 003144B4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80317558 003144B8 7C 7E 1B 78 */ mr r30, r3
/* 8031755C 003144BC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80317560 003144C0 80 03 00 08 */ lwz r0, 8(r3)
/* 80317564 003144C4 7C 1F 00 00 */ cmpw r31, r0
/* 80317568 003144C8 40 81 00 A8 */ ble lbl_80317610
/* 8031756C 003144CC 57 E3 10 3B */ rlwinm. r3, r31, 2, 0, 0x1d
/* 80317570 003144D0 40 82 00 0C */ bne lbl_8031757C
/* 80317574 003144D4 3B A0 00 00 */ li r29, 0
/* 80317578 003144D8 48 00 00 18 */ b lbl_80317590
lbl_8031757C:
/* 8031757C 003144DC 3C 80 80 3D */ lis r4, lbl_803D7840@ha
/* 80317580 003144E0 38 A0 00 00 */ li r5, 0
/* 80317584 003144E4 38 84 78 40 */ addi r4, r4, lbl_803D7840@l
/* 80317588 003144E8 4B FF E2 91 */ bl __nwa__FUlPCcPCc
/* 8031758C 003144EC 7C 7D 1B 78 */ mr r29, r3
lbl_80317590:
/* 80317590 003144F0 80 1E 00 04 */ lwz r0, 4(r30)
/* 80317594 003144F4 7F A4 EB 78 */ mr r4, r29
/* 80317598 003144F8 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 8031759C 003144FC 54 00 10 3A */ slwi r0, r0, 2
/* 803175A0 00314500 7C 65 02 14 */ add r3, r5, r0
/* 803175A4 00314504 90 A1 00 10 */ stw r5, 0x10(r1)
/* 803175A8 00314508 90 61 00 08 */ stw r3, 8(r1)
/* 803175AC 0031450C 90 61 00 0C */ stw r3, 0xc(r1)
/* 803175B0 00314510 90 A1 00 14 */ stw r5, 0x14(r1)
/* 803175B4 00314514 48 00 00 1C */ b lbl_803175D0
lbl_803175B8:
/* 803175B8 00314518 28 04 00 00 */ cmplwi r4, 0
/* 803175BC 0031451C 41 82 00 0C */ beq lbl_803175C8
/* 803175C0 00314520 80 05 00 00 */ lwz r0, 0(r5)
/* 803175C4 00314524 90 04 00 00 */ stw r0, 0(r4)
lbl_803175C8:
/* 803175C8 00314528 38 84 00 04 */ addi r4, r4, 4
/* 803175CC 0031452C 38 A5 00 04 */ addi r5, r5, 4
lbl_803175D0:
/* 803175D0 00314530 7C 05 18 40 */ cmplw r5, r3
/* 803175D4 00314534 40 82 FF E4 */ bne lbl_803175B8
/* 803175D8 00314538 80 1E 00 04 */ lwz r0, 4(r30)
/* 803175DC 0031453C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803175E0 00314540 54 00 10 3A */ slwi r0, r0, 2
/* 803175E4 00314544 7C 64 1B 78 */ mr r4, r3
/* 803175E8 00314548 7C 03 02 14 */ add r0, r3, r0
/* 803175EC 0031454C 48 00 00 08 */ b lbl_803175F4
lbl_803175F0:
/* 803175F0 00314550 38 84 00 04 */ addi r4, r4, 4
lbl_803175F4:
/* 803175F4 00314554 7C 04 00 40 */ cmplw r4, r0
/* 803175F8 00314558 40 82 FF F8 */ bne lbl_803175F0
/* 803175FC 0031455C 28 03 00 00 */ cmplwi r3, 0
/* 80317600 00314560 41 82 00 08 */ beq lbl_80317608
/* 80317604 00314564 4B FF E3 2D */ bl Free__7CMemoryFPCv
lbl_80317608:
/* 80317608 00314568 93 BE 00 0C */ stw r29, 0xc(r30)
/* 8031760C 0031456C 93 FE 00 08 */ stw r31, 8(r30)
lbl_80317610:
/* 80317610 00314570 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80317614 00314574 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80317618 00314578 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8031761C 0031457C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80317620 00314580 7C 08 03 A6 */ mtlr r0
/* 80317624 00314584 38 21 00 30 */ addi r1, r1, 0x30
/* 80317628 00314588 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE6F8
lbl_805AE6F8:
# ROM: 0x3FAF98
.float 1.0
.4byte 0
.global lbl_805AE700
lbl_805AE700:
# ROM: 0x3FAFA0
.double 4.503601774854144E15
.section .rodata
.balign 8
.global lbl_803D7840
lbl_803D7840:
# ROM: 0x3D4840
.asciz "??(??)"
.balign 4