summaryrefslogtreecommitdiff
path: root/asm/nw4r/snd/snd_SoundArchivePlayer.s
blob: 416b6b5b7357751ce1bc464d466b6a9052f8bf6f (plain)
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
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global __ct__Q34nw4r3snd18SoundArchivePlayerFv
__ct__Q34nw4r3snd18SoundArchivePlayerFv:
/* 803789A0 00374600  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803789A4 00374604  7C 08 02 A6 */	mflr r0
/* 803789A8 00374608  3C E0 80 45 */	lis r7, lbl_8044CE68@ha
/* 803789AC 0037460C  3C A0 80 45 */	lis r5, lbl_8044CEA8@ha
/* 803789B0 00374610  90 01 00 14 */	stw r0, 0x14(r1)
/* 803789B4 00374614  38 E7 CE 68 */	addi r7, r7, lbl_8044CE68@l
/* 803789B8 00374618  3C 80 80 45 */	lis r4, lbl_8044CE98@ha
/* 803789BC 0037461C  39 03 00 40 */	addi r8, r3, 0x40
/* 803789C0 00374620  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803789C4 00374624  3B E0 00 00 */	li r31, 0
/* 803789C8 00374628  38 C7 00 14 */	addi r6, r7, 0x14
/* 803789CC 0037462C  38 03 00 B0 */	addi r0, r3, 0xb0
/* 803789D0 00374630  93 C1 00 08 */	stw r30, 8(r1)
/* 803789D4 00374634  38 A5 CE A8 */	addi r5, r5, lbl_8044CEA8@l
/* 803789D8 00374638  38 84 CE 98 */	addi r4, r4, lbl_8044CE98@l
/* 803789DC 0037463C  7C 7E 1B 78 */	mr r30, r3
/* 803789E0 00374640  93 E3 00 40 */	stw r31, 0x40(r3)
/* 803789E4 00374644  93 E3 00 44 */	stw r31, 0x44(r3)
/* 803789E8 00374648  93 E3 00 00 */	stw r31, 0(r3)
/* 803789EC 0037464C  93 E3 00 04 */	stw r31, 4(r3)
/* 803789F0 00374650  90 E3 00 08 */	stw r7, 8(r3)
/* 803789F4 00374654  90 C3 00 0C */	stw r6, 0xc(r3)
/* 803789F8 00374658  93 E3 00 10 */	stw r31, 0x10(r3)
/* 803789FC 0037465C  93 E3 00 14 */	stw r31, 0x14(r3)
/* 80378A00 00374660  93 E3 00 18 */	stw r31, 0x18(r3)
/* 80378A04 00374664  90 03 00 1C */	stw r0, 0x1c(r3)
/* 80378A08 00374668  90 A3 00 20 */	stw r5, 0x20(r3)
/* 80378A0C 0037466C  90 63 00 24 */	stw r3, 0x24(r3)
/* 80378A10 00374670  90 83 00 28 */	stw r4, 0x28(r3)
/* 80378A14 00374674  90 63 00 2C */	stw r3, 0x2c(r3)
/* 80378A18 00374678  93 E3 00 30 */	stw r31, 0x30(r3)
/* 80378A1C 0037467C  93 E3 00 34 */	stw r31, 0x34(r3)
/* 80378A20 00374680  93 E3 00 38 */	stw r31, 0x38(r3)
/* 80378A24 00374684  93 E3 00 3C */	stw r31, 0x3c(r3)
/* 80378A28 00374688  91 03 00 40 */	stw r8, 0x40(r3)
/* 80378A2C 0037468C  91 03 00 44 */	stw r8, 0x44(r3)
/* 80378A30 00374690  38 63 00 48 */	addi r3, r3, 0x48
/* 80378A34 00374694  4B EF 6E DD */	bl OSInitMutex
/* 80378A38 00374698  93 FE 00 68 */	stw r31, 0x68(r30)
/* 80378A3C 0037469C  38 9E 00 68 */	addi r4, r30, 0x68
/* 80378A40 003746A0  38 7E 00 70 */	addi r3, r30, 0x70
/* 80378A44 003746A4  93 FE 00 6C */	stw r31, 0x6c(r30)
/* 80378A48 003746A8  93 FE 00 60 */	stw r31, 0x60(r30)
/* 80378A4C 003746AC  93 FE 00 64 */	stw r31, 0x64(r30)
/* 80378A50 003746B0  90 9E 00 68 */	stw r4, 0x68(r30)
/* 80378A54 003746B4  90 9E 00 6C */	stw r4, 0x6c(r30)
/* 80378A58 003746B8  4B EF 6E B9 */	bl OSInitMutex
/* 80378A5C 003746BC  93 FE 00 90 */	stw r31, 0x90(r30)
/* 80378A60 003746C0  38 9E 00 90 */	addi r4, r30, 0x90
/* 80378A64 003746C4  38 7E 00 98 */	addi r3, r30, 0x98
/* 80378A68 003746C8  93 FE 00 94 */	stw r31, 0x94(r30)
/* 80378A6C 003746CC  93 FE 00 88 */	stw r31, 0x88(r30)
/* 80378A70 003746D0  93 FE 00 8C */	stw r31, 0x8c(r30)
/* 80378A74 003746D4  90 9E 00 90 */	stw r4, 0x90(r30)
/* 80378A78 003746D8  90 9E 00 94 */	stw r4, 0x94(r30)
/* 80378A7C 003746DC  4B EF 6E 95 */	bl OSInitMutex
/* 80378A80 003746E0  3C 80 80 45 */	lis r4, lbl_8044CD08@ha
/* 80378A84 003746E4  3C 60 80 45 */	lis r3, lbl_8044CCE8@ha
/* 80378A88 003746E8  38 84 CD 08 */	addi r4, r4, lbl_8044CD08@l
/* 80378A8C 003746EC  38 1E 00 D4 */	addi r0, r30, 0xd4
/* 80378A90 003746F0  38 63 CC E8 */	addi r3, r3, lbl_8044CCE8@l
/* 80378A94 003746F4  90 9E 00 B0 */	stw r4, 0xb0(r30)
/* 80378A98 003746F8  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 80378A9C 003746FC  93 FE 00 B8 */	stw r31, 0xb8(r30)
/* 80378AA0 00374700  90 7E 00 D4 */	stw r3, 0xd4(r30)
/* 80378AA4 00374704  93 FE 00 D8 */	stw r31, 0xd8(r30)
/* 80378AA8 00374708  93 FE 00 DC */	stw r31, 0xdc(r30)
/* 80378AAC 0037470C  4B FF 67 AD */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80378AB0 00374710  7F C4 F3 78 */	mr r4, r30
/* 80378AB4 00374714  4B FF 68 A1 */	bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv
/* 80378AB8 00374718  7F C3 F3 78 */	mr r3, r30
/* 80378ABC 0037471C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378AC0 00374720  83 C1 00 08 */	lwz r30, 8(r1)
/* 80378AC4 00374724  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378AC8 00374728  7C 08 03 A6 */	mtlr r0
/* 80378ACC 0037472C  38 21 00 10 */	addi r1, r1, 0x10
/* 80378AD0 00374730  4E 80 00 20 */	blr

.global __dt__Q44nw4r3snd6detail14NoteOnCallbackFv
__dt__Q44nw4r3snd6detail14NoteOnCallbackFv:
/* 80378AD4 00374734  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80378AD8 00374738  7C 08 02 A6 */	mflr r0
/* 80378ADC 0037473C  2C 03 00 00 */	cmpwi r3, 0
/* 80378AE0 00374740  90 01 00 14 */	stw r0, 0x14(r1)
/* 80378AE4 00374744  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80378AE8 00374748  7C 7F 1B 78 */	mr r31, r3
/* 80378AEC 0037474C  41 82 00 10 */	beq lbl_80378AFC
/* 80378AF0 00374750  2C 04 00 00 */	cmpwi r4, 0
/* 80378AF4 00374754  40 81 00 08 */	ble lbl_80378AFC
/* 80378AF8 00374758  4B E6 1F C1 */	bl __dl__FPv
lbl_80378AFC:
/* 80378AFC 0037475C  7F E3 FB 78 */	mr r3, r31
/* 80378B00 00374760  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378B04 00374764  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378B08 00374768  7C 08 03 A6 */	mtlr r0
/* 80378B0C 0037476C  38 21 00 10 */	addi r1, r1, 0x10
/* 80378B10 00374770  4E 80 00 20 */	blr

.global __dt__Q54nw4r3snd6detail9WsdPlayer11WsdCallbackFv
__dt__Q54nw4r3snd6detail9WsdPlayer11WsdCallbackFv:
/* 80378B14 00374774  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80378B18 00374778  7C 08 02 A6 */	mflr r0
/* 80378B1C 0037477C  2C 03 00 00 */	cmpwi r3, 0
/* 80378B20 00374780  90 01 00 14 */	stw r0, 0x14(r1)
/* 80378B24 00374784  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80378B28 00374788  7C 7F 1B 78 */	mr r31, r3
/* 80378B2C 0037478C  41 82 00 10 */	beq lbl_80378B3C
/* 80378B30 00374790  2C 04 00 00 */	cmpwi r4, 0
/* 80378B34 00374794  40 81 00 08 */	ble lbl_80378B3C
/* 80378B38 00374798  4B E6 1F 81 */	bl __dl__FPv
lbl_80378B3C:
/* 80378B3C 0037479C  7F E3 FB 78 */	mr r3, r31
/* 80378B40 003747A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378B44 003747A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378B48 003747A8  7C 08 03 A6 */	mtlr r0
/* 80378B4C 003747AC  38 21 00 10 */	addi r1, r1, 0x10
/* 80378B50 003747B0  4E 80 00 20 */	blr

.global __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv
__ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv:
/* 80378B54 003747B4  38 00 00 00 */	li r0, 0
/* 80378B58 003747B8  38 83 00 04 */	addi r4, r3, 4
/* 80378B5C 003747BC  90 03 00 04 */	stw r0, 4(r3)
/* 80378B60 003747C0  90 03 00 08 */	stw r0, 8(r3)
/* 80378B64 003747C4  90 03 00 00 */	stw r0, 0(r3)
/* 80378B68 003747C8  90 83 00 04 */	stw r4, 4(r3)
/* 80378B6C 003747CC  90 83 00 08 */	stw r4, 8(r3)
/* 80378B70 003747D0  4E 80 00 20 */	blr

.global __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv
__dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv:
/* 80378B74 003747D4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80378B78 003747D8  7C 08 02 A6 */	mflr r0
/* 80378B7C 003747DC  2C 03 00 00 */	cmpwi r3, 0
/* 80378B80 003747E0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80378B84 003747E4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80378B88 003747E8  7C 9F 23 78 */	mr r31, r4
/* 80378B8C 003747EC  93 C1 00 08 */	stw r30, 8(r1)
/* 80378B90 003747F0  7C 7E 1B 78 */	mr r30, r3
/* 80378B94 003747F4  41 82 00 1C */	beq lbl_80378BB0
/* 80378B98 003747F8  38 80 00 00 */	li r4, 0
/* 80378B9C 003747FC  4B FE 9F 9D */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
/* 80378BA0 00374800  2C 1F 00 00 */	cmpwi r31, 0
/* 80378BA4 00374804  40 81 00 0C */	ble lbl_80378BB0
/* 80378BA8 00374808  7F C3 F3 78 */	mr r3, r30
/* 80378BAC 0037480C  4B E6 1F 0D */	bl __dl__FPv
lbl_80378BB0:
/* 80378BB0 00374810  7F C3 F3 78 */	mr r3, r30
/* 80378BB4 00374814  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378BB8 00374818  83 C1 00 08 */	lwz r30, 8(r1)
/* 80378BBC 0037481C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378BC0 00374820  7C 08 03 A6 */	mtlr r0
/* 80378BC4 00374824  38 21 00 10 */	addi r1, r1, 0x10
/* 80378BC8 00374828  4E 80 00 20 */	blr

.global __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv
__ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv:
/* 80378BCC 0037482C  38 00 00 00 */	li r0, 0
/* 80378BD0 00374830  38 83 00 04 */	addi r4, r3, 4
/* 80378BD4 00374834  90 03 00 04 */	stw r0, 4(r3)
/* 80378BD8 00374838  90 03 00 08 */	stw r0, 8(r3)
/* 80378BDC 0037483C  90 03 00 00 */	stw r0, 0(r3)
/* 80378BE0 00374840  90 83 00 04 */	stw r4, 4(r3)
/* 80378BE4 00374844  90 83 00 08 */	stw r4, 8(r3)
/* 80378BE8 00374848  4E 80 00 20 */	blr

.global __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv
__dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv:
/* 80378BEC 0037484C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80378BF0 00374850  7C 08 02 A6 */	mflr r0
/* 80378BF4 00374854  2C 03 00 00 */	cmpwi r3, 0
/* 80378BF8 00374858  90 01 00 14 */	stw r0, 0x14(r1)
/* 80378BFC 0037485C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80378C00 00374860  7C 9F 23 78 */	mr r31, r4
/* 80378C04 00374864  93 C1 00 08 */	stw r30, 8(r1)
/* 80378C08 00374868  7C 7E 1B 78 */	mr r30, r3
/* 80378C0C 0037486C  41 82 00 1C */	beq lbl_80378C28
/* 80378C10 00374870  38 80 00 00 */	li r4, 0
/* 80378C14 00374874  4B FE 9F 25 */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
/* 80378C18 00374878  2C 1F 00 00 */	cmpwi r31, 0
/* 80378C1C 0037487C  40 81 00 0C */	ble lbl_80378C28
/* 80378C20 00374880  7F C3 F3 78 */	mr r3, r30
/* 80378C24 00374884  4B E6 1E 95 */	bl __dl__FPv
lbl_80378C28:
/* 80378C28 00374888  7F C3 F3 78 */	mr r3, r30
/* 80378C2C 0037488C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378C30 00374890  83 C1 00 08 */	lwz r30, 8(r1)
/* 80378C34 00374894  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378C38 00374898  7C 08 03 A6 */	mtlr r0
/* 80378C3C 0037489C  38 21 00 10 */	addi r1, r1, 0x10
/* 80378C40 003748A0  4E 80 00 20 */	blr

.global __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv
__ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv:
/* 80378C44 003748A4  38 00 00 00 */	li r0, 0
/* 80378C48 003748A8  38 83 00 04 */	addi r4, r3, 4
/* 80378C4C 003748AC  90 03 00 04 */	stw r0, 4(r3)
/* 80378C50 003748B0  90 03 00 08 */	stw r0, 8(r3)
/* 80378C54 003748B4  90 03 00 00 */	stw r0, 0(r3)
/* 80378C58 003748B8  90 83 00 04 */	stw r4, 4(r3)
/* 80378C5C 003748BC  90 83 00 08 */	stw r4, 8(r3)
/* 80378C60 003748C0  4E 80 00 20 */	blr

.global __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv
__dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv:
/* 80378C64 003748C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80378C68 003748C8  7C 08 02 A6 */	mflr r0
/* 80378C6C 003748CC  2C 03 00 00 */	cmpwi r3, 0
/* 80378C70 003748D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80378C74 003748D4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80378C78 003748D8  7C 9F 23 78 */	mr r31, r4
/* 80378C7C 003748DC  93 C1 00 08 */	stw r30, 8(r1)
/* 80378C80 003748E0  7C 7E 1B 78 */	mr r30, r3
/* 80378C84 003748E4  41 82 00 1C */	beq lbl_80378CA0
/* 80378C88 003748E8  38 80 00 00 */	li r4, 0
/* 80378C8C 003748EC  4B FE 9E AD */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
/* 80378C90 003748F0  2C 1F 00 00 */	cmpwi r31, 0
/* 80378C94 003748F4  40 81 00 0C */	ble lbl_80378CA0
/* 80378C98 003748F8  7F C3 F3 78 */	mr r3, r30
/* 80378C9C 003748FC  4B E6 1E 1D */	bl __dl__FPv
lbl_80378CA0:
/* 80378CA0 00374900  7F C3 F3 78 */	mr r3, r30
/* 80378CA4 00374904  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378CA8 00374908  83 C1 00 08 */	lwz r30, 8(r1)
/* 80378CAC 0037490C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378CB0 00374910  7C 08 03 A6 */	mtlr r0
/* 80378CB4 00374914  38 21 00 10 */	addi r1, r1, 0x10
/* 80378CB8 00374918  4E 80 00 20 */	blr

.global __dt__Q34nw4r3snd18SoundArchivePlayerFv
__dt__Q34nw4r3snd18SoundArchivePlayerFv:
/* 80378CBC 0037491C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80378CC0 00374920  7C 08 02 A6 */	mflr r0
/* 80378CC4 00374924  2C 03 00 00 */	cmpwi r3, 0
/* 80378CC8 00374928  90 01 00 14 */	stw r0, 0x14(r1)
/* 80378CCC 0037492C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80378CD0 00374930  7C 9F 23 78 */	mr r31, r4
/* 80378CD4 00374934  93 C1 00 08 */	stw r30, 8(r1)
/* 80378CD8 00374938  7C 7E 1B 78 */	mr r30, r3
/* 80378CDC 0037493C  41 82 00 7C */	beq lbl_80378D58
/* 80378CE0 00374940  3C 80 80 45 */	lis r4, lbl_8044CE68@ha
/* 80378CE4 00374944  38 84 CE 68 */	addi r4, r4, lbl_8044CE68@l
/* 80378CE8 00374948  38 04 00 14 */	addi r0, r4, 0x14
/* 80378CEC 0037494C  90 83 00 08 */	stw r4, 8(r3)
/* 80378CF0 00374950  90 03 00 0C */	stw r0, 0xc(r3)
/* 80378CF4 00374954  4B FF 65 65 */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80378CF8 00374958  7F C4 F3 78 */	mr r4, r30
/* 80378CFC 0037495C  4B FF 66 B1 */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80378D00 00374960  34 1E 00 88 */	addic. r0, r30, 0x88
/* 80378D04 00374964  41 82 00 14 */	beq lbl_80378D18
/* 80378D08 00374968  34 7E 00 8C */	addic. r3, r30, 0x8c
/* 80378D0C 0037496C  41 82 00 0C */	beq lbl_80378D18
/* 80378D10 00374970  38 80 00 00 */	li r4, 0
/* 80378D14 00374974  4B FE 9E 25 */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_80378D18:
/* 80378D18 00374978  34 1E 00 60 */	addic. r0, r30, 0x60
/* 80378D1C 0037497C  41 82 00 14 */	beq lbl_80378D30
/* 80378D20 00374980  34 7E 00 64 */	addic. r3, r30, 0x64
/* 80378D24 00374984  41 82 00 0C */	beq lbl_80378D30
/* 80378D28 00374988  38 80 00 00 */	li r4, 0
/* 80378D2C 0037498C  4B FE 9E 0D */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_80378D30:
/* 80378D30 00374990  34 1E 00 38 */	addic. r0, r30, 0x38
/* 80378D34 00374994  41 82 00 14 */	beq lbl_80378D48
/* 80378D38 00374998  34 7E 00 3C */	addic. r3, r30, 0x3c
/* 80378D3C 0037499C  41 82 00 0C */	beq lbl_80378D48
/* 80378D40 003749A0  38 80 00 00 */	li r4, 0
/* 80378D44 003749A4  4B FE 9D F5 */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_80378D48:
/* 80378D48 003749A8  2C 1F 00 00 */	cmpwi r31, 0
/* 80378D4C 003749AC  40 81 00 0C */	ble lbl_80378D58
/* 80378D50 003749B0  7F C3 F3 78 */	mr r3, r30
/* 80378D54 003749B4  4B E6 1D 65 */	bl __dl__FPv
lbl_80378D58:
/* 80378D58 003749B8  7F C3 F3 78 */	mr r3, r30
/* 80378D5C 003749BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80378D60 003749C0  83 C1 00 08 */	lwz r30, 8(r1)
/* 80378D64 003749C4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80378D68 003749C8  7C 08 03 A6 */	mtlr r0
/* 80378D6C 003749CC  38 21 00 10 */	addi r1, r1, 0x10
/* 80378D70 003749D0  4E 80 00 20 */	blr

