summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/nw4r/snd/snd_Sound3DManager.s735
-rw-r--r--asm/text_10_6.s714
-rw-r--r--asm/text_7.s6
-rw-r--r--obj_files.mk1
4 files changed, 739 insertions, 717 deletions
diff --git a/asm/nw4r/snd/snd_Sound3DManager.s b/asm/nw4r/snd/snd_Sound3DManager.s
new file mode 100644
index 0000000..34f8b71
--- /dev/null
+++ b/asm/nw4r/snd/snd_Sound3DManager.s
@@ -0,0 +1,735 @@
+.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 func_8037A924
+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 func_8037A9EC
+/* 803766DC 0037233C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803766E0 00372340 4B E5 0A 91 */ bl func_801C7170
+/* 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 func_8027C9FC
+/* 80376768 003723C8 38 61 00 20 */ addi r3, r1, 0x20
+/* 8037676C 003723CC 4B F0 66 19 */ bl func_8027CD84
+/* 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 func_801D45E4
+/* 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 func_8027CD84
+/* 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 func_8027CD84
+/* 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 func_801D45DC
+/* 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 func_8027CD84
+/* 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 func_801D4078
+/* 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 func_801D4078
+/* 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 func_801D4078
+/* 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
diff --git a/asm/text_10_6.s b/asm/text_10_6.s
index 1a928b7..8dfcf44 100644
--- a/asm/text_10_6.s
+++ b/asm/text_10_6.s
@@ -2,720 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_8037657C
-func_8037657C:
-/* 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 func_803765CC
-func_803765CC:
-/* 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 func_80376620
-func_80376620:
-/* 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
-/* 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 func_8037A924
-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 func_8037A9EC
-/* 803766DC 0037233C 39 61 00 30 */ addi r11, r1, 0x30
-/* 803766E0 00372340 4B E5 0A 91 */ bl func_801C7170
-/* 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
-/* 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 func_8027C9FC
-/* 80376768 003723C8 38 61 00 20 */ addi r3, r1, 0x20
-/* 8037676C 003723CC 4B F0 66 19 */ bl func_8027CD84
-/* 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 func_801D45E4
-/* 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 func_8027CD84
-/* 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 func_8027CD84
-/* 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 func_801D45DC
-/* 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 func_8027CD84
-/* 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 func_801D4078
-/* 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 func_801D4078
-/* 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 func_801D4078
-/* 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
-lbl_80376F00:
-/* 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
-lbl_80376F68:
-/* 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
-/* 80376F7C 00372BDC 38 63 FF FC */ addi r3, r3, -4
-/* 80376F80 00372BE0 4B FF FF E8 */ b lbl_80376F68
-/* 80376F84 00372BE4 38 63 FF FC */ addi r3, r3, -4
-/* 80376F88 00372BE8 4B FF FF 78 */ b lbl_80376F00
-
.global func_80376F8C
func_80376F8C:
/* 80376F8C 00372BEC 3C A0 80 45 */ lis r5, lbl_8044CE48@ha
diff --git a/asm/text_7.s b/asm/text_7.s
index 1121da2..47e8cab 100644
--- a/asm/text_7.s
+++ b/asm/text_7.s
@@ -57270,7 +57270,7 @@ lbl_8025474C:
/* 80254780 002503E0 4B F8 62 B1 */ bl func_801DAA30
/* 80254784 002503E4 2C 03 00 00 */ cmpwi r3, 0
/* 80254788 002503E8 41 82 00 08 */ beq lbl_80254790
-/* 8025478C 002503EC 48 12 1D F1 */ bl func_8037657C
+/* 8025478C 002503EC 48 12 1D F1 */ bl __ct__Q34nw4r3snd14Sound3DManagerFv
lbl_80254790:
/* 80254790 002503F0 90 7E 00 10 */ stw r3, 0x10(r30)
/* 80254794 002503F4 38 60 00 3C */ li r3, 0x3c
@@ -57386,14 +57386,14 @@ lbl_80254924:
/* 80254928 00250588 41 80 FF 90 */ blt lbl_802548B8
/* 8025492C 0025058C 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80254930 00250590 80 9E 00 00 */ lwz r4, 0(r30)
-/* 80254934 00250594 48 12 1C 99 */ bl func_803765CC
+/* 80254934 00250594 48 12 1C 99 */ bl GetRequiredMemSize__Q34nw4r3snd14Sound3DManagerFPCQ34nw4r3snd12SoundArchive
/* 80254938 00250598 7C 77 1B 78 */ mr r23, r3
/* 8025493C 0025059C 4B F8 64 29 */ bl func_801DAD64
/* 80254940 002505A0 7C 65 1B 78 */ mr r5, r3
/* 80254944 002505A4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80254948 002505A8 80 9E 00 00 */ lwz r4, 0(r30)
/* 8025494C 002505AC 7E E6 BB 78 */ mr r6, r23
-/* 80254950 002505B0 48 12 1C D1 */ bl func_80376620
+/* 80254950 002505B0 48 12 1C D1 */ bl Setup__Q34nw4r3snd14Sound3DManagerFPCQ34nw4r3snd12SoundArchivePvUl
/* 80254954 002505B4 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 80254958 002505B8 38 00 00 20 */ li r0, 0x20
/* 8025495C 002505BC C0 22 9F 58 */ lfs f1, lbl_80642558-_SDA2_BASE_(r2)
diff --git a/obj_files.mk b/obj_files.mk
index a5f88b5..1a1f29a 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -138,6 +138,7 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/snd_SeqSoundHandle.o \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_SeqTrack.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_Sound3DListener.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_Sound3DManager.o \
$(BUILD_DIR)/asm/text_10_6.o \
$(BUILD_DIR)/asm/text_11.o