1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
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 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
|