.global Setup__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUlPvUl
Setup__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUlPvUl:
/* 80378D74 003749D4  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 80378D78 003749D8  7C 08 02 A6 */	mflr r0
/* 80378D7C 003749DC  90 01 00 64 */	stw r0, 0x64(r1)
/* 80378D80 003749E0  39 61 00 60 */	addi r11, r1, 0x60
/* 80378D84 003749E4  4B E4 E3 A5 */	bl _savegpr_27
/* 80378D88 003749E8  7C 7B 1B 78 */	mr r27, r3
/* 80378D8C 003749EC  7C 9C 23 78 */	mr r28, r4
/* 80378D90 003749F0  7C FD 3B 78 */	mr r29, r7
/* 80378D94 003749F4  7D 1E 43 78 */	mr r30, r8
/* 80378D98 003749F8  48 00 03 4D */	bl SetupMram__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUl
/* 80378D9C 003749FC  2C 03 00 00 */	cmpwi r3, 0
/* 80378DA0 00374A00  40 82 00 0C */	bne lbl_80378DAC
/* 80378DA4 00374A04  38 60 00 00 */	li r3, 0
/* 80378DA8 00374A08  48 00 00 84 */	b lbl_80378E2C
lbl_80378DAC:
/* 80378DAC 00374A0C  7F 83 E3 78 */	mr r3, r28
/* 80378DB0 00374A10  38 81 00 24 */	addi r4, r1, 0x24
/* 80378DB4 00374A14  3B E0 00 00 */	li r31, 0
/* 80378DB8 00374A18  4B FF E2 C5 */	bl func_8037707C
/* 80378DBC 00374A1C  2C 03 00 00 */	cmpwi r3, 0
/* 80378DC0 00374A20  41 82 00 08 */	beq lbl_80378DC8
/* 80378DC4 00374A24  83 E1 00 34 */	lwz r31, 0x34(r1)
lbl_80378DC8:
/* 80378DC8 00374A28  3C 60 00 01 */	lis r3, 0x0000A000@ha
/* 80378DCC 00374A2C  38 03 A0 00 */	addi r0, r3, 0x0000A000@l
/* 80378DD0 00374A30  7C 1F 01 D6 */	mullw r0, r31, r0
/* 80378DD4 00374A34  7C 1E 00 40 */	cmplw r30, r0
/* 80378DD8 00374A38  40 80 00 0C */	bge lbl_80378DE4
/* 80378DDC 00374A3C  38 00 00 00 */	li r0, 0
/* 80378DE0 00374A40  48 00 00 38 */	b lbl_80378E18
lbl_80378DE4:
/* 80378DE4 00374A44  7F 83 E3 78 */	mr r3, r28
/* 80378DE8 00374A48  38 81 00 08 */	addi r4, r1, 8
/* 80378DEC 00374A4C  3B E0 00 00 */	li r31, 0
/* 80378DF0 00374A50  4B FF E2 8D */	bl func_8037707C
/* 80378DF4 00374A54  2C 03 00 00 */	cmpwi r3, 0
/* 80378DF8 00374A58  41 82 00 08 */	beq lbl_80378E00
/* 80378DFC 00374A5C  83 E1 00 18 */	lwz r31, 0x18(r1)
lbl_80378E00:
/* 80378E00 00374A60  7F A4 EB 78 */	mr r4, r29
/* 80378E04 00374A64  7F C5 F3 78 */	mr r5, r30
/* 80378E08 00374A68  7F E6 FB 78 */	mr r6, r31
/* 80378E0C 00374A6C  38 7B 00 BC */	addi r3, r27, 0xbc
/* 80378E10 00374A70  48 00 3C B5 */	bl Setup__Q44nw4r3snd6detail14StrmBufferPoolFPvUli
/* 80378E14 00374A74  38 00 00 01 */	li r0, 1
lbl_80378E18:
/* 80378E18 00374A78  2C 00 00 00 */	cmpwi r0, 0
/* 80378E1C 00374A7C  40 82 00 0C */	bne lbl_80378E28
/* 80378E20 00374A80  38 60 00 00 */	li r3, 0
/* 80378E24 00374A84  48 00 00 08 */	b lbl_80378E2C
lbl_80378E28:
/* 80378E28 00374A88  38 60 00 01 */	li r3, 1
lbl_80378E2C:
/* 80378E2C 00374A8C  39 61 00 60 */	addi r11, r1, 0x60
/* 80378E30 00374A90  4B E4 E3 45 */	bl _restgpr_27
/* 80378E34 00374A94  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80378E38 00374A98  7C 08 03 A6 */	mtlr r0
/* 80378E3C 00374A9C  38 21 00 60 */	addi r1, r1, 0x60
/* 80378E40 00374AA0  4E 80 00 20 */	blr

.global Shutdown__Q34nw4r3snd18SoundArchivePlayerFv
Shutdown__Q34nw4r3snd18SoundArchivePlayerFv:
/* 80378E44 00374AA4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80378E48 00374AA8  7C 08 02 A6 */	mflr r0
/* 80378E4C 00374AAC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80378E50 00374AB0  39 61 00 20 */	addi r11, r1, 0x20
/* 80378E54 00374AB4  4B E4 E2 D5 */	bl _savegpr_27
/* 80378E58 00374AB8  38 00 00 00 */	li r0, 0
/* 80378E5C 00374ABC  7C 7B 1B 78 */	mr r27, r3
/* 80378E60 00374AC0  90 03 00 10 */	stw r0, 0x10(r3)
/* 80378E64 00374AC4  3B A0 00 00 */	li r29, 0
/* 80378E68 00374AC8  3B 80 00 00 */	li r28, 0
/* 80378E6C 00374ACC  90 03 00 14 */	stw r0, 0x14(r3)
/* 80378E70 00374AD0  90 03 00 18 */	stw r0, 0x18(r3)
/* 80378E74 00374AD4  90 03 00 1C */	stw r0, 0x1c(r3)
/* 80378E78 00374AD8  48 00 00 1C */	b lbl_80378E94
lbl_80378E7C:
/* 80378E7C 00374ADC  80 1B 00 34 */	lwz r0, 0x34(r27)
/* 80378E80 00374AE0  38 80 FF FF */	li r4, -1
/* 80378E84 00374AE4  7C 60 E2 14 */	add r3, r0, r28
/* 80378E88 00374AE8  48 00 1E 91 */	bl __dt__Q34nw4r3snd11SoundPlayerFv
/* 80378E8C 00374AEC  3B 9C 00 60 */	addi r28, r28, 0x60
/* 80378E90 00374AF0  3B BD 00 01 */	addi r29, r29, 1
lbl_80378E94:
/* 80378E94 00374AF4  80 1B 00 30 */	lwz r0, 0x30(r27)
/* 80378E98 00374AF8  7C 1D 00 40 */	cmplw r29, r0
/* 80378E9C 00374AFC  41 80 FF E0 */	blt lbl_80378E7C
/* 80378EA0 00374B00  3B C0 00 00 */	li r30, 0
/* 80378EA4 00374B04  3B FB 00 48 */	addi r31, r27, 0x48
/* 80378EA8 00374B08  93 DB 00 30 */	stw r30, 0x30(r27)
/* 80378EAC 00374B0C  7F E3 FB 78 */	mr r3, r31
/* 80378EB0 00374B10  83 9B 00 DC */	lwz r28, 0xdc(r27)
/* 80378EB4 00374B14  93 DB 00 34 */	stw r30, 0x34(r27)
/* 80378EB8 00374B18  83 BB 00 D8 */	lwz r29, 0xd8(r27)
/* 80378EBC 00374B1C  4B EF 6A 8D */	bl OSLockMutex
/* 80378EC0 00374B20  7F A4 EB 78 */	mr r4, r29
/* 80378EC4 00374B24  7F 85 E3 78 */	mr r5, r28
/* 80378EC8 00374B28  38 7B 00 38 */	addi r3, r27, 0x38
/* 80378ECC 00374B2C  4B FF 8B BD */	bl DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl
/* 80378ED0 00374B30  7F E3 FB 78 */	mr r3, r31
/* 80378ED4 00374B34  4B EF 6B 51 */	bl OSUnlockMutex
/* 80378ED8 00374B38  3B FB 00 70 */	addi r31, r27, 0x70
/* 80378EDC 00374B3C  83 BB 00 DC */	lwz r29, 0xdc(r27)
/* 80378EE0 00374B40  83 9B 00 D8 */	lwz r28, 0xd8(r27)
/* 80378EE4 00374B44  7F E3 FB 78 */	mr r3, r31
/* 80378EE8 00374B48  4B EF 6A 61 */	bl OSLockMutex
/* 80378EEC 00374B4C  7F 84 E3 78 */	mr r4, r28
/* 80378EF0 00374B50  7F A5 EB 78 */	mr r5, r29
/* 80378EF4 00374B54  38 7B 00 60 */	addi r3, r27, 0x60
/* 80378EF8 00374B58  4B FF 8B 91 */	bl DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl
/* 80378EFC 00374B5C  7F E3 FB 78 */	mr r3, r31
/* 80378F00 00374B60  4B EF 6B 25 */	bl OSUnlockMutex
/* 80378F04 00374B64  3B FB 00 98 */	addi r31, r27, 0x98
/* 80378F08 00374B68  83 BB 00 DC */	lwz r29, 0xdc(r27)
/* 80378F0C 00374B6C  83 9B 00 D8 */	lwz r28, 0xd8(r27)
/* 80378F10 00374B70  7F E3 FB 78 */	mr r3, r31
/* 80378F14 00374B74  4B EF 6A 35 */	bl OSLockMutex
/* 80378F18 00374B78  7F 84 E3 78 */	mr r4, r28
/* 80378F1C 00374B7C  7F A5 EB 78 */	mr r5, r29
/* 80378F20 00374B80  38 7B 00 88 */	addi r3, r27, 0x88
/* 80378F24 00374B84  4B FF 8B 65 */	bl DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl
/* 80378F28 00374B88  7F E3 FB 78 */	mr r3, r31
/* 80378F2C 00374B8C  4B EF 6A F9 */	bl OSUnlockMutex
/* 80378F30 00374B90  80 9B 00 D8 */	lwz r4, 0xd8(r27)
/* 80378F34 00374B94  38 7B 00 B0 */	addi r3, r27, 0xb0
/* 80378F38 00374B98  80 BB 00 DC */	lwz r5, 0xdc(r27)
/* 80378F3C 00374B9C  4B FF 9F BD */	bl Destroy__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
/* 80378F40 00374BA0  38 7B 00 BC */	addi r3, r27, 0xbc
/* 80378F44 00374BA4  48 00 3C 01 */	bl Shutdown__Q44nw4r3snd6detail14StrmBufferPoolFv
/* 80378F48 00374BA8  93 DB 00 D8 */	stw r30, 0xd8(r27)
/* 80378F4C 00374BAC  39 61 00 20 */	addi r11, r1, 0x20
/* 80378F50 00374BB0  93 DB 00 DC */	stw r30, 0xdc(r27)
/* 80378F54 00374BB4  4B E4 E2 21 */	bl _restgpr_27
/* 80378F58 00374BB8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80378F5C 00374BBC  7C 08 03 A6 */	mtlr r0
/* 80378F60 00374BC0  38 21 00 20 */	addi r1, r1, 0x20
/* 80378F64 00374BC4  4E 80 00 20 */	blr

.global GetRequiredMemSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive
GetRequiredMemSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive:
/* 80378F68 00374BC8  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80378F6C 00374BCC  7C 08 02 A6 */	mflr r0
/* 80378F70 00374BD0  90 01 00 44 */	stw r0, 0x44(r1)
/* 80378F74 00374BD4  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 80378F78 00374BD8  93 C1 00 38 */	stw r30, 0x38(r1)
/* 80378F7C 00374BDC  93 A1 00 34 */	stw r29, 0x34(r1)
/* 80378F80 00374BE0  93 81 00 30 */	stw r28, 0x30(r1)
/* 80378F84 00374BE4  7C 9C 23 78 */	mr r28, r4
/* 80378F88 00374BE8  7F 83 E3 78 */	mr r3, r28
/* 80378F8C 00374BEC  4B FF E0 A1 */	bl func_8037702C
/* 80378F90 00374BF0  1C 83 00 60 */	mulli r4, r3, 0x60
/* 80378F94 00374BF4  7C 7E 1B 78 */	mr r30, r3
/* 80378F98 00374BF8  3B A0 00 00 */	li r29, 0
/* 80378F9C 00374BFC  38 04 00 03 */	addi r0, r4, 3
/* 80378FA0 00374C00  54 1F 00 3A */	rlwinm r31, r0, 0, 0, 0x1d
/* 80378FA4 00374C04  48 00 00 4C */	b lbl_80378FF0
lbl_80378FA8:
/* 80378FA8 00374C08  7F 83 E3 78 */	mr r3, r28
/* 80378FAC 00374C0C  7F A4 EB 78 */	mr r4, r29
/* 80378FB0 00374C10  38 A1 00 08 */	addi r5, r1, 8
/* 80378FB4 00374C14  4B FF E0 C1 */	bl func_80377074
/* 80378FB8 00374C18  2C 03 00 00 */	cmpwi r3, 0
/* 80378FBC 00374C1C  41 82 00 30 */	beq lbl_80378FEC
/* 80378FC0 00374C20  80 61 00 0C */	lwz r3, 0xc(r1)
/* 80378FC4 00374C24  80 81 00 08 */	lwz r4, 8(r1)
/* 80378FC8 00374C28  38 03 00 3F */	addi r0, r3, 0x3f
/* 80378FCC 00374C2C  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 80378FD0 00374C30  7C 89 03 A6 */	mtctr r4
/* 80378FD4 00374C34  2C 04 00 00 */	cmpwi r4, 0
/* 80378FD8 00374C38  40 81 00 14 */	ble lbl_80378FEC
lbl_80378FDC:
/* 80378FDC 00374C3C  2C 03 00 00 */	cmpwi r3, 0
/* 80378FE0 00374C40  41 82 00 08 */	beq lbl_80378FE8
/* 80378FE4 00374C44  7F FF 02 14 */	add r31, r31, r0
lbl_80378FE8:
/* 80378FE8 00374C48  42 00 FF F4 */	bdnz lbl_80378FDC
lbl_80378FEC:
/* 80378FEC 00374C4C  3B BD 00 01 */	addi r29, r29, 1
lbl_80378FF0:
/* 80378FF0 00374C50  7C 1D F0 40 */	cmplw r29, r30
/* 80378FF4 00374C54  41 80 FF B4 */	blt lbl_80378FA8
/* 80378FF8 00374C58  7F 83 E3 78 */	mr r3, r28
/* 80378FFC 00374C5C  4B FF E0 39 */	bl func_80377034
/* 80379000 00374C60  54 64 18 38 */	slwi r4, r3, 3
/* 80379004 00374C64  7F 83 E3 78 */	mr r3, r28
/* 80379008 00374C68  38 04 00 07 */	addi r0, r4, 7
/* 8037900C 00374C6C  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 80379010 00374C70  38 81 00 10 */	addi r4, r1, 0x10
/* 80379014 00374C74  7F FF 02 14 */	add r31, r31, r0
/* 80379018 00374C78  4B FF E0 65 */	bl func_8037707C
/* 8037901C 00374C7C  2C 03 00 00 */	cmpwi r3, 0
/* 80379020 00374C80  41 82 00 54 */	beq lbl_80379074
/* 80379024 00374C84  80 01 00 10 */	lwz r0, 0x10(r1)
/* 80379028 00374C88  80 81 00 18 */	lwz r4, 0x18(r1)
/* 8037902C 00374C8C  1C C0 04 64 */	mulli r6, r0, 0x464
/* 80379030 00374C90  80 61 00 24 */	lwz r3, 0x24(r1)
/* 80379034 00374C94  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80379038 00374C98  1C A4 0B 54 */	mulli r5, r4, 0xb54
/* 8037903C 00374C9C  38 C6 00 03 */	addi r6, r6, 3
/* 80379040 00374CA0  1C 83 01 D4 */	mulli r4, r3, 0x1d4
/* 80379044 00374CA4  54 C3 00 3A */	rlwinm r3, r6, 0, 0, 0x1d
/* 80379048 00374CA8  38 A5 00 03 */	addi r5, r5, 3
/* 8037904C 00374CAC  7F FF 1A 14 */	add r31, r31, r3
/* 80379050 00374CB0  1C 60 00 F0 */	mulli r3, r0, 0xf0
/* 80379054 00374CB4  54 A5 00 3A */	rlwinm r5, r5, 0, 0, 0x1d
/* 80379058 00374CB8  38 04 00 03 */	addi r0, r4, 3
/* 8037905C 00374CBC  7F FF 2A 14 */	add r31, r31, r5
/* 80379060 00374CC0  54 04 00 3A */	rlwinm r4, r0, 0, 0, 0x1d
/* 80379064 00374CC4  38 03 00 03 */	addi r0, r3, 3
/* 80379068 00374CC8  7F FF 22 14 */	add r31, r31, r4
/* 8037906C 00374CCC  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 80379070 00374CD0  7F FF 02 14 */	add r31, r31, r0
lbl_80379074:
/* 80379074 00374CD4  7F E3 FB 78 */	mr r3, r31
/* 80379078 00374CD8  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 8037907C 00374CDC  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 80379080 00374CE0  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 80379084 00374CE4  83 81 00 30 */	lwz r28, 0x30(r1)
/* 80379088 00374CE8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8037908C 00374CEC  7C 08 03 A6 */	mtlr r0
/* 80379090 00374CF0  38 21 00 40 */	addi r1, r1, 0x40
/* 80379094 00374CF4  4E 80 00 20 */	blr

.global GetRequiredStrmBufferSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive
GetRequiredStrmBufferSize__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchive:
/* 80379098 00374CF8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8037909C 00374CFC  7C 08 02 A6 */	mflr r0
/* 803790A0 00374D00  7C 83 23 78 */	mr r3, r4
/* 803790A4 00374D04  90 01 00 34 */	stw r0, 0x34(r1)
/* 803790A8 00374D08  38 81 00 08 */	addi r4, r1, 8
/* 803790AC 00374D0C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 803790B0 00374D10  3B E0 00 00 */	li r31, 0
/* 803790B4 00374D14  4B FF DF C9 */	bl func_8037707C
/* 803790B8 00374D18  2C 03 00 00 */	cmpwi r3, 0
/* 803790BC 00374D1C  41 82 00 08 */	beq lbl_803790C4
/* 803790C0 00374D20  83 E1 00 18 */	lwz r31, 0x18(r1)
lbl_803790C4:
/* 803790C4 00374D24  3C 60 00 01 */	lis r3, 0x0000A000@ha
/* 803790C8 00374D28  38 03 A0 00 */	addi r0, r3, 0x0000A000@l
/* 803790CC 00374D2C  7C 7F 01 D6 */	mullw r3, r31, r0
/* 803790D0 00374D30  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 803790D4 00374D34  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803790D8 00374D38  7C 08 03 A6 */	mtlr r0
/* 803790DC 00374D3C  38 21 00 30 */	addi r1, r1, 0x30
/* 803790E0 00374D40  4E 80 00 20 */	blr

