.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __ct__Q34nw4r3snd14Sound3DManagerFv __ct__Q34nw4r3snd14Sound3DManagerFv: /* 8037657C 003721DC 3C C0 80 45 */ lis r6, lbl_8044CE20@ha /* 80376580 003721E0 C0 82 A7 00 */ lfs f4, lbl_80642D00-_SDA2_BASE_(r2) /* 80376584 003721E4 38 C6 CE 20 */ addi r6, r6, lbl_8044CE20@l /* 80376588 003721E8 C0 62 A7 04 */ lfs f3, lbl_80642D04-_SDA2_BASE_(r2) /* 8037658C 003721EC C0 42 A7 08 */ lfs f2, lbl_80642D08-_SDA2_BASE_(r2) /* 80376590 003721F0 38 A6 00 0C */ addi r5, r6, 0xc /* 80376594 003721F4 C0 22 A7 0C */ lfs f1, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376598 003721F8 38 80 00 00 */ li r4, 0 /* 8037659C 003721FC C0 02 A7 10 */ lfs f0, lbl_80642D10-_SDA2_BASE_(r2) /* 803765A0 00372200 38 00 00 20 */ li r0, 0x20 /* 803765A4 00372204 90 C3 00 00 */ stw r6, 0(r3) /* 803765A8 00372208 90 A3 00 04 */ stw r5, 4(r3) /* 803765AC 0037220C 90 83 00 08 */ stw r4, 8(r3) /* 803765B0 00372210 90 03 00 10 */ stw r0, 0x10(r3) /* 803765B4 00372214 D0 83 00 14 */ stfs f4, 0x14(r3) /* 803765B8 00372218 D0 63 00 18 */ stfs f3, 0x18(r3) /* 803765BC 0037221C D0 43 00 1C */ stfs f2, 0x1c(r3) /* 803765C0 00372220 D0 23 00 20 */ stfs f1, 0x20(r3) /* 803765C4 00372224 D0 03 00 24 */ stfs f0, 0x24(r3) /* 803765C8 00372228 4E 80 00 20 */ blr .global GetRequiredMemSize__Q34nw4r3snd14Sound3DManagerFPCQ34nw4r3snd12SoundArchive GetRequiredMemSize__Q34nw4r3snd14Sound3DManagerFPCQ34nw4r3snd12SoundArchive: /* 803765CC 0037222C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803765D0 00372230 7C 08 02 A6 */ mflr r0 /* 803765D4 00372234 7C 83 23 78 */ mr r3, r4 /* 803765D8 00372238 90 01 00 34 */ stw r0, 0x34(r1) /* 803765DC 0037223C 38 81 00 08 */ addi r4, r1, 8 /* 803765E0 00372240 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803765E4 00372244 3B E0 00 00 */ li r31, 0 /* 803765E8 00372248 48 00 0A 95 */ bl func_8037707C /* 803765EC 0037224C 2C 03 00 00 */ cmpwi r3, 0 /* 803765F0 00372250 41 82 00 18 */ beq lbl_80376608 /* 803765F4 00372254 80 81 00 08 */ lwz r4, 8(r1) /* 803765F8 00372258 80 61 00 10 */ lwz r3, 0x10(r1) /* 803765FC 0037225C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80376600 00372260 7F E4 1A 14 */ add r31, r4, r3 /* 80376604 00372264 7F FF 02 14 */ add r31, r31, r0 lbl_80376608: /* 80376608 00372268 1C 7F 00 18 */ mulli r3, r31, 0x18 /* 8037660C 0037226C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80376610 00372270 80 01 00 34 */ lwz r0, 0x34(r1) /* 80376614 00372274 7C 08 03 A6 */ mtlr r0 /* 80376618 00372278 38 21 00 30 */ addi r1, r1, 0x30 /* 8037661C 0037227C 4E 80 00 20 */ blr .global Setup__Q34nw4r3snd14Sound3DManagerFPCQ34nw4r3snd12SoundArchivePvUl Setup__Q34nw4r3snd14Sound3DManagerFPCQ34nw4r3snd12SoundArchivePvUl: /* 80376620 00372280 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80376624 00372284 7C 08 02 A6 */ mflr r0 /* 80376628 00372288 7C A4 2B 78 */ mr r4, r5 /* 8037662C 0037228C 7C C5 33 78 */ mr r5, r6 /* 80376630 00372290 90 01 00 14 */ stw r0, 0x14(r1) /* 80376634 00372294 38 C0 00 18 */ li r6, 0x18 /* 80376638 00372298 38 63 00 08 */ addi r3, r3, 8 /* 8037663C 0037229C 4B FF B3 09 */ bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl /* 80376640 003722A0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80376644 003722A4 38 60 00 01 */ li r3, 1 /* 80376648 003722A8 7C 08 03 A6 */ mtlr r0 /* 8037664C 003722AC 38 21 00 10 */ addi r1, r1, 0x10 /* 80376650 003722B0 4E 80 00 20 */ blr .global detail_Update__Q34nw4r3snd14Sound3DManagerFPQ34nw4r3snd10SoundParamUlPQ44nw4r3snd6detail10BasicSoundPCvUl detail_Update__Q34nw4r3snd14Sound3DManagerFPQ34nw4r3snd10SoundParamUlPQ44nw4r3snd6detail10BasicSoundPCvUl: /* 80376654 003722B4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80376658 003722B8 7C 08 02 A6 */ mflr r0 /* 8037665C 003722BC 90 01 00 34 */ stw r0, 0x34(r1) /* 80376660 003722C0 39 61 00 30 */ addi r11, r1, 0x30 /* 80376664 003722C4 4B E5 0A C1 */ bl _savegpr_26 /* 80376668 003722C8 38 00 00 00 */ li r0, 0 /* 8037666C 003722CC 2C 06 00 00 */ cmpwi r6, 0 /* 80376670 003722D0 90 01 00 08 */ stw r0, 8(r1) /* 80376674 003722D4 7C 7A 1B 78 */ mr r26, r3 /* 80376678 003722D8 7C 9B 23 78 */ mr r27, r4 /* 8037667C 003722DC 7C BC 2B 78 */ mr r28, r5 /* 80376680 003722E0 7C DF 33 78 */ mr r31, r6 /* 80376684 003722E4 7C FD 3B 78 */ mr r29, r7 /* 80376688 003722E8 7D 1E 43 78 */ mr r30, r8 /* 8037668C 003722EC 41 82 00 10 */ beq lbl_8037669C /* 80376690 003722F0 7F E4 FB 78 */ mr r4, r31 /* 80376694 003722F4 38 61 00 08 */ addi r3, r1, 8 /* 80376698 003722F8 48 00 42 8D */ bl detail_AttachSoundAsTempHandle__Q34nw4r3snd11SoundHandleFPQ44nw4r3snd6detail10BasicSound lbl_8037669C: /* 8037669C 003722FC 81 9A 00 00 */ lwz r12, 0(r26) /* 803766A0 00372300 7C 1F 00 D0 */ neg r0, r31 /* 803766A4 00372304 7C 00 FB 78 */ or r0, r0, r31 /* 803766A8 00372308 3B E1 00 08 */ addi r31, r1, 8 /* 803766AC 0037230C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 803766B0 00372310 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 803766B4 00372314 7F 43 D3 78 */ mr r3, r26 /* 803766B8 00372318 7F 64 DB 78 */ mr r4, r27 /* 803766BC 0037231C 7F 85 E3 78 */ mr r5, r28 /* 803766C0 00372320 7F A7 EB 78 */ mr r7, r29 /* 803766C4 00372324 7F C8 F3 78 */ mr r8, r30 /* 803766C8 00372328 7F E6 00 38 */ and r6, r31, r0 /* 803766CC 0037232C 7D 89 03 A6 */ mtctr r12 /* 803766D0 00372330 4E 80 04 21 */ bctrl /* 803766D4 00372334 7F E3 FB 78 */ mr r3, r31 /* 803766D8 00372338 48 00 43 15 */ bl DetachSound__Q34nw4r3snd11SoundHandleFv /* 803766DC 0037233C 39 61 00 30 */ addi r11, r1, 0x30 /* 803766E0 00372340 4B E5 0A 91 */ bl _restgpr_26 /* 803766E4 00372344 80 01 00 34 */ lwz r0, 0x34(r1) /* 803766E8 00372348 7C 08 03 A6 */ mtlr r0 /* 803766EC 0037234C 38 21 00 30 */ addi r1, r1, 0x30 /* 803766F0 00372350 4E 80 00 20 */ blr .global Update__Q34nw4r3snd14Sound3DManagerFPQ34nw4r3snd10SoundParamUlPQ34nw4r3snd11SoundHandlePCvUl Update__Q34nw4r3snd14Sound3DManagerFPQ34nw4r3snd10SoundParamUlPQ34nw4r3snd11SoundHandlePCvUl: /* 803766F4 00372354 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 803766F8 00372358 7C 08 02 A6 */ mflr r0 /* 803766FC 0037235C 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80376700 00372360 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 80376704 00372364 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 80376708 00372368 DB C1 00 90 */ stfd f30, 0x90(r1) /* 8037670C 0037236C F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 80376710 00372370 DB A1 00 80 */ stfd f29, 0x80(r1) /* 80376714 00372374 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 80376718 00372378 DB 81 00 70 */ stfd f28, 0x70(r1) /* 8037671C 0037237C F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0 /* 80376720 00372380 DB 61 00 60 */ stfd f27, 0x60(r1) /* 80376724 00372384 F3 61 00 68 */ psq_st f27, 104(r1), 0, qr0 /* 80376728 00372388 39 61 00 60 */ addi r11, r1, 0x60 /* 8037672C 0037238C 4B E5 09 FD */ bl _savegpr_27 /* 80376730 00372390 83 63 00 0C */ lwz r27, 0xc(r3) /* 80376734 00372394 7C 7C 1B 78 */ mr r28, r3 /* 80376738 00372398 7C 9D 23 78 */ mr r29, r4 /* 8037673C 0037239C 7C FE 3B 78 */ mr r30, r7 /* 80376740 003723A0 2C 1B 00 00 */ cmpwi r27, 0 /* 80376744 003723A4 7D 1F 43 78 */ mr r31, r8 /* 80376748 003723A8 40 82 00 10 */ bne lbl_80376758 /* 8037674C 003723AC C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376750 003723B0 D0 04 00 00 */ stfs f0, 0(r4) /* 80376754 003723B4 48 00 07 6C */ b lbl_80376EC0 lbl_80376758: /* 80376758 003723B8 7F 63 DB 78 */ mr r3, r27 /* 8037675C 003723BC 38 87 00 0C */ addi r4, r7, 0xc /* 80376760 003723C0 38 A1 00 20 */ addi r5, r1, 0x20 /* 80376764 003723C4 4B F0 62 99 */ bl PSMTXMultVec /* 80376768 003723C8 38 61 00 20 */ addi r3, r1, 0x20 /* 8037676C 003723CC 4B F0 66 19 */ bl PSVECMag /* 80376770 003723D0 73 E0 00 09 */ andi. r0, r31, 9 /* 80376774 003723D4 FF E0 08 90 */ fmr f31, f1 /* 80376778 003723D8 C3 A2 A7 14 */ lfs f29, lbl_80642D14-_SDA2_BASE_(r2) /* 8037677C 003723DC 41 82 00 B4 */ beq lbl_80376830 /* 80376780 003723E0 C0 1B 00 34 */ lfs f0, 0x34(r27) /* 80376784 003723E4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80376788 003723E8 40 81 00 A8 */ ble lbl_80376830 /* 8037678C 003723EC 88 1E 00 08 */ lbz r0, 8(r30) /* 80376790 003723F0 2C 00 00 02 */ cmpwi r0, 2 /* 80376794 003723F4 41 82 00 50 */ beq lbl_803767E4 /* 80376798 003723F8 40 80 00 98 */ bge lbl_80376830 /* 8037679C 003723FC 2C 00 00 01 */ cmpwi r0, 1 /* 803767A0 00372400 40 80 00 08 */ bge lbl_803767A8 /* 803767A4 00372404 48 00 00 8C */ b lbl_80376830 lbl_803767A8: /* 803767A8 00372408 EC 01 00 28 */ fsubs f0, f1, f0 /* 803767AC 0037240C C0 3B 00 38 */ lfs f1, 0x38(r27) /* 803767B0 00372410 88 7E 00 09 */ lbz r3, 9(r30) /* 803767B4 00372414 3C 00 43 30 */ lis r0, 0x4330 /* 803767B8 00372418 90 01 00 30 */ stw r0, 0x30(r1) /* 803767BC 0037241C EC 40 08 24 */ fdivs f2, f0, f1 /* 803767C0 00372420 90 61 00 34 */ stw r3, 0x34(r1) /* 803767C4 00372424 C8 62 A7 40 */ lfd f3, lbl_80642D40-_SDA2_BASE_(r2) /* 803767C8 00372428 C8 21 00 30 */ lfd f1, 0x30(r1) /* 803767CC 0037242C C0 02 A7 18 */ lfs f0, lbl_80642D18-_SDA2_BASE_(r2) /* 803767D0 00372430 EC 21 18 28 */ fsubs f1, f1, f3 /* 803767D4 00372434 EC 21 00 32 */ fmuls f1, f1, f0 /* 803767D8 00372438 4B E5 DE 0D */ bl pow /* 803767DC 0037243C FF A0 08 18 */ frsp f29, f1 /* 803767E0 00372440 48 00 00 50 */ b lbl_80376830 lbl_803767E4: /* 803767E4 00372444 EC 01 00 28 */ fsubs f0, f1, f0 /* 803767E8 00372448 C0 3B 00 38 */ lfs f1, 0x38(r27) /* 803767EC 0037244C 88 7E 00 09 */ lbz r3, 9(r30) /* 803767F0 00372450 3C 00 43 30 */ lis r0, 0x4330 /* 803767F4 00372454 90 01 00 30 */ stw r0, 0x30(r1) /* 803767F8 00372458 EC 40 08 24 */ fdivs f2, f0, f1 /* 803767FC 0037245C 90 61 00 34 */ stw r3, 0x34(r1) /* 80376800 00372460 C8 82 A7 40 */ lfd f4, lbl_80642D40-_SDA2_BASE_(r2) /* 80376804 00372464 C8 61 00 30 */ lfd f3, 0x30(r1) /* 80376808 00372468 C0 22 A7 18 */ lfs f1, lbl_80642D18-_SDA2_BASE_(r2) /* 8037680C 0037246C C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376810 00372470 EC 63 20 28 */ fsubs f3, f3, f4 /* 80376814 00372474 EC 43 00 B2 */ fmuls f2, f3, f2 /* 80376818 00372478 EC 22 00 72 */ fmuls f1, f2, f1 /* 8037681C 0037247C EF BD 08 28 */ fsubs f29, f29, f1 /* 80376820 00372480 FC 00 E8 40 */ fcmpo cr0, f0, f29 /* 80376824 00372484 40 80 00 08 */ bge lbl_8037682C /* 80376828 00372488 48 00 00 08 */ b lbl_80376830 lbl_8037682C: /* 8037682C 0037248C FF A0 00 90 */ fmr f29, f0 lbl_80376830: /* 80376830 00372490 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 80376834 00372494 41 82 00 14 */ beq lbl_80376848 /* 80376838 00372498 80 1E 00 04 */ lwz r0, 4(r30) /* 8037683C 0037249C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80376840 003724A0 40 82 00 08 */ bne lbl_80376848 /* 80376844 003724A4 D3 BD 00 00 */ stfs f29, 0(r29) lbl_80376848: /* 80376848 003724A8 57 E0 07 7D */ rlwinm. r0, r31, 0, 0x1d, 0x1e /* 8037684C 003724AC 41 82 05 F0 */ beq lbl_80376E3C /* 80376850 003724B0 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376854 003724B4 FC 00 F8 00 */ fcmpu cr0, f0, f31 /* 80376858 003724B8 40 82 00 14 */ bne lbl_8037686C /* 8037685C 003724BC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80376860 003724C0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80376864 003724C4 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80376868 003724C8 48 00 00 80 */ b lbl_803768E8 lbl_8037686C: /* 8037686C 003724CC C0 41 00 28 */ lfs f2, 0x28(r1) /* 80376870 003724D0 38 61 00 08 */ addi r3, r1, 8 /* 80376874 003724D4 C0 21 00 20 */ lfs f1, 0x20(r1) /* 80376878 003724D8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8037687C 003724DC D0 21 00 08 */ stfs f1, 8(r1) /* 80376880 003724E0 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80376884 003724E4 4B F0 65 01 */ bl PSVECMag /* 80376888 003724E8 C0 1B 00 30 */ lfs f0, 0x30(r27) /* 8037688C 003724EC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80376890 003724F0 40 81 00 28 */ ble lbl_803768B8 /* 80376894 003724F4 EC 60 08 24 */ fdivs f3, f0, f1 /* 80376898 003724F8 C0 41 00 08 */ lfs f2, 8(r1) /* 8037689C 003724FC C0 01 00 10 */ lfs f0, 0x10(r1) /* 803768A0 00372500 EC 42 00 F2 */ fmuls f2, f2, f3 /* 803768A4 00372504 D0 41 00 08 */ stfs f2, 8(r1) /* 803768A8 00372508 C0 5B 00 30 */ lfs f2, 0x30(r27) /* 803768AC 0037250C EC 22 08 24 */ fdivs f1, f2, f1 /* 803768B0 00372510 EC 00 00 72 */ fmuls f0, f0, f1 /* 803768B4 00372514 D0 01 00 10 */ stfs f0, 0x10(r1) lbl_803768B8: /* 803768B8 00372518 38 61 00 08 */ addi r3, r1, 8 /* 803768BC 0037251C 4B F0 64 C9 */ bl PSVECMag /* 803768C0 00372520 C0 41 00 20 */ lfs f2, 0x20(r1) /* 803768C4 00372524 C0 01 00 28 */ lfs f0, 0x28(r1) /* 803768C8 00372528 EC 62 00 72 */ fmuls f3, f2, f1 /* 803768CC 0037252C C0 42 A7 0C */ lfs f2, lbl_80642D0C-_SDA2_BASE_(r2) /* 803768D0 00372530 EC 00 00 72 */ fmuls f0, f0, f1 /* 803768D4 00372534 D0 41 00 18 */ stfs f2, 0x18(r1) /* 803768D8 00372538 EC 23 F8 24 */ fdivs f1, f3, f31 /* 803768DC 0037253C EC 00 F8 24 */ fdivs f0, f0, f31 /* 803768E0 00372540 D0 21 00 14 */ stfs f1, 0x14(r1) /* 803768E4 00372544 D0 01 00 1C */ stfs f0, 0x1c(r1) lbl_803768E8: /* 803768E8 00372548 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 803768EC 0037254C C0 21 00 14 */ lfs f1, 0x14(r1) /* 803768F0 00372550 FC 40 00 50 */ fneg f2, f0 /* 803768F4 00372554 4B E5 DC E9 */ bl atan2 /* 803768F8 00372558 FF E0 08 18 */ frsp f31, f1 /* 803768FC 0037255C 38 61 00 14 */ addi r3, r1, 0x14 /* 80376900 00372560 4B F0 64 85 */ bl PSVECMag /* 80376904 00372564 C0 1B 00 30 */ lfs f0, 0x30(r27) /* 80376908 00372568 EF 81 00 24 */ fdivs f28, f1, f0 /* 8037690C 0037256C 4B FF 1B B9 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv /* 80376910 00372570 4B FF 23 49 */ bl GetOutputMode__Q44nw4r3snd6detail9AxManagerFv /* 80376914 00372574 2C 03 00 03 */ cmpwi r3, 3 /* 80376918 00372578 41 82 05 1C */ beq lbl_80376E34 /* 8037691C 0037257C 40 80 05 18 */ bge lbl_80376E34 /* 80376920 00372580 2C 03 00 00 */ cmpwi r3, 0 /* 80376924 00372584 41 82 02 F8 */ beq lbl_80376C1C /* 80376928 00372588 40 80 00 08 */ bge lbl_80376930 /* 8037692C 0037258C 48 00 05 08 */ b lbl_80376E34 lbl_80376930: /* 80376930 00372590 88 0D B2 2C */ lbz r0, lbl_806404EC-_SDA_BASE_(r13) /* 80376934 00372594 7C 00 07 75 */ extsb. r0, r0 /* 80376938 00372598 40 82 00 18 */ bne lbl_80376950 /* 8037693C 0037259C C0 1C 00 1C */ lfs f0, 0x1c(r28) /* 80376940 003725A0 38 00 00 01 */ li r0, 1 /* 80376944 003725A4 FC 00 00 50 */ fneg f0, f0 /* 80376948 003725A8 98 0D B2 2C */ stb r0, lbl_806404EC-_SDA_BASE_(r13) /* 8037694C 003725AC D0 0D B2 28 */ stfs f0, lbl_806404E8-_SDA_BASE_(r13) lbl_80376950: /* 80376950 003725B0 88 0D B2 34 */ lbz r0, lbl_806404F4-_SDA_BASE_(r13) /* 80376954 003725B4 7C 00 07 75 */ extsb. r0, r0 /* 80376958 003725B8 40 82 00 18 */ bne lbl_80376970 /* 8037695C 003725BC C0 1C 00 18 */ lfs f0, 0x18(r28) /* 80376960 003725C0 38 00 00 01 */ li r0, 1 /* 80376964 003725C4 FC 00 00 50 */ fneg f0, f0 /* 80376968 003725C8 98 0D B2 34 */ stb r0, lbl_806404F4-_SDA_BASE_(r13) /* 8037696C 003725CC D0 0D B2 30 */ stfs f0, lbl_806404F0-_SDA_BASE_(r13) lbl_80376970: /* 80376970 003725D0 88 0D B2 3C */ lbz r0, lbl_806404FC-_SDA_BASE_(r13) /* 80376974 003725D4 7C 00 07 75 */ extsb. r0, r0 /* 80376978 003725D8 40 82 00 14 */ bne lbl_8037698C /* 8037697C 003725DC C0 1C 00 18 */ lfs f0, 0x18(r28) /* 80376980 003725E0 38 00 00 01 */ li r0, 1 /* 80376984 003725E4 D0 0D B2 38 */ stfs f0, lbl_806404F8-_SDA_BASE_(r13) /* 80376988 003725E8 98 0D B2 3C */ stb r0, lbl_806404FC-_SDA_BASE_(r13) lbl_8037698C: /* 8037698C 003725EC 88 0D B2 44 */ lbz r0, lbl_80640504-_SDA_BASE_(r13) /* 80376990 003725F0 7C 00 07 75 */ extsb. r0, r0 /* 80376994 003725F4 40 82 00 14 */ bne lbl_803769A8 /* 80376998 003725F8 C0 1C 00 1C */ lfs f0, 0x1c(r28) /* 8037699C 003725FC 38 00 00 01 */ li r0, 1 /* 803769A0 00372600 D0 0D B2 40 */ stfs f0, lbl_80640500-_SDA_BASE_(r13) /* 803769A4 00372604 98 0D B2 44 */ stb r0, lbl_80640504-_SDA_BASE_(r13) lbl_803769A8: /* 803769A8 00372608 C0 6D B2 28 */ lfs f3, lbl_806404E8-_SDA_BASE_(r13) /* 803769AC 0037260C FC 1F 18 40 */ fcmpo cr0, f31, f3 /* 803769B0 00372610 40 80 00 48 */ bge lbl_803769F8 /* 803769B4 00372614 C0 22 A7 1C */ lfs f1, lbl_80642D1C-_SDA2_BASE_(r2) /* 803769B8 00372618 FC 01 18 00 */ fcmpu cr0, f1, f3 /* 803769BC 0037261C 40 82 00 0C */ bne lbl_803769C8 /* 803769C0 00372620 C3 C2 A7 20 */ lfs f30, lbl_80642D20-_SDA2_BASE_(r2) /* 803769C4 00372624 48 00 00 2C */ b lbl_803769F0 lbl_803769C8: /* 803769C8 00372628 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 803769CC 0037262C EC 81 18 28 */ fsubs f4, f1, f3 /* 803769D0 00372630 C0 42 A7 14 */ lfs f2, lbl_80642D14-_SDA2_BASE_(r2) /* 803769D4 00372634 EC 23 00 32 */ fmuls f1, f3, f0 /* 803769D8 00372638 C0 02 A7 24 */ lfs f0, lbl_80642D24-_SDA2_BASE_(r2) /* 803769DC 0037263C EC 5F 00 B2 */ fmuls f2, f31, f2 /* 803769E0 00372640 EC 00 08 28 */ fsubs f0, f0, f1 /* 803769E4 00372644 EC 22 20 24 */ fdivs f1, f2, f4 /* 803769E8 00372648 EC 00 20 24 */ fdivs f0, f0, f4 /* 803769EC 0037264C EF C1 00 2A */ fadds f30, f1, f0 lbl_803769F0: /* 803769F0 00372650 C3 62 A7 14 */ lfs f27, lbl_80642D14-_SDA2_BASE_(r2) /* 803769F4 00372654 48 00 01 B4 */ b lbl_80376BA8 lbl_803769F8: /* 803769F8 00372658 C0 A2 A7 28 */ lfs f5, lbl_80642D28-_SDA2_BASE_(r2) /* 803769FC 0037265C FC 1F 28 40 */ fcmpo cr0, f31, f5 /* 80376A00 00372660 40 80 00 40 */ bge lbl_80376A40 /* 80376A04 00372664 FC 03 28 00 */ fcmpu cr0, f3, f5 /* 80376A08 00372668 C3 C2 A7 2C */ lfs f30, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376A0C 0037266C 40 82 00 0C */ bne lbl_80376A18 /* 80376A10 00372670 C3 62 A7 30 */ lfs f27, lbl_80642D30-_SDA2_BASE_(r2) /* 80376A14 00372674 48 00 01 94 */ b lbl_80376BA8 lbl_80376A18: /* 80376A18 00372678 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376A1C 0037267C EC 43 28 28 */ fsubs f2, f3, f5 /* 80376A20 00372680 C0 22 A7 14 */ lfs f1, lbl_80642D14-_SDA2_BASE_(r2) /* 80376A24 00372684 EC 03 00 32 */ fmuls f0, f3, f0 /* 80376A28 00372688 EC 3F 00 72 */ fmuls f1, f31, f1 /* 80376A2C 0037268C EC 00 28 28 */ fsubs f0, f0, f5 /* 80376A30 00372690 EC 21 10 24 */ fdivs f1, f1, f2 /* 80376A34 00372694 EC 00 10 24 */ fdivs f0, f0, f2 /* 80376A38 00372698 EF 61 00 2A */ fadds f27, f1, f0 /* 80376A3C 0037269C 48 00 01 6C */ b lbl_80376BA8 lbl_80376A40: /* 80376A40 003726A0 C0 8D B2 30 */ lfs f4, lbl_806404F0-_SDA_BASE_(r13) /* 80376A44 003726A4 FC 1F 20 40 */ fcmpo cr0, f31, f4 /* 80376A48 003726A8 40 80 00 44 */ bge lbl_80376A8C /* 80376A4C 003726AC FC 05 20 00 */ fcmpu cr0, f5, f4 /* 80376A50 003726B0 C3 C2 A7 2C */ lfs f30, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376A54 003726B4 40 82 00 0C */ bne lbl_80376A60 /* 80376A58 003726B8 C3 62 A7 20 */ lfs f27, lbl_80642D20-_SDA2_BASE_(r2) /* 80376A5C 003726BC 48 00 01 4C */ b lbl_80376BA8 lbl_80376A60: /* 80376A60 003726C0 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376A64 003726C4 EC 65 20 28 */ fsubs f3, f5, f4 /* 80376A68 003726C8 C0 42 A7 14 */ lfs f2, lbl_80642D14-_SDA2_BASE_(r2) /* 80376A6C 003726CC EC 24 00 32 */ fmuls f1, f4, f0 /* 80376A70 003726D0 C0 02 A7 34 */ lfs f0, lbl_80642D34-_SDA2_BASE_(r2) /* 80376A74 003726D4 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80376A78 003726D8 EC 00 08 28 */ fsubs f0, f0, f1 /* 80376A7C 003726DC EC 22 18 24 */ fdivs f1, f2, f3 /* 80376A80 003726E0 EC 00 18 24 */ fdivs f0, f0, f3 /* 80376A84 003726E4 EF 61 00 2A */ fadds f27, f1, f0 /* 80376A88 003726E8 48 00 01 20 */ b lbl_80376BA8 lbl_80376A8C: /* 80376A8C 003726EC C0 6D B2 38 */ lfs f3, lbl_806404F8-_SDA_BASE_(r13) /* 80376A90 003726F0 FC 1F 18 40 */ fcmpo cr0, f31, f3 /* 80376A94 003726F4 40 80 00 48 */ bge lbl_80376ADC /* 80376A98 003726F8 FC 04 18 00 */ fcmpu cr0, f4, f3 /* 80376A9C 003726FC 40 82 00 0C */ bne lbl_80376AA8 /* 80376AA0 00372700 C3 C2 A7 0C */ lfs f30, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376AA4 00372704 48 00 00 30 */ b lbl_80376AD4 lbl_80376AA8: /* 80376AA8 00372708 C0 22 A7 14 */ lfs f1, lbl_80642D14-_SDA2_BASE_(r2) /* 80376AAC 0037270C EC A4 18 28 */ fsubs f5, f4, f3 /* 80376AB0 00372710 C0 02 A7 2C */ lfs f0, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376AB4 00372714 EC 24 00 72 */ fmuls f1, f4, f1 /* 80376AB8 00372718 C0 42 A7 38 */ lfs f2, lbl_80642D38-_SDA2_BASE_(r2) /* 80376ABC 0037271C EC 03 00 32 */ fmuls f0, f3, f0 /* 80376AC0 00372720 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80376AC4 00372724 EC 01 00 28 */ fsubs f0, f1, f0 /* 80376AC8 00372728 EC 22 28 24 */ fdivs f1, f2, f5 /* 80376ACC 0037272C EC 00 28 24 */ fdivs f0, f0, f5 /* 80376AD0 00372730 EF C1 00 2A */ fadds f30, f1, f0 lbl_80376AD4: /* 80376AD4 00372734 C3 62 A7 2C */ lfs f27, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376AD8 00372738 48 00 00 D0 */ b lbl_80376BA8 lbl_80376ADC: /* 80376ADC 0037273C C0 42 A7 34 */ lfs f2, lbl_80642D34-_SDA2_BASE_(r2) /* 80376AE0 00372740 FC 1F 10 40 */ fcmpo cr0, f31, f2 /* 80376AE4 00372744 40 80 00 40 */ bge lbl_80376B24 /* 80376AE8 00372748 FC 03 10 00 */ fcmpu cr0, f3, f2 /* 80376AEC 0037274C C3 C2 A7 14 */ lfs f30, lbl_80642D14-_SDA2_BASE_(r2) /* 80376AF0 00372750 40 82 00 0C */ bne lbl_80376AFC /* 80376AF4 00372754 C3 62 A7 20 */ lfs f27, lbl_80642D20-_SDA2_BASE_(r2) /* 80376AF8 00372758 48 00 00 B0 */ b lbl_80376BA8 lbl_80376AFC: /* 80376AFC 0037275C C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376B00 00372760 EC 43 10 28 */ fsubs f2, f3, f2 /* 80376B04 00372764 C0 22 A7 2C */ lfs f1, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376B08 00372768 EC 03 00 32 */ fmuls f0, f3, f0 /* 80376B0C 0037276C EC 3F 00 72 */ fmuls f1, f31, f1 /* 80376B10 00372770 EC 00 28 28 */ fsubs f0, f0, f5 /* 80376B14 00372774 EC 21 10 24 */ fdivs f1, f1, f2 /* 80376B18 00372778 EC 00 10 24 */ fdivs f0, f0, f2 /* 80376B1C 0037277C EF 61 00 2A */ fadds f27, f1, f0 /* 80376B20 00372780 48 00 00 88 */ b lbl_80376BA8 lbl_80376B24: /* 80376B24 00372784 C0 6D B2 40 */ lfs f3, lbl_80640500-_SDA_BASE_(r13) /* 80376B28 00372788 FC 1F 18 40 */ fcmpo cr0, f31, f3 /* 80376B2C 0037278C 40 80 00 40 */ bge lbl_80376B6C /* 80376B30 00372790 FC 02 18 00 */ fcmpu cr0, f2, f3 /* 80376B34 00372794 C3 C2 A7 14 */ lfs f30, lbl_80642D14-_SDA2_BASE_(r2) /* 80376B38 00372798 40 82 00 0C */ bne lbl_80376B44 /* 80376B3C 0037279C C3 62 A7 30 */ lfs f27, lbl_80642D30-_SDA2_BASE_(r2) /* 80376B40 003727A0 48 00 00 68 */ b lbl_80376BA8 lbl_80376B44: /* 80376B44 003727A4 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376B48 003727A8 EC 82 18 28 */ fsubs f4, f2, f3 /* 80376B4C 003727AC C0 22 A7 2C */ lfs f1, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376B50 003727B0 EC 03 00 32 */ fmuls f0, f3, f0 /* 80376B54 003727B4 EC 3F 00 72 */ fmuls f1, f31, f1 /* 80376B58 003727B8 EC 02 00 28 */ fsubs f0, f2, f0 /* 80376B5C 003727BC EC 21 20 24 */ fdivs f1, f1, f4 /* 80376B60 003727C0 EC 00 20 24 */ fdivs f0, f0, f4 /* 80376B64 003727C4 EF 61 00 2A */ fadds f27, f1, f0 /* 80376B68 003727C8 48 00 00 40 */ b lbl_80376BA8 lbl_80376B6C: /* 80376B6C 003727CC C0 42 A7 24 */ lfs f2, lbl_80642D24-_SDA2_BASE_(r2) /* 80376B70 003727D0 FC 03 10 00 */ fcmpu cr0, f3, f2 /* 80376B74 003727D4 40 82 00 0C */ bne lbl_80376B80 /* 80376B78 003727D8 C3 C2 A7 30 */ lfs f30, lbl_80642D30-_SDA2_BASE_(r2) /* 80376B7C 003727DC 48 00 00 28 */ b lbl_80376BA4 lbl_80376B80: /* 80376B80 003727E0 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376B84 003727E4 EC 83 10 28 */ fsubs f4, f3, f2 /* 80376B88 003727E8 C0 22 A7 14 */ lfs f1, lbl_80642D14-_SDA2_BASE_(r2) /* 80376B8C 003727EC EC 03 00 32 */ fmuls f0, f3, f0 /* 80376B90 003727F0 EC 3F 00 72 */ fmuls f1, f31, f1 /* 80376B94 003727F4 EC 00 10 28 */ fsubs f0, f0, f2 /* 80376B98 003727F8 EC 21 20 24 */ fdivs f1, f1, f4 /* 80376B9C 003727FC EC 00 20 24 */ fdivs f0, f0, f4 /* 80376BA0 00372800 EF C1 00 2A */ fadds f30, f1, f0 lbl_80376BA4: /* 80376BA4 00372804 C3 62 A7 14 */ lfs f27, lbl_80642D14-_SDA2_BASE_(r2) lbl_80376BA8: /* 80376BA8 00372808 C0 3C 00 1C */ lfs f1, 0x1c(r28) /* 80376BAC 0037280C 4B E5 D4 CD */ bl cos /* 80376BB0 00372810 C0 1C 00 18 */ lfs f0, 0x18(r28) /* 80376BB4 00372814 FF E0 08 18 */ frsp f31, f1 /* 80376BB8 00372818 FC 20 00 90 */ fmr f1, f0 /* 80376BBC 0037281C 4B E5 D4 BD */ bl cos /* 80376BC0 00372820 FC 40 08 18 */ frsp f2, f1 /* 80376BC4 00372824 C0 02 A7 30 */ lfs f0, lbl_80642D30-_SDA2_BASE_(r2) /* 80376BC8 00372828 C0 3C 00 1C */ lfs f1, 0x1c(r28) /* 80376BCC 0037282C EC 42 F8 2A */ fadds f2, f2, f31 /* 80376BD0 00372830 EF E2 00 32 */ fmuls f31, f2, f0 /* 80376BD4 00372834 4B E5 D4 A5 */ bl cos /* 80376BD8 00372838 FC 60 08 18 */ frsp f3, f1 /* 80376BDC 0037283C C0 3C 00 24 */ lfs f1, 0x24(r28) /* 80376BE0 00372840 C0 42 A7 14 */ lfs f2, lbl_80642D14-_SDA2_BASE_(r2) /* 80376BE4 00372844 EF DE 00 72 */ fmuls f30, f30, f1 /* 80376BE8 00372848 C0 1C 00 20 */ lfs f0, 0x20(r28) /* 80376BEC 0037284C FC 60 18 50 */ fneg f3, f3 /* 80376BF0 00372850 EF 7B 00 72 */ fmuls f27, f27, f1 /* 80376BF4 00372854 EC 22 E0 28 */ fsubs f1, f2, f28 /* 80376BF8 00372858 EC 9F 18 2A */ fadds f4, f31, f3 /* 80376BFC 0037285C EC 7B 07 32 */ fmuls f3, f27, f28 /* 80376C00 00372860 EC BE 07 32 */ fmuls f5, f30, f28 /* 80376C04 00372864 EC 9F 20 24 */ fdivs f4, f31, f4 /* 80376C08 00372868 EC 24 00 72 */ fmuls f1, f4, f1 /* 80376C0C 0037286C EC 23 08 2A */ fadds f1, f3, f1 /* 80376C10 00372870 EC 22 08 2A */ fadds f1, f2, f1 /* 80376C14 00372874 EC 00 08 2A */ fadds f0, f0, f1 /* 80376C18 00372878 48 00 02 24 */ b lbl_80376E3C lbl_80376C1C: /* 80376C1C 0037287C 88 0D B2 4C */ lbz r0, lbl_8064050C-_SDA_BASE_(r13) /* 80376C20 00372880 7C 00 07 75 */ extsb. r0, r0 /* 80376C24 00372884 40 82 00 1C */ bne lbl_80376C40 /* 80376C28 00372888 C0 22 A7 1C */ lfs f1, lbl_80642D1C-_SDA2_BASE_(r2) /* 80376C2C 0037288C 38 00 00 01 */ li r0, 1 /* 80376C30 00372890 C0 1C 00 14 */ lfs f0, 0x14(r28) /* 80376C34 00372894 EC 01 00 2A */ fadds f0, f1, f0 /* 80376C38 00372898 98 0D B2 4C */ stb r0, lbl_8064050C-_SDA_BASE_(r13) /* 80376C3C 0037289C D0 0D B2 48 */ stfs f0, lbl_80640508-_SDA_BASE_(r13) lbl_80376C40: /* 80376C40 003728A0 88 0D B2 54 */ lbz r0, lbl_80640514-_SDA_BASE_(r13) /* 80376C44 003728A4 7C 00 07 75 */ extsb. r0, r0 /* 80376C48 003728A8 40 82 00 18 */ bne lbl_80376C60 /* 80376C4C 003728AC C0 1C 00 14 */ lfs f0, 0x14(r28) /* 80376C50 003728B0 38 00 00 01 */ li r0, 1 /* 80376C54 003728B4 FC 00 00 50 */ fneg f0, f0 /* 80376C58 003728B8 98 0D B2 54 */ stb r0, lbl_80640514-_SDA_BASE_(r13) /* 80376C5C 003728BC D0 0D B2 50 */ stfs f0, lbl_80640510-_SDA_BASE_(r13) lbl_80376C60: /* 80376C60 003728C0 88 0D B2 5C */ lbz r0, lbl_8064051C-_SDA_BASE_(r13) /* 80376C64 003728C4 7C 00 07 75 */ extsb. r0, r0 /* 80376C68 003728C8 40 82 00 14 */ bne lbl_80376C7C /* 80376C6C 003728CC C0 1C 00 14 */ lfs f0, 0x14(r28) /* 80376C70 003728D0 38 00 00 01 */ li r0, 1 /* 80376C74 003728D4 D0 0D B2 58 */ stfs f0, lbl_80640518-_SDA_BASE_(r13) /* 80376C78 003728D8 98 0D B2 5C */ stb r0, lbl_8064051C-_SDA_BASE_(r13) lbl_80376C7C: /* 80376C7C 003728DC 88 0D B2 64 */ lbz r0, lbl_80640524-_SDA_BASE_(r13) /* 80376C80 003728E0 7C 00 07 75 */ extsb. r0, r0 /* 80376C84 003728E4 40 82 00 1C */ bne lbl_80376CA0 /* 80376C88 003728E8 C0 22 A7 24 */ lfs f1, lbl_80642D24-_SDA2_BASE_(r2) /* 80376C8C 003728EC 38 00 00 01 */ li r0, 1 /* 80376C90 003728F0 C0 1C 00 14 */ lfs f0, 0x14(r28) /* 80376C94 003728F4 EC 01 00 28 */ fsubs f0, f1, f0 /* 80376C98 003728F8 98 0D B2 64 */ stb r0, lbl_80640524-_SDA_BASE_(r13) /* 80376C9C 003728FC D0 0D B2 60 */ stfs f0, lbl_80640520-_SDA_BASE_(r13) lbl_80376CA0: /* 80376CA0 00372900 C0 8D B2 48 */ lfs f4, lbl_80640508-_SDA_BASE_(r13) /* 80376CA4 00372904 FC 1F 20 40 */ fcmpo cr0, f31, f4 /* 80376CA8 00372908 40 80 00 48 */ bge lbl_80376CF0 /* 80376CAC 0037290C C0 22 A7 1C */ lfs f1, lbl_80642D1C-_SDA2_BASE_(r2) /* 80376CB0 00372910 FC 01 20 00 */ fcmpu cr0, f1, f4 /* 80376CB4 00372914 40 82 00 0C */ bne lbl_80376CC0 /* 80376CB8 00372918 C0 A2 A7 20 */ lfs f5, lbl_80642D20-_SDA2_BASE_(r2) /* 80376CBC 0037291C 48 00 00 2C */ b lbl_80376CE8 lbl_80376CC0: /* 80376CC0 00372920 C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376CC4 00372924 EC 61 20 28 */ fsubs f3, f1, f4 /* 80376CC8 00372928 C0 42 A7 14 */ lfs f2, lbl_80642D14-_SDA2_BASE_(r2) /* 80376CCC 0037292C EC 24 00 32 */ fmuls f1, f4, f0 /* 80376CD0 00372930 C0 02 A7 24 */ lfs f0, lbl_80642D24-_SDA2_BASE_(r2) /* 80376CD4 00372934 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80376CD8 00372938 EC 00 08 28 */ fsubs f0, f0, f1 /* 80376CDC 0037293C EC 22 18 24 */ fdivs f1, f2, f3 /* 80376CE0 00372940 EC 00 18 24 */ fdivs f0, f0, f3 /* 80376CE4 00372944 EC A1 00 2A */ fadds f5, f1, f0 lbl_80376CE8: /* 80376CE8 00372948 C0 42 A7 14 */ lfs f2, lbl_80642D14-_SDA2_BASE_(r2) /* 80376CEC 0037294C 48 00 01 28 */ b lbl_80376E14 lbl_80376CF0: /* 80376CF0 00372950 C0 6D B2 50 */ lfs f3, lbl_80640510-_SDA_BASE_(r13) /* 80376CF4 00372954 FC 1F 18 40 */ fcmpo cr0, f31, f3 /* 80376CF8 00372958 40 80 00 44 */ bge lbl_80376D3C /* 80376CFC 0037295C FC 04 18 00 */ fcmpu cr0, f4, f3 /* 80376D00 00372960 C0 A2 A7 2C */ lfs f5, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376D04 00372964 40 82 00 0C */ bne lbl_80376D10 /* 80376D08 00372968 C0 42 A7 0C */ lfs f2, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376D0C 0037296C 48 00 01 08 */ b lbl_80376E14 lbl_80376D10: /* 80376D10 00372970 C0 02 A7 14 */ lfs f0, lbl_80642D14-_SDA2_BASE_(r2) /* 80376D14 00372974 EC 24 01 72 */ fmuls f1, f4, f5 /* 80376D18 00372978 C0 42 A7 3C */ lfs f2, lbl_80642D3C-_SDA2_BASE_(r2) /* 80376D1C 0037297C EC 84 18 28 */ fsubs f4, f4, f3 /* 80376D20 00372980 EC 03 00 32 */ fmuls f0, f3, f0 /* 80376D24 00372984 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80376D28 00372988 EC 01 00 28 */ fsubs f0, f1, f0 /* 80376D2C 0037298C EC 22 20 24 */ fdivs f1, f2, f4 /* 80376D30 00372990 EC 00 20 24 */ fdivs f0, f0, f4 /* 80376D34 00372994 EC 41 00 2A */ fadds f2, f1, f0 /* 80376D38 00372998 48 00 00 DC */ b lbl_80376E14 lbl_80376D3C: /* 80376D3C 0037299C C0 8D B2 58 */ lfs f4, lbl_80640518-_SDA_BASE_(r13) /* 80376D40 003729A0 FC 1F 20 40 */ fcmpo cr0, f31, f4 /* 80376D44 003729A4 40 80 00 48 */ bge lbl_80376D8C /* 80376D48 003729A8 FC 03 20 00 */ fcmpu cr0, f3, f4 /* 80376D4C 003729AC 40 82 00 0C */ bne lbl_80376D58 /* 80376D50 003729B0 C0 A2 A7 0C */ lfs f5, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376D54 003729B4 48 00 00 30 */ b lbl_80376D84 lbl_80376D58: /* 80376D58 003729B8 C0 22 A7 14 */ lfs f1, lbl_80642D14-_SDA2_BASE_(r2) /* 80376D5C 003729BC EC A3 20 28 */ fsubs f5, f3, f4 /* 80376D60 003729C0 C0 02 A7 2C */ lfs f0, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376D64 003729C4 EC 23 00 72 */ fmuls f1, f3, f1 /* 80376D68 003729C8 C0 42 A7 38 */ lfs f2, lbl_80642D38-_SDA2_BASE_(r2) /* 80376D6C 003729CC EC 04 00 32 */ fmuls f0, f4, f0 /* 80376D70 003729D0 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80376D74 003729D4 EC 01 00 28 */ fsubs f0, f1, f0 /* 80376D78 003729D8 EC 22 28 24 */ fdivs f1, f2, f5 /* 80376D7C 003729DC EC 00 28 24 */ fdivs f0, f0, f5 /* 80376D80 003729E0 EC A1 00 2A */ fadds f5, f1, f0 lbl_80376D84: /* 80376D84 003729E4 C0 42 A7 2C */ lfs f2, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376D88 003729E8 48 00 00 8C */ b lbl_80376E14 lbl_80376D8C: /* 80376D8C 003729EC C0 6D B2 60 */ lfs f3, lbl_80640520-_SDA_BASE_(r13) /* 80376D90 003729F0 FC 1F 18 40 */ fcmpo cr0, f31, f3 /* 80376D94 003729F4 40 80 00 44 */ bge lbl_80376DD8 /* 80376D98 003729F8 FC 04 18 00 */ fcmpu cr0, f4, f3 /* 80376D9C 003729FC C0 A2 A7 14 */ lfs f5, lbl_80642D14-_SDA2_BASE_(r2) /* 80376DA0 00372A00 40 82 00 0C */ bne lbl_80376DAC /* 80376DA4 00372A04 C0 42 A7 0C */ lfs f2, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376DA8 00372A08 48 00 00 6C */ b lbl_80376E14 lbl_80376DAC: /* 80376DAC 00372A0C C0 02 A7 2C */ lfs f0, lbl_80642D2C-_SDA2_BASE_(r2) /* 80376DB0 00372A10 EC 24 01 72 */ fmuls f1, f4, f5 /* 80376DB4 00372A14 C0 42 A7 38 */ lfs f2, lbl_80642D38-_SDA2_BASE_(r2) /* 80376DB8 00372A18 EC 84 18 28 */ fsubs f4, f4, f3 /* 80376DBC 00372A1C EC 03 00 32 */ fmuls f0, f3, f0 /* 80376DC0 00372A20 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80376DC4 00372A24 EC 01 00 28 */ fsubs f0, f1, f0 /* 80376DC8 00372A28 EC 22 20 24 */ fdivs f1, f2, f4 /* 80376DCC 00372A2C EC 00 20 24 */ fdivs f0, f0, f4 /* 80376DD0 00372A30 EC 41 00 2A */ fadds f2, f1, f0 /* 80376DD4 00372A34 48 00 00 40 */ b lbl_80376E14 lbl_80376DD8: /* 80376DD8 00372A38 C0 42 A7 24 */ lfs f2, lbl_80642D24-_SDA2_BASE_(r2) /* 80376DDC 00372A3C FC 03 10 00 */ fcmpu cr0, f3, f2 /* 80376DE0 00372A40 40 82 00 0C */ bne lbl_80376DEC /* 80376DE4 00372A44 C0 A2 A7 30 */ lfs f5, lbl_80642D30-_SDA2_BASE_(r2) /* 80376DE8 00372A48 48 00 00 28 */ b lbl_80376E10 lbl_80376DEC: /* 80376DEC 00372A4C C0 02 A7 0C */ lfs f0, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376DF0 00372A50 EC 83 10 28 */ fsubs f4, f3, f2 /* 80376DF4 00372A54 C0 22 A7 14 */ lfs f1, lbl_80642D14-_SDA2_BASE_(r2) /* 80376DF8 00372A58 EC 03 00 32 */ fmuls f0, f3, f0 /* 80376DFC 00372A5C EC 3F 00 72 */ fmuls f1, f31, f1 /* 80376E00 00372A60 EC 00 10 28 */ fsubs f0, f0, f2 /* 80376E04 00372A64 EC 21 20 24 */ fdivs f1, f1, f4 /* 80376E08 00372A68 EC 00 20 24 */ fdivs f0, f0, f4 /* 80376E0C 00372A6C EC A1 00 2A */ fadds f5, f1, f0 lbl_80376E10: /* 80376E10 00372A70 C0 42 A7 14 */ lfs f2, lbl_80642D14-_SDA2_BASE_(r2) lbl_80376E14: /* 80376E14 00372A74 C0 3C 00 24 */ lfs f1, 0x24(r28) /* 80376E18 00372A78 C0 02 A7 14 */ lfs f0, lbl_80642D14-_SDA2_BASE_(r2) /* 80376E1C 00372A7C EC 42 00 72 */ fmuls f2, f2, f1 /* 80376E20 00372A80 EC A5 00 72 */ fmuls f5, f5, f1 /* 80376E24 00372A84 EC 22 07 32 */ fmuls f1, f2, f28 /* 80376E28 00372A88 EC A5 07 32 */ fmuls f5, f5, f28 /* 80376E2C 00372A8C EC 00 08 2A */ fadds f0, f0, f1 /* 80376E30 00372A90 48 00 00 0C */ b lbl_80376E3C lbl_80376E34: /* 80376E34 00372A94 C0 A2 A7 0C */ lfs f5, lbl_80642D0C-_SDA2_BASE_(r2) /* 80376E38 00372A98 FC 00 28 90 */ fmr f0, f5 lbl_80376E3C: /* 80376E3C 00372A9C 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e /* 80376E40 00372AA0 41 82 00 14 */ beq lbl_80376E54 /* 80376E44 00372AA4 80 1E 00 04 */ lwz r0, 4(r30) /* 80376E48 00372AA8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80376E4C 00372AAC 40 82 00 08 */ bne lbl_80376E54 /* 80376E50 00372AB0 D0 BD 00 08 */ stfs f5, 8(r29) lbl_80376E54: /* 80376E54 00372AB4 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d /* 80376E58 00372AB8 41 82 00 14 */ beq lbl_80376E6C /* 80376E5C 00372ABC 80 1E 00 04 */ lwz r0, 4(r30) /* 80376E60 00372AC0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80376E64 00372AC4 40 82 00 08 */ bne lbl_80376E6C /* 80376E68 00372AC8 D0 1D 00 0C */ stfs f0, 0xc(r29) lbl_80376E6C: /* 80376E6C 00372ACC 57 E0 07 39 */ rlwinm. r0, r31, 0, 0x1c, 0x1c /* 80376E70 00372AD0 41 82 00 50 */ beq lbl_80376EC0 /* 80376E74 00372AD4 80 1E 00 04 */ lwz r0, 4(r30) /* 80376E78 00372AD8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80376E7C 00372ADC 40 82 00 44 */ bne lbl_80376EC0 /* 80376E80 00372AE0 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80376E84 00372AE4 3C 00 43 30 */ lis r0, 0x4330 /* 80376E88 00372AE8 C0 02 A7 14 */ lfs f0, lbl_80642D14-_SDA2_BASE_(r2) /* 80376E8C 00372AEC 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 80376E90 00372AF0 90 01 00 30 */ stw r0, 0x30(r1) /* 80376E94 00372AF4 C8 22 A7 48 */ lfd f1, lbl_80642D48-_SDA2_BASE_(r2) /* 80376E98 00372AF8 EC 40 E8 28 */ fsubs f2, f0, f29 /* 80376E9C 00372AFC 90 61 00 34 */ stw r3, 0x34(r1) /* 80376EA0 00372B00 C8 01 00 30 */ lfd f0, 0x30(r1) /* 80376EA4 00372B04 EC 00 08 28 */ fsubs f0, f0, f1 /* 80376EA8 00372B08 EC 02 00 32 */ fmuls f0, f2, f0 /* 80376EAC 00372B0C FC 00 00 1E */ fctiwz f0, f0 /* 80376EB0 00372B10 D8 01 00 38 */ stfd f0, 0x38(r1) /* 80376EB4 00372B14 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80376EB8 00372B18 7C 00 00 D0 */ neg r0, r0 /* 80376EBC 00372B1C 90 1D 00 18 */ stw r0, 0x18(r29) lbl_80376EC0: /* 80376EC0 00372B20 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 80376EC4 00372B24 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 80376EC8 00372B28 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 80376ECC 00372B2C CB C1 00 90 */ lfd f30, 0x90(r1) /* 80376ED0 00372B30 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 80376ED4 00372B34 CB A1 00 80 */ lfd f29, 0x80(r1) /* 80376ED8 00372B38 E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0 /* 80376EDC 00372B3C CB 81 00 70 */ lfd f28, 0x70(r1) /* 80376EE0 00372B40 E3 61 00 68 */ psq_l f27, 104(r1), 0, qr0 /* 80376EE4 00372B44 39 61 00 60 */ addi r11, r1, 0x60 /* 80376EE8 00372B48 CB 61 00 60 */ lfd f27, 0x60(r1) /* 80376EEC 00372B4C 4B E5 02 89 */ bl _restgpr_27 /* 80376EF0 00372B50 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80376EF4 00372B54 7C 08 03 A6 */ mtlr r0 /* 80376EF8 00372B58 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80376EFC 00372B5C 4E 80 00 20 */ blr .global detail_AllocAmbientArg__Q34nw4r3snd14Sound3DManagerFUl detail_AllocAmbientArg__Q34nw4r3snd14Sound3DManagerFUl: /* 80376F00 00372B60 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80376F04 00372B64 7C 08 02 A6 */ mflr r0 /* 80376F08 00372B68 28 04 00 18 */ cmplwi r4, 0x18 /* 80376F0C 00372B6C 90 01 00 14 */ stw r0, 0x14(r1) /* 80376F10 00372B70 41 82 00 0C */ beq lbl_80376F1C /* 80376F14 00372B74 38 60 00 00 */ li r3, 0 /* 80376F18 00372B78 48 00 00 40 */ b lbl_80376F58 lbl_80376F1C: /* 80376F1C 00372B7C 38 63 00 08 */ addi r3, r3, 8 /* 80376F20 00372B80 4B FF AC 39 */ bl AllocImpl__Q44nw4r3snd6detail8PoolImplFv /* 80376F24 00372B84 2C 03 00 00 */ cmpwi r3, 0 /* 80376F28 00372B88 40 82 00 0C */ bne lbl_80376F34 /* 80376F2C 00372B8C 38 60 00 00 */ li r3, 0 /* 80376F30 00372B90 48 00 00 28 */ b lbl_80376F58 lbl_80376F34: /* 80376F34 00372B94 41 82 00 24 */ beq lbl_80376F58 /* 80376F38 00372B98 38 00 FF FF */ li r0, -1 /* 80376F3C 00372B9C 38 A0 00 00 */ li r5, 0 /* 80376F40 00372BA0 90 03 00 00 */ stw r0, 0(r3) /* 80376F44 00372BA4 38 80 00 01 */ li r4, 1 /* 80376F48 00372BA8 38 00 00 80 */ li r0, 0x80 /* 80376F4C 00372BAC 90 A3 00 04 */ stw r5, 4(r3) /* 80376F50 00372BB0 98 83 00 08 */ stb r4, 8(r3) /* 80376F54 00372BB4 98 03 00 09 */ stb r0, 9(r3) lbl_80376F58: /* 80376F58 00372BB8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80376F5C 00372BBC 7C 08 03 A6 */ mtlr r0 /* 80376F60 00372BC0 38 21 00 10 */ addi r1, r1, 0x10 /* 80376F64 00372BC4 4E 80 00 20 */ blr .global detail_FreeAmbientArg__Q34nw4r3snd14Sound3DManagerFPvPCQ44nw4r3snd6detail10BasicSound detail_FreeAmbientArg__Q34nw4r3snd14Sound3DManagerFPvPCQ44nw4r3snd6detail10BasicSound: /* 80376F68 00372BC8 2C 04 00 00 */ cmpwi r4, 0 /* 80376F6C 00372BCC 4D 82 00 20 */ beqlr /* 80376F70 00372BD0 38 63 00 08 */ addi r3, r3, 8 /* 80376F74 00372BD4 4B FF AC 40 */ b FreeImpl__Q44nw4r3snd6detail8PoolImplFPv /* 80376F78 00372BD8 4E 80 00 20 */ blr /* @4@detail_FreeAmbientArg__Q34nw4r3snd14Sound3DManagerFPvPCQ44nw4r3snd6detail10BasicSound */ .global func_80376F7C func_80376F7C: /* 80376F7C 00372BDC 38 63 FF FC */ addi r3, r3, -4 /* 80376F80 00372BE0 4B FF FF E8 */ b detail_FreeAmbientArg__Q34nw4r3snd14Sound3DManagerFPvPCQ44nw4r3snd6detail10BasicSound /* @4@detail_AllocAmbientArg__Q34nw4r3snd14Sound3DManagerFUl */ .global func_80376F84 func_80376F84: /* 80376F84 00372BE4 38 63 FF FC */ addi r3, r3, -4 /* 80376F88 00372BE8 4B FF FF 78 */ b detail_AllocAmbientArg__Q34nw4r3snd14Sound3DManagerFUl