Finish splitting text.s!

Former-commit-id: 85c0f37226
This commit is contained in:
Phillip Stephens 2022-04-16 00:50:32 -07:00
parent c6bc664505
commit 1641986d9e
188 changed files with 118893 additions and 118378 deletions

View File

@ -550,7 +550,7 @@ lbl_802D4668:
/* 802D467C 002D15DC 7C 7F 1B 78 */ mr r31, r3
/* 802D4680 002D15E0 38 61 00 24 */ addi r3, r1, 0x24
/* 802D4684 002D15E4 38 81 00 4C */ addi r4, r1, 0x4c
/* 802D4688 002D15E8 48 03 F7 49 */ bl __ct__11CUnitVectorFRC9CVector3f
/* 802D4688 002D15E8 48 03 F7 49 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 802D468C 002D15EC C0 81 00 28 */ lfs f4, 0x28(r1)
/* 802D4690 002D15F0 38 00 00 01 */ li r0, 1
/* 802D4694 002D15F4 C0 01 00 5C */ lfs f0, 0x5c(r1)

View File

@ -0,0 +1,136 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetAllocatedAmount__15CCircularBufferCFv
GetAllocatedAmount__15CCircularBufferCFv:
/* 80315660 003125C0 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 80315664 003125C4 80 83 00 0C */ lwz r4, 0xc(r3)
/* 80315668 003125C8 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8031566C 003125CC 2C 05 FF FF */ cmpwi r5, -1
/* 80315670 003125D0 7C 84 00 50 */ subf r4, r4, r0
/* 80315674 003125D4 41 82 00 10 */ beq lbl_80315684
/* 80315678 003125D8 80 03 00 08 */ lwz r0, 8(r3)
/* 8031567C 003125DC 7C 05 00 50 */ subf r0, r5, r0
/* 80315680 003125E0 7C 84 02 14 */ add r4, r4, r0
lbl_80315684:
/* 80315684 003125E4 7C 83 23 78 */ mr r3, r4
/* 80315688 003125E8 4E 80 00 20 */ blr
.global Free__15CCircularBufferFPvi
Free__15CCircularBufferFPvi:
/* 8031568C 003125EC 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 80315690 003125F0 2C 06 FF FF */ cmpwi r6, -1
/* 80315694 003125F4 40 81 00 2C */ ble lbl_803156C0
/* 80315698 003125F8 80 03 00 04 */ lwz r0, 4(r3)
/* 8031569C 003125FC 7C 04 00 40 */ cmplw r4, r0
/* 803156A0 00312600 40 82 00 14 */ bne lbl_803156B4
/* 803156A4 00312604 38 00 FF FF */ li r0, -1
/* 803156A8 00312608 90 03 00 14 */ stw r0, 0x14(r3)
/* 803156AC 0031260C 90 A3 00 0C */ stw r5, 0xc(r3)
/* 803156B0 00312610 48 00 00 1C */ b lbl_803156CC
lbl_803156B4:
/* 803156B4 00312614 7C 06 2A 14 */ add r0, r6, r5
/* 803156B8 00312618 90 03 00 14 */ stw r0, 0x14(r3)
/* 803156BC 0031261C 48 00 00 10 */ b lbl_803156CC
lbl_803156C0:
/* 803156C0 00312620 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803156C4 00312624 7C 00 2A 14 */ add r0, r0, r5
/* 803156C8 00312628 90 03 00 0C */ stw r0, 0xc(r3)
lbl_803156CC:
/* 803156CC 0031262C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 803156D0 00312630 2C 00 FF FF */ cmpwi r0, -1
/* 803156D4 00312634 4C 82 00 20 */ bnelr
/* 803156D8 00312638 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803156DC 0031263C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803156E0 00312640 7C 04 00 00 */ cmpw r4, r0
/* 803156E4 00312644 4C 82 00 20 */ bnelr
/* 803156E8 00312648 38 00 00 00 */ li r0, 0
/* 803156EC 0031264C 90 03 00 10 */ stw r0, 0x10(r3)
/* 803156F0 00312650 90 03 00 0C */ stw r0, 0xc(r3)
/* 803156F4 00312654 4E 80 00 20 */ blr
.global Alloc__15CCircularBufferFi
Alloc__15CCircularBufferFi:
/* 803156F8 00312658 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803156FC 0031265C 7C 08 02 A6 */ mflr r0
/* 80315700 00312660 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315704 00312664 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80315708 00312668 7C 9F 23 78 */ mr r31, r4
/* 8031570C 0031266C 93 C1 00 08 */ stw r30, 8(r1)
/* 80315710 00312670 7C 7E 1B 78 */ mr r30, r3
/* 80315714 00312674 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80315718 00312678 80 03 00 08 */ lwz r0, 8(r3)
/* 8031571C 0031267C 7C 04 00 50 */ subf r0, r4, r0
/* 80315720 00312680 7C 00 F8 00 */ cmpw r0, r31
/* 80315724 00312684 41 80 00 2C */ blt lbl_80315750
/* 80315728 00312688 7F E5 FB 78 */ mr r5, r31
/* 8031572C 0031268C 48 00 00 81 */ bl IsWrappedMemory__15CCircularBufferFii
/* 80315730 00312690 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80315734 00312694 40 82 00 1C */ bne lbl_80315750
/* 80315738 00312698 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8031573C 0031269C 80 9E 00 04 */ lwz r4, 4(r30)
/* 80315740 003126A0 7C 03 FA 14 */ add r0, r3, r31
/* 80315744 003126A4 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80315748 003126A8 7C 64 1A 14 */ add r3, r4, r3
/* 8031574C 003126AC 48 00 00 48 */ b lbl_80315794
lbl_80315750:
/* 80315750 003126B0 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80315754 003126B4 7C 00 F8 00 */ cmpw r0, r31
/* 80315758 003126B8 41 80 00 38 */ blt lbl_80315790
/* 8031575C 003126BC 7F C3 F3 78 */ mr r3, r30
/* 80315760 003126C0 7F E5 FB 78 */ mr r5, r31
/* 80315764 003126C4 38 80 00 00 */ li r4, 0
/* 80315768 003126C8 48 00 00 45 */ bl IsWrappedMemory__15CCircularBufferFii
/* 8031576C 003126CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80315770 003126D0 40 82 00 20 */ bne lbl_80315790
/* 80315774 003126D4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80315778 003126D8 38 00 00 00 */ li r0, 0
/* 8031577C 003126DC 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80315780 003126E0 93 FE 00 10 */ stw r31, 0x10(r30)
/* 80315784 003126E4 90 7E 00 14 */ stw r3, 0x14(r30)
/* 80315788 003126E8 80 7E 00 04 */ lwz r3, 4(r30)
/* 8031578C 003126EC 48 00 00 08 */ b lbl_80315794
lbl_80315790:
/* 80315790 003126F0 38 60 00 00 */ li r3, 0
lbl_80315794:
/* 80315794 003126F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315798 003126F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031579C 003126FC 83 C1 00 08 */ lwz r30, 8(r1)
/* 803157A0 00312700 7C 08 03 A6 */ mtlr r0
/* 803157A4 00312704 38 21 00 10 */ addi r1, r1, 0x10
/* 803157A8 00312708 4E 80 00 20 */ blr
.global IsWrappedMemory__15CCircularBufferFii
IsWrappedMemory__15CCircularBufferFii:
/* 803157AC 0031270C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 803157B0 00312710 2C 03 FF FF */ cmpwi r3, -1
/* 803157B4 00312714 40 81 00 20 */ ble lbl_803157D4
/* 803157B8 00312718 7C 03 20 00 */ cmpw r3, r4
/* 803157BC 0031271C 41 80 00 18 */ blt lbl_803157D4
/* 803157C0 00312720 7C 04 2A 14 */ add r0, r4, r5
/* 803157C4 00312724 7C 03 00 00 */ cmpw r3, r0
/* 803157C8 00312728 40 80 00 0C */ bge lbl_803157D4
/* 803157CC 0031272C 38 60 00 01 */ li r3, 1
/* 803157D0 00312730 4E 80 00 20 */ blr
lbl_803157D4:
/* 803157D4 00312734 38 60 00 00 */ li r3, 0
/* 803157D8 00312738 4E 80 00 20 */ blr
.global __ct__15CCircularBufferFPviQ215CCircularBuffer10EOwnership
__ct__15CCircularBufferFPviQ215CCircularBuffer10EOwnership:
/* 803157DC 0031273C 7C 04 00 D0 */ neg r0, r4
/* 803157E0 00312740 38 E0 00 00 */ li r7, 0
/* 803157E4 00312744 7C 00 23 78 */ or r0, r0, r4
/* 803157E8 00312748 2C 06 00 01 */ cmpwi r6, 1
/* 803157EC 0031274C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 803157F0 00312750 98 03 00 00 */ stb r0, 0(r3)
/* 803157F4 00312754 38 00 FF FF */ li r0, -1
/* 803157F8 00312758 90 83 00 04 */ stw r4, 4(r3)
/* 803157FC 0031275C 90 A3 00 08 */ stw r5, 8(r3)
/* 80315800 00312760 90 E3 00 0C */ stw r7, 0xc(r3)
/* 80315804 00312764 90 E3 00 10 */ stw r7, 0x10(r3)
/* 80315808 00312768 90 03 00 14 */ stw r0, 0x14(r3)
/* 8031580C 0031276C 4C 82 00 20 */ bnelr
/* 80315810 00312770 98 E3 00 00 */ stb r7, 0(r3)
/* 80315814 00312774 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,685 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global sub_80350540
sub_80350540:
/* 80350540 0034D4A0 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 80350544 0034D4A4 28 05 00 04 */ cmplwi r5, 4
/* 80350548 0034D4A8 40 80 00 48 */ bge lbl_80350590
/* 8035054C 0034D4AC 28 05 00 03 */ cmplwi r5, 3
/* 80350550 0034D4B0 40 82 00 0C */ bne lbl_8035055C
/* 80350554 0034D4B4 38 A0 00 60 */ li r5, 0x60
/* 80350558 0034D4B8 48 00 00 14 */ b lbl_8035056C
lbl_8035055C:
/* 8035055C 0034D4BC 28 05 00 02 */ cmplwi r5, 2
/* 80350560 0034D4C0 38 A0 00 20 */ li r5, 0x20
/* 80350564 0034D4C4 40 82 00 08 */ bne lbl_8035056C
/* 80350568 0034D4C8 38 A0 00 40 */ li r5, 0x40
lbl_8035056C:
/* 8035056C 0034D4CC 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 80350570 0034D4D0 60 A4 00 80 */ ori r4, r5, 0x80
/* 80350574 0034D4D4 28 00 00 01 */ cmplwi r0, 1
/* 80350578 0034D4D8 98 83 00 00 */ stb r4, 0(r3)
/* 8035057C 0034D4DC 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 80350580 0034D4E0 4C 81 00 20 */ blelr
/* 80350584 0034D4E4 7C 63 02 14 */ add r3, r3, r0
/* 80350588 0034D4E8 98 83 FF FF */ stb r4, -1(r3)
/* 8035058C 0034D4EC 4E 80 00 20 */ blr
lbl_80350590:
/* 80350590 0034D4F0 54 80 C6 3E */ rlwinm r0, r4, 0x18, 0x18, 0x1f
/* 80350594 0034D4F4 7C A3 2A 14 */ add r5, r3, r5
/* 80350598 0034D4F8 60 00 00 80 */ ori r0, r0, 0x80
/* 8035059C 0034D4FC 98 03 00 00 */ stb r0, 0(r3)
/* 803505A0 0034D500 98 83 00 01 */ stb r4, 1(r3)
/* 803505A4 0034D504 98 85 FF FE */ stb r4, -2(r5)
/* 803505A8 0034D508 98 05 FF FF */ stb r0, -1(r5)
/* 803505AC 0034D50C 4E 80 00 20 */ blr
.global sub_803505b0
sub_803505b0:
/* 803505B0 0034D510 7C 03 20 50 */ subf r0, r3, r4
/* 803505B4 0034D514 2C 00 00 01 */ cmpwi r0, 1
/* 803505B8 0034D518 40 81 00 0C */ ble lbl_803505C4
/* 803505BC 0034D51C 88 83 00 01 */ lbz r4, 1(r3)
/* 803505C0 0034D520 48 00 00 08 */ b lbl_803505C8
lbl_803505C4:
/* 803505C4 0034D524 38 80 00 00 */ li r4, 0
lbl_803505C8:
/* 803505C8 0034D528 88 03 00 00 */ lbz r0, 0(r3)
/* 803505CC 0034D52C 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 803505D0 0034D530 54 00 44 6E */ rlwinm r0, r0, 8, 0x11, 0x17
/* 803505D4 0034D534 7C 63 02 14 */ add r3, r3, r0
/* 803505D8 0034D538 54 60 04 65 */ rlwinm. r0, r3, 0, 0x11, 0x12
/* 803505DC 0034D53C 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 803505E0 0034D540 4D 82 00 20 */ beqlr
/* 803505E4 0034D544 28 00 60 00 */ cmplwi r0, 0x6000
/* 803505E8 0034D548 40 82 00 0C */ bne lbl_803505F4
/* 803505EC 0034D54C 38 00 00 03 */ li r0, 3
/* 803505F0 0034D550 48 00 00 14 */ b lbl_80350604
lbl_803505F4:
/* 803505F4 0034D554 20 00 40 00 */ subfic r0, r0, 0x4000
/* 803505F8 0034D558 7C 00 00 34 */ cntlzw r0, r0
/* 803505FC 0034D55C 54 03 D9 7E */ srwi r3, r0, 5
/* 80350600 0034D560 38 03 00 01 */ addi r0, r3, 1
lbl_80350604:
/* 80350604 0034D564 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80350608 0034D568 4E 80 00 20 */ blr
.global sub_8035060c
sub_8035060c:
/* 8035060C 0034D56C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80350610 0034D570 7C 08 02 A6 */ mflr r0
/* 80350614 0034D574 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350618 0034D578 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8035061C 0034D57C 7C 7B 1B 78 */ mr r27, r3
/* 80350620 0034D580 3B 80 00 00 */ li r28, 0
/* 80350624 0034D584 80 03 00 04 */ lwz r0, 4(r3)
/* 80350628 0034D588 80 63 00 08 */ lwz r3, 8(r3)
/* 8035062C 0034D58C 7C 80 20 50 */ subf r4, r0, r4
/* 80350630 0034D590 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 80350634 0034D594 54 84 D9 7E */ srwi r4, r4, 5
/* 80350638 0034D598 7C C3 20 AE */ lbzx r6, r3, r4
/* 8035063C 0034D59C 7C 00 32 14 */ add r0, r0, r6
/* 80350640 0034D5A0 7C DD 33 78 */ mr r29, r6
/* 80350644 0034D5A4 90 1B 00 14 */ stw r0, 0x14(r27)
/* 80350648 0034D5A8 80 7B 00 18 */ lwz r3, 0x18(r27)
/* 8035064C 0034D5AC 38 03 FF FF */ addi r0, r3, -1
/* 80350650 0034D5B0 90 1B 00 18 */ stw r0, 0x18(r27)
/* 80350654 0034D5B4 83 FB 00 08 */ lwz r31, 8(r27)
/* 80350658 0034D5B8 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8035065C 0034D5BC 7C FF 22 14 */ add r7, r31, r4
/* 80350660 0034D5C0 80 7B 00 1C */ lwz r3, 0x1c(r27)
/* 80350664 0034D5C4 7C 00 38 40 */ cmplw r0, r7
/* 80350668 0034D5C8 7C FE 3B 78 */ mr r30, r7
/* 8035066C 0034D5CC 7C 9F 1A 14 */ add r4, r31, r3
/* 80350670 0034D5D0 40 82 00 08 */ bne lbl_80350678
/* 80350674 0034D5D4 3B 80 00 01 */ li r28, 1
lbl_80350678:
/* 80350678 0034D5D8 7C 07 F8 40 */ cmplw r7, r31
/* 8035067C 0034D5DC 40 81 00 60 */ ble lbl_803506DC
/* 80350680 0034D5E0 88 A7 FF FF */ lbz r5, -1(r7)
/* 80350684 0034D5E4 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
/* 80350688 0034D5E8 41 82 00 54 */ beq lbl_803506DC
/* 8035068C 0034D5EC 54 A0 06 75 */ rlwinm. r0, r5, 0, 0x19, 0x1a
/* 80350690 0034D5F0 40 82 00 18 */ bne lbl_803506A8
/* 80350694 0034D5F4 88 67 FF FE */ lbz r3, -2(r7)
/* 80350698 0034D5F8 54 A0 44 6E */ rlwinm r0, r5, 8, 0x11, 0x17
/* 8035069C 0034D5FC 7C 03 02 14 */ add r0, r3, r0
/* 803506A0 0034D600 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 803506A4 0034D604 48 00 00 28 */ b lbl_803506CC
lbl_803506A8:
/* 803506A8 0034D608 28 00 00 60 */ cmplwi r0, 0x60
/* 803506AC 0034D60C 40 82 00 0C */ bne lbl_803506B8
/* 803506B0 0034D610 38 00 00 03 */ li r0, 3
/* 803506B4 0034D614 48 00 00 14 */ b lbl_803506C8
lbl_803506B8:
/* 803506B8 0034D618 20 00 00 40 */ subfic r0, r0, 0x40
/* 803506BC 0034D61C 7C 00 00 34 */ cntlzw r0, r0
/* 803506C0 0034D620 54 03 D9 7E */ srwi r3, r0, 5
/* 803506C4 0034D624 38 03 00 01 */ addi r0, r3, 1
lbl_803506C8:
/* 803506C8 0034D628 54 00 04 3E */ clrlwi r0, r0, 0x10
lbl_803506CC:
/* 803506CC 0034D62C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803506D0 0034D630 7C 1D 02 14 */ add r0, r29, r0
/* 803506D4 0034D634 7F C3 F0 50 */ subf r30, r3, r30
/* 803506D8 0034D638 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_803506DC:
/* 803506DC 0034D63C 7C 67 32 14 */ add r3, r7, r6
/* 803506E0 0034D640 7C 03 20 40 */ cmplw r3, r4
/* 803506E4 0034D644 40 80 00 1C */ bge lbl_80350700
/* 803506E8 0034D648 88 03 00 00 */ lbz r0, 0(r3)
/* 803506EC 0034D64C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 803506F0 0034D650 40 81 00 10 */ ble lbl_80350700
/* 803506F4 0034D654 4B FF FE BD */ bl sub_803505b0
/* 803506F8 0034D658 7C 1D 1A 14 */ add r0, r29, r3
/* 803506FC 0034D65C 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_80350700:
/* 80350700 0034D660 7F C3 F3 78 */ mr r3, r30
/* 80350704 0034D664 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 80350708 0034D668 4B FF FE 39 */ bl sub_80350540
/* 8035070C 0034D66C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80350710 0034D670 41 82 00 24 */ beq lbl_80350734
/* 80350714 0034D674 7C 1E F8 40 */ cmplw r30, r31
/* 80350718 0034D678 40 82 00 10 */ bne lbl_80350728
/* 8035071C 0034D67C 38 00 00 00 */ li r0, 0
/* 80350720 0034D680 90 1B 00 0C */ stw r0, 0xc(r27)
/* 80350724 0034D684 48 00 00 10 */ b lbl_80350734
lbl_80350728:
/* 80350728 0034D688 88 1E FF FF */ lbz r0, -1(r30)
/* 8035072C 0034D68C 7C 00 F0 50 */ subf r0, r0, r30
/* 80350730 0034D690 90 1B 00 0C */ stw r0, 0xc(r27)
lbl_80350734:
/* 80350734 0034D694 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80350738 0034D698 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8035073C 0034D69C 7C 08 03 A6 */ mtlr r0
/* 80350740 0034D6A0 38 21 00 20 */ addi r1, r1, 0x20
/* 80350744 0034D6A4 4E 80 00 20 */ blr
.global sub_80350748
sub_80350748:
/* 80350748 0034D6A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8035074C 0034D6AC 7C 08 02 A6 */ mflr r0
/* 80350750 0034D6B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350754 0034D6B4 BF 41 00 08 */ stmw r26, 8(r1)
/* 80350758 0034D6B8 7C 9B 23 78 */ mr r27, r4
/* 8035075C 0034D6BC 7C 7A 1B 78 */ mr r26, r3
/* 80350760 0034D6C0 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80350764 0034D6C4 7C 00 D8 40 */ cmplw r0, r27
/* 80350768 0034D6C8 41 80 00 A8 */ blt lbl_80350810
/* 8035076C 0034D6CC 83 FA 00 0C */ lwz r31, 0xc(r26)
/* 80350770 0034D6D0 83 DA 00 08 */ lwz r30, 8(r26)
/* 80350774 0034D6D4 28 1F 00 00 */ cmplwi r31, 0
/* 80350778 0034D6D8 40 82 00 08 */ bne lbl_80350780
/* 8035077C 0034D6DC 7F DF F3 78 */ mr r31, r30
lbl_80350780:
/* 80350780 0034D6E0 80 1A 00 1C */ lwz r0, 0x1c(r26)
/* 80350784 0034D6E4 7F FC FB 78 */ mr r28, r31
/* 80350788 0034D6E8 7F BE 02 14 */ add r29, r30, r0
lbl_8035078C:
/* 8035078C 0034D6EC 88 7C 00 00 */ lbz r3, 0(r28)
/* 80350790 0034D6F0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 80350794 0034D6F4 41 82 00 0C */ beq lbl_803507A0
/* 80350798 0034D6F8 7C 1C E8 40 */ cmplw r28, r29
/* 8035079C 0034D6FC 40 82 00 1C */ bne lbl_803507B8
lbl_803507A0:
/* 803507A0 0034D700 7C 1C E8 40 */ cmplw r28, r29
/* 803507A4 0034D704 40 82 00 0C */ bne lbl_803507B0
/* 803507A8 0034D708 7F DC F3 78 */ mr r28, r30
/* 803507AC 0034D70C 48 00 00 5C */ b lbl_80350808
lbl_803507B0:
/* 803507B0 0034D710 7F 9C 1A 14 */ add r28, r28, r3
/* 803507B4 0034D714 48 00 00 54 */ b lbl_80350808
lbl_803507B8:
/* 803507B8 0034D718 7F 83 E3 78 */ mr r3, r28
/* 803507BC 0034D71C 7F A4 EB 78 */ mr r4, r29
/* 803507C0 0034D720 4B FF FD F1 */ bl sub_803505b0
/* 803507C4 0034D724 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 803507C8 0034D728 7C 00 D8 40 */ cmplw r0, r27
/* 803507CC 0034D72C 41 80 00 24 */ blt lbl_803507F0
/* 803507D0 0034D730 7C 1B 00 50 */ subf r0, r27, r0
/* 803507D4 0034D734 54 04 04 3F */ clrlwi. r4, r0, 0x10
/* 803507D8 0034D738 41 82 00 0C */ beq lbl_803507E4
/* 803507DC 0034D73C 7C 7C DA 14 */ add r3, r28, r27
/* 803507E0 0034D740 4B FF FD 61 */ bl sub_80350540
lbl_803507E4:
/* 803507E4 0034D744 93 9A 00 0C */ stw r28, 0xc(r26)
/* 803507E8 0034D748 7F 83 E3 78 */ mr r3, r28
/* 803507EC 0034D74C 48 00 00 28 */ b lbl_80350814
lbl_803507F0:
/* 803507F0 0034D750 7F 9C 02 14 */ add r28, r28, r0
/* 803507F4 0034D754 7C 1C F8 40 */ cmplw r28, r31
/* 803507F8 0034D758 41 82 00 18 */ beq lbl_80350810
/* 803507FC 0034D75C 7C 1C E8 40 */ cmplw r28, r29
/* 80350800 0034D760 40 82 00 08 */ bne lbl_80350808
/* 80350804 0034D764 7F DC F3 78 */ mr r28, r30
lbl_80350808:
/* 80350808 0034D768 7C 1C F8 40 */ cmplw r28, r31
/* 8035080C 0034D76C 40 82 FF 80 */ bne lbl_8035078C
lbl_80350810:
/* 80350810 0034D770 38 60 00 00 */ li r3, 0
lbl_80350814:
/* 80350814 0034D774 BB 41 00 08 */ lmw r26, 8(r1)
/* 80350818 0034D778 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8035081C 0034D77C 7C 08 03 A6 */ mtlr r0
/* 80350820 0034D780 38 21 00 20 */ addi r1, r1, 0x20
/* 80350824 0034D784 4E 80 00 20 */ blr
.global FindFree__16CMediumAllocPoolFi
FindFree__16CMediumAllocPoolFi:
/* 80350828 0034D788 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035082C 0034D78C 7C 08 02 A6 */ mflr r0
/* 80350830 0034D790 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350834 0034D794 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350838 0034D798 7C 9F 23 78 */ mr r31, r4
/* 8035083C 0034D79C 93 C1 00 08 */ stw r30, 8(r1)
/* 80350840 0034D7A0 7C 7E 1B 78 */ mr r30, r3
/* 80350844 0034D7A4 4B FF FF 05 */ bl sub_80350748
/* 80350848 0034D7A8 28 03 00 00 */ cmplwi r3, 0
/* 8035084C 0034D7AC 40 82 00 0C */ bne lbl_80350858
/* 80350850 0034D7B0 38 60 00 00 */ li r3, 0
/* 80350854 0034D7B4 48 00 00 3C */ b lbl_80350890
lbl_80350858:
/* 80350858 0034D7B8 80 1E 00 08 */ lwz r0, 8(r30)
/* 8035085C 0034D7BC 7C 83 FA 14 */ add r4, r3, r31
/* 80350860 0034D7C0 80 BE 00 04 */ lwz r5, 4(r30)
/* 80350864 0034D7C4 7C 00 18 50 */ subf r0, r0, r3
/* 80350868 0034D7C8 9B E3 00 00 */ stb r31, 0(r3)
/* 8035086C 0034D7CC 54 00 28 34 */ slwi r0, r0, 5
/* 80350870 0034D7D0 7C 65 02 14 */ add r3, r5, r0
/* 80350874 0034D7D4 9B E4 FF FF */ stb r31, -1(r4)
/* 80350878 0034D7D8 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8035087C 0034D7DC 7C 1F 00 50 */ subf r0, r31, r0
/* 80350880 0034D7E0 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80350884 0034D7E4 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 80350888 0034D7E8 38 04 00 01 */ addi r0, r4, 1
/* 8035088C 0034D7EC 90 1E 00 18 */ stw r0, 0x18(r30)
lbl_80350890:
/* 80350890 0034D7F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350894 0034D7F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350898 0034D7F8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8035089C 0034D7FC 7C 08 03 A6 */ mtlr r0
/* 803508A0 0034D800 38 21 00 10 */ addi r1, r1, 0x10
/* 803508A4 0034D804 4E 80 00 20 */ blr
.global __dt__18SMediumAllocPuddleFv
__dt__18SMediumAllocPuddleFv:
/* 803508A8 0034D808 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803508AC 0034D80C 7C 08 02 A6 */ mflr r0
/* 803508B0 0034D810 90 01 00 14 */ stw r0, 0x14(r1)
/* 803508B4 0034D814 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803508B8 0034D818 7C 9F 23 78 */ mr r31, r4
/* 803508BC 0034D81C 93 C1 00 08 */ stw r30, 8(r1)
/* 803508C0 0034D820 7C 7E 1B 79 */ or. r30, r3, r3
/* 803508C4 0034D824 41 82 00 2C */ beq lbl_803508F0
/* 803508C8 0034D828 41 82 00 18 */ beq lbl_803508E0
/* 803508CC 0034D82C 88 1E 00 00 */ lbz r0, 0(r30)
/* 803508D0 0034D830 28 00 00 00 */ cmplwi r0, 0
/* 803508D4 0034D834 41 82 00 0C */ beq lbl_803508E0
/* 803508D8 0034D838 80 7E 00 04 */ lwz r3, 4(r30)
/* 803508DC 0034D83C 4B FC 50 55 */ bl Free__7CMemoryFPCv
lbl_803508E0:
/* 803508E0 0034D840 7F E0 07 35 */ extsh. r0, r31
/* 803508E4 0034D844 40 81 00 0C */ ble lbl_803508F0
/* 803508E8 0034D848 7F C3 F3 78 */ mr r3, r30
/* 803508EC 0034D84C 4B FC 50 45 */ bl Free__7CMemoryFPCv
lbl_803508F0:
/* 803508F0 0034D850 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803508F4 0034D854 7F C3 F3 78 */ mr r3, r30
/* 803508F8 0034D858 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803508FC 0034D85C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80350900 0034D860 7C 08 03 A6 */ mtlr r0
/* 80350904 0034D864 38 21 00 10 */ addi r1, r1, 0x10
/* 80350908 0034D868 4E 80 00 20 */ blr
.global __ct__18SMediumAllocPuddleFUiPvPv
__ct__18SMediumAllocPuddleFUiPvPv:
/* 8035090C 0034D86C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80350910 0034D870 7C 08 02 A6 */ mflr r0
/* 80350914 0034D874 38 E0 00 00 */ li r7, 0
/* 80350918 0034D878 7C 89 23 78 */ mr r9, r4
/* 8035091C 0034D87C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350920 0034D880 7C 05 00 D0 */ neg r0, r5
/* 80350924 0034D884 7C 00 2B 78 */ or r0, r0, r5
/* 80350928 0034D888 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8035092C 0034D88C 7C 7F 1B 78 */ mr r31, r3
/* 80350930 0034D890 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80350934 0034D894 54 80 28 34 */ slwi r0, r4, 5
/* 80350938 0034D898 98 7F 00 00 */ stb r3, 0(r31)
/* 8035093C 0034D89C 7D 05 02 14 */ add r8, r5, r0
/* 80350940 0034D8A0 38 00 FF FF */ li r0, -1
/* 80350944 0034D8A4 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80350948 0034D8A8 90 BF 00 04 */ stw r5, 4(r31)
/* 8035094C 0034D8AC 91 1F 00 08 */ stw r8, 8(r31)
/* 80350950 0034D8B0 90 FF 00 0C */ stw r7, 0xc(r31)
/* 80350954 0034D8B4 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80350958 0034D8B8 91 3F 00 14 */ stw r9, 0x14(r31)
/* 8035095C 0034D8BC 90 FF 00 18 */ stw r7, 0x18(r31)
/* 80350960 0034D8C0 91 3F 00 1C */ stw r9, 0x1c(r31)
/* 80350964 0034D8C4 88 1F 00 20 */ lbz r0, 0x20(r31)
/* 80350968 0034D8C8 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 8035096C 0034D8CC 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80350970 0034D8D0 80 7F 00 08 */ lwz r3, 8(r31)
/* 80350974 0034D8D4 4B FF FB CD */ bl sub_80350540
/* 80350978 0034D8D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8035097C 0034D8DC 7F E3 FB 78 */ mr r3, r31
/* 80350980 0034D8E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350984 0034D8E4 7C 08 03 A6 */ mtlr r0
/* 80350988 0034D8E8 38 21 00 10 */ addi r1, r1, 0x10
/* 8035098C 0034D8EC 4E 80 00 20 */ blr
.global AddPuddle__16CMediumAllocPoolFUiPvPvi
AddPuddle__16CMediumAllocPoolFUiPvPvi:
/* 80350990 0034D8F0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80350994 0034D8F4 7C 08 02 A6 */ mflr r0
/* 80350998 0034D8F8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8035099C 0034D8FC 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 803509A0 0034D900 7C 7F 1B 78 */ mr r31, r3
/* 803509A4 0034D904 38 61 00 08 */ addi r3, r1, 8
/* 803509A8 0034D908 4B FF FF 65 */ bl __ct__18SMediumAllocPuddleFUiPvPv
/* 803509AC 0034D90C 7F E3 FB 78 */ mr r3, r31
/* 803509B0 0034D910 38 81 00 08 */ addi r4, r1, 8
/* 803509B4 0034D914 48 00 00 39 */ bl sub_803509ec
/* 803509B8 0034D918 38 61 00 08 */ addi r3, r1, 8
/* 803509BC 0034D91C 38 80 FF FF */ li r4, -1
/* 803509C0 0034D920 4B FF FE E9 */ bl __dt__18SMediumAllocPuddleFv
/* 803509C4 0034D924 80 1F 00 08 */ lwz r0, 8(r31)
/* 803509C8 0034D928 90 1F 00 18 */ stw r0, 0x18(r31)
/* 803509CC 0034D92C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 803509D0 0034D930 80 03 00 00 */ lwz r0, 0(r3)
/* 803509D4 0034D934 90 1F 00 18 */ stw r0, 0x18(r31)
/* 803509D8 0034D938 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 803509DC 0034D93C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803509E0 0034D940 7C 08 03 A6 */ mtlr r0
/* 803509E4 0034D944 38 21 00 40 */ addi r1, r1, 0x40
/* 803509E8 0034D948 4E 80 00 20 */ blr
.global sub_803509ec
sub_803509ec:
/* 803509EC 0034D94C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803509F0 0034D950 7C 08 02 A6 */ mflr r0
/* 803509F4 0034D954 7C 85 23 78 */ mr r5, r4
/* 803509F8 0034D958 90 01 00 14 */ stw r0, 0x14(r1)
/* 803509FC 0034D95C 80 83 00 08 */ lwz r4, 8(r3)
/* 80350A00 0034D960 48 00 00 15 */ bl "do_insert_before__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FPQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>4nodeRC18SMediumAllocPuddle"
/* 80350A04 0034D964 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350A08 0034D968 7C 08 03 A6 */ mtlr r0
/* 80350A0C 0034D96C 38 21 00 10 */ addi r1, r1, 0x10
/* 80350A10 0034D970 4E 80 00 20 */ blr
.global "do_insert_before__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FPQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>4nodeRC18SMediumAllocPuddle"
"do_insert_before__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FPQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>4nodeRC18SMediumAllocPuddle":
/* 80350A14 0034D974 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80350A18 0034D978 7C 08 02 A6 */ mflr r0
/* 80350A1C 0034D97C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350A20 0034D980 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80350A24 0034D984 7C 9F 23 78 */ mr r31, r4
/* 80350A28 0034D988 3C 80 80 3E */ lis r4, lbl_803D8240@ha
/* 80350A2C 0034D98C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80350A30 0034D990 7C 7E 1B 78 */ mr r30, r3
/* 80350A34 0034D994 38 84 82 40 */ addi r4, r4, lbl_803D8240@l
/* 80350A38 0034D998 38 60 00 2C */ li r3, 0x2c
/* 80350A3C 0034D99C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80350A40 0034D9A0 93 81 00 10 */ stw r28, 0x10(r1)
/* 80350A44 0034D9A4 7C BC 2B 78 */ mr r28, r5
/* 80350A48 0034D9A8 38 A0 00 00 */ li r5, 0
/* 80350A4C 0034D9AC 83 BF 00 00 */ lwz r29, 0(r31)
/* 80350A50 0034D9B0 4B FC 4D C9 */ bl __nwa__FUlPCcPCc
/* 80350A54 0034D9B4 28 03 00 00 */ cmplwi r3, 0
/* 80350A58 0034D9B8 41 82 00 0C */ beq lbl_80350A64
/* 80350A5C 0034D9BC 93 A3 00 00 */ stw r29, 0(r3)
/* 80350A60 0034D9C0 93 E3 00 04 */ stw r31, 4(r3)
lbl_80350A64:
/* 80350A64 0034D9C4 34 A3 00 08 */ addic. r5, r3, 8
/* 80350A68 0034D9C8 41 82 00 54 */ beq lbl_80350ABC
/* 80350A6C 0034D9CC 88 9C 00 00 */ lbz r4, 0(r28)
/* 80350A70 0034D9D0 38 00 00 00 */ li r0, 0
/* 80350A74 0034D9D4 98 85 00 00 */ stb r4, 0(r5)
/* 80350A78 0034D9D8 80 9C 00 04 */ lwz r4, 4(r28)
/* 80350A7C 0034D9DC 90 85 00 04 */ stw r4, 4(r5)
/* 80350A80 0034D9E0 98 1C 00 00 */ stb r0, 0(r28)
/* 80350A84 0034D9E4 80 1C 00 08 */ lwz r0, 8(r28)
/* 80350A88 0034D9E8 90 05 00 08 */ stw r0, 8(r5)
/* 80350A8C 0034D9EC 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 80350A90 0034D9F0 90 05 00 0C */ stw r0, 0xc(r5)
/* 80350A94 0034D9F4 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80350A98 0034D9F8 90 05 00 10 */ stw r0, 0x10(r5)
/* 80350A9C 0034D9FC 80 1C 00 14 */ lwz r0, 0x14(r28)
/* 80350AA0 0034DA00 90 05 00 14 */ stw r0, 0x14(r5)
/* 80350AA4 0034DA04 80 1C 00 18 */ lwz r0, 0x18(r28)
/* 80350AA8 0034DA08 90 05 00 18 */ stw r0, 0x18(r5)
/* 80350AAC 0034DA0C 80 1C 00 1C */ lwz r0, 0x1c(r28)
/* 80350AB0 0034DA10 90 05 00 1C */ stw r0, 0x1c(r5)
/* 80350AB4 0034DA14 88 1C 00 20 */ lbz r0, 0x20(r28)
/* 80350AB8 0034DA18 98 05 00 20 */ stb r0, 0x20(r5)
lbl_80350ABC:
/* 80350ABC 0034DA1C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80350AC0 0034DA20 7C 1F 00 40 */ cmplw r31, r0
/* 80350AC4 0034DA24 40 82 00 08 */ bne lbl_80350ACC
/* 80350AC8 0034DA28 90 7E 00 04 */ stw r3, 4(r30)
lbl_80350ACC:
/* 80350ACC 0034DA2C 80 83 00 00 */ lwz r4, 0(r3)
/* 80350AD0 0034DA30 90 64 00 04 */ stw r3, 4(r4)
/* 80350AD4 0034DA34 80 83 00 04 */ lwz r4, 4(r3)
/* 80350AD8 0034DA38 90 64 00 00 */ stw r3, 0(r4)
/* 80350ADC 0034DA3C 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80350AE0 0034DA40 38 04 00 01 */ addi r0, r4, 1
/* 80350AE4 0034DA44 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80350AE8 0034DA48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80350AEC 0034DA4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80350AF0 0034DA50 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80350AF4 0034DA54 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80350AF8 0034DA58 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80350AFC 0034DA5C 7C 08 03 A6 */ mtlr r0
/* 80350B00 0034DA60 38 21 00 20 */ addi r1, r1, 0x20
/* 80350B04 0034DA64 4E 80 00 20 */ blr
.global GetNumBlocksAvailable__16CMediumAllocPoolFv
GetNumBlocksAvailable__16CMediumAllocPoolFv:
/* 80350B08 0034DA68 80 83 00 04 */ lwz r4, 4(r3)
/* 80350B0C 0034DA6C 38 A0 00 00 */ li r5, 0
/* 80350B10 0034DA70 80 63 00 08 */ lwz r3, 8(r3)
/* 80350B14 0034DA74 48 00 00 10 */ b lbl_80350B24
lbl_80350B18:
/* 80350B18 0034DA78 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80350B1C 0034DA7C 80 84 00 04 */ lwz r4, 4(r4)
/* 80350B20 0034DA80 7C A5 02 14 */ add r5, r5, r0
lbl_80350B24:
/* 80350B24 0034DA84 7C 04 18 40 */ cmplw r4, r3
/* 80350B28 0034DA88 40 82 FF F0 */ bne lbl_80350B18
/* 80350B2C 0034DA8C 7C A3 2B 78 */ mr r3, r5
/* 80350B30 0034DA90 4E 80 00 20 */ blr
.global GetTotalEntries__16CMediumAllocPoolFv
GetTotalEntries__16CMediumAllocPoolFv:
/* 80350B34 0034DA94 80 83 00 04 */ lwz r4, 4(r3)
/* 80350B38 0034DA98 38 A0 00 00 */ li r5, 0
/* 80350B3C 0034DA9C 80 63 00 08 */ lwz r3, 8(r3)
/* 80350B40 0034DAA0 48 00 00 10 */ b lbl_80350B50
lbl_80350B44:
/* 80350B44 0034DAA4 80 04 00 24 */ lwz r0, 0x24(r4)
/* 80350B48 0034DAA8 80 84 00 04 */ lwz r4, 4(r4)
/* 80350B4C 0034DAAC 7C A5 02 14 */ add r5, r5, r0
lbl_80350B50:
/* 80350B50 0034DAB0 7C 04 18 40 */ cmplw r4, r3
/* 80350B54 0034DAB4 40 82 FF F0 */ bne lbl_80350B44
/* 80350B58 0034DAB8 7C A3 2B 78 */ mr r3, r5
/* 80350B5C 0034DABC 4E 80 00 20 */ blr
.global GetNumAllocs__16CMediumAllocPoolFv
GetNumAllocs__16CMediumAllocPoolFv:
/* 80350B60 0034DAC0 80 83 00 04 */ lwz r4, 4(r3)
/* 80350B64 0034DAC4 38 A0 00 00 */ li r5, 0
/* 80350B68 0034DAC8 80 63 00 08 */ lwz r3, 8(r3)
/* 80350B6C 0034DACC 48 00 00 10 */ b lbl_80350B7C
lbl_80350B70:
/* 80350B70 0034DAD0 80 04 00 20 */ lwz r0, 0x20(r4)
/* 80350B74 0034DAD4 80 84 00 04 */ lwz r4, 4(r4)
/* 80350B78 0034DAD8 7C A5 02 14 */ add r5, r5, r0
lbl_80350B7C:
/* 80350B7C 0034DADC 7C 04 18 40 */ cmplw r4, r3
/* 80350B80 0034DAE0 40 82 FF F0 */ bne lbl_80350B70
/* 80350B84 0034DAE4 7C A3 2B 78 */ mr r3, r5
/* 80350B88 0034DAE8 4E 80 00 20 */ blr
.global Free__16CMediumAllocPoolFPCv
Free__16CMediumAllocPoolFPCv:
/* 80350B8C 0034DAEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80350B90 0034DAF0 7C 08 02 A6 */ mflr r0
/* 80350B94 0034DAF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350B98 0034DAF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350B9C 0034DAFC 93 C1 00 08 */ stw r30, 8(r1)
/* 80350BA0 0034DB00 7C 7E 1B 78 */ mr r30, r3
/* 80350BA4 0034DB04 83 E3 00 04 */ lwz r31, 4(r3)
/* 80350BA8 0034DB08 80 C3 00 08 */ lwz r6, 8(r3)
/* 80350BAC 0034DB0C 48 00 00 68 */ b lbl_80350C14
lbl_80350BB0:
/* 80350BB0 0034DB10 38 7F 00 08 */ addi r3, r31, 8
/* 80350BB4 0034DB14 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80350BB8 0034DB18 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80350BBC 0034DB1C 7C A5 20 50 */ subf r5, r5, r4
/* 80350BC0 0034DB20 54 00 28 34 */ slwi r0, r0, 5
/* 80350BC4 0034DB24 7C 05 00 40 */ cmplw r5, r0
/* 80350BC8 0034DB28 40 80 00 48 */ bge lbl_80350C10
/* 80350BCC 0034DB2C 4B FF FA 41 */ bl sub_8035060c
/* 80350BD0 0034DB30 80 1F 00 20 */ lwz r0, 0x20(r31)
/* 80350BD4 0034DB34 28 00 00 00 */ cmplwi r0, 0
/* 80350BD8 0034DB38 40 82 00 30 */ bne lbl_80350C08
/* 80350BDC 0034DB3C 88 1F 00 28 */ lbz r0, 0x28(r31)
/* 80350BE0 0034DB40 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80350BE4 0034DB44 41 82 00 24 */ beq lbl_80350C08
/* 80350BE8 0034DB48 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 80350BEC 0034DB4C 7C 00 F8 40 */ cmplw r0, r31
/* 80350BF0 0034DB50 40 82 00 0C */ bne lbl_80350BFC
/* 80350BF4 0034DB54 80 1E 00 04 */ lwz r0, 4(r30)
/* 80350BF8 0034DB58 90 1E 00 18 */ stw r0, 0x18(r30)
lbl_80350BFC:
/* 80350BFC 0034DB5C 7F C3 F3 78 */ mr r3, r30
/* 80350C00 0034DB60 7F E4 FB 78 */ mr r4, r31
/* 80350C04 0034DB64 48 00 01 8D */ bl "erase__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iteratorRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iterator"
lbl_80350C08:
/* 80350C08 0034DB68 38 60 00 02 */ li r3, 2
/* 80350C0C 0034DB6C 48 00 00 14 */ b lbl_80350C20
lbl_80350C10:
/* 80350C10 0034DB70 83 FF 00 04 */ lwz r31, 4(r31)
lbl_80350C14:
/* 80350C14 0034DB74 7C 1F 30 40 */ cmplw r31, r6
/* 80350C18 0034DB78 40 82 FF 98 */ bne lbl_80350BB0
/* 80350C1C 0034DB7C 38 60 00 01 */ li r3, 1
lbl_80350C20:
/* 80350C20 0034DB80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350C24 0034DB84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350C28 0034DB88 83 C1 00 08 */ lwz r30, 8(r1)
/* 80350C2C 0034DB8C 7C 08 03 A6 */ mtlr r0
/* 80350C30 0034DB90 38 21 00 10 */ addi r1, r1, 0x10
/* 80350C34 0034DB94 4E 80 00 20 */ blr
.global Alloc__16CMediumAllocPoolFUi
Alloc__16CMediumAllocPoolFUi:
/* 80350C38 0034DB98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80350C3C 0034DB9C 7C 08 02 A6 */ mflr r0
/* 80350C40 0034DBA0 28 04 00 20 */ cmplwi r4, 0x20
/* 80350C44 0034DBA4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350C48 0034DBA8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80350C4C 0034DBAC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80350C50 0034DBB0 3B C0 00 01 */ li r30, 1
/* 80350C54 0034DBB4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80350C58 0034DBB8 7C 7D 1B 78 */ mr r29, r3
/* 80350C5C 0034DBBC 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80350C60 0034DBC0 38 63 00 08 */ addi r3, r3, 8
/* 80350C64 0034DBC4 41 80 00 0C */ blt lbl_80350C70
/* 80350C68 0034DBC8 38 04 00 1F */ addi r0, r4, 0x1f
/* 80350C6C 0034DBCC 54 1E D9 7E */ srwi r30, r0, 5
lbl_80350C70:
/* 80350C70 0034DBD0 7F C4 F3 78 */ mr r4, r30
/* 80350C74 0034DBD4 4B FF FB B5 */ bl FindFree__16CMediumAllocPoolFi
/* 80350C78 0034DBD8 28 03 00 00 */ cmplwi r3, 0
/* 80350C7C 0034DBDC 40 82 00 44 */ bne lbl_80350CC0
/* 80350C80 0034DBE0 83 FD 00 04 */ lwz r31, 4(r29)
/* 80350C84 0034DBE4 48 00 00 30 */ b lbl_80350CB4
lbl_80350C88:
/* 80350C88 0034DBE8 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 80350C8C 0034DBEC 7C 1F 00 40 */ cmplw r31, r0
/* 80350C90 0034DBF0 41 82 00 20 */ beq lbl_80350CB0
/* 80350C94 0034DBF4 7F C4 F3 78 */ mr r4, r30
/* 80350C98 0034DBF8 38 7F 00 08 */ addi r3, r31, 8
/* 80350C9C 0034DBFC 4B FF FB 8D */ bl FindFree__16CMediumAllocPoolFi
/* 80350CA0 0034DC00 28 03 00 00 */ cmplwi r3, 0
/* 80350CA4 0034DC04 41 82 00 0C */ beq lbl_80350CB0
/* 80350CA8 0034DC08 93 FD 00 18 */ stw r31, 0x18(r29)
/* 80350CAC 0034DC0C 48 00 00 14 */ b lbl_80350CC0
lbl_80350CB0:
/* 80350CB0 0034DC10 83 FF 00 04 */ lwz r31, 4(r31)
lbl_80350CB4:
/* 80350CB4 0034DC14 80 1D 00 08 */ lwz r0, 8(r29)
/* 80350CB8 0034DC18 7C 1F 00 40 */ cmplw r31, r0
/* 80350CBC 0034DC1C 40 82 FF CC */ bne lbl_80350C88
lbl_80350CC0:
/* 80350CC0 0034DC20 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80350CC4 0034DC24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80350CC8 0034DC28 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80350CCC 0034DC2C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80350CD0 0034DC30 7C 08 03 A6 */ mtlr r0
/* 80350CD4 0034DC34 38 21 00 20 */ addi r1, r1, 0x20
/* 80350CD8 0034DC38 4E 80 00 20 */ blr
.global sub_80350cdc
sub_80350cdc:
/* 80350CDC 0034DC3C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 80350CE0 0034DC40 7C 03 00 D0 */ neg r0, r3
/* 80350CE4 0034DC44 7C 00 1B 78 */ or r0, r0, r3
/* 80350CE8 0034DC48 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80350CEC 0034DC4C 4E 80 00 20 */ blr
.global ClearPuddles__16CMediumAllocPoolFv
ClearPuddles__16CMediumAllocPoolFv:
/* 80350CF0 0034DC50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80350CF4 0034DC54 7C 08 02 A6 */ mflr r0
/* 80350CF8 0034DC58 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350CFC 0034DC5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350D00 0034DC60 93 C1 00 08 */ stw r30, 8(r1)
/* 80350D04 0034DC64 7C 7E 1B 78 */ mr r30, r3
/* 80350D08 0034DC68 80 03 00 08 */ lwz r0, 8(r3)
/* 80350D0C 0034DC6C 90 03 00 18 */ stw r0, 0x18(r3)
/* 80350D10 0034DC70 80 83 00 04 */ lwz r4, 4(r3)
/* 80350D14 0034DC74 83 E3 00 08 */ lwz r31, 8(r3)
/* 80350D18 0034DC78 7C 83 23 78 */ mr r3, r4
/* 80350D1C 0034DC7C 48 00 00 08 */ b lbl_80350D24
lbl_80350D20:
/* 80350D20 0034DC80 80 63 00 04 */ lwz r3, 4(r3)
lbl_80350D24:
/* 80350D24 0034DC84 7C 03 F8 40 */ cmplw r3, r31
/* 80350D28 0034DC88 40 82 FF F8 */ bne lbl_80350D20
/* 80350D2C 0034DC8C 48 00 00 10 */ b lbl_80350D3C
lbl_80350D30:
/* 80350D30 0034DC90 7F C3 F3 78 */ mr r3, r30
/* 80350D34 0034DC94 48 00 00 5D */ bl "erase__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iteratorRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iterator"
/* 80350D38 0034DC98 7C 64 1B 78 */ mr r4, r3
lbl_80350D3C:
/* 80350D3C 0034DC9C 7C 04 F8 40 */ cmplw r4, r31
/* 80350D40 0034DCA0 40 82 FF F0 */ bne lbl_80350D30
/* 80350D44 0034DCA4 38 00 00 00 */ li r0, 0
/* 80350D48 0034DCA8 90 0D AA 18 */ stw r0, lbl_805A95D8@sda21(r13)
/* 80350D4C 0034DCAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350D50 0034DCB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350D54 0034DCB4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80350D58 0034DCB8 7C 08 03 A6 */ mtlr r0
/* 80350D5C 0034DCBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80350D60 0034DCC0 4E 80 00 20 */ blr
.global __ct__16CMediumAllocPoolFv
__ct__16CMediumAllocPoolFv:
/* 80350D64 0034DCC4 38 83 00 0C */ addi r4, r3, 0xc
/* 80350D68 0034DCC8 38 00 00 00 */ li r0, 0
/* 80350D6C 0034DCCC 90 83 00 04 */ stw r4, 4(r3)
/* 80350D70 0034DCD0 90 83 00 08 */ stw r4, 8(r3)
/* 80350D74 0034DCD4 90 83 00 0C */ stw r4, 0xc(r3)
/* 80350D78 0034DCD8 90 83 00 10 */ stw r4, 0x10(r3)
/* 80350D7C 0034DCDC 90 03 00 14 */ stw r0, 0x14(r3)
/* 80350D80 0034DCE0 80 03 00 04 */ lwz r0, 4(r3)
/* 80350D84 0034DCE4 90 03 00 18 */ stw r0, 0x18(r3)
/* 80350D88 0034DCE8 90 6D AA 18 */ stw r3, lbl_805A95D8@sda21(r13)
/* 80350D8C 0034DCEC 4E 80 00 20 */ blr
.global "erase__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iteratorRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iterator"
"erase__Q24rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>FRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iteratorRCQ34rstl53list<18SMediumAllocPuddle,Q24rstl17rmemory_allocator>8iterator":
/* 80350D90 0034DCF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80350D94 0034DCF4 7C 08 02 A6 */ mflr r0
/* 80350D98 0034DCF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350D9C 0034DCFC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80350DA0 0034DD00 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80350DA4 0034DD04 7C 9E 23 78 */ mr r30, r4
/* 80350DA8 0034DD08 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80350DAC 0034DD0C 7C 7D 1B 78 */ mr r29, r3
/* 80350DB0 0034DD10 80 03 00 04 */ lwz r0, 4(r3)
/* 80350DB4 0034DD14 83 E4 00 04 */ lwz r31, 4(r4)
/* 80350DB8 0034DD18 7C 1E 00 40 */ cmplw r30, r0
/* 80350DBC 0034DD1C 40 82 00 08 */ bne lbl_80350DC4
/* 80350DC0 0034DD20 93 FD 00 04 */ stw r31, 4(r29)
lbl_80350DC4:
/* 80350DC4 0034DD24 80 1E 00 04 */ lwz r0, 4(r30)
/* 80350DC8 0034DD28 38 7E 00 08 */ addi r3, r30, 8
/* 80350DCC 0034DD2C 80 BE 00 00 */ lwz r5, 0(r30)
/* 80350DD0 0034DD30 38 80 FF FF */ li r4, -1
/* 80350DD4 0034DD34 90 05 00 04 */ stw r0, 4(r5)
/* 80350DD8 0034DD38 80 1E 00 00 */ lwz r0, 0(r30)
/* 80350DDC 0034DD3C 80 BE 00 04 */ lwz r5, 4(r30)
/* 80350DE0 0034DD40 90 05 00 00 */ stw r0, 0(r5)
/* 80350DE4 0034DD44 4B FF FA C5 */ bl __dt__18SMediumAllocPuddleFv
/* 80350DE8 0034DD48 28 1E 00 00 */ cmplwi r30, 0
/* 80350DEC 0034DD4C 41 82 00 0C */ beq lbl_80350DF8
/* 80350DF0 0034DD50 7F C3 F3 78 */ mr r3, r30
/* 80350DF4 0034DD54 4B FC 4B 3D */ bl Free__7CMemoryFPCv
lbl_80350DF8:
/* 80350DF8 0034DD58 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80350DFC 0034DD5C 7F E3 FB 78 */ mr r3, r31
/* 80350E00 0034DD60 38 04 FF FF */ addi r0, r4, -1
/* 80350E04 0034DD64 90 1D 00 14 */ stw r0, 0x14(r29)
/* 80350E08 0034DD68 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80350E0C 0034DD6C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80350E10 0034DD70 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80350E14 0034DD74 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80350E18 0034DD78 7C 08 03 A6 */ mtlr r0
/* 80350E1C 0034DD7C 38 21 00 20 */ addi r1, r1, 0x20
/* 80350E20 0034DD80 4E 80 00 20 */ blr

340
asm/Kyoto/Alloc/CMemory.s Normal file
View File

@ -0,0 +1,340 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __nwa__FUlPCcPCc
__nwa__FUlPCcPCc:
/* 80315818 00312778 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031581C 0031277C 7C 08 02 A6 */ mflr r0
/* 80315820 00312780 7C A6 2B 78 */ mr r6, r5
/* 80315824 00312784 7C 85 23 78 */ mr r5, r4
/* 80315828 00312788 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031582C 0031278C 38 80 FF FF */ li r4, -1
/* 80315830 00312790 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80315834 00312794 7C 7F 1B 78 */ mr r31, r3
/* 80315838 00312798 38 61 00 08 */ addi r3, r1, 8
/* 8031583C 0031279C 4B FC 0B 99 */ bl __ct__10CCallStackFUiPCcPCc
/* 80315840 003127A0 7C 67 1B 78 */ mr r7, r3
/* 80315844 003127A4 7F E3 FB 78 */ mr r3, r31
/* 80315848 003127A8 38 80 00 00 */ li r4, 0
/* 8031584C 003127AC 38 A0 00 01 */ li r5, 1
/* 80315850 003127B0 38 C0 00 01 */ li r6, 1
/* 80315854 003127B4 48 00 01 41 */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 80315858 003127B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031585C 003127BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80315860 003127C0 7C 08 03 A6 */ mtlr r0
/* 80315864 003127C4 38 21 00 20 */ addi r1, r1, 0x20
/* 80315868 003127C8 4E 80 00 20 */ blr
.global __nw__FUlPCcPCc
__nw__FUlPCcPCc:
/* 8031586C 003127CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315870 003127D0 7C 08 02 A6 */ mflr r0
/* 80315874 003127D4 7C A6 2B 78 */ mr r6, r5
/* 80315878 003127D8 7C 85 23 78 */ mr r5, r4
/* 8031587C 003127DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80315880 003127E0 38 80 FF FF */ li r4, -1
/* 80315884 003127E4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80315888 003127E8 7C 7F 1B 78 */ mr r31, r3
/* 8031588C 003127EC 38 61 00 08 */ addi r3, r1, 8
/* 80315890 003127F0 4B FC 0B 45 */ bl __ct__10CCallStackFUiPCcPCc
/* 80315894 003127F4 7C 67 1B 78 */ mr r7, r3
/* 80315898 003127F8 7F E3 FB 78 */ mr r3, r31
/* 8031589C 003127FC 38 80 00 00 */ li r4, 0
/* 803158A0 00312800 38 A0 00 01 */ li r5, 1
/* 803158A4 00312804 38 C0 00 00 */ li r6, 0
/* 803158A8 00312808 48 00 00 ED */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 803158AC 0031280C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803158B0 00312810 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803158B4 00312814 7C 08 03 A6 */ mtlr r0
/* 803158B8 00312818 38 21 00 20 */ addi r1, r1, 0x20
/* 803158BC 0031281C 4E 80 00 20 */ blr
.global OffsetFakeStatics__7CMemoryFi
OffsetFakeStatics__7CMemoryFi:
/* 803158C0 00312820 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803158C4 00312824 7C 08 02 A6 */ mflr r0
/* 803158C8 00312828 7C 64 1B 78 */ mr r4, r3
/* 803158CC 0031282C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803158D0 00312830 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 803158D4 00312834 81 83 00 00 */ lwz r12, 0(r3)
/* 803158D8 00312838 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 803158DC 0031283C 7D 89 03 A6 */ mtctr r12
/* 803158E0 00312840 4E 80 04 21 */ bctrl
/* 803158E4 00312844 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803158E8 00312848 7C 08 03 A6 */ mtlr r0
/* 803158EC 0031284C 38 21 00 10 */ addi r1, r1, 0x10
/* 803158F0 00312850 4E 80 00 20 */ blr
.global SetOutOfMemoryCallback__7CMemoryFPFPCvUi_CbPCv
SetOutOfMemoryCallback__7CMemoryFPFPCvUi_CbPCv:
/* 803158F4 00312854 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803158F8 00312858 7C 08 02 A6 */ mflr r0
/* 803158FC 0031285C 7C 85 23 78 */ mr r5, r4
/* 80315900 00312860 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315904 00312864 7C 60 1B 78 */ mr r0, r3
/* 80315908 00312868 7C 04 03 78 */ mr r4, r0
/* 8031590C 0031286C 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 80315910 00312870 81 83 00 00 */ lwz r12, 0(r3)
/* 80315914 00312874 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80315918 00312878 7D 89 03 A6 */ mtctr r12
/* 8031591C 0031287C 4E 80 04 21 */ bctrl
/* 80315920 00312880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315924 00312884 7C 08 03 A6 */ mtlr r0
/* 80315928 00312888 38 21 00 10 */ addi r1, r1, 0x10
/* 8031592C 0031288C 4E 80 00 20 */ blr
.global Free__7CMemoryFPCv
Free__7CMemoryFPCv:
/* 80315930 00312890 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315934 00312894 7C 08 02 A6 */ mflr r0
/* 80315938 00312898 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031593C 0031289C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80315940 003128A0 7C 7F 1B 78 */ mr r31, r3
/* 80315944 003128A4 48 06 BD 1D */ bl OSDisableInterrupts
/* 80315948 003128A8 7C 03 00 D0 */ neg r0, r3
/* 8031594C 003128AC 28 1F 00 00 */ cmplwi r31, 0
/* 80315950 003128B0 7C 00 1B 78 */ or r0, r0, r3
/* 80315954 003128B4 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80315958 003128B8 98 01 00 08 */ stb r0, 8(r1)
/* 8031595C 003128BC 41 82 00 1C */ beq lbl_80315978
/* 80315960 003128C0 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 80315964 003128C4 7F E4 FB 78 */ mr r4, r31
/* 80315968 003128C8 81 83 00 00 */ lwz r12, 0(r3)
/* 8031596C 003128CC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80315970 003128D0 7D 89 03 A6 */ mtctr r12
/* 80315974 003128D4 4E 80 04 21 */ bctrl
lbl_80315978:
/* 80315978 003128D8 88 61 00 08 */ lbz r3, 8(r1)
/* 8031597C 003128DC 48 06 BD 0D */ bl OSRestoreInterrupts
/* 80315980 003128E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80315984 003128E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80315988 003128E8 7C 08 03 A6 */ mtlr r0
/* 8031598C 003128EC 38 21 00 20 */ addi r1, r1, 0x20
/* 80315990 003128F0 4E 80 00 20 */ blr
.global Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack:
/* 80315994 003128F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80315998 003128F8 7C 08 02 A6 */ mflr r0
/* 8031599C 003128FC 90 01 00 34 */ stw r0, 0x34(r1)
/* 803159A0 00312900 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 803159A4 00312904 7C 7B 1B 78 */ mr r27, r3
/* 803159A8 00312908 7C 9C 23 78 */ mr r28, r4
/* 803159AC 0031290C 7C BD 2B 78 */ mr r29, r5
/* 803159B0 00312910 7C DE 33 78 */ mr r30, r6
/* 803159B4 00312914 7C FF 3B 78 */ mr r31, r7
/* 803159B8 00312918 48 06 BC A9 */ bl OSDisableInterrupts
/* 803159BC 0031291C 7C 03 00 D0 */ neg r0, r3
/* 803159C0 00312920 7F 64 DB 78 */ mr r4, r27
/* 803159C4 00312924 7C 00 1B 78 */ or r0, r0, r3
/* 803159C8 00312928 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 803159CC 0031292C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 803159D0 00312930 7F 85 E3 78 */ mr r5, r28
/* 803159D4 00312934 81 83 00 00 */ lwz r12, 0(r3)
/* 803159D8 00312938 7F A6 EB 78 */ mr r6, r29
/* 803159DC 0031293C 7F C7 F3 78 */ mr r7, r30
/* 803159E0 00312940 7F E8 FB 78 */ mr r8, r31
/* 803159E4 00312944 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 803159E8 00312948 98 01 00 08 */ stb r0, 8(r1)
/* 803159EC 0031294C 7D 89 03 A6 */ mtctr r12
/* 803159F0 00312950 4E 80 04 21 */ bctrl
/* 803159F4 00312954 7C 7F 1B 79 */ or. r31, r3, r3
/* 803159F8 00312958 40 82 00 18 */ bne lbl_80315A10
/* 803159FC 0031295C 3C 60 80 3D */ lis r3, lbl_803D7808@ha
/* 80315A00 00312960 7F 64 DB 78 */ mr r4, r27
/* 80315A04 00312964 38 63 78 08 */ addi r3, r3, lbl_803D7808@l
/* 80315A08 00312968 4C C6 31 82 */ crclr 6
/* 80315A0C 0031296C 4B FC 0E 21 */ bl rs_debugger_printf__FPCce
lbl_80315A10:
/* 80315A10 00312970 88 61 00 08 */ lbz r3, 8(r1)
/* 80315A14 00312974 48 06 BC 75 */ bl OSRestoreInterrupts
/* 80315A18 00312978 7F E3 FB 78 */ mr r3, r31
/* 80315A1C 0031297C BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80315A20 00312980 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80315A24 00312984 7C 08 03 A6 */ mtlr r0
/* 80315A28 00312988 38 21 00 30 */ addi r1, r1, 0x30
/* 80315A2C 0031298C 4E 80 00 20 */ blr
.global Shutdown__7CMemoryFv
Shutdown__7CMemoryFv:
/* 80315A30 00312990 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80315A34 00312994 7C 08 02 A6 */ mflr r0
/* 80315A38 00312998 90 01 00 64 */ stw r0, 0x64(r1)
/* 80315A3C 0031299C 38 00 00 00 */ li r0, 0
/* 80315A40 003129A0 38 61 00 08 */ addi r3, r1, 8
/* 80315A44 003129A4 80 8D 9C A8 */ lwz r4, lbl_805A8868@sda21(r13)
/* 80315A48 003129A8 98 0D A8 A0 */ stb r0, lbl_805A9460@sda21(r13)
/* 80315A4C 003129AC 81 84 00 00 */ lwz r12, 0(r4)
/* 80315A50 003129B0 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 80315A54 003129B4 7D 89 03 A6 */ mtctr r12
/* 80315A58 003129B8 4E 80 04 21 */ bctrl
/* 80315A5C 003129BC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80315A60 003129C0 28 00 00 00 */ cmplwi r0, 0
/* 80315A64 003129C4 41 82 00 34 */ beq lbl_80315A98
/* 80315A68 003129C8 38 00 00 00 */ li r0, 0
/* 80315A6C 003129CC 3C 60 80 31 */ lis r3, cmemory_enum_alloc_cb__FRCQ210IAllocator10SAllocInfoPCv@ha
/* 80315A70 003129D0 38 83 5A BC */ addi r4, r3, cmemory_enum_alloc_cb__FRCQ210IAllocator10SAllocInfoPCv@l
/* 80315A74 003129D4 90 0D A8 A4 */ stw r0, lbl_805A9464@sda21(r13)
/* 80315A78 003129D8 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 80315A7C 003129DC 38 A0 00 00 */ li r5, 0
/* 80315A80 003129E0 90 0D A8 A8 */ stw r0, lbl_805A9468@sda21(r13)
/* 80315A84 003129E4 38 C0 00 00 */ li r6, 0
/* 80315A88 003129E8 81 83 00 00 */ lwz r12, 0(r3)
/* 80315A8C 003129EC 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80315A90 003129F0 7D 89 03 A6 */ mtctr r12
/* 80315A94 003129F4 4E 80 04 21 */ bctrl
lbl_80315A98:
/* 80315A98 003129F8 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 80315A9C 003129FC 81 83 00 00 */ lwz r12, 0(r3)
/* 80315AA0 00312A00 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80315AA4 00312A04 7D 89 03 A6 */ mtctr r12
/* 80315AA8 00312A08 4E 80 04 21 */ bctrl
/* 80315AAC 00312A0C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80315AB0 00312A10 7C 08 03 A6 */ mtlr r0
/* 80315AB4 00312A14 38 21 00 60 */ addi r1, r1, 0x60
/* 80315AB8 00312A18 4E 80 00 20 */ blr
.global cmemory_enum_alloc_cb__FRCQ210IAllocator10SAllocInfoPCv
cmemory_enum_alloc_cb__FRCQ210IAllocator10SAllocInfoPCv:
/* 80315ABC 00312A1C 88 03 00 08 */ lbz r0, 8(r3)
/* 80315AC0 00312A20 28 00 00 00 */ cmplwi r0, 0
/* 80315AC4 00312A24 41 82 00 2C */ beq lbl_80315AF0
/* 80315AC8 00312A28 88 03 00 09 */ lbz r0, 9(r3)
/* 80315ACC 00312A2C 28 00 00 00 */ cmplwi r0, 0
/* 80315AD0 00312A30 40 82 00 20 */ bne lbl_80315AF0
/* 80315AD4 00312A34 80 AD A8 A4 */ lwz r5, lbl_805A9464@sda21(r13)
/* 80315AD8 00312A38 80 8D A8 A8 */ lwz r4, lbl_805A9468@sda21(r13)
/* 80315ADC 00312A3C 80 03 00 04 */ lwz r0, 4(r3)
/* 80315AE0 00312A40 38 65 00 01 */ addi r3, r5, 1
/* 80315AE4 00312A44 90 6D A8 A4 */ stw r3, lbl_805A9464@sda21(r13)
/* 80315AE8 00312A48 7C 04 02 14 */ add r0, r4, r0
/* 80315AEC 00312A4C 90 0D A8 A8 */ stw r0, lbl_805A9468@sda21(r13)
lbl_80315AF0:
/* 80315AF0 00312A50 38 60 00 01 */ li r3, 1
/* 80315AF4 00312A54 4E 80 00 20 */ blr
.global SetAllocator__7CMemoryFR10COsContextR10IAllocator
SetAllocator__7CMemoryFR10COsContextR10IAllocator:
/* 80315AF8 00312A58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315AFC 00312A5C 7C 08 02 A6 */ mflr r0
/* 80315B00 00312A60 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315B04 00312A64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80315B08 00312A68 7C 9F 23 78 */ mr r31, r4
/* 80315B0C 00312A6C 93 C1 00 08 */ stw r30, 8(r1)
/* 80315B10 00312A70 7C 7E 1B 78 */ mr r30, r3
/* 80315B14 00312A74 80 0D 9C A8 */ lwz r0, lbl_805A8868@sda21(r13)
/* 80315B18 00312A78 7C 00 F8 40 */ cmplw r0, r31
/* 80315B1C 00312A7C 41 82 00 3C */ beq lbl_80315B58
/* 80315B20 00312A80 28 00 00 00 */ cmplwi r0, 0
/* 80315B24 00312A84 41 82 00 18 */ beq lbl_80315B3C
/* 80315B28 00312A88 7C 03 03 78 */ mr r3, r0
/* 80315B2C 00312A8C 81 83 00 00 */ lwz r12, 0(r3)
/* 80315B30 00312A90 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80315B34 00312A94 7D 89 03 A6 */ mtctr r12
/* 80315B38 00312A98 4E 80 04 21 */ bctrl
lbl_80315B3C:
/* 80315B3C 00312A9C 93 ED 9C A8 */ stw r31, lbl_805A8868@sda21(r13)
/* 80315B40 00312AA0 7F E3 FB 78 */ mr r3, r31
/* 80315B44 00312AA4 7F C4 F3 78 */ mr r4, r30
/* 80315B48 00312AA8 81 9F 00 00 */ lwz r12, 0(r31)
/* 80315B4C 00312AAC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80315B50 00312AB0 7D 89 03 A6 */ mtctr r12
/* 80315B54 00312AB4 4E 80 04 21 */ bctrl
lbl_80315B58:
/* 80315B58 00312AB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315B5C 00312ABC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315B60 00312AC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80315B64 00312AC4 7C 08 03 A6 */ mtlr r0
/* 80315B68 00312AC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80315B6C 00312ACC 4E 80 00 20 */ blr
.global Startup__7CMemoryFR10COsContext
Startup__7CMemoryFR10COsContext:
/* 80315B70 00312AD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315B74 00312AD4 7C 08 02 A6 */ mflr r0
/* 80315B78 00312AD8 7C 64 1B 78 */ mr r4, r3
/* 80315B7C 00312ADC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315B80 00312AE0 80 6D 9C A8 */ lwz r3, lbl_805A8868@sda21(r13)
/* 80315B84 00312AE4 81 83 00 00 */ lwz r12, 0(r3)
/* 80315B88 00312AE8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80315B8C 00312AEC 7D 89 03 A6 */ mtctr r12
/* 80315B90 00312AF0 4E 80 04 21 */ bctrl
/* 80315B94 00312AF4 98 6D A8 A0 */ stb r3, lbl_805A9460@sda21(r13)
/* 80315B98 00312AF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315B9C 00312AFC 7C 08 03 A6 */ mtlr r0
/* 80315BA0 00312B00 38 21 00 10 */ addi r1, r1, 0x10
/* 80315BA4 00312B04 4E 80 00 20 */ blr
.global GetGameAllocator__10CMemorySysFv
GetGameAllocator__10CMemorySysFv:
/* 80315BA8 00312B08 3C 60 80 4C */ lis r3, lbl_804BFD64@ha
/* 80315BAC 00312B0C 38 63 FD 64 */ addi r3, r3, lbl_804BFD64@l
/* 80315BB0 00312B10 4E 80 00 20 */ blr
.global __dt__10CMemorySysFv
__dt__10CMemorySysFv:
/* 80315BB4 00312B14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315BB8 00312B18 7C 08 02 A6 */ mflr r0
/* 80315BBC 00312B1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315BC0 00312B20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80315BC4 00312B24 7C 9F 23 78 */ mr r31, r4
/* 80315BC8 00312B28 93 C1 00 08 */ stw r30, 8(r1)
/* 80315BCC 00312B2C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80315BD0 00312B30 41 82 00 18 */ beq lbl_80315BE8
/* 80315BD4 00312B34 4B FF FE 5D */ bl Shutdown__7CMemoryFv
/* 80315BD8 00312B38 7F E0 07 35 */ extsh. r0, r31
/* 80315BDC 00312B3C 40 81 00 0C */ ble lbl_80315BE8
/* 80315BE0 00312B40 7F C3 F3 78 */ mr r3, r30
/* 80315BE4 00312B44 4B FF FD 4D */ bl Free__7CMemoryFPCv
lbl_80315BE8:
/* 80315BE8 00312B48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315BEC 00312B4C 7F C3 F3 78 */ mr r3, r30
/* 80315BF0 00312B50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315BF4 00312B54 83 C1 00 08 */ lwz r30, 8(r1)
/* 80315BF8 00312B58 7C 08 03 A6 */ mtlr r0
/* 80315BFC 00312B5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80315C00 00312B60 4E 80 00 20 */ blr
.global __ct__10CMemorySysFR10COsContextR10IAllocator
__ct__10CMemorySysFR10COsContextR10IAllocator:
/* 80315C04 00312B64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315C08 00312B68 7C 08 02 A6 */ mflr r0
/* 80315C0C 00312B6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80315C10 00312B70 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80315C14 00312B74 7C BF 2B 78 */ mr r31, r5
/* 80315C18 00312B78 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80315C1C 00312B7C 7C 9E 23 78 */ mr r30, r4
/* 80315C20 00312B80 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80315C24 00312B84 7C 7D 1B 78 */ mr r29, r3
/* 80315C28 00312B88 7F C3 F3 78 */ mr r3, r30
/* 80315C2C 00312B8C 4B FF FF 45 */ bl Startup__7CMemoryFR10COsContext
/* 80315C30 00312B90 7F C3 F3 78 */ mr r3, r30
/* 80315C34 00312B94 7F E4 FB 78 */ mr r4, r31
/* 80315C38 00312B98 4B FF FE C1 */ bl SetAllocator__7CMemoryFR10COsContextR10IAllocator
/* 80315C3C 00312B9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80315C40 00312BA0 7F A3 EB 78 */ mr r3, r29
/* 80315C44 00312BA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80315C48 00312BA8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80315C4C 00312BAC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80315C50 00312BB0 7C 08 03 A6 */ mtlr r0
/* 80315C54 00312BB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80315C58 00312BB8 4E 80 00 20 */ blr
.global __sinit_CMemory_cpp
__sinit_CMemory_cpp:
/* 80315C5C 00312BBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315C60 00312BC0 7C 08 02 A6 */ mflr r0
/* 80315C64 00312BC4 3C 60 80 4C */ lis r3, lbl_804BFD64@ha
/* 80315C68 00312BC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315C6C 00312BCC 38 63 FD 64 */ addi r3, r3, lbl_804BFD64@l
/* 80315C70 00312BD0 48 03 C9 5D */ bl __ct__14CGameAllocatorFv
/* 80315C74 00312BD4 3C 80 80 35 */ lis r4, __dt__14CGameAllocatorFv@ha
/* 80315C78 00312BD8 3C A0 80 4C */ lis r5, lbl_804BFD58@ha
/* 80315C7C 00312BDC 38 84 25 44 */ addi r4, r4, __dt__14CGameAllocatorFv@l
/* 80315C80 00312BE0 38 A5 FD 58 */ addi r5, r5, lbl_804BFD58@l
/* 80315C84 00312BE4 48 07 3A 09 */ bl __register_global_object
/* 80315C88 00312BE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315C8C 00312BEC 7C 08 03 A6 */ mtlr r0
/* 80315C90 00312BF0 38 21 00 10 */ addi r1, r1, 0x10
/* 80315C94 00312BF4 4E 80 00 20 */ blr

View File

@ -0,0 +1,237 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Free__15CSmallAllocPoolFPCv
Free__15CSmallAllocPoolFPCv:
/* 80350E24 0034DD84 80 03 00 00 */ lwz r0, 0(r3)
/* 80350E28 0034DD88 38 C0 00 04 */ li r6, 4
/* 80350E2C 0034DD8C 80 A3 00 04 */ lwz r5, 4(r3)
/* 80350E30 0034DD90 7C 80 20 50 */ subf r4, r0, r4
/* 80350E34 0034DD94 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80350E38 0034DD98 7C 84 16 70 */ srawi r4, r4, 2
/* 80350E3C 0034DD9C 7D 04 01 94 */ addze r8, r4
/* 80350E40 0034DDA0 55 04 07 FE */ clrlwi r4, r8, 0x1f
/* 80350E44 0034DDA4 55 09 F8 7E */ srwi r9, r8, 1
/* 80350E48 0034DDA8 7C E4 00 D0 */ neg r7, r4
/* 80350E4C 0034DDAC 7C 85 48 AE */ lbzx r4, r5, r9
/* 80350E50 0034DDB0 7C C5 38 78 */ andc r5, r6, r7
/* 80350E54 0034DDB4 7C 84 2E 30 */ sraw r4, r4, r5
/* 80350E58 0034DDB8 54 84 07 3E */ clrlwi r4, r4, 0x1c
/* 80350E5C 0034DDBC 7C 00 22 14 */ add r0, r0, r4
/* 80350E60 0034DDC0 90 03 00 18 */ stw r0, 0x18(r3)
/* 80350E64 0034DDC4 7C 85 23 78 */ mr r5, r4
/* 80350E68 0034DDC8 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80350E6C 0034DDCC 38 04 FF FF */ addi r0, r4, -1
/* 80350E70 0034DDD0 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80350E74 0034DDD4 91 03 00 14 */ stw r8, 0x14(r3)
/* 80350E78 0034DDD8 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80350E7C 0034DDDC 7C 08 00 40 */ cmplw r8, r0
/* 80350E80 0034DDE0 40 82 00 0C */ bne lbl_80350E8C
/* 80350E84 0034DDE4 38 00 FF FF */ li r0, -1
/* 80350E88 0034DDE8 90 03 00 10 */ stw r0, 0x10(r3)
lbl_80350E8C:
/* 80350E8C 0034DDEC 80 63 00 04 */ lwz r3, 4(r3)
/* 80350E90 0034DDF0 38 00 00 00 */ li r0, 0
/* 80350E94 0034DDF4 7C 63 4A 14 */ add r3, r3, r9
/* 80350E98 0034DDF8 48 00 00 10 */ b lbl_80350EA8
lbl_80350E9C:
/* 80350E9C 0034DDFC 98 03 00 00 */ stb r0, 0(r3)
/* 80350EA0 0034DE00 38 A5 FF FE */ addi r5, r5, -2
/* 80350EA4 0034DE04 38 63 00 01 */ addi r3, r3, 1
lbl_80350EA8:
/* 80350EA8 0034DE08 2C 05 00 00 */ cmpwi r5, 0
/* 80350EAC 0034DE0C 40 82 FF F0 */ bne lbl_80350E9C
/* 80350EB0 0034DE10 38 60 00 01 */ li r3, 1
/* 80350EB4 0034DE14 4E 80 00 20 */ blr
.global Alloc__15CSmallAllocPoolFUi
Alloc__15CSmallAllocPoolFUi:
/* 80350EB8 0034DE18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80350EBC 0034DE1C 7C 08 02 A6 */ mflr r0
/* 80350EC0 0034DE20 28 04 00 04 */ cmplwi r4, 4
/* 80350EC4 0034DE24 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350EC8 0034DE28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350ECC 0034DE2C 7C 7F 1B 78 */ mr r31, r3
/* 80350ED0 0034DE30 38 60 00 01 */ li r3, 1
/* 80350ED4 0034DE34 93 C1 00 08 */ stw r30, 8(r1)
/* 80350ED8 0034DE38 41 80 00 0C */ blt lbl_80350EE4
/* 80350EDC 0034DE3C 38 04 00 03 */ addi r0, r4, 3
/* 80350EE0 0034DE40 54 03 F0 BE */ srwi r3, r0, 2
lbl_80350EE4:
/* 80350EE4 0034DE44 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80350EE8 0034DE48 7C 7E 1B 78 */ mr r30, r3
/* 80350EEC 0034DE4C 41 82 00 08 */ beq lbl_80350EF4
/* 80350EF0 0034DE50 3B C3 00 01 */ addi r30, r3, 1
lbl_80350EF4:
/* 80350EF4 0034DE54 7F E3 FB 78 */ mr r3, r31
/* 80350EF8 0034DE58 7F C4 F3 78 */ mr r4, r30
/* 80350EFC 0034DE5C 48 00 00 D5 */ bl FindFree__15CSmallAllocPoolFi
/* 80350F00 0034DE60 28 03 00 00 */ cmplwi r3, 0
/* 80350F04 0034DE64 40 82 00 0C */ bne lbl_80350F10
/* 80350F08 0034DE68 38 60 00 00 */ li r3, 0
/* 80350F0C 0034DE6C 48 00 00 AC */ b lbl_80350FB8
lbl_80350F10:
/* 80350F10 0034DE70 38 9E FF FE */ addi r4, r30, -2
/* 80350F14 0034DE74 80 DF 00 04 */ lwz r6, 4(r31)
/* 80350F18 0034DE78 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80350F1C 0034DE7C 57 C5 20 36 */ slwi r5, r30, 4
/* 80350F20 0034DE80 7C 00 22 14 */ add r0, r0, r4
/* 80350F24 0034DE84 7C 86 18 50 */ subf r4, r6, r3
/* 80350F28 0034DE88 7C 07 0E 71 */ srawi. r7, r0, 1
/* 80350F2C 0034DE8C 80 DF 00 00 */ lwz r6, 0(r31)
/* 80350F30 0034DE90 60 A0 00 0F */ ori r0, r5, 0xf
/* 80350F34 0034DE94 54 85 18 38 */ slwi r5, r4, 3
/* 80350F38 0034DE98 98 03 00 00 */ stb r0, 0(r3)
/* 80350F3C 0034DE9C 7C A6 2A 14 */ add r5, r6, r5
/* 80350F40 0034DEA0 38 C3 00 01 */ addi r6, r3, 1
/* 80350F44 0034DEA4 7C E4 3B 78 */ mr r4, r7
/* 80350F48 0034DEA8 38 60 00 FF */ li r3, 0xff
/* 80350F4C 0034DEAC 41 82 00 50 */ beq lbl_80350F9C
/* 80350F50 0034DEB0 54 E0 E8 FF */ rlwinm. r0, r7, 0x1d, 3, 0x1f
/* 80350F54 0034DEB4 7C 09 03 A6 */ mtctr r0
/* 80350F58 0034DEB8 41 82 00 34 */ beq lbl_80350F8C
lbl_80350F5C:
/* 80350F5C 0034DEBC 98 66 00 00 */ stb r3, 0(r6)
/* 80350F60 0034DEC0 98 66 00 01 */ stb r3, 1(r6)
/* 80350F64 0034DEC4 98 66 00 02 */ stb r3, 2(r6)
/* 80350F68 0034DEC8 98 66 00 03 */ stb r3, 3(r6)
/* 80350F6C 0034DECC 98 66 00 04 */ stb r3, 4(r6)
/* 80350F70 0034DED0 98 66 00 05 */ stb r3, 5(r6)
/* 80350F74 0034DED4 98 66 00 06 */ stb r3, 6(r6)
/* 80350F78 0034DED8 98 66 00 07 */ stb r3, 7(r6)
/* 80350F7C 0034DEDC 38 C6 00 08 */ addi r6, r6, 8
/* 80350F80 0034DEE0 42 00 FF DC */ bdnz lbl_80350F5C
/* 80350F84 0034DEE4 70 84 00 07 */ andi. r4, r4, 7
/* 80350F88 0034DEE8 41 82 00 14 */ beq lbl_80350F9C
lbl_80350F8C:
/* 80350F8C 0034DEEC 7C 89 03 A6 */ mtctr r4
lbl_80350F90:
/* 80350F90 0034DEF0 98 66 00 00 */ stb r3, 0(r6)
/* 80350F94 0034DEF4 38 C6 00 01 */ addi r6, r6, 1
/* 80350F98 0034DEF8 42 00 FF F8 */ bdnz lbl_80350F90
lbl_80350F9C:
/* 80350F9C 0034DEFC 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 80350FA0 0034DF00 7C A3 2B 78 */ mr r3, r5
/* 80350FA4 0034DF04 7C 1E 00 50 */ subf r0, r30, r0
/* 80350FA8 0034DF08 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80350FAC 0034DF0C 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 80350FB0 0034DF10 38 04 00 01 */ addi r0, r4, 1
/* 80350FB4 0034DF14 90 1F 00 1C */ stw r0, 0x1c(r31)
lbl_80350FB8:
/* 80350FB8 0034DF18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350FBC 0034DF1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350FC0 0034DF20 83 C1 00 08 */ lwz r30, 8(r1)
/* 80350FC4 0034DF24 7C 08 03 A6 */ mtlr r0
/* 80350FC8 0034DF28 38 21 00 10 */ addi r1, r1, 0x10
/* 80350FCC 0034DF2C 4E 80 00 20 */ blr
.global FindFree__15CSmallAllocPoolFi
FindFree__15CSmallAllocPoolFi:
/* 80350FD0 0034DF30 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80350FD4 0034DF34 54 85 0F FE */ srwi r5, r4, 0x1f
/* 80350FD8 0034DF38 7C 85 22 14 */ add r4, r5, r4
/* 80350FDC 0034DF3C 28 00 00 00 */ cmplwi r0, 0
/* 80350FE0 0034DF40 7C 86 0E 70 */ srawi r6, r4, 1
/* 80350FE4 0034DF44 40 82 00 0C */ bne lbl_80350FF0
/* 80350FE8 0034DF48 80 03 00 04 */ lwz r0, 4(r3)
/* 80350FEC 0034DF4C 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80350FF0:
/* 80350FF0 0034DF50 80 03 00 08 */ lwz r0, 8(r3)
/* 80350FF4 0034DF54 80 E3 00 0C */ lwz r7, 0xc(r3)
/* 80350FF8 0034DF58 80 A3 00 04 */ lwz r5, 4(r3)
/* 80350FFC 0034DF5C 54 00 F8 7E */ srwi r0, r0, 1
/* 80351000 0034DF60 7C E9 3B 78 */ mr r9, r7
/* 80351004 0034DF64 7D 05 02 14 */ add r8, r5, r0
lbl_80351008:
/* 80351008 0034DF68 88 09 00 00 */ lbz r0, 0(r9)
/* 8035100C 0034DF6C 28 00 00 00 */ cmplwi r0, 0
/* 80351010 0034DF70 40 82 00 0C */ bne lbl_8035101C
/* 80351014 0034DF74 7C 09 40 40 */ cmplw r9, r8
/* 80351018 0034DF78 40 82 00 2C */ bne lbl_80351044
lbl_8035101C:
/* 8035101C 0034DF7C 7C 09 40 40 */ cmplw r9, r8
/* 80351020 0034DF80 40 82 00 0C */ bne lbl_8035102C
/* 80351024 0034DF84 7C A9 2B 78 */ mr r9, r5
/* 80351028 0034DF88 48 00 00 98 */ b lbl_803510C0
lbl_8035102C:
/* 8035102C 0034DF8C 7C 04 26 70 */ srawi r4, r0, 4
/* 80351030 0034DF90 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80351034 0034DF94 7C 00 22 14 */ add r0, r0, r4
/* 80351038 0034DF98 7C 00 0E 70 */ srawi r0, r0, 1
/* 8035103C 0034DF9C 7D 29 02 14 */ add r9, r9, r0
/* 80351040 0034DFA0 48 00 00 80 */ b lbl_803510C0
lbl_80351044:
/* 80351044 0034DFA4 7C 89 32 14 */ add r4, r9, r6
/* 80351048 0034DFA8 39 49 00 01 */ addi r10, r9, 1
/* 8035104C 0034DFAC 48 00 00 14 */ b lbl_80351060
lbl_80351050:
/* 80351050 0034DFB0 88 0A 00 00 */ lbz r0, 0(r10)
/* 80351054 0034DFB4 28 00 00 00 */ cmplwi r0, 0
/* 80351058 0034DFB8 40 82 00 20 */ bne lbl_80351078
/* 8035105C 0034DFBC 39 4A 00 01 */ addi r10, r10, 1
lbl_80351060:
/* 80351060 0034DFC0 7C 0A 38 40 */ cmplw r10, r7
/* 80351064 0034DFC4 41 82 00 14 */ beq lbl_80351078
/* 80351068 0034DFC8 7C 0A 40 40 */ cmplw r10, r8
/* 8035106C 0034DFCC 41 82 00 0C */ beq lbl_80351078
/* 80351070 0034DFD0 7C 0A 20 40 */ cmplw r10, r4
/* 80351074 0034DFD4 40 82 FF DC */ bne lbl_80351050
lbl_80351078:
/* 80351078 0034DFD8 7C 0A 20 40 */ cmplw r10, r4
/* 8035107C 0034DFDC 40 82 00 20 */ bne lbl_8035109C
/* 80351080 0034DFE0 7C 0A 40 40 */ cmplw r10, r8
/* 80351084 0034DFE4 40 82 00 0C */ bne lbl_80351090
/* 80351088 0034DFE8 90 A3 00 0C */ stw r5, 0xc(r3)
/* 8035108C 0034DFEC 48 00 00 08 */ b lbl_80351094
lbl_80351090:
/* 80351090 0034DFF0 91 23 00 0C */ stw r9, 0xc(r3)
lbl_80351094:
/* 80351094 0034DFF4 7D 23 4B 78 */ mr r3, r9
/* 80351098 0034DFF8 4E 80 00 20 */ blr
lbl_8035109C:
/* 8035109C 0034DFFC 7C 0A 38 40 */ cmplw r10, r7
/* 803510A0 0034E000 40 82 00 0C */ bne lbl_803510AC
/* 803510A4 0034E004 38 60 00 00 */ li r3, 0
/* 803510A8 0034E008 4E 80 00 20 */ blr
lbl_803510AC:
/* 803510AC 0034E00C 7C 0A 40 40 */ cmplw r10, r8
/* 803510B0 0034E010 40 82 00 0C */ bne lbl_803510BC
/* 803510B4 0034E014 7C A9 2B 78 */ mr r9, r5
/* 803510B8 0034E018 48 00 00 08 */ b lbl_803510C0
lbl_803510BC:
/* 803510BC 0034E01C 7D 49 53 78 */ mr r9, r10
lbl_803510C0:
/* 803510C0 0034E020 7C 09 38 40 */ cmplw r9, r7
/* 803510C4 0034E024 40 82 FF 44 */ bne lbl_80351008
/* 803510C8 0034E028 38 60 00 00 */ li r3, 0
/* 803510CC 0034E02C 4E 80 00 20 */ blr
.global __ct__15CSmallAllocPoolFUiPvPv
__ct__15CSmallAllocPoolFUiPvPv:
/* 803510D0 0034E030 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803510D4 0034E034 7C 08 02 A6 */ mflr r0
/* 803510D8 0034E038 7C 88 23 78 */ mr r8, r4
/* 803510DC 0034E03C 38 E0 00 00 */ li r7, 0
/* 803510E0 0034E040 90 01 00 14 */ stw r0, 0x14(r1)
/* 803510E4 0034E044 38 00 FF FF */ li r0, -1
/* 803510E8 0034E048 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803510EC 0034E04C 7C 7F 1B 78 */ mr r31, r3
/* 803510F0 0034E050 90 A3 00 00 */ stw r5, 0(r3)
/* 803510F4 0034E054 54 85 F8 7E */ srwi r5, r4, 1
/* 803510F8 0034E058 38 80 00 00 */ li r4, 0
/* 803510FC 0034E05C 90 C3 00 04 */ stw r6, 4(r3)
/* 80351100 0034E060 7C C3 33 78 */ mr r3, r6
/* 80351104 0034E064 91 1F 00 08 */ stw r8, 8(r31)
/* 80351108 0034E068 90 FF 00 0C */ stw r7, 0xc(r31)
/* 8035110C 0034E06C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80351110 0034E070 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80351114 0034E074 91 1F 00 18 */ stw r8, 0x18(r31)
/* 80351118 0034E078 90 FF 00 1C */ stw r7, 0x1c(r31)
/* 8035111C 0034E07C 4B CB 22 8D */ bl memset
/* 80351120 0034E080 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80351124 0034E084 7F E3 FB 78 */ mr r3, r31
/* 80351128 0034E088 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8035112C 0034E08C 7C 08 03 A6 */ mtlr r0
/* 80351130 0034E090 38 21 00 10 */ addi r1, r1, 0x10
/* 80351134 0034E094 4E 80 00 20 */ blr

View File

@ -0,0 +1,66 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __dt__10IAllocatorFv
__dt__10IAllocatorFv:
/* 80315C98 00312BF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315C9C 00312BFC 7C 08 02 A6 */ mflr r0
/* 80315CA0 00312C00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80315CA4 00312C04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80315CA8 00312C08 7C 7F 1B 79 */ or. r31, r3, r3
/* 80315CAC 00312C0C 41 82 00 1C */ beq lbl_80315CC8
/* 80315CB0 00312C10 3C A0 80 3F */ lis r5, lbl_803ED9C0@ha
/* 80315CB4 00312C14 7C 80 07 35 */ extsh. r0, r4
/* 80315CB8 00312C18 38 05 D9 C0 */ addi r0, r5, lbl_803ED9C0@l
/* 80315CBC 00312C1C 90 1F 00 00 */ stw r0, 0(r31)
/* 80315CC0 00312C20 40 81 00 08 */ ble lbl_80315CC8
/* 80315CC4 00312C24 4B FF FC 6D */ bl Free__7CMemoryFPCv
lbl_80315CC8:
/* 80315CC8 00312C28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315CCC 00312C2C 7F E3 FB 78 */ mr r3, r31
/* 80315CD0 00312C30 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315CD4 00312C34 7C 08 03 A6 */ mtlr r0
/* 80315CD8 00312C38 38 21 00 10 */ addi r1, r1, 0x10
/* 80315CDC 00312C3C 4E 80 00 20 */ blr
.global __ct__Q210IAllocator8SMetricsFUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUi
__ct__Q210IAllocator8SMetricsFUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUi:
/* 80315CE0 00312C40 90 83 00 00 */ stw r4, 0(r3)
/* 80315CE4 00312C44 80 01 00 08 */ lwz r0, 8(r1)
/* 80315CE8 00312C48 90 A3 00 04 */ stw r5, 4(r3)
/* 80315CEC 00312C4C 81 81 00 0C */ lwz r12, 0xc(r1)
/* 80315CF0 00312C50 90 C3 00 08 */ stw r6, 8(r3)
/* 80315CF4 00312C54 81 61 00 10 */ lwz r11, 0x10(r1)
/* 80315CF8 00312C58 90 E3 00 0C */ stw r7, 0xc(r3)
/* 80315CFC 00312C5C 80 E1 00 14 */ lwz r7, 0x14(r1)
/* 80315D00 00312C60 91 03 00 10 */ stw r8, 0x10(r3)
/* 80315D04 00312C64 80 C1 00 18 */ lwz r6, 0x18(r1)
/* 80315D08 00312C68 91 23 00 14 */ stw r9, 0x14(r3)
/* 80315D0C 00312C6C 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 80315D10 00312C70 91 43 00 18 */ stw r10, 0x18(r3)
/* 80315D14 00312C74 80 81 00 20 */ lwz r4, 0x20(r1)
/* 80315D18 00312C78 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80315D1C 00312C7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80315D20 00312C80 91 83 00 20 */ stw r12, 0x20(r3)
/* 80315D24 00312C84 81 21 00 28 */ lwz r9, 0x28(r1)
/* 80315D28 00312C88 91 63 00 24 */ stw r11, 0x24(r3)
/* 80315D2C 00312C8C 81 01 00 2C */ lwz r8, 0x2c(r1)
/* 80315D30 00312C90 90 E3 00 28 */ stw r7, 0x28(r3)
/* 80315D34 00312C94 80 E1 00 30 */ lwz r7, 0x30(r1)
/* 80315D38 00312C98 90 C3 00 2C */ stw r6, 0x2c(r3)
/* 80315D3C 00312C9C 80 C1 00 34 */ lwz r6, 0x34(r1)
/* 80315D40 00312CA0 90 A3 00 30 */ stw r5, 0x30(r3)
/* 80315D44 00312CA4 80 A1 00 38 */ lwz r5, 0x38(r1)
/* 80315D48 00312CA8 90 83 00 34 */ stw r4, 0x34(r3)
/* 80315D4C 00312CAC 80 81 00 3C */ lwz r4, 0x3c(r1)
/* 80315D50 00312CB0 90 03 00 38 */ stw r0, 0x38(r3)
/* 80315D54 00312CB4 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80315D58 00312CB8 91 23 00 3C */ stw r9, 0x3c(r3)
/* 80315D5C 00312CBC 91 03 00 40 */ stw r8, 0x40(r3)
/* 80315D60 00312CC0 90 E3 00 44 */ stw r7, 0x44(r3)
/* 80315D64 00312CC4 90 C3 00 48 */ stw r6, 0x48(r3)
/* 80315D68 00312CC8 90 A3 00 4C */ stw r5, 0x4c(r3)
/* 80315D6C 00312CCC 90 83 00 50 */ stw r4, 0x50(r3)
/* 80315D70 00312CD0 90 03 00 54 */ stw r0, 0x54(r3)
/* 80315D74 00312CD4 4E 80 00 20 */ blr

View File

@ -0,0 +1,296 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global AddToSegStatementSet__21CAdditiveAnimPlaybackCFRC10CSegIdListRC15CCharLayoutInfoR16CSegStatementSet
AddToSegStatementSet__21CAdditiveAnimPlaybackCFRC10CSegIdListRC15CCharLayoutInfoR16CSegStatementSet:
/* 8035DB10 0035AA70 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8035DB14 0035AA74 7C 08 02 A6 */ mflr r0
/* 8035DB18 0035AA78 90 01 00 44 */ stw r0, 0x44(r1)
/* 8035DB1C 0035AA7C BF 21 00 24 */ stmw r25, 0x24(r1)
/* 8035DB20 0035AA80 7C 79 1B 78 */ mr r25, r3
/* 8035DB24 0035AA84 7C 9A 23 78 */ mr r26, r4
/* 8035DB28 0035AA88 7C BB 2B 78 */ mr r27, r5
/* 8035DB2C 0035AA8C 7C DC 33 78 */ mr r28, r6
/* 8035DB30 0035AA90 38 61 00 0C */ addi r3, r1, 0xc
/* 8035DB34 0035AA94 4B F9 F8 39 */ bl __ct__21CStackSegStatementSetFv
/* 8035DB38 0035AA98 80 79 00 08 */ lwz r3, 8(r25)
/* 8035DB3C 0035AA9C 7F 44 D3 78 */ mr r4, r26
/* 8035DB40 0035AAA0 38 A1 00 0C */ addi r5, r1, 0xc
/* 8035DB44 0035AAA4 80 63 00 00 */ lwz r3, 0(r3)
/* 8035DB48 0035AAA8 81 83 00 00 */ lwz r12, 0(r3)
/* 8035DB4C 0035AAAC 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 8035DB50 0035AAB0 7D 89 03 A6 */ mtctr r12
/* 8035DB54 0035AAB4 4E 80 04 21 */ bctrl
/* 8035DB58 0035AAB8 83 DA 00 04 */ lwz r30, 4(r26)
/* 8035DB5C 0035AABC 3B A0 00 00 */ li r29, 0
/* 8035DB60 0035AAC0 3B E0 00 01 */ li r31, 1
/* 8035DB64 0035AAC4 48 00 00 54 */ b lbl_8035DBB8
lbl_8035DB68:
/* 8035DB68 0035AAC8 80 DA 00 0C */ lwz r6, 0xc(r26)
/* 8035DB6C 0035AACC 7F 64 DB 78 */ mr r4, r27
/* 8035DB70 0035AAD0 38 61 00 14 */ addi r3, r1, 0x14
/* 8035DB74 0035AAD4 38 A1 00 08 */ addi r5, r1, 8
/* 8035DB78 0035AAD8 7C 06 E8 AE */ lbzx r0, r6, r29
/* 8035DB7C 0035AADC 98 01 00 08 */ stb r0, 8(r1)
/* 8035DB80 0035AAE0 4B DC DE 21 */ bl GetFromParentUnrotated__15CCharLayoutInfoCFRC6CSegId
/* 8035DB84 0035AAE4 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 8035DB88 0035AAE8 80 81 00 10 */ lwz r4, 0x10(r1)
/* 8035DB8C 0035AAEC 7C 03 E8 AE */ lbzx r0, r3, r29
/* 8035DB90 0035AAF0 3B BD 00 01 */ addi r29, r29, 1
/* 8035DB94 0035AAF4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8035DB98 0035AAF8 54 00 28 34 */ slwi r0, r0, 5
/* 8035DB9C 0035AAFC 7C 64 02 14 */ add r3, r4, r0
/* 8035DBA0 0035AB00 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DBA4 0035AB04 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8035DBA8 0035AB08 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8035DBAC 0035AB0C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8035DBB0 0035AB10 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8035DBB4 0035AB14 93 E3 00 1C */ stw r31, 0x1c(r3)
lbl_8035DBB8:
/* 8035DBB8 0035AB18 7C 1D F0 40 */ cmplw r29, r30
/* 8035DBBC 0035AB1C 41 80 FF AC */ blt lbl_8035DB68
/* 8035DBC0 0035AB20 C0 39 00 10 */ lfs f1, 0x10(r25)
/* 8035DBC4 0035AB24 7F 83 E3 78 */ mr r3, r28
/* 8035DBC8 0035AB28 7F 44 D3 78 */ mr r4, r26
/* 8035DBCC 0035AB2C 7F 65 DB 78 */ mr r5, r27
/* 8035DBD0 0035AB30 38 C1 00 0C */ addi r6, r1, 0xc
/* 8035DBD4 0035AB34 4B F9 F8 65 */ bl Add__16CSegStatementSetFRC10CSegIdListRC15CCharLayoutInfoRC16CSegStatementSetf
/* 8035DBD8 0035AB38 38 61 00 0C */ addi r3, r1, 0xc
/* 8035DBDC 0035AB3C 38 80 FF FF */ li r4, -1
/* 8035DBE0 0035AB40 4B F9 F6 CD */ bl __dt__21CStackSegStatementSetFv
/* 8035DBE4 0035AB44 BB 21 00 24 */ lmw r25, 0x24(r1)
/* 8035DBE8 0035AB48 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8035DBEC 0035AB4C 7C 08 03 A6 */ mtlr r0
/* 8035DBF0 0035AB50 38 21 00 40 */ addi r1, r1, 0x40
/* 8035DBF4 0035AB54 4E 80 00 20 */ blr
.global Update__21CAdditiveAnimPlaybackFf
Update__21CAdditiveAnimPlaybackFf:
/* 8035DBF8 0035AB58 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8035DBFC 0035AB5C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8035DC00 0035AB60 2C 00 00 01 */ cmpwi r0, 1
/* 8035DC04 0035AB64 40 82 00 88 */ bne lbl_8035DC8C
/* 8035DC08 0035AB68 C0 43 00 00 */ lfs f2, 0(r3)
/* 8035DC0C 0035AB6C D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8035DC10 0035AB70 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8035DC14 0035AB74 EC 00 08 2A */ fadds f0, f0, f1
/* 8035DC18 0035AB78 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 8035DC1C 0035AB7C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8035DC20 0035AB80 40 80 00 0C */ bge lbl_8035DC2C
/* 8035DC24 0035AB84 38 81 00 0C */ addi r4, r1, 0xc
/* 8035DC28 0035AB88 48 00 00 08 */ b lbl_8035DC30
lbl_8035DC2C:
/* 8035DC2C 0035AB8C 38 81 00 10 */ addi r4, r1, 0x10
lbl_8035DC30:
/* 8035DC30 0035AB90 C0 24 00 00 */ lfs f1, 0(r4)
/* 8035DC34 0035AB94 C0 02 CD 40 */ lfs f0, lbl_805AEA60@sda21(r2)
/* 8035DC38 0035AB98 D0 23 00 18 */ stfs f1, 0x18(r3)
/* 8035DC3C 0035AB9C C0 41 00 10 */ lfs f2, 0x10(r1)
/* 8035DC40 0035ABA0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8035DC44 0035ABA4 40 81 00 18 */ ble lbl_8035DC5C
/* 8035DC48 0035ABA8 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8035DC4C 0035ABAC C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8035DC50 0035ABB0 EC 00 10 24 */ fdivs f0, f0, f2
/* 8035DC54 0035ABB4 EC 01 00 32 */ fmuls f0, f1, f0
/* 8035DC58 0035ABB8 48 00 00 08 */ b lbl_8035DC60
lbl_8035DC5C:
/* 8035DC5C 0035ABBC C0 03 00 0C */ lfs f0, 0xc(r3)
lbl_8035DC60:
/* 8035DC60 0035ABC0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DC64 0035ABC4 C0 02 CD 44 */ lfs f0, lbl_805AEA64@sda21(r2)
/* 8035DC68 0035ABC8 C0 43 00 10 */ lfs f2, 0x10(r3)
/* 8035DC6C 0035ABCC C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8035DC70 0035ABD0 EC 22 08 28 */ fsubs f1, f2, f1
/* 8035DC74 0035ABD4 FC 20 0A 10 */ fabs f1, f1
/* 8035DC78 0035ABD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8035DC7C 0035ABDC 40 80 00 8C */ bge lbl_8035DD08
/* 8035DC80 0035ABE0 38 00 00 03 */ li r0, 3
/* 8035DC84 0035ABE4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8035DC88 0035ABE8 48 00 00 80 */ b lbl_8035DD08
lbl_8035DC8C:
/* 8035DC8C 0035ABEC 2C 00 00 02 */ cmpwi r0, 2
/* 8035DC90 0035ABF0 40 82 00 78 */ bne lbl_8035DD08
/* 8035DC94 0035ABF4 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 8035DC98 0035ABF8 C0 0D 9E 48 */ lfs f0, lbl_805A8A08@sda21(r13)
/* 8035DC9C 0035ABFC EC 22 08 28 */ fsubs f1, f2, f1
/* 8035DCA0 0035AC00 C0 43 00 04 */ lfs f2, 4(r3)
/* 8035DCA4 0035AC04 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8035DCA8 0035AC08 D0 21 00 08 */ stfs f1, 8(r1)
/* 8035DCAC 0035AC0C 40 80 00 0C */ bge lbl_8035DCB8
/* 8035DCB0 0035AC10 38 81 00 08 */ addi r4, r1, 8
/* 8035DCB4 0035AC14 48 00 00 08 */ b lbl_8035DCBC
lbl_8035DCB8:
/* 8035DCB8 0035AC18 38 8D 9E 48 */ addi r4, r13, lbl_805A8A08@sda21
lbl_8035DCBC:
/* 8035DCBC 0035AC1C C0 02 CD 40 */ lfs f0, lbl_805AEA60@sda21(r2)
/* 8035DCC0 0035AC20 C0 24 00 00 */ lfs f1, 0(r4)
/* 8035DCC4 0035AC24 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8035DCC8 0035AC28 D0 23 00 18 */ stfs f1, 0x18(r3)
/* 8035DCCC 0035AC2C 40 81 00 14 */ ble lbl_8035DCE0
/* 8035DCD0 0035AC30 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8035DCD4 0035AC34 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8035DCD8 0035AC38 EC 00 10 24 */ fdivs f0, f0, f2
/* 8035DCDC 0035AC3C EC 01 00 32 */ fmuls f0, f1, f0
lbl_8035DCE0:
/* 8035DCE0 0035AC40 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DCE4 0035AC44 C0 22 CD 40 */ lfs f1, lbl_805AEA60@sda21(r2)
/* 8035DCE8 0035AC48 C0 43 00 10 */ lfs f2, 0x10(r3)
/* 8035DCEC 0035AC4C C0 02 CD 44 */ lfs f0, lbl_805AEA64@sda21(r2)
/* 8035DCF0 0035AC50 EC 22 08 28 */ fsubs f1, f2, f1
/* 8035DCF4 0035AC54 FC 20 0A 10 */ fabs f1, f1
/* 8035DCF8 0035AC58 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8035DCFC 0035AC5C 40 80 00 0C */ bge lbl_8035DD08
/* 8035DD00 0035AC60 38 00 00 04 */ li r0, 4
/* 8035DD04 0035AC64 90 03 00 1C */ stw r0, 0x1c(r3)
lbl_8035DD08:
/* 8035DD08 0035AC68 38 21 00 20 */ addi r1, r1, 0x20
/* 8035DD0C 0035AC6C 4E 80 00 20 */ blr
.global FadeOut__21CAdditiveAnimPlaybackFv
FadeOut__21CAdditiveAnimPlaybackFv:
/* 8035DD10 0035AC70 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8035DD14 0035AC74 2C 00 00 04 */ cmpwi r0, 4
/* 8035DD18 0035AC78 41 82 00 0C */ beq lbl_8035DD24
/* 8035DD1C 0035AC7C 2C 00 00 03 */ cmpwi r0, 3
/* 8035DD20 0035AC80 40 82 00 10 */ bne lbl_8035DD30
lbl_8035DD24:
/* 8035DD24 0035AC84 C0 03 00 04 */ lfs f0, 4(r3)
/* 8035DD28 0035AC88 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8035DD2C 0035AC8C 48 00 00 24 */ b lbl_8035DD50
lbl_8035DD30:
/* 8035DD30 0035AC90 2C 00 00 01 */ cmpwi r0, 1
/* 8035DD34 0035AC94 40 82 00 1C */ bne lbl_8035DD50
/* 8035DD38 0035AC98 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 8035DD3C 0035AC9C C0 23 00 00 */ lfs f1, 0(r3)
/* 8035DD40 0035ACA0 C0 03 00 04 */ lfs f0, 4(r3)
/* 8035DD44 0035ACA4 EC 22 08 24 */ fdivs f1, f2, f1
/* 8035DD48 0035ACA8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8035DD4C 0035ACAC D0 03 00 18 */ stfs f0, 0x18(r3)
lbl_8035DD50:
/* 8035DD50 0035ACB0 C0 23 00 04 */ lfs f1, 4(r3)
/* 8035DD54 0035ACB4 C0 02 CD 40 */ lfs f0, lbl_805AEA60@sda21(r2)
/* 8035DD58 0035ACB8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8035DD5C 0035ACBC 40 81 00 10 */ ble lbl_8035DD6C
/* 8035DD60 0035ACC0 38 00 00 02 */ li r0, 2
/* 8035DD64 0035ACC4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8035DD68 0035ACC8 4E 80 00 20 */ blr
lbl_8035DD6C:
/* 8035DD6C 0035ACCC 38 00 00 04 */ li r0, 4
/* 8035DD70 0035ACD0 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8035DD74 0035ACD4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DD78 0035ACD8 4E 80 00 20 */ blr
.global SetWeight__21CAdditiveAnimPlaybackFf
SetWeight__21CAdditiveAnimPlaybackFf:
/* 8035DD7C 0035ACDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035DD80 0035ACE0 FC 00 08 18 */ frsp f0, f1
/* 8035DD84 0035ACE4 C0 4D 9E 40 */ lfs f2, lbl_805A8A00@sda21(r13)
/* 8035DD88 0035ACE8 D0 21 00 08 */ stfs f1, 8(r1)
/* 8035DD8C 0035ACEC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8035DD90 0035ACF0 40 80 00 0C */ bge lbl_8035DD9C
/* 8035DD94 0035ACF4 38 8D 9E 40 */ addi r4, r13, lbl_805A8A00@sda21
/* 8035DD98 0035ACF8 48 00 00 08 */ b lbl_8035DDA0
lbl_8035DD9C:
/* 8035DD9C 0035ACFC 38 81 00 08 */ addi r4, r1, 8
lbl_8035DDA0:
/* 8035DDA0 0035AD00 C0 2D 9E 44 */ lfs f1, lbl_805A8A04@sda21(r13)
/* 8035DDA4 0035AD04 C0 04 00 00 */ lfs f0, 0(r4)
/* 8035DDA8 0035AD08 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8035DDAC 0035AD0C 40 80 00 08 */ bge lbl_8035DDB4
/* 8035DDB0 0035AD10 48 00 00 08 */ b lbl_8035DDB8
lbl_8035DDB4:
/* 8035DDB4 0035AD14 38 8D 9E 44 */ addi r4, r13, lbl_805A8A04@sda21
lbl_8035DDB8:
/* 8035DDB8 0035AD18 C0 04 00 00 */ lfs f0, 0(r4)
/* 8035DDBC 0035AD1C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8035DDC0 0035AD20 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8035DDC4 0035AD24 2C 00 00 01 */ cmpwi r0, 1
/* 8035DDC8 0035AD28 40 82 00 34 */ bne lbl_8035DDFC
/* 8035DDCC 0035AD2C C0 43 00 00 */ lfs f2, 0(r3)
/* 8035DDD0 0035AD30 C0 02 CD 40 */ lfs f0, lbl_805AEA60@sda21(r2)
/* 8035DDD4 0035AD34 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8035DDD8 0035AD38 40 81 00 18 */ ble lbl_8035DDF0
/* 8035DDDC 0035AD3C C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8035DDE0 0035AD40 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8035DDE4 0035AD44 EC 00 10 24 */ fdivs f0, f0, f2
/* 8035DDE8 0035AD48 EC 01 00 32 */ fmuls f0, f1, f0
/* 8035DDEC 0035AD4C 48 00 00 08 */ b lbl_8035DDF4
lbl_8035DDF0:
/* 8035DDF0 0035AD50 C0 03 00 0C */ lfs f0, 0xc(r3)
lbl_8035DDF4:
/* 8035DDF4 0035AD54 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DDF8 0035AD58 48 00 00 44 */ b lbl_8035DE3C
lbl_8035DDFC:
/* 8035DDFC 0035AD5C 2C 00 00 02 */ cmpwi r0, 2
/* 8035DE00 0035AD60 40 82 00 34 */ bne lbl_8035DE34
/* 8035DE04 0035AD64 C0 43 00 04 */ lfs f2, 4(r3)
/* 8035DE08 0035AD68 C0 02 CD 40 */ lfs f0, lbl_805AEA60@sda21(r2)
/* 8035DE0C 0035AD6C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8035DE10 0035AD70 40 81 00 18 */ ble lbl_8035DE28
/* 8035DE14 0035AD74 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8035DE18 0035AD78 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8035DE1C 0035AD7C EC 00 10 24 */ fdivs f0, f0, f2
/* 8035DE20 0035AD80 EC 01 00 32 */ fmuls f0, f1, f0
/* 8035DE24 0035AD84 48 00 00 08 */ b lbl_8035DE2C
lbl_8035DE28:
/* 8035DE28 0035AD88 C0 03 00 0C */ lfs f0, 0xc(r3)
lbl_8035DE2C:
/* 8035DE2C 0035AD8C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DE30 0035AD90 48 00 00 0C */ b lbl_8035DE3C
lbl_8035DE34:
/* 8035DE34 0035AD94 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8035DE38 0035AD98 D0 03 00 10 */ stfs f0, 0x10(r3)
lbl_8035DE3C:
/* 8035DE3C 0035AD9C 38 21 00 10 */ addi r1, r1, 0x10
/* 8035DE40 0035ADA0 4E 80 00 20 */ blr
.global "__ct__21CAdditiveAnimPlaybackFRCQ24rstl25ncrc_ptr<13CAnimTreeNode>fbRC22CAdditiveAnimationInfob"
"__ct__21CAdditiveAnimPlaybackFRCQ24rstl25ncrc_ptr<13CAnimTreeNode>fbRC22CAdditiveAnimationInfob":
/* 8035DE44 0035ADA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035DE48 0035ADA8 D0 21 00 08 */ stfs f1, 8(r1)
/* 8035DE4C 0035ADAC C0 06 00 00 */ lfs f0, 0(r6)
/* 8035DE50 0035ADB0 D0 03 00 00 */ stfs f0, 0(r3)
/* 8035DE54 0035ADB4 C0 06 00 04 */ lfs f0, 4(r6)
/* 8035DE58 0035ADB8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8035DE5C 0035ADBC 80 04 00 00 */ lwz r0, 0(r4)
/* 8035DE60 0035ADC0 90 03 00 08 */ stw r0, 8(r3)
/* 8035DE64 0035ADC4 80 C3 00 08 */ lwz r6, 8(r3)
/* 8035DE68 0035ADC8 80 86 00 04 */ lwz r4, 4(r6)
/* 8035DE6C 0035ADCC 38 04 00 01 */ addi r0, r4, 1
/* 8035DE70 0035ADD0 90 06 00 04 */ stw r0, 4(r6)
/* 8035DE74 0035ADD4 C0 2D 9E 38 */ lfs f1, lbl_805A89F8@sda21(r13)
/* 8035DE78 0035ADD8 C0 01 00 08 */ lfs f0, 8(r1)
/* 8035DE7C 0035ADDC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8035DE80 0035ADE0 40 80 00 0C */ bge lbl_8035DE8C
/* 8035DE84 0035ADE4 38 8D 9E 38 */ addi r4, r13, lbl_805A89F8@sda21
/* 8035DE88 0035ADE8 48 00 00 08 */ b lbl_8035DE90
lbl_8035DE8C:
/* 8035DE8C 0035ADEC 38 81 00 08 */ addi r4, r1, 8
lbl_8035DE90:
/* 8035DE90 0035ADF0 C0 2D 9E 3C */ lfs f1, lbl_805A89FC@sda21(r13)
/* 8035DE94 0035ADF4 C0 04 00 00 */ lfs f0, 0(r4)
/* 8035DE98 0035ADF8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8035DE9C 0035ADFC 40 80 00 08 */ bge lbl_8035DEA4
/* 8035DEA0 0035AE00 48 00 00 08 */ b lbl_8035DEA8
lbl_8035DEA4:
/* 8035DEA4 0035AE04 38 8D 9E 3C */ addi r4, r13, lbl_805A89FC@sda21
lbl_8035DEA8:
/* 8035DEA8 0035AE08 C0 24 00 00 */ lfs f1, 0(r4)
/* 8035DEAC 0035AE0C 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 8035DEB0 0035AE10 C0 02 CD 40 */ lfs f0, lbl_805AEA60@sda21(r2)
/* 8035DEB4 0035AE14 38 C0 00 01 */ li r6, 1
/* 8035DEB8 0035AE18 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8035DEBC 0035AE1C 38 80 00 00 */ li r4, 0
/* 8035DEC0 0035AE20 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8035DEC4 0035AE24 98 A3 00 14 */ stb r5, 0x14(r3)
/* 8035DEC8 0035AE28 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8035DECC 0035AE2C 90 C3 00 1C */ stw r6, 0x1c(r3)
/* 8035DED0 0035AE30 40 82 00 10 */ bne lbl_8035DEE0
/* 8035DED4 0035AE34 54 E0 06 3F */ clrlwi. r0, r7, 0x18
/* 8035DED8 0035AE38 41 82 00 08 */ beq lbl_8035DEE0
/* 8035DEDC 0035AE3C 7C C4 33 78 */ mr r4, r6
lbl_8035DEE0:
/* 8035DEE0 0035AE40 98 83 00 20 */ stb r4, 0x20(r3)
/* 8035DEE4 0035AE44 38 21 00 10 */ addi r1, r1, 0x10
/* 8035DEE8 0035AE48 4E 80 00 20 */ blr

View File

@ -0,0 +1,855 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global PutTo__13CCharAnimTimeCFR13COutputStream
PutTo__13CCharAnimTimeCFR13COutputStream:
/* 80348334 00345294 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80348338 00345298 7C 08 02 A6 */ mflr r0
/* 8034833C 0034529C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348340 003452A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80348344 003452A4 7C 9F 23 78 */ mr r31, r4
/* 80348348 003452A8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034834C 003452AC 7C 7E 1B 78 */ mr r30, r3
/* 80348350 003452B0 C0 03 00 00 */ lfs f0, 0(r3)
/* 80348354 003452B4 7F E3 FB 78 */ mr r3, r31
/* 80348358 003452B8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8034835C 003452BC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80348360 003452C0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80348364 003452C4 4B FF 71 55 */ bl FlushShiftRegister__13COutputStreamFv
/* 80348368 003452C8 7F E3 FB 78 */ mr r3, r31
/* 8034836C 003452CC 38 81 00 0C */ addi r4, r1, 0xc
/* 80348370 003452D0 38 A0 00 04 */ li r5, 4
/* 80348374 003452D4 4B FF 72 35 */ bl DoPut__13COutputStreamFPCvUl
/* 80348378 003452D8 80 1E 00 04 */ lwz r0, 4(r30)
/* 8034837C 003452DC 7F E3 FB 78 */ mr r3, r31
/* 80348380 003452E0 90 01 00 08 */ stw r0, 8(r1)
/* 80348384 003452E4 4B FF 71 35 */ bl FlushShiftRegister__13COutputStreamFv
/* 80348388 003452E8 7F E3 FB 78 */ mr r3, r31
/* 8034838C 003452EC 38 81 00 08 */ addi r4, r1, 8
/* 80348390 003452F0 38 A0 00 04 */ li r5, 4
/* 80348394 003452F4 4B FF 72 15 */ bl DoPut__13COutputStreamFPCvUl
/* 80348398 003452F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034839C 003452FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803483A0 00345300 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803483A4 00345304 7C 08 03 A6 */ mtlr r0
/* 803483A8 00345308 38 21 00 20 */ addi r1, r1, 0x20
/* 803483AC 0034530C 4E 80 00 20 */ blr
.global EqualsZero__13CCharAnimTimeCFv
EqualsZero__13CCharAnimTimeCFv:
/* 803483B0 00345310 80 83 00 04 */ lwz r4, 4(r3)
/* 803483B4 00345314 38 00 00 00 */ li r0, 0
/* 803483B8 00345318 2C 04 00 01 */ cmpwi r4, 1
/* 803483BC 0034531C 41 82 00 24 */ beq lbl_803483E0
/* 803483C0 00345320 2C 04 00 02 */ cmpwi r4, 2
/* 803483C4 00345324 41 82 00 1C */ beq lbl_803483E0
/* 803483C8 00345328 2C 04 00 03 */ cmpwi r4, 3
/* 803483CC 0034532C 41 82 00 14 */ beq lbl_803483E0
/* 803483D0 00345330 C0 22 CC 20 */ lfs f1, lbl_805AE940@sda21(r2)
/* 803483D4 00345334 C0 03 00 00 */ lfs f0, 0(r3)
/* 803483D8 00345338 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 803483DC 0034533C 40 82 00 08 */ bne lbl_803483E4
lbl_803483E0:
/* 803483E0 00345340 38 00 00 01 */ li r0, 1
lbl_803483E4:
/* 803483E4 00345344 7C 03 03 78 */ mr r3, r0
/* 803483E8 00345348 4E 80 00 20 */ blr
.global GreaterThanZero__13CCharAnimTimeCFv
GreaterThanZero__13CCharAnimTimeCFv:
/* 803483EC 0034534C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803483F0 00345350 7C 08 02 A6 */ mflr r0
/* 803483F4 00345354 90 01 00 14 */ stw r0, 0x14(r1)
/* 803483F8 00345358 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803483FC 0034535C 7C 7F 1B 78 */ mr r31, r3
/* 80348400 00345360 4B FF FF B1 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348404 00345364 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348408 00345368 41 82 00 0C */ beq lbl_80348414
/* 8034840C 0034536C 38 60 00 00 */ li r3, 0
/* 80348410 00345370 48 00 00 18 */ b lbl_80348428
lbl_80348414:
/* 80348414 00345374 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80348418 00345378 C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 8034841C 0034537C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348420 00345380 7C 00 00 26 */ mfcr r0
/* 80348424 00345384 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
lbl_80348428:
/* 80348428 00345388 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034842C 0034538C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80348430 00345390 7C 08 03 A6 */ mtlr r0
/* 80348434 00345394 38 21 00 10 */ addi r1, r1, 0x10
/* 80348438 00345398 4E 80 00 20 */ blr
.global __ge__13CCharAnimTimeCFRC13CCharAnimTime
__ge__13CCharAnimTimeCFRC13CCharAnimTime:
/* 8034843C 0034539C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80348440 003453A0 7C 08 02 A6 */ mflr r0
/* 80348444 003453A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348448 003453A8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034844C 003453AC 3B E0 00 00 */ li r31, 0
/* 80348450 003453B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80348454 003453B4 7C 9E 23 78 */ mr r30, r4
/* 80348458 003453B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034845C 003453BC 7C 7D 1B 78 */ mr r29, r3
/* 80348460 003453C0 48 00 06 A1 */ bl __eq__13CCharAnimTimeCFRC13CCharAnimTime
/* 80348464 003453C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348468 003453C8 40 82 00 18 */ bne lbl_80348480
/* 8034846C 003453CC 7F A3 EB 78 */ mr r3, r29
/* 80348470 003453D0 7F C4 F3 78 */ mr r4, r30
/* 80348474 003453D4 48 00 05 F9 */ bl __gt__13CCharAnimTimeCFRC13CCharAnimTime
/* 80348478 003453D8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8034847C 003453DC 41 82 00 08 */ beq lbl_80348484
lbl_80348480:
/* 80348480 003453E0 3B E0 00 01 */ li r31, 1
lbl_80348484:
/* 80348484 003453E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80348488 003453E8 7F E3 FB 78 */ mr r3, r31
/* 8034848C 003453EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348490 003453F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80348494 003453F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80348498 003453F8 7C 08 03 A6 */ mtlr r0
/* 8034849C 003453FC 38 21 00 20 */ addi r1, r1, 0x20
/* 803484A0 00345400 4E 80 00 20 */ blr
.global __le__13CCharAnimTimeCFRC13CCharAnimTime
__le__13CCharAnimTimeCFRC13CCharAnimTime:
/* 803484A4 00345404 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803484A8 00345408 7C 08 02 A6 */ mflr r0
/* 803484AC 0034540C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803484B0 00345410 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803484B4 00345414 3B E0 00 00 */ li r31, 0
/* 803484B8 00345418 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803484BC 0034541C 7C 9E 23 78 */ mr r30, r4
/* 803484C0 00345420 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803484C4 00345424 7C 7D 1B 78 */ mr r29, r3
/* 803484C8 00345428 48 00 06 39 */ bl __eq__13CCharAnimTimeCFRC13CCharAnimTime
/* 803484CC 0034542C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803484D0 00345430 40 82 00 18 */ bne lbl_803484E8
/* 803484D4 00345434 7F A3 EB 78 */ mr r3, r29
/* 803484D8 00345438 7F C4 F3 78 */ mr r4, r30
/* 803484DC 0034543C 48 00 07 61 */ bl __lt__13CCharAnimTimeCFRC13CCharAnimTime
/* 803484E0 00345440 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803484E4 00345444 41 82 00 08 */ beq lbl_803484EC
lbl_803484E8:
/* 803484E8 00345448 3B E0 00 01 */ li r31, 1
lbl_803484EC:
/* 803484EC 0034544C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803484F0 00345450 7F E3 FB 78 */ mr r3, r31
/* 803484F4 00345454 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803484F8 00345458 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803484FC 0034545C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80348500 00345460 7C 08 03 A6 */ mtlr r0
/* 80348504 00345464 38 21 00 20 */ addi r1, r1, 0x20
/* 80348508 00345468 4E 80 00 20 */ blr
.global __ami__13CCharAnimTimeFRC13CCharAnimTime
__ami__13CCharAnimTimeFRC13CCharAnimTime:
/* 8034850C 0034546C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80348510 00345470 7C 08 02 A6 */ mflr r0
/* 80348514 00345474 7C 85 23 78 */ mr r5, r4
/* 80348518 00345478 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034851C 0034547C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80348520 00345480 7C 7F 1B 78 */ mr r31, r3
/* 80348524 00345484 7F E4 FB 78 */ mr r4, r31
/* 80348528 00345488 38 61 00 08 */ addi r3, r1, 8
/* 8034852C 0034548C 48 00 02 39 */ bl __mi__13CCharAnimTimeCFRC13CCharAnimTime
/* 80348530 00345490 C0 01 00 08 */ lfs f0, 8(r1)
/* 80348534 00345494 7F E3 FB 78 */ mr r3, r31
/* 80348538 00345498 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8034853C 0034549C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80348540 003454A0 90 1F 00 04 */ stw r0, 4(r31)
/* 80348544 003454A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348548 003454A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034854C 003454AC 7C 08 03 A6 */ mtlr r0
/* 80348550 003454B0 38 21 00 20 */ addi r1, r1, 0x20
/* 80348554 003454B4 4E 80 00 20 */ blr
.global __apl__13CCharAnimTimeFRC13CCharAnimTime
__apl__13CCharAnimTimeFRC13CCharAnimTime:
/* 80348558 003454B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034855C 003454BC 7C 08 02 A6 */ mflr r0
/* 80348560 003454C0 7C 85 23 78 */ mr r5, r4
/* 80348564 003454C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348568 003454C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034856C 003454CC 7C 7F 1B 78 */ mr r31, r3
/* 80348570 003454D0 7F E4 FB 78 */ mr r4, r31
/* 80348574 003454D4 38 61 00 08 */ addi r3, r1, 8
/* 80348578 003454D8 48 00 00 2D */ bl __pl__13CCharAnimTimeCFRC13CCharAnimTime
/* 8034857C 003454DC C0 01 00 08 */ lfs f0, 8(r1)
/* 80348580 003454E0 7F E3 FB 78 */ mr r3, r31
/* 80348584 003454E4 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80348588 003454E8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8034858C 003454EC 90 1F 00 04 */ stw r0, 4(r31)
/* 80348590 003454F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348594 003454F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80348598 003454F8 7C 08 03 A6 */ mtlr r0
/* 8034859C 003454FC 38 21 00 20 */ addi r1, r1, 0x20
/* 803485A0 00345500 4E 80 00 20 */ blr
.global __pl__13CCharAnimTimeCFRC13CCharAnimTime
__pl__13CCharAnimTimeCFRC13CCharAnimTime:
/* 803485A4 00345504 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803485A8 00345508 7C 08 02 A6 */ mflr r0
/* 803485AC 0034550C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803485B0 00345510 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803485B4 00345514 7C 7F 1B 78 */ mr r31, r3
/* 803485B8 00345518 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803485BC 0034551C 7C BE 2B 78 */ mr r30, r5
/* 803485C0 00345520 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803485C4 00345524 7C 9D 23 78 */ mr r29, r4
/* 803485C8 00345528 80 64 00 04 */ lwz r3, 4(r4)
/* 803485CC 0034552C 2C 03 00 04 */ cmpwi r3, 4
/* 803485D0 00345530 41 82 00 10 */ beq lbl_803485E0
/* 803485D4 00345534 80 1E 00 04 */ lwz r0, 4(r30)
/* 803485D8 00345538 2C 00 00 04 */ cmpwi r0, 4
/* 803485DC 0034553C 40 82 00 7C */ bne lbl_80348658
lbl_803485E0:
/* 803485E0 00345540 2C 03 00 04 */ cmpwi r3, 4
/* 803485E4 00345544 40 82 00 44 */ bne lbl_80348628
/* 803485E8 00345548 80 1E 00 04 */ lwz r0, 4(r30)
/* 803485EC 0034554C 2C 00 00 04 */ cmpwi r0, 4
/* 803485F0 00345550 40 82 00 38 */ bne lbl_80348628
/* 803485F4 00345554 C0 1E 00 00 */ lfs f0, 0(r30)
/* 803485F8 00345558 C0 3D 00 00 */ lfs f1, 0(r29)
/* 803485FC 0034555C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80348600 00345560 40 82 00 14 */ bne lbl_80348614
/* 80348604 00345564 D0 3F 00 00 */ stfs f1, 0(r31)
/* 80348608 00345568 80 1D 00 04 */ lwz r0, 4(r29)
/* 8034860C 0034556C 90 1F 00 04 */ stw r0, 4(r31)
/* 80348610 00345570 48 00 01 38 */ b lbl_80348748
lbl_80348614:
/* 80348614 00345574 C0 0D 9D 80 */ lfs f0, lbl_805A8940@sda21(r13)
/* 80348618 00345578 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8034861C 0034557C 80 0D 9D 7C */ lwz r0, lbl_805A893C@sda21(r13)
/* 80348620 00345580 90 1F 00 04 */ stw r0, 4(r31)
/* 80348624 00345584 48 00 01 24 */ b lbl_80348748
lbl_80348628:
/* 80348628 00345588 2C 03 00 04 */ cmpwi r3, 4
/* 8034862C 0034558C 40 82 00 18 */ bne lbl_80348644
/* 80348630 00345590 C0 1D 00 00 */ lfs f0, 0(r29)
/* 80348634 00345594 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80348638 00345598 80 1D 00 04 */ lwz r0, 4(r29)
/* 8034863C 0034559C 90 1F 00 04 */ stw r0, 4(r31)
/* 80348640 003455A0 48 00 01 08 */ b lbl_80348748
lbl_80348644:
/* 80348644 003455A4 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80348648 003455A8 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8034864C 003455AC 80 1E 00 04 */ lwz r0, 4(r30)
/* 80348650 003455B0 90 1F 00 04 */ stw r0, 4(r31)
/* 80348654 003455B4 48 00 00 F4 */ b lbl_80348748
lbl_80348658:
/* 80348658 003455B8 7F A3 EB 78 */ mr r3, r29
/* 8034865C 003455BC 4B FF FD 55 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348660 003455C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348664 003455C4 41 82 00 D0 */ beq lbl_80348734
/* 80348668 003455C8 7F C3 F3 78 */ mr r3, r30
/* 8034866C 003455CC 4B FF FD 45 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348670 003455D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348674 003455D4 41 82 00 C0 */ beq lbl_80348734
/* 80348678 003455D8 80 1D 00 04 */ lwz r0, 4(r29)
/* 8034867C 003455DC 2C 00 00 03 */ cmpwi r0, 3
/* 80348680 003455E0 40 82 00 0C */ bne lbl_8034868C
/* 80348684 003455E4 38 60 FF FF */ li r3, -1
/* 80348688 003455E8 48 00 00 18 */ b lbl_803486A0
lbl_8034868C:
/* 8034868C 003455EC 2C 00 00 02 */ cmpwi r0, 2
/* 80348690 003455F0 40 82 00 0C */ bne lbl_8034869C
/* 80348694 003455F4 38 60 00 00 */ li r3, 0
/* 80348698 003455F8 48 00 00 08 */ b lbl_803486A0
lbl_8034869C:
/* 8034869C 003455FC 38 60 00 01 */ li r3, 1
lbl_803486A0:
/* 803486A0 00345600 80 1E 00 04 */ lwz r0, 4(r30)
/* 803486A4 00345604 2C 00 00 03 */ cmpwi r0, 3
/* 803486A8 00345608 40 82 00 0C */ bne lbl_803486B4
/* 803486AC 0034560C 38 80 FF FF */ li r4, -1
/* 803486B0 00345610 48 00 00 18 */ b lbl_803486C8
lbl_803486B4:
/* 803486B4 00345614 2C 00 00 02 */ cmpwi r0, 2
/* 803486B8 00345618 40 82 00 0C */ bne lbl_803486C4
/* 803486BC 0034561C 38 80 00 00 */ li r4, 0
/* 803486C0 00345620 48 00 00 08 */ b lbl_803486C8
lbl_803486C4:
/* 803486C4 00345624 38 80 00 01 */ li r4, 1
lbl_803486C8:
/* 803486C8 00345628 80 0D 9D 8C */ lwz r0, lbl_805A894C@sda21(r13)
/* 803486CC 0034562C 7C 63 22 14 */ add r3, r3, r4
/* 803486D0 00345630 90 61 00 08 */ stw r3, 8(r1)
/* 803486D4 00345634 38 81 00 08 */ addi r4, r1, 8
/* 803486D8 00345638 7C 00 18 00 */ cmpw r0, r3
/* 803486DC 0034563C 40 80 00 08 */ bge lbl_803486E4
/* 803486E0 00345640 38 8D 9D 8C */ addi r4, r13, lbl_805A894C@sda21
lbl_803486E4:
/* 803486E4 00345644 80 6D 9D 90 */ lwz r3, lbl_805A8950@sda21(r13)
/* 803486E8 00345648 80 04 00 00 */ lwz r0, 0(r4)
/* 803486EC 0034564C 7C 03 00 00 */ cmpw r3, r0
/* 803486F0 00345650 40 80 00 08 */ bge lbl_803486F8
/* 803486F4 00345654 48 00 00 08 */ b lbl_803486FC
lbl_803486F8:
/* 803486F8 00345658 38 8D 9D 90 */ addi r4, r13, lbl_805A8950@sda21
lbl_803486FC:
/* 803486FC 0034565C 80 04 00 00 */ lwz r0, 0(r4)
/* 80348700 00345660 2C 00 FF FF */ cmpwi r0, -1
/* 80348704 00345664 40 82 00 0C */ bne lbl_80348710
/* 80348708 00345668 38 00 00 03 */ li r0, 3
/* 8034870C 0034566C 48 00 00 18 */ b lbl_80348724
lbl_80348710:
/* 80348710 00345670 2C 00 00 00 */ cmpwi r0, 0
/* 80348714 00345674 40 82 00 0C */ bne lbl_80348720
/* 80348718 00345678 38 00 00 02 */ li r0, 2
/* 8034871C 0034567C 48 00 00 08 */ b lbl_80348724
lbl_80348720:
/* 80348720 00345680 38 00 00 01 */ li r0, 1
lbl_80348724:
/* 80348724 00345684 C0 0D 9D 94 */ lfs f0, lbl_805A8954@sda21(r13)
/* 80348728 00345688 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8034872C 0034568C 90 1F 00 04 */ stw r0, 4(r31)
/* 80348730 00345690 48 00 00 18 */ b lbl_80348748
lbl_80348734:
/* 80348734 00345694 C0 3D 00 00 */ lfs f1, 0(r29)
/* 80348738 00345698 7F E3 FB 78 */ mr r3, r31
/* 8034873C 0034569C C0 1E 00 00 */ lfs f0, 0(r30)
/* 80348740 003456A0 EC 21 00 2A */ fadds f1, f1, f0
/* 80348744 003456A4 48 00 06 A9 */ bl __ct__13CCharAnimTimeFf
lbl_80348748:
/* 80348748 003456A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034874C 003456AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348750 003456B0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80348754 003456B4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80348758 003456B8 7C 08 03 A6 */ mtlr r0
/* 8034875C 003456BC 38 21 00 20 */ addi r1, r1, 0x20
/* 80348760 003456C0 4E 80 00 20 */ blr
.global __mi__13CCharAnimTimeCFRC13CCharAnimTime
__mi__13CCharAnimTimeCFRC13CCharAnimTime:
/* 80348764 003456C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80348768 003456C8 7C 08 02 A6 */ mflr r0
/* 8034876C 003456CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348770 003456D0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80348774 003456D4 7C BF 2B 78 */ mr r31, r5
/* 80348778 003456D8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034877C 003456DC 7C 9E 23 78 */ mr r30, r4
/* 80348780 003456E0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80348784 003456E4 7C 7D 1B 78 */ mr r29, r3
/* 80348788 003456E8 80 64 00 04 */ lwz r3, 4(r4)
/* 8034878C 003456EC 2C 03 00 04 */ cmpwi r3, 4
/* 80348790 003456F0 41 82 00 10 */ beq lbl_803487A0
/* 80348794 003456F4 80 1F 00 04 */ lwz r0, 4(r31)
/* 80348798 003456F8 2C 00 00 04 */ cmpwi r0, 4
/* 8034879C 003456FC 40 82 00 80 */ bne lbl_8034881C
lbl_803487A0:
/* 803487A0 00345700 2C 03 00 04 */ cmpwi r3, 4
/* 803487A4 00345704 40 82 00 44 */ bne lbl_803487E8
/* 803487A8 00345708 80 1F 00 04 */ lwz r0, 4(r31)
/* 803487AC 0034570C 2C 00 00 04 */ cmpwi r0, 4
/* 803487B0 00345710 40 82 00 38 */ bne lbl_803487E8
/* 803487B4 00345714 C0 1F 00 00 */ lfs f0, 0(r31)
/* 803487B8 00345718 C0 3E 00 00 */ lfs f1, 0(r30)
/* 803487BC 0034571C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 803487C0 00345720 40 82 00 18 */ bne lbl_803487D8
/* 803487C4 00345724 C0 0D 9D 80 */ lfs f0, lbl_805A8940@sda21(r13)
/* 803487C8 00345728 D0 1D 00 00 */ stfs f0, 0(r29)
/* 803487CC 0034572C 80 0D 9D 7C */ lwz r0, lbl_805A893C@sda21(r13)
/* 803487D0 00345730 90 1D 00 04 */ stw r0, 4(r29)
/* 803487D4 00345734 48 00 01 04 */ b lbl_803488D8
lbl_803487D8:
/* 803487D8 00345738 D0 3D 00 00 */ stfs f1, 0(r29)
/* 803487DC 0034573C 80 1E 00 04 */ lwz r0, 4(r30)
/* 803487E0 00345740 90 1D 00 04 */ stw r0, 4(r29)
/* 803487E4 00345744 48 00 00 F4 */ b lbl_803488D8
lbl_803487E8:
/* 803487E8 00345748 2C 03 00 04 */ cmpwi r3, 4
/* 803487EC 0034574C 40 82 00 18 */ bne lbl_80348804
/* 803487F0 00345750 C0 1E 00 00 */ lfs f0, 0(r30)
/* 803487F4 00345754 D0 1D 00 00 */ stfs f0, 0(r29)
/* 803487F8 00345758 80 1E 00 04 */ lwz r0, 4(r30)
/* 803487FC 0034575C 90 1D 00 04 */ stw r0, 4(r29)
/* 80348800 00345760 48 00 00 D8 */ b lbl_803488D8
lbl_80348804:
/* 80348804 00345764 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80348808 00345768 FC 00 00 50 */ fneg f0, f0
/* 8034880C 0034576C D0 1D 00 00 */ stfs f0, 0(r29)
/* 80348810 00345770 80 0D 9D 84 */ lwz r0, lbl_805A8944@sda21(r13)
/* 80348814 00345774 90 1D 00 04 */ stw r0, 4(r29)
/* 80348818 00345778 48 00 00 C0 */ b lbl_803488D8
lbl_8034881C:
/* 8034881C 0034577C 7F C3 F3 78 */ mr r3, r30
/* 80348820 00345780 4B FF FB 91 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348824 00345784 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348828 00345788 41 82 00 9C */ beq lbl_803488C4
/* 8034882C 0034578C 7F E3 FB 78 */ mr r3, r31
/* 80348830 00345790 4B FF FB 81 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348834 00345794 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348838 00345798 41 82 00 8C */ beq lbl_803488C4
/* 8034883C 0034579C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80348840 003457A0 2C 00 00 03 */ cmpwi r0, 3
/* 80348844 003457A4 40 82 00 0C */ bne lbl_80348850
/* 80348848 003457A8 38 00 FF FF */ li r0, -1
/* 8034884C 003457AC 48 00 00 18 */ b lbl_80348864
lbl_80348850:
/* 80348850 003457B0 2C 00 00 02 */ cmpwi r0, 2
/* 80348854 003457B4 40 82 00 0C */ bne lbl_80348860
/* 80348858 003457B8 38 00 00 00 */ li r0, 0
/* 8034885C 003457BC 48 00 00 08 */ b lbl_80348864
lbl_80348860:
/* 80348860 003457C0 38 00 00 01 */ li r0, 1
lbl_80348864:
/* 80348864 003457C4 80 7F 00 04 */ lwz r3, 4(r31)
/* 80348868 003457C8 2C 03 00 03 */ cmpwi r3, 3
/* 8034886C 003457CC 40 82 00 0C */ bne lbl_80348878
/* 80348870 003457D0 38 60 FF FF */ li r3, -1
/* 80348874 003457D4 48 00 00 18 */ b lbl_8034888C
lbl_80348878:
/* 80348878 003457D8 2C 03 00 02 */ cmpwi r3, 2
/* 8034887C 003457DC 40 82 00 0C */ bne lbl_80348888
/* 80348880 003457E0 38 60 00 00 */ li r3, 0
/* 80348884 003457E4 48 00 00 08 */ b lbl_8034888C
lbl_80348888:
/* 80348888 003457E8 38 60 00 01 */ li r3, 1
lbl_8034888C:
/* 8034888C 003457EC 7C 03 00 50 */ subf r0, r3, r0
/* 80348890 003457F0 2C 00 FF FF */ cmpwi r0, -1
/* 80348894 003457F4 40 82 00 0C */ bne lbl_803488A0
/* 80348898 003457F8 38 00 00 03 */ li r0, 3
/* 8034889C 003457FC 48 00 00 18 */ b lbl_803488B4
lbl_803488A0:
/* 803488A0 00345800 2C 00 00 00 */ cmpwi r0, 0
/* 803488A4 00345804 40 82 00 0C */ bne lbl_803488B0
/* 803488A8 00345808 38 00 00 02 */ li r0, 2
/* 803488AC 0034580C 48 00 00 08 */ b lbl_803488B4
lbl_803488B0:
/* 803488B0 00345810 38 00 00 01 */ li r0, 1
lbl_803488B4:
/* 803488B4 00345814 C0 0D 9D 88 */ lfs f0, lbl_805A8948@sda21(r13)
/* 803488B8 00345818 D0 1D 00 00 */ stfs f0, 0(r29)
/* 803488BC 0034581C 90 1D 00 04 */ stw r0, 4(r29)
/* 803488C0 00345820 48 00 00 18 */ b lbl_803488D8
lbl_803488C4:
/* 803488C4 00345824 C0 3E 00 00 */ lfs f1, 0(r30)
/* 803488C8 00345828 7F A3 EB 78 */ mr r3, r29
/* 803488CC 0034582C C0 1F 00 00 */ lfs f0, 0(r31)
/* 803488D0 00345830 EC 21 00 28 */ fsubs f1, f1, f0
/* 803488D4 00345834 48 00 05 19 */ bl __ct__13CCharAnimTimeFf
lbl_803488D8:
/* 803488D8 00345838 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803488DC 0034583C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803488E0 00345840 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803488E4 00345844 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803488E8 00345848 7C 08 03 A6 */ mtlr r0
/* 803488EC 0034584C 38 21 00 20 */ addi r1, r1, 0x20
/* 803488F0 00345850 4E 80 00 20 */ blr
.global __ml__13CCharAnimTimeCFRCf
__ml__13CCharAnimTimeCFRCf:
/* 803488F4 00345854 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803488F8 00345858 7C 08 02 A6 */ mflr r0
/* 803488FC 0034585C C0 22 CC 20 */ lfs f1, lbl_805AE940@sda21(r2)
/* 80348900 00345860 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348904 00345864 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80348908 00345868 7C BF 2B 78 */ mr r31, r5
/* 8034890C 0034586C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80348910 00345870 7C 9E 23 78 */ mr r30, r4
/* 80348914 00345874 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80348918 00345878 7C 7D 1B 78 */ mr r29, r3
/* 8034891C 0034587C C0 05 00 00 */ lfs f0, 0(r5)
/* 80348920 00345880 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80348924 00345884 40 82 00 18 */ bne lbl_8034893C
/* 80348928 00345888 C0 0D 9D 80 */ lfs f0, lbl_805A8940@sda21(r13)
/* 8034892C 0034588C D0 1D 00 00 */ stfs f0, 0(r29)
/* 80348930 00345890 80 0D 9D 7C */ lwz r0, lbl_805A893C@sda21(r13)
/* 80348934 00345894 90 1D 00 04 */ stw r0, 4(r29)
/* 80348938 00345898 48 00 00 C4 */ b lbl_803489FC
lbl_8034893C:
/* 8034893C 0034589C 7F C3 F3 78 */ mr r3, r30
/* 80348940 003458A0 4B FF FA 71 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348944 003458A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348948 003458A8 41 82 00 A0 */ beq lbl_803489E8
/* 8034894C 003458AC C0 3F 00 00 */ lfs f1, 0(r31)
/* 80348950 003458B0 C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348954 003458B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348958 003458B8 40 81 00 18 */ ble lbl_80348970
/* 8034895C 003458BC C0 1E 00 00 */ lfs f0, 0(r30)
/* 80348960 003458C0 D0 1D 00 00 */ stfs f0, 0(r29)
/* 80348964 003458C4 80 1E 00 04 */ lwz r0, 4(r30)
/* 80348968 003458C8 90 1D 00 04 */ stw r0, 4(r29)
/* 8034896C 003458CC 48 00 00 90 */ b lbl_803489FC
lbl_80348970:
/* 80348970 003458D0 40 80 00 64 */ bge lbl_803489D4
/* 80348974 003458D4 80 1E 00 04 */ lwz r0, 4(r30)
/* 80348978 003458D8 2C 00 00 03 */ cmpwi r0, 3
/* 8034897C 003458DC 40 82 00 0C */ bne lbl_80348988
/* 80348980 003458E0 38 00 FF FF */ li r0, -1
/* 80348984 003458E4 48 00 00 18 */ b lbl_8034899C
lbl_80348988:
/* 80348988 003458E8 2C 00 00 02 */ cmpwi r0, 2
/* 8034898C 003458EC 40 82 00 0C */ bne lbl_80348998
/* 80348990 003458F0 38 00 00 00 */ li r0, 0
/* 80348994 003458F4 48 00 00 08 */ b lbl_8034899C
lbl_80348998:
/* 80348998 003458F8 38 00 00 01 */ li r0, 1
lbl_8034899C:
/* 8034899C 003458FC 7C 00 00 D0 */ neg r0, r0
/* 803489A0 00345900 2C 00 FF FF */ cmpwi r0, -1
/* 803489A4 00345904 40 82 00 0C */ bne lbl_803489B0
/* 803489A8 00345908 38 00 00 03 */ li r0, 3
/* 803489AC 0034590C 48 00 00 18 */ b lbl_803489C4
lbl_803489B0:
/* 803489B0 00345910 2C 00 00 00 */ cmpwi r0, 0
/* 803489B4 00345914 40 82 00 0C */ bne lbl_803489C0
/* 803489B8 00345918 38 00 00 02 */ li r0, 2
/* 803489BC 0034591C 48 00 00 08 */ b lbl_803489C4
lbl_803489C0:
/* 803489C0 00345920 38 00 00 01 */ li r0, 1
lbl_803489C4:
/* 803489C4 00345924 C0 0D 9D 78 */ lfs f0, lbl_805A8938@sda21(r13)
/* 803489C8 00345928 D0 1D 00 00 */ stfs f0, 0(r29)
/* 803489CC 0034592C 90 1D 00 04 */ stw r0, 4(r29)
/* 803489D0 00345930 48 00 00 2C */ b lbl_803489FC
lbl_803489D4:
/* 803489D4 00345934 C0 0D 9D 80 */ lfs f0, lbl_805A8940@sda21(r13)
/* 803489D8 00345938 D0 1D 00 00 */ stfs f0, 0(r29)
/* 803489DC 0034593C 80 0D 9D 7C */ lwz r0, lbl_805A893C@sda21(r13)
/* 803489E0 00345940 90 1D 00 04 */ stw r0, 4(r29)
/* 803489E4 00345944 48 00 00 18 */ b lbl_803489FC
lbl_803489E8:
/* 803489E8 00345948 C0 3E 00 00 */ lfs f1, 0(r30)
/* 803489EC 0034594C 7F A3 EB 78 */ mr r3, r29
/* 803489F0 00345950 C0 1F 00 00 */ lfs f0, 0(r31)
/* 803489F4 00345954 EC 21 00 32 */ fmuls f1, f1, f0
/* 803489F8 00345958 48 00 03 F5 */ bl __ct__13CCharAnimTimeFf
lbl_803489FC:
/* 803489FC 0034595C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80348A00 00345960 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348A04 00345964 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80348A08 00345968 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80348A0C 0034596C 7C 08 03 A6 */ mtlr r0
/* 80348A10 00345970 38 21 00 20 */ addi r1, r1, 0x20
/* 80348A14 00345974 4E 80 00 20 */ blr
.global __dv__13CCharAnimTimeCFRC13CCharAnimTime
__dv__13CCharAnimTimeCFRC13CCharAnimTime:
/* 80348A18 00345978 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80348A1C 0034597C 7C 08 02 A6 */ mflr r0
/* 80348A20 00345980 90 01 00 14 */ stw r0, 0x14(r1)
/* 80348A24 00345984 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80348A28 00345988 7C 9F 23 78 */ mr r31, r4
/* 80348A2C 0034598C 93 C1 00 08 */ stw r30, 8(r1)
/* 80348A30 00345990 7C 7E 1B 78 */ mr r30, r3
/* 80348A34 00345994 4B FF F9 7D */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348A38 00345998 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348A3C 0034599C 41 82 00 0C */ beq lbl_80348A48
/* 80348A40 003459A0 C0 22 CC 20 */ lfs f1, lbl_805AE940@sda21(r2)
/* 80348A44 003459A4 48 00 00 10 */ b lbl_80348A54
lbl_80348A48:
/* 80348A48 003459A8 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80348A4C 003459AC C0 1F 00 00 */ lfs f0, 0(r31)
/* 80348A50 003459B0 EC 21 00 24 */ fdivs f1, f1, f0
lbl_80348A54:
/* 80348A54 003459B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80348A58 003459B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80348A5C 003459BC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80348A60 003459C0 7C 08 03 A6 */ mtlr r0
/* 80348A64 003459C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80348A68 003459C8 4E 80 00 20 */ blr
.global __gt__13CCharAnimTimeCFRC13CCharAnimTime
__gt__13CCharAnimTimeCFRC13CCharAnimTime:
/* 80348A6C 003459CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80348A70 003459D0 7C 08 02 A6 */ mflr r0
/* 80348A74 003459D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348A78 003459D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80348A7C 003459DC 3B E0 00 00 */ li r31, 0
/* 80348A80 003459E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80348A84 003459E4 7C 9E 23 78 */ mr r30, r4
/* 80348A88 003459E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80348A8C 003459EC 7C 7D 1B 78 */ mr r29, r3
/* 80348A90 003459F0 48 00 00 71 */ bl __eq__13CCharAnimTimeCFRC13CCharAnimTime
/* 80348A94 003459F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348A98 003459F8 40 82 00 1C */ bne lbl_80348AB4
/* 80348A9C 003459FC 7F A3 EB 78 */ mr r3, r29
/* 80348AA0 00345A00 7F C4 F3 78 */ mr r4, r30
/* 80348AA4 00345A04 48 00 01 99 */ bl __lt__13CCharAnimTimeCFRC13CCharAnimTime
/* 80348AA8 00345A08 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348AAC 00345A0C 40 82 00 08 */ bne lbl_80348AB4
/* 80348AB0 00345A10 3B E0 00 01 */ li r31, 1
lbl_80348AB4:
/* 80348AB4 00345A14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80348AB8 00345A18 7F E3 FB 78 */ mr r3, r31
/* 80348ABC 00345A1C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348AC0 00345A20 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80348AC4 00345A24 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80348AC8 00345A28 7C 08 03 A6 */ mtlr r0
/* 80348ACC 00345A2C 38 21 00 20 */ addi r1, r1, 0x20
/* 80348AD0 00345A30 4E 80 00 20 */ blr
.global __ne__13CCharAnimTimeCFRC13CCharAnimTime
__ne__13CCharAnimTimeCFRC13CCharAnimTime:
/* 80348AD4 00345A34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80348AD8 00345A38 7C 08 02 A6 */ mflr r0
/* 80348ADC 00345A3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80348AE0 00345A40 48 00 00 21 */ bl __eq__13CCharAnimTimeCFRC13CCharAnimTime
/* 80348AE4 00345A44 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80348AE8 00345A48 7C 00 00 34 */ cntlzw r0, r0
/* 80348AEC 00345A4C 54 03 D9 7E */ srwi r3, r0, 5
/* 80348AF0 00345A50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80348AF4 00345A54 7C 08 03 A6 */ mtlr r0
/* 80348AF8 00345A58 38 21 00 10 */ addi r1, r1, 0x10
/* 80348AFC 00345A5C 4E 80 00 20 */ blr
.global __eq__13CCharAnimTimeCFRC13CCharAnimTime
__eq__13CCharAnimTimeCFRC13CCharAnimTime:
/* 80348B00 00345A60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80348B04 00345A64 7C 08 02 A6 */ mflr r0
/* 80348B08 00345A68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80348B0C 00345A6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80348B10 00345A70 7C 9F 23 78 */ mr r31, r4
/* 80348B14 00345A74 93 C1 00 08 */ stw r30, 8(r1)
/* 80348B18 00345A78 7C 7E 1B 78 */ mr r30, r3
/* 80348B1C 00345A7C 80 03 00 04 */ lwz r0, 4(r3)
/* 80348B20 00345A80 2C 00 00 00 */ cmpwi r0, 0
/* 80348B24 00345A84 40 82 00 4C */ bne lbl_80348B70
/* 80348B28 00345A88 80 1F 00 04 */ lwz r0, 4(r31)
/* 80348B2C 00345A8C 2C 00 00 00 */ cmpwi r0, 0
/* 80348B30 00345A90 40 82 00 1C */ bne lbl_80348B4C
/* 80348B34 00345A94 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80348B38 00345A98 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80348B3C 00345A9C FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80348B40 00345AA0 7C 00 00 26 */ mfcr r0
/* 80348B44 00345AA4 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f
/* 80348B48 00345AA8 48 00 00 DC */ b lbl_80348C24
lbl_80348B4C:
/* 80348B4C 00345AAC 7F E3 FB 78 */ mr r3, r31
/* 80348B50 00345AB0 4B FF F8 61 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348B54 00345AB4 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 80348B58 00345AB8 38 00 00 00 */ li r0, 0
/* 80348B5C 00345ABC 7C 64 00 D0 */ neg r3, r4
/* 80348B60 00345AC0 7C 63 23 78 */ or r3, r3, r4
/* 80348B64 00345AC4 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 80348B68 00345AC8 7C 03 18 78 */ andc r3, r0, r3
/* 80348B6C 00345ACC 48 00 00 B8 */ b lbl_80348C24
lbl_80348B70:
/* 80348B70 00345AD0 4B FF F8 41 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348B74 00345AD4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348B78 00345AD8 41 82 00 7C */ beq lbl_80348BF4
/* 80348B7C 00345ADC 7F E3 FB 78 */ mr r3, r31
/* 80348B80 00345AE0 4B FF F8 31 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348B84 00345AE4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348B88 00345AE8 41 82 00 64 */ beq lbl_80348BEC
/* 80348B8C 00345AEC 80 1E 00 04 */ lwz r0, 4(r30)
/* 80348B90 00345AF0 2C 00 00 03 */ cmpwi r0, 3
/* 80348B94 00345AF4 40 82 00 0C */ bne lbl_80348BA0
/* 80348B98 00345AF8 38 00 FF FF */ li r0, -1
/* 80348B9C 00345AFC 48 00 00 18 */ b lbl_80348BB4
lbl_80348BA0:
/* 80348BA0 00345B00 2C 00 00 02 */ cmpwi r0, 2
/* 80348BA4 00345B04 40 82 00 0C */ bne lbl_80348BB0
/* 80348BA8 00345B08 38 00 00 00 */ li r0, 0
/* 80348BAC 00345B0C 48 00 00 08 */ b lbl_80348BB4
lbl_80348BB0:
/* 80348BB0 00345B10 38 00 00 01 */ li r0, 1
lbl_80348BB4:
/* 80348BB4 00345B14 80 7F 00 04 */ lwz r3, 4(r31)
/* 80348BB8 00345B18 2C 03 00 03 */ cmpwi r3, 3
/* 80348BBC 00345B1C 40 82 00 0C */ bne lbl_80348BC8
/* 80348BC0 00345B20 38 60 FF FF */ li r3, -1
/* 80348BC4 00345B24 48 00 00 18 */ b lbl_80348BDC
lbl_80348BC8:
/* 80348BC8 00345B28 2C 03 00 02 */ cmpwi r3, 2
/* 80348BCC 00345B2C 40 82 00 0C */ bne lbl_80348BD8
/* 80348BD0 00345B30 38 60 00 00 */ li r3, 0
/* 80348BD4 00345B34 48 00 00 08 */ b lbl_80348BDC
lbl_80348BD8:
/* 80348BD8 00345B38 38 60 00 01 */ li r3, 1
lbl_80348BDC:
/* 80348BDC 00345B3C 7C 00 18 50 */ subf r0, r0, r3
/* 80348BE0 00345B40 7C 00 00 34 */ cntlzw r0, r0
/* 80348BE4 00345B44 54 03 D9 7E */ srwi r3, r0, 5
/* 80348BE8 00345B48 48 00 00 3C */ b lbl_80348C24
lbl_80348BEC:
/* 80348BEC 00345B4C 38 60 00 00 */ li r3, 0
/* 80348BF0 00345B50 48 00 00 34 */ b lbl_80348C24
lbl_80348BF4:
/* 80348BF4 00345B54 80 1F 00 04 */ lwz r0, 4(r31)
/* 80348BF8 00345B58 2C 00 00 04 */ cmpwi r0, 4
/* 80348BFC 00345B5C 40 82 00 24 */ bne lbl_80348C20
/* 80348C00 00345B60 C0 5E 00 00 */ lfs f2, 0(r30)
/* 80348C04 00345B64 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80348C08 00345B68 C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348C0C 00345B6C EC 22 00 72 */ fmuls f1, f2, f1
/* 80348C10 00345B70 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348C14 00345B74 7C 00 00 26 */ mfcr r0
/* 80348C18 00345B78 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
/* 80348C1C 00345B7C 48 00 00 08 */ b lbl_80348C24
lbl_80348C20:
/* 80348C20 00345B80 38 60 00 00 */ li r3, 0
lbl_80348C24:
/* 80348C24 00345B84 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80348C28 00345B88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80348C2C 00345B8C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80348C30 00345B90 7C 08 03 A6 */ mtlr r0
/* 80348C34 00345B94 38 21 00 10 */ addi r1, r1, 0x10
/* 80348C38 00345B98 4E 80 00 20 */ blr
.global __lt__13CCharAnimTimeCFRC13CCharAnimTime
__lt__13CCharAnimTimeCFRC13CCharAnimTime:
/* 80348C3C 00345B9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80348C40 00345BA0 7C 08 02 A6 */ mflr r0
/* 80348C44 00345BA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80348C48 00345BA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80348C4C 00345BAC 7C 9F 23 78 */ mr r31, r4
/* 80348C50 00345BB0 93 C1 00 08 */ stw r30, 8(r1)
/* 80348C54 00345BB4 7C 7E 1B 78 */ mr r30, r3
/* 80348C58 00345BB8 80 03 00 04 */ lwz r0, 4(r3)
/* 80348C5C 00345BBC 2C 00 00 00 */ cmpwi r0, 0
/* 80348C60 00345BC0 40 82 00 68 */ bne lbl_80348CC8
/* 80348C64 00345BC4 80 1F 00 04 */ lwz r0, 4(r31)
/* 80348C68 00345BC8 2C 00 00 00 */ cmpwi r0, 0
/* 80348C6C 00345BCC 40 82 00 1C */ bne lbl_80348C88
/* 80348C70 00345BD0 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80348C74 00345BD4 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80348C78 00345BD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348C7C 00345BDC 7C 00 00 26 */ mfcr r0
/* 80348C80 00345BE0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80348C84 00345BE4 48 00 01 50 */ b lbl_80348DD4
lbl_80348C88:
/* 80348C88 00345BE8 7F E3 FB 78 */ mr r3, r31
/* 80348C8C 00345BEC 4B FF F7 25 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348C90 00345BF0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348C94 00345BF4 41 82 00 1C */ beq lbl_80348CB0
/* 80348C98 00345BF8 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80348C9C 00345BFC C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348CA0 00345C00 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348CA4 00345C04 7C 00 00 26 */ mfcr r0
/* 80348CA8 00345C08 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80348CAC 00345C0C 48 00 01 28 */ b lbl_80348DD4
lbl_80348CB0:
/* 80348CB0 00345C10 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80348CB4 00345C14 C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348CB8 00345C18 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348CBC 00345C1C 7C 00 00 26 */ mfcr r0
/* 80348CC0 00345C20 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
/* 80348CC4 00345C24 48 00 01 10 */ b lbl_80348DD4
lbl_80348CC8:
/* 80348CC8 00345C28 4B FF F6 E9 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348CCC 00345C2C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348CD0 00345C30 41 82 00 B8 */ beq lbl_80348D88
/* 80348CD4 00345C34 7F E3 FB 78 */ mr r3, r31
/* 80348CD8 00345C38 4B FF F6 D9 */ bl EqualsZero__13CCharAnimTimeCFv
/* 80348CDC 00345C3C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80348CE0 00345C40 41 82 00 6C */ beq lbl_80348D4C
/* 80348CE4 00345C44 80 1E 00 04 */ lwz r0, 4(r30)
/* 80348CE8 00345C48 2C 00 00 03 */ cmpwi r0, 3
/* 80348CEC 00345C4C 40 82 00 0C */ bne lbl_80348CF8
/* 80348CF0 00345C50 38 00 FF FF */ li r0, -1
/* 80348CF4 00345C54 48 00 00 18 */ b lbl_80348D0C
lbl_80348CF8:
/* 80348CF8 00345C58 2C 00 00 02 */ cmpwi r0, 2
/* 80348CFC 00345C5C 40 82 00 0C */ bne lbl_80348D08
/* 80348D00 00345C60 38 00 00 00 */ li r0, 0
/* 80348D04 00345C64 48 00 00 08 */ b lbl_80348D0C
lbl_80348D08:
/* 80348D08 00345C68 38 00 00 01 */ li r0, 1
lbl_80348D0C:
/* 80348D0C 00345C6C 80 7F 00 04 */ lwz r3, 4(r31)
/* 80348D10 00345C70 2C 03 00 03 */ cmpwi r3, 3
/* 80348D14 00345C74 40 82 00 0C */ bne lbl_80348D20
/* 80348D18 00345C78 38 80 FF FF */ li r4, -1
/* 80348D1C 00345C7C 48 00 00 18 */ b lbl_80348D34
lbl_80348D20:
/* 80348D20 00345C80 2C 03 00 02 */ cmpwi r3, 2
/* 80348D24 00345C84 40 82 00 0C */ bne lbl_80348D30
/* 80348D28 00345C88 38 80 00 00 */ li r4, 0
/* 80348D2C 00345C8C 48 00 00 08 */ b lbl_80348D34
lbl_80348D30:
/* 80348D30 00345C90 38 80 00 01 */ li r4, 1
lbl_80348D34:
/* 80348D34 00345C94 7C 80 02 78 */ xor r0, r4, r0
/* 80348D38 00345C98 7C 03 0E 70 */ srawi r3, r0, 1
/* 80348D3C 00345C9C 7C 00 20 38 */ and r0, r0, r4
/* 80348D40 00345CA0 7C 00 18 50 */ subf r0, r0, r3
/* 80348D44 00345CA4 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80348D48 00345CA8 48 00 00 8C */ b lbl_80348DD4
lbl_80348D4C:
/* 80348D4C 00345CAC 80 1F 00 04 */ lwz r0, 4(r31)
/* 80348D50 00345CB0 2C 00 00 00 */ cmpwi r0, 0
/* 80348D54 00345CB4 40 82 00 1C */ bne lbl_80348D70
/* 80348D58 00345CB8 C0 22 CC 20 */ lfs f1, lbl_805AE940@sda21(r2)
/* 80348D5C 00345CBC C0 1F 00 00 */ lfs f0, 0(r31)
/* 80348D60 00345CC0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348D64 00345CC4 7C 00 00 26 */ mfcr r0
/* 80348D68 00345CC8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80348D6C 00345CCC 48 00 00 68 */ b lbl_80348DD4
lbl_80348D70:
/* 80348D70 00345CD0 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80348D74 00345CD4 C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348D78 00345CD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348D7C 00345CDC 7C 00 00 26 */ mfcr r0
/* 80348D80 00345CE0 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
/* 80348D84 00345CE4 48 00 00 50 */ b lbl_80348DD4
lbl_80348D88:
/* 80348D88 00345CE8 80 1F 00 04 */ lwz r0, 4(r31)
/* 80348D8C 00345CEC 2C 00 00 04 */ cmpwi r0, 4
/* 80348D90 00345CF0 40 82 00 30 */ bne lbl_80348DC0
/* 80348D94 00345CF4 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80348D98 00345CF8 C0 22 CC 20 */ lfs f1, lbl_805AE940@sda21(r2)
/* 80348D9C 00345CFC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80348DA0 00345D00 40 80 00 18 */ bge lbl_80348DB8
/* 80348DA4 00345D04 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80348DA8 00345D08 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80348DAC 00345D0C 40 81 00 0C */ ble lbl_80348DB8
/* 80348DB0 00345D10 38 60 00 01 */ li r3, 1
/* 80348DB4 00345D14 48 00 00 20 */ b lbl_80348DD4
lbl_80348DB8:
/* 80348DB8 00345D18 38 60 00 00 */ li r3, 0
/* 80348DBC 00345D1C 48 00 00 18 */ b lbl_80348DD4
lbl_80348DC0:
/* 80348DC0 00345D20 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80348DC4 00345D24 C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348DC8 00345D28 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80348DCC 00345D2C 7C 00 00 26 */ mfcr r0
/* 80348DD0 00345D30 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80348DD4:
/* 80348DD4 00345D34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80348DD8 00345D38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80348DDC 00345D3C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80348DE0 00345D40 7C 08 03 A6 */ mtlr r0
/* 80348DE4 00345D44 38 21 00 10 */ addi r1, r1, 0x10
/* 80348DE8 00345D48 4E 80 00 20 */ blr
.global __ct__13CCharAnimTimeFf
__ct__13CCharAnimTimeFf:
/* 80348DEC 00345D4C C0 02 CC 20 */ lfs f0, lbl_805AE940@sda21(r2)
/* 80348DF0 00345D50 D0 23 00 00 */ stfs f1, 0(r3)
/* 80348DF4 00345D54 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80348DF8 00345D58 40 82 00 10 */ bne lbl_80348E08
/* 80348DFC 00345D5C 38 00 00 02 */ li r0, 2
/* 80348E00 00345D60 90 03 00 04 */ stw r0, 4(r3)
/* 80348E04 00345D64 4E 80 00 20 */ blr
lbl_80348E08:
/* 80348E08 00345D68 38 00 00 00 */ li r0, 0
/* 80348E0C 00345D6C 90 03 00 04 */ stw r0, 4(r3)
/* 80348E10 00345D70 4E 80 00 20 */ blr
.global __ct__13CCharAnimTimeFR12CInputStream
__ct__13CCharAnimTimeFR12CInputStream:
/* 80348E14 00345D74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80348E18 00345D78 7C 08 02 A6 */ mflr r0
/* 80348E1C 00345D7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80348E20 00345D80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80348E24 00345D84 7C 9F 23 78 */ mr r31, r4
/* 80348E28 00345D88 93 C1 00 08 */ stw r30, 8(r1)
/* 80348E2C 00345D8C 7C 7E 1B 78 */ mr r30, r3
/* 80348E30 00345D90 7F E3 FB 78 */ mr r3, r31
/* 80348E34 00345D94 4B FF 5D F5 */ bl ReadFloat__12CInputStreamFv
/* 80348E38 00345D98 D0 3E 00 00 */ stfs f1, 0(r30)
/* 80348E3C 00345D9C 7F E3 FB 78 */ mr r3, r31
/* 80348E40 00345DA0 4B FF 5E 45 */ bl ReadLong__12CInputStreamFv
/* 80348E44 00345DA4 90 7E 00 04 */ stw r3, 4(r30)
/* 80348E48 00345DA8 7F C3 F3 78 */ mr r3, r30
/* 80348E4C 00345DAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80348E50 00345DB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80348E54 00345DB4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80348E58 00345DB8 7C 08 03 A6 */ mtlr r0
/* 80348E5C 00345DBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80348E60 00345DC0 4E 80 00 20 */ blr

View File

@ -0,0 +1,34 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __ct__15CHalfTransitionFR12CInputStream
__ct__15CHalfTransitionFR12CInputStream:
/* 80366748 003636A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036674C 003636AC 7C 08 02 A6 */ mflr r0
/* 80366750 003636B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80366754 003636B4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80366758 003636B8 7C 9F 23 78 */ mr r31, r4
/* 8036675C 003636BC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80366760 003636C0 7C 7E 1B 78 */ mr r30, r3
/* 80366764 003636C4 7F E3 FB 78 */ mr r3, r31
/* 80366768 003636C8 4B FD 85 1D */ bl ReadLong__12CInputStreamFv
/* 8036676C 003636CC 90 7E 00 00 */ stw r3, 0(r30)
/* 80366770 003636D0 7F E4 FB 78 */ mr r4, r31
/* 80366774 003636D4 38 61 00 08 */ addi r3, r1, 8
/* 80366778 003636D8 4B F7 B6 75 */ bl CreateMetaTrans__17CMetaTransFactoryFR12CInputStream
/* 8036677C 003636DC 80 01 00 08 */ lwz r0, 8(r1)
/* 80366780 003636E0 38 61 00 08 */ addi r3, r1, 8
/* 80366784 003636E4 90 1E 00 04 */ stw r0, 4(r30)
/* 80366788 003636E8 80 BE 00 04 */ lwz r5, 4(r30)
/* 8036678C 003636EC 80 85 00 04 */ lwz r4, 4(r5)
/* 80366790 003636F0 38 04 00 01 */ addi r0, r4, 1
/* 80366794 003636F4 90 05 00 04 */ stw r0, 4(r5)
/* 80366798 003636F8 4B CC DA FD */ bl __dt__17CMetaTransFactoryFv
/* 8036679C 003636FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803667A0 00363700 7F C3 F3 78 */ mr r3, r30
/* 803667A4 00363704 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803667A8 00363708 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803667AC 0036370C 7C 08 03 A6 */ mtlr r0
/* 803667B0 00363710 38 21 00 20 */ addi r1, r1, 0x20
/* 803667B4 00363714 4E 80 00 20 */ blr

View File

@ -0,0 +1,284 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Clear__17CPoseAsTransformsFv
Clear__17CPoseAsTransformsFv:
/* 80368EA4 00365E04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80368EA8 00365E08 7C 08 02 A6 */ mflr r0
/* 80368EAC 00365E0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80368EB0 00365E10 48 00 03 5D */ bl "Clear__58TSegIdMapVariableSize<Q217CPoseAsTransforms12CElementType>Fv"
/* 80368EB4 00365E14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80368EB8 00365E18 7C 08 03 A6 */ mtlr r0
/* 80368EBC 00365E1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80368EC0 00365E20 4E 80 00 20 */ blr
.global ContainsDataFor__17CPoseAsTransformsCFRC6CSegId
ContainsDataFor__17CPoseAsTransformsCFRC6CSegId:
/* 80368EC4 00365E24 88 A4 00 00 */ lbz r5, 0(r4)
/* 80368EC8 00365E28 38 80 00 00 */ li r4, 0
/* 80368ECC 00365E2C 88 0D 9E 9A */ lbz r0, lbl_805A8A5A@sda21(r13)
/* 80368ED0 00365E30 54 A5 08 3C */ slwi r5, r5, 1
/* 80368ED4 00365E34 88 CD 9E 9B */ lbz r6, lbl_805A8A5B@sda21(r13)
/* 80368ED8 00365E38 7C A3 2A 14 */ add r5, r3, r5
/* 80368EDC 00365E3C 7C 00 07 74 */ extsb r0, r0
/* 80368EE0 00365E40 88 65 00 08 */ lbz r3, 8(r5)
/* 80368EE4 00365E44 7C C6 07 74 */ extsb r6, r6
/* 80368EE8 00365E48 7C 63 07 74 */ extsb r3, r3
/* 80368EEC 00365E4C 7C 03 00 00 */ cmpw r3, r0
/* 80368EF0 00365E50 40 82 00 14 */ bne lbl_80368F04
/* 80368EF4 00365E54 88 05 00 09 */ lbz r0, 9(r5)
/* 80368EF8 00365E58 7C 00 07 74 */ extsb r0, r0
/* 80368EFC 00365E5C 7C 00 30 00 */ cmpw r0, r6
/* 80368F00 00365E60 41 82 00 08 */ beq lbl_80368F08
lbl_80368F04:
/* 80368F04 00365E64 38 80 00 01 */ li r4, 1
lbl_80368F08:
/* 80368F08 00365E68 7C 83 23 78 */ mr r3, r4
/* 80368F0C 00365E6C 4E 80 00 20 */ blr
.global AccumulateScaledTransform__17CPoseAsTransformsCFRC6CSegIdR9CMatrix3ff
AccumulateScaledTransform__17CPoseAsTransformsCFRC6CSegIdR9CMatrix3ff:
/* 80368F10 00365E70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80368F14 00365E74 7C 08 02 A6 */ mflr r0
/* 80368F18 00365E78 90 01 00 24 */ stw r0, 0x24(r1)
/* 80368F1C 00365E7C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 80368F20 00365E80 FF E0 08 90 */ fmr f31, f1
/* 80368F24 00365E84 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80368F28 00365E88 7C BF 2B 78 */ mr r31, r5
/* 80368F2C 00365E8C 48 00 00 71 */ bl GetRotation__17CPoseAsTransformsCFRC6CSegId
/* 80368F30 00365E90 FC 20 F8 90 */ fmr f1, f31
/* 80368F34 00365E94 7C 64 1B 78 */ mr r4, r3
/* 80368F38 00365E98 7F E3 FB 78 */ mr r3, r31
/* 80368F3C 00365E9C 4B FA 71 15 */ bl AddScaledMatrix__9CMatrix3fFRC9CMatrix3ff
/* 80368F40 00365EA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80368F44 00365EA4 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 80368F48 00365EA8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80368F4C 00365EAC 7C 08 03 A6 */ mtlr r0
/* 80368F50 00365EB0 38 21 00 20 */ addi r1, r1, 0x20
/* 80368F54 00365EB4 4E 80 00 20 */ blr
.global GetOffset__17CPoseAsTransformsCFRC6CSegId
GetOffset__17CPoseAsTransformsCFRC6CSegId:
/* 80368F58 00365EB8 88 04 00 00 */ lbz r0, 0(r4)
/* 80368F5C 00365EBC 80 83 00 D0 */ lwz r4, 0xd0(r3)
/* 80368F60 00365EC0 54 00 08 3C */ slwi r0, r0, 1
/* 80368F64 00365EC4 7C 63 02 14 */ add r3, r3, r0
/* 80368F68 00365EC8 88 03 00 09 */ lbz r0, 9(r3)
/* 80368F6C 00365ECC 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80368F70 00365ED0 38 63 00 24 */ addi r3, r3, 0x24
/* 80368F74 00365ED4 7C 64 1A 14 */ add r3, r4, r3
/* 80368F78 00365ED8 4E 80 00 20 */ blr
.global GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId
GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId:
/* 80368F7C 00365EDC 88 04 00 00 */ lbz r0, 0(r4)
/* 80368F80 00365EE0 80 83 00 D0 */ lwz r4, 0xd0(r3)
/* 80368F84 00365EE4 54 00 08 3C */ slwi r0, r0, 1
/* 80368F88 00365EE8 7C 63 02 14 */ add r3, r3, r0
/* 80368F8C 00365EEC 88 03 00 09 */ lbz r0, 9(r3)
/* 80368F90 00365EF0 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80368F94 00365EF4 7C 64 02 14 */ add r3, r4, r0
/* 80368F98 00365EF8 4E 80 00 20 */ blr
.global GetRotation__17CPoseAsTransformsCFRC6CSegId
GetRotation__17CPoseAsTransformsCFRC6CSegId:
/* 80368F9C 00365EFC 88 04 00 00 */ lbz r0, 0(r4)
/* 80368FA0 00365F00 80 83 00 D0 */ lwz r4, 0xd0(r3)
/* 80368FA4 00365F04 54 00 08 3C */ slwi r0, r0, 1
/* 80368FA8 00365F08 7C 63 02 14 */ add r3, r3, r0
/* 80368FAC 00365F0C 88 03 00 09 */ lbz r0, 9(r3)
/* 80368FB0 00365F10 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80368FB4 00365F14 7C 64 02 14 */ add r3, r4, r0
/* 80368FB8 00365F18 4E 80 00 20 */ blr
.global Insert__17CPoseAsTransformsFRC6CSegIdRC9CMatrix3fRC9CVector3f
Insert__17CPoseAsTransformsFRC6CSegIdRC9CMatrix3fRC9CVector3f:
/* 80368FBC 00365F1C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80368FC0 00365F20 7C 08 02 A6 */ mflr r0
/* 80368FC4 00365F24 90 01 00 54 */ stw r0, 0x54(r1)
/* 80368FC8 00365F28 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80368FCC 00365F2C 7C DF 33 78 */ mr r31, r6
/* 80368FD0 00365F30 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80368FD4 00365F34 7C 9E 23 78 */ mr r30, r4
/* 80368FD8 00365F38 7C A4 2B 78 */ mr r4, r5
/* 80368FDC 00365F3C 93 A1 00 44 */ stw r29, 0x44(r1)
/* 80368FE0 00365F40 7C 7D 1B 78 */ mr r29, r3
/* 80368FE4 00365F44 38 61 00 08 */ addi r3, r1, 8
/* 80368FE8 00365F48 4B FA 70 3D */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 80368FEC 00365F4C C0 5F 00 00 */ lfs f2, 0(r31)
/* 80368FF0 00365F50 7F A3 EB 78 */ mr r3, r29
/* 80368FF4 00365F54 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80368FF8 00365F58 7F C4 F3 78 */ mr r4, r30
/* 80368FFC 00365F5C C0 1F 00 08 */ lfs f0, 8(r31)
/* 80369000 00365F60 38 A1 00 08 */ addi r5, r1, 8
/* 80369004 00365F64 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 80369008 00365F68 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 8036900C 00365F6C D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80369010 00365F70 48 00 01 51 */ bl "Insert__58TSegIdMapVariableSize<Q217CPoseAsTransforms12CElementType>FRC6CSegIdRCQ217CPoseAsTransforms12CElementType"
/* 80369014 00365F74 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80369018 00365F78 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8036901C 00365F7C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80369020 00365F80 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 80369024 00365F84 7C 08 03 A6 */ mtlr r0
/* 80369028 00365F88 38 21 00 50 */ addi r1, r1, 0x50
/* 8036902C 00365F8C 4E 80 00 20 */ blr
.global __ct__17CPoseAsTransformsFUc
__ct__17CPoseAsTransformsFUc:
/* 80369030 00365F90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369034 00365F94 7C 08 02 A6 */ mflr r0
/* 80369038 00365F98 38 E0 00 00 */ li r7, 0
/* 8036903C 00365F9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80369040 00365FA0 38 00 00 0A */ li r0, 0xa
/* 80369044 00365FA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80369048 00365FA8 7C 7F 1B 78 */ mr r31, r3
/* 8036904C 00365FAC 39 1F 00 08 */ addi r8, r31, 8
/* 80369050 00365FB0 98 E3 00 00 */ stb r7, 0(r3)
/* 80369054 00365FB4 38 60 00 64 */ li r3, 0x64
/* 80369058 00365FB8 98 9F 00 01 */ stb r4, 1(r31)
/* 8036905C 00365FBC 88 CD 9E 98 */ lbz r6, lbl_805A8A58@sda21(r13)
/* 80369060 00365FC0 88 AD 9E 99 */ lbz r5, lbl_805A8A59@sda21(r13)
/* 80369064 00365FC4 7C C6 07 74 */ extsb r6, r6
/* 80369068 00365FC8 90 7F 00 04 */ stw r3, 4(r31)
/* 8036906C 00365FCC 7C A3 07 74 */ extsb r3, r5
/* 80369070 00365FD0 7C 09 03 A6 */ mtctr r0
lbl_80369074:
/* 80369074 00365FD4 28 08 00 00 */ cmplwi r8, 0
/* 80369078 00365FD8 41 82 00 0C */ beq lbl_80369084
/* 8036907C 00365FDC 98 C8 00 00 */ stb r6, 0(r8)
/* 80369080 00365FE0 98 68 00 01 */ stb r3, 1(r8)
lbl_80369084:
/* 80369084 00365FE4 35 08 00 02 */ addic. r8, r8, 2
/* 80369088 00365FE8 41 82 00 0C */ beq lbl_80369094
/* 8036908C 00365FEC 98 C8 00 00 */ stb r6, 0(r8)
/* 80369090 00365FF0 98 68 00 01 */ stb r3, 1(r8)
lbl_80369094:
/* 80369094 00365FF4 35 08 00 02 */ addic. r8, r8, 2
/* 80369098 00365FF8 41 82 00 0C */ beq lbl_803690A4
/* 8036909C 00365FFC 98 C8 00 00 */ stb r6, 0(r8)
/* 803690A0 00366000 98 68 00 01 */ stb r3, 1(r8)
lbl_803690A4:
/* 803690A4 00366004 35 08 00 02 */ addic. r8, r8, 2
/* 803690A8 00366008 41 82 00 0C */ beq lbl_803690B4
/* 803690AC 0036600C 98 C8 00 00 */ stb r6, 0(r8)
/* 803690B0 00366010 98 68 00 01 */ stb r3, 1(r8)
lbl_803690B4:
/* 803690B4 00366014 35 08 00 02 */ addic. r8, r8, 2
/* 803690B8 00366018 41 82 00 0C */ beq lbl_803690C4
/* 803690BC 0036601C 98 C8 00 00 */ stb r6, 0(r8)
/* 803690C0 00366020 98 68 00 01 */ stb r3, 1(r8)
lbl_803690C4:
/* 803690C4 00366024 35 08 00 02 */ addic. r8, r8, 2
/* 803690C8 00366028 41 82 00 0C */ beq lbl_803690D4
/* 803690CC 0036602C 98 C8 00 00 */ stb r6, 0(r8)
/* 803690D0 00366030 98 68 00 01 */ stb r3, 1(r8)
lbl_803690D4:
/* 803690D4 00366034 35 08 00 02 */ addic. r8, r8, 2
/* 803690D8 00366038 41 82 00 0C */ beq lbl_803690E4
/* 803690DC 0036603C 98 C8 00 00 */ stb r6, 0(r8)
/* 803690E0 00366040 98 68 00 01 */ stb r3, 1(r8)
lbl_803690E4:
/* 803690E4 00366044 35 08 00 02 */ addic. r8, r8, 2
/* 803690E8 00366048 41 82 00 0C */ beq lbl_803690F4
/* 803690EC 0036604C 98 C8 00 00 */ stb r6, 0(r8)
/* 803690F0 00366050 98 68 00 01 */ stb r3, 1(r8)
lbl_803690F4:
/* 803690F4 00366054 35 08 00 02 */ addic. r8, r8, 2
/* 803690F8 00366058 41 82 00 0C */ beq lbl_80369104
/* 803690FC 0036605C 98 C8 00 00 */ stb r6, 0(r8)
/* 80369100 00366060 98 68 00 01 */ stb r3, 1(r8)
lbl_80369104:
/* 80369104 00366064 35 08 00 02 */ addic. r8, r8, 2
/* 80369108 00366068 41 82 00 0C */ beq lbl_80369114
/* 8036910C 0036606C 98 C8 00 00 */ stb r6, 0(r8)
/* 80369110 00366070 98 68 00 01 */ stb r3, 1(r8)
lbl_80369114:
/* 80369114 00366074 38 E7 00 09 */ addi r7, r7, 9
/* 80369118 00366078 39 08 00 02 */ addi r8, r8, 2
/* 8036911C 0036607C 42 00 FF 58 */ bdnz lbl_80369074
/* 80369120 00366080 38 C0 00 00 */ li r6, 0
/* 80369124 00366084 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80369128 00366088 90 DF 00 D0 */ stw r6, 0xd0(r31)
/* 8036912C 0036608C 3C 80 80 3E */ lis r4, lbl_803D8538@ha
/* 80369130 00366090 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80369134 00366094 38 A0 00 00 */ li r5, 0
/* 80369138 00366098 98 DF 00 D4 */ stb r6, 0xd4(r31)
/* 8036913C 0036609C 38 84 85 38 */ addi r4, r4, lbl_803D8538@l
/* 80369140 003660A0 4B FA C6 D9 */ bl __nwa__FUlPCcPCc
/* 80369144 003660A4 90 7F 00 D0 */ stw r3, 0xd0(r31)
/* 80369148 003660A8 7F E3 FB 78 */ mr r3, r31
/* 8036914C 003660AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80369150 003660B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80369154 003660B4 7C 08 03 A6 */ mtlr r0
/* 80369158 003660B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8036915C 003660BC 4E 80 00 20 */ blr
.global "Insert__58TSegIdMapVariableSize<Q217CPoseAsTransforms12CElementType>FRC6CSegIdRCQ217CPoseAsTransforms12CElementType"
"Insert__58TSegIdMapVariableSize<Q217CPoseAsTransforms12CElementType>FRC6CSegIdRCQ217CPoseAsTransforms12CElementType":
/* 80369160 003660C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80369164 003660C4 7C 08 02 A6 */ mflr r0
/* 80369168 003660C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036916C 003660CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80369170 003660D0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80369174 003660D4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80369178 003660D8 7C BD 2B 78 */ mr r29, r5
/* 8036917C 003660DC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80369180 003660E0 7C 7C 1B 78 */ mr r28, r3
/* 80369184 003660E4 88 03 00 00 */ lbz r0, 0(r3)
/* 80369188 003660E8 80 63 00 D0 */ lwz r3, 0xd0(r3)
/* 8036918C 003660EC 7C 00 07 74 */ extsb r0, r0
/* 80369190 003660F0 8B E4 00 00 */ lbz r31, 0(r4)
/* 80369194 003660F4 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80369198 003660F8 7F C3 02 15 */ add. r30, r3, r0
/* 8036919C 003660FC 41 82 00 28 */ beq lbl_803691C4
/* 803691A0 00366100 7F C3 F3 78 */ mr r3, r30
/* 803691A4 00366104 7F A4 EB 78 */ mr r4, r29
/* 803691A8 00366108 4B FA 6E 7D */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 803691AC 0036610C C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 803691B0 00366110 D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 803691B4 00366114 C0 1D 00 28 */ lfs f0, 0x28(r29)
/* 803691B8 00366118 D0 1E 00 28 */ stfs f0, 0x28(r30)
/* 803691BC 0036611C C0 1D 00 2C */ lfs f0, 0x2c(r29)
/* 803691C0 00366120 D0 1E 00 2C */ stfs f0, 0x2c(r30)
lbl_803691C4:
/* 803691C4 00366124 57 E3 0D FC */ rlwinm r3, r31, 1, 0x17, 0x1e
/* 803691C8 00366128 88 9C 00 00 */ lbz r4, 0(r28)
/* 803691CC 0036612C 88 1C 00 D4 */ lbz r0, 0xd4(r28)
/* 803691D0 00366130 7C 7C 1A 14 */ add r3, r28, r3
/* 803691D4 00366134 98 03 00 08 */ stb r0, 8(r3)
/* 803691D8 00366138 98 83 00 09 */ stb r4, 9(r3)
/* 803691DC 0036613C 9B FC 00 D4 */ stb r31, 0xd4(r28)
/* 803691E0 00366140 88 7C 00 00 */ lbz r3, 0(r28)
/* 803691E4 00366144 38 03 00 01 */ addi r0, r3, 1
/* 803691E8 00366148 98 1C 00 00 */ stb r0, 0(r28)
/* 803691EC 0036614C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803691F0 00366150 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803691F4 00366154 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803691F8 00366158 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803691FC 0036615C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80369200 00366160 7C 08 03 A6 */ mtlr r0
/* 80369204 00366164 38 21 00 20 */ addi r1, r1, 0x20
/* 80369208 00366168 4E 80 00 20 */ blr
.global "Clear__58TSegIdMapVariableSize<Q217CPoseAsTransforms12CElementType>Fv"
"Clear__58TSegIdMapVariableSize<Q217CPoseAsTransforms12CElementType>Fv":
/* 8036920C 0036616C 88 A3 00 D4 */ lbz r5, 0xd4(r3)
/* 80369210 00366170 38 C3 00 08 */ addi r6, r3, 8
/* 80369214 00366174 48 00 00 24 */ b lbl_80369238
lbl_80369218:
/* 80369218 00366178 54 A4 0D FC */ rlwinm r4, r5, 1, 0x17, 0x1e
/* 8036921C 0036617C 7C 80 23 78 */ mr r0, r4
/* 80369220 00366180 7C A6 20 AE */ lbzx r5, r6, r4
/* 80369224 00366184 7C E6 02 14 */ add r7, r6, r0
/* 80369228 00366188 88 8D 9E 9D */ lbz r4, lbl_805A8A5D@sda21(r13)
/* 8036922C 0036618C 88 0D 9E 9C */ lbz r0, lbl_805A8A5C@sda21(r13)
/* 80369230 00366190 98 07 00 00 */ stb r0, 0(r7)
/* 80369234 00366194 98 87 00 01 */ stb r4, 1(r7)
lbl_80369238:
/* 80369238 00366198 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 8036923C 0036619C 40 82 FF DC */ bne lbl_80369218
/* 80369240 003661A0 38 00 00 00 */ li r0, 0
/* 80369244 003661A4 98 03 00 D4 */ stb r0, 0xd4(r3)
/* 80369248 003661A8 98 03 00 00 */ stb r0, 0(r3)
/* 8036924C 003661AC 4E 80 00 20 */ blr

View File

@ -0,0 +1,22 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __ct__10CSegIdListFR12CInputStream
__ct__10CSegIdListFR12CInputStream:
/* 80348E64 00345DC4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80348E68 00345DC8 7C 08 02 A6 */ mflr r0
/* 80348E6C 00345DCC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80348E70 00345DD0 38 A1 00 08 */ addi r5, r1, 8
/* 80348E74 00345DD4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80348E78 00345DD8 7C 7F 1B 78 */ mr r31, r3
/* 80348E7C 00345DDC 4B FA F2 51 */ bl "__ct__Q24rstl42vector<6CSegId,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
/* 80348E80 00345DE0 80 7F 00 08 */ lwz r3, 8(r31)
/* 80348E84 00345DE4 38 80 00 02 */ li r4, 2
/* 80348E88 00345DE8 4B FA ED 31 */ bl AddToTotalSize__22CCharAnimMemoryMetricsFUiQ222CCharAnimMemoryMetrics14EAnimSubSystem
/* 80348E8C 00345DEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80348E90 00345DF0 7F E3 FB 78 */ mr r3, r31
/* 80348E94 00345DF4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80348E98 00345DF8 7C 08 03 A6 */ mtlr r0
/* 80348E9C 00345DFC 38 21 00 20 */ addi r1, r1, 0x20
/* 80348EA0 00345E00 4E 80 00 20 */ blr

View File

@ -0,0 +1,647 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __ct__27CSkinnedModelWithAvgNormalsFRC13CSkinnedModel
__ct__27CSkinnedModelWithAvgNormalsFRC13CSkinnedModel:
/* 803579A4 00354904 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 803579A8 00354908 7C 08 02 A6 */ mflr r0
/* 803579AC 0035490C 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 803579B0 00354910 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 803579B4 00354914 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 803579B8 00354918 BE 61 00 8C */ stmw r19, 0x8c(r1)
/* 803579BC 0035491C 7C 7F 1B 78 */ mr r31, r3
/* 803579C0 00354920 7C 96 23 78 */ mr r22, r4
/* 803579C4 00354924 4B FF B9 A1 */ bl __ct__13CSkinnedModelFRC13CSkinnedModel
/* 803579C8 00354928 80 D6 00 18 */ lwz r6, 0x18(r22)
/* 803579CC 0035492C 3C 60 80 3E */ lis r3, lbl_803D8330@ha
/* 803579D0 00354930 38 83 83 30 */ addi r4, r3, lbl_803D8330@l
/* 803579D4 00354934 38 A0 00 00 */ li r5, 0
/* 803579D8 00354938 80 06 00 10 */ lwz r0, 0x10(r6)
/* 803579DC 0035493C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803579E0 00354940 54 03 10 3A */ slwi r3, r0, 2
/* 803579E4 00354944 4B FB DE 35 */ bl __nwa__FUlPCcPCc
/* 803579E8 00354948 7C 03 00 D0 */ neg r0, r3
/* 803579EC 0035494C 7C 00 1B 78 */ or r0, r0, r3
/* 803579F0 00354950 54 00 0F FE */ srwi r0, r0, 0x1f
/* 803579F4 00354954 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 803579F8 00354958 90 7F 00 40 */ stw r3, 0x40(r31)
/* 803579FC 0035495C 80 96 00 18 */ lwz r4, 0x18(r22)
/* 80357A00 00354960 80 76 00 0C */ lwz r3, 0xc(r22)
/* 80357A04 00354964 83 44 00 10 */ lwz r26, 0x10(r4)
/* 80357A08 00354968 4B FF DC C9 */ bl GetPositions__6CModelCFv
/* 80357A0C 0035496C 38 00 00 00 */ li r0, 0
/* 80357A10 00354970 7C 79 1B 78 */ mr r25, r3
/* 80357A14 00354974 90 01 00 34 */ stw r0, 0x34(r1)
/* 80357A18 00354978 7F 44 D3 78 */ mr r4, r26
/* 80357A1C 0035497C 38 61 00 30 */ addi r3, r1, 0x30
/* 80357A20 00354980 90 01 00 38 */ stw r0, 0x38(r1)
/* 80357A24 00354984 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80357A28 00354988 48 00 06 ED */ bl "reserve__Q24rstl105vector<Q24rstl61pair<9CVector3f,Q24rstl35list<Ui,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>Fi"
/* 80357A2C 0035498C 7F 3D CB 78 */ mr r29, r25
/* 80357A30 00354990 3B 81 00 4C */ addi r28, r1, 0x4c
/* 80357A34 00354994 3B 61 00 64 */ addi r27, r1, 0x64
/* 80357A38 00354998 3B 00 00 00 */ li r24, 0
/* 80357A3C 0035499C 3A A0 00 00 */ li r21, 0
/* 80357A40 003549A0 48 00 01 6C */ b lbl_80357BAC
lbl_80357A44:
/* 80357A44 003549A4 82 81 00 34 */ lwz r20, 0x34(r1)
/* 80357A48 003549A8 3A 60 00 00 */ li r19, 0
/* 80357A4C 003549AC 3B C0 00 00 */ li r30, 0
/* 80357A50 003549B0 3A E0 00 00 */ li r23, 0
/* 80357A54 003549B4 48 00 00 30 */ b lbl_80357A84
lbl_80357A58:
/* 80357A58 003549B8 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80357A5C 003549BC 7F A4 EB 78 */ mr r4, r29
/* 80357A60 003549C0 C0 22 CC D8 */ lfs f1, lbl_805AE9F8@sda21(r2)
/* 80357A64 003549C4 7C 60 BA 14 */ add r3, r0, r23
/* 80357A68 003549C8 4B FB CB 49 */ bl IsEqu__9CVector3fCFRC9CVector3ff
/* 80357A6C 003549CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80357A70 003549D0 41 82 00 0C */ beq lbl_80357A7C
/* 80357A74 003549D4 3A 60 00 01 */ li r19, 1
/* 80357A78 003549D8 48 00 00 14 */ b lbl_80357A8C
lbl_80357A7C:
/* 80357A7C 003549DC 3B DE 00 01 */ addi r30, r30, 1
/* 80357A80 003549E0 3A F7 00 24 */ addi r23, r23, 0x24
lbl_80357A84:
/* 80357A84 003549E4 7C 1E A0 40 */ cmplw r30, r20
/* 80357A88 003549E8 41 80 FF D0 */ blt lbl_80357A58
lbl_80357A8C:
/* 80357A8C 003549EC 56 60 06 3F */ clrlwi. r0, r19, 0x18
/* 80357A90 003549F0 40 82 01 10 */ bne lbl_80357BA0
/* 80357A94 003549F4 38 00 00 00 */ li r0, 0
/* 80357A98 003549F8 93 81 00 44 */ stw r28, 0x44(r1)
/* 80357A9C 003549FC 7F 17 C3 78 */ mr r23, r24
/* 80357AA0 00354A00 7F D9 AA 14 */ add r30, r25, r21
/* 80357AA4 00354A04 93 81 00 48 */ stw r28, 0x48(r1)
/* 80357AA8 00354A08 93 81 00 4C */ stw r28, 0x4c(r1)
/* 80357AAC 00354A0C 93 81 00 50 */ stw r28, 0x50(r1)
/* 80357AB0 00354A10 90 01 00 54 */ stw r0, 0x54(r1)
/* 80357AB4 00354A14 48 00 00 B0 */ b lbl_80357B64
lbl_80357AB8:
/* 80357AB8 00354A18 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80357ABC 00354A1C 38 00 00 00 */ li r0, 0
/* 80357AC0 00354A20 C0 1D 00 00 */ lfs f0, 0(r29)
/* 80357AC4 00354A24 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80357AC8 00354A28 40 82 00 28 */ bne lbl_80357AF0
/* 80357ACC 00354A2C C0 3E 00 04 */ lfs f1, 4(r30)
/* 80357AD0 00354A30 C0 1D 00 04 */ lfs f0, 4(r29)
/* 80357AD4 00354A34 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80357AD8 00354A38 40 82 00 18 */ bne lbl_80357AF0
/* 80357ADC 00354A3C C0 3E 00 08 */ lfs f1, 8(r30)
/* 80357AE0 00354A40 C0 1D 00 08 */ lfs f0, 8(r29)
/* 80357AE4 00354A44 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80357AE8 00354A48 40 82 00 08 */ bne lbl_80357AF0
/* 80357AEC 00354A4C 38 00 00 01 */ li r0, 1
lbl_80357AF0:
/* 80357AF0 00354A50 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80357AF4 00354A54 41 82 00 68 */ beq lbl_80357B5C
/* 80357AF8 00354A58 82 81 00 48 */ lwz r20, 0x48(r1)
/* 80357AFC 00354A5C 3C 60 80 3E */ lis r3, lbl_803D8330@ha
/* 80357B00 00354A60 38 83 83 30 */ addi r4, r3, lbl_803D8330@l
/* 80357B04 00354A64 38 A0 00 00 */ li r5, 0
/* 80357B08 00354A68 82 74 00 00 */ lwz r19, 0(r20)
/* 80357B0C 00354A6C 38 60 00 0C */ li r3, 0xc
/* 80357B10 00354A70 4B FB DD 09 */ bl __nwa__FUlPCcPCc
/* 80357B14 00354A74 28 03 00 00 */ cmplwi r3, 0
/* 80357B18 00354A78 41 82 00 0C */ beq lbl_80357B24
/* 80357B1C 00354A7C 92 63 00 00 */ stw r19, 0(r3)
/* 80357B20 00354A80 92 83 00 04 */ stw r20, 4(r3)
lbl_80357B24:
/* 80357B24 00354A84 34 83 00 08 */ addic. r4, r3, 8
/* 80357B28 00354A88 41 82 00 08 */ beq lbl_80357B30
/* 80357B2C 00354A8C 92 E4 00 00 */ stw r23, 0(r4)
lbl_80357B30:
/* 80357B30 00354A90 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80357B34 00354A94 7C 14 00 40 */ cmplw r20, r0
/* 80357B38 00354A98 40 82 00 08 */ bne lbl_80357B40
/* 80357B3C 00354A9C 90 61 00 44 */ stw r3, 0x44(r1)
lbl_80357B40:
/* 80357B40 00354AA0 80 83 00 00 */ lwz r4, 0(r3)
/* 80357B44 00354AA4 90 64 00 04 */ stw r3, 4(r4)
/* 80357B48 00354AA8 80 83 00 04 */ lwz r4, 4(r3)
/* 80357B4C 00354AAC 90 64 00 00 */ stw r3, 0(r4)
/* 80357B50 00354AB0 80 61 00 54 */ lwz r3, 0x54(r1)
/* 80357B54 00354AB4 38 03 00 01 */ addi r0, r3, 1
/* 80357B58 00354AB8 90 01 00 54 */ stw r0, 0x54(r1)
lbl_80357B5C:
/* 80357B5C 00354ABC 3B DE 00 0C */ addi r30, r30, 0xc
/* 80357B60 00354AC0 3A F7 00 01 */ addi r23, r23, 1
lbl_80357B64:
/* 80357B64 00354AC4 7C 17 D0 40 */ cmplw r23, r26
/* 80357B68 00354AC8 41 80 FF 50 */ blt lbl_80357AB8
/* 80357B6C 00354ACC 7F A4 EB 78 */ mr r4, r29
/* 80357B70 00354AD0 38 61 00 58 */ addi r3, r1, 0x58
/* 80357B74 00354AD4 38 A1 00 40 */ addi r5, r1, 0x40
/* 80357B78 00354AD8 48 00 04 59 */ bl sub_80357fd0
/* 80357B7C 00354ADC 38 61 00 30 */ addi r3, r1, 0x30
/* 80357B80 00354AE0 38 81 00 58 */ addi r4, r1, 0x58
/* 80357B84 00354AE4 48 00 01 7D */ bl sub_80357d00
/* 80357B88 00354AE8 7F 63 DB 78 */ mr r3, r27
/* 80357B8C 00354AEC 38 80 FF FF */ li r4, -1
/* 80357B90 00354AF0 48 00 05 0D */ bl sub_8035809c
/* 80357B94 00354AF4 38 61 00 40 */ addi r3, r1, 0x40
/* 80357B98 00354AF8 38 80 FF FF */ li r4, -1
/* 80357B9C 00354AFC 48 00 05 01 */ bl sub_8035809c
lbl_80357BA0:
/* 80357BA0 00354B00 3B BD 00 0C */ addi r29, r29, 0xc
/* 80357BA4 00354B04 3B 18 00 01 */ addi r24, r24, 1
/* 80357BA8 00354B08 3A B5 00 0C */ addi r21, r21, 0xc
lbl_80357BAC:
/* 80357BAC 00354B0C 7C 18 D0 40 */ cmplw r24, r26
/* 80357BB0 00354B10 41 80 FE 94 */ blt lbl_80357A44
/* 80357BB4 00354B14 80 76 00 0C */ lwz r3, 0xc(r22)
/* 80357BB8 00354B18 4B FF DB 0D */ bl GetNormals__6CModelCFv
/* 80357BBC 00354B1C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80357BC0 00354B20 7C 75 1B 78 */ mr r21, r3
/* 80357BC4 00354B24 82 C1 00 3C */ lwz r22, 0x3c(r1)
/* 80357BC8 00354B28 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80357BCC 00354B2C 83 1F 00 40 */ lwz r24, 0x40(r31)
/* 80357BD0 00354B30 C3 E2 CC DC */ lfs f31, lbl_805AE9FC@sda21(r2)
/* 80357BD4 00354B34 7E 76 02 14 */ add r19, r22, r0
/* 80357BD8 00354B38 48 00 00 AC */ b lbl_80357C84
lbl_80357BDC:
/* 80357BDC 00354B3C D3 E1 00 24 */ stfs f31, 0x24(r1)
/* 80357BE0 00354B40 D3 E1 00 28 */ stfs f31, 0x28(r1)
/* 80357BE4 00354B44 D3 E1 00 2C */ stfs f31, 0x2c(r1)
/* 80357BE8 00354B48 80 96 00 10 */ lwz r4, 0x10(r22)
/* 80357BEC 00354B4C 82 96 00 14 */ lwz r20, 0x14(r22)
/* 80357BF0 00354B50 48 00 00 44 */ b lbl_80357C34
lbl_80357BF4:
/* 80357BF4 00354B54 80 04 00 08 */ lwz r0, 8(r4)
/* 80357BF8 00354B58 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 80357BFC 00354B5C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80357C00 00354B60 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 80357C04 00354B64 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 80357C08 00354B68 7C 75 02 14 */ add r3, r21, r0
/* 80357C0C 00354B6C C0 03 00 00 */ lfs f0, 0(r3)
/* 80357C10 00354B70 EC 03 00 2A */ fadds f0, f3, f0
/* 80357C14 00354B74 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80357C18 00354B78 C0 03 00 04 */ lfs f0, 4(r3)
/* 80357C1C 00354B7C EC 02 00 2A */ fadds f0, f2, f0
/* 80357C20 00354B80 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80357C24 00354B84 C0 03 00 08 */ lfs f0, 8(r3)
/* 80357C28 00354B88 EC 01 00 2A */ fadds f0, f1, f0
/* 80357C2C 00354B8C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80357C30 00354B90 80 84 00 04 */ lwz r4, 4(r4)
lbl_80357C34:
/* 80357C34 00354B94 7C 04 A0 40 */ cmplw r4, r20
/* 80357C38 00354B98 40 82 FF BC */ bne lbl_80357BF4
/* 80357C3C 00354B9C 82 F6 00 10 */ lwz r23, 0x10(r22)
/* 80357C40 00354BA0 38 61 00 18 */ addi r3, r1, 0x18
/* 80357C44 00354BA4 38 81 00 24 */ addi r4, r1, 0x24
/* 80357C48 00354BA8 4B FB CC 09 */ bl AsNormalized__9CVector3fCFv
/* 80357C4C 00354BAC C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80357C50 00354BB0 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 80357C54 00354BB4 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80357C58 00354BB8 48 00 00 20 */ b lbl_80357C78
lbl_80357C5C:
/* 80357C5C 00354BBC 80 17 00 08 */ lwz r0, 8(r23)
/* 80357C60 00354BC0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80357C64 00354BC4 7C 78 02 14 */ add r3, r24, r0
/* 80357C68 00354BC8 D0 03 00 00 */ stfs f0, 0(r3)
/* 80357C6C 00354BCC D0 23 00 04 */ stfs f1, 4(r3)
/* 80357C70 00354BD0 D0 43 00 08 */ stfs f2, 8(r3)
/* 80357C74 00354BD4 82 F7 00 04 */ lwz r23, 4(r23)
lbl_80357C78:
/* 80357C78 00354BD8 7C 17 A0 40 */ cmplw r23, r20
/* 80357C7C 00354BDC 40 82 FF E0 */ bne lbl_80357C5C
/* 80357C80 00354BE0 3A D6 00 24 */ addi r22, r22, 0x24
lbl_80357C84:
/* 80357C84 00354BE4 7C 16 98 40 */ cmplw r22, r19
/* 80357C88 00354BE8 40 82 FF 54 */ bne lbl_80357BDC
/* 80357C8C 00354BEC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80357C90 00354BF0 82 61 00 3C */ lwz r19, 0x3c(r1)
/* 80357C94 00354BF4 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80357C98 00354BF8 92 61 00 0C */ stw r19, 0xc(r1)
/* 80357C9C 00354BFC 7E B3 02 14 */ add r21, r19, r0
/* 80357CA0 00354C00 92 61 00 08 */ stw r19, 8(r1)
/* 80357CA4 00354C04 92 A1 00 14 */ stw r21, 0x14(r1)
/* 80357CA8 00354C08 92 A1 00 10 */ stw r21, 0x10(r1)
/* 80357CAC 00354C0C 48 00 00 1C */ b lbl_80357CC8
lbl_80357CB0:
/* 80357CB0 00354C10 28 13 00 00 */ cmplwi r19, 0
/* 80357CB4 00354C14 41 82 00 10 */ beq lbl_80357CC4
/* 80357CB8 00354C18 38 73 00 0C */ addi r3, r19, 0xc
/* 80357CBC 00354C1C 38 80 FF FF */ li r4, -1
/* 80357CC0 00354C20 48 00 03 DD */ bl sub_8035809c
lbl_80357CC4:
/* 80357CC4 00354C24 3A 73 00 24 */ addi r19, r19, 0x24
lbl_80357CC8:
/* 80357CC8 00354C28 7C 13 A8 40 */ cmplw r19, r21
/* 80357CCC 00354C2C 40 82 FF E4 */ bne lbl_80357CB0
/* 80357CD0 00354C30 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 80357CD4 00354C34 28 03 00 00 */ cmplwi r3, 0
/* 80357CD8 00354C38 41 82 00 08 */ beq lbl_80357CE0
/* 80357CDC 00354C3C 4B FB DC 55 */ bl Free__7CMemoryFPCv
lbl_80357CE0:
/* 80357CE0 00354C40 7F E3 FB 78 */ mr r3, r31
/* 80357CE4 00354C44 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 80357CE8 00354C48 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 80357CEC 00354C4C BA 61 00 8C */ lmw r19, 0x8c(r1)
/* 80357CF0 00354C50 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 80357CF4 00354C54 7C 08 03 A6 */ mtlr r0
/* 80357CF8 00354C58 38 21 00 D0 */ addi r1, r1, 0xd0
/* 80357CFC 00354C5C 4E 80 00 20 */ blr
.global sub_80357d00
sub_80357d00:
/* 80357D00 00354C60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80357D04 00354C64 7C 08 02 A6 */ mflr r0
/* 80357D08 00354C68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80357D0C 00354C6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80357D10 00354C70 7C 9F 23 78 */ mr r31, r4
/* 80357D14 00354C74 93 C1 00 08 */ stw r30, 8(r1)
/* 80357D18 00354C78 7C 7E 1B 78 */ mr r30, r3
/* 80357D1C 00354C7C 80 03 00 04 */ lwz r0, 4(r3)
/* 80357D20 00354C80 80 A3 00 08 */ lwz r5, 8(r3)
/* 80357D24 00354C84 7C 00 28 00 */ cmpw r0, r5
/* 80357D28 00354C88 41 80 00 18 */ blt lbl_80357D40
/* 80357D2C 00354C8C 2C 05 00 00 */ cmpwi r5, 0
/* 80357D30 00354C90 38 80 00 04 */ li r4, 4
/* 80357D34 00354C94 41 82 00 08 */ beq lbl_80357D3C
/* 80357D38 00354C98 54 A4 08 3C */ slwi r4, r5, 1
lbl_80357D3C:
/* 80357D3C 00354C9C 48 00 03 D9 */ bl "reserve__Q24rstl105vector<Q24rstl61pair<9CVector3f,Q24rstl35list<Ui,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>Fi"
lbl_80357D40:
/* 80357D40 00354CA0 80 1E 00 04 */ lwz r0, 4(r30)
/* 80357D44 00354CA4 7F E4 FB 78 */ mr r4, r31
/* 80357D48 00354CA8 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80357D4C 00354CAC 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80357D50 00354CB0 7C 63 02 14 */ add r3, r3, r0
/* 80357D54 00354CB4 48 00 00 29 */ bl sub_80357d7c
/* 80357D58 00354CB8 80 7E 00 04 */ lwz r3, 4(r30)
/* 80357D5C 00354CBC 38 03 00 01 */ addi r0, r3, 1
/* 80357D60 00354CC0 90 1E 00 04 */ stw r0, 4(r30)
/* 80357D64 00354CC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80357D68 00354CC8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80357D6C 00354CCC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80357D70 00354CD0 7C 08 03 A6 */ mtlr r0
/* 80357D74 00354CD4 38 21 00 10 */ addi r1, r1, 0x10
/* 80357D78 00354CD8 4E 80 00 20 */ blr
.global sub_80357d7c
sub_80357d7c:
/* 80357D7C 00354CDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80357D80 00354CE0 7C 08 02 A6 */ mflr r0
/* 80357D84 00354CE4 28 03 00 00 */ cmplwi r3, 0
/* 80357D88 00354CE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80357D8C 00354CEC 41 82 00 08 */ beq lbl_80357D94
/* 80357D90 00354CF0 48 00 00 15 */ bl sub_80357da4
lbl_80357D94:
/* 80357D94 00354CF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80357D98 00354CF8 7C 08 03 A6 */ mtlr r0
/* 80357D9C 00354CFC 38 21 00 10 */ addi r1, r1, 0x10
/* 80357DA0 00354D00 4E 80 00 20 */ blr
.global sub_80357da4
sub_80357da4:
/* 80357DA4 00354D04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80357DA8 00354D08 7C 08 02 A6 */ mflr r0
/* 80357DAC 00354D0C 7C 85 23 78 */ mr r5, r4
/* 80357DB0 00354D10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80357DB4 00354D14 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80357DB8 00354D18 7C 7F 1B 78 */ mr r31, r3
/* 80357DBC 00354D1C 38 7F 00 0C */ addi r3, r31, 0xc
/* 80357DC0 00354D20 C0 04 00 00 */ lfs f0, 0(r4)
/* 80357DC4 00354D24 38 85 00 0C */ addi r4, r5, 0xc
/* 80357DC8 00354D28 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80357DCC 00354D2C C0 05 00 04 */ lfs f0, 4(r5)
/* 80357DD0 00354D30 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80357DD4 00354D34 C0 05 00 08 */ lfs f0, 8(r5)
/* 80357DD8 00354D38 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80357DDC 00354D3C 48 00 00 1D */ bl sub_80357df8
/* 80357DE0 00354D40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80357DE4 00354D44 7F E3 FB 78 */ mr r3, r31
/* 80357DE8 00354D48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80357DEC 00354D4C 7C 08 03 A6 */ mtlr r0
/* 80357DF0 00354D50 38 21 00 10 */ addi r1, r1, 0x10
/* 80357DF4 00354D54 4E 80 00 20 */ blr
.global sub_80357df8
sub_80357df8:
/* 80357DF8 00354D58 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80357DFC 00354D5C 7C 08 02 A6 */ mflr r0
/* 80357E00 00354D60 38 E0 00 00 */ li r7, 0
/* 80357E04 00354D64 90 01 00 34 */ stw r0, 0x34(r1)
/* 80357E08 00354D68 38 00 00 01 */ li r0, 1
/* 80357E0C 00354D6C 38 A1 00 14 */ addi r5, r1, 0x14
/* 80357E10 00354D70 38 C1 00 0C */ addi r6, r1, 0xc
/* 80357E14 00354D74 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80357E18 00354D78 7C 7F 1B 78 */ mr r31, r3
/* 80357E1C 00354D7C 39 1F 00 0C */ addi r8, r31, 0xc
/* 80357E20 00354D80 91 03 00 04 */ stw r8, 4(r3)
/* 80357E24 00354D84 91 03 00 08 */ stw r8, 8(r3)
/* 80357E28 00354D88 91 03 00 0C */ stw r8, 0xc(r3)
/* 80357E2C 00354D8C 91 03 00 10 */ stw r8, 0x10(r3)
/* 80357E30 00354D90 90 E3 00 14 */ stw r7, 0x14(r3)
/* 80357E34 00354D94 81 04 00 08 */ lwz r8, 8(r4)
/* 80357E38 00354D98 80 E4 00 04 */ lwz r7, 4(r4)
/* 80357E3C 00354D9C 38 81 00 18 */ addi r4, r1, 0x18
/* 80357E40 00354DA0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80357E44 00354DA4 98 01 00 20 */ stb r0, 0x20(r1)
/* 80357E48 00354DA8 91 01 00 0C */ stw r8, 0xc(r1)
/* 80357E4C 00354DAC 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80357E50 00354DB0 80 03 00 08 */ lwz r0, 8(r3)
/* 80357E54 00354DB4 91 01 00 08 */ stw r8, 8(r1)
/* 80357E58 00354DB8 90 E1 00 10 */ stw r7, 0x10(r1)
/* 80357E5C 00354DBC 90 01 00 18 */ stw r0, 0x18(r1)
/* 80357E60 00354DC0 48 00 00 31 */ bl sub_80357e90
/* 80357E64 00354DC4 38 00 00 00 */ li r0, 0
/* 80357E68 00354DC8 38 61 00 1C */ addi r3, r1, 0x1c
/* 80357E6C 00354DCC 98 01 00 20 */ stb r0, 0x20(r1)
/* 80357E70 00354DD0 38 80 FF FF */ li r4, -1
/* 80357E74 00354DD4 48 00 00 D1 */ bl sub_80357f44
/* 80357E78 00354DD8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80357E7C 00354DDC 7F E3 FB 78 */ mr r3, r31
/* 80357E80 00354DE0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80357E84 00354DE4 7C 08 03 A6 */ mtlr r0
/* 80357E88 00354DE8 38 21 00 30 */ addi r1, r1, 0x30
/* 80357E8C 00354DEC 4E 80 00 20 */ blr
.global sub_80357e90
sub_80357e90:
/* 80357E90 00354DF0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80357E94 00354DF4 7C 08 02 A6 */ mflr r0
/* 80357E98 00354DF8 3C E0 80 3E */ lis r7, lbl_803D8330@ha
/* 80357E9C 00354DFC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80357EA0 00354E00 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80357EA4 00354E04 7C 79 1B 78 */ mr r25, r3
/* 80357EA8 00354E08 7C 9A 23 78 */ mr r26, r4
/* 80357EAC 00354E0C 7C DB 33 78 */ mr r27, r6
/* 80357EB0 00354E10 3B E7 83 30 */ addi r31, r7, lbl_803D8330@l
/* 80357EB4 00354E14 83 85 00 00 */ lwz r28, 0(r5)
/* 80357EB8 00354E18 48 00 00 6C */ b lbl_80357F24
lbl_80357EBC:
/* 80357EBC 00354E1C 83 DA 00 00 */ lwz r30, 0(r26)
/* 80357EC0 00354E20 7F E4 FB 78 */ mr r4, r31
/* 80357EC4 00354E24 38 60 00 0C */ li r3, 0xc
/* 80357EC8 00354E28 38 A0 00 00 */ li r5, 0
/* 80357ECC 00354E2C 83 BE 00 00 */ lwz r29, 0(r30)
/* 80357ED0 00354E30 4B FB D9 49 */ bl __nwa__FUlPCcPCc
/* 80357ED4 00354E34 28 03 00 00 */ cmplwi r3, 0
/* 80357ED8 00354E38 41 82 00 0C */ beq lbl_80357EE4
/* 80357EDC 00354E3C 93 A3 00 00 */ stw r29, 0(r3)
/* 80357EE0 00354E40 93 C3 00 04 */ stw r30, 4(r3)
lbl_80357EE4:
/* 80357EE4 00354E44 34 83 00 08 */ addic. r4, r3, 8
/* 80357EE8 00354E48 41 82 00 0C */ beq lbl_80357EF4
/* 80357EEC 00354E4C 80 1C 00 08 */ lwz r0, 8(r28)
/* 80357EF0 00354E50 90 04 00 00 */ stw r0, 0(r4)
lbl_80357EF4:
/* 80357EF4 00354E54 80 19 00 04 */ lwz r0, 4(r25)
/* 80357EF8 00354E58 7C 1E 00 40 */ cmplw r30, r0
/* 80357EFC 00354E5C 40 82 00 08 */ bne lbl_80357F04
/* 80357F00 00354E60 90 79 00 04 */ stw r3, 4(r25)
lbl_80357F04:
/* 80357F04 00354E64 80 83 00 00 */ lwz r4, 0(r3)
/* 80357F08 00354E68 90 64 00 04 */ stw r3, 4(r4)
/* 80357F0C 00354E6C 80 83 00 04 */ lwz r4, 4(r3)
/* 80357F10 00354E70 90 64 00 00 */ stw r3, 0(r4)
/* 80357F14 00354E74 80 79 00 14 */ lwz r3, 0x14(r25)
/* 80357F18 00354E78 38 03 00 01 */ addi r0, r3, 1
/* 80357F1C 00354E7C 90 19 00 14 */ stw r0, 0x14(r25)
/* 80357F20 00354E80 83 9C 00 04 */ lwz r28, 4(r28)
lbl_80357F24:
/* 80357F24 00354E84 80 1B 00 00 */ lwz r0, 0(r27)
/* 80357F28 00354E88 7C 1C 00 40 */ cmplw r28, r0
/* 80357F2C 00354E8C 40 82 FF 90 */ bne lbl_80357EBC
/* 80357F30 00354E90 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80357F34 00354E94 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80357F38 00354E98 7C 08 03 A6 */ mtlr r0
/* 80357F3C 00354E9C 38 21 00 30 */ addi r1, r1, 0x30
/* 80357F40 00354EA0 4E 80 00 20 */ blr
.global sub_80357f44
sub_80357f44:
/* 80357F44 00354EA4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80357F48 00354EA8 7C 08 02 A6 */ mflr r0
/* 80357F4C 00354EAC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80357F50 00354EB0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80357F54 00354EB4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80357F58 00354EB8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80357F5C 00354EBC 7C 9D 23 78 */ mr r29, r4
/* 80357F60 00354EC0 93 81 00 10 */ stw r28, 0x10(r1)
/* 80357F64 00354EC4 7C 7C 1B 79 */ or. r28, r3, r3
/* 80357F68 00354EC8 41 82 00 44 */ beq lbl_80357FAC
/* 80357F6C 00354ECC 88 1C 00 04 */ lbz r0, 4(r28)
/* 80357F70 00354ED0 28 00 00 00 */ cmplwi r0, 0
/* 80357F74 00354ED4 41 82 00 28 */ beq lbl_80357F9C
/* 80357F78 00354ED8 83 FC 00 00 */ lwz r31, 0(r28)
/* 80357F7C 00354EDC 83 DF 00 08 */ lwz r30, 8(r31)
/* 80357F80 00354EE0 80 9F 00 04 */ lwz r4, 4(r31)
/* 80357F84 00354EE4 48 00 00 10 */ b lbl_80357F94
lbl_80357F88:
/* 80357F88 00354EE8 7F E3 FB 78 */ mr r3, r31
/* 80357F8C 00354EEC 48 00 00 95 */ bl sub_80358020
/* 80357F90 00354EF0 7C 64 1B 78 */ mr r4, r3
lbl_80357F94:
/* 80357F94 00354EF4 7C 04 F0 40 */ cmplw r4, r30
/* 80357F98 00354EF8 40 82 FF F0 */ bne lbl_80357F88
lbl_80357F9C:
/* 80357F9C 00354EFC 7F A0 07 35 */ extsh. r0, r29
/* 80357FA0 00354F00 40 81 00 0C */ ble lbl_80357FAC
/* 80357FA4 00354F04 7F 83 E3 78 */ mr r3, r28
/* 80357FA8 00354F08 4B FB D9 89 */ bl Free__7CMemoryFPCv
lbl_80357FAC:
/* 80357FAC 00354F0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80357FB0 00354F10 7F 83 E3 78 */ mr r3, r28
/* 80357FB4 00354F14 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80357FB8 00354F18 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80357FBC 00354F1C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80357FC0 00354F20 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80357FC4 00354F24 7C 08 03 A6 */ mtlr r0
/* 80357FC8 00354F28 38 21 00 20 */ addi r1, r1, 0x20
/* 80357FCC 00354F2C 4E 80 00 20 */ blr
.global sub_80357fd0
sub_80357fd0:
/* 80357FD0 00354F30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80357FD4 00354F34 7C 08 02 A6 */ mflr r0
/* 80357FD8 00354F38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80357FDC 00354F3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80357FE0 00354F40 7C 7F 1B 78 */ mr r31, r3
/* 80357FE4 00354F44 C0 04 00 00 */ lfs f0, 0(r4)
/* 80357FE8 00354F48 D0 03 00 00 */ stfs f0, 0(r3)
/* 80357FEC 00354F4C 38 7F 00 0C */ addi r3, r31, 0xc
/* 80357FF0 00354F50 C0 04 00 04 */ lfs f0, 4(r4)
/* 80357FF4 00354F54 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80357FF8 00354F58 C0 04 00 08 */ lfs f0, 8(r4)
/* 80357FFC 00354F5C 7C A4 2B 78 */ mr r4, r5
/* 80358000 00354F60 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80358004 00354F64 4B FF FD F5 */ bl sub_80357df8
/* 80358008 00354F68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8035800C 00354F6C 7F E3 FB 78 */ mr r3, r31
/* 80358010 00354F70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358014 00354F74 7C 08 03 A6 */ mtlr r0
/* 80358018 00354F78 38 21 00 10 */ addi r1, r1, 0x10
/* 8035801C 00354F7C 4E 80 00 20 */ blr
.global sub_80358020
sub_80358020:
/* 80358020 00354F80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358024 00354F84 7C 08 02 A6 */ mflr r0
/* 80358028 00354F88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8035802C 00354F8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358030 00354F90 93 C1 00 08 */ stw r30, 8(r1)
/* 80358034 00354F94 7C 7E 1B 78 */ mr r30, r3
/* 80358038 00354F98 80 03 00 04 */ lwz r0, 4(r3)
/* 8035803C 00354F9C 83 E4 00 04 */ lwz r31, 4(r4)
/* 80358040 00354FA0 7C 04 00 40 */ cmplw r4, r0
/* 80358044 00354FA4 40 82 00 08 */ bne lbl_8035804C
/* 80358048 00354FA8 93 FE 00 04 */ stw r31, 4(r30)
lbl_8035804C:
/* 8035804C 00354FAC 80 04 00 04 */ lwz r0, 4(r4)
/* 80358050 00354FB0 28 04 00 00 */ cmplwi r4, 0
/* 80358054 00354FB4 80 64 00 00 */ lwz r3, 0(r4)
/* 80358058 00354FB8 90 03 00 04 */ stw r0, 4(r3)
/* 8035805C 00354FBC 80 04 00 00 */ lwz r0, 0(r4)
/* 80358060 00354FC0 80 64 00 04 */ lwz r3, 4(r4)
/* 80358064 00354FC4 90 03 00 00 */ stw r0, 0(r3)
/* 80358068 00354FC8 41 82 00 0C */ beq lbl_80358074
/* 8035806C 00354FCC 7C 83 23 78 */ mr r3, r4
/* 80358070 00354FD0 4B FB D8 C1 */ bl Free__7CMemoryFPCv
lbl_80358074:
/* 80358074 00354FD4 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80358078 00354FD8 7F E3 FB 78 */ mr r3, r31
/* 8035807C 00354FDC 38 04 FF FF */ addi r0, r4, -1
/* 80358080 00354FE0 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80358084 00354FE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358088 00354FE8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8035808C 00354FEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358090 00354FF0 7C 08 03 A6 */ mtlr r0
/* 80358094 00354FF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80358098 00354FF8 4E 80 00 20 */ blr
.global sub_8035809c
sub_8035809c:
/* 8035809C 00354FFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803580A0 00355000 7C 08 02 A6 */ mflr r0
/* 803580A4 00355004 90 01 00 24 */ stw r0, 0x24(r1)
/* 803580A8 00355008 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803580AC 0035500C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803580B0 00355010 7C 9E 23 78 */ mr r30, r4
/* 803580B4 00355014 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803580B8 00355018 7C 7D 1B 79 */ or. r29, r3, r3
/* 803580BC 0035501C 41 82 00 38 */ beq lbl_803580F4
/* 803580C0 00355020 83 FD 00 04 */ lwz r31, 4(r29)
/* 803580C4 00355024 48 00 00 14 */ b lbl_803580D8
lbl_803580C8:
/* 803580C8 00355028 7F E3 FB 79 */ or. r3, r31, r31
/* 803580CC 0035502C 83 FF 00 04 */ lwz r31, 4(r31)
/* 803580D0 00355030 41 82 00 08 */ beq lbl_803580D8
/* 803580D4 00355034 4B FB D8 5D */ bl Free__7CMemoryFPCv
lbl_803580D8:
/* 803580D8 00355038 80 1D 00 08 */ lwz r0, 8(r29)
/* 803580DC 0035503C 7C 1F 00 40 */ cmplw r31, r0
/* 803580E0 00355040 40 82 FF E8 */ bne lbl_803580C8
/* 803580E4 00355044 7F C0 07 35 */ extsh. r0, r30
/* 803580E8 00355048 40 81 00 0C */ ble lbl_803580F4
/* 803580EC 0035504C 7F A3 EB 78 */ mr r3, r29
/* 803580F0 00355050 4B FB D8 41 */ bl Free__7CMemoryFPCv
lbl_803580F4:
/* 803580F4 00355054 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803580F8 00355058 7F A3 EB 78 */ mr r3, r29
/* 803580FC 0035505C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358100 00355060 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80358104 00355064 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80358108 00355068 7C 08 03 A6 */ mtlr r0
/* 8035810C 0035506C 38 21 00 20 */ addi r1, r1, 0x20
/* 80358110 00355070 4E 80 00 20 */ blr
.global "reserve__Q24rstl105vector<Q24rstl61pair<9CVector3f,Q24rstl35list<Ui,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl105vector<Q24rstl61pair<9CVector3f,Q24rstl35list<Ui,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>Fi":
/* 80358114 00355074 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80358118 00355078 7C 08 02 A6 */ mflr r0
/* 8035811C 0035507C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80358120 00355080 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80358124 00355084 7C 9F 23 78 */ mr r31, r4
/* 80358128 00355088 7C 7E 1B 78 */ mr r30, r3
/* 8035812C 0035508C 80 03 00 08 */ lwz r0, 8(r3)
/* 80358130 00355090 7C 1F 00 00 */ cmpw r31, r0
/* 80358134 00355094 40 81 00 AC */ ble lbl_803581E0
/* 80358138 00355098 1C 7F 00 24 */ mulli r3, r31, 0x24
/* 8035813C 0035509C 2C 03 00 00 */ cmpwi r3, 0
/* 80358140 003550A0 40 82 00 0C */ bne lbl_8035814C
/* 80358144 003550A4 3B A0 00 00 */ li r29, 0
/* 80358148 003550A8 48 00 00 18 */ b lbl_80358160
lbl_8035814C:
/* 8035814C 003550AC 3C 80 80 3E */ lis r4, lbl_803D8330@ha
/* 80358150 003550B0 38 A0 00 00 */ li r5, 0
/* 80358154 003550B4 38 84 83 30 */ addi r4, r4, lbl_803D8330@l
/* 80358158 003550B8 4B FB D6 C1 */ bl __nwa__FUlPCcPCc
/* 8035815C 003550BC 7C 7D 1B 78 */ mr r29, r3
lbl_80358160:
/* 80358160 003550C0 80 1E 00 04 */ lwz r0, 4(r30)
/* 80358164 003550C4 7F A5 EB 78 */ mr r5, r29
/* 80358168 003550C8 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 8035816C 003550CC 38 61 00 14 */ addi r3, r1, 0x14
/* 80358170 003550D0 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80358174 003550D4 38 81 00 0C */ addi r4, r1, 0xc
/* 80358178 003550D8 7C C6 02 14 */ add r6, r6, r0
/* 8035817C 003550DC 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80358180 003550E0 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80358184 003550E4 90 C1 00 08 */ stw r6, 8(r1)
/* 80358188 003550E8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8035818C 003550EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358190 003550F0 48 00 00 65 */ bl sub_803581f4
/* 80358194 003550F4 80 1E 00 04 */ lwz r0, 4(r30)
/* 80358198 003550F8 83 7E 00 0C */ lwz r27, 0xc(r30)
/* 8035819C 003550FC 1C 00 00 24 */ mulli r0, r0, 0x24
/* 803581A0 00355100 7F 9B 02 14 */ add r28, r27, r0
/* 803581A4 00355104 48 00 00 1C */ b lbl_803581C0
lbl_803581A8:
/* 803581A8 00355108 28 1B 00 00 */ cmplwi r27, 0
/* 803581AC 0035510C 41 82 00 10 */ beq lbl_803581BC
/* 803581B0 00355110 38 7B 00 0C */ addi r3, r27, 0xc
/* 803581B4 00355114 38 80 FF FF */ li r4, -1
/* 803581B8 00355118 4B FF FE E5 */ bl sub_8035809c
lbl_803581BC:
/* 803581BC 0035511C 3B 7B 00 24 */ addi r27, r27, 0x24
lbl_803581C0:
/* 803581C0 00355120 7C 1B E0 40 */ cmplw r27, r28
/* 803581C4 00355124 40 82 FF E4 */ bne lbl_803581A8
/* 803581C8 00355128 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803581CC 0035512C 28 03 00 00 */ cmplwi r3, 0
/* 803581D0 00355130 41 82 00 08 */ beq lbl_803581D8
/* 803581D4 00355134 4B FB D7 5D */ bl Free__7CMemoryFPCv
lbl_803581D8:
/* 803581D8 00355138 93 BE 00 0C */ stw r29, 0xc(r30)
/* 803581DC 0035513C 93 FE 00 08 */ stw r31, 8(r30)
lbl_803581E0:
/* 803581E0 00355140 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 803581E4 00355144 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803581E8 00355148 7C 08 03 A6 */ mtlr r0
/* 803581EC 0035514C 38 21 00 30 */ addi r1, r1, 0x30
/* 803581F0 00355150 4E 80 00 20 */ blr
.global sub_803581f4
sub_803581f4:
/* 803581F4 00355154 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803581F8 00355158 7C 08 02 A6 */ mflr r0
/* 803581FC 0035515C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80358200 00355160 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80358204 00355164 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80358208 00355168 7C BE 2B 78 */ mr r30, r5
/* 8035820C 0035516C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80358210 00355170 7C 9D 23 78 */ mr r29, r4
/* 80358214 00355174 83 E3 00 00 */ lwz r31, 0(r3)
/* 80358218 00355178 48 00 00 18 */ b lbl_80358230
lbl_8035821C:
/* 8035821C 0035517C 7F C3 F3 78 */ mr r3, r30
/* 80358220 00355180 7F E4 FB 78 */ mr r4, r31
/* 80358224 00355184 4B FF FB 59 */ bl sub_80357d7c
/* 80358228 00355188 3B DE 00 24 */ addi r30, r30, 0x24
/* 8035822C 0035518C 3B FF 00 24 */ addi r31, r31, 0x24
lbl_80358230:
/* 80358230 00355190 80 1D 00 00 */ lwz r0, 0(r29)
/* 80358234 00355194 7C 1F 00 40 */ cmplw r31, r0
/* 80358238 00355198 40 82 FF E4 */ bne lbl_8035821C
/* 8035823C 0035519C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358240 003551A0 7F C3 F3 78 */ mr r3, r30
/* 80358244 003551A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358248 003551A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035824C 003551AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80358250 003551B0 7C 08 03 A6 */ mtlr r0
/* 80358254 003551B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80358258 003551B8 4E 80 00 20 */ blr

View File

@ -0,0 +1,337 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Reset__18CVertexMorphEffectFRC13CUnitVector3fRC9CVector3ff
Reset__18CVertexMorphEffectFRC13CUnitVector3fRC9CVector3ff:
/* 803574E0 00354440 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803574E4 00354444 C0 02 CC C0 */ lfs f0, lbl_805AE9E0@sda21(r2)
/* 803574E8 00354448 C0 44 00 00 */ lfs f2, 0(r4)
/* 803574EC 0035444C D0 43 00 00 */ stfs f2, 0(r3)
/* 803574F0 00354450 C0 44 00 04 */ lfs f2, 4(r4)
/* 803574F4 00354454 D0 43 00 04 */ stfs f2, 4(r3)
/* 803574F8 00354458 C0 44 00 08 */ lfs f2, 8(r4)
/* 803574FC 0035445C D0 43 00 08 */ stfs f2, 8(r3)
/* 80357500 00354460 C0 45 00 00 */ lfs f2, 0(r5)
/* 80357504 00354464 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 80357508 00354468 C0 45 00 04 */ lfs f2, 4(r5)
/* 8035750C 0035446C D0 43 00 10 */ stfs f2, 0x10(r3)
/* 80357510 00354470 C0 45 00 08 */ lfs f2, 8(r5)
/* 80357514 00354474 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 80357518 00354478 D0 23 00 18 */ stfs f1, 0x18(r3)
/* 8035751C 0035447C D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80357520 00354480 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80357524 00354484 80 83 00 34 */ lwz r4, 0x34(r3)
/* 80357528 00354488 54 00 10 3A */ slwi r0, r0, 2
/* 8035752C 0035448C 7C 04 02 14 */ add r0, r4, r0
/* 80357530 00354490 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80357534 00354494 90 01 00 24 */ stw r0, 0x24(r1)
/* 80357538 00354498 90 01 00 20 */ stw r0, 0x20(r1)
/* 8035753C 0035449C 90 81 00 18 */ stw r4, 0x18(r1)
/* 80357540 003544A0 48 00 00 08 */ b lbl_80357548
lbl_80357544:
/* 80357544 003544A4 38 84 00 04 */ addi r4, r4, 4
lbl_80357548:
/* 80357548 003544A8 7C 04 00 40 */ cmplw r4, r0
/* 8035754C 003544AC 40 82 FF F8 */ bne lbl_80357544
/* 80357550 003544B0 38 00 00 00 */ li r0, 0
/* 80357554 003544B4 90 03 00 2C */ stw r0, 0x2c(r3)
/* 80357558 003544B8 80 03 00 3C */ lwz r0, 0x3c(r3)
/* 8035755C 003544BC 80 83 00 44 */ lwz r4, 0x44(r3)
/* 80357560 003544C0 54 00 10 3A */ slwi r0, r0, 2
/* 80357564 003544C4 7C 04 02 14 */ add r0, r4, r0
/* 80357568 003544C8 90 81 00 0C */ stw r4, 0xc(r1)
/* 8035756C 003544CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80357570 003544D0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80357574 003544D4 90 81 00 08 */ stw r4, 8(r1)
/* 80357578 003544D8 48 00 00 08 */ b lbl_80357580
lbl_8035757C:
/* 8035757C 003544DC 38 84 00 04 */ addi r4, r4, 4
lbl_80357580:
/* 80357580 003544E0 7C 04 00 40 */ cmplw r4, r0
/* 80357584 003544E4 40 82 FF F8 */ bne lbl_8035757C
/* 80357588 003544E8 38 00 00 00 */ li r0, 0
/* 8035758C 003544EC 90 03 00 3C */ stw r0, 0x3c(r3)
/* 80357590 003544F0 38 21 00 30 */ addi r1, r1, 0x30
/* 80357594 003544F4 4E 80 00 20 */ blr
.global "MorphVertices__18CVertexMorphEffectCFP9CVector3fPC9CVector3fRC26TLockedToken<10CSkinRules>RC17CPoseAsTransformsUi"
"MorphVertices__18CVertexMorphEffectCFP9CVector3fPC9CVector3fRC26TLockedToken<10CSkinRules>RC17CPoseAsTransformsUi":
/* 80357598 003544F8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8035759C 003544FC 7C 08 02 A6 */ mflr r0
/* 803575A0 00354500 90 01 00 64 */ stw r0, 0x64(r1)
/* 803575A4 00354504 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 803575A8 00354508 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 803575AC 0035450C DB C1 00 40 */ stfd f30, 0x40(r1)
/* 803575B0 00354510 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 803575B4 00354514 BE E1 00 1C */ stmw r23, 0x1c(r1)
/* 803575B8 00354518 7C 77 1B 78 */ mr r23, r3
/* 803575BC 0035451C 7C 98 23 78 */ mr r24, r4
/* 803575C0 00354520 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 803575C4 00354524 7C BB 2B 78 */ mr r27, r5
/* 803575C8 00354528 7C DA 33 78 */ mr r26, r6
/* 803575CC 0035452C 7D 19 43 78 */ mr r25, r8
/* 803575D0 00354530 2C 00 00 00 */ cmpwi r0, 0
/* 803575D4 00354534 40 82 01 C0 */ bne lbl_80357794
/* 803575D8 00354538 3C 60 80 3E */ lis r3, lbl_803D8328@ha
/* 803575DC 0035453C 38 A0 00 00 */ li r5, 0
/* 803575E0 00354540 38 83 83 28 */ addi r4, r3, lbl_803D8328@l
/* 803575E4 00354544 1C 79 00 0C */ mulli r3, r25, 0xc
/* 803575E8 00354548 4B FB E2 31 */ bl __nwa__FUlPCcPCc
/* 803575EC 0035454C 7C 60 1B 78 */ mr r0, r3
/* 803575F0 00354550 80 7A 00 08 */ lwz r3, 8(r26)
/* 803575F4 00354554 7C 1D 03 78 */ mr r29, r0
/* 803575F8 00354558 7F 64 DB 78 */ mr r4, r27
/* 803575FC 0035455C 7F A5 EB 78 */ mr r5, r29
/* 80357600 00354560 4B FF C8 9D */ bl BuildNormalsFrom__10CSkinRulesCFPC9CVector3fP9CVector3f
/* 80357604 00354564 3C 00 43 30 */ lis r0, 0x4330
/* 80357608 00354568 93 21 00 0C */ stw r25, 0xc(r1)
/* 8035760C 0035456C C8 22 CC C8 */ lfd f1, lbl_805AE9E8@sda21(r2)
/* 80357610 00354570 3B 97 00 28 */ addi r28, r23, 0x28
/* 80357614 00354574 90 01 00 08 */ stw r0, 8(r1)
/* 80357618 00354578 C0 42 CC C4 */ lfs f2, lbl_805AE9E4@sda21(r2)
/* 8035761C 0035457C C8 01 00 08 */ lfd f0, 8(r1)
/* 80357620 00354580 EC 00 08 28 */ fsubs f0, f0, f1
/* 80357624 00354584 EC 22 00 32 */ fmuls f1, f2, f0
/* 80357628 00354588 48 03 23 2D */ bl __cvt_fp2unsigned
/* 8035762C 0035458C 7C 7A 1B 78 */ mr r26, r3
/* 80357630 00354590 7F 83 E3 78 */ mr r3, r28
/* 80357634 00354594 7F 44 D3 78 */ mr r4, r26
/* 80357638 00354598 4B D0 C4 ED */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 8035763C 0035459C 3B 77 00 38 */ addi r27, r23, 0x38
/* 80357640 003545A0 7F 44 D3 78 */ mr r4, r26
/* 80357644 003545A4 7F 63 DB 78 */ mr r3, r27
/* 80357648 003545A8 4B D0 67 B1 */ bl "reserve__Q24rstl36vector<f,Q24rstl17rmemory_allocator>Fi"
/* 8035764C 003545AC C3 E2 CC C4 */ lfs f31, lbl_805AE9E4@sda21(r2)
/* 80357650 003545B0 7F BF EB 78 */ mr r31, r29
/* 80357654 003545B4 7F 1E C3 78 */ mr r30, r24
/* 80357658 003545B8 3B 40 00 00 */ li r26, 0
/* 8035765C 003545BC 48 00 01 20 */ b lbl_8035777C
lbl_80357660:
/* 80357660 003545C0 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80357664 003545C4 C0 17 00 04 */ lfs f0, 4(r23)
/* 80357668 003545C8 C0 5F 00 00 */ lfs f2, 0(r31)
/* 8035766C 003545CC EC 01 00 32 */ fmuls f0, f1, f0
/* 80357670 003545D0 C0 37 00 00 */ lfs f1, 0(r23)
/* 80357674 003545D4 C0 9F 00 08 */ lfs f4, 8(r31)
/* 80357678 003545D8 C0 77 00 08 */ lfs f3, 8(r23)
/* 8035767C 003545DC EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 80357680 003545E0 EF C4 00 FA */ fmadds f30, f4, f3, f0
/* 80357684 003545E4 FC 1E F8 40 */ fcmpo cr0, f30, f31
/* 80357688 003545E8 40 81 00 E8 */ ble lbl_80357770
/* 8035768C 003545EC 80 1C 00 04 */ lwz r0, 4(r28)
/* 80357690 003545F0 80 BC 00 08 */ lwz r5, 8(r28)
/* 80357694 003545F4 7C 00 28 00 */ cmpw r0, r5
/* 80357698 003545F8 41 80 00 1C */ blt lbl_803576B4
/* 8035769C 003545FC 2C 05 00 00 */ cmpwi r5, 0
/* 803576A0 00354600 7F 83 E3 78 */ mr r3, r28
/* 803576A4 00354604 38 80 00 04 */ li r4, 4
/* 803576A8 00354608 41 82 00 08 */ beq lbl_803576B0
/* 803576AC 0035460C 54 A4 08 3C */ slwi r4, r5, 1
lbl_803576B0:
/* 803576B0 00354610 4B D0 C4 75 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
lbl_803576B4:
/* 803576B4 00354614 80 1C 00 04 */ lwz r0, 4(r28)
/* 803576B8 00354618 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 803576BC 0035461C 54 00 10 3A */ slwi r0, r0, 2
/* 803576C0 00354620 7C 63 02 15 */ add. r3, r3, r0
/* 803576C4 00354624 41 82 00 08 */ beq lbl_803576CC
/* 803576C8 00354628 93 43 00 00 */ stw r26, 0(r3)
lbl_803576CC:
/* 803576CC 0035462C 80 7C 00 04 */ lwz r3, 4(r28)
/* 803576D0 00354630 3C 00 43 30 */ lis r0, 0x4330
/* 803576D4 00354634 C0 02 CC C4 */ lfs f0, lbl_805AE9E4@sda21(r2)
/* 803576D8 00354638 38 63 00 01 */ addi r3, r3, 1
/* 803576DC 0035463C 90 01 00 10 */ stw r0, 0x10(r1)
/* 803576E0 00354640 C8 42 CC D0 */ lfd f2, lbl_805AE9F0@sda21(r2)
/* 803576E4 00354644 EC 1E 00 28 */ fsubs f0, f30, f0
/* 803576E8 00354648 90 7C 00 04 */ stw r3, 4(r28)
/* 803576EC 0035464C C0 7E 00 00 */ lfs f3, 0(r30)
/* 803576F0 00354650 C0 3E 00 04 */ lfs f1, 4(r30)
/* 803576F4 00354654 C0 9E 00 08 */ lfs f4, 8(r30)
/* 803576F8 00354658 EC 23 08 2A */ fadds f1, f3, f1
/* 803576FC 0035465C 80 1B 00 04 */ lwz r0, 4(r27)
/* 80357700 00354660 80 BB 00 08 */ lwz r5, 8(r27)
/* 80357704 00354664 EC 64 08 2A */ fadds f3, f4, f1
/* 80357708 00354668 7C 00 28 00 */ cmpw r0, r5
/* 8035770C 0035466C FC 20 18 1E */ fctiwz f1, f3
/* 80357710 00354670 D8 21 00 08 */ stfd f1, 8(r1)
/* 80357714 00354674 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80357718 00354678 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8035771C 0035467C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80357720 00354680 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80357724 00354684 EC 21 10 28 */ fsubs f1, f1, f2
/* 80357728 00354688 EC 23 08 28 */ fsubs f1, f3, f1
/* 8035772C 0035468C EF C1 00 32 */ fmuls f30, f1, f0
/* 80357730 00354690 41 80 00 1C */ blt lbl_8035774C
/* 80357734 00354694 2C 05 00 00 */ cmpwi r5, 0
/* 80357738 00354698 7F 63 DB 78 */ mr r3, r27
/* 8035773C 0035469C 38 80 00 04 */ li r4, 4
/* 80357740 003546A0 41 82 00 08 */ beq lbl_80357748
/* 80357744 003546A4 54 A4 08 3C */ slwi r4, r5, 1
lbl_80357748:
/* 80357748 003546A8 4B D0 66 B1 */ bl "reserve__Q24rstl36vector<f,Q24rstl17rmemory_allocator>Fi"
lbl_8035774C:
/* 8035774C 003546AC 80 1B 00 04 */ lwz r0, 4(r27)
/* 80357750 003546B0 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80357754 003546B4 54 00 10 3A */ slwi r0, r0, 2
/* 80357758 003546B8 7C 63 02 15 */ add. r3, r3, r0
/* 8035775C 003546BC 41 82 00 08 */ beq lbl_80357764
/* 80357760 003546C0 D3 C3 00 00 */ stfs f30, 0(r3)
lbl_80357764:
/* 80357764 003546C4 80 7B 00 04 */ lwz r3, 4(r27)
/* 80357768 003546C8 38 03 00 01 */ addi r0, r3, 1
/* 8035776C 003546CC 90 1B 00 04 */ stw r0, 4(r27)
lbl_80357770:
/* 80357770 003546D0 3B FF 00 0C */ addi r31, r31, 0xc
/* 80357774 003546D4 3B DE 00 0C */ addi r30, r30, 0xc
/* 80357778 003546D8 3B 5A 00 01 */ addi r26, r26, 1
lbl_8035777C:
/* 8035777C 003546DC 7C 1A C8 40 */ cmplw r26, r25
/* 80357780 003546E0 41 80 FE E0 */ blt lbl_80357660
/* 80357784 003546E4 28 1D 00 00 */ cmplwi r29, 0
/* 80357788 003546E8 41 82 00 0C */ beq lbl_80357794
/* 8035778C 003546EC 7F A3 EB 78 */ mr r3, r29
/* 80357790 003546F0 4B FB E1 A1 */ bl Free__7CMemoryFPCv
lbl_80357794:
/* 80357794 003546F4 80 17 00 2C */ lwz r0, 0x2c(r23)
/* 80357798 003546F8 38 80 00 00 */ li r4, 0
/* 8035779C 003546FC 28 00 00 00 */ cmplwi r0, 0
/* 803577A0 00354700 7C 03 03 78 */ mr r3, r0
/* 803577A4 00354704 40 81 01 A4 */ ble lbl_80357948
/* 803577A8 00354708 54 00 F8 7F */ rlwinm. r0, r0, 0x1f, 1, 0x1f
/* 803577AC 0035470C 7C 09 03 A6 */ mtctr r0
/* 803577B0 00354710 41 82 01 10 */ beq lbl_803578C0
lbl_803577B4:
/* 803577B4 00354714 C0 37 00 1C */ lfs f1, 0x1c(r23)
/* 803577B8 00354718 C0 17 00 18 */ lfs f0, 0x18(r23)
/* 803577BC 0035471C 80 D7 00 44 */ lwz r6, 0x44(r23)
/* 803577C0 00354720 EC 81 00 24 */ fdivs f4, f1, f0
/* 803577C4 00354724 80 B7 00 34 */ lwz r5, 0x34(r23)
/* 803577C8 00354728 7C C6 24 2E */ lfsx f6, r6, r4
/* 803577CC 0035472C 7C 05 20 2E */ lwzx r0, r5, r4
/* 803577D0 00354730 38 84 00 04 */ addi r4, r4, 4
/* 803577D4 00354734 C0 17 00 00 */ lfs f0, 0(r23)
/* 803577D8 00354738 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803577DC 0035473C C0 37 00 04 */ lfs f1, 4(r23)
/* 803577E0 00354740 EC 06 00 32 */ fmuls f0, f6, f0
/* 803577E4 00354744 C0 B7 00 20 */ lfs f5, 0x20(r23)
/* 803577E8 00354748 EC 66 00 72 */ fmuls f3, f6, f1
/* 803577EC 0035474C C0 57 00 08 */ lfs f2, 8(r23)
/* 803577F0 00354750 EC 05 00 32 */ fmuls f0, f5, f0
/* 803577F4 00354754 7C B8 02 14 */ add r5, r24, r0
/* 803577F8 00354758 EC 65 00 F2 */ fmuls f3, f5, f3
/* 803577FC 0035475C C0 25 00 00 */ lfs f1, 0(r5)
/* 80357800 00354760 EC 46 00 B2 */ fmuls f2, f6, f2
/* 80357804 00354764 EC 04 00 32 */ fmuls f0, f4, f0
/* 80357808 00354768 EC 64 00 F2 */ fmuls f3, f4, f3
/* 8035780C 0035476C EC 45 00 B2 */ fmuls f2, f5, f2
/* 80357810 00354770 EC 01 00 2A */ fadds f0, f1, f0
/* 80357814 00354774 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80357818 00354778 D0 05 00 00 */ stfs f0, 0(r5)
/* 8035781C 0035477C C0 05 00 04 */ lfs f0, 4(r5)
/* 80357820 00354780 EC 00 18 2A */ fadds f0, f0, f3
/* 80357824 00354784 D0 05 00 04 */ stfs f0, 4(r5)
/* 80357828 00354788 C0 05 00 08 */ lfs f0, 8(r5)
/* 8035782C 0035478C EC 00 10 2A */ fadds f0, f0, f2
/* 80357830 00354790 D0 05 00 08 */ stfs f0, 8(r5)
/* 80357834 00354794 80 D7 00 44 */ lwz r6, 0x44(r23)
/* 80357838 00354798 C0 37 00 1C */ lfs f1, 0x1c(r23)
/* 8035783C 0035479C C0 17 00 18 */ lfs f0, 0x18(r23)
/* 80357840 003547A0 80 B7 00 34 */ lwz r5, 0x34(r23)
/* 80357844 003547A4 EC 81 00 24 */ fdivs f4, f1, f0
/* 80357848 003547A8 7C C6 24 2E */ lfsx f6, r6, r4
/* 8035784C 003547AC 7C 05 20 2E */ lwzx r0, r5, r4
/* 80357850 003547B0 38 84 00 04 */ addi r4, r4, 4
/* 80357854 003547B4 C0 17 00 00 */ lfs f0, 0(r23)
/* 80357858 003547B8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8035785C 003547BC C0 37 00 04 */ lfs f1, 4(r23)
/* 80357860 003547C0 7C B8 02 14 */ add r5, r24, r0
/* 80357864 003547C4 C0 57 00 08 */ lfs f2, 8(r23)
/* 80357868 003547C8 EC 06 00 32 */ fmuls f0, f6, f0
/* 8035786C 003547CC C0 B7 00 20 */ lfs f5, 0x20(r23)
/* 80357870 003547D0 EC 66 00 72 */ fmuls f3, f6, f1
/* 80357874 003547D4 EC 46 00 B2 */ fmuls f2, f6, f2
/* 80357878 003547D8 C0 25 00 00 */ lfs f1, 0(r5)
/* 8035787C 003547DC EC 05 00 32 */ fmuls f0, f5, f0
/* 80357880 003547E0 EC 65 00 F2 */ fmuls f3, f5, f3
/* 80357884 003547E4 EC 45 00 B2 */ fmuls f2, f5, f2
/* 80357888 003547E8 EC 04 00 32 */ fmuls f0, f4, f0
/* 8035788C 003547EC EC 64 00 F2 */ fmuls f3, f4, f3
/* 80357890 003547F0 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80357894 003547F4 EC 01 00 2A */ fadds f0, f1, f0
/* 80357898 003547F8 D0 05 00 00 */ stfs f0, 0(r5)
/* 8035789C 003547FC C0 05 00 04 */ lfs f0, 4(r5)
/* 803578A0 00354800 EC 00 18 2A */ fadds f0, f0, f3
/* 803578A4 00354804 D0 05 00 04 */ stfs f0, 4(r5)
/* 803578A8 00354808 C0 05 00 08 */ lfs f0, 8(r5)
/* 803578AC 0035480C EC 00 10 2A */ fadds f0, f0, f2
/* 803578B0 00354810 D0 05 00 08 */ stfs f0, 8(r5)
/* 803578B4 00354814 42 00 FF 00 */ bdnz lbl_803577B4
/* 803578B8 00354818 70 63 00 01 */ andi. r3, r3, 1
/* 803578BC 0035481C 41 82 00 8C */ beq lbl_80357948
lbl_803578C0:
/* 803578C0 00354820 7C 69 03 A6 */ mtctr r3
lbl_803578C4:
/* 803578C4 00354824 C0 37 00 1C */ lfs f1, 0x1c(r23)
/* 803578C8 00354828 C0 17 00 18 */ lfs f0, 0x18(r23)
/* 803578CC 0035482C 80 D7 00 44 */ lwz r6, 0x44(r23)
/* 803578D0 00354830 EC 81 00 24 */ fdivs f4, f1, f0
/* 803578D4 00354834 80 B7 00 34 */ lwz r5, 0x34(r23)
/* 803578D8 00354838 7C C6 24 2E */ lfsx f6, r6, r4
/* 803578DC 0035483C 7C 05 20 2E */ lwzx r0, r5, r4
/* 803578E0 00354840 38 84 00 04 */ addi r4, r4, 4
/* 803578E4 00354844 C0 17 00 00 */ lfs f0, 0(r23)
/* 803578E8 00354848 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803578EC 0035484C C0 37 00 04 */ lfs f1, 4(r23)
/* 803578F0 00354850 EC 06 00 32 */ fmuls f0, f6, f0
/* 803578F4 00354854 C0 B7 00 20 */ lfs f5, 0x20(r23)
/* 803578F8 00354858 EC 66 00 72 */ fmuls f3, f6, f1
/* 803578FC 0035485C C0 57 00 08 */ lfs f2, 8(r23)
/* 80357900 00354860 EC 05 00 32 */ fmuls f0, f5, f0
/* 80357904 00354864 7C B8 02 14 */ add r5, r24, r0
/* 80357908 00354868 EC 65 00 F2 */ fmuls f3, f5, f3
/* 8035790C 0035486C C0 25 00 00 */ lfs f1, 0(r5)
/* 80357910 00354870 EC 46 00 B2 */ fmuls f2, f6, f2
/* 80357914 00354874 EC 04 00 32 */ fmuls f0, f4, f0
/* 80357918 00354878 EC 64 00 F2 */ fmuls f3, f4, f3
/* 8035791C 0035487C EC 45 00 B2 */ fmuls f2, f5, f2
/* 80357920 00354880 EC 01 00 2A */ fadds f0, f1, f0
/* 80357924 00354884 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80357928 00354888 D0 05 00 00 */ stfs f0, 0(r5)
/* 8035792C 0035488C C0 05 00 04 */ lfs f0, 4(r5)
/* 80357930 00354890 EC 00 18 2A */ fadds f0, f0, f3
/* 80357934 00354894 D0 05 00 04 */ stfs f0, 4(r5)
/* 80357938 00354898 C0 05 00 08 */ lfs f0, 8(r5)
/* 8035793C 0035489C EC 00 10 2A */ fadds f0, f0, f2
/* 80357940 003548A0 D0 05 00 08 */ stfs f0, 8(r5)
/* 80357944 003548A4 42 00 FF 80 */ bdnz lbl_803578C4
lbl_80357948:
/* 80357948 003548A8 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 8035794C 003548AC CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80357950 003548B0 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 80357954 003548B4 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 80357958 003548B8 BA E1 00 1C */ lmw r23, 0x1c(r1)
/* 8035795C 003548BC 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80357960 003548C0 7C 08 03 A6 */ mtlr r0
/* 80357964 003548C4 38 21 00 60 */ addi r1, r1, 0x60
/* 80357968 003548C8 4E 80 00 20 */ blr
.global Update__18CVertexMorphEffectFf
Update__18CVertexMorphEffectFf:
/* 8035796C 003548CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80357970 003548D0 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 80357974 003548D4 EC 20 08 2A */ fadds f1, f0, f1
/* 80357978 003548D8 D0 21 00 08 */ stfs f1, 8(r1)
/* 8035797C 003548DC C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80357980 003548E0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80357984 003548E4 40 80 00 0C */ bge lbl_80357990
/* 80357988 003548E8 38 83 00 18 */ addi r4, r3, 0x18
/* 8035798C 003548EC 48 00 00 08 */ b lbl_80357994
lbl_80357990:
/* 80357990 003548F0 38 81 00 08 */ addi r4, r1, 8
lbl_80357994:
/* 80357994 003548F4 C0 04 00 00 */ lfs f0, 0(r4)
/* 80357998 003548F8 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8035799C 003548FC 38 21 00 10 */ addi r1, r1, 0x10
/* 803579A0 00354900 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,732 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global sub_8035470c
sub_8035470c:
/* 8035470C 0035166C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80354710 00351670 7C 08 02 A6 */ mflr r0
/* 80354714 00351674 90 01 00 24 */ stw r0, 0x24(r1)
/* 80354718 00351678 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8035471C 0035167C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80354720 00351680 7C BE 2B 78 */ mr r30, r5
/* 80354724 00351684 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80354728 00351688 7C 9D 23 78 */ mr r29, r4
/* 8035472C 0035168C 83 E3 00 00 */ lwz r31, 0(r3)
/* 80354730 00351690 48 00 00 78 */ b lbl_803547A8
lbl_80354734:
/* 80354734 00351694 28 1E 00 00 */ cmplwi r30, 0
/* 80354738 00351698 41 82 00 68 */ beq lbl_803547A0
/* 8035473C 0035169C 80 1F 00 00 */ lwz r0, 0(r31)
/* 80354740 003516A0 38 9E 00 04 */ addi r4, r30, 4
/* 80354744 003516A4 38 7F 00 04 */ addi r3, r31, 4
/* 80354748 003516A8 90 1E 00 00 */ stw r0, 0(r30)
/* 8035474C 003516AC 80 1E 00 00 */ lwz r0, 0(r30)
/* 80354750 003516B0 7C 09 03 A6 */ mtctr r0
/* 80354754 003516B4 2C 00 00 00 */ cmpwi r0, 0
/* 80354758 003516B8 40 81 00 28 */ ble lbl_80354780
lbl_8035475C:
/* 8035475C 003516BC 28 04 00 00 */ cmplwi r4, 0
/* 80354760 003516C0 41 82 00 14 */ beq lbl_80354774
/* 80354764 003516C4 88 03 00 00 */ lbz r0, 0(r3)
/* 80354768 003516C8 98 04 00 00 */ stb r0, 0(r4)
/* 8035476C 003516CC C0 03 00 04 */ lfs f0, 4(r3)
/* 80354770 003516D0 D0 04 00 04 */ stfs f0, 4(r4)
lbl_80354774:
/* 80354774 003516D4 38 84 00 08 */ addi r4, r4, 8
/* 80354778 003516D8 38 63 00 08 */ addi r3, r3, 8
/* 8035477C 003516DC 42 00 FF E0 */ bdnz lbl_8035475C
lbl_80354780:
/* 80354780 003516E0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80354784 003516E4 38 7E 00 20 */ addi r3, r30, 0x20
/* 80354788 003516E8 38 9F 00 20 */ addi r4, r31, 0x20
/* 8035478C 003516EC 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 80354790 003516F0 4B FB E3 E5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80354794 003516F4 38 7E 00 50 */ addi r3, r30, 0x50
/* 80354798 003516F8 38 9F 00 50 */ addi r4, r31, 0x50
/* 8035479C 003516FC 4B FB B8 89 */ bl __ct__9CMatrix3fFRC9CMatrix3f
lbl_803547A0:
/* 803547A0 00351700 3B DE 00 74 */ addi r30, r30, 0x74
/* 803547A4 00351704 3B FF 00 74 */ addi r31, r31, 0x74
lbl_803547A8:
/* 803547A8 00351708 80 1D 00 00 */ lwz r0, 0(r29)
/* 803547AC 0035170C 7C 1F 00 40 */ cmplw r31, r0
/* 803547B0 00351710 40 82 FF 84 */ bne lbl_80354734
/* 803547B4 00351714 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803547B8 00351718 7F C3 F3 78 */ mr r3, r30
/* 803547BC 0035171C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803547C0 00351720 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803547C4 00351724 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803547C8 00351728 7C 08 03 A6 */ mtlr r0
/* 803547CC 0035172C 38 21 00 20 */ addi r1, r1, 0x20
/* 803547D0 00351730 4E 80 00 20 */ blr
.global PSMTXROMultVecArrayGathered
PSMTXROMultVecArrayGathered:
/* 803547D4 00351734 7D 6B 5A 78 */ xor r11, r11, r11
/* 803547D8 00351738 39 6B 00 60 */ addi r11, r11, 0x60
/* 803547DC 0035173C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803547E0 00351740 D9 C1 00 08 */ stfd f14, 8(r1)
/* 803547E4 00351744 38 E6 FF FF */ addi r7, r6, -1
/* 803547E8 00351748 D9 E1 00 10 */ stfd f15, 0x10(r1)
/* 803547EC 0035174C 54 E7 F8 7E */ srwi r7, r7, 1
/* 803547F0 00351750 DA 01 00 18 */ stfd f16, 0x18(r1)
/* 803547F4 00351754 DA 21 00 20 */ stfd f17, 0x20(r1)
/* 803547F8 00351758 DA 41 00 28 */ stfd f18, 0x28(r1)
/* 803547FC 0035175C 7C E9 03 A6 */ mtctr r7
/* 80354800 00351760 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80354804 00351764 38 84 FF F8 */ addi r4, r4, -8
/* 80354808 00351768 E0 23 80 08 */ psq_l f1, 8(r3), 1, qr0
/* 8035480C 0035176C E0 C3 00 24 */ psq_l f6, 36(r3), 0, qr0
/* 80354810 00351770 E5 04 00 08 */ psq_lu f8, 8(r4), 0, qr0
/* 80354814 00351774 E0 E3 80 2C */ psq_l f7, 44(r3), 1, qr0
/* 80354818 00351778 E5 24 00 08 */ psq_lu f9, 8(r4), 0, qr0
/* 8035481C 0035177C 11 60 32 1C */ ps_madds0 f11, f0, f8, f6
/* 80354820 00351780 E0 43 00 0C */ psq_l f2, 12(r3), 0, qr0
/* 80354824 00351784 11 81 3A 1C */ ps_madds0 f12, f1, f8, f7
/* 80354828 00351788 E0 63 80 14 */ psq_l f3, 20(r3), 1, qr0
/* 8035482C 0035178C 11 A0 32 5E */ ps_madds1 f13, f0, f9, f6
/* 80354830 00351790 E5 44 00 08 */ psq_lu f10, 8(r4), 0, qr0
/* 80354834 00351794 11 C1 3A 5E */ ps_madds1 f14, f1, f9, f7
/* 80354838 00351798 E0 A3 80 20 */ psq_l f5, 32(r3), 1, qr0
/* 8035483C 0035179C 11 62 5A 1E */ ps_madds1 f11, f2, f8, f11
/* 80354840 003517A0 11 83 62 1E */ ps_madds1 f12, f3, f8, f12
/* 80354844 003517A4 E0 83 00 18 */ psq_l f4, 24(r3), 0, qr0
/* 80354848 003517A8 11 A2 6A 9C */ ps_madds0 f13, f2, f10, f13
/* 8035484C 003517AC E5 04 00 08 */ psq_lu f8, 8(r4), 0, qr0
/* 80354850 003517B0 11 C3 72 9C */ ps_madds0 f14, f3, f10, f14
/* 80354854 003517B4 11 E4 5A 5C */ ps_madds0 f15, f4, f9, f11
/* 80354858 003517B8 12 05 62 5C */ ps_madds0 f16, f5, f9, f12
/* 8035485C 003517BC E5 24 00 08 */ psq_lu f9, 8(r4), 0, qr0
/* 80354860 003517C0 12 24 6A 9E */ ps_madds1 f17, f4, f10, f13
/* 80354864 003517C4 12 45 72 9E */ ps_madds1 f18, f5, f10, f14
/* 80354868 003517C8 E5 44 00 08 */ psq_lu f10, 8(r4), 0, qr0
lbl_8035486C:
/* 8035486C 003517CC 11 60 32 1C */ ps_madds0 f11, f0, f8, f6
/* 80354870 003517D0 F1 E5 00 00 */ psq_st f15, 0(r5), 0, qr0
/* 80354874 003517D4 11 81 3A 1C */ ps_madds0 f12, f1, f8, f7
/* 80354878 003517D8 F2 05 80 00 */ psq_st f16, 0(r5), 1, qr0
/* 8035487C 003517DC 11 A0 32 5E */ ps_madds1 f13, f0, f9, f6
/* 80354880 003517E0 F2 25 00 00 */ psq_st f17, 0(r5), 0, qr0
/* 80354884 003517E4 11 C1 3A 5E */ ps_madds1 f14, f1, f9, f7
/* 80354888 003517E8 F2 45 80 00 */ psq_st f18, 0(r5), 1, qr0
/* 8035488C 003517EC 11 62 5A 1E */ ps_madds1 f11, f2, f8, f11
/* 80354890 003517F0 11 83 62 1E */ ps_madds1 f12, f3, f8, f12
/* 80354894 003517F4 E5 04 00 08 */ psq_lu f8, 8(r4), 0, qr0
/* 80354898 003517F8 11 A2 6A 9C */ ps_madds0 f13, f2, f10, f13
/* 8035489C 003517FC 11 C3 72 9C */ ps_madds0 f14, f3, f10, f14
/* 803548A0 00351800 11 E4 5A 5C */ ps_madds0 f15, f4, f9, f11
/* 803548A4 00351804 12 05 62 5C */ ps_madds0 f16, f5, f9, f12
/* 803548A8 00351808 E5 24 00 08 */ psq_lu f9, 8(r4), 0, qr0
/* 803548AC 0035180C 12 24 6A 9E */ ps_madds1 f17, f4, f10, f13
/* 803548B0 00351810 12 45 72 9E */ ps_madds1 f18, f5, f10, f14
/* 803548B4 00351814 E5 44 00 08 */ psq_lu f10, 8(r4), 0, qr0
/* 803548B8 00351818 42 00 FF B4 */ bdnz lbl_8035486C
/* 803548BC 0035181C F1 E5 00 00 */ psq_st f15, 0(r5), 0, qr0
/* 803548C0 00351820 54 C7 07 FF */ clrlwi. r7, r6, 0x1f
/* 803548C4 00351824 F2 05 80 00 */ psq_st f16, 0(r5), 1, qr0
/* 803548C8 00351828 40 82 00 0C */ bne lbl_803548D4
/* 803548CC 0035182C F2 25 00 00 */ psq_st f17, 0(r5), 0, qr0
/* 803548D0 00351830 F2 45 80 00 */ psq_st f18, 0(r5), 1, qr0
lbl_803548D4:
/* 803548D4 00351834 C9 C1 00 08 */ lfd f14, 8(r1)
/* 803548D8 00351838 C9 E1 00 10 */ lfd f15, 0x10(r1)
/* 803548DC 0035183C CA 01 00 18 */ lfd f16, 0x18(r1)
/* 803548E0 00351840 CA 21 00 20 */ lfd f17, 0x20(r1)
/* 803548E4 00351844 CA 41 00 28 */ lfd f18, 0x28(r1)
/* 803548E8 00351848 38 21 00 40 */ addi r1, r1, 0x40
/* 803548EC 0035184C 4E 80 00 20 */ blr
.global sub_803548f0
sub_803548f0:
/* 803548F0 00351850 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803548F4 00351854 7C 08 02 A6 */ mflr r0
/* 803548F8 00351858 90 01 00 34 */ stw r0, 0x34(r1)
/* 803548FC 0035185C BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80354900 00351860 7C 7B 1B 78 */ mr r27, r3
/* 80354904 00351864 7C DC 33 78 */ mr r28, r6
/* 80354908 00351868 7C 9F 23 78 */ mr r31, r4
/* 8035490C 0035186C 7C BE 2B 78 */ mr r30, r5
/* 80354910 00351870 3B A0 00 00 */ li r29, 0
/* 80354914 00351874 48 00 00 38 */ b lbl_8035494C
lbl_80354918:
/* 80354918 00351878 7F E5 FB 78 */ mr r5, r31
/* 8035491C 0035187C 38 61 00 08 */ addi r3, r1, 8
/* 80354920 00351880 38 9B 00 50 */ addi r4, r27, 0x50
/* 80354924 00351884 4B FB B9 71 */ bl __ml__9CMatrix3fCFRC9CVector3f
/* 80354928 00351888 C0 01 00 08 */ lfs f0, 8(r1)
/* 8035492C 0035188C 3B FF 00 0C */ addi r31, r31, 0xc
/* 80354930 00351890 3B BD 00 01 */ addi r29, r29, 1
/* 80354934 00351894 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80354938 00351898 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8035493C 0035189C D0 1E 00 04 */ stfs f0, 4(r30)
/* 80354940 003518A0 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80354944 003518A4 D0 1E 00 08 */ stfs f0, 8(r30)
/* 80354948 003518A8 3B DE 00 0C */ addi r30, r30, 0xc
lbl_8035494C:
/* 8035494C 003518AC 7C 1D E0 00 */ cmpw r29, r28
/* 80354950 003518B0 41 80 FF C8 */ blt lbl_80354918
/* 80354954 003518B4 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80354958 003518B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8035495C 003518BC 7C 08 03 A6 */ mtlr r0
/* 80354960 003518C0 38 21 00 30 */ addi r1, r1, 0x30
/* 80354964 003518C4 4E 80 00 20 */ blr
.global BuildNormals__12CVirtualBoneCFPCUsPVvi
BuildNormals__12CVirtualBoneCFPCUsPVvi:
/* 80354968 003518C8 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 8035496C 003518CC 7C 08 02 A6 */ mflr r0
/* 80354970 003518D0 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80354974 003518D4 BF 61 00 8C */ stmw r27, 0x8c(r1)
/* 80354978 003518D8 7C DD 33 78 */ mr r29, r6
/* 8035497C 003518DC 2C 1D 00 03 */ cmpwi r29, 3
/* 80354980 003518E0 7C 7B 1B 78 */ mr r27, r3
/* 80354984 003518E4 7C 9E 23 78 */ mr r30, r4
/* 80354988 003518E8 7C BC 2B 78 */ mr r28, r5
/* 8035498C 003518EC 40 80 00 4C */ bge lbl_803549D8
/* 80354990 003518F0 7F DF F3 78 */ mr r31, r30
/* 80354994 003518F4 3B C0 00 00 */ li r30, 0
/* 80354998 003518F8 48 00 00 34 */ b lbl_803549CC
lbl_8035499C:
/* 8035499C 003518FC 7F E5 FB 78 */ mr r5, r31
/* 803549A0 00351900 38 61 00 14 */ addi r3, r1, 0x14
/* 803549A4 00351904 38 9B 00 50 */ addi r4, r27, 0x50
/* 803549A8 00351908 4B FB B8 ED */ bl __ml__9CMatrix3fCFRC9CVector3f
/* 803549AC 0035190C C0 21 00 18 */ lfs f1, 0x18(r1)
/* 803549B0 00351910 3B FF 00 0C */ addi r31, r31, 0xc
/* 803549B4 00351914 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 803549B8 00351918 3B DE 00 01 */ addi r30, r30, 1
/* 803549BC 0035191C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 803549C0 00351920 D0 1C 00 00 */ stfs f0, 0(r28)
/* 803549C4 00351924 D0 3C 00 00 */ stfs f1, 0(r28)
/* 803549C8 00351928 D0 5C 00 00 */ stfs f2, 0(r28)
lbl_803549CC:
/* 803549CC 0035192C 7C 1E E8 00 */ cmpw r30, r29
/* 803549D0 00351930 41 80 FF CC */ blt lbl_8035499C
/* 803549D4 00351934 48 00 00 48 */ b lbl_80354A1C
lbl_803549D8:
/* 803549D8 00351938 C0 02 CC A0 */ lfs f0, lbl_805AE9C0@sda21(r2)
/* 803549DC 0035193C 38 61 00 50 */ addi r3, r1, 0x50
/* 803549E0 00351940 38 9B 00 50 */ addi r4, r27, 0x50
/* 803549E4 00351944 38 A1 00 08 */ addi r5, r1, 8
/* 803549E8 00351948 D0 01 00 08 */ stfs f0, 8(r1)
/* 803549EC 0035194C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 803549F0 00351950 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 803549F4 00351954 4B FB E8 85 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f
/* 803549F8 00351958 38 61 00 50 */ addi r3, r1, 0x50
/* 803549FC 0035195C 48 00 04 79 */ bl nullsub_22
/* 80354A00 00351960 38 81 00 20 */ addi r4, r1, 0x20
/* 80354A04 00351964 48 02 8C CD */ bl PSMTXReorder
/* 80354A08 00351968 7F C4 F3 78 */ mr r4, r30
/* 80354A0C 0035196C 7F 85 E3 78 */ mr r5, r28
/* 80354A10 00351970 7F A6 EB 78 */ mr r6, r29
/* 80354A14 00351974 38 61 00 20 */ addi r3, r1, 0x20
/* 80354A18 00351978 4B FF FD BD */ bl PSMTXROMultVecArrayGathered
lbl_80354A1C:
/* 80354A1C 0035197C BB 61 00 8C */ lmw r27, 0x8c(r1)
/* 80354A20 00351980 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80354A24 00351984 7C 08 03 A6 */ mtlr r0
/* 80354A28 00351988 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80354A2C 0035198C 4E 80 00 20 */ blr
.global BuildPoints__12CVirtualBoneCFPCUsPVvi
BuildPoints__12CVirtualBoneCFPCUsPVvi:
/* 80354A30 00351990 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80354A34 00351994 7C 08 02 A6 */ mflr r0
/* 80354A38 00351998 90 01 00 64 */ stw r0, 0x64(r1)
/* 80354A3C 0035199C BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 80354A40 003519A0 7C DD 33 78 */ mr r29, r6
/* 80354A44 003519A4 2C 1D 00 03 */ cmpwi r29, 3
/* 80354A48 003519A8 7C 7B 1B 78 */ mr r27, r3
/* 80354A4C 003519AC 7C 9E 23 78 */ mr r30, r4
/* 80354A50 003519B0 7C BC 2B 78 */ mr r28, r5
/* 80354A54 003519B4 40 80 00 4C */ bge lbl_80354AA0
/* 80354A58 003519B8 7F DF F3 78 */ mr r31, r30
/* 80354A5C 003519BC 3B C0 00 00 */ li r30, 0
/* 80354A60 003519C0 48 00 00 34 */ b lbl_80354A94
lbl_80354A64:
/* 80354A64 003519C4 7F E5 FB 78 */ mr r5, r31
/* 80354A68 003519C8 38 61 00 08 */ addi r3, r1, 8
/* 80354A6C 003519CC 38 9B 00 20 */ addi r4, r27, 0x20
/* 80354A70 003519D0 4B FB E0 79 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80354A74 003519D4 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 80354A78 003519D8 3B FF 00 0C */ addi r31, r31, 0xc
/* 80354A7C 003519DC C0 41 00 10 */ lfs f2, 0x10(r1)
/* 80354A80 003519E0 3B DE 00 01 */ addi r30, r30, 1
/* 80354A84 003519E4 C0 01 00 08 */ lfs f0, 8(r1)
/* 80354A88 003519E8 D0 1C 00 00 */ stfs f0, 0(r28)
/* 80354A8C 003519EC D0 3C 00 00 */ stfs f1, 0(r28)
/* 80354A90 003519F0 D0 5C 00 00 */ stfs f2, 0(r28)
lbl_80354A94:
/* 80354A94 003519F4 7C 1E E8 00 */ cmpw r30, r29
/* 80354A98 003519F8 41 80 FF CC */ blt lbl_80354A64
/* 80354A9C 003519FC 48 00 00 28 */ b lbl_80354AC4
lbl_80354AA0:
/* 80354AA0 00351A00 38 7B 00 20 */ addi r3, r27, 0x20
/* 80354AA4 00351A04 48 00 03 D1 */ bl nullsub_22
/* 80354AA8 00351A08 38 81 00 14 */ addi r4, r1, 0x14
/* 80354AAC 00351A0C 48 02 8C 25 */ bl PSMTXReorder
/* 80354AB0 00351A10 7F C4 F3 78 */ mr r4, r30
/* 80354AB4 00351A14 7F 85 E3 78 */ mr r5, r28
/* 80354AB8 00351A18 7F A6 EB 78 */ mr r6, r29
/* 80354ABC 00351A1C 38 61 00 14 */ addi r3, r1, 0x14
/* 80354AC0 00351A20 4B FF FD 15 */ bl PSMTXROMultVecArrayGathered
lbl_80354AC4:
/* 80354AC4 00351A24 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 80354AC8 00351A28 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80354ACC 00351A2C 7C 08 03 A6 */ mtlr r0
/* 80354AD0 00351A30 38 21 00 60 */ addi r1, r1, 0x60
/* 80354AD4 00351A34 4E 80 00 20 */ blr
.global sub_80354ad8
sub_80354ad8:
/* 80354AD8 00351A38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80354ADC 00351A3C 7C 08 02 A6 */ mflr r0
/* 80354AE0 00351A40 90 01 00 14 */ stw r0, 0x14(r1)
/* 80354AE4 00351A44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80354AE8 00351A48 7C 9F 23 78 */ mr r31, r4
/* 80354AEC 00351A4C 93 C1 00 08 */ stw r30, 8(r1)
/* 80354AF0 00351A50 7C 7E 1B 78 */ mr r30, r3
/* 80354AF4 00351A54 48 00 00 35 */ bl sub_80354b28
/* 80354AF8 00351A58 7F E3 FB 78 */ mr r3, r31
/* 80354AFC 00351A5C 38 9E 00 04 */ addi r4, r30, 4
/* 80354B00 00351A60 48 01 44 9D */ bl GetRotation__17CPoseAsTransformsCFRC6CSegId
/* 80354B04 00351A64 7C 64 1B 78 */ mr r4, r3
/* 80354B08 00351A68 38 7E 00 50 */ addi r3, r30, 0x50
/* 80354B0C 00351A6C 4B FB B4 ED */ bl __as__9CMatrix3fFRC9CMatrix3f
/* 80354B10 00351A70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80354B14 00351A74 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80354B18 00351A78 83 C1 00 08 */ lwz r30, 8(r1)
/* 80354B1C 00351A7C 7C 08 03 A6 */ mtlr r0
/* 80354B20 00351A80 38 21 00 10 */ addi r1, r1, 0x10
/* 80354B24 00351A84 4E 80 00 20 */ blr
.global sub_80354b28
sub_80354b28:
/* 80354B28 00351A88 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 80354B2C 00351A8C 7C 08 02 A6 */ mflr r0
/* 80354B30 00351A90 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 80354B34 00351A94 DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 80354B38 00351A98 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0
/* 80354B3C 00351A9C DB C1 00 A0 */ stfd f30, 0xa0(r1)
/* 80354B40 00351AA0 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0
/* 80354B44 00351AA4 DB A1 00 90 */ stfd f29, 0x90(r1)
/* 80354B48 00351AA8 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0
/* 80354B4C 00351AAC BF 21 00 74 */ stmw r25, 0x74(r1)
/* 80354B50 00351AB0 7C 7D 1B 78 */ mr r29, r3
/* 80354B54 00351AB4 7C 9E 23 78 */ mr r30, r4
/* 80354B58 00351AB8 80 03 00 00 */ lwz r0, 0(r3)
/* 80354B5C 00351ABC 7C BF 2B 78 */ mr r31, r5
/* 80354B60 00351AC0 2C 00 00 02 */ cmpwi r0, 2
/* 80354B64 00351AC4 41 82 00 50 */ beq lbl_80354BB4
/* 80354B68 00351AC8 40 80 00 10 */ bge lbl_80354B78
/* 80354B6C 00351ACC 2C 00 00 01 */ cmpwi r0, 1
/* 80354B70 00351AD0 40 80 00 14 */ bge lbl_80354B84
/* 80354B74 00351AD4 48 00 01 D0 */ b lbl_80354D44
lbl_80354B78:
/* 80354B78 00351AD8 2C 00 00 04 */ cmpwi r0, 4
/* 80354B7C 00351ADC 40 80 01 C8 */ bge lbl_80354D44
/* 80354B80 00351AE0 48 00 00 98 */ b lbl_80354C18
lbl_80354B84:
/* 80354B84 00351AE4 88 1D 00 04 */ lbz r0, 4(r29)
/* 80354B88 00351AE8 7F C3 F3 78 */ mr r3, r30
/* 80354B8C 00351AEC 38 81 00 08 */ addi r4, r1, 8
/* 80354B90 00351AF0 98 01 00 08 */ stb r0, 8(r1)
/* 80354B94 00351AF4 48 01 43 E9 */ bl GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId
/* 80354B98 00351AF8 88 01 00 08 */ lbz r0, 8(r1)
/* 80354B9C 00351AFC 7C 64 1B 78 */ mr r4, r3
/* 80354BA0 00351B00 38 7D 00 20 */ addi r3, r29, 0x20
/* 80354BA4 00351B04 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80354BA8 00351B08 7C BF 02 14 */ add r5, r31, r0
/* 80354BAC 00351B0C 48 00 02 81 */ bl TransformFromMatrixData
/* 80354BB0 00351B10 48 00 01 A4 */ b lbl_80354D54
lbl_80354BB4:
/* 80354BB4 00351B14 3B 9D 00 04 */ addi r28, r29, 4
/* 80354BB8 00351B18 C3 FD 00 08 */ lfs f31, 8(r29)
/* 80354BBC 00351B1C C3 DD 00 10 */ lfs f30, 0x10(r29)
/* 80354BC0 00351B20 3B 7D 00 0C */ addi r27, r29, 0xc
/* 80354BC4 00351B24 7F C3 F3 78 */ mr r3, r30
/* 80354BC8 00351B28 7F 84 E3 78 */ mr r4, r28
/* 80354BCC 00351B2C 48 01 43 B1 */ bl GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId
/* 80354BD0 00351B30 7C 60 1B 78 */ mr r0, r3
/* 80354BD4 00351B34 7F C3 F3 78 */ mr r3, r30
/* 80354BD8 00351B38 7C 1A 03 78 */ mr r26, r0
/* 80354BDC 00351B3C 7F 64 DB 78 */ mr r4, r27
/* 80354BE0 00351B40 48 01 43 9D */ bl GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId
/* 80354BE4 00351B44 88 9C 00 00 */ lbz r4, 0(r28)
/* 80354BE8 00351B48 7C 66 1B 78 */ mr r6, r3
/* 80354BEC 00351B4C 88 1B 00 00 */ lbz r0, 0(r27)
/* 80354BF0 00351B50 FC 20 F8 90 */ fmr f1, f31
/* 80354BF4 00351B54 1C A4 00 0C */ mulli r5, r4, 0xc
/* 80354BF8 00351B58 FC 40 F0 90 */ fmr f2, f30
/* 80354BFC 00351B5C 7F 44 D3 78 */ mr r4, r26
/* 80354C00 00351B60 38 7D 00 20 */ addi r3, r29, 0x20
/* 80354C04 00351B64 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80354C08 00351B68 7C BF 2A 14 */ add r5, r31, r5
/* 80354C0C 00351B6C 7C FF 02 14 */ add r7, r31, r0
/* 80354C10 00351B70 48 00 01 71 */ bl Transform2FromMatrixData
/* 80354C14 00351B74 48 00 01 40 */ b lbl_80354D54
lbl_80354C18:
/* 80354C18 00351B78 3B 9D 00 04 */ addi r28, r29, 4
/* 80354C1C 00351B7C C3 DD 00 08 */ lfs f30, 8(r29)
/* 80354C20 00351B80 C3 BD 00 10 */ lfs f29, 0x10(r29)
/* 80354C24 00351B84 3B 7D 00 0C */ addi r27, r29, 0xc
/* 80354C28 00351B88 C3 FD 00 18 */ lfs f31, 0x18(r29)
/* 80354C2C 00351B8C 3B 5D 00 14 */ addi r26, r29, 0x14
/* 80354C30 00351B90 7F C3 F3 78 */ mr r3, r30
/* 80354C34 00351B94 7F 84 E3 78 */ mr r4, r28
/* 80354C38 00351B98 48 01 43 45 */ bl GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId
/* 80354C3C 00351B9C 7C 60 1B 78 */ mr r0, r3
/* 80354C40 00351BA0 7F C3 F3 78 */ mr r3, r30
/* 80354C44 00351BA4 7C 19 03 78 */ mr r25, r0
/* 80354C48 00351BA8 7F 64 DB 78 */ mr r4, r27
/* 80354C4C 00351BAC 48 01 43 31 */ bl GetTransformMinusOffset__17CPoseAsTransformsCFRC6CSegId
/* 80354C50 00351BB0 FC 20 F0 90 */ fmr f1, f30
/* 80354C54 00351BB4 7C 65 1B 78 */ mr r5, r3
/* 80354C58 00351BB8 FC 40 E8 90 */ fmr f2, f29
/* 80354C5C 00351BBC 7F 24 CB 78 */ mr r4, r25
/* 80354C60 00351BC0 38 61 00 48 */ addi r3, r1, 0x48
/* 80354C64 00351BC4 4B FB B9 61 */ bl __ct__9CMatrix3fFRC9CMatrix3ffRC9CMatrix3ff
/* 80354C68 00351BC8 88 9B 00 00 */ lbz r4, 0(r27)
/* 80354C6C 00351BCC FC 20 F8 90 */ fmr f1, f31
/* 80354C70 00351BD0 88 1C 00 00 */ lbz r0, 0(r28)
/* 80354C74 00351BD4 7F C3 F3 78 */ mr r3, r30
/* 80354C78 00351BD8 1C C4 00 0C */ mulli r6, r4, 0xc
/* 80354C7C 00351BDC 7F 44 D3 78 */ mr r4, r26
/* 80354C80 00351BE0 38 A1 00 48 */ addi r5, r1, 0x48
/* 80354C84 00351BE4 7C DF 32 14 */ add r6, r31, r6
/* 80354C88 00351BE8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80354C8C 00351BEC C0 66 00 04 */ lfs f3, 4(r6)
/* 80354C90 00351BF0 C0 46 00 08 */ lfs f2, 8(r6)
/* 80354C94 00351BF4 C0 06 00 00 */ lfs f0, 0(r6)
/* 80354C98 00351BF8 EC BD 00 F2 */ fmuls f5, f29, f3
/* 80354C9C 00351BFC 7C DF 02 14 */ add r6, r31, r0
/* 80354CA0 00351C00 C0 C6 00 04 */ lfs f6, 4(r6)
/* 80354CA4 00351C04 EC 7D 00 B2 */ fmuls f3, f29, f2
/* 80354CA8 00351C08 C0 86 00 08 */ lfs f4, 8(r6)
/* 80354CAC 00351C0C EC 1D 00 32 */ fmuls f0, f29, f0
/* 80354CB0 00351C10 C0 46 00 00 */ lfs f2, 0(r6)
/* 80354CB4 00351C14 EC DE 01 B2 */ fmuls f6, f30, f6
/* 80354CB8 00351C18 EC 9E 01 32 */ fmuls f4, f30, f4
/* 80354CBC 00351C1C EC 5E 00 B2 */ fmuls f2, f30, f2
/* 80354CC0 00351C20 EC A6 28 2A */ fadds f5, f6, f5
/* 80354CC4 00351C24 EC 64 18 2A */ fadds f3, f4, f3
/* 80354CC8 00351C28 EC 02 00 2A */ fadds f0, f2, f0
/* 80354CCC 00351C2C D0 A1 00 10 */ stfs f5, 0x10(r1)
/* 80354CD0 00351C30 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80354CD4 00351C34 D0 61 00 14 */ stfs f3, 0x14(r1)
/* 80354CD8 00351C38 48 01 42 39 */ bl AccumulateScaledTransform__17CPoseAsTransformsCFRC6CSegIdR9CMatrix3ff
/* 80354CDC 00351C3C 88 1A 00 00 */ lbz r0, 0(r26)
/* 80354CE0 00351C40 38 61 00 18 */ addi r3, r1, 0x18
/* 80354CE4 00351C44 C0 61 00 0C */ lfs f3, 0xc(r1)
/* 80354CE8 00351C48 38 81 00 48 */ addi r4, r1, 0x48
/* 80354CEC 00351C4C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80354CF0 00351C50 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80354CF4 00351C54 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80354CF8 00351C58 38 A1 00 0C */ addi r5, r1, 0xc
/* 80354CFC 00351C5C 7C DF 02 14 */ add r6, r31, r0
/* 80354D00 00351C60 C0 A6 00 04 */ lfs f5, 4(r6)
/* 80354D04 00351C64 C0 86 00 08 */ lfs f4, 8(r6)
/* 80354D08 00351C68 C0 46 00 00 */ lfs f2, 0(r6)
/* 80354D0C 00351C6C EC BF 01 72 */ fmuls f5, f31, f5
/* 80354D10 00351C70 EC 9F 01 32 */ fmuls f4, f31, f4
/* 80354D14 00351C74 EC 5F 00 B2 */ fmuls f2, f31, f2
/* 80354D18 00351C78 EC 21 28 2A */ fadds f1, f1, f5
/* 80354D1C 00351C7C EC 00 20 2A */ fadds f0, f0, f4
/* 80354D20 00351C80 EC 43 10 2A */ fadds f2, f3, f2
/* 80354D24 00351C84 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80354D28 00351C88 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80354D2C 00351C8C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80354D30 00351C90 4B FB E5 49 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f
/* 80354D34 00351C94 7C 64 1B 78 */ mr r4, r3
/* 80354D38 00351C98 38 7D 00 20 */ addi r3, r29, 0x20
/* 80354D3C 00351C9C 4B FB DE 05 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80354D40 00351CA0 48 00 00 14 */ b lbl_80354D54
lbl_80354D44:
/* 80354D44 00351CA4 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 80354D48 00351CA8 38 7D 00 20 */ addi r3, r29, 0x20
/* 80354D4C 00351CAC 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 80354D50 00351CB0 4B FB DD F1 */ bl __as__12CTransform4fFRC12CTransform4f
lbl_80354D54:
/* 80354D54 00351CB4 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 80354D58 00351CB8 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 80354D5C 00351CBC E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0
/* 80354D60 00351CC0 CB C1 00 A0 */ lfd f30, 0xa0(r1)
/* 80354D64 00351CC4 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0
/* 80354D68 00351CC8 CB A1 00 90 */ lfd f29, 0x90(r1)
/* 80354D6C 00351CCC BB 21 00 74 */ lmw r25, 0x74(r1)
/* 80354D70 00351CD0 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80354D74 00351CD4 7C 08 03 A6 */ mtlr r0
/* 80354D78 00351CD8 38 21 00 C0 */ addi r1, r1, 0xc0
/* 80354D7C 00351CDC 4E 80 00 20 */ blr
.global Transform2FromMatrixData
Transform2FromMatrixData:
/* 80354D80 00351CE0 FC 80 08 90 */ fmr f4, f1
/* 80354D84 00351CE4 E0 04 00 00 */ psq_l f0, 0(r4), 0, qr0
/* 80354D88 00351CE8 E0 A5 00 00 */ psq_l f5, 0(r5), 0, qr0
/* 80354D8C 00351CEC E0 24 80 08 */ psq_l f1, 8(r4), 1, qr0
/* 80354D90 00351CF0 10 E4 14 20 */ ps_merge00 f7, f4, f2
/* 80354D94 00351CF4 E0 64 80 14 */ psq_l f3, 20(r4), 1, qr0
/* 80354D98 00351CF8 10 21 2C 20 */ ps_merge00 f1, f1, f5
/* 80354D9C 00351CFC E0 44 00 0C */ psq_l f2, 12(r4), 0, qr0
/* 80354DA0 00351D00 10 63 2C 60 */ ps_merge01 f3, f3, f5
/* 80354DA4 00351D04 E0 84 00 18 */ psq_l f4, 24(r4), 0, qr0
/* 80354DA8 00351D08 10 00 01 D8 */ ps_muls0 f0, f0, f7
/* 80354DAC 00351D0C E0 C6 00 00 */ psq_l f6, 0(r6), 0, qr0
/* 80354DB0 00351D10 E1 07 00 00 */ psq_l f8, 0(r7), 0, qr0
/* 80354DB4 00351D14 10 21 01 D8 */ ps_muls0 f1, f1, f7
/* 80354DB8 00351D18 E1 26 80 08 */ psq_l f9, 8(r6), 1, qr0
/* 80354DBC 00351D1C 10 42 01 D8 */ ps_muls0 f2, f2, f7
/* 80354DC0 00351D20 10 06 01 DE */ ps_madds1 f0, f6, f7, f0
/* 80354DC4 00351D24 E1 66 80 14 */ psq_l f11, 20(r6), 1, qr0
/* 80354DC8 00351D28 11 29 44 20 */ ps_merge00 f9, f9, f8
/* 80354DCC 00351D2C E1 46 00 0C */ psq_l f10, 12(r6), 0, qr0
/* 80354DD0 00351D30 E0 C5 80 08 */ psq_l f6, 8(r5), 1, qr0
/* 80354DD4 00351D34 11 6B 44 60 */ ps_merge01 f11, f11, f8
/* 80354DD8 00351D38 E0 A4 80 20 */ psq_l f5, 32(r4), 1, qr0
/* 80354DDC 00351D3C 10 63 01 D8 */ ps_muls0 f3, f3, f7
/* 80354DE0 00351D40 10 29 09 DE */ ps_madds1 f1, f9, f7, f1
/* 80354DE4 00351D44 F0 03 00 00 */ psq_st f0, 0(r3), 0, qr0
/* 80354DE8 00351D48 10 A5 34 20 */ ps_merge00 f5, f5, f6
/* 80354DEC 00351D4C 10 4A 11 DE */ ps_madds1 f2, f10, f7, f2
/* 80354DF0 00351D50 E0 C6 00 18 */ psq_l f6, 24(r6), 0, qr0
/* 80354DF4 00351D54 10 84 01 D8 */ ps_muls0 f4, f4, f7
/* 80354DF8 00351D58 E1 26 80 20 */ psq_l f9, 32(r6), 1, qr0
/* 80354DFC 00351D5C 10 6B 19 DE */ ps_madds1 f3, f11, f7, f3
/* 80354E00 00351D60 E0 07 80 08 */ psq_l f0, 8(r7), 1, qr0
/* 80354E04 00351D64 10 A5 01 D8 */ ps_muls0 f5, f5, f7
/* 80354E08 00351D68 F0 23 00 08 */ psq_st f1, 8(r3), 0, qr0
/* 80354E0C 00351D6C 11 29 04 20 */ ps_merge00 f9, f9, f0
/* 80354E10 00351D70 10 86 21 DE */ ps_madds1 f4, f6, f7, f4
/* 80354E14 00351D74 F0 43 00 10 */ psq_st f2, 16(r3), 0, qr0
/* 80354E18 00351D78 10 A9 29 DE */ ps_madds1 f5, f9, f7, f5
/* 80354E1C 00351D7C F0 63 00 18 */ psq_st f3, 24(r3), 0, qr0
/* 80354E20 00351D80 F0 83 00 20 */ psq_st f4, 32(r3), 0, qr0
/* 80354E24 00351D84 F0 A3 00 28 */ psq_st f5, 40(r3), 0, qr0
/* 80354E28 00351D88 4E 80 00 20 */ blr
.global TransformFromMatrixData
TransformFromMatrixData:
/* 80354E2C 00351D8C E0 05 00 00 */ psq_l f0, 0(r5), 0, qr0
/* 80354E30 00351D90 E0 24 80 08 */ psq_l f1, 8(r4), 1, qr0
/* 80354E34 00351D94 E0 64 80 14 */ psq_l f3, 20(r4), 1, qr0
/* 80354E38 00351D98 E0 85 80 08 */ psq_l f4, 8(r5), 1, qr0
/* 80354E3C 00351D9C 10 21 04 20 */ ps_merge00 f1, f1, f0
/* 80354E40 00351DA0 E0 A4 80 20 */ psq_l f5, 32(r4), 1, qr0
/* 80354E44 00351DA4 10 63 04 60 */ ps_merge01 f3, f3, f0
/* 80354E48 00351DA8 E0 04 00 00 */ psq_l f0, 0(r4), 0, qr0
/* 80354E4C 00351DAC E0 44 00 0C */ psq_l f2, 12(r4), 0, qr0
/* 80354E50 00351DB0 10 A5 24 20 */ ps_merge00 f5, f5, f4
/* 80354E54 00351DB4 E0 84 00 18 */ psq_l f4, 24(r4), 0, qr0
/* 80354E58 00351DB8 F0 03 00 00 */ psq_st f0, 0(r3), 0, qr0
/* 80354E5C 00351DBC F0 23 00 08 */ psq_st f1, 8(r3), 0, qr0
/* 80354E60 00351DC0 F0 43 00 10 */ psq_st f2, 16(r3), 0, qr0
/* 80354E64 00351DC4 F0 63 00 18 */ psq_st f3, 24(r3), 0, qr0
/* 80354E68 00351DC8 F0 83 00 20 */ psq_st f4, 32(r3), 0, qr0
/* 80354E6C 00351DCC F0 A3 00 28 */ psq_st f5, 40(r3), 0, qr0
/* 80354E70 00351DD0 4E 80 00 20 */ blr
.global nullsub_22
nullsub_22:
/* 80354E74 00351DD4 4E 80 00 20 */ blr
.global __ct__12CVirtualBoneFR12CInputStream
__ct__12CVirtualBoneFR12CInputStream:
/* 80354E78 00351DD8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80354E7C 00351DDC 7C 08 02 A6 */ mflr r0
/* 80354E80 00351DE0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80354E84 00351DE4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80354E88 00351DE8 7C 7F 1B 78 */ mr r31, r3
/* 80354E8C 00351DEC 38 61 00 08 */ addi r3, r1, 8
/* 80354E90 00351DF0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80354E94 00351DF4 7C 9E 23 78 */ mr r30, r4
/* 80354E98 00351DF8 48 00 00 E5 */ bl StreamInSkinWeighting__FR12CInputStream
/* 80354E9C 00351DFC 80 01 00 08 */ lwz r0, 8(r1)
/* 80354EA0 00351E00 38 9F 00 04 */ addi r4, r31, 4
/* 80354EA4 00351E04 38 61 00 0C */ addi r3, r1, 0xc
/* 80354EA8 00351E08 90 1F 00 00 */ stw r0, 0(r31)
/* 80354EAC 00351E0C 80 1F 00 00 */ lwz r0, 0(r31)
/* 80354EB0 00351E10 7C 09 03 A6 */ mtctr r0
/* 80354EB4 00351E14 2C 00 00 00 */ cmpwi r0, 0
/* 80354EB8 00351E18 40 81 00 28 */ ble lbl_80354EE0
lbl_80354EBC:
/* 80354EBC 00351E1C 28 04 00 00 */ cmplwi r4, 0
/* 80354EC0 00351E20 41 82 00 14 */ beq lbl_80354ED4
/* 80354EC4 00351E24 88 03 00 00 */ lbz r0, 0(r3)
/* 80354EC8 00351E28 98 04 00 00 */ stb r0, 0(r4)
/* 80354ECC 00351E2C C0 03 00 04 */ lfs f0, 4(r3)
/* 80354ED0 00351E30 D0 04 00 04 */ stfs f0, 4(r4)
lbl_80354ED4:
/* 80354ED4 00351E34 38 84 00 08 */ addi r4, r4, 8
/* 80354ED8 00351E38 38 63 00 08 */ addi r3, r3, 8
/* 80354EDC 00351E3C 42 00 FF E0 */ bdnz lbl_80354EBC
lbl_80354EE0:
/* 80354EE0 00351E40 80 A1 00 08 */ lwz r5, 8(r1)
/* 80354EE4 00351E44 38 60 00 00 */ li r3, 0
/* 80354EE8 00351E48 2C 05 00 00 */ cmpwi r5, 0
/* 80354EEC 00351E4C 40 81 00 40 */ ble lbl_80354F2C
/* 80354EF0 00351E50 2C 05 00 08 */ cmpwi r5, 8
/* 80354EF4 00351E54 38 85 FF F8 */ addi r4, r5, -8
/* 80354EF8 00351E58 40 81 00 20 */ ble lbl_80354F18
/* 80354EFC 00351E5C 38 04 00 07 */ addi r0, r4, 7
/* 80354F00 00351E60 54 00 E8 FE */ srwi r0, r0, 3
/* 80354F04 00351E64 7C 09 03 A6 */ mtctr r0
/* 80354F08 00351E68 2C 04 00 00 */ cmpwi r4, 0
/* 80354F0C 00351E6C 40 81 00 0C */ ble lbl_80354F18
lbl_80354F10:
/* 80354F10 00351E70 38 63 00 08 */ addi r3, r3, 8
/* 80354F14 00351E74 42 00 FF FC */ bdnz lbl_80354F10
lbl_80354F18:
/* 80354F18 00351E78 7C 03 28 50 */ subf r0, r3, r5
/* 80354F1C 00351E7C 7C 09 03 A6 */ mtctr r0
/* 80354F20 00351E80 7C 03 28 00 */ cmpw r3, r5
/* 80354F24 00351E84 40 80 00 08 */ bge lbl_80354F2C
lbl_80354F28:
/* 80354F28 00351E88 42 00 00 00 */ bdnz lbl_80354F28
lbl_80354F2C:
/* 80354F2C 00351E8C 38 00 00 00 */ li r0, 0
/* 80354F30 00351E90 7F C3 F3 78 */ mr r3, r30
/* 80354F34 00351E94 90 01 00 08 */ stw r0, 8(r1)
/* 80354F38 00351E98 4B FE 9D 4D */ bl ReadLong__12CInputStreamFv
/* 80354F3C 00351E9C 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 80354F40 00351EA0 90 7F 00 1C */ stw r3, 0x1c(r31)
/* 80354F44 00351EA4 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 80354F48 00351EA8 38 7F 00 20 */ addi r3, r31, 0x20
/* 80354F4C 00351EAC 4B FB DC 29 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80354F50 00351EB0 3C 80 80 5A */ lis r4, lbl_805A65FC@ha
/* 80354F54 00351EB4 38 7F 00 50 */ addi r3, r31, 0x50
/* 80354F58 00351EB8 38 84 65 FC */ addi r4, r4, lbl_805A65FC@l
/* 80354F5C 00351EBC 4B FB B0 C9 */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 80354F60 00351EC0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80354F64 00351EC4 7F E3 FB 78 */ mr r3, r31
/* 80354F68 00351EC8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80354F6C 00351ECC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80354F70 00351ED0 7C 08 03 A6 */ mtlr r0
/* 80354F74 00351ED4 38 21 00 30 */ addi r1, r1, 0x30
/* 80354F78 00351ED8 4E 80 00 20 */ blr
.global StreamInSkinWeighting__FR12CInputStream
StreamInSkinWeighting__FR12CInputStream:
/* 80354F7C 00351EDC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80354F80 00351EE0 7C 08 02 A6 */ mflr r0
/* 80354F84 00351EE4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80354F88 00351EE8 38 00 00 00 */ li r0, 0
/* 80354F8C 00351EEC BF 41 00 28 */ stmw r26, 0x28(r1)
/* 80354F90 00351EF0 7C 9F 23 78 */ mr r31, r4
/* 80354F94 00351EF4 7C 7E 1B 78 */ mr r30, r3
/* 80354F98 00351EF8 90 01 00 08 */ stw r0, 8(r1)
/* 80354F9C 00351EFC 7F E3 FB 78 */ mr r3, r31
/* 80354FA0 00351F00 4B FE 9C E5 */ bl ReadLong__12CInputStreamFv
/* 80354FA4 00351F04 7C 7C 1B 78 */ mr r28, r3
/* 80354FA8 00351F08 2C 1C 00 03 */ cmpwi r28, 3
/* 80354FAC 00351F0C 40 81 00 78 */ ble lbl_80355024
/* 80354FB0 00351F10 3B 40 00 00 */ li r26, 0
/* 80354FB4 00351F14 3B 61 00 0C */ addi r27, r1, 0xc
lbl_80354FB8:
/* 80354FB8 00351F18 7F E3 FB 78 */ mr r3, r31
/* 80354FBC 00351F1C 4B FE 9C C9 */ bl ReadLong__12CInputStreamFv
/* 80354FC0 00351F20 54 7D 06 3E */ clrlwi r29, r3, 0x18
/* 80354FC4 00351F24 7F E3 FB 78 */ mr r3, r31
/* 80354FC8 00351F28 4B FE 9C 61 */ bl ReadFloat__12CInputStreamFv
/* 80354FCC 00351F2C 80 01 00 08 */ lwz r0, 8(r1)
/* 80354FD0 00351F30 54 00 18 38 */ slwi r0, r0, 3
/* 80354FD4 00351F34 7C 7B 02 15 */ add. r3, r27, r0
/* 80354FD8 00351F38 41 82 00 0C */ beq lbl_80354FE4
/* 80354FDC 00351F3C 9B A3 00 00 */ stb r29, 0(r3)
/* 80354FE0 00351F40 D0 23 00 04 */ stfs f1, 4(r3)
lbl_80354FE4:
/* 80354FE4 00351F44 80 61 00 08 */ lwz r3, 8(r1)
/* 80354FE8 00351F48 3B 5A 00 01 */ addi r26, r26, 1
/* 80354FEC 00351F4C 2C 1A 00 03 */ cmpwi r26, 3
/* 80354FF0 00351F50 38 03 00 01 */ addi r0, r3, 1
/* 80354FF4 00351F54 90 01 00 08 */ stw r0, 8(r1)
/* 80354FF8 00351F58 41 80 FF C0 */ blt lbl_80354FB8
/* 80354FFC 00351F5C 3B 40 00 03 */ li r26, 3
/* 80355000 00351F60 48 00 00 18 */ b lbl_80355018
lbl_80355004:
/* 80355004 00351F64 7F E3 FB 78 */ mr r3, r31
/* 80355008 00351F68 4B FE 9C 7D */ bl ReadLong__12CInputStreamFv
/* 8035500C 00351F6C 7F E3 FB 78 */ mr r3, r31
/* 80355010 00351F70 4B FE 9C 19 */ bl ReadFloat__12CInputStreamFv
/* 80355014 00351F74 3B 5A 00 01 */ addi r26, r26, 1
lbl_80355018:
/* 80355018 00351F78 7C 1A E0 00 */ cmpw r26, r28
/* 8035501C 00351F7C 41 80 FF E8 */ blt lbl_80355004
/* 80355020 00351F80 48 00 00 54 */ b lbl_80355074
lbl_80355024:
/* 80355024 00351F84 3B 61 00 0C */ addi r27, r1, 0xc
/* 80355028 00351F88 3B 40 00 00 */ li r26, 0
/* 8035502C 00351F8C 48 00 00 40 */ b lbl_8035506C
lbl_80355030:
/* 80355030 00351F90 7F E3 FB 78 */ mr r3, r31
/* 80355034 00351F94 4B FE 9C 51 */ bl ReadLong__12CInputStreamFv
/* 80355038 00351F98 54 7D 06 3E */ clrlwi r29, r3, 0x18
/* 8035503C 00351F9C 7F E3 FB 78 */ mr r3, r31
/* 80355040 00351FA0 4B FE 9B E9 */ bl ReadFloat__12CInputStreamFv
/* 80355044 00351FA4 80 01 00 08 */ lwz r0, 8(r1)
/* 80355048 00351FA8 54 00 18 38 */ slwi r0, r0, 3
/* 8035504C 00351FAC 7C 7B 02 15 */ add. r3, r27, r0
/* 80355050 00351FB0 41 82 00 0C */ beq lbl_8035505C
/* 80355054 00351FB4 9B A3 00 00 */ stb r29, 0(r3)
/* 80355058 00351FB8 D0 23 00 04 */ stfs f1, 4(r3)
lbl_8035505C:
/* 8035505C 00351FBC 80 61 00 08 */ lwz r3, 8(r1)
/* 80355060 00351FC0 3B 5A 00 01 */ addi r26, r26, 1
/* 80355064 00351FC4 38 03 00 01 */ addi r0, r3, 1
/* 80355068 00351FC8 90 01 00 08 */ stw r0, 8(r1)
lbl_8035506C:
/* 8035506C 00351FCC 7C 1A E0 00 */ cmpw r26, r28
/* 80355070 00351FD0 41 80 FF C0 */ blt lbl_80355030
lbl_80355074:
/* 80355074 00351FD4 80 01 00 08 */ lwz r0, 8(r1)
/* 80355078 00351FD8 38 81 00 0C */ addi r4, r1, 0xc
/* 8035507C 00351FDC 38 7E 00 04 */ addi r3, r30, 4
/* 80355080 00351FE0 90 1E 00 00 */ stw r0, 0(r30)
/* 80355084 00351FE4 80 1E 00 00 */ lwz r0, 0(r30)
/* 80355088 00351FE8 7C 09 03 A6 */ mtctr r0
/* 8035508C 00351FEC 2C 00 00 00 */ cmpwi r0, 0
/* 80355090 00351FF0 40 81 00 28 */ ble lbl_803550B8
lbl_80355094:
/* 80355094 00351FF4 28 03 00 00 */ cmplwi r3, 0
/* 80355098 00351FF8 41 82 00 14 */ beq lbl_803550AC
/* 8035509C 00351FFC 88 04 00 00 */ lbz r0, 0(r4)
/* 803550A0 00352000 C0 04 00 04 */ lfs f0, 4(r4)
/* 803550A4 00352004 98 03 00 00 */ stb r0, 0(r3)
/* 803550A8 00352008 D0 03 00 04 */ stfs f0, 4(r3)
lbl_803550AC:
/* 803550AC 0035200C 38 63 00 08 */ addi r3, r3, 8
/* 803550B0 00352010 38 84 00 08 */ addi r4, r4, 8
/* 803550B4 00352014 42 00 FF E0 */ bdnz lbl_80355094
lbl_803550B8:
/* 803550B8 00352018 80 A1 00 08 */ lwz r5, 8(r1)
/* 803550BC 0035201C 38 60 00 00 */ li r3, 0
/* 803550C0 00352020 2C 05 00 00 */ cmpwi r5, 0
/* 803550C4 00352024 40 81 00 40 */ ble lbl_80355104
/* 803550C8 00352028 2C 05 00 08 */ cmpwi r5, 8
/* 803550CC 0035202C 38 85 FF F8 */ addi r4, r5, -8
/* 803550D0 00352030 40 81 00 20 */ ble lbl_803550F0
/* 803550D4 00352034 38 04 00 07 */ addi r0, r4, 7
/* 803550D8 00352038 54 00 E8 FE */ srwi r0, r0, 3
/* 803550DC 0035203C 7C 09 03 A6 */ mtctr r0
/* 803550E0 00352040 2C 04 00 00 */ cmpwi r4, 0
/* 803550E4 00352044 40 81 00 0C */ ble lbl_803550F0
lbl_803550E8:
/* 803550E8 00352048 38 63 00 08 */ addi r3, r3, 8
/* 803550EC 0035204C 42 00 FF FC */ bdnz lbl_803550E8
lbl_803550F0:
/* 803550F0 00352050 7C 03 28 50 */ subf r0, r3, r5
/* 803550F4 00352054 7C 09 03 A6 */ mtctr r0
/* 803550F8 00352058 7C 03 28 00 */ cmpw r3, r5
/* 803550FC 0035205C 40 80 00 08 */ bge lbl_80355104
lbl_80355100:
/* 80355100 00352060 42 00 00 00 */ bdnz lbl_80355100
lbl_80355104:
/* 80355104 00352064 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 80355108 00352068 38 00 00 00 */ li r0, 0
/* 8035510C 0035206C 90 01 00 08 */ stw r0, 8(r1)
/* 80355110 00352070 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80355114 00352074 7C 08 03 A6 */ mtlr r0
/* 80355118 00352078 38 21 00 40 */ addi r1, r1, 0x40
/* 8035511C 0035207C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,671 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global FMidiDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FMidiDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 80358B64 00355AC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358B68 00355AC8 7C 08 02 A6 */ mflr r0
/* 80358B6C 00355ACC 3C 80 80 3E */ lis r4, lbl_803D8340@ha
/* 80358B70 00355AD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358B74 00355AD4 38 84 83 40 */ addi r4, r4, lbl_803D8340@l
/* 80358B78 00355AD8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358B7C 00355ADC 7C BF 2B 78 */ mr r31, r5
/* 80358B80 00355AE0 38 A0 00 00 */ li r5, 0
/* 80358B84 00355AE4 93 C1 00 08 */ stw r30, 8(r1)
/* 80358B88 00355AE8 7C 7E 1B 78 */ mr r30, r3
/* 80358B8C 00355AEC 38 60 00 10 */ li r3, 0x10
/* 80358B90 00355AF0 4B FB CC DD */ bl __nw__FUlPCcPCc
/* 80358B94 00355AF4 7C 64 1B 79 */ or. r4, r3, r3
/* 80358B98 00355AF8 41 82 00 10 */ beq lbl_80358BA8
/* 80358B9C 00355AFC 7F E4 FB 78 */ mr r4, r31
/* 80358BA0 00355B00 48 00 02 85 */ bl __ct__Q212CMidiManager9CMidiDataFR12CInputStream
/* 80358BA4 00355B04 7C 64 1B 78 */ mr r4, r3
lbl_80358BA8:
/* 80358BA8 00355B08 7F C3 F3 78 */ mr r3, r30
/* 80358BAC 00355B0C 48 00 00 1D */ bl "__ct<Q212CMidiManager9CMidiData>__16CFactoryFnReturnFPQ212CMidiManager9CMidiData"
/* 80358BB0 00355B10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358BB4 00355B14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358BB8 00355B18 83 C1 00 08 */ lwz r30, 8(r1)
/* 80358BBC 00355B1C 7C 08 03 A6 */ mtlr r0
/* 80358BC0 00355B20 38 21 00 10 */ addi r1, r1, 0x10
/* 80358BC4 00355B24 4E 80 00 20 */ blr
.global "__ct<Q212CMidiManager9CMidiData>__16CFactoryFnReturnFPQ212CMidiManager9CMidiData"
"__ct<Q212CMidiManager9CMidiData>__16CFactoryFnReturnFPQ212CMidiManager9CMidiData":
/* 80358BC8 00355B28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80358BCC 00355B2C 7C 08 02 A6 */ mflr r0
/* 80358BD0 00355B30 90 01 00 24 */ stw r0, 0x24(r1)
/* 80358BD4 00355B34 7C 04 00 D0 */ neg r0, r4
/* 80358BD8 00355B38 7C 00 23 78 */ or r0, r0, r4
/* 80358BDC 00355B3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80358BE0 00355B40 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80358BE4 00355B44 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80358BE8 00355B48 7C 7E 1B 78 */ mr r30, r3
/* 80358BEC 00355B4C 38 61 00 08 */ addi r3, r1, 8
/* 80358BF0 00355B50 90 81 00 14 */ stw r4, 0x14(r1)
/* 80358BF4 00355B54 38 81 00 10 */ addi r4, r1, 0x10
/* 80358BF8 00355B58 98 01 00 10 */ stb r0, 0x10(r1)
/* 80358BFC 00355B5C 48 00 01 61 */ bl "GetIObjObjectFor__34TToken<Q212CMidiManager9CMidiData>FRCQ24rstl36auto_ptr<Q212CMidiManager9CMidiData>"
/* 80358C00 00355B60 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80358C04 00355B64 38 00 00 00 */ li r0, 0
/* 80358C08 00355B68 98 01 00 08 */ stb r0, 8(r1)
/* 80358C0C 00355B6C 7C 03 00 D0 */ neg r0, r3
/* 80358C10 00355B70 7C 00 1B 78 */ or r0, r0, r3
/* 80358C14 00355B74 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80358C18 00355B78 98 1E 00 00 */ stb r0, 0(r30)
/* 80358C1C 00355B7C 90 7E 00 04 */ stw r3, 4(r30)
/* 80358C20 00355B80 88 01 00 08 */ lbz r0, 8(r1)
/* 80358C24 00355B84 28 00 00 00 */ cmplwi r0, 0
/* 80358C28 00355B88 41 82 00 24 */ beq lbl_80358C4C
/* 80358C2C 00355B8C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80358C30 00355B90 28 03 00 00 */ cmplwi r3, 0
/* 80358C34 00355B94 41 82 00 18 */ beq lbl_80358C4C
/* 80358C38 00355B98 81 83 00 00 */ lwz r12, 0(r3)
/* 80358C3C 00355B9C 38 80 00 01 */ li r4, 1
/* 80358C40 00355BA0 81 8C 00 08 */ lwz r12, 8(r12)
/* 80358C44 00355BA4 7D 89 03 A6 */ mtctr r12
/* 80358C48 00355BA8 4E 80 04 21 */ bctrl
lbl_80358C4C:
/* 80358C4C 00355BAC 88 01 00 10 */ lbz r0, 0x10(r1)
/* 80358C50 00355BB0 28 00 00 00 */ cmplwi r0, 0
/* 80358C54 00355BB4 41 82 00 34 */ beq lbl_80358C88
/* 80358C58 00355BB8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80358C5C 00355BBC 28 1F 00 00 */ cmplwi r31, 0
/* 80358C60 00355BC0 41 82 00 28 */ beq lbl_80358C88
/* 80358C64 00355BC4 34 1F 00 08 */ addic. r0, r31, 8
/* 80358C68 00355BC8 41 82 00 18 */ beq lbl_80358C80
/* 80358C6C 00355BCC 88 1F 00 08 */ lbz r0, 8(r31)
/* 80358C70 00355BD0 28 00 00 00 */ cmplwi r0, 0
/* 80358C74 00355BD4 41 82 00 0C */ beq lbl_80358C80
/* 80358C78 00355BD8 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80358C7C 00355BDC 4B FB CC B5 */ bl Free__7CMemoryFPCv
lbl_80358C80:
/* 80358C80 00355BE0 7F E3 FB 78 */ mr r3, r31
/* 80358C84 00355BE4 4B FB CC AD */ bl Free__7CMemoryFPCv
lbl_80358C88:
/* 80358C88 00355BE8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358C8C 00355BEC 7F C3 F3 78 */ mr r3, r30
/* 80358C90 00355BF0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358C94 00355BF4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80358C98 00355BF8 7C 08 03 A6 */ mtlr r0
/* 80358C9C 00355BFC 38 21 00 20 */ addi r1, r1, 0x20
/* 80358CA0 00355C00 4E 80 00 20 */ blr
.global sub_80358ca4
sub_80358ca4:
/* 80358CA4 00355C04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80358CA8 00355C08 7C 08 02 A6 */ mflr r0
/* 80358CAC 00355C0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80358CB0 00355C10 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80358CB4 00355C14 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80358CB8 00355C18 7C 9E 23 78 */ mr r30, r4
/* 80358CBC 00355C1C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80358CC0 00355C20 7C 7D 1B 79 */ or. r29, r3, r3
/* 80358CC4 00355C24 41 82 00 78 */ beq lbl_80358D3C
/* 80358CC8 00355C28 3C 60 80 3F */ lis r3, lbl_803EF788@ha
/* 80358CCC 00355C2C 38 03 F7 88 */ addi r0, r3, lbl_803EF788@l
/* 80358CD0 00355C30 90 1D 00 00 */ stw r0, 0(r29)
/* 80358CD4 00355C34 83 FD 00 04 */ lwz r31, 4(r29)
/* 80358CD8 00355C38 28 1F 00 00 */ cmplwi r31, 0
/* 80358CDC 00355C3C 41 82 00 2C */ beq lbl_80358D08
/* 80358CE0 00355C40 41 82 00 28 */ beq lbl_80358D08
/* 80358CE4 00355C44 34 1F 00 08 */ addic. r0, r31, 8
/* 80358CE8 00355C48 41 82 00 18 */ beq lbl_80358D00
/* 80358CEC 00355C4C 88 1F 00 08 */ lbz r0, 8(r31)
/* 80358CF0 00355C50 28 00 00 00 */ cmplwi r0, 0
/* 80358CF4 00355C54 41 82 00 0C */ beq lbl_80358D00
/* 80358CF8 00355C58 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80358CFC 00355C5C 4B FB CC 35 */ bl Free__7CMemoryFPCv
lbl_80358D00:
/* 80358D00 00355C60 7F E3 FB 78 */ mr r3, r31
/* 80358D04 00355C64 4B FB CC 2D */ bl Free__7CMemoryFPCv
lbl_80358D08:
/* 80358D08 00355C68 28 1D 00 00 */ cmplwi r29, 0
/* 80358D0C 00355C6C 41 82 00 20 */ beq lbl_80358D2C
/* 80358D10 00355C70 3C 60 80 3E */ lis r3, lbl_803D8D78@ha
/* 80358D14 00355C74 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l
/* 80358D18 00355C78 90 1D 00 00 */ stw r0, 0(r29)
/* 80358D1C 00355C7C 41 82 00 10 */ beq lbl_80358D2C
/* 80358D20 00355C80 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 80358D24 00355C84 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 80358D28 00355C88 90 1D 00 00 */ stw r0, 0(r29)
lbl_80358D2C:
/* 80358D2C 00355C8C 7F C0 07 35 */ extsh. r0, r30
/* 80358D30 00355C90 40 81 00 0C */ ble lbl_80358D3C
/* 80358D34 00355C94 7F A3 EB 78 */ mr r3, r29
/* 80358D38 00355C98 4B FB CB F9 */ bl Free__7CMemoryFPCv
lbl_80358D3C:
/* 80358D3C 00355C9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358D40 00355CA0 7F A3 EB 78 */ mr r3, r29
/* 80358D44 00355CA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358D48 00355CA8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80358D4C 00355CAC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80358D50 00355CB0 7C 08 03 A6 */ mtlr r0
/* 80358D54 00355CB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80358D58 00355CB8 4E 80 00 20 */ blr
.global "GetIObjObjectFor__34TToken<Q212CMidiManager9CMidiData>FRCQ24rstl36auto_ptr<Q212CMidiManager9CMidiData>"
"GetIObjObjectFor__34TToken<Q212CMidiManager9CMidiData>FRCQ24rstl36auto_ptr<Q212CMidiManager9CMidiData>":
/* 80358D5C 00355CBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358D60 00355CC0 7C 08 02 A6 */ mflr r0
/* 80358D64 00355CC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358D68 00355CC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358D6C 00355CCC 7C 7F 1B 78 */ mr r31, r3
/* 80358D70 00355CD0 48 00 00 19 */ bl "GetNewDerivedObject__52TObjOwnerDerivedFromIObj<Q212CMidiManager9CMidiData>FRCQ24rstl36auto_ptr<Q212CMidiManager9CMidiData>"
/* 80358D74 00355CD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358D78 00355CD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358D7C 00355CDC 7C 08 03 A6 */ mtlr r0
/* 80358D80 00355CE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80358D84 00355CE4 4E 80 00 20 */ blr
.global "GetNewDerivedObject__52TObjOwnerDerivedFromIObj<Q212CMidiManager9CMidiData>FRCQ24rstl36auto_ptr<Q212CMidiManager9CMidiData>"
"GetNewDerivedObject__52TObjOwnerDerivedFromIObj<Q212CMidiManager9CMidiData>FRCQ24rstl36auto_ptr<Q212CMidiManager9CMidiData>":
/* 80358D88 00355CE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358D8C 00355CEC 7C 08 02 A6 */ mflr r0
/* 80358D90 00355CF0 3C A0 80 3E */ lis r5, lbl_803D8340@ha
/* 80358D94 00355CF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358D98 00355CF8 38 05 83 40 */ addi r0, r5, lbl_803D8340@l
/* 80358D9C 00355CFC 38 A0 00 00 */ li r5, 0
/* 80358DA0 00355D00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358DA4 00355D04 7C 9F 23 78 */ mr r31, r4
/* 80358DA8 00355D08 7C 04 03 78 */ mr r4, r0
/* 80358DAC 00355D0C 93 C1 00 08 */ stw r30, 8(r1)
/* 80358DB0 00355D10 7C 7E 1B 78 */ mr r30, r3
/* 80358DB4 00355D14 38 60 00 08 */ li r3, 8
/* 80358DB8 00355D18 4B FB CA B5 */ bl __nw__FUlPCcPCc
/* 80358DBC 00355D1C 28 03 00 00 */ cmplwi r3, 0
/* 80358DC0 00355D20 41 82 00 38 */ beq lbl_80358DF8
/* 80358DC4 00355D24 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha
/* 80358DC8 00355D28 3C A0 80 3E */ lis r5, lbl_803D8D78@ha
/* 80358DCC 00355D2C 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l
/* 80358DD0 00355D30 3C 80 80 3F */ lis r4, lbl_803EF788@ha
/* 80358DD4 00355D34 90 03 00 00 */ stw r0, 0(r3)
/* 80358DD8 00355D38 38 C5 8D 78 */ addi r6, r5, lbl_803D8D78@l
/* 80358DDC 00355D3C 38 A0 00 00 */ li r5, 0
/* 80358DE0 00355D40 38 04 F7 88 */ addi r0, r4, lbl_803EF788@l
/* 80358DE4 00355D44 90 C3 00 00 */ stw r6, 0(r3)
/* 80358DE8 00355D48 98 BF 00 00 */ stb r5, 0(r31)
/* 80358DEC 00355D4C 80 9F 00 04 */ lwz r4, 4(r31)
/* 80358DF0 00355D50 90 83 00 04 */ stw r4, 4(r3)
/* 80358DF4 00355D54 90 03 00 00 */ stw r0, 0(r3)
lbl_80358DF8:
/* 80358DF8 00355D58 7C 03 00 D0 */ neg r0, r3
/* 80358DFC 00355D5C 7C 00 1B 78 */ or r0, r0, r3
/* 80358E00 00355D60 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80358E04 00355D64 98 1E 00 00 */ stb r0, 0(r30)
/* 80358E08 00355D68 90 7E 00 04 */ stw r3, 4(r30)
/* 80358E0C 00355D6C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358E10 00355D70 83 C1 00 08 */ lwz r30, 8(r1)
/* 80358E14 00355D74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358E18 00355D78 7C 08 03 A6 */ mtlr r0
/* 80358E1C 00355D7C 38 21 00 10 */ addi r1, r1, 0x10
/* 80358E20 00355D80 4E 80 00 20 */ blr
.global __ct__Q212CMidiManager9CMidiDataFR12CInputStream
__ct__Q212CMidiManager9CMidiDataFR12CInputStream:
/* 80358E24 00355D84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80358E28 00355D88 7C 08 02 A6 */ mflr r0
/* 80358E2C 00355D8C 38 A0 FF FF */ li r5, -1
/* 80358E30 00355D90 90 01 00 24 */ stw r0, 0x24(r1)
/* 80358E34 00355D94 38 00 00 00 */ li r0, 0
/* 80358E38 00355D98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80358E3C 00355D9C 7C 9F 23 78 */ mr r31, r4
/* 80358E40 00355DA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80358E44 00355DA4 7C 7E 1B 78 */ mr r30, r3
/* 80358E48 00355DA8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80358E4C 00355DAC B0 A3 00 00 */ sth r5, 0(r3)
/* 80358E50 00355DB0 B0 A3 00 02 */ sth r5, 2(r3)
/* 80358E54 00355DB4 7F E3 FB 78 */ mr r3, r31
/* 80358E58 00355DB8 90 BE 00 04 */ stw r5, 4(r30)
/* 80358E5C 00355DBC 98 1E 00 08 */ stb r0, 8(r30)
/* 80358E60 00355DC0 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80358E64 00355DC4 4B FE 5E 21 */ bl ReadLong__12CInputStreamFv
/* 80358E68 00355DC8 7F E3 FB 78 */ mr r3, r31
/* 80358E6C 00355DCC 4B FE 5E 19 */ bl ReadLong__12CInputStreamFv
/* 80358E70 00355DD0 B0 7E 00 00 */ sth r3, 0(r30)
/* 80358E74 00355DD4 7F E3 FB 78 */ mr r3, r31
/* 80358E78 00355DD8 4B FE 5E 0D */ bl ReadLong__12CInputStreamFv
/* 80358E7C 00355DDC B0 7E 00 02 */ sth r3, 2(r30)
/* 80358E80 00355DE0 7F E3 FB 78 */ mr r3, r31
/* 80358E84 00355DE4 4B FE 5E 01 */ bl ReadLong__12CInputStreamFv
/* 80358E88 00355DE8 90 7E 00 04 */ stw r3, 4(r30)
/* 80358E8C 00355DEC 7F E3 FB 78 */ mr r3, r31
/* 80358E90 00355DF0 4B FE 5D F5 */ bl ReadLong__12CInputStreamFv
/* 80358E94 00355DF4 3C 80 80 3E */ lis r4, lbl_803D8340@ha
/* 80358E98 00355DF8 7C 7D 1B 78 */ mr r29, r3
/* 80358E9C 00355DFC 38 A0 00 00 */ li r5, 0
/* 80358EA0 00355E00 38 84 83 40 */ addi r4, r4, lbl_803D8340@l
/* 80358EA4 00355E04 4B FB C9 75 */ bl __nwa__FUlPCcPCc
/* 80358EA8 00355E08 7C 83 00 D0 */ neg r4, r3
/* 80358EAC 00355E0C 38 01 00 08 */ addi r0, r1, 8
/* 80358EB0 00355E10 7C 84 1B 78 */ or r4, r4, r3
/* 80358EB4 00355E14 38 BE 00 08 */ addi r5, r30, 8
/* 80358EB8 00355E18 54 84 0F FE */ srwi r4, r4, 0x1f
/* 80358EBC 00355E1C 90 61 00 0C */ stw r3, 0xc(r1)
/* 80358EC0 00355E20 7C 00 28 40 */ cmplw r0, r5
/* 80358EC4 00355E24 98 81 00 08 */ stb r4, 8(r1)
/* 80358EC8 00355E28 41 82 00 30 */ beq lbl_80358EF8
/* 80358ECC 00355E2C 88 05 00 00 */ lbz r0, 0(r5)
/* 80358ED0 00355E30 28 00 00 00 */ cmplwi r0, 0
/* 80358ED4 00355E34 41 82 00 0C */ beq lbl_80358EE0
/* 80358ED8 00355E38 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80358EDC 00355E3C 4B FB CA 55 */ bl Free__7CMemoryFPCv
lbl_80358EE0:
/* 80358EE0 00355E40 88 61 00 08 */ lbz r3, 8(r1)
/* 80358EE4 00355E44 38 00 00 00 */ li r0, 0
/* 80358EE8 00355E48 98 7E 00 08 */ stb r3, 8(r30)
/* 80358EEC 00355E4C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80358EF0 00355E50 90 7E 00 0C */ stw r3, 0xc(r30)
/* 80358EF4 00355E54 98 01 00 08 */ stb r0, 8(r1)
lbl_80358EF8:
/* 80358EF8 00355E58 88 01 00 08 */ lbz r0, 8(r1)
/* 80358EFC 00355E5C 28 00 00 00 */ cmplwi r0, 0
/* 80358F00 00355E60 41 82 00 0C */ beq lbl_80358F0C
/* 80358F04 00355E64 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80358F08 00355E68 4B FB CA 29 */ bl Free__7CMemoryFPCv
lbl_80358F0C:
/* 80358F0C 00355E6C 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 80358F10 00355E70 7F E3 FB 78 */ mr r3, r31
/* 80358F14 00355E74 7F A5 EB 78 */ mr r5, r29
/* 80358F18 00355E78 4B FE 60 3D */ bl Get__12CInputStreamFPvUl
/* 80358F1C 00355E7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358F20 00355E80 7F C3 F3 78 */ mr r3, r30
/* 80358F24 00355E84 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358F28 00355E88 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80358F2C 00355E8C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80358F30 00355E90 7C 08 03 A6 */ mtlr r0
/* 80358F34 00355E94 38 21 00 20 */ addi r1, r1, 0x20
/* 80358F38 00355E98 4E 80 00 20 */ blr
.global LocateHandle__12CMidiManagerFv
LocateHandle__12CMidiManagerFv:
/* 80358F3C 00355E9C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80358F40 00355EA0 7C 08 02 A6 */ mflr r0
/* 80358F44 00355EA4 3C 80 80 5A */ lis r4, lbl_805A6828@ha
/* 80358F48 00355EA8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80358F4C 00355EAC BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80358F50 00355EB0 3B C4 68 28 */ addi r30, r4, lbl_805A6828@l
/* 80358F54 00355EB4 3B 9E 00 04 */ addi r28, r30, 4
/* 80358F58 00355EB8 7C 7F 1B 78 */ mr r31, r3
/* 80358F5C 00355EBC 3B 60 00 00 */ li r27, 0
/* 80358F60 00355EC0 7F 9D E3 78 */ mr r29, r28
/* 80358F64 00355EC4 48 00 00 2C */ b lbl_80358F90
lbl_80358F68:
/* 80358F68 00355EC8 7F A3 EB 78 */ mr r3, r29
/* 80358F6C 00355ECC 48 00 03 D1 */ bl IsAvailable__Q212CMidiManager12CMidiWrapperCFv
/* 80358F70 00355ED0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80358F74 00355ED4 41 82 00 14 */ beq lbl_80358F88
/* 80358F78 00355ED8 7F E3 FB 78 */ mr r3, r31
/* 80358F7C 00355EDC 7F 64 DB 78 */ mr r4, r27
/* 80358F80 00355EE0 4B F8 E8 ED */ bl __ct__10CSfxHandleFUi
/* 80358F84 00355EE4 48 00 00 88 */ b lbl_8035900C
lbl_80358F88:
/* 80358F88 00355EE8 3B BD 00 0C */ addi r29, r29, 0xc
/* 80358F8C 00355EEC 3B 7B 00 01 */ addi r27, r27, 1
lbl_80358F90:
/* 80358F90 00355EF0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80358F94 00355EF4 7C 1B 00 00 */ cmpw r27, r0
/* 80358F98 00355EF8 41 80 FF D0 */ blt lbl_80358F68
/* 80358F9C 00355EFC 2C 00 00 03 */ cmpwi r0, 3
/* 80358FA0 00355F00 40 82 00 10 */ bne lbl_80358FB0
/* 80358FA4 00355F04 38 00 00 00 */ li r0, 0
/* 80358FA8 00355F08 90 1F 00 00 */ stw r0, 0(r31)
/* 80358FAC 00355F0C 48 00 00 60 */ b lbl_8035900C
lbl_80358FB0:
/* 80358FB0 00355F10 38 61 00 08 */ addi r3, r1, 8
/* 80358FB4 00355F14 48 00 03 A1 */ bl __ct__Q212CMidiManager12CMidiWrapperFv
/* 80358FB8 00355F18 3C 60 80 5A */ lis r3, lbl_805A6828@ha
/* 80358FBC 00355F1C 80 03 68 28 */ lwz r0, lbl_805A6828@l(r3)
/* 80358FC0 00355F20 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80358FC4 00355F24 7C 9C 02 15 */ add. r4, r28, r0
/* 80358FC8 00355F28 41 82 00 24 */ beq lbl_80358FEC
/* 80358FCC 00355F2C 80 61 00 08 */ lwz r3, 8(r1)
/* 80358FD0 00355F30 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80358FD4 00355F34 90 64 00 00 */ stw r3, 0(r4)
/* 80358FD8 00355F38 A8 61 00 10 */ lha r3, 0x10(r1)
/* 80358FDC 00355F3C 90 04 00 04 */ stw r0, 4(r4)
/* 80358FE0 00355F40 88 01 00 12 */ lbz r0, 0x12(r1)
/* 80358FE4 00355F44 B0 64 00 08 */ sth r3, 8(r4)
/* 80358FE8 00355F48 98 04 00 0A */ stb r0, 0xa(r4)
lbl_80358FEC:
/* 80358FEC 00355F4C 3C 80 80 5A */ lis r4, lbl_805A6828@ha
/* 80358FF0 00355F50 7F E3 FB 78 */ mr r3, r31
/* 80358FF4 00355F54 38 A4 68 28 */ addi r5, r4, lbl_805A6828@l
/* 80358FF8 00355F58 80 85 00 00 */ lwz r4, 0(r5)
/* 80358FFC 00355F5C 38 84 00 01 */ addi r4, r4, 1
/* 80359000 00355F60 90 85 00 00 */ stw r4, 0(r5)
/* 80359004 00355F64 38 84 FF FF */ addi r4, r4, -1
/* 80359008 00355F68 4B F8 E8 65 */ bl __ct__10CSfxHandleFUi
lbl_8035900C:
/* 8035900C 00355F6C BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80359010 00355F70 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80359014 00355F74 7C 08 03 A6 */ mtlr r0
/* 80359018 00355F78 38 21 00 30 */ addi r1, r1, 0x30
/* 8035901C 00355F7C 4E 80 00 20 */ blr
.global StopAll__12CMidiManagerFv
StopAll__12CMidiManagerFv:
/* 80359020 00355F80 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80359024 00355F84 7C 08 02 A6 */ mflr r0
/* 80359028 00355F88 3C 60 80 5A */ lis r3, lbl_805A6828@ha
/* 8035902C 00355F8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80359030 00355F90 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80359034 00355F94 3B E3 68 28 */ addi r31, r3, lbl_805A6828@l
/* 80359038 00355F98 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8035903C 00355F9C 3B DF 00 04 */ addi r30, r31, 4
/* 80359040 00355FA0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80359044 00355FA4 3B A0 00 00 */ li r29, 0
/* 80359048 00355FA8 48 00 00 2C */ b lbl_80359074
lbl_8035904C:
/* 8035904C 00355FAC 7F C3 F3 78 */ mr r3, r30
/* 80359050 00355FB0 48 00 02 ED */ bl IsAvailable__Q212CMidiManager12CMidiWrapperCFv
/* 80359054 00355FB4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80359058 00355FB8 40 82 00 14 */ bne lbl_8035906C
/* 8035905C 00355FBC 7F C3 F3 78 */ mr r3, r30
/* 80359060 00355FC0 48 00 02 ED */ bl GetManagerHandle__Q212CMidiManager12CMidiWrapperCFv
/* 80359064 00355FC4 38 80 00 00 */ li r4, 0
/* 80359068 00355FC8 48 00 00 35 */ bl Stop__12CMidiManagerFRC10CSfxHandleUs
lbl_8035906C:
/* 8035906C 00355FCC 3B DE 00 0C */ addi r30, r30, 0xc
/* 80359070 00355FD0 3B BD 00 01 */ addi r29, r29, 1
lbl_80359074:
/* 80359074 00355FD4 80 1F 00 00 */ lwz r0, 0(r31)
/* 80359078 00355FD8 7C 1D 00 00 */ cmpw r29, r0
/* 8035907C 00355FDC 41 80 FF D0 */ blt lbl_8035904C
/* 80359080 00355FE0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80359084 00355FE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80359088 00355FE8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035908C 00355FEC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80359090 00355FF0 7C 08 03 A6 */ mtlr r0
/* 80359094 00355FF4 38 21 00 20 */ addi r1, r1, 0x20
/* 80359098 00355FF8 4E 80 00 20 */ blr
.global Stop__12CMidiManagerFRC10CSfxHandleUs
Stop__12CMidiManagerFRC10CSfxHandleUs:
/* 8035909C 00355FFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803590A0 00356000 7C 08 02 A6 */ mflr r0
/* 803590A4 00356004 90 01 00 24 */ stw r0, 0x24(r1)
/* 803590A8 00356008 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803590AC 0035600C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803590B0 00356010 7C 9E 23 78 */ mr r30, r4
/* 803590B4 00356014 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803590B8 00356018 7C 7D 1B 78 */ mr r29, r3
/* 803590BC 0035601C 80 03 00 00 */ lwz r0, 0(r3)
/* 803590C0 00356020 28 00 00 00 */ cmplwi r0, 0
/* 803590C4 00356024 41 82 00 7C */ beq lbl_80359140
/* 803590C8 00356028 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 803590CC 0035602C 3C 60 80 5A */ lis r3, lbl_805A6828@ha
/* 803590D0 00356030 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803590D4 00356034 38 63 68 28 */ addi r3, r3, lbl_805A6828@l
/* 803590D8 00356038 3B E3 00 04 */ addi r31, r3, 4
/* 803590DC 0035603C 7C 7F 02 14 */ add r3, r31, r0
/* 803590E0 00356040 48 00 02 6D */ bl GetManagerHandle__Q212CMidiManager12CMidiWrapperCFv
/* 803590E4 00356044 80 9D 00 00 */ lwz r4, 0(r29)
/* 803590E8 00356048 80 03 00 00 */ lwz r0, 0(r3)
/* 803590EC 0035604C 7C 04 00 40 */ cmplw r4, r0
/* 803590F0 00356050 40 82 00 50 */ bne lbl_80359140
/* 803590F4 00356054 54 80 05 3E */ clrlwi r0, r4, 0x14
/* 803590F8 00356058 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803590FC 0035605C 7C 7F 02 14 */ add r3, r31, r0
/* 80359100 00356060 48 00 02 45 */ bl GetAudioSysHandle__Q212CMidiManager12CMidiWrapperCFv
/* 80359104 00356064 57 C0 04 3F */ clrlwi. r0, r30, 0x10
/* 80359108 00356068 7C 65 1B 78 */ mr r5, r3
/* 8035910C 0035606C 40 82 00 0C */ bne lbl_80359118
/* 80359110 00356070 4B FF 17 F9 */ bl SeqStop__9CAudioSysFUl
/* 80359114 00356074 48 00 00 14 */ b lbl_80359128
lbl_80359118:
/* 80359118 00356078 7F C4 F3 78 */ mr r4, r30
/* 8035911C 0035607C 38 60 00 00 */ li r3, 0
/* 80359120 00356080 38 C0 00 01 */ li r6, 1
/* 80359124 00356084 4B FF 17 B9 */ bl SeqVolume__9CAudioSysFUcUsUlUc
lbl_80359128:
/* 80359128 00356088 80 1D 00 00 */ lwz r0, 0(r29)
/* 8035912C 0035608C 38 80 00 01 */ li r4, 1
/* 80359130 00356090 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 80359134 00356094 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80359138 00356098 7C 7F 02 14 */ add r3, r31, r0
/* 8035913C 0035609C 48 00 01 F1 */ bl SetAvailable__Q212CMidiManager12CMidiWrapperFb
lbl_80359140:
/* 80359140 003560A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80359144 003560A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80359148 003560A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035914C 003560AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80359150 003560B0 7C 08 03 A6 */ mtlr r0
/* 80359154 003560B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80359158 003560B8 4E 80 00 20 */ blr
.global Play__12CMidiManagerFRCQ212CMidiManager9CMidiDataUsbs
Play__12CMidiManagerFRCQ212CMidiManager9CMidiDataUsbs:
/* 8035915C 003560BC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80359160 003560C0 7C 08 02 A6 */ mflr r0
/* 80359164 003560C4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80359168 003560C8 BE A1 00 14 */ stmw r21, 0x14(r1)
/* 8035916C 003560CC 7C 79 1B 78 */ mr r25, r3
/* 80359170 003560D0 7C 9A 23 78 */ mr r26, r4
/* 80359174 003560D4 7C BB 2B 78 */ mr r27, r5
/* 80359178 003560D8 7C D5 33 78 */ mr r21, r6
/* 8035917C 003560DC 7C FC 3B 78 */ mr r28, r7
/* 80359180 003560E0 38 61 00 08 */ addi r3, r1, 8
/* 80359184 003560E4 3B C0 00 00 */ li r30, 0
/* 80359188 003560E8 3B A0 00 00 */ li r29, 0
/* 8035918C 003560EC 4B FF FD B1 */ bl LocateHandle__12CMidiManagerFv
/* 80359190 003560F0 80 01 00 08 */ lwz r0, 8(r1)
/* 80359194 003560F4 28 00 00 00 */ cmplwi r0, 0
/* 80359198 003560F8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8035919C 003560FC 40 82 00 10 */ bne lbl_803591AC
/* 803591A0 00356100 38 00 00 00 */ li r0, 0
/* 803591A4 00356104 90 19 00 00 */ stw r0, 0(r25)
/* 803591A8 00356108 48 00 01 54 */ b lbl_803592FC
lbl_803591AC:
/* 803591AC 0035610C 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 803591B0 00356110 3C 60 80 5A */ lis r3, lbl_805A6828@ha
/* 803591B4 00356114 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803591B8 00356118 38 80 00 00 */ li r4, 0
/* 803591BC 0035611C 38 63 68 28 */ addi r3, r3, lbl_805A6828@l
/* 803591C0 00356120 3A C3 00 04 */ addi r22, r3, 4
/* 803591C4 00356124 7F F6 02 14 */ add r31, r22, r0
/* 803591C8 00356128 7F E3 FB 78 */ mr r3, r31
/* 803591CC 0035612C 48 00 01 61 */ bl SetAvailable__Q212CMidiManager12CMidiWrapperFb
/* 803591D0 00356130 7F E3 FB 78 */ mr r3, r31
/* 803591D4 00356134 38 81 00 0C */ addi r4, r1, 0xc
/* 803591D8 00356138 48 00 01 41 */ bl SetMidiHandle__Q212CMidiManager12CMidiWrapperFRC10CSfxHandle
/* 803591DC 0035613C 56 A0 06 3F */ clrlwi. r0, r21, 0x18
/* 803591E0 00356140 41 82 00 84 */ beq lbl_80359264
/* 803591E4 00356144 3C 60 80 5A */ lis r3, lbl_805A6828@ha
/* 803591E8 00356148 3A A0 00 00 */ li r21, 0
/* 803591EC 0035614C 3B 03 68 28 */ addi r24, r3, lbl_805A6828@l
/* 803591F0 00356150 48 00 00 68 */ b lbl_80359258
lbl_803591F4:
/* 803591F4 00356154 7E C3 B3 78 */ mr r3, r22
/* 803591F8 00356158 48 00 01 45 */ bl IsAvailable__Q212CMidiManager12CMidiWrapperCFv
/* 803591FC 0035615C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80359200 00356160 40 82 00 50 */ bne lbl_80359250
/* 80359204 00356164 AA FA 00 00 */ lha r23, 0(r26)
/* 80359208 00356168 7E C3 B3 78 */ mr r3, r22
/* 8035920C 0035616C 48 00 01 29 */ bl GetSongId__Q212CMidiManager12CMidiWrapperCFv
/* 80359210 00356170 7C 60 07 34 */ extsh r0, r3
/* 80359214 00356174 7C 17 00 00 */ cmpw r23, r0
/* 80359218 00356178 40 82 00 28 */ bne lbl_80359240
/* 8035921C 0035617C 7E C3 B3 78 */ mr r3, r22
/* 80359220 00356180 3B C0 00 01 */ li r30, 1
/* 80359224 00356184 48 00 01 21 */ bl GetAudioSysHandle__Q212CMidiManager12CMidiWrapperCFv
/* 80359228 00356188 7C 60 1B 78 */ mr r0, r3
/* 8035922C 0035618C 7E C3 B3 78 */ mr r3, r22
/* 80359230 00356190 7C 1D 03 78 */ mr r29, r0
/* 80359234 00356194 38 80 00 01 */ li r4, 1
/* 80359238 00356198 48 00 00 F5 */ bl SetAvailable__Q212CMidiManager12CMidiWrapperFb
/* 8035923C 0035619C 48 00 00 14 */ b lbl_80359250
lbl_80359240:
/* 80359240 003561A0 7E C3 B3 78 */ mr r3, r22
/* 80359244 003561A4 48 00 01 09 */ bl GetManagerHandle__Q212CMidiManager12CMidiWrapperCFv
/* 80359248 003561A8 7F 64 DB 78 */ mr r4, r27
/* 8035924C 003561AC 4B FF FE 51 */ bl Stop__12CMidiManagerFRC10CSfxHandleUs
lbl_80359250:
/* 80359250 003561B0 3A D6 00 0C */ addi r22, r22, 0xc
/* 80359254 003561B4 3A B5 00 01 */ addi r21, r21, 1
lbl_80359258:
/* 80359258 003561B8 80 18 00 00 */ lwz r0, 0(r24)
/* 8035925C 003561BC 7C 15 00 00 */ cmpw r21, r0
/* 80359260 003561C0 41 80 FF 94 */ blt lbl_803591F4
lbl_80359264:
/* 80359264 003561C4 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80359268 003561C8 41 82 00 20 */ beq lbl_80359288
/* 8035926C 003561CC 7F E3 FB 78 */ mr r3, r31
/* 80359270 003561D0 7F A4 EB 78 */ mr r4, r29
/* 80359274 003561D4 48 00 00 B1 */ bl SetAudioSysHandle__Q212CMidiManager12CMidiWrapperFUl
/* 80359278 003561D8 A8 9A 00 00 */ lha r4, 0(r26)
/* 8035927C 003561DC 7F E3 FB 78 */ mr r3, r31
/* 80359280 003561E0 48 00 00 91 */ bl SetSongId__Q212CMidiManager12CMidiWrapperFs
/* 80359284 003561E4 48 00 00 70 */ b lbl_803592F4
lbl_80359288:
/* 80359288 003561E8 A8 7A 00 02 */ lha r3, 2(r26)
/* 8035928C 003561EC 38 C0 00 00 */ li r6, 0
/* 80359290 003561F0 A8 1A 00 00 */ lha r0, 0(r26)
/* 80359294 003561F4 38 E0 00 00 */ li r7, 0
/* 80359298 003561F8 80 BA 00 0C */ lwz r5, 0xc(r26)
/* 8035929C 003561FC 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 803592A0 00356200 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 803592A4 00356204 4B FF 16 85 */ bl SeqPlayEx__9CAudioSysFUsUsPvP12SND_PLAYPARAUc
/* 803592A8 00356208 57 60 04 3F */ clrlwi. r0, r27, 0x10
/* 803592AC 0035620C 7C 75 1B 78 */ mr r21, r3
/* 803592B0 00356210 41 82 00 18 */ beq lbl_803592C8
/* 803592B4 00356214 7E A5 AB 78 */ mr r5, r21
/* 803592B8 00356218 38 60 00 00 */ li r3, 0
/* 803592BC 0035621C 38 80 00 00 */ li r4, 0
/* 803592C0 00356220 38 C0 00 00 */ li r6, 0
/* 803592C4 00356224 4B FF 16 19 */ bl SeqVolume__9CAudioSysFUcUsUlUc
lbl_803592C8:
/* 803592C8 00356228 7F 64 DB 78 */ mr r4, r27
/* 803592CC 0035622C 7E A5 AB 78 */ mr r5, r21
/* 803592D0 00356230 57 83 06 3E */ clrlwi r3, r28, 0x18
/* 803592D4 00356234 38 C0 00 00 */ li r6, 0
/* 803592D8 00356238 4B FF 16 05 */ bl SeqVolume__9CAudioSysFUcUsUlUc
/* 803592DC 0035623C 7F E3 FB 78 */ mr r3, r31
/* 803592E0 00356240 7E A4 AB 78 */ mr r4, r21
/* 803592E4 00356244 48 00 00 41 */ bl SetAudioSysHandle__Q212CMidiManager12CMidiWrapperFUl
/* 803592E8 00356248 A8 9A 00 00 */ lha r4, 0(r26)
/* 803592EC 0035624C 7F E3 FB 78 */ mr r3, r31
/* 803592F0 00356250 48 00 00 21 */ bl SetSongId__Q212CMidiManager12CMidiWrapperFs
lbl_803592F4:
/* 803592F4 00356254 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803592F8 00356258 90 19 00 00 */ stw r0, 0(r25)
lbl_803592FC:
/* 803592FC 0035625C BA A1 00 14 */ lmw r21, 0x14(r1)
/* 80359300 00356260 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80359304 00356264 7C 08 03 A6 */ mtlr r0
/* 80359308 00356268 38 21 00 40 */ addi r1, r1, 0x40
/* 8035930C 0035626C 4E 80 00 20 */ blr
.global SetSongId__Q212CMidiManager12CMidiWrapperFs
SetSongId__Q212CMidiManager12CMidiWrapperFs:
/* 80359310 00356270 B0 83 00 08 */ sth r4, 8(r3)
/* 80359314 00356274 4E 80 00 20 */ blr
.global SetMidiHandle__Q212CMidiManager12CMidiWrapperFRC10CSfxHandle
SetMidiHandle__Q212CMidiManager12CMidiWrapperFRC10CSfxHandle:
/* 80359318 00356278 80 04 00 00 */ lwz r0, 0(r4)
/* 8035931C 0035627C 90 03 00 04 */ stw r0, 4(r3)
/* 80359320 00356280 4E 80 00 20 */ blr
.global SetAudioSysHandle__Q212CMidiManager12CMidiWrapperFUl
SetAudioSysHandle__Q212CMidiManager12CMidiWrapperFUl:
/* 80359324 00356284 90 83 00 00 */ stw r4, 0(r3)
/* 80359328 00356288 4E 80 00 20 */ blr
.global SetAvailable__Q212CMidiManager12CMidiWrapperFb
SetAvailable__Q212CMidiManager12CMidiWrapperFb:
/* 8035932C 0035628C 98 83 00 0A */ stb r4, 0xa(r3)
/* 80359330 00356290 4E 80 00 20 */ blr
.global GetSongId__Q212CMidiManager12CMidiWrapperCFv
GetSongId__Q212CMidiManager12CMidiWrapperCFv:
/* 80359334 00356294 A8 63 00 08 */ lha r3, 8(r3)
/* 80359338 00356298 4E 80 00 20 */ blr
.global IsAvailable__Q212CMidiManager12CMidiWrapperCFv
IsAvailable__Q212CMidiManager12CMidiWrapperCFv:
/* 8035933C 0035629C 88 63 00 0A */ lbz r3, 0xa(r3)
/* 80359340 003562A0 4E 80 00 20 */ blr
.global GetAudioSysHandle__Q212CMidiManager12CMidiWrapperCFv
GetAudioSysHandle__Q212CMidiManager12CMidiWrapperCFv:
/* 80359344 003562A4 80 63 00 00 */ lwz r3, 0(r3)
/* 80359348 003562A8 4E 80 00 20 */ blr
.global GetManagerHandle__Q212CMidiManager12CMidiWrapperCFv
GetManagerHandle__Q212CMidiManager12CMidiWrapperCFv:
/* 8035934C 003562AC 38 63 00 04 */ addi r3, r3, 4
/* 80359350 003562B0 4E 80 00 20 */ blr
.global __ct__Q212CMidiManager12CMidiWrapperFv
__ct__Q212CMidiManager12CMidiWrapperFv:
/* 80359354 003562B4 38 80 00 00 */ li r4, 0
/* 80359358 003562B8 38 00 00 01 */ li r0, 1
/* 8035935C 003562BC 90 83 00 00 */ stw r4, 0(r3)
/* 80359360 003562C0 90 83 00 04 */ stw r4, 4(r3)
/* 80359364 003562C4 98 03 00 0A */ stb r0, 0xa(r3)
/* 80359368 003562C8 4E 80 00 20 */ blr
.global __sinit_CMidiManager_cpp
__sinit_CMidiManager_cpp:
/* 8035936C 003562CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80359370 003562D0 7C 08 02 A6 */ mflr r0
/* 80359374 003562D4 3C 80 80 36 */ lis r4, "__dt__Q24rstl49reserved_vector<Q212CMidiManager12CMidiWrapper,3>Fv"@ha
/* 80359378 003562D8 3C A0 80 54 */ lis r5, lbl_80540010@ha
/* 8035937C 003562DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80359380 003562E0 38 00 00 00 */ li r0, 0
/* 80359384 003562E4 3C 60 80 5A */ lis r3, lbl_805A6828@ha
/* 80359388 003562E8 38 84 93 A8 */ addi r4, r4, "__dt__Q24rstl49reserved_vector<Q212CMidiManager12CMidiWrapper,3>Fv"@l
/* 8035938C 003562EC 94 03 68 28 */ stwu r0, lbl_805A6828@l(r3)
/* 80359390 003562F0 38 A5 00 10 */ addi r5, r5, lbl_80540010@l
/* 80359394 003562F4 48 03 02 F9 */ bl __register_global_object
/* 80359398 003562F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8035939C 003562FC 7C 08 03 A6 */ mtlr r0
/* 803593A0 00356300 38 21 00 10 */ addi r1, r1, 0x10
/* 803593A4 00356304 4E 80 00 20 */ blr
.global "__dt__Q24rstl49reserved_vector<Q212CMidiManager12CMidiWrapper,3>Fv"
"__dt__Q24rstl49reserved_vector<Q212CMidiManager12CMidiWrapper,3>Fv":
/* 803593A8 00356308 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803593AC 0035630C 7C 08 02 A6 */ mflr r0
/* 803593B0 00356310 90 01 00 14 */ stw r0, 0x14(r1)
/* 803593B4 00356314 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803593B8 00356318 7C 7F 1B 79 */ or. r31, r3, r3
/* 803593BC 0035631C 41 82 00 68 */ beq lbl_80359424
/* 803593C0 00356320 80 DF 00 00 */ lwz r6, 0(r31)
/* 803593C4 00356324 38 60 00 00 */ li r3, 0
/* 803593C8 00356328 2C 06 00 00 */ cmpwi r6, 0
/* 803593CC 0035632C 40 81 00 40 */ ble lbl_8035940C
/* 803593D0 00356330 2C 06 00 08 */ cmpwi r6, 8
/* 803593D4 00356334 38 A6 FF F8 */ addi r5, r6, -8
/* 803593D8 00356338 40 81 00 20 */ ble lbl_803593F8
/* 803593DC 0035633C 38 05 00 07 */ addi r0, r5, 7
/* 803593E0 00356340 54 00 E8 FE */ srwi r0, r0, 3
/* 803593E4 00356344 7C 09 03 A6 */ mtctr r0
/* 803593E8 00356348 2C 05 00 00 */ cmpwi r5, 0
/* 803593EC 0035634C 40 81 00 0C */ ble lbl_803593F8
lbl_803593F0:
/* 803593F0 00356350 38 63 00 08 */ addi r3, r3, 8
/* 803593F4 00356354 42 00 FF FC */ bdnz lbl_803593F0
lbl_803593F8:
/* 803593F8 00356358 7C 03 30 50 */ subf r0, r3, r6
/* 803593FC 0035635C 7C 09 03 A6 */ mtctr r0
/* 80359400 00356360 7C 03 30 00 */ cmpw r3, r6
/* 80359404 00356364 40 80 00 08 */ bge lbl_8035940C
lbl_80359408:
/* 80359408 00356368 42 00 00 00 */ bdnz lbl_80359408
lbl_8035940C:
/* 8035940C 0035636C 38 60 00 00 */ li r3, 0
/* 80359410 00356370 7C 80 07 35 */ extsh. r0, r4
/* 80359414 00356374 90 7F 00 00 */ stw r3, 0(r31)
/* 80359418 00356378 40 81 00 0C */ ble lbl_80359424
/* 8035941C 0035637C 7F E3 FB 78 */ mr r3, r31
/* 80359420 00356380 4B FB C5 11 */ bl Free__7CMemoryFPCv
lbl_80359424:
/* 80359424 00356384 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80359428 00356388 7F E3 FB 78 */ mr r3, r31
/* 8035942C 0035638C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80359430 00356390 7C 08 03 A6 */ mtlr r0
/* 80359434 00356394 38 21 00 10 */ addi r1, r1, 0x10
/* 80359438 00356398 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,543 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global FAudioGroupSetLocDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FAudioGroupSetLocDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 8034A024 00346F84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034A028 00346F88 7C 08 02 A6 */ mflr r0
/* 8034A02C 00346F8C 3C 80 80 3E */ lis r4, lbl_803D8108@ha
/* 8034A030 00346F90 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034A034 00346F94 38 84 81 08 */ addi r4, r4, lbl_803D8108@l
/* 8034A038 00346F98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034A03C 00346F9C 7C DF 33 78 */ mr r31, r6
/* 8034A040 00346FA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034A044 00346FA4 7C BE 2B 78 */ mr r30, r5
/* 8034A048 00346FA8 38 A0 00 00 */ li r5, 0
/* 8034A04C 00346FAC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034A050 00346FB0 7C 7D 1B 78 */ mr r29, r3
/* 8034A054 00346FB4 38 60 00 44 */ li r3, 0x44
/* 8034A058 00346FB8 4B FC B8 15 */ bl __nw__FUlPCcPCc
/* 8034A05C 00346FBC 7C 64 1B 79 */ or. r4, r3, r3
/* 8034A060 00346FC0 41 82 00 14 */ beq lbl_8034A074
/* 8034A064 00346FC4 7F C4 F3 78 */ mr r4, r30
/* 8034A068 00346FC8 7F E5 FB 78 */ mr r5, r31
/* 8034A06C 00346FCC 48 00 03 89 */ bl __ct__15CAudioGrpSetLocFR12CInputStream
/* 8034A070 00346FD0 7C 64 1B 78 */ mr r4, r3
lbl_8034A074:
/* 8034A074 00346FD4 7F A3 EB 78 */ mr r3, r29
/* 8034A078 00346FD8 48 00 00 21 */ bl sub_8034a098
/* 8034A07C 00346FDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034A080 00346FE0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034A084 00346FE4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8034A088 00346FE8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8034A08C 00346FEC 7C 08 03 A6 */ mtlr r0
/* 8034A090 00346FF0 38 21 00 20 */ addi r1, r1, 0x20
/* 8034A094 00346FF4 4E 80 00 20 */ blr
.global sub_8034a098
sub_8034a098:
/* 8034A098 00346FF8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034A09C 00346FFC 7C 08 02 A6 */ mflr r0
/* 8034A0A0 00347000 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034A0A4 00347004 7C 04 00 D0 */ neg r0, r4
/* 8034A0A8 00347008 7C 00 23 78 */ or r0, r0, r4
/* 8034A0AC 0034700C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034A0B0 00347010 7C 7F 1B 78 */ mr r31, r3
/* 8034A0B4 00347014 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8034A0B8 00347018 38 61 00 08 */ addi r3, r1, 8
/* 8034A0BC 0034701C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034A0C0 00347020 90 81 00 14 */ stw r4, 0x14(r1)
/* 8034A0C4 00347024 38 81 00 10 */ addi r4, r1, 0x10
/* 8034A0C8 00347028 98 01 00 10 */ stb r0, 0x10(r1)
/* 8034A0CC 0034702C 48 00 01 D9 */ bl sub_8034a2a4
/* 8034A0D0 00347030 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8034A0D4 00347034 38 00 00 00 */ li r0, 0
/* 8034A0D8 00347038 98 01 00 08 */ stb r0, 8(r1)
/* 8034A0DC 0034703C 7C 03 00 D0 */ neg r0, r3
/* 8034A0E0 00347040 7C 00 1B 78 */ or r0, r0, r3
/* 8034A0E4 00347044 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8034A0E8 00347048 98 1F 00 00 */ stb r0, 0(r31)
/* 8034A0EC 0034704C 90 7F 00 04 */ stw r3, 4(r31)
/* 8034A0F0 00347050 88 01 00 08 */ lbz r0, 8(r1)
/* 8034A0F4 00347054 28 00 00 00 */ cmplwi r0, 0
/* 8034A0F8 00347058 41 82 00 24 */ beq lbl_8034A11C
/* 8034A0FC 0034705C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8034A100 00347060 28 03 00 00 */ cmplwi r3, 0
/* 8034A104 00347064 41 82 00 18 */ beq lbl_8034A11C
/* 8034A108 00347068 81 83 00 00 */ lwz r12, 0(r3)
/* 8034A10C 0034706C 38 80 00 01 */ li r4, 1
/* 8034A110 00347070 81 8C 00 08 */ lwz r12, 8(r12)
/* 8034A114 00347074 7D 89 03 A6 */ mtctr r12
/* 8034A118 00347078 4E 80 04 21 */ bctrl
lbl_8034A11C:
/* 8034A11C 0034707C 88 01 00 10 */ lbz r0, 0x10(r1)
/* 8034A120 00347080 28 00 00 00 */ cmplwi r0, 0
/* 8034A124 00347084 41 82 00 70 */ beq lbl_8034A194
/* 8034A128 00347088 83 C1 00 14 */ lwz r30, 0x14(r1)
/* 8034A12C 0034708C 28 1E 00 00 */ cmplwi r30, 0
/* 8034A130 00347090 41 82 00 64 */ beq lbl_8034A194
/* 8034A134 00347094 34 1E 00 20 */ addic. r0, r30, 0x20
/* 8034A138 00347098 41 82 00 0C */ beq lbl_8034A144
/* 8034A13C 0034709C 38 7E 00 20 */ addi r3, r30, 0x20
/* 8034A140 003470A0 4B FF 39 A1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034A144:
/* 8034A144 003470A4 34 1E 00 10 */ addic. r0, r30, 0x10
/* 8034A148 003470A8 41 82 00 0C */ beq lbl_8034A154
/* 8034A14C 003470AC 38 7E 00 10 */ addi r3, r30, 0x10
/* 8034A150 003470B0 4B FF 39 91 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034A154:
/* 8034A154 003470B4 34 1E 00 08 */ addic. r0, r30, 8
/* 8034A158 003470B8 41 82 00 18 */ beq lbl_8034A170
/* 8034A15C 003470BC 88 1E 00 08 */ lbz r0, 8(r30)
/* 8034A160 003470C0 28 00 00 00 */ cmplwi r0, 0
/* 8034A164 003470C4 41 82 00 0C */ beq lbl_8034A170
/* 8034A168 003470C8 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8034A16C 003470CC 4B FC B7 C5 */ bl Free__7CMemoryFPCv
lbl_8034A170:
/* 8034A170 003470D0 28 1E 00 00 */ cmplwi r30, 0
/* 8034A174 003470D4 41 82 00 18 */ beq lbl_8034A18C
/* 8034A178 003470D8 88 1E 00 00 */ lbz r0, 0(r30)
/* 8034A17C 003470DC 28 00 00 00 */ cmplwi r0, 0
/* 8034A180 003470E0 41 82 00 0C */ beq lbl_8034A18C
/* 8034A184 003470E4 80 7E 00 04 */ lwz r3, 4(r30)
/* 8034A188 003470E8 4B FC B7 A9 */ bl Free__7CMemoryFPCv
lbl_8034A18C:
/* 8034A18C 003470EC 7F C3 F3 78 */ mr r3, r30
/* 8034A190 003470F0 4B FC B7 A1 */ bl Free__7CMemoryFPCv
lbl_8034A194:
/* 8034A194 003470F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034A198 003470F8 7F E3 FB 78 */ mr r3, r31
/* 8034A19C 003470FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034A1A0 00347100 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8034A1A4 00347104 7C 08 03 A6 */ mtlr r0
/* 8034A1A8 00347108 38 21 00 20 */ addi r1, r1, 0x20
/* 8034A1AC 0034710C 4E 80 00 20 */ blr
.global sub_8034a1b0
sub_8034a1b0:
/* 8034A1B0 00347110 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034A1B4 00347114 7C 08 02 A6 */ mflr r0
/* 8034A1B8 00347118 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034A1BC 0034711C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034A1C0 00347120 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034A1C4 00347124 7C 9E 23 78 */ mr r30, r4
/* 8034A1C8 00347128 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034A1CC 0034712C 7C 7D 1B 79 */ or. r29, r3, r3
/* 8034A1D0 00347130 41 82 00 B4 */ beq lbl_8034A284
/* 8034A1D4 00347134 3C 60 80 3F */ lis r3, lbl_803EF670@ha
/* 8034A1D8 00347138 38 03 F6 70 */ addi r0, r3, lbl_803EF670@l
/* 8034A1DC 0034713C 90 1D 00 00 */ stw r0, 0(r29)
/* 8034A1E0 00347140 83 FD 00 04 */ lwz r31, 4(r29)
/* 8034A1E4 00347144 28 1F 00 00 */ cmplwi r31, 0
/* 8034A1E8 00347148 41 82 00 68 */ beq lbl_8034A250
/* 8034A1EC 0034714C 41 82 00 64 */ beq lbl_8034A250
/* 8034A1F0 00347150 34 1F 00 20 */ addic. r0, r31, 0x20
/* 8034A1F4 00347154 41 82 00 0C */ beq lbl_8034A200
/* 8034A1F8 00347158 38 7F 00 20 */ addi r3, r31, 0x20
/* 8034A1FC 0034715C 4B FF 38 E5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034A200:
/* 8034A200 00347160 34 1F 00 10 */ addic. r0, r31, 0x10
/* 8034A204 00347164 41 82 00 0C */ beq lbl_8034A210
/* 8034A208 00347168 38 7F 00 10 */ addi r3, r31, 0x10
/* 8034A20C 0034716C 4B FF 38 D5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034A210:
/* 8034A210 00347170 34 1F 00 08 */ addic. r0, r31, 8
/* 8034A214 00347174 41 82 00 18 */ beq lbl_8034A22C
/* 8034A218 00347178 88 1F 00 08 */ lbz r0, 8(r31)
/* 8034A21C 0034717C 28 00 00 00 */ cmplwi r0, 0
/* 8034A220 00347180 41 82 00 0C */ beq lbl_8034A22C
/* 8034A224 00347184 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8034A228 00347188 4B FC B7 09 */ bl Free__7CMemoryFPCv
lbl_8034A22C:
/* 8034A22C 0034718C 28 1F 00 00 */ cmplwi r31, 0
/* 8034A230 00347190 41 82 00 18 */ beq lbl_8034A248
/* 8034A234 00347194 88 1F 00 00 */ lbz r0, 0(r31)
/* 8034A238 00347198 28 00 00 00 */ cmplwi r0, 0
/* 8034A23C 0034719C 41 82 00 0C */ beq lbl_8034A248
/* 8034A240 003471A0 80 7F 00 04 */ lwz r3, 4(r31)
/* 8034A244 003471A4 4B FC B6 ED */ bl Free__7CMemoryFPCv
lbl_8034A248:
/* 8034A248 003471A8 7F E3 FB 78 */ mr r3, r31
/* 8034A24C 003471AC 4B FC B6 E5 */ bl Free__7CMemoryFPCv
lbl_8034A250:
/* 8034A250 003471B0 28 1D 00 00 */ cmplwi r29, 0
/* 8034A254 003471B4 41 82 00 20 */ beq lbl_8034A274
/* 8034A258 003471B8 3C 60 80 3E */ lis r3, lbl_803D8D78@ha
/* 8034A25C 003471BC 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l
/* 8034A260 003471C0 90 1D 00 00 */ stw r0, 0(r29)
/* 8034A264 003471C4 41 82 00 10 */ beq lbl_8034A274
/* 8034A268 003471C8 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 8034A26C 003471CC 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 8034A270 003471D0 90 1D 00 00 */ stw r0, 0(r29)
lbl_8034A274:
/* 8034A274 003471D4 7F C0 07 35 */ extsh. r0, r30
/* 8034A278 003471D8 40 81 00 0C */ ble lbl_8034A284
/* 8034A27C 003471DC 7F A3 EB 78 */ mr r3, r29
/* 8034A280 003471E0 4B FC B6 B1 */ bl Free__7CMemoryFPCv
lbl_8034A284:
/* 8034A284 003471E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034A288 003471E8 7F A3 EB 78 */ mr r3, r29
/* 8034A28C 003471EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034A290 003471F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8034A294 003471F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8034A298 003471F8 7C 08 03 A6 */ mtlr r0
/* 8034A29C 003471FC 38 21 00 20 */ addi r1, r1, 0x20
/* 8034A2A0 00347200 4E 80 00 20 */ blr
.global sub_8034a2a4
sub_8034a2a4:
/* 8034A2A4 00347204 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034A2A8 00347208 7C 08 02 A6 */ mflr r0
/* 8034A2AC 0034720C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034A2B0 00347210 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034A2B4 00347214 7C 7F 1B 78 */ mr r31, r3
/* 8034A2B8 00347218 48 00 00 19 */ bl sub_8034a2d0
/* 8034A2BC 0034721C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034A2C0 00347220 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034A2C4 00347224 7C 08 03 A6 */ mtlr r0
/* 8034A2C8 00347228 38 21 00 10 */ addi r1, r1, 0x10
/* 8034A2CC 0034722C 4E 80 00 20 */ blr
.global sub_8034a2d0
sub_8034a2d0:
/* 8034A2D0 00347230 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034A2D4 00347234 7C 08 02 A6 */ mflr r0
/* 8034A2D8 00347238 3C A0 80 3E */ lis r5, lbl_803D8108@ha
/* 8034A2DC 0034723C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034A2E0 00347240 38 05 81 08 */ addi r0, r5, lbl_803D8108@l
/* 8034A2E4 00347244 38 A0 00 00 */ li r5, 0
/* 8034A2E8 00347248 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034A2EC 0034724C 7C 9F 23 78 */ mr r31, r4
/* 8034A2F0 00347250 7C 04 03 78 */ mr r4, r0
/* 8034A2F4 00347254 93 C1 00 08 */ stw r30, 8(r1)
/* 8034A2F8 00347258 7C 7E 1B 78 */ mr r30, r3
/* 8034A2FC 0034725C 38 60 00 08 */ li r3, 8
/* 8034A300 00347260 4B FC B5 6D */ bl __nw__FUlPCcPCc
/* 8034A304 00347264 28 03 00 00 */ cmplwi r3, 0
/* 8034A308 00347268 41 82 00 38 */ beq lbl_8034A340
/* 8034A30C 0034726C 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha
/* 8034A310 00347270 3C A0 80 3E */ lis r5, lbl_803D8D78@ha
/* 8034A314 00347274 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l
/* 8034A318 00347278 3C 80 80 3F */ lis r4, lbl_803EF670@ha
/* 8034A31C 0034727C 90 03 00 00 */ stw r0, 0(r3)
/* 8034A320 00347280 38 C5 8D 78 */ addi r6, r5, lbl_803D8D78@l
/* 8034A324 00347284 38 A0 00 00 */ li r5, 0
/* 8034A328 00347288 38 04 F6 70 */ addi r0, r4, lbl_803EF670@l
/* 8034A32C 0034728C 90 C3 00 00 */ stw r6, 0(r3)
/* 8034A330 00347290 98 BF 00 00 */ stb r5, 0(r31)
/* 8034A334 00347294 80 9F 00 04 */ lwz r4, 4(r31)
/* 8034A338 00347298 90 83 00 04 */ stw r4, 4(r3)
/* 8034A33C 0034729C 90 03 00 00 */ stw r0, 0(r3)
lbl_8034A340:
/* 8034A340 003472A0 7C 03 00 D0 */ neg r0, r3
/* 8034A344 003472A4 7C 00 1B 78 */ or r0, r0, r3
/* 8034A348 003472A8 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8034A34C 003472AC 98 1E 00 00 */ stb r0, 0(r30)
/* 8034A350 003472B0 90 7E 00 04 */ stw r3, 4(r30)
/* 8034A354 003472B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034A358 003472B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8034A35C 003472BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034A360 003472C0 7C 08 03 A6 */ mtlr r0
/* 8034A364 003472C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8034A368 003472C8 4E 80 00 20 */ blr
.global sub_8034a36c
sub_8034a36c:
/* 8034A36C 003472CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034A370 003472D0 7C 08 02 A6 */ mflr r0
/* 8034A374 003472D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034A378 003472D8 38 01 00 08 */ addi r0, r1, 8
/* 8034A37C 003472DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034A380 003472E0 7C 7F 1B 78 */ mr r31, r3
/* 8034A384 003472E4 38 60 00 00 */ li r3, 0
/* 8034A388 003472E8 7C 00 F8 40 */ cmplw r0, r31
/* 8034A38C 003472EC 98 61 00 08 */ stb r3, 8(r1)
/* 8034A390 003472F0 90 61 00 0C */ stw r3, 0xc(r1)
/* 8034A394 003472F4 41 82 00 30 */ beq lbl_8034A3C4
/* 8034A398 003472F8 88 1F 00 00 */ lbz r0, 0(r31)
/* 8034A39C 003472FC 28 00 00 00 */ cmplwi r0, 0
/* 8034A3A0 00347300 41 82 00 0C */ beq lbl_8034A3AC
/* 8034A3A4 00347304 80 7F 00 04 */ lwz r3, 4(r31)
/* 8034A3A8 00347308 4B FC B5 89 */ bl Free__7CMemoryFPCv
lbl_8034A3AC:
/* 8034A3AC 0034730C 88 81 00 08 */ lbz r4, 8(r1)
/* 8034A3B0 00347310 38 00 00 00 */ li r0, 0
/* 8034A3B4 00347314 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8034A3B8 00347318 98 9F 00 00 */ stb r4, 0(r31)
/* 8034A3BC 0034731C 90 7F 00 04 */ stw r3, 4(r31)
/* 8034A3C0 00347320 98 01 00 08 */ stb r0, 8(r1)
lbl_8034A3C4:
/* 8034A3C4 00347324 88 01 00 08 */ lbz r0, 8(r1)
/* 8034A3C8 00347328 28 00 00 00 */ cmplwi r0, 0
/* 8034A3CC 0034732C 41 82 00 0C */ beq lbl_8034A3D8
/* 8034A3D0 00347330 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8034A3D4 00347334 4B FC B5 5D */ bl Free__7CMemoryFPCv
lbl_8034A3D8:
/* 8034A3D8 00347338 38 00 00 00 */ li r0, 0
/* 8034A3DC 0034733C 90 1F 00 40 */ stw r0, 0x40(r31)
/* 8034A3E0 00347340 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034A3E4 00347344 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034A3E8 00347348 7C 08 03 A6 */ mtlr r0
/* 8034A3EC 0034734C 38 21 00 20 */ addi r1, r1, 0x20
/* 8034A3F0 00347350 4E 80 00 20 */ blr
.global __ct__15CAudioGrpSetLocFR12CInputStream
__ct__15CAudioGrpSetLocFR12CInputStream:
/* 8034A3F4 00347354 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8034A3F8 00347358 7C 08 02 A6 */ mflr r0
/* 8034A3FC 0034735C 38 C0 00 00 */ li r6, 0
/* 8034A400 00347360 90 01 00 94 */ stw r0, 0x94(r1)
/* 8034A404 00347364 38 0D A9 18 */ addi r0, r13, "_EmptyString__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"@sda21
/* 8034A408 00347368 BE E1 00 6C */ stmw r23, 0x6c(r1)
/* 8034A40C 0034736C 7C 78 1B 78 */ mr r24, r3
/* 8034A410 00347370 7C 9A 23 78 */ mr r26, r4
/* 8034A414 00347374 38 61 00 40 */ addi r3, r1, 0x40
/* 8034A418 00347378 98 C4 00 00 */ stb r6, 0(r4)
/* 8034A41C 0034737C 80 E4 00 04 */ lwz r7, 4(r4)
/* 8034A420 00347380 7C 87 00 D0 */ neg r4, r7
/* 8034A424 00347384 7C 84 3B 78 */ or r4, r4, r7
/* 8034A428 00347388 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8034A42C 0034738C 98 98 00 00 */ stb r4, 0(r24)
/* 8034A430 00347390 90 F8 00 04 */ stw r7, 4(r24)
/* 8034A434 00347394 98 D8 00 08 */ stb r6, 8(r24)
/* 8034A438 00347398 90 D8 00 0C */ stw r6, 0xc(r24)
/* 8034A43C 0034739C 90 18 00 10 */ stw r0, 0x10(r24)
/* 8034A440 003473A0 90 D8 00 14 */ stw r6, 0x14(r24)
/* 8034A444 003473A4 90 D8 00 18 */ stw r6, 0x18(r24)
/* 8034A448 003473A8 90 18 00 20 */ stw r0, 0x20(r24)
/* 8034A44C 003473AC 90 D8 00 24 */ stw r6, 0x24(r24)
/* 8034A450 003473B0 90 D8 00 28 */ stw r6, 0x28(r24)
/* 8034A454 003473B4 90 D8 00 30 */ stw r6, 0x30(r24)
/* 8034A458 003473B8 90 D8 00 34 */ stw r6, 0x34(r24)
/* 8034A45C 003473BC 90 D8 00 38 */ stw r6, 0x38(r24)
/* 8034A460 003473C0 90 D8 00 3C */ stw r6, 0x3c(r24)
/* 8034A464 003473C4 90 D8 00 40 */ stw r6, 0x40(r24)
/* 8034A468 003473C8 80 9A 00 04 */ lwz r4, 4(r26)
/* 8034A46C 003473CC 4B FF 4D 61 */ bl __ct__15CMemoryInStreamFPCvUl
/* 8034A470 003473D0 38 61 00 30 */ addi r3, r1, 0x30
/* 8034A474 003473D4 38 81 00 40 */ addi r4, r1, 0x40
/* 8034A478 003473D8 38 A1 00 0C */ addi r5, r1, 0xc
/* 8034A47C 003473DC 4B FF 3E 7D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
/* 8034A480 003473E0 38 78 00 10 */ addi r3, r24, 0x10
/* 8034A484 003473E4 38 81 00 30 */ addi r4, r1, 0x30
/* 8034A488 003473E8 4B FF 38 D5 */ bl "assign__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8034A48C 003473EC 38 61 00 30 */ addi r3, r1, 0x30
/* 8034A490 003473F0 4B FF 36 51 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8034A494 003473F4 38 61 00 20 */ addi r3, r1, 0x20
/* 8034A498 003473F8 38 81 00 40 */ addi r4, r1, 0x40
/* 8034A49C 003473FC 38 A1 00 08 */ addi r5, r1, 8
/* 8034A4A0 00347400 4B FF 3E 59 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
/* 8034A4A4 00347404 38 78 00 20 */ addi r3, r24, 0x20
/* 8034A4A8 00347408 38 81 00 20 */ addi r4, r1, 0x20
/* 8034A4AC 0034740C 4B FF 38 B1 */ bl "assign__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8034A4B0 00347410 38 61 00 20 */ addi r3, r1, 0x20
/* 8034A4B4 00347414 4B FF 36 2D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8034A4B8 00347418 38 61 00 40 */ addi r3, r1, 0x40
/* 8034A4BC 0034741C 4B FF 47 C9 */ bl ReadLong__12CInputStreamFv
/* 8034A4C0 00347420 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 8034A4C4 00347424 7C 7F 1B 78 */ mr r31, r3
/* 8034A4C8 00347428 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 8034A4CC 0034742C 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8034A4D0 00347430 90 01 00 40 */ stw r0, 0x40(r1)
/* 8034A4D4 00347434 38 61 00 40 */ addi r3, r1, 0x40
/* 8034A4D8 00347438 38 80 00 00 */ li r4, 0
/* 8034A4DC 0034743C 4B FF 4B D1 */ bl __dt__12CInputStreamFv
/* 8034A4E0 00347440 48 00 03 35 */ bl sub_8034a814
/* 8034A4E4 00347444 80 7A 00 04 */ lwz r3, 4(r26)
/* 8034A4E8 00347448 7F 9E FA 14 */ add r28, r30, r31
/* 8034A4EC 0034744C 7F A3 E0 2E */ lwzx r29, r3, r28
/* 8034A4F0 00347450 48 00 03 25 */ bl sub_8034a814
/* 8034A4F4 00347454 7F 7C EA 14 */ add r27, r28, r29
/* 8034A4F8 00347458 80 7A 00 04 */ lwz r3, 4(r26)
/* 8034A4FC 0034745C 3B 7B 00 04 */ addi r27, r27, 4
/* 8034A500 00347460 7E E3 D8 2E */ lwzx r23, r3, r27
/* 8034A504 00347464 48 00 03 11 */ bl sub_8034a814
/* 8034A508 00347468 92 F8 00 30 */ stw r23, 0x30(r24)
/* 8034A50C 0034746C 7F 3B BA 14 */ add r25, r27, r23
/* 8034A510 00347470 3B 39 00 04 */ addi r25, r25, 4
/* 8034A514 00347474 80 7A 00 04 */ lwz r3, 4(r26)
/* 8034A518 00347478 7F 43 C8 2E */ lwzx r26, r3, r25
/* 8034A51C 0034747C 48 00 02 F9 */ bl sub_8034a814
/* 8034A520 00347480 3C 60 80 3E */ lis r3, lbl_803D8108@ha
/* 8034A524 00347484 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha
/* 8034A528 00347488 38 A3 81 08 */ addi r5, r3, lbl_803D8108@l
/* 8034A52C 0034748C 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l
/* 8034A530 00347490 38 61 00 18 */ addi r3, r1, 0x18
/* 8034A534 00347494 38 80 FF FF */ li r4, -1
/* 8034A538 00347498 4B F8 BE 9D */ bl __ct__10CCallStackFUiPCcPCc
/* 8034A53C 0034749C 7C 9D D2 14 */ add r4, r29, r26
/* 8034A540 003474A0 7C 67 1B 78 */ mr r7, r3
/* 8034A544 003474A4 38 64 00 08 */ addi r3, r4, 8
/* 8034A548 003474A8 38 A0 00 01 */ li r5, 1
/* 8034A54C 003474AC 38 80 00 02 */ li r4, 2
/* 8034A550 003474B0 38 C0 00 00 */ li r6, 0
/* 8034A554 003474B4 7C 7F 1A 14 */ add r3, r31, r3
/* 8034A558 003474B8 4B FC B4 3D */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8034A55C 003474BC 7C 83 00 D0 */ neg r4, r3
/* 8034A560 003474C0 38 01 00 10 */ addi r0, r1, 0x10
/* 8034A564 003474C4 7C 84 1B 78 */ or r4, r4, r3
/* 8034A568 003474C8 38 B8 00 08 */ addi r5, r24, 8
/* 8034A56C 003474CC 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8034A570 003474D0 90 61 00 14 */ stw r3, 0x14(r1)
/* 8034A574 003474D4 7C 00 28 40 */ cmplw r0, r5
/* 8034A578 003474D8 98 81 00 10 */ stb r4, 0x10(r1)
/* 8034A57C 003474DC 41 82 00 30 */ beq lbl_8034A5AC
/* 8034A580 003474E0 88 05 00 00 */ lbz r0, 0(r5)
/* 8034A584 003474E4 28 00 00 00 */ cmplwi r0, 0
/* 8034A588 003474E8 41 82 00 0C */ beq lbl_8034A594
/* 8034A58C 003474EC 80 78 00 0C */ lwz r3, 0xc(r24)
/* 8034A590 003474F0 4B FC B3 A1 */ bl Free__7CMemoryFPCv
lbl_8034A594:
/* 8034A594 003474F4 88 61 00 10 */ lbz r3, 0x10(r1)
/* 8034A598 003474F8 38 00 00 00 */ li r0, 0
/* 8034A59C 003474FC 98 78 00 08 */ stb r3, 8(r24)
/* 8034A5A0 00347500 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8034A5A4 00347504 90 78 00 0C */ stw r3, 0xc(r24)
/* 8034A5A8 00347508 98 01 00 10 */ stb r0, 0x10(r1)
lbl_8034A5AC:
/* 8034A5AC 0034750C 88 01 00 10 */ lbz r0, 0x10(r1)
/* 8034A5B0 00347510 28 00 00 00 */ cmplwi r0, 0
/* 8034A5B4 00347514 41 82 00 0C */ beq lbl_8034A5C0
/* 8034A5B8 00347518 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8034A5BC 0034751C 4B FC B3 75 */ bl Free__7CMemoryFPCv
lbl_8034A5C0:
/* 8034A5C0 00347520 82 F8 00 04 */ lwz r23, 4(r24)
/* 8034A5C4 00347524 7F E5 FB 78 */ mr r5, r31
/* 8034A5C8 00347528 80 18 00 0C */ lwz r0, 0xc(r24)
/* 8034A5CC 0034752C 7C 97 F2 14 */ add r4, r23, r30
/* 8034A5D0 00347530 90 18 00 34 */ stw r0, 0x34(r24)
/* 8034A5D4 00347534 80 78 00 34 */ lwz r3, 0x34(r24)
/* 8034A5D8 00347538 4B CB 8E B9 */ bl memcpy
/* 8034A5DC 0034753C 38 7F 00 03 */ addi r3, r31, 3
/* 8034A5E0 00347540 80 18 00 0C */ lwz r0, 0xc(r24)
/* 8034A5E4 00347544 54 7E 00 3A */ rlwinm r30, r3, 0, 0, 0x1d
/* 8034A5E8 00347548 7C 9C BA 14 */ add r4, r28, r23
/* 8034A5EC 0034754C 7C 00 F2 14 */ add r0, r0, r30
/* 8034A5F0 00347550 7F A5 EB 78 */ mr r5, r29
/* 8034A5F4 00347554 90 18 00 38 */ stw r0, 0x38(r24)
/* 8034A5F8 00347558 38 84 00 04 */ addi r4, r4, 4
/* 8034A5FC 0034755C 80 78 00 38 */ lwz r3, 0x38(r24)
/* 8034A600 00347560 4B CB 8E 91 */ bl memcpy
/* 8034A604 00347564 38 1D 00 03 */ addi r0, r29, 3
/* 8034A608 00347568 7C 99 BA 14 */ add r4, r25, r23
/* 8034A60C 0034756C 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d
/* 8034A610 00347570 80 18 00 0C */ lwz r0, 0xc(r24)
/* 8034A614 00347574 7C 7E 1A 14 */ add r3, r30, r3
/* 8034A618 00347578 7F 45 D3 78 */ mr r5, r26
/* 8034A61C 0034757C 7C 00 1A 14 */ add r0, r0, r3
/* 8034A620 00347580 38 84 00 04 */ addi r4, r4, 4
/* 8034A624 00347584 90 18 00 3C */ stw r0, 0x3c(r24)
/* 8034A628 00347588 80 78 00 3C */ lwz r3, 0x3c(r24)
/* 8034A62C 0034758C 4B CB 8E 65 */ bl memcpy
/* 8034A630 00347590 7C 9B BA 14 */ add r4, r27, r23
/* 8034A634 00347594 7F 03 C3 78 */ mr r3, r24
/* 8034A638 00347598 38 04 00 04 */ addi r0, r4, 4
/* 8034A63C 0034759C 90 18 00 40 */ stw r0, 0x40(r24)
/* 8034A640 003475A0 BA E1 00 6C */ lmw r23, 0x6c(r1)
/* 8034A644 003475A4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8034A648 003475A8 7C 08 03 A6 */ mtlr r0
/* 8034A64C 003475AC 38 21 00 90 */ addi r1, r1, 0x90
/* 8034A650 003475B0 4E 80 00 20 */ blr
.global FreeSampleBuffer__14CAudioGroupSetFv
FreeSampleBuffer__14CAudioGroupSetFv:
/* 8034A654 003475B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034A658 003475B8 7C 08 02 A6 */ mflr r0
/* 8034A65C 003475BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034A660 003475C0 80 63 00 28 */ lwz r3, 0x28(r3)
/* 8034A664 003475C4 4B FF FD 09 */ bl sub_8034a36c
/* 8034A668 003475C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034A66C 003475CC 7C 08 03 A6 */ mtlr r0
/* 8034A670 003475D0 38 21 00 10 */ addi r1, r1, 0x10
/* 8034A674 003475D4 4E 80 00 20 */ blr
.global Reload__14CAudioGroupSetFv
Reload__14CAudioGroupSetFv:
/* 8034A678 003475D8 4E 80 00 20 */ blr
.global __dt__14CAudioGroupSetFv
__dt__14CAudioGroupSetFv:
/* 8034A67C 003475DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034A680 003475E0 7C 08 02 A6 */ mflr r0
/* 8034A684 003475E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034A688 003475E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034A68C 003475EC 7C 9F 23 78 */ mr r31, r4
/* 8034A690 003475F0 93 C1 00 08 */ stw r30, 8(r1)
/* 8034A694 003475F4 7C 7E 1B 79 */ or. r30, r3, r3
/* 8034A698 003475F8 41 82 00 68 */ beq lbl_8034A700
/* 8034A69C 003475FC 34 1E 00 20 */ addic. r0, r30, 0x20
/* 8034A6A0 00347600 41 82 00 30 */ beq lbl_8034A6D0
/* 8034A6A4 00347604 88 1E 00 2C */ lbz r0, 0x2c(r30)
/* 8034A6A8 00347608 28 00 00 00 */ cmplwi r0, 0
/* 8034A6AC 0034760C 41 82 00 1C */ beq lbl_8034A6C8
/* 8034A6B0 00347610 34 7E 00 20 */ addic. r3, r30, 0x20
/* 8034A6B4 00347614 41 82 00 14 */ beq lbl_8034A6C8
/* 8034A6B8 00347618 28 03 00 00 */ cmplwi r3, 0
/* 8034A6BC 0034761C 41 82 00 0C */ beq lbl_8034A6C8
/* 8034A6C0 00347620 38 80 00 00 */ li r4, 0
/* 8034A6C4 00347624 4B FF 67 7D */ bl __dt__6CTokenFv
lbl_8034A6C8:
/* 8034A6C8 00347628 38 00 00 00 */ li r0, 0
/* 8034A6CC 0034762C 98 1E 00 2C */ stb r0, 0x2c(r30)
lbl_8034A6D0:
/* 8034A6D0 00347630 34 1E 00 10 */ addic. r0, r30, 0x10
/* 8034A6D4 00347634 41 82 00 0C */ beq lbl_8034A6E0
/* 8034A6D8 00347638 38 7E 00 10 */ addi r3, r30, 0x10
/* 8034A6DC 0034763C 4B FF 34 05 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034A6E0:
/* 8034A6E0 00347640 28 1E 00 00 */ cmplwi r30, 0
/* 8034A6E4 00347644 41 82 00 0C */ beq lbl_8034A6F0
/* 8034A6E8 00347648 7F C3 F3 78 */ mr r3, r30
/* 8034A6EC 0034764C 4B FF 33 F5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034A6F0:
/* 8034A6F0 00347650 7F E0 07 35 */ extsh. r0, r31
/* 8034A6F4 00347654 40 81 00 0C */ ble lbl_8034A700
/* 8034A6F8 00347658 7F C3 F3 78 */ mr r3, r30
/* 8034A6FC 0034765C 4B FC B2 35 */ bl Free__7CMemoryFPCv
lbl_8034A700:
/* 8034A700 00347660 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034A704 00347664 7F C3 F3 78 */ mr r3, r30
/* 8034A708 00347668 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034A70C 0034766C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8034A710 00347670 7C 08 03 A6 */ mtlr r0
/* 8034A714 00347674 38 21 00 10 */ addi r1, r1, 0x10
/* 8034A718 00347678 4E 80 00 20 */ blr
.global "__ct__14CAudioGroupSetFRC31TLockedToken<15CAudioGrpSetLoc>"
"__ct__14CAudioGroupSetFRC31TLockedToken<15CAudioGrpSetLoc>":
/* 8034A71C 0034767C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034A720 00347680 7C 08 02 A6 */ mflr r0
/* 8034A724 00347684 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034A728 00347688 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034A72C 0034768C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034A730 00347690 7C 9E 23 78 */ mr r30, r4
/* 8034A734 00347694 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034A738 00347698 7C 7D 1B 78 */ mr r29, r3
/* 8034A73C 0034769C 80 84 00 08 */ lwz r4, 8(r4)
/* 8034A740 003476A0 38 84 00 10 */ addi r4, r4, 0x10
/* 8034A744 003476A4 4B FF 3A 1D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8034A748 003476A8 80 9E 00 08 */ lwz r4, 8(r30)
/* 8034A74C 003476AC 38 7D 00 10 */ addi r3, r29, 0x10
/* 8034A750 003476B0 38 84 00 20 */ addi r4, r4, 0x20
/* 8034A754 003476B4 4B FF 3A 0D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8034A758 003476B8 38 00 00 01 */ li r0, 1
/* 8034A75C 003476BC 37 FD 00 20 */ addic. r31, r29, 0x20
/* 8034A760 003476C0 98 1D 00 2C */ stb r0, 0x2c(r29)
/* 8034A764 003476C4 41 82 00 20 */ beq lbl_8034A784
/* 8034A768 003476C8 7F E3 FB 78 */ mr r3, r31
/* 8034A76C 003476CC 7F C4 F3 78 */ mr r4, r30
/* 8034A770 003476D0 4B FF 67 39 */ bl __ct__6CTokenFRC6CToken
/* 8034A774 003476D4 80 1E 00 08 */ lwz r0, 8(r30)
/* 8034A778 003476D8 7F E3 FB 78 */ mr r3, r31
/* 8034A77C 003476DC 90 1F 00 08 */ stw r0, 8(r31)
/* 8034A780 003476E0 4B FF 66 05 */ bl Lock__6CTokenFv
lbl_8034A784:
/* 8034A784 003476E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034A788 003476E8 7F A3 EB 78 */ mr r3, r29
/* 8034A78C 003476EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034A790 003476F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8034A794 003476F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8034A798 003476F8 7C 08 03 A6 */ mtlr r0
/* 8034A79C 003476FC 38 21 00 20 */ addi r1, r1, 0x20
/* 8034A7A0 00347700 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

1218
asm/Kyoto/Audio/SDSPStream.s Normal file

File diff suppressed because it is too large Load Diff

698
asm/Kyoto/Audio/g721.s Normal file
View File

@ -0,0 +1,698 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global g721_decoder__FiP10g72x_state
g721_decoder__FiP10g72x_state:
/* 8036B2B8 00368218 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8036B2BC 0036821C 7C 08 02 A6 */ mflr r0
/* 8036B2C0 00368220 3C A0 80 3F */ lis r5, lbl_803EF840@ha
/* 8036B2C4 00368224 90 01 00 34 */ stw r0, 0x34(r1)
/* 8036B2C8 00368228 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8036B2CC 0036822C 7C 9F 23 78 */ mr r31, r4
/* 8036B2D0 00368230 7C 7E 1B 78 */ mr r30, r3
/* 8036B2D4 00368234 3B A5 F8 40 */ addi r29, r5, lbl_803EF840@l
/* 8036B2D8 00368238 7F E3 FB 78 */ mr r3, r31
/* 8036B2DC 0036823C 48 00 07 55 */ bl predictor_zero__FP10g72x_state
/* 8036B2E0 00368240 7C 7B 07 34 */ extsh r27, r3
/* 8036B2E4 00368244 7F E3 FB 78 */ mr r3, r31
/* 8036B2E8 00368248 7F 60 0E 70 */ srawi r0, r27, 1
/* 8036B2EC 0036824C 7C 1A 07 34 */ extsh r26, r0
/* 8036B2F0 00368250 48 00 06 E9 */ bl predictor_pole__FP10g72x_state
/* 8036B2F4 00368254 7C 1B 1A 14 */ add r0, r27, r3
/* 8036B2F8 00368258 7F E3 FB 78 */ mr r3, r31
/* 8036B2FC 0036825C 7C 00 07 34 */ extsh r0, r0
/* 8036B300 00368260 7C 00 0E 70 */ srawi r0, r0, 1
/* 8036B304 00368264 7C 19 07 34 */ extsh r25, r0
/* 8036B308 00368268 48 00 06 7D */ bl step_size__FP10g72x_state
/* 8036B30C 0036826C 57 DC 0E FC */ rlwinm r28, r30, 1, 0x1b, 0x1e
/* 8036B310 00368270 38 9D 00 20 */ addi r4, r29, 0x20
/* 8036B314 00368274 7C 65 07 34 */ extsh r5, r3
/* 8036B318 00368278 7C 84 E2 AE */ lhax r4, r4, r28
/* 8036B31C 0036827C 7C BB 2B 78 */ mr r27, r5
/* 8036B320 00368280 57 C3 07 38 */ rlwinm r3, r30, 0, 0x1c, 0x1c
/* 8036B324 00368284 48 00 06 05 */ bl reconstruct__Fiii
/* 8036B328 00368288 7C 67 07 35 */ extsh. r7, r3
/* 8036B32C 0036828C 7C 19 3A 14 */ add r0, r25, r7
/* 8036B330 00368290 40 80 00 0C */ bge lbl_8036B33C
/* 8036B334 00368294 54 E0 04 BE */ clrlwi r0, r7, 0x12
/* 8036B338 00368298 7C 00 C8 50 */ subf r0, r0, r25
lbl_8036B33C:
/* 8036B33C 0036829C 7C 1E 07 34 */ extsh r30, r0
/* 8036B340 003682A0 38 9D 00 40 */ addi r4, r29, 0x40
/* 8036B344 003682A4 7C A4 E2 AE */ lhax r5, r4, r28
/* 8036B348 003682A8 7C 19 F0 50 */ subf r0, r25, r30
/* 8036B34C 003682AC 38 7D 00 60 */ addi r3, r29, 0x60
/* 8036B350 003682B0 7F 64 DB 78 */ mr r4, r27
/* 8036B354 003682B4 7C 1A 02 14 */ add r0, r26, r0
/* 8036B358 003682B8 7C C3 E2 AE */ lhax r6, r3, r28
/* 8036B35C 003682BC 7C 09 07 34 */ extsh r9, r0
/* 8036B360 003682C0 7F C8 F3 78 */ mr r8, r30
/* 8036B364 003682C4 7F EA FB 78 */ mr r10, r31
/* 8036B368 003682C8 54 A5 28 34 */ slwi r5, r5, 5
/* 8036B36C 003682CC 38 60 00 04 */ li r3, 4
/* 8036B370 003682D0 48 00 00 1D */ bl update__FiiiiiiiP10g72x_state
/* 8036B374 003682D4 57 C3 10 3A */ slwi r3, r30, 2
/* 8036B378 003682D8 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 8036B37C 003682DC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8036B380 003682E0 7C 08 03 A6 */ mtlr r0
/* 8036B384 003682E4 38 21 00 30 */ addi r1, r1, 0x30
/* 8036B388 003682E8 4E 80 00 20 */ blr
.global update__FiiiiiiiP10g72x_state
update__FiiiiiiiP10g72x_state:
/* 8036B38C 003682EC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8036B390 003682F0 7C 08 02 A6 */ mflr r0
/* 8036B394 003682F4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8036B398 003682F8 BE E1 00 0C */ stmw r23, 0xc(r1)
/* 8036B39C 003682FC 7C FA 3B 78 */ mr r26, r7
/* 8036B3A0 00368300 55 27 0F FE */ srwi r7, r9, 0x1f
/* 8036B3A4 00368304 7C 98 23 78 */ mr r24, r4
/* 8036B3A8 00368308 7C D9 33 78 */ mr r25, r6
/* 8036B3AC 0036830C 7D 5C 53 78 */ mr r28, r10
/* 8036B3B0 00368310 7D 1B 43 78 */ mr r27, r8
/* 8036B3B4 00368314 7C FD 07 34 */ extsh r29, r7
/* 8036B3B8 00368318 80 0A 00 00 */ lwz r0, 0(r10)
/* 8036B3BC 0036831C 7C 04 7E 70 */ srawi r4, r0, 0xf
/* 8036B3C0 00368320 54 00 B6 FE */ rlwinm r0, r0, 0x16, 0x1b, 0x1f
/* 8036B3C4 00368324 7C 86 07 34 */ extsh r6, r4
/* 8036B3C8 00368328 7C 04 07 34 */ extsh r4, r0
/* 8036B3CC 0036832C 38 04 00 20 */ addi r0, r4, 0x20
/* 8036B3D0 00368330 2C 06 00 09 */ cmpwi r6, 9
/* 8036B3D4 00368334 7C 04 30 30 */ slw r4, r0, r6
/* 8036B3D8 00368338 7C 86 07 34 */ extsh r6, r4
/* 8036B3DC 0036833C 57 40 04 7E */ clrlwi r0, r26, 0x11
/* 8036B3E0 00368340 38 80 7C 00 */ li r4, 0x7c00
/* 8036B3E4 00368344 41 81 00 08 */ bgt lbl_8036B3EC
/* 8036B3E8 00368348 7C C4 33 78 */ mr r4, r6
lbl_8036B3EC:
/* 8036B3EC 0036834C 7C 87 07 34 */ extsh r7, r4
/* 8036B3F0 00368350 88 9C 00 30 */ lbz r4, 0x30(r28)
/* 8036B3F4 00368354 7C E6 0E 70 */ srawi r6, r7, 1
/* 8036B3F8 00368358 7C C7 32 14 */ add r6, r7, r6
/* 8036B3FC 0036835C 7C 84 07 75 */ extsb. r4, r4
/* 8036B400 00368360 7C C4 0E 70 */ srawi r4, r6, 1
/* 8036B404 00368364 7C 86 07 34 */ extsh r6, r4
/* 8036B408 00368368 40 82 00 0C */ bne lbl_8036B414
/* 8036B40C 0036836C 3B C0 00 00 */ li r30, 0
/* 8036B410 00368370 48 00 00 1C */ b lbl_8036B42C
lbl_8036B414:
/* 8036B414 00368374 7C 04 07 34 */ extsh r4, r0
/* 8036B418 00368378 7C 04 30 00 */ cmpw r4, r6
/* 8036B41C 0036837C 41 81 00 0C */ bgt lbl_8036B428
/* 8036B420 00368380 3B C0 00 00 */ li r30, 0
/* 8036B424 00368384 48 00 00 08 */ b lbl_8036B42C
lbl_8036B428:
/* 8036B428 00368388 3B C0 00 01 */ li r30, 1
lbl_8036B42C:
/* 8036B42C 0036838C 7C 98 28 50 */ subf r4, r24, r5
/* 8036B430 00368390 7C 84 2E 70 */ srawi r4, r4, 5
/* 8036B434 00368394 7C 98 22 14 */ add r4, r24, r4
/* 8036B438 00368398 B0 9C 00 04 */ sth r4, 4(r28)
/* 8036B43C 0036839C A8 9C 00 04 */ lha r4, 4(r28)
/* 8036B440 003683A0 2C 04 02 20 */ cmpwi r4, 0x220
/* 8036B444 003683A4 40 80 00 10 */ bge lbl_8036B454
/* 8036B448 003683A8 38 80 02 20 */ li r4, 0x220
/* 8036B44C 003683AC B0 9C 00 04 */ sth r4, 4(r28)
/* 8036B450 003683B0 48 00 00 14 */ b lbl_8036B464
lbl_8036B454:
/* 8036B454 003683B4 2C 04 14 00 */ cmpwi r4, 0x1400
/* 8036B458 003683B8 40 81 00 0C */ ble lbl_8036B464
/* 8036B45C 003683BC 38 80 14 00 */ li r4, 0x1400
/* 8036B460 003683C0 B0 9C 00 04 */ sth r4, 4(r28)
lbl_8036B464:
/* 8036B464 003683C4 80 DC 00 00 */ lwz r6, 0(r28)
/* 8036B468 003683C8 7F C4 07 74 */ extsb r4, r30
/* 8036B46C 003683CC A8 BC 00 04 */ lha r5, 4(r28)
/* 8036B470 003683D0 2C 04 00 01 */ cmpwi r4, 1
/* 8036B474 003683D4 7C 86 00 D0 */ neg r4, r6
/* 8036B478 003683D8 7C 84 36 70 */ srawi r4, r4, 6
/* 8036B47C 003683DC 7C 84 32 14 */ add r4, r4, r6
/* 8036B480 003683E0 7C 85 22 14 */ add r4, r5, r4
/* 8036B484 003683E4 90 9C 00 00 */ stw r4, 0(r28)
/* 8036B488 003683E8 40 82 00 2C */ bne lbl_8036B4B4
/* 8036B48C 003683EC 38 60 00 00 */ li r3, 0
/* 8036B490 003683F0 B0 7C 00 0C */ sth r3, 0xc(r28)
/* 8036B494 003683F4 B0 7C 00 0E */ sth r3, 0xe(r28)
/* 8036B498 003683F8 B0 7C 00 10 */ sth r3, 0x10(r28)
/* 8036B49C 003683FC B0 7C 00 12 */ sth r3, 0x12(r28)
/* 8036B4A0 00368400 B0 7C 00 14 */ sth r3, 0x14(r28)
/* 8036B4A4 00368404 B0 7C 00 16 */ sth r3, 0x16(r28)
/* 8036B4A8 00368408 B0 7C 00 18 */ sth r3, 0x18(r28)
/* 8036B4AC 0036840C B0 7C 00 1A */ sth r3, 0x1a(r28)
/* 8036B4B0 00368410 48 00 02 10 */ b lbl_8036B6C0
lbl_8036B4B4:
/* 8036B4B4 00368414 A8 DC 00 0E */ lha r6, 0xe(r28)
/* 8036B4B8 00368418 2C 09 00 00 */ cmpwi r9, 0
/* 8036B4BC 0036841C A8 BC 00 1C */ lha r5, 0x1c(r28)
/* 8036B4C0 00368420 7C C4 3E 70 */ srawi r4, r6, 7
/* 8036B4C4 00368424 7F A5 2A 78 */ xor r5, r29, r5
/* 8036B4C8 00368428 7C 84 30 50 */ subf r4, r4, r6
/* 8036B4CC 0036842C 7C A6 07 34 */ extsh r6, r5
/* 8036B4D0 00368430 7C 9F 07 34 */ extsh r31, r4
/* 8036B4D4 00368434 41 82 00 AC */ beq lbl_8036B580
/* 8036B4D8 00368438 7C C4 07 35 */ extsh. r4, r6
/* 8036B4DC 0036843C 41 82 00 0C */ beq lbl_8036B4E8
/* 8036B4E0 00368440 A8 9C 00 0C */ lha r4, 0xc(r28)
/* 8036B4E4 00368444 48 00 00 0C */ b lbl_8036B4F0
lbl_8036B4E8:
/* 8036B4E8 00368448 A8 9C 00 0C */ lha r4, 0xc(r28)
/* 8036B4EC 0036844C 7C 84 00 D0 */ neg r4, r4
lbl_8036B4F0:
/* 8036B4F0 00368450 7C 84 07 34 */ extsh r4, r4
/* 8036B4F4 00368454 2C 04 E0 01 */ cmpwi r4, -8191
/* 8036B4F8 00368458 40 80 00 0C */ bge lbl_8036B504
/* 8036B4FC 0036845C 3B FF FF 00 */ addi r31, r31, -256
/* 8036B500 00368460 48 00 00 20 */ b lbl_8036B520
lbl_8036B504:
/* 8036B504 00368464 2C 04 1F FF */ cmpwi r4, 0x1fff
/* 8036B508 00368468 40 81 00 0C */ ble lbl_8036B514
/* 8036B50C 0036846C 3B FF 00 FF */ addi r31, r31, 0xff
/* 8036B510 00368470 48 00 00 10 */ b lbl_8036B520
lbl_8036B514:
/* 8036B514 00368474 7C 84 2E 70 */ srawi r4, r4, 5
/* 8036B518 00368478 7C 9F 22 14 */ add r4, r31, r4
/* 8036B51C 0036847C 7C 9F 07 34 */ extsh r31, r4
lbl_8036B520:
/* 8036B520 00368480 A8 9C 00 1E */ lha r4, 0x1e(r28)
/* 8036B524 00368484 7F A4 22 79 */ xor. r4, r29, r4
/* 8036B528 00368488 41 82 00 30 */ beq lbl_8036B558
/* 8036B52C 0036848C 7F E4 07 34 */ extsh r4, r31
/* 8036B530 00368490 2C 04 D0 80 */ cmpwi r4, -12160
/* 8036B534 00368494 41 81 00 0C */ bgt lbl_8036B540
/* 8036B538 00368498 3B E0 D0 00 */ li r31, -12288
/* 8036B53C 0036849C 48 00 00 44 */ b lbl_8036B580
lbl_8036B540:
/* 8036B540 003684A0 2C 04 30 80 */ cmpwi r4, 0x3080
/* 8036B544 003684A4 41 80 00 0C */ blt lbl_8036B550
/* 8036B548 003684A8 3B E0 30 00 */ li r31, 0x3000
/* 8036B54C 003684AC 48 00 00 34 */ b lbl_8036B580
lbl_8036B550:
/* 8036B550 003684B0 3B FF FF 80 */ addi r31, r31, -128
/* 8036B554 003684B4 48 00 00 2C */ b lbl_8036B580
lbl_8036B558:
/* 8036B558 003684B8 7F E4 07 34 */ extsh r4, r31
/* 8036B55C 003684BC 2C 04 CF 80 */ cmpwi r4, -12416
/* 8036B560 003684C0 41 81 00 0C */ bgt lbl_8036B56C
/* 8036B564 003684C4 3B E0 D0 00 */ li r31, -12288
/* 8036B568 003684C8 48 00 00 18 */ b lbl_8036B580
lbl_8036B56C:
/* 8036B56C 003684CC 2C 04 2F 80 */ cmpwi r4, 0x2f80
/* 8036B570 003684D0 41 80 00 0C */ blt lbl_8036B57C
/* 8036B574 003684D4 3B E0 30 00 */ li r31, 0x3000
/* 8036B578 003684D8 48 00 00 08 */ b lbl_8036B580
lbl_8036B57C:
/* 8036B57C 003684DC 3B FF 00 80 */ addi r31, r31, 0x80
lbl_8036B580:
/* 8036B580 003684E0 B3 FC 00 0E */ sth r31, 0xe(r28)
/* 8036B584 003684E4 2C 09 00 00 */ cmpwi r9, 0
/* 8036B588 003684E8 A8 BC 00 0C */ lha r5, 0xc(r28)
/* 8036B58C 003684EC 7C A4 46 70 */ srawi r4, r5, 8
/* 8036B590 003684F0 7C 84 28 50 */ subf r4, r4, r5
/* 8036B594 003684F4 B0 9C 00 0C */ sth r4, 0xc(r28)
/* 8036B598 003684F8 41 82 00 28 */ beq lbl_8036B5C0
/* 8036B59C 003684FC 7C C4 07 35 */ extsh. r4, r6
/* 8036B5A0 00368500 40 82 00 14 */ bne lbl_8036B5B4
/* 8036B5A4 00368504 A8 9C 00 0C */ lha r4, 0xc(r28)
/* 8036B5A8 00368508 38 84 00 C0 */ addi r4, r4, 0xc0
/* 8036B5AC 0036850C B0 9C 00 0C */ sth r4, 0xc(r28)
/* 8036B5B0 00368510 48 00 00 10 */ b lbl_8036B5C0
lbl_8036B5B4:
/* 8036B5B4 00368514 A8 9C 00 0C */ lha r4, 0xc(r28)
/* 8036B5B8 00368518 38 84 FF 40 */ addi r4, r4, -192
/* 8036B5BC 0036851C B0 9C 00 0C */ sth r4, 0xc(r28)
lbl_8036B5C0:
/* 8036B5C0 00368520 20 9F 3C 00 */ subfic r4, r31, 0x3c00
/* 8036B5C4 00368524 A8 BC 00 0C */ lha r5, 0xc(r28)
/* 8036B5C8 00368528 7C 86 07 34 */ extsh r6, r4
/* 8036B5CC 0036852C 7C 86 00 D0 */ neg r4, r6
/* 8036B5D0 00368530 7C 05 20 00 */ cmpw r5, r4
/* 8036B5D4 00368534 40 80 00 0C */ bge lbl_8036B5E0
/* 8036B5D8 00368538 B0 9C 00 0C */ sth r4, 0xc(r28)
/* 8036B5DC 0036853C 48 00 00 10 */ b lbl_8036B5EC
lbl_8036B5E0:
/* 8036B5E0 00368540 7C 05 30 00 */ cmpw r5, r6
/* 8036B5E4 00368544 40 81 00 08 */ ble lbl_8036B5EC
/* 8036B5E8 00368548 B0 DC 00 0C */ sth r6, 0xc(r28)
lbl_8036B5EC:
/* 8036B5EC 0036854C 38 80 00 03 */ li r4, 3
/* 8036B5F0 00368550 7F 86 E3 78 */ mr r6, r28
/* 8036B5F4 00368554 38 E0 00 00 */ li r7, 0
/* 8036B5F8 00368558 7C 89 03 A6 */ mtctr r4
lbl_8036B5FC:
/* 8036B5FC 0036855C 2C 03 00 05 */ cmpwi r3, 5
/* 8036B600 00368560 40 82 00 18 */ bne lbl_8036B618
/* 8036B604 00368564 A8 A6 00 10 */ lha r5, 0x10(r6)
/* 8036B608 00368568 7C A4 4E 70 */ srawi r4, r5, 9
/* 8036B60C 0036856C 7C 84 28 50 */ subf r4, r4, r5
/* 8036B610 00368570 B0 86 00 10 */ sth r4, 0x10(r6)
/* 8036B614 00368574 48 00 00 14 */ b lbl_8036B628
lbl_8036B618:
/* 8036B618 00368578 A8 A6 00 10 */ lha r5, 0x10(r6)
/* 8036B61C 0036857C 7C A4 46 70 */ srawi r4, r5, 8
/* 8036B620 00368580 7C 84 28 50 */ subf r4, r4, r5
/* 8036B624 00368584 B0 86 00 10 */ sth r4, 0x10(r6)
lbl_8036B628:
/* 8036B628 00368588 2C 00 00 00 */ cmpwi r0, 0
/* 8036B62C 0036858C 41 82 00 2C */ beq lbl_8036B658
/* 8036B630 00368590 A8 86 00 20 */ lha r4, 0x20(r6)
/* 8036B634 00368594 7F 44 22 79 */ xor. r4, r26, r4
/* 8036B638 00368598 41 80 00 14 */ blt lbl_8036B64C
/* 8036B63C 0036859C A8 86 00 10 */ lha r4, 0x10(r6)
/* 8036B640 003685A0 38 84 00 80 */ addi r4, r4, 0x80
/* 8036B644 003685A4 B0 86 00 10 */ sth r4, 0x10(r6)
/* 8036B648 003685A8 48 00 00 10 */ b lbl_8036B658
lbl_8036B64C:
/* 8036B64C 003685AC A8 86 00 10 */ lha r4, 0x10(r6)
/* 8036B650 003685B0 38 84 FF 80 */ addi r4, r4, -128
/* 8036B654 003685B4 B0 86 00 10 */ sth r4, 0x10(r6)
lbl_8036B658:
/* 8036B658 003685B8 2C 03 00 05 */ cmpwi r3, 5
/* 8036B65C 003685BC 40 82 00 18 */ bne lbl_8036B674
/* 8036B660 003685C0 A8 A6 00 12 */ lha r5, 0x12(r6)
/* 8036B664 003685C4 7C A4 4E 70 */ srawi r4, r5, 9
/* 8036B668 003685C8 7C 84 28 50 */ subf r4, r4, r5
/* 8036B66C 003685CC B0 86 00 12 */ sth r4, 0x12(r6)
/* 8036B670 003685D0 48 00 00 14 */ b lbl_8036B684
lbl_8036B674:
/* 8036B674 003685D4 A8 A6 00 12 */ lha r5, 0x12(r6)
/* 8036B678 003685D8 7C A4 46 70 */ srawi r4, r5, 8
/* 8036B67C 003685DC 7C 84 28 50 */ subf r4, r4, r5
/* 8036B680 003685E0 B0 86 00 12 */ sth r4, 0x12(r6)
lbl_8036B684:
/* 8036B684 003685E4 2C 00 00 00 */ cmpwi r0, 0
/* 8036B688 003685E8 41 82 00 2C */ beq lbl_8036B6B4
/* 8036B68C 003685EC A8 86 00 22 */ lha r4, 0x22(r6)
/* 8036B690 003685F0 7F 44 22 79 */ xor. r4, r26, r4
/* 8036B694 003685F4 41 80 00 14 */ blt lbl_8036B6A8
/* 8036B698 003685F8 A8 86 00 12 */ lha r4, 0x12(r6)
/* 8036B69C 003685FC 38 84 00 80 */ addi r4, r4, 0x80
/* 8036B6A0 00368600 B0 86 00 12 */ sth r4, 0x12(r6)
/* 8036B6A4 00368604 48 00 00 10 */ b lbl_8036B6B4
lbl_8036B6A8:
/* 8036B6A8 00368608 A8 86 00 12 */ lha r4, 0x12(r6)
/* 8036B6AC 0036860C 38 84 FF 80 */ addi r4, r4, -128
/* 8036B6B0 00368610 B0 86 00 12 */ sth r4, 0x12(r6)
lbl_8036B6B4:
/* 8036B6B4 00368614 38 C6 00 04 */ addi r6, r6, 4
/* 8036B6B8 00368618 38 E7 00 01 */ addi r7, r7, 1
/* 8036B6BC 0036861C 42 00 FF 40 */ bdnz lbl_8036B5FC
lbl_8036B6C0:
/* 8036B6C0 00368620 A8 9C 00 28 */ lha r4, 0x28(r28)
/* 8036B6C4 00368624 7C 03 07 35 */ extsh. r3, r0
/* 8036B6C8 00368628 B0 9C 00 2A */ sth r4, 0x2a(r28)
/* 8036B6CC 0036862C A8 9C 00 26 */ lha r4, 0x26(r28)
/* 8036B6D0 00368630 B0 9C 00 28 */ sth r4, 0x28(r28)
/* 8036B6D4 00368634 A8 9C 00 24 */ lha r4, 0x24(r28)
/* 8036B6D8 00368638 B0 9C 00 26 */ sth r4, 0x26(r28)
/* 8036B6DC 0036863C A8 9C 00 22 */ lha r4, 0x22(r28)
/* 8036B6E0 00368640 B0 9C 00 24 */ sth r4, 0x24(r28)
/* 8036B6E4 00368644 A8 9C 00 20 */ lha r4, 0x20(r28)
/* 8036B6E8 00368648 B0 9C 00 22 */ sth r4, 0x22(r28)
/* 8036B6EC 0036864C 40 82 00 20 */ bne lbl_8036B70C
/* 8036B6F0 00368650 2C 1A 00 00 */ cmpwi r26, 0
/* 8036B6F4 00368654 3C 60 00 01 */ lis r3, 0x0000FC20@ha
/* 8036B6F8 00368658 38 03 FC 20 */ addi r0, r3, 0x0000FC20@l
/* 8036B6FC 0036865C 41 80 00 08 */ blt lbl_8036B704
/* 8036B700 00368660 38 00 00 20 */ li r0, 0x20
lbl_8036B704:
/* 8036B704 00368664 B0 1C 00 20 */ sth r0, 0x20(r28)
/* 8036B708 00368668 48 00 00 54 */ b lbl_8036B75C
lbl_8036B70C:
/* 8036B70C 0036866C 3C 60 80 3F */ lis r3, lbl_803EF840@ha
/* 8036B710 00368670 7C 17 07 34 */ extsh r23, r0
/* 8036B714 00368674 38 83 F8 40 */ addi r4, r3, lbl_803EF840@l
/* 8036B718 00368678 38 A0 00 0F */ li r5, 0xf
/* 8036B71C 0036867C 7E E3 BB 78 */ mr r3, r23
/* 8036B720 00368680 48 00 04 E5 */ bl quan__FiPsi
/* 8036B724 00368684 2C 1A 00 00 */ cmpwi r26, 0
/* 8036B728 00368688 7C 65 07 34 */ extsh r5, r3
/* 8036B72C 0036868C 41 80 00 18 */ blt lbl_8036B744
/* 8036B730 00368690 56 E0 30 32 */ slwi r0, r23, 6
/* 8036B734 00368694 54 A3 30 32 */ slwi r3, r5, 6
/* 8036B738 00368698 7C 00 2E 30 */ sraw r0, r0, r5
/* 8036B73C 0036869C 7C 03 02 14 */ add r0, r3, r0
/* 8036B740 003686A0 48 00 00 18 */ b lbl_8036B758
lbl_8036B744:
/* 8036B744 003686A4 56 E0 30 32 */ slwi r0, r23, 6
/* 8036B748 003686A8 54 A4 30 32 */ slwi r4, r5, 6
/* 8036B74C 003686AC 7C 03 2E 30 */ sraw r3, r0, r5
/* 8036B750 003686B0 38 03 FC 00 */ addi r0, r3, -1024
/* 8036B754 003686B4 7C 04 02 14 */ add r0, r4, r0
lbl_8036B758:
/* 8036B758 003686B8 B0 1C 00 20 */ sth r0, 0x20(r28)
lbl_8036B75C:
/* 8036B75C 003686BC A8 1C 00 2C */ lha r0, 0x2c(r28)
/* 8036B760 003686C0 2C 1B 00 00 */ cmpwi r27, 0
/* 8036B764 003686C4 B0 1C 00 2E */ sth r0, 0x2e(r28)
/* 8036B768 003686C8 40 82 00 10 */ bne lbl_8036B778
/* 8036B76C 003686CC 38 00 00 20 */ li r0, 0x20
/* 8036B770 003686D0 B0 1C 00 2C */ sth r0, 0x2c(r28)
/* 8036B774 003686D4 48 00 00 84 */ b lbl_8036B7F8
lbl_8036B778:
/* 8036B778 003686D8 40 81 00 34 */ ble lbl_8036B7AC
/* 8036B77C 003686DC 3C 80 80 3F */ lis r4, lbl_803EF840@ha
/* 8036B780 003686E0 7F 63 DB 78 */ mr r3, r27
/* 8036B784 003686E4 38 84 F8 40 */ addi r4, r4, lbl_803EF840@l
/* 8036B788 003686E8 38 A0 00 0F */ li r5, 0xf
/* 8036B78C 003686EC 48 00 04 79 */ bl quan__FiPsi
/* 8036B790 003686F0 7C 64 07 34 */ extsh r4, r3
/* 8036B794 003686F4 57 60 30 32 */ slwi r0, r27, 6
/* 8036B798 003686F8 54 83 30 32 */ slwi r3, r4, 6
/* 8036B79C 003686FC 7C 00 26 30 */ sraw r0, r0, r4
/* 8036B7A0 00368700 7C 03 02 14 */ add r0, r3, r0
/* 8036B7A4 00368704 B0 1C 00 2C */ sth r0, 0x2c(r28)
/* 8036B7A8 00368708 48 00 00 50 */ b lbl_8036B7F8
lbl_8036B7AC:
/* 8036B7AC 0036870C 2C 1B 80 00 */ cmpwi r27, -32768
/* 8036B7B0 00368710 40 81 00 40 */ ble lbl_8036B7F0
/* 8036B7B4 00368714 7C 1B 00 D0 */ neg r0, r27
/* 8036B7B8 00368718 3C 60 80 3F */ lis r3, lbl_803EF840@ha
/* 8036B7BC 0036871C 7C 1A 07 34 */ extsh r26, r0
/* 8036B7C0 00368720 38 A0 00 0F */ li r5, 0xf
/* 8036B7C4 00368724 38 83 F8 40 */ addi r4, r3, lbl_803EF840@l
/* 8036B7C8 00368728 7F 43 D3 78 */ mr r3, r26
/* 8036B7CC 0036872C 48 00 04 39 */ bl quan__FiPsi
/* 8036B7D0 00368730 7C 64 07 34 */ extsh r4, r3
/* 8036B7D4 00368734 57 40 30 32 */ slwi r0, r26, 6
/* 8036B7D8 00368738 7C 03 26 30 */ sraw r3, r0, r4
/* 8036B7DC 0036873C 54 84 30 32 */ slwi r4, r4, 6
/* 8036B7E0 00368740 38 03 FC 00 */ addi r0, r3, -1024
/* 8036B7E4 00368744 7C 04 02 14 */ add r0, r4, r0
/* 8036B7E8 00368748 B0 1C 00 2C */ sth r0, 0x2c(r28)
/* 8036B7EC 0036874C 48 00 00 0C */ b lbl_8036B7F8
lbl_8036B7F0:
/* 8036B7F0 00368750 38 00 FC 20 */ li r0, -992
/* 8036B7F4 00368754 B0 1C 00 2C */ sth r0, 0x2c(r28)
lbl_8036B7F8:
/* 8036B7F8 00368758 A8 7C 00 1C */ lha r3, 0x1c(r28)
/* 8036B7FC 0036875C 7F C0 07 74 */ extsb r0, r30
/* 8036B800 00368760 2C 00 00 01 */ cmpwi r0, 1
/* 8036B804 00368764 B0 7C 00 1E */ sth r3, 0x1e(r28)
/* 8036B808 00368768 B3 BC 00 1C */ sth r29, 0x1c(r28)
/* 8036B80C 0036876C 40 82 00 10 */ bne lbl_8036B81C
/* 8036B810 00368770 38 00 00 00 */ li r0, 0
/* 8036B814 00368774 98 1C 00 30 */ stb r0, 0x30(r28)
/* 8036B818 00368778 48 00 00 24 */ b lbl_8036B83C
lbl_8036B81C:
/* 8036B81C 0036877C 7F E0 07 34 */ extsh r0, r31
/* 8036B820 00368780 2C 00 D2 00 */ cmpwi r0, -11776
/* 8036B824 00368784 40 80 00 10 */ bge lbl_8036B834
/* 8036B828 00368788 38 00 00 01 */ li r0, 1
/* 8036B82C 0036878C 98 1C 00 30 */ stb r0, 0x30(r28)
/* 8036B830 00368790 48 00 00 0C */ b lbl_8036B83C
lbl_8036B834:
/* 8036B834 00368794 38 00 00 00 */ li r0, 0
/* 8036B838 00368798 98 1C 00 30 */ stb r0, 0x30(r28)
lbl_8036B83C:
/* 8036B83C 0036879C A8 BC 00 06 */ lha r5, 6(r28)
/* 8036B840 003687A0 7F C0 07 74 */ extsb r0, r30
/* 8036B844 003687A4 2C 00 00 01 */ cmpwi r0, 1
/* 8036B848 003687A8 57 23 10 3A */ slwi r3, r25, 2
/* 8036B84C 003687AC 7C 85 C8 50 */ subf r4, r5, r25
/* 8036B850 003687B0 7C 80 2E 70 */ srawi r0, r4, 5
/* 8036B854 003687B4 7C 05 02 14 */ add r0, r5, r0
/* 8036B858 003687B8 B0 1C 00 06 */ sth r0, 6(r28)
/* 8036B85C 003687BC A8 9C 00 08 */ lha r4, 8(r28)
/* 8036B860 003687C0 7C 04 18 50 */ subf r0, r4, r3
/* 8036B864 003687C4 7C 00 3E 70 */ srawi r0, r0, 7
/* 8036B868 003687C8 7C 04 02 14 */ add r0, r4, r0
/* 8036B86C 003687CC B0 1C 00 08 */ sth r0, 8(r28)
/* 8036B870 003687D0 40 82 00 10 */ bne lbl_8036B880
/* 8036B874 003687D4 38 00 01 00 */ li r0, 0x100
/* 8036B878 003687D8 B0 1C 00 0A */ sth r0, 0xa(r28)
/* 8036B87C 003687DC 48 00 00 98 */ b lbl_8036B914
lbl_8036B880:
/* 8036B880 003687E0 2C 18 06 00 */ cmpwi r24, 0x600
/* 8036B884 003687E4 40 80 00 1C */ bge lbl_8036B8A0
/* 8036B888 003687E8 A8 7C 00 0A */ lha r3, 0xa(r28)
/* 8036B88C 003687EC 20 03 02 00 */ subfic r0, r3, 0x200
/* 8036B890 003687F0 7C 00 26 70 */ srawi r0, r0, 4
/* 8036B894 003687F4 7C 03 02 14 */ add r0, r3, r0
/* 8036B898 003687F8 B0 1C 00 0A */ sth r0, 0xa(r28)
/* 8036B89C 003687FC 48 00 00 78 */ b lbl_8036B914
lbl_8036B8A0:
/* 8036B8A0 00368800 88 1C 00 30 */ lbz r0, 0x30(r28)
/* 8036B8A4 00368804 2C 00 00 01 */ cmpwi r0, 1
/* 8036B8A8 00368808 40 82 00 1C */ bne lbl_8036B8C4
/* 8036B8AC 0036880C A8 7C 00 0A */ lha r3, 0xa(r28)
/* 8036B8B0 00368810 20 03 02 00 */ subfic r0, r3, 0x200
/* 8036B8B4 00368814 7C 00 26 70 */ srawi r0, r0, 4
/* 8036B8B8 00368818 7C 03 02 14 */ add r0, r3, r0
/* 8036B8BC 0036881C B0 1C 00 0A */ sth r0, 0xa(r28)
/* 8036B8C0 00368820 48 00 00 54 */ b lbl_8036B914
lbl_8036B8C4:
/* 8036B8C4 00368824 A8 1C 00 06 */ lha r0, 6(r28)
/* 8036B8C8 00368828 A8 7C 00 08 */ lha r3, 8(r28)
/* 8036B8CC 0036882C 54 00 10 3A */ slwi r0, r0, 2
/* 8036B8D0 00368830 7C 63 00 50 */ subf r3, r3, r0
/* 8036B8D4 00368834 48 02 15 49 */ bl abs
/* 8036B8D8 00368838 A8 1C 00 08 */ lha r0, 8(r28)
/* 8036B8DC 0036883C 7C 00 1E 70 */ srawi r0, r0, 3
/* 8036B8E0 00368840 7C 03 00 00 */ cmpw r3, r0
/* 8036B8E4 00368844 41 80 00 1C */ blt lbl_8036B900
/* 8036B8E8 00368848 A8 7C 00 0A */ lha r3, 0xa(r28)
/* 8036B8EC 0036884C 20 03 02 00 */ subfic r0, r3, 0x200
/* 8036B8F0 00368850 7C 00 26 70 */ srawi r0, r0, 4
/* 8036B8F4 00368854 7C 03 02 14 */ add r0, r3, r0
/* 8036B8F8 00368858 B0 1C 00 0A */ sth r0, 0xa(r28)
/* 8036B8FC 0036885C 48 00 00 18 */ b lbl_8036B914
lbl_8036B900:
/* 8036B900 00368860 A8 7C 00 0A */ lha r3, 0xa(r28)
/* 8036B904 00368864 7C 03 00 D0 */ neg r0, r3
/* 8036B908 00368868 7C 00 26 70 */ srawi r0, r0, 4
/* 8036B90C 0036886C 7C 03 02 14 */ add r0, r3, r0
/* 8036B910 00368870 B0 1C 00 0A */ sth r0, 0xa(r28)
lbl_8036B914:
/* 8036B914 00368874 BA E1 00 0C */ lmw r23, 0xc(r1)
/* 8036B918 00368878 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8036B91C 0036887C 7C 08 03 A6 */ mtlr r0
/* 8036B920 00368880 38 21 00 30 */ addi r1, r1, 0x30
/* 8036B924 00368884 4E 80 00 20 */ blr
.global reconstruct__Fiii
reconstruct__Fiii:
/* 8036B928 00368888 7C A0 16 70 */ srawi r0, r5, 2
/* 8036B92C 0036888C 7C 04 02 14 */ add r0, r4, r0
/* 8036B930 00368890 7C 00 07 35 */ extsh. r0, r0
/* 8036B934 00368894 40 80 00 1C */ bge lbl_8036B950
/* 8036B938 00368898 7C 83 00 D0 */ neg r4, r3
/* 8036B93C 0036889C 38 00 80 00 */ li r0, -32768
/* 8036B940 003688A0 7C 83 1B 78 */ or r3, r4, r3
/* 8036B944 003688A4 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 8036B948 003688A8 7C 03 18 38 */ and r3, r0, r3
/* 8036B94C 003688AC 4E 80 00 20 */ blr
lbl_8036B950:
/* 8036B950 003688B0 54 04 06 7E */ clrlwi r4, r0, 0x19
/* 8036B954 003688B4 54 00 CF 3E */ rlwinm r0, r0, 0x19, 0x1c, 0x1f
/* 8036B958 003688B8 38 84 00 80 */ addi r4, r4, 0x80
/* 8036B95C 003688BC 2C 03 00 00 */ cmpwi r3, 0
/* 8036B960 003688C0 7C 83 07 34 */ extsh r3, r4
/* 8036B964 003688C4 7C 00 07 34 */ extsh r0, r0
/* 8036B968 003688C8 54 63 38 30 */ slwi r3, r3, 7
/* 8036B96C 003688CC 20 00 00 0E */ subfic r0, r0, 0xe
/* 8036B970 003688D0 7C 60 06 30 */ sraw r0, r3, r0
/* 8036B974 003688D4 7C 03 07 34 */ extsh r3, r0
/* 8036B978 003688D8 4D 82 00 20 */ beqlr
/* 8036B97C 003688DC 38 63 80 00 */ addi r3, r3, -32768
/* 8036B980 003688E0 4E 80 00 20 */ blr
.global step_size__FP10g72x_state
step_size__FP10g72x_state:
/* 8036B984 003688E4 A8 A3 00 0A */ lha r5, 0xa(r3)
/* 8036B988 003688E8 2C 05 01 00 */ cmpwi r5, 0x100
/* 8036B98C 003688EC 41 80 00 0C */ blt lbl_8036B998
/* 8036B990 003688F0 A8 63 00 04 */ lha r3, 4(r3)
/* 8036B994 003688F4 4E 80 00 20 */ blr
lbl_8036B998:
/* 8036B998 003688F8 80 83 00 00 */ lwz r4, 0(r3)
/* 8036B99C 003688FC A8 03 00 04 */ lha r0, 4(r3)
/* 8036B9A0 00368900 7C 83 36 70 */ srawi r3, r4, 6
/* 8036B9A4 00368904 7C 03 00 51 */ subf. r0, r3, r0
/* 8036B9A8 00368908 7C A4 16 70 */ srawi r4, r5, 2
/* 8036B9AC 0036890C 40 81 00 14 */ ble lbl_8036B9C0
/* 8036B9B0 00368910 7C 00 21 D6 */ mullw r0, r0, r4
/* 8036B9B4 00368914 7C 00 36 70 */ srawi r0, r0, 6
/* 8036B9B8 00368918 7C 63 02 14 */ add r3, r3, r0
/* 8036B9BC 0036891C 4E 80 00 20 */ blr
lbl_8036B9C0:
/* 8036B9C0 00368920 4C 80 00 20 */ bgelr
/* 8036B9C4 00368924 7C 80 21 D6 */ mullw r4, r0, r4
/* 8036B9C8 00368928 38 04 00 3F */ addi r0, r4, 0x3f
/* 8036B9CC 0036892C 7C 00 36 70 */ srawi r0, r0, 6
/* 8036B9D0 00368930 7C 63 02 14 */ add r3, r3, r0
/* 8036B9D4 00368934 4E 80 00 20 */ blr
.global predictor_pole__FP10g72x_state
predictor_pole__FP10g72x_state:
/* 8036B9D8 00368938 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036B9DC 0036893C 7C 08 02 A6 */ mflr r0
/* 8036B9E0 00368940 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036B9E4 00368944 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036B9E8 00368948 93 C1 00 08 */ stw r30, 8(r1)
/* 8036B9EC 0036894C 7C 7E 1B 78 */ mr r30, r3
/* 8036B9F0 00368950 A8 03 00 0C */ lha r0, 0xc(r3)
/* 8036B9F4 00368954 A8 83 00 2C */ lha r4, 0x2c(r3)
/* 8036B9F8 00368958 7C 03 16 70 */ srawi r3, r0, 2
/* 8036B9FC 0036895C 48 00 01 29 */ bl fmult__Fii
/* 8036BA00 00368960 A8 1E 00 0E */ lha r0, 0xe(r30)
/* 8036BA04 00368964 7C 7F 1B 78 */ mr r31, r3
/* 8036BA08 00368968 A8 9E 00 2E */ lha r4, 0x2e(r30)
/* 8036BA0C 0036896C 7C 03 16 70 */ srawi r3, r0, 2
/* 8036BA10 00368970 48 00 01 15 */ bl fmult__Fii
/* 8036BA14 00368974 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036BA18 00368978 7C 63 FA 14 */ add r3, r3, r31
/* 8036BA1C 0036897C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036BA20 00368980 83 C1 00 08 */ lwz r30, 8(r1)
/* 8036BA24 00368984 7C 08 03 A6 */ mtlr r0
/* 8036BA28 00368988 38 21 00 10 */ addi r1, r1, 0x10
/* 8036BA2C 0036898C 4E 80 00 20 */ blr
.global predictor_zero__FP10g72x_state
predictor_zero__FP10g72x_state:
/* 8036BA30 00368990 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036BA34 00368994 7C 08 02 A6 */ mflr r0
/* 8036BA38 00368998 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036BA3C 0036899C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036BA40 003689A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036BA44 003689A4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036BA48 003689A8 7C 7D 1B 78 */ mr r29, r3
/* 8036BA4C 003689AC A8 03 00 10 */ lha r0, 0x10(r3)
/* 8036BA50 003689B0 A8 83 00 20 */ lha r4, 0x20(r3)
/* 8036BA54 003689B4 7C 03 16 70 */ srawi r3, r0, 2
/* 8036BA58 003689B8 48 00 00 CD */ bl fmult__Fii
/* 8036BA5C 003689BC 3B FD 00 02 */ addi r31, r29, 2
/* 8036BA60 003689C0 7C 7D 1B 78 */ mr r29, r3
/* 8036BA64 003689C4 3B C0 00 01 */ li r30, 1
lbl_8036BA68:
/* 8036BA68 003689C8 A8 1F 00 10 */ lha r0, 0x10(r31)
/* 8036BA6C 003689CC A8 9F 00 20 */ lha r4, 0x20(r31)
/* 8036BA70 003689D0 7C 03 16 70 */ srawi r3, r0, 2
/* 8036BA74 003689D4 48 00 00 B1 */ bl fmult__Fii
/* 8036BA78 003689D8 3B DE 00 01 */ addi r30, r30, 1
/* 8036BA7C 003689DC 7F BD 1A 14 */ add r29, r29, r3
/* 8036BA80 003689E0 2C 1E 00 06 */ cmpwi r30, 6
/* 8036BA84 003689E4 3B FF 00 02 */ addi r31, r31, 2
/* 8036BA88 003689E8 41 80 FF E0 */ blt lbl_8036BA68
/* 8036BA8C 003689EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036BA90 003689F0 7F A3 EB 78 */ mr r3, r29
/* 8036BA94 003689F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036BA98 003689F8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036BA9C 003689FC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036BAA0 00368A00 7C 08 03 A6 */ mtlr r0
/* 8036BAA4 00368A04 38 21 00 20 */ addi r1, r1, 0x20
/* 8036BAA8 00368A08 4E 80 00 20 */ blr
.global g72x_init_state__FP10g72x_state
g72x_init_state__FP10g72x_state:
/* 8036BAAC 00368A0C 3C 80 00 01 */ lis r4, 0x00008800@ha
/* 8036BAB0 00368A10 38 A0 02 20 */ li r5, 0x220
/* 8036BAB4 00368A14 38 04 88 00 */ addi r0, r4, 0x00008800@l
/* 8036BAB8 00368A18 38 80 00 00 */ li r4, 0
/* 8036BABC 00368A1C 90 03 00 00 */ stw r0, 0(r3)
/* 8036BAC0 00368A20 38 00 00 20 */ li r0, 0x20
/* 8036BAC4 00368A24 B0 A3 00 04 */ sth r5, 4(r3)
/* 8036BAC8 00368A28 B0 83 00 06 */ sth r4, 6(r3)
/* 8036BACC 00368A2C B0 83 00 08 */ sth r4, 8(r3)
/* 8036BAD0 00368A30 B0 83 00 0A */ sth r4, 0xa(r3)
/* 8036BAD4 00368A34 B0 83 00 0C */ sth r4, 0xc(r3)
/* 8036BAD8 00368A38 B0 83 00 1C */ sth r4, 0x1c(r3)
/* 8036BADC 00368A3C B0 03 00 2C */ sth r0, 0x2c(r3)
/* 8036BAE0 00368A40 B0 83 00 0E */ sth r4, 0xe(r3)
/* 8036BAE4 00368A44 B0 83 00 1E */ sth r4, 0x1e(r3)
/* 8036BAE8 00368A48 B0 03 00 2E */ sth r0, 0x2e(r3)
/* 8036BAEC 00368A4C B0 83 00 10 */ sth r4, 0x10(r3)
/* 8036BAF0 00368A50 B0 03 00 20 */ sth r0, 0x20(r3)
/* 8036BAF4 00368A54 B0 83 00 12 */ sth r4, 0x12(r3)
/* 8036BAF8 00368A58 B0 03 00 22 */ sth r0, 0x22(r3)
/* 8036BAFC 00368A5C B0 83 00 14 */ sth r4, 0x14(r3)
/* 8036BB00 00368A60 B0 03 00 24 */ sth r0, 0x24(r3)
/* 8036BB04 00368A64 B0 83 00 16 */ sth r4, 0x16(r3)
/* 8036BB08 00368A68 B0 03 00 26 */ sth r0, 0x26(r3)
/* 8036BB0C 00368A6C B0 83 00 18 */ sth r4, 0x18(r3)
/* 8036BB10 00368A70 B0 03 00 28 */ sth r0, 0x28(r3)
/* 8036BB14 00368A74 B0 83 00 1A */ sth r4, 0x1a(r3)
/* 8036BB18 00368A78 B0 03 00 2A */ sth r0, 0x2a(r3)
/* 8036BB1C 00368A7C 98 83 00 30 */ stb r4, 0x30(r3)
/* 8036BB20 00368A80 4E 80 00 20 */ blr
.global fmult__Fii
fmult__Fii:
/* 8036BB24 00368A84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036BB28 00368A88 7C 08 02 A6 */ mflr r0
/* 8036BB2C 00368A8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036BB30 00368A90 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036BB34 00368A94 7C 9F 23 78 */ mr r31, r4
/* 8036BB38 00368A98 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036BB3C 00368A9C 7C 7E 1B 79 */ or. r30, r3, r3
/* 8036BB40 00368AA0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036BB44 00368AA4 7C 1E 00 D0 */ neg r0, r30
/* 8036BB48 00368AA8 54 00 04 FE */ clrlwi r0, r0, 0x13
/* 8036BB4C 00368AAC 40 81 00 08 */ ble lbl_8036BB54
/* 8036BB50 00368AB0 7F C0 F3 78 */ mr r0, r30
lbl_8036BB54:
/* 8036BB54 00368AB4 3C 60 80 3F */ lis r3, lbl_803EF840@ha
/* 8036BB58 00368AB8 7C 1D 07 34 */ extsh r29, r0
/* 8036BB5C 00368ABC 38 83 F8 40 */ addi r4, r3, lbl_803EF840@l
/* 8036BB60 00368AC0 38 A0 00 0F */ li r5, 0xf
/* 8036BB64 00368AC4 7F A3 EB 78 */ mr r3, r29
/* 8036BB68 00368AC8 48 00 00 9D */ bl quan__FiPsi
/* 8036BB6C 00368ACC 7F A0 07 35 */ extsh. r0, r29
/* 8036BB70 00368AD0 38 03 FF FA */ addi r0, r3, -6
/* 8036BB74 00368AD4 7C 05 07 34 */ extsh r5, r0
/* 8036BB78 00368AD8 40 82 00 0C */ bne lbl_8036BB84
/* 8036BB7C 00368ADC 38 00 00 20 */ li r0, 0x20
/* 8036BB80 00368AE0 48 00 00 18 */ b lbl_8036BB98
lbl_8036BB84:
/* 8036BB84 00368AE4 7C A0 07 35 */ extsh. r0, r5
/* 8036BB88 00368AE8 7C 05 00 D0 */ neg r0, r5
/* 8036BB8C 00368AEC 7F A0 00 30 */ slw r0, r29, r0
/* 8036BB90 00368AF0 41 80 00 08 */ blt lbl_8036BB98
/* 8036BB94 00368AF4 7F A0 2E 30 */ sraw r0, r29, r5
lbl_8036BB98:
/* 8036BB98 00368AF8 7C 03 07 34 */ extsh r3, r0
/* 8036BB9C 00368AFC 57 E0 06 BE */ clrlwi r0, r31, 0x1a
/* 8036BBA0 00368B00 7C 60 19 D6 */ mullw r3, r0, r3
/* 8036BBA4 00368B04 57 E4 D7 3E */ rlwinm r4, r31, 0x1a, 0x1c, 0x1f
/* 8036BBA8 00368B08 38 04 FF F3 */ addi r0, r4, -13
/* 8036BBAC 00368B0C 7C 05 02 14 */ add r0, r5, r0
/* 8036BBB0 00368B10 7C 04 07 35 */ extsh. r4, r0
/* 8036BBB4 00368B14 38 03 00 30 */ addi r0, r3, 0x30
/* 8036BBB8 00368B18 7C 00 26 70 */ srawi r0, r0, 4
/* 8036BBBC 00368B1C 7C 05 07 34 */ extsh r5, r0
/* 8036BBC0 00368B20 7C 04 00 D0 */ neg r0, r4
/* 8036BBC4 00368B24 7C A3 06 30 */ sraw r3, r5, r0
/* 8036BBC8 00368B28 41 80 00 0C */ blt lbl_8036BBD4
/* 8036BBCC 00368B2C 7C A0 20 30 */ slw r0, r5, r4
/* 8036BBD0 00368B30 54 03 04 7E */ clrlwi r3, r0, 0x11
lbl_8036BBD4:
/* 8036BBD4 00368B34 7F C0 FA 79 */ xor. r0, r30, r31
/* 8036BBD8 00368B38 7C 60 07 34 */ extsh r0, r3
/* 8036BBDC 00368B3C 7C 03 03 78 */ mr r3, r0
/* 8036BBE0 00368B40 40 80 00 08 */ bge lbl_8036BBE8
/* 8036BBE4 00368B44 7C 60 00 D0 */ neg r3, r0
lbl_8036BBE8:
/* 8036BBE8 00368B48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036BBEC 00368B4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036BBF0 00368B50 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036BBF4 00368B54 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036BBF8 00368B58 7C 08 03 A6 */ mtlr r0
/* 8036BBFC 00368B5C 38 21 00 20 */ addi r1, r1, 0x20
/* 8036BC00 00368B60 4E 80 00 20 */ blr
.global quan__FiPsi
quan__FiPsi:
/* 8036BC04 00368B64 38 C0 00 00 */ li r6, 0
/* 8036BC08 00368B68 7C A9 03 A6 */ mtctr r5
/* 8036BC0C 00368B6C 2C 05 00 00 */ cmpwi r5, 0
/* 8036BC10 00368B70 40 81 00 1C */ ble lbl_8036BC2C
lbl_8036BC14:
/* 8036BC14 00368B74 A8 04 00 00 */ lha r0, 0(r4)
/* 8036BC18 00368B78 38 84 00 02 */ addi r4, r4, 2
/* 8036BC1C 00368B7C 7C 03 00 00 */ cmpw r3, r0
/* 8036BC20 00368B80 41 80 00 0C */ blt lbl_8036BC2C
/* 8036BC24 00368B84 38 C6 00 01 */ addi r6, r6, 1
/* 8036BC28 00368B88 42 00 FF EC */ bdnz lbl_8036BC14
lbl_8036BC2C:
/* 8036BC2C 00368B8C 7C C3 33 78 */ mr r3, r6
/* 8036BC30 00368B90 4E 80 00 20 */ blr

738
asm/Kyoto/CARAMManager.s Normal file
View File

@ -0,0 +1,738 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global CollectGarbage__12CARAMManagerFv
CollectGarbage__12CARAMManagerFv:
/* 803445E8 00341548 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803445EC 0034154C 7C 08 02 A6 */ mflr r0
/* 803445F0 00341550 90 01 00 14 */ stw r0, 0x14(r1)
/* 803445F4 00341554 48 00 00 15 */ bl RefreshActiveDMAList__12CARAMManagerFv
/* 803445F8 00341558 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803445FC 0034155C 7C 08 03 A6 */ mtlr r0
/* 80344600 00341560 38 21 00 10 */ addi r1, r1, 0x10
/* 80344604 00341564 4E 80 00 20 */ blr
.global RefreshActiveDMAList__12CARAMManagerFv
RefreshActiveDMAList__12CARAMManagerFv:
/* 80344608 00341568 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034460C 0034156C 7C 08 02 A6 */ mflr r0
/* 80344610 00341570 3C 60 80 5A */ lis r3, lbl_805A679C@ha
/* 80344614 00341574 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344618 00341578 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034461C 0034157C 3B E3 67 9C */ addi r31, r3, lbl_805A679C@l
/* 80344620 00341580 93 C1 00 08 */ stw r30, 8(r1)
/* 80344624 00341584 83 DF 00 04 */ lwz r30, 4(r31)
/* 80344628 00341588 48 00 00 30 */ b lbl_80344658
lbl_8034462C:
/* 8034462C 0034158C 80 7E 00 08 */ lwz r3, 8(r30)
/* 80344630 00341590 88 03 00 24 */ lbz r0, 0x24(r3)
/* 80344634 00341594 28 00 00 00 */ cmplwi r0, 0
/* 80344638 00341598 41 82 00 1C */ beq lbl_80344654
/* 8034463C 0034159C 4B FD 12 F5 */ bl Free__7CMemoryFPCv
/* 80344640 003415A0 7F E3 FB 78 */ mr r3, r31
/* 80344644 003415A4 7F C4 F3 78 */ mr r4, r30
/* 80344648 003415A8 48 00 08 3D */ bl sub_80344e84
/* 8034464C 003415AC 7C 7E 1B 78 */ mr r30, r3
/* 80344650 003415B0 48 00 00 08 */ b lbl_80344658
lbl_80344654:
/* 80344654 003415B4 83 DE 00 04 */ lwz r30, 4(r30)
lbl_80344658:
/* 80344658 003415B8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8034465C 003415BC 7C 1E 00 40 */ cmplw r30, r0
/* 80344660 003415C0 40 82 FF CC */ bne lbl_8034462C
/* 80344664 003415C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344668 003415C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034466C 003415CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80344670 003415D0 7C 08 03 A6 */ mtlr r0
/* 80344674 003415D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80344678 003415D8 4E 80 00 20 */ blr
.global AramManagerDMACallback__12CARAMManagerFUl
AramManagerDMACallback__12CARAMManagerFUl:
/* 8034467C 003415DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80344680 003415E0 7C 08 02 A6 */ mflr r0
/* 80344684 003415E4 7C 64 1B 78 */ mr r4, r3
/* 80344688 003415E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034468C 003415EC 38 00 00 01 */ li r0, 1
/* 80344690 003415F0 98 03 00 24 */ stb r0, 0x24(r3)
/* 80344694 003415F4 80 03 00 08 */ lwz r0, 8(r3)
/* 80344698 003415F8 28 00 00 01 */ cmplwi r0, 1
/* 8034469C 003415FC 40 82 00 10 */ bne lbl_803446AC
/* 803446A0 00341600 80 64 00 14 */ lwz r3, 0x14(r4)
/* 803446A4 00341604 80 84 00 18 */ lwz r4, 0x18(r4)
/* 803446A8 00341608 48 03 A3 DD */ bl DCInvalidateRange
lbl_803446AC:
/* 803446AC 0034160C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803446B0 00341610 7C 08 03 A6 */ mtlr r0
/* 803446B4 00341614 38 21 00 10 */ addi r1, r1, 0x10
/* 803446B8 00341618 4E 80 00 20 */ blr
.global CancelDMA__12CARAMManagerFUi
CancelDMA__12CARAMManagerFUi:
/* 803446BC 0034161C 3C 80 80 5A */ lis r4, lbl_805A679C@ha
/* 803446C0 00341620 38 84 67 9C */ addi r4, r4, lbl_805A679C@l
/* 803446C4 00341624 80 A4 00 04 */ lwz r5, 4(r4)
/* 803446C8 00341628 80 84 00 08 */ lwz r4, 8(r4)
/* 803446CC 0034162C 48 00 00 2C */ b lbl_803446F8
lbl_803446D0:
/* 803446D0 00341630 80 C5 00 08 */ lwz r6, 8(r5)
/* 803446D4 00341634 80 06 00 20 */ lwz r0, 0x20(r6)
/* 803446D8 00341638 7C 00 18 40 */ cmplw r0, r3
/* 803446DC 0034163C 40 82 00 18 */ bne lbl_803446F4
/* 803446E0 00341640 88 66 00 24 */ lbz r3, 0x24(r6)
/* 803446E4 00341644 7C 03 00 D0 */ neg r0, r3
/* 803446E8 00341648 7C 00 1B 78 */ or r0, r0, r3
/* 803446EC 0034164C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 803446F0 00341650 4E 80 00 20 */ blr
lbl_803446F4:
/* 803446F4 00341654 80 A5 00 04 */ lwz r5, 4(r5)
lbl_803446F8:
/* 803446F8 00341658 7C 05 20 40 */ cmplw r5, r4
/* 803446FC 0034165C 40 82 FF D4 */ bne lbl_803446D0
/* 80344700 00341660 38 60 00 01 */ li r3, 1
/* 80344704 00341664 4E 80 00 20 */ blr
.global WaitForAllDMAsToComplete__12CARAMManagerFv
WaitForAllDMAsToComplete__12CARAMManagerFv:
/* 80344708 00341668 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034470C 0034166C 7C 08 02 A6 */ mflr r0
/* 80344710 00341670 3C 60 80 5A */ lis r3, lbl_805A679C@ha
/* 80344714 00341674 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344718 00341678 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034471C 0034167C 3B E3 67 9C */ addi r31, r3, lbl_805A679C@l
/* 80344720 00341680 48 00 00 08 */ b lbl_80344728
lbl_80344724:
/* 80344724 00341684 4B FF FE E5 */ bl RefreshActiveDMAList__12CARAMManagerFv
lbl_80344728:
/* 80344728 00341688 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8034472C 0034168C 2C 00 00 00 */ cmpwi r0, 0
/* 80344730 00341690 41 81 FF F4 */ bgt lbl_80344724
/* 80344734 00341694 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344738 00341698 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034473C 0034169C 7C 08 03 A6 */ mtlr r0
/* 80344740 003416A0 38 21 00 10 */ addi r1, r1, 0x10
/* 80344744 003416A4 4E 80 00 20 */ blr
.global WaitForDMACompletion__12CARAMManagerFUi
WaitForDMACompletion__12CARAMManagerFUi:
/* 80344748 003416A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034474C 003416AC 7C 08 02 A6 */ mflr r0
/* 80344750 003416B0 3C 80 80 5A */ lis r4, lbl_805A679C@ha
/* 80344754 003416B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344758 003416B8 38 84 67 9C */ addi r4, r4, lbl_805A679C@l
/* 8034475C 003416BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80344760 003416C0 83 E4 00 04 */ lwz r31, 4(r4)
/* 80344764 003416C4 80 84 00 08 */ lwz r4, 8(r4)
/* 80344768 003416C8 48 00 00 40 */ b lbl_803447A8
lbl_8034476C:
/* 8034476C 003416CC 80 BF 00 08 */ lwz r5, 8(r31)
/* 80344770 003416D0 80 05 00 20 */ lwz r0, 0x20(r5)
/* 80344774 003416D4 7C 00 18 40 */ cmplw r0, r3
/* 80344778 003416D8 40 82 00 2C */ bne lbl_803447A4
lbl_8034477C:
/* 8034477C 003416DC 88 05 00 24 */ lbz r0, 0x24(r5)
/* 80344780 003416E0 28 00 00 00 */ cmplwi r0, 0
/* 80344784 003416E4 41 82 FF F8 */ beq lbl_8034477C
/* 80344788 003416E8 7C A3 2B 78 */ mr r3, r5
/* 8034478C 003416EC 4B FD 11 A5 */ bl Free__7CMemoryFPCv
/* 80344790 003416F0 3C 60 80 5A */ lis r3, lbl_805A679C@ha
/* 80344794 003416F4 7F E4 FB 78 */ mr r4, r31
/* 80344798 003416F8 38 63 67 9C */ addi r3, r3, lbl_805A679C@l
/* 8034479C 003416FC 48 00 06 E9 */ bl sub_80344e84
/* 803447A0 00341700 48 00 00 10 */ b lbl_803447B0
lbl_803447A4:
/* 803447A4 00341704 83 FF 00 04 */ lwz r31, 4(r31)
lbl_803447A8:
/* 803447A8 00341708 7C 1F 20 40 */ cmplw r31, r4
/* 803447AC 0034170C 40 82 FF C0 */ bne lbl_8034476C
lbl_803447B0:
/* 803447B0 00341710 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803447B4 00341714 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803447B8 00341718 7C 08 03 A6 */ mtlr r0
/* 803447BC 0034171C 38 21 00 10 */ addi r1, r1, 0x10
/* 803447C0 00341720 4E 80 00 20 */ blr
.global IsDMACompleted__12CARAMManagerFUi
IsDMACompleted__12CARAMManagerFUi:
/* 803447C4 00341724 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803447C8 00341728 7C 08 02 A6 */ mflr r0
/* 803447CC 0034172C 3C 80 80 5A */ lis r4, lbl_805A679C@ha
/* 803447D0 00341730 90 01 00 14 */ stw r0, 0x14(r1)
/* 803447D4 00341734 38 84 67 9C */ addi r4, r4, lbl_805A679C@l
/* 803447D8 00341738 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803447DC 0034173C 83 E4 00 04 */ lwz r31, 4(r4)
/* 803447E0 00341740 80 84 00 08 */ lwz r4, 8(r4)
/* 803447E4 00341744 48 00 00 4C */ b lbl_80344830
lbl_803447E8:
/* 803447E8 00341748 80 BF 00 08 */ lwz r5, 8(r31)
/* 803447EC 0034174C 80 05 00 20 */ lwz r0, 0x20(r5)
/* 803447F0 00341750 7C 00 18 40 */ cmplw r0, r3
/* 803447F4 00341754 40 82 00 38 */ bne lbl_8034482C
/* 803447F8 00341758 88 05 00 24 */ lbz r0, 0x24(r5)
/* 803447FC 0034175C 28 00 00 00 */ cmplwi r0, 0
/* 80344800 00341760 41 82 00 24 */ beq lbl_80344824
/* 80344804 00341764 7C A3 2B 78 */ mr r3, r5
/* 80344808 00341768 4B FD 11 29 */ bl Free__7CMemoryFPCv
/* 8034480C 0034176C 3C 60 80 5A */ lis r3, lbl_805A679C@ha
/* 80344810 00341770 7F E4 FB 78 */ mr r4, r31
/* 80344814 00341774 38 63 67 9C */ addi r3, r3, lbl_805A679C@l
/* 80344818 00341778 48 00 06 6D */ bl sub_80344e84
/* 8034481C 0034177C 38 60 00 01 */ li r3, 1
/* 80344820 00341780 48 00 00 1C */ b lbl_8034483C
lbl_80344824:
/* 80344824 00341784 38 60 00 00 */ li r3, 0
/* 80344828 00341788 48 00 00 14 */ b lbl_8034483C
lbl_8034482C:
/* 8034482C 0034178C 83 FF 00 04 */ lwz r31, 4(r31)
lbl_80344830:
/* 80344830 00341790 7C 1F 20 40 */ cmplw r31, r4
/* 80344834 00341794 40 82 FF B4 */ bne lbl_803447E8
/* 80344838 00341798 38 60 00 01 */ li r3, 1
lbl_8034483C:
/* 8034483C 0034179C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344840 003417A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80344844 003417A4 7C 08 03 A6 */ mtlr r0
/* 80344848 003417A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8034484C 003417AC 4E 80 00 20 */ blr
.global DMAToMRAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
DMAToMRAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority:
/* 80344850 003417B0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80344854 003417B4 7C 08 02 A6 */ mflr r0
/* 80344858 003417B8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8034485C 003417BC BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80344860 003417C0 7C 9C 23 78 */ mr r28, r4
/* 80344864 003417C4 7C BF 2B 78 */ mr r31, r5
/* 80344868 003417C8 7C 7B 1B 78 */ mr r27, r3
/* 8034486C 003417CC 7C DD 33 78 */ mr r29, r6
/* 80344870 003417D0 7F 83 E3 78 */ mr r3, r28
/* 80344874 003417D4 7F E4 FB 78 */ mr r4, r31
/* 80344878 003417D8 48 03 A2 0D */ bl DCInvalidateRange
/* 8034487C 003417DC 3C 80 80 3D */ lis r4, lbl_803D7F50@ha
/* 80344880 003417E0 38 60 00 28 */ li r3, 0x28
/* 80344884 003417E4 38 84 7F 50 */ addi r4, r4, lbl_803D7F50@l
/* 80344888 003417E8 38 A0 00 00 */ li r5, 0
/* 8034488C 003417EC 4B FD 0F E1 */ bl __nw__FUlPCcPCc
/* 80344890 003417F0 38 00 00 00 */ li r0, 0
/* 80344894 003417F4 3C A0 80 5A */ lis r5, lbl_805A679C@ha
/* 80344898 003417F8 98 03 00 24 */ stb r0, 0x24(r3)
/* 8034489C 003417FC 7C 7E 1B 78 */ mr r30, r3
/* 803448A0 00341800 38 C5 67 9C */ addi r6, r5, lbl_805A679C@l
/* 803448A4 00341804 3C 60 80 3D */ lis r3, lbl_803D7F50@ha
/* 803448A8 00341808 80 0D A9 74 */ lwz r0, lbl_805A9534@sda21(r13)
/* 803448AC 0034180C 38 83 7F 50 */ addi r4, r3, lbl_803D7F50@l
/* 803448B0 00341810 38 60 00 0C */ li r3, 0xc
/* 803448B4 00341814 38 A0 00 00 */ li r5, 0
/* 803448B8 00341818 90 1E 00 20 */ stw r0, 0x20(r30)
/* 803448BC 0034181C 83 46 00 08 */ lwz r26, 8(r6)
/* 803448C0 00341820 83 3A 00 00 */ lwz r25, 0(r26)
/* 803448C4 00341824 4B FD 0F 55 */ bl __nwa__FUlPCcPCc
/* 803448C8 00341828 28 03 00 00 */ cmplwi r3, 0
/* 803448CC 0034182C 41 82 00 0C */ beq lbl_803448D8
/* 803448D0 00341830 93 23 00 00 */ stw r25, 0(r3)
/* 803448D4 00341834 93 43 00 04 */ stw r26, 4(r3)
lbl_803448D8:
/* 803448D8 00341838 34 83 00 08 */ addic. r4, r3, 8
/* 803448DC 0034183C 41 82 00 08 */ beq lbl_803448E4
/* 803448E0 00341840 93 C4 00 00 */ stw r30, 0(r4)
lbl_803448E4:
/* 803448E4 00341844 3C 80 80 5A */ lis r4, lbl_805A679C@ha
/* 803448E8 00341848 38 84 67 9C */ addi r4, r4, lbl_805A679C@l
/* 803448EC 0034184C 80 04 00 04 */ lwz r0, 4(r4)
/* 803448F0 00341850 7C 1A 00 40 */ cmplw r26, r0
/* 803448F4 00341854 40 82 00 08 */ bne lbl_803448FC
/* 803448F8 00341858 90 64 00 04 */ stw r3, 4(r4)
lbl_803448FC:
/* 803448FC 0034185C 80 C3 00 00 */ lwz r6, 0(r3)
/* 80344900 00341860 3C 80 80 34 */ lis r4, AramManagerDMACallback__12CARAMManagerFUl@ha
/* 80344904 00341864 3C A0 80 5A */ lis r5, lbl_805A679C@ha
/* 80344908 00341868 20 1D 00 01 */ subfic r0, r29, 1
/* 8034490C 0034186C 90 66 00 04 */ stw r3, 4(r6)
/* 80344910 00341870 39 44 46 7C */ addi r10, r4, AramManagerDMACallback__12CARAMManagerFUl@l
/* 80344914 00341874 39 65 67 9C */ addi r11, r5, lbl_805A679C@l
/* 80344918 00341878 7C 00 00 34 */ cntlzw r0, r0
/* 8034491C 0034187C 80 83 00 04 */ lwz r4, 4(r3)
/* 80344920 00341880 54 06 D9 7E */ srwi r6, r0, 5
/* 80344924 00341884 7F 67 DB 78 */ mr r7, r27
/* 80344928 00341888 7F 88 E3 78 */ mr r8, r28
/* 8034492C 0034188C 90 64 00 00 */ stw r3, 0(r4)
/* 80344930 00341890 7F E9 FB 78 */ mr r9, r31
/* 80344934 00341894 7F C3 F3 78 */ mr r3, r30
/* 80344938 00341898 38 A0 00 01 */ li r5, 1
/* 8034493C 0034189C 80 8B 00 14 */ lwz r4, 0x14(r11)
/* 80344940 003418A0 38 04 00 01 */ addi r0, r4, 1
/* 80344944 003418A4 90 0B 00 14 */ stw r0, 0x14(r11)
/* 80344948 003418A8 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 8034494C 003418AC 48 02 AD 25 */ bl ARQPostRequest
/* 80344950 003418B0 80 6D A9 74 */ lwz r3, lbl_805A9534@sda21(r13)
/* 80344954 003418B4 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 80344958 003418B8 38 63 00 01 */ addi r3, r3, 1
/* 8034495C 003418BC 7C 03 00 40 */ cmplw r3, r0
/* 80344960 003418C0 90 6D A9 74 */ stw r3, lbl_805A9534@sda21(r13)
/* 80344964 003418C4 40 82 00 0C */ bne lbl_80344970
/* 80344968 003418C8 38 03 00 01 */ addi r0, r3, 1
/* 8034496C 003418CC 90 0D A9 74 */ stw r0, lbl_805A9534@sda21(r13)
lbl_80344970:
/* 80344970 003418D0 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80344974 003418D4 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80344978 003418D8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8034497C 003418DC 7C 08 03 A6 */ mtlr r0
/* 80344980 003418E0 38 21 00 30 */ addi r1, r1, 0x30
/* 80344984 003418E4 4E 80 00 20 */ blr
.global DMAToARAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
DMAToARAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority:
/* 80344988 003418E8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8034498C 003418EC 7C 08 02 A6 */ mflr r0
/* 80344990 003418F0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80344994 003418F4 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80344998 003418F8 7C BF 2B 78 */ mr r31, r5
/* 8034499C 003418FC 7C 9C 23 78 */ mr r28, r4
/* 803449A0 00341900 7C 7B 1B 78 */ mr r27, r3
/* 803449A4 00341904 7C DD 33 78 */ mr r29, r6
/* 803449A8 00341908 7F E4 FB 78 */ mr r4, r31
/* 803449AC 0034190C 48 03 A1 35 */ bl DCStoreRange
/* 803449B0 00341910 3C 80 80 3D */ lis r4, lbl_803D7F50@ha
/* 803449B4 00341914 38 60 00 28 */ li r3, 0x28
/* 803449B8 00341918 38 84 7F 50 */ addi r4, r4, lbl_803D7F50@l
/* 803449BC 0034191C 38 A0 00 00 */ li r5, 0
/* 803449C0 00341920 4B FD 0E AD */ bl __nw__FUlPCcPCc
/* 803449C4 00341924 38 00 00 00 */ li r0, 0
/* 803449C8 00341928 3C A0 80 5A */ lis r5, lbl_805A679C@ha
/* 803449CC 0034192C 98 03 00 24 */ stb r0, 0x24(r3)
/* 803449D0 00341930 7C 7E 1B 78 */ mr r30, r3
/* 803449D4 00341934 38 C5 67 9C */ addi r6, r5, lbl_805A679C@l
/* 803449D8 00341938 3C 60 80 3D */ lis r3, lbl_803D7F50@ha
/* 803449DC 0034193C 80 0D A9 74 */ lwz r0, lbl_805A9534@sda21(r13)
/* 803449E0 00341940 38 83 7F 50 */ addi r4, r3, lbl_803D7F50@l
/* 803449E4 00341944 38 60 00 0C */ li r3, 0xc
/* 803449E8 00341948 38 A0 00 00 */ li r5, 0
/* 803449EC 0034194C 90 1E 00 20 */ stw r0, 0x20(r30)
/* 803449F0 00341950 83 46 00 08 */ lwz r26, 8(r6)
/* 803449F4 00341954 83 3A 00 00 */ lwz r25, 0(r26)
/* 803449F8 00341958 4B FD 0E 21 */ bl __nwa__FUlPCcPCc
/* 803449FC 0034195C 28 03 00 00 */ cmplwi r3, 0
/* 80344A00 00341960 41 82 00 0C */ beq lbl_80344A0C
/* 80344A04 00341964 93 23 00 00 */ stw r25, 0(r3)
/* 80344A08 00341968 93 43 00 04 */ stw r26, 4(r3)
lbl_80344A0C:
/* 80344A0C 0034196C 34 83 00 08 */ addic. r4, r3, 8
/* 80344A10 00341970 41 82 00 08 */ beq lbl_80344A18
/* 80344A14 00341974 93 C4 00 00 */ stw r30, 0(r4)
lbl_80344A18:
/* 80344A18 00341978 3C 80 80 5A */ lis r4, lbl_805A679C@ha
/* 80344A1C 0034197C 38 84 67 9C */ addi r4, r4, lbl_805A679C@l
/* 80344A20 00341980 80 04 00 04 */ lwz r0, 4(r4)
/* 80344A24 00341984 7C 1A 00 40 */ cmplw r26, r0
/* 80344A28 00341988 40 82 00 08 */ bne lbl_80344A30
/* 80344A2C 0034198C 90 64 00 04 */ stw r3, 4(r4)
lbl_80344A30:
/* 80344A30 00341990 80 C3 00 00 */ lwz r6, 0(r3)
/* 80344A34 00341994 3C 80 80 34 */ lis r4, AramManagerDMACallback__12CARAMManagerFUl@ha
/* 80344A38 00341998 3C A0 80 5A */ lis r5, lbl_805A679C@ha
/* 80344A3C 0034199C 20 1D 00 01 */ subfic r0, r29, 1
/* 80344A40 003419A0 90 66 00 04 */ stw r3, 4(r6)
/* 80344A44 003419A4 39 44 46 7C */ addi r10, r4, AramManagerDMACallback__12CARAMManagerFUl@l
/* 80344A48 003419A8 39 65 67 9C */ addi r11, r5, lbl_805A679C@l
/* 80344A4C 003419AC 7C 00 00 34 */ cntlzw r0, r0
/* 80344A50 003419B0 80 83 00 04 */ lwz r4, 4(r3)
/* 80344A54 003419B4 54 06 D9 7E */ srwi r6, r0, 5
/* 80344A58 003419B8 7F 67 DB 78 */ mr r7, r27
/* 80344A5C 003419BC 7F 88 E3 78 */ mr r8, r28
/* 80344A60 003419C0 90 64 00 00 */ stw r3, 0(r4)
/* 80344A64 003419C4 7F E9 FB 78 */ mr r9, r31
/* 80344A68 003419C8 7F C3 F3 78 */ mr r3, r30
/* 80344A6C 003419CC 38 A0 00 00 */ li r5, 0
/* 80344A70 003419D0 80 8B 00 14 */ lwz r4, 0x14(r11)
/* 80344A74 003419D4 38 04 00 01 */ addi r0, r4, 1
/* 80344A78 003419D8 90 0B 00 14 */ stw r0, 0x14(r11)
/* 80344A7C 003419DC 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 80344A80 003419E0 48 02 AB F1 */ bl ARQPostRequest
/* 80344A84 003419E4 80 6D A9 74 */ lwz r3, lbl_805A9534@sda21(r13)
/* 80344A88 003419E8 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 80344A8C 003419EC 38 63 00 01 */ addi r3, r3, 1
/* 80344A90 003419F0 7C 03 00 40 */ cmplw r3, r0
/* 80344A94 003419F4 90 6D A9 74 */ stw r3, lbl_805A9534@sda21(r13)
/* 80344A98 003419F8 40 82 00 0C */ bne lbl_80344AA4
/* 80344A9C 003419FC 38 03 00 01 */ addi r0, r3, 1
/* 80344AA0 00341A00 90 0D A9 74 */ stw r0, lbl_805A9534@sda21(r13)
lbl_80344AA4:
/* 80344AA4 00341A04 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80344AA8 00341A08 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80344AAC 00341A0C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80344AB0 00341A10 7C 08 03 A6 */ mtlr r0
/* 80344AB4 00341A14 38 21 00 30 */ addi r1, r1, 0x30
/* 80344AB8 00341A18 4E 80 00 20 */ blr
.global Free__12CARAMManagerFPCv
Free__12CARAMManagerFPCv:
/* 80344ABC 00341A1C 80 02 CB A8 */ lwz r0, lbl_805AE8C8@sda21(r2)
/* 80344AC0 00341A20 7C 00 18 40 */ cmplw r0, r3
/* 80344AC4 00341A24 40 82 00 0C */ bne lbl_80344AD0
/* 80344AC8 00341A28 38 60 00 00 */ li r3, 0
/* 80344ACC 00341A2C 4E 80 00 20 */ blr
lbl_80344AD0:
/* 80344AD0 00341A30 80 8D A9 64 */ lwz r4, lbl_805A9524@sda21(r13)
/* 80344AD4 00341A34 38 A0 00 00 */ li r5, 0
/* 80344AD8 00341A38 80 0D A9 68 */ lwz r0, lbl_805A9528@sda21(r13)
/* 80344ADC 00341A3C 7C 84 18 50 */ subf r4, r4, r3
/* 80344AE0 00341A40 80 6D A9 70 */ lwz r3, lbl_805A9530@sda21(r13)
/* 80344AE4 00341A44 7C 84 03 96 */ divwu r4, r4, r0
/* 80344AE8 00341A48 80 0D A9 78 */ lwz r0, lbl_805A9538@sda21(r13)
/* 80344AEC 00341A4C 54 86 10 3A */ slwi r6, r4, 2
/* 80344AF0 00341A50 7C 63 30 2E */ lwzx r3, r3, r6
/* 80344AF4 00341A54 7C 03 00 50 */ subf r0, r3, r0
/* 80344AF8 00341A58 28 03 00 00 */ cmplwi r3, 0
/* 80344AFC 00341A5C 90 0D A9 78 */ stw r0, lbl_805A9538@sda21(r13)
/* 80344B00 00341A60 41 82 00 90 */ beq lbl_80344B90
/* 80344B04 00341A64 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 80344B08 00341A68 7C 09 03 A6 */ mtctr r0
/* 80344B0C 00341A6C 41 82 00 70 */ beq lbl_80344B7C
lbl_80344B10:
/* 80344B10 00341A70 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B14 00341A74 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B18 00341A78 38 C6 00 04 */ addi r6, r6, 4
/* 80344B1C 00341A7C 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B20 00341A80 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B24 00341A84 38 C6 00 04 */ addi r6, r6, 4
/* 80344B28 00341A88 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B2C 00341A8C 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B30 00341A90 38 C6 00 04 */ addi r6, r6, 4
/* 80344B34 00341A94 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B38 00341A98 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B3C 00341A9C 38 C6 00 04 */ addi r6, r6, 4
/* 80344B40 00341AA0 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B44 00341AA4 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B48 00341AA8 38 C6 00 04 */ addi r6, r6, 4
/* 80344B4C 00341AAC 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B50 00341AB0 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B54 00341AB4 38 C6 00 04 */ addi r6, r6, 4
/* 80344B58 00341AB8 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B5C 00341ABC 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B60 00341AC0 38 C6 00 04 */ addi r6, r6, 4
/* 80344B64 00341AC4 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B68 00341AC8 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B6C 00341ACC 38 C6 00 04 */ addi r6, r6, 4
/* 80344B70 00341AD0 42 00 FF A0 */ bdnz lbl_80344B10
/* 80344B74 00341AD4 70 63 00 07 */ andi. r3, r3, 7
/* 80344B78 00341AD8 41 82 00 18 */ beq lbl_80344B90
lbl_80344B7C:
/* 80344B7C 00341ADC 7C 69 03 A6 */ mtctr r3
lbl_80344B80:
/* 80344B80 00341AE0 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344B84 00341AE4 7C A4 31 2E */ stwx r5, r4, r6
/* 80344B88 00341AE8 38 C6 00 04 */ addi r6, r6, 4
/* 80344B8C 00341AEC 42 00 FF F4 */ bdnz lbl_80344B80
lbl_80344B90:
/* 80344B90 00341AF0 38 60 00 01 */ li r3, 1
/* 80344B94 00341AF4 4E 80 00 20 */ blr
.global FindFreeBlocks__12CARAMManagerFUiUiUi
FindFreeBlocks__12CARAMManagerFUiUiUi:
/* 80344B98 00341AF8 80 ED A9 70 */ lwz r7, lbl_805A9530@sda21(r13)
/* 80344B9C 00341AFC 48 00 00 7C */ b lbl_80344C18
lbl_80344BA0:
/* 80344BA0 00341B00 54 60 10 3A */ slwi r0, r3, 2
/* 80344BA4 00341B04 7C 07 00 2E */ lwzx r0, r7, r0
/* 80344BA8 00341B08 28 00 00 00 */ cmplwi r0, 0
/* 80344BAC 00341B0C 40 82 00 68 */ bne lbl_80344C14
/* 80344BB0 00341B10 28 05 00 01 */ cmplwi r5, 1
/* 80344BB4 00341B14 4D 82 00 20 */ beqlr
/* 80344BB8 00341B18 38 63 00 01 */ addi r3, r3, 1
/* 80344BBC 00341B1C 39 00 00 01 */ li r8, 1
/* 80344BC0 00341B20 54 66 10 3A */ slwi r6, r3, 2
/* 80344BC4 00341B24 7C 03 20 50 */ subf r0, r3, r4
/* 80344BC8 00341B28 7C C7 32 14 */ add r6, r7, r6
/* 80344BCC 00341B2C 7C 09 03 A6 */ mtctr r0
/* 80344BD0 00341B30 7C 03 20 40 */ cmplw r3, r4
/* 80344BD4 00341B34 40 80 00 44 */ bge lbl_80344C18
lbl_80344BD8:
/* 80344BD8 00341B38 80 06 00 00 */ lwz r0, 0(r6)
/* 80344BDC 00341B3C 28 00 00 00 */ cmplwi r0, 0
/* 80344BE0 00341B40 41 82 00 0C */ beq lbl_80344BEC
/* 80344BE4 00341B44 7C 63 02 14 */ add r3, r3, r0
/* 80344BE8 00341B48 48 00 00 30 */ b lbl_80344C18
lbl_80344BEC:
/* 80344BEC 00341B4C 39 08 00 01 */ addi r8, r8, 1
/* 80344BF0 00341B50 7C 08 28 40 */ cmplw r8, r5
/* 80344BF4 00341B54 40 82 00 10 */ bne lbl_80344C04
/* 80344BF8 00341B58 38 05 FF FF */ addi r0, r5, -1
/* 80344BFC 00341B5C 7C 60 18 50 */ subf r3, r0, r3
/* 80344C00 00341B60 4E 80 00 20 */ blr
lbl_80344C04:
/* 80344C04 00341B64 38 C6 00 04 */ addi r6, r6, 4
/* 80344C08 00341B68 38 63 00 01 */ addi r3, r3, 1
/* 80344C0C 00341B6C 42 00 FF CC */ bdnz lbl_80344BD8
/* 80344C10 00341B70 48 00 00 08 */ b lbl_80344C18
lbl_80344C14:
/* 80344C14 00341B74 7C 63 02 14 */ add r3, r3, r0
lbl_80344C18:
/* 80344C18 00341B78 7C 03 20 40 */ cmplw r3, r4
/* 80344C1C 00341B7C 41 80 FF 84 */ blt lbl_80344BA0
/* 80344C20 00341B80 38 60 FF FF */ li r3, -1
/* 80344C24 00341B84 4E 80 00 20 */ blr
.global Alloc__12CARAMManagerFUi
Alloc__12CARAMManagerFUi:
/* 80344C28 00341B88 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80344C2C 00341B8C 7C 08 02 A6 */ mflr r0
/* 80344C30 00341B90 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344C34 00341B94 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80344C38 00341B98 80 CD A9 68 */ lwz r6, lbl_805A9528@sda21(r13)
/* 80344C3C 00341B9C 80 8D A9 6C */ lwz r4, lbl_805A952C@sda21(r13)
/* 80344C40 00341BA0 7C A6 1A 14 */ add r5, r6, r3
/* 80344C44 00341BA4 38 60 00 00 */ li r3, 0
/* 80344C48 00341BA8 38 05 FF FF */ addi r0, r5, -1
/* 80344C4C 00341BAC 7F E0 33 96 */ divwu r31, r0, r6
/* 80344C50 00341BB0 7F E5 FB 78 */ mr r5, r31
/* 80344C54 00341BB4 4B FF FF 45 */ bl FindFreeBlocks__12CARAMManagerFUiUiUi
/* 80344C58 00341BB8 3C 03 00 01 */ addis r0, r3, 1
/* 80344C5C 00341BBC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80344C60 00341BC0 40 82 00 0C */ bne lbl_80344C6C
/* 80344C64 00341BC4 38 60 FF FF */ li r3, -1
/* 80344C68 00341BC8 48 00 00 48 */ b lbl_80344CB0
lbl_80344C6C:
/* 80344C6C 00341BCC 80 0D A9 68 */ lwz r0, lbl_805A9528@sda21(r13)
/* 80344C70 00341BD0 54 67 10 3A */ slwi r7, r3, 2
/* 80344C74 00341BD4 80 CD A9 78 */ lwz r6, lbl_805A9538@sda21(r13)
/* 80344C78 00341BD8 7C 83 01 D6 */ mullw r4, r3, r0
/* 80344C7C 00341BDC 80 AD A9 64 */ lwz r5, lbl_805A9524@sda21(r13)
/* 80344C80 00341BE0 7C 06 FA 14 */ add r0, r6, r31
/* 80344C84 00341BE4 80 6D A9 70 */ lwz r3, lbl_805A9530@sda21(r13)
/* 80344C88 00341BE8 90 0D A9 78 */ stw r0, lbl_805A9538@sda21(r13)
/* 80344C8C 00341BEC 38 00 FF FF */ li r0, -1
/* 80344C90 00341BF0 7F E3 39 2E */ stwx r31, r3, r7
/* 80344C94 00341BF4 7C 65 22 14 */ add r3, r5, r4
/* 80344C98 00341BF8 48 00 00 10 */ b lbl_80344CA8
lbl_80344C9C:
/* 80344C9C 00341BFC 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344CA0 00341C00 38 E7 00 04 */ addi r7, r7, 4
/* 80344CA4 00341C04 7C 04 39 2E */ stwx r0, r4, r7
lbl_80344CA8:
/* 80344CA8 00341C08 37 FF FF FF */ addic. r31, r31, -1
/* 80344CAC 00341C0C 40 82 FF F0 */ bne lbl_80344C9C
lbl_80344CB0:
/* 80344CB0 00341C10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344CB4 00341C14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80344CB8 00341C18 7C 08 03 A6 */ mtlr r0
/* 80344CBC 00341C1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80344CC0 00341C20 4E 80 00 20 */ blr
.global Shutdown__12CARAMManagerFv
Shutdown__12CARAMManagerFv:
/* 80344CC4 00341C24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80344CC8 00341C28 7C 08 02 A6 */ mflr r0
/* 80344CCC 00341C2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344CD0 00341C30 4B FF FA 39 */ bl WaitForAllDMAsToComplete__12CARAMManagerFv
/* 80344CD4 00341C34 80 6D A9 70 */ lwz r3, lbl_805A9530@sda21(r13)
/* 80344CD8 00341C38 4B FD 0C 59 */ bl Free__7CMemoryFPCv
/* 80344CDC 00341C3C 80 0D A9 6C */ lwz r0, lbl_805A952C@sda21(r13)
/* 80344CE0 00341C40 38 60 00 00 */ li r3, 0
/* 80344CE4 00341C44 90 61 00 08 */ stw r3, 8(r1)
/* 80344CE8 00341C48 7C 00 00 D0 */ neg r0, r0
/* 80344CEC 00341C4C 54 03 10 3A */ slwi r3, r0, 2
/* 80344CF0 00341C50 4B FD 0B D1 */ bl OffsetFakeStatics__7CMemoryFi
/* 80344CF4 00341C54 38 61 00 08 */ addi r3, r1, 8
/* 80344CF8 00341C58 48 02 8D 85 */ bl ARFree
/* 80344CFC 00341C5C 38 00 00 00 */ li r0, 0
/* 80344D00 00341C60 98 0D A9 60 */ stb r0, lbl_805A9520@sda21(r13)
/* 80344D04 00341C64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344D08 00341C68 7C 08 03 A6 */ mtlr r0
/* 80344D0C 00341C6C 38 21 00 10 */ addi r1, r1, 0x10
/* 80344D10 00341C70 4E 80 00 20 */ blr
.global Initialize__12CARAMManagerFUi
Initialize__12CARAMManagerFUi:
/* 80344D14 00341C74 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80344D18 00341C78 7C 08 02 A6 */ mflr r0
/* 80344D1C 00341C7C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80344D20 00341C80 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80344D24 00341C84 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80344D28 00341C88 7C 7E 1B 78 */ mr r30, r3
/* 80344D2C 00341C8C 48 02 8E 91 */ bl ARGetSize
/* 80344D30 00341C90 80 0D 9D 60 */ lwz r0, lbl_805A8920@sda21(r13)
/* 80344D34 00341C94 93 CD A9 68 */ stw r30, lbl_805A9528@sda21(r13)
/* 80344D38 00341C98 7C 00 18 50 */ subf r0, r0, r3
/* 80344D3C 00341C9C 7F E0 F3 96 */ divwu r31, r0, r30
/* 80344D40 00341CA0 7C 7E F9 D6 */ mullw r3, r30, r31
/* 80344D44 00341CA4 93 ED A9 6C */ stw r31, lbl_805A952C@sda21(r13)
/* 80344D48 00341CA8 48 02 8C CD */ bl ARAlloc
/* 80344D4C 00341CAC 3C A0 80 3D */ lis r5, lbl_803D7F50@ha
/* 80344D50 00341CB0 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha
/* 80344D54 00341CB4 90 6D A9 64 */ stw r3, lbl_805A9524@sda21(r13)
/* 80344D58 00341CB8 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l
/* 80344D5C 00341CBC 38 A5 7F 50 */ addi r5, r5, lbl_803D7F50@l
/* 80344D60 00341CC0 38 61 00 08 */ addi r3, r1, 8
/* 80344D64 00341CC4 38 80 FF FF */ li r4, -1
/* 80344D68 00341CC8 4B F9 16 6D */ bl __ct__10CCallStackFUiPCcPCc
/* 80344D6C 00341CCC 7C 67 1B 78 */ mr r7, r3
/* 80344D70 00341CD0 57 E3 10 3A */ slwi r3, r31, 2
/* 80344D74 00341CD4 38 80 00 00 */ li r4, 0
/* 80344D78 00341CD8 38 A0 00 01 */ li r5, 1
/* 80344D7C 00341CDC 38 C0 00 00 */ li r6, 0
/* 80344D80 00341CE0 4B FD 0C 15 */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 80344D84 00341CE4 80 0D A9 6C */ lwz r0, lbl_805A952C@sda21(r13)
/* 80344D88 00341CE8 90 6D A9 70 */ stw r3, lbl_805A9530@sda21(r13)
/* 80344D8C 00341CEC 54 03 10 3A */ slwi r3, r0, 2
/* 80344D90 00341CF0 4B FD 0B 31 */ bl OffsetFakeStatics__7CMemoryFi
/* 80344D94 00341CF4 28 1F 00 00 */ cmplwi r31, 0
/* 80344D98 00341CF8 39 80 00 00 */ li r12, 0
/* 80344D9C 00341CFC 40 81 00 BC */ ble lbl_80344E58
/* 80344DA0 00341D00 28 1F 00 08 */ cmplwi r31, 8
/* 80344DA4 00341D04 38 7F FF F8 */ addi r3, r31, -8
/* 80344DA8 00341D08 40 81 00 88 */ ble lbl_80344E30
/* 80344DAC 00341D0C 38 03 00 07 */ addi r0, r3, 7
/* 80344DB0 00341D10 39 60 00 00 */ li r11, 0
/* 80344DB4 00341D14 54 00 E8 FE */ srwi r0, r0, 3
/* 80344DB8 00341D18 7C 09 03 A6 */ mtctr r0
/* 80344DBC 00341D1C 28 03 00 00 */ cmplwi r3, 0
/* 80344DC0 00341D20 40 81 00 70 */ ble lbl_80344E30
lbl_80344DC4:
/* 80344DC4 00341D24 80 6D A9 70 */ lwz r3, lbl_805A9530@sda21(r13)
/* 80344DC8 00341D28 39 40 00 00 */ li r10, 0
/* 80344DCC 00341D2C 39 0B 00 04 */ addi r8, r11, 4
/* 80344DD0 00341D30 38 EB 00 08 */ addi r7, r11, 8
/* 80344DD4 00341D34 7D 43 59 2E */ stwx r10, r3, r11
/* 80344DD8 00341D38 38 CB 00 0C */ addi r6, r11, 0xc
/* 80344DDC 00341D3C 38 AB 00 10 */ addi r5, r11, 0x10
/* 80344DE0 00341D40 38 8B 00 14 */ addi r4, r11, 0x14
/* 80344DE4 00341D44 81 2D A9 70 */ lwz r9, lbl_805A9530@sda21(r13)
/* 80344DE8 00341D48 38 6B 00 18 */ addi r3, r11, 0x18
/* 80344DEC 00341D4C 38 0B 00 1C */ addi r0, r11, 0x1c
/* 80344DF0 00341D50 39 6B 00 20 */ addi r11, r11, 0x20
/* 80344DF4 00341D54 7D 49 41 2E */ stwx r10, r9, r8
/* 80344DF8 00341D58 39 8C 00 08 */ addi r12, r12, 8
/* 80344DFC 00341D5C 81 0D A9 70 */ lwz r8, lbl_805A9530@sda21(r13)
/* 80344E00 00341D60 7D 48 39 2E */ stwx r10, r8, r7
/* 80344E04 00341D64 80 ED A9 70 */ lwz r7, lbl_805A9530@sda21(r13)
/* 80344E08 00341D68 7D 47 31 2E */ stwx r10, r7, r6
/* 80344E0C 00341D6C 80 CD A9 70 */ lwz r6, lbl_805A9530@sda21(r13)
/* 80344E10 00341D70 7D 46 29 2E */ stwx r10, r6, r5
/* 80344E14 00341D74 80 AD A9 70 */ lwz r5, lbl_805A9530@sda21(r13)
/* 80344E18 00341D78 7D 45 21 2E */ stwx r10, r5, r4
/* 80344E1C 00341D7C 80 8D A9 70 */ lwz r4, lbl_805A9530@sda21(r13)
/* 80344E20 00341D80 7D 44 19 2E */ stwx r10, r4, r3
/* 80344E24 00341D84 80 6D A9 70 */ lwz r3, lbl_805A9530@sda21(r13)
/* 80344E28 00341D88 7D 43 01 2E */ stwx r10, r3, r0
/* 80344E2C 00341D8C 42 00 FF 98 */ bdnz lbl_80344DC4
lbl_80344E30:
/* 80344E30 00341D90 7C 0C F8 50 */ subf r0, r12, r31
/* 80344E34 00341D94 55 85 10 3A */ slwi r5, r12, 2
/* 80344E38 00341D98 38 80 00 00 */ li r4, 0
/* 80344E3C 00341D9C 7C 09 03 A6 */ mtctr r0
/* 80344E40 00341DA0 7C 0C F8 40 */ cmplw r12, r31
/* 80344E44 00341DA4 40 80 00 14 */ bge lbl_80344E58
lbl_80344E48:
/* 80344E48 00341DA8 80 6D A9 70 */ lwz r3, lbl_805A9530@sda21(r13)
/* 80344E4C 00341DAC 7C 83 29 2E */ stwx r4, r3, r5
/* 80344E50 00341DB0 38 A5 00 04 */ addi r5, r5, 4
/* 80344E54 00341DB4 42 00 FF F4 */ bdnz lbl_80344E48
lbl_80344E58:
/* 80344E58 00341DB8 38 60 00 00 */ li r3, 0
/* 80344E5C 00341DBC 38 00 00 01 */ li r0, 1
/* 80344E60 00341DC0 90 6D A9 74 */ stw r3, lbl_805A9534@sda21(r13)
/* 80344E64 00341DC4 38 60 00 01 */ li r3, 1
/* 80344E68 00341DC8 98 0D A9 60 */ stb r0, lbl_805A9520@sda21(r13)
/* 80344E6C 00341DCC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80344E70 00341DD0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80344E74 00341DD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80344E78 00341DD8 7C 08 03 A6 */ mtlr r0
/* 80344E7C 00341DDC 38 21 00 20 */ addi r1, r1, 0x20
/* 80344E80 00341DE0 4E 80 00 20 */ blr
.global sub_80344e84
sub_80344e84:
/* 80344E84 00341DE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80344E88 00341DE8 7C 08 02 A6 */ mflr r0
/* 80344E8C 00341DEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344E90 00341DF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80344E94 00341DF4 93 C1 00 08 */ stw r30, 8(r1)
/* 80344E98 00341DF8 7C 7E 1B 78 */ mr r30, r3
/* 80344E9C 00341DFC 80 03 00 04 */ lwz r0, 4(r3)
/* 80344EA0 00341E00 83 E4 00 04 */ lwz r31, 4(r4)
/* 80344EA4 00341E04 7C 04 00 40 */ cmplw r4, r0
/* 80344EA8 00341E08 40 82 00 08 */ bne lbl_80344EB0
/* 80344EAC 00341E0C 93 FE 00 04 */ stw r31, 4(r30)
lbl_80344EB0:
/* 80344EB0 00341E10 80 04 00 04 */ lwz r0, 4(r4)
/* 80344EB4 00341E14 28 04 00 00 */ cmplwi r4, 0
/* 80344EB8 00341E18 80 64 00 00 */ lwz r3, 0(r4)
/* 80344EBC 00341E1C 90 03 00 04 */ stw r0, 4(r3)
/* 80344EC0 00341E20 80 04 00 00 */ lwz r0, 0(r4)
/* 80344EC4 00341E24 80 64 00 04 */ lwz r3, 4(r4)
/* 80344EC8 00341E28 90 03 00 00 */ stw r0, 0(r3)
/* 80344ECC 00341E2C 41 82 00 0C */ beq lbl_80344ED8
/* 80344ED0 00341E30 7C 83 23 78 */ mr r3, r4
/* 80344ED4 00341E34 4B FD 0A 5D */ bl Free__7CMemoryFPCv
lbl_80344ED8:
/* 80344ED8 00341E38 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80344EDC 00341E3C 7F E3 FB 78 */ mr r3, r31
/* 80344EE0 00341E40 38 04 FF FF */ addi r0, r4, -1
/* 80344EE4 00341E44 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80344EE8 00341E48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80344EEC 00341E4C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80344EF0 00341E50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344EF4 00341E54 7C 08 03 A6 */ mtlr r0
/* 80344EF8 00341E58 38 21 00 10 */ addi r1, r1, 0x10
/* 80344EFC 00341E5C 4E 80 00 20 */ blr
.global __sinit_CARAMManager_cpp
__sinit_CARAMManager_cpp:
/* 80344F00 00341E60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80344F04 00341E64 7C 08 02 A6 */ mflr r0
/* 80344F08 00341E68 3C 60 80 5A */ lis r3, lbl_805A679C@ha
/* 80344F0C 00341E6C 3C 80 80 34 */ lis r4, "__dt__Q24rstl67list<PQ212CARAMManager15SAramDMARequest,Q24rstl17rmemory_allocator>Fv"@ha
/* 80344F10 00341E70 90 01 00 14 */ stw r0, 0x14(r1)
/* 80344F14 00341E74 38 63 67 9C */ addi r3, r3, lbl_805A679C@l
/* 80344F18 00341E78 38 C3 00 0C */ addi r6, r3, 0xc
/* 80344F1C 00341E7C 38 00 00 00 */ li r0, 0
/* 80344F20 00341E80 3C A0 80 4C */ lis r5, lbl_804BFF40@ha
/* 80344F24 00341E84 90 C3 00 04 */ stw r6, 4(r3)
/* 80344F28 00341E88 38 84 4F 54 */ addi r4, r4, "__dt__Q24rstl67list<PQ212CARAMManager15SAramDMARequest,Q24rstl17rmemory_allocator>Fv"@l
/* 80344F2C 00341E8C 90 C3 00 08 */ stw r6, 8(r3)
/* 80344F30 00341E90 38 A5 FF 40 */ addi r5, r5, lbl_804BFF40@l
/* 80344F34 00341E94 90 C6 00 00 */ stw r6, 0(r6)
/* 80344F38 00341E98 90 C3 00 10 */ stw r6, 0x10(r3)
/* 80344F3C 00341E9C 90 03 00 14 */ stw r0, 0x14(r3)
/* 80344F40 00341EA0 48 04 47 4D */ bl __register_global_object
/* 80344F44 00341EA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80344F48 00341EA8 7C 08 03 A6 */ mtlr r0
/* 80344F4C 00341EAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80344F50 00341EB0 4E 80 00 20 */ blr
.global "__dt__Q24rstl67list<PQ212CARAMManager15SAramDMARequest,Q24rstl17rmemory_allocator>Fv"
"__dt__Q24rstl67list<PQ212CARAMManager15SAramDMARequest,Q24rstl17rmemory_allocator>Fv":
/* 80344F54 00341EB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80344F58 00341EB8 7C 08 02 A6 */ mflr r0
/* 80344F5C 00341EBC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80344F60 00341EC0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80344F64 00341EC4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80344F68 00341EC8 7C 9E 23 78 */ mr r30, r4
/* 80344F6C 00341ECC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80344F70 00341ED0 7C 7D 1B 79 */ or. r29, r3, r3
/* 80344F74 00341ED4 41 82 00 38 */ beq lbl_80344FAC
/* 80344F78 00341ED8 83 FD 00 04 */ lwz r31, 4(r29)
/* 80344F7C 00341EDC 48 00 00 14 */ b lbl_80344F90
lbl_80344F80:
/* 80344F80 00341EE0 7F E3 FB 79 */ or. r3, r31, r31
/* 80344F84 00341EE4 83 FF 00 04 */ lwz r31, 4(r31)
/* 80344F88 00341EE8 41 82 00 08 */ beq lbl_80344F90
/* 80344F8C 00341EEC 4B FD 09 A5 */ bl Free__7CMemoryFPCv
lbl_80344F90:
/* 80344F90 00341EF0 80 1D 00 08 */ lwz r0, 8(r29)
/* 80344F94 00341EF4 7C 1F 00 40 */ cmplw r31, r0
/* 80344F98 00341EF8 40 82 FF E8 */ bne lbl_80344F80
/* 80344F9C 00341EFC 7F C0 07 35 */ extsh. r0, r30
/* 80344FA0 00341F00 40 81 00 0C */ ble lbl_80344FAC
/* 80344FA4 00341F04 7F A3 EB 78 */ mr r3, r29
/* 80344FA8 00341F08 4B FD 09 89 */ bl Free__7CMemoryFPCv
lbl_80344FAC:
/* 80344FAC 00341F0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80344FB0 00341F10 7F A3 EB 78 */ mr r3, r29
/* 80344FB4 00341F14 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80344FB8 00341F18 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80344FBC 00341F1C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80344FC0 00341F20 7C 08 03 A6 */ mtlr r0
/* 80344FC4 00341F24 38 21 00 20 */ addi r1, r1, 0x20
/* 80344FC8 00341F28 4E 80 00 20 */ blr

620
asm/Kyoto/CARAMToken.s Normal file
View File

@ -0,0 +1,620 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetMRAMSafe__10CARAMTokenFv
GetMRAMSafe__10CARAMTokenFv:
/* 80358334 00355294 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358338 00355298 7C 08 02 A6 */ mflr r0
/* 8035833C 0035529C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358340 003552A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358344 003552A4 7C 7F 1B 78 */ mr r31, r3
/* 80358348 003552A8 80 03 00 00 */ lwz r0, 0(r3)
/* 8035834C 003552AC 2C 00 00 01 */ cmpwi r0, 1
/* 80358350 003552B0 40 82 00 0C */ bne lbl_8035835C
/* 80358354 003552B4 80 7F 00 04 */ lwz r3, 4(r31)
/* 80358358 003552B8 48 00 00 1C */ b lbl_80358374
lbl_8035835C:
/* 8035835C 003552BC 48 00 04 11 */ bl LoadToMRAM__10CARAMTokenFv
lbl_80358360:
/* 80358360 003552C0 7F E3 FB 78 */ mr r3, r31
/* 80358364 003552C4 48 00 02 45 */ bl RefreshStatus__10CARAMTokenFv
/* 80358368 003552C8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8035836C 003552CC 41 82 FF F4 */ beq lbl_80358360
/* 80358370 003552D0 80 7F 00 04 */ lwz r3, 4(r31)
lbl_80358374:
/* 80358374 003552D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358378 003552D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8035837C 003552DC 7C 08 03 A6 */ mtlr r0
/* 80358380 003552E0 38 21 00 10 */ addi r1, r1, 0x10
/* 80358384 003552E4 4E 80 00 20 */ blr
.global sub_80358388
sub_80358388:
/* 80358388 003552E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035838C 003552EC 7C 08 02 A6 */ mflr r0
/* 80358390 003552F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358394 003552F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358398 003552F8 7C 7F 1B 78 */ mr r31, r3
/* 8035839C 003552FC 80 03 00 00 */ lwz r0, 0(r3)
/* 803583A0 00355300 2C 00 00 02 */ cmpwi r0, 2
/* 803583A4 00355304 41 80 00 1C */ blt lbl_803583C0
/* 803583A8 00355308 2C 00 00 05 */ cmpwi r0, 5
/* 803583AC 0035530C 41 81 00 14 */ bgt lbl_803583C0
/* 803583B0 00355310 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803583B4 00355314 4B FE C3 95 */ bl WaitForDMACompletion__12CARAMManagerFUi
/* 803583B8 00355318 7F E3 FB 78 */ mr r3, r31
/* 803583BC 0035531C 48 00 01 ED */ bl RefreshStatus__10CARAMTokenFv
lbl_803583C0:
/* 803583C0 00355320 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803583C4 00355324 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803583C8 00355328 7C 08 03 A6 */ mtlr r0
/* 803583CC 0035532C 38 21 00 10 */ addi r1, r1, 0x10
/* 803583D0 00355330 4E 80 00 20 */ blr
.global sub_803583d4
sub_803583d4:
/* 803583D4 00355334 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803583D8 00355338 7C 08 02 A6 */ mflr r0
/* 803583DC 0035533C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803583E0 00355340 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803583E4 00355344 7C 7F 1B 78 */ mr r31, r3
/* 803583E8 00355348 4B FF FF 4D */ bl GetMRAMSafe__10CARAMTokenFv
/* 803583EC 0035534C 7C 60 1B 78 */ mr r0, r3
/* 803583F0 00355350 7F E3 FB 78 */ mr r3, r31
/* 803583F4 00355354 7C 1F 03 78 */ mr r31, r0
/* 803583F8 00355358 48 00 00 1D */ bl MakeInvalid__10CARAMTokenFv
/* 803583FC 0035535C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358400 00355360 7F E3 FB 78 */ mr r3, r31
/* 80358404 00355364 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358408 00355368 7C 08 03 A6 */ mtlr r0
/* 8035840C 0035536C 38 21 00 10 */ addi r1, r1, 0x10
/* 80358410 00355370 4E 80 00 20 */ blr
.global MakeInvalid__10CARAMTokenFv
MakeInvalid__10CARAMTokenFv:
/* 80358414 00355374 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358418 00355378 7C 08 02 A6 */ mflr r0
/* 8035841C 0035537C 38 80 00 06 */ li r4, 6
/* 80358420 00355380 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358424 00355384 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358428 00355388 7C 7F 1B 78 */ mr r31, r3
/* 8035842C 0035538C 48 00 00 7D */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 80358430 00355390 38 80 00 00 */ li r4, 0
/* 80358434 00355394 80 62 CB A8 */ lwz r3, lbl_805AE8C8@sda21(r2)
/* 80358438 00355398 90 9F 00 04 */ stw r4, 4(r31)
/* 8035843C 0035539C 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 80358440 003553A0 90 7F 00 08 */ stw r3, 8(r31)
/* 80358444 003553A4 90 9F 00 0C */ stw r4, 0xc(r31)
/* 80358448 003553A8 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8035844C 003553AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358450 003553B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358454 003553B4 7C 08 03 A6 */ mtlr r0
/* 80358458 003553B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8035845C 003553BC 4E 80 00 20 */ blr
.global RemoveFromList__10CARAMTokenFv
RemoveFromList__10CARAMTokenFv:
/* 80358460 003553C0 80 83 00 14 */ lwz r4, 0x14(r3)
/* 80358464 003553C4 28 04 00 00 */ cmplwi r4, 0
/* 80358468 003553C8 40 82 00 20 */ bne lbl_80358488
/* 8035846C 003553CC 80 03 00 00 */ lwz r0, 0(r3)
/* 80358470 003553D0 3C 80 80 5A */ lis r4, lbl_805A680C@ha
/* 80358474 003553D4 80 A3 00 18 */ lwz r5, 0x18(r3)
/* 80358478 003553D8 38 84 68 0C */ addi r4, r4, lbl_805A680C@l
/* 8035847C 003553DC 54 00 10 3A */ slwi r0, r0, 2
/* 80358480 003553E0 7C A4 01 2E */ stwx r5, r4, r0
/* 80358484 003553E4 48 00 00 0C */ b lbl_80358490
lbl_80358488:
/* 80358488 003553E8 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8035848C 003553EC 90 04 00 18 */ stw r0, 0x18(r4)
lbl_80358490:
/* 80358490 003553F0 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80358494 003553F4 28 04 00 00 */ cmplwi r4, 0
/* 80358498 003553F8 4D 82 00 20 */ beqlr
/* 8035849C 003553FC 80 03 00 14 */ lwz r0, 0x14(r3)
/* 803584A0 00355400 90 04 00 14 */ stw r0, 0x14(r4)
/* 803584A4 00355404 4E 80 00 20 */ blr
.global MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
MoveToList__10CARAMTokenFQ210CARAMToken7EStatus:
/* 803584A8 00355408 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803584AC 0035540C 7C 08 02 A6 */ mflr r0
/* 803584B0 00355410 90 01 00 14 */ stw r0, 0x14(r1)
/* 803584B4 00355414 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803584B8 00355418 7C 9F 23 78 */ mr r31, r4
/* 803584BC 0035541C 93 C1 00 08 */ stw r30, 8(r1)
/* 803584C0 00355420 7C 7E 1B 78 */ mr r30, r3
/* 803584C4 00355424 80 03 00 00 */ lwz r0, 0(r3)
/* 803584C8 00355428 7C 00 F8 00 */ cmpw r0, r31
/* 803584CC 0035542C 41 82 00 14 */ beq lbl_803584E0
/* 803584D0 00355430 4B FF FF 91 */ bl RemoveFromList__10CARAMTokenFv
/* 803584D4 00355434 93 FE 00 00 */ stw r31, 0(r30)
/* 803584D8 00355438 7F C3 F3 78 */ mr r3, r30
/* 803584DC 0035543C 48 00 00 1D */ bl InitiallyMoveToList__10CARAMTokenFv
lbl_803584E0:
/* 803584E0 00355440 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803584E4 00355444 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803584E8 00355448 83 C1 00 08 */ lwz r30, 8(r1)
/* 803584EC 0035544C 7C 08 03 A6 */ mtlr r0
/* 803584F0 00355450 38 21 00 10 */ addi r1, r1, 0x10
/* 803584F4 00355454 4E 80 00 20 */ blr
.global InitiallyMoveToList__10CARAMTokenFv
InitiallyMoveToList__10CARAMTokenFv:
/* 803584F8 00355458 38 00 00 00 */ li r0, 0
/* 803584FC 0035545C 3C 80 80 5A */ lis r4, lbl_805A680C@ha
/* 80358500 00355460 90 03 00 14 */ stw r0, 0x14(r3)
/* 80358504 00355464 38 84 68 0C */ addi r4, r4, lbl_805A680C@l
/* 80358508 00355468 80 03 00 00 */ lwz r0, 0(r3)
/* 8035850C 0035546C 54 00 10 3A */ slwi r0, r0, 2
/* 80358510 00355470 7C 04 00 2E */ lwzx r0, r4, r0
/* 80358514 00355474 90 03 00 18 */ stw r0, 0x18(r3)
/* 80358518 00355478 80 03 00 00 */ lwz r0, 0(r3)
/* 8035851C 0035547C 54 00 10 3A */ slwi r0, r0, 2
/* 80358520 00355480 7C 64 01 2E */ stwx r3, r4, r0
/* 80358524 00355484 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80358528 00355488 28 04 00 00 */ cmplwi r4, 0
/* 8035852C 0035548C 4D 82 00 20 */ beqlr
/* 80358530 00355490 90 64 00 14 */ stw r3, 0x14(r4)
/* 80358534 00355494 4E 80 00 20 */ blr
.global UpdateAllDMAs__10CARAMTokenFv
UpdateAllDMAs__10CARAMTokenFv:
/* 80358538 00355498 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8035853C 0035549C 7C 08 02 A6 */ mflr r0
/* 80358540 003554A0 3C 60 80 5A */ lis r3, lbl_805A680C@ha
/* 80358544 003554A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80358548 003554A8 38 63 68 0C */ addi r3, r3, lbl_805A680C@l
/* 8035854C 003554AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80358550 003554B0 3B E3 00 08 */ addi r31, r3, 8
/* 80358554 003554B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80358558 003554B8 3B C0 00 02 */ li r30, 2
/* 8035855C 003554BC 93 A1 00 14 */ stw r29, 0x14(r1)
lbl_80358560:
/* 80358560 003554C0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80358564 003554C4 48 00 00 10 */ b lbl_80358574
lbl_80358568:
/* 80358568 003554C8 83 A3 00 18 */ lwz r29, 0x18(r3)
/* 8035856C 003554CC 48 00 00 3D */ bl RefreshStatus__10CARAMTokenFv
/* 80358570 003554D0 7F A3 EB 78 */ mr r3, r29
lbl_80358574:
/* 80358574 003554D4 28 03 00 00 */ cmplwi r3, 0
/* 80358578 003554D8 40 82 FF F0 */ bne lbl_80358568
/* 8035857C 003554DC 3B DE 00 01 */ addi r30, r30, 1
/* 80358580 003554E0 3B FF 00 04 */ addi r31, r31, 4
/* 80358584 003554E4 2C 1E 00 05 */ cmpwi r30, 5
/* 80358588 003554E8 40 81 FF D8 */ ble lbl_80358560
/* 8035858C 003554EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358590 003554F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358594 003554F4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80358598 003554F8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8035859C 003554FC 7C 08 03 A6 */ mtlr r0
/* 803585A0 00355500 38 21 00 20 */ addi r1, r1, 0x20
/* 803585A4 00355504 4E 80 00 20 */ blr
.global RefreshStatus__10CARAMTokenFv
RefreshStatus__10CARAMTokenFv:
/* 803585A8 00355508 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803585AC 0035550C 7C 08 02 A6 */ mflr r0
/* 803585B0 00355510 90 01 00 14 */ stw r0, 0x14(r1)
/* 803585B4 00355514 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803585B8 00355518 7C 7F 1B 78 */ mr r31, r3
/* 803585BC 0035551C 80 03 00 00 */ lwz r0, 0(r3)
/* 803585C0 00355520 2C 00 00 01 */ cmpwi r0, 1
/* 803585C4 00355524 41 82 00 0C */ beq lbl_803585D0
/* 803585C8 00355528 2C 00 00 00 */ cmpwi r0, 0
/* 803585CC 0035552C 40 82 00 0C */ bne lbl_803585D8
lbl_803585D0:
/* 803585D0 00355530 38 60 00 01 */ li r3, 1
/* 803585D4 00355534 48 00 00 90 */ b lbl_80358664
lbl_803585D8:
/* 803585D8 00355538 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803585DC 0035553C 4B FE C1 E9 */ bl IsDMACompleted__12CARAMManagerFUi
/* 803585E0 00355540 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803585E4 00355544 40 82 00 0C */ bne lbl_803585F0
/* 803585E8 00355548 38 60 00 00 */ li r3, 0
/* 803585EC 0035554C 48 00 00 78 */ b lbl_80358664
lbl_803585F0:
/* 803585F0 00355550 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 803585F4 00355554 90 1F 00 10 */ stw r0, 0x10(r31)
/* 803585F8 00355558 80 1F 00 00 */ lwz r0, 0(r31)
/* 803585FC 0035555C 2C 00 00 05 */ cmpwi r0, 5
/* 80358600 00355560 41 82 00 44 */ beq lbl_80358644
/* 80358604 00355564 40 80 00 5C */ bge lbl_80358660
/* 80358608 00355568 2C 00 00 02 */ cmpwi r0, 2
/* 8035860C 0035556C 41 82 00 38 */ beq lbl_80358644
/* 80358610 00355570 40 80 00 08 */ bge lbl_80358618
/* 80358614 00355574 48 00 00 4C */ b lbl_80358660
lbl_80358618:
/* 80358618 00355578 88 1F 00 1C */ lbz r0, 0x1c(r31)
/* 8035861C 0035557C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80358620 00355580 40 82 00 14 */ bne lbl_80358634
/* 80358624 00355584 80 7F 00 08 */ lwz r3, 8(r31)
/* 80358628 00355588 4B FE C4 95 */ bl Free__12CARAMManagerFPCv
/* 8035862C 0035558C 80 02 CB A8 */ lwz r0, lbl_805AE8C8@sda21(r2)
/* 80358630 00355590 90 1F 00 08 */ stw r0, 8(r31)
lbl_80358634:
/* 80358634 00355594 7F E3 FB 78 */ mr r3, r31
/* 80358638 00355598 38 80 00 01 */ li r4, 1
/* 8035863C 0035559C 4B FF FE 6D */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 80358640 003555A0 48 00 00 20 */ b lbl_80358660
lbl_80358644:
/* 80358644 003555A4 80 7F 00 04 */ lwz r3, 4(r31)
/* 80358648 003555A8 4B FB D2 E9 */ bl Free__7CMemoryFPCv
/* 8035864C 003555AC 38 00 00 00 */ li r0, 0
/* 80358650 003555B0 7F E3 FB 78 */ mr r3, r31
/* 80358654 003555B4 90 1F 00 04 */ stw r0, 4(r31)
/* 80358658 003555B8 38 80 00 00 */ li r4, 0
/* 8035865C 003555BC 4B FF FE 4D */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
lbl_80358660:
/* 80358660 003555C0 38 60 00 01 */ li r3, 1
lbl_80358664:
/* 80358664 003555C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358668 003555C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8035866C 003555CC 7C 08 03 A6 */ mtlr r0
/* 80358670 003555D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80358674 003555D4 4E 80 00 20 */ blr
.global LoadToARAM__10CARAMTokenFv
LoadToARAM__10CARAMTokenFv:
/* 80358678 003555D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035867C 003555DC 7C 08 02 A6 */ mflr r0
/* 80358680 003555E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358684 003555E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358688 003555E8 7C 7F 1B 78 */ mr r31, r3
/* 8035868C 003555EC 80 03 00 00 */ lwz r0, 0(r3)
/* 80358690 003555F0 2C 00 00 03 */ cmpwi r0, 3
/* 80358694 003555F4 41 82 00 38 */ beq lbl_803586CC
/* 80358698 003555F8 40 80 00 1C */ bge lbl_803586B4
/* 8035869C 003555FC 2C 00 00 01 */ cmpwi r0, 1
/* 803586A0 00355600 41 82 00 60 */ beq lbl_80358700
/* 803586A4 00355604 40 80 00 AC */ bge lbl_80358750
/* 803586A8 00355608 2C 00 00 00 */ cmpwi r0, 0
/* 803586AC 0035560C 40 80 00 18 */ bge lbl_803586C4
/* 803586B0 00355610 48 00 00 A0 */ b lbl_80358750
lbl_803586B4:
/* 803586B4 00355614 2C 00 00 05 */ cmpwi r0, 5
/* 803586B8 00355618 41 82 00 0C */ beq lbl_803586C4
/* 803586BC 0035561C 40 80 00 94 */ bge lbl_80358750
/* 803586C0 00355620 48 00 00 34 */ b lbl_803586F4
lbl_803586C4:
/* 803586C4 00355624 38 60 00 01 */ li r3, 1
/* 803586C8 00355628 48 00 00 90 */ b lbl_80358758
lbl_803586CC:
/* 803586CC 0035562C 38 80 00 05 */ li r4, 5
/* 803586D0 00355630 4B FF FD D9 */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 803586D4 00355634 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803586D8 00355638 4B FE BF E5 */ bl CancelDMA__12CARAMManagerFUi
/* 803586DC 0035563C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803586E0 00355640 41 82 00 0C */ beq lbl_803586EC
/* 803586E4 00355644 7F E3 FB 78 */ mr r3, r31
/* 803586E8 00355648 4B FF FE C1 */ bl RefreshStatus__10CARAMTokenFv
lbl_803586EC:
/* 803586EC 0035564C 38 60 00 01 */ li r3, 1
/* 803586F0 00355650 48 00 00 68 */ b lbl_80358758
lbl_803586F4:
/* 803586F4 00355654 38 80 00 02 */ li r4, 2
/* 803586F8 00355658 4B FF FD B1 */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 803586FC 0035565C 48 00 00 54 */ b lbl_80358750
lbl_80358700:
/* 80358700 00355660 88 1F 00 1C */ lbz r0, 0x1c(r31)
/* 80358704 00355664 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80358708 00355668 40 82 00 3C */ bne lbl_80358744
/* 8035870C 0035566C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80358710 00355670 4B FE C5 19 */ bl Alloc__12CARAMManagerFUi
/* 80358714 00355674 90 7F 00 08 */ stw r3, 8(r31)
/* 80358718 00355678 80 02 CB A8 */ lwz r0, lbl_805AE8C8@sda21(r2)
/* 8035871C 0035567C 80 9F 00 08 */ lwz r4, 8(r31)
/* 80358720 00355680 7C 00 20 40 */ cmplw r0, r4
/* 80358724 00355684 40 82 00 0C */ bne lbl_80358730
/* 80358728 00355688 38 60 00 00 */ li r3, 0
/* 8035872C 0035568C 48 00 00 2C */ b lbl_80358758
lbl_80358730:
/* 80358730 00355690 80 7F 00 04 */ lwz r3, 4(r31)
/* 80358734 00355694 38 C0 00 01 */ li r6, 1
/* 80358738 00355698 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8035873C 0035569C 4B FE C2 4D */ bl DMAToARAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
/* 80358740 003556A0 90 7F 00 10 */ stw r3, 0x10(r31)
lbl_80358744:
/* 80358744 003556A4 7F E3 FB 78 */ mr r3, r31
/* 80358748 003556A8 38 80 00 02 */ li r4, 2
/* 8035874C 003556AC 4B FF FD 5D */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
lbl_80358750:
/* 80358750 003556B0 7F E3 FB 78 */ mr r3, r31
/* 80358754 003556B4 4B FF FE 55 */ bl RefreshStatus__10CARAMTokenFv
lbl_80358758:
/* 80358758 003556B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8035875C 003556BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358760 003556C0 7C 08 03 A6 */ mtlr r0
/* 80358764 003556C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80358768 003556C8 4E 80 00 20 */ blr
.global LoadToMRAM__10CARAMTokenFv
LoadToMRAM__10CARAMTokenFv:
/* 8035876C 003556CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80358770 003556D0 7C 08 02 A6 */ mflr r0
/* 80358774 003556D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80358778 003556D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8035877C 003556DC 7C 7F 1B 78 */ mr r31, r3
/* 80358780 003556E0 80 03 00 00 */ lwz r0, 0(r3)
/* 80358784 003556E4 2C 00 00 03 */ cmpwi r0, 3
/* 80358788 003556E8 41 82 00 D0 */ beq lbl_80358858
/* 8035878C 003556EC 40 80 00 1C */ bge lbl_803587A8
/* 80358790 003556F0 2C 00 00 01 */ cmpwi r0, 1
/* 80358794 003556F4 41 82 00 20 */ beq lbl_803587B4
/* 80358798 003556F8 40 80 00 24 */ bge lbl_803587BC
/* 8035879C 003556FC 2C 00 00 00 */ cmpwi r0, 0
/* 803587A0 00355700 40 80 00 50 */ bge lbl_803587F0
/* 803587A4 00355704 48 00 00 B4 */ b lbl_80358858
lbl_803587A8:
/* 803587A8 00355708 2C 00 00 05 */ cmpwi r0, 5
/* 803587AC 0035570C 41 82 00 38 */ beq lbl_803587E4
/* 803587B0 00355710 40 80 00 A8 */ bge lbl_80358858
lbl_803587B4:
/* 803587B4 00355714 38 60 00 01 */ li r3, 1
/* 803587B8 00355718 48 00 00 A8 */ b lbl_80358860
lbl_803587BC:
/* 803587BC 0035571C 38 80 00 04 */ li r4, 4
/* 803587C0 00355720 4B FF FC E9 */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 803587C4 00355724 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803587C8 00355728 4B FE BE F5 */ bl CancelDMA__12CARAMManagerFUi
/* 803587CC 0035572C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803587D0 00355730 41 82 00 0C */ beq lbl_803587DC
/* 803587D4 00355734 7F E3 FB 78 */ mr r3, r31
/* 803587D8 00355738 4B FF FD D1 */ bl RefreshStatus__10CARAMTokenFv
lbl_803587DC:
/* 803587DC 0035573C 38 60 00 01 */ li r3, 1
/* 803587E0 00355740 48 00 00 80 */ b lbl_80358860
lbl_803587E4:
/* 803587E4 00355744 38 80 00 03 */ li r4, 3
/* 803587E8 00355748 4B FF FC C1 */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 803587EC 0035574C 48 00 00 6C */ b lbl_80358858
lbl_803587F0:
/* 803587F0 00355750 3C 60 80 3E */ lis r3, lbl_803D8338@ha
/* 803587F4 00355754 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha
/* 803587F8 00355758 38 A3 83 38 */ addi r5, r3, lbl_803D8338@l
/* 803587FC 0035575C 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l
/* 80358800 00355760 38 61 00 08 */ addi r3, r1, 8
/* 80358804 00355764 38 80 FF FF */ li r4, -1
/* 80358808 00355768 4B F7 DB CD */ bl __ct__10CCallStackFUiPCcPCc
/* 8035880C 0035576C 7C 67 1B 78 */ mr r7, r3
/* 80358810 00355770 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80358814 00355774 38 80 00 02 */ li r4, 2
/* 80358818 00355778 38 A0 00 01 */ li r5, 1
/* 8035881C 0035577C 38 C0 00 00 */ li r6, 0
/* 80358820 00355780 4B FB D1 75 */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 80358824 00355784 90 7F 00 04 */ stw r3, 4(r31)
/* 80358828 00355788 80 7F 00 04 */ lwz r3, 4(r31)
/* 8035882C 0035578C 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 80358830 00355790 48 02 62 55 */ bl DCInvalidateRange
/* 80358834 00355794 80 7F 00 08 */ lwz r3, 8(r31)
/* 80358838 00355798 38 C0 00 01 */ li r6, 1
/* 8035883C 0035579C 80 9F 00 04 */ lwz r4, 4(r31)
/* 80358840 003557A0 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80358844 003557A4 4B FE C0 0D */ bl DMAToMRAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
/* 80358848 003557A8 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8035884C 003557AC 7F E3 FB 78 */ mr r3, r31
/* 80358850 003557B0 38 80 00 03 */ li r4, 3
/* 80358854 003557B4 4B FF FC 55 */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
lbl_80358858:
/* 80358858 003557B8 7F E3 FB 78 */ mr r3, r31
/* 8035885C 003557BC 4B FF FD 4D */ bl RefreshStatus__10CARAMTokenFv
lbl_80358860:
/* 80358860 003557C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358864 003557C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358868 003557C8 7C 08 03 A6 */ mtlr r0
/* 8035886C 003557CC 38 21 00 20 */ addi r1, r1, 0x20
/* 80358870 003557D0 4E 80 00 20 */ blr
.global __as__10CARAMTokenFRC10CARAMToken
__as__10CARAMTokenFRC10CARAMToken:
/* 80358874 003557D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358878 003557D8 7C 08 02 A6 */ mflr r0
/* 8035887C 003557DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358880 003557E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358884 003557E4 7C 9F 23 78 */ mr r31, r4
/* 80358888 003557E8 93 C1 00 08 */ stw r30, 8(r1)
/* 8035888C 003557EC 7C 7E 1B 78 */ mr r30, r3
/* 80358890 003557F0 7C 1F F0 40 */ cmplw r31, r30
/* 80358894 003557F4 40 82 00 08 */ bne lbl_8035889C
/* 80358898 003557F8 48 00 00 24 */ b lbl_803588BC
lbl_8035889C:
/* 8035889C 003557FC 38 80 FF FF */ li r4, -1
/* 803588A0 00355800 48 00 00 A5 */ bl __dt__10CARAMTokenFv
/* 803588A4 00355804 28 1E 00 00 */ cmplwi r30, 0
/* 803588A8 00355808 41 82 00 10 */ beq lbl_803588B8
/* 803588AC 0035580C 7F C3 F3 78 */ mr r3, r30
/* 803588B0 00355810 7F E4 FB 78 */ mr r4, r31
/* 803588B4 00355814 48 00 01 19 */ bl __ct__10CARAMTokenFRC10CARAMToken
lbl_803588B8:
/* 803588B8 00355818 7F C3 F3 78 */ mr r3, r30
lbl_803588BC:
/* 803588BC 0035581C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803588C0 00355820 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803588C4 00355824 83 C1 00 08 */ lwz r30, 8(r1)
/* 803588C8 00355828 7C 08 03 A6 */ mtlr r0
/* 803588CC 0035582C 38 21 00 10 */ addi r1, r1, 0x10
/* 803588D0 00355830 4E 80 00 20 */ blr
.global PostConstruct__10CARAMTokenFPvUi
PostConstruct__10CARAMTokenFPvUi:
/* 803588D4 00355834 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803588D8 00355838 7C 08 02 A6 */ mflr r0
/* 803588DC 0035583C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803588E0 00355840 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803588E4 00355844 7C DF 33 78 */ mr r31, r6
/* 803588E8 00355848 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803588EC 0035584C 7C BE 2B 78 */ mr r30, r5
/* 803588F0 00355850 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803588F4 00355854 7C 9D 23 78 */ mr r29, r4
/* 803588F8 00355858 38 80 00 01 */ li r4, 1
/* 803588FC 0035585C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80358900 00355860 7C 7C 1B 78 */ mr r28, r3
/* 80358904 00355864 4B FF FB A5 */ bl MoveToList__10CARAMTokenFQ210CARAMToken7EStatus
/* 80358908 00355868 93 BC 00 04 */ stw r29, 4(r28)
/* 8035890C 0035586C 7F E0 00 34 */ cntlzw r0, r31
/* 80358910 00355870 54 03 D9 7E */ srwi r3, r0, 5
/* 80358914 00355874 93 DC 00 0C */ stw r30, 0xc(r28)
/* 80358918 00355878 88 1C 00 1C */ lbz r0, 0x1c(r28)
/* 8035891C 0035587C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80358920 00355880 98 1C 00 1C */ stb r0, 0x1c(r28)
/* 80358924 00355884 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80358928 00355888 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035892C 0035588C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80358930 00355890 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80358934 00355894 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80358938 00355898 7C 08 03 A6 */ mtlr r0
/* 8035893C 0035589C 38 21 00 20 */ addi r1, r1, 0x20
/* 80358940 003558A0 4E 80 00 20 */ blr
.global __dt__10CARAMTokenFv
__dt__10CARAMTokenFv:
/* 80358944 003558A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358948 003558A8 7C 08 02 A6 */ mflr r0
/* 8035894C 003558AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358950 003558B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358954 003558B4 7C 9F 23 78 */ mr r31, r4
/* 80358958 003558B8 93 C1 00 08 */ stw r30, 8(r1)
/* 8035895C 003558BC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80358960 003558C0 41 82 00 50 */ beq lbl_803589B0
/* 80358964 003558C4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80358968 003558C8 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 8035896C 003558CC 7C 03 00 40 */ cmplw r3, r0
/* 80358970 003558D0 41 82 00 18 */ beq lbl_80358988
/* 80358974 003558D4 4B FE BD 49 */ bl CancelDMA__12CARAMManagerFUi
/* 80358978 003558D8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8035897C 003558DC 40 82 00 0C */ bne lbl_80358988
/* 80358980 003558E0 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80358984 003558E4 4B FE BD C5 */ bl WaitForDMACompletion__12CARAMManagerFUi
lbl_80358988:
/* 80358988 003558E8 7F C3 F3 78 */ mr r3, r30
/* 8035898C 003558EC 4B FF FA D5 */ bl RemoveFromList__10CARAMTokenFv
/* 80358990 003558F0 80 7E 00 04 */ lwz r3, 4(r30)
/* 80358994 003558F4 4B FB CF 9D */ bl Free__7CMemoryFPCv
/* 80358998 003558F8 80 7E 00 08 */ lwz r3, 8(r30)
/* 8035899C 003558FC 4B FE C1 21 */ bl Free__12CARAMManagerFPCv
/* 803589A0 00355900 7F E0 07 35 */ extsh. r0, r31
/* 803589A4 00355904 40 81 00 0C */ ble lbl_803589B0
/* 803589A8 00355908 7F C3 F3 78 */ mr r3, r30
/* 803589AC 0035590C 4B FB CF 85 */ bl Free__7CMemoryFPCv
lbl_803589B0:
/* 803589B0 00355910 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803589B4 00355914 7F C3 F3 78 */ mr r3, r30
/* 803589B8 00355918 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803589BC 0035591C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803589C0 00355920 7C 08 03 A6 */ mtlr r0
/* 803589C4 00355924 38 21 00 10 */ addi r1, r1, 0x10
/* 803589C8 00355928 4E 80 00 20 */ blr
.global __ct__10CARAMTokenFRC10CARAMToken
__ct__10CARAMTokenFRC10CARAMToken:
/* 803589CC 0035592C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803589D0 00355930 7C 08 02 A6 */ mflr r0
/* 803589D4 00355934 90 01 00 14 */ stw r0, 0x14(r1)
/* 803589D8 00355938 38 00 00 00 */ li r0, 0
/* 803589DC 0035593C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803589E0 00355940 7C 7F 1B 78 */ mr r31, r3
/* 803589E4 00355944 7C 83 23 78 */ mr r3, r4
/* 803589E8 00355948 80 A4 00 00 */ lwz r5, 0(r4)
/* 803589EC 0035594C 90 BF 00 00 */ stw r5, 0(r31)
/* 803589F0 00355950 80 A4 00 04 */ lwz r5, 4(r4)
/* 803589F4 00355954 90 BF 00 04 */ stw r5, 4(r31)
/* 803589F8 00355958 80 A4 00 08 */ lwz r5, 8(r4)
/* 803589FC 0035595C 90 BF 00 08 */ stw r5, 8(r31)
/* 80358A00 00355960 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 80358A04 00355964 90 BF 00 0C */ stw r5, 0xc(r31)
/* 80358A08 00355968 80 A4 00 10 */ lwz r5, 0x10(r4)
/* 80358A0C 0035596C 90 BF 00 10 */ stw r5, 0x10(r31)
/* 80358A10 00355970 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80358A14 00355974 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80358A18 00355978 88 84 00 1C */ lbz r4, 0x1c(r4)
/* 80358A1C 0035597C 88 1F 00 1C */ lbz r0, 0x1c(r31)
/* 80358A20 00355980 50 80 06 30 */ rlwimi r0, r4, 0, 0x18, 0x18
/* 80358A24 00355984 98 1F 00 1C */ stb r0, 0x1c(r31)
/* 80358A28 00355988 4B FF F9 ED */ bl MakeInvalid__10CARAMTokenFv
/* 80358A2C 0035598C 7F E3 FB 78 */ mr r3, r31
/* 80358A30 00355990 4B FF FA C9 */ bl InitiallyMoveToList__10CARAMTokenFv
/* 80358A34 00355994 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358A38 00355998 7F E3 FB 78 */ mr r3, r31
/* 80358A3C 0035599C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358A40 003559A0 7C 08 03 A6 */ mtlr r0
/* 80358A44 003559A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80358A48 003559A8 4E 80 00 20 */ blr
.global __ct__10CARAMTokenFPvUi
__ct__10CARAMTokenFPvUi:
/* 80358A4C 003559AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358A50 003559B0 7C 08 02 A6 */ mflr r0
/* 80358A54 003559B4 80 E2 CB A8 */ lwz r7, lbl_805AE8C8@sda21(r2)
/* 80358A58 003559B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358A5C 003559BC 38 00 00 01 */ li r0, 1
/* 80358A60 003559C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358A64 003559C4 7C 7F 1B 78 */ mr r31, r3
/* 80358A68 003559C8 90 03 00 00 */ stw r0, 0(r3)
/* 80358A6C 003559CC 7C C0 00 34 */ cntlzw r0, r6
/* 80358A70 003559D0 38 C0 00 00 */ li r6, 0
/* 80358A74 003559D4 90 83 00 04 */ stw r4, 4(r3)
/* 80358A78 003559D8 54 04 D9 7E */ srwi r4, r0, 5
/* 80358A7C 003559DC 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 80358A80 003559E0 90 E3 00 08 */ stw r7, 8(r3)
/* 80358A84 003559E4 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80358A88 003559E8 90 03 00 10 */ stw r0, 0x10(r3)
/* 80358A8C 003559EC 90 C3 00 14 */ stw r6, 0x14(r3)
/* 80358A90 003559F0 90 C3 00 18 */ stw r6, 0x18(r3)
/* 80358A94 003559F4 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 80358A98 003559F8 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80358A9C 003559FC 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80358AA0 00355A00 4B FF FA 59 */ bl InitiallyMoveToList__10CARAMTokenFv
/* 80358AA4 00355A04 88 1F 00 1C */ lbz r0, 0x1c(r31)
/* 80358AA8 00355A08 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80358AAC 00355A0C 41 82 00 38 */ beq lbl_80358AE4
/* 80358AB0 00355A10 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80358AB4 00355A14 4B FE C1 75 */ bl Alloc__12CARAMManagerFUi
/* 80358AB8 00355A18 90 7F 00 08 */ stw r3, 8(r31)
/* 80358ABC 00355A1C 38 C0 00 01 */ li r6, 1
/* 80358AC0 00355A20 80 7F 00 04 */ lwz r3, 4(r31)
/* 80358AC4 00355A24 80 9F 00 08 */ lwz r4, 8(r31)
/* 80358AC8 00355A28 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80358ACC 00355A2C 4B FE BE BD */ bl DMAToARAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
/* 80358AD0 00355A30 90 7F 00 10 */ stw r3, 0x10(r31)
/* 80358AD4 00355A34 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80358AD8 00355A38 4B FE BC 71 */ bl WaitForDMACompletion__12CARAMManagerFUi
/* 80358ADC 00355A3C 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 80358AE0 00355A40 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_80358AE4:
/* 80358AE4 00355A44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358AE8 00355A48 7F E3 FB 78 */ mr r3, r31
/* 80358AEC 00355A4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358AF0 00355A50 7C 08 03 A6 */ mtlr r0
/* 80358AF4 00355A54 38 21 00 10 */ addi r1, r1, 0x10
/* 80358AF8 00355A58 4E 80 00 20 */ blr
.global __ct__10CARAMTokenFv
__ct__10CARAMTokenFv:
/* 80358AFC 00355A5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358B00 00355A60 7C 08 02 A6 */ mflr r0
/* 80358B04 00355A64 38 A0 00 00 */ li r5, 0
/* 80358B08 00355A68 80 82 CB A8 */ lwz r4, lbl_805AE8C8@sda21(r2)
/* 80358B0C 00355A6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358B10 00355A70 38 00 00 06 */ li r0, 6
/* 80358B14 00355A74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80358B18 00355A78 7C 7F 1B 78 */ mr r31, r3
/* 80358B1C 00355A7C 90 03 00 00 */ stw r0, 0(r3)
/* 80358B20 00355A80 80 02 CB AC */ lwz r0, lbl_805AE8CC@sda21(r2)
/* 80358B24 00355A84 90 A3 00 04 */ stw r5, 4(r3)
/* 80358B28 00355A88 90 83 00 08 */ stw r4, 8(r3)
/* 80358B2C 00355A8C 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80358B30 00355A90 90 03 00 10 */ stw r0, 0x10(r3)
/* 80358B34 00355A94 90 A3 00 14 */ stw r5, 0x14(r3)
/* 80358B38 00355A98 90 A3 00 18 */ stw r5, 0x18(r3)
/* 80358B3C 00355A9C 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 80358B40 00355AA0 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 80358B44 00355AA4 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80358B48 00355AA8 4B FF F9 B1 */ bl InitiallyMoveToList__10CARAMTokenFv
/* 80358B4C 00355AAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358B50 00355AB0 7F E3 FB 78 */ mr r3, r31
/* 80358B54 00355AB4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358B58 00355AB8 7C 08 03 A6 */ mtlr r0
/* 80358B5C 00355ABC 38 21 00 10 */ addi r1, r1, 0x10
/* 80358B60 00355AC0 4E 80 00 20 */ blr

62
asm/Kyoto/CCrc32.s Normal file
View File

@ -0,0 +1,62 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Calculate__6CCRC32FPCvUi
Calculate__6CCRC32FPCvUi:
/* 80315590 003124F0 28 04 00 00 */ cmplwi r4, 0
/* 80315594 003124F4 3C A0 80 3D */ lis r5, gkCRC32Table@ha
/* 80315598 003124F8 38 A5 74 08 */ addi r5, r5, gkCRC32Table@l
/* 8031559C 003124FC 39 20 FF FF */ li r9, -1
/* 803155A0 00312500 41 82 00 B8 */ beq lbl_80315658
/* 803155A4 00312504 54 80 F0 BF */ rlwinm. r0, r4, 0x1e, 2, 0x1f
/* 803155A8 00312508 7C 09 03 A6 */ mtctr r0
/* 803155AC 0031250C 41 82 00 84 */ beq lbl_80315630
lbl_803155B0:
/* 803155B0 00312510 88 E3 00 00 */ lbz r7, 0(r3)
/* 803155B4 00312514 55 28 C2 3E */ srwi r8, r9, 8
/* 803155B8 00312518 7C E6 07 74 */ extsb r6, r7
/* 803155BC 0031251C 88 E3 00 01 */ lbz r7, 1(r3)
/* 803155C0 00312520 7D 20 32 78 */ xor r0, r9, r6
/* 803155C4 00312524 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803155C8 00312528 7C E6 07 74 */ extsb r6, r7
/* 803155CC 0031252C 7C 05 00 2E */ lwzx r0, r5, r0
/* 803155D0 00312530 88 E3 00 02 */ lbz r7, 2(r3)
/* 803155D4 00312534 7D 09 02 78 */ xor r9, r8, r0
/* 803155D8 00312538 7D 20 32 78 */ xor r0, r9, r6
/* 803155DC 0031253C 7C E6 07 74 */ extsb r6, r7
/* 803155E0 00312540 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803155E4 00312544 88 E3 00 03 */ lbz r7, 3(r3)
/* 803155E8 00312548 7C 05 00 2E */ lwzx r0, r5, r0
/* 803155EC 0031254C 55 28 C2 3E */ srwi r8, r9, 8
/* 803155F0 00312550 38 63 00 04 */ addi r3, r3, 4
/* 803155F4 00312554 7D 09 02 78 */ xor r9, r8, r0
/* 803155F8 00312558 7D 20 32 78 */ xor r0, r9, r6
/* 803155FC 0031255C 7C E6 07 74 */ extsb r6, r7
/* 80315600 00312560 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 80315604 00312564 55 28 C2 3E */ srwi r8, r9, 8
/* 80315608 00312568 7C 05 00 2E */ lwzx r0, r5, r0
/* 8031560C 0031256C 7D 09 02 78 */ xor r9, r8, r0
/* 80315610 00312570 7D 20 32 78 */ xor r0, r9, r6
/* 80315614 00312574 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 80315618 00312578 55 28 C2 3E */ srwi r8, r9, 8
/* 8031561C 0031257C 7C 05 00 2E */ lwzx r0, r5, r0
/* 80315620 00312580 7D 09 02 78 */ xor r9, r8, r0
/* 80315624 00312584 42 00 FF 8C */ bdnz lbl_803155B0
/* 80315628 00312588 70 84 00 03 */ andi. r4, r4, 3
/* 8031562C 0031258C 41 82 00 2C */ beq lbl_80315658
lbl_80315630:
/* 80315630 00312590 7C 89 03 A6 */ mtctr r4
lbl_80315634:
/* 80315634 00312594 88 E3 00 00 */ lbz r7, 0(r3)
/* 80315638 00312598 55 28 C2 3E */ srwi r8, r9, 8
/* 8031563C 0031259C 38 63 00 01 */ addi r3, r3, 1
/* 80315640 003125A0 7C E6 07 74 */ extsb r6, r7
/* 80315644 003125A4 7D 20 32 78 */ xor r0, r9, r6
/* 80315648 003125A8 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 8031564C 003125AC 7C 05 00 2E */ lwzx r0, r5, r0
/* 80315650 003125B0 7D 09 02 78 */ xor r9, r8, r0
/* 80315654 003125B4 42 00 FF E0 */ bdnz lbl_80315634
lbl_80315658:
/* 80315658 003125B8 7D 23 4B 78 */ mr r3, r9
/* 8031565C 003125BC 4E 80 00 20 */ blr

View File

@ -0,0 +1,349 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global FDependencyGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FDependencyGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 80364F54 00361EB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80364F58 00361EB8 7C 08 02 A6 */ mflr r0
/* 80364F5C 00361EBC 3C 80 80 3E */ lis r4, lbl_803D8408@ha
/* 80364F60 00361EC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80364F64 00361EC4 38 84 84 08 */ addi r4, r4, lbl_803D8408@l
/* 80364F68 00361EC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80364F6C 00361ECC 7C BF 2B 78 */ mr r31, r5
/* 80364F70 00361ED0 38 A0 00 00 */ li r5, 0
/* 80364F74 00361ED4 93 C1 00 08 */ stw r30, 8(r1)
/* 80364F78 00361ED8 7C 7E 1B 78 */ mr r30, r3
/* 80364F7C 00361EDC 38 60 00 10 */ li r3, 0x10
/* 80364F80 00361EE0 4B FB 08 ED */ bl __nw__FUlPCcPCc
/* 80364F84 00361EE4 7C 64 1B 79 */ or. r4, r3, r3
/* 80364F88 00361EE8 41 82 00 10 */ beq lbl_80364F98
/* 80364F8C 00361EEC 7F E4 FB 78 */ mr r4, r31
/* 80364F90 00361EF0 48 00 04 29 */ bl __ct__16CDependencyGroupFR12CInputStream
/* 80364F94 00361EF4 7C 64 1B 78 */ mr r4, r3
lbl_80364F98:
/* 80364F98 00361EF8 7F C3 F3 78 */ mr r3, r30
/* 80364F9C 00361EFC 48 00 00 1D */ bl sub_80364fb8
/* 80364FA0 00361F00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80364FA4 00361F04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80364FA8 00361F08 83 C1 00 08 */ lwz r30, 8(r1)
/* 80364FAC 00361F0C 7C 08 03 A6 */ mtlr r0
/* 80364FB0 00361F10 38 21 00 10 */ addi r1, r1, 0x10
/* 80364FB4 00361F14 4E 80 00 20 */ blr
.global sub_80364fb8
sub_80364fb8:
/* 80364FB8 00361F18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80364FBC 00361F1C 7C 08 02 A6 */ mflr r0
/* 80364FC0 00361F20 90 01 00 24 */ stw r0, 0x24(r1)
/* 80364FC4 00361F24 7C 04 00 D0 */ neg r0, r4
/* 80364FC8 00361F28 7C 00 23 78 */ or r0, r0, r4
/* 80364FCC 00361F2C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80364FD0 00361F30 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80364FD4 00361F34 7C 7F 1B 78 */ mr r31, r3
/* 80364FD8 00361F38 38 61 00 08 */ addi r3, r1, 8
/* 80364FDC 00361F3C 90 81 00 14 */ stw r4, 0x14(r1)
/* 80364FE0 00361F40 38 81 00 10 */ addi r4, r1, 0x10
/* 80364FE4 00361F44 98 01 00 10 */ stb r0, 0x10(r1)
/* 80364FE8 00361F48 48 00 01 55 */ bl sub_8036513c
/* 80364FEC 00361F4C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80364FF0 00361F50 38 00 00 00 */ li r0, 0
/* 80364FF4 00361F54 98 01 00 08 */ stb r0, 8(r1)
/* 80364FF8 00361F58 7C 03 00 D0 */ neg r0, r3
/* 80364FFC 00361F5C 7C 00 1B 78 */ or r0, r0, r3
/* 80365000 00361F60 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80365004 00361F64 98 1F 00 00 */ stb r0, 0(r31)
/* 80365008 00361F68 90 7F 00 04 */ stw r3, 4(r31)
/* 8036500C 00361F6C 88 01 00 08 */ lbz r0, 8(r1)
/* 80365010 00361F70 28 00 00 00 */ cmplwi r0, 0
/* 80365014 00361F74 41 82 00 24 */ beq lbl_80365038
/* 80365018 00361F78 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8036501C 00361F7C 28 03 00 00 */ cmplwi r3, 0
/* 80365020 00361F80 41 82 00 18 */ beq lbl_80365038
/* 80365024 00361F84 81 83 00 00 */ lwz r12, 0(r3)
/* 80365028 00361F88 38 80 00 01 */ li r4, 1
/* 8036502C 00361F8C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80365030 00361F90 7D 89 03 A6 */ mtctr r12
/* 80365034 00361F94 4E 80 04 21 */ bctrl
lbl_80365038:
/* 80365038 00361F98 38 61 00 10 */ addi r3, r1, 0x10
/* 8036503C 00361F9C 38 80 FF FF */ li r4, -1
/* 80365040 00361FA0 48 00 01 C5 */ bl sub_80365204
/* 80365044 00361FA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80365048 00361FA8 7F E3 FB 78 */ mr r3, r31
/* 8036504C 00361FAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80365050 00361FB0 7C 08 03 A6 */ mtlr r0
/* 80365054 00361FB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80365058 00361FB8 4E 80 00 20 */ blr
.global sub_8036505c
sub_8036505c:
/* 8036505C 00361FBC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80365060 00361FC0 7C 08 02 A6 */ mflr r0
/* 80365064 00361FC4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80365068 00361FC8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8036506C 00361FCC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80365070 00361FD0 7C 9E 23 78 */ mr r30, r4
/* 80365074 00361FD4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80365078 00361FD8 7C 7D 1B 79 */ or. r29, r3, r3
/* 8036507C 00361FDC 41 82 00 A0 */ beq lbl_8036511C
/* 80365080 00361FE0 3C 60 80 3F */ lis r3, lbl_803EF830@ha
/* 80365084 00361FE4 38 03 F8 30 */ addi r0, r3, lbl_803EF830@l
/* 80365088 00361FE8 90 1D 00 00 */ stw r0, 0(r29)
/* 8036508C 00361FEC 83 FD 00 04 */ lwz r31, 4(r29)
/* 80365090 00361FF0 28 1F 00 00 */ cmplwi r31, 0
/* 80365094 00361FF4 41 82 00 54 */ beq lbl_803650E8
/* 80365098 00361FF8 41 82 00 50 */ beq lbl_803650E8
/* 8036509C 00361FFC 41 82 00 44 */ beq lbl_803650E0
/* 803650A0 00362000 80 1F 00 04 */ lwz r0, 4(r31)
/* 803650A4 00362004 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803650A8 00362008 54 00 18 38 */ slwi r0, r0, 3
/* 803650AC 0036200C 7C 03 02 14 */ add r0, r3, r0
/* 803650B0 00362010 90 61 00 0C */ stw r3, 0xc(r1)
/* 803650B4 00362014 7C 64 1B 78 */ mr r4, r3
/* 803650B8 00362018 90 01 00 14 */ stw r0, 0x14(r1)
/* 803650BC 0036201C 90 01 00 10 */ stw r0, 0x10(r1)
/* 803650C0 00362020 90 61 00 08 */ stw r3, 8(r1)
/* 803650C4 00362024 48 00 00 08 */ b lbl_803650CC
lbl_803650C8:
/* 803650C8 00362028 38 84 00 08 */ addi r4, r4, 8
lbl_803650CC:
/* 803650CC 0036202C 7C 04 00 40 */ cmplw r4, r0
/* 803650D0 00362030 40 82 FF F8 */ bne lbl_803650C8
/* 803650D4 00362034 28 03 00 00 */ cmplwi r3, 0
/* 803650D8 00362038 41 82 00 08 */ beq lbl_803650E0
/* 803650DC 0036203C 4B FB 08 55 */ bl Free__7CMemoryFPCv
lbl_803650E0:
/* 803650E0 00362040 7F E3 FB 78 */ mr r3, r31
/* 803650E4 00362044 4B FB 08 4D */ bl Free__7CMemoryFPCv
lbl_803650E8:
/* 803650E8 00362048 28 1D 00 00 */ cmplwi r29, 0
/* 803650EC 0036204C 41 82 00 20 */ beq lbl_8036510C
/* 803650F0 00362050 3C 60 80 3E */ lis r3, lbl_803D8D78@ha
/* 803650F4 00362054 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l
/* 803650F8 00362058 90 1D 00 00 */ stw r0, 0(r29)
/* 803650FC 0036205C 41 82 00 10 */ beq lbl_8036510C
/* 80365100 00362060 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 80365104 00362064 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 80365108 00362068 90 1D 00 00 */ stw r0, 0(r29)
lbl_8036510C:
/* 8036510C 0036206C 7F C0 07 35 */ extsh. r0, r30
/* 80365110 00362070 40 81 00 0C */ ble lbl_8036511C
/* 80365114 00362074 7F A3 EB 78 */ mr r3, r29
/* 80365118 00362078 4B FB 08 19 */ bl Free__7CMemoryFPCv
lbl_8036511C:
/* 8036511C 0036207C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80365120 00362080 7F A3 EB 78 */ mr r3, r29
/* 80365124 00362084 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80365128 00362088 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8036512C 0036208C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80365130 00362090 7C 08 03 A6 */ mtlr r0
/* 80365134 00362094 38 21 00 30 */ addi r1, r1, 0x30
/* 80365138 00362098 4E 80 00 20 */ blr
.global sub_8036513c
sub_8036513c:
/* 8036513C 0036209C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80365140 003620A0 7C 08 02 A6 */ mflr r0
/* 80365144 003620A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80365148 003620A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036514C 003620AC 7C 7F 1B 78 */ mr r31, r3
/* 80365150 003620B0 48 00 00 19 */ bl sub_80365168
/* 80365154 003620B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80365158 003620B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036515C 003620BC 7C 08 03 A6 */ mtlr r0
/* 80365160 003620C0 38 21 00 10 */ addi r1, r1, 0x10
/* 80365164 003620C4 4E 80 00 20 */ blr
.global sub_80365168
sub_80365168:
/* 80365168 003620C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036516C 003620CC 7C 08 02 A6 */ mflr r0
/* 80365170 003620D0 3C A0 80 3E */ lis r5, lbl_803D8408@ha
/* 80365174 003620D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80365178 003620D8 38 05 84 08 */ addi r0, r5, lbl_803D8408@l
/* 8036517C 003620DC 38 A0 00 00 */ li r5, 0
/* 80365180 003620E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80365184 003620E4 7C 9F 23 78 */ mr r31, r4
/* 80365188 003620E8 7C 04 03 78 */ mr r4, r0
/* 8036518C 003620EC 93 C1 00 08 */ stw r30, 8(r1)
/* 80365190 003620F0 7C 7E 1B 78 */ mr r30, r3
/* 80365194 003620F4 38 60 00 08 */ li r3, 8
/* 80365198 003620F8 4B FB 06 D5 */ bl __nw__FUlPCcPCc
/* 8036519C 003620FC 28 03 00 00 */ cmplwi r3, 0
/* 803651A0 00362100 41 82 00 38 */ beq lbl_803651D8
/* 803651A4 00362104 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha
/* 803651A8 00362108 3C A0 80 3E */ lis r5, lbl_803D8D78@ha
/* 803651AC 0036210C 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l
/* 803651B0 00362110 3C 80 80 3F */ lis r4, lbl_803EF830@ha
/* 803651B4 00362114 90 03 00 00 */ stw r0, 0(r3)
/* 803651B8 00362118 38 C5 8D 78 */ addi r6, r5, lbl_803D8D78@l
/* 803651BC 0036211C 38 A0 00 00 */ li r5, 0
/* 803651C0 00362120 38 04 F8 30 */ addi r0, r4, lbl_803EF830@l
/* 803651C4 00362124 90 C3 00 00 */ stw r6, 0(r3)
/* 803651C8 00362128 98 BF 00 00 */ stb r5, 0(r31)
/* 803651CC 0036212C 80 9F 00 04 */ lwz r4, 4(r31)
/* 803651D0 00362130 90 83 00 04 */ stw r4, 4(r3)
/* 803651D4 00362134 90 03 00 00 */ stw r0, 0(r3)
lbl_803651D8:
/* 803651D8 00362138 7C 03 00 D0 */ neg r0, r3
/* 803651DC 0036213C 7C 00 1B 78 */ or r0, r0, r3
/* 803651E0 00362140 54 00 0F FE */ srwi r0, r0, 0x1f
/* 803651E4 00362144 98 1E 00 00 */ stb r0, 0(r30)
/* 803651E8 00362148 90 7E 00 04 */ stw r3, 4(r30)
/* 803651EC 0036214C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803651F0 00362150 83 C1 00 08 */ lwz r30, 8(r1)
/* 803651F4 00362154 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803651F8 00362158 7C 08 03 A6 */ mtlr r0
/* 803651FC 0036215C 38 21 00 10 */ addi r1, r1, 0x10
/* 80365200 00362160 4E 80 00 20 */ blr
.global sub_80365204
sub_80365204:
/* 80365204 00362164 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80365208 00362168 7C 08 02 A6 */ mflr r0
/* 8036520C 0036216C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80365210 00362170 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80365214 00362174 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80365218 00362178 7C 9E 23 78 */ mr r30, r4
/* 8036521C 0036217C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80365220 00362180 7C 7D 1B 79 */ or. r29, r3, r3
/* 80365224 00362184 41 82 00 78 */ beq lbl_8036529C
/* 80365228 00362188 88 1D 00 00 */ lbz r0, 0(r29)
/* 8036522C 0036218C 28 00 00 00 */ cmplwi r0, 0
/* 80365230 00362190 41 82 00 5C */ beq lbl_8036528C
/* 80365234 00362194 83 FD 00 04 */ lwz r31, 4(r29)
/* 80365238 00362198 28 1F 00 00 */ cmplwi r31, 0
/* 8036523C 0036219C 41 82 00 50 */ beq lbl_8036528C
/* 80365240 003621A0 41 82 00 44 */ beq lbl_80365284
/* 80365244 003621A4 80 1F 00 04 */ lwz r0, 4(r31)
/* 80365248 003621A8 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8036524C 003621AC 54 00 18 38 */ slwi r0, r0, 3
/* 80365250 003621B0 7C 03 02 14 */ add r0, r3, r0
/* 80365254 003621B4 90 61 00 0C */ stw r3, 0xc(r1)
/* 80365258 003621B8 7C 64 1B 78 */ mr r4, r3
/* 8036525C 003621BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80365260 003621C0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80365264 003621C4 90 61 00 08 */ stw r3, 8(r1)
/* 80365268 003621C8 48 00 00 08 */ b lbl_80365270
lbl_8036526C:
/* 8036526C 003621CC 38 84 00 08 */ addi r4, r4, 8
lbl_80365270:
/* 80365270 003621D0 7C 04 00 40 */ cmplw r4, r0
/* 80365274 003621D4 40 82 FF F8 */ bne lbl_8036526C
/* 80365278 003621D8 28 03 00 00 */ cmplwi r3, 0
/* 8036527C 003621DC 41 82 00 08 */ beq lbl_80365284
/* 80365280 003621E0 4B FB 06 B1 */ bl Free__7CMemoryFPCv
lbl_80365284:
/* 80365284 003621E4 7F E3 FB 78 */ mr r3, r31
/* 80365288 003621E8 4B FB 06 A9 */ bl Free__7CMemoryFPCv
lbl_8036528C:
/* 8036528C 003621EC 7F C0 07 35 */ extsh. r0, r30
/* 80365290 003621F0 40 81 00 0C */ ble lbl_8036529C
/* 80365294 003621F4 7F A3 EB 78 */ mr r3, r29
/* 80365298 003621F8 4B FB 06 99 */ bl Free__7CMemoryFPCv
lbl_8036529C:
/* 8036529C 003621FC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803652A0 00362200 7F A3 EB 78 */ mr r3, r29
/* 803652A4 00362204 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803652A8 00362208 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803652AC 0036220C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803652B0 00362210 7C 08 03 A6 */ mtlr r0
/* 803652B4 00362214 38 21 00 30 */ addi r1, r1, 0x30
/* 803652B8 00362218 4E 80 00 20 */ blr
.global sub_803652bc
sub_803652bc:
/* 803652BC 0036221C 80 03 00 04 */ lwz r0, 4(r3)
/* 803652C0 00362220 38 C0 00 00 */ li r6, 0
/* 803652C4 00362224 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803652C8 00362228 54 00 18 38 */ slwi r0, r0, 3
/* 803652CC 0036222C 7C 65 02 14 */ add r3, r5, r0
/* 803652D0 00362230 48 00 00 18 */ b lbl_803652E8
lbl_803652D4:
/* 803652D4 00362234 80 05 00 00 */ lwz r0, 0(r5)
/* 803652D8 00362238 7C 04 00 40 */ cmplw r4, r0
/* 803652DC 0036223C 40 82 00 08 */ bne lbl_803652E4
/* 803652E0 00362240 38 C6 00 01 */ addi r6, r6, 1
lbl_803652E4:
/* 803652E4 00362244 38 A5 00 08 */ addi r5, r5, 8
lbl_803652E8:
/* 803652E8 00362248 7C 05 18 40 */ cmplw r5, r3
/* 803652EC 0036224C 40 82 FF E8 */ bne lbl_803652D4
/* 803652F0 00362250 7C C3 33 78 */ mr r3, r6
/* 803652F4 00362254 4E 80 00 20 */ blr
.global ReadFromStream__16CDependencyGroupFR12CInputStream
ReadFromStream__16CDependencyGroupFR12CInputStream:
/* 803652F8 00362258 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803652FC 0036225C 7C 08 02 A6 */ mflr r0
/* 80365300 00362260 90 01 00 24 */ stw r0, 0x24(r1)
/* 80365304 00362264 BF 41 00 08 */ stmw r26, 8(r1)
/* 80365308 00362268 7C 9B 23 78 */ mr r27, r4
/* 8036530C 0036226C 7C 7A 1B 78 */ mr r26, r3
/* 80365310 00362270 7F 63 DB 78 */ mr r3, r27
/* 80365314 00362274 4B FD 99 71 */ bl ReadLong__12CInputStreamFv
/* 80365318 00362278 7C 7D 1B 78 */ mr r29, r3
/* 8036531C 0036227C 7F 43 D3 78 */ mr r3, r26
/* 80365320 00362280 7F A4 EB 78 */ mr r4, r29
/* 80365324 00362284 4B FD B6 61 */ bl "reserve__Q24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>Fi"
/* 80365328 00362288 3B 80 00 00 */ li r28, 0
/* 8036532C 0036228C 48 00 00 70 */ b lbl_8036539C
lbl_80365330:
/* 80365330 00362290 7F 63 DB 78 */ mr r3, r27
/* 80365334 00362294 4B FD 99 51 */ bl ReadLong__12CInputStreamFv
/* 80365338 00362298 7C 7E 1B 78 */ mr r30, r3
/* 8036533C 0036229C 7F 63 DB 78 */ mr r3, r27
/* 80365340 003622A0 4B FD 99 45 */ bl ReadLong__12CInputStreamFv
/* 80365344 003622A4 80 1A 00 04 */ lwz r0, 4(r26)
/* 80365348 003622A8 7C 7F 1B 78 */ mr r31, r3
/* 8036534C 003622AC 80 BA 00 08 */ lwz r5, 8(r26)
/* 80365350 003622B0 7C 00 28 00 */ cmpw r0, r5
/* 80365354 003622B4 41 80 00 1C */ blt lbl_80365370
/* 80365358 003622B8 2C 05 00 00 */ cmpwi r5, 0
/* 8036535C 003622BC 7F 43 D3 78 */ mr r3, r26
/* 80365360 003622C0 38 80 00 04 */ li r4, 4
/* 80365364 003622C4 41 82 00 08 */ beq lbl_8036536C
/* 80365368 003622C8 54 A4 08 3C */ slwi r4, r5, 1
lbl_8036536C:
/* 8036536C 003622CC 4B FD B6 19 */ bl "reserve__Q24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>Fi"
lbl_80365370:
/* 80365370 003622D0 80 1A 00 04 */ lwz r0, 4(r26)
/* 80365374 003622D4 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80365378 003622D8 54 00 18 38 */ slwi r0, r0, 3
/* 8036537C 003622DC 7C 63 02 15 */ add. r3, r3, r0
/* 80365380 003622E0 41 82 00 0C */ beq lbl_8036538C
/* 80365384 003622E4 93 C3 00 00 */ stw r30, 0(r3)
/* 80365388 003622E8 93 E3 00 04 */ stw r31, 4(r3)
lbl_8036538C:
/* 8036538C 003622EC 80 7A 00 04 */ lwz r3, 4(r26)
/* 80365390 003622F0 3B 9C 00 01 */ addi r28, r28, 1
/* 80365394 003622F4 38 03 00 01 */ addi r0, r3, 1
/* 80365398 003622F8 90 1A 00 04 */ stw r0, 4(r26)
lbl_8036539C:
/* 8036539C 003622FC 7C 1C E8 00 */ cmpw r28, r29
/* 803653A0 00362300 41 80 FF 90 */ blt lbl_80365330
/* 803653A4 00362304 BB 41 00 08 */ lmw r26, 8(r1)
/* 803653A8 00362308 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803653AC 0036230C 7C 08 03 A6 */ mtlr r0
/* 803653B0 00362310 38 21 00 20 */ addi r1, r1, 0x20
/* 803653B4 00362314 4E 80 00 20 */ blr
.global __ct__16CDependencyGroupFR12CInputStream
__ct__16CDependencyGroupFR12CInputStream:
/* 803653B8 00362318 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803653BC 0036231C 7C 08 02 A6 */ mflr r0
/* 803653C0 00362320 90 01 00 14 */ stw r0, 0x14(r1)
/* 803653C4 00362324 38 00 00 00 */ li r0, 0
/* 803653C8 00362328 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803653CC 0036232C 7C 7F 1B 78 */ mr r31, r3
/* 803653D0 00362330 90 03 00 04 */ stw r0, 4(r3)
/* 803653D4 00362334 90 03 00 08 */ stw r0, 8(r3)
/* 803653D8 00362338 90 03 00 0C */ stw r0, 0xc(r3)
/* 803653DC 0036233C 4B FF FF 1D */ bl ReadFromStream__16CDependencyGroupFR12CInputStream
/* 803653E0 00362340 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803653E4 00362344 7F E3 FB 78 */ mr r3, r31
/* 803653E8 00362348 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803653EC 0036234C 7C 08 03 A6 */ mtlr r0
/* 803653F0 00362350 38 21 00 10 */ addi r1, r1, 0x10
/* 803653F4 00362354 4E 80 00 20 */ blr

1098
asm/Kyoto/CFactoryMgr.s Normal file

File diff suppressed because it is too large Load Diff

35
asm/Kyoto/CFactoryStore.s Normal file
View File

@ -0,0 +1,35 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global "__dt__31TObjOwnerParam<P12IObjectStore>Fv"
"__dt__31TObjOwnerParam<P12IObjectStore>Fv":
/* 8033FA48 0033C9A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FA4C 0033C9AC 7C 08 02 A6 */ mflr r0
/* 8033FA50 0033C9B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FA54 0033C9B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FA58 0033C9B8 7C 7F 1B 79 */ or. r31, r3, r3
/* 8033FA5C 0033C9BC 41 82 00 40 */ beq lbl_8033FA9C
/* 8033FA60 0033C9C0 3C 60 80 3F */ lis r3, lbl_803EE3D8@ha
/* 8033FA64 0033C9C4 38 03 E3 D8 */ addi r0, r3, lbl_803EE3D8@l
/* 8033FA68 0033C9C8 90 1F 00 00 */ stw r0, 0(r31)
/* 8033FA6C 0033C9CC 41 82 00 20 */ beq lbl_8033FA8C
/* 8033FA70 0033C9D0 3C 60 80 3E */ lis r3, lbl_803D9C44@ha
/* 8033FA74 0033C9D4 38 03 9C 44 */ addi r0, r3, lbl_803D9C44@l
/* 8033FA78 0033C9D8 90 1F 00 00 */ stw r0, 0(r31)
/* 8033FA7C 0033C9DC 41 82 00 10 */ beq lbl_8033FA8C
/* 8033FA80 0033C9E0 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 8033FA84 0033C9E4 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 8033FA88 0033C9E8 90 1F 00 00 */ stw r0, 0(r31)
lbl_8033FA8C:
/* 8033FA8C 0033C9EC 7C 80 07 35 */ extsh. r0, r4
/* 8033FA90 0033C9F0 40 81 00 0C */ ble lbl_8033FA9C
/* 8033FA94 0033C9F4 7F E3 FB 78 */ mr r3, r31
/* 8033FA98 0033C9F8 4B FD 5E 99 */ bl Free__7CMemoryFPCv
lbl_8033FA9C:
/* 8033FA9C 0033C9FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FAA0 0033CA00 7F E3 FB 78 */ mr r3, r31
/* 8033FAA4 0033CA04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FAA8 0033CA08 7C 08 03 A6 */ mtlr r0
/* 8033FAAC 0033CA0C 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FAB0 0033CA10 4E 80 00 20 */ blr

1130
asm/Kyoto/CFinalInput.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,378 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global IsLoading__16CObjectReferenceCFv
IsLoading__16CObjectReferenceCFv:
/* 8033FAB4 0033CA14 88 03 00 03 */ lbz r0, 3(r3)
/* 8033FAB8 0033CA18 38 80 00 00 */ li r4, 0
/* 8033FABC 0033CA1C 54 00 F8 02 */ rlwinm r0, r0, 0x1f, 0, 1
/* 8033FAC0 0033CA20 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 8033FAC4 0033CA24 7C 00 07 75 */ extsb. r0, r0
/* 8033FAC8 0033CA28 41 82 00 14 */ beq lbl_8033FADC
/* 8033FACC 0033CA2C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8033FAD0 0033CA30 28 00 00 00 */ cmplwi r0, 0
/* 8033FAD4 0033CA34 40 82 00 08 */ bne lbl_8033FADC
/* 8033FAD8 0033CA38 38 80 00 01 */ li r4, 1
lbl_8033FADC:
/* 8033FADC 0033CA3C 7C 83 23 78 */ mr r3, r4
/* 8033FAE0 0033CA40 4E 80 00 20 */ blr
.global Unlock__16CObjectReferenceFv
Unlock__16CObjectReferenceFv:
/* 8033FAE4 0033CA44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FAE8 0033CA48 7C 08 02 A6 */ mflr r0
/* 8033FAEC 0033CA4C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FAF0 0033CA50 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FAF4 0033CA54 7C 7F 1B 78 */ mr r31, r3
/* 8033FAF8 0033CA58 A8 A3 00 02 */ lha r5, 2(r3)
/* 8033FAFC 0033CA5C 54 A0 80 1E */ slwi r0, r5, 0x10
/* 8033FB00 0033CA60 7C 04 8E 70 */ srawi r4, r0, 0x11
/* 8033FB04 0033CA64 38 04 FF FF */ addi r0, r4, -1
/* 8033FB08 0033CA68 50 05 0C 3C */ rlwimi r5, r0, 1, 0x10, 0x1e
/* 8033FB0C 0033CA6C B0 A3 00 02 */ sth r5, 2(r3)
/* 8033FB10 0033CA70 A8 03 00 02 */ lha r0, 2(r3)
/* 8033FB14 0033CA74 54 00 80 1E */ slwi r0, r0, 0x10
/* 8033FB18 0033CA78 7C 00 8E 70 */ srawi r0, r0, 0x11
/* 8033FB1C 0033CA7C 7C 00 07 35 */ extsh. r0, r0
/* 8033FB20 0033CA80 40 82 00 3C */ bne lbl_8033FB5C
/* 8033FB24 0033CA84 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8033FB28 0033CA88 28 00 00 00 */ cmplwi r0, 0
/* 8033FB2C 0033CA8C 41 82 00 18 */ beq lbl_8033FB44
/* 8033FB30 0033CA90 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8033FB34 0033CA94 28 00 00 00 */ cmplwi r0, 0
/* 8033FB38 0033CA98 41 82 00 0C */ beq lbl_8033FB44
/* 8033FB3C 0033CA9C 48 00 01 39 */ bl Unload__16CObjectReferenceFv
/* 8033FB40 0033CAA0 48 00 00 1C */ b lbl_8033FB5C
lbl_8033FB44:
/* 8033FB44 0033CAA4 7F E3 FB 78 */ mr r3, r31
/* 8033FB48 0033CAA8 4B FF FF 6D */ bl IsLoading__16CObjectReferenceCFv
/* 8033FB4C 0033CAAC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8033FB50 0033CAB0 41 82 00 0C */ beq lbl_8033FB5C
/* 8033FB54 0033CAB4 7F E3 FB 78 */ mr r3, r31
/* 8033FB58 0033CAB8 48 00 00 A5 */ bl CancelLoad__16CObjectReferenceFv
lbl_8033FB5C:
/* 8033FB5C 0033CABC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FB60 0033CAC0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FB64 0033CAC4 7C 08 03 A6 */ mtlr r0
/* 8033FB68 0033CAC8 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FB6C 0033CACC 4E 80 00 20 */ blr
.global RemoveReference__16CObjectReferenceFv
RemoveReference__16CObjectReferenceFv:
/* 8033FB70 0033CAD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FB74 0033CAD4 7C 08 02 A6 */ mflr r0
/* 8033FB78 0033CAD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FB7C 0033CADC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FB80 0033CAE0 7C 7F 1B 78 */ mr r31, r3
/* 8033FB84 0033CAE4 A8 83 00 00 */ lha r4, 0(r3)
/* 8033FB88 0033CAE8 38 04 FF FF */ addi r0, r4, -1
/* 8033FB8C 0033CAEC B0 03 00 00 */ sth r0, 0(r3)
/* 8033FB90 0033CAF0 A8 03 00 00 */ lha r0, 0(r3)
/* 8033FB94 0033CAF4 2C 00 00 00 */ cmpwi r0, 0
/* 8033FB98 0033CAF8 40 82 00 4C */ bne lbl_8033FBE4
/* 8033FB9C 0033CAFC 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8033FBA0 0033CB00 28 00 00 00 */ cmplwi r0, 0
/* 8033FBA4 0033CB04 41 82 00 0C */ beq lbl_8033FBB0
/* 8033FBA8 0033CB08 48 00 00 CD */ bl Unload__16CObjectReferenceFv
/* 8033FBAC 0033CB0C 48 00 00 18 */ b lbl_8033FBC4
lbl_8033FBB0:
/* 8033FBB0 0033CB10 4B FF FF 05 */ bl IsLoading__16CObjectReferenceCFv
/* 8033FBB4 0033CB14 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8033FBB8 0033CB18 41 82 00 0C */ beq lbl_8033FBC4
/* 8033FBBC 0033CB1C 7F E3 FB 78 */ mr r3, r31
/* 8033FBC0 0033CB20 48 00 00 3D */ bl CancelLoad__16CObjectReferenceFv
lbl_8033FBC4:
/* 8033FBC4 0033CB24 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8033FBC8 0033CB28 28 03 00 00 */ cmplwi r3, 0
/* 8033FBCC 0033CB2C 41 82 00 18 */ beq lbl_8033FBE4
/* 8033FBD0 0033CB30 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FBD4 0033CB34 38 9F 00 04 */ addi r4, r31, 4
/* 8033FBD8 0033CB38 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8033FBDC 0033CB3C 7D 89 03 A6 */ mtctr r12
/* 8033FBE0 0033CB40 4E 80 04 21 */ bctrl
lbl_8033FBE4:
/* 8033FBE4 0033CB44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FBE8 0033CB48 A8 7F 00 00 */ lha r3, 0(r31)
/* 8033FBEC 0033CB4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FBF0 0033CB50 7C 08 03 A6 */ mtlr r0
/* 8033FBF4 0033CB54 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FBF8 0033CB58 4E 80 00 20 */ blr
.global CancelLoad__16CObjectReferenceFv
CancelLoad__16CObjectReferenceFv:
/* 8033FBFC 0033CB5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FC00 0033CB60 7C 08 02 A6 */ mflr r0
/* 8033FC04 0033CB64 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FC08 0033CB68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FC0C 0033CB6C 7C 7F 1B 78 */ mr r31, r3
/* 8033FC10 0033CB70 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8033FC14 0033CB74 28 00 00 00 */ cmplwi r0, 0
/* 8033FC18 0033CB78 41 82 00 48 */ beq lbl_8033FC60
/* 8033FC1C 0033CB7C 4B FF FE 99 */ bl IsLoading__16CObjectReferenceCFv
/* 8033FC20 0033CB80 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8033FC24 0033CB84 41 82 00 3C */ beq lbl_8033FC60
/* 8033FC28 0033CB88 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8033FC2C 0033CB8C 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FC30 0033CB90 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8033FC34 0033CB94 7D 89 03 A6 */ mtctr r12
/* 8033FC38 0033CB98 4E 80 04 21 */ bctrl
/* 8033FC3C 0033CB9C 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FC40 0033CBA0 38 9F 00 04 */ addi r4, r31, 4
/* 8033FC44 0033CBA4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8033FC48 0033CBA8 7D 89 03 A6 */ mtctr r12
/* 8033FC4C 0033CBAC 4E 80 04 21 */ bctrl
/* 8033FC50 0033CBB0 88 1F 00 03 */ lbz r0, 3(r31)
/* 8033FC54 0033CBB4 38 60 00 00 */ li r3, 0
/* 8033FC58 0033CBB8 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8033FC5C 0033CBBC 98 1F 00 03 */ stb r0, 3(r31)
lbl_8033FC60:
/* 8033FC60 0033CBC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FC64 0033CBC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FC68 0033CBC8 7C 08 03 A6 */ mtlr r0
/* 8033FC6C 0033CBCC 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FC70 0033CBD0 4E 80 00 20 */ blr
.global Unload__16CObjectReferenceFv
Unload__16CObjectReferenceFv:
/* 8033FC74 0033CBD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FC78 0033CBD8 7C 08 02 A6 */ mflr r0
/* 8033FC7C 0033CBDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FC80 0033CBE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FC84 0033CBE4 7C 7F 1B 78 */ mr r31, r3
/* 8033FC88 0033CBE8 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8033FC8C 0033CBEC 28 03 00 00 */ cmplwi r3, 0
/* 8033FC90 0033CBF0 41 82 00 18 */ beq lbl_8033FCA8
/* 8033FC94 0033CBF4 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FC98 0033CBF8 38 80 00 01 */ li r4, 1
/* 8033FC9C 0033CBFC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8033FCA0 0033CC00 7D 89 03 A6 */ mtctr r12
/* 8033FCA4 0033CC04 4E 80 04 21 */ bctrl
lbl_8033FCA8:
/* 8033FCA8 0033CC08 38 60 00 00 */ li r3, 0
/* 8033FCAC 0033CC0C 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8033FCB0 0033CC10 88 1F 00 03 */ lbz r0, 3(r31)
/* 8033FCB4 0033CC14 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8033FCB8 0033CC18 98 1F 00 03 */ stb r0, 3(r31)
/* 8033FCBC 0033CC1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FCC0 0033CC20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FCC4 0033CC24 7C 08 03 A6 */ mtlr r0
/* 8033FCC8 0033CC28 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FCCC 0033CC2C 4E 80 00 20 */ blr
.global GetObject__16CObjectReferenceFv
GetObject__16CObjectReferenceFv:
/* 8033FCD0 0033CC30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8033FCD4 0033CC34 7C 08 02 A6 */ mflr r0
/* 8033FCD8 0033CC38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033FCDC 0033CC3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8033FCE0 0033CC40 7C 7F 1B 78 */ mr r31, r3
/* 8033FCE4 0033CC44 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8033FCE8 0033CC48 28 00 00 00 */ cmplwi r0, 0
/* 8033FCEC 0033CC4C 40 82 00 74 */ bne lbl_8033FD60
/* 8033FCF0 0033CC50 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8033FCF4 0033CC54 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FCF8 0033CC58 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8033FCFC 0033CC5C 7D 89 03 A6 */ mtctr r12
/* 8033FD00 0033CC60 4E 80 04 21 */ bctrl
/* 8033FD04 0033CC64 7C 64 1B 78 */ mr r4, r3
/* 8033FD08 0033CC68 38 61 00 08 */ addi r3, r1, 8
/* 8033FD0C 0033CC6C 81 84 00 00 */ lwz r12, 0(r4)
/* 8033FD10 0033CC70 38 BF 00 04 */ addi r5, r31, 4
/* 8033FD14 0033CC74 38 DF 00 14 */ addi r6, r31, 0x14
/* 8033FD18 0033CC78 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8033FD1C 0033CC7C 7D 89 03 A6 */ mtctr r12
/* 8033FD20 0033CC80 4E 80 04 21 */ bctrl
/* 8033FD24 0033CC84 38 00 00 00 */ li r0, 0
/* 8033FD28 0033CC88 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8033FD2C 0033CC8C 98 01 00 08 */ stb r0, 8(r1)
/* 8033FD30 0033CC90 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8033FD34 0033CC94 88 01 00 08 */ lbz r0, 8(r1)
/* 8033FD38 0033CC98 28 00 00 00 */ cmplwi r0, 0
/* 8033FD3C 0033CC9C 41 82 00 24 */ beq lbl_8033FD60
/* 8033FD40 0033CCA0 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8033FD44 0033CCA4 28 03 00 00 */ cmplwi r3, 0
/* 8033FD48 0033CCA8 41 82 00 18 */ beq lbl_8033FD60
/* 8033FD4C 0033CCAC 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FD50 0033CCB0 38 80 00 01 */ li r4, 1
/* 8033FD54 0033CCB4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8033FD58 0033CCB8 7D 89 03 A6 */ mtctr r12
/* 8033FD5C 0033CCBC 4E 80 04 21 */ bctrl
lbl_8033FD60:
/* 8033FD60 0033CCC0 88 1F 00 03 */ lbz r0, 3(r31)
/* 8033FD64 0033CCC4 38 60 00 00 */ li r3, 0
/* 8033FD68 0033CCC8 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8033FD6C 0033CCCC 98 1F 00 03 */ stb r0, 3(r31)
/* 8033FD70 0033CCD0 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8033FD74 0033CCD4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8033FD78 0033CCD8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8033FD7C 0033CCDC 7C 08 03 A6 */ mtlr r0
/* 8033FD80 0033CCE0 38 21 00 20 */ addi r1, r1, 0x20
/* 8033FD84 0033CCE4 4E 80 00 20 */ blr
.global Lock__16CObjectReferenceFv
Lock__16CObjectReferenceFv:
/* 8033FD88 0033CCE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FD8C 0033CCEC 7C 08 02 A6 */ mflr r0
/* 8033FD90 0033CCF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FD94 0033CCF4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FD98 0033CCF8 7C 7F 1B 78 */ mr r31, r3
/* 8033FD9C 0033CCFC A8 83 00 02 */ lha r4, 2(r3)
/* 8033FDA0 0033CD00 54 80 80 1E */ slwi r0, r4, 0x10
/* 8033FDA4 0033CD04 7C 03 8E 70 */ srawi r3, r0, 0x11
/* 8033FDA8 0033CD08 38 03 00 01 */ addi r0, r3, 1
/* 8033FDAC 0033CD0C 50 04 0C 3C */ rlwimi r4, r0, 1, 0x10, 0x1e
/* 8033FDB0 0033CD10 B0 9F 00 02 */ sth r4, 2(r31)
/* 8033FDB4 0033CD14 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8033FDB8 0033CD18 28 00 00 00 */ cmplwi r0, 0
/* 8033FDBC 0033CD1C 40 82 00 58 */ bne lbl_8033FE14
/* 8033FDC0 0033CD20 88 1F 00 03 */ lbz r0, 3(r31)
/* 8033FDC4 0033CD24 54 00 F8 02 */ rlwinm r0, r0, 0x1f, 0, 1
/* 8033FDC8 0033CD28 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 8033FDCC 0033CD2C 7C 00 07 75 */ extsb. r0, r0
/* 8033FDD0 0033CD30 40 82 00 44 */ bne lbl_8033FE14
/* 8033FDD4 0033CD34 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8033FDD8 0033CD38 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FDDC 0033CD3C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8033FDE0 0033CD40 7D 89 03 A6 */ mtctr r12
/* 8033FDE4 0033CD44 4E 80 04 21 */ bctrl
/* 8033FDE8 0033CD48 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FDEC 0033CD4C 38 9F 00 04 */ addi r4, r31, 4
/* 8033FDF0 0033CD50 38 BF 00 14 */ addi r5, r31, 0x14
/* 8033FDF4 0033CD54 38 DF 00 10 */ addi r6, r31, 0x10
/* 8033FDF8 0033CD58 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8033FDFC 0033CD5C 7D 89 03 A6 */ mtctr r12
/* 8033FE00 0033CD60 4E 80 04 21 */ bctrl
/* 8033FE04 0033CD64 88 1F 00 03 */ lbz r0, 3(r31)
/* 8033FE08 0033CD68 38 60 00 01 */ li r3, 1
/* 8033FE0C 0033CD6C 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8033FE10 0033CD70 98 1F 00 03 */ stb r0, 3(r31)
lbl_8033FE14:
/* 8033FE14 0033CD74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FE18 0033CD78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FE1C 0033CD7C 7C 08 03 A6 */ mtlr r0
/* 8033FE20 0033CD80 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FE24 0033CD84 4E 80 00 20 */ blr
.global __dt__16CObjectReferenceFv
__dt__16CObjectReferenceFv:
/* 8033FE28 0033CD88 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033FE2C 0033CD8C 7C 08 02 A6 */ mflr r0
/* 8033FE30 0033CD90 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033FE34 0033CD94 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033FE38 0033CD98 7C 9F 23 78 */ mr r31, r4
/* 8033FE3C 0033CD9C 93 C1 00 08 */ stw r30, 8(r1)
/* 8033FE40 0033CDA0 7C 7E 1B 79 */ or. r30, r3, r3
/* 8033FE44 0033CDA4 41 82 00 90 */ beq lbl_8033FED4
/* 8033FE48 0033CDA8 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8033FE4C 0033CDAC 28 03 00 00 */ cmplwi r3, 0
/* 8033FE50 0033CDB0 41 82 00 20 */ beq lbl_8033FE70
/* 8033FE54 0033CDB4 41 82 00 58 */ beq lbl_8033FEAC
/* 8033FE58 0033CDB8 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FE5C 0033CDBC 38 80 00 01 */ li r4, 1
/* 8033FE60 0033CDC0 81 8C 00 08 */ lwz r12, 8(r12)
/* 8033FE64 0033CDC4 7D 89 03 A6 */ mtctr r12
/* 8033FE68 0033CDC8 4E 80 04 21 */ bctrl
/* 8033FE6C 0033CDCC 48 00 00 40 */ b lbl_8033FEAC
lbl_8033FE70:
/* 8033FE70 0033CDD0 88 1E 00 03 */ lbz r0, 3(r30)
/* 8033FE74 0033CDD4 54 00 F8 02 */ rlwinm r0, r0, 0x1f, 0, 1
/* 8033FE78 0033CDD8 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 8033FE7C 0033CDDC 7C 00 07 75 */ extsb. r0, r0
/* 8033FE80 0033CDE0 41 82 00 2C */ beq lbl_8033FEAC
/* 8033FE84 0033CDE4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8033FE88 0033CDE8 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FE8C 0033CDEC 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8033FE90 0033CDF0 7D 89 03 A6 */ mtctr r12
/* 8033FE94 0033CDF4 4E 80 04 21 */ bctrl
/* 8033FE98 0033CDF8 81 83 00 00 */ lwz r12, 0(r3)
/* 8033FE9C 0033CDFC 38 9E 00 04 */ addi r4, r30, 4
/* 8033FEA0 0033CE00 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8033FEA4 0033CE04 7D 89 03 A6 */ mtctr r12
/* 8033FEA8 0033CE08 4E 80 04 21 */ bctrl
lbl_8033FEAC:
/* 8033FEAC 0033CE0C 34 1E 00 14 */ addic. r0, r30, 0x14
/* 8033FEB0 0033CE10 41 82 00 14 */ beq lbl_8033FEC4
/* 8033FEB4 0033CE14 34 1E 00 14 */ addic. r0, r30, 0x14
/* 8033FEB8 0033CE18 41 82 00 0C */ beq lbl_8033FEC4
/* 8033FEBC 0033CE1C 38 7E 00 14 */ addi r3, r30, 0x14
/* 8033FEC0 0033CE20 4B CF 44 45 */ bl sub_80034304
lbl_8033FEC4:
/* 8033FEC4 0033CE24 7F E0 07 35 */ extsh. r0, r31
/* 8033FEC8 0033CE28 40 81 00 0C */ ble lbl_8033FED4
/* 8033FECC 0033CE2C 7F C3 F3 78 */ mr r3, r30
/* 8033FED0 0033CE30 4B FD 5A 61 */ bl Free__7CMemoryFPCv
lbl_8033FED4:
/* 8033FED4 0033CE34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033FED8 0033CE38 7F C3 F3 78 */ mr r3, r30
/* 8033FEDC 0033CE3C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033FEE0 0033CE40 83 C1 00 08 */ lwz r30, 8(r1)
/* 8033FEE4 0033CE44 7C 08 03 A6 */ mtlr r0
/* 8033FEE8 0033CE48 38 21 00 10 */ addi r1, r1, 0x10
/* 8033FEEC 0033CE4C 4E 80 00 20 */ blr
.global "__ct__16CObjectReferenceFRCQ24rstl15auto_ptr<4IObj>"
"__ct__16CObjectReferenceFRCQ24rstl15auto_ptr<4IObj>":
/* 8033FEF0 0033CE50 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8033FEF4 0033CE54 7C 08 02 A6 */ mflr r0
/* 8033FEF8 0033CE58 38 A0 00 00 */ li r5, 0
/* 8033FEFC 0033CE5C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033FF00 0033CE60 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8033FF04 0033CE64 7C 7F 1B 78 */ mr r31, r3
/* 8033FF08 0033CE68 A8 03 00 00 */ lha r0, 0(r3)
/* 8033FF0C 0033CE6C 50 A0 04 3E */ rlwimi r0, r5, 0, 0x10, 0x1f
/* 8033FF10 0033CE70 38 61 00 08 */ addi r3, r1, 8
/* 8033FF14 0033CE74 B0 1F 00 00 */ sth r0, 0(r31)
/* 8033FF18 0033CE78 A8 1F 00 02 */ lha r0, 2(r31)
/* 8033FF1C 0033CE7C 50 A0 0C 3C */ rlwimi r0, r5, 1, 0x10, 0x1e
/* 8033FF20 0033CE80 B0 1F 00 02 */ sth r0, 2(r31)
/* 8033FF24 0033CE84 A8 1F 00 02 */ lha r0, 2(r31)
/* 8033FF28 0033CE88 50 A0 07 FE */ rlwimi r0, r5, 0, 0x1f, 0x1f
/* 8033FF2C 0033CE8C B0 1F 00 02 */ sth r0, 2(r31)
/* 8033FF30 0033CE90 90 BF 00 0C */ stw r5, 0xc(r31)
/* 8033FF34 0033CE94 98 A4 00 00 */ stb r5, 0(r4)
/* 8033FF38 0033CE98 80 04 00 04 */ lwz r0, 4(r4)
/* 8033FF3C 0033CE9C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8033FF40 0033CEA0 4B CF 4A 15 */ bl Null__15CVParamTransferFv
/* 8033FF44 0033CEA4 80 01 00 08 */ lwz r0, 8(r1)
/* 8033FF48 0033CEA8 38 61 00 08 */ addi r3, r1, 8
/* 8033FF4C 0033CEAC 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8033FF50 0033CEB0 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8033FF54 0033CEB4 80 85 00 04 */ lwz r4, 4(r5)
/* 8033FF58 0033CEB8 38 04 00 01 */ addi r0, r4, 1
/* 8033FF5C 0033CEBC 90 05 00 04 */ stw r0, 4(r5)
/* 8033FF60 0033CEC0 4B CF 43 A5 */ bl sub_80034304
/* 8033FF64 0033CEC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8033FF68 0033CEC8 7F E3 FB 78 */ mr r3, r31
/* 8033FF6C 0033CECC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8033FF70 0033CED0 7C 08 03 A6 */ mtlr r0
/* 8033FF74 0033CED4 38 21 00 20 */ addi r1, r1, 0x20
/* 8033FF78 0033CED8 4E 80 00 20 */ blr
.global "__ct__16CObjectReferenceFR12IObjectStoreRCQ24rstl15auto_ptr<4IObj>RC10SObjectTag15CVParamTransfer"
"__ct__16CObjectReferenceFR12IObjectStoreRCQ24rstl15auto_ptr<4IObj>RC10SObjectTag15CVParamTransfer":
/* 8033FF7C 0033CEDC 39 00 00 00 */ li r8, 0
/* 8033FF80 0033CEE0 A8 03 00 00 */ lha r0, 0(r3)
/* 8033FF84 0033CEE4 51 00 04 3E */ rlwimi r0, r8, 0, 0x10, 0x1f
/* 8033FF88 0033CEE8 B0 03 00 00 */ sth r0, 0(r3)
/* 8033FF8C 0033CEEC A8 03 00 02 */ lha r0, 2(r3)
/* 8033FF90 0033CEF0 51 00 0C 3C */ rlwimi r0, r8, 1, 0x10, 0x1e
/* 8033FF94 0033CEF4 B0 03 00 02 */ sth r0, 2(r3)
/* 8033FF98 0033CEF8 A8 03 00 02 */ lha r0, 2(r3)
/* 8033FF9C 0033CEFC 51 00 07 FE */ rlwimi r0, r8, 0, 0x1f, 0x1f
/* 8033FFA0 0033CF00 B0 03 00 02 */ sth r0, 2(r3)
/* 8033FFA4 0033CF04 80 06 00 00 */ lwz r0, 0(r6)
/* 8033FFA8 0033CF08 90 03 00 04 */ stw r0, 4(r3)
/* 8033FFAC 0033CF0C 80 06 00 04 */ lwz r0, 4(r6)
/* 8033FFB0 0033CF10 90 03 00 08 */ stw r0, 8(r3)
/* 8033FFB4 0033CF14 90 83 00 0C */ stw r4, 0xc(r3)
/* 8033FFB8 0033CF18 99 05 00 00 */ stb r8, 0(r5)
/* 8033FFBC 0033CF1C 80 05 00 04 */ lwz r0, 4(r5)
/* 8033FFC0 0033CF20 90 03 00 10 */ stw r0, 0x10(r3)
/* 8033FFC4 0033CF24 80 07 00 00 */ lwz r0, 0(r7)
/* 8033FFC8 0033CF28 90 03 00 14 */ stw r0, 0x14(r3)
/* 8033FFCC 0033CF2C 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 8033FFD0 0033CF30 80 85 00 04 */ lwz r4, 4(r5)
/* 8033FFD4 0033CF34 38 04 00 01 */ addi r0, r4, 1
/* 8033FFD8 0033CF38 90 05 00 04 */ stw r0, 4(r5)
/* 8033FFDC 0033CF3C 4E 80 00 20 */ blr

2076
asm/Kyoto/CPakFile.s Normal file

File diff suppressed because it is too large Load Diff

166
asm/Kyoto/CRandom16.s Normal file
View File

@ -0,0 +1,166 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Float__9CRandom16Fv
Float__9CRandom16Fv:
/* 803124DC 0030F43C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803124E0 0030F440 7C 08 02 A6 */ mflr r0
/* 803124E4 0030F444 90 01 00 14 */ stw r0, 0x14(r1)
/* 803124E8 0030F448 48 00 00 39 */ bl Next__9CRandom16Fv
/* 803124EC 0030F44C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 803124F0 0030F450 3C 00 43 30 */ lis r0, 0x4330
/* 803124F4 0030F454 90 61 00 0C */ stw r3, 0xc(r1)
/* 803124F8 0030F458 C8 22 C8 C8 */ lfd f1, lbl_805AE5E8@sda21(r2)
/* 803124FC 0030F45C 90 01 00 08 */ stw r0, 8(r1)
/* 80312500 0030F460 C0 42 C8 C0 */ lfs f2, lbl_805AE5E0@sda21(r2)
/* 80312504 0030F464 C8 01 00 08 */ lfd f0, 8(r1)
/* 80312508 0030F468 EC 00 08 28 */ fsubs f0, f0, f1
/* 8031250C 0030F46C EC 22 00 32 */ fmuls f1, f2, f0
/* 80312510 0030F470 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312514 0030F474 7C 08 03 A6 */ mtlr r0
/* 80312518 0030F478 38 21 00 10 */ addi r1, r1, 0x10
/* 8031251C 0030F47C 4E 80 00 20 */ blr
.global Next__9CRandom16Fv
Next__9CRandom16Fv:
/* 80312520 0030F480 3C 80 41 C6 */ lis r4, 0x41C64E6D@ha
/* 80312524 0030F484 80 A3 00 00 */ lwz r5, 0(r3)
/* 80312528 0030F488 38 04 4E 6D */ addi r0, r4, 0x41C64E6D@l
/* 8031252C 0030F48C 7C 85 01 D6 */ mullw r4, r5, r0
/* 80312530 0030F490 38 04 30 39 */ addi r0, r4, 0x3039
/* 80312534 0030F494 90 03 00 00 */ stw r0, 0(r3)
/* 80312538 0030F498 80 03 00 00 */ lwz r0, 0(r3)
/* 8031253C 0030F49C 54 03 84 3E */ srwi r3, r0, 0x10
/* 80312540 0030F4A0 4E 80 00 20 */ blr
.global Range__9CRandom16Fff
Range__9CRandom16Fff:
/* 80312544 0030F4A4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80312548 0030F4A8 7C 08 02 A6 */ mflr r0
/* 8031254C 0030F4AC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80312550 0030F4B0 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80312554 0030F4B4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80312558 0030F4B8 DB C1 00 10 */ stfd f30, 0x10(r1)
/* 8031255C 0030F4BC F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
/* 80312560 0030F4C0 FF C0 08 90 */ fmr f30, f1
/* 80312564 0030F4C4 FF E0 10 90 */ fmr f31, f2
/* 80312568 0030F4C8 4B FF FF 75 */ bl Float__9CRandom16Fv
/* 8031256C 0030F4CC EC 1F F0 28 */ fsubs f0, f31, f30
/* 80312570 0030F4D0 EC 20 F0 7A */ fmadds f1, f0, f1, f30
/* 80312574 0030F4D4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80312578 0030F4D8 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8031257C 0030F4DC E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
/* 80312580 0030F4E0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80312584 0030F4E4 CB C1 00 10 */ lfd f30, 0x10(r1)
/* 80312588 0030F4E8 7C 08 03 A6 */ mtlr r0
/* 8031258C 0030F4EC 38 21 00 30 */ addi r1, r1, 0x30
/* 80312590 0030F4F0 4E 80 00 20 */ blr
.global Range__9CRandom16Fii
Range__9CRandom16Fii:
/* 80312594 0030F4F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312598 0030F4F8 7C 08 02 A6 */ mflr r0
/* 8031259C 0030F4FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803125A0 0030F500 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803125A4 0030F504 7C BF 2B 78 */ mr r31, r5
/* 803125A8 0030F508 93 C1 00 08 */ stw r30, 8(r1)
/* 803125AC 0030F50C 7C 9E 23 78 */ mr r30, r4
/* 803125B0 0030F510 4B FF FF 71 */ bl Next__9CRandom16Fv
/* 803125B4 0030F514 7C 9E F8 50 */ subf r4, r30, r31
/* 803125B8 0030F518 38 84 00 01 */ addi r4, r4, 1
/* 803125BC 0030F51C 7C 03 23 D6 */ divw r0, r3, r4
/* 803125C0 0030F520 7C 00 21 D6 */ mullw r0, r0, r4
/* 803125C4 0030F524 7C 00 18 50 */ subf r0, r0, r3
/* 803125C8 0030F528 7C 7E 02 14 */ add r3, r30, r0
/* 803125CC 0030F52C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803125D0 0030F530 83 C1 00 08 */ lwz r30, 8(r1)
/* 803125D4 0030F534 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803125D8 0030F538 7C 08 03 A6 */ mtlr r0
/* 803125DC 0030F53C 38 21 00 10 */ addi r1, r1, 0x10
/* 803125E0 0030F540 4E 80 00 20 */ blr
.global SetSeed__9CRandom16FUi
SetSeed__9CRandom16FUi:
/* 803125E4 0030F544 90 83 00 00 */ stw r4, 0(r3)
/* 803125E8 0030F548 4E 80 00 20 */ blr
.global __ct__9CRandom16FUi
__ct__9CRandom16FUi:
/* 803125EC 0030F54C 90 83 00 00 */ stw r4, 0(r3)
/* 803125F0 0030F550 4E 80 00 20 */ blr
.global _SetRandomNumber__9CRandom16FP9CRandom16
_SetRandomNumber__9CRandom16FP9CRandom16:
/* 803125F4 0030F554 90 6D A8 90 */ stw r3, lbl_805A9450@sda21(r13)
/* 803125F8 0030F558 4E 80 00 20 */ blr
.global GetRandomNumber__9CRandom16Fv
GetRandomNumber__9CRandom16Fv:
/* 803125FC 0030F55C 80 6D A8 90 */ lwz r3, lbl_805A9450@sda21(r13)
/* 80312600 0030F560 4E 80 00 20 */ blr
.global __dt__13CGlobalRandomFv
__dt__13CGlobalRandomFv:
/* 80312604 0030F564 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312608 0030F568 7C 08 02 A6 */ mflr r0
/* 8031260C 0030F56C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312610 0030F570 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312614 0030F574 7C 9F 23 78 */ mr r31, r4
/* 80312618 0030F578 93 C1 00 08 */ stw r30, 8(r1)
/* 8031261C 0030F57C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80312620 0030F580 41 82 00 44 */ beq lbl_80312664
/* 80312624 0030F584 80 7E 00 08 */ lwz r3, 8(r30)
/* 80312628 0030F588 28 03 00 00 */ cmplwi r3, 0
/* 8031262C 0030F58C 90 6D A8 94 */ stw r3, lbl_805A9454@sda21(r13)
/* 80312630 0030F590 41 82 00 1C */ beq lbl_8031264C
/* 80312634 0030F594 38 00 00 01 */ li r0, 1
/* 80312638 0030F598 98 03 00 04 */ stb r0, 4(r3)
/* 8031263C 0030F59C 80 6D A8 94 */ lwz r3, lbl_805A9454@sda21(r13)
/* 80312640 0030F5A0 80 63 00 00 */ lwz r3, 0(r3)
/* 80312644 0030F5A4 4B FF FF B1 */ bl _SetRandomNumber__9CRandom16FP9CRandom16
/* 80312648 0030F5A8 48 00 00 0C */ b lbl_80312654
lbl_8031264C:
/* 8031264C 0030F5AC 38 60 00 00 */ li r3, 0
/* 80312650 0030F5B0 4B FF FF A5 */ bl _SetRandomNumber__9CRandom16FP9CRandom16
lbl_80312654:
/* 80312654 0030F5B4 7F E0 07 35 */ extsh. r0, r31
/* 80312658 0030F5B8 40 81 00 0C */ ble lbl_80312664
/* 8031265C 0030F5BC 7F C3 F3 78 */ mr r3, r30
/* 80312660 0030F5C0 48 00 32 D1 */ bl Free__7CMemoryFPCv
lbl_80312664:
/* 80312664 0030F5C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312668 0030F5C8 7F C3 F3 78 */ mr r3, r30
/* 8031266C 0030F5CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312670 0030F5D0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312674 0030F5D4 7C 08 03 A6 */ mtlr r0
/* 80312678 0030F5D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8031267C 0030F5DC 4E 80 00 20 */ blr
.global __ct__13CGlobalRandomFR9CRandom16
__ct__13CGlobalRandomFR9CRandom16:
/* 80312680 0030F5E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312684 0030F5E4 7C 08 02 A6 */ mflr r0
/* 80312688 0030F5E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031268C 0030F5EC 38 00 00 01 */ li r0, 1
/* 80312690 0030F5F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312694 0030F5F4 7C 7F 1B 78 */ mr r31, r3
/* 80312698 0030F5F8 90 83 00 00 */ stw r4, 0(r3)
/* 8031269C 0030F5FC 98 03 00 04 */ stb r0, 4(r3)
/* 803126A0 0030F600 80 0D A8 94 */ lwz r0, lbl_805A9454@sda21(r13)
/* 803126A4 0030F604 90 03 00 08 */ stw r0, 8(r3)
/* 803126A8 0030F608 80 63 00 08 */ lwz r3, 8(r3)
/* 803126AC 0030F60C 28 03 00 00 */ cmplwi r3, 0
/* 803126B0 0030F610 41 82 00 0C */ beq lbl_803126BC
/* 803126B4 0030F614 38 00 00 00 */ li r0, 0
/* 803126B8 0030F618 98 03 00 04 */ stb r0, 4(r3)
lbl_803126BC:
/* 803126BC 0030F61C 93 ED A8 94 */ stw r31, lbl_805A9454@sda21(r13)
/* 803126C0 0030F620 80 7F 00 00 */ lwz r3, 0(r31)
/* 803126C4 0030F624 4B FF FF 31 */ bl _SetRandomNumber__9CRandom16FP9CRandom16
/* 803126C8 0030F628 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803126CC 0030F62C 7F E3 FB 78 */ mr r3, r31
/* 803126D0 0030F630 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803126D4 0030F634 7C 08 03 A6 */ mtlr r0
/* 803126D8 0030F638 38 21 00 10 */ addi r1, r1, 0x10
/* 803126DC 0030F63C 4E 80 00 20 */ blr

1735
asm/Kyoto/CResFactory.s Normal file

File diff suppressed because it is too large Load Diff

1870
asm/Kyoto/CResLoader.s Normal file

File diff suppressed because it is too large Load Diff

965
asm/Kyoto/CSimplePool.s Normal file
View File

@ -0,0 +1,965 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetFactory__11CSimplePoolCFv
GetFactory__11CSimplePoolCFv:
/* 8033FFE0 0033CF40 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8033FFE4 0033CF44 4E 80 00 20 */ blr
.global GetReferencedTags__11CSimplePoolFv
GetReferencedTags__11CSimplePoolFv:
/* 8033FFE8 0033CF48 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8033FFEC 0033CF4C 7C 08 02 A6 */ mflr r0
/* 8033FFF0 0033CF50 90 01 00 44 */ stw r0, 0x44(r1)
/* 8033FFF4 0033CF54 38 00 00 00 */ li r0, 0
/* 8033FFF8 0033CF58 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8033FFFC 0033CF5C 7C 7F 1B 78 */ mr r31, r3
/* 80340000 0033CF60 38 61 00 18 */ addi r3, r1, 0x18
/* 80340004 0033CF64 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80340008 0033CF68 7C 9E 23 78 */ mr r30, r4
/* 8034000C 0033CF6C 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80340010 0033CF70 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80340014 0033CF74 80 84 00 08 */ lwz r4, 8(r4)
/* 80340018 0033CF78 90 01 00 20 */ stw r0, 0x20(r1)
/* 8034001C 0033CF7C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80340020 0033CF80 48 00 09 65 */ bl "reserve__Q24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>Fi"
/* 80340024 0033CF84 3B BE 00 0C */ addi r29, r30, 0xc
/* 80340028 0033CF88 83 DE 00 0C */ lwz r30, 0xc(r30)
/* 8034002C 0033CF8C 48 00 00 6C */ b lbl_80340098
lbl_80340030:
/* 80340030 0033CF90 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80340034 0033CF94 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 80340038 0033CF98 7C 00 28 00 */ cmpw r0, r5
/* 8034003C 0033CF9C 41 80 00 1C */ blt lbl_80340058
/* 80340040 0033CFA0 2C 05 00 00 */ cmpwi r5, 0
/* 80340044 0033CFA4 38 61 00 18 */ addi r3, r1, 0x18
/* 80340048 0033CFA8 38 80 00 04 */ li r4, 4
/* 8034004C 0033CFAC 41 82 00 08 */ beq lbl_80340054
/* 80340050 0033CFB0 54 A4 08 3C */ slwi r4, r5, 1
lbl_80340054:
/* 80340054 0033CFB4 48 00 09 31 */ bl "reserve__Q24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>Fi"
lbl_80340058:
/* 80340058 0033CFB8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8034005C 0033CFBC 80 61 00 24 */ lwz r3, 0x24(r1)
/* 80340060 0033CFC0 54 00 18 38 */ slwi r0, r0, 3
/* 80340064 0033CFC4 7C 63 02 15 */ add. r3, r3, r0
/* 80340068 0033CFC8 41 82 00 14 */ beq lbl_8034007C
/* 8034006C 0033CFCC 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80340070 0033CFD0 90 03 00 00 */ stw r0, 0(r3)
/* 80340074 0033CFD4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80340078 0033CFD8 90 03 00 04 */ stw r0, 4(r3)
lbl_8034007C:
/* 8034007C 0033CFDC 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 80340080 0033CFE0 7F A3 EB 78 */ mr r3, r29
/* 80340084 0033CFE4 7F C4 F3 78 */ mr r4, r30
/* 80340088 0033CFE8 38 05 00 01 */ addi r0, r5, 1
/* 8034008C 0033CFEC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80340090 0033CFF0 4B FF C5 51 */ bl rbtree_traverse_forward__4rstlFPCvPv
/* 80340094 0033CFF4 7C 7E 1B 78 */ mr r30, r3
lbl_80340098:
/* 80340098 0033CFF8 28 1E 00 00 */ cmplwi r30, 0
/* 8034009C 0033CFFC 38 00 00 00 */ li r0, 0
/* 803400A0 0033D000 40 82 00 0C */ bne lbl_803400AC
/* 803400A4 0033D004 7C 1D E8 40 */ cmplw r29, r29
/* 803400A8 0033D008 41 82 00 08 */ beq lbl_803400B0
lbl_803400AC:
/* 803400AC 0033D00C 38 00 00 01 */ li r0, 1
lbl_803400B0:
/* 803400B0 0033D010 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 803400B4 0033D014 40 82 FF 7C */ bne lbl_80340030
/* 803400B8 0033D018 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803400BC 0033D01C 90 1F 00 04 */ stw r0, 4(r31)
/* 803400C0 0033D020 80 01 00 20 */ lwz r0, 0x20(r1)
/* 803400C4 0033D024 90 1F 00 08 */ stw r0, 8(r31)
/* 803400C8 0033D028 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803400CC 0033D02C 2C 00 00 00 */ cmpwi r0, 0
/* 803400D0 0033D030 40 82 00 1C */ bne lbl_803400EC
/* 803400D4 0033D034 80 01 00 20 */ lwz r0, 0x20(r1)
/* 803400D8 0033D038 2C 00 00 00 */ cmpwi r0, 0
/* 803400DC 0033D03C 40 82 00 10 */ bne lbl_803400EC
/* 803400E0 0033D040 38 00 00 00 */ li r0, 0
/* 803400E4 0033D044 90 1F 00 0C */ stw r0, 0xc(r31)
/* 803400E8 0033D048 48 00 00 6C */ b lbl_80340154
lbl_803400EC:
/* 803400EC 0033D04C 80 1F 00 08 */ lwz r0, 8(r31)
/* 803400F0 0033D050 54 03 18 39 */ rlwinm. r3, r0, 3, 0, 0x1c
/* 803400F4 0033D054 40 82 00 10 */ bne lbl_80340104
/* 803400F8 0033D058 38 00 00 00 */ li r0, 0
/* 803400FC 0033D05C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80340100 0033D060 48 00 00 18 */ b lbl_80340118
lbl_80340104:
/* 80340104 0033D064 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 80340108 0033D068 38 A0 00 00 */ li r5, 0
/* 8034010C 0033D06C 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 80340110 0033D070 4B FD 57 09 */ bl __nwa__FUlPCcPCc
/* 80340114 0033D074 90 7F 00 0C */ stw r3, 0xc(r31)
lbl_80340118:
/* 80340118 0033D078 80 1F 00 04 */ lwz r0, 4(r31)
/* 8034011C 0033D07C 80 81 00 24 */ lwz r4, 0x24(r1)
/* 80340120 0033D080 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80340124 0033D084 7C 09 03 A6 */ mtctr r0
/* 80340128 0033D088 2C 00 00 00 */ cmpwi r0, 0
/* 8034012C 0033D08C 40 81 00 28 */ ble lbl_80340154
lbl_80340130:
/* 80340130 0033D090 28 03 00 00 */ cmplwi r3, 0
/* 80340134 0033D094 41 82 00 14 */ beq lbl_80340148
/* 80340138 0033D098 80 04 00 00 */ lwz r0, 0(r4)
/* 8034013C 0033D09C 90 03 00 00 */ stw r0, 0(r3)
/* 80340140 0033D0A0 80 04 00 04 */ lwz r0, 4(r4)
/* 80340144 0033D0A4 90 03 00 04 */ stw r0, 4(r3)
lbl_80340148:
/* 80340148 0033D0A8 38 63 00 08 */ addi r3, r3, 8
/* 8034014C 0033D0AC 38 84 00 08 */ addi r4, r4, 8
/* 80340150 0033D0B0 42 00 FF E0 */ bdnz lbl_80340130
lbl_80340154:
/* 80340154 0033D0B4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80340158 0033D0B8 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8034015C 0033D0BC 54 00 18 38 */ slwi r0, r0, 3
/* 80340160 0033D0C0 7C 03 02 14 */ add r0, r3, r0
/* 80340164 0033D0C4 90 61 00 0C */ stw r3, 0xc(r1)
/* 80340168 0033D0C8 7C 64 1B 78 */ mr r4, r3
/* 8034016C 0033D0CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340170 0033D0D0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80340174 0033D0D4 90 61 00 08 */ stw r3, 8(r1)
/* 80340178 0033D0D8 48 00 00 08 */ b lbl_80340180
lbl_8034017C:
/* 8034017C 0033D0DC 38 84 00 08 */ addi r4, r4, 8
lbl_80340180:
/* 80340180 0033D0E0 7C 04 00 40 */ cmplw r4, r0
/* 80340184 0033D0E4 40 82 FF F8 */ bne lbl_8034017C
/* 80340188 0033D0E8 28 03 00 00 */ cmplwi r3, 0
/* 8034018C 0033D0EC 41 82 00 08 */ beq lbl_80340194
/* 80340190 0033D0F0 4B FD 57 A1 */ bl Free__7CMemoryFPCv
lbl_80340194:
/* 80340194 0033D0F4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80340198 0033D0F8 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8034019C 0033D0FC 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 803401A0 0033D100 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 803401A4 0033D104 7C 08 03 A6 */ mtlr r0
/* 803401A8 0033D108 38 21 00 40 */ addi r1, r1, 0x40
/* 803401AC 0033D10C 4E 80 00 20 */ blr
.global DebugDumpPool__11CSimplePoolCFv
DebugDumpPool__11CSimplePoolCFv:
/* 803401B0 0033D110 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803401B4 0033D114 7C 08 02 A6 */ mflr r0
/* 803401B8 0033D118 90 01 00 14 */ stw r0, 0x14(r1)
/* 803401BC 0033D11C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803401C0 0033D120 93 C1 00 08 */ stw r30, 8(r1)
/* 803401C4 0033D124 3B C3 00 0C */ addi r30, r3, 0xc
/* 803401C8 0033D128 83 E3 00 0C */ lwz r31, 0xc(r3)
/* 803401CC 0033D12C 48 00 00 1C */ b lbl_803401E8
lbl_803401D0:
/* 803401D0 0033D130 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803401D4 0033D134 48 00 0E 31 */ bl Type2Text__10SObjectTagFUi
/* 803401D8 0033D138 7F C3 F3 78 */ mr r3, r30
/* 803401DC 0033D13C 7F E4 FB 78 */ mr r4, r31
/* 803401E0 0033D140 4B FF C4 01 */ bl rbtree_traverse_forward__4rstlFPCvPv
/* 803401E4 0033D144 7C 7F 1B 78 */ mr r31, r3
lbl_803401E8:
/* 803401E8 0033D148 28 1F 00 00 */ cmplwi r31, 0
/* 803401EC 0033D14C 38 00 00 00 */ li r0, 0
/* 803401F0 0033D150 40 82 00 0C */ bne lbl_803401FC
/* 803401F4 0033D154 7C 1E F0 40 */ cmplw r30, r30
/* 803401F8 0033D158 41 82 00 08 */ beq lbl_80340200
lbl_803401FC:
/* 803401FC 0033D15C 38 00 00 01 */ li r0, 1
lbl_80340200:
/* 80340200 0033D160 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80340204 0033D164 40 82 FF CC */ bne lbl_803401D0
/* 80340208 0033D168 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034020C 0033D16C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340210 0033D170 83 C1 00 08 */ lwz r30, 8(r1)
/* 80340214 0033D174 7C 08 03 A6 */ mtlr r0
/* 80340218 0033D178 38 21 00 10 */ addi r1, r1, 0x10
/* 8034021C 0033D17C 4E 80 00 20 */ blr
.global Flush__11CSimplePoolFv
Flush__11CSimplePoolFv:
/* 80340220 0033D180 4E 80 00 20 */ blr
.global ObjectIsLive__11CSimplePoolCFRC10SObjectTag
ObjectIsLive__11CSimplePoolCFRC10SObjectTag:
/* 80340224 0033D184 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 80340228 0033D188 38 E0 00 00 */ li r7, 0
/* 8034022C 0033D18C 48 00 00 24 */ b lbl_80340250
lbl_80340230:
/* 80340230 0033D190 80 A6 00 14 */ lwz r5, 0x14(r6)
/* 80340234 0033D194 80 04 00 04 */ lwz r0, 4(r4)
/* 80340238 0033D198 7C 05 00 40 */ cmplw r5, r0
/* 8034023C 0033D19C 41 80 00 10 */ blt lbl_8034024C
/* 80340240 0033D1A0 7C C7 33 78 */ mr r7, r6
/* 80340244 0033D1A4 80 C6 00 00 */ lwz r6, 0(r6)
/* 80340248 0033D1A8 48 00 00 08 */ b lbl_80340250
lbl_8034024C:
/* 8034024C 0033D1AC 80 C6 00 04 */ lwz r6, 4(r6)
lbl_80340250:
/* 80340250 0033D1B0 28 06 00 00 */ cmplwi r6, 0
/* 80340254 0033D1B4 40 82 FF DC */ bne lbl_80340230
/* 80340258 0033D1B8 28 07 00 00 */ cmplwi r7, 0
/* 8034025C 0033D1BC 38 A0 00 00 */ li r5, 0
/* 80340260 0033D1C0 41 82 00 14 */ beq lbl_80340274
/* 80340264 0033D1C4 80 84 00 04 */ lwz r4, 4(r4)
/* 80340268 0033D1C8 80 07 00 14 */ lwz r0, 0x14(r7)
/* 8034026C 0033D1CC 7C 04 00 40 */ cmplw r4, r0
/* 80340270 0033D1D0 40 80 00 08 */ bge lbl_80340278
lbl_80340274:
/* 80340274 0033D1D4 38 A0 00 01 */ li r5, 1
lbl_80340278:
/* 80340278 0033D1D8 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 8034027C 0033D1DC 41 82 00 08 */ beq lbl_80340284
/* 80340280 0033D1E0 38 E0 00 00 */ li r7, 0
lbl_80340284:
/* 80340284 0033D1E4 28 07 00 00 */ cmplwi r7, 0
/* 80340288 0033D1E8 38 63 00 0C */ addi r3, r3, 0xc
/* 8034028C 0033D1EC 38 00 00 00 */ li r0, 0
/* 80340290 0033D1F0 40 82 00 10 */ bne lbl_803402A0
/* 80340294 0033D1F4 7C 03 18 40 */ cmplw r3, r3
/* 80340298 0033D1F8 40 82 00 08 */ bne lbl_803402A0
/* 8034029C 0033D1FC 38 00 00 01 */ li r0, 1
lbl_803402A0:
/* 803402A0 0033D200 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 803402A4 0033D204 41 82 00 0C */ beq lbl_803402B0
/* 803402A8 0033D208 38 60 00 00 */ li r3, 0
/* 803402AC 0033D20C 4E 80 00 20 */ blr
lbl_803402B0:
/* 803402B0 0033D210 80 67 00 18 */ lwz r3, 0x18(r7)
/* 803402B4 0033D214 80 63 00 10 */ lwz r3, 0x10(r3)
/* 803402B8 0033D218 7C 03 00 D0 */ neg r0, r3
/* 803402BC 0033D21C 7C 00 1B 78 */ or r0, r0, r3
/* 803402C0 0033D220 54 03 0F FE */ srwi r3, r0, 0x1f
/* 803402C4 0033D224 4E 80 00 20 */ blr
.global HasObject__11CSimplePoolCFRC10SObjectTag
HasObject__11CSimplePoolCFRC10SObjectTag:
/* 803402C8 0033D228 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803402CC 0033D22C 7C 08 02 A6 */ mflr r0
/* 803402D0 0033D230 38 E0 00 00 */ li r7, 0
/* 803402D4 0033D234 90 01 00 14 */ stw r0, 0x14(r1)
/* 803402D8 0033D238 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803402DC 0033D23C 93 C1 00 08 */ stw r30, 8(r1)
/* 803402E0 0033D240 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 803402E4 0033D244 48 00 00 24 */ b lbl_80340308
lbl_803402E8:
/* 803402E8 0033D248 80 A6 00 14 */ lwz r5, 0x14(r6)
/* 803402EC 0033D24C 80 04 00 04 */ lwz r0, 4(r4)
/* 803402F0 0033D250 7C 05 00 40 */ cmplw r5, r0
/* 803402F4 0033D254 41 80 00 10 */ blt lbl_80340304
/* 803402F8 0033D258 7C C7 33 78 */ mr r7, r6
/* 803402FC 0033D25C 80 C6 00 00 */ lwz r6, 0(r6)
/* 80340300 0033D260 48 00 00 08 */ b lbl_80340308
lbl_80340304:
/* 80340304 0033D264 80 C6 00 04 */ lwz r6, 4(r6)
lbl_80340308:
/* 80340308 0033D268 28 06 00 00 */ cmplwi r6, 0
/* 8034030C 0033D26C 40 82 FF DC */ bne lbl_803402E8
/* 80340310 0033D270 28 07 00 00 */ cmplwi r7, 0
/* 80340314 0033D274 38 C0 00 00 */ li r6, 0
/* 80340318 0033D278 41 82 00 14 */ beq lbl_8034032C
/* 8034031C 0033D27C 80 A4 00 04 */ lwz r5, 4(r4)
/* 80340320 0033D280 80 07 00 14 */ lwz r0, 0x14(r7)
/* 80340324 0033D284 7C 05 00 40 */ cmplw r5, r0
/* 80340328 0033D288 40 80 00 08 */ bge lbl_80340330
lbl_8034032C:
/* 8034032C 0033D28C 38 C0 00 01 */ li r6, 1
lbl_80340330:
/* 80340330 0033D290 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80340334 0033D294 41 82 00 08 */ beq lbl_8034033C
/* 80340338 0033D298 38 E0 00 00 */ li r7, 0
lbl_8034033C:
/* 8034033C 0033D29C 28 07 00 00 */ cmplwi r7, 0
/* 80340340 0033D2A0 38 A3 00 0C */ addi r5, r3, 0xc
/* 80340344 0033D2A4 3B C0 00 01 */ li r30, 1
/* 80340348 0033D2A8 38 00 00 00 */ li r0, 0
/* 8034034C 0033D2AC 40 82 00 0C */ bne lbl_80340358
/* 80340350 0033D2B0 7C 05 28 40 */ cmplw r5, r5
/* 80340354 0033D2B4 41 82 00 08 */ beq lbl_8034035C
lbl_80340358:
/* 80340358 0033D2B8 38 00 00 01 */ li r0, 1
lbl_8034035C:
/* 8034035C 0033D2BC 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80340360 0033D2C0 40 82 00 3C */ bne lbl_8034039C
/* 80340364 0033D2C4 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80340368 0033D2C8 3B E0 00 00 */ li r31, 0
/* 8034036C 0033D2CC 28 03 00 00 */ cmplwi r3, 0
/* 80340370 0033D2D0 41 82 00 20 */ beq lbl_80340390
/* 80340374 0033D2D4 81 83 00 00 */ lwz r12, 0(r3)
/* 80340378 0033D2D8 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8034037C 0033D2DC 7D 89 03 A6 */ mtctr r12
/* 80340380 0033D2E0 4E 80 04 21 */ bctrl
/* 80340384 0033D2E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80340388 0033D2E8 41 82 00 08 */ beq lbl_80340390
/* 8034038C 0033D2EC 3B E0 00 01 */ li r31, 1
lbl_80340390:
/* 80340390 0033D2F0 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80340394 0033D2F4 40 82 00 08 */ bne lbl_8034039C
/* 80340398 0033D2F8 3B C0 00 00 */ li r30, 0
lbl_8034039C:
/* 8034039C 0033D2FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803403A0 0033D300 7F C3 F3 78 */ mr r3, r30
/* 803403A4 0033D304 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803403A8 0033D308 83 C1 00 08 */ lwz r30, 8(r1)
/* 803403AC 0033D30C 7C 08 03 A6 */ mtlr r0
/* 803403B0 0033D310 38 21 00 10 */ addi r1, r1, 0x10
/* 803403B4 0033D314 4E 80 00 20 */ blr
.global GetObj__11CSimplePoolFPCcRC15CVParamTransfer
GetObj__11CSimplePoolFPCcRC15CVParamTransfer:
/* 803403B8 0033D318 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803403BC 0033D31C 7C 08 02 A6 */ mflr r0
/* 803403C0 0033D320 90 01 00 24 */ stw r0, 0x24(r1)
/* 803403C4 0033D324 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803403C8 0033D328 7C DF 33 78 */ mr r31, r6
/* 803403CC 0033D32C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803403D0 0033D330 7C 9E 23 78 */ mr r30, r4
/* 803403D4 0033D334 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803403D8 0033D338 7C 7D 1B 78 */ mr r29, r3
/* 803403DC 0033D33C 80 64 00 18 */ lwz r3, 0x18(r4)
/* 803403E0 0033D340 7C A4 2B 78 */ mr r4, r5
/* 803403E4 0033D344 81 83 00 00 */ lwz r12, 0(r3)
/* 803403E8 0033D348 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 803403EC 0033D34C 7D 89 03 A6 */ mtctr r12
/* 803403F0 0033D350 4E 80 04 21 */ bctrl
/* 803403F4 0033D354 7C 60 1B 78 */ mr r0, r3
/* 803403F8 0033D358 7F A3 EB 78 */ mr r3, r29
/* 803403FC 0033D35C 7C 05 03 78 */ mr r5, r0
/* 80340400 0033D360 7F C4 F3 78 */ mr r4, r30
/* 80340404 0033D364 7F E6 FB 78 */ mr r6, r31
/* 80340408 0033D368 48 00 00 81 */ bl GetObj__11CSimplePoolFRC10SObjectTagRC15CVParamTransfer
/* 8034040C 0033D36C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80340410 0033D370 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80340414 0033D374 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80340418 0033D378 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8034041C 0033D37C 7C 08 03 A6 */ mtlr r0
/* 80340420 0033D380 38 21 00 20 */ addi r1, r1, 0x20
/* 80340424 0033D384 4E 80 00 20 */ blr
.global GetObj__11CSimplePoolFPCc
GetObj__11CSimplePoolFPCc:
/* 80340428 0033D388 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034042C 0033D38C 7C 08 02 A6 */ mflr r0
/* 80340430 0033D390 38 C4 00 1C */ addi r6, r4, 0x1c
/* 80340434 0033D394 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340438 0033D398 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034043C 0033D39C 7C 7F 1B 78 */ mr r31, r3
/* 80340440 0033D3A0 4B FF FF 79 */ bl GetObj__11CSimplePoolFPCcRC15CVParamTransfer
/* 80340444 0033D3A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340448 0033D3A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034044C 0033D3AC 7C 08 03 A6 */ mtlr r0
/* 80340450 0033D3B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80340454 0033D3B4 4E 80 00 20 */ blr
.global GetObj__11CSimplePoolFRC10SObjectTag
GetObj__11CSimplePoolFRC10SObjectTag:
/* 80340458 0033D3B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034045C 0033D3BC 7C 08 02 A6 */ mflr r0
/* 80340460 0033D3C0 38 C4 00 1C */ addi r6, r4, 0x1c
/* 80340464 0033D3C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340468 0033D3C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034046C 0033D3CC 7C 7F 1B 78 */ mr r31, r3
/* 80340470 0033D3D0 48 00 00 19 */ bl GetObj__11CSimplePoolFRC10SObjectTagRC15CVParamTransfer
/* 80340474 0033D3D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340478 0033D3D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034047C 0033D3DC 7C 08 03 A6 */ mtlr r0
/* 80340480 0033D3E0 38 21 00 10 */ addi r1, r1, 0x10
/* 80340484 0033D3E4 4E 80 00 20 */ blr
.global GetObj__11CSimplePoolFRC10SObjectTagRC15CVParamTransfer
GetObj__11CSimplePoolFRC10SObjectTagRC15CVParamTransfer:
/* 80340488 0033D3E8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8034048C 0033D3EC 7C 08 02 A6 */ mflr r0
/* 80340490 0033D3F0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80340494 0033D3F4 BF 21 00 44 */ stmw r25, 0x44(r1)
/* 80340498 0033D3F8 7C 9D 23 78 */ mr r29, r4
/* 8034049C 0033D3FC 7C BE 2B 78 */ mr r30, r5
/* 803404A0 0033D400 7C 7C 1B 78 */ mr r28, r3
/* 803404A4 0033D404 7C DF 33 78 */ mr r31, r6
/* 803404A8 0033D408 38 A0 00 00 */ li r5, 0
/* 803404AC 0033D40C 80 84 00 14 */ lwz r4, 0x14(r4)
/* 803404B0 0033D410 48 00 00 24 */ b lbl_803404D4
lbl_803404B4:
/* 803404B4 0033D414 80 64 00 14 */ lwz r3, 0x14(r4)
/* 803404B8 0033D418 80 1E 00 04 */ lwz r0, 4(r30)
/* 803404BC 0033D41C 7C 03 00 40 */ cmplw r3, r0
/* 803404C0 0033D420 41 80 00 10 */ blt lbl_803404D0
/* 803404C4 0033D424 7C 85 23 78 */ mr r5, r4
/* 803404C8 0033D428 80 84 00 00 */ lwz r4, 0(r4)
/* 803404CC 0033D42C 48 00 00 08 */ b lbl_803404D4
lbl_803404D0:
/* 803404D0 0033D430 80 84 00 04 */ lwz r4, 4(r4)
lbl_803404D4:
/* 803404D4 0033D434 28 04 00 00 */ cmplwi r4, 0
/* 803404D8 0033D438 40 82 FF DC */ bne lbl_803404B4
/* 803404DC 0033D43C 28 05 00 00 */ cmplwi r5, 0
/* 803404E0 0033D440 38 80 00 00 */ li r4, 0
/* 803404E4 0033D444 41 82 00 14 */ beq lbl_803404F8
/* 803404E8 0033D448 80 7E 00 04 */ lwz r3, 4(r30)
/* 803404EC 0033D44C 80 05 00 14 */ lwz r0, 0x14(r5)
/* 803404F0 0033D450 7C 03 00 40 */ cmplw r3, r0
/* 803404F4 0033D454 40 80 00 08 */ bge lbl_803404FC
lbl_803404F8:
/* 803404F8 0033D458 38 80 00 01 */ li r4, 1
lbl_803404FC:
/* 803404FC 0033D45C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80340500 0033D460 41 82 00 08 */ beq lbl_80340508
/* 80340504 0033D464 38 A0 00 00 */ li r5, 0
lbl_80340508:
/* 80340508 0033D468 38 00 00 00 */ li r0, 0
/* 8034050C 0033D46C 38 7D 00 0C */ addi r3, r29, 0xc
/* 80340510 0033D470 7C 05 00 40 */ cmplw r5, r0
/* 80340514 0033D474 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340518 0033D478 90 61 00 18 */ stw r3, 0x18(r1)
/* 8034051C 0033D47C 40 82 00 0C */ bne lbl_80340528
/* 80340520 0033D480 7C 03 18 40 */ cmplw r3, r3
/* 80340524 0033D484 41 82 00 08 */ beq lbl_8034052C
lbl_80340528:
/* 80340528 0033D488 38 00 00 01 */ li r0, 1
lbl_8034052C:
/* 8034052C 0033D48C 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80340530 0033D490 41 82 00 14 */ beq lbl_80340544
/* 80340534 0033D494 80 85 00 18 */ lwz r4, 0x18(r5)
/* 80340538 0033D498 7F 83 E3 78 */ mr r3, r28
/* 8034053C 0033D49C 48 00 0A A9 */ bl __ct__6CTokenFP16CObjectReference
/* 80340540 0033D4A0 48 00 00 E0 */ b lbl_80340620
lbl_80340544:
/* 80340544 0033D4A4 3C 60 80 3D */ lis r3, lbl_803D7A98@ha
/* 80340548 0033D4A8 3B 40 00 00 */ li r26, 0
/* 8034054C 0033D4AC 38 83 7A 98 */ addi r4, r3, lbl_803D7A98@l
/* 80340550 0033D4B0 3B 20 00 00 */ li r25, 0
/* 80340554 0033D4B4 38 60 00 18 */ li r3, 0x18
/* 80340558 0033D4B8 38 A0 00 00 */ li r5, 0
/* 8034055C 0033D4BC 4B FD 53 11 */ bl __nw__FUlPCcPCc
/* 80340560 0033D4C0 7C 7B 1B 79 */ or. r27, r3, r3
/* 80340564 0033D4C4 41 82 00 44 */ beq lbl_803405A8
/* 80340568 0033D4C8 81 3F 00 00 */ lwz r9, 0(r31)
/* 8034056C 0033D4CC 38 00 00 00 */ li r0, 0
/* 80340570 0033D4D0 98 01 00 0C */ stb r0, 0xc(r1)
/* 80340574 0033D4D4 7F A4 EB 78 */ mr r4, r29
/* 80340578 0033D4D8 7F C6 F3 78 */ mr r6, r30
/* 8034057C 0033D4DC 38 A1 00 0C */ addi r5, r1, 0xc
/* 80340580 0033D4E0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80340584 0033D4E4 38 E1 00 08 */ addi r7, r1, 8
/* 80340588 0033D4E8 3B 20 00 01 */ li r25, 1
/* 8034058C 0033D4EC 3B 40 00 01 */ li r26, 1
/* 80340590 0033D4F0 91 21 00 08 */ stw r9, 8(r1)
/* 80340594 0033D4F4 81 09 00 04 */ lwz r8, 4(r9)
/* 80340598 0033D4F8 38 08 00 01 */ addi r0, r8, 1
/* 8034059C 0033D4FC 90 09 00 04 */ stw r0, 4(r9)
/* 803405A0 0033D500 4B FF F9 DD */ bl "__ct__16CObjectReferenceFR12IObjectStoreRCQ24rstl15auto_ptr<4IObj>RC10SObjectTag15CVParamTransfer"
/* 803405A4 0033D504 7C 7B 1B 78 */ mr r27, r3
lbl_803405A8:
/* 803405A8 0033D508 7F 20 07 75 */ extsb. r0, r25
/* 803405AC 0033D50C 41 82 00 30 */ beq lbl_803405DC
/* 803405B0 0033D510 88 01 00 0C */ lbz r0, 0xc(r1)
/* 803405B4 0033D514 28 00 00 00 */ cmplwi r0, 0
/* 803405B8 0033D518 41 82 00 24 */ beq lbl_803405DC
/* 803405BC 0033D51C 80 61 00 10 */ lwz r3, 0x10(r1)
/* 803405C0 0033D520 28 03 00 00 */ cmplwi r3, 0
/* 803405C4 0033D524 41 82 00 18 */ beq lbl_803405DC
/* 803405C8 0033D528 81 83 00 00 */ lwz r12, 0(r3)
/* 803405CC 0033D52C 38 80 00 01 */ li r4, 1
/* 803405D0 0033D530 81 8C 00 08 */ lwz r12, 8(r12)
/* 803405D4 0033D534 7D 89 03 A6 */ mtctr r12
/* 803405D8 0033D538 4E 80 04 21 */ bctrl
lbl_803405DC:
/* 803405DC 0033D53C 7F 40 07 75 */ extsb. r0, r26
/* 803405E0 0033D540 41 82 00 0C */ beq lbl_803405EC
/* 803405E4 0033D544 38 61 00 08 */ addi r3, r1, 8
/* 803405E8 0033D548 4B CF 3D 1D */ bl sub_80034304
lbl_803405EC:
/* 803405EC 0033D54C 80 BE 00 00 */ lwz r5, 0(r30)
/* 803405F0 0033D550 38 61 00 1C */ addi r3, r1, 0x1c
/* 803405F4 0033D554 80 1E 00 04 */ lwz r0, 4(r30)
/* 803405F8 0033D558 38 9D 00 04 */ addi r4, r29, 4
/* 803405FC 0033D55C 90 A1 00 28 */ stw r5, 0x28(r1)
/* 80340600 0033D560 38 C1 00 28 */ addi r6, r1, 0x28
/* 80340604 0033D564 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80340608 0033D568 93 61 00 30 */ stw r27, 0x30(r1)
/* 8034060C 0033D56C 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 80340610 0033D570 48 00 04 69 */ bl sub_80340a78
/* 80340614 0033D574 7F 83 E3 78 */ mr r3, r28
/* 80340618 0033D578 7F 64 DB 78 */ mr r4, r27
/* 8034061C 0033D57C 48 00 09 C9 */ bl __ct__6CTokenFP16CObjectReference
lbl_80340620:
/* 80340620 0033D580 BB 21 00 44 */ lmw r25, 0x44(r1)
/* 80340624 0033D584 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80340628 0033D588 7C 08 03 A6 */ mtlr r0
/* 8034062C 0033D58C 38 21 00 60 */ addi r1, r1, 0x60
/* 80340630 0033D590 4E 80 00 20 */ blr
.global ObjectUnreferenced__11CSimplePoolFRC10SObjectTag
ObjectUnreferenced__11CSimplePoolFRC10SObjectTag:
/* 80340634 0033D594 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80340638 0033D598 7C 08 02 A6 */ mflr r0
/* 8034063C 0033D59C 38 C0 00 00 */ li r6, 0
/* 80340640 0033D5A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80340644 0033D5A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80340648 0033D5A8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034064C 0033D5AC 7C 7E 1B 78 */ mr r30, r3
/* 80340650 0033D5B0 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 80340654 0033D5B4 48 00 00 24 */ b lbl_80340678
lbl_80340658:
/* 80340658 0033D5B8 80 65 00 14 */ lwz r3, 0x14(r5)
/* 8034065C 0033D5BC 80 04 00 04 */ lwz r0, 4(r4)
/* 80340660 0033D5C0 7C 03 00 40 */ cmplw r3, r0
/* 80340664 0033D5C4 41 80 00 10 */ blt lbl_80340674
/* 80340668 0033D5C8 7C A6 2B 78 */ mr r6, r5
/* 8034066C 0033D5CC 80 A5 00 00 */ lwz r5, 0(r5)
/* 80340670 0033D5D0 48 00 00 08 */ b lbl_80340678
lbl_80340674:
/* 80340674 0033D5D4 80 A5 00 04 */ lwz r5, 4(r5)
lbl_80340678:
/* 80340678 0033D5D8 28 05 00 00 */ cmplwi r5, 0
/* 8034067C 0033D5DC 40 82 FF DC */ bne lbl_80340658
/* 80340680 0033D5E0 28 06 00 00 */ cmplwi r6, 0
/* 80340684 0033D5E4 38 A0 00 00 */ li r5, 0
/* 80340688 0033D5E8 41 82 00 14 */ beq lbl_8034069C
/* 8034068C 0033D5EC 80 64 00 04 */ lwz r3, 4(r4)
/* 80340690 0033D5F0 80 06 00 14 */ lwz r0, 0x14(r6)
/* 80340694 0033D5F4 7C 03 00 40 */ cmplw r3, r0
/* 80340698 0033D5F8 40 80 00 08 */ bge lbl_803406A0
lbl_8034069C:
/* 8034069C 0033D5FC 38 A0 00 01 */ li r5, 1
lbl_803406A0:
/* 803406A0 0033D600 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 803406A4 0033D604 41 82 00 08 */ beq lbl_803406AC
/* 803406A8 0033D608 38 C0 00 00 */ li r6, 0
lbl_803406AC:
/* 803406AC 0033D60C 3B FE 00 0C */ addi r31, r30, 0xc
/* 803406B0 0033D610 90 C1 00 10 */ stw r6, 0x10(r1)
/* 803406B4 0033D614 7F E3 FB 78 */ mr r3, r31
/* 803406B8 0033D618 7C C4 33 78 */ mr r4, r6
/* 803406BC 0033D61C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803406C0 0033D620 90 C1 00 08 */ stw r6, 8(r1)
/* 803406C4 0033D624 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803406C8 0033D628 4B FF BF 19 */ bl rbtree_traverse_forward__4rstlFPCvPv
/* 803406CC 0033D62C 80 81 00 08 */ lwz r4, 8(r1)
/* 803406D0 0033D630 7F E3 FB 78 */ mr r3, r31
/* 803406D4 0033D634 4B FF BF A9 */ bl rbtree_rebalance_for_erase__4rstlFPvPv
/* 803406D8 0033D638 28 03 00 00 */ cmplwi r3, 0
/* 803406DC 0033D63C 41 82 00 08 */ beq lbl_803406E4
/* 803406E0 0033D640 4B FD 52 51 */ bl Free__7CMemoryFPCv
lbl_803406E4:
/* 803406E4 0033D644 80 7E 00 08 */ lwz r3, 8(r30)
/* 803406E8 0033D648 38 03 FF FF */ addi r0, r3, -1
/* 803406EC 0033D64C 90 1E 00 08 */ stw r0, 8(r30)
/* 803406F0 0033D650 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803406F4 0033D654 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803406F8 0033D658 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803406FC 0033D65C 7C 08 03 A6 */ mtlr r0
/* 80340700 0033D660 38 21 00 20 */ addi r1, r1, 0x20
/* 80340704 0033D664 4E 80 00 20 */ blr
.global __dt__11CSimplePool
__dt__11CSimplePool:
/* 80340708 0033D668 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034070C 0033D66C 7C 08 02 A6 */ mflr r0
/* 80340710 0033D670 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340714 0033D674 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340718 0033D678 7C 9F 23 78 */ mr r31, r4
/* 8034071C 0033D67C 93 C1 00 08 */ stw r30, 8(r1)
/* 80340720 0033D680 7C 7E 1B 79 */ or. r30, r3, r3
/* 80340724 0033D684 41 82 00 94 */ beq lbl_803407B8
/* 80340728 0033D688 3C 80 80 3F */ lis r4, lbl_803EE410@ha
/* 8034072C 0033D68C 38 04 E4 10 */ addi r0, r4, lbl_803EE410@l
/* 80340730 0033D690 90 1E 00 00 */ stw r0, 0(r30)
/* 80340734 0033D694 81 83 00 00 */ lwz r12, 0(r3)
/* 80340738 0033D698 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8034073C 0033D69C 7D 89 03 A6 */ mtctr r12
/* 80340740 0033D6A0 4E 80 04 21 */ bctrl
/* 80340744 0033D6A4 80 1E 00 08 */ lwz r0, 8(r30)
/* 80340748 0033D6A8 2C 00 00 00 */ cmpwi r0, 0
/* 8034074C 0033D6AC 40 81 00 0C */ ble lbl_80340758
/* 80340750 0033D6B0 7F C3 F3 78 */ mr r3, r30
/* 80340754 0033D6B4 4B FF FA 5D */ bl DebugDumpPool__11CSimplePoolCFv
lbl_80340758:
/* 80340758 0033D6B8 34 1E 00 1C */ addic. r0, r30, 0x1c
/* 8034075C 0033D6BC 41 82 00 14 */ beq lbl_80340770
/* 80340760 0033D6C0 34 1E 00 1C */ addic. r0, r30, 0x1c
/* 80340764 0033D6C4 41 82 00 0C */ beq lbl_80340770
/* 80340768 0033D6C8 38 7E 00 1C */ addi r3, r30, 0x1c
/* 8034076C 0033D6CC 4B CF 3B 99 */ bl sub_80034304
lbl_80340770:
/* 80340770 0033D6D0 34 1E 00 04 */ addic. r0, r30, 4
/* 80340774 0033D6D4 41 82 00 34 */ beq lbl_803407A8
/* 80340778 0033D6D8 34 1E 00 04 */ addic. r0, r30, 4
/* 8034077C 0033D6DC 41 82 00 2C */ beq lbl_803407A8
/* 80340780 0033D6E0 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80340784 0033D6E4 28 04 00 00 */ cmplwi r4, 0
/* 80340788 0033D6E8 41 82 00 0C */ beq lbl_80340794
/* 8034078C 0033D6EC 38 7E 00 04 */ addi r3, r30, 4
/* 80340790 0033D6F0 48 00 01 8D */ bl sub_8034091c
lbl_80340794:
/* 80340794 0033D6F4 38 00 00 00 */ li r0, 0
/* 80340798 0033D6F8 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8034079C 0033D6FC 90 1E 00 0C */ stw r0, 0xc(r30)
/* 803407A0 0033D700 90 1E 00 10 */ stw r0, 0x10(r30)
/* 803407A4 0033D704 90 1E 00 08 */ stw r0, 8(r30)
lbl_803407A8:
/* 803407A8 0033D708 7F E0 07 35 */ extsh. r0, r31
/* 803407AC 0033D70C 40 81 00 0C */ ble lbl_803407B8
/* 803407B0 0033D710 7F C3 F3 78 */ mr r3, r30
/* 803407B4 0033D714 4B FD 51 7D */ bl Free__7CMemoryFPCv
lbl_803407B8:
/* 803407B8 0033D718 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803407BC 0033D71C 7F C3 F3 78 */ mr r3, r30
/* 803407C0 0033D720 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803407C4 0033D724 83 C1 00 08 */ lwz r30, 8(r1)
/* 803407C8 0033D728 7C 08 03 A6 */ mtlr r0
/* 803407CC 0033D72C 38 21 00 10 */ addi r1, r1, 0x10
/* 803407D0 0033D730 4E 80 00 20 */ blr
.global __ct__11CSimplePoolFR8IFactory
__ct__11CSimplePoolFR8IFactory:
/* 803407D4 0033D734 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803407D8 0033D738 7C 08 02 A6 */ mflr r0
/* 803407DC 0033D73C 3C A0 80 3F */ lis r5, lbl_803EE3E4@ha
/* 803407E0 0033D740 90 01 00 24 */ stw r0, 0x24(r1)
/* 803407E4 0033D744 38 05 E3 E4 */ addi r0, r5, lbl_803EE3E4@l
/* 803407E8 0033D748 88 A1 00 08 */ lbz r5, 8(r1)
/* 803407EC 0033D74C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803407F0 0033D750 7C 7F 1B 78 */ mr r31, r3
/* 803407F4 0033D754 3C 60 80 3F */ lis r3, lbl_803EE410@ha
/* 803407F8 0033D758 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803407FC 0033D75C 38 63 E4 10 */ addi r3, r3, lbl_803EE410@l
/* 80340800 0033D760 90 1F 00 00 */ stw r0, 0(r31)
/* 80340804 0033D764 38 00 00 00 */ li r0, 0
/* 80340808 0033D768 90 7F 00 00 */ stw r3, 0(r31)
/* 8034080C 0033D76C 38 61 00 14 */ addi r3, r1, 0x14
/* 80340810 0033D770 88 CD A9 48 */ lbz r6, lbl_805A9508@sda21(r13)
/* 80340814 0033D774 98 BF 00 04 */ stb r5, 4(r31)
/* 80340818 0033D778 98 DF 00 05 */ stb r6, 5(r31)
/* 8034081C 0033D77C 90 1F 00 08 */ stw r0, 8(r31)
/* 80340820 0033D780 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80340824 0033D784 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80340828 0033D788 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8034082C 0033D78C 98 C1 00 0C */ stb r6, 0xc(r1)
/* 80340830 0033D790 90 9F 00 18 */ stw r4, 0x18(r31)
/* 80340834 0033D794 4B CF 41 21 */ bl Null__15CVParamTransferFv
/* 80340838 0033D798 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034083C 0033D79C 38 61 00 14 */ addi r3, r1, 0x14
/* 80340840 0033D7A0 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 80340844 0033D7A4 80 BF 00 1C */ lwz r5, 0x1c(r31)
/* 80340848 0033D7A8 80 85 00 04 */ lwz r4, 4(r5)
/* 8034084C 0033D7AC 38 04 00 01 */ addi r0, r4, 1
/* 80340850 0033D7B0 90 05 00 04 */ stw r0, 4(r5)
/* 80340854 0033D7B4 4B CF 3A B1 */ bl sub_80034304
/* 80340858 0033D7B8 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 8034085C 0033D7BC 38 60 00 08 */ li r3, 8
/* 80340860 0033D7C0 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 80340864 0033D7C4 38 A0 00 00 */ li r5, 0
/* 80340868 0033D7C8 4B FD 50 05 */ bl __nw__FUlPCcPCc
/* 8034086C 0033D7CC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80340870 0033D7D0 41 82 00 2C */ beq lbl_8034089C
/* 80340874 0033D7D4 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 80340878 0033D7D8 3C 80 80 3E */ lis r4, lbl_803D9C44@ha
/* 8034087C 0033D7DC 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 80340880 0033D7E0 3C 60 80 3F */ lis r3, lbl_803EE3D8@ha
/* 80340884 0033D7E4 90 1E 00 00 */ stw r0, 0(r30)
/* 80340888 0033D7E8 38 84 9C 44 */ addi r4, r4, lbl_803D9C44@l
/* 8034088C 0033D7EC 38 03 E3 D8 */ addi r0, r3, lbl_803EE3D8@l
/* 80340890 0033D7F0 90 9E 00 00 */ stw r4, 0(r30)
/* 80340894 0033D7F4 90 1E 00 00 */ stw r0, 0(r30)
/* 80340898 0033D7F8 93 FE 00 04 */ stw r31, 4(r30)
lbl_8034089C:
/* 8034089C 0033D7FC 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 803408A0 0033D800 38 60 00 08 */ li r3, 8
/* 803408A4 0033D804 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 803408A8 0033D808 38 A0 00 00 */ li r5, 0
/* 803408AC 0033D80C 4B FD 4F C1 */ bl __nw__FUlPCcPCc
/* 803408B0 0033D810 28 03 00 00 */ cmplwi r3, 0
/* 803408B4 0033D814 41 82 00 10 */ beq lbl_803408C4
/* 803408B8 0033D818 93 C3 00 00 */ stw r30, 0(r3)
/* 803408BC 0033D81C 38 00 00 01 */ li r0, 1
/* 803408C0 0033D820 90 03 00 04 */ stw r0, 4(r3)
lbl_803408C4:
/* 803408C4 0033D824 90 61 00 10 */ stw r3, 0x10(r1)
/* 803408C8 0033D828 38 9F 00 1C */ addi r4, r31, 0x1c
/* 803408CC 0033D82C 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803408D0 0033D830 7C 00 18 40 */ cmplw r0, r3
/* 803408D4 0033D834 41 82 00 24 */ beq lbl_803408F8
/* 803408D8 0033D838 7C 83 23 78 */ mr r3, r4
/* 803408DC 0033D83C 4B CF 3A 29 */ bl sub_80034304
/* 803408E0 0033D840 80 01 00 10 */ lwz r0, 0x10(r1)
/* 803408E4 0033D844 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 803408E8 0033D848 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 803408EC 0033D84C 80 64 00 04 */ lwz r3, 4(r4)
/* 803408F0 0033D850 38 03 00 01 */ addi r0, r3, 1
/* 803408F4 0033D854 90 04 00 04 */ stw r0, 4(r4)
lbl_803408F8:
/* 803408F8 0033D858 38 61 00 10 */ addi r3, r1, 0x10
/* 803408FC 0033D85C 4B CF 3A 09 */ bl sub_80034304
/* 80340900 0033D860 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80340904 0033D864 7F E3 FB 78 */ mr r3, r31
/* 80340908 0033D868 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034090C 0033D86C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80340910 0033D870 7C 08 03 A6 */ mtlr r0
/* 80340914 0033D874 38 21 00 20 */ addi r1, r1, 0x20
/* 80340918 0033D878 4E 80 00 20 */ blr
.global sub_8034091c
sub_8034091c:
/* 8034091C 0033D87C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340920 0033D880 7C 08 02 A6 */ mflr r0
/* 80340924 0033D884 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340928 0033D888 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034092C 0033D88C 7C 9F 23 78 */ mr r31, r4
/* 80340930 0033D890 93 C1 00 08 */ stw r30, 8(r1)
/* 80340934 0033D894 7C 7E 1B 78 */ mr r30, r3
/* 80340938 0033D898 80 84 00 00 */ lwz r4, 0(r4)
/* 8034093C 0033D89C 28 04 00 00 */ cmplwi r4, 0
/* 80340940 0033D8A0 41 82 00 08 */ beq lbl_80340948
/* 80340944 0033D8A4 4B FF FF D9 */ bl sub_8034091c
lbl_80340948:
/* 80340948 0033D8A8 80 9F 00 04 */ lwz r4, 4(r31)
/* 8034094C 0033D8AC 28 04 00 00 */ cmplwi r4, 0
/* 80340950 0033D8B0 41 82 00 0C */ beq lbl_8034095C
/* 80340954 0033D8B4 7F C3 F3 78 */ mr r3, r30
/* 80340958 0033D8B8 4B FF FF C5 */ bl sub_8034091c
lbl_8034095C:
/* 8034095C 0033D8BC 28 1F 00 00 */ cmplwi r31, 0
/* 80340960 0033D8C0 41 82 00 0C */ beq lbl_8034096C
/* 80340964 0033D8C4 7F E3 FB 78 */ mr r3, r31
/* 80340968 0033D8C8 4B FD 4F C9 */ bl Free__7CMemoryFPCv
lbl_8034096C:
/* 8034096C 0033D8CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340970 0033D8D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340974 0033D8D4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80340978 0033D8D8 7C 08 03 A6 */ mtlr r0
/* 8034097C 0033D8DC 38 21 00 10 */ addi r1, r1, 0x10
/* 80340980 0033D8E0 4E 80 00 20 */ blr
.global "reserve__Q24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>Fi":
/* 80340984 0033D8E4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80340988 0033D8E8 7C 08 02 A6 */ mflr r0
/* 8034098C 0033D8EC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80340990 0033D8F0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80340994 0033D8F4 7C 9F 23 78 */ mr r31, r4
/* 80340998 0033D8F8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8034099C 0033D8FC 7C 7E 1B 78 */ mr r30, r3
/* 803409A0 0033D900 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803409A4 0033D904 80 03 00 08 */ lwz r0, 8(r3)
/* 803409A8 0033D908 7C 1F 00 00 */ cmpw r31, r0
/* 803409AC 0033D90C 40 81 00 B0 */ ble lbl_80340A5C
/* 803409B0 0033D910 57 E3 18 39 */ rlwinm. r3, r31, 3, 0, 0x1c
/* 803409B4 0033D914 40 82 00 0C */ bne lbl_803409C0
/* 803409B8 0033D918 3B A0 00 00 */ li r29, 0
/* 803409BC 0033D91C 48 00 00 18 */ b lbl_803409D4
lbl_803409C0:
/* 803409C0 0033D920 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 803409C4 0033D924 38 A0 00 00 */ li r5, 0
/* 803409C8 0033D928 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 803409CC 0033D92C 4B FD 4E 4D */ bl __nwa__FUlPCcPCc
/* 803409D0 0033D930 7C 7D 1B 78 */ mr r29, r3
lbl_803409D4:
/* 803409D4 0033D934 80 1E 00 04 */ lwz r0, 4(r30)
/* 803409D8 0033D938 7F A4 EB 78 */ mr r4, r29
/* 803409DC 0033D93C 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 803409E0 0033D940 54 00 18 38 */ slwi r0, r0, 3
/* 803409E4 0033D944 7C 65 02 14 */ add r3, r5, r0
/* 803409E8 0033D948 90 A1 00 10 */ stw r5, 0x10(r1)
/* 803409EC 0033D94C 90 61 00 08 */ stw r3, 8(r1)
/* 803409F0 0033D950 90 61 00 0C */ stw r3, 0xc(r1)
/* 803409F4 0033D954 90 A1 00 14 */ stw r5, 0x14(r1)
/* 803409F8 0033D958 48 00 00 24 */ b lbl_80340A1C
lbl_803409FC:
/* 803409FC 0033D95C 28 04 00 00 */ cmplwi r4, 0
/* 80340A00 0033D960 41 82 00 14 */ beq lbl_80340A14
/* 80340A04 0033D964 80 05 00 00 */ lwz r0, 0(r5)
/* 80340A08 0033D968 90 04 00 00 */ stw r0, 0(r4)
/* 80340A0C 0033D96C 80 05 00 04 */ lwz r0, 4(r5)
/* 80340A10 0033D970 90 04 00 04 */ stw r0, 4(r4)
lbl_80340A14:
/* 80340A14 0033D974 38 84 00 08 */ addi r4, r4, 8
/* 80340A18 0033D978 38 A5 00 08 */ addi r5, r5, 8
lbl_80340A1C:
/* 80340A1C 0033D97C 7C 05 18 40 */ cmplw r5, r3
/* 80340A20 0033D980 40 82 FF DC */ bne lbl_803409FC
/* 80340A24 0033D984 80 1E 00 04 */ lwz r0, 4(r30)
/* 80340A28 0033D988 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80340A2C 0033D98C 54 00 18 38 */ slwi r0, r0, 3
/* 80340A30 0033D990 7C 64 1B 78 */ mr r4, r3
/* 80340A34 0033D994 7C 03 02 14 */ add r0, r3, r0
/* 80340A38 0033D998 48 00 00 08 */ b lbl_80340A40
lbl_80340A3C:
/* 80340A3C 0033D99C 38 84 00 08 */ addi r4, r4, 8
lbl_80340A40:
/* 80340A40 0033D9A0 7C 04 00 40 */ cmplw r4, r0
/* 80340A44 0033D9A4 40 82 FF F8 */ bne lbl_80340A3C
/* 80340A48 0033D9A8 28 03 00 00 */ cmplwi r3, 0
/* 80340A4C 0033D9AC 41 82 00 08 */ beq lbl_80340A54
/* 80340A50 0033D9B0 4B FD 4E E1 */ bl Free__7CMemoryFPCv
lbl_80340A54:
/* 80340A54 0033D9B4 93 BE 00 0C */ stw r29, 0xc(r30)
/* 80340A58 0033D9B8 93 FE 00 08 */ stw r31, 8(r30)
lbl_80340A5C:
/* 80340A5C 0033D9BC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80340A60 0033D9C0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80340A64 0033D9C4 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80340A68 0033D9C8 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80340A6C 0033D9CC 7C 08 03 A6 */ mtlr r0
/* 80340A70 0033D9D0 38 21 00 30 */ addi r1, r1, 0x30
/* 80340A74 0033D9D4 4E 80 00 20 */ blr
.global sub_80340a78
sub_80340a78:
/* 80340A78 0033D9D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80340A7C 0033D9DC 7C 08 02 A6 */ mflr r0
/* 80340A80 0033D9E0 28 05 00 00 */ cmplwi r5, 0
/* 80340A84 0033D9E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80340A88 0033D9E8 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 80340A8C 0033D9EC 7C 7C 1B 78 */ mr r28, r3
/* 80340A90 0033D9F0 7C 9D 23 78 */ mr r29, r4
/* 80340A94 0033D9F4 7C DE 33 78 */ mr r30, r6
/* 80340A98 0033D9F8 40 82 00 90 */ bne lbl_80340B28
/* 80340A9C 0033D9FC 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 80340AA0 0033DA00 38 60 00 1C */ li r3, 0x1c
/* 80340AA4 0033DA04 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 80340AA8 0033DA08 38 A0 00 00 */ li r5, 0
/* 80340AAC 0033DA0C 4B FD 4D 6D */ bl __nwa__FUlPCcPCc
/* 80340AB0 0033DA10 28 03 00 00 */ cmplwi r3, 0
/* 80340AB4 0033DA14 41 82 00 38 */ beq lbl_80340AEC
/* 80340AB8 0033DA18 38 00 00 00 */ li r0, 0
/* 80340ABC 0033DA1C 34 83 00 10 */ addic. r4, r3, 0x10
/* 80340AC0 0033DA20 90 03 00 00 */ stw r0, 0(r3)
/* 80340AC4 0033DA24 90 03 00 04 */ stw r0, 4(r3)
/* 80340AC8 0033DA28 90 03 00 08 */ stw r0, 8(r3)
/* 80340ACC 0033DA2C 90 03 00 0C */ stw r0, 0xc(r3)
/* 80340AD0 0033DA30 41 82 00 1C */ beq lbl_80340AEC
/* 80340AD4 0033DA34 80 1E 00 00 */ lwz r0, 0(r30)
/* 80340AD8 0033DA38 90 04 00 00 */ stw r0, 0(r4)
/* 80340ADC 0033DA3C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80340AE0 0033DA40 90 04 00 04 */ stw r0, 4(r4)
/* 80340AE4 0033DA44 80 1E 00 08 */ lwz r0, 8(r30)
/* 80340AE8 0033DA48 90 04 00 08 */ stw r0, 8(r4)
lbl_80340AEC:
/* 80340AEC 0033DA4C 90 7D 00 10 */ stw r3, 0x10(r29)
/* 80340AF0 0033DA50 38 1D 00 08 */ addi r0, r29, 8
/* 80340AF4 0033DA54 80 7D 00 04 */ lwz r3, 4(r29)
/* 80340AF8 0033DA58 38 63 00 01 */ addi r3, r3, 1
/* 80340AFC 0033DA5C 90 7D 00 04 */ stw r3, 4(r29)
/* 80340B00 0033DA60 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 80340B04 0033DA64 90 7D 00 08 */ stw r3, 8(r29)
/* 80340B08 0033DA68 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 80340B0C 0033DA6C 90 7D 00 0C */ stw r3, 0xc(r29)
/* 80340B10 0033DA70 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 80340B14 0033DA74 90 7C 00 00 */ stw r3, 0(r28)
/* 80340B18 0033DA78 90 1C 00 04 */ stw r0, 4(r28)
/* 80340B1C 0033DA7C 88 0D 9D 50 */ lbz r0, lbl_805A8910@sda21(r13)
/* 80340B20 0033DA80 98 1C 00 08 */ stb r0, 8(r28)
/* 80340B24 0033DA84 48 00 01 8C */ b lbl_80340CB0
lbl_80340B28:
/* 80340B28 0033DA88 7C BF 2B 78 */ mr r31, r5
/* 80340B2C 0033DA8C 3B 60 00 00 */ li r27, 0
/* 80340B30 0033DA90 48 00 01 4C */ b lbl_80340C7C
lbl_80340B34:
/* 80340B34 0033DA94 80 7E 00 04 */ lwz r3, 4(r30)
/* 80340B38 0033DA98 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 80340B3C 0033DA9C 7C 80 1A 78 */ xor r0, r4, r3
/* 80340B40 0033DAA0 7C 00 00 34 */ cntlzw r0, r0
/* 80340B44 0033DAA4 7C 80 00 30 */ slw r0, r4, r0
/* 80340B48 0033DAA8 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 80340B4C 0033DAAC 40 82 00 24 */ bne lbl_80340B70
/* 80340B50 0033DAB0 7C 04 18 40 */ cmplw r4, r3
/* 80340B54 0033DAB4 41 80 00 1C */ blt lbl_80340B70
/* 80340B58 0033DAB8 93 FC 00 00 */ stw r31, 0(r28)
/* 80340B5C 0033DABC 38 1D 00 08 */ addi r0, r29, 8
/* 80340B60 0033DAC0 90 1C 00 04 */ stw r0, 4(r28)
/* 80340B64 0033DAC4 88 0D 9D 51 */ lbz r0, lbl_805A8911@sda21(r13)
/* 80340B68 0033DAC8 98 1C 00 08 */ stb r0, 8(r28)
/* 80340B6C 0033DACC 48 00 01 44 */ b lbl_80340CB0
lbl_80340B70:
/* 80340B70 0033DAD0 28 00 00 00 */ cmplwi r0, 0
/* 80340B74 0033DAD4 41 82 00 88 */ beq lbl_80340BFC
/* 80340B78 0033DAD8 80 1F 00 00 */ lwz r0, 0(r31)
/* 80340B7C 0033DADC 28 00 00 00 */ cmplwi r0, 0
/* 80340B80 0033DAE0 40 82 00 74 */ bne lbl_80340BF4
/* 80340B84 0033DAE4 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 80340B88 0033DAE8 38 60 00 1C */ li r3, 0x1c
/* 80340B8C 0033DAEC 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 80340B90 0033DAF0 38 A0 00 00 */ li r5, 0
/* 80340B94 0033DAF4 4B FD 4C 85 */ bl __nwa__FUlPCcPCc
/* 80340B98 0033DAF8 28 03 00 00 */ cmplwi r3, 0
/* 80340B9C 0033DAFC 41 82 00 3C */ beq lbl_80340BD8
/* 80340BA0 0033DB00 38 80 00 00 */ li r4, 0
/* 80340BA4 0033DB04 34 A3 00 10 */ addic. r5, r3, 0x10
/* 80340BA8 0033DB08 90 83 00 00 */ stw r4, 0(r3)
/* 80340BAC 0033DB0C 38 00 00 01 */ li r0, 1
/* 80340BB0 0033DB10 90 83 00 04 */ stw r4, 4(r3)
/* 80340BB4 0033DB14 93 E3 00 08 */ stw r31, 8(r3)
/* 80340BB8 0033DB18 90 03 00 0C */ stw r0, 0xc(r3)
/* 80340BBC 0033DB1C 41 82 00 1C */ beq lbl_80340BD8
/* 80340BC0 0033DB20 80 1E 00 00 */ lwz r0, 0(r30)
/* 80340BC4 0033DB24 90 05 00 00 */ stw r0, 0(r5)
/* 80340BC8 0033DB28 80 1E 00 04 */ lwz r0, 4(r30)
/* 80340BCC 0033DB2C 90 05 00 04 */ stw r0, 4(r5)
/* 80340BD0 0033DB30 80 1E 00 08 */ lwz r0, 8(r30)
/* 80340BD4 0033DB34 90 05 00 08 */ stw r0, 8(r5)
lbl_80340BD8:
/* 80340BD8 0033DB38 90 7F 00 00 */ stw r3, 0(r31)
/* 80340BDC 0033DB3C 7C 7B 1B 78 */ mr r27, r3
/* 80340BE0 0033DB40 80 1D 00 08 */ lwz r0, 8(r29)
/* 80340BE4 0033DB44 7C 1F 00 40 */ cmplw r31, r0
/* 80340BE8 0033DB48 40 82 00 94 */ bne lbl_80340C7C
/* 80340BEC 0033DB4C 90 7D 00 08 */ stw r3, 8(r29)
/* 80340BF0 0033DB50 48 00 00 8C */ b lbl_80340C7C
lbl_80340BF4:
/* 80340BF4 0033DB54 7C 1F 03 78 */ mr r31, r0
/* 80340BF8 0033DB58 48 00 00 84 */ b lbl_80340C7C
lbl_80340BFC:
/* 80340BFC 0033DB5C 80 1F 00 04 */ lwz r0, 4(r31)
/* 80340C00 0033DB60 28 00 00 00 */ cmplwi r0, 0
/* 80340C04 0033DB64 40 82 00 74 */ bne lbl_80340C78
/* 80340C08 0033DB68 3C 80 80 3D */ lis r4, lbl_803D7A98@ha
/* 80340C0C 0033DB6C 38 60 00 1C */ li r3, 0x1c
/* 80340C10 0033DB70 38 84 7A 98 */ addi r4, r4, lbl_803D7A98@l
/* 80340C14 0033DB74 38 A0 00 00 */ li r5, 0
/* 80340C18 0033DB78 4B FD 4C 01 */ bl __nwa__FUlPCcPCc
/* 80340C1C 0033DB7C 28 03 00 00 */ cmplwi r3, 0
/* 80340C20 0033DB80 41 82 00 3C */ beq lbl_80340C5C
/* 80340C24 0033DB84 38 80 00 00 */ li r4, 0
/* 80340C28 0033DB88 34 A3 00 10 */ addic. r5, r3, 0x10
/* 80340C2C 0033DB8C 90 83 00 00 */ stw r4, 0(r3)
/* 80340C30 0033DB90 38 00 00 01 */ li r0, 1
/* 80340C34 0033DB94 90 83 00 04 */ stw r4, 4(r3)
/* 80340C38 0033DB98 93 E3 00 08 */ stw r31, 8(r3)
/* 80340C3C 0033DB9C 90 03 00 0C */ stw r0, 0xc(r3)
/* 80340C40 0033DBA0 41 82 00 1C */ beq lbl_80340C5C
/* 80340C44 0033DBA4 80 1E 00 00 */ lwz r0, 0(r30)
/* 80340C48 0033DBA8 90 05 00 00 */ stw r0, 0(r5)
/* 80340C4C 0033DBAC 80 1E 00 04 */ lwz r0, 4(r30)
/* 80340C50 0033DBB0 90 05 00 04 */ stw r0, 4(r5)
/* 80340C54 0033DBB4 80 1E 00 08 */ lwz r0, 8(r30)
/* 80340C58 0033DBB8 90 05 00 08 */ stw r0, 8(r5)
lbl_80340C5C:
/* 80340C5C 0033DBBC 90 7F 00 04 */ stw r3, 4(r31)
/* 80340C60 0033DBC0 7C 7B 1B 78 */ mr r27, r3
/* 80340C64 0033DBC4 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 80340C68 0033DBC8 7C 1F 00 40 */ cmplw r31, r0
/* 80340C6C 0033DBCC 40 82 00 10 */ bne lbl_80340C7C
/* 80340C70 0033DBD0 90 7D 00 0C */ stw r3, 0xc(r29)
/* 80340C74 0033DBD4 48 00 00 08 */ b lbl_80340C7C
lbl_80340C78:
/* 80340C78 0033DBD8 7C 1F 03 78 */ mr r31, r0
lbl_80340C7C:
/* 80340C7C 0033DBDC 28 1B 00 00 */ cmplwi r27, 0
/* 80340C80 0033DBE0 41 82 FE B4 */ beq lbl_80340B34
/* 80340C84 0033DBE4 80 BD 00 04 */ lwz r5, 4(r29)
/* 80340C88 0033DBE8 7F 64 DB 78 */ mr r4, r27
/* 80340C8C 0033DBEC 38 7D 00 08 */ addi r3, r29, 8
/* 80340C90 0033DBF0 38 05 00 01 */ addi r0, r5, 1
/* 80340C94 0033DBF4 90 1D 00 04 */ stw r0, 4(r29)
/* 80340C98 0033DBF8 4B FF BE 01 */ bl rbtree_rebalance__4rstlFPvPv
/* 80340C9C 0033DBFC 93 7C 00 00 */ stw r27, 0(r28)
/* 80340CA0 0033DC00 38 1D 00 08 */ addi r0, r29, 8
/* 80340CA4 0033DC04 90 1C 00 04 */ stw r0, 4(r28)
/* 80340CA8 0033DC08 88 0D 9D 52 */ lbz r0, lbl_805A8912@sda21(r13)
/* 80340CAC 0033DC0C 98 1C 00 08 */ stb r0, 8(r28)
lbl_80340CB0:
/* 80340CB0 0033DC10 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80340CB4 0033DC14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80340CB8 0033DC18 7C 08 03 A6 */ mtlr r0
/* 80340CBC 0033DC1C 38 21 00 20 */ addi r1, r1, 0x20
/* 80340CC0 0033DC20 4E 80 00 20 */ blr

67
asm/Kyoto/CTimeProvider.s Normal file
View File

@ -0,0 +1,67 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __dt__13CTimeProviderFv
__dt__13CTimeProviderFv:
/* 8035825C 003551BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80358260 003551C0 7C 08 02 A6 */ mflr r0
/* 80358264 003551C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80358268 003551C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8035826C 003551CC 7C 9F 23 78 */ mr r31, r4
/* 80358270 003551D0 93 C1 00 08 */ stw r30, 8(r1)
/* 80358274 003551D4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80358278 003551D8 41 82 00 40 */ beq lbl_803582B8
/* 8035827C 003551DC 80 7E 00 08 */ lwz r3, 8(r30)
/* 80358280 003551E0 28 03 00 00 */ cmplwi r3, 0
/* 80358284 003551E4 90 6D AA 98 */ stw r3, lbl_805A9658@sda21(r13)
/* 80358288 003551E8 41 82 00 18 */ beq lbl_803582A0
/* 8035828C 003551EC 38 00 00 01 */ li r0, 1
/* 80358290 003551F0 98 03 00 04 */ stb r0, 4(r3)
/* 80358294 003551F4 80 6D AA 98 */ lwz r3, lbl_805A9658@sda21(r13)
/* 80358298 003551F8 4B FB 1C 41 */ bl SetExternalTimeProvider__9CGraphicsFP13CTimeProvider
/* 8035829C 003551FC 48 00 00 0C */ b lbl_803582A8
lbl_803582A0:
/* 803582A0 00355200 38 60 00 00 */ li r3, 0
/* 803582A4 00355204 4B FB 1C 35 */ bl SetExternalTimeProvider__9CGraphicsFP13CTimeProvider
lbl_803582A8:
/* 803582A8 00355208 7F E0 07 35 */ extsh. r0, r31
/* 803582AC 0035520C 40 81 00 0C */ ble lbl_803582B8
/* 803582B0 00355210 7F C3 F3 78 */ mr r3, r30
/* 803582B4 00355214 4B FB D6 7D */ bl Free__7CMemoryFPCv
lbl_803582B8:
/* 803582B8 00355218 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803582BC 0035521C 7F C3 F3 78 */ mr r3, r30
/* 803582C0 00355220 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803582C4 00355224 83 C1 00 08 */ lwz r30, 8(r1)
/* 803582C8 00355228 7C 08 03 A6 */ mtlr r0
/* 803582CC 0035522C 38 21 00 10 */ addi r1, r1, 0x10
/* 803582D0 00355230 4E 80 00 20 */ blr
.global __ct__13CTimeProviderFRCf
__ct__13CTimeProviderFRCf:
/* 803582D4 00355234 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803582D8 00355238 7C 08 02 A6 */ mflr r0
/* 803582DC 0035523C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803582E0 00355240 38 00 00 01 */ li r0, 1
/* 803582E4 00355244 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803582E8 00355248 7C 7F 1B 78 */ mr r31, r3
/* 803582EC 0035524C 90 83 00 00 */ stw r4, 0(r3)
/* 803582F0 00355250 98 03 00 04 */ stb r0, 4(r3)
/* 803582F4 00355254 80 0D AA 98 */ lwz r0, lbl_805A9658@sda21(r13)
/* 803582F8 00355258 90 03 00 08 */ stw r0, 8(r3)
/* 803582FC 0035525C 80 63 00 08 */ lwz r3, 8(r3)
/* 80358300 00355260 28 03 00 00 */ cmplwi r3, 0
/* 80358304 00355264 41 82 00 0C */ beq lbl_80358310
/* 80358308 00355268 38 00 00 00 */ li r0, 0
/* 8035830C 0035526C 98 03 00 04 */ stb r0, 4(r3)
lbl_80358310:
/* 80358310 00355270 93 ED AA 98 */ stw r31, lbl_805A9658@sda21(r13)
/* 80358314 00355274 7F E3 FB 78 */ mr r3, r31
/* 80358318 00355278 4B FB 1B C1 */ bl SetExternalTimeProvider__9CGraphicsFP13CTimeProvider
/* 8035831C 0035527C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80358320 00355280 7F E3 FB 78 */ mr r3, r31
/* 80358324 00355284 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80358328 00355288 7C 08 03 A6 */ mtlr r0
/* 8035832C 0035528C 38 21 00 10 */ addi r1, r1, 0x10
/* 80358330 00355290 4E 80 00 20 */ blr

249
asm/Kyoto/CToken.s Normal file
View File

@ -0,0 +1,249 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __as__6CTokenFRC6CToken
__as__6CTokenFRC6CToken:
/* 80340CC4 0033DC24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340CC8 0033DC28 7C 08 02 A6 */ mflr r0
/* 80340CCC 0033DC2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340CD0 0033DC30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340CD4 0033DC34 7C 9F 23 78 */ mr r31, r4
/* 80340CD8 0033DC38 93 C1 00 08 */ stw r30, 8(r1)
/* 80340CDC 0033DC3C 7C 7E 1B 78 */ mr r30, r3
/* 80340CE0 0033DC40 7C 1F F0 40 */ cmplw r31, r30
/* 80340CE4 0033DC44 40 82 00 08 */ bne lbl_80340CEC
/* 80340CE8 0033DC48 48 00 00 40 */ b lbl_80340D28
lbl_80340CEC:
/* 80340CEC 0033DC4C 48 00 00 55 */ bl Unlock__6CTokenFv
/* 80340CF0 0033DC50 7F C3 F3 78 */ mr r3, r30
/* 80340CF4 0033DC54 48 00 00 D5 */ bl RemoveRef__6CTokenFv
/* 80340CF8 0033DC58 80 1F 00 00 */ lwz r0, 0(r31)
/* 80340CFC 0033DC5C 90 1E 00 00 */ stw r0, 0(r30)
/* 80340D00 0033DC60 80 9E 00 00 */ lwz r4, 0(r30)
/* 80340D04 0033DC64 A8 64 00 00 */ lha r3, 0(r4)
/* 80340D08 0033DC68 38 03 00 01 */ addi r0, r3, 1
/* 80340D0C 0033DC6C B0 04 00 00 */ sth r0, 0(r4)
/* 80340D10 0033DC70 88 1F 00 04 */ lbz r0, 4(r31)
/* 80340D14 0033DC74 28 00 00 00 */ cmplwi r0, 0
/* 80340D18 0033DC78 41 82 00 0C */ beq lbl_80340D24
/* 80340D1C 0033DC7C 7F C3 F3 78 */ mr r3, r30
/* 80340D20 0033DC80 48 00 00 65 */ bl Lock__6CTokenFv
lbl_80340D24:
/* 80340D24 0033DC84 7F C3 F3 78 */ mr r3, r30
lbl_80340D28:
/* 80340D28 0033DC88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340D2C 0033DC8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340D30 0033DC90 83 C1 00 08 */ lwz r30, 8(r1)
/* 80340D34 0033DC94 7C 08 03 A6 */ mtlr r0
/* 80340D38 0033DC98 38 21 00 10 */ addi r1, r1, 0x10
/* 80340D3C 0033DC9C 4E 80 00 20 */ blr
.global Unlock__6CTokenFv
Unlock__6CTokenFv:
/* 80340D40 0033DCA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340D44 0033DCA4 7C 08 02 A6 */ mflr r0
/* 80340D48 0033DCA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340D4C 0033DCAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340D50 0033DCB0 7C 7F 1B 78 */ mr r31, r3
/* 80340D54 0033DCB4 88 03 00 04 */ lbz r0, 4(r3)
/* 80340D58 0033DCB8 28 00 00 00 */ cmplwi r0, 0
/* 80340D5C 0033DCBC 41 82 00 14 */ beq lbl_80340D70
/* 80340D60 0033DCC0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80340D64 0033DCC4 4B FF ED 81 */ bl Unlock__16CObjectReferenceFv
/* 80340D68 0033DCC8 38 00 00 00 */ li r0, 0
/* 80340D6C 0033DCCC 98 1F 00 04 */ stb r0, 4(r31)
lbl_80340D70:
/* 80340D70 0033DCD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340D74 0033DCD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340D78 0033DCD8 7C 08 03 A6 */ mtlr r0
/* 80340D7C 0033DCDC 38 21 00 10 */ addi r1, r1, 0x10
/* 80340D80 0033DCE0 4E 80 00 20 */ blr
.global Lock__6CTokenFv
Lock__6CTokenFv:
/* 80340D84 0033DCE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340D88 0033DCE8 7C 08 02 A6 */ mflr r0
/* 80340D8C 0033DCEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340D90 0033DCF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340D94 0033DCF4 7C 7F 1B 78 */ mr r31, r3
/* 80340D98 0033DCF8 88 03 00 04 */ lbz r0, 4(r3)
/* 80340D9C 0033DCFC 28 00 00 00 */ cmplwi r0, 0
/* 80340DA0 0033DD00 40 82 00 14 */ bne lbl_80340DB4
/* 80340DA4 0033DD04 80 7F 00 00 */ lwz r3, 0(r31)
/* 80340DA8 0033DD08 4B FF EF E1 */ bl Lock__16CObjectReferenceFv
/* 80340DAC 0033DD0C 38 00 00 01 */ li r0, 1
/* 80340DB0 0033DD10 98 1F 00 04 */ stb r0, 4(r31)
lbl_80340DB4:
/* 80340DB4 0033DD14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340DB8 0033DD18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340DBC 0033DD1C 7C 08 03 A6 */ mtlr r0
/* 80340DC0 0033DD20 38 21 00 10 */ addi r1, r1, 0x10
/* 80340DC4 0033DD24 4E 80 00 20 */ blr
.global RemoveRef__6CTokenFv
RemoveRef__6CTokenFv:
/* 80340DC8 0033DD28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340DCC 0033DD2C 7C 08 02 A6 */ mflr r0
/* 80340DD0 0033DD30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340DD4 0033DD34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340DD8 0033DD38 7C 7F 1B 78 */ mr r31, r3
/* 80340DDC 0033DD3C 80 63 00 00 */ lwz r3, 0(r3)
/* 80340DE0 0033DD40 4B FF ED 91 */ bl RemoveReference__16CObjectReferenceFv
/* 80340DE4 0033DD44 2C 03 00 00 */ cmpwi r3, 0
/* 80340DE8 0033DD48 40 82 00 10 */ bne lbl_80340DF8
/* 80340DEC 0033DD4C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80340DF0 0033DD50 38 80 00 01 */ li r4, 1
/* 80340DF4 0033DD54 4B FF F0 35 */ bl __dt__16CObjectReferenceFv
lbl_80340DF8:
/* 80340DF8 0033DD58 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340DFC 0033DD5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340E00 0033DD60 7C 08 03 A6 */ mtlr r0
/* 80340E04 0033DD64 38 21 00 10 */ addi r1, r1, 0x10
/* 80340E08 0033DD68 4E 80 00 20 */ blr
.global GetObj__6CTokenFv
GetObj__6CTokenFv:
/* 80340E0C 0033DD6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340E10 0033DD70 7C 08 02 A6 */ mflr r0
/* 80340E14 0033DD74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340E18 0033DD78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340E1C 0033DD7C 7C 7F 1B 78 */ mr r31, r3
/* 80340E20 0033DD80 4B FF FF 65 */ bl Lock__6CTokenFv
/* 80340E24 0033DD84 80 7F 00 00 */ lwz r3, 0(r31)
/* 80340E28 0033DD88 4B FF EE A9 */ bl GetObject__16CObjectReferenceFv
/* 80340E2C 0033DD8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340E30 0033DD90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340E34 0033DD94 7C 08 03 A6 */ mtlr r0
/* 80340E38 0033DD98 38 21 00 10 */ addi r1, r1, 0x10
/* 80340E3C 0033DD9C 4E 80 00 20 */ blr
.global __dt__6CTokenFv
__dt__6CTokenFv:
/* 80340E40 0033DDA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340E44 0033DDA4 7C 08 02 A6 */ mflr r0
/* 80340E48 0033DDA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340E4C 0033DDAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340E50 0033DDB0 7C 9F 23 78 */ mr r31, r4
/* 80340E54 0033DDB4 93 C1 00 08 */ stw r30, 8(r1)
/* 80340E58 0033DDB8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80340E5C 0033DDBC 41 82 00 30 */ beq lbl_80340E8C
/* 80340E60 0033DDC0 88 1E 00 04 */ lbz r0, 4(r30)
/* 80340E64 0033DDC4 28 00 00 00 */ cmplwi r0, 0
/* 80340E68 0033DDC8 41 82 00 0C */ beq lbl_80340E74
/* 80340E6C 0033DDCC 80 7E 00 00 */ lwz r3, 0(r30)
/* 80340E70 0033DDD0 4B FF EC 75 */ bl Unlock__16CObjectReferenceFv
lbl_80340E74:
/* 80340E74 0033DDD4 7F C3 F3 78 */ mr r3, r30
/* 80340E78 0033DDD8 4B FF FF 51 */ bl RemoveRef__6CTokenFv
/* 80340E7C 0033DDDC 7F E0 07 35 */ extsh. r0, r31
/* 80340E80 0033DDE0 40 81 00 0C */ ble lbl_80340E8C
/* 80340E84 0033DDE4 7F C3 F3 78 */ mr r3, r30
/* 80340E88 0033DDE8 4B FD 4A A9 */ bl Free__7CMemoryFPCv
lbl_80340E8C:
/* 80340E8C 0033DDEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340E90 0033DDF0 7F C3 F3 78 */ mr r3, r30
/* 80340E94 0033DDF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340E98 0033DDF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80340E9C 0033DDFC 7C 08 03 A6 */ mtlr r0
/* 80340EA0 0033DE00 38 21 00 10 */ addi r1, r1, 0x10
/* 80340EA4 0033DE04 4E 80 00 20 */ blr
.global __ct__6CTokenFRC6CToken
__ct__6CTokenFRC6CToken:
/* 80340EA8 0033DE08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80340EAC 0033DE0C 7C 08 02 A6 */ mflr r0
/* 80340EB0 0033DE10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80340EB4 0033DE14 38 00 00 00 */ li r0, 0
/* 80340EB8 0033DE18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340EBC 0033DE1C 7C 7F 1B 78 */ mr r31, r3
/* 80340EC0 0033DE20 80 A4 00 00 */ lwz r5, 0(r4)
/* 80340EC4 0033DE24 90 A3 00 00 */ stw r5, 0(r3)
/* 80340EC8 0033DE28 98 03 00 04 */ stb r0, 4(r3)
/* 80340ECC 0033DE2C 80 C3 00 00 */ lwz r6, 0(r3)
/* 80340ED0 0033DE30 A8 A6 00 00 */ lha r5, 0(r6)
/* 80340ED4 0033DE34 38 05 00 01 */ addi r0, r5, 1
/* 80340ED8 0033DE38 B0 06 00 00 */ sth r0, 0(r6)
/* 80340EDC 0033DE3C 88 04 00 04 */ lbz r0, 4(r4)
/* 80340EE0 0033DE40 28 00 00 00 */ cmplwi r0, 0
/* 80340EE4 0033DE44 41 82 00 08 */ beq lbl_80340EEC
/* 80340EE8 0033DE48 4B FF FE 9D */ bl Lock__6CTokenFv
lbl_80340EEC:
/* 80340EEC 0033DE4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80340EF0 0033DE50 7F E3 FB 78 */ mr r3, r31
/* 80340EF4 0033DE54 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80340EF8 0033DE58 7C 08 03 A6 */ mtlr r0
/* 80340EFC 0033DE5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80340F00 0033DE60 4E 80 00 20 */ blr
.global __ct__6CTokenFP4IObj
__ct__6CTokenFP4IObj:
/* 80340F04 0033DE64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80340F08 0033DE68 7C 08 02 A6 */ mflr r0
/* 80340F0C 0033DE6C 3C A0 80 3D */ lis r5, lbl_803D7AA0@ha
/* 80340F10 0033DE70 90 01 00 24 */ stw r0, 0x24(r1)
/* 80340F14 0033DE74 38 05 7A A0 */ addi r0, r5, lbl_803D7AA0@l
/* 80340F18 0033DE78 38 A0 00 00 */ li r5, 0
/* 80340F1C 0033DE7C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80340F20 0033DE80 7C 9F 23 78 */ mr r31, r4
/* 80340F24 0033DE84 7C 04 03 78 */ mr r4, r0
/* 80340F28 0033DE88 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80340F2C 0033DE8C 7C 7E 1B 78 */ mr r30, r3
/* 80340F30 0033DE90 38 60 00 18 */ li r3, 0x18
/* 80340F34 0033DE94 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80340F38 0033DE98 3B A0 00 00 */ li r29, 0
/* 80340F3C 0033DE9C 4B FD 49 31 */ bl __nw__FUlPCcPCc
/* 80340F40 0033DEA0 7C 64 1B 79 */ or. r4, r3, r3
/* 80340F44 0033DEA4 41 82 00 28 */ beq lbl_80340F6C
/* 80340F48 0033DEA8 7C 1F 00 D0 */ neg r0, r31
/* 80340F4C 0033DEAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80340F50 0033DEB0 7C 00 FB 78 */ or r0, r0, r31
/* 80340F54 0033DEB4 38 81 00 08 */ addi r4, r1, 8
/* 80340F58 0033DEB8 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80340F5C 0033DEBC 3B A0 00 01 */ li r29, 1
/* 80340F60 0033DEC0 98 01 00 08 */ stb r0, 8(r1)
/* 80340F64 0033DEC4 4B FF EF 8D */ bl "__ct__16CObjectReferenceFRCQ24rstl15auto_ptr<4IObj>"
/* 80340F68 0033DEC8 7C 64 1B 78 */ mr r4, r3
lbl_80340F6C:
/* 80340F6C 0033DECC 7F A0 07 75 */ extsb. r0, r29
/* 80340F70 0033DED0 90 9E 00 00 */ stw r4, 0(r30)
/* 80340F74 0033DED4 41 82 00 30 */ beq lbl_80340FA4
/* 80340F78 0033DED8 88 01 00 08 */ lbz r0, 8(r1)
/* 80340F7C 0033DEDC 28 00 00 00 */ cmplwi r0, 0
/* 80340F80 0033DEE0 41 82 00 24 */ beq lbl_80340FA4
/* 80340F84 0033DEE4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80340F88 0033DEE8 28 03 00 00 */ cmplwi r3, 0
/* 80340F8C 0033DEEC 41 82 00 18 */ beq lbl_80340FA4
/* 80340F90 0033DEF0 81 83 00 00 */ lwz r12, 0(r3)
/* 80340F94 0033DEF4 38 80 00 01 */ li r4, 1
/* 80340F98 0033DEF8 81 8C 00 08 */ lwz r12, 8(r12)
/* 80340F9C 0033DEFC 7D 89 03 A6 */ mtctr r12
/* 80340FA0 0033DF00 4E 80 04 21 */ bctrl
lbl_80340FA4:
/* 80340FA4 0033DF04 38 00 00 00 */ li r0, 0
/* 80340FA8 0033DF08 7F C3 F3 78 */ mr r3, r30
/* 80340FAC 0033DF0C 98 1E 00 04 */ stb r0, 4(r30)
/* 80340FB0 0033DF10 80 BE 00 00 */ lwz r5, 0(r30)
/* 80340FB4 0033DF14 A8 85 00 00 */ lha r4, 0(r5)
/* 80340FB8 0033DF18 38 04 00 01 */ addi r0, r4, 1
/* 80340FBC 0033DF1C B0 05 00 00 */ sth r0, 0(r5)
/* 80340FC0 0033DF20 4B FF FD C5 */ bl Lock__6CTokenFv
/* 80340FC4 0033DF24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80340FC8 0033DF28 7F C3 F3 78 */ mr r3, r30
/* 80340FCC 0033DF2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80340FD0 0033DF30 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80340FD4 0033DF34 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80340FD8 0033DF38 7C 08 03 A6 */ mtlr r0
/* 80340FDC 0033DF3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80340FE0 0033DF40 4E 80 00 20 */ blr
.global __ct__6CTokenFP16CObjectReference
__ct__6CTokenFP16CObjectReference:
/* 80340FE4 0033DF44 90 83 00 00 */ stw r4, 0(r3)
/* 80340FE8 0033DF48 38 00 00 00 */ li r0, 0
/* 80340FEC 0033DF4C 98 03 00 04 */ stb r0, 4(r3)
/* 80340FF0 0033DF50 80 A3 00 00 */ lwz r5, 0(r3)
/* 80340FF4 0033DF54 A8 85 00 00 */ lha r4, 0(r5)
/* 80340FF8 0033DF58 38 04 00 01 */ addi r0, r4, 1
/* 80340FFC 0033DF5C B0 05 00 00 */ sth r0, 0(r5)
/* 80341000 0033DF60 4E 80 00 20 */ blr

925
asm/Kyoto/DolphinCDvdFile.s Normal file
View File

@ -0,0 +1,925 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global UpdateFilePos__8CDvdFileFi
UpdateFilePos__8CDvdFileFi:
/* 8034F8D0 0034C830 38 04 00 1F */ addi r0, r4, 0x1f
/* 8034F8D4 0034C834 80 83 00 10 */ lwz r4, 0x10(r3)
/* 8034F8D8 0034C838 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 8034F8DC 0034C83C 7C 04 02 14 */ add r0, r4, r0
/* 8034F8E0 0034C840 90 03 00 10 */ stw r0, 0x10(r3)
/* 8034F8E4 0034C844 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8034F8E8 0034C848 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8034F8EC 0034C84C 7C 00 20 00 */ cmpw r0, r4
/* 8034F8F0 0034C850 4C 81 00 20 */ blelr
/* 8034F8F4 0034C854 90 83 00 10 */ stw r4, 0x10(r3)
/* 8034F8F8 0034C858 4E 80 00 20 */ blr
.global CalcFileOffset__8CDvdFileFi11ESeekOrigin
CalcFileOffset__8CDvdFileFi11ESeekOrigin:
/* 8034F8FC 0034C85C 2C 05 00 01 */ cmpwi r5, 1
/* 8034F900 0034C860 41 82 00 28 */ beq lbl_8034F928
/* 8034F904 0034C864 40 80 00 10 */ bge lbl_8034F914
/* 8034F908 0034C868 2C 05 00 00 */ cmpwi r5, 0
/* 8034F90C 0034C86C 40 80 00 14 */ bge lbl_8034F920
/* 8034F910 0034C870 4E 80 00 20 */ blr
lbl_8034F914:
/* 8034F914 0034C874 2C 05 00 03 */ cmpwi r5, 3
/* 8034F918 0034C878 4C 80 00 20 */ bgelr
/* 8034F91C 0034C87C 48 00 00 1C */ b lbl_8034F938
lbl_8034F920:
/* 8034F920 0034C880 90 83 00 10 */ stw r4, 0x10(r3)
/* 8034F924 0034C884 4E 80 00 20 */ blr
lbl_8034F928:
/* 8034F928 0034C888 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8034F92C 0034C88C 7C 00 22 14 */ add r0, r0, r4
/* 8034F930 0034C890 90 03 00 10 */ stw r0, 0x10(r3)
/* 8034F934 0034C894 4E 80 00 20 */ blr
lbl_8034F938:
/* 8034F938 0034C898 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8034F93C 0034C89C 7C 04 02 14 */ add r0, r4, r0
/* 8034F940 0034C8A0 90 03 00 10 */ stw r0, 0x10(r3)
/* 8034F944 0034C8A4 4E 80 00 20 */ blr
.global internalCallback__8CDvdFileFlP11DVDFileInfo
internalCallback__8CDvdFileFlP11DVDFileInfo:
/* 8034F948 0034C8A8 4E 80 00 20 */ blr
.global FileExists__8CDvdFileFPCc
FileExists__8CDvdFileFPCc:
/* 8034F94C 0034C8AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F950 0034C8B0 7C 08 02 A6 */ mflr r0
/* 8034F954 0034C8B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F958 0034C8B8 48 00 0B 99 */ bl DecodeARAMFile__FPCc
/* 8034F95C 0034C8BC 48 02 19 C1 */ bl DVDConvertPathToEntrynum
/* 8034F960 0034C8C0 20 83 FF FF */ subfic r4, r3, -1
/* 8034F964 0034C8C4 38 03 00 01 */ addi r0, r3, 1
/* 8034F968 0034C8C8 7C 80 03 78 */ or r0, r4, r0
/* 8034F96C 0034C8CC 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8034F970 0034C8D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F974 0034C8D4 7C 08 03 A6 */ mtlr r0
/* 8034F978 0034C8D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F97C 0034C8DC 4E 80 00 20 */ blr
.global CloseFile__8CDvdFileFv
CloseFile__8CDvdFileFv:
/* 8034F980 0034C8E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F984 0034C8E4 7C 08 02 A6 */ mflr r0
/* 8034F988 0034C8E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F98C 0034C8EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F990 0034C8F0 7C 7F 1B 78 */ mr r31, r3
/* 8034F994 0034C8F4 88 03 00 08 */ lbz r0, 8(r3)
/* 8034F998 0034C8F8 28 00 00 00 */ cmplwi r0, 0
/* 8034F99C 0034C8FC 41 82 00 10 */ beq lbl_8034F9AC
/* 8034F9A0 0034C900 48 00 03 ED */ bl StallForARAMFile__8CDvdFileFv
/* 8034F9A4 0034C904 80 7F 00 04 */ lwz r3, 4(r31)
/* 8034F9A8 0034C908 4B FF 51 15 */ bl Free__12CARAMManagerFPCv
lbl_8034F9AC:
/* 8034F9AC 0034C90C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F9B0 0034C910 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F9B4 0034C914 7C 08 03 A6 */ mtlr r0
/* 8034F9B8 0034C918 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F9BC 0034C91C 4E 80 00 20 */ blr
.global AsyncSeekRead__8CDvdFileFPvUi11ESeekOrigini
AsyncSeekRead__8CDvdFileFPvUi11ESeekOrigini:
/* 8034F9C0 0034C920 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034F9C4 0034C924 7C 08 02 A6 */ mflr r0
/* 8034F9C8 0034C928 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034F9CC 0034C92C BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8034F9D0 0034C930 7C 7D 1B 78 */ mr r29, r3
/* 8034F9D4 0034C934 7C 9E 23 78 */ mr r30, r4
/* 8034F9D8 0034C938 7C BF 2B 78 */ mr r31, r5
/* 8034F9DC 0034C93C 7C DC 33 78 */ mr r28, r6
/* 8034F9E0 0034C940 7C FB 3B 78 */ mr r27, r7
/* 8034F9E4 0034C944 48 00 03 A9 */ bl StallForARAMFile__8CDvdFileFv
/* 8034F9E8 0034C948 7F A3 EB 78 */ mr r3, r29
/* 8034F9EC 0034C94C 7F 64 DB 78 */ mr r4, r27
/* 8034F9F0 0034C950 7F 85 E3 78 */ mr r5, r28
/* 8034F9F4 0034C954 4B FF FF 09 */ bl CalcFileOffset__8CDvdFileFi11ESeekOrigin
/* 8034F9F8 0034C958 88 1D 00 08 */ lbz r0, 8(r29)
/* 8034F9FC 0034C95C 28 00 00 00 */ cmplwi r0, 0
/* 8034FA00 0034C960 41 82 00 74 */ beq lbl_8034FA74
/* 8034FA04 0034C964 38 1F 00 1F */ addi r0, r31, 0x1f
/* 8034FA08 0034C968 7F C3 F3 78 */ mr r3, r30
/* 8034FA0C 0034C96C 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a
/* 8034FA10 0034C970 7F 64 DB 78 */ mr r4, r27
/* 8034FA14 0034C974 48 02 F0 9D */ bl DCFlushRange
/* 8034FA18 0034C978 3C 80 80 3E */ lis r4, lbl_803D8230@ha
/* 8034FA1C 0034C97C 38 60 00 08 */ li r3, 8
/* 8034FA20 0034C980 38 84 82 30 */ addi r4, r4, lbl_803D8230@l
/* 8034FA24 0034C984 38 A0 00 00 */ li r5, 0
/* 8034FA28 0034C988 4B FC 5E 45 */ bl __nw__FUlPCcPCc
/* 8034FA2C 0034C98C 7C 7C 1B 79 */ or. r28, r3, r3
/* 8034FA30 0034C990 41 82 00 3C */ beq lbl_8034FA6C
/* 8034FA34 0034C994 80 7D 00 04 */ lwz r3, 4(r29)
/* 8034FA38 0034C998 7F C4 F3 78 */ mr r4, r30
/* 8034FA3C 0034C99C 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8034FA40 0034C9A0 7F 65 DB 78 */ mr r5, r27
/* 8034FA44 0034C9A4 38 C0 00 01 */ li r6, 1
/* 8034FA48 0034C9A8 7C 63 02 14 */ add r3, r3, r0
/* 8034FA4C 0034C9AC 4B FF 4E 05 */ bl DMAToMRAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
/* 8034FA50 0034C9B0 3C A0 80 3E */ lis r5, lbl_803D9FF8@ha
/* 8034FA54 0034C9B4 3C 80 80 3F */ lis r4, lbl_803ED578@ha
/* 8034FA58 0034C9B8 38 05 9F F8 */ addi r0, r5, lbl_803D9FF8@l
/* 8034FA5C 0034C9BC 90 1C 00 00 */ stw r0, 0(r28)
/* 8034FA60 0034C9C0 38 04 D5 78 */ addi r0, r4, lbl_803ED578@l
/* 8034FA64 0034C9C4 90 1C 00 00 */ stw r0, 0(r28)
/* 8034FA68 0034C9C8 90 7C 00 04 */ stw r3, 4(r28)
lbl_8034FA6C:
/* 8034FA6C 0034C9CC 7F 9B E3 78 */ mr r27, r28
/* 8034FA70 0034C9D0 48 00 00 70 */ b lbl_8034FAE0
lbl_8034FA74:
/* 8034FA74 0034C9D4 3C 80 80 3E */ lis r4, lbl_803D8230@ha
/* 8034FA78 0034C9D8 38 60 00 40 */ li r3, 0x40
/* 8034FA7C 0034C9DC 38 84 82 30 */ addi r4, r4, lbl_803D8230@l
/* 8034FA80 0034C9E0 38 A0 00 00 */ li r5, 0
/* 8034FA84 0034C9E4 4B FC 5D E9 */ bl __nw__FUlPCcPCc
/* 8034FA88 0034C9E8 7C 7C 1B 79 */ or. r28, r3, r3
/* 8034FA8C 0034C9EC 41 82 00 1C */ beq lbl_8034FAA8
/* 8034FA90 0034C9F0 3C 80 80 3E */ lis r4, lbl_803D9FF8@ha
/* 8034FA94 0034C9F4 3C 60 80 3F */ lis r3, lbl_803ED594@ha
/* 8034FA98 0034C9F8 38 04 9F F8 */ addi r0, r4, lbl_803D9FF8@l
/* 8034FA9C 0034C9FC 90 1C 00 00 */ stw r0, 0(r28)
/* 8034FAA0 0034CA00 38 03 D5 94 */ addi r0, r3, lbl_803ED594@l
/* 8034FAA4 0034CA04 90 1C 00 00 */ stw r0, 0(r28)
lbl_8034FAA8:
/* 8034FAA8 0034CA08 3B 7C 00 04 */ addi r27, r28, 4
/* 8034FAAC 0034CA0C 80 7D 00 00 */ lwz r3, 0(r29)
/* 8034FAB0 0034CA10 7F 64 DB 78 */ mr r4, r27
/* 8034FAB4 0034CA14 48 02 1B 5D */ bl DVDFastOpen
/* 8034FAB8 0034CA18 3C 60 80 35 */ lis r3, internalCallback__8CDvdFileFlP11DVDFileInfo@ha
/* 8034FABC 0034CA1C 38 1F 00 1F */ addi r0, r31, 0x1f
/* 8034FAC0 0034CA20 38 E3 F9 48 */ addi r7, r3, internalCallback__8CDvdFileFlP11DVDFileInfo@l
/* 8034FAC4 0034CA24 80 DD 00 10 */ lwz r6, 0x10(r29)
/* 8034FAC8 0034CA28 7F 63 DB 78 */ mr r3, r27
/* 8034FACC 0034CA2C 7F C4 F3 78 */ mr r4, r30
/* 8034FAD0 0034CA30 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 8034FAD4 0034CA34 39 00 00 02 */ li r8, 2
/* 8034FAD8 0034CA38 48 02 1E BD */ bl DVDReadAsyncPrio
/* 8034FADC 0034CA3C 7F 9B E3 78 */ mr r27, r28
lbl_8034FAE0:
/* 8034FAE0 0034CA40 7F A3 EB 78 */ mr r3, r29
/* 8034FAE4 0034CA44 7F E4 FB 78 */ mr r4, r31
/* 8034FAE8 0034CA48 4B FF FD E9 */ bl UpdateFilePos__8CDvdFileFi
/* 8034FAEC 0034CA4C 7F 63 DB 78 */ mr r3, r27
/* 8034FAF0 0034CA50 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 8034FAF4 0034CA54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034FAF8 0034CA58 7C 08 03 A6 */ mtlr r0
/* 8034FAFC 0034CA5C 38 21 00 20 */ addi r1, r1, 0x20
/* 8034FB00 0034CA60 4E 80 00 20 */ blr
.global SyncSeekRead__8CDvdFileFPvUi11ESeekOrigini
SyncSeekRead__8CDvdFileFPvUi11ESeekOrigini:
/* 8034FB04 0034CA64 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8034FB08 0034CA68 7C 08 02 A6 */ mflr r0
/* 8034FB0C 0034CA6C 90 01 00 64 */ stw r0, 0x64(r1)
/* 8034FB10 0034CA70 BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 8034FB14 0034CA74 7C 7B 1B 78 */ mr r27, r3
/* 8034FB18 0034CA78 7C 9C 23 78 */ mr r28, r4
/* 8034FB1C 0034CA7C 7C BD 2B 78 */ mr r29, r5
/* 8034FB20 0034CA80 7C DE 33 78 */ mr r30, r6
/* 8034FB24 0034CA84 7C FF 3B 78 */ mr r31, r7
/* 8034FB28 0034CA88 48 00 02 65 */ bl StallForARAMFile__8CDvdFileFv
/* 8034FB2C 0034CA8C 7F 63 DB 78 */ mr r3, r27
/* 8034FB30 0034CA90 7F E4 FB 78 */ mr r4, r31
/* 8034FB34 0034CA94 7F C5 F3 78 */ mr r5, r30
/* 8034FB38 0034CA98 4B FF FD C5 */ bl CalcFileOffset__8CDvdFileFi11ESeekOrigin
/* 8034FB3C 0034CA9C 88 1B 00 08 */ lbz r0, 8(r27)
/* 8034FB40 0034CAA0 28 00 00 00 */ cmplwi r0, 0
/* 8034FB44 0034CAA4 41 82 00 3C */ beq lbl_8034FB80
/* 8034FB48 0034CAA8 38 1D 00 1F */ addi r0, r29, 0x1f
/* 8034FB4C 0034CAAC 7F 83 E3 78 */ mr r3, r28
/* 8034FB50 0034CAB0 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 8034FB54 0034CAB4 7F E4 FB 78 */ mr r4, r31
/* 8034FB58 0034CAB8 48 02 EF 59 */ bl DCFlushRange
/* 8034FB5C 0034CABC 80 7B 00 04 */ lwz r3, 4(r27)
/* 8034FB60 0034CAC0 7F 84 E3 78 */ mr r4, r28
/* 8034FB64 0034CAC4 80 1B 00 10 */ lwz r0, 0x10(r27)
/* 8034FB68 0034CAC8 7F E5 FB 78 */ mr r5, r31
/* 8034FB6C 0034CACC 38 C0 00 01 */ li r6, 1
/* 8034FB70 0034CAD0 7C 63 02 14 */ add r3, r3, r0
/* 8034FB74 0034CAD4 4B FF 4C DD */ bl DMAToMRAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority
/* 8034FB78 0034CAD8 4B FF 4B D1 */ bl WaitForDMACompletion__12CARAMManagerFUi
/* 8034FB7C 0034CADC 48 00 00 4C */ b lbl_8034FBC8
lbl_8034FB80:
/* 8034FB80 0034CAE0 80 7B 00 00 */ lwz r3, 0(r27)
/* 8034FB84 0034CAE4 38 81 00 08 */ addi r4, r1, 8
/* 8034FB88 0034CAE8 48 02 1A 89 */ bl DVDFastOpen
/* 8034FB8C 0034CAEC 3C 60 80 35 */ lis r3, internalCallback__8CDvdFileFlP11DVDFileInfo@ha
/* 8034FB90 0034CAF0 38 1D 00 1F */ addi r0, r29, 0x1f
/* 8034FB94 0034CAF4 38 E3 F9 48 */ addi r7, r3, internalCallback__8CDvdFileFlP11DVDFileInfo@l
/* 8034FB98 0034CAF8 80 DB 00 10 */ lwz r6, 0x10(r27)
/* 8034FB9C 0034CAFC 7F 84 E3 78 */ mr r4, r28
/* 8034FBA0 0034CB00 38 61 00 08 */ addi r3, r1, 8
/* 8034FBA4 0034CB04 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 8034FBA8 0034CB08 39 00 00 02 */ li r8, 2
/* 8034FBAC 0034CB0C 48 02 1D E9 */ bl DVDReadAsyncPrio
lbl_8034FBB0:
/* 8034FBB0 0034CB10 38 61 00 08 */ addi r3, r1, 8
/* 8034FBB4 0034CB14 48 02 45 51 */ bl DVDGetCommandBlockStatus
/* 8034FBB8 0034CB18 2C 03 00 00 */ cmpwi r3, 0
/* 8034FBBC 0034CB1C 40 82 FF F4 */ bne lbl_8034FBB0
/* 8034FBC0 0034CB20 38 61 00 08 */ addi r3, r1, 8
/* 8034FBC4 0034CB24 48 02 1B 89 */ bl DVDClose
lbl_8034FBC8:
/* 8034FBC8 0034CB28 7F 63 DB 78 */ mr r3, r27
/* 8034FBCC 0034CB2C 7F A4 EB 78 */ mr r4, r29
/* 8034FBD0 0034CB30 4B FF FD 01 */ bl UpdateFilePos__8CDvdFileFi
/* 8034FBD4 0034CB34 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 8034FBD8 0034CB38 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8034FBDC 0034CB3C 7C 08 03 A6 */ mtlr r0
/* 8034FBE0 0034CB40 38 21 00 60 */ addi r1, r1, 0x60
/* 8034FBE4 0034CB44 4E 80 00 20 */ blr
.global SyncRead__8CDvdFileFPvUi
SyncRead__8CDvdFileFPvUi:
/* 8034FBE8 0034CB48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034FBEC 0034CB4C 7C 08 02 A6 */ mflr r0
/* 8034FBF0 0034CB50 38 C0 00 01 */ li r6, 1
/* 8034FBF4 0034CB54 38 E0 00 00 */ li r7, 0
/* 8034FBF8 0034CB58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034FBFC 0034CB5C 4B FF FD C5 */ bl AsyncSeekRead__8CDvdFileFPvUi11ESeekOrigini
/* 8034FC00 0034CB60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034FC04 0034CB64 7C 08 03 A6 */ mtlr r0
/* 8034FC08 0034CB68 38 21 00 10 */ addi r1, r1, 0x10
/* 8034FC0C 0034CB6C 4E 80 00 20 */ blr
.global __dt__8CDvdFileFv
__dt__8CDvdFileFv:
/* 8034FC10 0034CB70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034FC14 0034CB74 7C 08 02 A6 */ mflr r0
/* 8034FC18 0034CB78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034FC1C 0034CB7C BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8034FC20 0034CB80 7C 7B 1B 79 */ or. r27, r3, r3
/* 8034FC24 0034CB84 7C 9C 23 78 */ mr r28, r4
/* 8034FC28 0034CB88 41 82 00 90 */ beq lbl_8034FCB8
/* 8034FC2C 0034CB8C 4B FF FD 55 */ bl CloseFile__8CDvdFileFv
/* 8034FC30 0034CB90 34 1B 00 18 */ addic. r0, r27, 0x18
/* 8034FC34 0034CB94 41 82 00 0C */ beq lbl_8034FC40
/* 8034FC38 0034CB98 38 7B 00 18 */ addi r3, r27, 0x18
/* 8034FC3C 0034CB9C 4B FE DE A5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8034FC40:
/* 8034FC40 0034CBA0 34 1B 00 0C */ addic. r0, r27, 0xc
/* 8034FC44 0034CBA4 41 82 00 64 */ beq lbl_8034FCA8
/* 8034FC48 0034CBA8 83 FB 00 0C */ lwz r31, 0xc(r27)
/* 8034FC4C 0034CBAC 28 1F 00 00 */ cmplwi r31, 0
/* 8034FC50 0034CBB0 41 82 00 58 */ beq lbl_8034FCA8
/* 8034FC54 0034CBB4 34 1F 00 64 */ addic. r0, r31, 0x64
/* 8034FC58 0034CBB8 41 82 00 48 */ beq lbl_8034FCA0
/* 8034FC5C 0034CBBC 3B BF 00 68 */ addi r29, r31, 0x68
/* 8034FC60 0034CBC0 3B C0 00 00 */ li r30, 0
/* 8034FC64 0034CBC4 48 00 00 28 */ b lbl_8034FC8C
lbl_8034FC68:
/* 8034FC68 0034CBC8 28 1D 00 00 */ cmplwi r29, 0
/* 8034FC6C 0034CBCC 41 82 00 18 */ beq lbl_8034FC84
/* 8034FC70 0034CBD0 88 1D 00 00 */ lbz r0, 0(r29)
/* 8034FC74 0034CBD4 28 00 00 00 */ cmplwi r0, 0
/* 8034FC78 0034CBD8 41 82 00 0C */ beq lbl_8034FC84
/* 8034FC7C 0034CBDC 80 7D 00 04 */ lwz r3, 4(r29)
/* 8034FC80 0034CBE0 4B FC 5C B1 */ bl Free__7CMemoryFPCv
lbl_8034FC84:
/* 8034FC84 0034CBE4 3B BD 00 08 */ addi r29, r29, 8
/* 8034FC88 0034CBE8 3B DE 00 01 */ addi r30, r30, 1
lbl_8034FC8C:
/* 8034FC8C 0034CBEC 80 1F 00 64 */ lwz r0, 0x64(r31)
/* 8034FC90 0034CBF0 7C 1E 00 00 */ cmpw r30, r0
/* 8034FC94 0034CBF4 41 80 FF D4 */ blt lbl_8034FC68
/* 8034FC98 0034CBF8 38 00 00 00 */ li r0, 0
/* 8034FC9C 0034CBFC 90 1F 00 64 */ stw r0, 0x64(r31)
lbl_8034FCA0:
/* 8034FCA0 0034CC00 7F E3 FB 78 */ mr r3, r31
/* 8034FCA4 0034CC04 4B FC 5C 8D */ bl Free__7CMemoryFPCv
lbl_8034FCA8:
/* 8034FCA8 0034CC08 7F 80 07 35 */ extsh. r0, r28
/* 8034FCAC 0034CC0C 40 81 00 0C */ ble lbl_8034FCB8
/* 8034FCB0 0034CC10 7F 63 DB 78 */ mr r3, r27
/* 8034FCB4 0034CC14 4B FC 5C 7D */ bl Free__7CMemoryFPCv
lbl_8034FCB8:
/* 8034FCB8 0034CC18 7F 63 DB 78 */ mr r3, r27
/* 8034FCBC 0034CC1C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 8034FCC0 0034CC20 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034FCC4 0034CC24 7C 08 03 A6 */ mtlr r0
/* 8034FCC8 0034CC28 38 21 00 20 */ addi r1, r1, 0x20
/* 8034FCCC 0034CC2C 4E 80 00 20 */ blr
.global __ct__8CDvdFileFPCc
__ct__8CDvdFileFPCc:
/* 8034FCD0 0034CC30 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8034FCD4 0034CC34 7C 08 02 A6 */ mflr r0
/* 8034FCD8 0034CC38 38 A0 FF FF */ li r5, -1
/* 8034FCDC 0034CC3C 90 01 00 64 */ stw r0, 0x64(r1)
/* 8034FCE0 0034CC40 38 00 FF FF */ li r0, -1
/* 8034FCE4 0034CC44 38 C1 00 08 */ addi r6, r1, 8
/* 8034FCE8 0034CC48 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8034FCEC 0034CC4C 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8034FCF0 0034CC50 7C 9E 23 78 */ mr r30, r4
/* 8034FCF4 0034CC54 93 A1 00 54 */ stw r29, 0x54(r1)
/* 8034FCF8 0034CC58 7C 7D 1B 78 */ mr r29, r3
/* 8034FCFC 0034CC5C 90 03 00 00 */ stw r0, 0(r3)
/* 8034FD00 0034CC60 38 00 00 00 */ li r0, 0
/* 8034FD04 0034CC64 38 7D 00 18 */ addi r3, r29, 0x18
/* 8034FD08 0034CC68 90 1D 00 04 */ stw r0, 4(r29)
/* 8034FD0C 0034CC6C 98 1D 00 08 */ stb r0, 8(r29)
/* 8034FD10 0034CC70 98 1D 00 09 */ stb r0, 9(r29)
/* 8034FD14 0034CC74 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8034FD18 0034CC78 90 1D 00 10 */ stw r0, 0x10(r29)
/* 8034FD1C 0034CC7C 90 1D 00 14 */ stw r0, 0x14(r29)
/* 8034FD20 0034CC80 4B FE E4 75 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8034FD24 0034CC84 7F C3 F3 78 */ mr r3, r30
/* 8034FD28 0034CC88 48 00 07 C9 */ bl DecodeARAMFile__FPCc
/* 8034FD2C 0034CC8C 7C 7F 1B 78 */ mr r31, r3
/* 8034FD30 0034CC90 48 02 15 ED */ bl DVDConvertPathToEntrynum
/* 8034FD34 0034CC94 90 7D 00 00 */ stw r3, 0(r29)
/* 8034FD38 0034CC98 80 7D 00 00 */ lwz r3, 0(r29)
/* 8034FD3C 0034CC9C 2C 03 FF FF */ cmpwi r3, -1
/* 8034FD40 0034CCA0 41 82 00 0C */ beq lbl_8034FD4C
/* 8034FD44 0034CCA4 38 81 00 0C */ addi r4, r1, 0xc
/* 8034FD48 0034CCA8 48 02 18 C9 */ bl DVDFastOpen
lbl_8034FD4C:
/* 8034FD4C 0034CCAC 80 01 00 40 */ lwz r0, 0x40(r1)
/* 8034FD50 0034CCB0 38 61 00 0C */ addi r3, r1, 0xc
/* 8034FD54 0034CCB4 90 1D 00 14 */ stw r0, 0x14(r29)
/* 8034FD58 0034CCB8 48 02 19 F5 */ bl DVDClose
/* 8034FD5C 0034CCBC 7C 1E F8 40 */ cmplw r30, r31
/* 8034FD60 0034CCC0 41 82 00 0C */ beq lbl_8034FD6C
/* 8034FD64 0034CCC4 7F A3 EB 78 */ mr r3, r29
/* 8034FD68 0034CCC8 48 00 03 D5 */ bl TryARAMFile__8CDvdFileFv
lbl_8034FD6C:
/* 8034FD6C 0034CCCC 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8034FD70 0034CCD0 7F A3 EB 78 */ mr r3, r29
/* 8034FD74 0034CCD4 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8034FD78 0034CCD8 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8034FD7C 0034CCDC 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 8034FD80 0034CCE0 7C 08 03 A6 */ mtlr r0
/* 8034FD84 0034CCE4 38 21 00 60 */ addi r1, r1, 0x60
/* 8034FD88 0034CCE8 4E 80 00 20 */ blr
.global StallForARAMFile__8CDvdFileFv
StallForARAMFile__8CDvdFileFv:
/* 8034FD8C 0034CCEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034FD90 0034CCF0 7C 08 02 A6 */ mflr r0
/* 8034FD94 0034CCF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034FD98 0034CCF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034FD9C 0034CCFC 7C 7F 1B 78 */ mr r31, r3
/* 8034FDA0 0034CD00 48 00 00 08 */ b lbl_8034FDA8
lbl_8034FDA4:
/* 8034FDA4 0034CD04 48 03 4D 79 */ bl OSYieldThread
lbl_8034FDA8:
/* 8034FDA8 0034CD08 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8034FDAC 0034CD0C 28 00 00 00 */ cmplwi r0, 0
/* 8034FDB0 0034CD10 40 82 FF F4 */ bne lbl_8034FDA4
/* 8034FDB4 0034CD14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034FDB8 0034CD18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034FDBC 0034CD1C 7C 08 03 A6 */ mtlr r0
/* 8034FDC0 0034CD20 38 21 00 10 */ addi r1, r1, 0x10
/* 8034FDC4 0034CD24 4E 80 00 20 */ blr
.global StartARAMFileLoad__8CDvdFileFv
StartARAMFileLoad__8CDvdFileFv:
/* 8034FDC8 0034CD28 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8034FDCC 0034CD2C 7C 08 02 A6 */ mflr r0
/* 8034FDD0 0034CD30 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha
/* 8034FDD4 0034CD34 90 01 00 44 */ stw r0, 0x44(r1)
/* 8034FDD8 0034CD38 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l
/* 8034FDDC 0034CD3C 38 80 FF FF */ li r4, -1
/* 8034FDE0 0034CD40 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8034FDE4 0034CD44 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8034FDE8 0034CD48 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8034FDEC 0034CD4C 7C 7D 1B 78 */ mr r29, r3
/* 8034FDF0 0034CD50 3C 60 80 3E */ lis r3, lbl_803D8230@ha
/* 8034FDF4 0034CD54 93 81 00 30 */ stw r28, 0x30(r1)
/* 8034FDF8 0034CD58 38 A3 82 30 */ addi r5, r3, lbl_803D8230@l
/* 8034FDFC 0034CD5C 38 61 00 20 */ addi r3, r1, 0x20
/* 8034FE00 0034CD60 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 8034FE04 0034CD64 4B F8 65 D1 */ bl __ct__10CCallStackFUiPCcPCc
/* 8034FE08 0034CD68 7C 67 1B 78 */ mr r7, r3
/* 8034FE0C 0034CD6C 3C 60 00 01 */ lis r3, 1
/* 8034FE10 0034CD70 38 80 00 02 */ li r4, 2
/* 8034FE14 0034CD74 38 A0 00 01 */ li r5, 1
/* 8034FE18 0034CD78 38 C0 00 00 */ li r6, 0
/* 8034FE1C 0034CD7C 4B FC 5B 79 */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8034FE20 0034CD80 80 1F 00 64 */ lwz r0, 0x64(r31)
/* 8034FE24 0034CD84 7C 83 00 D0 */ neg r4, r3
/* 8034FE28 0034CD88 7C 84 1B 78 */ or r4, r4, r3
/* 8034FE2C 0034CD8C 3B DF 00 68 */ addi r30, r31, 0x68
/* 8034FE30 0034CD90 54 00 18 38 */ slwi r0, r0, 3
/* 8034FE34 0034CD94 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8034FE38 0034CD98 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8034FE3C 0034CD9C 7C BE 02 15 */ add. r5, r30, r0
/* 8034FE40 0034CDA0 98 81 00 18 */ stb r4, 0x18(r1)
/* 8034FE44 0034CDA4 41 82 00 14 */ beq lbl_8034FE58
/* 8034FE48 0034CDA8 98 85 00 00 */ stb r4, 0(r5)
/* 8034FE4C 0034CDAC 38 00 00 00 */ li r0, 0
/* 8034FE50 0034CDB0 90 65 00 04 */ stw r3, 4(r5)
/* 8034FE54 0034CDB4 98 01 00 18 */ stb r0, 0x18(r1)
lbl_8034FE58:
/* 8034FE58 0034CDB8 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 8034FE5C 0034CDBC 88 01 00 18 */ lbz r0, 0x18(r1)
/* 8034FE60 0034CDC0 38 63 00 01 */ addi r3, r3, 1
/* 8034FE64 0034CDC4 28 00 00 00 */ cmplwi r0, 0
/* 8034FE68 0034CDC8 90 7F 00 64 */ stw r3, 0x64(r31)
/* 8034FE6C 0034CDCC 41 82 00 0C */ beq lbl_8034FE78
/* 8034FE70 0034CDD0 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8034FE74 0034CDD4 4B FC 5A BD */ bl Free__7CMemoryFPCv
lbl_8034FE78:
/* 8034FE78 0034CDD8 3C 60 80 3E */ lis r3, lbl_803D8230@ha
/* 8034FE7C 0034CDDC 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha
/* 8034FE80 0034CDE0 38 A3 82 30 */ addi r5, r3, lbl_803D8230@l
/* 8034FE84 0034CDE4 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l
/* 8034FE88 0034CDE8 38 61 00 10 */ addi r3, r1, 0x10
/* 8034FE8C 0034CDEC 38 80 FF FF */ li r4, -1
/* 8034FE90 0034CDF0 4B F8 65 45 */ bl __ct__10CCallStackFUiPCcPCc
/* 8034FE94 0034CDF4 7C 67 1B 78 */ mr r7, r3
/* 8034FE98 0034CDF8 3C 60 00 01 */ lis r3, 1
/* 8034FE9C 0034CDFC 38 80 00 02 */ li r4, 2
/* 8034FEA0 0034CE00 38 A0 00 01 */ li r5, 1
/* 8034FEA4 0034CE04 38 C0 00 00 */ li r6, 0
/* 8034FEA8 0034CE08 4B FC 5A ED */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8034FEAC 0034CE0C 80 1F 00 64 */ lwz r0, 0x64(r31)
/* 8034FEB0 0034CE10 7C 83 00 D0 */ neg r4, r3
/* 8034FEB4 0034CE14 7C 84 1B 78 */ or r4, r4, r3
/* 8034FEB8 0034CE18 90 61 00 0C */ stw r3, 0xc(r1)
/* 8034FEBC 0034CE1C 54 00 18 38 */ slwi r0, r0, 3
/* 8034FEC0 0034CE20 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8034FEC4 0034CE24 7C BE 02 15 */ add. r5, r30, r0
/* 8034FEC8 0034CE28 98 81 00 08 */ stb r4, 8(r1)
/* 8034FECC 0034CE2C 41 82 00 14 */ beq lbl_8034FEE0
/* 8034FED0 0034CE30 98 85 00 00 */ stb r4, 0(r5)
/* 8034FED4 0034CE34 38 00 00 00 */ li r0, 0
/* 8034FED8 0034CE38 90 65 00 04 */ stw r3, 4(r5)
/* 8034FEDC 0034CE3C 98 01 00 08 */ stb r0, 8(r1)
lbl_8034FEE0:
/* 8034FEE0 0034CE40 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 8034FEE4 0034CE44 88 01 00 08 */ lbz r0, 8(r1)
/* 8034FEE8 0034CE48 38 63 00 01 */ addi r3, r3, 1
/* 8034FEEC 0034CE4C 28 00 00 00 */ cmplwi r0, 0
/* 8034FEF0 0034CE50 90 7F 00 64 */ stw r3, 0x64(r31)
/* 8034FEF4 0034CE54 41 82 00 0C */ beq lbl_8034FF00
/* 8034FEF8 0034CE58 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8034FEFC 0034CE5C 4B FC 5A 35 */ bl Free__7CMemoryFPCv
lbl_8034FF00:
/* 8034FF00 0034CE60 80 6D 9D F8 */ lwz r3, lbl_805A89B8@sda21(r13)
/* 8034FF04 0034CE64 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8034FF08 0034CE68 7C 03 00 00 */ cmpw r3, r0
/* 8034FF0C 0034CE6C 40 80 00 0C */ bge lbl_8034FF18
/* 8034FF10 0034CE70 38 6D 9D F8 */ addi r3, r13, lbl_805A89B8@sda21
/* 8034FF14 0034CE74 48 00 00 08 */ b lbl_8034FF1C
lbl_8034FF18:
/* 8034FF18 0034CE78 38 7D 00 14 */ addi r3, r29, 0x14
lbl_8034FF1C:
/* 8034FF1C 0034CE7C 83 83 00 00 */ lwz r28, 0(r3)
/* 8034FF20 0034CE80 38 9F 00 20 */ addi r4, r31, 0x20
/* 8034FF24 0034CE84 80 1F 00 84 */ lwz r0, 0x84(r31)
/* 8034FF28 0034CE88 7C 1C 00 50 */ subf r0, r28, r0
/* 8034FF2C 0034CE8C 90 1F 00 84 */ stw r0, 0x84(r31)
/* 8034FF30 0034CE90 93 9F 00 80 */ stw r28, 0x80(r31)
/* 8034FF34 0034CE94 80 7D 00 00 */ lwz r3, 0(r29)
/* 8034FF38 0034CE98 48 02 16 D9 */ bl DVDFastOpen
/* 8034FF3C 0034CE9C 3C 60 80 35 */ lis r3, DVDARAMXferCallback__8CDvdFileFlP11DVDFileInfo@ha
/* 8034FF40 0034CEA0 80 9E 00 04 */ lwz r4, 4(r30)
/* 8034FF44 0034CEA4 38 E3 04 B8 */ addi r7, r3, DVDARAMXferCallback__8CDvdFileFlP11DVDFileInfo@l
/* 8034FF48 0034CEA8 7F 85 E3 78 */ mr r5, r28
/* 8034FF4C 0034CEAC 38 7F 00 20 */ addi r3, r31, 0x20
/* 8034FF50 0034CEB0 38 C0 00 00 */ li r6, 0
/* 8034FF54 0034CEB4 39 00 00 02 */ li r8, 2
/* 8034FF58 0034CEB8 48 02 1A 3D */ bl DVDReadAsyncPrio
/* 8034FF5C 0034CEBC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8034FF60 0034CEC0 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8034FF64 0034CEC4 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8034FF68 0034CEC8 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8034FF6C 0034CECC 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8034FF70 0034CED0 7C 08 03 A6 */ mtlr r0
/* 8034FF74 0034CED4 38 21 00 40 */ addi r1, r1, 0x40
/* 8034FF78 0034CED8 4E 80 00 20 */ blr
.global sub_8034ff7c
sub_8034ff7c:
/* 8034FF7C 0034CEDC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034FF80 0034CEE0 7C 08 02 A6 */ mflr r0
/* 8034FF84 0034CEE4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034FF88 0034CEE8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034FF8C 0034CEEC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034FF90 0034CEF0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034FF94 0034CEF4 93 81 00 10 */ stw r28, 0x10(r1)
/* 8034FF98 0034CEF8 7C 7C 1B 78 */ mr r28, r3
/* 8034FF9C 0034CEFC 88 03 00 08 */ lbz r0, 8(r3)
/* 8034FFA0 0034CF00 28 00 00 00 */ cmplwi r0, 0
/* 8034FFA4 0034CF04 40 82 00 0C */ bne lbl_8034FFB0
/* 8034FFA8 0034CF08 38 60 00 01 */ li r3, 1
/* 8034FFAC 0034CF0C 48 00 00 84 */ b lbl_80350030
lbl_8034FFB0:
/* 8034FFB0 0034CF10 88 1C 00 09 */ lbz r0, 9(r28)
/* 8034FFB4 0034CF14 28 00 00 00 */ cmplwi r0, 0
/* 8034FFB8 0034CF18 40 82 00 0C */ bne lbl_8034FFC4
/* 8034FFBC 0034CF1C 38 60 00 00 */ li r3, 0
/* 8034FFC0 0034CF20 48 00 00 70 */ b lbl_80350030
lbl_8034FFC4:
/* 8034FFC4 0034CF24 83 FC 00 0C */ lwz r31, 0xc(r28)
/* 8034FFC8 0034CF28 28 1F 00 00 */ cmplwi r31, 0
/* 8034FFCC 0034CF2C 41 82 00 58 */ beq lbl_80350024
/* 8034FFD0 0034CF30 34 1F 00 64 */ addic. r0, r31, 0x64
/* 8034FFD4 0034CF34 41 82 00 48 */ beq lbl_8035001C
/* 8034FFD8 0034CF38 3B BF 00 68 */ addi r29, r31, 0x68
/* 8034FFDC 0034CF3C 3B C0 00 00 */ li r30, 0
/* 8034FFE0 0034CF40 48 00 00 28 */ b lbl_80350008
lbl_8034FFE4:
/* 8034FFE4 0034CF44 28 1D 00 00 */ cmplwi r29, 0
/* 8034FFE8 0034CF48 41 82 00 18 */ beq lbl_80350000
/* 8034FFEC 0034CF4C 88 1D 00 00 */ lbz r0, 0(r29)
/* 8034FFF0 0034CF50 28 00 00 00 */ cmplwi r0, 0
/* 8034FFF4 0034CF54 41 82 00 0C */ beq lbl_80350000
/* 8034FFF8 0034CF58 80 7D 00 04 */ lwz r3, 4(r29)
/* 8034FFFC 0034CF5C 4B FC 59 35 */ bl Free__7CMemoryFPCv
lbl_80350000:
/* 80350000 0034CF60 3B BD 00 08 */ addi r29, r29, 8
/* 80350004 0034CF64 3B DE 00 01 */ addi r30, r30, 1
lbl_80350008:
/* 80350008 0034CF68 80 1F 00 64 */ lwz r0, 0x64(r31)
/* 8035000C 0034CF6C 7C 1E 00 00 */ cmpw r30, r0
/* 80350010 0034CF70 41 80 FF D4 */ blt lbl_8034FFE4
/* 80350014 0034CF74 38 00 00 00 */ li r0, 0
/* 80350018 0034CF78 90 1F 00 64 */ stw r0, 0x64(r31)
lbl_8035001C:
/* 8035001C 0034CF7C 7F E3 FB 78 */ mr r3, r31
/* 80350020 0034CF80 4B FC 59 11 */ bl Free__7CMemoryFPCv
lbl_80350024:
/* 80350024 0034CF84 38 00 00 00 */ li r0, 0
/* 80350028 0034CF88 38 60 00 01 */ li r3, 1
/* 8035002C 0034CF8C 90 1C 00 0C */ stw r0, 0xc(r28)
lbl_80350030:
/* 80350030 0034CF90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80350034 0034CF94 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80350038 0034CF98 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035003C 0034CF9C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80350040 0034CFA0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80350044 0034CFA4 7C 08 03 A6 */ mtlr r0
/* 80350048 0034CFA8 38 21 00 20 */ addi r1, r1, 0x20
/* 8035004C 0034CFAC 4E 80 00 20 */ blr
.global PopARAMFileLoad__8CDvdFileFv
PopARAMFileLoad__8CDvdFileFv:
/* 80350050 0034CFB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80350054 0034CFB4 7C 08 02 A6 */ mflr r0
/* 80350058 0034CFB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8035005C 0034CFBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350060 0034CFC0 93 C1 00 08 */ stw r30, 8(r1)
/* 80350064 0034CFC4 7C 7E 1B 78 */ mr r30, r3
/* 80350068 0034CFC8 48 03 15 F9 */ bl OSDisableInterrupts
/* 8035006C 0034CFCC 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 80350070 0034CFD0 38 00 00 01 */ li r0, 1
/* 80350074 0034CFD4 7C 7F 1B 78 */ mr r31, r3
/* 80350078 0034CFD8 80 84 00 60 */ lwz r4, 0x60(r4)
/* 8035007C 0034CFDC 98 1E 00 09 */ stb r0, 9(r30)
/* 80350080 0034CFE0 28 04 00 00 */ cmplwi r4, 0
/* 80350084 0034CFE4 90 8D AA 10 */ stw r4, lbl_805A95D0@sda21(r13)
/* 80350088 0034CFE8 41 82 00 0C */ beq lbl_80350094
/* 8035008C 0034CFEC 7C 83 23 78 */ mr r3, r4
/* 80350090 0034CFF0 4B FF FD 39 */ bl StartARAMFileLoad__8CDvdFileFv
lbl_80350094:
/* 80350094 0034CFF4 7F E3 FB 78 */ mr r3, r31
/* 80350098 0034CFF8 48 03 15 F1 */ bl OSRestoreInterrupts
/* 8035009C 0034CFFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803500A0 0034D000 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803500A4 0034D004 83 C1 00 08 */ lwz r30, 8(r1)
/* 803500A8 0034D008 7C 08 03 A6 */ mtlr r0
/* 803500AC 0034D00C 38 21 00 10 */ addi r1, r1, 0x10
/* 803500B0 0034D010 4E 80 00 20 */ blr
.global PushARAMFileLoad__8CDvdFileFv
PushARAMFileLoad__8CDvdFileFv:
/* 803500B4 0034D014 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803500B8 0034D018 7C 08 02 A6 */ mflr r0
/* 803500BC 0034D01C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803500C0 0034D020 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803500C4 0034D024 93 C1 00 08 */ stw r30, 8(r1)
/* 803500C8 0034D028 7C 7E 1B 78 */ mr r30, r3
/* 803500CC 0034D02C 48 03 15 95 */ bl OSDisableInterrupts
/* 803500D0 0034D030 80 0D AA 10 */ lwz r0, lbl_805A95D0@sda21(r13)
/* 803500D4 0034D034 7C 7F 1B 78 */ mr r31, r3
/* 803500D8 0034D038 28 00 00 00 */ cmplwi r0, 0
/* 803500DC 0034D03C 40 82 00 14 */ bne lbl_803500F0
/* 803500E0 0034D040 93 CD AA 10 */ stw r30, lbl_805A95D0@sda21(r13)
/* 803500E4 0034D044 7F C3 F3 78 */ mr r3, r30
/* 803500E8 0034D048 4B FF FC E1 */ bl StartARAMFileLoad__8CDvdFileFv
/* 803500EC 0034D04C 48 00 00 30 */ b lbl_8035011C
lbl_803500F0:
/* 803500F0 0034D050 7C 03 03 78 */ mr r3, r0
/* 803500F4 0034D054 48 00 00 20 */ b lbl_80350114
lbl_803500F8:
/* 803500F8 0034D058 80 63 00 0C */ lwz r3, 0xc(r3)
/* 803500FC 0034D05C 80 03 00 60 */ lwz r0, 0x60(r3)
/* 80350100 0034D060 28 00 00 00 */ cmplwi r0, 0
/* 80350104 0034D064 40 82 00 0C */ bne lbl_80350110
/* 80350108 0034D068 93 C3 00 60 */ stw r30, 0x60(r3)
/* 8035010C 0034D06C 48 00 00 10 */ b lbl_8035011C
lbl_80350110:
/* 80350110 0034D070 7C 03 03 78 */ mr r3, r0
lbl_80350114:
/* 80350114 0034D074 28 03 00 00 */ cmplwi r3, 0
/* 80350118 0034D078 40 82 FF E0 */ bne lbl_803500F8
lbl_8035011C:
/* 8035011C 0034D07C 7F E3 FB 78 */ mr r3, r31
/* 80350120 0034D080 48 03 15 69 */ bl OSRestoreInterrupts
/* 80350124 0034D084 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350128 0034D088 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8035012C 0034D08C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80350130 0034D090 7C 08 03 A6 */ mtlr r0
/* 80350134 0034D094 38 21 00 10 */ addi r1, r1, 0x10
/* 80350138 0034D098 4E 80 00 20 */ blr
.global TryARAMFile__8CDvdFileFv
TryARAMFile__8CDvdFileFv:
/* 8035013C 0034D09C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80350140 0034D0A0 7C 08 02 A6 */ mflr r0
/* 80350144 0034D0A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350148 0034D0A8 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8035014C 0034D0AC 7C 7B 1B 78 */ mr r27, r3
/* 80350150 0034D0B0 80 63 00 14 */ lwz r3, 0x14(r3)
/* 80350154 0034D0B4 4B FF 4A D5 */ bl Alloc__12CARAMManagerFUi
/* 80350158 0034D0B8 90 7B 00 04 */ stw r3, 4(r27)
/* 8035015C 0034D0BC 80 62 CB A8 */ lwz r3, lbl_805AE8C8@sda21(r2)
/* 80350160 0034D0C0 80 1B 00 04 */ lwz r0, 4(r27)
/* 80350164 0034D0C4 7C 03 00 40 */ cmplw r3, r0
/* 80350168 0034D0C8 41 82 00 E0 */ beq lbl_80350248
/* 8035016C 0034D0CC 3C 80 80 3E */ lis r4, lbl_803D8230@ha
/* 80350170 0034D0D0 38 60 00 94 */ li r3, 0x94
/* 80350174 0034D0D4 38 84 82 30 */ addi r4, r4, lbl_803D8230@l
/* 80350178 0034D0D8 38 A0 00 00 */ li r5, 0
/* 8035017C 0034D0DC 4B FC 56 F1 */ bl __nw__FUlPCcPCc
/* 80350180 0034D0E0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80350184 0034D0E4 41 82 00 34 */ beq lbl_803501B8
/* 80350188 0034D0E8 38 00 00 00 */ li r0, 0
/* 8035018C 0034D0EC 90 1F 00 5C */ stw r0, 0x5c(r31)
/* 80350190 0034D0F0 90 1F 00 60 */ stw r0, 0x60(r31)
/* 80350194 0034D0F4 90 1F 00 64 */ stw r0, 0x64(r31)
/* 80350198 0034D0F8 98 1F 00 78 */ stb r0, 0x78(r31)
/* 8035019C 0034D0FC 98 1F 00 79 */ stb r0, 0x79(r31)
/* 803501A0 0034D100 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 803501A4 0034D104 90 1F 00 80 */ stw r0, 0x80(r31)
/* 803501A8 0034D108 90 1F 00 84 */ stw r0, 0x84(r31)
/* 803501AC 0034D10C 90 1F 00 88 */ stw r0, 0x88(r31)
/* 803501B0 0034D110 90 1F 00 8C */ stw r0, 0x8c(r31)
/* 803501B4 0034D114 90 1F 00 90 */ stw r0, 0x90(r31)
lbl_803501B8:
/* 803501B8 0034D118 83 DB 00 0C */ lwz r30, 0xc(r27)
/* 803501BC 0034D11C 28 1E 00 00 */ cmplwi r30, 0
/* 803501C0 0034D120 41 82 00 58 */ beq lbl_80350218
/* 803501C4 0034D124 34 1E 00 64 */ addic. r0, r30, 0x64
/* 803501C8 0034D128 41 82 00 48 */ beq lbl_80350210
/* 803501CC 0034D12C 3B 9E 00 68 */ addi r28, r30, 0x68
/* 803501D0 0034D130 3B A0 00 00 */ li r29, 0
/* 803501D4 0034D134 48 00 00 28 */ b lbl_803501FC
lbl_803501D8:
/* 803501D8 0034D138 28 1C 00 00 */ cmplwi r28, 0
/* 803501DC 0034D13C 41 82 00 18 */ beq lbl_803501F4
/* 803501E0 0034D140 88 1C 00 00 */ lbz r0, 0(r28)
/* 803501E4 0034D144 28 00 00 00 */ cmplwi r0, 0
/* 803501E8 0034D148 41 82 00 0C */ beq lbl_803501F4
/* 803501EC 0034D14C 80 7C 00 04 */ lwz r3, 4(r28)
/* 803501F0 0034D150 4B FC 57 41 */ bl Free__7CMemoryFPCv
lbl_803501F4:
/* 803501F4 0034D154 3B 9C 00 08 */ addi r28, r28, 8
/* 803501F8 0034D158 3B BD 00 01 */ addi r29, r29, 1
lbl_803501FC:
/* 803501FC 0034D15C 80 1E 00 64 */ lwz r0, 0x64(r30)
/* 80350200 0034D160 7C 1D 00 00 */ cmpw r29, r0
/* 80350204 0034D164 41 80 FF D4 */ blt lbl_803501D8
/* 80350208 0034D168 38 00 00 00 */ li r0, 0
/* 8035020C 0034D16C 90 1E 00 64 */ stw r0, 0x64(r30)
lbl_80350210:
/* 80350210 0034D170 7F C3 F3 78 */ mr r3, r30
/* 80350214 0034D174 4B FC 57 1D */ bl Free__7CMemoryFPCv
lbl_80350218:
/* 80350218 0034D178 93 FB 00 0C */ stw r31, 0xc(r27)
/* 8035021C 0034D17C 38 80 00 01 */ li r4, 1
/* 80350220 0034D180 7F 63 DB 78 */ mr r3, r27
/* 80350224 0034D184 80 BB 00 0C */ lwz r5, 0xc(r27)
/* 80350228 0034D188 93 65 00 5C */ stw r27, 0x5c(r5)
/* 8035022C 0034D18C 98 85 00 78 */ stb r4, 0x78(r5)
/* 80350230 0034D190 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 80350234 0034D194 90 05 00 8C */ stw r0, 0x8c(r5)
/* 80350238 0034D198 90 05 00 84 */ stw r0, 0x84(r5)
/* 8035023C 0034D19C 90 05 00 7C */ stw r0, 0x7c(r5)
/* 80350240 0034D1A0 98 9B 00 08 */ stb r4, 8(r27)
/* 80350244 0034D1A4 4B FF FE 71 */ bl PushARAMFileLoad__8CDvdFileFv
lbl_80350248:
/* 80350248 0034D1A8 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 8035024C 0034D1AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80350250 0034D1B0 7C 08 03 A6 */ mtlr r0
/* 80350254 0034D1B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80350258 0034D1B8 4E 80 00 20 */ blr
.global PingARAMTransfer__8CDvdFileFv
PingARAMTransfer__8CDvdFileFv:
/* 8035025C 0034D1BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80350260 0034D1C0 7C 08 02 A6 */ mflr r0
/* 80350264 0034D1C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80350268 0034D1C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8035026C 0034D1CC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80350270 0034D1D0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80350274 0034D1D4 7C 7D 1B 78 */ mr r29, r3
/* 80350278 0034D1D8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8035027C 0034D1DC 83 E3 00 0C */ lwz r31, 0xc(r3)
/* 80350280 0034D1E0 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 80350284 0034D1E4 2C 04 00 00 */ cmpwi r4, 0
/* 80350288 0034D1E8 40 82 00 0C */ bne lbl_80350294
/* 8035028C 0034D1EC 4B FF FD C5 */ bl PopARAMFileLoad__8CDvdFileFv
/* 80350290 0034D1F0 48 00 01 0C */ b lbl_8035039C
lbl_80350294:
/* 80350294 0034D1F4 80 0D 9D F0 */ lwz r0, lbl_805A89B0@sda21(r13)
/* 80350298 0034D1F8 7C 04 00 00 */ cmpw r4, r0
/* 8035029C 0034D1FC 40 80 00 0C */ bge lbl_803502A8
/* 803502A0 0034D200 38 9F 00 8C */ addi r4, r31, 0x8c
/* 803502A4 0034D204 48 00 00 08 */ b lbl_803502AC
lbl_803502A8:
/* 803502A8 0034D208 38 8D 9D F0 */ addi r4, r13, lbl_805A89B0@sda21
lbl_803502AC:
/* 803502AC 0034D20C 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 803502B0 0034D210 3C 60 80 35 */ lis r3, ARAMARAMXferCallback__8CDvdFileFUl@ha
/* 803502B4 0034D214 83 84 00 00 */ lwz r28, 0(r4)
/* 803502B8 0034D218 39 43 04 94 */ addi r10, r3, ARAMARAMXferCallback__8CDvdFileFUl@l
/* 803502BC 0034D21C 3B DF 00 68 */ addi r30, r31, 0x68
/* 803502C0 0034D220 54 00 18 38 */ slwi r0, r0, 3
/* 803502C4 0034D224 7C BE 02 14 */ add r5, r30, r0
/* 803502C8 0034D228 80 9D 00 04 */ lwz r4, 4(r29)
/* 803502CC 0034D22C 80 1F 00 88 */ lwz r0, 0x88(r31)
/* 803502D0 0034D230 7F E3 FB 78 */ mr r3, r31
/* 803502D4 0034D234 80 E5 00 04 */ lwz r7, 4(r5)
/* 803502D8 0034D238 7F 89 E3 78 */ mr r9, r28
/* 803502DC 0034D23C 7D 04 02 14 */ add r8, r4, r0
/* 803502E0 0034D240 38 80 00 00 */ li r4, 0
/* 803502E4 0034D244 38 A0 00 00 */ li r5, 0
/* 803502E8 0034D248 38 C0 00 01 */ li r6, 1
/* 803502EC 0034D24C 48 01 F3 85 */ bl ARQPostRequest
/* 803502F0 0034D250 80 7F 00 8C */ lwz r3, 0x8c(r31)
/* 803502F4 0034D254 38 00 00 00 */ li r0, 0
/* 803502F8 0034D258 7C 7C 18 50 */ subf r3, r28, r3
/* 803502FC 0034D25C 90 7F 00 8C */ stw r3, 0x8c(r31)
/* 80350300 0034D260 80 7F 00 88 */ lwz r3, 0x88(r31)
/* 80350304 0034D264 7C 63 E2 14 */ add r3, r3, r28
/* 80350308 0034D268 90 7F 00 88 */ stw r3, 0x88(r31)
/* 8035030C 0034D26C 98 1F 00 78 */ stb r0, 0x78(r31)
/* 80350310 0034D270 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 80350314 0034D274 68 00 00 01 */ xori r0, r0, 1
/* 80350318 0034D278 90 1F 00 90 */ stw r0, 0x90(r31)
/* 8035031C 0034D27C 80 7F 00 84 */ lwz r3, 0x84(r31)
/* 80350320 0034D280 2C 03 00 00 */ cmpwi r3, 0
/* 80350324 0034D284 41 82 00 78 */ beq lbl_8035039C
/* 80350328 0034D288 80 0D 9D F4 */ lwz r0, lbl_805A89B4@sda21(r13)
/* 8035032C 0034D28C 7C 03 00 00 */ cmpw r3, r0
/* 80350330 0034D290 40 80 00 0C */ bge lbl_8035033C
/* 80350334 0034D294 38 7F 00 84 */ addi r3, r31, 0x84
/* 80350338 0034D298 48 00 00 08 */ b lbl_80350340
lbl_8035033C:
/* 8035033C 0034D29C 38 6D 9D F4 */ addi r3, r13, lbl_805A89B4@sda21
lbl_80350340:
/* 80350340 0034D2A0 83 83 00 00 */ lwz r28, 0(r3)
/* 80350344 0034D2A4 38 9F 00 20 */ addi r4, r31, 0x20
/* 80350348 0034D2A8 80 7D 00 00 */ lwz r3, 0(r29)
/* 8035034C 0034D2AC 48 02 12 C5 */ bl DVDFastOpen
/* 80350350 0034D2B0 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 80350354 0034D2B4 3C 60 80 35 */ lis r3, DVDARAMXferCallback__8CDvdFileFlP11DVDFileInfo@ha
/* 80350358 0034D2B8 38 E3 04 B8 */ addi r7, r3, DVDARAMXferCallback__8CDvdFileFlP11DVDFileInfo@l
/* 8035035C 0034D2BC 80 DF 00 80 */ lwz r6, 0x80(r31)
/* 80350360 0034D2C0 54 03 18 38 */ slwi r3, r0, 3
/* 80350364 0034D2C4 7F 85 E3 78 */ mr r5, r28
/* 80350368 0034D2C8 38 03 00 04 */ addi r0, r3, 4
/* 8035036C 0034D2CC 39 00 00 02 */ li r8, 2
/* 80350370 0034D2D0 7C 9E 00 2E */ lwzx r4, r30, r0
/* 80350374 0034D2D4 38 7F 00 20 */ addi r3, r31, 0x20
/* 80350378 0034D2D8 48 02 16 1D */ bl DVDReadAsyncPrio
/* 8035037C 0034D2DC 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 80350380 0034D2E0 38 00 00 00 */ li r0, 0
/* 80350384 0034D2E4 7C 63 E2 14 */ add r3, r3, r28
/* 80350388 0034D2E8 90 7F 00 80 */ stw r3, 0x80(r31)
/* 8035038C 0034D2EC 80 7F 00 84 */ lwz r3, 0x84(r31)
/* 80350390 0034D2F0 7C 7C 18 50 */ subf r3, r28, r3
/* 80350394 0034D2F4 90 7F 00 84 */ stw r3, 0x84(r31)
/* 80350398 0034D2F8 98 1F 00 79 */ stb r0, 0x79(r31)
lbl_8035039C:
/* 8035039C 0034D2FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803503A0 0034D300 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803503A4 0034D304 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803503A8 0034D308 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803503AC 0034D30C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803503B0 0034D310 7C 08 03 A6 */ mtlr r0
/* 803503B4 0034D314 38 21 00 20 */ addi r1, r1, 0x20
/* 803503B8 0034D318 4E 80 00 20 */ blr
.global HandleDVDInterrupt__8CDvdFileFv
HandleDVDInterrupt__8CDvdFileFv:
/* 803503BC 0034D31C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803503C0 0034D320 7C 08 02 A6 */ mflr r0
/* 803503C4 0034D324 90 01 00 14 */ stw r0, 0x14(r1)
/* 803503C8 0034D328 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803503CC 0034D32C 93 C1 00 08 */ stw r30, 8(r1)
/* 803503D0 0034D330 7C 7E 1B 78 */ mr r30, r3
/* 803503D4 0034D334 48 03 12 8D */ bl OSDisableInterrupts
/* 803503D8 0034D338 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 803503DC 0034D33C 38 00 00 01 */ li r0, 1
/* 803503E0 0034D340 7C 7F 1B 78 */ mr r31, r3
/* 803503E4 0034D344 98 04 00 79 */ stb r0, 0x79(r4)
/* 803503E8 0034D348 88 04 00 78 */ lbz r0, 0x78(r4)
/* 803503EC 0034D34C 28 00 00 00 */ cmplwi r0, 0
/* 803503F0 0034D350 41 82 00 18 */ beq lbl_80350408
/* 803503F4 0034D354 88 04 00 79 */ lbz r0, 0x79(r4)
/* 803503F8 0034D358 28 00 00 00 */ cmplwi r0, 0
/* 803503FC 0034D35C 41 82 00 0C */ beq lbl_80350408
/* 80350400 0034D360 7F C3 F3 78 */ mr r3, r30
/* 80350404 0034D364 4B FF FE 59 */ bl PingARAMTransfer__8CDvdFileFv
lbl_80350408:
/* 80350408 0034D368 7F E3 FB 78 */ mr r3, r31
/* 8035040C 0034D36C 48 03 12 7D */ bl OSRestoreInterrupts
/* 80350410 0034D370 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350414 0034D374 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350418 0034D378 83 C1 00 08 */ lwz r30, 8(r1)
/* 8035041C 0034D37C 7C 08 03 A6 */ mtlr r0
/* 80350420 0034D380 38 21 00 10 */ addi r1, r1, 0x10
/* 80350424 0034D384 4E 80 00 20 */ blr
.global HandleARAMInterrupt__8CDvdFileFv
HandleARAMInterrupt__8CDvdFileFv:
/* 80350428 0034D388 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035042C 0034D38C 7C 08 02 A6 */ mflr r0
/* 80350430 0034D390 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350434 0034D394 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350438 0034D398 93 C1 00 08 */ stw r30, 8(r1)
/* 8035043C 0034D39C 7C 7E 1B 78 */ mr r30, r3
/* 80350440 0034D3A0 48 03 12 21 */ bl OSDisableInterrupts
/* 80350444 0034D3A4 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 80350448 0034D3A8 38 00 00 01 */ li r0, 1
/* 8035044C 0034D3AC 7C 7F 1B 78 */ mr r31, r3
/* 80350450 0034D3B0 98 04 00 78 */ stb r0, 0x78(r4)
/* 80350454 0034D3B4 88 04 00 78 */ lbz r0, 0x78(r4)
/* 80350458 0034D3B8 28 00 00 00 */ cmplwi r0, 0
/* 8035045C 0034D3BC 41 82 00 18 */ beq lbl_80350474
/* 80350460 0034D3C0 88 04 00 79 */ lbz r0, 0x79(r4)
/* 80350464 0034D3C4 28 00 00 00 */ cmplwi r0, 0
/* 80350468 0034D3C8 41 82 00 0C */ beq lbl_80350474
/* 8035046C 0034D3CC 7F C3 F3 78 */ mr r3, r30
/* 80350470 0034D3D0 4B FF FD ED */ bl PingARAMTransfer__8CDvdFileFv
lbl_80350474:
/* 80350474 0034D3D4 7F E3 FB 78 */ mr r3, r31
/* 80350478 0034D3D8 48 03 12 11 */ bl OSRestoreInterrupts
/* 8035047C 0034D3DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350480 0034D3E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350484 0034D3E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80350488 0034D3E8 7C 08 03 A6 */ mtlr r0
/* 8035048C 0034D3EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80350490 0034D3F0 4E 80 00 20 */ blr
.global ARAMARAMXferCallback__8CDvdFileFUl
ARAMARAMXferCallback__8CDvdFileFUl:
/* 80350494 0034D3F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80350498 0034D3F8 7C 08 02 A6 */ mflr r0
/* 8035049C 0034D3FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803504A0 0034D400 80 63 00 5C */ lwz r3, 0x5c(r3)
/* 803504A4 0034D404 4B FF FF 85 */ bl HandleARAMInterrupt__8CDvdFileFv
/* 803504A8 0034D408 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803504AC 0034D40C 7C 08 03 A6 */ mtlr r0
/* 803504B0 0034D410 38 21 00 10 */ addi r1, r1, 0x10
/* 803504B4 0034D414 4E 80 00 20 */ blr
.global DVDARAMXferCallback__8CDvdFileFlP11DVDFileInfo
DVDARAMXferCallback__8CDvdFileFlP11DVDFileInfo:
/* 803504B8 0034D418 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803504BC 0034D41C 7C 08 02 A6 */ mflr r0
/* 803504C0 0034D420 90 01 00 14 */ stw r0, 0x14(r1)
/* 803504C4 0034D424 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803504C8 0034D428 7C 9F 23 78 */ mr r31, r4
/* 803504CC 0034D42C 7F E3 FB 78 */ mr r3, r31
/* 803504D0 0034D430 48 02 12 7D */ bl DVDClose
/* 803504D4 0034D434 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 803504D8 0034D438 4B FF FE E5 */ bl HandleDVDInterrupt__8CDvdFileFv
/* 803504DC 0034D43C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803504E0 0034D440 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803504E4 0034D444 7C 08 03 A6 */ mtlr r0
/* 803504E8 0034D448 38 21 00 10 */ addi r1, r1, 0x10
/* 803504EC 0034D44C 4E 80 00 20 */ blr
.global DecodeARAMFile__FPCc
DecodeARAMFile__FPCc:
/* 803504F0 0034D450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803504F4 0034D454 7C 08 02 A6 */ mflr r0
/* 803504F8 0034D458 3C 80 80 3E */ lis r4, lbl_803D8230@ha
/* 803504FC 0034D45C 38 A0 00 05 */ li r5, 5
/* 80350500 0034D460 90 01 00 14 */ stw r0, 0x14(r1)
/* 80350504 0034D464 38 84 82 30 */ addi r4, r4, lbl_803D8230@l
/* 80350508 0034D468 38 84 00 07 */ addi r4, r4, 7
/* 8035050C 0034D46C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80350510 0034D470 7C 7F 1B 78 */ mr r31, r3
/* 80350514 0034D474 48 03 FA 49 */ bl strncmp
/* 80350518 0034D478 2C 03 00 00 */ cmpwi r3, 0
/* 8035051C 0034D47C 41 82 00 0C */ beq lbl_80350528
/* 80350520 0034D480 7F E3 FB 78 */ mr r3, r31
/* 80350524 0034D484 48 00 00 08 */ b lbl_8035052C
lbl_80350528:
/* 80350528 0034D488 38 7F 00 05 */ addi r3, r31, 5
lbl_8035052C:
/* 8035052C 0034D48C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80350530 0034D490 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80350534 0034D494 7C 08 03 A6 */ mtlr r0
/* 80350538 0034D498 38 21 00 10 */ addi r1, r1, 0x10
/* 8035053C 0034D49C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

392
asm/Kyoto/GameTweaks.s Normal file
View File

@ -0,0 +1,392 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global sub_8036ca64
sub_8036ca64:
/* 8036CA64 003699C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CA68 003699C8 7C 08 02 A6 */ mflr r0
/* 8036CA6C 003699CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CA70 003699D0 4B FB D7 45 */ bl sub_8032a1b4
/* 8036CA74 003699D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CA78 003699D8 7C 08 03 A6 */ mtlr r0
/* 8036CA7C 003699DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CA80 003699E0 4E 80 00 20 */ blr
.global __nw__FUlPCcPCc_0
__nw__FUlPCcPCc_0:
/* 8036CA84 003699E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CA88 003699E8 7C 08 02 A6 */ mflr r0
/* 8036CA8C 003699EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CA90 003699F0 4B FB D8 41 */ bl sub_8032a2d0
/* 8036CA94 003699F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CA98 003699F8 7C 08 03 A6 */ mtlr r0
/* 8036CA9C 003699FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CAA0 00369A00 4E 80 00 20 */ blr
.global sub_8036caa4
sub_8036caa4:
/* 8036CAA4 00369A04 80 63 00 08 */ lwz r3, 8(r3)
/* 8036CAA8 00369A08 4E 80 00 20 */ blr
.global sub_8036caac
sub_8036caac:
/* 8036CAAC 00369A0C 80 03 00 04 */ lwz r0, 4(r3)
/* 8036CAB0 00369A10 54 03 10 3A */ slwi r3, r0, 2
/* 8036CAB4 00369A14 4E 80 00 20 */ blr
.global sub_8036cab8
sub_8036cab8:
/* 8036CAB8 00369A18 38 84 00 03 */ addi r4, r4, 3
/* 8036CABC 00369A1C 80 03 00 04 */ lwz r0, 4(r3)
/* 8036CAC0 00369A20 54 84 F0 BE */ srwi r4, r4, 2
/* 8036CAC4 00369A24 7C 04 00 40 */ cmplw r4, r0
/* 8036CAC8 00369A28 40 81 00 10 */ ble lbl_8036CAD8
/* 8036CACC 00369A2C 38 00 00 00 */ li r0, 0
/* 8036CAD0 00369A30 90 03 00 04 */ stw r0, 4(r3)
/* 8036CAD4 00369A34 4E 80 00 20 */ blr
lbl_8036CAD8:
/* 8036CAD8 00369A38 7C 04 00 50 */ subf r0, r4, r0
/* 8036CADC 00369A3C 90 03 00 04 */ stw r0, 4(r3)
/* 8036CAE0 00369A40 4E 80 00 20 */ blr
.global sub_8036cae4
sub_8036cae4:
/* 8036CAE4 00369A44 80 83 00 08 */ lwz r4, 8(r3)
/* 8036CAE8 00369A48 38 04 FF FF */ addi r0, r4, -1
/* 8036CAEC 00369A4C 90 03 00 08 */ stw r0, 8(r3)
/* 8036CAF0 00369A50 4E 80 00 20 */ blr
.global sub_8036caf4
sub_8036caf4:
/* 8036CAF4 00369A54 38 04 00 03 */ addi r0, r4, 3
/* 8036CAF8 00369A58 80 83 00 04 */ lwz r4, 4(r3)
/* 8036CAFC 00369A5C 54 00 F0 BE */ srwi r0, r0, 2
/* 8036CB00 00369A60 7C 04 02 14 */ add r0, r4, r0
/* 8036CB04 00369A64 54 84 10 3A */ slwi r4, r4, 2
/* 8036CB08 00369A68 90 03 00 04 */ stw r0, 4(r3)
/* 8036CB0C 00369A6C 38 A4 00 0C */ addi r5, r4, 0xc
/* 8036CB10 00369A70 7C A3 2A 14 */ add r5, r3, r5
/* 8036CB14 00369A74 80 83 00 08 */ lwz r4, 8(r3)
/* 8036CB18 00369A78 38 04 00 01 */ addi r0, r4, 1
/* 8036CB1C 00369A7C 90 03 00 08 */ stw r0, 8(r3)
/* 8036CB20 00369A80 7C A3 2B 78 */ mr r3, r5
/* 8036CB24 00369A84 4E 80 00 20 */ blr
.global sub_8036cb28
sub_8036cb28:
/* 8036CB28 00369A88 38 03 00 0C */ addi r0, r3, 0xc
/* 8036CB2C 00369A8C 80 63 00 00 */ lwz r3, 0(r3)
/* 8036CB30 00369A90 7C 00 20 50 */ subf r0, r0, r4
/* 8036CB34 00369A94 7C 00 16 70 */ srawi r0, r0, 2
/* 8036CB38 00369A98 7C 00 01 94 */ addze r0, r0
/* 8036CB3C 00369A9C 7C 60 02 78 */ xor r0, r3, r0
/* 8036CB40 00369AA0 7C 00 00 34 */ cntlzw r0, r0
/* 8036CB44 00369AA4 7C 60 00 30 */ slw r0, r3, r0
/* 8036CB48 00369AA8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8036CB4C 00369AAC 4E 80 00 20 */ blr
.global sub_8036cb50
sub_8036cb50:
/* 8036CB50 00369AB0 38 04 00 03 */ addi r0, r4, 3
/* 8036CB54 00369AB4 80 83 00 04 */ lwz r4, 4(r3)
/* 8036CB58 00369AB8 54 00 F0 BE */ srwi r0, r0, 2
/* 8036CB5C 00369ABC 80 63 00 00 */ lwz r3, 0(r3)
/* 8036CB60 00369AC0 7C 04 02 14 */ add r0, r4, r0
/* 8036CB64 00369AC4 7C 60 02 78 */ xor r0, r3, r0
/* 8036CB68 00369AC8 7C 00 00 34 */ cntlzw r0, r0
/* 8036CB6C 00369ACC 7C 60 00 30 */ slw r0, r3, r0
/* 8036CB70 00369AD0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8036CB74 00369AD4 4E 80 00 20 */ blr
.global sub_8036cb78
sub_8036cb78:
/* 8036CB78 00369AD8 38 80 01 00 */ li r4, 0x100
/* 8036CB7C 00369ADC 38 00 00 00 */ li r0, 0
/* 8036CB80 00369AE0 90 83 00 00 */ stw r4, 0(r3)
/* 8036CB84 00369AE4 90 03 00 04 */ stw r0, 4(r3)
/* 8036CB88 00369AE8 90 03 00 08 */ stw r0, 8(r3)
/* 8036CB8C 00369AEC 4E 80 00 20 */ blr
.global sub_8036cb90
sub_8036cb90:
/* 8036CB90 00369AF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036CB94 00369AF4 7C 08 02 A6 */ mflr r0
/* 8036CB98 00369AF8 3C 60 80 54 */ lis r3, lbl_80540A4C@ha
/* 8036CB9C 00369AFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036CBA0 00369B00 38 03 0A 4C */ addi r0, r3, lbl_80540A4C@l
/* 8036CBA4 00369B04 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036CBA8 00369B08 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036CBAC 00369B0C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036CBB0 00369B10 80 8D AA F0 */ lwz r4, lbl_805A96B0@sda21(r13)
/* 8036CBB4 00369B14 68 84 00 01 */ xori r4, r4, 1
/* 8036CBB8 00369B18 1C 64 00 18 */ mulli r3, r4, 0x18
/* 8036CBBC 00369B1C 90 8D AA F0 */ stw r4, lbl_805A96B0@sda21(r13)
/* 8036CBC0 00369B20 7F A0 1A 14 */ add r29, r0, r3
/* 8036CBC4 00369B24 83 FD 00 04 */ lwz r31, 4(r29)
/* 8036CBC8 00369B28 48 00 00 10 */ b lbl_8036CBD8
lbl_8036CBCC:
/* 8036CBCC 00369B2C 80 7F 00 08 */ lwz r3, 8(r31)
/* 8036CBD0 00369B30 4B FA 8D 61 */ bl Free__7CMemoryFPCv
/* 8036CBD4 00369B34 83 FF 00 04 */ lwz r31, 4(r31)
lbl_8036CBD8:
/* 8036CBD8 00369B38 83 DD 00 08 */ lwz r30, 8(r29)
/* 8036CBDC 00369B3C 7C 1F F0 40 */ cmplw r31, r30
/* 8036CBE0 00369B40 40 82 FF EC */ bne lbl_8036CBCC
/* 8036CBE4 00369B44 80 9D 00 04 */ lwz r4, 4(r29)
/* 8036CBE8 00369B48 48 00 00 10 */ b lbl_8036CBF8
lbl_8036CBEC:
/* 8036CBEC 00369B4C 7F A3 EB 78 */ mr r3, r29
/* 8036CBF0 00369B50 48 00 01 A9 */ bl sub_8036cd98
/* 8036CBF4 00369B54 7C 64 1B 78 */ mr r4, r3
lbl_8036CBF8:
/* 8036CBF8 00369B58 7C 04 F0 40 */ cmplw r4, r30
/* 8036CBFC 00369B5C 40 82 FF F0 */ bne lbl_8036CBEC
/* 8036CC00 00369B60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036CC04 00369B64 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036CC08 00369B68 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036CC0C 00369B6C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036CC10 00369B70 7C 08 03 A6 */ mtlr r0
/* 8036CC14 00369B74 38 21 00 20 */ addi r1, r1, 0x20
/* 8036CC18 00369B78 4E 80 00 20 */ blr
.global sub_8036cc1c
sub_8036cc1c:
/* 8036CC1C 00369B7C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036CC20 00369B80 7C 08 02 A6 */ mflr r0
/* 8036CC24 00369B84 2C 03 00 01 */ cmpwi r3, 1
/* 8036CC28 00369B88 3C 60 80 54 */ lis r3, lbl_80540A4C@ha
/* 8036CC2C 00369B8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036CC30 00369B90 38 A3 0A 4C */ addi r5, r3, lbl_80540A4C@l
/* 8036CC34 00369B94 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036CC38 00369B98 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036CC3C 00369B9C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036CC40 00369BA0 93 81 00 10 */ stw r28, 0x10(r1)
/* 8036CC44 00369BA4 7C 9C 23 78 */ mr r28, r4
/* 8036CC48 00369BA8 80 0D AA F0 */ lwz r0, lbl_805A96B0@sda21(r13)
/* 8036CC4C 00369BAC 68 03 00 01 */ xori r3, r0, 1
/* 8036CC50 00369BB0 40 82 00 08 */ bne lbl_8036CC58
/* 8036CC54 00369BB4 7C 03 03 78 */ mr r3, r0
lbl_8036CC58:
/* 8036CC58 00369BB8 1F A3 00 18 */ mulli r29, r3, 0x18
/* 8036CC5C 00369BBC 3C 80 80 3E */ lis r4, lbl_803D8568@ha
/* 8036CC60 00369BC0 38 60 00 0C */ li r3, 0xc
/* 8036CC64 00369BC4 38 84 85 68 */ addi r4, r4, lbl_803D8568@l
/* 8036CC68 00369BC8 7C C5 EA 14 */ add r6, r5, r29
/* 8036CC6C 00369BCC 38 A0 00 00 */ li r5, 0
/* 8036CC70 00369BD0 83 E6 00 08 */ lwz r31, 8(r6)
/* 8036CC74 00369BD4 83 DF 00 00 */ lwz r30, 0(r31)
/* 8036CC78 00369BD8 4B FA 8B A1 */ bl __nwa__FUlPCcPCc
/* 8036CC7C 00369BDC 28 03 00 00 */ cmplwi r3, 0
/* 8036CC80 00369BE0 41 82 00 0C */ beq lbl_8036CC8C
/* 8036CC84 00369BE4 93 C3 00 00 */ stw r30, 0(r3)
/* 8036CC88 00369BE8 93 E3 00 04 */ stw r31, 4(r3)
lbl_8036CC8C:
/* 8036CC8C 00369BEC 34 83 00 08 */ addic. r4, r3, 8
/* 8036CC90 00369BF0 41 82 00 08 */ beq lbl_8036CC98
/* 8036CC94 00369BF4 93 84 00 00 */ stw r28, 0(r4)
lbl_8036CC98:
/* 8036CC98 00369BF8 3C 80 80 54 */ lis r4, lbl_80540A4C@ha
/* 8036CC9C 00369BFC 38 04 0A 4C */ addi r0, r4, lbl_80540A4C@l
/* 8036CCA0 00369C00 7C 80 EA 14 */ add r4, r0, r29
/* 8036CCA4 00369C04 84 04 00 04 */ lwzu r0, 4(r4)
/* 8036CCA8 00369C08 7C 1F 00 40 */ cmplw r31, r0
/* 8036CCAC 00369C0C 40 82 00 08 */ bne lbl_8036CCB4
/* 8036CCB0 00369C10 90 64 00 00 */ stw r3, 0(r4)
lbl_8036CCB4:
/* 8036CCB4 00369C14 80 A3 00 00 */ lwz r5, 0(r3)
/* 8036CCB8 00369C18 3C 80 80 54 */ lis r4, lbl_80540A4C@ha
/* 8036CCBC 00369C1C 38 04 0A 4C */ addi r0, r4, lbl_80540A4C@l
/* 8036CCC0 00369C20 90 65 00 04 */ stw r3, 4(r5)
/* 8036CCC4 00369C24 7C 80 EA 14 */ add r4, r0, r29
/* 8036CCC8 00369C28 80 A3 00 04 */ lwz r5, 4(r3)
/* 8036CCCC 00369C2C 90 65 00 00 */ stw r3, 0(r5)
/* 8036CCD0 00369C30 80 64 00 14 */ lwz r3, 0x14(r4)
/* 8036CCD4 00369C34 38 03 00 01 */ addi r0, r3, 1
/* 8036CCD8 00369C38 90 04 00 14 */ stw r0, 0x14(r4)
/* 8036CCDC 00369C3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036CCE0 00369C40 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036CCE4 00369C44 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036CCE8 00369C48 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8036CCEC 00369C4C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036CCF0 00369C50 7C 08 03 A6 */ mtlr r0
/* 8036CCF4 00369C54 38 21 00 20 */ addi r1, r1, 0x20
/* 8036CCF8 00369C58 4E 80 00 20 */ blr
.global sub_8036ccfc
sub_8036ccfc:
/* 8036CCFC 00369C5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CD00 00369C60 7C 08 02 A6 */ mflr r0
/* 8036CD04 00369C64 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CD08 00369C68 48 00 B7 DD */ bl GXDrawDone
/* 8036CD0C 00369C6C 48 00 00 15 */ bl sub_8036cd20
/* 8036CD10 00369C70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CD14 00369C74 7C 08 03 A6 */ mtlr r0
/* 8036CD18 00369C78 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CD1C 00369C7C 4E 80 00 20 */ blr
.global sub_8036cd20
sub_8036cd20:
/* 8036CD20 00369C80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CD24 00369C84 7C 08 02 A6 */ mflr r0
/* 8036CD28 00369C88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CD2C 00369C8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036CD30 00369C90 3B E0 00 00 */ li r31, 0
lbl_8036CD34:
/* 8036CD34 00369C94 4B FF FE 5D */ bl sub_8036cb90
/* 8036CD38 00369C98 3B FF 00 01 */ addi r31, r31, 1
/* 8036CD3C 00369C9C 2C 1F 00 02 */ cmpwi r31, 2
/* 8036CD40 00369CA0 41 80 FF F4 */ blt lbl_8036CD34
/* 8036CD44 00369CA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CD48 00369CA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036CD4C 00369CAC 7C 08 03 A6 */ mtlr r0
/* 8036CD50 00369CB0 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CD54 00369CB4 4E 80 00 20 */ blr
.global sub_8036cd58
sub_8036cd58:
/* 8036CD58 00369CB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CD5C 00369CBC 7C 08 02 A6 */ mflr r0
/* 8036CD60 00369CC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CD64 00369CC4 4B FF FF 99 */ bl sub_8036ccfc
/* 8036CD68 00369CC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CD6C 00369CCC 7C 08 03 A6 */ mtlr r0
/* 8036CD70 00369CD0 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CD74 00369CD4 4E 80 00 20 */ blr
.global sub_8036cd78
sub_8036cd78:
/* 8036CD78 00369CD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CD7C 00369CDC 7C 08 02 A6 */ mflr r0
/* 8036CD80 00369CE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CD84 00369CE4 4B FF FF 79 */ bl sub_8036ccfc
/* 8036CD88 00369CE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CD8C 00369CEC 7C 08 03 A6 */ mtlr r0
/* 8036CD90 00369CF0 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CD94 00369CF4 4E 80 00 20 */ blr
.global sub_8036cd98
sub_8036cd98:
/* 8036CD98 00369CF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CD9C 00369CFC 7C 08 02 A6 */ mflr r0
/* 8036CDA0 00369D00 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CDA4 00369D04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036CDA8 00369D08 93 C1 00 08 */ stw r30, 8(r1)
/* 8036CDAC 00369D0C 7C 7E 1B 78 */ mr r30, r3
/* 8036CDB0 00369D10 80 03 00 04 */ lwz r0, 4(r3)
/* 8036CDB4 00369D14 83 E4 00 04 */ lwz r31, 4(r4)
/* 8036CDB8 00369D18 7C 04 00 40 */ cmplw r4, r0
/* 8036CDBC 00369D1C 40 82 00 08 */ bne lbl_8036CDC4
/* 8036CDC0 00369D20 93 FE 00 04 */ stw r31, 4(r30)
lbl_8036CDC4:
/* 8036CDC4 00369D24 80 04 00 04 */ lwz r0, 4(r4)
/* 8036CDC8 00369D28 28 04 00 00 */ cmplwi r4, 0
/* 8036CDCC 00369D2C 80 64 00 00 */ lwz r3, 0(r4)
/* 8036CDD0 00369D30 90 03 00 04 */ stw r0, 4(r3)
/* 8036CDD4 00369D34 80 04 00 00 */ lwz r0, 0(r4)
/* 8036CDD8 00369D38 80 64 00 04 */ lwz r3, 4(r4)
/* 8036CDDC 00369D3C 90 03 00 00 */ stw r0, 0(r3)
/* 8036CDE0 00369D40 41 82 00 0C */ beq lbl_8036CDEC
/* 8036CDE4 00369D44 7C 83 23 78 */ mr r3, r4
/* 8036CDE8 00369D48 4B FA 8B 49 */ bl Free__7CMemoryFPCv
lbl_8036CDEC:
/* 8036CDEC 00369D4C 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 8036CDF0 00369D50 7F E3 FB 78 */ mr r3, r31
/* 8036CDF4 00369D54 38 04 FF FF */ addi r0, r4, -1
/* 8036CDF8 00369D58 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8036CDFC 00369D5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036CE00 00369D60 83 C1 00 08 */ lwz r30, 8(r1)
/* 8036CE04 00369D64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CE08 00369D68 7C 08 03 A6 */ mtlr r0
/* 8036CE0C 00369D6C 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CE10 00369D70 4E 80 00 20 */ blr
.global __sinit_GameTweaks_cpp
__sinit_GameTweaks_cpp:
/* 8036CE14 00369D74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CE18 00369D78 7C 08 02 A6 */ mflr r0
/* 8036CE1C 00369D7C 3C 60 80 54 */ lis r3, lbl_80540A4C@ha
/* 8036CE20 00369D80 3C 80 80 37 */ lis r4, sub_8036cf1c@ha
/* 8036CE24 00369D84 3C A0 80 37 */ lis r5, sub_8036ce6c@ha
/* 8036CE28 00369D88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CE2C 00369D8C 38 C0 00 18 */ li r6, 0x18
/* 8036CE30 00369D90 38 63 0A 4C */ addi r3, r3, lbl_80540A4C@l
/* 8036CE34 00369D94 38 84 CF 1C */ addi r4, r4, sub_8036cf1c@l
/* 8036CE38 00369D98 38 A5 CE 6C */ addi r5, r5, sub_8036ce6c@l
/* 8036CE3C 00369D9C 38 E0 00 02 */ li r7, 2
/* 8036CE40 00369DA0 48 01 C9 0D */ bl __construct_array
/* 8036CE44 00369DA4 3C 60 80 37 */ lis r3, __arraydtor$381@ha
/* 8036CE48 00369DA8 3C A0 80 54 */ lis r5, lbl_80540A40@ha
/* 8036CE4C 00369DAC 38 83 CE E4 */ addi r4, r3, __arraydtor$381@l
/* 8036CE50 00369DB0 38 60 00 00 */ li r3, 0
/* 8036CE54 00369DB4 38 A5 0A 40 */ addi r5, r5, lbl_80540A40@l
/* 8036CE58 00369DB8 48 01 C8 35 */ bl __register_global_object
/* 8036CE5C 00369DBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CE60 00369DC0 7C 08 03 A6 */ mtlr r0
/* 8036CE64 00369DC4 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CE68 00369DC8 4E 80 00 20 */ blr
.global sub_8036ce6c
sub_8036ce6c:
/* 8036CE6C 00369DCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036CE70 00369DD0 7C 08 02 A6 */ mflr r0
/* 8036CE74 00369DD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036CE78 00369DD8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036CE7C 00369DDC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036CE80 00369DE0 7C 9E 23 78 */ mr r30, r4
/* 8036CE84 00369DE4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036CE88 00369DE8 7C 7D 1B 79 */ or. r29, r3, r3
/* 8036CE8C 00369DEC 41 82 00 38 */ beq lbl_8036CEC4
/* 8036CE90 00369DF0 83 FD 00 04 */ lwz r31, 4(r29)
/* 8036CE94 00369DF4 48 00 00 14 */ b lbl_8036CEA8
lbl_8036CE98:
/* 8036CE98 00369DF8 7F E3 FB 79 */ or. r3, r31, r31
/* 8036CE9C 00369DFC 83 FF 00 04 */ lwz r31, 4(r31)
/* 8036CEA0 00369E00 41 82 00 08 */ beq lbl_8036CEA8
/* 8036CEA4 00369E04 4B FA 8A 8D */ bl Free__7CMemoryFPCv
lbl_8036CEA8:
/* 8036CEA8 00369E08 80 1D 00 08 */ lwz r0, 8(r29)
/* 8036CEAC 00369E0C 7C 1F 00 40 */ cmplw r31, r0
/* 8036CEB0 00369E10 40 82 FF E8 */ bne lbl_8036CE98
/* 8036CEB4 00369E14 7F C0 07 35 */ extsh. r0, r30
/* 8036CEB8 00369E18 40 81 00 0C */ ble lbl_8036CEC4
/* 8036CEBC 00369E1C 7F A3 EB 78 */ mr r3, r29
/* 8036CEC0 00369E20 4B FA 8A 71 */ bl Free__7CMemoryFPCv
lbl_8036CEC4:
/* 8036CEC4 00369E24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036CEC8 00369E28 7F A3 EB 78 */ mr r3, r29
/* 8036CECC 00369E2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036CED0 00369E30 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036CED4 00369E34 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036CED8 00369E38 7C 08 03 A6 */ mtlr r0
/* 8036CEDC 00369E3C 38 21 00 20 */ addi r1, r1, 0x20
/* 8036CEE0 00369E40 4E 80 00 20 */ blr
.global __arraydtor$381
__arraydtor$381:
/* 8036CEE4 00369E44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CEE8 00369E48 7C 08 02 A6 */ mflr r0
/* 8036CEEC 00369E4C 3C 60 80 54 */ lis r3, lbl_80540A4C@ha
/* 8036CEF0 00369E50 3C 80 80 37 */ lis r4, sub_8036ce6c@ha
/* 8036CEF4 00369E54 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036CEF8 00369E58 38 63 0A 4C */ addi r3, r3, lbl_80540A4C@l
/* 8036CEFC 00369E5C 38 A0 00 18 */ li r5, 0x18
/* 8036CF00 00369E60 38 84 CE 6C */ addi r4, r4, sub_8036ce6c@l
/* 8036CF04 00369E64 38 C0 00 02 */ li r6, 2
/* 8036CF08 00369E68 48 01 C7 CD */ bl __destroy_arr
/* 8036CF0C 00369E6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036CF10 00369E70 7C 08 03 A6 */ mtlr r0
/* 8036CF14 00369E74 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CF18 00369E78 4E 80 00 20 */ blr
.global sub_8036cf1c
sub_8036cf1c:
/* 8036CF1C 00369E7C 38 83 00 0C */ addi r4, r3, 0xc
/* 8036CF20 00369E80 38 00 00 00 */ li r0, 0
/* 8036CF24 00369E84 90 83 00 04 */ stw r4, 4(r3)
/* 8036CF28 00369E88 90 83 00 08 */ stw r4, 8(r3)
/* 8036CF2C 00369E8C 90 83 00 0C */ stw r4, 0xc(r3)
/* 8036CF30 00369E90 90 83 00 10 */ stw r4, 0x10(r3)
/* 8036CF34 00369E94 90 03 00 14 */ stw r0, 0x14(r3)
/* 8036CF38 00369E98 4E 80 00 20 */ blr

View File

@ -0,0 +1,67 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Orange__6CColorFv
Orange__6CColorFv:
/* 80349F84 00346EE4 38 6D A9 C8 */ addi r3, r13, lbl_805A9588@sda21
/* 80349F88 00346EE8 4E 80 00 20 */ blr
.global Yellow__6CColorFv
Yellow__6CColorFv:
/* 80349F8C 00346EEC 38 6D A9 C0 */ addi r3, r13, lbl_805A9580@sda21
/* 80349F90 00346EF0 4E 80 00 20 */ blr
.global Blue__6CColorFv
Blue__6CColorFv:
/* 80349F94 00346EF4 38 6D A9 BC */ addi r3, r13, lbl_805A957C@sda21
/* 80349F98 00346EF8 4E 80 00 20 */ blr
.global Red__6CColorFv
Red__6CColorFv:
/* 80349F9C 00346EFC 38 6D A9 B4 */ addi r3, r13, lbl_805A9574@sda21
/* 80349FA0 00346F00 4E 80 00 20 */ blr
.global Grey__6CColorFv
Grey__6CColorFv:
/* 80349FA4 00346F04 38 6D A9 B0 */ addi r3, r13, lbl_805A9570@sda21
/* 80349FA8 00346F08 4E 80 00 20 */ blr
.global White__6CColorFv
White__6CColorFv:
/* 80349FAC 00346F0C 38 6D A9 AC */ addi r3, r13, lbl_805A956C@sda21
/* 80349FB0 00346F10 4E 80 00 20 */ blr
.global Black__6CColorFv
Black__6CColorFv:
/* 80349FB4 00346F14 38 6D A9 A8 */ addi r3, r13, lbl_805A9568@sda21
/* 80349FB8 00346F18 4E 80 00 20 */ blr
.global __sinit_CColor_cpp
__sinit_CColor_cpp:
/* 80349FBC 00346F1C 3D 20 80 81 */ lis r9, 0x808080FF@ha
/* 80349FC0 00346F20 3D 00 FF 00 */ lis r8, 0xFF0000FF@ha
/* 80349FC4 00346F24 3C E0 00 FF */ lis r7, 0x00FF00FF@ha
/* 80349FC8 00346F28 3C C0 00 01 */ lis r6, 0x0000FFFF@ha
/* 80349FCC 00346F2C 3C A0 FF FF */ lis r5, 0xFFFF00FF@ha
/* 80349FD0 00346F30 3C 80 A0 01 */ lis r4, 0xA000FFFF@ha
/* 80349FD4 00346F34 3C 60 FF 70 */ lis r3, 0xFF7000FF@ha
/* 80349FD8 00346F38 39 29 80 FF */ addi r9, r9, 0x808080FF@l
/* 80349FDC 00346F3C 39 08 00 FF */ addi r8, r8, 0xFF0000FF@l
/* 80349FE0 00346F40 38 E7 00 FF */ addi r7, r7, 0x00FF00FF@l
/* 80349FE4 00346F44 38 C6 FF FF */ addi r6, r6, 0x0000FFFF@l
/* 80349FE8 00346F48 38 A5 00 FF */ addi r5, r5, 0xFFFF00FF@l
/* 80349FEC 00346F4C 38 84 FF FF */ addi r4, r4, 0xA000FFFF@l
/* 80349FF0 00346F50 38 03 00 FF */ addi r0, r3, 0xFF7000FF@l
/* 80349FF4 00346F54 39 40 00 FF */ li r10, 0xff
/* 80349FF8 00346F58 38 60 FF FF */ li r3, -1
/* 80349FFC 00346F5C 91 4D A9 A8 */ stw r10, lbl_805A9568@sda21(r13)
/* 8034A000 00346F60 90 6D A9 AC */ stw r3, lbl_805A956C@sda21(r13)
/* 8034A004 00346F64 91 2D A9 B0 */ stw r9, lbl_805A9570@sda21(r13)
/* 8034A008 00346F68 91 0D A9 B4 */ stw r8, lbl_805A9574@sda21(r13)
/* 8034A00C 00346F6C 90 ED A9 B8 */ stw r7, lbl_805A9578@sda21(r13)
/* 8034A010 00346F70 90 CD A9 BC */ stw r6, lbl_805A957C@sda21(r13)
/* 8034A014 00346F74 90 AD A9 C0 */ stw r5, lbl_805A9580@sda21(r13)
/* 8034A018 00346F78 90 8D A9 C4 */ stw r4, lbl_805A9584@sda21(r13)
/* 8034A01C 00346F7C 90 0D A9 C8 */ stw r0, lbl_805A9588@sda21(r13)
/* 8034A020 00346F80 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,44 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetBounds__12CCubeSurfaceCFv
GetBounds__12CCubeSurfaceCFv:
/* 803482B0 00345210 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803482B4 00345214 7C 08 02 A6 */ mflr r0
/* 803482B8 00345218 90 01 00 14 */ stw r0, 0x14(r1)
/* 803482BC 0034521C 80 84 00 00 */ lwz r4, 0(r4)
/* 803482C0 00345220 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 803482C4 00345224 28 00 00 00 */ cmplwi r0, 0
/* 803482C8 00345228 41 82 00 38 */ beq lbl_80348300
/* 803482CC 0034522C C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 803482D0 00345230 D0 03 00 00 */ stfs f0, 0(r3)
/* 803482D4 00345234 C0 04 00 30 */ lfs f0, 0x30(r4)
/* 803482D8 00345238 D0 03 00 04 */ stfs f0, 4(r3)
/* 803482DC 0034523C C0 04 00 34 */ lfs f0, 0x34(r4)
/* 803482E0 00345240 D0 03 00 08 */ stfs f0, 8(r3)
/* 803482E4 00345244 C0 04 00 38 */ lfs f0, 0x38(r4)
/* 803482E8 00345248 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 803482EC 0034524C C0 04 00 3C */ lfs f0, 0x3c(r4)
/* 803482F0 00345250 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 803482F4 00345254 C0 04 00 40 */ lfs f0, 0x40(r4)
/* 803482F8 00345258 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 803482FC 0034525C 48 00 00 0C */ b lbl_80348308
lbl_80348300:
/* 80348300 00345260 7C 85 23 78 */ mr r5, r4
/* 80348304 00345264 4B FF 02 05 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
lbl_80348308:
/* 80348308 00345268 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034830C 0034526C 7C 08 03 A6 */ mtlr r0
/* 80348310 00345270 38 21 00 10 */ addi r1, r1, 0x10
/* 80348314 00345274 4E 80 00 20 */ blr
.global __sinit_CCubeSurface_cpp
__sinit_CCubeSurface_cpp:
/* 80348318 00345278 C0 22 CC 18 */ lfs f1, lbl_805AE938@sda21(r2)
/* 8034831C 0034527C 3C 60 80 5A */ lis r3, lbl_805A67C0@ha
/* 80348320 00345280 C0 02 CC 1C */ lfs f0, lbl_805AE93C@sda21(r2)
/* 80348324 00345284 D4 23 67 C0 */ stfsu f1, lbl_805A67C0@l(r3)
/* 80348328 00345288 D0 03 00 04 */ stfs f0, 4(r3)
/* 8034832C 0034528C D0 03 00 08 */ stfs f0, 8(r3)
/* 80348330 00345290 4E 80 00 20 */ blr

1407
asm/Kyoto/Graphics/CGX.s Normal file

File diff suppressed because it is too large Load Diff

460
asm/Kyoto/Graphics/CLight.s Normal file
View File

@ -0,0 +1,460 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetNormalIndependentLightingAtPoint__6CLightCFRC9CVector3f
GetNormalIndependentLightingAtPoint__6CLightCFRC9CVector3f:
/* 80306024 00302F84 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80306028 00302F88 7C 08 02 A6 */ mflr r0
/* 8030602C 00302F8C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80306030 00302F90 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80306034 00302F94 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80306038 00302F98 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 8030603C 00302F9C F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 80306040 00302FA0 DB A1 00 20 */ stfd f29, 0x20(r1)
/* 80306044 00302FA4 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
/* 80306048 00302FA8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8030604C 00302FAC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80306050 00302FB0 7C 7E 1B 78 */ mr r30, r3
/* 80306054 00302FB4 7C 9F 23 78 */ mr r31, r4
/* 80306058 00302FB8 E0 3F A0 1A */ psq_l f1, 26(r31), 1, qr2
/* 8030605C 00302FBC C0 02 C7 7C */ lfs f0, lbl_805AE49C@sda21(r2)
/* 80306060 00302FC0 EF E0 00 72 */ fmuls f31, f0, f1
/* 80306064 00302FC4 E0 3F A0 19 */ psq_l f1, 25(r31), 1, qr2
/* 80306068 00302FC8 EF C0 00 72 */ fmuls f30, f0, f1
/* 8030606C 00302FCC E0 3F A0 18 */ psq_l f1, 24(r31), 1, qr2
/* 80306070 00302FD0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80306074 00302FD4 EF A0 00 72 */ fmuls f29, f0, f1
/* 80306078 00302FD8 2C 00 00 03 */ cmpwi r0, 3
/* 8030607C 00302FDC 40 82 00 14 */ bne lbl_80306090
/* 80306080 00302FE0 D3 BE 00 00 */ stfs f29, 0(r30)
/* 80306084 00302FE4 D3 DE 00 04 */ stfs f30, 4(r30)
/* 80306088 00302FE8 D3 FE 00 08 */ stfs f31, 8(r30)
/* 8030608C 00302FEC 48 00 00 98 */ b lbl_80306124
lbl_80306090:
/* 80306090 00302FF0 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80306094 00302FF4 38 61 00 0C */ addi r3, r1, 0xc
/* 80306098 00302FF8 C0 05 00 04 */ lfs f0, 4(r5)
/* 8030609C 00302FFC C0 7F 00 08 */ lfs f3, 8(r31)
/* 803060A0 00303000 C0 45 00 08 */ lfs f2, 8(r5)
/* 803060A4 00303004 EC 81 00 28 */ fsubs f4, f1, f0
/* 803060A8 00303008 C0 3F 00 00 */ lfs f1, 0(r31)
/* 803060AC 0030300C C0 05 00 00 */ lfs f0, 0(r5)
/* 803060B0 00303010 EC 43 10 28 */ fsubs f2, f3, f2
/* 803060B4 00303014 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 803060B8 00303018 EC 01 00 28 */ fsubs f0, f1, f0
/* 803060BC 0030301C D0 41 00 14 */ stfs f2, 0x14(r1)
/* 803060C0 00303020 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 803060C4 00303024 48 00 E7 F5 */ bl Magnitude__9CVector3fCFv
/* 803060C8 00303028 FC 40 08 18 */ frsp f2, f1
/* 803060CC 0030302C C0 02 C7 78 */ lfs f0, lbl_805AE498@sda21(r2)
/* 803060D0 00303030 D0 21 00 08 */ stfs f1, 8(r1)
/* 803060D4 00303034 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803060D8 00303038 40 80 00 0C */ bge lbl_803060E4
/* 803060DC 0030303C 38 62 C7 78 */ addi r3, r2, lbl_805AE498@sda21
/* 803060E0 00303040 48 00 00 08 */ b lbl_803060E8
lbl_803060E4:
/* 803060E4 00303044 38 61 00 08 */ addi r3, r1, 8
lbl_803060E8:
/* 803060E8 00303048 C0 83 00 00 */ lfs f4, 0(r3)
/* 803060EC 0030304C C0 5F 00 2C */ lfs f2, 0x2c(r31)
/* 803060F0 00303050 C0 3F 00 28 */ lfs f1, 0x28(r31)
/* 803060F4 00303054 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 803060F8 00303058 EC 42 01 32 */ fmuls f2, f2, f4
/* 803060FC 0030305C C0 62 C7 80 */ lfs f3, lbl_805AE4A0@sda21(r2)
/* 80306100 00303060 EC 01 01 3A */ fmadds f0, f1, f4, f0
/* 80306104 00303064 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 80306108 00303068 EC 03 00 24 */ fdivs f0, f3, f0
/* 8030610C 0030306C EC 40 07 72 */ fmuls f2, f0, f29
/* 80306110 00303070 EC 20 07 B2 */ fmuls f1, f0, f30
/* 80306114 00303074 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80306118 00303078 D0 5E 00 00 */ stfs f2, 0(r30)
/* 8030611C 0030307C D0 3E 00 04 */ stfs f1, 4(r30)
/* 80306120 00303080 D0 1E 00 08 */ stfs f0, 8(r30)
lbl_80306124:
/* 80306124 00303084 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 80306128 00303088 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8030612C 0030308C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 80306130 00303090 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 80306134 00303094 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0
/* 80306138 00303098 CB A1 00 20 */ lfd f29, 0x20(r1)
/* 8030613C 0030309C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80306140 003030A0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80306144 003030A4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80306148 003030A8 7C 08 03 A6 */ mtlr r0
/* 8030614C 003030AC 38 21 00 50 */ addi r1, r1, 0x50
/* 80306150 003030B0 4E 80 00 20 */ blr
.global GetIntensity__6CLightCFv
GetIntensity__6CLightCFv:
/* 80306154 003030B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306158 003030B8 88 83 00 4C */ lbz r4, 0x4c(r3)
/* 8030615C 003030BC 54 80 CF FF */ rlwinm. r0, r4, 0x19, 0x1f, 0x1f
/* 80306160 003030C0 41 82 00 84 */ beq lbl_803061E4
/* 80306164 003030C4 38 00 00 00 */ li r0, 0
/* 80306168 003030C8 C0 62 C7 80 */ lfs f3, lbl_805AE4A0@sda21(r2)
/* 8030616C 003030CC 50 04 3E 30 */ rlwimi r4, r0, 7, 0x18, 0x18
/* 80306170 003030D0 98 83 00 4C */ stb r4, 0x4c(r3)
/* 80306174 003030D4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80306178 003030D8 2C 00 00 04 */ cmpwi r0, 4
/* 8030617C 003030DC 40 82 00 08 */ bne lbl_80306184
/* 80306180 003030E0 C0 63 00 30 */ lfs f3, 0x30(r3)
lbl_80306184:
/* 80306184 003030E4 E0 23 A0 1A */ psq_l f1, 26(r3), 1, qr2
/* 80306188 003030E8 C0 02 C7 7C */ lfs f0, lbl_805AE49C@sda21(r2)
/* 8030618C 003030EC EC 20 00 72 */ fmuls f1, f0, f1
/* 80306190 003030F0 D0 21 00 08 */ stfs f1, 8(r1)
/* 80306194 003030F4 E0 43 A0 19 */ psq_l f2, 25(r3), 1, qr2
/* 80306198 003030F8 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8030619C 003030FC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 803061A0 00303100 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 803061A4 00303104 40 80 00 0C */ bge lbl_803061B0
/* 803061A8 00303108 38 81 00 08 */ addi r4, r1, 8
/* 803061AC 0030310C 48 00 00 08 */ b lbl_803061B4
lbl_803061B0:
/* 803061B0 00303110 38 81 00 0C */ addi r4, r1, 0xc
lbl_803061B4:
/* 803061B4 00303114 E0 23 A0 18 */ psq_l f1, 24(r3), 1, qr2
/* 803061B8 00303118 C0 02 C7 7C */ lfs f0, lbl_805AE49C@sda21(r2)
/* 803061BC 0030311C EC 20 00 72 */ fmuls f1, f0, f1
/* 803061C0 00303120 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 803061C4 00303124 C0 04 00 00 */ lfs f0, 0(r4)
/* 803061C8 00303128 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 803061CC 0030312C 40 80 00 08 */ bge lbl_803061D4
/* 803061D0 00303130 48 00 00 08 */ b lbl_803061D8
lbl_803061D4:
/* 803061D4 00303134 38 81 00 10 */ addi r4, r1, 0x10
lbl_803061D8:
/* 803061D8 00303138 C0 04 00 00 */ lfs f0, 0(r4)
/* 803061DC 0030313C EC 03 00 32 */ fmuls f0, f3, f0
/* 803061E0 00303140 D0 03 00 48 */ stfs f0, 0x48(r3)
lbl_803061E4:
/* 803061E4 00303144 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 803061E8 00303148 38 21 00 20 */ addi r1, r1, 0x20
/* 803061EC 0030314C 4E 80 00 20 */ blr
.global CalculateLightRadius__6CLightCFv
CalculateLightRadius__6CLightCFv:
/* 803061F0 00303150 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803061F4 00303154 7C 08 02 A6 */ mflr r0
/* 803061F8 00303158 C0 22 C7 8C */ lfs f1, lbl_805AE4AC@sda21(r2)
/* 803061FC 0030315C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306200 00303160 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80306204 00303164 7C 7F 1B 78 */ mr r31, r3
/* 80306208 00303168 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 8030620C 0030316C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80306210 00303170 40 80 00 18 */ bge lbl_80306228
/* 80306214 00303174 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 80306218 00303178 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8030621C 0030317C 40 80 00 0C */ bge lbl_80306228
/* 80306220 00303180 C0 22 C7 90 */ lfs f1, lbl_805AE4B0@sda21(r2)
/* 80306224 00303184 48 00 00 9C */ b lbl_803062C0
lbl_80306228:
/* 80306228 00303188 7F E3 FB 78 */ mr r3, r31
/* 8030622C 0030318C 4B FF FF 29 */ bl GetIntensity__6CLightCFv
/* 80306230 00303190 C0 7F 00 2C */ lfs f3, 0x2c(r31)
/* 80306234 00303194 C0 02 C7 8C */ lfs f0, lbl_805AE4AC@sda21(r2)
/* 80306238 00303198 C0 82 C7 88 */ lfs f4, lbl_805AE4A8@sda21(r2)
/* 8030623C 0030319C FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80306240 003031A0 40 81 00 44 */ ble lbl_80306284
/* 80306244 003031A4 C0 4D 9C 54 */ lfs f2, lbl_805A8814@sda21(r13)
/* 80306248 003031A8 C0 0D 9C 50 */ lfs f0, lbl_805A8810@sda21(r13)
/* 8030624C 003031AC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80306250 003031B0 40 80 00 0C */ bge lbl_8030625C
/* 80306254 003031B4 38 6D 9C 54 */ addi r3, r13, lbl_805A8814@sda21
/* 80306258 003031B8 48 00 00 08 */ b lbl_80306260
lbl_8030625C:
/* 8030625C 003031BC 38 6D 9C 50 */ addi r3, r13, lbl_805A8810@sda21
lbl_80306260:
/* 80306260 003031C0 C0 02 C7 8C */ lfs f0, lbl_805AE4AC@sda21(r2)
/* 80306264 003031C4 C0 43 00 00 */ lfs f2, 0(r3)
/* 80306268 003031C8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8030626C 003031CC 40 81 00 50 */ ble lbl_803062BC
/* 80306270 003031D0 EC 02 00 F2 */ fmuls f0, f2, f3
/* 80306274 003031D4 EC 21 00 24 */ fdivs f1, f1, f0
/* 80306278 003031D8 48 00 F2 89 */ bl SqrtF__5CMathFf
/* 8030627C 003031DC FC 80 08 90 */ fmr f4, f1
/* 80306280 003031E0 48 00 00 3C */ b lbl_803062BC
lbl_80306284:
/* 80306284 003031E4 C0 4D 9C 5C */ lfs f2, lbl_805A881C@sda21(r13)
/* 80306288 003031E8 C0 0D 9C 58 */ lfs f0, lbl_805A8818@sda21(r13)
/* 8030628C 003031EC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80306290 003031F0 40 80 00 0C */ bge lbl_8030629C
/* 80306294 003031F4 38 6D 9C 5C */ addi r3, r13, lbl_805A881C@sda21
/* 80306298 003031F8 48 00 00 08 */ b lbl_803062A0
lbl_8030629C:
/* 8030629C 003031FC 38 6D 9C 58 */ addi r3, r13, lbl_805A8818@sda21
lbl_803062A0:
/* 803062A0 00303200 C0 5F 00 28 */ lfs f2, 0x28(r31)
/* 803062A4 00303204 C0 02 C7 8C */ lfs f0, lbl_805AE4AC@sda21(r2)
/* 803062A8 00303208 C0 63 00 00 */ lfs f3, 0(r3)
/* 803062AC 0030320C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803062B0 00303210 40 81 00 0C */ ble lbl_803062BC
/* 803062B4 00303214 EC 03 00 B2 */ fmuls f0, f3, f2
/* 803062B8 00303218 EC 81 00 24 */ fdivs f4, f1, f0
lbl_803062BC:
/* 803062BC 0030321C FC 20 20 90 */ fmr f1, f4
lbl_803062C0:
/* 803062C0 00303220 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803062C4 00303224 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803062C8 00303228 7C 08 03 A6 */ mtlr r0
/* 803062CC 0030322C 38 21 00 10 */ addi r1, r1, 0x10
/* 803062D0 00303230 4E 80 00 20 */ blr
.global GetRadius__6CLightCFv
GetRadius__6CLightCFv:
/* 803062D4 00303234 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803062D8 00303238 7C 08 02 A6 */ mflr r0
/* 803062DC 0030323C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803062E0 00303240 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803062E4 00303244 7C 7F 1B 78 */ mr r31, r3
/* 803062E8 00303248 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803062EC 0030324C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 803062F0 00303250 41 82 00 1C */ beq lbl_8030630C
/* 803062F4 00303254 4B FF FE FD */ bl CalculateLightRadius__6CLightCFv
/* 803062F8 00303258 D0 3F 00 44 */ stfs f1, 0x44(r31)
/* 803062FC 0030325C 38 60 00 00 */ li r3, 0
/* 80306300 00303260 88 1F 00 4C */ lbz r0, 0x4c(r31)
/* 80306304 00303264 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80306308 00303268 98 1F 00 4C */ stb r0, 0x4c(r31)
lbl_8030630C:
/* 8030630C 0030326C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306310 00303270 C0 3F 00 44 */ lfs f1, 0x44(r31)
/* 80306314 00303274 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80306318 00303278 7C 08 03 A6 */ mtlr r0
/* 8030631C 0030327C 38 21 00 10 */ addi r1, r1, 0x10
/* 80306320 00303280 4E 80 00 20 */ blr
.global SetDirection__6CLightFRC9CVector3f
SetDirection__6CLightFRC9CVector3f:
/* 80306324 00303284 C0 04 00 00 */ lfs f0, 0(r4)
/* 80306328 00303288 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8030632C 0030328C C0 04 00 04 */ lfs f0, 4(r4)
/* 80306330 00303290 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80306334 00303294 C0 04 00 08 */ lfs f0, 8(r4)
/* 80306338 00303298 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8030633C 0030329C 4E 80 00 20 */ blr
.global SetPosition__6CLightFRC9CVector3f
SetPosition__6CLightFRC9CVector3f:
/* 80306340 003032A0 C0 04 00 00 */ lfs f0, 0(r4)
/* 80306344 003032A4 D0 03 00 00 */ stfs f0, 0(r3)
/* 80306348 003032A8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8030634C 003032AC D0 03 00 04 */ stfs f0, 4(r3)
/* 80306350 003032B0 C0 04 00 08 */ lfs f0, 8(r4)
/* 80306354 003032B4 D0 03 00 08 */ stfs f0, 8(r3)
/* 80306358 003032B8 4E 80 00 20 */ blr
.global SetColor__6CLightFRC6CColor
SetColor__6CLightFRC6CColor:
/* 8030635C 003032BC 80 04 00 00 */ lwz r0, 0(r4)
/* 80306360 003032C0 38 80 00 01 */ li r4, 1
/* 80306364 003032C4 90 03 00 18 */ stw r0, 0x18(r3)
/* 80306368 003032C8 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 8030636C 003032CC 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 80306370 003032D0 98 03 00 4C */ stb r0, 0x4c(r3)
/* 80306374 003032D4 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 80306378 003032D8 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8030637C 003032DC 98 03 00 4C */ stb r0, 0x4c(r3)
/* 80306380 003032E0 4E 80 00 20 */ blr
.global SetAngleAttenuation__6CLightFfff
SetAngleAttenuation__6CLightFfff:
/* 80306384 003032E4 D0 23 00 30 */ stfs f1, 0x30(r3)
/* 80306388 003032E8 38 80 00 01 */ li r4, 1
/* 8030638C 003032EC D0 43 00 34 */ stfs f2, 0x34(r3)
/* 80306390 003032F0 D0 63 00 38 */ stfs f3, 0x38(r3)
/* 80306394 003032F4 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 80306398 003032F8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 8030639C 003032FC 98 03 00 4C */ stb r0, 0x4c(r3)
/* 803063A0 00303300 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803063A4 00303304 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 803063A8 00303308 98 03 00 4C */ stb r0, 0x4c(r3)
/* 803063AC 0030330C 4E 80 00 20 */ blr
.global SetAttenuation__6CLightFfff
SetAttenuation__6CLightFfff:
/* 803063B0 00303310 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 803063B4 00303314 38 80 00 01 */ li r4, 1
/* 803063B8 00303318 D0 43 00 28 */ stfs f2, 0x28(r3)
/* 803063BC 0030331C D0 63 00 2C */ stfs f3, 0x2c(r3)
/* 803063C0 00303320 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803063C4 00303324 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 803063C8 00303328 98 03 00 4C */ stb r0, 0x4c(r3)
/* 803063CC 0030332C 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803063D0 00303330 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 803063D4 00303334 98 03 00 4C */ stb r0, 0x4c(r3)
/* 803063D8 00303338 4E 80 00 20 */ blr
.global BuildCustom__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff
BuildCustom__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff:
/* 803063DC 0030333C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803063E0 00303340 7C 08 02 A6 */ mflr r0
/* 803063E4 00303344 90 01 00 14 */ stw r0, 0x14(r1)
/* 803063E8 00303348 48 00 00 F5 */ bl __ct__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff
/* 803063EC 0030334C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803063F0 00303350 7C 08 03 A6 */ mtlr r0
/* 803063F4 00303354 38 21 00 10 */ addi r1, r1, 0x10
/* 803063F8 00303358 4E 80 00 20 */ blr
.global BuildSpot__6CLightFRC9CVector3fRC9CVector3fRC6CColorf
BuildSpot__6CLightFRC9CVector3fRC9CVector3fRC6CColorf:
/* 803063FC 0030335C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80306400 00303360 7C 08 02 A6 */ mflr r0
/* 80306404 00303364 7C 88 23 78 */ mr r8, r4
/* 80306408 00303368 7C C7 33 78 */ mr r7, r6
/* 8030640C 0030336C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306410 00303370 7C A0 2B 78 */ mr r0, r5
/* 80306414 00303374 38 80 00 00 */ li r4, 0
/* 80306418 00303378 7D 05 43 78 */ mr r5, r8
/* 8030641C 0030337C 7C 06 03 78 */ mr r6, r0
/* 80306420 00303380 48 00 01 51 */ bl __ct__6CLightF10ELightTypeRC9CVector3fRC9CVector3fRC6CColorf
/* 80306424 00303384 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306428 00303388 7C 08 03 A6 */ mtlr r0
/* 8030642C 0030338C 38 21 00 10 */ addi r1, r1, 0x10
/* 80306430 00303390 4E 80 00 20 */ blr
.global BuildPoint__6CLightFRC9CVector3fRC6CColor
BuildPoint__6CLightFRC9CVector3fRC6CColor:
/* 80306434 00303394 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80306438 00303398 7C 08 02 A6 */ mflr r0
/* 8030643C 0030339C 3C C0 80 5A */ lis r6, lbl_805A53E0@ha
/* 80306440 003033A0 7C A7 2B 78 */ mr r7, r5
/* 80306444 003033A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306448 003033A8 7C 85 23 78 */ mr r5, r4
/* 8030644C 003033AC C0 22 C7 94 */ lfs f1, lbl_805AE4B4@sda21(r2)
/* 80306450 003033B0 38 C6 53 E0 */ addi r6, r6, lbl_805A53E0@l
/* 80306454 003033B4 38 80 00 01 */ li r4, 1
/* 80306458 003033B8 48 00 01 19 */ bl __ct__6CLightF10ELightTypeRC9CVector3fRC9CVector3fRC6CColorf
/* 8030645C 003033BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306460 003033C0 7C 08 03 A6 */ mtlr r0
/* 80306464 003033C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80306468 003033C8 4E 80 00 20 */ blr
.global BuildDirectional__6CLightFRC9CVector3fRC6CColor
BuildDirectional__6CLightFRC9CVector3fRC6CColor:
/* 8030646C 003033CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80306470 003033D0 7C 08 02 A6 */ mflr r0
/* 80306474 003033D4 3C C0 80 5A */ lis r6, lbl_805A53C8@ha
/* 80306478 003033D8 7C A7 2B 78 */ mr r7, r5
/* 8030647C 003033DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306480 003033E0 38 A6 53 C8 */ addi r5, r6, lbl_805A53C8@l
/* 80306484 003033E4 7C 86 23 78 */ mr r6, r4
/* 80306488 003033E8 C0 22 C7 94 */ lfs f1, lbl_805AE4B4@sda21(r2)
/* 8030648C 003033EC 38 80 00 02 */ li r4, 2
/* 80306490 003033F0 48 00 00 E1 */ bl __ct__6CLightF10ELightTypeRC9CVector3fRC9CVector3fRC6CColorf
/* 80306494 003033F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306498 003033F8 7C 08 03 A6 */ mtlr r0
/* 8030649C 003033FC 38 21 00 10 */ addi r1, r1, 0x10
/* 803064A0 00303400 4E 80 00 20 */ blr
.global BuildLocalAmbient__6CLightFRC9CVector3fRC6CColor
BuildLocalAmbient__6CLightFRC9CVector3fRC6CColor:
/* 803064A4 00303404 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803064A8 00303408 7C 08 02 A6 */ mflr r0
/* 803064AC 0030340C 3C C0 80 5A */ lis r6, lbl_805A53E0@ha
/* 803064B0 00303410 7C A7 2B 78 */ mr r7, r5
/* 803064B4 00303414 90 01 00 14 */ stw r0, 0x14(r1)
/* 803064B8 00303418 7C 85 23 78 */ mr r5, r4
/* 803064BC 0030341C C0 22 C7 94 */ lfs f1, lbl_805AE4B4@sda21(r2)
/* 803064C0 00303420 38 C6 53 E0 */ addi r6, r6, lbl_805A53E0@l
/* 803064C4 00303424 38 80 00 03 */ li r4, 3
/* 803064C8 00303428 48 00 00 A9 */ bl __ct__6CLightF10ELightTypeRC9CVector3fRC9CVector3fRC6CColorf
/* 803064CC 0030342C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803064D0 00303430 7C 08 03 A6 */ mtlr r0
/* 803064D4 00303434 38 21 00 10 */ addi r1, r1, 0x10
/* 803064D8 00303438 4E 80 00 20 */ blr
.global __ct__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff
__ct__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff:
/* 803064DC 0030343C C0 E4 00 00 */ lfs f7, 0(r4)
/* 803064E0 00303440 39 00 00 04 */ li r8, 4
/* 803064E4 00303444 C0 02 C7 88 */ lfs f0, lbl_805AE4A8@sda21(r2)
/* 803064E8 00303448 38 00 00 00 */ li r0, 0
/* 803064EC 0030344C D0 E3 00 00 */ stfs f7, 0(r3)
/* 803064F0 00303450 38 E0 00 01 */ li r7, 1
/* 803064F4 00303454 C0 E4 00 04 */ lfs f7, 4(r4)
/* 803064F8 00303458 D0 E3 00 04 */ stfs f7, 4(r3)
/* 803064FC 0030345C C0 E4 00 08 */ lfs f7, 8(r4)
/* 80306500 00303460 D0 E3 00 08 */ stfs f7, 8(r3)
/* 80306504 00303464 C0 E5 00 00 */ lfs f7, 0(r5)
/* 80306508 00303468 D0 E3 00 0C */ stfs f7, 0xc(r3)
/* 8030650C 0030346C C0 E5 00 04 */ lfs f7, 4(r5)
/* 80306510 00303470 D0 E3 00 10 */ stfs f7, 0x10(r3)
/* 80306514 00303474 C0 E5 00 08 */ lfs f7, 8(r5)
/* 80306518 00303478 D0 E3 00 14 */ stfs f7, 0x14(r3)
/* 8030651C 0030347C 80 86 00 00 */ lwz r4, 0(r6)
/* 80306520 00303480 90 83 00 18 */ stw r4, 0x18(r3)
/* 80306524 00303484 91 03 00 1C */ stw r8, 0x1c(r3)
/* 80306528 00303488 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8030652C 0030348C D0 23 00 24 */ stfs f1, 0x24(r3)
/* 80306530 00303490 D0 43 00 28 */ stfs f2, 0x28(r3)
/* 80306534 00303494 D0 63 00 2C */ stfs f3, 0x2c(r3)
/* 80306538 00303498 D0 83 00 30 */ stfs f4, 0x30(r3)
/* 8030653C 0030349C D0 A3 00 34 */ stfs f5, 0x34(r3)
/* 80306540 003034A0 D0 C3 00 38 */ stfs f6, 0x38(r3)
/* 80306544 003034A4 90 03 00 3C */ stw r0, 0x3c(r3)
/* 80306548 003034A8 90 03 00 40 */ stw r0, 0x40(r3)
/* 8030654C 003034AC D0 03 00 44 */ stfs f0, 0x44(r3)
/* 80306550 003034B0 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 80306554 003034B4 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 80306558 003034B8 50 E0 3E 30 */ rlwimi r0, r7, 7, 0x18, 0x18
/* 8030655C 003034BC 98 03 00 4C */ stb r0, 0x4c(r3)
/* 80306560 003034C0 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 80306564 003034C4 50 E0 36 72 */ rlwimi r0, r7, 6, 0x19, 0x19
/* 80306568 003034C8 98 03 00 4C */ stb r0, 0x4c(r3)
/* 8030656C 003034CC 4E 80 00 20 */ blr
.global __ct__6CLightF10ELightTypeRC9CVector3fRC9CVector3fRC6CColorf
__ct__6CLightF10ELightTypeRC9CVector3fRC9CVector3fRC6CColorf:
/* 80306570 003034D0 C0 05 00 00 */ lfs f0, 0(r5)
/* 80306574 003034D4 38 00 00 00 */ li r0, 0
/* 80306578 003034D8 C0 42 C7 88 */ lfs f2, lbl_805AE4A8@sda21(r2)
/* 8030657C 003034DC 39 00 00 01 */ li r8, 1
/* 80306580 003034E0 D0 03 00 00 */ stfs f0, 0(r3)
/* 80306584 003034E4 C0 02 C7 80 */ lfs f0, lbl_805AE4A0@sda21(r2)
/* 80306588 003034E8 C0 65 00 04 */ lfs f3, 4(r5)
/* 8030658C 003034EC D0 63 00 04 */ stfs f3, 4(r3)
/* 80306590 003034F0 C0 65 00 08 */ lfs f3, 8(r5)
/* 80306594 003034F4 D0 63 00 08 */ stfs f3, 8(r3)
/* 80306598 003034F8 C0 66 00 00 */ lfs f3, 0(r6)
/* 8030659C 003034FC D0 63 00 0C */ stfs f3, 0xc(r3)
/* 803065A0 00303500 C0 66 00 04 */ lfs f3, 4(r6)
/* 803065A4 00303504 D0 63 00 10 */ stfs f3, 0x10(r3)
/* 803065A8 00303508 C0 66 00 08 */ lfs f3, 8(r6)
/* 803065AC 0030350C D0 63 00 14 */ stfs f3, 0x14(r3)
/* 803065B0 00303510 80 A7 00 00 */ lwz r5, 0(r7)
/* 803065B4 00303514 90 A3 00 18 */ stw r5, 0x18(r3)
/* 803065B8 00303518 90 83 00 1C */ stw r4, 0x1c(r3)
/* 803065BC 0030351C D0 23 00 20 */ stfs f1, 0x20(r3)
/* 803065C0 00303520 D0 43 00 24 */ stfs f2, 0x24(r3)
/* 803065C4 00303524 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 803065C8 00303528 D0 43 00 2C */ stfs f2, 0x2c(r3)
/* 803065CC 0030352C D0 43 00 30 */ stfs f2, 0x30(r3)
/* 803065D0 00303530 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 803065D4 00303534 D0 43 00 38 */ stfs f2, 0x38(r3)
/* 803065D8 00303538 90 03 00 3C */ stw r0, 0x3c(r3)
/* 803065DC 0030353C 90 03 00 40 */ stw r0, 0x40(r3)
/* 803065E0 00303540 D0 43 00 44 */ stfs f2, 0x44(r3)
/* 803065E4 00303544 D0 43 00 48 */ stfs f2, 0x48(r3)
/* 803065E8 00303548 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803065EC 0030354C 51 00 3E 30 */ rlwimi r0, r8, 7, 0x18, 0x18
/* 803065F0 00303550 98 03 00 4C */ stb r0, 0x4c(r3)
/* 803065F4 00303554 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803065F8 00303558 51 00 36 72 */ rlwimi r0, r8, 6, 0x19, 0x19
/* 803065FC 0030355C 98 03 00 4C */ stb r0, 0x4c(r3)
/* 80306600 00303560 4E 80 00 20 */ blr
.global __sinit_CLight_cpp
__sinit_CLight_cpp:
/* 80306604 00303564 C0 22 C7 88 */ lfs f1, lbl_805AE4A8@sda21(r2)
/* 80306608 00303568 3C 80 80 5A */ lis r4, lbl_805A53C8@ha
/* 8030660C 0030356C 3C 60 80 5A */ lis r3, lbl_805A53E0@ha
/* 80306610 00303570 C0 02 C7 84 */ lfs f0, lbl_805AE4A4@sda21(r2)
/* 80306614 00303574 D4 24 53 C8 */ stfsu f1, lbl_805A53C8@l(r4)
/* 80306618 00303578 D4 23 53 E0 */ stfsu f1, lbl_805A53E0@l(r3)
/* 8030661C 0030357C D0 24 00 04 */ stfs f1, 4(r4)
/* 80306620 00303580 D0 24 00 08 */ stfs f1, 8(r4)
/* 80306624 00303584 D0 03 00 04 */ stfs f0, 4(r3)
/* 80306628 00303588 D0 23 00 08 */ stfs f1, 8(r3)
/* 8030662C 0030358C 4E 80 00 20 */ blr

View File

@ -0,0 +1,271 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global ResetStates__13CTevCombinersFv
ResetStates__13CTevCombinersFv:
/* 80308EA8 00305E08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80308EAC 00305E0C 7C 08 02 A6 */ mflr r0
/* 80308EB0 00305E10 3C 60 80 5A */ lis r3, lbl_805A564C@ha
/* 80308EB4 00305E14 38 AD 9C 60 */ addi r5, r13, lbl_805A8820@sda21
/* 80308EB8 00305E18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80308EBC 00305E1C 38 00 00 00 */ li r0, 0
/* 80308EC0 00305E20 38 63 56 4C */ addi r3, r3, lbl_805A564C@l
/* 80308EC4 00305E24 38 80 00 00 */ li r4, 0
/* 80308EC8 00305E28 98 0D 9C 60 */ stb r0, lbl_805A8820@sda21(r13)
/* 80308ECC 00305E2C 98 05 00 01 */ stb r0, 1(r5)
/* 80308ED0 00305E30 48 00 00 25 */ bl Execute__Q213CTevCombiners8CTevPassCFi
/* 80308ED4 00305E34 38 00 00 01 */ li r0, 1
/* 80308ED8 00305E38 38 60 00 01 */ li r3, 1
/* 80308EDC 00305E3C 90 0D 9C 64 */ stw r0, lbl_805A8824@sda21(r13)
/* 80308EE0 00305E40 4B FF FD B1 */ bl SetNumTevStages__3CGXFUc
/* 80308EE4 00305E44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80308EE8 00305E48 7C 08 03 A6 */ mtlr r0
/* 80308EEC 00305E4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80308EF0 00305E50 4E 80 00 20 */ blr
.global Execute__Q213CTevCombiners8CTevPassCFi
Execute__Q213CTevCombiners8CTevPassCFi:
/* 80308EF4 00305E54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80308EF8 00305E58 7C 08 02 A6 */ mflr r0
/* 80308EFC 00305E5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80308F00 00305E60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80308F04 00305E64 7C 9F 23 78 */ mr r31, r4
/* 80308F08 00305E68 93 C1 00 08 */ stw r30, 8(r1)
/* 80308F0C 00305E6C 7C 7E 1B 78 */ mr r30, r3
/* 80308F10 00305E70 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80308F14 00305E74 80 C3 00 0C */ lwz r6, 0xc(r3)
/* 80308F18 00305E78 7F E3 FB 78 */ mr r3, r31
/* 80308F1C 00305E7C 80 BE 00 08 */ lwz r5, 8(r30)
/* 80308F20 00305E80 80 9E 00 04 */ lwz r4, 4(r30)
/* 80308F24 00305E84 4B FF FC C9 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg
/* 80308F28 00305E88 80 FE 00 20 */ lwz r7, 0x20(r30)
/* 80308F2C 00305E8C 7F E3 FB 78 */ mr r3, r31
/* 80308F30 00305E90 80 DE 00 1C */ lwz r6, 0x1c(r30)
/* 80308F34 00305E94 80 BE 00 18 */ lwz r5, 0x18(r30)
/* 80308F38 00305E98 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80308F3C 00305E9C 4B FF FC 59 */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg
/* 80308F40 00305EA0 88 FE 00 24 */ lbz r7, 0x24(r30)
/* 80308F44 00305EA4 7F E3 FB 78 */ mr r3, r31
/* 80308F48 00305EA8 80 9E 00 28 */ lwz r4, 0x28(r30)
/* 80308F4C 00305EAC 80 BE 00 2C */ lwz r5, 0x2c(r30)
/* 80308F50 00305EB0 80 DE 00 30 */ lwz r6, 0x30(r30)
/* 80308F54 00305EB4 81 1E 00 34 */ lwz r8, 0x34(r30)
/* 80308F58 00305EB8 4B FF FB E1 */ bl SetTevColorOp__3CGXF13_GXTevStageID8_GXTevOp10_GXTevBias11_GXTevScaleUc11_GXTevRegID
/* 80308F5C 00305EBC 88 FE 00 38 */ lbz r7, 0x38(r30)
/* 80308F60 00305EC0 7F E3 FB 78 */ mr r3, r31
/* 80308F64 00305EC4 80 9E 00 3C */ lwz r4, 0x3c(r30)
/* 80308F68 00305EC8 80 BE 00 40 */ lwz r5, 0x40(r30)
/* 80308F6C 00305ECC 80 DE 00 44 */ lwz r6, 0x44(r30)
/* 80308F70 00305ED0 81 1E 00 48 */ lwz r8, 0x48(r30)
/* 80308F74 00305ED4 4B FF FB 0D */ bl SetTevAlphaOp__3CGXF13_GXTevStageID8_GXTevOp10_GXTevBias11_GXTevScaleUc11_GXTevRegID
/* 80308F78 00305ED8 7F E3 FB 78 */ mr r3, r31
/* 80308F7C 00305EDC 38 80 00 00 */ li r4, 0
/* 80308F80 00305EE0 4B FF FA 61 */ bl SetTevKColorSel__3CGXF13_GXTevStageID15_GXTevKColorSel
/* 80308F84 00305EE4 7F E3 FB 78 */ mr r3, r31
/* 80308F88 00305EE8 38 80 00 00 */ li r4, 0
/* 80308F8C 00305EEC 4B FF FA 11 */ bl SetTevKAlphaSel__3CGXF13_GXTevStageID15_GXTevKAlphaSel
/* 80308F90 00305EF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80308F94 00305EF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80308F98 00305EF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80308F9C 00305EFC 7C 08 03 A6 */ mtlr r0
/* 80308FA0 00305F00 38 21 00 10 */ addi r1, r1, 0x10
/* 80308FA4 00305F04 4E 80 00 20 */ blr
.global SetPassCombiners__13CTevCombinersFiRCQ213CTevCombiners8CTevPass
SetPassCombiners__13CTevCombinersFiRCQ213CTevCombiners8CTevPass:
/* 80308FA8 00305F08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80308FAC 00305F0C 7C 08 02 A6 */ mflr r0
/* 80308FB0 00305F10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80308FB4 00305F14 7C 60 1B 78 */ mr r0, r3
/* 80308FB8 00305F18 7C 83 23 78 */ mr r3, r4
/* 80308FBC 00305F1C 7C 04 03 78 */ mr r4, r0
/* 80308FC0 00305F20 4B FF FF 35 */ bl Execute__Q213CTevCombiners8CTevPassCFi
/* 80308FC4 00305F24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80308FC8 00305F28 38 60 00 01 */ li r3, 1
/* 80308FCC 00305F2C 7C 08 03 A6 */ mtlr r0
/* 80308FD0 00305F30 38 21 00 10 */ addi r1, r1, 0x10
/* 80308FD4 00305F34 4E 80 00 20 */ blr
.global SetupPass__13CTevCombinersFiRCQ213CTevCombiners8CTevPass
SetupPass__13CTevCombinersFiRCQ213CTevCombiners8CTevPass:
/* 80308FD8 00305F38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80308FDC 00305F3C 7C 08 02 A6 */ mflr r0
/* 80308FE0 00305F40 3C A0 80 5A */ lis r5, lbl_805A564C@ha
/* 80308FE4 00305F44 90 01 00 14 */ stw r0, 0x14(r1)
/* 80308FE8 00305F48 38 05 56 4C */ addi r0, r5, lbl_805A564C@l
/* 80308FEC 00305F4C 7C 04 00 40 */ cmplw r4, r0
/* 80308FF0 00305F50 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80308FF4 00305F54 7C 7F 1B 78 */ mr r31, r3
/* 80308FF8 00305F58 40 82 00 0C */ bne lbl_80309004
/* 80308FFC 00305F5C 48 00 00 39 */ bl DeletePass__13CTevCombinersFi
/* 80309000 00305F60 48 00 00 20 */ b lbl_80309020
lbl_80309004:
/* 80309004 00305F64 4B FF FF A5 */ bl SetPassCombiners__13CTevCombinersFiRCQ213CTevCombiners8CTevPass
/* 80309008 00305F68 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8030900C 00305F6C 41 82 00 14 */ beq lbl_80309020
/* 80309010 00305F70 38 00 00 01 */ li r0, 1
/* 80309014 00305F74 38 6D 9C 60 */ addi r3, r13, lbl_805A8820@sda21
/* 80309018 00305F78 7C 03 F9 AE */ stbx r0, r3, r31
/* 8030901C 00305F7C 48 00 00 C9 */ bl RecomputePasses__13CTevCombinersFv
lbl_80309020:
/* 80309020 00305F80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80309024 00305F84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80309028 00305F88 7C 08 03 A6 */ mtlr r0
/* 8030902C 00305F8C 38 21 00 10 */ addi r1, r1, 0x10
/* 80309030 00305F90 4E 80 00 20 */ blr
.global DeletePass__13CTevCombinersFi
DeletePass__13CTevCombinersFi:
/* 80309034 00305F94 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80309038 00305F98 7C 08 02 A6 */ mflr r0
/* 8030903C 00305F9C 3C 80 80 5A */ lis r4, lbl_805A564C@ha
/* 80309040 00305FA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80309044 00305FA4 38 84 56 4C */ addi r4, r4, lbl_805A564C@l
/* 80309048 00305FA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8030904C 00305FAC 7C 7F 1B 78 */ mr r31, r3
/* 80309050 00305FB0 4B FF FF 59 */ bl SetPassCombiners__13CTevCombinersFiRCQ213CTevCombiners8CTevPass
/* 80309054 00305FB4 38 00 00 00 */ li r0, 0
/* 80309058 00305FB8 38 6D 9C 60 */ addi r3, r13, lbl_805A8820@sda21
/* 8030905C 00305FBC 7C 03 F9 AE */ stbx r0, r3, r31
/* 80309060 00305FC0 48 00 00 85 */ bl RecomputePasses__13CTevCombinersFv
/* 80309064 00305FC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80309068 00305FC8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8030906C 00305FCC 7C 08 03 A6 */ mtlr r0
/* 80309070 00305FD0 38 21 00 10 */ addi r1, r1, 0x10
/* 80309074 00305FD4 4E 80 00 20 */ blr
.global Init__13CTevCombinersFv
Init__13CTevCombinersFv:
/* 80309078 00305FD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030907C 00305FDC 7C 08 02 A6 */ mflr r0
/* 80309080 00305FE0 38 60 00 01 */ li r3, 1
/* 80309084 00305FE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80309088 00305FE8 38 00 00 02 */ li r0, 2
/* 8030908C 00305FEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80309090 00305FF0 3B ED 9C 60 */ addi r31, r13, lbl_805A8820@sda21
/* 80309094 00305FF4 93 C1 00 08 */ stw r30, 8(r1)
/* 80309098 00305FF8 3B C0 00 00 */ li r30, 0
/* 8030909C 00305FFC 90 0D 9C 64 */ stw r0, lbl_805A8824@sda21(r13)
/* 803090A0 00306000 98 6D 9C 60 */ stb r3, lbl_805A8820@sda21(r13)
/* 803090A4 00306004 98 7F 00 01 */ stb r3, 1(r31)
lbl_803090A8:
/* 803090A8 00306008 7F C3 F3 78 */ mr r3, r30
/* 803090AC 0030600C 4B FF FF 89 */ bl DeletePass__13CTevCombinersFi
/* 803090B0 00306010 3B DE 00 01 */ addi r30, r30, 1
/* 803090B4 00306014 2C 1E 00 02 */ cmpwi r30, 2
/* 803090B8 00306018 41 80 FF F0 */ blt lbl_803090A8
/* 803090BC 0030601C 38 00 00 00 */ li r0, 0
/* 803090C0 00306020 98 1F 00 00 */ stb r0, 0(r31)
/* 803090C4 00306024 98 1F 00 01 */ stb r0, 1(r31)
/* 803090C8 00306028 48 00 00 1D */ bl RecomputePasses__13CTevCombinersFv
/* 803090CC 0030602C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803090D0 00306030 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803090D4 00306034 83 C1 00 08 */ lwz r30, 8(r1)
/* 803090D8 00306038 7C 08 03 A6 */ mtlr r0
/* 803090DC 0030603C 38 21 00 10 */ addi r1, r1, 0x10
/* 803090E0 00306040 4E 80 00 20 */ blr
.global RecomputePasses__13CTevCombinersFv
RecomputePasses__13CTevCombinersFv:
/* 803090E4 00306044 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803090E8 00306048 7C 08 02 A6 */ mflr r0
/* 803090EC 0030604C 38 6D 9C 60 */ addi r3, r13, lbl_805A8820@sda21
/* 803090F0 00306050 90 01 00 14 */ stw r0, 0x14(r1)
/* 803090F4 00306054 88 63 00 01 */ lbz r3, 1(r3)
/* 803090F8 00306058 7C 03 00 D0 */ neg r0, r3
/* 803090FC 0030605C 7C 00 1B 78 */ or r0, r0, r3
/* 80309100 00306060 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80309104 00306064 38 63 00 01 */ addi r3, r3, 1
/* 80309108 00306068 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8030910C 0030606C 90 0D 9C 64 */ stw r0, lbl_805A8824@sda21(r13)
/* 80309110 00306070 4B FF FB 81 */ bl SetNumTevStages__3CGXFUc
/* 80309114 00306074 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80309118 00306078 7C 08 03 A6 */ mtlr r0
/* 8030911C 0030607C 38 21 00 10 */ addi r1, r1, 0x10
/* 80309120 00306080 4E 80 00 20 */ blr
.global __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
__ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc:
/* 80309124 00306084 90 83 00 00 */ stw r4, 0(r3)
/* 80309128 00306088 4E 80 00 20 */ blr
.global __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc
__ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc:
/* 8030912C 0030608C 90 83 00 00 */ stw r4, 0(r3)
/* 80309130 00306090 4E 80 00 20 */ blr
.global __sinit_CTevCombiners_cpp
__sinit_CTevCombiners_cpp:
/* 80309134 00306094 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80309138 00306098 7C 08 02 A6 */ mflr r0
/* 8030913C 0030609C 38 6D A7 9C */ addi r3, r13, lbl_805A935C@sda21
/* 80309140 003060A0 38 80 00 06 */ li r4, 6
/* 80309144 003060A4 90 01 00 74 */ stw r0, 0x74(r1)
/* 80309148 003060A8 4B FF FF E5 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc
/* 8030914C 003060AC 38 6D A7 A0 */ addi r3, r13, lbl_805A9360@sda21
/* 80309150 003060B0 38 80 00 0C */ li r4, 0xc
/* 80309154 003060B4 4B FF FF D1 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 80309158 003060B8 38 00 00 00 */ li r0, 0
/* 8030915C 003060BC 38 A0 00 01 */ li r5, 1
/* 80309160 003060C0 98 A1 00 48 */ stb r5, 0x48(r1)
/* 80309164 003060C4 38 61 00 08 */ addi r3, r1, 8
/* 80309168 003060C8 38 80 00 05 */ li r4, 5
/* 8030916C 003060CC 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80309170 003060D0 90 01 00 50 */ stw r0, 0x50(r1)
/* 80309174 003060D4 90 01 00 54 */ stw r0, 0x54(r1)
/* 80309178 003060D8 90 01 00 58 */ stw r0, 0x58(r1)
/* 8030917C 003060DC 98 A1 00 5C */ stb r5, 0x5c(r1)
/* 80309180 003060E0 90 01 00 60 */ stw r0, 0x60(r1)
/* 80309184 003060E4 90 01 00 64 */ stw r0, 0x64(r1)
/* 80309188 003060E8 90 01 00 68 */ stw r0, 0x68(r1)
/* 8030918C 003060EC 90 01 00 6C */ stw r0, 0x6c(r1)
/* 80309190 003060F0 4B FF FF 9D */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc
/* 80309194 003060F4 38 61 00 0C */ addi r3, r1, 0xc
/* 80309198 003060F8 38 80 00 07 */ li r4, 7
/* 8030919C 003060FC 4B FF FF 91 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc
/* 803091A0 00306100 38 61 00 10 */ addi r3, r1, 0x10
/* 803091A4 00306104 38 80 00 07 */ li r4, 7
/* 803091A8 00306108 4B FF FF 85 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc
/* 803091AC 0030610C 38 61 00 14 */ addi r3, r1, 0x14
/* 803091B0 00306110 38 80 00 07 */ li r4, 7
/* 803091B4 00306114 4B FF FF 79 */ bl __ct__Q213CTevCombiners8AlphaVarFQ213CTevCombiners9EAlphaSrc
/* 803091B8 00306118 80 E1 00 14 */ lwz r7, 0x14(r1)
/* 803091BC 0030611C 38 61 00 18 */ addi r3, r1, 0x18
/* 803091C0 00306120 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 803091C4 00306124 38 80 00 0A */ li r4, 0xa
/* 803091C8 00306128 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 803091CC 0030612C 80 01 00 08 */ lwz r0, 8(r1)
/* 803091D0 00306130 90 E1 00 28 */ stw r7, 0x28(r1)
/* 803091D4 00306134 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 803091D8 00306138 90 A1 00 30 */ stw r5, 0x30(r1)
/* 803091DC 0030613C 90 01 00 34 */ stw r0, 0x34(r1)
/* 803091E0 00306140 4B FF FF 45 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 803091E4 00306144 38 61 00 1C */ addi r3, r1, 0x1c
/* 803091E8 00306148 38 80 00 0F */ li r4, 0xf
/* 803091EC 0030614C 4B FF FF 39 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 803091F0 00306150 38 61 00 20 */ addi r3, r1, 0x20
/* 803091F4 00306154 38 80 00 0F */ li r4, 0xf
/* 803091F8 00306158 4B FF FF 2D */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 803091FC 0030615C 38 61 00 24 */ addi r3, r1, 0x24
/* 80309200 00306160 38 80 00 0F */ li r4, 0xf
/* 80309204 00306164 4B FF FF 21 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 80309208 00306168 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 8030920C 0030616C 3C 60 80 5A */ lis r3, lbl_805A564C@ha
/* 80309210 00306170 81 21 00 20 */ lwz r9, 0x20(r1)
/* 80309214 00306174 38 63 56 4C */ addi r3, r3, lbl_805A564C@l
/* 80309218 00306178 81 01 00 1C */ lwz r8, 0x1c(r1)
/* 8030921C 0030617C 38 81 00 38 */ addi r4, r1, 0x38
/* 80309220 00306180 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80309224 00306184 38 C1 00 5C */ addi r6, r1, 0x5c
/* 80309228 00306188 90 A1 00 38 */ stw r5, 0x38(r1)
/* 8030922C 0030618C 38 A1 00 28 */ addi r5, r1, 0x28
/* 80309230 00306190 38 E1 00 48 */ addi r7, r1, 0x48
/* 80309234 00306194 91 21 00 3C */ stw r9, 0x3c(r1)
/* 80309238 00306198 91 01 00 40 */ stw r8, 0x40(r1)
/* 8030923C 0030619C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80309240 003061A0 48 00 00 15 */ bl sub_80309254
/* 80309244 003061A4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80309248 003061A8 7C 08 03 A6 */ mtlr r0
/* 8030924C 003061AC 38 21 00 70 */ addi r1, r1, 0x70
/* 80309250 003061B0 4E 80 00 20 */ blr

View File

@ -0,0 +1,322 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global ToRGB5A3__6CColorCFv
ToRGB5A3__6CColorCFv:
/* 8036306C 0035FFCC 88 A3 00 02 */ lbz r5, 2(r3)
/* 80363070 0035FFD0 88 83 00 03 */ lbz r4, 3(r3)
/* 80363074 0035FFD4 54 A0 EE FE */ rlwinm r0, r5, 0x1d, 0x1b, 0x1f
/* 80363078 0035FFD8 88 C3 00 01 */ lbz r6, 1(r3)
/* 8036307C 0035FFDC 60 00 80 00 */ ori r0, r0, 0x8000
/* 80363080 0035FFE0 88 E3 00 00 */ lbz r7, 0(r3)
/* 80363084 0035FFE4 50 C0 15 B4 */ rlwimi r0, r6, 2, 0x16, 0x1a
/* 80363088 0035FFE8 28 04 00 FF */ cmplwi r4, 0xff
/* 8036308C 0035FFEC 50 E0 3C 6A */ rlwimi r0, r7, 7, 0x11, 0x15
/* 80363090 0035FFF0 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80363094 0035FFF4 4D 82 00 20 */ beqlr
/* 80363098 0035FFF8 54 A0 E7 3E */ rlwinm r0, r5, 0x1c, 0x1c, 0x1f
/* 8036309C 0035FFFC 50 80 3C 66 */ rlwimi r0, r4, 7, 0x11, 0x13
/* 803630A0 00360000 50 C0 06 36 */ rlwimi r0, r6, 0, 0x18, 0x1b
/* 803630A4 00360004 50 E0 25 2E */ rlwimi r0, r7, 4, 0x14, 0x17
/* 803630A8 00360008 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803630AC 0036000C 4E 80 00 20 */ blr
.global Add__6CColorFRC6CColorRC6CColor
Add__6CColorFRC6CColorRC6CColor:
/* 803630B0 00360010 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803630B4 00360014 38 ED 9E 6C */ addi r7, r13, lbl_805A8A2C@sda21
/* 803630B8 00360018 89 04 00 03 */ lbz r8, 3(r4)
/* 803630BC 0036001C 88 C5 00 03 */ lbz r6, 3(r5)
/* 803630C0 00360020 80 0D 9E 6C */ lwz r0, lbl_805A8A2C@sda21(r13)
/* 803630C4 00360024 7C C8 32 14 */ add r6, r8, r6
/* 803630C8 00360028 7C 06 00 40 */ cmplw r6, r0
/* 803630CC 0036002C 90 C1 00 08 */ stw r6, 8(r1)
/* 803630D0 00360030 40 80 00 08 */ bge lbl_803630D8
/* 803630D4 00360034 38 E1 00 08 */ addi r7, r1, 8
lbl_803630D8:
/* 803630D8 00360038 88 C4 00 02 */ lbz r6, 2(r4)
/* 803630DC 0036003C 39 0D 9E 68 */ addi r8, r13, lbl_805A8A28@sda21
/* 803630E0 00360040 88 05 00 02 */ lbz r0, 2(r5)
/* 803630E4 00360044 80 E7 00 00 */ lwz r7, 0(r7)
/* 803630E8 00360048 7C C6 02 14 */ add r6, r6, r0
/* 803630EC 0036004C 80 0D 9E 68 */ lwz r0, lbl_805A8A28@sda21(r13)
/* 803630F0 00360050 90 C1 00 0C */ stw r6, 0xc(r1)
/* 803630F4 00360054 54 E9 06 3E */ clrlwi r9, r7, 0x18
/* 803630F8 00360058 7C 06 00 40 */ cmplw r6, r0
/* 803630FC 0036005C 40 80 00 08 */ bge lbl_80363104
/* 80363100 00360060 39 01 00 0C */ addi r8, r1, 0xc
lbl_80363104:
/* 80363104 00360064 88 C4 00 01 */ lbz r6, 1(r4)
/* 80363108 00360068 38 ED 9E 64 */ addi r7, r13, lbl_805A8A24@sda21
/* 8036310C 0036006C 88 05 00 01 */ lbz r0, 1(r5)
/* 80363110 00360070 81 08 00 00 */ lwz r8, 0(r8)
/* 80363114 00360074 7C C6 02 14 */ add r6, r6, r0
/* 80363118 00360078 80 0D 9E 64 */ lwz r0, lbl_805A8A24@sda21(r13)
/* 8036311C 0036007C 90 C1 00 10 */ stw r6, 0x10(r1)
/* 80363120 00360080 55 08 06 3E */ clrlwi r8, r8, 0x18
/* 80363124 00360084 7C 06 00 40 */ cmplw r6, r0
/* 80363128 00360088 40 80 00 08 */ bge lbl_80363130
/* 8036312C 0036008C 38 E1 00 10 */ addi r7, r1, 0x10
lbl_80363130:
/* 80363130 00360090 88 C4 00 00 */ lbz r6, 0(r4)
/* 80363134 00360094 38 8D 9E 60 */ addi r4, r13, lbl_805A8A20@sda21
/* 80363138 00360098 88 05 00 00 */ lbz r0, 0(r5)
/* 8036313C 0036009C 80 E7 00 00 */ lwz r7, 0(r7)
/* 80363140 003600A0 7C A6 02 14 */ add r5, r6, r0
/* 80363144 003600A4 80 0D 9E 60 */ lwz r0, lbl_805A8A20@sda21(r13)
/* 80363148 003600A8 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8036314C 003600AC 54 E6 06 3E */ clrlwi r6, r7, 0x18
/* 80363150 003600B0 7C 05 00 40 */ cmplw r5, r0
/* 80363154 003600B4 40 80 00 08 */ bge lbl_8036315C
/* 80363158 003600B8 38 81 00 14 */ addi r4, r1, 0x14
lbl_8036315C:
/* 8036315C 003600BC 80 04 00 00 */ lwz r0, 0(r4)
/* 80363160 003600C0 98 03 00 00 */ stb r0, 0(r3)
/* 80363164 003600C4 98 C3 00 01 */ stb r6, 1(r3)
/* 80363168 003600C8 99 03 00 02 */ stb r8, 2(r3)
/* 8036316C 003600CC 99 23 00 03 */ stb r9, 3(r3)
/* 80363170 003600D0 38 21 00 20 */ addi r1, r1, 0x20
/* 80363174 003600D4 4E 80 00 20 */ blr
.global Modulate__6CColorFRC6CColorRC6CColor
Modulate__6CColorFRC6CColorRC6CColor:
/* 80363178 003600D8 88 E4 00 03 */ lbz r7, 3(r4)
/* 8036317C 003600DC 3C C0 80 81 */ lis r6, 0x80808081@ha
/* 80363180 003600E0 88 05 00 03 */ lbz r0, 3(r5)
/* 80363184 003600E4 39 66 80 81 */ addi r11, r6, 0x80808081@l
/* 80363188 003600E8 89 24 00 02 */ lbz r9, 2(r4)
/* 8036318C 003600EC 7D 47 01 D6 */ mullw r10, r7, r0
/* 80363190 003600F0 89 05 00 02 */ lbz r8, 2(r5)
/* 80363194 003600F4 88 E4 00 01 */ lbz r7, 1(r4)
/* 80363198 003600F8 88 C5 00 01 */ lbz r6, 1(r5)
/* 8036319C 003600FC 88 05 00 00 */ lbz r0, 0(r5)
/* 803631A0 00360100 88 84 00 00 */ lbz r4, 0(r4)
/* 803631A4 00360104 7C A7 31 D6 */ mullw r5, r7, r6
/* 803631A8 00360108 7C CB 50 96 */ mulhw r6, r11, r10
/* 803631AC 0036010C 7C C6 52 14 */ add r6, r6, r10
/* 803631B0 00360110 7C C7 3E 70 */ srawi r7, r6, 7
/* 803631B4 00360114 7D 09 41 D6 */ mullw r8, r9, r8
/* 803631B8 00360118 54 E9 0F FE */ srwi r9, r7, 0x1f
/* 803631BC 0036011C 7C 04 01 D6 */ mullw r0, r4, r0
/* 803631C0 00360120 7C 8B 40 96 */ mulhw r4, r11, r8
/* 803631C4 00360124 7C CB 28 96 */ mulhw r6, r11, r5
/* 803631C8 00360128 7C 84 42 14 */ add r4, r4, r8
/* 803631CC 0036012C 7D 07 4A 14 */ add r8, r7, r9
/* 803631D0 00360130 7C 87 3E 70 */ srawi r7, r4, 7
/* 803631D4 00360134 7C A6 2A 14 */ add r5, r6, r5
/* 803631D8 00360138 7C 8B 00 96 */ mulhw r4, r11, r0
/* 803631DC 0036013C 54 E6 0F FE */ srwi r6, r7, 0x1f
/* 803631E0 00360140 7C A5 3E 70 */ srawi r5, r5, 7
/* 803631E4 00360144 7C E7 32 14 */ add r7, r7, r6
/* 803631E8 00360148 54 A6 0F FE */ srwi r6, r5, 0x1f
/* 803631EC 0036014C 7C 04 02 14 */ add r0, r4, r0
/* 803631F0 00360150 7C 00 3E 70 */ srawi r0, r0, 7
/* 803631F4 00360154 7C A5 32 14 */ add r5, r5, r6
/* 803631F8 00360158 54 04 0F FE */ srwi r4, r0, 0x1f
/* 803631FC 0036015C 7C 00 22 14 */ add r0, r0, r4
/* 80363200 00360160 98 03 00 00 */ stb r0, 0(r3)
/* 80363204 00360164 98 A3 00 01 */ stb r5, 1(r3)
/* 80363208 00360168 98 E3 00 02 */ stb r7, 2(r3)
/* 8036320C 0036016C 99 03 00 03 */ stb r8, 3(r3)
/* 80363210 00360170 4E 80 00 20 */ blr
.global Lerp__6CColorFUiUif
Lerp__6CColorFUiUif:
/* 80363214 00360174 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80363218 00360178 7C 08 02 A6 */ mflr r0
/* 8036321C 0036017C C0 02 CD A0 */ lfs f0, lbl_805AEAC0@sda21(r2)
/* 80363220 00360180 90 01 00 14 */ stw r0, 0x14(r1)
/* 80363224 00360184 EC 20 00 72 */ fmuls f1, f0, f1
/* 80363228 00360188 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036322C 0036018C 7C 9F 23 78 */ mr r31, r4
/* 80363230 00360190 93 C1 00 08 */ stw r30, 8(r1)
/* 80363234 00360194 7C 7E 1B 78 */ mr r30, r3
/* 80363238 00360198 48 02 67 1D */ bl __cvt_fp2unsigned
/* 8036323C 0036019C 3C A0 00 FF */ lis r5, 0x00FF00FF@ha
/* 80363240 003601A0 3C 80 FF 01 */ lis r4, 0xFF00FF00@ha
/* 80363244 003601A4 38 E5 00 FF */ addi r7, r5, 0x00FF00FF@l
/* 80363248 003601A8 57 C6 C2 3E */ srwi r6, r30, 8
/* 8036324C 003601AC 57 E5 C2 3E */ srwi r5, r31, 8
/* 80363250 003601B0 38 04 FF 00 */ addi r0, r4, 0xFF00FF00@l
/* 80363254 003601B4 7C C8 38 38 */ and r8, r6, r7
/* 80363258 003601B8 7F C6 38 38 */ and r6, r30, r7
/* 8036325C 003601BC 7C A4 38 38 */ and r4, r5, r7
/* 80363260 003601C0 7F E5 38 38 */ and r5, r31, r7
/* 80363264 003601C4 7D 28 20 50 */ subf r9, r8, r4
/* 80363268 003601C8 7C 86 28 50 */ subf r4, r6, r5
/* 8036326C 003601CC 7D 29 19 D6 */ mullw r9, r9, r3
/* 80363270 003601D0 7C 84 19 D6 */ mullw r4, r4, r3
/* 80363274 003601D4 55 23 C2 3E */ srwi r3, r9, 8
/* 80363278 003601D8 7C 63 42 14 */ add r3, r3, r8
/* 8036327C 003601DC 54 84 C2 3E */ srwi r4, r4, 8
/* 80363280 003601E0 54 63 40 2E */ slwi r3, r3, 8
/* 80363284 003601E4 7C 84 32 14 */ add r4, r4, r6
/* 80363288 003601E8 7C 84 38 38 */ and r4, r4, r7
/* 8036328C 003601EC 7C 60 00 38 */ and r0, r3, r0
/* 80363290 003601F0 7C 83 03 78 */ or r3, r4, r0
/* 80363294 003601F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80363298 003601F8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8036329C 003601FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803632A0 00360200 7C 08 03 A6 */ mtlr r0
/* 803632A4 00360204 38 21 00 10 */ addi r1, r1, 0x10
/* 803632A8 00360208 4E 80 00 20 */ blr
.global Lerp__6CColorFRC6CColorRC6CColorf
Lerp__6CColorFRC6CColorRC6CColorf:
/* 803632AC 0036020C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803632B0 00360210 7C 08 02 A6 */ mflr r0
/* 803632B4 00360214 C0 02 CD A4 */ lfs f0, lbl_805AEAC4@sda21(r2)
/* 803632B8 00360218 90 01 00 14 */ stw r0, 0x14(r1)
/* 803632BC 0036021C ED A0 08 28 */ fsubs f13, f0, f1
/* 803632C0 00360220 E0 A4 A0 00 */ psq_l f5, 0(r4), 1, qr2
/* 803632C4 00360224 E0 05 A0 00 */ psq_l f0, 0(r5), 1, qr2
/* 803632C8 00360228 E0 C4 A0 01 */ psq_l f6, 1(r4), 1, qr2
/* 803632CC 0036022C E0 45 A0 01 */ psq_l f2, 1(r5), 1, qr2
/* 803632D0 00360230 E1 64 A0 02 */ psq_l f11, 2(r4), 1, qr2
/* 803632D4 00360234 E0 E5 A0 02 */ psq_l f7, 2(r5), 1, qr2
/* 803632D8 00360238 E1 84 A0 03 */ psq_l f12, 3(r4), 1, qr2
/* 803632DC 0036023C E1 05 A0 03 */ psq_l f8, 3(r5), 1, qr2
/* 803632E0 00360240 C1 42 CD A8 */ lfs f10, lbl_805AEAC8@sda21(r2)
/* 803632E4 00360244 EC 8A 00 32 */ fmuls f4, f10, f0
/* 803632E8 00360248 EC 6A 00 B2 */ fmuls f3, f10, f2
/* 803632EC 0036024C EC 4A 01 F2 */ fmuls f2, f10, f7
/* 803632F0 00360250 EC 0A 02 32 */ fmuls f0, f10, f8
/* 803632F4 00360254 ED 2A 01 72 */ fmuls f9, f10, f5
/* 803632F8 00360258 ED 01 01 32 */ fmuls f8, f1, f4
/* 803632FC 0036025C EC EA 01 B2 */ fmuls f7, f10, f6
/* 80363300 00360260 EC C1 00 F2 */ fmuls f6, f1, f3
/* 80363304 00360264 EC AA 02 F2 */ fmuls f5, f10, f11
/* 80363308 00360268 EC 61 00 B2 */ fmuls f3, f1, f2
/* 8036330C 0036026C EC 8A 03 32 */ fmuls f4, f10, f12
/* 80363310 00360270 EC 01 00 32 */ fmuls f0, f1, f0
/* 80363314 00360274 EC 2D 42 7A */ fmadds f1, f13, f9, f8
/* 80363318 00360278 EC 4D 31 FA */ fmadds f2, f13, f7, f6
/* 8036331C 0036027C EC 6D 19 7A */ fmadds f3, f13, f5, f3
/* 80363320 00360280 EC 8D 01 3A */ fmadds f4, f13, f4, f0
/* 80363324 00360284 48 00 00 C9 */ bl __ct__6CColorFffff
/* 80363328 00360288 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036332C 0036028C 7C 08 03 A6 */ mtlr r0
/* 80363330 00360290 38 21 00 10 */ addi r1, r1, 0x10
/* 80363334 00360294 4E 80 00 20 */ blr
.global Get__6CColorCFRfRfRf
Get__6CColorCFRfRfRf:
/* 80363338 00360298 E0 03 A0 00 */ psq_l f0, 0(r3), 1, qr2
/* 8036333C 0036029C C0 22 CD A8 */ lfs f1, lbl_805AEAC8@sda21(r2)
/* 80363340 003602A0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80363344 003602A4 D0 04 00 00 */ stfs f0, 0(r4)
/* 80363348 003602A8 E0 03 A0 01 */ psq_l f0, 1(r3), 1, qr2
/* 8036334C 003602AC EC 01 00 32 */ fmuls f0, f1, f0
/* 80363350 003602B0 D0 05 00 00 */ stfs f0, 0(r5)
/* 80363354 003602B4 E0 03 A0 02 */ psq_l f0, 2(r3), 1, qr2
/* 80363358 003602B8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8036335C 003602BC D0 06 00 00 */ stfs f0, 0(r6)
/* 80363360 003602C0 4E 80 00 20 */ blr
.global Get__6CColorCFRfRfRfRf
Get__6CColorCFRfRfRfRf:
/* 80363364 003602C4 E0 03 A0 00 */ psq_l f0, 0(r3), 1, qr2
/* 80363368 003602C8 C0 22 CD A8 */ lfs f1, lbl_805AEAC8@sda21(r2)
/* 8036336C 003602CC EC 01 00 32 */ fmuls f0, f1, f0
/* 80363370 003602D0 D0 04 00 00 */ stfs f0, 0(r4)
/* 80363374 003602D4 E0 03 A0 01 */ psq_l f0, 1(r3), 1, qr2
/* 80363378 003602D8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8036337C 003602DC D0 05 00 00 */ stfs f0, 0(r5)
/* 80363380 003602E0 E0 03 A0 02 */ psq_l f0, 2(r3), 1, qr2
/* 80363384 003602E4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80363388 003602E8 D0 06 00 00 */ stfs f0, 0(r6)
/* 8036338C 003602EC E0 03 A0 03 */ psq_l f0, 3(r3), 1, qr2
/* 80363390 003602F0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80363394 003602F4 D0 07 00 00 */ stfs f0, 0(r7)
/* 80363398 003602F8 4E 80 00 20 */ blr
.global Set__6CColorFffff
Set__6CColorFffff:
/* 8036339C 003602FC C0 02 CD AC */ lfs f0, lbl_805AEACC@sda21(r2)
/* 803633A0 00360300 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803633A4 00360304 EC 20 00 72 */ fmuls f1, f0, f1
/* 803633A8 00360308 F0 21 A0 0B */ psq_st f1, 11(r1), 1, qr2
/* 803633AC 0036030C EC 40 00 B2 */ fmuls f2, f0, f2
/* 803633B0 00360310 88 01 00 0B */ lbz r0, 0xb(r1)
/* 803633B4 00360314 98 03 00 00 */ stb r0, 0(r3)
/* 803633B8 00360318 F0 41 A0 0A */ psq_st f2, 10(r1), 1, qr2
/* 803633BC 0036031C EC 60 00 F2 */ fmuls f3, f0, f3
/* 803633C0 00360320 88 01 00 0A */ lbz r0, 0xa(r1)
/* 803633C4 00360324 98 03 00 01 */ stb r0, 1(r3)
/* 803633C8 00360328 F0 61 A0 09 */ psq_st f3, 9(r1), 1, qr2
/* 803633CC 0036032C EC 80 01 32 */ fmuls f4, f0, f4
/* 803633D0 00360330 88 01 00 09 */ lbz r0, 9(r1)
/* 803633D4 00360334 98 03 00 02 */ stb r0, 2(r3)
/* 803633D8 00360338 F0 81 A0 08 */ psq_st f4, 8(r1), 1, qr2
/* 803633DC 0036033C 88 01 00 08 */ lbz r0, 8(r1)
/* 803633E0 00360340 98 03 00 03 */ stb r0, 3(r3)
/* 803633E4 00360344 38 21 00 10 */ addi r1, r1, 0x10
/* 803633E8 00360348 4E 80 00 20 */ blr
.global __ct__6CColorFffff
__ct__6CColorFffff:
/* 803633EC 0036034C C0 C2 CD AC */ lfs f6, lbl_805AEACC@sda21(r2)
/* 803633F0 00360350 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803633F4 00360354 EC A6 00 72 */ fmuls f5, f6, f1
/* 803633F8 00360358 EC 26 00 F2 */ fmuls f1, f6, f3
/* 803633FC 0036035C EC 06 00 B2 */ fmuls f0, f6, f2
/* 80363400 00360360 FC 60 28 1E */ fctiwz f3, f5
/* 80363404 00360364 FC 20 08 1E */ fctiwz f1, f1
/* 80363408 00360368 FC 40 00 1E */ fctiwz f2, f0
/* 8036340C 0036036C EC 06 01 32 */ fmuls f0, f6, f4
/* 80363410 00360370 D8 61 00 08 */ stfd f3, 8(r1)
/* 80363414 00360374 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 80363418 00360378 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8036341C 0036037C FC 00 00 1E */ fctiwz f0, f0
/* 80363420 00360380 D8 21 00 18 */ stfd f1, 0x18(r1)
/* 80363424 00360384 80 81 00 14 */ lwz r4, 0x14(r1)
/* 80363428 00360388 98 03 00 00 */ stb r0, 0(r3)
/* 8036342C 0036038C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80363430 00360390 98 83 00 01 */ stb r4, 1(r3)
/* 80363434 00360394 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 80363438 00360398 98 03 00 02 */ stb r0, 2(r3)
/* 8036343C 0036039C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80363440 003603A0 98 03 00 03 */ stb r0, 3(r3)
/* 80363444 003603A4 38 21 00 30 */ addi r1, r1, 0x30
/* 80363448 003603A8 4E 80 00 20 */ blr
.global __ct__6CColorFR12CInputStream
__ct__6CColorFR12CInputStream:
/* 8036344C 003603AC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80363450 003603B0 7C 08 02 A6 */ mflr r0
/* 80363454 003603B4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80363458 003603B8 DB E1 00 28 */ stfd f31, 0x28(r1)
/* 8036345C 003603BC DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80363460 003603C0 DB A1 00 18 */ stfd f29, 0x18(r1)
/* 80363464 003603C4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80363468 003603C8 7C 9F 23 78 */ mr r31, r4
/* 8036346C 003603CC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80363470 003603D0 7C 7E 1B 78 */ mr r30, r3
/* 80363474 003603D4 7F E3 FB 78 */ mr r3, r31
/* 80363478 003603D8 4B FD B7 B1 */ bl ReadFloat__12CInputStreamFv
/* 8036347C 003603DC FF E0 08 90 */ fmr f31, f1
/* 80363480 003603E0 7F E3 FB 78 */ mr r3, r31
/* 80363484 003603E4 4B FD B7 A5 */ bl ReadFloat__12CInputStreamFv
/* 80363488 003603E8 FF C0 08 90 */ fmr f30, f1
/* 8036348C 003603EC 7F E3 FB 78 */ mr r3, r31
/* 80363490 003603F0 4B FD B7 99 */ bl ReadFloat__12CInputStreamFv
/* 80363494 003603F4 FF A0 08 90 */ fmr f29, f1
/* 80363498 003603F8 7F E3 FB 78 */ mr r3, r31
/* 8036349C 003603FC 4B FD B7 8D */ bl ReadFloat__12CInputStreamFv
/* 803634A0 00360400 FC 80 08 90 */ fmr f4, f1
/* 803634A4 00360404 7F C3 F3 78 */ mr r3, r30
/* 803634A8 00360408 FC 20 F8 90 */ fmr f1, f31
/* 803634AC 0036040C FC 40 F0 90 */ fmr f2, f30
/* 803634B0 00360410 FC 60 E8 90 */ fmr f3, f29
/* 803634B4 00360414 4B FF FE E9 */ bl Set__6CColorFffff
/* 803634B8 00360418 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803634BC 0036041C 7F C3 F3 78 */ mr r3, r30
/* 803634C0 00360420 CB E1 00 28 */ lfd f31, 0x28(r1)
/* 803634C4 00360424 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 803634C8 00360428 CB A1 00 18 */ lfd f29, 0x18(r1)
/* 803634CC 0036042C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803634D0 00360430 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803634D4 00360434 7C 08 03 A6 */ mtlr r0
/* 803634D8 00360438 38 21 00 30 */ addi r1, r1, 0x30
/* 803634DC 0036043C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,193 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global UnLock__16CGraphicsPaletteFv
UnLock__16CGraphicsPaletteFv:
/* 8030DE5C 0030ADBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030DE60 0030ADC0 7C 08 02 A6 */ mflr r0
/* 8030DE64 0030ADC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030DE68 0030ADC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8030DE6C 0030ADCC 7C 7F 1B 78 */ mr r31, r3
/* 8030DE70 0030ADD0 80 03 00 08 */ lwz r0, 8(r3)
/* 8030DE74 0030ADD4 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8030DE78 0030ADD8 54 04 08 3C */ slwi r4, r0, 1
/* 8030DE7C 0030ADDC 48 07 0C 65 */ bl DCStoreRange
/* 8030DE80 0030ADE0 80 1F 00 08 */ lwz r0, 8(r31)
/* 8030DE84 0030ADE4 38 7F 00 10 */ addi r3, r31, 0x10
/* 8030DE88 0030ADE8 80 BF 00 00 */ lwz r5, 0(r31)
/* 8030DE8C 0030ADEC 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8030DE90 0030ADF0 54 06 04 3E */ clrlwi r6, r0, 0x10
/* 8030DE94 0030ADF4 48 06 C6 55 */ bl GXInitTlutObj
/* 8030DE98 0030ADF8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8030DE9C 0030ADFC 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8030DEA0 0030AE00 54 04 08 3C */ slwi r4, r0, 1
/* 8030DEA4 0030AE04 48 07 0C 0D */ bl DCFlushRange
/* 8030DEA8 0030AE08 38 00 00 00 */ li r0, 0
/* 8030DEAC 0030AE0C 98 1F 00 1C */ stb r0, 0x1c(r31)
/* 8030DEB0 0030AE10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030DEB4 0030AE14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8030DEB8 0030AE18 7C 08 03 A6 */ mtlr r0
/* 8030DEBC 0030AE1C 38 21 00 10 */ addi r1, r1, 0x10
/* 8030DEC0 0030AE20 4E 80 00 20 */ blr
.global Load__16CGraphicsPaletteCFv
Load__16CGraphicsPaletteCFv:
/* 8030DEC4 0030AE24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030DEC8 0030AE28 7C 08 02 A6 */ mflr r0
/* 8030DECC 0030AE2C 38 80 00 00 */ li r4, 0
/* 8030DED0 0030AE30 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030DED4 0030AE34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8030DED8 0030AE38 7C 7F 1B 78 */ mr r31, r3
/* 8030DEDC 0030AE3C 38 7F 00 10 */ addi r3, r31, 0x10
/* 8030DEE0 0030AE40 48 06 C6 51 */ bl GXLoadTlut
/* 8030DEE4 0030AE44 80 0D A8 68 */ lwz r0, lbl_805A9428@sda21(r13)
/* 8030DEE8 0030AE48 90 1F 00 04 */ stw r0, 4(r31)
/* 8030DEEC 0030AE4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030DEF0 0030AE50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8030DEF4 0030AE54 7C 08 03 A6 */ mtlr r0
/* 8030DEF8 0030AE58 38 21 00 10 */ addi r1, r1, 0x10
/* 8030DEFC 0030AE5C 4E 80 00 20 */ blr
.global __dt__16CGraphicsPaletteFv
__dt__16CGraphicsPaletteFv:
/* 8030DF00 0030AE60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030DF04 0030AE64 7C 08 02 A6 */ mflr r0
/* 8030DF08 0030AE68 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030DF0C 0030AE6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8030DF10 0030AE70 7C 9F 23 78 */ mr r31, r4
/* 8030DF14 0030AE74 93 C1 00 08 */ stw r30, 8(r1)
/* 8030DF18 0030AE78 7C 7E 1B 79 */ or. r30, r3, r3
/* 8030DF1C 0030AE7C 41 82 00 50 */ beq lbl_8030DF6C
/* 8030DF20 0030AE80 80 7E 00 04 */ lwz r3, 4(r30)
/* 8030DF24 0030AE84 80 0D A8 68 */ lwz r0, lbl_805A9428@sda21(r13)
/* 8030DF28 0030AE88 7C 03 00 50 */ subf r0, r3, r0
/* 8030DF2C 0030AE8C 28 00 00 02 */ cmplwi r0, 2
/* 8030DF30 0030AE90 40 80 00 1C */ bge lbl_8030DF4C
/* 8030DF34 0030AE94 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 8030DF38 0030AE98 38 60 00 00 */ li r3, 0
/* 8030DF3C 0030AE9C 7C 00 00 34 */ cntlzw r0, r0
/* 8030DF40 0030AEA0 90 7E 00 0C */ stw r3, 0xc(r30)
/* 8030DF44 0030AEA4 54 03 D9 7E */ srwi r3, r0, 5
/* 8030DF48 0030AEA8 48 05 EC D5 */ bl sub_8036cc1c
lbl_8030DF4C:
/* 8030DF4C 0030AEAC 34 1E 00 0C */ addic. r0, r30, 0xc
/* 8030DF50 0030AEB0 41 82 00 0C */ beq lbl_8030DF5C
/* 8030DF54 0030AEB4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8030DF58 0030AEB8 48 00 79 D9 */ bl Free__7CMemoryFPCv
lbl_8030DF5C:
/* 8030DF5C 0030AEBC 7F E0 07 35 */ extsh. r0, r31
/* 8030DF60 0030AEC0 40 81 00 0C */ ble lbl_8030DF6C
/* 8030DF64 0030AEC4 7F C3 F3 78 */ mr r3, r30
/* 8030DF68 0030AEC8 48 00 79 C9 */ bl Free__7CMemoryFPCv
lbl_8030DF6C:
/* 8030DF6C 0030AECC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030DF70 0030AED0 7F C3 F3 78 */ mr r3, r30
/* 8030DF74 0030AED4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8030DF78 0030AED8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8030DF7C 0030AEDC 7C 08 03 A6 */ mtlr r0
/* 8030DF80 0030AEE0 38 21 00 10 */ addi r1, r1, 0x10
/* 8030DF84 0030AEE4 4E 80 00 20 */ blr
.global __ct__16CGraphicsPaletteFR12CInputStream
__ct__16CGraphicsPaletteFR12CInputStream:
/* 8030DF88 0030AEE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8030DF8C 0030AEEC 7C 08 02 A6 */ mflr r0
/* 8030DF90 0030AEF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8030DF94 0030AEF4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8030DF98 0030AEF8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8030DF9C 0030AEFC 7C 9E 23 78 */ mr r30, r4
/* 8030DFA0 0030AF00 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8030DFA4 0030AF04 7C 7D 1B 78 */ mr r29, r3
/* 8030DFA8 0030AF08 7F C3 F3 78 */ mr r3, r30
/* 8030DFAC 0030AF0C 48 03 0C D9 */ bl ReadLong__12CInputStreamFv
/* 8030DFB0 0030AF10 90 7D 00 00 */ stw r3, 0(r29)
/* 8030DFB4 0030AF14 7F C3 F3 78 */ mr r3, r30
/* 8030DFB8 0030AF18 48 03 0C F9 */ bl ReadShort__12CInputStreamFv
/* 8030DFBC 0030AF1C 7C 7F 07 34 */ extsh r31, r3
/* 8030DFC0 0030AF20 7F C3 F3 78 */ mr r3, r30
/* 8030DFC4 0030AF24 48 03 0C ED */ bl ReadShort__12CInputStreamFv
/* 8030DFC8 0030AF28 7C 60 07 34 */ extsh r0, r3
/* 8030DFCC 0030AF2C 3C 80 80 3D */ lis r4, lbl_803D73E8@ha
/* 8030DFD0 0030AF30 7C 00 F9 D6 */ mullw r0, r0, r31
/* 8030DFD4 0030AF34 3C 60 80 3D */ lis r3, lbl_803D6AA8@ha
/* 8030DFD8 0030AF38 38 A4 73 E8 */ addi r5, r4, lbl_803D73E8@l
/* 8030DFDC 0030AF3C 38 C3 6A A8 */ addi r6, r3, lbl_803D6AA8@l
/* 8030DFE0 0030AF40 38 61 00 08 */ addi r3, r1, 8
/* 8030DFE4 0030AF44 38 80 FF FF */ li r4, -1
/* 8030DFE8 0030AF48 90 1D 00 08 */ stw r0, 8(r29)
/* 8030DFEC 0030AF4C 4B FC 83 E9 */ bl __ct__10CCallStackFUiPCcPCc
/* 8030DFF0 0030AF50 80 1D 00 08 */ lwz r0, 8(r29)
/* 8030DFF4 0030AF54 7C 67 1B 78 */ mr r7, r3
/* 8030DFF8 0030AF58 38 80 00 02 */ li r4, 2
/* 8030DFFC 0030AF5C 38 A0 00 01 */ li r5, 1
/* 8030E000 0030AF60 54 03 08 3C */ slwi r3, r0, 1
/* 8030E004 0030AF64 38 C0 00 00 */ li r6, 0
/* 8030E008 0030AF68 48 00 79 8D */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8030E00C 0030AF6C 90 7D 00 0C */ stw r3, 0xc(r29)
/* 8030E010 0030AF70 38 00 00 00 */ li r0, 0
/* 8030E014 0030AF74 7F C3 F3 78 */ mr r3, r30
/* 8030E018 0030AF78 98 1D 00 1C */ stb r0, 0x1c(r29)
/* 8030E01C 0030AF7C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8030E020 0030AF80 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8030E024 0030AF84 54 05 08 3C */ slwi r5, r0, 1
/* 8030E028 0030AF88 48 03 0F 2D */ bl Get__12CInputStreamFPvUl
/* 8030E02C 0030AF8C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8030E030 0030AF90 38 7D 00 10 */ addi r3, r29, 0x10
/* 8030E034 0030AF94 80 BD 00 00 */ lwz r5, 0(r29)
/* 8030E038 0030AF98 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8030E03C 0030AF9C 54 06 04 3E */ clrlwi r6, r0, 0x10
/* 8030E040 0030AFA0 48 06 C4 A9 */ bl GXInitTlutObj
/* 8030E044 0030AFA4 80 1D 00 08 */ lwz r0, 8(r29)
/* 8030E048 0030AFA8 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8030E04C 0030AFAC 54 04 08 3C */ slwi r4, r0, 1
/* 8030E050 0030AFB0 48 07 0A 61 */ bl DCFlushRange
/* 8030E054 0030AFB4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8030E058 0030AFB8 7F A3 EB 78 */ mr r3, r29
/* 8030E05C 0030AFBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8030E060 0030AFC0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8030E064 0030AFC4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8030E068 0030AFC8 7C 08 03 A6 */ mtlr r0
/* 8030E06C 0030AFCC 38 21 00 20 */ addi r1, r1, 0x20
/* 8030E070 0030AFD0 4E 80 00 20 */ blr
.global __ct__16CGraphicsPaletteF14EPaletteFormati
__ct__16CGraphicsPaletteF14EPaletteFormati:
/* 8030E074 0030AFD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8030E078 0030AFD8 7C 08 02 A6 */ mflr r0
/* 8030E07C 0030AFDC 3C C0 80 3D */ lis r6, lbl_803D73E8@ha
/* 8030E080 0030AFE0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8030E084 0030AFE4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8030E088 0030AFE8 7C BF 2B 78 */ mr r31, r5
/* 8030E08C 0030AFEC 38 A6 73 E8 */ addi r5, r6, lbl_803D73E8@l
/* 8030E090 0030AFF0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8030E094 0030AFF4 7C 7E 1B 78 */ mr r30, r3
/* 8030E098 0030AFF8 90 83 00 00 */ stw r4, 0(r3)
/* 8030E09C 0030AFFC 3C 60 80 3D */ lis r3, lbl_803D6AA8@ha
/* 8030E0A0 0030B000 38 C3 6A A8 */ addi r6, r3, lbl_803D6AA8@l
/* 8030E0A4 0030B004 38 80 FF FF */ li r4, -1
/* 8030E0A8 0030B008 93 FE 00 08 */ stw r31, 8(r30)
/* 8030E0AC 0030B00C 38 61 00 08 */ addi r3, r1, 8
/* 8030E0B0 0030B010 4B FC 83 25 */ bl __ct__10CCallStackFUiPCcPCc
/* 8030E0B4 0030B014 7C 67 1B 78 */ mr r7, r3
/* 8030E0B8 0030B018 57 E3 08 3C */ slwi r3, r31, 1
/* 8030E0BC 0030B01C 38 80 00 02 */ li r4, 2
/* 8030E0C0 0030B020 38 A0 00 01 */ li r5, 1
/* 8030E0C4 0030B024 38 C0 00 00 */ li r6, 0
/* 8030E0C8 0030B028 48 00 78 CD */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8030E0CC 0030B02C 90 7E 00 0C */ stw r3, 0xc(r30)
/* 8030E0D0 0030B030 38 00 00 00 */ li r0, 0
/* 8030E0D4 0030B034 38 7E 00 10 */ addi r3, r30, 0x10
/* 8030E0D8 0030B038 98 1E 00 1C */ stb r0, 0x1c(r30)
/* 8030E0DC 0030B03C 80 1E 00 08 */ lwz r0, 8(r30)
/* 8030E0E0 0030B040 80 BE 00 00 */ lwz r5, 0(r30)
/* 8030E0E4 0030B044 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 8030E0E8 0030B048 54 06 04 3E */ clrlwi r6, r0, 0x10
/* 8030E0EC 0030B04C 48 06 C3 FD */ bl GXInitTlutObj
/* 8030E0F0 0030B050 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8030E0F4 0030B054 7F C3 F3 78 */ mr r3, r30
/* 8030E0F8 0030B058 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8030E0FC 0030B05C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8030E100 0030B060 7C 08 03 A6 */ mtlr r0
/* 8030E104 0030B064 38 21 00 20 */ addi r1, r1, 0x20
/* 8030E108 0030B068 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

92
asm/Kyoto/IObj.s Normal file
View File

@ -0,0 +1,92 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Type2Text__10SObjectTagFUi
Type2Text__10SObjectTagFUi:
/* 80341004 0033DF64 54 60 46 3E */ srwi r0, r3, 0x18
/* 80341008 0033DF68 2C 00 FF FF */ cmpwi r0, -1
/* 8034100C 0033DF6C 40 82 00 0C */ bne lbl_80341018
/* 80341010 0033DF70 38 00 FF FF */ li r0, -1
/* 80341014 0033DF74 48 00 00 10 */ b lbl_80341024
lbl_80341018:
/* 80341018 0033DF78 3C 80 80 3F */ lis r4, lbl_803F2C20@ha
/* 8034101C 0033DF7C 38 84 2C 20 */ addi r4, r4, lbl_803F2C20@l
/* 80341020 0033DF80 7C 04 00 AE */ lbzx r0, r4, r0
lbl_80341024:
/* 80341024 0033DF84 54 65 86 3E */ rlwinm r5, r3, 0x10, 0x18, 0x1f
/* 80341028 0033DF88 98 0D A9 58 */ stb r0, lbl_805A9518@sda21(r13)
/* 8034102C 0033DF8C 2C 05 FF FF */ cmpwi r5, -1
/* 80341030 0033DF90 40 82 00 0C */ bne lbl_8034103C
/* 80341034 0033DF94 38 00 FF FF */ li r0, -1
/* 80341038 0033DF98 48 00 00 10 */ b lbl_80341048
lbl_8034103C:
/* 8034103C 0033DF9C 3C 80 80 3F */ lis r4, lbl_803F2C20@ha
/* 80341040 0033DFA0 38 84 2C 20 */ addi r4, r4, lbl_803F2C20@l
/* 80341044 0033DFA4 7C 04 28 AE */ lbzx r0, r4, r5
lbl_80341048:
/* 80341048 0033DFA8 54 65 C6 3E */ rlwinm r5, r3, 0x18, 0x18, 0x1f
/* 8034104C 0033DFAC 38 8D A9 58 */ addi r4, r13, lbl_805A9518@sda21
/* 80341050 0033DFB0 2C 05 FF FF */ cmpwi r5, -1
/* 80341054 0033DFB4 98 04 00 01 */ stb r0, 1(r4)
/* 80341058 0033DFB8 40 82 00 0C */ bne lbl_80341064
/* 8034105C 0033DFBC 38 00 FF FF */ li r0, -1
/* 80341060 0033DFC0 48 00 00 10 */ b lbl_80341070
lbl_80341064:
/* 80341064 0033DFC4 3C 80 80 3F */ lis r4, lbl_803F2C20@ha
/* 80341068 0033DFC8 38 84 2C 20 */ addi r4, r4, lbl_803F2C20@l
/* 8034106C 0033DFCC 7C 04 28 AE */ lbzx r0, r4, r5
lbl_80341070:
/* 80341070 0033DFD0 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 80341074 0033DFD4 38 6D A9 58 */ addi r3, r13, lbl_805A9518@sda21
/* 80341078 0033DFD8 2C 04 FF FF */ cmpwi r4, -1
/* 8034107C 0033DFDC 98 03 00 02 */ stb r0, 2(r3)
/* 80341080 0033DFE0 40 82 00 0C */ bne lbl_8034108C
/* 80341084 0033DFE4 38 60 FF FF */ li r3, -1
/* 80341088 0033DFE8 48 00 00 10 */ b lbl_80341098
lbl_8034108C:
/* 8034108C 0033DFEC 3C 60 80 3F */ lis r3, lbl_803F2C20@ha
/* 80341090 0033DFF0 38 63 2C 20 */ addi r3, r3, lbl_803F2C20@l
/* 80341094 0033DFF4 7C 63 20 AE */ lbzx r3, r3, r4
lbl_80341098:
/* 80341098 0033DFF8 38 AD A9 58 */ addi r5, r13, lbl_805A9518@sda21
/* 8034109C 0033DFFC 38 00 00 00 */ li r0, 0
/* 803410A0 0033E000 98 65 00 03 */ stb r3, 3(r5)
/* 803410A4 0033E004 3C 60 80 3F */ lis r3, lbl_803F2A20@ha
/* 803410A8 0033E008 38 83 2A 20 */ addi r4, r3, lbl_803F2A20@l
/* 803410AC 0033E00C 98 05 00 04 */ stb r0, 4(r5)
/* 803410B0 0033E010 38 00 00 2D */ li r0, 0x2d
/* 803410B4 0033E014 88 6D A9 58 */ lbz r3, lbl_805A9518@sda21(r13)
/* 803410B8 0033E018 7C 64 18 AE */ lbzx r3, r4, r3
/* 803410BC 0033E01C 70 63 00 DC */ andi. r3, r3, 0xdc
/* 803410C0 0033E020 40 82 00 08 */ bne lbl_803410C8
/* 803410C4 0033E024 98 05 00 00 */ stb r0, 0(r5)
lbl_803410C8:
/* 803410C8 0033E028 8C 65 00 01 */ lbzu r3, 1(r5)
/* 803410CC 0033E02C 7C 64 18 AE */ lbzx r3, r4, r3
/* 803410D0 0033E030 70 63 00 DC */ andi. r3, r3, 0xdc
/* 803410D4 0033E034 40 82 00 08 */ bne lbl_803410DC
/* 803410D8 0033E038 98 05 00 00 */ stb r0, 0(r5)
lbl_803410DC:
/* 803410DC 0033E03C 8C 65 00 01 */ lbzu r3, 1(r5)
/* 803410E0 0033E040 7C 64 18 AE */ lbzx r3, r4, r3
/* 803410E4 0033E044 70 63 00 DC */ andi. r3, r3, 0xdc
/* 803410E8 0033E048 40 82 00 08 */ bne lbl_803410F0
/* 803410EC 0033E04C 98 05 00 00 */ stb r0, 0(r5)
lbl_803410F0:
/* 803410F0 0033E050 8C 65 00 01 */ lbzu r3, 1(r5)
/* 803410F4 0033E054 7C 64 18 AE */ lbzx r3, r4, r3
/* 803410F8 0033E058 70 63 00 DC */ andi. r3, r3, 0xdc
/* 803410FC 0033E05C 40 82 00 08 */ bne lbl_80341104
/* 80341100 0033E060 98 05 00 00 */ stb r0, 0(r5)
lbl_80341104:
/* 80341104 0033E064 38 6D A9 58 */ addi r3, r13, lbl_805A9518@sda21
/* 80341108 0033E068 4E 80 00 20 */ blr
.global __sinit_IObj_cpp
__sinit_IObj_cpp:
/* 8034110C 0033E06C 38 00 FF FF */ li r0, -1
/* 80341110 0033E070 38 6D A9 50 */ addi r3, r13, lbl_805A9510@sda21
/* 80341114 0033E074 90 0D A9 50 */ stw r0, lbl_805A9510@sda21(r13)
/* 80341118 0033E078 90 03 00 04 */ stw r0, 4(r3)
/* 8034111C 0033E07C 4E 80 00 20 */ blr

View File

@ -0,0 +1,630 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetAnalogStickMaxValue__18CDolphinControllerCF8EJoyAxis
GetAnalogStickMaxValue__18CDolphinControllerCF8EJoyAxis:
/* 8034F060 0034BFC0 2C 04 00 02 */ cmpwi r4, 2
/* 8034F064 0034BFC4 40 80 00 10 */ bge lbl_8034F074
/* 8034F068 0034BFC8 2C 04 00 00 */ cmpwi r4, 0
/* 8034F06C 0034BFCC 40 80 00 14 */ bge lbl_8034F080
/* 8034F070 0034BFD0 48 00 00 20 */ b lbl_8034F090
lbl_8034F074:
/* 8034F074 0034BFD4 2C 04 00 04 */ cmpwi r4, 4
/* 8034F078 0034BFD8 40 80 00 18 */ bge lbl_8034F090
/* 8034F07C 0034BFDC 48 00 00 0C */ b lbl_8034F088
lbl_8034F080:
/* 8034F080 0034BFE0 C0 22 CC 70 */ lfs f1, lbl_805AE990@sda21(r2)
/* 8034F084 0034BFE4 4E 80 00 20 */ blr
lbl_8034F088:
/* 8034F088 0034BFE8 C0 22 CC 74 */ lfs f1, lbl_805AE994@sda21(r2)
/* 8034F08C 0034BFEC 4E 80 00 20 */ blr
lbl_8034F090:
/* 8034F090 0034BFF0 C0 22 CC 78 */ lfs f1, lbl_805AE998@sda21(r2)
/* 8034F094 0034BFF4 4E 80 00 20 */ blr
.global SetMotorState__18CDolphinControllerF7EIOPort11EMotorState
SetMotorState__18CDolphinControllerF7EIOPort11EMotorState:
/* 8034F098 0034BFF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F09C 0034BFFC 7C 08 02 A6 */ mflr r0
/* 8034F0A0 0034C000 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F0A4 0034C004 54 80 10 3A */ slwi r0, r4, 2
/* 8034F0A8 0034C008 7C 83 02 14 */ add r4, r3, r0
/* 8034F0AC 0034C00C 38 63 01 94 */ addi r3, r3, 0x194
/* 8034F0B0 0034C010 90 A4 01 94 */ stw r5, 0x194(r4)
/* 8034F0B4 0034C014 48 03 7A 71 */ bl PADControlAllMotors
/* 8034F0B8 0034C018 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F0BC 0034C01C 7C 08 03 A6 */ mtlr r0
/* 8034F0C0 0034C020 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F0C4 0034C024 4E 80 00 20 */ blr
.global sub_8034f0c8
sub_8034f0c8:
/* 8034F0C8 0034C028 54 80 10 3A */ slwi r0, r4, 2
/* 8034F0CC 0034C02C 7C 63 02 14 */ add r3, r3, r0
/* 8034F0D0 0034C030 80 63 01 A4 */ lwz r3, 0x1a4(r3)
/* 8034F0D4 0034C034 4E 80 00 20 */ blr
.global GetGamepadData__18CDolphinControllerFi
GetGamepadData__18CDolphinControllerFi:
/* 8034F0D8 0034C038 1C 84 00 58 */ mulli r4, r4, 0x58
/* 8034F0DC 0034C03C 7C 60 1B 78 */ mr r0, r3
/* 8034F0E0 0034C040 38 64 00 34 */ addi r3, r4, 0x34
/* 8034F0E4 0034C044 7C 60 1A 14 */ add r3, r0, r3
/* 8034F0E8 0034C048 4E 80 00 20 */ blr
.global GetDeviceCount__18CDolphinControllerCFv
GetDeviceCount__18CDolphinControllerCFv:
/* 8034F0EC 0034C04C 38 60 00 04 */ li r3, 4
/* 8034F0F0 0034C050 4E 80 00 20 */ blr
.global ProcessAnalogButton__18CDolphinControllerFfR15CControllerAxis
ProcessAnalogButton__18CDolphinControllerFfR15CControllerAxis:
/* 8034F0F4 0034C054 C0 02 CC 7C */ lfs f0, lbl_805AE99C@sda21(r2)
/* 8034F0F8 0034C058 C0 42 CC 54 */ lfs f2, lbl_805AE974@sda21(r2)
/* 8034F0FC 0034C05C EC 61 00 32 */ fmuls f3, f1, f0
/* 8034F100 0034C060 FC 03 10 40 */ fcmpo cr0, f3, f2
/* 8034F104 0034C064 40 81 00 08 */ ble lbl_8034F10C
/* 8034F108 0034C068 FC 60 10 90 */ fmr f3, f2
lbl_8034F10C:
/* 8034F10C 0034C06C C0 04 00 04 */ lfs f0, 4(r4)
/* 8034F110 0034C070 C0 22 CC 5C */ lfs f1, lbl_805AE97C@sda21(r2)
/* 8034F114 0034C074 EC 03 00 28 */ fsubs f0, f3, f0
/* 8034F118 0034C078 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8034F11C 0034C07C 40 81 00 08 */ ble lbl_8034F124
/* 8034F120 0034C080 FC 00 08 90 */ fmr f0, f1
lbl_8034F124:
/* 8034F124 0034C084 D0 04 00 00 */ stfs f0, 0(r4)
/* 8034F128 0034C088 D0 64 00 04 */ stfs f3, 4(r4)
/* 8034F12C 0034C08C 4E 80 00 20 */ blr
.global ProcessDigitalButton__18CDolphinControllerFiR17CControllerButtonUs
ProcessDigitalButton__18CDolphinControllerFiR17CControllerButtonUs:
/* 8034F130 0034C090 1C E4 00 0C */ mulli r7, r4, 0xc
/* 8034F134 0034C094 54 C4 04 3E */ clrlwi r4, r6, 0x10
/* 8034F138 0034C098 88 05 00 00 */ lbz r0, 0(r5)
/* 8034F13C 0034C09C 7C 63 3A 14 */ add r3, r3, r7
/* 8034F140 0034C0A0 A0 63 00 04 */ lhz r3, 4(r3)
/* 8034F144 0034C0A4 7C 64 20 38 */ and r4, r3, r4
/* 8034F148 0034C0A8 7C 64 00 D0 */ neg r3, r4
/* 8034F14C 0034C0AC 7C 63 23 78 */ or r3, r3, r4
/* 8034F150 0034C0B0 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8034F154 0034C0B4 7C 60 02 78 */ xor r0, r3, r0
/* 8034F158 0034C0B8 7C 60 00 38 */ and r0, r3, r0
/* 8034F15C 0034C0BC 7C 00 00 34 */ cntlzw r0, r0
/* 8034F160 0034C0C0 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8034F164 0034C0C4 7C 00 00 34 */ cntlzw r0, r0
/* 8034F168 0034C0C8 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8034F16C 0034C0CC 98 05 00 01 */ stb r0, 1(r5)
/* 8034F170 0034C0D0 88 85 00 00 */ lbz r4, 0(r5)
/* 8034F174 0034C0D4 7C 60 22 78 */ xor r0, r3, r4
/* 8034F178 0034C0D8 7C 80 00 38 */ and r0, r4, r0
/* 8034F17C 0034C0DC 7C 00 00 34 */ cntlzw r0, r0
/* 8034F180 0034C0E0 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8034F184 0034C0E4 7C 00 00 34 */ cntlzw r0, r0
/* 8034F188 0034C0E8 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8034F18C 0034C0EC 98 05 00 02 */ stb r0, 2(r5)
/* 8034F190 0034C0F0 98 65 00 00 */ stb r3, 0(r5)
/* 8034F194 0034C0F4 4E 80 00 20 */ blr
.global ProcessButtons__18CDolphinControllerFi
ProcessButtons__18CDolphinControllerFi:
/* 8034F198 0034C0F8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8034F19C 0034C0FC 7C 08 02 A6 */ mflr r0
/* 8034F1A0 0034C100 3C A0 80 3F */ lis r5, lbl_803EF6A0@ha
/* 8034F1A4 0034C104 90 01 00 34 */ stw r0, 0x34(r1)
/* 8034F1A8 0034C108 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 8034F1AC 0034C10C 7C 9B 23 78 */ mr r27, r4
/* 8034F1B0 0034C110 1C 9B 00 58 */ mulli r4, r27, 0x58
/* 8034F1B4 0034C114 7C 7A 1B 78 */ mr r26, r3
/* 8034F1B8 0034C118 3B C5 F6 A0 */ addi r30, r5, lbl_803EF6A0@l
/* 8034F1BC 0034C11C 3B 80 00 00 */ li r28, 0
/* 8034F1C0 0034C120 3B A4 00 34 */ addi r29, r4, 0x34
/* 8034F1C4 0034C124 3B E0 00 00 */ li r31, 0
/* 8034F1C8 0034C128 7F BA EA 14 */ add r29, r26, r29
lbl_8034F1CC:
/* 8034F1CC 0034C12C 38 BF 00 34 */ addi r5, r31, 0x34
/* 8034F1D0 0034C130 A0 DE 00 00 */ lhz r6, 0(r30)
/* 8034F1D4 0034C134 7F 43 D3 78 */ mr r3, r26
/* 8034F1D8 0034C138 7F 64 DB 78 */ mr r4, r27
/* 8034F1DC 0034C13C 7C BD 2A 14 */ add r5, r29, r5
/* 8034F1E0 0034C140 4B FF FF 51 */ bl ProcessDigitalButton__18CDolphinControllerFiR17CControllerButtonUs
/* 8034F1E4 0034C144 3B 9C 00 01 */ addi r28, r28, 1
/* 8034F1E8 0034C148 3B FF 00 03 */ addi r31, r31, 3
/* 8034F1EC 0034C14C 2C 1C 00 0C */ cmpwi r28, 0xc
/* 8034F1F0 0034C150 3B DE 00 02 */ addi r30, r30, 2
/* 8034F1F4 0034C154 41 80 FF D8 */ blt lbl_8034F1CC
/* 8034F1F8 0034C158 1F DB 00 0C */ mulli r30, r27, 0xc
/* 8034F1FC 0034C15C 3C 00 43 30 */ lis r0, 0x4330
/* 8034F200 0034C160 90 01 00 08 */ stw r0, 8(r1)
/* 8034F204 0034C164 7F 43 D3 78 */ mr r3, r26
/* 8034F208 0034C168 C8 22 CC 80 */ lfd f1, lbl_805AE9A0@sda21(r2)
/* 8034F20C 0034C16C 38 9D 00 24 */ addi r4, r29, 0x24
/* 8034F210 0034C170 7C BA F2 14 */ add r5, r26, r30
/* 8034F214 0034C174 88 05 00 0A */ lbz r0, 0xa(r5)
/* 8034F218 0034C178 90 01 00 0C */ stw r0, 0xc(r1)
/* 8034F21C 0034C17C C8 01 00 08 */ lfd f0, 8(r1)
/* 8034F220 0034C180 EC 20 08 28 */ fsubs f1, f0, f1
/* 8034F224 0034C184 4B FF FE D1 */ bl ProcessAnalogButton__18CDolphinControllerFfR15CControllerAxis
/* 8034F228 0034C188 7C 7A F2 14 */ add r3, r26, r30
/* 8034F22C 0034C18C 3C 00 43 30 */ lis r0, 0x4330
/* 8034F230 0034C190 88 A3 00 0B */ lbz r5, 0xb(r3)
/* 8034F234 0034C194 7F 43 D3 78 */ mr r3, r26
/* 8034F238 0034C198 90 01 00 10 */ stw r0, 0x10(r1)
/* 8034F23C 0034C19C 38 9D 00 2C */ addi r4, r29, 0x2c
/* 8034F240 0034C1A0 C8 22 CC 80 */ lfd f1, lbl_805AE9A0@sda21(r2)
/* 8034F244 0034C1A4 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8034F248 0034C1A8 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8034F24C 0034C1AC EC 20 08 28 */ fsubs f1, f0, f1
/* 8034F250 0034C1B0 4B FF FE A5 */ bl ProcessAnalogButton__18CDolphinControllerFfR15CControllerAxis
/* 8034F254 0034C1B4 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8034F258 0034C1B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8034F25C 0034C1BC 7C 08 03 A6 */ mtlr r0
/* 8034F260 0034C1C0 38 21 00 30 */ addi r1, r1, 0x30
/* 8034F264 0034C1C4 4E 80 00 20 */ blr
.global ProcessAxis__18CDolphinControllerFi8EJoyAxis
ProcessAxis__18CDolphinControllerFi8EJoyAxis:
/* 8034F268 0034C1C8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034F26C 0034C1CC 7C 08 02 A6 */ mflr r0
/* 8034F270 0034C1D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034F274 0034C1D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034F278 0034C1D8 7C BF 2B 78 */ mr r31, r5
/* 8034F27C 0034C1DC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034F280 0034C1E0 7C 9E 23 78 */ mr r30, r4
/* 8034F284 0034C1E4 7F E4 FB 78 */ mr r4, r31
/* 8034F288 0034C1E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034F28C 0034C1EC 7C 7D 1B 78 */ mr r29, r3
/* 8034F290 0034C1F0 4B FF FD D1 */ bl GetAnalogStickMaxValue__18CDolphinControllerCF8EJoyAxis
/* 8034F294 0034C1F4 C0 02 CC 88 */ lfs f0, lbl_805AE9A8@sda21(r2)
/* 8034F298 0034C1F8 1C 7E 00 58 */ mulli r3, r30, 0x58
/* 8034F29C 0034C1FC 57 E0 18 38 */ slwi r0, r31, 3
/* 8034F2A0 0034C200 C0 62 CC 78 */ lfs f3, lbl_805AE998@sda21(r2)
/* 8034F2A4 0034C204 EC 40 08 24 */ fdivs f2, f0, f1
/* 8034F2A8 0034C208 2C 1F 00 02 */ cmpwi r31, 2
/* 8034F2AC 0034C20C 38 63 00 34 */ addi r3, r3, 0x34
/* 8034F2B0 0034C210 7C 63 02 14 */ add r3, r3, r0
/* 8034F2B4 0034C214 38 83 00 04 */ addi r4, r3, 4
/* 8034F2B8 0034C218 7C 9D 22 14 */ add r4, r29, r4
/* 8034F2BC 0034C21C 41 82 00 84 */ beq lbl_8034F340
/* 8034F2C0 0034C220 40 80 00 14 */ bge lbl_8034F2D4
/* 8034F2C4 0034C224 2C 1F 00 00 */ cmpwi r31, 0
/* 8034F2C8 0034C228 41 82 00 18 */ beq lbl_8034F2E0
/* 8034F2CC 0034C22C 40 80 00 44 */ bge lbl_8034F310
/* 8034F2D0 0034C230 48 00 00 CC */ b lbl_8034F39C
lbl_8034F2D4:
/* 8034F2D4 0034C234 2C 1F 00 04 */ cmpwi r31, 4
/* 8034F2D8 0034C238 40 80 00 C4 */ bge lbl_8034F39C
/* 8034F2DC 0034C23C 48 00 00 94 */ b lbl_8034F370
lbl_8034F2E0:
/* 8034F2E0 0034C240 1C 7E 00 0C */ mulli r3, r30, 0xc
/* 8034F2E4 0034C244 3C 00 43 30 */ lis r0, 0x4330
/* 8034F2E8 0034C248 90 01 00 08 */ stw r0, 8(r1)
/* 8034F2EC 0034C24C C8 22 CC 90 */ lfd f1, lbl_805AE9B0@sda21(r2)
/* 8034F2F0 0034C250 7C 7D 1A 14 */ add r3, r29, r3
/* 8034F2F4 0034C254 88 03 00 06 */ lbz r0, 6(r3)
/* 8034F2F8 0034C258 7C 00 07 74 */ extsb r0, r0
/* 8034F2FC 0034C25C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8034F300 0034C260 90 01 00 0C */ stw r0, 0xc(r1)
/* 8034F304 0034C264 C8 01 00 08 */ lfd f0, 8(r1)
/* 8034F308 0034C268 EC 60 08 28 */ fsubs f3, f0, f1
/* 8034F30C 0034C26C 48 00 00 90 */ b lbl_8034F39C
lbl_8034F310:
/* 8034F310 0034C270 1C 7E 00 0C */ mulli r3, r30, 0xc
/* 8034F314 0034C274 3C 00 43 30 */ lis r0, 0x4330
/* 8034F318 0034C278 90 01 00 08 */ stw r0, 8(r1)
/* 8034F31C 0034C27C C8 22 CC 90 */ lfd f1, lbl_805AE9B0@sda21(r2)
/* 8034F320 0034C280 7C 7D 1A 14 */ add r3, r29, r3
/* 8034F324 0034C284 88 03 00 07 */ lbz r0, 7(r3)
/* 8034F328 0034C288 7C 00 07 74 */ extsb r0, r0
/* 8034F32C 0034C28C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8034F330 0034C290 90 01 00 0C */ stw r0, 0xc(r1)
/* 8034F334 0034C294 C8 01 00 08 */ lfd f0, 8(r1)
/* 8034F338 0034C298 EC 60 08 28 */ fsubs f3, f0, f1
/* 8034F33C 0034C29C 48 00 00 60 */ b lbl_8034F39C
lbl_8034F340:
/* 8034F340 0034C2A0 1C 7E 00 0C */ mulli r3, r30, 0xc
/* 8034F344 0034C2A4 3C 00 43 30 */ lis r0, 0x4330
/* 8034F348 0034C2A8 90 01 00 08 */ stw r0, 8(r1)
/* 8034F34C 0034C2AC C8 22 CC 90 */ lfd f1, lbl_805AE9B0@sda21(r2)
/* 8034F350 0034C2B0 7C 7D 1A 14 */ add r3, r29, r3
/* 8034F354 0034C2B4 88 03 00 08 */ lbz r0, 8(r3)
/* 8034F358 0034C2B8 7C 00 07 74 */ extsb r0, r0
/* 8034F35C 0034C2BC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8034F360 0034C2C0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8034F364 0034C2C4 C8 01 00 08 */ lfd f0, 8(r1)
/* 8034F368 0034C2C8 EC 60 08 28 */ fsubs f3, f0, f1
/* 8034F36C 0034C2CC 48 00 00 30 */ b lbl_8034F39C
lbl_8034F370:
/* 8034F370 0034C2D0 1C 7E 00 0C */ mulli r3, r30, 0xc
/* 8034F374 0034C2D4 3C 00 43 30 */ lis r0, 0x4330
/* 8034F378 0034C2D8 90 01 00 08 */ stw r0, 8(r1)
/* 8034F37C 0034C2DC C8 22 CC 90 */ lfd f1, lbl_805AE9B0@sda21(r2)
/* 8034F380 0034C2E0 7C 7D 1A 14 */ add r3, r29, r3
/* 8034F384 0034C2E4 88 03 00 09 */ lbz r0, 9(r3)
/* 8034F388 0034C2E8 7C 00 07 74 */ extsb r0, r0
/* 8034F38C 0034C2EC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8034F390 0034C2F0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8034F394 0034C2F4 C8 01 00 08 */ lfd f0, 8(r1)
/* 8034F398 0034C2F8 EC 60 08 28 */ fsubs f3, f0, f1
lbl_8034F39C:
/* 8034F39C 0034C2FC EC 43 00 B2 */ fmuls f2, f3, f2
/* 8034F3A0 0034C300 C0 02 CC 50 */ lfs f0, lbl_805AE970@sda21(r2)
/* 8034F3A4 0034C304 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8034F3A8 0034C308 40 80 00 0C */ bge lbl_8034F3B4
/* 8034F3AC 0034C30C FC 40 00 90 */ fmr f2, f0
/* 8034F3B0 0034C310 48 00 00 14 */ b lbl_8034F3C4
lbl_8034F3B4:
/* 8034F3B4 0034C314 C0 02 CC 54 */ lfs f0, lbl_805AE974@sda21(r2)
/* 8034F3B8 0034C318 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8034F3BC 0034C31C 40 81 00 08 */ ble lbl_8034F3C4
/* 8034F3C0 0034C320 FC 40 00 90 */ fmr f2, f0
lbl_8034F3C4:
/* 8034F3C4 0034C324 C0 04 00 04 */ lfs f0, 4(r4)
/* 8034F3C8 0034C328 C0 22 CC 58 */ lfs f1, lbl_805AE978@sda21(r2)
/* 8034F3CC 0034C32C EC 62 00 28 */ fsubs f3, f2, f0
/* 8034F3D0 0034C330 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 8034F3D4 0034C334 40 80 00 0C */ bge lbl_8034F3E0
/* 8034F3D8 0034C338 FC 60 08 90 */ fmr f3, f1
/* 8034F3DC 0034C33C 48 00 00 14 */ b lbl_8034F3F0
lbl_8034F3E0:
/* 8034F3E0 0034C340 C0 02 CC 5C */ lfs f0, lbl_805AE97C@sda21(r2)
/* 8034F3E4 0034C344 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8034F3E8 0034C348 40 81 00 08 */ ble lbl_8034F3F0
/* 8034F3EC 0034C34C FC 60 00 90 */ fmr f3, f0
lbl_8034F3F0:
/* 8034F3F0 0034C350 D0 64 00 00 */ stfs f3, 0(r4)
/* 8034F3F4 0034C354 D0 44 00 04 */ stfs f2, 4(r4)
/* 8034F3F8 0034C358 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034F3FC 0034C35C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034F400 0034C360 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8034F404 0034C364 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8034F408 0034C368 7C 08 03 A6 */ mtlr r0
/* 8034F40C 0034C36C 38 21 00 20 */ addi r1, r1, 0x20
/* 8034F410 0034C370 4E 80 00 20 */ blr
.global ProcessInputData__18CDolphinControllerFv
ProcessInputData__18CDolphinControllerFv:
/* 8034F414 0034C374 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8034F418 0034C378 7C 08 02 A6 */ mflr r0
/* 8034F41C 0034C37C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8034F420 0034C380 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8034F424 0034C384 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8034F428 0034C388 3B C0 00 00 */ li r30, 0
/* 8034F42C 0034C38C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8034F430 0034C390 7C 7D 1B 78 */ mr r29, r3
/* 8034F434 0034C394 7F BF EB 78 */ mr r31, r29
lbl_8034F438:
/* 8034F438 0034C398 88 1F 00 34 */ lbz r0, 0x34(r31)
/* 8034F43C 0034C39C 28 00 00 00 */ cmplwi r0, 0
/* 8034F440 0034C3A0 41 82 00 50 */ beq lbl_8034F490
/* 8034F444 0034C3A4 7F A3 EB 78 */ mr r3, r29
/* 8034F448 0034C3A8 7F C4 F3 78 */ mr r4, r30
/* 8034F44C 0034C3AC 38 A0 00 00 */ li r5, 0
/* 8034F450 0034C3B0 4B FF FE 19 */ bl ProcessAxis__18CDolphinControllerFi8EJoyAxis
/* 8034F454 0034C3B4 7F A3 EB 78 */ mr r3, r29
/* 8034F458 0034C3B8 7F C4 F3 78 */ mr r4, r30
/* 8034F45C 0034C3BC 38 A0 00 01 */ li r5, 1
/* 8034F460 0034C3C0 4B FF FE 09 */ bl ProcessAxis__18CDolphinControllerFi8EJoyAxis
/* 8034F464 0034C3C4 7F A3 EB 78 */ mr r3, r29
/* 8034F468 0034C3C8 7F C4 F3 78 */ mr r4, r30
/* 8034F46C 0034C3CC 38 A0 00 02 */ li r5, 2
/* 8034F470 0034C3D0 4B FF FD F9 */ bl ProcessAxis__18CDolphinControllerFi8EJoyAxis
/* 8034F474 0034C3D4 7F A3 EB 78 */ mr r3, r29
/* 8034F478 0034C3D8 7F C4 F3 78 */ mr r4, r30
/* 8034F47C 0034C3DC 38 A0 00 03 */ li r5, 3
/* 8034F480 0034C3E0 4B FF FD E9 */ bl ProcessAxis__18CDolphinControllerFi8EJoyAxis
/* 8034F484 0034C3E4 7F A3 EB 78 */ mr r3, r29
/* 8034F488 0034C3E8 7F C4 F3 78 */ mr r4, r30
/* 8034F48C 0034C3EC 4B FF FD 0D */ bl ProcessButtons__18CDolphinControllerFi
lbl_8034F490:
/* 8034F490 0034C3F0 3B DE 00 01 */ addi r30, r30, 1
/* 8034F494 0034C3F4 3B FF 00 58 */ addi r31, r31, 0x58
/* 8034F498 0034C3F8 2C 1E 00 04 */ cmpwi r30, 4
/* 8034F49C 0034C3FC 41 80 FF 9C */ blt lbl_8034F438
/* 8034F4A0 0034C400 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8034F4A4 0034C404 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034F4A8 0034C408 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8034F4AC 0034C40C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8034F4B0 0034C410 7C 08 03 A6 */ mtlr r0
/* 8034F4B4 0034C414 38 21 00 20 */ addi r1, r1, 0x20
/* 8034F4B8 0034C418 4E 80 00 20 */ blr
.global ReadDevices__18CDolphinControllerFv
ReadDevices__18CDolphinControllerFv:
/* 8034F4BC 0034C41C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8034F4C0 0034C420 7C 08 02 A6 */ mflr r0
/* 8034F4C4 0034C424 90 01 00 54 */ stw r0, 0x54(r1)
/* 8034F4C8 0034C428 BF 41 00 38 */ stmw r26, 0x38(r1)
/* 8034F4CC 0034C42C 7C 7A 1B 78 */ mr r26, r3
/* 8034F4D0 0034C430 38 61 00 08 */ addi r3, r1, 8
/* 8034F4D4 0034C434 48 03 72 A5 */ bl PADRead
/* 8034F4D8 0034C438 88 61 00 12 */ lbz r3, 0x12(r1)
/* 8034F4DC 0034C43C 7C 60 07 75 */ extsb. r0, r3
/* 8034F4E0 0034C440 40 82 00 20 */ bne lbl_8034F500
/* 8034F4E4 0034C444 38 61 00 08 */ addi r3, r1, 8
/* 8034F4E8 0034C448 48 03 65 01 */ bl PADClamp
/* 8034F4EC 0034C44C 38 7A 00 04 */ addi r3, r26, 4
/* 8034F4F0 0034C450 38 81 00 08 */ addi r4, r1, 8
/* 8034F4F4 0034C454 38 A0 00 30 */ li r5, 0x30
/* 8034F4F8 0034C458 4B CB 3F 99 */ bl memcpy
/* 8034F4FC 0034C45C 48 00 00 20 */ b lbl_8034F51C
lbl_8034F500:
/* 8034F500 0034C460 98 7A 00 0E */ stb r3, 0xe(r26)
/* 8034F504 0034C464 88 01 00 1E */ lbz r0, 0x1e(r1)
/* 8034F508 0034C468 98 1A 00 1A */ stb r0, 0x1a(r26)
/* 8034F50C 0034C46C 88 01 00 2A */ lbz r0, 0x2a(r1)
/* 8034F510 0034C470 98 1A 00 26 */ stb r0, 0x26(r26)
/* 8034F514 0034C474 88 01 00 36 */ lbz r0, 0x36(r1)
/* 8034F518 0034C478 98 1A 00 32 */ stb r0, 0x32(r26)
lbl_8034F51C:
/* 8034F51C 0034C47C 7F 5E D3 78 */ mr r30, r26
/* 8034F520 0034C480 7F 5D D3 78 */ mr r29, r26
/* 8034F524 0034C484 7F 5C D3 78 */ mr r28, r26
/* 8034F528 0034C488 3B 60 00 00 */ li r27, 0
/* 8034F52C 0034C48C 3F E0 80 00 */ lis r31, 0x8000
lbl_8034F530:
/* 8034F530 0034C490 88 1E 00 0E */ lbz r0, 0xe(r30)
/* 8034F534 0034C494 7F E4 DC 30 */ srw r4, r31, r27
/* 8034F538 0034C498 7C 03 07 74 */ extsb r3, r0
/* 8034F53C 0034C49C 2C 03 FF FE */ cmpwi r3, -2
/* 8034F540 0034C4A0 41 82 00 34 */ beq lbl_8034F574
/* 8034F544 0034C4A4 7C 00 07 75 */ extsb. r0, r0
/* 8034F548 0034C4A8 40 82 00 10 */ bne lbl_8034F558
/* 8034F54C 0034C4AC 38 00 00 01 */ li r0, 1
/* 8034F550 0034C4B0 98 1D 00 34 */ stb r0, 0x34(r29)
/* 8034F554 0034C4B4 48 00 00 20 */ b lbl_8034F574
lbl_8034F558:
/* 8034F558 0034C4B8 2C 03 FF FF */ cmpwi r3, -1
/* 8034F55C 0034C4BC 40 82 00 18 */ bne lbl_8034F574
/* 8034F560 0034C4C0 80 7A 01 C8 */ lwz r3, 0x1c8(r26)
/* 8034F564 0034C4C4 38 00 00 00 */ li r0, 0
/* 8034F568 0034C4C8 7C 63 23 78 */ or r3, r3, r4
/* 8034F56C 0034C4CC 90 7A 01 C8 */ stw r3, 0x1c8(r26)
/* 8034F570 0034C4D0 98 1D 00 34 */ stb r0, 0x34(r29)
lbl_8034F574:
/* 8034F574 0034C4D4 80 7C 01 B4 */ lwz r3, 0x1b4(r28)
/* 8034F578 0034C4D8 28 03 00 00 */ cmplwi r3, 0
/* 8034F57C 0034C4DC 41 82 00 10 */ beq lbl_8034F58C
/* 8034F580 0034C4E0 38 03 FF FF */ addi r0, r3, -1
/* 8034F584 0034C4E4 90 1C 01 B4 */ stw r0, 0x1b4(r28)
/* 8034F588 0034C4E8 48 00 00 78 */ b lbl_8034F600
lbl_8034F58C:
/* 8034F58C 0034C4EC 7F 63 DB 78 */ mr r3, r27
/* 8034F590 0034C4F0 48 07 09 59 */ bl SIProbe
/* 8034F594 0034C4F4 70 60 00 C8 */ andi. r0, r3, 0xc8
/* 8034F598 0034C4F8 41 82 00 1C */ beq lbl_8034F5B4
/* 8034F59C 0034C4FC 80 1C 01 B4 */ lwz r0, 0x1b4(r28)
/* 8034F5A0 0034C500 28 00 00 00 */ cmplwi r0, 0
/* 8034F5A4 0034C504 40 82 00 5C */ bne lbl_8034F600
/* 8034F5A8 0034C508 80 02 CC 60 */ lwz r0, lbl_805AE980@sda21(r2)
/* 8034F5AC 0034C50C 90 1C 01 A4 */ stw r0, 0x1a4(r28)
/* 8034F5B0 0034C510 48 00 00 50 */ b lbl_8034F600
lbl_8034F5B4:
/* 8034F5B4 0034C514 3C 03 74 F0 */ addis r0, r3, 0x74f0
/* 8034F5B8 0034C518 38 80 00 3C */ li r4, 0x3c
/* 8034F5BC 0034C51C 28 00 00 00 */ cmplwi r0, 0
/* 8034F5C0 0034C520 90 9C 01 B4 */ stw r4, 0x1b4(r28)
/* 8034F5C4 0034C524 40 82 00 10 */ bne lbl_8034F5D4
/* 8034F5C8 0034C528 80 02 CC 6C */ lwz r0, lbl_805AE98C@sda21(r2)
/* 8034F5CC 0034C52C 90 1C 01 A4 */ stw r0, 0x1a4(r28)
/* 8034F5D0 0034C530 48 00 00 30 */ b lbl_8034F600
lbl_8034F5D4:
/* 8034F5D4 0034C534 3C 03 FF FC */ addis r0, r3, 0xfffc
/* 8034F5D8 0034C538 28 00 00 00 */ cmplwi r0, 0
/* 8034F5DC 0034C53C 40 82 00 10 */ bne lbl_8034F5EC
/* 8034F5E0 0034C540 80 02 CC 68 */ lwz r0, lbl_805AE988@sda21(r2)
/* 8034F5E4 0034C544 90 1C 01 A4 */ stw r0, 0x1a4(r28)
/* 8034F5E8 0034C548 48 00 00 18 */ b lbl_8034F600
lbl_8034F5EC:
/* 8034F5EC 0034C54C 3C 03 F7 00 */ addis r0, r3, 0xf700
/* 8034F5F0 0034C550 28 00 00 00 */ cmplwi r0, 0
/* 8034F5F4 0034C554 40 82 00 0C */ bne lbl_8034F600
/* 8034F5F8 0034C558 80 02 CC 64 */ lwz r0, lbl_805AE984@sda21(r2)
/* 8034F5FC 0034C55C 90 1C 01 A4 */ stw r0, 0x1a4(r28)
lbl_8034F600:
/* 8034F600 0034C560 3B 7B 00 01 */ addi r27, r27, 1
/* 8034F604 0034C564 3B BD 00 58 */ addi r29, r29, 0x58
/* 8034F608 0034C568 2C 1B 00 04 */ cmpwi r27, 4
/* 8034F60C 0034C56C 3B 9C 00 04 */ addi r28, r28, 4
/* 8034F610 0034C570 3B DE 00 0C */ addi r30, r30, 0xc
/* 8034F614 0034C574 41 80 FF 1C */ blt lbl_8034F530
/* 8034F618 0034C578 80 7A 01 C8 */ lwz r3, 0x1c8(r26)
/* 8034F61C 0034C57C 28 03 00 00 */ cmplwi r3, 0
/* 8034F620 0034C580 41 82 00 18 */ beq lbl_8034F638
/* 8034F624 0034C584 48 03 6D 39 */ bl PADReset
/* 8034F628 0034C588 2C 03 00 00 */ cmpwi r3, 0
/* 8034F62C 0034C58C 41 82 00 0C */ beq lbl_8034F638
/* 8034F630 0034C590 38 00 00 00 */ li r0, 0
/* 8034F634 0034C594 90 1A 01 C8 */ stw r0, 0x1c8(r26)
lbl_8034F638:
/* 8034F638 0034C598 BB 41 00 38 */ lmw r26, 0x38(r1)
/* 8034F63C 0034C59C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8034F640 0034C5A0 7C 08 03 A6 */ mtlr r0
/* 8034F644 0034C5A4 38 21 00 50 */ addi r1, r1, 0x50
/* 8034F648 0034C5A8 4E 80 00 20 */ blr
.global Poll__18CDolphinControllerFv
Poll__18CDolphinControllerFv:
/* 8034F64C 0034C5AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F650 0034C5B0 7C 08 02 A6 */ mflr r0
/* 8034F654 0034C5B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F658 0034C5B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F65C 0034C5BC 7C 7F 1B 78 */ mr r31, r3
/* 8034F660 0034C5C0 4B FF FE 5D */ bl ReadDevices__18CDolphinControllerFv
/* 8034F664 0034C5C4 7F E3 FB 78 */ mr r3, r31
/* 8034F668 0034C5C8 4B FF FD AD */ bl ProcessInputData__18CDolphinControllerFv
/* 8034F66C 0034C5CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F670 0034C5D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F674 0034C5D4 7C 08 03 A6 */ mtlr r0
/* 8034F678 0034C5D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F67C 0034C5DC 4E 80 00 20 */ blr
.global Initialize__18CDolphinControllerFv
Initialize__18CDolphinControllerFv:
/* 8034F680 0034C5E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F684 0034C5E4 7C 08 02 A6 */ mflr r0
/* 8034F688 0034C5E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F68C 0034C5EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F690 0034C5F0 7C 7F 1B 78 */ mr r31, r3
/* 8034F694 0034C5F4 48 07 9F B9 */ bl GBAInit
/* 8034F698 0034C5F8 38 7F 00 04 */ addi r3, r31, 4
/* 8034F69C 0034C5FC 38 80 00 00 */ li r4, 0
/* 8034F6A0 0034C600 38 A0 00 30 */ li r5, 0x30
/* 8034F6A4 0034C604 4B CB 3D 05 */ bl memset
/* 8034F6A8 0034C608 38 A0 00 00 */ li r5, 0
/* 8034F6AC 0034C60C 38 80 00 02 */ li r4, 2
/* 8034F6B0 0034C610 98 BF 00 34 */ stb r5, 0x34(r31)
/* 8034F6B4 0034C614 38 7F 01 94 */ addi r3, r31, 0x194
/* 8034F6B8 0034C618 80 02 CC 60 */ lwz r0, lbl_805AE980@sda21(r2)
/* 8034F6BC 0034C61C 90 9F 01 94 */ stw r4, 0x194(r31)
/* 8034F6C0 0034C620 90 BF 01 B4 */ stw r5, 0x1b4(r31)
/* 8034F6C4 0034C624 90 1F 01 A4 */ stw r0, 0x1a4(r31)
/* 8034F6C8 0034C628 98 BF 00 8C */ stb r5, 0x8c(r31)
/* 8034F6CC 0034C62C 90 9F 01 98 */ stw r4, 0x198(r31)
/* 8034F6D0 0034C630 90 BF 01 B8 */ stw r5, 0x1b8(r31)
/* 8034F6D4 0034C634 90 1F 01 A8 */ stw r0, 0x1a8(r31)
/* 8034F6D8 0034C638 98 BF 00 E4 */ stb r5, 0xe4(r31)
/* 8034F6DC 0034C63C 90 9F 01 9C */ stw r4, 0x19c(r31)
/* 8034F6E0 0034C640 90 BF 01 BC */ stw r5, 0x1bc(r31)
/* 8034F6E4 0034C644 90 1F 01 AC */ stw r0, 0x1ac(r31)
/* 8034F6E8 0034C648 98 BF 01 3C */ stb r5, 0x13c(r31)
/* 8034F6EC 0034C64C 90 9F 01 A0 */ stw r4, 0x1a0(r31)
/* 8034F6F0 0034C650 90 BF 01 C0 */ stw r5, 0x1c0(r31)
/* 8034F6F4 0034C654 90 1F 01 B0 */ stw r0, 0x1b0(r31)
/* 8034F6F8 0034C658 48 03 74 2D */ bl PADControlAllMotors
/* 8034F6FC 0034C65C 7F E3 FB 78 */ mr r3, r31
/* 8034F700 0034C660 81 9F 00 00 */ lwz r12, 0(r31)
/* 8034F704 0034C664 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8034F708 0034C668 7D 89 03 A6 */ mtctr r12
/* 8034F70C 0034C66C 4E 80 04 21 */ bctrl
/* 8034F710 0034C670 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F714 0034C674 38 60 00 01 */ li r3, 1
/* 8034F718 0034C678 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F71C 0034C67C 7C 08 03 A6 */ mtlr r0
/* 8034F720 0034C680 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F724 0034C684 4E 80 00 20 */ blr
.global __dt__18CDolphinControllerFv
__dt__18CDolphinControllerFv:
/* 8034F728 0034C688 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F72C 0034C68C 7C 08 02 A6 */ mflr r0
/* 8034F730 0034C690 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F734 0034C694 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F738 0034C698 7C 9F 23 78 */ mr r31, r4
/* 8034F73C 0034C69C 93 C1 00 08 */ stw r30, 8(r1)
/* 8034F740 0034C6A0 7C 7E 1B 79 */ or. r30, r3, r3
/* 8034F744 0034C6A4 41 82 00 28 */ beq lbl_8034F76C
/* 8034F748 0034C6A8 3C A0 80 3F */ lis r5, lbl_803EF6B8@ha
/* 8034F74C 0034C6AC 38 80 00 00 */ li r4, 0
/* 8034F750 0034C6B0 38 05 F6 B8 */ addi r0, r5, lbl_803EF6B8@l
/* 8034F754 0034C6B4 90 1E 00 00 */ stw r0, 0(r30)
/* 8034F758 0034C6B8 4B FF F8 B1 */ bl __dt__11IControllerFv
/* 8034F75C 0034C6BC 7F E0 07 35 */ extsh. r0, r31
/* 8034F760 0034C6C0 40 81 00 0C */ ble lbl_8034F76C
/* 8034F764 0034C6C4 7F C3 F3 78 */ mr r3, r30
/* 8034F768 0034C6C8 4B FC 61 C9 */ bl Free__7CMemoryFPCv
lbl_8034F76C:
/* 8034F76C 0034C6CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F770 0034C6D0 7F C3 F3 78 */ mr r3, r30
/* 8034F774 0034C6D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F778 0034C6D8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8034F77C 0034C6DC 7C 08 03 A6 */ mtlr r0
/* 8034F780 0034C6E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F784 0034C6E4 4E 80 00 20 */ blr
.global __ct__18CDolphinControllerFv
__ct__18CDolphinControllerFv:
/* 8034F788 0034C6E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F78C 0034C6EC 7C 08 02 A6 */ mflr r0
/* 8034F790 0034C6F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F794 0034C6F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F798 0034C6F8 7C 7F 1B 78 */ mr r31, r3
/* 8034F79C 0034C6FC 4B FF F8 B5 */ bl __ct__11IControllerFv
/* 8034F7A0 0034C700 3C 60 80 3F */ lis r3, lbl_803EF6B8@ha
/* 8034F7A4 0034C704 3C 80 80 35 */ lis r4, __ct__22CControllerGamepadDataFv@ha
/* 8034F7A8 0034C708 38 03 F6 B8 */ addi r0, r3, lbl_803EF6B8@l
/* 8034F7AC 0034C70C 38 A0 00 00 */ li r5, 0
/* 8034F7B0 0034C710 90 1F 00 00 */ stw r0, 0(r31)
/* 8034F7B4 0034C714 38 7F 00 34 */ addi r3, r31, 0x34
/* 8034F7B8 0034C718 38 84 F8 2C */ addi r4, r4, __ct__22CControllerGamepadDataFv@l
/* 8034F7BC 0034C71C 38 C0 00 58 */ li r6, 0x58
/* 8034F7C0 0034C720 38 E0 00 04 */ li r7, 4
/* 8034F7C4 0034C724 48 03 9F 89 */ bl __construct_array
/* 8034F7C8 0034C728 3C 00 F0 00 */ lis r0, 0xf000
/* 8034F7CC 0034C72C 38 60 00 00 */ li r3, 0
/* 8034F7D0 0034C730 90 1F 01 C4 */ stw r0, 0x1c4(r31)
/* 8034F7D4 0034C734 90 7F 01 C8 */ stw r3, 0x1c8(r31)
/* 8034F7D8 0034C738 90 7F 01 CC */ stw r3, 0x1cc(r31)
/* 8034F7DC 0034C73C 88 0D AA 09 */ lbz r0, lbl_805A95C9@sda21(r13)
/* 8034F7E0 0034C740 7C 00 07 75 */ extsb. r0, r0
/* 8034F7E4 0034C744 40 82 00 10 */ bne lbl_8034F7F4
/* 8034F7E8 0034C748 38 00 00 01 */ li r0, 1
/* 8034F7EC 0034C74C 98 6D AA 08 */ stb r3, lbl_805A95C8@sda21(r13)
/* 8034F7F0 0034C750 98 0D AA 09 */ stb r0, lbl_805A95C9@sda21(r13)
lbl_8034F7F4:
/* 8034F7F4 0034C754 88 0D AA 08 */ lbz r0, lbl_805A95C8@sda21(r13)
/* 8034F7F8 0034C758 28 00 00 00 */ cmplwi r0, 0
/* 8034F7FC 0034C75C 40 82 00 18 */ bne lbl_8034F814
/* 8034F800 0034C760 38 60 00 05 */ li r3, 5
/* 8034F804 0034C764 48 03 74 7D */ bl PADSetSpec
/* 8034F808 0034C768 48 03 6D 59 */ bl PADInit
/* 8034F80C 0034C76C 38 00 00 01 */ li r0, 1
/* 8034F810 0034C770 98 0D AA 08 */ stb r0, lbl_805A95C8@sda21(r13)
lbl_8034F814:
/* 8034F814 0034C774 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F818 0034C778 7F E3 FB 78 */ mr r3, r31
/* 8034F81C 0034C77C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F820 0034C780 7C 08 03 A6 */ mtlr r0
/* 8034F824 0034C784 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F828 0034C788 4E 80 00 20 */ blr
.global __ct__22CControllerGamepadDataFv
__ct__22CControllerGamepadDataFv:
/* 8034F82C 0034C78C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F830 0034C790 7C 08 02 A6 */ mflr r0
/* 8034F834 0034C794 3C 80 80 35 */ lis r4, __ct__15CControllerAxisFv@ha
/* 8034F838 0034C798 38 A0 00 00 */ li r5, 0
/* 8034F83C 0034C79C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F840 0034C7A0 38 84 F8 C0 */ addi r4, r4, __ct__15CControllerAxisFv@l
/* 8034F844 0034C7A4 38 C0 00 08 */ li r6, 8
/* 8034F848 0034C7A8 38 E0 00 04 */ li r7, 4
/* 8034F84C 0034C7AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F850 0034C7B0 7C 7F 1B 78 */ mr r31, r3
/* 8034F854 0034C7B4 38 7F 00 04 */ addi r3, r31, 4
/* 8034F858 0034C7B8 48 03 9E F5 */ bl __construct_array
/* 8034F85C 0034C7BC 3C 80 80 35 */ lis r4, __ct__15CControllerAxisFv@ha
/* 8034F860 0034C7C0 38 7F 00 24 */ addi r3, r31, 0x24
/* 8034F864 0034C7C4 38 84 F8 C0 */ addi r4, r4, __ct__15CControllerAxisFv@l
/* 8034F868 0034C7C8 38 A0 00 00 */ li r5, 0
/* 8034F86C 0034C7CC 38 C0 00 08 */ li r6, 8
/* 8034F870 0034C7D0 38 E0 00 02 */ li r7, 2
/* 8034F874 0034C7D4 48 03 9E D9 */ bl __construct_array
/* 8034F878 0034C7D8 3C 80 80 35 */ lis r4, __ct__17CControllerButtonFv@ha
/* 8034F87C 0034C7DC 38 7F 00 34 */ addi r3, r31, 0x34
/* 8034F880 0034C7E0 38 84 F8 AC */ addi r4, r4, __ct__17CControllerButtonFv@l
/* 8034F884 0034C7E4 38 A0 00 00 */ li r5, 0
/* 8034F888 0034C7E8 38 C0 00 03 */ li r6, 3
/* 8034F88C 0034C7EC 38 E0 00 0C */ li r7, 0xc
/* 8034F890 0034C7F0 48 03 9E BD */ bl __construct_array
/* 8034F894 0034C7F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F898 0034C7F8 7F E3 FB 78 */ mr r3, r31
/* 8034F89C 0034C7FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F8A0 0034C800 7C 08 03 A6 */ mtlr r0
/* 8034F8A4 0034C804 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F8A8 0034C808 4E 80 00 20 */ blr
.global __ct__17CControllerButtonFv
__ct__17CControllerButtonFv:
/* 8034F8AC 0034C80C 38 00 00 00 */ li r0, 0
/* 8034F8B0 0034C810 98 03 00 00 */ stb r0, 0(r3)
/* 8034F8B4 0034C814 98 03 00 01 */ stb r0, 1(r3)
/* 8034F8B8 0034C818 98 03 00 02 */ stb r0, 2(r3)
/* 8034F8BC 0034C81C 4E 80 00 20 */ blr
.global __ct__15CControllerAxisFv
__ct__15CControllerAxisFv:
/* 8034F8C0 0034C820 C0 02 CC 78 */ lfs f0, lbl_805AE998@sda21(r2)
/* 8034F8C4 0034C824 D0 03 00 00 */ stfs f0, 0(r3)
/* 8034F8C8 0034C828 D0 03 00 04 */ stfs f0, 4(r3)
/* 8034F8CC 0034C82C 4E 80 00 20 */ blr

View File

@ -0,0 +1,364 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global SetDisabled__14CRumbleManagerFb
SetDisabled__14CRumbleManagerFb:
/* 80369D00 00366C60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369D04 00366C64 7C 08 02 A6 */ mflr r0
/* 80369D08 00366C68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80369D0C 00366C6C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80369D10 00366C70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80369D14 00366C74 7C 9F 23 78 */ mr r31, r4
/* 80369D18 00366C78 93 C1 00 08 */ stw r30, 8(r1)
/* 80369D1C 00366C7C 7C 7E 1B 78 */ mr r30, r3
/* 80369D20 00366C80 41 82 00 08 */ beq lbl_80369D28
/* 80369D24 00366C84 48 00 00 29 */ bl HardStopAll__16CRumbleGeneratorFv
lbl_80369D28:
/* 80369D28 00366C88 88 1E 00 F0 */ lbz r0, 0xf0(r30)
/* 80369D2C 00366C8C 53 E0 3E 30 */ rlwimi r0, r31, 7, 0x18, 0x18
/* 80369D30 00366C90 98 1E 00 F0 */ stb r0, 0xf0(r30)
/* 80369D34 00366C94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80369D38 00366C98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80369D3C 00366C9C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80369D40 00366CA0 7C 08 03 A6 */ mtlr r0
/* 80369D44 00366CA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80369D48 00366CA8 4E 80 00 20 */ blr
.global HardStopAll__16CRumbleGeneratorFv
HardStopAll__16CRumbleGeneratorFv:
/* 80369D4C 00366CAC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80369D50 00366CB0 7C 08 02 A6 */ mflr r0
/* 80369D54 00366CB4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80369D58 00366CB8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80369D5C 00366CBC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80369D60 00366CC0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80369D64 00366CC4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80369D68 00366CC8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80369D6C 00366CCC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80369D70 00366CD0 C3 E2 CD F0 */ lfs f31, lbl_805AEB10@sda21(r2)
/* 80369D74 00366CD4 7C 7E 1B 78 */ mr r30, r3
/* 80369D78 00366CD8 3B 80 00 00 */ li r28, 0
/* 80369D7C 00366CDC 7C 7D 1B 78 */ mr r29, r3
/* 80369D80 00366CE0 3B E0 00 00 */ li r31, 0
lbl_80369D84:
/* 80369D84 00366CE4 D3 FE 00 C0 */ stfs f31, 0xc0(r30)
/* 80369D88 00366CE8 7F A3 EB 78 */ mr r3, r29
/* 80369D8C 00366CEC D3 FE 00 D0 */ stfs f31, 0xd0(r30)
/* 80369D90 00366CF0 93 FE 00 E0 */ stw r31, 0xe0(r30)
/* 80369D94 00366CF4 4B FF F9 35 */ bl HardReset__12CRumbleVoiceFv
/* 80369D98 00366CF8 3B 9C 00 01 */ addi r28, r28, 1
/* 80369D9C 00366CFC 3B BD 00 30 */ addi r29, r29, 0x30
/* 80369DA0 00366D00 2C 1C 00 04 */ cmpwi r28, 4
/* 80369DA4 00366D04 3B DE 00 04 */ addi r30, r30, 4
/* 80369DA8 00366D08 41 80 FF DC */ blt lbl_80369D84
/* 80369DAC 00366D0C 3C 60 80 3E */ lis r3, lbl_803D8548@ha
/* 80369DB0 00366D10 38 63 85 48 */ addi r3, r3, lbl_803D8548@l
/* 80369DB4 00366D14 48 01 CD 71 */ bl PADControlAllMotors
/* 80369DB8 00366D18 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80369DBC 00366D1C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80369DC0 00366D20 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80369DC4 00366D24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80369DC8 00366D28 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80369DCC 00366D2C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80369DD0 00366D30 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80369DD4 00366D34 7C 08 03 A6 */ mtlr r0
/* 80369DD8 00366D38 38 21 00 30 */ addi r1, r1, 0x30
/* 80369DDC 00366D3C 4E 80 00 20 */ blr
.global Update__16CRumbleGeneratorFf
Update__16CRumbleGeneratorFf:
/* 80369DE0 00366D40 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80369DE4 00366D44 7C 08 02 A6 */ mflr r0
/* 80369DE8 00366D48 90 01 00 44 */ stw r0, 0x44(r1)
/* 80369DEC 00366D4C DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80369DF0 00366D50 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80369DF4 00366D54 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80369DF8 00366D58 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 80369DFC 00366D5C BF 61 00 0C */ stmw r27, 0xc(r1)
/* 80369E00 00366D60 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 80369E04 00366D64 FF C0 08 90 */ fmr f30, f1
/* 80369E08 00366D68 7C 7B 1B 78 */ mr r27, r3
/* 80369E0C 00366D6C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80369E10 00366D70 40 82 01 18 */ bne lbl_80369F28
/* 80369E14 00366D74 7F 7F DB 78 */ mr r31, r27
/* 80369E18 00366D78 7F 7E DB 78 */ mr r30, r27
/* 80369E1C 00366D7C 3B A0 00 00 */ li r29, 0
/* 80369E20 00366D80 3B 80 00 00 */ li r28, 0
lbl_80369E24:
/* 80369E24 00366D84 7F E3 FB 78 */ mr r3, r31
/* 80369E28 00366D88 4B FF F4 AD */ bl GetIntensity__12CRumbleVoiceCFv
/* 80369E2C 00366D8C FF E0 08 90 */ fmr f31, f1
/* 80369E30 00366D90 7F E3 FB 78 */ mr r3, r31
/* 80369E34 00366D94 FC 20 F0 90 */ fmr f1, f30
/* 80369E38 00366D98 4B FF F5 29 */ bl Update__12CRumbleVoiceFf
/* 80369E3C 00366D9C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80369E40 00366DA0 41 82 00 14 */ beq lbl_80369E54
/* 80369E44 00366DA4 C0 62 CD F0 */ lfs f3, lbl_805AEB10@sda21(r2)
/* 80369E48 00366DA8 FC 1F 18 40 */ fcmpo cr0, f31, f3
/* 80369E4C 00366DAC 4C 40 13 82 */ cror 2, 0, 2
/* 80369E50 00366DB0 40 82 00 2C */ bne lbl_80369E7C
lbl_80369E54:
/* 80369E54 00366DB4 C0 02 CD F0 */ lfs f0, lbl_805AEB10@sda21(r2)
/* 80369E58 00366DB8 D0 1E 00 C0 */ stfs f0, 0xc0(r30)
/* 80369E5C 00366DBC D0 1E 00 D0 */ stfs f0, 0xd0(r30)
/* 80369E60 00366DC0 80 1E 00 E0 */ lwz r0, 0xe0(r30)
/* 80369E64 00366DC4 2C 00 00 00 */ cmpwi r0, 0
/* 80369E68 00366DC8 41 82 00 9C */ beq lbl_80369F04
/* 80369E6C 00366DCC 38 00 00 00 */ li r0, 0
/* 80369E70 00366DD0 3B A0 00 01 */ li r29, 1
/* 80369E74 00366DD4 90 1E 00 E0 */ stw r0, 0xe0(r30)
/* 80369E78 00366DD8 48 00 00 8C */ b lbl_80369F04
lbl_80369E7C:
/* 80369E7C 00366DDC C0 02 CD F8 */ lfs f0, lbl_805AEB18@sda21(r2)
/* 80369E80 00366DE0 C0 5E 00 C0 */ lfs f2, 0xc0(r30)
/* 80369E84 00366DE4 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80369E88 00366DE8 C0 22 CD F4 */ lfs f1, lbl_805AEB14@sda21(r2)
/* 80369E8C 00366DEC EC 42 F0 2A */ fadds f2, f2, f30
/* 80369E90 00366DF0 EC 01 00 24 */ fdivs f0, f1, f0
/* 80369E94 00366DF4 D0 5E 00 C0 */ stfs f2, 0xc0(r30)
/* 80369E98 00366DF8 C0 3E 00 C0 */ lfs f1, 0xc0(r30)
/* 80369E9C 00366DFC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80369EA0 00366E00 4C 41 13 82 */ cror 2, 1, 2
/* 80369EA4 00366E04 40 82 00 24 */ bne lbl_80369EC8
/* 80369EA8 00366E08 D0 7E 00 C0 */ stfs f3, 0xc0(r30)
/* 80369EAC 00366E0C 80 1E 00 E0 */ lwz r0, 0xe0(r30)
/* 80369EB0 00366E10 2C 00 00 01 */ cmpwi r0, 1
/* 80369EB4 00366E14 41 82 00 50 */ beq lbl_80369F04
/* 80369EB8 00366E18 38 00 00 01 */ li r0, 1
/* 80369EBC 00366E1C 3B A0 00 01 */ li r29, 1
/* 80369EC0 00366E20 90 1E 00 E0 */ stw r0, 0xe0(r30)
/* 80369EC4 00366E24 48 00 00 40 */ b lbl_80369F04
lbl_80369EC8:
/* 80369EC8 00366E28 C0 3E 00 D0 */ lfs f1, 0xd0(r30)
/* 80369ECC 00366E2C C0 02 CD FC */ lfs f0, lbl_805AEB1C@sda21(r2)
/* 80369ED0 00366E30 EC 21 F0 2A */ fadds f1, f1, f30
/* 80369ED4 00366E34 D0 3E 00 D0 */ stfs f1, 0xd0(r30)
/* 80369ED8 00366E38 C0 3E 00 D0 */ lfs f1, 0xd0(r30)
/* 80369EDC 00366E3C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80369EE0 00366E40 4C 41 13 82 */ cror 2, 1, 2
/* 80369EE4 00366E44 40 82 00 20 */ bne lbl_80369F04
/* 80369EE8 00366E48 D0 7E 00 D0 */ stfs f3, 0xd0(r30)
/* 80369EEC 00366E4C 80 1E 00 E0 */ lwz r0, 0xe0(r30)
/* 80369EF0 00366E50 2C 00 00 00 */ cmpwi r0, 0
/* 80369EF4 00366E54 41 82 00 10 */ beq lbl_80369F04
/* 80369EF8 00366E58 38 00 00 00 */ li r0, 0
/* 80369EFC 00366E5C 3B A0 00 01 */ li r29, 1
/* 80369F00 00366E60 90 1E 00 E0 */ stw r0, 0xe0(r30)
lbl_80369F04:
/* 80369F04 00366E64 3B 9C 00 01 */ addi r28, r28, 1
/* 80369F08 00366E68 3B DE 00 04 */ addi r30, r30, 4
/* 80369F0C 00366E6C 2C 1C 00 04 */ cmpwi r28, 4
/* 80369F10 00366E70 3B FF 00 30 */ addi r31, r31, 0x30
/* 80369F14 00366E74 41 80 FF 10 */ blt lbl_80369E24
/* 80369F18 00366E78 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80369F1C 00366E7C 41 82 00 0C */ beq lbl_80369F28
/* 80369F20 00366E80 38 7B 00 E0 */ addi r3, r27, 0xe0
/* 80369F24 00366E84 48 01 CC 01 */ bl PADControlAllMotors
lbl_80369F28:
/* 80369F28 00366E88 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 80369F2C 00366E8C CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80369F30 00366E90 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 80369F34 00366E94 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 80369F38 00366E98 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80369F3C 00366E9C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369F40 00366EA0 7C 08 03 A6 */ mtlr r0
/* 80369F44 00366EA4 38 21 00 40 */ addi r1, r1, 0x40
/* 80369F48 00366EA8 4E 80 00 20 */ blr
.global Rumble__16CRumbleGeneratorFRC9SAdsrDataf15ERumblePriority7EIOPort
Rumble__16CRumbleGeneratorFRC9SAdsrDataf15ERumblePriority7EIOPort:
/* 80369F4C 00366EAC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80369F50 00366EB0 7C 08 02 A6 */ mflr r0
/* 80369F54 00366EB4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80369F58 00366EB8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80369F5C 00366EBC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80369F60 00366EC0 BF 41 00 08 */ stmw r26, 8(r1)
/* 80369F64 00366EC4 7C DD 33 78 */ mr r29, r6
/* 80369F68 00366EC8 7C 7A 1B 78 */ mr r26, r3
/* 80369F6C 00366ECC 1F FD 00 30 */ mulli r31, r29, 0x30
/* 80369F70 00366ED0 FF E0 08 90 */ fmr f31, f1
/* 80369F74 00366ED4 7C 9B 23 78 */ mr r27, r4
/* 80369F78 00366ED8 7C BC 2B 78 */ mr r28, r5
/* 80369F7C 00366EDC 7F DA FA 14 */ add r30, r26, r31
/* 80369F80 00366EE0 7F C3 F3 78 */ mr r3, r30
/* 80369F84 00366EE4 4B FF F3 9D */ bl GetFreeChannel__12CRumbleVoiceCFv
/* 80369F88 00366EE8 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80369F8C 00366EEC 7C 65 1B 78 */ mr r5, r3
/* 80369F90 00366EF0 1C 60 00 24 */ mulli r3, r0, 0x24
/* 80369F94 00366EF4 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 80369F98 00366EF8 38 03 00 1C */ addi r0, r3, 0x1c
/* 80369F9C 00366EFC 7C 04 00 2E */ lwzx r0, r4, r0
/* 80369FA0 00366F00 7C 1C 00 00 */ cmpw r28, r0
/* 80369FA4 00366F04 41 80 00 30 */ blt lbl_80369FD4
/* 80369FA8 00366F08 57 A0 10 3A */ slwi r0, r29, 2
/* 80369FAC 00366F0C C0 02 CD F0 */ lfs f0, lbl_805AEB10@sda21(r2)
/* 80369FB0 00366F10 7C DA 02 14 */ add r6, r26, r0
/* 80369FB4 00366F14 FC 20 F8 90 */ fmr f1, f31
/* 80369FB8 00366F18 D0 06 00 C0 */ stfs f0, 0xc0(r6)
/* 80369FBC 00366F1C 7F C3 F3 78 */ mr r3, r30
/* 80369FC0 00366F20 7F 64 DB 78 */ mr r4, r27
/* 80369FC4 00366F24 D0 06 00 D0 */ stfs f0, 0xd0(r6)
/* 80369FC8 00366F28 7F 86 E3 78 */ mr r6, r28
/* 80369FCC 00366F2C 4B FF F8 41 */ bl Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority
/* 80369FD0 00366F30 48 00 00 08 */ b lbl_80369FD8
lbl_80369FD4:
/* 80369FD4 00366F34 38 60 FF FF */ li r3, -1
lbl_80369FD8:
/* 80369FD8 00366F38 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80369FDC 00366F3C CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80369FE0 00366F40 BB 41 00 08 */ lmw r26, 8(r1)
/* 80369FE4 00366F44 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80369FE8 00366F48 7C 08 03 A6 */ mtlr r0
/* 80369FEC 00366F4C 38 21 00 30 */ addi r1, r1, 0x30
/* 80369FF0 00366F50 4E 80 00 20 */ blr
.global __dt__16CRumbleGeneratorFv
__dt__16CRumbleGeneratorFv:
/* 80369FF4 00366F54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369FF8 00366F58 7C 08 02 A6 */ mflr r0
/* 80369FFC 00366F5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036A000 00366F60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036A004 00366F64 7C 9F 23 78 */ mr r31, r4
/* 8036A008 00366F68 93 C1 00 08 */ stw r30, 8(r1)
/* 8036A00C 00366F6C 7C 7E 1B 79 */ or. r30, r3, r3
/* 8036A010 00366F70 41 82 00 30 */ beq lbl_8036A040
/* 8036A014 00366F74 4B FF FD 39 */ bl HardStopAll__16CRumbleGeneratorFv
/* 8036A018 00366F78 3C 80 80 37 */ lis r4, __dt__12CRumbleVoiceFv@ha
/* 8036A01C 00366F7C 7F C3 F3 78 */ mr r3, r30
/* 8036A020 00366F80 38 84 A0 5C */ addi r4, r4, __dt__12CRumbleVoiceFv@l
/* 8036A024 00366F84 38 A0 00 30 */ li r5, 0x30
/* 8036A028 00366F88 38 C0 00 04 */ li r6, 4
/* 8036A02C 00366F8C 48 01 F6 A9 */ bl __destroy_arr
/* 8036A030 00366F90 7F E0 07 35 */ extsh. r0, r31
/* 8036A034 00366F94 40 81 00 0C */ ble lbl_8036A040
/* 8036A038 00366F98 7F C3 F3 78 */ mr r3, r30
/* 8036A03C 00366F9C 4B FA B8 F5 */ bl Free__7CMemoryFPCv
lbl_8036A040:
/* 8036A040 00366FA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036A044 00366FA4 7F C3 F3 78 */ mr r3, r30
/* 8036A048 00366FA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036A04C 00366FAC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8036A050 00366FB0 7C 08 03 A6 */ mtlr r0
/* 8036A054 00366FB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8036A058 00366FB8 4E 80 00 20 */ blr
.global __dt__12CRumbleVoiceFv
__dt__12CRumbleVoiceFv:
/* 8036A05C 00366FBC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8036A060 00366FC0 7C 08 02 A6 */ mflr r0
/* 8036A064 00366FC4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8036A068 00366FC8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8036A06C 00366FCC 7C 9F 23 78 */ mr r31, r4
/* 8036A070 00366FD0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8036A074 00366FD4 7C 7E 1B 79 */ or. r30, r3, r3
/* 8036A078 00366FD8 41 82 01 00 */ beq lbl_8036A178
/* 8036A07C 00366FDC 34 1E 00 20 */ addic. r0, r30, 0x20
/* 8036A080 00366FE0 41 82 00 58 */ beq lbl_8036A0D8
/* 8036A084 00366FE4 80 BE 00 20 */ lwz r5, 0x20(r30)
/* 8036A088 00366FE8 38 60 00 00 */ li r3, 0
/* 8036A08C 00366FEC 2C 05 00 00 */ cmpwi r5, 0
/* 8036A090 00366FF0 40 81 00 40 */ ble lbl_8036A0D0
/* 8036A094 00366FF4 2C 05 00 08 */ cmpwi r5, 8
/* 8036A098 00366FF8 38 85 FF F8 */ addi r4, r5, -8
/* 8036A09C 00366FFC 40 81 00 20 */ ble lbl_8036A0BC
/* 8036A0A0 00367000 38 04 00 07 */ addi r0, r4, 7
/* 8036A0A4 00367004 54 00 E8 FE */ srwi r0, r0, 3
/* 8036A0A8 00367008 7C 09 03 A6 */ mtctr r0
/* 8036A0AC 0036700C 2C 04 00 00 */ cmpwi r4, 0
/* 8036A0B0 00367010 40 81 00 0C */ ble lbl_8036A0BC
lbl_8036A0B4:
/* 8036A0B4 00367014 38 63 00 08 */ addi r3, r3, 8
/* 8036A0B8 00367018 42 00 FF FC */ bdnz lbl_8036A0B4
lbl_8036A0BC:
/* 8036A0BC 0036701C 7C 03 28 50 */ subf r0, r3, r5
/* 8036A0C0 00367020 7C 09 03 A6 */ mtctr r0
/* 8036A0C4 00367024 7C 03 28 00 */ cmpw r3, r5
/* 8036A0C8 00367028 40 80 00 08 */ bge lbl_8036A0D0
lbl_8036A0CC:
/* 8036A0CC 0036702C 42 00 00 00 */ bdnz lbl_8036A0CC
lbl_8036A0D0:
/* 8036A0D0 00367030 38 00 00 00 */ li r0, 0
/* 8036A0D4 00367034 90 1E 00 20 */ stw r0, 0x20(r30)
lbl_8036A0D8:
/* 8036A0D8 00367038 34 1E 00 10 */ addic. r0, r30, 0x10
/* 8036A0DC 0036703C 41 82 00 44 */ beq lbl_8036A120
/* 8036A0E0 00367040 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8036A0E4 00367044 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8036A0E8 00367048 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8036A0EC 0036704C 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8036A0F0 00367050 7C 64 1B 78 */ mr r4, r3
/* 8036A0F4 00367054 7C 03 02 14 */ add r0, r3, r0
/* 8036A0F8 00367058 90 61 00 18 */ stw r3, 0x18(r1)
/* 8036A0FC 0036705C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036A100 00367060 90 01 00 20 */ stw r0, 0x20(r1)
/* 8036A104 00367064 48 00 00 08 */ b lbl_8036A10C
lbl_8036A108:
/* 8036A108 00367068 38 84 00 24 */ addi r4, r4, 0x24
lbl_8036A10C:
/* 8036A10C 0036706C 7C 04 00 40 */ cmplw r4, r0
/* 8036A110 00367070 40 82 FF F8 */ bne lbl_8036A108
/* 8036A114 00367074 28 03 00 00 */ cmplwi r3, 0
/* 8036A118 00367078 41 82 00 08 */ beq lbl_8036A120
/* 8036A11C 0036707C 4B FA B8 15 */ bl Free__7CMemoryFPCv
lbl_8036A120:
/* 8036A120 00367080 28 1E 00 00 */ cmplwi r30, 0
/* 8036A124 00367084 41 82 00 44 */ beq lbl_8036A168
/* 8036A128 00367088 80 1E 00 04 */ lwz r0, 4(r30)
/* 8036A12C 0036708C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8036A130 00367090 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 8036A134 00367094 90 61 00 0C */ stw r3, 0xc(r1)
/* 8036A138 00367098 7C 64 1B 78 */ mr r4, r3
/* 8036A13C 0036709C 7C 03 02 14 */ add r0, r3, r0
/* 8036A140 003670A0 90 61 00 08 */ stw r3, 8(r1)
/* 8036A144 003670A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036A148 003670A8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8036A14C 003670AC 48 00 00 08 */ b lbl_8036A154
lbl_8036A150:
/* 8036A150 003670B0 38 84 00 1C */ addi r4, r4, 0x1c
lbl_8036A154:
/* 8036A154 003670B4 7C 04 00 40 */ cmplw r4, r0
/* 8036A158 003670B8 40 82 FF F8 */ bne lbl_8036A150
/* 8036A15C 003670BC 28 03 00 00 */ cmplwi r3, 0
/* 8036A160 003670C0 41 82 00 08 */ beq lbl_8036A168
/* 8036A164 003670C4 4B FA B7 CD */ bl Free__7CMemoryFPCv
lbl_8036A168:
/* 8036A168 003670C8 7F E0 07 35 */ extsh. r0, r31
/* 8036A16C 003670CC 40 81 00 0C */ ble lbl_8036A178
/* 8036A170 003670D0 7F C3 F3 78 */ mr r3, r30
/* 8036A174 003670D4 4B FA B7 BD */ bl Free__7CMemoryFPCv
lbl_8036A178:
/* 8036A178 003670D8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8036A17C 003670DC 7F C3 F3 78 */ mr r3, r30
/* 8036A180 003670E0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8036A184 003670E4 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8036A188 003670E8 7C 08 03 A6 */ mtlr r0
/* 8036A18C 003670EC 38 21 00 30 */ addi r1, r1, 0x30
/* 8036A190 003670F0 4E 80 00 20 */ blr
.global __ct__16CRumbleGeneratorFv
__ct__16CRumbleGeneratorFv:
/* 8036A194 003670F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036A198 003670F8 7C 08 02 A6 */ mflr r0
/* 8036A19C 003670FC 3C 80 80 37 */ lis r4, __ct__12CRumbleVoiceFv@ha
/* 8036A1A0 00367100 3C A0 80 37 */ lis r5, __dt__12CRumbleVoiceFv@ha
/* 8036A1A4 00367104 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036A1A8 00367108 38 84 99 78 */ addi r4, r4, __ct__12CRumbleVoiceFv@l
/* 8036A1AC 0036710C 38 A5 A0 5C */ addi r5, r5, __dt__12CRumbleVoiceFv@l
/* 8036A1B0 00367110 38 C0 00 30 */ li r6, 0x30
/* 8036A1B4 00367114 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036A1B8 00367118 7C 7F 1B 78 */ mr r31, r3
/* 8036A1BC 0036711C 38 E0 00 04 */ li r7, 4
/* 8036A1C0 00367120 48 01 F5 8D */ bl __construct_array
/* 8036A1C4 00367124 88 1F 00 F0 */ lbz r0, 0xf0(r31)
/* 8036A1C8 00367128 38 60 00 00 */ li r3, 0
/* 8036A1CC 0036712C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8036A1D0 00367130 7F E3 FB 78 */ mr r3, r31
/* 8036A1D4 00367134 98 1F 00 F0 */ stb r0, 0xf0(r31)
/* 8036A1D8 00367138 4B FF FB 75 */ bl HardStopAll__16CRumbleGeneratorFv
/* 8036A1DC 0036713C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036A1E0 00367140 7F E3 FB 78 */ mr r3, r31
/* 8036A1E4 00367144 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036A1E8 00367148 7C 08 03 A6 */ mtlr r0
/* 8036A1EC 0036714C 38 21 00 10 */ addi r1, r1, 0x10
/* 8036A1F0 00367150 4E 80 00 20 */ blr

View File

@ -0,0 +1,694 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global CreateRumbleHandle__12CRumbleVoiceFs
CreateRumbleHandle__12CRumbleVoiceFs:
/* 80369250 003661B0 88 A3 00 2E */ lbz r5, 0x2e(r3)
/* 80369254 003661B4 38 05 00 01 */ addi r0, r5, 1
/* 80369258 003661B8 98 03 00 2E */ stb r0, 0x2e(r3)
/* 8036925C 003661BC 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80369260 003661C0 28 00 00 00 */ cmplwi r0, 0
/* 80369264 003661C4 40 82 00 0C */ bne lbl_80369270
/* 80369268 003661C8 38 00 00 01 */ li r0, 1
/* 8036926C 003661CC 98 03 00 2E */ stb r0, 0x2e(r3)
lbl_80369270:
/* 80369270 003661D0 54 85 0B FC */ rlwinm r5, r4, 1, 0xf, 0x1e
/* 80369274 003661D4 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80369278 003661D8 7C A3 2A 14 */ add r5, r3, r5
/* 8036927C 003661DC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80369280 003661E0 B0 05 00 24 */ sth r0, 0x24(r5)
/* 80369284 003661E4 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80369288 003661E8 54 00 40 2E */ slwi r0, r0, 8
/* 8036928C 003661EC 7C 00 23 78 */ or r0, r0, r4
/* 80369290 003661F0 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80369294 003661F4 7C 03 07 34 */ extsh r3, r0
/* 80369298 003661F8 4E 80 00 20 */ blr
.global OwnsSustained__12CRumbleVoiceCFs
OwnsSustained__12CRumbleVoiceCFs:
/* 8036929C 003661FC 7C 84 07 34 */ extsh r4, r4
/* 803692A0 00366200 54 80 07 3E */ clrlwi r0, r4, 0x1c
/* 803692A4 00366204 28 00 00 04 */ cmplwi r0, 4
/* 803692A8 00366208 54 84 C6 3E */ rlwinm r4, r4, 0x18, 0x18, 0x1f
/* 803692AC 0036620C 40 80 00 20 */ bge lbl_803692CC
/* 803692B0 00366210 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 803692B4 00366214 7C 63 02 14 */ add r3, r3, r0
/* 803692B8 00366218 A0 03 00 24 */ lhz r0, 0x24(r3)
/* 803692BC 0036621C 7C 04 00 50 */ subf r0, r4, r0
/* 803692C0 00366220 7C 00 00 34 */ cntlzw r0, r0
/* 803692C4 00366224 54 03 D9 7E */ srwi r3, r0, 5
/* 803692C8 00366228 4E 80 00 20 */ blr
lbl_803692CC:
/* 803692CC 0036622C 38 60 00 00 */ li r3, 0
/* 803692D0 00366230 4E 80 00 20 */ blr
.global GetIntensity__12CRumbleVoiceCFv
GetIntensity__12CRumbleVoiceCFv:
/* 803692D4 00366234 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 803692D8 00366238 C0 43 00 00 */ lfs f2, 0(r3)
/* 803692DC 0036623C C0 03 00 24 */ lfs f0, 0x24(r3)
/* 803692E0 00366240 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803692E4 00366244 40 80 00 08 */ bge lbl_803692EC
/* 803692E8 00366248 FC 40 00 90 */ fmr f2, f0
lbl_803692EC:
/* 803692EC 0036624C C0 03 00 48 */ lfs f0, 0x48(r3)
/* 803692F0 00366250 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803692F4 00366254 40 80 00 08 */ bge lbl_803692FC
/* 803692F8 00366258 FC 40 00 90 */ fmr f2, f0
lbl_803692FC:
/* 803692FC 0036625C C0 03 00 6C */ lfs f0, 0x6c(r3)
/* 80369300 00366260 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80369304 00366264 40 80 00 08 */ bge lbl_8036930C
/* 80369308 00366268 FC 40 00 90 */ fmr f2, f0
lbl_8036930C:
/* 8036930C 0036626C C0 22 CD D8 */ lfs f1, lbl_805AEAF8@sda21(r2)
/* 80369310 00366270 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80369314 00366274 4D 81 00 20 */ bgtlr
/* 80369318 00366278 FC 20 10 90 */ fmr f1, f2
/* 8036931C 0036627C 4E 80 00 20 */ blr
.global GetFreeChannel__12CRumbleVoiceCFv
GetFreeChannel__12CRumbleVoiceCFv:
/* 80369320 00366280 38 E0 00 00 */ li r7, 0
/* 80369324 00366284 38 A0 00 01 */ li r5, 1
/* 80369328 00366288 48 00 00 24 */ b lbl_8036934C
lbl_8036932C:
/* 8036932C 0036628C 54 E4 04 3E */ clrlwi r4, r7, 0x10
/* 80369330 00366290 A0 C3 00 2C */ lhz r6, 0x2c(r3)
/* 80369334 00366294 7C A0 20 30 */ slw r0, r5, r4
/* 80369338 00366298 7C C0 00 39 */ and. r0, r6, r0
/* 8036933C 0036629C 40 82 00 0C */ bne lbl_80369348
/* 80369340 003662A0 7C 83 23 78 */ mr r3, r4
/* 80369344 003662A4 4E 80 00 20 */ blr
lbl_80369348:
/* 80369348 003662A8 38 E7 00 01 */ addi r7, r7, 1
lbl_8036934C:
/* 8036934C 003662AC 54 E0 04 3E */ clrlwi r0, r7, 0x10
/* 80369350 003662B0 28 00 00 04 */ cmplwi r0, 4
/* 80369354 003662B4 41 80 FF D8 */ blt lbl_8036932C
/* 80369358 003662B8 38 60 00 00 */ li r3, 0
/* 8036935C 003662BC 4E 80 00 20 */ blr
.global Update__12CRumbleVoiceFf
Update__12CRumbleVoiceFf:
/* 80369360 003662C0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80369364 003662C4 7C 08 02 A6 */ mflr r0
/* 80369368 003662C8 90 01 00 54 */ stw r0, 0x54(r1)
/* 8036936C 003662CC DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80369370 003662D0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80369374 003662D4 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80369378 003662D8 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8036937C 003662DC 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80369380 003662E0 93 81 00 30 */ stw r28, 0x30(r1)
/* 80369384 003662E4 7C 7E 1B 78 */ mr r30, r3
/* 80369388 003662E8 FF E0 08 90 */ fmr f31, f1
/* 8036938C 003662EC A0 03 00 2C */ lhz r0, 0x2c(r3)
/* 80369390 003662F0 28 00 00 00 */ cmplwi r0, 0
/* 80369394 003662F4 41 82 00 CC */ beq lbl_80369460
/* 80369398 003662F8 3B E0 00 00 */ li r31, 0
/* 8036939C 003662FC 48 00 00 B0 */ b lbl_8036944C
lbl_803693A0:
/* 803693A0 00366300 57 E6 04 3E */ clrlwi r6, r31, 0x10
/* 803693A4 00366304 38 00 00 01 */ li r0, 1
/* 803693A8 00366308 A0 7E 00 2C */ lhz r3, 0x2c(r30)
/* 803693AC 0036630C 7C 1D 30 30 */ slw r29, r0, r6
/* 803693B0 00366310 7C 60 E8 39 */ and. r0, r3, r29
/* 803693B4 00366314 41 82 00 94 */ beq lbl_80369448
/* 803693B8 00366318 1F 86 00 24 */ mulli r28, r6, 0x24
/* 803693BC 0036631C 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 803693C0 00366320 FC 20 F8 90 */ fmr f1, f31
/* 803693C4 00366324 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 803693C8 00366328 7F C3 F3 78 */ mr r3, r30
/* 803693CC 0036632C 1C 06 00 1C */ mulli r0, r6, 0x1c
/* 803693D0 00366330 7C 84 E2 14 */ add r4, r4, r28
/* 803693D4 00366334 7C A5 02 14 */ add r5, r5, r0
/* 803693D8 00366338 48 00 00 B5 */ bl UpdateChannel__12CRumbleVoiceFR10SAdsrDeltaRC9SAdsrDataf
/* 803693DC 0036633C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803693E0 00366340 41 82 00 68 */ beq lbl_80369448
/* 803693E4 00366344 A0 1E 00 2C */ lhz r0, 0x2c(r30)
/* 803693E8 00366348 38 61 00 08 */ addi r3, r1, 8
/* 803693EC 0036634C 7C 00 E8 78 */ andc r0, r0, r29
/* 803693F0 00366350 B0 1E 00 2C */ sth r0, 0x2c(r30)
/* 803693F4 00366354 48 00 08 B5 */ bl Stopped__10SAdsrDeltaFv
/* 803693F8 00366358 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 803693FC 0036635C C0 01 00 08 */ lfs f0, 8(r1)
/* 80369400 00366360 7C 60 E2 14 */ add r3, r0, r28
/* 80369404 00366364 D0 03 00 00 */ stfs f0, 0(r3)
/* 80369408 00366368 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8036940C 0036636C D0 03 00 04 */ stfs f0, 4(r3)
/* 80369410 00366370 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80369414 00366374 D0 03 00 08 */ stfs f0, 8(r3)
/* 80369418 00366378 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8036941C 0036637C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80369420 00366380 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369424 00366384 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80369428 00366388 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8036942C 0036638C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80369430 00366390 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80369434 00366394 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80369438 00366398 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036943C 0036639C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80369440 003663A0 80 01 00 28 */ lwz r0, 0x28(r1)
/* 80369444 003663A4 90 03 00 20 */ stw r0, 0x20(r3)
lbl_80369448:
/* 80369448 003663A8 3B FF 00 01 */ addi r31, r31, 1
lbl_8036944C:
/* 8036944C 003663AC 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80369450 003663B0 28 00 00 04 */ cmplwi r0, 4
/* 80369454 003663B4 41 80 FF 4C */ blt lbl_803693A0
/* 80369458 003663B8 38 60 00 01 */ li r3, 1
/* 8036945C 003663BC 48 00 00 08 */ b lbl_80369464
lbl_80369460:
/* 80369460 003663C0 38 60 00 00 */ li r3, 0
lbl_80369464:
/* 80369464 003663C4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 80369468 003663C8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8036946C 003663CC CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80369470 003663D0 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80369474 003663D4 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80369478 003663D8 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8036947C 003663DC 83 81 00 30 */ lwz r28, 0x30(r1)
/* 80369480 003663E0 7C 08 03 A6 */ mtlr r0
/* 80369484 003663E4 38 21 00 50 */ addi r1, r1, 0x50
/* 80369488 003663E8 4E 80 00 20 */ blr
.global UpdateChannel__12CRumbleVoiceFR10SAdsrDeltaRC9SAdsrDataf
UpdateChannel__12CRumbleVoiceFR10SAdsrDeltaRC9SAdsrDataf:
/* 8036948C 003663EC 80 04 00 20 */ lwz r0, 0x20(r4)
/* 80369490 003663F0 2C 00 00 03 */ cmpwi r0, 3
/* 80369494 003663F4 41 82 00 A8 */ beq lbl_8036953C
/* 80369498 003663F8 40 80 00 14 */ bge lbl_803694AC
/* 8036949C 003663FC 2C 00 00 01 */ cmpwi r0, 1
/* 803694A0 00366400 41 82 00 18 */ beq lbl_803694B8
/* 803694A4 00366404 40 80 00 48 */ bge lbl_803694EC
/* 803694A8 00366408 48 00 01 DC */ b lbl_80369684
lbl_803694AC:
/* 803694AC 0036640C 2C 00 00 05 */ cmpwi r0, 5
/* 803694B0 00366410 41 82 01 54 */ beq lbl_80369604
/* 803694B4 00366414 48 00 01 D0 */ b lbl_80369684
lbl_803694B8:
/* 803694B8 00366418 C0 44 00 04 */ lfs f2, 4(r4)
/* 803694BC 0036641C C0 02 CD DC */ lfs f0, lbl_805AEAFC@sda21(r2)
/* 803694C0 00366420 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803694C4 00366424 40 80 00 10 */ bge lbl_803694D4
/* 803694C8 00366428 EC 02 08 2A */ fadds f0, f2, f1
/* 803694CC 0036642C D0 04 00 04 */ stfs f0, 4(r4)
/* 803694D0 00366430 48 00 01 B4 */ b lbl_80369684
lbl_803694D4:
/* 803694D4 00366434 38 00 00 02 */ li r0, 2
/* 803694D8 00366438 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 803694DC 0036643C 90 04 00 20 */ stw r0, 0x20(r4)
/* 803694E0 00366440 D0 04 00 00 */ stfs f0, 0(r4)
/* 803694E4 00366444 D0 04 00 04 */ stfs f0, 4(r4)
/* 803694E8 00366448 48 00 01 9C */ b lbl_80369684
lbl_803694EC:
/* 803694EC 0036644C C0 05 00 08 */ lfs f0, 8(r5)
/* 803694F0 00366450 C0 44 00 04 */ lfs f2, 4(r4)
/* 803694F4 00366454 C0 A4 00 14 */ lfs f5, 0x14(r4)
/* 803694F8 00366458 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803694FC 0036645C 40 80 00 30 */ bge lbl_8036952C
/* 80369500 00366460 EC 82 00 24 */ fdivs f4, f2, f0
/* 80369504 00366464 C0 02 CD E4 */ lfs f0, lbl_805AEB04@sda21(r2)
/* 80369508 00366468 C0 62 CD E0 */ lfs f3, lbl_805AEB00@sda21(r2)
/* 8036950C 0036646C EC 40 20 28 */ fsubs f2, f0, f4
/* 80369510 00366470 EC 05 01 32 */ fmuls f0, f5, f4
/* 80369514 00366474 EC 03 00 BA */ fmadds f0, f3, f2, f0
/* 80369518 00366478 D0 04 00 00 */ stfs f0, 0(r4)
/* 8036951C 0036647C C0 04 00 04 */ lfs f0, 4(r4)
/* 80369520 00366480 EC 00 08 2A */ fadds f0, f0, f1
/* 80369524 00366484 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369528 00366488 48 00 01 5C */ b lbl_80369684
lbl_8036952C:
/* 8036952C 0036648C D0 A4 00 00 */ stfs f5, 0(r4)
/* 80369530 00366490 38 00 00 03 */ li r0, 3
/* 80369534 00366494 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369538 00366498 48 00 01 4C */ b lbl_80369684
lbl_8036953C:
/* 8036953C 0036649C 88 05 00 18 */ lbz r0, 0x18(r5)
/* 80369540 003664A0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80369544 003664A4 41 82 00 54 */ beq lbl_80369598
/* 80369548 003664A8 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8036954C 003664AC C0 44 00 08 */ lfs f2, 8(r4)
/* 80369550 003664B0 C0 A4 00 18 */ lfs f5, 0x18(r4)
/* 80369554 003664B4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80369558 003664B8 C0 84 00 14 */ lfs f4, 0x14(r4)
/* 8036955C 003664BC 40 80 00 2C */ bge lbl_80369588
/* 80369560 003664C0 EC 62 00 24 */ fdivs f3, f2, f0
/* 80369564 003664C4 C0 02 CD E4 */ lfs f0, lbl_805AEB04@sda21(r2)
/* 80369568 003664C8 EC 40 18 28 */ fsubs f2, f0, f3
/* 8036956C 003664CC EC 05 00 F2 */ fmuls f0, f5, f3
/* 80369570 003664D0 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 80369574 003664D4 D0 04 00 00 */ stfs f0, 0(r4)
/* 80369578 003664D8 C0 04 00 08 */ lfs f0, 8(r4)
/* 8036957C 003664DC EC 00 08 2A */ fadds f0, f0, f1
/* 80369580 003664E0 D0 04 00 08 */ stfs f0, 8(r4)
/* 80369584 003664E4 48 00 01 00 */ b lbl_80369684
lbl_80369588:
/* 80369588 003664E8 D0 A4 00 00 */ stfs f5, 0(r4)
/* 8036958C 003664EC 38 00 00 04 */ li r0, 4
/* 80369590 003664F0 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369594 003664F4 48 00 00 F0 */ b lbl_80369684
lbl_80369598:
/* 80369598 003664F8 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8036959C 003664FC C0 44 00 08 */ lfs f2, 8(r4)
/* 803695A0 00366500 C0 84 00 14 */ lfs f4, 0x14(r4)
/* 803695A4 00366504 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 803695A8 00366508 40 80 00 30 */ bge lbl_803695D8
/* 803695AC 0036650C EC 62 00 24 */ fdivs f3, f2, f0
/* 803695B0 00366510 C0 42 CD E4 */ lfs f2, lbl_805AEB04@sda21(r2)
/* 803695B4 00366514 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 803695B8 00366518 EC 42 18 28 */ fsubs f2, f2, f3
/* 803695BC 0036651C EC 00 00 F2 */ fmuls f0, f0, f3
/* 803695C0 00366520 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 803695C4 00366524 D0 04 00 00 */ stfs f0, 0(r4)
/* 803695C8 00366528 C0 04 00 08 */ lfs f0, 8(r4)
/* 803695CC 0036652C EC 00 08 2A */ fadds f0, f0, f1
/* 803695D0 00366530 D0 04 00 08 */ stfs f0, 8(r4)
/* 803695D4 00366534 48 00 00 14 */ b lbl_803695E8
lbl_803695D8:
/* 803695D8 00366538 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 803695DC 0036653C 38 00 00 00 */ li r0, 0
/* 803695E0 00366540 D0 04 00 00 */ stfs f0, 0(r4)
/* 803695E4 00366544 90 04 00 20 */ stw r0, 0x20(r4)
lbl_803695E8:
/* 803695E8 00366548 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803695EC 0036654C 2C 00 00 03 */ cmpwi r0, 3
/* 803695F0 00366550 41 82 00 94 */ beq lbl_80369684
/* 803695F4 00366554 38 00 00 00 */ li r0, 0
/* 803695F8 00366558 38 60 00 01 */ li r3, 1
/* 803695FC 0036655C 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369600 00366560 4E 80 00 20 */ blr
lbl_80369604:
/* 80369604 00366564 88 05 00 18 */ lbz r0, 0x18(r5)
/* 80369608 00366568 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8036960C 0036656C 41 82 00 0C */ beq lbl_80369618
/* 80369610 00366570 C0 84 00 18 */ lfs f4, 0x18(r4)
/* 80369614 00366574 48 00 00 08 */ b lbl_8036961C
lbl_80369618:
/* 80369618 00366578 C0 82 CD E0 */ lfs f4, lbl_805AEB00@sda21(r2)
lbl_8036961C:
/* 8036961C 0036657C C0 05 00 14 */ lfs f0, 0x14(r5)
/* 80369620 00366580 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 80369624 00366584 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80369628 00366588 40 80 00 30 */ bge lbl_80369658
/* 8036962C 0036658C EC 62 00 24 */ fdivs f3, f2, f0
/* 80369630 00366590 C0 42 CD E4 */ lfs f2, lbl_805AEB04@sda21(r2)
/* 80369634 00366594 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 80369638 00366598 EC 42 18 28 */ fsubs f2, f2, f3
/* 8036963C 0036659C EC 00 00 F2 */ fmuls f0, f0, f3
/* 80369640 003665A0 EC 04 00 BA */ fmadds f0, f4, f2, f0
/* 80369644 003665A4 D0 04 00 00 */ stfs f0, 0(r4)
/* 80369648 003665A8 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8036964C 003665AC EC 00 08 2A */ fadds f0, f0, f1
/* 80369650 003665B0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369654 003665B4 48 00 00 14 */ b lbl_80369668
lbl_80369658:
/* 80369658 003665B8 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 8036965C 003665BC 38 00 00 00 */ li r0, 0
/* 80369660 003665C0 D0 04 00 00 */ stfs f0, 0(r4)
/* 80369664 003665C4 90 04 00 20 */ stw r0, 0x20(r4)
lbl_80369668:
/* 80369668 003665C8 80 04 00 20 */ lwz r0, 0x20(r4)
/* 8036966C 003665CC 2C 00 00 05 */ cmpwi r0, 5
/* 80369670 003665D0 41 82 00 14 */ beq lbl_80369684
/* 80369674 003665D4 38 00 00 00 */ li r0, 0
/* 80369678 003665D8 38 60 00 01 */ li r3, 1
/* 8036967C 003665DC 90 04 00 20 */ stw r0, 0x20(r4)
/* 80369680 003665E0 4E 80 00 20 */ blr
lbl_80369684:
/* 80369684 003665E4 88 05 00 18 */ lbz r0, 0x18(r5)
/* 80369688 003665E8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8036968C 003665EC 41 82 00 34 */ beq lbl_803696C0
/* 80369690 003665F0 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 80369694 003665F4 C0 05 00 04 */ lfs f0, 4(r5)
/* 80369698 003665F8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8036969C 003665FC 40 80 00 10 */ bge lbl_803696AC
/* 803696A0 00366600 EC 02 08 2A */ fadds f0, f2, f1
/* 803696A4 00366604 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 803696A8 00366608 48 00 00 18 */ b lbl_803696C0
lbl_803696AC:
/* 803696AC 0036660C 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803696B0 00366610 2C 00 00 04 */ cmpwi r0, 4
/* 803696B4 00366614 40 82 00 0C */ bne lbl_803696C0
/* 803696B8 00366618 38 00 00 05 */ li r0, 5
/* 803696BC 0036661C 90 04 00 20 */ stw r0, 0x20(r4)
lbl_803696C0:
/* 803696C0 00366620 38 60 00 00 */ li r3, 0
/* 803696C4 00366624 4E 80 00 20 */ blr
.global HardReset__12CRumbleVoiceFv
HardReset__12CRumbleVoiceFv:
/* 803696C8 00366628 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803696CC 0036662C 7C 08 02 A6 */ mflr r0
/* 803696D0 00366630 90 01 00 44 */ stw r0, 0x44(r1)
/* 803696D4 00366634 38 00 00 00 */ li r0, 0
/* 803696D8 00366638 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 803696DC 0036663C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 803696E0 00366640 3B C0 00 00 */ li r30, 0
/* 803696E4 00366644 93 A1 00 34 */ stw r29, 0x34(r1)
/* 803696E8 00366648 7C 7D 1B 78 */ mr r29, r3
/* 803696EC 0036664C 3B FD 00 24 */ addi r31, r29, 0x24
/* 803696F0 00366650 B0 03 00 2C */ sth r0, 0x2c(r3)
/* 803696F4 00366654 48 00 00 74 */ b lbl_80369768
lbl_803696F8:
/* 803696F8 00366658 38 61 00 08 */ addi r3, r1, 8
/* 803696FC 0036665C 48 00 05 AD */ bl Stopped__10SAdsrDeltaFv
/* 80369700 00366660 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 80369704 00366664 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 80369708 00366668 1C 83 00 24 */ mulli r4, r3, 0x24
/* 8036970C 0036666C 80 BD 00 1C */ lwz r5, 0x1c(r29)
/* 80369710 00366670 C0 01 00 08 */ lfs f0, 8(r1)
/* 80369714 00366674 38 60 00 00 */ li r3, 0
/* 80369718 00366678 3B DE 00 01 */ addi r30, r30, 1
/* 8036971C 0036667C 7C A5 22 14 */ add r5, r5, r4
/* 80369720 00366680 D0 05 00 00 */ stfs f0, 0(r5)
/* 80369724 00366684 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80369728 00366688 D0 05 00 04 */ stfs f0, 4(r5)
/* 8036972C 0036668C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80369730 00366690 D0 05 00 08 */ stfs f0, 8(r5)
/* 80369734 00366694 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80369738 00366698 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 8036973C 0036669C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369740 003666A0 D0 05 00 10 */ stfs f0, 0x10(r5)
/* 80369744 003666A4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80369748 003666A8 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 8036974C 003666AC C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80369750 003666B0 D0 05 00 18 */ stfs f0, 0x18(r5)
/* 80369754 003666B4 80 81 00 24 */ lwz r4, 0x24(r1)
/* 80369758 003666B8 90 85 00 1C */ stw r4, 0x1c(r5)
/* 8036975C 003666BC 80 81 00 28 */ lwz r4, 0x28(r1)
/* 80369760 003666C0 90 85 00 20 */ stw r4, 0x20(r5)
/* 80369764 003666C4 7C 7F 03 2E */ sthx r3, r31, r0
lbl_80369768:
/* 80369768 003666C8 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8036976C 003666CC 28 00 00 04 */ cmplwi r0, 4
/* 80369770 003666D0 41 80 FF 88 */ blt lbl_803696F8
/* 80369774 003666D4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369778 003666D8 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8036977C 003666DC 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80369780 003666E0 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 80369784 003666E4 7C 08 03 A6 */ mtlr r0
/* 80369788 003666E8 38 21 00 40 */ addi r1, r1, 0x40
/* 8036978C 003666EC 4E 80 00 20 */ blr
.global Deactivate__12CRumbleVoiceFsb
Deactivate__12CRumbleVoiceFsb:
/* 80369790 003666F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369794 003666F4 7C 08 02 A6 */ mflr r0
/* 80369798 003666F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036979C 003666FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803697A0 00366700 7C 9F 23 78 */ mr r31, r4
/* 803697A4 00366704 7F E0 07 34 */ extsh r0, r31
/* 803697A8 00366708 2C 00 FF FF */ cmpwi r0, -1
/* 803697AC 0036670C 93 C1 00 08 */ stw r30, 8(r1)
/* 803697B0 00366710 7C 7E 1B 78 */ mr r30, r3
/* 803697B4 00366714 41 82 00 40 */ beq lbl_803697F4
/* 803697B8 00366718 4B FF FA E5 */ bl OwnsSustained__12CRumbleVoiceCFs
/* 803697BC 0036671C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803697C0 00366720 40 82 00 08 */ bne lbl_803697C8
/* 803697C4 00366724 48 00 00 30 */ b lbl_803697F4
lbl_803697C8:
/* 803697C8 00366728 57 E3 07 3E */ clrlwi r3, r31, 0x1c
/* 803697CC 0036672C 38 00 00 01 */ li r0, 1
/* 803697D0 00366730 A0 9E 00 2C */ lhz r4, 0x2c(r30)
/* 803697D4 00366734 7C 00 18 30 */ slw r0, r0, r3
/* 803697D8 00366738 7C 80 00 39 */ and. r0, r4, r0
/* 803697DC 0036673C 41 82 00 18 */ beq lbl_803697F4
/* 803697E0 00366740 1C 63 00 24 */ mulli r3, r3, 0x24
/* 803697E4 00366744 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 803697E8 00366748 38 A0 00 05 */ li r5, 5
/* 803697EC 0036674C 38 03 00 20 */ addi r0, r3, 0x20
/* 803697F0 00366750 7C A4 01 2E */ stwx r5, r4, r0
lbl_803697F4:
/* 803697F4 00366754 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803697F8 00366758 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803697FC 0036675C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80369800 00366760 7C 08 03 A6 */ mtlr r0
/* 80369804 00366764 38 21 00 10 */ addi r1, r1, 0x10
/* 80369808 00366768 4E 80 00 20 */ blr
.global Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority
Activate__12CRumbleVoiceFRC9SAdsrDatasf15ERumblePriority:
/* 8036980C 0036676C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80369810 00366770 7C 08 02 A6 */ mflr r0
/* 80369814 00366774 90 01 00 64 */ stw r0, 0x64(r1)
/* 80369818 00366778 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 8036981C 0036677C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80369820 00366780 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 80369824 00366784 FF E0 08 90 */ fmr f31, f1
/* 80369828 00366788 C0 02 CD E0 */ lfs f0, lbl_805AEB00@sda21(r2)
/* 8036982C 0036678C 7C 7C 1B 78 */ mr r28, r3
/* 80369830 00366790 7C 9D 23 78 */ mr r29, r4
/* 80369834 00366794 7C BE 2B 78 */ mr r30, r5
/* 80369838 00366798 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8036983C 0036679C 40 81 01 1C */ ble lbl_80369958
/* 80369840 003667A0 57 DB 04 3E */ clrlwi r27, r30, 0x10
/* 80369844 003667A4 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 80369848 003667A8 1F FB 00 1C */ mulli r31, r27, 0x1c
/* 8036984C 003667AC C0 1D 00 00 */ lfs f0, 0(r29)
/* 80369850 003667B0 7C C4 33 78 */ mr r4, r6
/* 80369854 003667B4 38 61 00 08 */ addi r3, r1, 8
/* 80369858 003667B8 7C A0 FA 14 */ add r5, r0, r31
/* 8036985C 003667BC D0 05 00 00 */ stfs f0, 0(r5)
/* 80369860 003667C0 C0 1D 00 04 */ lfs f0, 4(r29)
/* 80369864 003667C4 D0 05 00 04 */ stfs f0, 4(r5)
/* 80369868 003667C8 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8036986C 003667CC D0 05 00 08 */ stfs f0, 8(r5)
/* 80369870 003667D0 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80369874 003667D4 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80369878 003667D8 C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8036987C 003667DC D0 05 00 10 */ stfs f0, 0x10(r5)
/* 80369880 003667E0 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 80369884 003667E4 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 80369888 003667E8 88 1D 00 18 */ lbz r0, 0x18(r29)
/* 8036988C 003667EC 98 05 00 18 */ stb r0, 0x18(r5)
/* 80369890 003667F0 A0 1C 00 2C */ lhz r0, 0x2c(r28)
/* 80369894 003667F4 7C 00 00 34 */ cntlzw r0, r0
/* 80369898 003667F8 54 05 DE 3E */ rlwinm r5, r0, 0x1b, 0x18, 0x1f
/* 8036989C 003667FC 48 00 04 31 */ bl Start__10SAdsrDeltaF15ERumblePriorityb
/* 803698A0 00366800 1C DB 00 24 */ mulli r6, r27, 0x24
/* 803698A4 00366804 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 803698A8 00366808 38 00 00 01 */ li r0, 1
/* 803698AC 0036680C C0 01 00 08 */ lfs f0, 8(r1)
/* 803698B0 00366810 38 BF 00 10 */ addi r5, r31, 0x10
/* 803698B4 00366814 7C E3 32 14 */ add r7, r3, r6
/* 803698B8 00366818 D0 07 00 00 */ stfs f0, 0(r7)
/* 803698BC 0036681C 38 86 00 14 */ addi r4, r6, 0x14
/* 803698C0 00366820 38 66 00 18 */ addi r3, r6, 0x18
/* 803698C4 00366824 7C 00 D8 30 */ slw r0, r0, r27
/* 803698C8 00366828 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 803698CC 0036682C D0 07 00 04 */ stfs f0, 4(r7)
/* 803698D0 00366830 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 803698D4 00366834 D0 07 00 08 */ stfs f0, 8(r7)
/* 803698D8 00366838 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 803698DC 0036683C D0 07 00 0C */ stfs f0, 0xc(r7)
/* 803698E0 00366840 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 803698E4 00366844 D0 07 00 10 */ stfs f0, 0x10(r7)
/* 803698E8 00366848 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 803698EC 0036684C D0 07 00 14 */ stfs f0, 0x14(r7)
/* 803698F0 00366850 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 803698F4 00366854 D0 07 00 18 */ stfs f0, 0x18(r7)
/* 803698F8 00366858 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 803698FC 0036685C 90 C7 00 1C */ stw r6, 0x1c(r7)
/* 80369900 00366860 80 C1 00 28 */ lwz r6, 0x28(r1)
/* 80369904 00366864 90 C7 00 20 */ stw r6, 0x20(r7)
/* 80369908 00366868 80 FC 00 0C */ lwz r7, 0xc(r28)
/* 8036990C 0036686C 80 DC 00 1C */ lwz r6, 0x1c(r28)
/* 80369910 00366870 7C 07 FC 2E */ lfsx f0, r7, r31
/* 80369914 00366874 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80369918 00366878 7C 06 25 2E */ stfsx f0, r6, r4
/* 8036991C 0036687C 80 DC 00 0C */ lwz r6, 0xc(r28)
/* 80369920 00366880 80 9C 00 1C */ lwz r4, 0x1c(r28)
/* 80369924 00366884 7C 06 2C 2E */ lfsx f0, r6, r5
/* 80369928 00366888 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8036992C 0036688C 7C 04 1D 2E */ stfsx f0, r4, r3
/* 80369930 00366890 A0 7C 00 2C */ lhz r3, 0x2c(r28)
/* 80369934 00366894 7C 60 03 78 */ or r0, r3, r0
/* 80369938 00366898 B0 1C 00 2C */ sth r0, 0x2c(r28)
/* 8036993C 0036689C 88 1D 00 18 */ lbz r0, 0x18(r29)
/* 80369940 003668A0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80369944 003668A4 41 82 00 14 */ beq lbl_80369958
/* 80369948 003668A8 7F 83 E3 78 */ mr r3, r28
/* 8036994C 003668AC 7F C4 F3 78 */ mr r4, r30
/* 80369950 003668B0 4B FF F9 01 */ bl CreateRumbleHandle__12CRumbleVoiceFs
/* 80369954 003668B4 48 00 00 08 */ b lbl_8036995C
lbl_80369958:
/* 80369958 003668B8 38 60 FF FF */ li r3, -1
lbl_8036995C:
/* 8036995C 003668BC E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80369960 003668C0 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80369964 003668C4 BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 80369968 003668C8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8036996C 003668CC 7C 08 03 A6 */ mtlr r0
/* 80369970 003668D0 38 21 00 60 */ addi r1, r1, 0x60
/* 80369974 003668D4 4E 80 00 20 */ blr
.global __ct__12CRumbleVoiceFv
__ct__12CRumbleVoiceFv:
/* 80369978 003668D8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8036997C 003668DC 7C 08 02 A6 */ mflr r0
/* 80369980 003668E0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80369984 003668E4 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80369988 003668E8 7C 7F 1B 78 */ mr r31, r3
/* 8036998C 003668EC 38 61 00 08 */ addi r3, r1, 8
/* 80369990 003668F0 48 00 02 7D */ bl __ct__9SAdsrDataFv
/* 80369994 003668F4 38 00 00 04 */ li r0, 4
/* 80369998 003668F8 90 1F 00 04 */ stw r0, 4(r31)
/* 8036999C 003668FC 90 1F 00 08 */ stw r0, 8(r31)
/* 803699A0 00366900 80 1F 00 04 */ lwz r0, 4(r31)
/* 803699A4 00366904 1C 60 00 1C */ mulli r3, r0, 0x1c
/* 803699A8 00366908 2C 03 00 00 */ cmpwi r3, 0
/* 803699AC 0036690C 40 82 00 10 */ bne lbl_803699BC
/* 803699B0 00366910 38 00 00 00 */ li r0, 0
/* 803699B4 00366914 90 1F 00 0C */ stw r0, 0xc(r31)
/* 803699B8 00366918 48 00 00 18 */ b lbl_803699D0
lbl_803699BC:
/* 803699BC 0036691C 3C 80 80 3E */ lis r4, lbl_803D8540@ha
/* 803699C0 00366920 38 A0 00 00 */ li r5, 0
/* 803699C4 00366924 38 84 85 40 */ addi r4, r4, lbl_803D8540@l
/* 803699C8 00366928 4B FA BE 51 */ bl __nwa__FUlPCcPCc
/* 803699CC 0036692C 90 7F 00 0C */ stw r3, 0xc(r31)
lbl_803699D0:
/* 803699D0 00366930 38 00 00 02 */ li r0, 2
/* 803699D4 00366934 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803699D8 00366938 38 60 00 00 */ li r3, 0
/* 803699DC 0036693C 7C 09 03 A6 */ mtctr r0
lbl_803699E0:
/* 803699E0 00366940 28 04 00 00 */ cmplwi r4, 0
/* 803699E4 00366944 41 82 00 3C */ beq lbl_80369A20
/* 803699E8 00366948 C0 01 00 08 */ lfs f0, 8(r1)
/* 803699EC 0036694C D0 04 00 00 */ stfs f0, 0(r4)
/* 803699F0 00366950 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 803699F4 00366954 D0 04 00 04 */ stfs f0, 4(r4)
/* 803699F8 00366958 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 803699FC 0036695C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369A00 00366960 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80369A04 00366964 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369A08 00366968 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369A0C 0036696C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369A10 00366970 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80369A14 00366974 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369A18 00366978 88 01 00 20 */ lbz r0, 0x20(r1)
/* 80369A1C 0036697C 98 04 00 18 */ stb r0, 0x18(r4)
lbl_80369A20:
/* 80369A20 00366980 34 84 00 1C */ addic. r4, r4, 0x1c
/* 80369A24 00366984 41 82 00 3C */ beq lbl_80369A60
/* 80369A28 00366988 C0 01 00 08 */ lfs f0, 8(r1)
/* 80369A2C 0036698C D0 04 00 00 */ stfs f0, 0(r4)
/* 80369A30 00366990 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80369A34 00366994 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369A38 00366998 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80369A3C 0036699C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369A40 003669A0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80369A44 003669A4 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369A48 003669A8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80369A4C 003669AC D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369A50 003669B0 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80369A54 003669B4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369A58 003669B8 88 01 00 20 */ lbz r0, 0x20(r1)
/* 80369A5C 003669BC 98 04 00 18 */ stb r0, 0x18(r4)
lbl_80369A60:
/* 80369A60 003669C0 38 63 00 01 */ addi r3, r3, 1
/* 80369A64 003669C4 38 84 00 1C */ addi r4, r4, 0x1c
/* 80369A68 003669C8 42 00 FF 78 */ bdnz lbl_803699E0
/* 80369A6C 003669CC 38 61 00 24 */ addi r3, r1, 0x24
/* 80369A70 003669D0 48 00 02 39 */ bl Stopped__10SAdsrDeltaFv
/* 80369A74 003669D4 38 00 00 04 */ li r0, 4
/* 80369A78 003669D8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80369A7C 003669DC 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80369A80 003669E0 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 80369A84 003669E4 1C 60 00 24 */ mulli r3, r0, 0x24
/* 80369A88 003669E8 2C 03 00 00 */ cmpwi r3, 0
/* 80369A8C 003669EC 40 82 00 10 */ bne lbl_80369A9C
/* 80369A90 003669F0 38 00 00 00 */ li r0, 0
/* 80369A94 003669F4 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 80369A98 003669F8 48 00 00 18 */ b lbl_80369AB0
lbl_80369A9C:
/* 80369A9C 003669FC 3C 80 80 3E */ lis r4, lbl_803D8540@ha
/* 80369AA0 00366A00 38 A0 00 00 */ li r5, 0
/* 80369AA4 00366A04 38 84 85 40 */ addi r4, r4, lbl_803D8540@l
/* 80369AA8 00366A08 4B FA BD 71 */ bl __nwa__FUlPCcPCc
/* 80369AAC 00366A0C 90 7F 00 1C */ stw r3, 0x1c(r31)
lbl_80369AB0:
/* 80369AB0 00366A10 38 00 00 02 */ li r0, 2
/* 80369AB4 00366A14 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 80369AB8 00366A18 38 60 00 00 */ li r3, 0
/* 80369ABC 00366A1C 7C 09 03 A6 */ mtctr r0
lbl_80369AC0:
/* 80369AC0 00366A20 28 04 00 00 */ cmplwi r4, 0
/* 80369AC4 00366A24 41 82 00 4C */ beq lbl_80369B10
/* 80369AC8 00366A28 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80369ACC 00366A2C D0 04 00 00 */ stfs f0, 0(r4)
/* 80369AD0 00366A30 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80369AD4 00366A34 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369AD8 00366A38 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80369ADC 00366A3C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369AE0 00366A40 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80369AE4 00366A44 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369AE8 00366A48 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80369AEC 00366A4C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369AF0 00366A50 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80369AF4 00366A54 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369AF8 00366A58 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80369AFC 00366A5C D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80369B00 00366A60 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80369B04 00366A64 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80369B08 00366A68 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369B0C 00366A6C 90 04 00 20 */ stw r0, 0x20(r4)
lbl_80369B10:
/* 80369B10 00366A70 34 84 00 24 */ addic. r4, r4, 0x24
/* 80369B14 00366A74 41 82 00 4C */ beq lbl_80369B60
/* 80369B18 00366A78 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80369B1C 00366A7C D0 04 00 00 */ stfs f0, 0(r4)
/* 80369B20 00366A80 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80369B24 00366A84 D0 04 00 04 */ stfs f0, 4(r4)
/* 80369B28 00366A88 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80369B2C 00366A8C D0 04 00 08 */ stfs f0, 8(r4)
/* 80369B30 00366A90 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80369B34 00366A94 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80369B38 00366A98 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80369B3C 00366A9C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80369B40 00366AA0 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80369B44 00366AA4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80369B48 00366AA8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80369B4C 00366AAC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80369B50 00366AB0 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80369B54 00366AB4 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80369B58 00366AB8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80369B5C 00366ABC 90 04 00 20 */ stw r0, 0x20(r4)
lbl_80369B60:
/* 80369B60 00366AC0 38 63 00 01 */ addi r3, r3, 1
/* 80369B64 00366AC4 38 84 00 24 */ addi r4, r4, 0x24
/* 80369B68 00366AC8 42 00 FF 58 */ bdnz lbl_80369AC0
/* 80369B6C 00366ACC 38 00 00 04 */ li r0, 4
/* 80369B70 00366AD0 34 7F 00 24 */ addic. r3, r31, 0x24
/* 80369B74 00366AD4 90 1F 00 20 */ stw r0, 0x20(r31)
/* 80369B78 00366AD8 41 82 00 0C */ beq lbl_80369B84
/* 80369B7C 00366ADC A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369B80 00366AE0 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369B84:
/* 80369B84 00366AE4 34 63 00 02 */ addic. r3, r3, 2
/* 80369B88 00366AE8 41 82 00 0C */ beq lbl_80369B94
/* 80369B8C 00366AEC A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369B90 00366AF0 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369B94:
/* 80369B94 00366AF4 34 63 00 02 */ addic. r3, r3, 2
/* 80369B98 00366AF8 41 82 00 0C */ beq lbl_80369BA4
/* 80369B9C 00366AFC A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369BA0 00366B00 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369BA4:
/* 80369BA4 00366B04 34 63 00 02 */ addic. r3, r3, 2
/* 80369BA8 00366B08 41 82 00 0C */ beq lbl_80369BB4
/* 80369BAC 00366B0C A0 0D 9E A0 */ lhz r0, lbl_805A8A60@sda21(r13)
/* 80369BB0 00366B10 B0 03 00 00 */ sth r0, 0(r3)
lbl_80369BB4:
/* 80369BB4 00366B14 38 00 00 00 */ li r0, 0
/* 80369BB8 00366B18 7F E3 FB 78 */ mr r3, r31
/* 80369BBC 00366B1C B0 1F 00 2C */ sth r0, 0x2c(r31)
/* 80369BC0 00366B20 98 1F 00 2E */ stb r0, 0x2e(r31)
/* 80369BC4 00366B24 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80369BC8 00366B28 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80369BCC 00366B2C 7C 08 03 A6 */ mtlr r0
/* 80369BD0 00366B30 38 21 00 50 */ addi r1, r1, 0x50
/* 80369BD4 00366B34 4E 80 00 20 */ blr

View File

@ -0,0 +1,57 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Create__11IControllerFRC10COsContext
Create__11IControllerFRC10COsContext:
/* 8034EFB4 0034BF14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034EFB8 0034BF18 7C 08 02 A6 */ mflr r0
/* 8034EFBC 0034BF1C 3C 80 80 3E */ lis r4, lbl_803D8228@ha
/* 8034EFC0 0034BF20 38 60 01 D0 */ li r3, 0x1d0
/* 8034EFC4 0034BF24 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034EFC8 0034BF28 38 84 82 28 */ addi r4, r4, lbl_803D8228@l
/* 8034EFCC 0034BF2C 38 A0 00 00 */ li r5, 0
/* 8034EFD0 0034BF30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034EFD4 0034BF34 4B FC 68 99 */ bl __nw__FUlPCcPCc
/* 8034EFD8 0034BF38 7C 7F 1B 79 */ or. r31, r3, r3
/* 8034EFDC 0034BF3C 41 82 00 0C */ beq lbl_8034EFE8
/* 8034EFE0 0034BF40 48 00 07 A9 */ bl __ct__18CDolphinControllerFv
/* 8034EFE4 0034BF44 7C 7F 1B 78 */ mr r31, r3
lbl_8034EFE8:
/* 8034EFE8 0034BF48 7F E3 FB 78 */ mr r3, r31
/* 8034EFEC 0034BF4C 48 00 06 95 */ bl Initialize__18CDolphinControllerFv
/* 8034EFF0 0034BF50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034EFF4 0034BF54 7F E3 FB 78 */ mr r3, r31
/* 8034EFF8 0034BF58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034EFFC 0034BF5C 7C 08 03 A6 */ mtlr r0
/* 8034F000 0034BF60 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F004 0034BF64 4E 80 00 20 */ blr
.global __dt__11IControllerFv
__dt__11IControllerFv:
/* 8034F008 0034BF68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034F00C 0034BF6C 7C 08 02 A6 */ mflr r0
/* 8034F010 0034BF70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8034F014 0034BF74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8034F018 0034BF78 7C 7F 1B 79 */ or. r31, r3, r3
/* 8034F01C 0034BF7C 41 82 00 1C */ beq lbl_8034F038
/* 8034F020 0034BF80 3C A0 80 3F */ lis r5, lbl_803EF680@ha
/* 8034F024 0034BF84 7C 80 07 35 */ extsh. r0, r4
/* 8034F028 0034BF88 38 05 F6 80 */ addi r0, r5, lbl_803EF680@l
/* 8034F02C 0034BF8C 90 1F 00 00 */ stw r0, 0(r31)
/* 8034F030 0034BF90 40 81 00 08 */ ble lbl_8034F038
/* 8034F034 0034BF94 4B FC 68 FD */ bl Free__7CMemoryFPCv
lbl_8034F038:
/* 8034F038 0034BF98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8034F03C 0034BF9C 7F E3 FB 78 */ mr r3, r31
/* 8034F040 0034BFA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8034F044 0034BFA4 7C 08 03 A6 */ mtlr r0
/* 8034F048 0034BFA8 38 21 00 10 */ addi r1, r1, 0x10
/* 8034F04C 0034BFAC 4E 80 00 20 */ blr
.global __ct__11IControllerFv
__ct__11IControllerFv:
/* 8034F050 0034BFB0 3C 80 80 3F */ lis r4, lbl_803EF680@ha
/* 8034F054 0034BFB4 38 04 F6 80 */ addi r0, r4, lbl_803EF680@l
/* 8034F058 0034BFB8 90 03 00 00 */ stw r0, 0(r3)
/* 8034F05C 0034BFBC 4E 80 00 20 */ blr

View File

@ -0,0 +1,98 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __ct__9SAdsrDataFffffffbb
__ct__9SAdsrDataFffffffbb:
/* 80369BD8 00366B38 D0 23 00 00 */ stfs f1, 0(r3)
/* 80369BDC 00366B3C D0 43 00 04 */ stfs f2, 4(r3)
/* 80369BE0 00366B40 D0 63 00 08 */ stfs f3, 8(r3)
/* 80369BE4 00366B44 D0 83 00 0C */ stfs f4, 0xc(r3)
/* 80369BE8 00366B48 D0 A3 00 10 */ stfs f5, 0x10(r3)
/* 80369BEC 00366B4C D0 C3 00 14 */ stfs f6, 0x14(r3)
/* 80369BF0 00366B50 88 03 00 18 */ lbz r0, 0x18(r3)
/* 80369BF4 00366B54 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80369BF8 00366B58 98 03 00 18 */ stb r0, 0x18(r3)
/* 80369BFC 00366B5C 88 03 00 18 */ lbz r0, 0x18(r3)
/* 80369C00 00366B60 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 80369C04 00366B64 98 03 00 18 */ stb r0, 0x18(r3)
/* 80369C08 00366B68 4E 80 00 20 */ blr
.global __ct__9SAdsrDataFv
__ct__9SAdsrDataFv:
/* 80369C0C 00366B6C C0 02 CD E8 */ lfs f0, lbl_805AEB08@sda21(r2)
/* 80369C10 00366B70 38 80 00 00 */ li r4, 0
/* 80369C14 00366B74 D0 03 00 00 */ stfs f0, 0(r3)
/* 80369C18 00366B78 D0 03 00 04 */ stfs f0, 4(r3)
/* 80369C1C 00366B7C D0 03 00 08 */ stfs f0, 8(r3)
/* 80369C20 00366B80 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80369C24 00366B84 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80369C28 00366B88 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80369C2C 00366B8C 88 03 00 18 */ lbz r0, 0x18(r3)
/* 80369C30 00366B90 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80369C34 00366B94 98 03 00 18 */ stb r0, 0x18(r3)
/* 80369C38 00366B98 88 03 00 18 */ lbz r0, 0x18(r3)
/* 80369C3C 00366B9C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 80369C40 00366BA0 98 03 00 18 */ stb r0, 0x18(r3)
/* 80369C44 00366BA4 4E 80 00 20 */ blr
.global __ct__10SAdsrDeltaFQ210SAdsrDelta6EPhase15ERumblePriority
__ct__10SAdsrDeltaFQ210SAdsrDelta6EPhase15ERumblePriority:
/* 80369C48 00366BA8 2C 04 00 01 */ cmpwi r4, 1
/* 80369C4C 00366BAC 40 82 00 0C */ bne lbl_80369C58
/* 80369C50 00366BB0 C0 02 CD EC */ lfs f0, lbl_805AEB0C@sda21(r2)
/* 80369C54 00366BB4 48 00 00 08 */ b lbl_80369C5C
lbl_80369C58:
/* 80369C58 00366BB8 C0 02 CD E8 */ lfs f0, lbl_805AEB08@sda21(r2)
lbl_80369C5C:
/* 80369C5C 00366BBC D0 03 00 00 */ stfs f0, 0(r3)
/* 80369C60 00366BC0 C0 02 CD E8 */ lfs f0, lbl_805AEB08@sda21(r2)
/* 80369C64 00366BC4 D0 03 00 04 */ stfs f0, 4(r3)
/* 80369C68 00366BC8 D0 03 00 08 */ stfs f0, 8(r3)
/* 80369C6C 00366BCC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80369C70 00366BD0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80369C74 00366BD4 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 80369C78 00366BD8 90 83 00 20 */ stw r4, 0x20(r3)
/* 80369C7C 00366BDC 4E 80 00 20 */ blr
.global __ct__10SAdsrDeltaFQ210SAdsrDelta6EPhase
__ct__10SAdsrDeltaFQ210SAdsrDelta6EPhase:
/* 80369C80 00366BE0 C0 02 CD E8 */ lfs f0, lbl_805AEB08@sda21(r2)
/* 80369C84 00366BE4 38 00 00 00 */ li r0, 0
/* 80369C88 00366BE8 D0 03 00 00 */ stfs f0, 0(r3)
/* 80369C8C 00366BEC D0 03 00 04 */ stfs f0, 4(r3)
/* 80369C90 00366BF0 D0 03 00 08 */ stfs f0, 8(r3)
/* 80369C94 00366BF4 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80369C98 00366BF8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80369C9C 00366BFC 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80369CA0 00366C00 90 83 00 20 */ stw r4, 0x20(r3)
/* 80369CA4 00366C04 4E 80 00 20 */ blr
.global Stopped__10SAdsrDeltaFv
Stopped__10SAdsrDeltaFv:
/* 80369CA8 00366C08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369CAC 00366C0C 7C 08 02 A6 */ mflr r0
/* 80369CB0 00366C10 38 80 00 00 */ li r4, 0
/* 80369CB4 00366C14 90 01 00 14 */ stw r0, 0x14(r1)
/* 80369CB8 00366C18 4B FF FF C9 */ bl __ct__10SAdsrDeltaFQ210SAdsrDelta6EPhase
/* 80369CBC 00366C1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80369CC0 00366C20 7C 08 03 A6 */ mtlr r0
/* 80369CC4 00366C24 38 21 00 10 */ addi r1, r1, 0x10
/* 80369CC8 00366C28 4E 80 00 20 */ blr
.global Start__10SAdsrDeltaF15ERumblePriorityb
Start__10SAdsrDeltaF15ERumblePriorityb:
/* 80369CCC 00366C2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80369CD0 00366C30 7C 08 02 A6 */ mflr r0
/* 80369CD4 00366C34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80369CD8 00366C38 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 80369CDC 00366C3C 7C 85 23 78 */ mr r5, r4
/* 80369CE0 00366C40 38 80 00 02 */ li r4, 2
/* 80369CE4 00366C44 41 82 00 08 */ beq lbl_80369CEC
/* 80369CE8 00366C48 38 80 00 01 */ li r4, 1
lbl_80369CEC:
/* 80369CEC 00366C4C 4B FF FF 5D */ bl __ct__10SAdsrDeltaFQ210SAdsrDelta6EPhase15ERumblePriority
/* 80369CF0 00366C50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80369CF4 00366C54 7C 08 03 A6 */ mtlr r0
/* 80369CF8 00366C58 38 21 00 10 */ addi r1, r1, 0x10
/* 80369CFC 00366C5C 4E 80 00 20 */ blr

1395
asm/Kyoto/Math/CAABox.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,529 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global PointInFrustumPlanes__14CFrustumPlanesCFRC9CVector3f
PointInFrustumPlanes__14CFrustumPlanesCFRC9CVector3f:
/* 80344FCC 00341F2C 80 03 00 00 */ lwz r0, 0(r3)
/* 80344FD0 00341F30 38 63 00 04 */ addi r3, r3, 4
/* 80344FD4 00341F34 7C 09 03 A6 */ mtctr r0
/* 80344FD8 00341F38 2C 00 00 00 */ cmpwi r0, 0
/* 80344FDC 00341F3C 40 81 00 48 */ ble lbl_80345024
lbl_80344FE0:
/* 80344FE0 00341F40 C0 23 00 04 */ lfs f1, 4(r3)
/* 80344FE4 00341F44 C0 04 00 04 */ lfs f0, 4(r4)
/* 80344FE8 00341F48 C0 43 00 00 */ lfs f2, 0(r3)
/* 80344FEC 00341F4C EC 01 00 32 */ fmuls f0, f1, f0
/* 80344FF0 00341F50 C0 24 00 00 */ lfs f1, 0(r4)
/* 80344FF4 00341F54 C0 83 00 08 */ lfs f4, 8(r3)
/* 80344FF8 00341F58 C0 64 00 08 */ lfs f3, 8(r4)
/* 80344FFC 00341F5C EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 80345000 00341F60 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80345004 00341F64 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 80345008 00341F68 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8034500C 00341F6C 4C 41 13 82 */ cror 2, 1, 2
/* 80345010 00341F70 40 82 00 0C */ bne lbl_8034501C
/* 80345014 00341F74 38 60 00 00 */ li r3, 0
/* 80345018 00341F78 4E 80 00 20 */ blr
lbl_8034501C:
/* 8034501C 00341F7C 38 63 00 10 */ addi r3, r3, 0x10
/* 80345020 00341F80 42 00 FF C0 */ bdnz lbl_80344FE0
lbl_80345024:
/* 80345024 00341F84 38 60 00 01 */ li r3, 1
/* 80345028 00341F88 4E 80 00 20 */ blr
.global SphereInFrustumPlanes__14CFrustumPlanesCFRC7CSphere
SphereInFrustumPlanes__14CFrustumPlanesCFRC7CSphere:
/* 8034502C 00341F8C 80 03 00 00 */ lwz r0, 0(r3)
/* 80345030 00341F90 38 63 00 04 */ addi r3, r3, 4
/* 80345034 00341F94 C0 A4 00 0C */ lfs f5, 0xc(r4)
/* 80345038 00341F98 C0 C4 00 00 */ lfs f6, 0(r4)
/* 8034503C 00341F9C C0 E4 00 04 */ lfs f7, 4(r4)
/* 80345040 00341FA0 C1 04 00 08 */ lfs f8, 8(r4)
/* 80345044 00341FA4 C0 02 CB B0 */ lfs f0, lbl_805AE8D0@sda21(r2)
/* 80345048 00341FA8 7C 09 03 A6 */ mtctr r0
/* 8034504C 00341FAC 2C 00 00 00 */ cmpwi r0, 0
/* 80345050 00341FB0 40 81 00 40 */ ble lbl_80345090
lbl_80345054:
/* 80345054 00341FB4 C0 23 00 04 */ lfs f1, 4(r3)
/* 80345058 00341FB8 C0 63 00 00 */ lfs f3, 0(r3)
/* 8034505C 00341FBC EC 41 01 F2 */ fmuls f2, f1, f7
/* 80345060 00341FC0 C0 83 00 08 */ lfs f4, 8(r3)
/* 80345064 00341FC4 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80345068 00341FC8 EC 43 11 BA */ fmadds f2, f3, f6, f2
/* 8034506C 00341FCC EC 44 12 3A */ fmadds f2, f4, f8, f2
/* 80345070 00341FD0 EC 22 08 28 */ fsubs f1, f2, f1
/* 80345074 00341FD4 EC 21 28 28 */ fsubs f1, f1, f5
/* 80345078 00341FD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8034507C 00341FDC 40 81 00 0C */ ble lbl_80345088
/* 80345080 00341FE0 38 60 00 00 */ li r3, 0
/* 80345084 00341FE4 4E 80 00 20 */ blr
lbl_80345088:
/* 80345088 00341FE8 38 63 00 10 */ addi r3, r3, 0x10
/* 8034508C 00341FEC 42 00 FF C8 */ bdnz lbl_80345054
lbl_80345090:
/* 80345090 00341FF0 38 60 00 01 */ li r3, 1
/* 80345094 00341FF4 4E 80 00 20 */ blr
.global sub_80345098
sub_80345098:
/* 80345098 00341FF8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8034509C 00341FFC 7C 08 02 A6 */ mflr r0
/* 803450A0 00342000 90 01 00 44 */ stw r0, 0x44(r1)
/* 803450A4 00342004 BF 61 00 2C */ stmw r27, 0x2c(r1)
/* 803450A8 00342008 7C 7B 1B 78 */ mr r27, r3
/* 803450AC 0034200C 7C 9C 23 78 */ mr r28, r4
/* 803450B0 00342010 3B C0 00 01 */ li r30, 1
/* 803450B4 00342014 3B FB 00 04 */ addi r31, r27, 4
/* 803450B8 00342018 3B A0 00 00 */ li r29, 0
/* 803450BC 0034201C 48 00 00 A8 */ b lbl_80345164
lbl_803450C0:
/* 803450C0 00342020 7F 84 E3 78 */ mr r4, r28
/* 803450C4 00342024 7F E5 FB 78 */ mr r5, r31
/* 803450C8 00342028 38 61 00 14 */ addi r3, r1, 0x14
/* 803450CC 0034202C 4B FF 21 11 */ bl ClosestPointAlongVector__6CAABoxCFRC9CVector3f
/* 803450D0 00342030 C0 3F 00 04 */ lfs f1, 4(r31)
/* 803450D4 00342034 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 803450D8 00342038 C0 5F 00 00 */ lfs f2, 0(r31)
/* 803450DC 0034203C EC 01 00 32 */ fmuls f0, f1, f0
/* 803450E0 00342040 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 803450E4 00342044 C0 9F 00 08 */ lfs f4, 8(r31)
/* 803450E8 00342048 C0 61 00 1C */ lfs f3, 0x1c(r1)
/* 803450EC 0034204C EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 803450F0 00342050 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 803450F4 00342054 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 803450F8 00342058 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 803450FC 0034205C 4C 41 13 82 */ cror 2, 1, 2
/* 80345100 00342060 40 82 00 0C */ bne lbl_8034510C
/* 80345104 00342064 38 60 00 00 */ li r3, 0
/* 80345108 00342068 48 00 00 6C */ b lbl_80345174
lbl_8034510C:
/* 8034510C 0034206C 2C 1E 00 01 */ cmpwi r30, 1
/* 80345110 00342070 40 82 00 4C */ bne lbl_8034515C
/* 80345114 00342074 7F 84 E3 78 */ mr r4, r28
/* 80345118 00342078 7F E5 FB 78 */ mr r5, r31
/* 8034511C 0034207C 38 61 00 08 */ addi r3, r1, 8
/* 80345120 00342080 4B FF 20 FD */ bl FurthestPointAlongVector__6CAABoxCFRC9CVector3f
/* 80345124 00342084 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80345128 00342088 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8034512C 0034208C C0 5F 00 00 */ lfs f2, 0(r31)
/* 80345130 00342090 EC 01 00 32 */ fmuls f0, f1, f0
/* 80345134 00342094 C0 21 00 08 */ lfs f1, 8(r1)
/* 80345138 00342098 C0 9F 00 08 */ lfs f4, 8(r31)
/* 8034513C 0034209C C0 61 00 10 */ lfs f3, 0x10(r1)
/* 80345140 003420A0 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 80345144 003420A4 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 80345148 003420A8 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 8034514C 003420AC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80345150 003420B0 4C 41 13 82 */ cror 2, 1, 2
/* 80345154 003420B4 40 82 00 08 */ bne lbl_8034515C
/* 80345158 003420B8 3B C0 00 02 */ li r30, 2
lbl_8034515C:
/* 8034515C 003420BC 3B FF 00 10 */ addi r31, r31, 0x10
/* 80345160 003420C0 3B BD 00 01 */ addi r29, r29, 1
lbl_80345164:
/* 80345164 003420C4 80 1B 00 00 */ lwz r0, 0(r27)
/* 80345168 003420C8 7C 1D 00 00 */ cmpw r29, r0
/* 8034516C 003420CC 41 80 FF 54 */ blt lbl_803450C0
/* 80345170 003420D0 7F C3 F3 78 */ mr r3, r30
lbl_80345174:
/* 80345174 003420D4 BB 61 00 2C */ lmw r27, 0x2c(r1)
/* 80345178 003420D8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8034517C 003420DC 7C 08 03 A6 */ mtlr r0
/* 80345180 003420E0 38 21 00 40 */ addi r1, r1, 0x40
/* 80345184 003420E4 4E 80 00 20 */ blr
.global "BoxInFrustumPlanes__14CFrustumPlanesCFRCQ24rstl24optional_object<6CAABox>"
"BoxInFrustumPlanes__14CFrustumPlanesCFRCQ24rstl24optional_object<6CAABox>":
/* 80345188 003420E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034518C 003420EC 7C 08 02 A6 */ mflr r0
/* 80345190 003420F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80345194 003420F4 80 03 00 00 */ lwz r0, 0(r3)
/* 80345198 003420F8 2C 00 00 00 */ cmpwi r0, 0
/* 8034519C 003420FC 40 82 00 0C */ bne lbl_803451A8
/* 803451A0 00342100 38 60 00 01 */ li r3, 1
/* 803451A4 00342104 48 00 00 1C */ b lbl_803451C0
lbl_803451A8:
/* 803451A8 00342108 88 04 00 18 */ lbz r0, 0x18(r4)
/* 803451AC 0034210C 28 00 00 00 */ cmplwi r0, 0
/* 803451B0 00342110 41 82 00 0C */ beq lbl_803451BC
/* 803451B4 00342114 48 00 00 1D */ bl BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
/* 803451B8 00342118 48 00 00 08 */ b lbl_803451C0
lbl_803451BC:
/* 803451BC 0034211C 38 60 00 00 */ li r3, 0
lbl_803451C0:
/* 803451C0 00342120 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803451C4 00342124 7C 08 03 A6 */ mtlr r0
/* 803451C8 00342128 38 21 00 10 */ addi r1, r1, 0x10
/* 803451CC 0034212C 4E 80 00 20 */ blr
.global BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox:
/* 803451D0 00342130 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803451D4 00342134 7C 08 02 A6 */ mflr r0
/* 803451D8 00342138 90 01 00 24 */ stw r0, 0x24(r1)
/* 803451DC 0034213C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803451E0 00342140 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803451E4 00342144 3B C0 00 00 */ li r30, 0
/* 803451E8 00342148 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803451EC 0034214C 7C 9D 23 78 */ mr r29, r4
/* 803451F0 00342150 93 81 00 10 */ stw r28, 0x10(r1)
/* 803451F4 00342154 7C 7C 1B 78 */ mr r28, r3
/* 803451F8 00342158 3B FC 00 04 */ addi r31, r28, 4
/* 803451FC 0034215C 48 00 00 28 */ b lbl_80345224
lbl_80345200:
/* 80345200 00342160 7F A3 EB 78 */ mr r3, r29
/* 80345204 00342164 7F E4 FB 78 */ mr r4, r31
/* 80345208 00342168 4B FF 28 1D */ bl InsidePlane__6CAABoxCFRC6CPlane
/* 8034520C 0034216C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80345210 00342170 40 82 00 0C */ bne lbl_8034521C
/* 80345214 00342174 38 60 00 00 */ li r3, 0
/* 80345218 00342178 48 00 00 1C */ b lbl_80345234
lbl_8034521C:
/* 8034521C 0034217C 3B FF 00 10 */ addi r31, r31, 0x10
/* 80345220 00342180 3B DE 00 01 */ addi r30, r30, 1
lbl_80345224:
/* 80345224 00342184 80 1C 00 00 */ lwz r0, 0(r28)
/* 80345228 00342188 7C 1E 00 00 */ cmpw r30, r0
/* 8034522C 0034218C 41 80 FF D4 */ blt lbl_80345200
/* 80345230 00342190 38 60 00 01 */ li r3, 1
lbl_80345234:
/* 80345234 00342194 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80345238 00342198 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8034523C 0034219C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80345240 003421A0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80345244 003421A4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80345248 003421A8 7C 08 03 A6 */ mtlr r0
/* 8034524C 003421AC 38 21 00 20 */ addi r1, r1, 0x20
/* 80345250 003421B0 4E 80 00 20 */ blr
.global __ct__14CFrustumPlanesFRC12CTransform4ffffbf
__ct__14CFrustumPlanesFRC12CTransform4ffffbf:
/* 80345254 003421B4 94 21 FE 80 */ stwu r1, -0x180(r1)
/* 80345258 003421B8 7C 08 02 A6 */ mflr r0
/* 8034525C 003421BC 90 01 01 84 */ stw r0, 0x184(r1)
/* 80345260 003421C0 DB E1 01 70 */ stfd f31, 0x170(r1)
/* 80345264 003421C4 F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0
/* 80345268 003421C8 DB C1 01 60 */ stfd f30, 0x160(r1)
/* 8034526C 003421CC F3 C1 01 68 */ psq_st f30, 360(r1), 0, qr0
/* 80345270 003421D0 DB A1 01 50 */ stfd f29, 0x150(r1)
/* 80345274 003421D4 F3 A1 01 58 */ psq_st f29, 344(r1), 0, qr0
/* 80345278 003421D8 DB 81 01 40 */ stfd f28, 0x140(r1)
/* 8034527C 003421DC F3 81 01 48 */ psq_st f28, 328(r1), 0, qr0
/* 80345280 003421E0 DB 61 01 30 */ stfd f27, 0x130(r1)
/* 80345284 003421E4 F3 61 01 38 */ psq_st f27, 312(r1), 0, qr0
/* 80345288 003421E8 DB 41 01 20 */ stfd f26, 0x120(r1)
/* 8034528C 003421EC F3 41 01 28 */ psq_st f26, 296(r1), 0, qr0
/* 80345290 003421F0 DB 21 01 10 */ stfd f25, 0x110(r1)
/* 80345294 003421F4 F3 21 01 18 */ psq_st f25, 280(r1), 0, qr0
/* 80345298 003421F8 BF 61 00 FC */ stmw r27, 0xfc(r1)
/* 8034529C 003421FC C0 02 CB B4 */ lfs f0, lbl_805AE8D4@sda21(r2)
/* 803452A0 00342200 7C 7C 1B 78 */ mr r28, r3
/* 803452A4 00342204 38 00 00 00 */ li r0, 0
/* 803452A8 00342208 FF 40 10 90 */ fmr f26, f2
/* 803452AC 0034220C EF 21 00 32 */ fmuls f25, f1, f0
/* 803452B0 00342210 90 03 00 00 */ stw r0, 0(r3)
/* 803452B4 00342214 FF C0 18 90 */ fmr f30, f3
/* 803452B8 00342218 7C 9B 23 78 */ mr r27, r4
/* 803452BC 0034221C FF E0 20 90 */ fmr f31, f4
/* 803452C0 00342220 FC 20 C8 90 */ fmr f1, f25
/* 803452C4 00342224 7C BD 2B 78 */ mr r29, r5
/* 803452C8 00342228 48 04 F1 29 */ bl cos
/* 803452CC 0034222C FF A0 08 90 */ fmr f29, f1
/* 803452D0 00342230 FC 20 C8 90 */ fmr f1, f25
/* 803452D4 00342234 48 04 F8 09 */ bl sin
/* 803452D8 00342238 FC 40 E8 18 */ frsp f2, f29
/* 803452DC 0034223C FC 00 08 18 */ frsp f0, f1
/* 803452E0 00342240 EF 39 06 B2 */ fmuls f25, f25, f26
/* 803452E4 00342244 EC 5E 10 24 */ fdivs f2, f30, f2
/* 803452E8 00342248 FC 20 C8 90 */ fmr f1, f25
/* 803452EC 0034224C EF 42 00 32 */ fmuls f26, f2, f0
/* 803452F0 00342250 48 04 F1 01 */ bl cos
/* 803452F4 00342254 FF A0 08 90 */ fmr f29, f1
/* 803452F8 00342258 FC 20 C8 90 */ fmr f1, f25
/* 803452FC 0034225C 48 04 F7 E1 */ bl sin
/* 80345300 00342260 FC 40 E8 18 */ frsp f2, f29
/* 80345304 00342264 D3 C1 00 C0 */ stfs f30, 0xc0(r1)
/* 80345308 00342268 FC 60 D0 50 */ fneg f3, f26
/* 8034530C 0034226C 7F 64 DB 78 */ mr r4, r27
/* 80345310 00342270 FC 00 08 18 */ frsp f0, f1
/* 80345314 00342274 D3 41 00 C4 */ stfs f26, 0xc4(r1)
/* 80345318 00342278 EC 3E 10 24 */ fdivs f1, f30, f2
/* 8034531C 0034227C D3 C1 00 CC */ stfs f30, 0xcc(r1)
/* 80345320 00342280 38 61 00 80 */ addi r3, r1, 0x80
/* 80345324 00342284 38 A1 00 BC */ addi r5, r1, 0xbc
/* 80345328 00342288 D0 61 00 D0 */ stfs f3, 0xd0(r1)
/* 8034532C 0034228C D3 C1 00 D8 */ stfs f30, 0xd8(r1)
/* 80345330 00342290 EC 21 00 32 */ fmuls f1, f1, f0
/* 80345334 00342294 D0 61 00 DC */ stfs f3, 0xdc(r1)
/* 80345338 00342298 D3 C1 00 E4 */ stfs f30, 0xe4(r1)
/* 8034533C 0034229C FC 00 08 50 */ fneg f0, f1
/* 80345340 003422A0 D0 21 00 BC */ stfs f1, 0xbc(r1)
/* 80345344 003422A4 D0 21 00 C8 */ stfs f1, 0xc8(r1)
/* 80345348 003422A8 D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 8034534C 003422AC D0 01 00 E0 */ stfs f0, 0xe0(r1)
/* 80345350 003422B0 D3 41 00 E8 */ stfs f26, 0xe8(r1)
/* 80345354 003422B4 4B FC D7 2D */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 80345358 003422B8 C0 41 00 80 */ lfs f2, 0x80(r1)
/* 8034535C 003422BC 7F 64 DB 78 */ mr r4, r27
/* 80345360 003422C0 C0 21 00 84 */ lfs f1, 0x84(r1)
/* 80345364 003422C4 38 61 00 74 */ addi r3, r1, 0x74
/* 80345368 003422C8 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 8034536C 003422CC 38 A1 00 C8 */ addi r5, r1, 0xc8
/* 80345370 003422D0 D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 80345374 003422D4 D0 21 00 90 */ stfs f1, 0x90(r1)
/* 80345378 003422D8 D0 01 00 94 */ stfs f0, 0x94(r1)
/* 8034537C 003422DC 4B FC D7 05 */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 80345380 003422E0 C0 41 00 74 */ lfs f2, 0x74(r1)
/* 80345384 003422E4 7F 64 DB 78 */ mr r4, r27
/* 80345388 003422E8 C0 21 00 78 */ lfs f1, 0x78(r1)
/* 8034538C 003422EC 38 61 00 68 */ addi r3, r1, 0x68
/* 80345390 003422F0 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 80345394 003422F4 38 A1 00 D4 */ addi r5, r1, 0xd4
/* 80345398 003422F8 D0 41 00 98 */ stfs f2, 0x98(r1)
/* 8034539C 003422FC D0 21 00 9C */ stfs f1, 0x9c(r1)
/* 803453A0 00342300 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 803453A4 00342304 4B FC D6 DD */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 803453A8 00342308 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 803453AC 0034230C 7F 64 DB 78 */ mr r4, r27
/* 803453B0 00342310 C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 803453B4 00342314 38 61 00 5C */ addi r3, r1, 0x5c
/* 803453B8 00342318 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 803453BC 0034231C 38 A1 00 E0 */ addi r5, r1, 0xe0
/* 803453C0 00342320 D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 803453C4 00342324 D0 21 00 A8 */ stfs f1, 0xa8(r1)
/* 803453C8 00342328 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 803453CC 0034232C 4B FC D6 B5 */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 803453D0 00342330 C0 02 CB B0 */ lfs f0, lbl_805AE8D0@sda21(r2)
/* 803453D4 00342334 7F 64 DB 78 */ mr r4, r27
/* 803453D8 00342338 C0 61 00 5C */ lfs f3, 0x5c(r1)
/* 803453DC 0034233C 38 61 00 50 */ addi r3, r1, 0x50
/* 803453E0 00342340 C0 41 00 60 */ lfs f2, 0x60(r1)
/* 803453E4 00342344 38 A1 00 44 */ addi r5, r1, 0x44
/* 803453E8 00342348 C0 21 00 64 */ lfs f1, 0x64(r1)
/* 803453EC 0034234C D0 61 00 B0 */ stfs f3, 0xb0(r1)
/* 803453F0 00342350 C3 7B 00 2C */ lfs f27, 0x2c(r27)
/* 803453F4 00342354 D0 41 00 B4 */ stfs f2, 0xb4(r1)
/* 803453F8 00342358 C3 9B 00 1C */ lfs f28, 0x1c(r27)
/* 803453FC 0034235C D0 21 00 B8 */ stfs f1, 0xb8(r1)
/* 80345400 00342360 C3 BB 00 0C */ lfs f29, 0xc(r27)
/* 80345404 00342364 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80345408 00342368 D3 C1 00 48 */ stfs f30, 0x48(r1)
/* 8034540C 0034236C D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80345410 00342370 4B FC D6 D9 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80345414 00342374 3B C1 00 A4 */ addi r30, r1, 0xa4
/* 80345418 00342378 3B E1 00 98 */ addi r31, r1, 0x98
/* 8034541C 0034237C C3 C1 00 50 */ lfs f30, 0x50(r1)
/* 80345420 00342380 7F C5 F3 78 */ mr r5, r30
/* 80345424 00342384 C3 41 00 54 */ lfs f26, 0x54(r1)
/* 80345428 00342388 7F E6 FB 78 */ mr r6, r31
/* 8034542C 0034238C C3 21 00 58 */ lfs f25, 0x58(r1)
/* 80345430 00342390 38 61 00 38 */ addi r3, r1, 0x38
/* 80345434 00342394 38 81 00 8C */ addi r4, r1, 0x8c
/* 80345438 00342398 48 00 02 79 */ bl sub_803456b0
/* 8034543C 0034239C C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 80345440 003423A0 80 1C 00 00 */ lwz r0, 0(r28)
/* 80345444 003423A4 EC 1A 00 72 */ fmuls f0, f26, f1
/* 80345448 003423A8 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 8034544C 003423AC 54 00 20 36 */ slwi r0, r0, 4
/* 80345450 003423B0 C0 61 00 40 */ lfs f3, 0x40(r1)
/* 80345454 003423B4 7C 7C 02 14 */ add r3, r28, r0
/* 80345458 003423B8 EC 1E 00 BA */ fmadds f0, f30, f2, f0
/* 8034545C 003423BC 34 63 00 04 */ addic. r3, r3, 4
/* 80345460 003423C0 EC 19 00 FA */ fmadds f0, f25, f3, f0
/* 80345464 003423C4 41 82 00 14 */ beq lbl_80345478
/* 80345468 003423C8 D0 43 00 00 */ stfs f2, 0(r3)
/* 8034546C 003423CC D0 23 00 04 */ stfs f1, 4(r3)
/* 80345470 003423D0 D0 63 00 08 */ stfs f3, 8(r3)
/* 80345474 003423D4 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80345478:
/* 80345478 003423D8 80 DC 00 00 */ lwz r6, 0(r28)
/* 8034547C 003423DC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80345480 003423E0 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 80345484 003423E4 7F E5 FB 78 */ mr r5, r31
/* 80345488 003423E8 38 06 00 01 */ addi r0, r6, 1
/* 8034548C 003423EC 38 61 00 2C */ addi r3, r1, 0x2c
/* 80345490 003423F0 90 1C 00 00 */ stw r0, 0(r28)
/* 80345494 003423F4 38 C1 00 8C */ addi r6, r1, 0x8c
/* 80345498 003423F8 48 00 02 19 */ bl sub_803456b0
/* 8034549C 003423FC C0 21 00 30 */ lfs f1, 0x30(r1)
/* 803454A0 00342400 80 1C 00 00 */ lwz r0, 0(r28)
/* 803454A4 00342404 EC 1C 00 72 */ fmuls f0, f28, f1
/* 803454A8 00342408 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 803454AC 0034240C 54 00 20 36 */ slwi r0, r0, 4
/* 803454B0 00342410 C0 61 00 34 */ lfs f3, 0x34(r1)
/* 803454B4 00342414 7C 7C 02 14 */ add r3, r28, r0
/* 803454B8 00342418 EC 1D 00 BA */ fmadds f0, f29, f2, f0
/* 803454BC 0034241C 34 63 00 04 */ addic. r3, r3, 4
/* 803454C0 00342420 EC 1B 00 FA */ fmadds f0, f27, f3, f0
/* 803454C4 00342424 41 82 00 14 */ beq lbl_803454D8
/* 803454C8 00342428 D0 43 00 00 */ stfs f2, 0(r3)
/* 803454CC 0034242C D0 23 00 04 */ stfs f1, 4(r3)
/* 803454D0 00342430 D0 63 00 08 */ stfs f3, 8(r3)
/* 803454D4 00342434 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_803454D8:
/* 803454D8 00342438 80 BC 00 00 */ lwz r5, 0(r28)
/* 803454DC 0034243C 3C 60 80 5A */ lis r3, skZero3f@ha
/* 803454E0 00342440 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 803454E4 00342444 3B 61 00 B0 */ addi r27, r1, 0xb0
/* 803454E8 00342448 38 05 00 01 */ addi r0, r5, 1
/* 803454EC 0034244C 7F C6 F3 78 */ mr r6, r30
/* 803454F0 00342450 90 1C 00 00 */ stw r0, 0(r28)
/* 803454F4 00342454 7F 65 DB 78 */ mr r5, r27
/* 803454F8 00342458 38 61 00 20 */ addi r3, r1, 0x20
/* 803454FC 0034245C 48 00 01 B5 */ bl sub_803456b0
/* 80345500 00342460 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80345504 00342464 80 1C 00 00 */ lwz r0, 0(r28)
/* 80345508 00342468 EC 1C 00 72 */ fmuls f0, f28, f1
/* 8034550C 0034246C C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80345510 00342470 54 00 20 36 */ slwi r0, r0, 4
/* 80345514 00342474 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 80345518 00342478 7C 7C 02 14 */ add r3, r28, r0
/* 8034551C 0034247C EC 1D 00 BA */ fmadds f0, f29, f2, f0
/* 80345520 00342480 34 63 00 04 */ addic. r3, r3, 4
/* 80345524 00342484 EC 1B 00 FA */ fmadds f0, f27, f3, f0
/* 80345528 00342488 41 82 00 14 */ beq lbl_8034553C
/* 8034552C 0034248C D0 43 00 00 */ stfs f2, 0(r3)
/* 80345530 00342490 D0 23 00 04 */ stfs f1, 4(r3)
/* 80345534 00342494 D0 63 00 08 */ stfs f3, 8(r3)
/* 80345538 00342498 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_8034553C:
/* 8034553C 0034249C 80 BC 00 00 */ lwz r5, 0(r28)
/* 80345540 003424A0 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80345544 003424A4 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 80345548 003424A8 7F 66 DB 78 */ mr r6, r27
/* 8034554C 003424AC 38 05 00 01 */ addi r0, r5, 1
/* 80345550 003424B0 38 61 00 14 */ addi r3, r1, 0x14
/* 80345554 003424B4 90 1C 00 00 */ stw r0, 0(r28)
/* 80345558 003424B8 38 A1 00 8C */ addi r5, r1, 0x8c
/* 8034555C 003424BC 48 00 01 55 */ bl sub_803456b0
/* 80345560 003424C0 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80345564 003424C4 80 1C 00 00 */ lwz r0, 0(r28)
/* 80345568 003424C8 EC 1C 00 72 */ fmuls f0, f28, f1
/* 8034556C 003424CC C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80345570 003424D0 54 00 20 36 */ slwi r0, r0, 4
/* 80345574 003424D4 C0 61 00 1C */ lfs f3, 0x1c(r1)
/* 80345578 003424D8 7C 7C 02 14 */ add r3, r28, r0
/* 8034557C 003424DC EC 1D 00 BA */ fmadds f0, f29, f2, f0
/* 80345580 003424E0 34 63 00 04 */ addic. r3, r3, 4
/* 80345584 003424E4 EC 1B 00 FA */ fmadds f0, f27, f3, f0
/* 80345588 003424E8 41 82 00 14 */ beq lbl_8034559C
/* 8034558C 003424EC D0 43 00 00 */ stfs f2, 0(r3)
/* 80345590 003424F0 D0 23 00 04 */ stfs f1, 4(r3)
/* 80345594 003424F4 D0 63 00 08 */ stfs f3, 8(r3)
/* 80345598 003424F8 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_8034559C:
/* 8034559C 003424FC 80 DC 00 00 */ lwz r6, 0(r28)
/* 803455A0 00342500 3C 60 80 5A */ lis r3, skZero3f@ha
/* 803455A4 00342504 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 803455A8 00342508 7F C5 F3 78 */ mr r5, r30
/* 803455AC 0034250C 38 06 00 01 */ addi r0, r6, 1
/* 803455B0 00342510 7F E6 FB 78 */ mr r6, r31
/* 803455B4 00342514 90 1C 00 00 */ stw r0, 0(r28)
/* 803455B8 00342518 38 61 00 08 */ addi r3, r1, 8
/* 803455BC 0034251C 48 00 00 F5 */ bl sub_803456b0
/* 803455C0 00342520 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 803455C4 00342524 80 1C 00 00 */ lwz r0, 0(r28)
/* 803455C8 00342528 EC 1C 00 72 */ fmuls f0, f28, f1
/* 803455CC 0034252C C0 41 00 08 */ lfs f2, 8(r1)
/* 803455D0 00342530 54 00 20 36 */ slwi r0, r0, 4
/* 803455D4 00342534 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 803455D8 00342538 7C 7C 02 14 */ add r3, r28, r0
/* 803455DC 0034253C EC 1D 00 BA */ fmadds f0, f29, f2, f0
/* 803455E0 00342540 34 63 00 04 */ addic. r3, r3, 4
/* 803455E4 00342544 EC 1B 00 FA */ fmadds f0, f27, f3, f0
/* 803455E8 00342548 41 82 00 14 */ beq lbl_803455FC
/* 803455EC 0034254C D0 43 00 00 */ stfs f2, 0(r3)
/* 803455F0 00342550 D0 23 00 04 */ stfs f1, 4(r3)
/* 803455F4 00342554 D0 63 00 08 */ stfs f3, 8(r3)
/* 803455F8 00342558 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_803455FC:
/* 803455FC 0034255C 80 7C 00 00 */ lwz r3, 0(r28)
/* 80345600 00342560 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80345604 00342564 38 03 00 01 */ addi r0, r3, 1
/* 80345608 00342568 90 1C 00 00 */ stw r0, 0(r28)
/* 8034560C 0034256C 41 82 00 54 */ beq lbl_80345660
/* 80345610 00342570 38 7C 00 04 */ addi r3, r28, 4
/* 80345614 00342574 80 1C 00 00 */ lwz r0, 0(r28)
/* 80345618 00342578 C0 1C 00 04 */ lfs f0, 4(r28)
/* 8034561C 0034257C C0 5C 00 08 */ lfs f2, 8(r28)
/* 80345620 00342580 54 00 20 36 */ slwi r0, r0, 4
/* 80345624 00342584 C0 3C 00 0C */ lfs f1, 0xc(r28)
/* 80345628 00342588 FC 60 00 50 */ fneg f3, f0
/* 8034562C 0034258C C0 1C 00 10 */ lfs f0, 0x10(r28)
/* 80345630 00342590 FC 40 10 50 */ fneg f2, f2
/* 80345634 00342594 FC 20 08 50 */ fneg f1, f1
/* 80345638 00342598 7C 63 02 15 */ add. r3, r3, r0
/* 8034563C 0034259C EC 1F 00 28 */ fsubs f0, f31, f0
/* 80345640 003425A0 41 82 00 14 */ beq lbl_80345654
/* 80345644 003425A4 D0 63 00 00 */ stfs f3, 0(r3)
/* 80345648 003425A8 D0 43 00 04 */ stfs f2, 4(r3)
/* 8034564C 003425AC D0 23 00 08 */ stfs f1, 8(r3)
/* 80345650 003425B0 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80345654:
/* 80345654 003425B4 80 7C 00 00 */ lwz r3, 0(r28)
/* 80345658 003425B8 38 03 00 01 */ addi r0, r3, 1
/* 8034565C 003425BC 90 1C 00 00 */ stw r0, 0(r28)
lbl_80345660:
/* 80345660 003425C0 7F 83 E3 78 */ mr r3, r28
/* 80345664 003425C4 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0
/* 80345668 003425C8 CB E1 01 70 */ lfd f31, 0x170(r1)
/* 8034566C 003425CC E3 C1 01 68 */ psq_l f30, 360(r1), 0, qr0
/* 80345670 003425D0 CB C1 01 60 */ lfd f30, 0x160(r1)
/* 80345674 003425D4 E3 A1 01 58 */ psq_l f29, 344(r1), 0, qr0
/* 80345678 003425D8 CB A1 01 50 */ lfd f29, 0x150(r1)
/* 8034567C 003425DC E3 81 01 48 */ psq_l f28, 328(r1), 0, qr0
/* 80345680 003425E0 CB 81 01 40 */ lfd f28, 0x140(r1)
/* 80345684 003425E4 E3 61 01 38 */ psq_l f27, 312(r1), 0, qr0
/* 80345688 003425E8 CB 61 01 30 */ lfd f27, 0x130(r1)
/* 8034568C 003425EC E3 41 01 28 */ psq_l f26, 296(r1), 0, qr0
/* 80345690 003425F0 CB 41 01 20 */ lfd f26, 0x120(r1)
/* 80345694 003425F4 E3 21 01 18 */ psq_l f25, 280(r1), 0, qr0
/* 80345698 003425F8 CB 21 01 10 */ lfd f25, 0x110(r1)
/* 8034569C 003425FC BB 61 00 FC */ lmw r27, 0xfc(r1)
/* 803456A0 00342600 80 01 01 84 */ lwz r0, 0x184(r1)
/* 803456A4 00342604 7C 08 03 A6 */ mtlr r0
/* 803456A8 00342608 38 21 01 80 */ addi r1, r1, 0x180
/* 803456AC 0034260C 4E 80 00 20 */ blr
.global sub_803456b0
sub_803456b0:
/* 803456B0 00342610 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803456B4 00342614 7C 08 02 A6 */ mflr r0
/* 803456B8 00342618 90 01 00 34 */ stw r0, 0x34(r1)
/* 803456BC 0034261C C0 26 00 00 */ lfs f1, 0(r6)
/* 803456C0 00342620 C0 44 00 00 */ lfs f2, 0(r4)
/* 803456C4 00342624 C0 05 00 00 */ lfs f0, 0(r5)
/* 803456C8 00342628 ED 01 10 28 */ fsubs f8, f1, f2
/* 803456CC 0034262C C0 26 00 04 */ lfs f1, 4(r6)
/* 803456D0 00342630 EC 60 10 28 */ fsubs f3, f0, f2
/* 803456D4 00342634 C0 84 00 04 */ lfs f4, 4(r4)
/* 803456D8 00342638 C0 44 00 08 */ lfs f2, 8(r4)
/* 803456DC 0034263C 38 81 00 20 */ addi r4, r1, 0x20
/* 803456E0 00342640 EC E1 20 28 */ fsubs f7, f1, f4
/* 803456E4 00342644 C0 06 00 08 */ lfs f0, 8(r6)
/* 803456E8 00342648 C0 25 00 04 */ lfs f1, 4(r5)
/* 803456EC 0034264C EC C0 10 28 */ fsubs f6, f0, f2
/* 803456F0 00342650 C0 05 00 08 */ lfs f0, 8(r5)
/* 803456F4 00342654 EC A1 20 28 */ fsubs f5, f1, f4
/* 803456F8 00342658 EC 80 10 28 */ fsubs f4, f0, f2
/* 803456FC 0034265C D1 01 00 08 */ stfs f8, 8(r1)
/* 80345700 00342660 EC 26 00 F2 */ fmuls f1, f6, f3
/* 80345704 00342664 EC 08 01 72 */ fmuls f0, f8, f5
/* 80345708 00342668 D0 E1 00 0C */ stfs f7, 0xc(r1)
/* 8034570C 0034266C EC 47 01 32 */ fmuls f2, f7, f4
/* 80345710 00342670 EC 24 0A 38 */ fmsubs f1, f4, f8, f1
/* 80345714 00342674 D0 C1 00 10 */ stfs f6, 0x10(r1)
/* 80345718 00342678 EC 03 01 F8 */ fmsubs f0, f3, f7, f0
/* 8034571C 0034267C EC 45 11 B8 */ fmsubs f2, f5, f6, f2
/* 80345720 00342680 D0 61 00 14 */ stfs f3, 0x14(r1)
/* 80345724 00342684 D0 A1 00 18 */ stfs f5, 0x18(r1)
/* 80345728 00342688 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 8034572C 0034268C D0 41 00 20 */ stfs f2, 0x20(r1)
/* 80345730 00342690 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80345734 00342694 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80345738 00342698 4B FC E6 99 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 8034573C 0034269C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80345740 003426A0 7C 08 03 A6 */ mtlr r0
/* 80345744 003426A4 38 21 00 30 */ addi r1, r1, 0x30
/* 80345748 003426A8 4E 80 00 20 */ blr

500
asm/Kyoto/Math/CMatrix3f.s Normal file
View File

@ -0,0 +1,500 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __as__9CMatrix3fFRC9CMatrix3f
__as__9CMatrix3fFRC9CMatrix3f:
/* 8030FFF8 0030CF58 C8 04 00 00 */ lfd f0, 0(r4)
/* 8030FFFC 0030CF5C C8 24 00 08 */ lfd f1, 8(r4)
/* 80310000 0030CF60 C8 44 00 10 */ lfd f2, 0x10(r4)
/* 80310004 0030CF64 D8 03 00 00 */ stfd f0, 0(r3)
/* 80310008 0030CF68 D8 23 00 08 */ stfd f1, 8(r3)
/* 8031000C 0030CF6C D8 43 00 10 */ stfd f2, 0x10(r3)
/* 80310010 0030CF70 C8 04 00 18 */ lfd f0, 0x18(r4)
/* 80310014 0030CF74 C0 24 00 20 */ lfs f1, 0x20(r4)
/* 80310018 0030CF78 D8 03 00 18 */ stfd f0, 0x18(r3)
/* 8031001C 0030CF7C D0 23 00 20 */ stfs f1, 0x20(r3)
/* 80310020 0030CF80 4E 80 00 20 */ blr
.global __ct__9CMatrix3fFRC9CMatrix3f
__ct__9CMatrix3fFRC9CMatrix3f:
/* 80310024 0030CF84 C8 04 00 00 */ lfd f0, 0(r4)
/* 80310028 0030CF88 C8 24 00 08 */ lfd f1, 8(r4)
/* 8031002C 0030CF8C C8 44 00 10 */ lfd f2, 0x10(r4)
/* 80310030 0030CF90 D8 03 00 00 */ stfd f0, 0(r3)
/* 80310034 0030CF94 D8 23 00 08 */ stfd f1, 8(r3)
/* 80310038 0030CF98 D8 43 00 10 */ stfd f2, 0x10(r3)
/* 8031003C 0030CF9C C8 04 00 18 */ lfd f0, 0x18(r4)
/* 80310040 0030CFA0 C0 24 00 20 */ lfs f1, 0x20(r4)
/* 80310044 0030CFA4 D8 03 00 18 */ stfd f0, 0x18(r3)
/* 80310048 0030CFA8 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 8031004C 0030CFAC 4E 80 00 20 */ blr
.global AddScaledMatrix__9CMatrix3fFRC9CMatrix3ff
AddScaledMatrix__9CMatrix3fFRC9CMatrix3ff:
/* 80310050 0030CFB0 C0 44 00 00 */ lfs f2, 0(r4)
/* 80310054 0030CFB4 C0 03 00 00 */ lfs f0, 0(r3)
/* 80310058 0030CFB8 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8031005C 0030CFBC D0 03 00 00 */ stfs f0, 0(r3)
/* 80310060 0030CFC0 C0 44 00 04 */ lfs f2, 4(r4)
/* 80310064 0030CFC4 C0 03 00 04 */ lfs f0, 4(r3)
/* 80310068 0030CFC8 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8031006C 0030CFCC D0 03 00 04 */ stfs f0, 4(r3)
/* 80310070 0030CFD0 C0 44 00 08 */ lfs f2, 8(r4)
/* 80310074 0030CFD4 C0 03 00 08 */ lfs f0, 8(r3)
/* 80310078 0030CFD8 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8031007C 0030CFDC D0 03 00 08 */ stfs f0, 8(r3)
/* 80310080 0030CFE0 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 80310084 0030CFE4 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80310088 0030CFE8 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8031008C 0030CFEC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80310090 0030CFF0 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 80310094 0030CFF4 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80310098 0030CFF8 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8031009C 0030CFFC D0 03 00 10 */ stfs f0, 0x10(r3)
/* 803100A0 0030D000 C0 44 00 14 */ lfs f2, 0x14(r4)
/* 803100A4 0030D004 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 803100A8 0030D008 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 803100AC 0030D00C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 803100B0 0030D010 C0 44 00 18 */ lfs f2, 0x18(r4)
/* 803100B4 0030D014 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 803100B8 0030D018 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 803100BC 0030D01C D0 03 00 18 */ stfs f0, 0x18(r3)
/* 803100C0 0030D020 C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 803100C4 0030D024 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 803100C8 0030D028 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 803100CC 0030D02C D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 803100D0 0030D030 C0 44 00 20 */ lfs f2, 0x20(r4)
/* 803100D4 0030D034 C0 03 00 20 */ lfs f0, 0x20(r3)
/* 803100D8 0030D038 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 803100DC 0030D03C D0 03 00 20 */ stfs f0, 0x20(r3)
/* 803100E0 0030D040 4E 80 00 20 */ blr
.global Determinant__9CMatrix3fCFv
Determinant__9CMatrix3fCFv:
/* 803100E4 0030D044 C1 23 00 0C */ lfs f9, 0xc(r3)
/* 803100E8 0030D048 C0 C3 00 20 */ lfs f6, 0x20(r3)
/* 803100EC 0030D04C C0 83 00 18 */ lfs f4, 0x18(r3)
/* 803100F0 0030D050 EC 09 01 B2 */ fmuls f0, f9, f6
/* 803100F4 0030D054 C0 63 00 14 */ lfs f3, 0x14(r3)
/* 803100F8 0030D058 C1 03 00 1C */ lfs f8, 0x1c(r3)
/* 803100FC 0030D05C C0 E3 00 10 */ lfs f7, 0x10(r3)
/* 80310100 0030D060 EC 43 02 32 */ fmuls f2, f3, f8
/* 80310104 0030D064 C0 23 00 04 */ lfs f1, 4(r3)
/* 80310108 0030D068 EC 03 01 38 */ fmsubs f0, f3, f4, f0
/* 8031010C 0030D06C C0 63 00 00 */ lfs f3, 0(r3)
/* 80310110 0030D070 EC 87 01 32 */ fmuls f4, f7, f4
/* 80310114 0030D074 C0 A3 00 08 */ lfs f5, 8(r3)
/* 80310118 0030D078 EC 47 11 B8 */ fmsubs f2, f7, f6, f2
/* 8031011C 0030D07C EC 01 00 32 */ fmuls f0, f1, f0
/* 80310120 0030D080 EC 29 22 38 */ fmsubs f1, f9, f8, f4
/* 80310124 0030D084 EC 03 00 BA */ fmadds f0, f3, f2, f0
/* 80310128 0030D088 EC 25 00 7A */ fmadds f1, f5, f1, f0
/* 8031012C 0030D08C 4E 80 00 20 */ blr
.global __ml__9CMatrix3fCFRC9CMatrix3f
__ml__9CMatrix3fCFRC9CMatrix3f:
/* 80310130 0030D090 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80310134 0030D094 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 80310138 0030D098 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 8031013C 0030D09C DB C1 00 70 */ stfd f30, 0x70(r1)
/* 80310140 0030D0A0 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 80310144 0030D0A4 DB A1 00 60 */ stfd f29, 0x60(r1)
/* 80310148 0030D0A8 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 8031014C 0030D0AC DB 81 00 50 */ stfd f28, 0x50(r1)
/* 80310150 0030D0B0 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0
/* 80310154 0030D0B4 DB 61 00 40 */ stfd f27, 0x40(r1)
/* 80310158 0030D0B8 F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0
/* 8031015C 0030D0BC DB 41 00 30 */ stfd f26, 0x30(r1)
/* 80310160 0030D0C0 F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0
/* 80310164 0030D0C4 DB 21 00 20 */ stfd f25, 0x20(r1)
/* 80310168 0030D0C8 F3 21 00 28 */ psq_st f25, 40(r1), 0, qr0
/* 8031016C 0030D0CC DB 01 00 10 */ stfd f24, 0x10(r1)
/* 80310170 0030D0D0 F3 01 00 18 */ psq_st f24, 24(r1), 0, qr0
/* 80310174 0030D0D4 C3 05 00 0C */ lfs f24, 0xc(r5)
/* 80310178 0030D0D8 C0 C4 00 04 */ lfs f6, 4(r4)
/* 8031017C 0030D0DC C0 85 00 10 */ lfs f4, 0x10(r5)
/* 80310180 0030D0E0 EC 66 06 32 */ fmuls f3, f6, f24
/* 80310184 0030D0E4 C0 25 00 00 */ lfs f1, 0(r5)
/* 80310188 0030D0E8 C3 44 00 00 */ lfs f26, 0(r4)
/* 8031018C 0030D0EC EC 06 01 32 */ fmuls f0, f6, f4
/* 80310190 0030D0F0 C0 A5 00 14 */ lfs f5, 0x14(r5)
/* 80310194 0030D0F4 C1 04 00 10 */ lfs f8, 0x10(r4)
/* 80310198 0030D0F8 C0 45 00 04 */ lfs f2, 4(r5)
/* 8031019C 0030D0FC ED 7A 18 7A */ fmadds f11, f26, f1, f3
/* 803101A0 0030D100 ED A6 01 72 */ fmuls f13, f6, f5
/* 803101A4 0030D104 C0 65 00 08 */ lfs f3, 8(r5)
/* 803101A8 0030D108 C3 A4 00 1C */ lfs f29, 0x1c(r4)
/* 803101AC 0030D10C ED 9A 00 BA */ fmadds f12, f26, f2, f0
/* 803101B0 0030D110 C0 C5 00 18 */ lfs f6, 0x18(r5)
/* 803101B4 0030D114 C3 24 00 08 */ lfs f25, 8(r4)
/* 803101B8 0030D118 C0 E5 00 1C */ lfs f7, 0x1c(r5)
/* 803101BC 0030D11C ED 48 06 32 */ fmuls f10, f8, f24
/* 803101C0 0030D120 C3 64 00 0C */ lfs f27, 0xc(r4)
/* 803101C4 0030D124 ED 28 01 32 */ fmuls f9, f8, f4
/* 803101C8 0030D128 EF C8 01 72 */ fmuls f30, f8, f5
/* 803101CC 0030D12C C1 05 00 20 */ lfs f8, 0x20(r5)
/* 803101D0 0030D130 EF FA 68 FA */ fmadds f31, f26, f3, f13
/* 803101D4 0030D134 ED B9 59 BA */ fmadds f13, f25, f6, f11
/* 803101D8 0030D138 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 803101DC 0030D13C C3 84 00 18 */ lfs f28, 0x18(r4)
/* 803101E0 0030D140 C3 44 00 14 */ lfs f26, 0x14(r4)
/* 803101E4 0030D144 ED 7B 50 7A */ fmadds f11, f27, f1, f10
/* 803101E8 0030D148 ED 5B 48 BA */ fmadds f10, f27, f2, f9
/* 803101EC 0030D14C ED 3D 06 32 */ fmuls f9, f29, f24
/* 803101F0 0030D150 D1 A3 00 00 */ stfs f13, 0(r3)
/* 803101F4 0030D154 ED 99 61 FA */ fmadds f12, f25, f7, f12
/* 803101F8 0030D158 ED BB F0 FA */ fmadds f13, f27, f3, f30
/* 803101FC 0030D15C EC 9D 01 32 */ fmuls f4, f29, f4
/* 80310200 0030D160 ED 3C 48 7A */ fmadds f9, f28, f1, f9
/* 80310204 0030D164 D1 83 00 04 */ stfs f12, 4(r3)
/* 80310208 0030D168 ED 99 FA 3A */ fmadds f12, f25, f8, f31
/* 8031020C 0030D16C EC BD 01 72 */ fmuls f5, f29, f5
/* 80310210 0030D170 EC 3C 20 BA */ fmadds f1, f28, f2, f4
/* 80310214 0030D174 EC 5A 59 BA */ fmadds f2, f26, f6, f11
/* 80310218 0030D178 D1 83 00 08 */ stfs f12, 8(r3)
/* 8031021C 0030D17C EC 9C 28 FA */ fmadds f4, f28, f3, f5
/* 80310220 0030D180 EC 7A 51 FA */ fmadds f3, f26, f7, f10
/* 80310224 0030D184 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 80310228 0030D188 EC BA 6A 3A */ fmadds f5, f26, f8, f13
/* 8031022C 0030D18C EC 40 49 BA */ fmadds f2, f0, f6, f9
/* 80310230 0030D190 D0 63 00 10 */ stfs f3, 0x10(r3)
/* 80310234 0030D194 EC 20 09 FA */ fmadds f1, f0, f7, f1
/* 80310238 0030D198 EC 00 22 3A */ fmadds f0, f0, f8, f4
/* 8031023C 0030D19C D0 A3 00 14 */ stfs f5, 0x14(r3)
/* 80310240 0030D1A0 D0 43 00 18 */ stfs f2, 0x18(r3)
/* 80310244 0030D1A4 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80310248 0030D1A8 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8031024C 0030D1AC E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 80310250 0030D1B0 CB E1 00 80 */ lfd f31, 0x80(r1)
/* 80310254 0030D1B4 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 80310258 0030D1B8 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 8031025C 0030D1BC E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 80310260 0030D1C0 CB A1 00 60 */ lfd f29, 0x60(r1)
/* 80310264 0030D1C4 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0
/* 80310268 0030D1C8 CB 81 00 50 */ lfd f28, 0x50(r1)
/* 8031026C 0030D1CC E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0
/* 80310270 0030D1D0 CB 61 00 40 */ lfd f27, 0x40(r1)
/* 80310274 0030D1D4 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0
/* 80310278 0030D1D8 CB 41 00 30 */ lfd f26, 0x30(r1)
/* 8031027C 0030D1DC E3 21 00 28 */ psq_l f25, 40(r1), 0, qr0
/* 80310280 0030D1E0 CB 21 00 20 */ lfd f25, 0x20(r1)
/* 80310284 0030D1E4 E3 01 00 18 */ psq_l f24, 24(r1), 0, qr0
/* 80310288 0030D1E8 CB 01 00 10 */ lfd f24, 0x10(r1)
/* 8031028C 0030D1EC 38 21 00 90 */ addi r1, r1, 0x90
/* 80310290 0030D1F0 4E 80 00 20 */ blr
.global __ml__9CMatrix3fCFRC9CVector3f
__ml__9CMatrix3fCFRC9CVector3f:
/* 80310294 0030D1F4 C0 65 00 04 */ lfs f3, 4(r5)
/* 80310298 0030D1F8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8031029C 0030D1FC C0 44 00 10 */ lfs f2, 0x10(r4)
/* 803102A0 0030D200 EC 03 00 32 */ fmuls f0, f3, f0
/* 803102A4 0030D204 C0 E5 00 00 */ lfs f7, 0(r5)
/* 803102A8 0030D208 C0 24 00 00 */ lfs f1, 0(r4)
/* 803102AC 0030D20C EC 83 00 B2 */ fmuls f4, f3, f2
/* 803102B0 0030D210 C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 803102B4 0030D214 C0 A4 00 0C */ lfs f5, 0xc(r4)
/* 803102B8 0030D218 EC 07 00 7A */ fmadds f0, f7, f1, f0
/* 803102BC 0030D21C C1 05 00 08 */ lfs f8, 8(r5)
/* 803102C0 0030D220 C0 24 00 08 */ lfs f1, 8(r4)
/* 803102C4 0030D224 EC 43 00 B2 */ fmuls f2, f3, f2
/* 803102C8 0030D228 C0 64 00 18 */ lfs f3, 0x18(r4)
/* 803102CC 0030D22C EC A7 21 7A */ fmadds f5, f7, f5, f4
/* 803102D0 0030D230 C0 C4 00 14 */ lfs f6, 0x14(r4)
/* 803102D4 0030D234 EC 08 00 7A */ fmadds f0, f8, f1, f0
/* 803102D8 0030D238 C0 84 00 20 */ lfs f4, 0x20(r4)
/* 803102DC 0030D23C EC 27 10 FA */ fmadds f1, f7, f3, f2
/* 803102E0 0030D240 EC 48 29 BA */ fmadds f2, f8, f6, f5
/* 803102E4 0030D244 D0 03 00 00 */ stfs f0, 0(r3)
/* 803102E8 0030D248 EC 08 09 3A */ fmadds f0, f8, f4, f1
/* 803102EC 0030D24C D0 43 00 04 */ stfs f2, 4(r3)
/* 803102F0 0030D250 D0 03 00 08 */ stfs f0, 8(r3)
/* 803102F4 0030D254 4E 80 00 20 */ blr
.global Orthonormalized__9CMatrix3fCFv
Orthonormalized__9CMatrix3fCFv:
/* 803102F8 0030D258 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803102FC 0030D25C 7C 08 02 A6 */ mflr r0
/* 80310300 0030D260 90 01 00 44 */ stw r0, 0x44(r1)
/* 80310304 0030D264 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80310308 0030D268 7C 9F 23 78 */ mr r31, r4
/* 8031030C 0030D26C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80310310 0030D270 7C 7E 1B 78 */ mr r30, r3
/* 80310314 0030D274 38 61 00 20 */ addi r3, r1, 0x20
/* 80310318 0030D278 C0 44 00 18 */ lfs f2, 0x18(r4)
/* 8031031C 0030D27C C0 24 00 0C */ lfs f1, 0xc(r4)
/* 80310320 0030D280 C0 04 00 00 */ lfs f0, 0(r4)
/* 80310324 0030D284 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80310328 0030D288 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8031032C 0030D28C D0 41 00 28 */ stfs f2, 0x28(r1)
/* 80310330 0030D290 48 00 45 C9 */ bl Normalize__9CVector3fFv
/* 80310334 0030D294 C0 5F 00 1C */ lfs f2, 0x1c(r31)
/* 80310338 0030D298 38 61 00 14 */ addi r3, r1, 0x14
/* 8031033C 0030D29C C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 80310340 0030D2A0 C0 1F 00 04 */ lfs f0, 4(r31)
/* 80310344 0030D2A4 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80310348 0030D2A8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8031034C 0030D2AC D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80310350 0030D2B0 48 00 45 A9 */ bl Normalize__9CVector3fFv
/* 80310354 0030D2B4 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 80310358 0030D2B8 38 61 00 08 */ addi r3, r1, 8
/* 8031035C 0030D2BC C0 E1 00 14 */ lfs f7, 0x14(r1)
/* 80310360 0030D2C0 C0 81 00 28 */ lfs f4, 0x28(r1)
/* 80310364 0030D2C4 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 80310368 0030D2C8 EC 07 00 F2 */ fmuls f0, f7, f3
/* 8031036C 0030D2CC C0 C1 00 20 */ lfs f6, 0x20(r1)
/* 80310370 0030D2D0 C0 A1 00 1C */ lfs f5, 0x1c(r1)
/* 80310374 0030D2D4 EC 22 01 32 */ fmuls f1, f2, f4
/* 80310378 0030D2D8 EC 46 00 B8 */ fmsubs f2, f6, f2, f0
/* 8031037C 0030D2DC EC 05 01 B2 */ fmuls f0, f5, f6
/* 80310380 0030D2E0 EC 23 09 78 */ fmsubs f1, f3, f5, f1
/* 80310384 0030D2E4 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 80310388 0030D2E8 EC 04 01 F8 */ fmsubs f0, f4, f7, f0
/* 8031038C 0030D2EC D0 21 00 08 */ stfs f1, 8(r1)
/* 80310390 0030D2F0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80310394 0030D2F4 48 00 45 65 */ bl Normalize__9CVector3fFv
/* 80310398 0030D2F8 C0 61 00 0C */ lfs f3, 0xc(r1)
/* 8031039C 0030D2FC 38 61 00 14 */ addi r3, r1, 0x14
/* 803103A0 0030D300 C0 E1 00 20 */ lfs f7, 0x20(r1)
/* 803103A4 0030D304 C0 81 00 10 */ lfs f4, 0x10(r1)
/* 803103A8 0030D308 C0 41 00 24 */ lfs f2, 0x24(r1)
/* 803103AC 0030D30C EC 07 00 F2 */ fmuls f0, f7, f3
/* 803103B0 0030D310 C0 C1 00 08 */ lfs f6, 8(r1)
/* 803103B4 0030D314 C0 A1 00 28 */ lfs f5, 0x28(r1)
/* 803103B8 0030D318 EC 22 01 32 */ fmuls f1, f2, f4
/* 803103BC 0030D31C EC 46 00 B8 */ fmsubs f2, f6, f2, f0
/* 803103C0 0030D320 EC 05 01 B2 */ fmuls f0, f5, f6
/* 803103C4 0030D324 EC 23 09 78 */ fmsubs f1, f3, f5, f1
/* 803103C8 0030D328 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 803103CC 0030D32C EC 04 01 F8 */ fmsubs f0, f4, f7, f0
/* 803103D0 0030D330 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 803103D4 0030D334 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 803103D8 0030D338 48 00 45 21 */ bl Normalize__9CVector3fFv
/* 803103DC 0030D33C 7F C3 F3 78 */ mr r3, r30
/* 803103E0 0030D340 38 81 00 20 */ addi r4, r1, 0x20
/* 803103E4 0030D344 38 A1 00 14 */ addi r5, r1, 0x14
/* 803103E8 0030D348 38 C1 00 08 */ addi r6, r1, 8
/* 803103EC 0030D34C 48 00 02 91 */ bl __ct__9CMatrix3fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 803103F0 0030D350 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803103F4 0030D354 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 803103F8 0030D358 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 803103FC 0030D35C 7C 08 03 A6 */ mtlr r0
/* 80310400 0030D360 38 21 00 40 */ addi r1, r1, 0x40
/* 80310404 0030D364 4E 80 00 20 */ blr
.global RotateZ__9CMatrix3fFRC9CRelAngle
RotateZ__9CMatrix3fFRC9CRelAngle:
/* 80310408 0030D368 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031040C 0030D36C 7C 08 02 A6 */ mflr r0
/* 80310410 0030D370 90 01 00 24 */ stw r0, 0x24(r1)
/* 80310414 0030D374 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80310418 0030D378 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 8031041C 0030D37C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80310420 0030D380 93 C1 00 08 */ stw r30, 8(r1)
/* 80310424 0030D384 7C 9F 23 78 */ mr r31, r4
/* 80310428 0030D388 7C 7E 1B 78 */ mr r30, r3
/* 8031042C 0030D38C C0 24 00 00 */ lfs f1, 0(r4)
/* 80310430 0030D390 48 08 46 AD */ bl sin
/* 80310434 0030D394 FF E0 08 18 */ frsp f31, f1
/* 80310438 0030D398 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8031043C 0030D39C 48 08 3F B5 */ bl cos
/* 80310440 0030D3A0 FC 60 08 18 */ frsp f3, f1
/* 80310444 0030D3A4 C0 22 C8 50 */ lfs f1, lbl_805AE570@sda21(r2)
/* 80310448 0030D3A8 FC 40 F8 50 */ fneg f2, f31
/* 8031044C 0030D3AC C0 02 C8 54 */ lfs f0, lbl_805AE574@sda21(r2)
/* 80310450 0030D3B0 D0 7E 00 00 */ stfs f3, 0(r30)
/* 80310454 0030D3B4 D0 5E 00 04 */ stfs f2, 4(r30)
/* 80310458 0030D3B8 D0 3E 00 08 */ stfs f1, 8(r30)
/* 8031045C 0030D3BC D3 FE 00 0C */ stfs f31, 0xc(r30)
/* 80310460 0030D3C0 D0 7E 00 10 */ stfs f3, 0x10(r30)
/* 80310464 0030D3C4 D0 3E 00 14 */ stfs f1, 0x14(r30)
/* 80310468 0030D3C8 D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 8031046C 0030D3CC D0 3E 00 1C */ stfs f1, 0x1c(r30)
/* 80310470 0030D3D0 D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 80310474 0030D3D4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 80310478 0030D3D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031047C 0030D3DC CB E1 00 10 */ lfd f31, 0x10(r1)
/* 80310480 0030D3E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80310484 0030D3E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80310488 0030D3E8 7C 08 03 A6 */ mtlr r0
/* 8031048C 0030D3EC 38 21 00 20 */ addi r1, r1, 0x20
/* 80310490 0030D3F0 4E 80 00 20 */ blr
.global RotateY__9CMatrix3fFRC9CRelAngle
RotateY__9CMatrix3fFRC9CRelAngle:
/* 80310494 0030D3F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80310498 0030D3F8 7C 08 02 A6 */ mflr r0
/* 8031049C 0030D3FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 803104A0 0030D400 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 803104A4 0030D404 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 803104A8 0030D408 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803104AC 0030D40C 93 C1 00 08 */ stw r30, 8(r1)
/* 803104B0 0030D410 7C 9F 23 78 */ mr r31, r4
/* 803104B4 0030D414 7C 7E 1B 78 */ mr r30, r3
/* 803104B8 0030D418 C0 24 00 00 */ lfs f1, 0(r4)
/* 803104BC 0030D41C 48 08 46 21 */ bl sin
/* 803104C0 0030D420 FF E0 08 18 */ frsp f31, f1
/* 803104C4 0030D424 C0 3F 00 00 */ lfs f1, 0(r31)
/* 803104C8 0030D428 48 08 3F 29 */ bl cos
/* 803104CC 0030D42C FC 60 08 18 */ frsp f3, f1
/* 803104D0 0030D430 C0 42 C8 50 */ lfs f2, lbl_805AE570@sda21(r2)
/* 803104D4 0030D434 C0 22 C8 54 */ lfs f1, lbl_805AE574@sda21(r2)
/* 803104D8 0030D438 FC 00 F8 50 */ fneg f0, f31
/* 803104DC 0030D43C D0 7E 00 00 */ stfs f3, 0(r30)
/* 803104E0 0030D440 D0 5E 00 04 */ stfs f2, 4(r30)
/* 803104E4 0030D444 D3 FE 00 08 */ stfs f31, 8(r30)
/* 803104E8 0030D448 D0 5E 00 0C */ stfs f2, 0xc(r30)
/* 803104EC 0030D44C D0 3E 00 10 */ stfs f1, 0x10(r30)
/* 803104F0 0030D450 D0 5E 00 14 */ stfs f2, 0x14(r30)
/* 803104F4 0030D454 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 803104F8 0030D458 D0 5E 00 1C */ stfs f2, 0x1c(r30)
/* 803104FC 0030D45C D0 7E 00 20 */ stfs f3, 0x20(r30)
/* 80310500 0030D460 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 80310504 0030D464 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80310508 0030D468 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8031050C 0030D46C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80310510 0030D470 83 C1 00 08 */ lwz r30, 8(r1)
/* 80310514 0030D474 7C 08 03 A6 */ mtlr r0
/* 80310518 0030D478 38 21 00 20 */ addi r1, r1, 0x20
/* 8031051C 0030D47C 4E 80 00 20 */ blr
.global __ct__9CMatrix3fFR12CInputStream
__ct__9CMatrix3fFR12CInputStream:
/* 80310520 0030D480 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80310524 0030D484 7C 08 02 A6 */ mflr r0
/* 80310528 0030D488 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031052C 0030D48C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80310530 0030D490 7C 9F 23 78 */ mr r31, r4
/* 80310534 0030D494 93 C1 00 08 */ stw r30, 8(r1)
/* 80310538 0030D498 7C 7E 1B 78 */ mr r30, r3
/* 8031053C 0030D49C 7F E3 FB 78 */ mr r3, r31
/* 80310540 0030D4A0 48 02 E6 E9 */ bl ReadFloat__12CInputStreamFv
/* 80310544 0030D4A4 D0 3E 00 00 */ stfs f1, 0(r30)
/* 80310548 0030D4A8 7F E3 FB 78 */ mr r3, r31
/* 8031054C 0030D4AC 48 02 E6 DD */ bl ReadFloat__12CInputStreamFv
/* 80310550 0030D4B0 D0 3E 00 04 */ stfs f1, 4(r30)
/* 80310554 0030D4B4 7F E3 FB 78 */ mr r3, r31
/* 80310558 0030D4B8 48 02 E6 D1 */ bl ReadFloat__12CInputStreamFv
/* 8031055C 0030D4BC D0 3E 00 08 */ stfs f1, 8(r30)
/* 80310560 0030D4C0 7F E3 FB 78 */ mr r3, r31
/* 80310564 0030D4C4 48 02 E6 C5 */ bl ReadFloat__12CInputStreamFv
/* 80310568 0030D4C8 D0 3E 00 0C */ stfs f1, 0xc(r30)
/* 8031056C 0030D4CC 7F E3 FB 78 */ mr r3, r31
/* 80310570 0030D4D0 48 02 E6 B9 */ bl ReadFloat__12CInputStreamFv
/* 80310574 0030D4D4 D0 3E 00 10 */ stfs f1, 0x10(r30)
/* 80310578 0030D4D8 7F E3 FB 78 */ mr r3, r31
/* 8031057C 0030D4DC 48 02 E6 AD */ bl ReadFloat__12CInputStreamFv
/* 80310580 0030D4E0 D0 3E 00 14 */ stfs f1, 0x14(r30)
/* 80310584 0030D4E4 7F E3 FB 78 */ mr r3, r31
/* 80310588 0030D4E8 48 02 E6 A1 */ bl ReadFloat__12CInputStreamFv
/* 8031058C 0030D4EC D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 80310590 0030D4F0 7F E3 FB 78 */ mr r3, r31
/* 80310594 0030D4F4 48 02 E6 95 */ bl ReadFloat__12CInputStreamFv
/* 80310598 0030D4F8 D0 3E 00 1C */ stfs f1, 0x1c(r30)
/* 8031059C 0030D4FC 7F E3 FB 78 */ mr r3, r31
/* 803105A0 0030D500 48 02 E6 89 */ bl ReadFloat__12CInputStreamFv
/* 803105A4 0030D504 D0 3E 00 20 */ stfs f1, 0x20(r30)
/* 803105A8 0030D508 7F C3 F3 78 */ mr r3, r30
/* 803105AC 0030D50C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803105B0 0030D510 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803105B4 0030D514 83 C1 00 08 */ lwz r30, 8(r1)
/* 803105B8 0030D518 7C 08 03 A6 */ mtlr r0
/* 803105BC 0030D51C 38 21 00 10 */ addi r1, r1, 0x10
/* 803105C0 0030D520 4E 80 00 20 */ blr
.global __ct__9CMatrix3fFRC9CMatrix3ffRC9CMatrix3ff
__ct__9CMatrix3fFRC9CMatrix3ffRC9CMatrix3ff:
/* 803105C4 0030D524 C0 05 00 00 */ lfs f0, 0(r5)
/* 803105C8 0030D528 C0 64 00 00 */ lfs f3, 0(r4)
/* 803105CC 0030D52C EC 00 00 B2 */ fmuls f0, f0, f2
/* 803105D0 0030D530 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 803105D4 0030D534 D0 03 00 00 */ stfs f0, 0(r3)
/* 803105D8 0030D538 C0 05 00 04 */ lfs f0, 4(r5)
/* 803105DC 0030D53C C0 64 00 04 */ lfs f3, 4(r4)
/* 803105E0 0030D540 EC 00 00 B2 */ fmuls f0, f0, f2
/* 803105E4 0030D544 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 803105E8 0030D548 D0 03 00 04 */ stfs f0, 4(r3)
/* 803105EC 0030D54C C0 05 00 08 */ lfs f0, 8(r5)
/* 803105F0 0030D550 C0 64 00 08 */ lfs f3, 8(r4)
/* 803105F4 0030D554 EC 00 00 B2 */ fmuls f0, f0, f2
/* 803105F8 0030D558 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 803105FC 0030D55C D0 03 00 08 */ stfs f0, 8(r3)
/* 80310600 0030D560 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 80310604 0030D564 C0 64 00 0C */ lfs f3, 0xc(r4)
/* 80310608 0030D568 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8031060C 0030D56C EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 80310610 0030D570 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80310614 0030D574 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 80310618 0030D578 C0 64 00 10 */ lfs f3, 0x10(r4)
/* 8031061C 0030D57C EC 00 00 B2 */ fmuls f0, f0, f2
/* 80310620 0030D580 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 80310624 0030D584 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80310628 0030D588 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 8031062C 0030D58C C0 64 00 14 */ lfs f3, 0x14(r4)
/* 80310630 0030D590 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80310634 0030D594 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 80310638 0030D598 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8031063C 0030D59C C0 05 00 18 */ lfs f0, 0x18(r5)
/* 80310640 0030D5A0 C0 64 00 18 */ lfs f3, 0x18(r4)
/* 80310644 0030D5A4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80310648 0030D5A8 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 8031064C 0030D5AC D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80310650 0030D5B0 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 80310654 0030D5B4 C0 64 00 1C */ lfs f3, 0x1c(r4)
/* 80310658 0030D5B8 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8031065C 0030D5BC EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 80310660 0030D5C0 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80310664 0030D5C4 C0 05 00 20 */ lfs f0, 0x20(r5)
/* 80310668 0030D5C8 C0 64 00 20 */ lfs f3, 0x20(r4)
/* 8031066C 0030D5CC EC 00 00 B2 */ fmuls f0, f0, f2
/* 80310670 0030D5D0 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 80310674 0030D5D4 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80310678 0030D5D8 4E 80 00 20 */ blr
.global __ct__9CMatrix3fFRC9CVector3fRC9CVector3fRC9CVector3f
__ct__9CMatrix3fFRC9CVector3fRC9CVector3fRC9CVector3f:
/* 8031067C 0030D5DC C0 04 00 00 */ lfs f0, 0(r4)
/* 80310680 0030D5E0 D0 03 00 00 */ stfs f0, 0(r3)
/* 80310684 0030D5E4 C0 04 00 04 */ lfs f0, 4(r4)
/* 80310688 0030D5E8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8031068C 0030D5EC C0 04 00 08 */ lfs f0, 8(r4)
/* 80310690 0030D5F0 D0 03 00 08 */ stfs f0, 8(r3)
/* 80310694 0030D5F4 C0 05 00 00 */ lfs f0, 0(r5)
/* 80310698 0030D5F8 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8031069C 0030D5FC C0 05 00 04 */ lfs f0, 4(r5)
/* 803106A0 0030D600 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 803106A4 0030D604 C0 05 00 08 */ lfs f0, 8(r5)
/* 803106A8 0030D608 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 803106AC 0030D60C C0 06 00 00 */ lfs f0, 0(r6)
/* 803106B0 0030D610 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 803106B4 0030D614 C0 06 00 04 */ lfs f0, 4(r6)
/* 803106B8 0030D618 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 803106BC 0030D61C C0 06 00 08 */ lfs f0, 8(r6)
/* 803106C0 0030D620 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 803106C4 0030D624 4E 80 00 20 */ blr
.global __sinit_CMatrix3f_cpp
__sinit_CMatrix3f_cpp:
/* 803106C8 0030D628 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803106CC 0030D62C 7C 08 02 A6 */ mflr r0
/* 803106D0 0030D630 3C 60 80 5A */ lis r3, lbl_805A65FC@ha
/* 803106D4 0030D634 C0 02 C8 50 */ lfs f0, lbl_805AE570@sda21(r2)
/* 803106D8 0030D638 90 01 00 34 */ stw r0, 0x34(r1)
/* 803106DC 0030D63C 38 63 65 FC */ addi r3, r3, lbl_805A65FC@l
/* 803106E0 0030D640 C0 22 C8 54 */ lfs f1, lbl_805AE574@sda21(r2)
/* 803106E4 0030D644 38 81 00 08 */ addi r4, r1, 8
/* 803106E8 0030D648 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 803106EC 0030D64C D0 21 00 08 */ stfs f1, 8(r1)
/* 803106F0 0030D650 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 803106F4 0030D654 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 803106F8 0030D658 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 803106FC 0030D65C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80310700 0030D660 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80310704 0030D664 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80310708 0030D668 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8031070C 0030D66C 4B FF F9 19 */ bl __ct__9CMatrix3fFRC9CMatrix3f
/* 80310710 0030D670 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80310714 0030D674 7C 08 03 A6 */ mtlr r0
/* 80310718 0030D678 38 21 00 30 */ addi r1, r1, 0x30
/* 8031071C 0030D67C 4E 80 00 20 */ blr

196
asm/Kyoto/Math/CMatrix4f.s Normal file
View File

@ -0,0 +1,196 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global MultiplyGetW__9CMatrix4fCFRC9CVector3f
MultiplyGetW__9CMatrix4fCFRC9CVector3f:
/* 80310720 0030D680 C0 24 00 04 */ lfs f1, 4(r4)
/* 80310724 0030D684 C0 03 00 34 */ lfs f0, 0x34(r3)
/* 80310728 0030D688 C0 44 00 00 */ lfs f2, 0(r4)
/* 8031072C 0030D68C EC 01 00 32 */ fmuls f0, f1, f0
/* 80310730 0030D690 C0 23 00 30 */ lfs f1, 0x30(r3)
/* 80310734 0030D694 C0 84 00 08 */ lfs f4, 8(r4)
/* 80310738 0030D698 C0 63 00 38 */ lfs f3, 0x38(r3)
/* 8031073C 0030D69C EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 80310740 0030D6A0 C0 23 00 3C */ lfs f1, 0x3c(r3)
/* 80310744 0030D6A4 EC 04 00 FA */ fmadds f0, f4, f3, f0
/* 80310748 0030D6A8 EC 21 00 2A */ fadds f1, f1, f0
/* 8031074C 0030D6AC 4E 80 00 20 */ blr
.global MultiplyOneOverW__9CMatrix4fCFRC9CVector3f
MultiplyOneOverW__9CMatrix4fCFRC9CVector3f:
/* 80310750 0030D6B0 C0 E5 00 04 */ lfs f7, 4(r5)
/* 80310754 0030D6B4 C0 04 00 34 */ lfs f0, 0x34(r4)
/* 80310758 0030D6B8 C0 44 00 04 */ lfs f2, 4(r4)
/* 8031075C 0030D6BC EC 07 00 32 */ fmuls f0, f7, f0
/* 80310760 0030D6C0 C1 65 00 00 */ lfs f11, 0(r5)
/* 80310764 0030D6C4 C0 24 00 30 */ lfs f1, 0x30(r4)
/* 80310768 0030D6C8 EC A7 00 B2 */ fmuls f5, f7, f2
/* 8031076C 0030D6CC C0 44 00 14 */ lfs f2, 0x14(r4)
/* 80310770 0030D6D0 EC 0B 00 7A */ fmadds f0, f11, f1, f0
/* 80310774 0030D6D4 C1 85 00 08 */ lfs f12, 8(r5)
/* 80310778 0030D6D8 EC 87 00 B2 */ fmuls f4, f7, f2
/* 8031077C 0030D6DC C0 24 00 38 */ lfs f1, 0x38(r4)
/* 80310780 0030D6E0 C0 44 00 3C */ lfs f2, 0x3c(r4)
/* 80310784 0030D6E4 EC 0C 00 7A */ fmadds f0, f12, f1, f0
/* 80310788 0030D6E8 C0 C4 00 00 */ lfs f6, 0(r4)
/* 8031078C 0030D6EC C0 64 00 24 */ lfs f3, 0x24(r4)
/* 80310790 0030D6F0 C0 22 C8 58 */ lfs f1, lbl_805AE578@sda21(r2)
/* 80310794 0030D6F4 ED 0B 29 BA */ fmadds f8, f11, f6, f5
/* 80310798 0030D6F8 EC 02 00 2A */ fadds f0, f2, f0
/* 8031079C 0030D6FC C0 A4 00 10 */ lfs f5, 0x10(r4)
/* 803107A0 0030D700 EC 47 00 F2 */ fmuls f2, f7, f3
/* 803107A4 0030D704 C1 24 00 08 */ lfs f9, 8(r4)
/* 803107A8 0030D708 ED A1 00 24 */ fdivs f13, f1, f0
/* 803107AC 0030D70C C0 04 00 20 */ lfs f0, 0x20(r4)
/* 803107B0 0030D710 C0 C4 00 18 */ lfs f6, 0x18(r4)
/* 803107B4 0030D714 C1 44 00 0C */ lfs f10, 0xc(r4)
/* 803107B8 0030D718 C0 24 00 28 */ lfs f1, 0x28(r4)
/* 803107BC 0030D71C C0 E4 00 1C */ lfs f7, 0x1c(r4)
/* 803107C0 0030D720 EC 8B 21 7A */ fmadds f4, f11, f5, f4
/* 803107C4 0030D724 C0 64 00 2C */ lfs f3, 0x2c(r4)
/* 803107C8 0030D728 EC AC 42 7A */ fmadds f5, f12, f9, f8
/* 803107CC 0030D72C EC 0B 10 3A */ fmadds f0, f11, f0, f2
/* 803107D0 0030D730 EC 4C 21 BA */ fmadds f2, f12, f6, f4
/* 803107D4 0030D734 EC 8A 28 2A */ fadds f4, f10, f5
/* 803107D8 0030D738 EC 0C 00 7A */ fmadds f0, f12, f1, f0
/* 803107DC 0030D73C EC 27 10 2A */ fadds f1, f7, f2
/* 803107E0 0030D740 EC 84 03 72 */ fmuls f4, f4, f13
/* 803107E4 0030D744 EC 03 00 2A */ fadds f0, f3, f0
/* 803107E8 0030D748 EC 21 03 72 */ fmuls f1, f1, f13
/* 803107EC 0030D74C D0 83 00 00 */ stfs f4, 0(r3)
/* 803107F0 0030D750 EC 00 03 72 */ fmuls f0, f0, f13
/* 803107F4 0030D754 D0 23 00 04 */ stfs f1, 4(r3)
/* 803107F8 0030D758 D0 03 00 08 */ stfs f0, 8(r3)
/* 803107FC 0030D75C 4E 80 00 20 */ blr
.global __ml__9CMatrix4fCFRC9CVector3f
__ml__9CMatrix4fCFRC9CVector3f:
/* 80310800 0030D760 C0 65 00 04 */ lfs f3, 4(r5)
/* 80310804 0030D764 C0 04 00 04 */ lfs f0, 4(r4)
/* 80310808 0030D768 C0 44 00 14 */ lfs f2, 0x14(r4)
/* 8031080C 0030D76C EC 03 00 32 */ fmuls f0, f3, f0
/* 80310810 0030D770 C0 C5 00 00 */ lfs f6, 0(r5)
/* 80310814 0030D774 C0 24 00 00 */ lfs f1, 0(r4)
/* 80310818 0030D778 EC 83 00 B2 */ fmuls f4, f3, f2
/* 8031081C 0030D77C C0 44 00 24 */ lfs f2, 0x24(r4)
/* 80310820 0030D780 C0 A4 00 10 */ lfs f5, 0x10(r4)
/* 80310824 0030D784 EC 06 00 7A */ fmadds f0, f6, f1, f0
/* 80310828 0030D788 C0 E5 00 08 */ lfs f7, 8(r5)
/* 8031082C 0030D78C C0 24 00 08 */ lfs f1, 8(r4)
/* 80310830 0030D790 EC 43 00 B2 */ fmuls f2, f3, f2
/* 80310834 0030D794 C0 64 00 20 */ lfs f3, 0x20(r4)
/* 80310838 0030D798 EC 86 21 7A */ fmadds f4, f6, f5, f4
/* 8031083C 0030D79C C0 A4 00 18 */ lfs f5, 0x18(r4)
/* 80310840 0030D7A0 EC 07 00 7A */ fmadds f0, f7, f1, f0
/* 80310844 0030D7A4 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 80310848 0030D7A8 EC 46 10 FA */ fmadds f2, f6, f3, f2
/* 8031084C 0030D7AC C0 64 00 28 */ lfs f3, 0x28(r4)
/* 80310850 0030D7B0 EC A7 21 7A */ fmadds f5, f7, f5, f4
/* 80310854 0030D7B4 C0 C4 00 1C */ lfs f6, 0x1c(r4)
/* 80310858 0030D7B8 EC 01 00 2A */ fadds f0, f1, f0
/* 8031085C 0030D7BC C0 84 00 2C */ lfs f4, 0x2c(r4)
/* 80310860 0030D7C0 EC 27 10 FA */ fmadds f1, f7, f3, f2
/* 80310864 0030D7C4 EC 46 28 2A */ fadds f2, f6, f5
/* 80310868 0030D7C8 D0 03 00 00 */ stfs f0, 0(r3)
/* 8031086C 0030D7CC EC 04 08 2A */ fadds f0, f4, f1
/* 80310870 0030D7D0 D0 43 00 04 */ stfs f2, 4(r3)
/* 80310874 0030D7D4 D0 03 00 08 */ stfs f0, 8(r3)
/* 80310878 0030D7D8 4E 80 00 20 */ blr
.global __ct__9CMatrix4fFffffffffffffffff
__ct__9CMatrix4fFffffffffffffffff:
/* 8031087C 0030D7DC D0 23 00 00 */ stfs f1, 0(r3)
/* 80310880 0030D7E0 C1 61 00 08 */ lfs f11, 8(r1)
/* 80310884 0030D7E4 D0 43 00 04 */ stfs f2, 4(r3)
/* 80310888 0030D7E8 C1 41 00 0C */ lfs f10, 0xc(r1)
/* 8031088C 0030D7EC D0 63 00 08 */ stfs f3, 8(r3)
/* 80310890 0030D7F0 C1 21 00 10 */ lfs f9, 0x10(r1)
/* 80310894 0030D7F4 D0 83 00 0C */ stfs f4, 0xc(r3)
/* 80310898 0030D7F8 C0 81 00 14 */ lfs f4, 0x14(r1)
/* 8031089C 0030D7FC D0 A3 00 10 */ stfs f5, 0x10(r3)
/* 803108A0 0030D800 C0 61 00 18 */ lfs f3, 0x18(r1)
/* 803108A4 0030D804 D0 C3 00 14 */ stfs f6, 0x14(r3)
/* 803108A8 0030D808 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 803108AC 0030D80C D0 E3 00 18 */ stfs f7, 0x18(r3)
/* 803108B0 0030D810 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 803108B4 0030D814 D1 03 00 1C */ stfs f8, 0x1c(r3)
/* 803108B8 0030D818 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 803108BC 0030D81C D1 63 00 20 */ stfs f11, 0x20(r3)
/* 803108C0 0030D820 D1 43 00 24 */ stfs f10, 0x24(r3)
/* 803108C4 0030D824 D1 23 00 28 */ stfs f9, 0x28(r3)
/* 803108C8 0030D828 D0 83 00 2C */ stfs f4, 0x2c(r3)
/* 803108CC 0030D82C D0 63 00 30 */ stfs f3, 0x30(r3)
/* 803108D0 0030D830 D0 43 00 34 */ stfs f2, 0x34(r3)
/* 803108D4 0030D834 D0 23 00 38 */ stfs f1, 0x38(r3)
/* 803108D8 0030D838 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 803108DC 0030D83C 4E 80 00 20 */ blr
.global __sinit_CMatrix4f_cpp
__sinit_CMatrix4f_cpp:
/* 803108E0 0030D840 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 803108E4 0030D844 7C 08 02 A6 */ mflr r0
/* 803108E8 0030D848 90 01 00 94 */ stw r0, 0x94(r1)
/* 803108EC 0030D84C DB E1 00 80 */ stfd f31, 0x80(r1)
/* 803108F0 0030D850 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 803108F4 0030D854 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 803108F8 0030D858 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 803108FC 0030D85C C0 42 C8 5C */ lfs f2, lbl_805AE57C@sda21(r2)
/* 80310900 0030D860 38 61 00 28 */ addi r3, r1, 0x28
/* 80310904 0030D864 C0 22 C8 58 */ lfs f1, lbl_805AE578@sda21(r2)
/* 80310908 0030D868 D0 41 00 08 */ stfs f2, 8(r1)
/* 8031090C 0030D86C FC 60 10 90 */ fmr f3, f2
/* 80310910 0030D870 FC 80 10 90 */ fmr f4, f2
/* 80310914 0030D874 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80310918 0030D878 FC A0 10 90 */ fmr f5, f2
/* 8031091C 0030D87C FC C0 08 90 */ fmr f6, f1
/* 80310920 0030D880 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80310924 0030D884 FC E0 10 90 */ fmr f7, f2
/* 80310928 0030D888 FD 00 10 90 */ fmr f8, f2
/* 8031092C 0030D88C D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80310930 0030D890 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 80310934 0030D894 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80310938 0030D898 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8031093C 0030D89C D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80310940 0030D8A0 4B FF FF 3D */ bl __ct__9CMatrix4fFffffffffffffffff
/* 80310944 0030D8A4 C3 C1 00 28 */ lfs f30, 0x28(r1)
/* 80310948 0030D8A8 3C 60 80 5A */ lis r3, lbl_805A6620@ha
/* 8031094C 0030D8AC C3 E1 00 2C */ lfs f31, 0x2c(r1)
/* 80310950 0030D8B0 D7 C3 66 20 */ stfsu f30, lbl_805A6620@l(r3)
/* 80310954 0030D8B4 C1 A1 00 30 */ lfs f13, 0x30(r1)
/* 80310958 0030D8B8 C1 81 00 34 */ lfs f12, 0x34(r1)
/* 8031095C 0030D8BC C1 61 00 38 */ lfs f11, 0x38(r1)
/* 80310960 0030D8C0 C1 41 00 3C */ lfs f10, 0x3c(r1)
/* 80310964 0030D8C4 C1 21 00 40 */ lfs f9, 0x40(r1)
/* 80310968 0030D8C8 C1 01 00 44 */ lfs f8, 0x44(r1)
/* 8031096C 0030D8CC C0 E1 00 48 */ lfs f7, 0x48(r1)
/* 80310970 0030D8D0 C0 C1 00 4C */ lfs f6, 0x4c(r1)
/* 80310974 0030D8D4 C0 A1 00 50 */ lfs f5, 0x50(r1)
/* 80310978 0030D8D8 C0 81 00 54 */ lfs f4, 0x54(r1)
/* 8031097C 0030D8DC C0 61 00 58 */ lfs f3, 0x58(r1)
/* 80310980 0030D8E0 C0 41 00 5C */ lfs f2, 0x5c(r1)
/* 80310984 0030D8E4 C0 21 00 60 */ lfs f1, 0x60(r1)
/* 80310988 0030D8E8 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8031098C 0030D8EC D3 E3 00 04 */ stfs f31, 4(r3)
/* 80310990 0030D8F0 D1 A3 00 08 */ stfs f13, 8(r3)
/* 80310994 0030D8F4 D1 83 00 0C */ stfs f12, 0xc(r3)
/* 80310998 0030D8F8 D1 63 00 10 */ stfs f11, 0x10(r3)
/* 8031099C 0030D8FC D1 43 00 14 */ stfs f10, 0x14(r3)
/* 803109A0 0030D900 D1 23 00 18 */ stfs f9, 0x18(r3)
/* 803109A4 0030D904 D1 03 00 1C */ stfs f8, 0x1c(r3)
/* 803109A8 0030D908 D0 E3 00 20 */ stfs f7, 0x20(r3)
/* 803109AC 0030D90C D0 C3 00 24 */ stfs f6, 0x24(r3)
/* 803109B0 0030D910 D0 A3 00 28 */ stfs f5, 0x28(r3)
/* 803109B4 0030D914 D0 83 00 2C */ stfs f4, 0x2c(r3)
/* 803109B8 0030D918 D0 63 00 30 */ stfs f3, 0x30(r3)
/* 803109BC 0030D91C D0 43 00 34 */ stfs f2, 0x34(r3)
/* 803109C0 0030D920 D0 23 00 38 */ stfs f1, 0x38(r3)
/* 803109C4 0030D924 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 803109C8 0030D928 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 803109CC 0030D92C CB E1 00 80 */ lfd f31, 0x80(r1)
/* 803109D0 0030D930 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 803109D4 0030D934 80 01 00 94 */ lwz r0, 0x94(r1)
/* 803109D8 0030D938 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 803109DC 0030D93C 7C 08 03 A6 */ mtlr r0
/* 803109E0 0030D940 38 21 00 90 */ addi r1, r1, 0x90
/* 803109E4 0030D944 4E 80 00 20 */ blr

107
asm/Kyoto/Math/CPlane.s Normal file
View File

@ -0,0 +1,107 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global ProjectedDeltaDist__RC6CPlaneRC9CVector3fRC9CVector3f
ProjectedDeltaDist__RC6CPlaneRC9CVector3fRC9CVector3f:
/* 8033700C 00333F6C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80337010 00333F70 C0 64 00 04 */ lfs f3, 4(r4)
/* 80337014 00333F74 C0 43 00 04 */ lfs f2, 4(r3)
/* 80337018 00333F78 C0 25 00 04 */ lfs f1, 4(r5)
/* 8033701C 00333F7C EC 03 00 B2 */ fmuls f0, f3, f2
/* 80337020 00333F80 C0 84 00 00 */ lfs f4, 0(r4)
/* 80337024 00333F84 C0 E3 00 00 */ lfs f7, 0(r3)
/* 80337028 00333F88 EC A1 18 28 */ fsubs f5, f1, f3
/* 8033702C 00333F8C C0 25 00 00 */ lfs f1, 0(r5)
/* 80337030 00333F90 EC 04 01 FA */ fmadds f0, f4, f7, f0
/* 80337034 00333F94 C1 24 00 08 */ lfs f9, 8(r4)
/* 80337038 00333F98 EC C1 20 28 */ fsubs f6, f1, f4
/* 8033703C 00333F9C EC 65 00 B2 */ fmuls f3, f5, f2
/* 80337040 00333FA0 C1 03 00 08 */ lfs f8, 8(r3)
/* 80337044 00333FA4 C0 25 00 08 */ lfs f1, 8(r5)
/* 80337048 00333FA8 EC 49 02 3A */ fmadds f2, f9, f8, f0
/* 8033704C 00333FAC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80337050 00333FB0 EC 81 48 28 */ fsubs f4, f1, f9
/* 80337054 00333FB4 EC 66 19 FA */ fmadds f3, f6, f7, f3
/* 80337058 00333FB8 C0 22 CB 80 */ lfs f1, lbl_805AE8A0@sda21(r2)
/* 8033705C 00333FBC EC 02 00 28 */ fsubs f0, f2, f0
/* 80337060 00333FC0 D0 C1 00 08 */ stfs f6, 8(r1)
/* 80337064 00333FC4 EC 44 1A 3A */ fmadds f2, f4, f8, f3
/* 80337068 00333FC8 FC 00 00 50 */ fneg f0, f0
/* 8033706C 00333FCC D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 80337070 00333FD0 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 80337074 00333FD4 EC 00 10 24 */ fdivs f0, f0, f2
/* 80337078 00333FD8 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8033707C 00333FDC 4C 40 13 82 */ cror 2, 0, 2
/* 80337080 00333FE0 40 82 00 08 */ bne lbl_80337088
/* 80337084 00333FE4 48 00 00 1C */ b lbl_803370A0
lbl_80337088:
/* 80337088 00333FE8 C0 22 CB 84 */ lfs f1, lbl_805AE8A4@sda21(r2)
/* 8033708C 00333FEC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80337090 00333FF0 4C 41 13 82 */ cror 2, 1, 2
/* 80337094 00333FF4 40 82 00 08 */ bne lbl_8033709C
/* 80337098 00333FF8 48 00 00 08 */ b lbl_803370A0
lbl_8033709C:
/* 8033709C 00333FFC FC 20 00 90 */ fmr f1, f0
lbl_803370A0:
/* 803370A0 00334000 38 21 00 20 */ addi r1, r1, 0x20
/* 803370A4 00334004 4E 80 00 20 */ blr
.global __ct__6CPlaneFRC9CVector3fRC9CVector3fRC9CVector3f
__ct__6CPlaneFRC9CVector3fRC9CVector3fRC9CVector3f:
/* 803370A8 00334008 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803370AC 0033400C 7C 08 02 A6 */ mflr r0
/* 803370B0 00334010 90 01 00 44 */ stw r0, 0x44(r1)
/* 803370B4 00334014 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 803370B8 00334018 7C 9F 23 78 */ mr r31, r4
/* 803370BC 0033401C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 803370C0 00334020 7C 7E 1B 78 */ mr r30, r3
/* 803370C4 00334024 C0 44 00 00 */ lfs f2, 0(r4)
/* 803370C8 00334028 38 81 00 20 */ addi r4, r1, 0x20
/* 803370CC 0033402C C0 26 00 00 */ lfs f1, 0(r6)
/* 803370D0 00334030 C0 05 00 00 */ lfs f0, 0(r5)
/* 803370D4 00334034 ED 01 10 28 */ fsubs f8, f1, f2
/* 803370D8 00334038 C0 26 00 04 */ lfs f1, 4(r6)
/* 803370DC 0033403C EC 60 10 28 */ fsubs f3, f0, f2
/* 803370E0 00334040 C0 9F 00 04 */ lfs f4, 4(r31)
/* 803370E4 00334044 C0 05 00 04 */ lfs f0, 4(r5)
/* 803370E8 00334048 EC E1 20 28 */ fsubs f7, f1, f4
/* 803370EC 0033404C EC A0 20 28 */ fsubs f5, f0, f4
/* 803370F0 00334050 C0 26 00 08 */ lfs f1, 8(r6)
/* 803370F4 00334054 C0 5F 00 08 */ lfs f2, 8(r31)
/* 803370F8 00334058 C0 05 00 08 */ lfs f0, 8(r5)
/* 803370FC 0033405C EC C1 10 28 */ fsubs f6, f1, f2
/* 80337100 00334060 D1 01 00 08 */ stfs f8, 8(r1)
/* 80337104 00334064 EC 80 10 28 */ fsubs f4, f0, f2
/* 80337108 00334068 EC 08 01 72 */ fmuls f0, f8, f5
/* 8033710C 0033406C D0 E1 00 0C */ stfs f7, 0xc(r1)
/* 80337110 00334070 EC 26 00 F2 */ fmuls f1, f6, f3
/* 80337114 00334074 EC 47 01 32 */ fmuls f2, f7, f4
/* 80337118 00334078 D0 C1 00 10 */ stfs f6, 0x10(r1)
/* 8033711C 0033407C EC 03 01 F8 */ fmsubs f0, f3, f7, f0
/* 80337120 00334080 EC 24 0A 38 */ fmsubs f1, f4, f8, f1
/* 80337124 00334084 D0 61 00 14 */ stfs f3, 0x14(r1)
/* 80337128 00334088 EC 45 11 B8 */ fmsubs f2, f5, f6, f2
/* 8033712C 0033408C D0 A1 00 18 */ stfs f5, 0x18(r1)
/* 80337130 00334090 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 80337134 00334094 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 80337138 00334098 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8033713C 0033409C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80337140 003340A0 4B FD CC 91 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 80337144 003340A4 C0 3E 00 04 */ lfs f1, 4(r30)
/* 80337148 003340A8 7F C3 F3 78 */ mr r3, r30
/* 8033714C 003340AC C0 1F 00 04 */ lfs f0, 4(r31)
/* 80337150 003340B0 C0 5E 00 00 */ lfs f2, 0(r30)
/* 80337154 003340B4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80337158 003340B8 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8033715C 003340BC C0 9E 00 08 */ lfs f4, 8(r30)
/* 80337160 003340C0 C0 7F 00 08 */ lfs f3, 8(r31)
/* 80337164 003340C4 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 80337168 003340C8 EC 04 00 FA */ fmadds f0, f4, f3, f0
/* 8033716C 003340CC D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 80337170 003340D0 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80337174 003340D4 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80337178 003340D8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8033717C 003340DC 7C 08 03 A6 */ mtlr r0
/* 80337180 003340E0 38 21 00 40 */ addi r1, r1, 0x40
/* 80337184 003340E4 4E 80 00 20 */ blr

1890
asm/Kyoto/Math/CQuaternion.s Normal file

File diff suppressed because it is too large Load Diff

27
asm/Kyoto/Math/CSphere.s Normal file
View File

@ -0,0 +1,27 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetSurfaceNormal__7CSphereCFRC9CVector3f
GetSurfaceNormal__7CSphereCFRC9CVector3f:
/* 80337188 003340E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8033718C 003340EC 7C 08 02 A6 */ mflr r0
/* 80337190 003340F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80337194 003340F4 C0 25 00 04 */ lfs f1, 4(r5)
/* 80337198 003340F8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8033719C 003340FC C0 65 00 08 */ lfs f3, 8(r5)
/* 803371A0 00334100 EC 81 00 28 */ fsubs f4, f1, f0
/* 803371A4 00334104 C0 44 00 08 */ lfs f2, 8(r4)
/* 803371A8 00334108 C0 04 00 00 */ lfs f0, 0(r4)
/* 803371AC 0033410C 38 81 00 08 */ addi r4, r1, 8
/* 803371B0 00334110 C0 25 00 00 */ lfs f1, 0(r5)
/* 803371B4 00334114 EC 43 10 28 */ fsubs f2, f3, f2
/* 803371B8 00334118 EC 01 00 28 */ fsubs f0, f1, f0
/* 803371BC 0033411C D0 81 00 0C */ stfs f4, 0xc(r1)
/* 803371C0 00334120 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 803371C4 00334124 D0 01 00 08 */ stfs f0, 8(r1)
/* 803371C8 00334128 4B FD CC 09 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 803371CC 0033412C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803371D0 00334130 7C 08 03 A6 */ mtlr r0
/* 803371D4 00334134 38 21 00 20 */ addi r1, r1, 0x20
/* 803371D8 00334138 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More