.global SetupMram__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUl
SetupMram__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePvUl:
/* 803790E4 00374D44  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803790E8 00374D48  7C 08 02 A6 */	mflr r0
/* 803790EC 00374D4C  90 01 00 54 */	stw r0, 0x54(r1)
/* 803790F0 00374D50  39 61 00 50 */	addi r11, r1, 0x50
/* 803790F4 00374D54  4B E4 E0 25 */	bl _savegpr_23
/* 803790F8 00374D58  90 A1 00 08 */	stw r5, 8(r1)
/* 803790FC 00374D5C  7F E5 32 14 */	add r31, r5, r6
/* 80379100 00374D60  7C BD 2B 78 */	mr r29, r5
/* 80379104 00374D64  7C DE 33 78 */	mr r30, r6
/* 80379108 00374D68  7C 7B 1B 78 */	mr r27, r3
/* 8037910C 00374D6C  7C 9C 23 78 */	mr r28, r4
/* 80379110 00374D70  7F E6 FB 78 */	mr r6, r31
/* 80379114 00374D74  38 A1 00 08 */	addi r5, r1, 8
/* 80379118 00374D78  48 00 02 65 */	bl SetupSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePPvPv
/* 8037911C 00374D7C  2C 03 00 00 */	cmpwi r3, 0
/* 80379120 00374D80  40 82 00 0C */	bne lbl_8037912C
/* 80379124 00374D84  38 60 00 00 */	li r3, 0
/* 80379128 00374D88  48 00 02 3C */	b lbl_80379364
lbl_8037912C:
/* 8037912C 00374D8C  7F 83 E3 78 */	mr r3, r28
/* 80379130 00374D90  4B FF DF 05 */	bl func_80377034
/* 80379134 00374D94  54 63 18 38 */	slwi r3, r3, 3
/* 80379138 00374D98  80 A1 00 08 */	lwz r5, 8(r1)
/* 8037913C 00374D9C  38 03 00 04 */	addi r0, r3, 4
/* 80379140 00374DA0  7C 60 2A 14 */	add r3, r0, r5
/* 80379144 00374DA4  38 03 00 03 */	addi r0, r3, 3
/* 80379148 00374DA8  54 04 00 3A */	rlwinm r4, r0, 0, 0, 0x1d
/* 8037914C 00374DAC  7C 1F 20 51 */	subf. r0, r31, r4
/* 80379150 00374DB0  40 81 00 0C */	ble lbl_8037915C
/* 80379154 00374DB4  38 00 00 00 */	li r0, 0
/* 80379158 00374DB8  48 00 00 5C */	b lbl_803791B4
lbl_8037915C:
/* 8037915C 00374DBC  90 BB 00 14 */	stw r5, 0x14(r27)
/* 80379160 00374DC0  7F 83 E3 78 */	mr r3, r28
/* 80379164 00374DC4  90 81 00 08 */	stw r4, 8(r1)
/* 80379168 00374DC8  4B FF DE CD */	bl func_80377034
/* 8037916C 00374DCC  80 BB 00 14 */	lwz r5, 0x14(r27)
/* 80379170 00374DD0  38 C0 00 00 */	li r6, 0
/* 80379174 00374DD4  38 E0 00 00 */	li r7, 0
/* 80379178 00374DD8  38 80 00 00 */	li r4, 0
/* 8037917C 00374DDC  90 65 00 00 */	stw r3, 0(r5)
/* 80379180 00374DE0  48 00 00 20 */	b lbl_803791A0
lbl_80379184:
/* 80379184 00374DE4  7C 63 3A 14 */	add r3, r3, r7
/* 80379188 00374DE8  38 C6 00 01 */	addi r6, r6, 1
/* 8037918C 00374DEC  90 83 00 04 */	stw r4, 4(r3)
/* 80379190 00374DF0  80 1B 00 14 */	lwz r0, 0x14(r27)
/* 80379194 00374DF4  7C 60 3A 14 */	add r3, r0, r7
/* 80379198 00374DF8  38 E7 00 08 */	addi r7, r7, 8
/* 8037919C 00374DFC  90 83 00 08 */	stw r4, 8(r3)
lbl_803791A0:
/* 803791A0 00374E00  80 7B 00 14 */	lwz r3, 0x14(r27)
/* 803791A4 00374E04  80 03 00 00 */	lwz r0, 0(r3)
/* 803791A8 00374E08  7C 06 00 40 */	cmplw r6, r0
/* 803791AC 00374E0C  41 80 FF D8 */	blt lbl_80379184
/* 803791B0 00374E10  38 00 00 01 */	li r0, 1
lbl_803791B4:
/* 803791B4 00374E14  2C 00 00 00 */	cmpwi r0, 0
/* 803791B8 00374E18  40 82 00 0C */	bne lbl_803791C4
/* 803791BC 00374E1C  38 60 00 00 */	li r3, 0
/* 803791C0 00374E20  48 00 01 A4 */	b lbl_80379364
lbl_803791C4:
/* 803791C4 00374E24  7F 83 E3 78 */	mr r3, r28
/* 803791C8 00374E28  38 81 00 0C */	addi r4, r1, 0xc
/* 803791CC 00374E2C  4B FF DE B1 */	bl func_8037707C
/* 803791D0 00374E30  2C 03 00 00 */	cmpwi r3, 0
/* 803791D4 00374E34  41 82 01 80 */	beq lbl_80379354
/* 803791D8 00374E38  80 01 00 0C */	lwz r0, 0xc(r1)
/* 803791DC 00374E3C  82 E1 00 08 */	lwz r23, 8(r1)
/* 803791E0 00374E40  1F 20 04 64 */	mulli r25, r0, 0x464
/* 803791E4 00374E44  7C 79 BA 14 */	add r3, r25, r23
/* 803791E8 00374E48  38 03 00 03 */	addi r0, r3, 3
/* 803791EC 00374E4C  54 18 00 3A */	rlwinm r24, r0, 0, 0, 0x1d
/* 803791F0 00374E50  7C 1F C0 51 */	subf. r0, r31, r24
/* 803791F4 00374E54  40 81 00 0C */	ble lbl_80379200
/* 803791F8 00374E58  38 00 00 00 */	li r0, 0
/* 803791FC 00374E5C  48 00 00 34 */	b lbl_80379230
lbl_80379200:
/* 80379200 00374E60  3B 5B 00 48 */	addi r26, r27, 0x48
/* 80379204 00374E64  7F 43 D3 78 */	mr r3, r26
/* 80379208 00374E68  4B EF 67 41 */	bl OSLockMutex
/* 8037920C 00374E6C  7E E4 BB 78 */	mr r4, r23
/* 80379210 00374E70  7F 25 CB 78 */	mr r5, r25
/* 80379214 00374E74  38 7B 00 38 */	addi r3, r27, 0x38
/* 80379218 00374E78  38 C0 04 64 */	li r6, 0x464
/* 8037921C 00374E7C  4B FF 87 29 */	bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl
/* 80379220 00374E80  7F 43 D3 78 */	mr r3, r26
/* 80379224 00374E84  4B EF 68 01 */	bl OSUnlockMutex
/* 80379228 00374E88  93 01 00 08 */	stw r24, 8(r1)
/* 8037922C 00374E8C  38 00 00 01 */	li r0, 1
lbl_80379230:
/* 80379230 00374E90  2C 00 00 00 */	cmpwi r0, 0
/* 80379234 00374E94  40 82 00 0C */	bne lbl_80379240
/* 80379238 00374E98  38 60 00 00 */	li r3, 0
/* 8037923C 00374E9C  48 00 01 28 */	b lbl_80379364
lbl_80379240:
/* 80379240 00374EA0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80379244 00374EA4  82 E1 00 08 */	lwz r23, 8(r1)
/* 80379248 00374EA8  1F 20 0B 54 */	mulli r25, r0, 0xb54
/* 8037924C 00374EAC  7C 79 BA 14 */	add r3, r25, r23
/* 80379250 00374EB0  38 03 00 03 */	addi r0, r3, 3
/* 80379254 00374EB4  54 18 00 3A */	rlwinm r24, r0, 0, 0, 0x1d
/* 80379258 00374EB8  7C 1F C0 51 */	subf. r0, r31, r24
/* 8037925C 00374EBC  40 81 00 0C */	ble lbl_80379268
/* 80379260 00374EC0  38 00 00 00 */	li r0, 0
/* 80379264 00374EC4  48 00 00 34 */	b lbl_80379298
lbl_80379268:
/* 80379268 00374EC8  3B 5B 00 70 */	addi r26, r27, 0x70
/* 8037926C 00374ECC  7F 43 D3 78 */	mr r3, r26
/* 80379270 00374ED0  4B EF 66 D9 */	bl OSLockMutex
/* 80379274 00374ED4  7E E4 BB 78 */	mr r4, r23
/* 80379278 00374ED8  7F 25 CB 78 */	mr r5, r25
/* 8037927C 00374EDC  38 7B 00 60 */	addi r3, r27, 0x60
/* 80379280 00374EE0  38 C0 0B 54 */	li r6, 0xb54
/* 80379284 00374EE4  4B FF 86 C1 */	bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl
/* 80379288 00374EE8  7F 43 D3 78 */	mr r3, r26
/* 8037928C 00374EEC  4B EF 67 99 */	bl OSUnlockMutex
/* 80379290 00374EF0  93 01 00 08 */	stw r24, 8(r1)
/* 80379294 00374EF4  38 00 00 01 */	li r0, 1
lbl_80379298:
/* 80379298 00374EF8  2C 00 00 00 */	cmpwi r0, 0
/* 8037929C 00374EFC  40 82 00 0C */	bne lbl_803792A8
/* 803792A0 00374F00  38 60 00 00 */	li r3, 0
/* 803792A4 00374F04  48 00 00 C0 */	b lbl_80379364
lbl_803792A8:
/* 803792A8 00374F08  80 01 00 20 */	lwz r0, 0x20(r1)
/* 803792AC 00374F0C  82 E1 00 08 */	lwz r23, 8(r1)
/* 803792B0 00374F10  1F 20 01 D4 */	mulli r25, r0, 0x1d4
/* 803792B4 00374F14  7C 79 BA 14 */	add r3, r25, r23
/* 803792B8 00374F18  38 03 00 03 */	addi r0, r3, 3
/* 803792BC 00374F1C  54 18 00 3A */	rlwinm r24, r0, 0, 0, 0x1d
/* 803792C0 00374F20  7C 1F C0 51 */	subf. r0, r31, r24
/* 803792C4 00374F24  40 81 00 0C */	ble lbl_803792D0
/* 803792C8 00374F28  38 00 00 00 */	li r0, 0
/* 803792CC 00374F2C  48 00 00 34 */	b lbl_80379300
lbl_803792D0:
/* 803792D0 00374F30  3B 5B 00 98 */	addi r26, r27, 0x98
/* 803792D4 00374F34  7F 43 D3 78 */	mr r3, r26
/* 803792D8 00374F38  4B EF 66 71 */	bl OSLockMutex
/* 803792DC 00374F3C  7E E4 BB 78 */	mr r4, r23
/* 803792E0 00374F40  7F 25 CB 78 */	mr r5, r25
/* 803792E4 00374F44  38 7B 00 88 */	addi r3, r27, 0x88
/* 803792E8 00374F48  38 C0 01 D4 */	li r6, 0x1d4
/* 803792EC 00374F4C  4B FF 86 59 */	bl CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl
/* 803792F0 00374F50  7F 43 D3 78 */	mr r3, r26
/* 803792F4 00374F54  4B EF 67 31 */	bl OSUnlockMutex
/* 803792F8 00374F58  93 01 00 08 */	stw r24, 8(r1)
/* 803792FC 00374F5C  38 00 00 01 */	li r0, 1
lbl_80379300:
/* 80379300 00374F60  2C 00 00 00 */	cmpwi r0, 0
/* 80379304 00374F64  40 82 00 0C */	bne lbl_80379310
/* 80379308 00374F68  38 60 00 00 */	li r3, 0
/* 8037930C 00374F6C  48 00 00 58 */	b lbl_80379364
lbl_80379310:
/* 80379310 00374F70  80 01 00 10 */	lwz r0, 0x10(r1)
/* 80379314 00374F74  80 81 00 08 */	lwz r4, 8(r1)
/* 80379318 00374F78  1C A0 00 F0 */	mulli r5, r0, 0xf0
/* 8037931C 00374F7C  7C 65 22 14 */	add r3, r5, r4
/* 80379320 00374F80  38 03 00 03 */	addi r0, r3, 3
/* 80379324 00374F84  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 80379328 00374F88  7C 1F 00 51 */	subf. r0, r31, r0
/* 8037932C 00374F8C  40 81 00 0C */	ble lbl_80379338
/* 80379330 00374F90  38 00 00 00 */	li r0, 0
/* 80379334 00374F94  48 00 00 10 */	b lbl_80379344
lbl_80379338:
/* 80379338 00374F98  38 7B 00 B0 */	addi r3, r27, 0xb0
/* 8037933C 00374F9C  4B FF 9B B1 */	bl Create__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
/* 80379340 00374FA0  38 00 00 01 */	li r0, 1
lbl_80379344:
/* 80379344 00374FA4  2C 00 00 00 */	cmpwi r0, 0
/* 80379348 00374FA8  40 82 00 0C */	bne lbl_80379354
/* 8037934C 00374FAC  38 60 00 00 */	li r3, 0
/* 80379350 00374FB0  48 00 00 14 */	b lbl_80379364
lbl_80379354:
/* 80379354 00374FB4  93 9B 00 10 */	stw r28, 0x10(r27)
/* 80379358 00374FB8  38 60 00 01 */	li r3, 1
/* 8037935C 00374FBC  93 BB 00 D8 */	stw r29, 0xd8(r27)
/* 80379360 00374FC0  93 DB 00 DC */	stw r30, 0xdc(r27)
lbl_80379364:
/* 80379364 00374FC4  39 61 00 50 */	addi r11, r1, 0x50
/* 80379368 00374FC8  4B E4 DD FD */	bl _restgpr_23
/* 8037936C 00374FCC  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80379370 00374FD0  7C 08 03 A6 */	mtlr r0
/* 80379374 00374FD4  38 21 00 50 */	addi r1, r1, 0x50
/* 80379378 00374FD8  4E 80 00 20 */	blr

.global SetupSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePPvPv
SetupSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFPCQ34nw4r3snd12SoundArchivePPvPv:
/* 8037937C 00374FDC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80379380 00374FE0  7C 08 02 A6 */	mflr r0
/* 80379384 00374FE4  90 01 00 44 */	stw r0, 0x44(r1)
/* 80379388 00374FE8  39 61 00 40 */	addi r11, r1, 0x40
/* 8037938C 00374FEC  4B E4 DD 81 */	bl _savegpr_20
/* 80379390 00374FF0  7C 98 23 78 */	mr r24, r4
/* 80379394 00374FF4  7C 74 1B 78 */	mr r20, r3
/* 80379398 00374FF8  7C B9 2B 78 */	mr r25, r5
/* 8037939C 00374FFC  7C DA 33 78 */	mr r26, r6
/* 803793A0 00375000  7F 03 C3 78 */	mr r3, r24
/* 803793A4 00375004  4B FF DC 89 */	bl func_8037702C
/* 803793A8 00375008  1C 03 00 60 */	mulli r0, r3, 0x60
/* 803793AC 0037500C  83 D9 00 00 */	lwz r30, 0(r25)
/* 803793B0 00375010  7C 7F 1B 78 */	mr r31, r3
/* 803793B4 00375014  7C 80 F2 14 */	add r4, r0, r30
/* 803793B8 00375018  38 04 00 03 */	addi r0, r4, 3
/* 803793BC 0037501C  54 04 00 3A */	rlwinm r4, r0, 0, 0, 0x1d
/* 803793C0 00375020  7C 1A 20 51 */	subf. r0, r26, r4
/* 803793C4 00375024  40 81 00 0C */	ble lbl_803793D0
/* 803793C8 00375028  38 60 00 00 */	li r3, 0
/* 803793CC 0037502C  48 00 01 30 */	b lbl_803794FC
lbl_803793D0:
/* 803793D0 00375030  90 99 00 00 */	stw r4, 0(r25)
/* 803793D4 00375034  3E C0 80 45 */	lis r22, lbl_8044CEB8@ha
/* 803793D8 00375038  3B A0 00 00 */	li r29, 0
/* 803793DC 0037503C  3A E0 00 00 */	li r23, 0
/* 803793E0 00375040  93 D4 00 34 */	stw r30, 0x34(r20)
/* 803793E4 00375044  3A D6 CE B8 */	addi r22, r22, lbl_8044CEB8@l
/* 803793E8 00375048  90 74 00 30 */	stw r3, 0x30(r20)
/* 803793EC 0037504C  48 00 01 04 */	b lbl_803794F0
lbl_803793F0:
/* 803793F0 00375050  2C 1E 00 00 */	cmpwi r30, 0
/* 803793F4 00375054  7F DC F3 78 */	mr r28, r30
/* 803793F8 00375058  41 82 00 10 */	beq lbl_80379408
/* 803793FC 0037505C  7F C3 F3 78 */	mr r3, r30
/* 80379400 00375060  48 00 17 DD */	bl __ct__Q34nw4r3snd11SoundPlayerFv
/* 80379404 00375064  7C 7C 1B 78 */	mr r28, r3
lbl_80379408:
/* 80379408 00375068  7F 03 C3 78 */	mr r3, r24
/* 8037940C 0037506C  7F A4 EB 78 */	mr r4, r29
/* 80379410 00375070  38 A1 00 08 */	addi r5, r1, 8
/* 80379414 00375074  4B FF DC 61 */	bl func_80377074
/* 80379418 00375078  2C 03 00 00 */	cmpwi r3, 0
/* 8037941C 0037507C  41 82 00 CC */	beq lbl_803794E8
/* 80379420 00375080  80 81 00 08 */	lwz r4, 8(r1)
/* 80379424 00375084  7F 83 E3 78 */	mr r3, r28
/* 80379428 00375088  48 00 29 A9 */	bl SetPlayableSoundCount__Q34nw4r3snd11SoundPlayerFi
/* 8037942C 0037508C  80 81 00 08 */	lwz r4, 8(r1)
/* 80379430 00375090  7F 83 E3 78 */	mr r3, r28
/* 80379434 00375094  48 00 2A 3D */	bl detail_SetPlayableSoundLimit__Q34nw4r3snd11SoundPlayerFi
/* 80379438 00375098  80 01 00 0C */	lwz r0, 0xc(r1)
/* 8037943C 0037509C  2C 00 00 00 */	cmpwi r0, 0
/* 80379440 003750A0  41 82 00 A8 */	beq lbl_803794E8
/* 80379444 003750A4  3B 60 00 00 */	li r27, 0
/* 80379448 003750A8  48 00 00 94 */	b lbl_803794DC
lbl_8037944C:
/* 8037944C 003750AC  82 99 00 00 */	lwz r20, 0(r25)
/* 80379450 003750B0  80 01 00 0C */	lwz r0, 0xc(r1)
/* 80379454 003750B4  7C 74 02 14 */	add r3, r20, r0
/* 80379458 003750B8  38 03 00 3F */	addi r0, r3, 0x3f
/* 8037945C 003750BC  54 03 00 3A */	rlwinm r3, r0, 0, 0, 0x1d
/* 80379460 003750C0  7C 1A 18 51 */	subf. r0, r26, r3
/* 80379464 003750C4  40 81 00 0C */	ble lbl_80379470
/* 80379468 003750C8  38 60 00 00 */	li r3, 0
/* 8037946C 003750CC  48 00 00 90 */	b lbl_803794FC
lbl_80379470:
/* 80379470 003750D0  90 79 00 00 */	stw r3, 0(r25)
/* 80379474 003750D4  2C 14 00 00 */	cmpwi r20, 0
/* 80379478 003750D8  82 A1 00 0C */	lwz r21, 0xc(r1)
/* 8037947C 003750DC  41 82 00 20 */	beq lbl_8037949C
/* 80379480 003750E0  7E 83 A3 78 */	mr r3, r20
/* 80379484 003750E4  48 00 15 B9 */	bl __ct__Q34nw4r3snd9SoundHeapFv
/* 80379488 003750E8  92 D4 00 00 */	stw r22, 0(r20)
/* 8037948C 003750EC  92 F4 00 2C */	stw r23, 0x2c(r20)
/* 80379490 003750F0  92 F4 00 30 */	stw r23, 0x30(r20)
/* 80379494 003750F4  92 F4 00 34 */	stw r23, 0x34(r20)
/* 80379498 003750F8  92 F4 00 38 */	stw r23, 0x38(r20)
lbl_8037949C:
/* 8037949C 003750FC  7E 83 A3 78 */	mr r3, r20
/* 803794A0 00375100  7E A5 AB 78 */	mr r5, r21
/* 803794A4 00375104  38 94 00 3C */	addi r4, r20, 0x3c
/* 803794A8 00375108  48 00 16 4D */	bl Create__Q34nw4r3snd9SoundHeapFPvUl
/* 803794AC 0037510C  2C 03 00 00 */	cmpwi r3, 0
/* 803794B0 00375110  41 82 00 08 */	beq lbl_803794B8
/* 803794B4 00375114  48 00 00 08 */	b lbl_803794BC
lbl_803794B8:
/* 803794B8 00375118  3A 80 00 00 */	li r20, 0
lbl_803794BC:
/* 803794BC 0037511C  2C 14 00 00 */	cmpwi r20, 0
/* 803794C0 00375120  40 82 00 0C */	bne lbl_803794CC
/* 803794C4 00375124  38 60 00 00 */	li r3, 0
/* 803794C8 00375128  48 00 00 34 */	b lbl_803794FC
lbl_803794CC:
/* 803794CC 0037512C  7F 83 E3 78 */	mr r3, r28
/* 803794D0 00375130  7E 84 A3 78 */	mr r4, r20
/* 803794D4 00375134  48 00 2B 41 */	bl detail_AppendPlayerHeap__Q34nw4r3snd11SoundPlayerFPQ44nw4r3snd6detail10PlayerHeap
/* 803794D8 00375138  3B 7B 00 01 */	addi r27, r27, 1
lbl_803794DC:
/* 803794DC 0037513C  80 01 00 08 */	lwz r0, 8(r1)
/* 803794E0 00375140  7C 1B 00 00 */	cmpw r27, r0
/* 803794E4 00375144  41 80 FF 68 */	blt lbl_8037944C
lbl_803794E8:
/* 803794E8 00375148  3B BD 00 01 */	addi r29, r29, 1
/* 803794EC 0037514C  3B DE 00 60 */	addi r30, r30, 0x60
lbl_803794F0:
/* 803794F0 00375150  7C 1D F8 40 */	cmplw r29, r31
/* 803794F4 00375154  41 80 FE FC */	blt lbl_803793F0
/* 803794F8 00375158  38 60 00 01 */	li r3, 1
lbl_803794FC:
/* 803794FC 0037515C  39 61 00 40 */	addi r11, r1, 0x40
/* 80379500 00375160  4B E4 DC 59 */	bl _restgpr_20
/* 80379504 00375164  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80379508 00375168  7C 08 03 A6 */	mtlr r0
/* 8037950C 0037516C  38 21 00 40 */	addi r1, r1, 0x40
/* 80379510 00375170  4E 80 00 20 */	blr

.global Update__Q34nw4r3snd18SoundArchivePlayerFv
Update__Q34nw4r3snd18SoundArchivePlayerFv:
/* 80379514 00375174  94 21 ED B0 */	stwu r1, -0x1250(r1)
/* 80379518 00375178  7C 08 02 A6 */	mflr r0
/* 8037951C 0037517C  90 01 12 54 */	stw r0, 0x1254(r1)
/* 80379520 00375180  39 61 12 50 */	addi r11, r1, 0x1250
/* 80379524 00375184  4B E4 DC 01 */	bl _savegpr_26
/* 80379528 00375188  7C 7F 1B 78 */	mr r31, r3
/* 8037952C 0037518C  3B 40 00 00 */	li r26, 0
/* 80379530 00375190  3B 60 00 00 */	li r27, 0
/* 80379534 00375194  48 00 00 18 */	b lbl_8037954C
lbl_80379538:
/* 80379538 00375198  80 1F 00 34 */	lwz r0, 0x34(r31)
/* 8037953C 0037519C  7C 60 DA 14 */	add r3, r0, r27
/* 80379540 003751A0  48 00 18 A1 */	bl Update__Q34nw4r3snd11SoundPlayerFv
/* 80379544 003751A4  3B 7B 00 60 */	addi r27, r27, 0x60
/* 80379548 003751A8  3B 5A 00 01 */	addi r26, r26, 1
lbl_8037954C:
/* 8037954C 003751AC  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 80379550 003751B0  7C 1A 00 40 */	cmplw r26, r0
/* 80379554 003751B4  41 80 FF E4 */	blt lbl_80379538
/* 80379558 003751B8  3C 80 80 38 */	lis r4, __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@ha
/* 8037955C 003751BC  3C A0 80 38 */	lis r5, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@ha
/* 80379560 003751C0  38 61 0C 38 */	addi r3, r1, 0xc38
/* 80379564 003751C4  38 C0 00 0C */	li r6, 0xc
/* 80379568 003751C8  38 84 8B 54 */	addi r4, r4, __ct__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@l
/* 8037956C 003751CC  38 A5 8B 74 */	addi r5, r5, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@l
/* 80379570 003751D0  38 E0 00 80 */	li r7, 0x80
/* 80379574 003751D4  4B E4 D8 F5 */	bl __construct_array
/* 80379578 003751D8  3B BF 00 48 */	addi r29, r31, 0x48
/* 8037957C 003751DC  7F A3 EB 78 */	mr r3, r29
/* 80379580 003751E0  4B EF 63 C9 */	bl OSLockMutex
/* 80379584 003751E4  48 00 00 5C */	b lbl_803795E0
lbl_80379588:
/* 80379588 003751E8  83 7F 00 40 */	lwz r27, 0x40(r31)
/* 8037958C 003751EC  38 7F 00 3C */	addi r3, r31, 0x3c
/* 80379590 003751F0  38 81 00 28 */	addi r4, r1, 0x28
/* 80379594 003751F4  93 61 00 28 */	stw r27, 0x28(r1)
/* 80379598 003751F8  4B FE 96 25 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8037959C 003751FC  88 7B FF BC */	lbz r3, -0x44(r27)
/* 803795A0 00375200  80 1B FF 88 */	lwz r0, -0x78(r27)
/* 803795A4 00375204  7C 63 02 14 */	add r3, r3, r0
/* 803795A8 00375208  2C 03 00 7F */	cmpwi r3, 0x7f
/* 803795AC 0037520C  40 81 00 0C */	ble lbl_803795B8
/* 803795B0 00375210  38 00 00 7F */	li r0, 0x7f
/* 803795B4 00375214  48 00 00 0C */	b lbl_803795C0
lbl_803795B8:
/* 803795B8 00375218  7C 60 FE 70 */	srawi r0, r3, 0x1f
/* 803795BC 0037521C  7C 60 00 78 */	andc r0, r3, r0
lbl_803795C0:
/* 803795C0 00375220  1C 00 00 0C */	mulli r0, r0, 0xc
/* 803795C4 00375224  38 61 0C 38 */	addi r3, r1, 0xc38
/* 803795C8 00375228  7F 65 DB 78 */	mr r5, r27
/* 803795CC 0037522C  38 81 00 2C */	addi r4, r1, 0x2c
/* 803795D0 00375230  7C 63 02 14 */	add r3, r3, r0
/* 803795D4 00375234  38 03 00 04 */	addi r0, r3, 4
/* 803795D8 00375238  90 01 00 2C */	stw r0, 0x2c(r1)
/* 803795DC 0037523C  4B FE 96 6D */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_803795E0:
/* 803795E0 00375240  80 1F 00 3C */	lwz r0, 0x3c(r31)
/* 803795E4 00375244  2C 00 00 00 */	cmpwi r0, 0
/* 803795E8 00375248  40 82 FF A0 */	bne lbl_80379588
/* 803795EC 0037524C  3B 61 0C 38 */	addi r27, r1, 0xc38
/* 803795F0 00375250  3B DF 00 40 */	addi r30, r31, 0x40
/* 803795F4 00375254  3B 80 00 00 */	li r28, 0
lbl_803795F8:
/* 803795F8 00375258  80 1B 00 00 */	lwz r0, 0(r27)
/* 803795FC 0037525C  2C 00 00 00 */	cmpwi r0, 0
/* 80379600 00375260  41 82 00 3C */	beq lbl_8037963C
/* 80379604 00375264  48 00 00 2C */	b lbl_80379630
lbl_80379608:
/* 80379608 00375268  83 5B 00 04 */	lwz r26, 4(r27)
/* 8037960C 0037526C  7F 63 DB 78 */	mr r3, r27
/* 80379610 00375270  38 81 00 30 */	addi r4, r1, 0x30
/* 80379614 00375274  93 41 00 30 */	stw r26, 0x30(r1)
/* 80379618 00375278  4B FE 95 A5 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8037961C 0037527C  93 C1 00 34 */	stw r30, 0x34(r1)
/* 80379620 00375280  7F 45 D3 78 */	mr r5, r26
/* 80379624 00375284  38 7F 00 3C */	addi r3, r31, 0x3c
/* 80379628 00375288  38 81 00 34 */	addi r4, r1, 0x34
/* 8037962C 0037528C  4B FE 96 1D */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_80379630:
/* 80379630 00375290  80 1B 00 00 */	lwz r0, 0(r27)
/* 80379634 00375294  2C 00 00 00 */	cmpwi r0, 0
/* 80379638 00375298  40 82 FF D0 */	bne lbl_80379608
lbl_8037963C:
/* 8037963C 0037529C  3B 9C 00 01 */	addi r28, r28, 1
/* 80379640 003752A0  3B 7B 00 0C */	addi r27, r27, 0xc
/* 80379644 003752A4  2C 1C 00 80 */	cmpwi r28, 0x80
/* 80379648 003752A8  41 80 FF B0 */	blt lbl_803795F8
/* 8037964C 003752AC  7F A3 EB 78 */	mr r3, r29
/* 80379650 003752B0  4B EF 63 D5 */	bl OSUnlockMutex
/* 80379654 003752B4  3C 80 80 38 */	lis r4, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@ha
/* 80379658 003752B8  38 61 0C 38 */	addi r3, r1, 0xc38
/* 8037965C 003752BC  38 84 8B 74 */	addi r4, r4, __dt__Q34nw4r2ut41LinkList$0Q44nw4r3snd6detail8SeqSound$4184$1Fv@l
/* 80379660 003752C0  38 A0 00 0C */	li r5, 0xc
/* 80379664 003752C4  38 C0 00 80 */	li r6, 0x80
/* 80379668 003752C8  4B E4 D8 F9 */	bl __destroy_arr
/* 8037966C 003752CC  3C 80 80 38 */	lis r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@ha
/* 80379670 003752D0  3C A0 80 38 */	lis r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@ha
/* 80379674 003752D4  38 61 06 38 */	addi r3, r1, 0x638
/* 80379678 003752D8  38 C0 00 0C */	li r6, 0xc
/* 8037967C 003752DC  38 84 8B CC */	addi r4, r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@l
/* 80379680 003752E0  38 A5 8B EC */	addi r5, r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@l
/* 80379684 003752E4  38 E0 00 80 */	li r7, 0x80
/* 80379688 003752E8  4B E4 D7 E1 */	bl __construct_array
/* 8037968C 003752EC  3B BF 00 70 */	addi r29, r31, 0x70
/* 80379690 003752F0  7F A3 EB 78 */	mr r3, r29
/* 80379694 003752F4  4B EF 62 B5 */	bl OSLockMutex
/* 80379698 003752F8  48 00 00 5C */	b lbl_803796F4
lbl_8037969C:
/* 8037969C 003752FC  83 5F 00 68 */	lwz r26, 0x68(r31)
/* 803796A0 00375300  38 7F 00 64 */	addi r3, r31, 0x64
/* 803796A4 00375304  38 81 00 18 */	addi r4, r1, 0x18
/* 803796A8 00375308  93 41 00 18 */	stw r26, 0x18(r1)
/* 803796AC 0037530C  4B FE 95 11 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 803796B0 00375310  88 7A FF BC */	lbz r3, -0x44(r26)
/* 803796B4 00375314  80 1A FF 88 */	lwz r0, -0x78(r26)
/* 803796B8 00375318  7C 63 02 14 */	add r3, r3, r0
/* 803796BC 0037531C  2C 03 00 7F */	cmpwi r3, 0x7f
/* 803796C0 00375320  40 81 00 0C */	ble lbl_803796CC
/* 803796C4 00375324  38 00 00 7F */	li r0, 0x7f
/* 803796C8 00375328  48 00 00 0C */	b lbl_803796D4
lbl_803796CC:
/* 803796CC 0037532C  7C 60 FE 70 */	srawi r0, r3, 0x1f
/* 803796D0 00375330  7C 60 00 78 */	andc r0, r3, r0
lbl_803796D4:
/* 803796D4 00375334  1C 00 00 0C */	mulli r0, r0, 0xc
/* 803796D8 00375338  38 61 06 38 */	addi r3, r1, 0x638
/* 803796DC 0037533C  7F 45 D3 78 */	mr r5, r26
/* 803796E0 00375340  38 81 00 1C */	addi r4, r1, 0x1c
/* 803796E4 00375344  7C 63 02 14 */	add r3, r3, r0
/* 803796E8 00375348  38 03 00 04 */	addi r0, r3, 4
/* 803796EC 0037534C  90 01 00 1C */	stw r0, 0x1c(r1)
/* 803796F0 00375350  4B FE 95 59 */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_803796F4:
/* 803796F4 00375354  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803796F8 00375358  2C 00 00 00 */	cmpwi r0, 0
/* 803796FC 0037535C  40 82 FF A0 */	bne lbl_8037969C
/* 80379700 00375360  3B 61 06 38 */	addi r27, r1, 0x638
/* 80379704 00375364  3B DF 00 68 */	addi r30, r31, 0x68
/* 80379708 00375368  3B 80 00 00 */	li r28, 0
lbl_8037970C:
/* 8037970C 0037536C  80 1B 00 00 */	lwz r0, 0(r27)
/* 80379710 00375370  2C 00 00 00 */	cmpwi r0, 0
/* 80379714 00375374  41 82 00 3C */	beq lbl_80379750
/* 80379718 00375378  48 00 00 2C */	b lbl_80379744
lbl_8037971C:
/* 8037971C 0037537C  83 5B 00 04 */	lwz r26, 4(r27)
/* 80379720 00375380  7F 63 DB 78 */	mr r3, r27
/* 80379724 00375384  38 81 00 20 */	addi r4, r1, 0x20
/* 80379728 00375388  93 41 00 20 */	stw r26, 0x20(r1)
/* 8037972C 0037538C  4B FE 94 91 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 80379730 00375390  93 C1 00 24 */	stw r30, 0x24(r1)
/* 80379734 00375394  7F 45 D3 78 */	mr r5, r26
/* 80379738 00375398  38 7F 00 64 */	addi r3, r31, 0x64
/* 8037973C 0037539C  38 81 00 24 */	addi r4, r1, 0x24
/* 80379740 003753A0  4B FE 95 09 */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_80379744:
/* 80379744 003753A4  80 1B 00 00 */	lwz r0, 0(r27)
/* 80379748 003753A8  2C 00 00 00 */	cmpwi r0, 0
/* 8037974C 003753AC  40 82 FF D0 */	bne lbl_8037971C
lbl_80379750:
/* 80379750 003753B0  3B 9C 00 01 */	addi r28, r28, 1
/* 80379754 003753B4  3B 7B 00 0C */	addi r27, r27, 0xc
/* 80379758 003753B8  2C 1C 00 80 */	cmpwi r28, 0x80
/* 8037975C 003753BC  41 80 FF B0 */	blt lbl_8037970C
/* 80379760 003753C0  7F A3 EB 78 */	mr r3, r29
/* 80379764 003753C4  4B EF 62 C1 */	bl OSUnlockMutex
/* 80379768 003753C8  3C 80 80 38 */	lis r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@ha
/* 8037976C 003753CC  38 61 06 38 */	addi r3, r1, 0x638
/* 80379770 003753D0  38 84 8B EC */	addi r4, r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9StrmSound$4184$1Fv@l
/* 80379774 003753D4  38 A0 00 0C */	li r5, 0xc
/* 80379778 003753D8  38 C0 00 80 */	li r6, 0x80
/* 8037977C 003753DC  4B E4 D7 E5 */	bl __destroy_arr
/* 80379780 003753E0  3C 80 80 38 */	lis r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@ha
/* 80379784 003753E4  3C A0 80 38 */	lis r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@ha
/* 80379788 003753E8  38 61 00 38 */	addi r3, r1, 0x38
/* 8037978C 003753EC  38 C0 00 0C */	li r6, 0xc
/* 80379790 003753F0  38 84 8C 44 */	addi r4, r4, __ct__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@l
/* 80379794 003753F4  38 A5 8C 64 */	addi r5, r5, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@l
/* 80379798 003753F8  38 E0 00 80 */	li r7, 0x80
/* 8037979C 003753FC  4B E4 D6 CD */	bl __construct_array
/* 803797A0 00375400  3B BF 00 98 */	addi r29, r31, 0x98
/* 803797A4 00375404  7F A3 EB 78 */	mr r3, r29
/* 803797A8 00375408  4B EF 61 A1 */	bl OSLockMutex
/* 803797AC 0037540C  48 00 00 5C */	b lbl_80379808
lbl_803797B0:
/* 803797B0 00375410  83 5F 00 90 */	lwz r26, 0x90(r31)
/* 803797B4 00375414  38 7F 00 8C */	addi r3, r31, 0x8c
/* 803797B8 00375418  38 81 00 08 */	addi r4, r1, 8
/* 803797BC 0037541C  93 41 00 08 */	stw r26, 8(r1)
/* 803797C0 00375420  4B FE 93 FD */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 803797C4 00375424  88 7A FF BC */	lbz r3, -0x44(r26)
/* 803797C8 00375428  80 1A FF 88 */	lwz r0, -0x78(r26)
/* 803797CC 0037542C  7C 63 02 14 */	add r3, r3, r0
/* 803797D0 00375430  2C 03 00 7F */	cmpwi r3, 0x7f
/* 803797D4 00375434  40 81 00 0C */	ble lbl_803797E0
/* 803797D8 00375438  38 00 00 7F */	li r0, 0x7f
/* 803797DC 0037543C  48 00 00 0C */	b lbl_803797E8
lbl_803797E0:
/* 803797E0 00375440  7C 60 FE 70 */	srawi r0, r3, 0x1f
/* 803797E4 00375444  7C 60 00 78 */	andc r0, r3, r0
lbl_803797E8:
/* 803797E8 00375448  1C 00 00 0C */	mulli r0, r0, 0xc
/* 803797EC 0037544C  38 61 00 38 */	addi r3, r1, 0x38
/* 803797F0 00375450  7F 45 D3 78 */	mr r5, r26
/* 803797F4 00375454  38 81 00 0C */	addi r4, r1, 0xc
/* 803797F8 00375458  7C 63 02 14 */	add r3, r3, r0
/* 803797FC 0037545C  38 03 00 04 */	addi r0, r3, 4
/* 80379800 00375460  90 01 00 0C */	stw r0, 0xc(r1)
/* 80379804 00375464  4B FE 94 45 */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_80379808:
/* 80379808 00375468  80 1F 00 8C */	lwz r0, 0x8c(r31)
/* 8037980C 0037546C  2C 00 00 00 */	cmpwi r0, 0
/* 80379810 00375470  40 82 FF A0 */	bne lbl_803797B0
/* 80379814 00375474  3B 61 00 38 */	addi r27, r1, 0x38
/* 80379818 00375478  3B DF 00 90 */	addi r30, r31, 0x90
/* 8037981C 0037547C  3B 80 00 00 */	li r28, 0
lbl_80379820:
/* 80379820 00375480  80 1B 00 00 */	lwz r0, 0(r27)
/* 80379824 00375484  2C 00 00 00 */	cmpwi r0, 0
/* 80379828 00375488  41 82 00 3C */	beq lbl_80379864
/* 8037982C 0037548C  48 00 00 2C */	b lbl_80379858
lbl_80379830:
/* 80379830 00375490  83 5B 00 04 */	lwz r26, 4(r27)
/* 80379834 00375494  7F 63 DB 78 */	mr r3, r27
/* 80379838 00375498  38 81 00 10 */	addi r4, r1, 0x10
/* 8037983C 0037549C  93 41 00 10 */	stw r26, 0x10(r1)
/* 80379840 003754A0  4B FE 93 7D */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 80379844 003754A4  93 C1 00 14 */	stw r30, 0x14(r1)
/* 80379848 003754A8  7F 45 D3 78 */	mr r5, r26
/* 8037984C 003754AC  38 7F 00 8C */	addi r3, r31, 0x8c
/* 80379850 003754B0  38 81 00 14 */	addi r4, r1, 0x14
/* 80379854 003754B4  4B FE 93 F5 */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_80379858:
/* 80379858 003754B8  80 1B 00 00 */	lwz r0, 0(r27)
/* 8037985C 003754BC  2C 00 00 00 */	cmpwi r0, 0
/* 80379860 003754C0  40 82 FF D0 */	bne lbl_80379830
lbl_80379864:
/* 80379864 003754C4  3B 9C 00 01 */	addi r28, r28, 1
/* 80379868 003754C8  3B 7B 00 0C */	addi r27, r27, 0xc
/* 8037986C 003754CC  2C 1C 00 80 */	cmpwi r28, 0x80
/* 80379870 003754D0  41 80 FF B0 */	blt lbl_80379820
/* 80379874 003754D4  7F A3 EB 78 */	mr r3, r29
/* 80379878 003754D8  4B EF 61 AD */	bl OSUnlockMutex
/* 8037987C 003754DC  3C 80 80 38 */	lis r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@ha
/* 80379880 003754E0  38 61 00 38 */	addi r3, r1, 0x38
/* 80379884 003754E4  38 84 8C 64 */	addi r4, r4, __dt__Q34nw4r2ut42LinkList$0Q44nw4r3snd6detail9WaveSound$4184$1Fv@l
/* 80379888 003754E8  38 A0 00 0C */	li r5, 0xc
/* 8037988C 003754EC  38 C0 00 80 */	li r6, 0x80
/* 80379890 003754F0  4B E4 D6 D1 */	bl __destroy_arr
/* 80379894 003754F4  39 61 12 50 */	addi r11, r1, 0x1250
/* 80379898 003754F8  4B E4 D8 D9 */	bl _restgpr_26
/* 8037989C 003754FC  80 01 12 54 */	lwz r0, 0x1254(r1)
/* 803798A0 00375500  7C 08 03 A6 */	mtlr r0
/* 803798A4 00375504  38 21 12 50 */	addi r1, r1, 0x1250
/* 803798A8 00375508  4E 80 00 20 */	blr

.global GetSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFUl
GetSoundPlayer__Q34nw4r3snd18SoundArchivePlayerFUl:
/* 803798AC 0037550C  1C 04 00 60 */	mulli r0, r4, 0x60
/* 803798B0 00375510  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803798B4 00375514  7C 63 02 14 */	add r3, r3, r0
/* 803798B8 00375518  4E 80 00 20 */	blr

.global detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl:
/* 803798BC 0037551C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803798C0 00375520  7C 08 02 A6 */	mflr r0
/* 803798C4 00375524  90 01 00 54 */	stw r0, 0x54(r1)
/* 803798C8 00375528  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 803798CC 0037552C  93 C1 00 48 */	stw r30, 0x48(r1)
/* 803798D0 00375530  93 A1 00 44 */	stw r29, 0x44(r1)
/* 803798D4 00375534  7C 9D 23 78 */	mr r29, r4
/* 803798D8 00375538  93 81 00 40 */	stw r28, 0x40(r1)
/* 803798DC 0037553C  7C 7C 1B 78 */	mr r28, r3
/* 803798E0 00375540  80 63 00 10 */	lwz r3, 0x10(r3)
/* 803798E4 00375544  81 83 00 00 */	lwz r12, 0(r3)
/* 803798E8 00375548  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 803798EC 0037554C  7D 89 03 A6 */	mtctr r12
/* 803798F0 00375550  4E 80 04 21 */	bctrl
/* 803798F4 00375554  2C 03 00 00 */	cmpwi r3, 0
/* 803798F8 00375558  41 82 00 08 */	beq lbl_80379900
/* 803798FC 0037555C  48 00 00 EC */	b lbl_803799E8
lbl_80379900:
/* 80379900 00375560  80 7C 00 18 */	lwz r3, 0x18(r28)
/* 80379904 00375564  2C 03 00 00 */	cmpwi r3, 0
/* 80379908 00375568  41 82 00 24 */	beq lbl_8037992C
/* 8037990C 0037556C  81 83 00 00 */	lwz r12, 0(r3)
/* 80379910 00375570  7F A4 EB 78 */	mr r4, r29
/* 80379914 00375574  81 8C 00 08 */	lwz r12, 8(r12)
/* 80379918 00375578  7D 89 03 A6 */	mtctr r12
/* 8037991C 0037557C  4E 80 04 21 */	bctrl
/* 80379920 00375580  2C 03 00 00 */	cmpwi r3, 0
/* 80379924 00375584  41 82 00 08 */	beq lbl_8037992C
/* 80379928 00375588  48 00 00 C0 */	b lbl_803799E8
lbl_8037992C:
/* 8037992C 0037558C  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80379930 00375590  7F A4 EB 78 */	mr r4, r29
/* 80379934 00375594  38 A1 00 10 */	addi r5, r1, 0x10
/* 80379938 00375598  4B FF D7 65 */	bl func_8037709C
/* 8037993C 0037559C  2C 03 00 00 */	cmpwi r3, 0
/* 80379940 003755A0  40 82 00 0C */	bne lbl_8037994C
/* 80379944 003755A4  38 60 00 00 */	li r3, 0
/* 80379948 003755A8  48 00 00 A0 */	b lbl_803799E8
lbl_8037994C:
/* 8037994C 003755AC  3B C0 00 00 */	li r30, 0
/* 80379950 003755B0  48 00 00 88 */	b lbl_803799D8
lbl_80379954:
/* 80379954 003755B4  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80379958 003755B8  7F A4 EB 78 */	mr r4, r29
/* 8037995C 003755BC  7F C5 F3 78 */	mr r5, r30
/* 80379960 003755C0  38 C1 00 08 */	addi r6, r1, 8
/* 80379964 003755C4  4B FF D7 41 */	bl func_803770A4
/* 80379968 003755C8  2C 03 00 00 */	cmpwi r3, 0
/* 8037996C 003755CC  41 82 00 68 */	beq lbl_803799D4
/* 80379970 003755D0  80 7C 00 14 */	lwz r3, 0x14(r28)
/* 80379974 003755D4  80 81 00 08 */	lwz r4, 8(r1)
/* 80379978 003755D8  2C 03 00 00 */	cmpwi r3, 0
/* 8037997C 003755DC  40 82 00 0C */	bne lbl_80379988
/* 80379980 003755E0  3B E0 00 00 */	li r31, 0
/* 80379984 003755E4  48 00 00 24 */	b lbl_803799A8
lbl_80379988:
/* 80379988 003755E8  80 03 00 00 */	lwz r0, 0(r3)
/* 8037998C 003755EC  7C 04 00 40 */	cmplw r4, r0
/* 80379990 003755F0  41 80 00 0C */	blt lbl_8037999C
/* 80379994 003755F4  3B E0 00 00 */	li r31, 0
/* 80379998 003755F8  48 00 00 10 */	b lbl_803799A8
lbl_8037999C:
/* 8037999C 003755FC  54 80 18 38 */	slwi r0, r4, 3
/* 803799A0 00375600  7C 63 02 14 */	add r3, r3, r0
/* 803799A4 00375604  83 E3 00 04 */	lwz r31, 4(r3)
lbl_803799A8:
/* 803799A8 00375608  2C 1F 00 00 */	cmpwi r31, 0
/* 803799AC 0037560C  41 82 00 28 */	beq lbl_803799D4
/* 803799B0 00375610  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 803799B4 00375614  38 C1 00 20 */	addi r6, r1, 0x20
/* 803799B8 00375618  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 803799BC 0037561C  4B FF D6 D9 */	bl func_80377094
/* 803799C0 00375620  2C 03 00 00 */	cmpwi r3, 0
/* 803799C4 00375624  41 82 00 10 */	beq lbl_803799D4
/* 803799C8 00375628  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803799CC 0037562C  7C 7F 02 14 */	add r3, r31, r0
/* 803799D0 00375630  48 00 00 18 */	b lbl_803799E8
lbl_803799D4:
/* 803799D4 00375634  3B DE 00 01 */	addi r30, r30, 1
lbl_803799D8:
/* 803799D8 00375638  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 803799DC 0037563C  7C 1E 00 40 */	cmplw r30, r0
/* 803799E0 00375640  41 80 FF 74 */	blt lbl_80379954
/* 803799E4 00375644  38 60 00 00 */	li r3, 0
lbl_803799E8:
/* 803799E8 00375648  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803799EC 0037564C  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 803799F0 00375650  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 803799F4 00375654  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 803799F8 00375658  83 81 00 40 */	lwz r28, 0x40(r1)
/* 803799FC 0037565C  7C 08 03 A6 */	mtlr r0
/* 80379A00 00375660  38 21 00 50 */	addi r1, r1, 0x50
/* 80379A04 00375664  4E 80 00 20 */	blr

.global detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl:
/* 80379A08 00375668  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 80379A0C 0037566C  7C 08 02 A6 */	mflr r0
/* 80379A10 00375670  90 01 00 54 */	stw r0, 0x54(r1)
/* 80379A14 00375674  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 80379A18 00375678  93 C1 00 48 */	stw r30, 0x48(r1)
/* 80379A1C 0037567C  93 A1 00 44 */	stw r29, 0x44(r1)
/* 80379A20 00375680  7C 9D 23 78 */	mr r29, r4
/* 80379A24 00375684  93 81 00 40 */	stw r28, 0x40(r1)
/* 80379A28 00375688  7C 7C 1B 78 */	mr r28, r3
/* 80379A2C 0037568C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80379A30 00375690  81 83 00 00 */	lwz r12, 0(r3)
/* 80379A34 00375694  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80379A38 00375698  7D 89 03 A6 */	mtctr r12
/* 80379A3C 0037569C  4E 80 04 21 */	bctrl
/* 80379A40 003756A0  2C 03 00 00 */	cmpwi r3, 0
/* 80379A44 003756A4  41 82 00 08 */	beq lbl_80379A4C
/* 80379A48 003756A8  48 00 00 EC */	b lbl_80379B34
lbl_80379A4C:
/* 80379A4C 003756AC  80 7C 00 18 */	lwz r3, 0x18(r28)
/* 80379A50 003756B0  2C 03 00 00 */	cmpwi r3, 0
/* 80379A54 003756B4  41 82 00 24 */	beq lbl_80379A78
/* 80379A58 003756B8  81 83 00 00 */	lwz r12, 0(r3)
/* 80379A5C 003756BC  7F A4 EB 78 */	mr r4, r29
/* 80379A60 003756C0  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80379A64 003756C4  7D 89 03 A6 */	mtctr r12
/* 80379A68 003756C8  4E 80 04 21 */	bctrl
/* 80379A6C 003756CC  2C 03 00 00 */	cmpwi r3, 0
/* 80379A70 003756D0  41 82 00 08 */	beq lbl_80379A78
/* 80379A74 003756D4  48 00 00 C0 */	b lbl_80379B34
lbl_80379A78:
/* 80379A78 003756D8  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80379A7C 003756DC  7F A4 EB 78 */	mr r4, r29
/* 80379A80 003756E0  38 A1 00 10 */	addi r5, r1, 0x10
/* 80379A84 003756E4  4B FF D6 19 */	bl func_8037709C
/* 80379A88 003756E8  2C 03 00 00 */	cmpwi r3, 0
/* 80379A8C 003756EC  40 82 00 0C */	bne lbl_80379A98
/* 80379A90 003756F0  38 60 00 00 */	li r3, 0
/* 80379A94 003756F4  48 00 00 A0 */	b lbl_80379B34
lbl_80379A98:
/* 80379A98 003756F8  3B C0 00 00 */	li r30, 0
/* 80379A9C 003756FC  48 00 00 88 */	b lbl_80379B24
lbl_80379AA0:
/* 80379AA0 00375700  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80379AA4 00375704  7F A4 EB 78 */	mr r4, r29
/* 80379AA8 00375708  7F C5 F3 78 */	mr r5, r30
/* 80379AAC 0037570C  38 C1 00 08 */	addi r6, r1, 8
/* 80379AB0 00375710  4B FF D5 F5 */	bl func_803770A4
/* 80379AB4 00375714  2C 03 00 00 */	cmpwi r3, 0
/* 80379AB8 00375718  41 82 00 68 */	beq lbl_80379B20
/* 80379ABC 0037571C  80 7C 00 14 */	lwz r3, 0x14(r28)
/* 80379AC0 00375720  80 81 00 08 */	lwz r4, 8(r1)
/* 80379AC4 00375724  2C 03 00 00 */	cmpwi r3, 0
/* 80379AC8 00375728  40 82 00 0C */	bne lbl_80379AD4
/* 80379ACC 0037572C  3B E0 00 00 */	li r31, 0
/* 80379AD0 00375730  48 00 00 24 */	b lbl_80379AF4
lbl_80379AD4:
/* 80379AD4 00375734  80 03 00 00 */	lwz r0, 0(r3)
/* 80379AD8 00375738  7C 04 00 40 */	cmplw r4, r0
/* 80379ADC 0037573C  41 80 00 0C */	blt lbl_80379AE8
/* 80379AE0 00375740  3B E0 00 00 */	li r31, 0
/* 80379AE4 00375744  48 00 00 10 */	b lbl_80379AF4
lbl_80379AE8:
/* 80379AE8 00375748  54 80 18 38 */	slwi r0, r4, 3
/* 80379AEC 0037574C  7C 63 02 14 */	add r3, r3, r0
/* 80379AF0 00375750  83 E3 00 08 */	lwz r31, 8(r3)
lbl_80379AF4:
/* 80379AF4 00375754  2C 1F 00 00 */	cmpwi r31, 0
/* 80379AF8 00375758  41 82 00 28 */	beq lbl_80379B20
/* 80379AFC 0037575C  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80379B00 00375760  38 C1 00 20 */	addi r6, r1, 0x20
/* 80379B04 00375764  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 80379B08 00375768  4B FF D5 8D */	bl func_80377094
/* 80379B0C 0037576C  2C 03 00 00 */	cmpwi r3, 0
/* 80379B10 00375770  41 82 00 10 */	beq lbl_80379B20
/* 80379B14 00375774  80 01 00 2C */	lwz r0, 0x2c(r1)
/* 80379B18 00375778  7C 7F 02 14 */	add r3, r31, r0
/* 80379B1C 0037577C  48 00 00 18 */	b lbl_80379B34
lbl_80379B20:
/* 80379B20 00375780  3B DE 00 01 */	addi r30, r30, 1
lbl_80379B24:
/* 80379B24 00375784  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 80379B28 00375788  7C 1E 00 40 */	cmplw r30, r0
/* 80379B2C 0037578C  41 80 FF 74 */	blt lbl_80379AA0
/* 80379B30 00375790  38 60 00 00 */	li r3, 0
lbl_80379B34:
/* 80379B34 00375794  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80379B38 00375798  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 80379B3C 0037579C  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 80379B40 003757A0  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 80379B44 003757A4  83 81 00 40 */	lwz r28, 0x40(r1)
/* 80379B48 003757A8  7C 08 03 A6 */	mtlr r0
/* 80379B4C 003757AC  38 21 00 50 */	addi r1, r1, 0x50
/* 80379B50 003757B0  4E 80 00 20 */	blr

.global detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo
detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo:
/* 80379B54 003757B4  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 80379B58 003757B8  7C 08 02 A6 */	mflr r0
/* 80379B5C 003757BC  90 01 00 74 */	stw r0, 0x74(r1)
/* 80379B60 003757C0  39 61 00 70 */	addi r11, r1, 0x70
/* 80379B64 003757C4  4B E4 D5 B1 */	bl _savegpr_22
/* 80379B68 003757C8  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80379B6C 003757CC  7C 7B 1B 78 */	mr r27, r3
/* 80379B70 003757D0  7C 9C 23 78 */	mr r28, r4
/* 80379B74 003757D4  7C BD 2B 78 */	mr r29, r5
/* 80379B78 003757D8  2C 00 00 00 */	cmpwi r0, 0
/* 80379B7C 003757DC  7C DE 33 78 */	mr r30, r6
/* 80379B80 003757E0  7C FF 3B 78 */	mr r31, r7
/* 80379B84 003757E4  7D 1A 43 78 */	mr r26, r8
/* 80379B88 003757E8  7D 39 4B 78 */	mr r25, r9
/* 80379B8C 003757EC  40 82 00 0C */	bne lbl_80379B98
/* 80379B90 003757F0  38 60 00 00 */	li r3, 0
/* 80379B94 003757F4  48 00 00 0C */	b lbl_80379BA0
lbl_80379B98:
/* 80379B98 003757F8  7C 03 03 78 */	mr r3, r0
/* 80379B9C 003757FC  4B FF D4 55 */	bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv
lbl_80379BA0:
/* 80379BA0 00375800  2C 03 00 00 */	cmpwi r3, 0
/* 80379BA4 00375804  40 82 00 0C */	bne lbl_80379BB0
/* 80379BA8 00375808  38 60 00 07 */	li r3, 7
/* 80379BAC 0037580C  48 00 02 D8 */	b lbl_80379E84
lbl_80379BB0:
/* 80379BB0 00375810  80 1C 00 00 */	lwz r0, 0(r28)
/* 80379BB4 00375814  2C 00 00 00 */	cmpwi r0, 0
/* 80379BB8 00375818  41 82 00 0C */	beq lbl_80379BC4
/* 80379BBC 0037581C  7F 83 E3 78 */	mr r3, r28
/* 80379BC0 00375820  48 00 0E 2D */	bl DetachSound__Q34nw4r3snd11SoundHandleFv
lbl_80379BC4:
/* 80379BC4 00375824  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80379BC8 00375828  7F A4 EB 78 */	mr r4, r29
/* 80379BCC 0037582C  38 A1 00 2C */	addi r5, r1, 0x2c
/* 80379BD0 00375830  4B FF D4 85 */	bl func_80377054
/* 80379BD4 00375834  2C 03 00 00 */	cmpwi r3, 0
/* 80379BD8 00375838  40 82 00 0C */	bne lbl_80379BE4
/* 80379BDC 0037583C  38 60 00 03 */	li r3, 3
/* 80379BE0 00375840  48 00 02 A4 */	b lbl_80379E84
lbl_80379BE4:
/* 80379BE4 00375844  2C 19 00 00 */	cmpwi r25, 0
/* 80379BE8 00375848  80 81 00 30 */	lwz r4, 0x30(r1)
/* 80379BEC 0037584C  83 01 00 34 */	lwz r24, 0x34(r1)
/* 80379BF0 00375850  3A E0 00 00 */	li r23, 0
/* 80379BF4 00375854  3A C0 00 00 */	li r22, 0
/* 80379BF8 00375858  41 82 00 30 */	beq lbl_80379C28
/* 80379BFC 0037585C  80 79 00 00 */	lwz r3, 0(r25)
/* 80379C00 00375860  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 80379C04 00375864  41 82 00 0C */	beq lbl_80379C10
/* 80379C08 00375868  82 F9 00 04 */	lwz r23, 4(r25)
/* 80379C0C 0037586C  82 D9 00 08 */	lwz r22, 8(r25)
lbl_80379C10:
/* 80379C10 00375870  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 80379C14 00375874  41 82 00 08 */	beq lbl_80379C1C
/* 80379C18 00375878  80 99 00 0C */	lwz r4, 0xc(r25)
lbl_80379C1C:
/* 80379C1C 0037587C  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 80379C20 00375880  41 82 00 08 */	beq lbl_80379C28
/* 80379C24 00375884  83 19 00 10 */	lwz r24, 0x10(r25)
lbl_80379C28:
/* 80379C28 00375888  2C 1A 00 00 */	cmpwi r26, 0
/* 80379C2C 0037588C  7F 1A C3 78 */	mr r26, r24
/* 80379C30 00375890  41 82 00 08 */	beq lbl_80379C38
/* 80379C34 00375894  3B 58 FF FF */	addi r26, r24, -1
lbl_80379C38:
/* 80379C38 00375898  1C 04 00 60 */	mulli r0, r4, 0x60
/* 80379C3C 0037589C  80 BB 00 34 */	lwz r5, 0x34(r27)
/* 80379C40 003758A0  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80379C44 003758A4  7F A4 EB 78 */	mr r4, r29
/* 80379C48 003758A8  7F 25 02 14 */	add r25, r5, r0
/* 80379C4C 003758AC  4B FF D4 01 */	bl func_8037704C
/* 80379C50 003758B0  2C 03 00 02 */	cmpwi r3, 2
/* 80379C54 003758B4  41 82 00 C8 */	beq lbl_80379D1C
/* 80379C58 003758B8  40 80 00 10 */	bge lbl_80379C68
/* 80379C5C 003758BC  2C 03 00 01 */	cmpwi r3, 1
/* 80379C60 003758C0  40 80 00 14 */	bge lbl_80379C74
/* 80379C64 003758C4  48 00 02 08 */	b lbl_80379E6C
lbl_80379C68:
/* 80379C68 003758C8  2C 03 00 04 */	cmpwi r3, 4
/* 80379C6C 003758CC  40 80 02 00 */	bge lbl_80379E6C
/* 80379C70 003758D0  48 00 01 54 */	b lbl_80379DC4
lbl_80379C74:
/* 80379C74 003758D4  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80379C78 003758D8  7F A4 EB 78 */	mr r4, r29
/* 80379C7C 003758DC  38 A1 00 18 */	addi r5, r1, 0x18
/* 80379C80 003758E0  4B FF D3 DD */	bl func_8037705C
/* 80379C84 003758E4  2C 03 00 00 */	cmpwi r3, 0
/* 80379C88 003758E8  40 82 00 0C */	bne lbl_80379C94
/* 80379C8C 003758EC  38 60 00 03 */	li r3, 3
/* 80379C90 003758F0  48 00 01 F4 */	b lbl_80379E84
lbl_80379C94:
/* 80379C94 003758F4  7F 23 CB 78 */	mr r3, r25
/* 80379C98 003758F8  7F 04 C3 78 */	mr r4, r24
/* 80379C9C 003758FC  7F 45 D3 78 */	mr r5, r26
/* 80379CA0 00375900  7F C6 F3 78 */	mr r6, r30
/* 80379CA4 00375904  7F E7 FB 78 */	mr r7, r31
/* 80379CA8 00375908  7F A8 EB 78 */	mr r8, r29
/* 80379CAC 0037590C  39 3B 00 38 */	addi r9, r27, 0x38
/* 80379CB0 00375910  48 00 15 D5 */	bl detail_AllocSeqSound__Q34nw4r3snd11SoundPlayerFiiPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerUlPQ44nw4r3snd6detail49SoundInstanceManager$0Q44nw4r3snd6detail8SeqSound$1
/* 80379CB4 00375914  2C 03 00 00 */	cmpwi r3, 0
/* 80379CB8 00375918  7C 78 1B 78 */	mr r24, r3
/* 80379CBC 0037591C  40 82 00 0C */	bne lbl_80379CC8
/* 80379CC0 00375920  38 60 00 01 */	li r3, 1
/* 80379CC4 00375924  48 00 01 C0 */	b lbl_80379E84
lbl_80379CC8:
/* 80379CC8 00375928  7F A4 EB 78 */	mr r4, r29
/* 80379CCC 0037592C  4B FF 44 39 */	bl SetId__Q44nw4r3snd6detail10BasicSoundFUl
/* 80379CD0 00375930  7F 63 DB 78 */	mr r3, r27
/* 80379CD4 00375934  7F 04 C3 78 */	mr r4, r24
/* 80379CD8 00375938  7E E7 BB 78 */	mr r7, r23
/* 80379CDC 0037593C  7E C8 B3 78 */	mr r8, r22
/* 80379CE0 00375940  38 A1 00 2C */	addi r5, r1, 0x2c
/* 80379CE4 00375944  38 C1 00 18 */	addi r6, r1, 0x18
/* 80379CE8 00375948  39 20 00 01 */	li r9, 1
/* 80379CEC 0037594C  48 00 01 B1 */	bl PrepareSeqImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail8SeqSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive12SeqSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii
/* 80379CF0 00375950  2C 03 00 00 */	cmpwi r3, 0
/* 80379CF4 00375954  7C 76 1B 78 */	mr r22, r3
/* 80379CF8 00375958  41 82 01 7C */	beq lbl_80379E74
/* 80379CFC 0037595C  81 98 00 00 */	lwz r12, 0(r24)
/* 80379D00 00375960  7F 03 C3 78 */	mr r3, r24
/* 80379D04 00375964  81 8C 00 28 */	lwz r12, 0x28(r12)
/* 80379D08 00375968  7D 89 03 A6 */	mtctr r12
/* 80379D0C 0037596C  4E 80 04 21 */	bctrl
/* 80379D10 00375970  7E C3 B3 78 */	mr r3, r22
/* 80379D14 00375974  48 00 01 70 */	b lbl_80379E84
/* 80379D18 00375978  48 00 01 5C */	b lbl_80379E74
lbl_80379D1C:
/* 80379D1C 0037597C  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80379D20 00375980  7F A4 EB 78 */	mr r4, r29
/* 80379D24 00375984  38 A1 00 08 */	addi r5, r1, 8
/* 80379D28 00375988  4B FF D3 3D */	bl func_80377064
/* 80379D2C 0037598C  2C 03 00 00 */	cmpwi r3, 0
/* 80379D30 00375990  40 82 00 0C */	bne lbl_80379D3C
/* 80379D34 00375994  38 60 00 03 */	li r3, 3
/* 80379D38 00375998  48 00 01 4C */	b lbl_80379E84
lbl_80379D3C:
/* 80379D3C 0037599C  7F 23 CB 78 */	mr r3, r25
/* 80379D40 003759A0  7F 04 C3 78 */	mr r4, r24
/* 80379D44 003759A4  7F 45 D3 78 */	mr r5, r26
/* 80379D48 003759A8  7F C6 F3 78 */	mr r6, r30
/* 80379D4C 003759AC  7F E7 FB 78 */	mr r7, r31
/* 80379D50 003759B0  7F A8 EB 78 */	mr r8, r29
/* 80379D54 003759B4  39 3B 00 60 */	addi r9, r27, 0x60
/* 80379D58 003759B8  48 00 18 F1 */	bl detail_AllocStrmSound__Q34nw4r3snd11SoundPlayerFiiPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerUlPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9StrmSound$1
/* 80379D5C 003759BC  2C 03 00 00 */	cmpwi r3, 0
/* 80379D60 003759C0  7C 78 1B 78 */	mr r24, r3
/* 80379D64 003759C4  40 82 00 0C */	bne lbl_80379D70
/* 80379D68 003759C8  38 60 00 01 */	li r3, 1
/* 80379D6C 003759CC  48 00 01 18 */	b lbl_80379E84
lbl_80379D70:
/* 80379D70 003759D0  7F A4 EB 78 */	mr r4, r29
/* 80379D74 003759D4  4B FF 43 91 */	bl SetId__Q44nw4r3snd6detail10BasicSoundFUl
/* 80379D78 003759D8  7F 63 DB 78 */	mr r3, r27
/* 80379D7C 003759DC  7F 04 C3 78 */	mr r4, r24
/* 80379D80 003759E0  7E E7 BB 78 */	mr r7, r23
/* 80379D84 003759E4  7E C8 B3 78 */	mr r8, r22
/* 80379D88 003759E8  38 A1 00 2C */	addi r5, r1, 0x2c
/* 80379D8C 003759EC  38 C1 00 08 */	addi r6, r1, 8
/* 80379D90 003759F0  39 20 00 01 */	li r9, 1
/* 80379D94 003759F4  48 00 04 0D */	bl PrepareStrmImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9StrmSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13StrmSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii
/* 80379D98 003759F8  2C 03 00 00 */	cmpwi r3, 0
/* 80379D9C 003759FC  7C 76 1B 78 */	mr r22, r3
/* 80379DA0 00375A00  41 82 00 D4 */	beq lbl_80379E74
/* 80379DA4 00375A04  81 98 00 00 */	lwz r12, 0(r24)
/* 80379DA8 00375A08  7F 03 C3 78 */	mr r3, r24
/* 80379DAC 00375A0C  81 8C 00 28 */	lwz r12, 0x28(r12)
/* 80379DB0 00375A10  7D 89 03 A6 */	mtctr r12
/* 80379DB4 00375A14  4E 80 04 21 */	bctrl
/* 80379DB8 00375A18  7E C3 B3 78 */	mr r3, r22
/* 80379DBC 00375A1C  48 00 00 C8 */	b lbl_80379E84
/* 80379DC0 00375A20  48 00 00 B4 */	b lbl_80379E74
lbl_80379DC4:
/* 80379DC4 00375A24  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80379DC8 00375A28  7F A4 EB 78 */	mr r4, r29
/* 80379DCC 00375A2C  38 A1 00 0C */	addi r5, r1, 0xc
/* 80379DD0 00375A30  4B FF D2 9D */	bl func_8037706C
/* 80379DD4 00375A34  2C 03 00 00 */	cmpwi r3, 0
/* 80379DD8 00375A38  40 82 00 0C */	bne lbl_80379DE4
/* 80379DDC 00375A3C  38 60 00 03 */	li r3, 3
/* 80379DE0 00375A40  48 00 00 A4 */	b lbl_80379E84
lbl_80379DE4:
/* 80379DE4 00375A44  7F 23 CB 78 */	mr r3, r25
/* 80379DE8 00375A48  7F 04 C3 78 */	mr r4, r24
/* 80379DEC 00375A4C  7F 45 D3 78 */	mr r5, r26
/* 80379DF0 00375A50  7F C6 F3 78 */	mr r6, r30
/* 80379DF4 00375A54  7F E7 FB 78 */	mr r7, r31
/* 80379DF8 00375A58  7F A8 EB 78 */	mr r8, r29
/* 80379DFC 00375A5C  39 3B 00 88 */	addi r9, r27, 0x88
/* 80379E00 00375A60  48 00 1C 0D */	bl detail_AllocWaveSound__Q34nw4r3snd11SoundPlayerFiiPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerUlPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1
/* 80379E04 00375A64  2C 03 00 00 */	cmpwi r3, 0
/* 80379E08 00375A68  7C 78 1B 78 */	mr r24, r3
/* 80379E0C 00375A6C  40 82 00 0C */	bne lbl_80379E18
/* 80379E10 00375A70  38 60 00 01 */	li r3, 1
/* 80379E14 00375A74  48 00 00 70 */	b lbl_80379E84
lbl_80379E18:
/* 80379E18 00375A78  7F A4 EB 78 */	mr r4, r29
/* 80379E1C 00375A7C  4B FF 42 E9 */	bl SetId__Q44nw4r3snd6detail10BasicSoundFUl
/* 80379E20 00375A80  7F 63 DB 78 */	mr r3, r27
/* 80379E24 00375A84  7F 04 C3 78 */	mr r4, r24
/* 80379E28 00375A88  7E E7 BB 78 */	mr r7, r23
/* 80379E2C 00375A8C  7E C8 B3 78 */	mr r8, r22
/* 80379E30 00375A90  38 A1 00 2C */	addi r5, r1, 0x2c
/* 80379E34 00375A94  38 C1 00 0C */	addi r6, r1, 0xc
/* 80379E38 00375A98  39 20 00 01 */	li r9, 1
/* 80379E3C 00375A9C  48 00 04 C5 */	bl PrepareWaveSoundImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9WaveSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13WaveSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii
/* 80379E40 00375AA0  2C 03 00 00 */	cmpwi r3, 0
/* 80379E44 00375AA4  7C 76 1B 78 */	mr r22, r3
/* 80379E48 00375AA8  41 82 00 2C */	beq lbl_80379E74
/* 80379E4C 00375AAC  81 98 00 00 */	lwz r12, 0(r24)
/* 80379E50 00375AB0  7F 03 C3 78 */	mr r3, r24
/* 80379E54 00375AB4  81 8C 00 28 */	lwz r12, 0x28(r12)
/* 80379E58 00375AB8  7D 89 03 A6 */	mtctr r12
/* 80379E5C 00375ABC  4E 80 04 21 */	bctrl
/* 80379E60 00375AC0  7E C3 B3 78 */	mr r3, r22
/* 80379E64 00375AC4  48 00 00 20 */	b lbl_80379E84
/* 80379E68 00375AC8  48 00 00 0C */	b lbl_80379E74
lbl_80379E6C:
/* 80379E6C 00375ACC  38 60 00 03 */	li r3, 3
/* 80379E70 00375AD0  48 00 00 14 */	b lbl_80379E84
lbl_80379E74:
/* 80379E74 00375AD4  7F 83 E3 78 */	mr r3, r28
/* 80379E78 00375AD8  7F 04 C3 78 */	mr r4, r24
/* 80379E7C 00375ADC  48 00 0B 25 */	bl detail_AttachSound__Q34nw4r3snd11SoundHandleFPQ44nw4r3snd6detail10BasicSound
/* 80379E80 00375AE0  38 60 00 00 */	li r3, 0
lbl_80379E84:
/* 80379E84 00375AE4  39 61 00 70 */	addi r11, r1, 0x70
/* 80379E88 00375AE8  4B E4 D2 D9 */	bl _restgpr_22
/* 80379E8C 00375AEC  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80379E90 00375AF0  7C 08 03 A6 */	mtlr r0
/* 80379E94 00375AF4  38 21 00 70 */	addi r1, r1, 0x70
/* 80379E98 00375AF8  4E 80 00 20 */	blr

.global PrepareSeqImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail8SeqSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive12SeqSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii
PrepareSeqImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail8SeqSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive12SeqSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii:
/* 80379E9C 00375AFC  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 80379EA0 00375B00  7C 08 02 A6 */	mflr r0
/* 80379EA4 00375B04  90 01 00 54 */	stw r0, 0x54(r1)
/* 80379EA8 00375B08  39 61 00 50 */	addi r11, r1, 0x50
/* 80379EAC 00375B0C  4B E4 D2 65 */	bl _savegpr_21
/* 80379EB0 00375B10  7C 96 23 78 */	mr r22, r4
/* 80379EB4 00375B14  80 85 00 00 */	lwz r4, 0(r5)
/* 80379EB8 00375B18  7C 75 1B 78 */	mr r21, r3
/* 80379EBC 00375B1C  7C B7 2B 78 */	mr r23, r5
/* 80379EC0 00375B20  7C D8 33 78 */	mr r24, r6
/* 80379EC4 00375B24  7C F9 3B 78 */	mr r25, r7
/* 80379EC8 00375B28  7D 1A 43 78 */	mr r26, r8
/* 80379ECC 00375B2C  7D 3B 4B 78 */	mr r27, r9
/* 80379ED0 00375B30  4B FF F9 ED */	bl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
/* 80379ED4 00375B34  2C 03 00 00 */	cmpwi r3, 0
/* 80379ED8 00375B38  7C 7D 1B 78 */	mr r29, r3
/* 80379EDC 00375B3C  3B 80 00 00 */	li r28, 0
/* 80379EE0 00375B40  40 82 00 98 */	bne lbl_80379F78
/* 80379EE4 00375B44  83 F6 00 04 */	lwz r31, 4(r22)
/* 80379EE8 00375B48  2C 1F 00 00 */	cmpwi r31, 0
/* 80379EEC 00375B4C  40 82 00 0C */	bne lbl_80379EF8
/* 80379EF0 00375B50  38 60 00 04 */	li r3, 4
/* 80379EF4 00375B54  48 00 02 94 */	b lbl_8037A188
lbl_80379EF8:
/* 80379EF8 00375B58  80 75 00 10 */	lwz r3, 0x10(r21)
/* 80379EFC 00375B5C  38 B6 02 28 */	addi r5, r22, 0x228
/* 80379F00 00375B60  80 97 00 00 */	lwz r4, 0(r23)
/* 80379F04 00375B64  38 C0 02 00 */	li r6, 0x200
/* 80379F08 00375B68  4B FF D1 A5 */	bl detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi
/* 80379F0C 00375B6C  2C 03 00 00 */	cmpwi r3, 0
/* 80379F10 00375B70  7C 7C 1B 78 */	mr r28, r3
/* 80379F14 00375B74  40 82 00 0C */	bne lbl_80379F20
/* 80379F18 00375B78  38 60 00 06 */	li r3, 6
/* 80379F1C 00375B7C  48 00 02 6C */	b lbl_8037A188
lbl_80379F20:
/* 80379F20 00375B80  3B DF 00 04 */	addi r30, r31, 4
/* 80379F24 00375B84  7F C3 F3 78 */	mr r3, r30
/* 80379F28 00375B88  4B EF 5A 21 */	bl OSLockMutex
/* 80379F2C 00375B8C  38 7F 00 1C */	addi r3, r31, 0x1c
/* 80379F30 00375B90  4B FF 66 D1 */	bl GetFreeSize__Q44nw4r3snd6detail9FrameHeapCFv
/* 80379F34 00375B94  7C 7F 1B 78 */	mr r31, r3
/* 80379F38 00375B98  7F C3 F3 78 */	mr r3, r30
/* 80379F3C 00375B9C  4B EF 5A E9 */	bl OSUnlockMutex
/* 80379F40 00375BA0  81 9C 00 00 */	lwz r12, 0(r28)
/* 80379F44 00375BA4  7F 83 E3 78 */	mr r3, r28
/* 80379F48 00375BA8  81 8C 00 40 */	lwz r12, 0x40(r12)
/* 80379F4C 00375BAC  7D 89 03 A6 */	mtctr r12
/* 80379F50 00375BB0  4E 80 04 21 */	bctrl
/* 80379F54 00375BB4  7C 1F 18 40 */	cmplw r31, r3
/* 80379F58 00375BB8  40 80 00 20 */	bge lbl_80379F78
/* 80379F5C 00375BBC  81 9C 00 00 */	lwz r12, 0(r28)
/* 80379F60 00375BC0  7F 83 E3 78 */	mr r3, r28
/* 80379F64 00375BC4  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80379F68 00375BC8  7D 89 03 A6 */	mtctr r12
/* 80379F6C 00375BCC  4E 80 04 21 */	bctrl
/* 80379F70 00375BD0  38 60 00 05 */	li r3, 5
/* 80379F74 00375BD4  48 00 02 14 */	b lbl_8037A188
lbl_80379F78:
/* 80379F78 00375BD8  80 95 00 1C */	lwz r4, 0x1c(r21)
/* 80379F7C 00375BDC  7E C3 B3 78 */	mr r3, r22
/* 80379F80 00375BE0  80 B8 00 08 */	lwz r5, 8(r24)
/* 80379F84 00375BE4  7F 66 DB 78 */	mr r6, r27
/* 80379F88 00375BE8  38 F5 00 20 */	addi r7, r21, 0x20
/* 80379F8C 00375BEC  4B FF AD CD */	bl Setup__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback
/* 80379F90 00375BF0  48 00 00 B8 */	b lbl_8037A048
lbl_80379F94:
/* 80379F94 00375BF4  2C 03 00 01 */	cmpwi r3, 1
/* 80379F98 00375BF8  40 82 00 A8 */	bne lbl_8037A040
/* 80379F9C 00375BFC  80 15 00 3C */	lwz r0, 0x3c(r21)
/* 80379FA0 00375C00  28 00 00 01 */	cmplwi r0, 1
/* 80379FA4 00375C04  40 82 00 28 */	bne lbl_80379FCC
/* 80379FA8 00375C08  2C 1C 00 00 */	cmpwi r28, 0
/* 80379FAC 00375C0C  41 82 00 18 */	beq lbl_80379FC4
/* 80379FB0 00375C10  81 9C 00 00 */	lwz r12, 0(r28)
/* 80379FB4 00375C14  7F 83 E3 78 */	mr r3, r28
/* 80379FB8 00375C18  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80379FBC 00375C1C  7D 89 03 A6 */	mtctr r12
/* 80379FC0 00375C20  4E 80 04 21 */	bctrl
lbl_80379FC4:
/* 80379FC4 00375C24  38 60 00 01 */	li r3, 1
/* 80379FC8 00375C28  48 00 01 C0 */	b lbl_8037A188
lbl_80379FCC:
/* 80379FCC 00375C2C  2C 00 00 00 */	cmpwi r0, 0
/* 80379FD0 00375C30  40 82 00 0C */	bne lbl_80379FDC
/* 80379FD4 00375C34  38 60 00 00 */	li r3, 0
/* 80379FD8 00375C38  48 00 00 0C */	b lbl_80379FE4
lbl_80379FDC:
/* 80379FDC 00375C3C  80 75 00 40 */	lwz r3, 0x40(r21)
/* 80379FE0 00375C40  38 63 FF 48 */	addi r3, r3, -184
lbl_80379FE4:
/* 80379FE4 00375C44  7C 16 18 40 */	cmplw r22, r3
/* 80379FE8 00375C48  40 82 00 28 */	bne lbl_8037A010
/* 80379FEC 00375C4C  2C 1C 00 00 */	cmpwi r28, 0
/* 80379FF0 00375C50  41 82 00 18 */	beq lbl_8037A008
/* 80379FF4 00375C54  81 9C 00 00 */	lwz r12, 0(r28)
/* 80379FF8 00375C58  7F 83 E3 78 */	mr r3, r28
/* 80379FFC 00375C5C  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8037A000 00375C60  7D 89 03 A6 */	mtctr r12
/* 8037A004 00375C64  4E 80 04 21 */	bctrl
lbl_8037A008:
/* 8037A008 00375C68  38 60 00 01 */	li r3, 1
/* 8037A00C 00375C6C  48 00 01 7C */	b lbl_8037A188
lbl_8037A010:
/* 8037A010 00375C70  81 83 00 00 */	lwz r12, 0(r3)
/* 8037A014 00375C74  38 80 00 00 */	li r4, 0
/* 8037A018 00375C78  81 8C 00 18 */	lwz r12, 0x18(r12)
/* 8037A01C 00375C7C  7D 89 03 A6 */	mtctr r12
/* 8037A020 00375C80  4E 80 04 21 */	bctrl
/* 8037A024 00375C84  80 95 00 1C */	lwz r4, 0x1c(r21)
/* 8037A028 00375C88  7E C3 B3 78 */	mr r3, r22
/* 8037A02C 00375C8C  80 B8 00 08 */	lwz r5, 8(r24)
/* 8037A030 00375C90  7F 66 DB 78 */	mr r6, r27
/* 8037A034 00375C94  38 F5 00 20 */	addi r7, r21, 0x20
/* 8037A038 00375C98  4B FF AD 21 */	bl Setup__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback
/* 8037A03C 00375C9C  48 00 00 0C */	b lbl_8037A048
lbl_8037A040:
/* 8037A040 00375CA0  38 60 00 FF */	li r3, 0xff
/* 8037A044 00375CA4  48 00 01 44 */	b lbl_8037A188
lbl_8037A048:
/* 8037A048 00375CA8  2C 03 00 00 */	cmpwi r3, 0
/* 8037A04C 00375CAC  40 82 FF 48 */	bne lbl_80379F94
/* 8037A050 00375CB0  80 97 00 0C */	lwz r4, 0xc(r23)
/* 8037A054 00375CB4  3C 00 43 30 */	lis r0, 0x4330
/* 8037A058 00375CB8  90 01 00 10 */	stw r0, 0x10(r1)
/* 8037A05C 00375CBC  7E C3 B3 78 */	mr r3, r22
/* 8037A060 00375CC0  6C 80 80 00 */	xoris r0, r4, 0x8000
/* 8037A064 00375CC4  81 96 00 00 */	lwz r12, 0(r22)
/* 8037A068 00375CC8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037A06C 00375CCC  C8 42 A7 58 */	lfd f2, lbl_80642D58-_SDA2_BASE_(r2)
/* 8037A070 00375CD0  C8 21 00 10 */	lfd f1, 0x10(r1)
/* 8037A074 00375CD4  C0 02 A7 50 */	lfs f0, lbl_80642D50-_SDA2_BASE_(r2)
/* 8037A078 00375CD8  EC 21 10 28 */	fsubs f1, f1, f2
/* 8037A07C 00375CDC  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8037A080 00375CE0  EC 21 00 24 */	fdivs f1, f1, f0
/* 8037A084 00375CE4  7D 89 03 A6 */	mtctr r12
/* 8037A088 00375CE8  4E 80 04 21 */	bctrl
/* 8037A08C 00375CEC  80 98 00 0C */	lwz r4, 0xc(r24)
/* 8037A090 00375CF0  7E C3 B3 78 */	mr r3, r22
/* 8037A094 00375CF4  4B FF B0 51 */	bl func_803750E4
/* 8037A098 00375CF8  88 98 00 10 */	lbz r4, 0x10(r24)
/* 8037A09C 00375CFC  7E C3 B3 78 */	mr r3, r22
/* 8037A0A0 00375D00  4B FF B0 4D */	bl func_803750EC
/* 8037A0A4 00375D04  81 96 00 00 */	lwz r12, 0(r22)
/* 8037A0A8 00375D08  7E C3 B3 78 */	mr r3, r22
/* 8037A0AC 00375D0C  80 97 00 10 */	lwz r4, 0x10(r23)
/* 8037A0B0 00375D10  81 8C 00 50 */	lwz r12, 0x50(r12)
/* 8037A0B4 00375D14  7D 89 03 A6 */	mtctr r12
/* 8037A0B8 00375D18  4E 80 04 21 */	bctrl
/* 8037A0BC 00375D1C  81 96 00 00 */	lwz r12, 0(r22)
/* 8037A0C0 00375D20  7E C3 B3 78 */	mr r3, r22
/* 8037A0C4 00375D24  80 97 00 14 */	lwz r4, 0x14(r23)
/* 8037A0C8 00375D28  81 8C 00 54 */	lwz r12, 0x54(r12)
/* 8037A0CC 00375D2C  7D 89 03 A6 */	mtctr r12
/* 8037A0D0 00375D30  4E 80 04 21 */	bctrl
/* 8037A0D4 00375D34  81 96 00 00 */	lwz r12, 0(r22)
/* 8037A0D8 00375D38  7E C3 B3 78 */	mr r3, r22
/* 8037A0DC 00375D3C  80 97 00 18 */	lwz r4, 0x18(r23)
/* 8037A0E0 00375D40  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8037A0E4 00375D44  7D 89 03 A6 */	mtctr r12
/* 8037A0E8 00375D48  4E 80 04 21 */	bctrl
/* 8037A0EC 00375D4C  2C 19 00 01 */	cmpwi r25, 1
/* 8037A0F0 00375D50  41 82 00 28 */	beq lbl_8037A118
/* 8037A0F4 00375D54  40 80 00 10 */	bge lbl_8037A104
/* 8037A0F8 00375D58  2C 19 00 00 */	cmpwi r25, 0
/* 8037A0FC 00375D5C  40 80 00 14 */	bge lbl_8037A110
/* 8037A100 00375D60  48 00 00 2C */	b lbl_8037A12C
lbl_8037A104:
/* 8037A104 00375D64  2C 19 00 03 */	cmpwi r25, 3
/* 8037A108 00375D68  40 80 00 24 */	bge lbl_8037A12C
/* 8037A10C 00375D6C  48 00 00 14 */	b lbl_8037A120
lbl_8037A110:
/* 8037A110 00375D70  3B C0 00 01 */	li r30, 1
/* 8037A114 00375D74  48 00 00 20 */	b lbl_8037A134
lbl_8037A118:
/* 8037A118 00375D78  3B C0 00 00 */	li r30, 0
/* 8037A11C 00375D7C  48 00 00 18 */	b lbl_8037A134
lbl_8037A120:
/* 8037A120 00375D80  3B C0 00 00 */	li r30, 0
/* 8037A124 00375D84  3B 40 00 00 */	li r26, 0
/* 8037A128 00375D88  48 00 00 0C */	b lbl_8037A134
lbl_8037A12C:
/* 8037A12C 00375D8C  3B C0 00 00 */	li r30, 0
/* 8037A130 00375D90  3B 40 00 00 */	li r26, 0
lbl_8037A134:
/* 8037A134 00375D94  2C 1D 00 00 */	cmpwi r29, 0
/* 8037A138 00375D98  41 82 00 34 */	beq lbl_8037A16C
/* 8037A13C 00375D9C  7F A4 EB 78 */	mr r4, r29
/* 8037A140 00375DA0  38 61 00 08 */	addi r3, r1, 8
/* 8037A144 00375DA4  4B FF 98 A1 */	bl __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv
/* 8037A148 00375DA8  38 61 00 08 */	addi r3, r1, 8
/* 8037A14C 00375DAC  4B FF 99 05 */	bl GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv
/* 8037A150 00375DB0  80 B8 00 00 */	lwz r5, 0(r24)
/* 8037A154 00375DB4  7C 64 1B 78 */	mr r4, r3
/* 8037A158 00375DB8  7E C3 B3 78 */	mr r3, r22
/* 8037A15C 00375DBC  7F C6 F3 78 */	mr r6, r30
/* 8037A160 00375DC0  7F 47 D3 78 */	mr r7, r26
/* 8037A164 00375DC4  4B FF AC 5D */	bl Prepare__Q44nw4r3snd6detail8SeqSoundFPCvlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
/* 8037A168 00375DC8  48 00 00 1C */	b lbl_8037A184
lbl_8037A16C:
/* 8037A16C 00375DCC  80 B8 00 00 */	lwz r5, 0(r24)
/* 8037A170 00375DD0  7E C3 B3 78 */	mr r3, r22
/* 8037A174 00375DD4  7F 84 E3 78 */	mr r4, r28
/* 8037A178 00375DD8  7F C6 F3 78 */	mr r6, r30
/* 8037A17C 00375DDC  7F 47 D3 78 */	mr r7, r26
/* 8037A180 00375DE0  4B FF AC A9 */	bl Prepare__Q44nw4r3snd6detail8SeqSoundFPQ34nw4r2ut10FileStreamlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
lbl_8037A184:
/* 8037A184 00375DE4  38 60 00 00 */	li r3, 0
lbl_8037A188:
/* 8037A188 00375DE8  39 61 00 50 */	addi r11, r1, 0x50
/* 8037A18C 00375DEC  4B E4 CF D1 */	bl _restgpr_21
/* 8037A190 00375DF0  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8037A194 00375DF4  7C 08 03 A6 */	mtlr r0
/* 8037A198 00375DF8  38 21 00 50 */	addi r1, r1, 0x50
/* 8037A19C 00375DFC  4E 80 00 20 */	blr

.global PrepareStrmImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9StrmSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13StrmSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii
PrepareStrmImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9StrmSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13StrmSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii:
/* 8037A1A0 00375E00  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8037A1A4 00375E04  7C 08 02 A6 */	mflr r0
/* 8037A1A8 00375E08  90 01 00 34 */	stw r0, 0x34(r1)
/* 8037A1AC 00375E0C  39 61 00 30 */	addi r11, r1, 0x30
/* 8037A1B0 00375E10  4B E4 CF 75 */	bl _savegpr_26
/* 8037A1B4 00375E14  2C 07 00 01 */	cmpwi r7, 1
/* 8037A1B8 00375E18  7C 7A 1B 78 */	mr r26, r3
/* 8037A1BC 00375E1C  7C 9B 23 78 */	mr r27, r4
/* 8037A1C0 00375E20  7C BC 2B 78 */	mr r28, r5
/* 8037A1C4 00375E24  7D 1D 43 78 */	mr r29, r8
/* 8037A1C8 00375E28  7D 3E 4B 78 */	mr r30, r9
/* 8037A1CC 00375E2C  41 82 00 28 */	beq lbl_8037A1F4
/* 8037A1D0 00375E30  40 80 00 10 */	bge lbl_8037A1E0
/* 8037A1D4 00375E34  2C 07 00 00 */	cmpwi r7, 0
/* 8037A1D8 00375E38  40 80 00 14 */	bge lbl_8037A1EC
/* 8037A1DC 00375E3C  48 00 00 2C */	b lbl_8037A208
lbl_8037A1E0:
/* 8037A1E0 00375E40  2C 07 00 03 */	cmpwi r7, 3
/* 8037A1E4 00375E44  40 80 00 24 */	bge lbl_8037A208
/* 8037A1E8 00375E48  48 00 00 18 */	b lbl_8037A200
lbl_8037A1EC:
/* 8037A1EC 00375E4C  3B E0 00 01 */	li r31, 1
/* 8037A1F0 00375E50  48 00 00 20 */	b lbl_8037A210
lbl_8037A1F4:
/* 8037A1F4 00375E54  3B E0 00 00 */	li r31, 0
/* 8037A1F8 00375E58  3B A0 00 00 */	li r29, 0
/* 8037A1FC 00375E5C  48 00 00 14 */	b lbl_8037A210
lbl_8037A200:
/* 8037A200 00375E60  3B E0 00 00 */	li r31, 0
/* 8037A204 00375E64  48 00 00 0C */	b lbl_8037A210
lbl_8037A208:
/* 8037A208 00375E68  3B E0 00 00 */	li r31, 0
/* 8037A20C 00375E6C  3B A0 00 00 */	li r29, 0
lbl_8037A210:
/* 8037A210 00375E70  80 85 00 00 */	lwz r4, 0(r5)
/* 8037A214 00375E74  38 BB 09 54 */	addi r5, r27, 0x954
/* 8037A218 00375E78  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8037A21C 00375E7C  38 C0 02 00 */	li r6, 0x200
/* 8037A220 00375E80  4B FF CE 8D */	bl detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi
/* 8037A224 00375E84  2C 03 00 00 */	cmpwi r3, 0
/* 8037A228 00375E88  7C 68 1B 78 */	mr r8, r3
/* 8037A22C 00375E8C  40 82 00 0C */	bne lbl_8037A238
/* 8037A230 00375E90  38 60 00 06 */	li r3, 6
/* 8037A234 00375E94  48 00 00 B4 */	b lbl_8037A2E8
lbl_8037A238:
/* 8037A238 00375E98  7F 63 DB 78 */	mr r3, r27
/* 8037A23C 00375E9C  7F E5 FB 78 */	mr r5, r31
/* 8037A240 00375EA0  7F A6 EB 78 */	mr r6, r29
/* 8037A244 00375EA4  7F C7 F3 78 */	mr r7, r30
/* 8037A248 00375EA8  38 9A 00 BC */	addi r4, r26, 0xbc
/* 8037A24C 00375EAC  48 00 53 E1 */	bl Prepare__Q44nw4r3snd6detail9StrmSoundFPQ44nw4r3snd6detail14StrmBufferPoolQ54nw4r3snd6detail10StrmPlayer15StartOffsetTypeliPQ34nw4r2ut10FileStream
/* 8037A250 00375EB0  2C 03 00 00 */	cmpwi r3, 0
/* 8037A254 00375EB4  40 82 00 0C */	bne lbl_8037A260
/* 8037A258 00375EB8  38 60 00 FF */	li r3, 0xff
/* 8037A25C 00375EBC  48 00 00 8C */	b lbl_8037A2E8
lbl_8037A260:
/* 8037A260 00375EC0  80 9C 00 0C */	lwz r4, 0xc(r28)
/* 8037A264 00375EC4  3C 00 43 30 */	lis r0, 0x4330
/* 8037A268 00375EC8  90 01 00 08 */	stw r0, 8(r1)
/* 8037A26C 00375ECC  7F 63 DB 78 */	mr r3, r27
/* 8037A270 00375ED0  6C 80 80 00 */	xoris r0, r4, 0x8000
/* 8037A274 00375ED4  81 9B 00 00 */	lwz r12, 0(r27)
/* 8037A278 00375ED8  90 01 00 0C */	stw r0, 0xc(r1)
/* 8037A27C 00375EDC  C8 42 A7 58 */	lfd f2, lbl_80642D58-_SDA2_BASE_(r2)
/* 8037A280 00375EE0  C8 21 00 08 */	lfd f1, 8(r1)
/* 8037A284 00375EE4  C0 02 A7 50 */	lfs f0, lbl_80642D50-_SDA2_BASE_(r2)
/* 8037A288 00375EE8  EC 21 10 28 */	fsubs f1, f1, f2
/* 8037A28C 00375EEC  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8037A290 00375EF0  EC 21 00 24 */	fdivs f1, f1, f0
/* 8037A294 00375EF4  7D 89 03 A6 */	mtctr r12
/* 8037A298 00375EF8  4E 80 04 21 */	bctrl
/* 8037A29C 00375EFC  81 9B 00 00 */	lwz r12, 0(r27)
/* 8037A2A0 00375F00  7F 63 DB 78 */	mr r3, r27
/* 8037A2A4 00375F04  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 8037A2A8 00375F08  81 8C 00 50 */	lwz r12, 0x50(r12)
/* 8037A2AC 00375F0C  7D 89 03 A6 */	mtctr r12
/* 8037A2B0 00375F10  4E 80 04 21 */	bctrl
/* 8037A2B4 00375F14  81 9B 00 00 */	lwz r12, 0(r27)
/* 8037A2B8 00375F18  7F 63 DB 78 */	mr r3, r27
/* 8037A2BC 00375F1C  80 9C 00 14 */	lwz r4, 0x14(r28)
/* 8037A2C0 00375F20  81 8C 00 54 */	lwz r12, 0x54(r12)
/* 8037A2C4 00375F24  7D 89 03 A6 */	mtctr r12
/* 8037A2C8 00375F28  4E 80 04 21 */	bctrl
/* 8037A2CC 00375F2C  81 9B 00 00 */	lwz r12, 0(r27)
/* 8037A2D0 00375F30  7F 63 DB 78 */	mr r3, r27
/* 8037A2D4 00375F34  80 9C 00 18 */	lwz r4, 0x18(r28)
/* 8037A2D8 00375F38  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8037A2DC 00375F3C  7D 89 03 A6 */	mtctr r12
/* 8037A2E0 00375F40  4E 80 04 21 */	bctrl
/* 8037A2E4 00375F44  38 60 00 00 */	li r3, 0
lbl_8037A2E8:
/* 8037A2E8 00375F48  39 61 00 30 */	addi r11, r1, 0x30
/* 8037A2EC 00375F4C  4B E4 CE 85 */	bl _restgpr_26
/* 8037A2F0 00375F50  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8037A2F4 00375F54  7C 08 03 A6 */	mtlr r0
/* 8037A2F8 00375F58  38 21 00 30 */	addi r1, r1, 0x30
/* 8037A2FC 00375F5C  4E 80 00 20 */	blr

.global PrepareWaveSoundImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9WaveSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13WaveSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii
PrepareWaveSoundImpl__Q34nw4r3snd18SoundArchivePlayerFPQ44nw4r3snd6detail9WaveSoundPCQ44nw4r3snd12SoundArchive9SoundInfoPCQ44nw4r3snd12SoundArchive13WaveSoundInfoQ54nw4r3snd14SoundStartable9StartInfo15StartOffsetTypeii:
/* 8037A300 00375F60  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8037A304 00375F64  7C 08 02 A6 */	mflr r0
/* 8037A308 00375F68  90 01 00 34 */	stw r0, 0x34(r1)
/* 8037A30C 00375F6C  39 61 00 30 */	addi r11, r1, 0x30
/* 8037A310 00375F70  4B E4 CE 11 */	bl _savegpr_25
/* 8037A314 00375F74  7C 9A 23 78 */	mr r26, r4
/* 8037A318 00375F78  80 85 00 00 */	lwz r4, 0(r5)
/* 8037A31C 00375F7C  7C 79 1B 78 */	mr r25, r3
/* 8037A320 00375F80  7C BB 2B 78 */	mr r27, r5
/* 8037A324 00375F84  7C DC 33 78 */	mr r28, r6
/* 8037A328 00375F88  7C FD 3B 78 */	mr r29, r7
/* 8037A32C 00375F8C  7D 1E 43 78 */	mr r30, r8
/* 8037A330 00375F90  7D 3F 4B 78 */	mr r31, r9
/* 8037A334 00375F94  4B FF F5 89 */	bl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
/* 8037A338 00375F98  2C 03 00 00 */	cmpwi r3, 0
/* 8037A33C 00375F9C  7C 64 1B 78 */	mr r4, r3
/* 8037A340 00375FA0  40 82 00 0C */	bne lbl_8037A34C
/* 8037A344 00375FA4  38 60 00 04 */	li r3, 4
/* 8037A348 00375FA8  48 00 01 18 */	b lbl_8037A460
lbl_8037A34C:
/* 8037A34C 00375FAC  2C 1D 00 01 */	cmpwi r29, 1
/* 8037A350 00375FB0  41 82 00 28 */	beq lbl_8037A378
/* 8037A354 00375FB4  40 80 00 10 */	bge lbl_8037A364
/* 8037A358 00375FB8  2C 1D 00 00 */	cmpwi r29, 0
/* 8037A35C 00375FBC  40 80 00 14 */	bge lbl_8037A370
/* 8037A360 00375FC0  48 00 00 2C */	b lbl_8037A38C
lbl_8037A364:
/* 8037A364 00375FC4  2C 1D 00 03 */	cmpwi r29, 3
/* 8037A368 00375FC8  40 80 00 24 */	bge lbl_8037A38C
/* 8037A36C 00375FCC  48 00 00 18 */	b lbl_8037A384
lbl_8037A370:
/* 8037A370 00375FD0  38 C0 00 01 */	li r6, 1
/* 8037A374 00375FD4  48 00 00 20 */	b lbl_8037A394
lbl_8037A378:
/* 8037A378 00375FD8  38 C0 00 00 */	li r6, 0
/* 8037A37C 00375FDC  3B C0 00 00 */	li r30, 0
/* 8037A380 00375FE0  48 00 00 14 */	b lbl_8037A394
lbl_8037A384:
/* 8037A384 00375FE4  38 C0 00 00 */	li r6, 0
/* 8037A388 00375FE8  48 00 00 0C */	b lbl_8037A394
lbl_8037A38C:
/* 8037A38C 00375FEC  38 C0 00 00 */	li r6, 0
/* 8037A390 00375FF0  3B C0 00 00 */	li r30, 0
lbl_8037A394:
/* 8037A394 00375FF4  80 BC 00 00 */	lwz r5, 0(r28)
/* 8037A398 00375FF8  7F 43 D3 78 */	mr r3, r26
/* 8037A39C 00375FFC  81 5B 00 00 */	lwz r10, 0(r27)
/* 8037A3A0 00376000  7F C7 F3 78 */	mr r7, r30
/* 8037A3A4 00376004  7F E8 FB 78 */	mr r8, r31
/* 8037A3A8 00376008  39 39 00 28 */	addi r9, r25, 0x28
/* 8037A3AC 0037600C  48 00 93 41 */	bl Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
/* 8037A3B0 00376010  2C 03 00 00 */	cmpwi r3, 0
/* 8037A3B4 00376014  40 82 00 0C */	bne lbl_8037A3C0
/* 8037A3B8 00376018  38 60 00 FF */	li r3, 0xff
/* 8037A3BC 0037601C  48 00 00 A4 */	b lbl_8037A460
lbl_8037A3C0:
/* 8037A3C0 00376020  80 9B 00 0C */	lwz r4, 0xc(r27)
/* 8037A3C4 00376024  3C 00 43 30 */	lis r0, 0x4330
/* 8037A3C8 00376028  90 01 00 08 */	stw r0, 8(r1)
/* 8037A3CC 0037602C  7F 43 D3 78 */	mr r3, r26
/* 8037A3D0 00376030  6C 80 80 00 */	xoris r0, r4, 0x8000
/* 8037A3D4 00376034  81 9A 00 00 */	lwz r12, 0(r26)
/* 8037A3D8 00376038  90 01 00 0C */	stw r0, 0xc(r1)
/* 8037A3DC 0037603C  C8 42 A7 58 */	lfd f2, lbl_80642D58-_SDA2_BASE_(r2)
/* 8037A3E0 00376040  C8 21 00 08 */	lfd f1, 8(r1)
/* 8037A3E4 00376044  C0 02 A7 50 */	lfs f0, lbl_80642D50-_SDA2_BASE_(r2)
/* 8037A3E8 00376048  EC 21 10 28 */	fsubs f1, f1, f2
/* 8037A3EC 0037604C  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8037A3F0 00376050  EC 21 00 24 */	fdivs f1, f1, f0
/* 8037A3F4 00376054  7D 89 03 A6 */	mtctr r12
/* 8037A3F8 00376058  4E 80 04 21 */	bctrl
/* 8037A3FC 0037605C  80 9C 00 04 */	lwz r4, 4(r28)
/* 8037A400 00376060  7F 43 D3 78 */	mr r3, r26
/* 8037A404 00376064  48 00 94 61 */	bl SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi
/* 8037A408 00376068  88 9C 00 08 */	lbz r4, 8(r28)
/* 8037A40C 0037606C  7F 43 D3 78 */	mr r3, r26
/* 8037A410 00376070  48 00 94 5D */	bl SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb
/* 8037A414 00376074  81 9A 00 00 */	lwz r12, 0(r26)
/* 8037A418 00376078  7F 43 D3 78 */	mr r3, r26
/* 8037A41C 0037607C  80 9B 00 10 */	lwz r4, 0x10(r27)
/* 8037A420 00376080  81 8C 00 50 */	lwz r12, 0x50(r12)
/* 8037A424 00376084  7D 89 03 A6 */	mtctr r12
/* 8037A428 00376088  4E 80 04 21 */	bctrl
/* 8037A42C 0037608C  81 9A 00 00 */	lwz r12, 0(r26)
/* 8037A430 00376090  7F 43 D3 78 */	mr r3, r26
/* 8037A434 00376094  80 9B 00 14 */	lwz r4, 0x14(r27)
/* 8037A438 00376098  81 8C 00 54 */	lwz r12, 0x54(r12)
/* 8037A43C 0037609C  7D 89 03 A6 */	mtctr r12
/* 8037A440 003760A0  4E 80 04 21 */	bctrl
/* 8037A444 003760A4  81 9A 00 00 */	lwz r12, 0(r26)
/* 8037A448 003760A8  7F 43 D3 78 */	mr r3, r26
/* 8037A44C 003760AC  80 9B 00 18 */	lwz r4, 0x18(r27)
/* 8037A450 003760B0  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8037A454 003760B4  7D 89 03 A6 */	mtctr r12
/* 8037A458 003760B8  4E 80 04 21 */	bctrl
/* 8037A45C 003760BC  38 60 00 00 */	li r3, 0
lbl_8037A460:
/* 8037A460 003760C0  39 61 00 30 */	addi r11, r1, 0x30
/* 8037A464 003760C4  4B E4 CD 09 */	bl _restgpr_25
/* 8037A468 003760C8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8037A46C 003760CC  7C 08 03 A6 */	mtlr r0
/* 8037A470 003760D0  38 21 00 30 */	addi r1, r1, 0x30
/* 8037A474 003760D4  4E 80 00 20 */	blr

.global LoadGroup__Q34nw4r3snd18SoundArchivePlayerFUlPQ34nw4r3snd22SoundMemoryAllocatableUl
LoadGroup__Q34nw4r3snd18SoundArchivePlayerFUlPQ34nw4r3snd22SoundMemoryAllocatableUl:
/* 8037A478 003760D8  94 21 FD C0 */	stwu r1, -0x240(r1)
/* 8037A47C 003760DC  7C 08 02 A6 */	mflr r0
/* 8037A480 003760E0  90 01 02 44 */	stw r0, 0x244(r1)
/* 8037A484 003760E4  93 E1 02 3C */	stw r31, 0x23c(r1)
/* 8037A488 003760E8  7C DF 33 78 */	mr r31, r6
/* 8037A48C 003760EC  93 C1 02 38 */	stw r30, 0x238(r1)
/* 8037A490 003760F0  7C BE 2B 78 */	mr r30, r5
/* 8037A494 003760F4  93 A1 02 34 */	stw r29, 0x234(r1)
/* 8037A498 003760F8  7C 9D 23 78 */	mr r29, r4
/* 8037A49C 003760FC  93 81 02 30 */	stw r28, 0x230(r1)
/* 8037A4A0 00376100  7C 7C 1B 78 */	mr r28, r3
/* 8037A4A4 00376104  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8037A4A8 00376108  2C 00 00 00 */	cmpwi r0, 0
/* 8037A4AC 0037610C  40 82 00 0C */	bne lbl_8037A4B8
/* 8037A4B0 00376110  38 60 00 00 */	li r3, 0
/* 8037A4B4 00376114  48 00 00 0C */	b lbl_8037A4C0
lbl_8037A4B8:
/* 8037A4B8 00376118  7C 03 03 78 */	mr r3, r0
/* 8037A4BC 0037611C  4B FF CB 35 */	bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv
lbl_8037A4C0:
/* 8037A4C0 00376120  2C 03 00 00 */	cmpwi r3, 0
/* 8037A4C4 00376124  40 82 00 0C */	bne lbl_8037A4D0
/* 8037A4C8 00376128  38 60 00 00 */	li r3, 0
/* 8037A4CC 0037612C  48 00 00 F4 */	b lbl_8037A5C0
lbl_8037A4D0:
/* 8037A4D0 00376130  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 8037A4D4 00376134  4B FF CB 61 */	bl func_80377034
/* 8037A4D8 00376138  7C 1D 18 40 */	cmplw r29, r3
/* 8037A4DC 0037613C  41 80 00 0C */	blt lbl_8037A4E8
/* 8037A4E0 00376140  38 60 00 00 */	li r3, 0
/* 8037A4E4 00376144  48 00 00 DC */	b lbl_8037A5C0
lbl_8037A4E8:
/* 8037A4E8 00376148  80 7C 00 14 */	lwz r3, 0x14(r28)
/* 8037A4EC 0037614C  2C 03 00 00 */	cmpwi r3, 0
/* 8037A4F0 00376150  40 82 00 0C */	bne lbl_8037A4FC
/* 8037A4F4 00376154  38 00 00 00 */	li r0, 0
/* 8037A4F8 00376158  48 00 00 24 */	b lbl_8037A51C
lbl_8037A4FC:
/* 8037A4FC 0037615C  80 03 00 00 */	lwz r0, 0(r3)
/* 8037A500 00376160  7C 1D 00 40 */	cmplw r29, r0
/* 8037A504 00376164  41 80 00 0C */	blt lbl_8037A510
/* 8037A508 00376168  38 00 00 00 */	li r0, 0
/* 8037A50C 0037616C  48 00 00 10 */	b lbl_8037A51C
lbl_8037A510:
/* 8037A510 00376170  57 A0 18 38 */	slwi r0, r29, 3
/* 8037A514 00376174  7C 63 02 14 */	add r3, r3, r0
/* 8037A518 00376178  80 03 00 04 */	lwz r0, 4(r3)
lbl_8037A51C:
/* 8037A51C 0037617C  2C 00 00 00 */	cmpwi r0, 0
/* 8037A520 00376180  41 82 00 0C */	beq lbl_8037A52C
/* 8037A524 00376184  38 60 00 01 */	li r3, 1
/* 8037A528 00376188  48 00 00 98 */	b lbl_8037A5C0
lbl_8037A52C:
/* 8037A52C 0037618C  2C 1E 00 00 */	cmpwi r30, 0
/* 8037A530 00376190  40 82 00 0C */	bne lbl_8037A53C
/* 8037A534 00376194  38 60 00 00 */	li r3, 0
/* 8037A538 00376198  48 00 00 88 */	b lbl_8037A5C0
lbl_8037A53C:
/* 8037A53C 0037619C  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 8037A540 003761A0  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A544 003761A4  4B FF DE 0D */	bl __ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive
/* 8037A548 003761A8  7F A4 EB 78 */	mr r4, r29
/* 8037A54C 003761AC  7F C5 F3 78 */	mr r5, r30
/* 8037A550 003761B0  7F E7 FB 78 */	mr r7, r31
/* 8037A554 003761B4  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A558 003761B8  38 C1 00 08 */	addi r6, r1, 8
/* 8037A55C 003761BC  4B FF DE 71 */	bl LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl
/* 8037A560 003761C0  2C 03 00 00 */	cmpwi r3, 0
/* 8037A564 003761C4  40 82 00 18 */	bne lbl_8037A57C
/* 8037A568 003761C8  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A56C 003761CC  38 80 FF FF */	li r4, -1
/* 8037A570 003761D0  4B FF DE 1D */	bl __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv
/* 8037A574 003761D4  38 60 00 00 */	li r3, 0
/* 8037A578 003761D8  48 00 00 48 */	b lbl_8037A5C0
lbl_8037A57C:
/* 8037A57C 003761DC  80 9C 00 14 */	lwz r4, 0x14(r28)
/* 8037A580 003761E0  2C 04 00 00 */	cmpwi r4, 0
/* 8037A584 003761E4  41 82 00 10 */	beq lbl_8037A594
/* 8037A588 003761E8  57 A0 18 38 */	slwi r0, r29, 3
/* 8037A58C 003761EC  7C 84 02 14 */	add r4, r4, r0
/* 8037A590 003761F0  90 64 00 04 */	stw r3, 4(r4)
lbl_8037A594:
/* 8037A594 003761F4  80 7C 00 14 */	lwz r3, 0x14(r28)
/* 8037A598 003761F8  80 81 00 08 */	lwz r4, 8(r1)
/* 8037A59C 003761FC  2C 03 00 00 */	cmpwi r3, 0
/* 8037A5A0 00376200  41 82 00 10 */	beq lbl_8037A5B0
/* 8037A5A4 00376204  57 A0 18 38 */	slwi r0, r29, 3
/* 8037A5A8 00376208  7C 63 02 14 */	add r3, r3, r0
/* 8037A5AC 0037620C  90 83 00 08 */	stw r4, 8(r3)
lbl_8037A5B0:
/* 8037A5B0 00376210  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A5B4 00376214  38 80 FF FF */	li r4, -1
/* 8037A5B8 00376218  4B FF DD D5 */	bl __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv
/* 8037A5BC 0037621C  38 60 00 01 */	li r3, 1
lbl_8037A5C0:
/* 8037A5C0 00376220  80 01 02 44 */	lwz r0, 0x244(r1)
/* 8037A5C4 00376224  83 E1 02 3C */	lwz r31, 0x23c(r1)
/* 8037A5C8 00376228  83 C1 02 38 */	lwz r30, 0x238(r1)
/* 8037A5CC 0037622C  83 A1 02 34 */	lwz r29, 0x234(r1)
/* 8037A5D0 00376230  83 81 02 30 */	lwz r28, 0x230(r1)
/* 8037A5D4 00376234  7C 08 03 A6 */	mtlr r0
/* 8037A5D8 00376238  38 21 02 40 */	addi r1, r1, 0x240
/* 8037A5DC 0037623C  4E 80 00 20 */	blr

.global InvalidateData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv
InvalidateData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv:
/* 8037A5E0 00376240  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8037A5E4 00376244  2C 00 00 00 */	cmpwi r0, 0
/* 8037A5E8 00376248  4D 82 00 20 */	beqlr
/* 8037A5EC 0037624C  39 20 00 00 */	li r9, 0
/* 8037A5F0 00376250  38 E0 00 00 */	li r7, 0
/* 8037A5F4 00376254  38 C0 00 00 */	li r6, 0
/* 8037A5F8 00376258  48 00 00 28 */	b lbl_8037A620
lbl_8037A5FC:
/* 8037A5FC 0037625C  7D 08 3A 14 */	add r8, r8, r7
/* 8037A600 00376260  80 08 00 04 */	lwz r0, 4(r8)
/* 8037A604 00376264  7C 04 00 40 */	cmplw r4, r0
/* 8037A608 00376268  41 81 00 10 */	bgt lbl_8037A618
/* 8037A60C 0037626C  7C 00 28 40 */	cmplw r0, r5
/* 8037A610 00376270  41 81 00 08 */	bgt lbl_8037A618
/* 8037A614 00376274  90 C8 00 04 */	stw r6, 4(r8)
lbl_8037A618:
/* 8037A618 00376278  38 E7 00 08 */	addi r7, r7, 8
/* 8037A61C 0037627C  39 29 00 01 */	addi r9, r9, 1
lbl_8037A620:
/* 8037A620 00376280  81 03 00 14 */	lwz r8, 0x14(r3)
/* 8037A624 00376284  80 08 00 00 */	lwz r0, 0(r8)
/* 8037A628 00376288  7C 09 00 40 */	cmplw r9, r0
/* 8037A62C 0037628C  41 80 FF D0 */	blt lbl_8037A5FC
/* 8037A630 00376290  4E 80 00 20 */	blr

.global InvalidateWaveData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv
InvalidateWaveData__Q34nw4r3snd18SoundArchivePlayerFPCvPCv:
/* 8037A634 00376294  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8037A638 00376298  2C 00 00 00 */	cmpwi r0, 0
/* 8037A63C 0037629C  4D 82 00 20 */	beqlr
/* 8037A640 003762A0  39 20 00 00 */	li r9, 0
/* 8037A644 003762A4  38 E0 00 00 */	li r7, 0
/* 8037A648 003762A8  38 C0 00 00 */	li r6, 0
/* 8037A64C 003762AC  48 00 00 28 */	b lbl_8037A674
lbl_8037A650:
/* 8037A650 003762B0  7D 08 3A 14 */	add r8, r8, r7
/* 8037A654 003762B4  80 08 00 08 */	lwz r0, 8(r8)
/* 8037A658 003762B8  7C 04 00 40 */	cmplw r4, r0
/* 8037A65C 003762BC  41 81 00 10 */	bgt lbl_8037A66C
/* 8037A660 003762C0  7C 00 28 40 */	cmplw r0, r5
/* 8037A664 003762C4  41 81 00 08 */	bgt lbl_8037A66C
/* 8037A668 003762C8  90 C8 00 08 */	stw r6, 8(r8)
lbl_8037A66C:
/* 8037A66C 003762CC  38 E7 00 08 */	addi r7, r7, 8
/* 8037A670 003762D0  39 29 00 01 */	addi r9, r9, 1
lbl_8037A674:
/* 8037A674 003762D4  81 03 00 14 */	lwz r8, 0x14(r3)
/* 8037A678 003762D8  80 08 00 00 */	lwz r0, 0(r8)
/* 8037A67C 003762DC  7C 09 00 40 */	cmplw r9, r0
/* 8037A680 003762E0  41 80 FF D0 */	blt lbl_8037A650
/* 8037A684 003762E4  4E 80 00 20 */	blr

.global NoteOn__Q44nw4r3snd18SoundArchivePlayer17SeqNoteOnCallbackFPQ44nw4r3snd6detail9SeqPlayeriRCQ44nw4r3snd6detail10NoteOnInfo
NoteOn__Q44nw4r3snd18SoundArchivePlayer17SeqNoteOnCallbackFPQ44nw4r3snd6detail9SeqPlayeriRCQ44nw4r3snd6detail10NoteOnInfo:
/* 8037A688 003762E8  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8037A68C 003762EC  7C 08 02 A6 */	mflr r0
/* 8037A690 003762F0  90 01 00 54 */	stw r0, 0x54(r1)
/* 8037A694 003762F4  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 8037A698 003762F8  7C 9F 23 78 */	mr r31, r4
/* 8037A69C 003762FC  93 C1 00 48 */	stw r30, 0x48(r1)
/* 8037A6A0 00376300  7C DE 33 78 */	mr r30, r6
/* 8037A6A4 00376304  93 A1 00 44 */	stw r29, 0x44(r1)
/* 8037A6A8 00376308  7C 7D 1B 78 */	mr r29, r3
/* 8037A6AC 0037630C  80 A3 00 04 */	lwz r5, 4(r3)
/* 8037A6B0 00376310  80 65 00 10 */	lwz r3, 0x10(r5)
/* 8037A6B4 00376314  2C 03 00 00 */	cmpwi r3, 0
/* 8037A6B8 00376318  40 82 00 0C */	bne lbl_8037A6C4
/* 8037A6BC 0037631C  38 60 00 00 */	li r3, 0
/* 8037A6C0 00376320  48 00 00 08 */	b lbl_8037A6C8
lbl_8037A6C4:
/* 8037A6C4 00376324  4B FF C9 2D */	bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv
lbl_8037A6C8:
/* 8037A6C8 00376328  2C 03 00 00 */	cmpwi r3, 0
/* 8037A6CC 0037632C  40 82 00 0C */	bne lbl_8037A6D8
/* 8037A6D0 00376330  38 60 00 00 */	li r3, 0
/* 8037A6D4 00376334  48 00 00 C0 */	b lbl_8037A794
lbl_8037A6D8:
/* 8037A6D8 00376338  80 7D 00 04 */	lwz r3, 4(r29)
/* 8037A6DC 0037633C  38 A1 00 20 */	addi r5, r1, 0x20
/* 8037A6E0 00376340  80 9F 00 04 */	lwz r4, 4(r31)
/* 8037A6E4 00376344  83 E3 00 10 */	lwz r31, 0x10(r3)
/* 8037A6E8 00376348  7F E3 FB 78 */	mr r3, r31
/* 8037A6EC 0037634C  4B FF C9 71 */	bl func_8037705C
/* 8037A6F0 00376350  2C 03 00 00 */	cmpwi r3, 0
/* 8037A6F4 00376354  40 82 00 0C */	bne lbl_8037A700
/* 8037A6F8 00376358  38 60 00 00 */	li r3, 0
/* 8037A6FC 0037635C  48 00 00 98 */	b lbl_8037A794
lbl_8037A700:
/* 8037A700 00376360  80 81 00 24 */	lwz r4, 0x24(r1)
/* 8037A704 00376364  7F E3 FB 78 */	mr r3, r31
/* 8037A708 00376368  38 A1 00 08 */	addi r5, r1, 8
/* 8037A70C 0037636C  4B FF C9 79 */	bl func_80377084
/* 8037A710 00376370  2C 03 00 00 */	cmpwi r3, 0
/* 8037A714 00376374  40 82 00 0C */	bne lbl_8037A720
/* 8037A718 00376378  38 60 00 00 */	li r3, 0
/* 8037A71C 0037637C  48 00 00 78 */	b lbl_8037A794
lbl_8037A720:
/* 8037A720 00376380  80 7D 00 04 */	lwz r3, 4(r29)
/* 8037A724 00376384  80 81 00 08 */	lwz r4, 8(r1)
/* 8037A728 00376388  4B FF F1 95 */	bl detail_GetFileAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
/* 8037A72C 0037638C  2C 03 00 00 */	cmpwi r3, 0
/* 8037A730 00376390  40 82 00 0C */	bne lbl_8037A73C
/* 8037A734 00376394  38 60 00 00 */	li r3, 0
/* 8037A738 00376398  48 00 00 5C */	b lbl_8037A794
lbl_8037A73C:
/* 8037A73C 0037639C  7C 64 1B 78 */	mr r4, r3
/* 8037A740 003763A0  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A744 003763A4  4B FF 21 11 */	bl __ct__Q44nw4r3snd6detail4BankFPCv
/* 8037A748 003763A8  80 7D 00 04 */	lwz r3, 4(r29)
/* 8037A74C 003763AC  80 81 00 08 */	lwz r4, 8(r1)
/* 8037A750 003763B0  4B FF F2 B9 */	bl detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
/* 8037A754 003763B4  2C 03 00 00 */	cmpwi r3, 0
/* 8037A758 003763B8  40 82 00 18 */	bne lbl_8037A770
/* 8037A75C 003763BC  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A760 003763C0  38 80 FF FF */	li r4, -1
/* 8037A764 003763C4  4B FF 21 29 */	bl __dt__Q44nw4r3snd6detail4BankFv
/* 8037A768 003763C8  38 60 00 00 */	li r3, 0
/* 8037A76C 003763CC  48 00 00 28 */	b lbl_8037A794
lbl_8037A770:
/* 8037A770 003763D0  90 61 00 1C */	stw r3, 0x1c(r1)
/* 8037A774 003763D4  7F C4 F3 78 */	mr r4, r30
/* 8037A778 003763D8  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A77C 003763DC  4B FF 21 51 */	bl NoteOn__Q44nw4r3snd6detail4BankCFRCQ44nw4r3snd6detail10NoteOnInfo
/* 8037A780 003763E0  7C 7F 1B 78 */	mr r31, r3
/* 8037A784 003763E4  38 61 00 10 */	addi r3, r1, 0x10
/* 8037A788 003763E8  38 80 FF FF */	li r4, -1
/* 8037A78C 003763EC  4B FF 21 01 */	bl __dt__Q44nw4r3snd6detail4BankFv
/* 8037A790 003763F0  7F E3 FB 78 */	mr r3, r31
lbl_8037A794:
/* 8037A794 003763F4  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8037A798 003763F8  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 8037A79C 003763FC  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 8037A7A0 00376400  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 8037A7A4 00376404  7C 08 03 A6 */	mtlr r0
/* 8037A7A8 00376408  38 21 00 50 */	addi r1, r1, 0x50
/* 8037A7AC 0037640C  4E 80 00 20 */	blr

.global GetWaveSoundData__Q44nw4r3snd18SoundArchivePlayer11WsdCallbackCFPQ44nw4r3snd6detail13WaveSoundInfoPQ44nw4r3snd6detail17WaveSoundNoteInfoPQ44nw4r3snd6detail8WaveDataPCviiUl
GetWaveSoundData__Q44nw4r3snd18SoundArchivePlayer11WsdCallbackCFPQ44nw4r3snd6detail13WaveSoundInfoPQ44nw4r3snd6detail17WaveSoundNoteInfoPQ44nw4r3snd6detail8WaveDataPCviiUl:
/* 8037A7B0 00376410  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8037A7B4 00376414  7C 08 02 A6 */	mflr r0
/* 8037A7B8 00376418  90 01 00 44 */	stw r0, 0x44(r1)
/* 8037A7BC 0037641C  39 61 00 40 */	addi r11, r1, 0x40
/* 8037A7C0 00376420  4B E4 C9 5D */	bl _savegpr_24
/* 8037A7C4 00376424  81 63 00 04 */	lwz r11, 4(r3)
/* 8037A7C8 00376428  7C 78 1B 78 */	mr r24, r3
/* 8037A7CC 0037642C  7C 99 23 78 */	mr r25, r4
/* 8037A7D0 00376430  7C BA 2B 78 */	mr r26, r5
/* 8037A7D4 00376434  80 6B 00 10 */	lwz r3, 0x10(r11)
/* 8037A7D8 00376438  7C DB 33 78 */	mr r27, r6
/* 8037A7DC 0037643C  7C FC 3B 78 */	mr r28, r7
/* 8037A7E0 00376440  7D 1D 43 78 */	mr r29, r8
/* 8037A7E4 00376444  2C 03 00 00 */	cmpwi r3, 0
/* 8037A7E8 00376448  7D 3E 4B 78 */	mr r30, r9
/* 8037A7EC 0037644C  7D 5F 53 78 */	mr r31, r10
/* 8037A7F0 00376450  40 82 00 0C */	bne lbl_8037A7FC
/* 8037A7F4 00376454  38 60 00 00 */	li r3, 0
/* 8037A7F8 00376458  48 00 00 08 */	b lbl_8037A800
lbl_8037A7FC:
/* 8037A7FC 0037645C  4B FF C7 F5 */	bl IsAvailable__Q34nw4r3snd12SoundArchiveCFv
lbl_8037A800:
/* 8037A800 00376460  2C 03 00 00 */	cmpwi r3, 0
/* 8037A804 00376464  40 82 00 0C */	bne lbl_8037A810
/* 8037A808 00376468  38 60 00 00 */	li r3, 0
/* 8037A80C 0037646C  48 00 00 88 */	b lbl_8037A894
lbl_8037A810:
/* 8037A810 00376470  80 78 00 04 */	lwz r3, 4(r24)
/* 8037A814 00376474  7F E4 FB 78 */	mr r4, r31
/* 8037A818 00376478  4B FF F1 F1 */	bl detail_GetFileWaveDataAddress__Q34nw4r3snd18SoundArchivePlayerCFUl
/* 8037A81C 0037647C  2C 03 00 00 */	cmpwi r3, 0
/* 8037A820 00376480  7C 7F 1B 78 */	mr r31, r3
/* 8037A824 00376484  40 82 00 0C */	bne lbl_8037A830
/* 8037A828 00376488  38 60 00 00 */	li r3, 0
/* 8037A82C 0037648C  48 00 00 68 */	b lbl_8037A894
lbl_8037A830:
/* 8037A830 00376490  7F 84 E3 78 */	mr r4, r28
/* 8037A834 00376494  38 61 00 08 */	addi r3, r1, 8
/* 8037A838 00376498  48 00 91 A5 */	bl __ct__Q44nw4r3snd6detail13WsdFileReaderFPCv
/* 8037A83C 0037649C  7F 24 CB 78 */	mr r4, r25
/* 8037A840 003764A0  7F A5 EB 78 */	mr r5, r29
/* 8037A844 003764A4  38 61 00 08 */	addi r3, r1, 8
/* 8037A848 003764A8  48 00 92 11 */	bl ReadWaveSoundInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail13WaveSoundInfoi
/* 8037A84C 003764AC  2C 03 00 00 */	cmpwi r3, 0
/* 8037A850 003764B0  40 82 00 0C */	bne lbl_8037A85C
/* 8037A854 003764B4  38 60 00 00 */	li r3, 0
/* 8037A858 003764B8  48 00 00 3C */	b lbl_8037A894
lbl_8037A85C:
/* 8037A85C 003764BC  7F 44 D3 78 */	mr r4, r26
/* 8037A860 003764C0  7F A5 EB 78 */	mr r5, r29
/* 8037A864 003764C4  7F C6 F3 78 */	mr r6, r30
/* 8037A868 003764C8  38 61 00 08 */	addi r3, r1, 8
/* 8037A86C 003764CC  48 00 93 0D */	bl ReadWaveSoundNoteInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail17WaveSoundNoteInfoii
/* 8037A870 003764D0  2C 03 00 00 */	cmpwi r3, 0
/* 8037A874 003764D4  40 82 00 0C */	bne lbl_8037A880
/* 8037A878 003764D8  38 60 00 00 */	li r3, 0
/* 8037A87C 003764DC  48 00 00 18 */	b lbl_8037A894
lbl_8037A880:
/* 8037A880 003764E0  80 9A 00 00 */	lwz r4, 0(r26)
/* 8037A884 003764E4  7F 65 DB 78 */	mr r5, r27
/* 8037A888 003764E8  7F E6 FB 78 */	mr r6, r31
/* 8037A88C 003764EC  38 61 00 08 */	addi r3, r1, 8
/* 8037A890 003764F0  48 00 93 F9 */	bl ReadWaveParam__Q44nw4r3snd6detail13WsdFileReaderCFiPQ44nw4r3snd6detail8WaveDataPCv
lbl_8037A894:
/* 8037A894 003764F4  39 61 00 40 */	addi r11, r1, 0x40
/* 8037A898 003764F8  4B E4 C8 D1 */	bl _restgpr_24
/* 8037A89C 003764FC  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8037A8A0 00376500  7C 08 03 A6 */	mtlr r0
/* 8037A8A4 00376504  38 21 00 40 */	addi r1, r1, 0x40
/* 8037A8A8 00376508  4E 80 00 20 */	blr

.global detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc
detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc:
/* 8037A8AC 0037650C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8037A8B0 00376510  4B FF C7 8C */	b ConvertLabelStringToSoundId__Q34nw4r3snd12SoundArchiveCFPCc

.global __dt__Q44nw4r3snd6detail10PlayerHeapFv
__dt__Q44nw4r3snd6detail10PlayerHeapFv:
/* 8037A8B4 00376514  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037A8B8 00376518  7C 08 02 A6 */	mflr r0
/* 8037A8BC 0037651C  2C 03 00 00 */	cmpwi r3, 0
/* 8037A8C0 00376520  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037A8C4 00376524  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037A8C8 00376528  7C 9F 23 78 */	mr r31, r4
/* 8037A8CC 0037652C  93 C1 00 08 */	stw r30, 8(r1)
/* 8037A8D0 00376530  7C 7E 1B 78 */	mr r30, r3
/* 8037A8D4 00376534  41 82 00 1C */	beq lbl_8037A8F0
/* 8037A8D8 00376538  38 80 00 00 */	li r4, 0
/* 8037A8DC 0037653C  48 00 01 A9 */	bl __dt__Q34nw4r3snd9SoundHeapFv
/* 8037A8E0 00376540  2C 1F 00 00 */	cmpwi r31, 0
/* 8037A8E4 00376544  40 81 00 0C */	ble lbl_8037A8F0
/* 8037A8E8 00376548  7F C3 F3 78 */	mr r3, r30
/* 8037A8EC 0037654C  4B E6 01 CD */	bl __dl__FPv
lbl_8037A8F0:
/* 8037A8F0 00376550  7F C3 F3 78 */	mr r3, r30
/* 8037A8F4 00376554  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037A8F8 00376558  83 C1 00 08 */	lwz r30, 8(r1)
/* 8037A8FC 0037655C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037A900 00376560  7C 08 03 A6 */	mtlr r0
/* 8037A904 00376564  38 21 00 10 */	addi r1, r1, 0x10
/* 8037A908 00376568  4E 80 00 20 */	blr

/* @12@detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc */
.global func_8037A90C
func_8037A90C:
/* 8037A90C 0037656C  38 63 FF F4 */	addi r3, r3, -12
/* 8037A910 00376570  4B FF FF 9C */	b detail_ConvertLabelStringToSoundId__Q34nw4r3snd18SoundArchivePlayerFPCc

/* 12@detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo */
.global func_8037A914
func_8037A914:
/* 8037A914 00376574  38 63 FF F4 */	addi r3, r3, -12
/* 8037A918 00376578  4B FF F2 3C */	b detail_SetupSound__Q34nw4r3snd18SoundArchivePlayerFPQ34nw4r3snd11SoundHandleUlPQ54nw4r3snd6detail10BasicSound14AmbientArgInfoPQ44nw4r3snd6detail19ExternalSoundPlayerbPCQ44nw4r3snd14SoundStartable9StartInfo

/* @12@__dt__Q34nw4r3snd18SoundArchivePlayerFv */
.global func_8037A91C
func_8037A91C:
/* 8037A91C 0037657C  38 63 FF F4 */	addi r3, r3, -12
/* 8037A920 00376580  4B FF E3 9C */	b __dt__Q34nw4r3snd18SoundArchivePlayerFv