summaryrefslogtreecommitdiff
path: root/asm/nw4r/snd/detail/snd_SeqPlayer.s
blob: 2ce199a57ba0c95a6921e236b89b946a8fabb62f (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
.include "macros.inc"

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

.global __ct__Q44nw4r3snd6detail9SeqPlayerFv
__ct__Q44nw4r3snd6detail9SeqPlayerFv:
/* 80373A60 0036F6C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80373A64 0036F6C4  7C 08 02 A6 */	mflr r0
/* 80373A68 0036F6C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80373A6C 0036F6CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80373A70 0036F6D0  93 C1 00 08 */	stw r30, 8(r1)
/* 80373A74 0036F6D4  7C 7E 1B 78 */	mr r30, r3
/* 80373A78 0036F6D8  4B FF 94 0D */	bl __ct__Q44nw4r3snd6detail11BasicPlayerFv
/* 80373A7C 0036F6DC  3C A0 80 45 */	lis r5, lbl_8044CD20@ha
/* 80373A80 0036F6E0  3B E0 00 00 */	li r31, 0
/* 80373A84 0036F6E4  38 A5 CD 20 */	addi r5, r5, lbl_8044CD20@l
/* 80373A88 0036F6E8  93 FE 00 74 */	stw r31, 0x74(r30)
/* 80373A8C 0036F6EC  38 85 00 24 */	addi r4, r5, 0x24
/* 80373A90 0036F6F0  38 7E 01 1C */	addi r3, r30, 0x11c
/* 80373A94 0036F6F4  38 05 00 38 */	addi r0, r5, 0x38
/* 80373A98 0036F6F8  93 FE 00 78 */	stw r31, 0x78(r30)
/* 80373A9C 0036F6FC  93 FE 00 80 */	stw r31, 0x80(r30)
/* 80373AA0 0036F700  93 FE 00 84 */	stw r31, 0x84(r30)
/* 80373AA4 0036F704  90 BE 00 00 */	stw r5, 0(r30)
/* 80373AA8 0036F708  90 9E 00 7C */	stw r4, 0x7c(r30)
/* 80373AAC 0036F70C  90 1E 00 88 */	stw r0, 0x88(r30)
/* 80373AB0 0036F710  9B FE 00 8C */	stb r31, 0x8c(r30)
/* 80373AB4 0036F714  4B EF BE 5D */	bl OSInitMutex
/* 80373AB8 0036F718  C0 22 A6 A8 */	lfs f1, lbl_80642CA8-_SDA2_BASE_(r2)
/* 80373ABC 0036F71C  38 C0 00 78 */	li r6, 0x78
/* 80373AC0 0036F720  C0 02 A6 AC */	lfs f0, lbl_80642CAC-_SDA2_BASE_(r2)
/* 80373AC4 0036F724  38 A0 00 30 */	li r5, 0x30
/* 80373AC8 0036F728  38 80 00 7F */	li r4, 0x7f
/* 80373ACC 0036F72C  38 60 00 40 */	li r3, 0x40
/* 80373AD0 0036F730  9B FE 00 8D */	stb r31, 0x8d(r30)
/* 80373AD4 0036F734  38 00 FF FF */	li r0, -1
/* 80373AD8 0036F738  9B FE 00 8E */	stb r31, 0x8e(r30)
/* 80373ADC 0036F73C  9B FE 00 8F */	stb r31, 0x8f(r30)
/* 80373AE0 0036F740  D0 3E 00 94 */	stfs f1, 0x94(r30)
/* 80373AE4 0036F744  B3 FE 00 98 */	sth r31, 0x98(r30)
/* 80373AE8 0036F748  93 FE 00 9C */	stw r31, 0x9c(r30)
/* 80373AEC 0036F74C  D0 1E 00 A0 */	stfs f0, 0xa0(r30)
/* 80373AF0 0036F750  D0 3E 00 90 */	stfs f1, 0x90(r30)
/* 80373AF4 0036F754  93 FE 01 18 */	stw r31, 0x118(r30)
/* 80373AF8 0036F758  93 FE 00 A4 */	stw r31, 0xa4(r30)
/* 80373AFC 0036F75C  B0 DE 00 AC */	sth r6, 0xac(r30)
/* 80373B00 0036F760  98 BE 00 AA */	stb r5, 0xaa(r30)
/* 80373B04 0036F764  98 9E 00 A8 */	stb r4, 0xa8(r30)
/* 80373B08 0036F768  98 7E 00 A9 */	stb r3, 0xa9(r30)
/* 80373B0C 0036F76C  93 FE 00 B0 */	stw r31, 0xb0(r30)
/* 80373B10 0036F770  B0 1E 00 F8 */	sth r0, 0xf8(r30)
/* 80373B14 0036F774  B0 1E 00 FA */	sth r0, 0xfa(r30)
/* 80373B18 0036F778  B0 1E 00 FC */	sth r0, 0xfc(r30)
/* 80373B1C 0036F77C  B0 1E 00 FE */	sth r0, 0xfe(r30)
/* 80373B20 0036F780  B0 1E 01 00 */	sth r0, 0x100(r30)
/* 80373B24 0036F784  B0 1E 01 02 */	sth r0, 0x102(r30)
/* 80373B28 0036F788  B0 1E 01 04 */	sth r0, 0x104(r30)
/* 80373B2C 0036F78C  B0 1E 01 06 */	sth r0, 0x106(r30)
/* 80373B30 0036F790  B0 1E 01 08 */	sth r0, 0x108(r30)
/* 80373B34 0036F794  B0 1E 01 0A */	sth r0, 0x10a(r30)
/* 80373B38 0036F798  B0 1E 01 0C */	sth r0, 0x10c(r30)
/* 80373B3C 0036F79C  B0 1E 01 0E */	sth r0, 0x10e(r30)
/* 80373B40 0036F7A0  B0 1E 01 10 */	sth r0, 0x110(r30)
/* 80373B44 0036F7A4  B0 1E 01 12 */	sth r0, 0x112(r30)
/* 80373B48 0036F7A8  B0 1E 01 14 */	sth r0, 0x114(r30)
/* 80373B4C 0036F7AC  B0 1E 01 16 */	sth r0, 0x116(r30)
/* 80373B50 0036F7B0  38 00 00 00 */	li r0, 0
/* 80373B54 0036F7B4  7F C3 F3 78 */	mr r3, r30
/* 80373B58 0036F7B8  90 1E 00 B8 */	stw r0, 0xb8(r30)
/* 80373B5C 0036F7BC  90 1E 00 BC */	stw r0, 0xbc(r30)
/* 80373B60 0036F7C0  90 1E 00 C0 */	stw r0, 0xc0(r30)
/* 80373B64 0036F7C4  90 1E 00 C4 */	stw r0, 0xc4(r30)
/* 80373B68 0036F7C8  90 1E 00 C8 */	stw r0, 0xc8(r30)
/* 80373B6C 0036F7CC  90 1E 00 CC */	stw r0, 0xcc(r30)
/* 80373B70 0036F7D0  90 1E 00 D0 */	stw r0, 0xd0(r30)
/* 80373B74 0036F7D4  90 1E 00 D4 */	stw r0, 0xd4(r30)
/* 80373B78 0036F7D8  90 1E 00 D8 */	stw r0, 0xd8(r30)
/* 80373B7C 0036F7DC  90 1E 00 DC */	stw r0, 0xdc(r30)
/* 80373B80 0036F7E0  90 1E 00 E0 */	stw r0, 0xe0(r30)
/* 80373B84 0036F7E4  90 1E 00 E4 */	stw r0, 0xe4(r30)
/* 80373B88 0036F7E8  90 1E 00 E8 */	stw r0, 0xe8(r30)
/* 80373B8C 0036F7EC  90 1E 00 EC */	stw r0, 0xec(r30)
/* 80373B90 0036F7F0  90 1E 00 F0 */	stw r0, 0xf0(r30)
/* 80373B94 0036F7F4  90 1E 00 F4 */	stw r0, 0xf4(r30)
/* 80373B98 0036F7F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80373B9C 0036F7FC  83 C1 00 08 */	lwz r30, 8(r1)
/* 80373BA0 0036F800  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80373BA4 0036F804  7C 08 03 A6 */	mtlr r0
/* 80373BA8 0036F808  38 21 00 10 */	addi r1, r1, 0x10
/* 80373BAC 0036F80C  4E 80 00 20 */	blr

.global __dt__Q44nw4r3snd6detail9SeqPlayerFv
__dt__Q44nw4r3snd6detail9SeqPlayerFv:
/* 80373BB0 0036F810  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80373BB4 0036F814  7C 08 02 A6 */	mflr r0
/* 80373BB8 0036F818  90 01 00 24 */	stw r0, 0x24(r1)
/* 80373BBC 0036F81C  39 61 00 20 */	addi r11, r1, 0x20
/* 80373BC0 0036F820  4B E5 35 69 */	bl _savegpr_27
/* 80373BC4 0036F824  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 80373BC8 0036F828  7C 7B 1B 78 */	mr r27, r3
/* 80373BCC 0036F82C  7C 9C 23 78 */	mr r28, r4
/* 80373BD0 0036F830  41 86 00 E4 */	beq cr1, lbl_80373CB4
/* 80373BD4 0036F834  88 03 00 8D */	lbz r0, 0x8d(r3)
/* 80373BD8 0036F838  3C A0 80 45 */	lis r5, lbl_8044CD20@ha
/* 80373BDC 0036F83C  38 A5 CD 20 */	addi r5, r5, lbl_8044CD20@l
/* 80373BE0 0036F840  38 85 00 24 */	addi r4, r5, 0x24
/* 80373BE4 0036F844  2C 00 00 00 */	cmpwi r0, 0
/* 80373BE8 0036F848  38 05 00 38 */	addi r0, r5, 0x38
/* 80373BEC 0036F84C  90 A3 00 00 */	stw r5, 0(r3)
/* 80373BF0 0036F850  90 83 00 7C */	stw r4, 0x7c(r3)
/* 80373BF4 0036F854  90 03 00 88 */	stw r0, 0x88(r3)
/* 80373BF8 0036F858  41 82 00 24 */	beq lbl_80373C1C
/* 80373BFC 0036F85C  7F 7E DB 78 */	mr r30, r27
/* 80373C00 0036F860  41 86 00 08 */	beq cr1, lbl_80373C08
/* 80373C04 0036F864  3B C3 00 80 */	addi r30, r3, 0x80
lbl_80373C08:
/* 80373C08 0036F868  48 00 88 49 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 80373C0C 0036F86C  7F C4 F3 78 */	mr r4, r30
/* 80373C10 0036F870  48 00 8C 71 */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 80373C14 0036F874  38 00 00 00 */	li r0, 0
/* 80373C18 0036F878  98 1B 00 8D */	stb r0, 0x8d(r27)
lbl_80373C1C:
/* 80373C1C 0036F87C  88 1B 00 8C */	lbz r0, 0x8c(r27)
/* 80373C20 0036F880  2C 00 00 00 */	cmpwi r0, 0
/* 80373C24 0036F884  41 82 00 28 */	beq lbl_80373C4C
/* 80373C28 0036F888  2C 1B 00 00 */	cmpwi r27, 0
/* 80373C2C 0036F88C  7F 7E DB 78 */	mr r30, r27
/* 80373C30 0036F890  41 82 00 08 */	beq lbl_80373C38
/* 80373C34 0036F894  3B DB 00 74 */	addi r30, r27, 0x74
lbl_80373C38:
/* 80373C38 0036F898  4B FF B6 21 */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80373C3C 0036F89C  7F C4 F3 78 */	mr r4, r30
/* 80373C40 0036F8A0  4B FF B7 6D */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80373C44 0036F8A4  38 00 00 00 */	li r0, 0
/* 80373C48 0036F8A8  98 1B 00 8C */	stb r0, 0x8c(r27)
lbl_80373C4C:
/* 80373C4C 0036F8AC  7F 7D DB 78 */	mr r29, r27
/* 80373C50 0036F8B0  3B C0 00 00 */	li r30, 0
/* 80373C54 0036F8B4  3B E0 00 00 */	li r31, 0
lbl_80373C58:
/* 80373C58 0036F8B8  2C 1E 00 0F */	cmpwi r30, 0xf
/* 80373C5C 0036F8BC  40 81 00 0C */	ble lbl_80373C68
/* 80373C60 0036F8C0  38 60 00 00 */	li r3, 0
/* 80373C64 0036F8C4  48 00 00 08 */	b lbl_80373C6C
lbl_80373C68:
/* 80373C68 0036F8C8  80 7D 00 B8 */	lwz r3, 0xb8(r29)
lbl_80373C6C:
/* 80373C6C 0036F8CC  2C 03 00 00 */	cmpwi r3, 0
/* 80373C70 0036F8D0  41 82 00 24 */	beq lbl_80373C94
/* 80373C74 0036F8D4  48 00 1A 09 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 80373C78 0036F8D8  80 7B 00 B4 */	lwz r3, 0xb4(r27)
/* 80373C7C 0036F8DC  80 9D 00 B8 */	lwz r4, 0xb8(r29)
/* 80373C80 0036F8E0  81 83 00 00 */	lwz r12, 0(r3)
/* 80373C84 0036F8E4  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80373C88 0036F8E8  7D 89 03 A6 */	mtctr r12
/* 80373C8C 0036F8EC  4E 80 04 21 */	bctrl
/* 80373C90 0036F8F0  93 FD 00 B8 */	stw r31, 0xb8(r29)
lbl_80373C94:
/* 80373C94 0036F8F4  3B DE 00 01 */	addi r30, r30, 1
/* 80373C98 0036F8F8  3B BD 00 04 */	addi r29, r29, 4
/* 80373C9C 0036F8FC  2C 1E 00 10 */	cmpwi r30, 0x10
/* 80373CA0 0036F900  41 80 FF B8 */	blt lbl_80373C58
/* 80373CA4 0036F904  2C 1C 00 00 */	cmpwi r28, 0
/* 80373CA8 0036F908  40 81 00 0C */	ble lbl_80373CB4
/* 80373CAC 0036F90C  7F 63 DB 78 */	mr r3, r27
/* 80373CB0 0036F910  4B E6 6E 09 */	bl __dl__FPv
lbl_80373CB4:
/* 80373CB4 0036F914  39 61 00 20 */	addi r11, r1, 0x20
/* 80373CB8 0036F918  7F 63 DB 78 */	mr r3, r27
/* 80373CBC 0036F91C  4B E5 34 B9 */	bl _restgpr_27
/* 80373CC0 0036F920  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80373CC4 0036F924  7C 08 03 A6 */	mtlr r0
/* 80373CC8 0036F928  38 21 00 20 */	addi r1, r1, 0x20
/* 80373CCC 0036F92C  4E 80 00 20 */	blr

.global InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback
InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback:
/* 80373CD0 0036F930  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80373CD4 0036F934  7C 08 02 A6 */	mflr r0
/* 80373CD8 0036F938  90 01 00 24 */	stw r0, 0x24(r1)
/* 80373CDC 0036F93C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80373CE0 0036F940  7C 7F 1B 78 */	mr r31, r3
/* 80373CE4 0036F944  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80373CE8 0036F948  7C BE 2B 78 */	mr r30, r5
/* 80373CEC 0036F94C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80373CF0 0036F950  7C 9D 23 78 */	mr r29, r4
/* 80373CF4 0036F954  4B FF 91 D5 */	bl InitParam__Q44nw4r3snd6detail11BasicPlayerFv
/* 80373CF8 0036F958  3C 60 00 01 */	lis r3, 0x0000EA60@ha
/* 80373CFC 0036F95C  39 20 00 00 */	li r9, 0
/* 80373D00 0036F960  38 E0 00 30 */	li r7, 0x30
/* 80373D04 0036F964  C0 22 A6 A8 */	lfs f1, lbl_80642CA8-_SDA2_BASE_(r2)
/* 80373D08 0036F968  38 63 EA 60 */	addi r3, r3, 0x0000EA60@l
/* 80373D0C 0036F96C  C0 02 A6 AC */	lfs f0, lbl_80642CAC-_SDA2_BASE_(r2)
/* 80373D10 0036F970  7C 83 3B D6 */	divw r4, r3, r7
/* 80373D14 0036F974  39 00 00 78 */	li r8, 0x78
/* 80373D18 0036F978  3C 60 55 55 */	lis r3, 0x55555556@ha
/* 80373D1C 0036F97C  99 3F 00 8D */	stb r9, 0x8d(r31)
/* 80373D20 0036F980  38 C0 00 7F */	li r6, 0x7f
/* 80373D24 0036F984  38 63 55 56 */	addi r3, r3, 0x55555556@l
/* 80373D28 0036F988  7C 83 20 96 */	mulhw r4, r3, r4
/* 80373D2C 0036F98C  38 A0 00 40 */	li r5, 0x40
/* 80373D30 0036F990  99 3F 00 8E */	stb r9, 0x8e(r31)
/* 80373D34 0036F994  38 00 FF FF */	li r0, -1
/* 80373D38 0036F998  D0 3F 00 94 */	stfs f1, 0x94(r31)
/* 80373D3C 0036F99C  54 83 0F FE */	srwi r3, r4, 0x1f
/* 80373D40 0036F9A0  7C 64 1A 14 */	add r3, r4, r3
/* 80373D44 0036F9A4  91 3F 00 9C */	stw r9, 0x9c(r31)
/* 80373D48 0036F9A8  D0 1F 00 A0 */	stfs f0, 0xa0(r31)
/* 80373D4C 0036F9AC  D0 3F 00 90 */	stfs f1, 0x90(r31)
/* 80373D50 0036F9B0  91 3F 01 18 */	stw r9, 0x118(r31)
/* 80373D54 0036F9B4  93 BF 00 A4 */	stw r29, 0xa4(r31)
/* 80373D58 0036F9B8  B1 1F 00 AC */	sth r8, 0xac(r31)
/* 80373D5C 0036F9BC  98 FF 00 AA */	stb r7, 0xaa(r31)
/* 80373D60 0036F9C0  98 DF 00 A8 */	stb r6, 0xa8(r31)
/* 80373D64 0036F9C4  98 BF 00 A9 */	stb r5, 0xa9(r31)
/* 80373D68 0036F9C8  93 DF 00 B0 */	stw r30, 0xb0(r31)
/* 80373D6C 0036F9CC  B0 7F 00 98 */	sth r3, 0x98(r31)
/* 80373D70 0036F9D0  B0 1F 00 F8 */	sth r0, 0xf8(r31)
/* 80373D74 0036F9D4  B0 1F 00 FA */	sth r0, 0xfa(r31)
/* 80373D78 0036F9D8  B0 1F 00 FC */	sth r0, 0xfc(r31)
/* 80373D7C 0036F9DC  B0 1F 00 FE */	sth r0, 0xfe(r31)
/* 80373D80 0036F9E0  B0 1F 01 00 */	sth r0, 0x100(r31)
/* 80373D84 0036F9E4  B0 1F 01 02 */	sth r0, 0x102(r31)
/* 80373D88 0036F9E8  B0 1F 01 04 */	sth r0, 0x104(r31)
/* 80373D8C 0036F9EC  B0 1F 01 06 */	sth r0, 0x106(r31)
/* 80373D90 0036F9F0  B0 1F 01 08 */	sth r0, 0x108(r31)
/* 80373D94 0036F9F4  B0 1F 01 0A */	sth r0, 0x10a(r31)
/* 80373D98 0036F9F8  B0 1F 01 0C */	sth r0, 0x10c(r31)
/* 80373D9C 0036F9FC  B0 1F 01 0E */	sth r0, 0x10e(r31)
/* 80373DA0 0036FA00  B0 1F 01 10 */	sth r0, 0x110(r31)
/* 80373DA4 0036FA04  B0 1F 01 12 */	sth r0, 0x112(r31)
/* 80373DA8 0036FA08  B0 1F 01 14 */	sth r0, 0x114(r31)
/* 80373DAC 0036FA0C  B0 1F 01 16 */	sth r0, 0x116(r31)
/* 80373DB0 0036FA10  38 00 00 00 */	li r0, 0
/* 80373DB4 0036FA14  90 1F 00 B8 */	stw r0, 0xb8(r31)
/* 80373DB8 0036FA18  90 1F 00 BC */	stw r0, 0xbc(r31)
/* 80373DBC 0036FA1C  90 1F 00 C0 */	stw r0, 0xc0(r31)
/* 80373DC0 0036FA20  90 1F 00 C4 */	stw r0, 0xc4(r31)
/* 80373DC4 0036FA24  90 1F 00 C8 */	stw r0, 0xc8(r31)
/* 80373DC8 0036FA28  90 1F 00 CC */	stw r0, 0xcc(r31)
/* 80373DCC 0036FA2C  90 1F 00 D0 */	stw r0, 0xd0(r31)
/* 80373DD0 0036FA30  90 1F 00 D4 */	stw r0, 0xd4(r31)
/* 80373DD4 0036FA34  90 1F 00 D8 */	stw r0, 0xd8(r31)
/* 80373DD8 0036FA38  90 1F 00 DC */	stw r0, 0xdc(r31)
/* 80373DDC 0036FA3C  90 1F 00 E0 */	stw r0, 0xe0(r31)
/* 80373DE0 0036FA40  90 1F 00 E4 */	stw r0, 0xe4(r31)
/* 80373DE4 0036FA44  90 1F 00 E8 */	stw r0, 0xe8(r31)
/* 80373DE8 0036FA48  90 1F 00 EC */	stw r0, 0xec(r31)
/* 80373DEC 0036FA4C  90 1F 00 F0 */	stw r0, 0xf0(r31)
/* 80373DF0 0036FA50  90 1F 00 F4 */	stw r0, 0xf4(r31)
/* 80373DF4 0036FA54  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80373DF8 0036FA58  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80373DFC 0036FA5C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80373E00 0036FA60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80373E04 0036FA64  7C 08 03 A6 */	mtlr r0
/* 80373E08 0036FA68  38 21 00 20 */	addi r1, r1, 0x20
/* 80373E0C 0036FA6C  4E 80 00 20 */	blr

.global Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback
Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback:
/* 80373E10 0036FA70  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80373E14 0036FA74  7C 08 02 A6 */	mflr r0
/* 80373E18 0036FA78  90 01 00 34 */	stw r0, 0x34(r1)
/* 80373E1C 0036FA7C  39 61 00 30 */	addi r11, r1, 0x30
/* 80373E20 0036FA80  4B E5 32 F9 */	bl _savegpr_23
/* 80373E24 0036FA84  3B 63 01 1C */	addi r27, r3, 0x11c
/* 80373E28 0036FA88  7C 7D 1B 78 */	mr r29, r3
/* 80373E2C 0036FA8C  7C 9E 23 78 */	mr r30, r4
/* 80373E30 0036FA90  7C BF 2B 78 */	mr r31, r5
/* 80373E34 0036FA94  7C D7 33 78 */	mr r23, r6
/* 80373E38 0036FA98  7C F8 3B 78 */	mr r24, r7
/* 80373E3C 0036FA9C  7F 63 DB 78 */	mr r3, r27
/* 80373E40 0036FAA0  4B EF BB 09 */	bl OSLockMutex
/* 80373E44 0036FAA4  88 1D 00 8D */	lbz r0, 0x8d(r29)
/* 80373E48 0036FAA8  2C 00 00 00 */	cmpwi r0, 0
/* 80373E4C 0036FAAC  41 82 00 28 */	beq lbl_80373E74
/* 80373E50 0036FAB0  2C 1D 00 00 */	cmpwi r29, 0
/* 80373E54 0036FAB4  7F BA EB 78 */	mr r26, r29
/* 80373E58 0036FAB8  41 82 00 08 */	beq lbl_80373E60
/* 80373E5C 0036FABC  3B 5D 00 80 */	addi r26, r29, 0x80
lbl_80373E60:
/* 80373E60 0036FAC0  48 00 85 F1 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 80373E64 0036FAC4  7F 44 D3 78 */	mr r4, r26
/* 80373E68 0036FAC8  48 00 8A 19 */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 80373E6C 0036FACC  38 00 00 00 */	li r0, 0
/* 80373E70 0036FAD0  98 1D 00 8D */	stb r0, 0x8d(r29)
lbl_80373E74:
/* 80373E74 0036FAD4  88 1D 00 8C */	lbz r0, 0x8c(r29)
/* 80373E78 0036FAD8  2C 00 00 00 */	cmpwi r0, 0
/* 80373E7C 0036FADC  41 82 00 28 */	beq lbl_80373EA4
/* 80373E80 0036FAE0  2C 1D 00 00 */	cmpwi r29, 0
/* 80373E84 0036FAE4  7F BA EB 78 */	mr r26, r29
/* 80373E88 0036FAE8  41 82 00 08 */	beq lbl_80373E90
/* 80373E8C 0036FAEC  3B 5D 00 74 */	addi r26, r29, 0x74
lbl_80373E90:
/* 80373E90 0036FAF0  4B FF B3 C9 */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80373E94 0036FAF4  7F 44 D3 78 */	mr r4, r26
/* 80373E98 0036FAF8  4B FF B5 15 */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80373E9C 0036FAFC  38 00 00 00 */	li r0, 0
/* 80373EA0 0036FB00  98 1D 00 8C */	stb r0, 0x8c(r29)
lbl_80373EA4:
/* 80373EA4 0036FB04  7F B9 EB 78 */	mr r25, r29
/* 80373EA8 0036FB08  3B 40 00 00 */	li r26, 0
/* 80373EAC 0036FB0C  3B 80 00 00 */	li r28, 0
lbl_80373EB0:
/* 80373EB0 0036FB10  2C 1A 00 0F */	cmpwi r26, 0xf
/* 80373EB4 0036FB14  40 81 00 0C */	ble lbl_80373EC0
/* 80373EB8 0036FB18  38 60 00 00 */	li r3, 0
/* 80373EBC 0036FB1C  48 00 00 08 */	b lbl_80373EC4
lbl_80373EC0:
/* 80373EC0 0036FB20  80 79 00 B8 */	lwz r3, 0xb8(r25)
lbl_80373EC4:
/* 80373EC4 0036FB24  2C 03 00 00 */	cmpwi r3, 0
/* 80373EC8 0036FB28  41 82 00 24 */	beq lbl_80373EEC
/* 80373ECC 0036FB2C  48 00 17 B1 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 80373ED0 0036FB30  80 7D 00 B4 */	lwz r3, 0xb4(r29)
/* 80373ED4 0036FB34  80 99 00 B8 */	lwz r4, 0xb8(r25)
/* 80373ED8 0036FB38  81 83 00 00 */	lwz r12, 0(r3)
/* 80373EDC 0036FB3C  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80373EE0 0036FB40  7D 89 03 A6 */	mtctr r12
/* 80373EE4 0036FB44  4E 80 04 21 */	bctrl
/* 80373EE8 0036FB48  93 99 00 B8 */	stw r28, 0xb8(r25)
lbl_80373EEC:
/* 80373EEC 0036FB4C  3B 5A 00 01 */	addi r26, r26, 1
/* 80373EF0 0036FB50  3B 39 00 04 */	addi r25, r25, 4
/* 80373EF4 0036FB54  2C 1A 00 10 */	cmpwi r26, 0x10
/* 80373EF8 0036FB58  41 80 FF B8 */	blt lbl_80373EB0
/* 80373EFC 0036FB5C  7F A3 EB 78 */	mr r3, r29
/* 80373F00 0036FB60  7E E4 BB 78 */	mr r4, r23
/* 80373F04 0036FB64  7F 05 C3 78 */	mr r5, r24
/* 80373F08 0036FB68  4B FF FD C9 */	bl InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback
/* 80373F0C 0036FB6C  4B EF A8 51 */	bl OSDisableInterrupts
/* 80373F10 0036FB70  7C 7C 1B 78 */	mr r28, r3
/* 80373F14 0036FB74  7F E3 FB 78 */	mr r3, r31
/* 80373F18 0036FB78  3B 20 00 00 */	li r25, 0
/* 80373F1C 0036FB7C  48 00 00 14 */	b lbl_80373F30
lbl_80373F20:
/* 80373F20 0036FB80  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 80373F24 0036FB84  41 82 00 08 */	beq lbl_80373F2C
/* 80373F28 0036FB88  3B 39 00 01 */	addi r25, r25, 1
lbl_80373F2C:
/* 80373F2C 0036FB8C  54 63 F8 7E */	srwi r3, r3, 1
lbl_80373F30:
/* 80373F30 0036FB90  2C 03 00 00 */	cmpwi r3, 0
/* 80373F34 0036FB94  40 82 FF EC */	bne lbl_80373F20
/* 80373F38 0036FB98  81 9E 00 00 */	lwz r12, 0(r30)
/* 80373F3C 0036FB9C  7F C3 F3 78 */	mr r3, r30
/* 80373F40 0036FBA0  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 80373F44 0036FBA4  7D 89 03 A6 */	mtctr r12
/* 80373F48 0036FBA8  4E 80 04 21 */	bctrl
/* 80373F4C 0036FBAC  7C 19 18 00 */	cmpw r25, r3
/* 80373F50 0036FBB0  40 81 00 1C */	ble lbl_80373F6C
/* 80373F54 0036FBB4  7F 83 E3 78 */	mr r3, r28
/* 80373F58 0036FBB8  4B EF A8 2D */	bl OSRestoreInterrupts
/* 80373F5C 0036FBBC  7F 63 DB 78 */	mr r3, r27
/* 80373F60 0036FBC0  4B EF BA C5 */	bl OSUnlockMutex
/* 80373F64 0036FBC4  38 60 00 01 */	li r3, 1
/* 80373F68 0036FBC8  48 00 00 94 */	b lbl_80373FFC
lbl_80373F6C:
/* 80373F6C 0036FBCC  7F BA EB 78 */	mr r26, r29
/* 80373F70 0036FBD0  3B 20 00 00 */	li r25, 0
/* 80373F74 0036FBD4  48 00 00 44 */	b lbl_80373FB8
lbl_80373F78:
/* 80373F78 0036FBD8  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 80373F7C 0036FBDC  41 82 00 30 */	beq lbl_80373FAC
/* 80373F80 0036FBE0  81 9E 00 00 */	lwz r12, 0(r30)
/* 80373F84 0036FBE4  7F C3 F3 78 */	mr r3, r30
/* 80373F88 0036FBE8  7F A4 EB 78 */	mr r4, r29
/* 80373F8C 0036FBEC  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80373F90 0036FBF0  7D 89 03 A6 */	mtctr r12
/* 80373F94 0036FBF4  4E 80 04 21 */	bctrl
/* 80373F98 0036FBF8  2C 19 00 0F */	cmpwi r25, 0xf
/* 80373F9C 0036FBFC  41 81 00 10 */	bgt lbl_80373FAC
/* 80373FA0 0036FC00  90 7A 00 B8 */	stw r3, 0xb8(r26)
/* 80373FA4 0036FC04  7F 24 CB 78 */	mr r4, r25
/* 80373FA8 0036FC08  48 00 13 FD */	bl SetPlayerTrackNo__Q44nw4r3snd6detail8SeqTrackFi
lbl_80373FAC:
/* 80373FAC 0036FC0C  57 FF F8 7E */	srwi r31, r31, 1
/* 80373FB0 0036FC10  3B 5A 00 04 */	addi r26, r26, 4
/* 80373FB4 0036FC14  3B 39 00 01 */	addi r25, r25, 1
lbl_80373FB8:
/* 80373FB8 0036FC18  2C 1F 00 00 */	cmpwi r31, 0
/* 80373FBC 0036FC1C  40 82 FF BC */	bne lbl_80373F78
/* 80373FC0 0036FC20  7F 83 E3 78 */	mr r3, r28
/* 80373FC4 0036FC24  4B EF A7 C1 */	bl OSRestoreInterrupts
/* 80373FC8 0036FC28  2C 1D 00 00 */	cmpwi r29, 0
/* 80373FCC 0036FC2C  7F BA EB 78 */	mr r26, r29
/* 80373FD0 0036FC30  41 82 00 08 */	beq lbl_80373FD8
/* 80373FD4 0036FC34  3B 5D 00 74 */	addi r26, r29, 0x74
lbl_80373FD8:
/* 80373FD8 0036FC38  4B FF B2 81 */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80373FDC 0036FC3C  7F 44 D3 78 */	mr r4, r26
/* 80373FE0 0036FC40  4B FF B3 75 */	bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv
/* 80373FE4 0036FC44  38 00 00 01 */	li r0, 1
/* 80373FE8 0036FC48  93 DD 00 B4 */	stw r30, 0xb4(r29)
/* 80373FEC 0036FC4C  7F 63 DB 78 */	mr r3, r27
/* 80373FF0 0036FC50  98 1D 00 8C */	stb r0, 0x8c(r29)
/* 80373FF4 0036FC54  4B EF BA 31 */	bl OSUnlockMutex
/* 80373FF8 0036FC58  38 60 00 00 */	li r3, 0
lbl_80373FFC:
/* 80373FFC 0036FC5C  39 61 00 30 */	addi r11, r1, 0x30
/* 80374000 0036FC60  4B E5 31 65 */	bl _restgpr_23
/* 80374004 0036FC64  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80374008 0036FC68  7C 08 03 A6 */	mtlr r0
/* 8037400C 0036FC6C  38 21 00 30 */	addi r1, r1, 0x30
/* 80374010 0036FC70  4E 80 00 20 */	blr

.global SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl
SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl:
/* 80374014 0036FC74  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374018 0036FC78  7C 08 02 A6 */	mflr r0
/* 8037401C 0036FC7C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374020 0036FC80  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80374024 0036FC84  3B E3 01 1C */	addi r31, r3, 0x11c
/* 80374028 0036FC88  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037402C 0036FC8C  7C 7E 1B 78 */	mr r30, r3
/* 80374030 0036FC90  7F E3 FB 78 */	mr r3, r31
/* 80374034 0036FC94  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80374038 0036FC98  7C BD 2B 78 */	mr r29, r5
/* 8037403C 0036FC9C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80374040 0036FCA0  7C 9C 23 78 */	mr r28, r4
/* 80374044 0036FCA4  4B EF B9 05 */	bl OSLockMutex
/* 80374048 0036FCA8  2C 1C 00 00 */	cmpwi r28, 0
/* 8037404C 0036FCAC  83 DE 00 B8 */	lwz r30, 0xb8(r30)
/* 80374050 0036FCB0  41 82 00 1C */	beq lbl_8037406C
/* 80374054 0036FCB4  7F C3 F3 78 */	mr r3, r30
/* 80374058 0036FCB8  7F 84 E3 78 */	mr r4, r28
/* 8037405C 0036FCBC  7F A5 EB 78 */	mr r5, r29
/* 80374060 0036FCC0  48 00 16 01 */	bl SetSeqData__Q44nw4r3snd6detail8SeqTrackFPCvl
/* 80374064 0036FCC4  7F C3 F3 78 */	mr r3, r30
/* 80374068 0036FCC8  48 00 16 09 */	bl Open__Q44nw4r3snd6detail8SeqTrackFv
lbl_8037406C:
/* 8037406C 0036FCCC  7F E3 FB 78 */	mr r3, r31
/* 80374070 0036FCD0  4B EF B9 B5 */	bl OSUnlockMutex
/* 80374074 0036FCD4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80374078 0036FCD8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8037407C 0036FCDC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80374080 0036FCE0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80374084 0036FCE4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80374088 0036FCE8  7C 08 03 A6 */	mtlr r0
/* 8037408C 0036FCEC  38 21 00 20 */	addi r1, r1, 0x20
/* 80374090 0036FCF0  4E 80 00 20 */	blr

.global Start__Q44nw4r3snd6detail9SeqPlayerFv
Start__Q44nw4r3snd6detail9SeqPlayerFv:
/* 80374094 0036FCF4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374098 0036FCF8  7C 08 02 A6 */	mflr r0
/* 8037409C 0036FCFC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803740A0 0036FD00  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803740A4 0036FD04  3B E3 01 1C */	addi r31, r3, 0x11c
/* 803740A8 0036FD08  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803740AC 0036FD0C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803740B0 0036FD10  7C 7D 1B 78 */	mr r29, r3
/* 803740B4 0036FD14  7F E3 FB 78 */	mr r3, r31
/* 803740B8 0036FD18  4B EF B8 91 */	bl OSLockMutex
/* 803740BC 0036FD1C  2C 1D 00 00 */	cmpwi r29, 0
/* 803740C0 0036FD20  7F BE EB 78 */	mr r30, r29
/* 803740C4 0036FD24  41 82 00 08 */	beq lbl_803740CC
/* 803740C8 0036FD28  3B DD 00 80 */	addi r30, r29, 0x80
lbl_803740CC:
/* 803740CC 0036FD2C  48 00 83 85 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 803740D0 0036FD30  7F C4 F3 78 */	mr r4, r30
/* 803740D4 0036FD34  48 00 87 49 */	bl RegisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 803740D8 0036FD38  38 00 00 01 */	li r0, 1
/* 803740DC 0036FD3C  7F E3 FB 78 */	mr r3, r31
/* 803740E0 0036FD40  98 1D 00 8D */	stb r0, 0x8d(r29)
/* 803740E4 0036FD44  4B EF B9 41 */	bl OSUnlockMutex
/* 803740E8 0036FD48  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803740EC 0036FD4C  38 60 00 01 */	li r3, 1
/* 803740F0 0036FD50  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803740F4 0036FD54  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803740F8 0036FD58  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803740FC 0036FD5C  7C 08 03 A6 */	mtlr r0
/* 80374100 0036FD60  38 21 00 20 */	addi r1, r1, 0x20
/* 80374104 0036FD64  4E 80 00 20 */	blr

.global Stop__Q44nw4r3snd6detail9SeqPlayerFv
Stop__Q44nw4r3snd6detail9SeqPlayerFv:
/* 80374108 0036FD68  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037410C 0036FD6C  7C 08 02 A6 */	mflr r0
/* 80374110 0036FD70  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374114 0036FD74  39 61 00 20 */	addi r11, r1, 0x20
/* 80374118 0036FD78  4B E5 30 11 */	bl _savegpr_27
/* 8037411C 0036FD7C  3B C3 01 1C */	addi r30, r3, 0x11c
/* 80374120 0036FD80  7C 7B 1B 78 */	mr r27, r3
/* 80374124 0036FD84  7F C3 F3 78 */	mr r3, r30
/* 80374128 0036FD88  4B EF B8 21 */	bl OSLockMutex
/* 8037412C 0036FD8C  88 1B 00 8D */	lbz r0, 0x8d(r27)
/* 80374130 0036FD90  2C 00 00 00 */	cmpwi r0, 0
/* 80374134 0036FD94  41 82 00 28 */	beq lbl_8037415C
/* 80374138 0036FD98  2C 1B 00 00 */	cmpwi r27, 0
/* 8037413C 0036FD9C  7F 7D DB 78 */	mr r29, r27
/* 80374140 0036FDA0  41 82 00 08 */	beq lbl_80374148
/* 80374144 0036FDA4  3B BB 00 80 */	addi r29, r27, 0x80
lbl_80374148:
/* 80374148 0036FDA8  48 00 83 09 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8037414C 0036FDAC  7F A4 EB 78 */	mr r4, r29
/* 80374150 0036FDB0  48 00 87 31 */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 80374154 0036FDB4  38 00 00 00 */	li r0, 0
/* 80374158 0036FDB8  98 1B 00 8D */	stb r0, 0x8d(r27)
lbl_8037415C:
/* 8037415C 0036FDBC  88 1B 00 8C */	lbz r0, 0x8c(r27)
/* 80374160 0036FDC0  2C 00 00 00 */	cmpwi r0, 0
/* 80374164 0036FDC4  41 82 00 28 */	beq lbl_8037418C
/* 80374168 0036FDC8  2C 1B 00 00 */	cmpwi r27, 0
/* 8037416C 0036FDCC  7F 7D DB 78 */	mr r29, r27
/* 80374170 0036FDD0  41 82 00 08 */	beq lbl_80374178
/* 80374174 0036FDD4  3B BB 00 74 */	addi r29, r27, 0x74
lbl_80374178:
/* 80374178 0036FDD8  4B FF B0 E1 */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8037417C 0036FDDC  7F A4 EB 78 */	mr r4, r29
/* 80374180 0036FDE0  4B FF B2 2D */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80374184 0036FDE4  38 00 00 00 */	li r0, 0
/* 80374188 0036FDE8  98 1B 00 8C */	stb r0, 0x8c(r27)
lbl_8037418C:
/* 8037418C 0036FDEC  7F 7C DB 78 */	mr r28, r27
/* 80374190 0036FDF0  3B A0 00 00 */	li r29, 0
/* 80374194 0036FDF4  3B E0 00 00 */	li r31, 0
lbl_80374198:
/* 80374198 0036FDF8  2C 1D 00 0F */	cmpwi r29, 0xf
/* 8037419C 0036FDFC  40 81 00 0C */	ble lbl_803741A8
/* 803741A0 0036FE00  38 60 00 00 */	li r3, 0
/* 803741A4 0036FE04  48 00 00 08 */	b lbl_803741AC
lbl_803741A8:
/* 803741A8 0036FE08  80 7C 00 B8 */	lwz r3, 0xb8(r28)
lbl_803741AC:
/* 803741AC 0036FE0C  2C 03 00 00 */	cmpwi r3, 0
/* 803741B0 0036FE10  41 82 00 24 */	beq lbl_803741D4
/* 803741B4 0036FE14  48 00 14 C9 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 803741B8 0036FE18  80 7B 00 B4 */	lwz r3, 0xb4(r27)
/* 803741BC 0036FE1C  80 9C 00 B8 */	lwz r4, 0xb8(r28)
/* 803741C0 0036FE20  81 83 00 00 */	lwz r12, 0(r3)
/* 803741C4 0036FE24  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 803741C8 0036FE28  7D 89 03 A6 */	mtctr r12
/* 803741CC 0036FE2C  4E 80 04 21 */	bctrl
/* 803741D0 0036FE30  93 FC 00 B8 */	stw r31, 0xb8(r28)
lbl_803741D4:
/* 803741D4 0036FE34  3B BD 00 01 */	addi r29, r29, 1
/* 803741D8 0036FE38  3B 9C 00 04 */	addi r28, r28, 4
/* 803741DC 0036FE3C  2C 1D 00 10 */	cmpwi r29, 0x10
/* 803741E0 0036FE40  41 80 FF B8 */	blt lbl_80374198
/* 803741E4 0036FE44  7F C3 F3 78 */	mr r3, r30
/* 803741E8 0036FE48  4B EF B8 3D */	bl OSUnlockMutex
/* 803741EC 0036FE4C  39 61 00 20 */	addi r11, r1, 0x20
/* 803741F0 0036FE50  4B E5 2F 85 */	bl _restgpr_27
/* 803741F4 0036FE54  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803741F8 0036FE58  7C 08 03 A6 */	mtlr r0
/* 803741FC 0036FE5C  38 21 00 20 */	addi r1, r1, 0x20
/* 80374200 0036FE60  4E 80 00 20 */	blr

.global Pause__Q44nw4r3snd6detail9SeqPlayerFb
Pause__Q44nw4r3snd6detail9SeqPlayerFb:
/* 80374204 0036FE64  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374208 0036FE68  7C 08 02 A6 */	mflr r0
/* 8037420C 0036FE6C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374210 0036FE70  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80374214 0036FE74  3B E3 01 1C */	addi r31, r3, 0x11c
/* 80374218 0036FE78  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037421C 0036FE7C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80374220 0036FE80  7C 9D 23 78 */	mr r29, r4
/* 80374224 0036FE84  93 81 00 10 */	stw r28, 0x10(r1)
/* 80374228 0036FE88  7C 7C 1B 78 */	mr r28, r3
/* 8037422C 0036FE8C  7F E3 FB 78 */	mr r3, r31
/* 80374230 0036FE90  4B EF B7 19 */	bl OSLockMutex
/* 80374234 0036FE94  57 A3 06 3E */	clrlwi r3, r29, 0x18
/* 80374238 0036FE98  3B C0 00 00 */	li r30, 0
/* 8037423C 0036FE9C  7C 03 00 D0 */	neg r0, r3
/* 80374240 0036FEA0  7C 00 1B 78 */	or r0, r0, r3
/* 80374244 0036FEA4  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80374248 0036FEA8  98 1C 00 8E */	stb r0, 0x8e(r28)
lbl_8037424C:
/* 8037424C 0036FEAC  2C 1E 00 0F */	cmpwi r30, 0xf
/* 80374250 0036FEB0  40 81 00 0C */	ble lbl_8037425C
/* 80374254 0036FEB4  38 60 00 00 */	li r3, 0
/* 80374258 0036FEB8  48 00 00 08 */	b lbl_80374260
lbl_8037425C:
/* 8037425C 0036FEBC  80 7C 00 B8 */	lwz r3, 0xb8(r28)
lbl_80374260:
/* 80374260 0036FEC0  2C 03 00 00 */	cmpwi r3, 0
/* 80374264 0036FEC4  41 82 00 0C */	beq lbl_80374270
/* 80374268 0036FEC8  7F A4 EB 78 */	mr r4, r29
/* 8037426C 0036FECC  48 00 17 45 */	bl PauseAllChannel__Q44nw4r3snd6detail8SeqTrackFb
lbl_80374270:
/* 80374270 0036FED0  3B DE 00 01 */	addi r30, r30, 1
/* 80374274 0036FED4  3B 9C 00 04 */	addi r28, r28, 4
/* 80374278 0036FED8  2C 1E 00 10 */	cmpwi r30, 0x10
/* 8037427C 0036FEDC  41 80 FF D0 */	blt lbl_8037424C
/* 80374280 0036FEE0  7F E3 FB 78 */	mr r3, r31
/* 80374284 0036FEE4  4B EF B7 A1 */	bl OSUnlockMutex
/* 80374288 0036FEE8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037428C 0036FEEC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80374290 0036FEF0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80374294 0036FEF4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80374298 0036FEF8  83 81 00 10 */	lwz r28, 0x10(r1)
/* 8037429C 0036FEFC  7C 08 03 A6 */	mtlr r0
/* 803742A0 0036FF00  38 21 00 20 */	addi r1, r1, 0x20
/* 803742A4 0036FF04  4E 80 00 20 */	blr

.global Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei:
/* 803742A8 0036FF08  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803742AC 0036FF0C  7C 08 02 A6 */	mflr r0
/* 803742B0 0036FF10  90 01 00 24 */	stw r0, 0x24(r1)
/* 803742B4 0036FF14  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803742B8 0036FF18  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803742BC 0036FF1C  7C BE 2B 78 */	mr r30, r5
/* 803742C0 0036FF20  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803742C4 0036FF24  7C 9D 23 78 */	mr r29, r4
/* 803742C8 0036FF28  93 81 00 10 */	stw r28, 0x10(r1)
/* 803742CC 0036FF2C  7C 7C 1B 78 */	mr r28, r3
/* 803742D0 0036FF30  88 03 00 8C */	lbz r0, 0x8c(r3)
/* 803742D4 0036FF34  2C 00 00 00 */	cmpwi r0, 0
/* 803742D8 0036FF38  41 82 00 68 */	beq lbl_80374340
/* 803742DC 0036FF3C  3B E3 01 1C */	addi r31, r3, 0x11c
/* 803742E0 0036FF40  7F E3 FB 78 */	mr r3, r31
/* 803742E4 0036FF44  4B EF B6 65 */	bl OSLockMutex
/* 803742E8 0036FF48  2C 1D 00 01 */	cmpwi r29, 1
/* 803742EC 0036FF4C  41 82 00 24 */	beq lbl_80374310
/* 803742F0 0036FF50  40 80 00 48 */	bge lbl_80374338
/* 803742F4 0036FF54  2C 1D 00 00 */	cmpwi r29, 0
/* 803742F8 0036FF58  40 80 00 08 */	bge lbl_80374300
/* 803742FC 0036FF5C  48 00 00 3C */	b lbl_80374338
lbl_80374300:
/* 80374300 0036FF60  80 1C 00 9C */	lwz r0, 0x9c(r28)
/* 80374304 0036FF64  7C 00 F2 14 */	add r0, r0, r30
/* 80374308 0036FF68  90 1C 00 9C */	stw r0, 0x9c(r28)
/* 8037430C 0036FF6C  48 00 00 2C */	b lbl_80374338
lbl_80374310:
/* 80374310 0036FF70  6F C3 80 00 */	xoris r3, r30, 0x8000
/* 80374314 0036FF74  3C 00 43 30 */	lis r0, 0x4330
/* 80374318 0036FF78  90 61 00 0C */	stw r3, 0xc(r1)
/* 8037431C 0036FF7C  C8 42 A6 B0 */	lfd f2, lbl_80642CB0-_SDA2_BASE_(r2)
/* 80374320 0036FF80  90 01 00 08 */	stw r0, 8(r1)
/* 80374324 0036FF84  C0 1C 00 A0 */	lfs f0, 0xa0(r28)
/* 80374328 0036FF88  C8 21 00 08 */	lfd f1, 8(r1)
/* 8037432C 0036FF8C  EC 21 10 28 */	fsubs f1, f1, f2
/* 80374330 0036FF90  EC 00 08 2A */	fadds f0, f0, f1
/* 80374334 0036FF94  D0 1C 00 A0 */	stfs f0, 0xa0(r28)
lbl_80374338:
/* 80374338 0036FF98  7F E3 FB 78 */	mr r3, r31
/* 8037433C 0036FF9C  4B EF B6 E9 */	bl OSUnlockMutex
lbl_80374340:
/* 80374340 0036FFA0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80374344 0036FFA4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80374348 0036FFA8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037434C 0036FFAC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80374350 0036FFB0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80374354 0036FFB4  7C 08 03 A6 */	mtlr r0
/* 80374358 0036FFB8  38 21 00 20 */	addi r1, r1, 0x20
/* 8037435C 0036FFBC  4E 80 00 20 */	blr

.global SetPanRange__Q44nw4r3snd6detail9SeqPlayerFf
SetPanRange__Q44nw4r3snd6detail9SeqPlayerFf:
/* 80374360 0036FFC0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374364 0036FFC4  7C 08 02 A6 */	mflr r0
/* 80374368 0036FFC8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037436C 0036FFCC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80374370 0036FFD0  3B E3 01 1C */	addi r31, r3, 0x11c
/* 80374374 0036FFD4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80374378 0036FFD8  7C 9E 23 78 */	mr r30, r4
/* 8037437C 0036FFDC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80374380 0036FFE0  7C 7D 1B 78 */	mr r29, r3
/* 80374384 0036FFE4  7F E3 FB 78 */	mr r3, r31
/* 80374388 0036FFE8  4B EF B5 C1 */	bl OSLockMutex
/* 8037438C 0036FFEC  9B DD 00 A9 */	stb r30, 0xa9(r29)
/* 80374390 0036FFF0  7F E3 FB 78 */	mr r3, r31
/* 80374394 0036FFF4  4B EF B6 91 */	bl OSUnlockMutex
/* 80374398 0036FFF8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037439C 0036FFFC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803743A0 00370000  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803743A4 00370004  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803743A8 00370008  7C 08 03 A6 */	mtlr r0
/* 803743AC 0037000C  38 21 00 20 */	addi r1, r1, 0x20
/* 803743B0 00370010  4E 80 00 20 */	blr

.global SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb
SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb:
/* 803743B4 00370014  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803743B8 00370018  7C 08 02 A6 */	mflr r0
/* 803743BC 0037001C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803743C0 00370020  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803743C4 00370024  3B E3 01 1C */	addi r31, r3, 0x11c
/* 803743C8 00370028  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803743CC 0037002C  7C 9E 23 78 */	mr r30, r4
/* 803743D0 00370030  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803743D4 00370034  7C 7D 1B 78 */	mr r29, r3
/* 803743D8 00370038  7F E3 FB 78 */	mr r3, r31
/* 803743DC 0037003C  4B EF B5 6D */	bl OSLockMutex
/* 803743E0 00370040  9B DD 00 8F */	stb r30, 0x8f(r29)
/* 803743E4 00370044  7F E3 FB 78 */	mr r3, r31
/* 803743E8 00370048  4B EF B6 3D */	bl OSUnlockMutex
/* 803743EC 0037004C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803743F0 00370050  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803743F4 00370054  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803743F8 00370058  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803743FC 0037005C  7C 08 03 A6 */	mtlr r0
/* 80374400 00370060  38 21 00 20 */	addi r1, r1, 0x20
/* 80374404 00370064  4E 80 00 20 */	blr

.global InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv
InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv:
/* 80374408 00370068  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037440C 0037006C  7C 08 02 A6 */	mflr r0
/* 80374410 00370070  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374414 00370074  39 61 00 20 */	addi r11, r1, 0x20
/* 80374418 00370078  4B E5 2D 11 */	bl _savegpr_27
/* 8037441C 0037007C  3B A3 01 1C */	addi r29, r3, 0x11c
/* 80374420 00370080  7C 7F 1B 78 */	mr r31, r3
/* 80374424 00370084  7C 9C 23 78 */	mr r28, r4
/* 80374428 00370088  7C BB 2B 78 */	mr r27, r5
/* 8037442C 0037008C  7F A3 EB 78 */	mr r3, r29
/* 80374430 00370090  4B EF B5 19 */	bl OSLockMutex
/* 80374434 00370094  88 1F 00 8C */	lbz r0, 0x8c(r31)
/* 80374438 00370098  2C 00 00 00 */	cmpwi r0, 0
/* 8037443C 0037009C  41 82 01 0C */	beq lbl_80374548
/* 80374440 003700A0  38 00 00 10 */	li r0, 0x10
/* 80374444 003700A4  7F E4 FB 78 */	mr r4, r31
/* 80374448 003700A8  38 A0 00 00 */	li r5, 0
/* 8037444C 003700AC  7C 09 03 A6 */	mtctr r0
lbl_80374450:
/* 80374450 003700B0  2C 05 00 0F */	cmpwi r5, 0xf
/* 80374454 003700B4  40 81 00 0C */	ble lbl_80374460
/* 80374458 003700B8  38 60 00 00 */	li r3, 0
/* 8037445C 003700BC  48 00 00 08 */	b lbl_80374464
lbl_80374460:
/* 80374460 003700C0  80 64 00 B8 */	lwz r3, 0xb8(r4)
lbl_80374464:
/* 80374464 003700C4  2C 03 00 00 */	cmpwi r3, 0
/* 80374468 003700C8  41 82 00 D4 */	beq lbl_8037453C
/* 8037446C 003700CC  80 03 00 50 */	lwz r0, 0x50(r3)
/* 80374470 003700D0  7C 1C 00 40 */	cmplw r28, r0
/* 80374474 003700D4  41 81 00 C8 */	bgt lbl_8037453C
/* 80374478 003700D8  7C 00 D8 40 */	cmplw r0, r27
/* 8037447C 003700DC  41 81 00 C0 */	bgt lbl_8037453C
/* 80374480 003700E0  88 1F 00 8D */	lbz r0, 0x8d(r31)
/* 80374484 003700E4  2C 00 00 00 */	cmpwi r0, 0
/* 80374488 003700E8  41 82 00 28 */	beq lbl_803744B0
/* 8037448C 003700EC  2C 1F 00 00 */	cmpwi r31, 0
/* 80374490 003700F0  7F FC FB 78 */	mr r28, r31
/* 80374494 003700F4  41 82 00 08 */	beq lbl_8037449C
/* 80374498 003700F8  3B 9F 00 80 */	addi r28, r31, 0x80
lbl_8037449C:
/* 8037449C 003700FC  48 00 7F B5 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 803744A0 00370100  7F 84 E3 78 */	mr r4, r28
/* 803744A4 00370104  48 00 83 DD */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 803744A8 00370108  38 00 00 00 */	li r0, 0
/* 803744AC 0037010C  98 1F 00 8D */	stb r0, 0x8d(r31)
lbl_803744B0:
/* 803744B0 00370110  88 1F 00 8C */	lbz r0, 0x8c(r31)
/* 803744B4 00370114  2C 00 00 00 */	cmpwi r0, 0
/* 803744B8 00370118  41 82 00 28 */	beq lbl_803744E0
/* 803744BC 0037011C  2C 1F 00 00 */	cmpwi r31, 0
/* 803744C0 00370120  7F FC FB 78 */	mr r28, r31
/* 803744C4 00370124  41 82 00 08 */	beq lbl_803744CC
/* 803744C8 00370128  3B 9F 00 74 */	addi r28, r31, 0x74
lbl_803744CC:
/* 803744CC 0037012C  4B FF AD 8D */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 803744D0 00370130  7F 84 E3 78 */	mr r4, r28
/* 803744D4 00370134  4B FF AE D9 */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 803744D8 00370138  38 00 00 00 */	li r0, 0
/* 803744DC 0037013C  98 1F 00 8C */	stb r0, 0x8c(r31)
lbl_803744E0:
/* 803744E0 00370140  7F FB FB 78 */	mr r27, r31
/* 803744E4 00370144  3B 80 00 00 */	li r28, 0
/* 803744E8 00370148  3B C0 00 00 */	li r30, 0
lbl_803744EC:
/* 803744EC 0037014C  2C 1C 00 0F */	cmpwi r28, 0xf
/* 803744F0 00370150  40 81 00 0C */	ble lbl_803744FC
/* 803744F4 00370154  38 60 00 00 */	li r3, 0
/* 803744F8 00370158  48 00 00 08 */	b lbl_80374500
lbl_803744FC:
/* 803744FC 0037015C  80 7B 00 B8 */	lwz r3, 0xb8(r27)
lbl_80374500:
/* 80374500 00370160  2C 03 00 00 */	cmpwi r3, 0
/* 80374504 00370164  41 82 00 24 */	beq lbl_80374528
/* 80374508 00370168  48 00 11 75 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8037450C 0037016C  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 80374510 00370170  80 9B 00 B8 */	lwz r4, 0xb8(r27)
/* 80374514 00370174  81 83 00 00 */	lwz r12, 0(r3)
/* 80374518 00370178  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8037451C 0037017C  7D 89 03 A6 */	mtctr r12
/* 80374520 00370180  4E 80 04 21 */	bctrl
/* 80374524 00370184  93 DB 00 B8 */	stw r30, 0xb8(r27)
lbl_80374528:
/* 80374528 00370188  3B 9C 00 01 */	addi r28, r28, 1
/* 8037452C 0037018C  3B 7B 00 04 */	addi r27, r27, 4
/* 80374530 00370190  2C 1C 00 10 */	cmpwi r28, 0x10
/* 80374534 00370194  41 80 FF B8 */	blt lbl_803744EC
/* 80374538 00370198  48 00 00 10 */	b lbl_80374548
lbl_8037453C:
/* 8037453C 0037019C  38 84 00 04 */	addi r4, r4, 4
/* 80374540 003701A0  38 A5 00 01 */	addi r5, r5, 1
/* 80374544 003701A4  42 00 FF 0C */	bdnz lbl_80374450
lbl_80374548:
/* 80374548 003701A8  7F A3 EB 78 */	mr r3, r29
/* 8037454C 003701AC  4B EF B4 D9 */	bl OSUnlockMutex
/* 80374550 003701B0  39 61 00 20 */	addi r11, r1, 0x20
/* 80374554 003701B4  4B E5 2C 21 */	bl _restgpr_27
/* 80374558 003701B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037455C 003701BC  7C 08 03 A6 */	mtlr r0
/* 80374560 003701C0  38 21 00 20 */	addi r1, r1, 0x20
/* 80374564 003701C4  4E 80 00 20 */	blr

.global GetPlayerTrack__Q44nw4r3snd6detail9SeqPlayerFi
GetPlayerTrack__Q44nw4r3snd6detail9SeqPlayerFi:
/* 80374568 003701C8  2C 04 00 0F */	cmpwi r4, 0xf
/* 8037456C 003701CC  40 81 00 0C */	ble lbl_80374578
/* 80374570 003701D0  38 60 00 00 */	li r3, 0
/* 80374574 003701D4  4E 80 00 20 */	blr
lbl_80374578:
/* 80374578 003701D8  54 80 10 3A */	slwi r0, r4, 2
/* 8037457C 003701DC  7C 63 02 14 */	add r3, r3, r0
/* 80374580 003701E0  80 63 00 B8 */	lwz r3, 0xb8(r3)
/* 80374584 003701E4  4E 80 00 20 */	blr

.global ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb:
/* 80374588 003701E8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8037458C 003701EC  7C 08 02 A6 */	mflr r0
/* 80374590 003701F0  90 01 00 34 */	stw r0, 0x34(r1)
/* 80374594 003701F4  39 61 00 30 */	addi r11, r1, 0x30
/* 80374598 003701F8  4B E5 2B 89 */	bl _savegpr_25
/* 8037459C 003701FC  7C 79 1B 78 */	mr r25, r3
/* 803745A0 00370200  7C 9A 23 78 */	mr r26, r4
/* 803745A4 00370204  7F 3D CB 78 */	mr r29, r25
/* 803745A8 00370208  3B 80 00 00 */	li r28, 0
/* 803745AC 0037020C  3B 60 00 00 */	li r27, 0
/* 803745B0 00370210  3B E0 00 00 */	li r31, 0
lbl_803745B4:
/* 803745B4 00370214  2C 1B 00 0F */	cmpwi r27, 0xf
/* 803745B8 00370218  40 81 00 0C */	ble lbl_803745C4
/* 803745BC 0037021C  3B C0 00 00 */	li r30, 0
/* 803745C0 00370220  48 00 00 08 */	b lbl_803745C8
lbl_803745C4:
/* 803745C4 00370224  83 DD 00 B8 */	lwz r30, 0xb8(r29)
lbl_803745C8:
/* 803745C8 00370228  2C 1E 00 00 */	cmpwi r30, 0
/* 803745CC 0037022C  41 82 00 6C */	beq lbl_80374638
/* 803745D0 00370230  7F C3 F3 78 */	mr r3, r30
/* 803745D4 00370234  48 00 11 5D */	bl UpdateChannelLength__Q44nw4r3snd6detail8SeqTrackFv
/* 803745D8 00370238  7F C3 F3 78 */	mr r3, r30
/* 803745DC 0037023C  7F 44 D3 78 */	mr r4, r26
/* 803745E0 00370240  48 00 12 21 */	bl ParseNextTick__Q44nw4r3snd6detail8SeqTrackFb
/* 803745E4 00370244  2C 03 00 00 */	cmpwi r3, 0
/* 803745E8 00370248  40 80 00 40 */	bge lbl_80374628
/* 803745EC 0037024C  2C 1B 00 0F */	cmpwi r27, 0xf
/* 803745F0 00370250  40 81 00 0C */	ble lbl_803745FC
/* 803745F4 00370254  38 60 00 00 */	li r3, 0
/* 803745F8 00370258  48 00 00 08 */	b lbl_80374600
lbl_803745FC:
/* 803745FC 0037025C  80 7D 00 B8 */	lwz r3, 0xb8(r29)
lbl_80374600:
/* 80374600 00370260  2C 03 00 00 */	cmpwi r3, 0
/* 80374604 00370264  41 82 00 24 */	beq lbl_80374628
/* 80374608 00370268  48 00 10 75 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8037460C 0037026C  80 79 00 B4 */	lwz r3, 0xb4(r25)
/* 80374610 00370270  80 9D 00 B8 */	lwz r4, 0xb8(r29)
/* 80374614 00370274  81 83 00 00 */	lwz r12, 0(r3)
/* 80374618 00370278  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8037461C 0037027C  7D 89 03 A6 */	mtctr r12
/* 80374620 00370280  4E 80 04 21 */	bctrl
/* 80374624 00370284  93 FD 00 B8 */	stw r31, 0xb8(r29)
lbl_80374628:
/* 80374628 00370288  88 1E 00 05 */	lbz r0, 5(r30)
/* 8037462C 0037028C  2C 00 00 00 */	cmpwi r0, 0
/* 80374630 00370290  41 82 00 08 */	beq lbl_80374638
/* 80374634 00370294  3B 80 00 01 */	li r28, 1
lbl_80374638:
/* 80374638 00370298  3B 7B 00 01 */	addi r27, r27, 1
/* 8037463C 0037029C  3B BD 00 04 */	addi r29, r29, 4
/* 80374640 003702A0  2C 1B 00 10 */	cmpwi r27, 0x10
/* 80374644 003702A4  41 80 FF 70 */	blt lbl_803745B4
/* 80374648 003702A8  7F 80 00 34 */	cntlzw r0, r28
/* 8037464C 003702AC  39 61 00 30 */	addi r11, r1, 0x30
/* 80374650 003702B0  54 03 D9 7E */	srwi r3, r0, 5
/* 80374654 003702B4  4B E5 2B 19 */	bl _restgpr_25
/* 80374658 003702B8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8037465C 003702BC  7C 08 03 A6 */	mtlr r0
/* 80374660 003702C0  38 21 00 30 */	addi r1, r1, 0x30
/* 80374664 003702C4  4E 80 00 20 */	blr

.global GetVariablePtr__Q44nw4r3snd6detail9SeqPlayerFi
GetVariablePtr__Q44nw4r3snd6detail9SeqPlayerFi:
/* 80374668 003702C8  2C 04 00 10 */	cmpwi r4, 0x10
/* 8037466C 003702CC  40 80 00 14 */	bge lbl_80374680
/* 80374670 003702D0  54 80 08 3C */	slwi r0, r4, 1
/* 80374674 003702D4  7C 63 02 14 */	add r3, r3, r0
/* 80374678 003702D8  38 63 00 F8 */	addi r3, r3, 0xf8
/* 8037467C 003702DC  4E 80 00 20 */	blr
lbl_80374680:
/* 80374680 003702E0  2C 04 00 20 */	cmpwi r4, 0x20
/* 80374684 003702E4  38 60 00 00 */	li r3, 0
/* 80374688 003702E8  4C 80 00 20 */	bgelr
/* 8037468C 003702EC  38 04 FF F0 */	addi r0, r4, -16
/* 80374690 003702F0  3C 60 80 62 */	lis r3, lbl_80621CC8@ha
/* 80374694 003702F4  54 00 08 3C */	slwi r0, r0, 1
/* 80374698 003702F8  38 63 1C C8 */	addi r3, r3, lbl_80621CC8@l
/* 8037469C 003702FC  7C 63 02 14 */	add r3, r3, r0
/* 803746A0 00370300  4E 80 00 20 */	blr

.global Update__Q44nw4r3snd6detail9SeqPlayerFv
Update__Q44nw4r3snd6detail9SeqPlayerFv:
/* 803746A4 00370304  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803746A8 00370308  7C 08 02 A6 */	mflr r0
/* 803746AC 0037030C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803746B0 00370310  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803746B4 00370314  93 C1 00 08 */	stw r30, 8(r1)
/* 803746B8 00370318  7C 7E 1B 78 */	mr r30, r3
/* 803746BC 0037031C  88 03 00 8C */	lbz r0, 0x8c(r3)
/* 803746C0 00370320  2C 00 00 00 */	cmpwi r0, 0
/* 803746C4 00370324  41 82 00 48 */	beq lbl_8037470C
/* 803746C8 00370328  88 03 00 8D */	lbz r0, 0x8d(r3)
/* 803746CC 0037032C  2C 00 00 00 */	cmpwi r0, 0
/* 803746D0 00370330  41 82 00 3C */	beq lbl_8037470C
/* 803746D4 00370334  48 00 00 51 */	bl UpdateTick__Q44nw4r3snd6detail9SeqPlayerFv
/* 803746D8 00370338  3B E0 00 00 */	li r31, 0
lbl_803746DC:
/* 803746DC 0037033C  2C 1F 00 0F */	cmpwi r31, 0xf
/* 803746E0 00370340  40 81 00 0C */	ble lbl_803746EC
/* 803746E4 00370344  38 60 00 00 */	li r3, 0
/* 803746E8 00370348  48 00 00 08 */	b lbl_803746F0
lbl_803746EC:
/* 803746EC 0037034C  80 7E 00 B8 */	lwz r3, 0xb8(r30)
lbl_803746F0:
/* 803746F0 00370350  2C 03 00 00 */	cmpwi r3, 0
/* 803746F4 00370354  41 82 00 08 */	beq lbl_803746FC
/* 803746F8 00370358  48 00 13 51 */	bl UpdateChannelParam__Q44nw4r3snd6detail8SeqTrackFv
lbl_803746FC:
/* 803746FC 0037035C  3B FF 00 01 */	addi r31, r31, 1
/* 80374700 00370360  3B DE 00 04 */	addi r30, r30, 4
/* 80374704 00370364  2C 1F 00 10 */	cmpwi r31, 0x10
/* 80374708 00370368  41 80 FF D4 */	blt lbl_803746DC
lbl_8037470C:
/* 8037470C 0037036C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80374710 00370370  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80374714 00370374  83 C1 00 08 */	lwz r30, 8(r1)
/* 80374718 00370378  7C 08 03 A6 */	mtlr r0
/* 8037471C 0037037C  38 21 00 10 */	addi r1, r1, 0x10
/* 80374720 00370380  4E 80 00 20 */	blr

.global UpdateTick__Q44nw4r3snd6detail9SeqPlayerFv
UpdateTick__Q44nw4r3snd6detail9SeqPlayerFv:
/* 80374724 00370384  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 80374728 00370388  7C 08 02 A6 */	mflr r0
/* 8037472C 0037038C  90 01 00 64 */	stw r0, 0x64(r1)
/* 80374730 00370390  DB E1 00 50 */	stfd f31, 0x50(r1)
/* 80374734 00370394  F3 E1 00 58 */	psq_st f31, 88(r1), 0, qr0
/* 80374738 00370398  DB C1 00 40 */	stfd f30, 0x40(r1)
/* 8037473C 0037039C  F3 C1 00 48 */	psq_st f30, 72(r1), 0, qr0
/* 80374740 003703A0  DB A1 00 30 */	stfd f29, 0x30(r1)
/* 80374744 003703A4  F3 A1 00 38 */	psq_st f29, 56(r1), 0, qr0
/* 80374748 003703A8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8037474C 003703AC  7C 7F 1B 78 */	mr r31, r3
/* 80374750 003703B0  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80374754 003703B4  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80374758 003703B8  93 81 00 20 */	stw r28, 0x20(r1)
/* 8037475C 003703BC  88 03 00 8C */	lbz r0, 0x8c(r3)
/* 80374760 003703C0  2C 00 00 00 */	cmpwi r0, 0
/* 80374764 003703C4  41 82 04 58 */	beq lbl_80374BBC
/* 80374768 003703C8  88 03 00 8D */	lbz r0, 0x8d(r3)
/* 8037476C 003703CC  2C 00 00 00 */	cmpwi r0, 0
/* 80374770 003703D0  41 82 04 4C */	beq lbl_80374BBC
/* 80374774 003703D4  80 03 00 9C */	lwz r0, 0x9c(r3)
/* 80374778 003703D8  2C 00 00 00 */	cmpwi r0, 0
/* 8037477C 003703DC  40 82 00 14 */	bne lbl_80374790
/* 80374780 003703E0  C0 23 00 A0 */	lfs f1, 0xa0(r3)
/* 80374784 003703E4  C0 02 A6 AC */	lfs f0, lbl_80642CAC-_SDA2_BASE_(r2)
/* 80374788 003703E8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8037478C 003703EC  40 81 00 4C */	ble lbl_803747D8
lbl_80374790:
/* 80374790 003703F0  7F FC FB 78 */	mr r28, r31
/* 80374794 003703F4  3B C0 00 00 */	li r30, 0
lbl_80374798:
/* 80374798 003703F8  2C 1E 00 0F */	cmpwi r30, 0xf
/* 8037479C 003703FC  40 81 00 0C */	ble lbl_803747A8
/* 803747A0 00370400  3B A0 00 00 */	li r29, 0
/* 803747A4 00370404  48 00 00 08 */	b lbl_803747AC
lbl_803747A8:
/* 803747A8 00370408  83 BC 00 B8 */	lwz r29, 0xb8(r28)
lbl_803747AC:
/* 803747AC 0037040C  2C 1D 00 00 */	cmpwi r29, 0
/* 803747B0 00370410  41 82 00 18 */	beq lbl_803747C8
/* 803747B4 00370414  7F A3 EB 78 */	mr r3, r29
/* 803747B8 00370418  38 80 00 7F */	li r4, 0x7f
/* 803747BC 0037041C  48 00 11 65 */	bl ReleaseAllChannel__Q44nw4r3snd6detail8SeqTrackFi
/* 803747C0 00370420  7F A3 EB 78 */	mr r3, r29
/* 803747C4 00370424  48 00 17 5D */	bl FreeAllChannel__Q44nw4r3snd6detail8SeqTrackFv
lbl_803747C8:
/* 803747C8 00370428  3B DE 00 01 */	addi r30, r30, 1
/* 803747CC 0037042C  3B 9C 00 04 */	addi r28, r28, 4
/* 803747D0 00370430  2C 1E 00 10 */	cmpwi r30, 0x10
/* 803747D4 00370434  41 80 FF C4 */	blt lbl_80374798
lbl_803747D8:
/* 803747D8 00370438  3B 80 00 00 */	li r28, 0
/* 803747DC 0037043C  48 00 00 F0 */	b lbl_803748CC
lbl_803747E0:
/* 803747E0 00370440  80 BF 00 9C */	lwz r5, 0x9c(r31)
/* 803747E4 00370444  7F E3 FB 78 */	mr r3, r31
/* 803747E8 00370448  38 80 00 00 */	li r4, 0
/* 803747EC 0037044C  38 05 FF FF */	addi r0, r5, -1
/* 803747F0 00370450  90 1F 00 9C */	stw r0, 0x9c(r31)
/* 803747F4 00370454  4B FF FD 95 */	bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
/* 803747F8 00370458  2C 03 00 00 */	cmpwi r3, 0
/* 803747FC 0037045C  41 82 00 C0 */	beq lbl_803748BC
/* 80374800 00370460  88 1F 00 8D */	lbz r0, 0x8d(r31)
/* 80374804 00370464  2C 00 00 00 */	cmpwi r0, 0
/* 80374808 00370468  41 82 00 28 */	beq lbl_80374830
/* 8037480C 0037046C  2C 1F 00 00 */	cmpwi r31, 0
/* 80374810 00370470  7F FD FB 78 */	mr r29, r31
/* 80374814 00370474  41 82 00 08 */	beq lbl_8037481C
/* 80374818 00370478  3B BF 00 80 */	addi r29, r31, 0x80
lbl_8037481C:
/* 8037481C 0037047C  48 00 7C 35 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 80374820 00370480  7F A4 EB 78 */	mr r4, r29
/* 80374824 00370484  48 00 80 5D */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 80374828 00370488  38 00 00 00 */	li r0, 0
/* 8037482C 0037048C  98 1F 00 8D */	stb r0, 0x8d(r31)
lbl_80374830:
/* 80374830 00370490  88 1F 00 8C */	lbz r0, 0x8c(r31)
/* 80374834 00370494  2C 00 00 00 */	cmpwi r0, 0
/* 80374838 00370498  41 82 00 28 */	beq lbl_80374860
/* 8037483C 0037049C  2C 1F 00 00 */	cmpwi r31, 0
/* 80374840 003704A0  7F FD FB 78 */	mr r29, r31
/* 80374844 003704A4  41 82 00 08 */	beq lbl_8037484C
/* 80374848 003704A8  3B BF 00 74 */	addi r29, r31, 0x74
lbl_8037484C:
/* 8037484C 003704AC  4B FF AA 0D */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80374850 003704B0  7F A4 EB 78 */	mr r4, r29
/* 80374854 003704B4  4B FF AB 59 */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80374858 003704B8  38 00 00 00 */	li r0, 0
/* 8037485C 003704BC  98 1F 00 8C */	stb r0, 0x8c(r31)
lbl_80374860:
/* 80374860 003704C0  7F FC FB 78 */	mr r28, r31
/* 80374864 003704C4  3B C0 00 00 */	li r30, 0
/* 80374868 003704C8  3B A0 00 00 */	li r29, 0
lbl_8037486C:
/* 8037486C 003704CC  2C 1E 00 0F */	cmpwi r30, 0xf
/* 80374870 003704D0  40 81 00 0C */	ble lbl_8037487C
/* 80374874 003704D4  38 60 00 00 */	li r3, 0
/* 80374878 003704D8  48 00 00 08 */	b lbl_80374880
lbl_8037487C:
/* 8037487C 003704DC  80 7C 00 B8 */	lwz r3, 0xb8(r28)
lbl_80374880:
/* 80374880 003704E0  2C 03 00 00 */	cmpwi r3, 0
/* 80374884 003704E4  41 82 00 24 */	beq lbl_803748A8
/* 80374888 003704E8  48 00 0D F5 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8037488C 003704EC  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 80374890 003704F0  80 9C 00 B8 */	lwz r4, 0xb8(r28)
/* 80374894 003704F4  81 83 00 00 */	lwz r12, 0(r3)
/* 80374898 003704F8  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8037489C 003704FC  7D 89 03 A6 */	mtctr r12
/* 803748A0 00370500  4E 80 04 21 */	bctrl
/* 803748A4 00370504  93 BC 00 B8 */	stw r29, 0xb8(r28)
lbl_803748A8:
/* 803748A8 00370508  3B DE 00 01 */	addi r30, r30, 1
/* 803748AC 0037050C  3B 9C 00 04 */	addi r28, r28, 4
/* 803748B0 00370510  2C 1E 00 10 */	cmpwi r30, 0x10
/* 803748B4 00370514  41 80 FF B8 */	blt lbl_8037486C
/* 803748B8 00370518  48 00 03 04 */	b lbl_80374BBC
lbl_803748BC:
/* 803748BC 0037051C  80 7F 01 18 */	lwz r3, 0x118(r31)
/* 803748C0 00370520  3B 9C 00 01 */	addi r28, r28, 1
/* 803748C4 00370524  38 03 00 01 */	addi r0, r3, 1
/* 803748C8 00370528  90 1F 01 18 */	stw r0, 0x118(r31)
lbl_803748CC:
/* 803748CC 0037052C  80 1F 00 9C */	lwz r0, 0x9c(r31)
/* 803748D0 00370530  2C 00 00 00 */	cmpwi r0, 0
/* 803748D4 00370534  41 82 00 0C */	beq lbl_803748E0
/* 803748D8 00370538  2C 1C 03 00 */	cmpwi r28, 0x300
/* 803748DC 0037053C  41 80 FF 04 */	blt lbl_803747E0
lbl_803748E0:
/* 803748E0 00370540  CB A2 A6 B0 */	lfd f29, lbl_80642CB0-_SDA2_BASE_(r2)
/* 803748E4 00370544  3F A0 43 30 */	lis r29, 0x4330
/* 803748E8 00370548  C3 C2 A6 B8 */	lfs f30, lbl_80642CB8-_SDA2_BASE_(r2)
/* 803748EC 0037054C  C3 E2 A6 AC */	lfs f31, lbl_80642CAC-_SDA2_BASE_(r2)
/* 803748F0 00370550  48 00 01 20 */	b lbl_80374A10
lbl_803748F4:
/* 803748F4 00370554  88 7F 00 AA */	lbz r3, 0xaa(r31)
/* 803748F8 00370558  A0 1F 00 AC */	lhz r0, 0xac(r31)
/* 803748FC 0037055C  93 A1 00 08 */	stw r29, 8(r1)
/* 80374900 00370560  7C 03 01 D6 */	mullw r0, r3, r0
/* 80374904 00370564  C0 1F 00 A0 */	lfs f0, 0xa0(r31)
/* 80374908 00370568  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 8037490C 0037056C  90 01 00 0C */	stw r0, 0xc(r1)
/* 80374910 00370570  C8 21 00 08 */	lfd f1, 8(r1)
/* 80374914 00370574  EC 21 E8 28 */	fsubs f1, f1, f29
/* 80374918 00370578  EC 3E 08 24 */	fdivs f1, f30, f1
/* 8037491C 0037057C  EC 00 08 28 */	fsubs f0, f0, f1
/* 80374920 00370580  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80374924 00370584  D0 1F 00 A0 */	stfs f0, 0xa0(r31)
/* 80374928 00370588  40 80 00 08 */	bge lbl_80374930
/* 8037492C 0037058C  D3 FF 00 A0 */	stfs f31, 0xa0(r31)
lbl_80374930:
/* 80374930 00370590  7F E3 FB 78 */	mr r3, r31
/* 80374934 00370594  38 80 00 00 */	li r4, 0
/* 80374938 00370598  4B FF FC 51 */	bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
/* 8037493C 0037059C  2C 03 00 00 */	cmpwi r3, 0
/* 80374940 003705A0  41 82 00 C0 */	beq lbl_80374A00
/* 80374944 003705A4  88 1F 00 8D */	lbz r0, 0x8d(r31)
/* 80374948 003705A8  2C 00 00 00 */	cmpwi r0, 0
/* 8037494C 003705AC  41 82 00 28 */	beq lbl_80374974
/* 80374950 003705B0  2C 1F 00 00 */	cmpwi r31, 0
/* 80374954 003705B4  7F FD FB 78 */	mr r29, r31
/* 80374958 003705B8  41 82 00 08 */	beq lbl_80374960
/* 8037495C 003705BC  3B BF 00 80 */	addi r29, r31, 0x80
lbl_80374960:
/* 80374960 003705C0  48 00 7A F1 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 80374964 003705C4  7F A4 EB 78 */	mr r4, r29
/* 80374968 003705C8  48 00 7F 19 */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8037496C 003705CC  38 00 00 00 */	li r0, 0
/* 80374970 003705D0  98 1F 00 8D */	stb r0, 0x8d(r31)
lbl_80374974:
/* 80374974 003705D4  88 1F 00 8C */	lbz r0, 0x8c(r31)
/* 80374978 003705D8  2C 00 00 00 */	cmpwi r0, 0
/* 8037497C 003705DC  41 82 00 28 */	beq lbl_803749A4
/* 80374980 003705E0  2C 1F 00 00 */	cmpwi r31, 0
/* 80374984 003705E4  7F FD FB 78 */	mr r29, r31
/* 80374988 003705E8  41 82 00 08 */	beq lbl_80374990
/* 8037498C 003705EC  3B BF 00 74 */	addi r29, r31, 0x74
lbl_80374990:
/* 80374990 003705F0  4B FF A8 C9 */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80374994 003705F4  7F A4 EB 78 */	mr r4, r29
/* 80374998 003705F8  4B FF AA 15 */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8037499C 003705FC  38 00 00 00 */	li r0, 0
/* 803749A0 00370600  98 1F 00 8C */	stb r0, 0x8c(r31)
lbl_803749A4:
/* 803749A4 00370604  7F FC FB 78 */	mr r28, r31
/* 803749A8 00370608  3B C0 00 00 */	li r30, 0
/* 803749AC 0037060C  3B A0 00 00 */	li r29, 0
lbl_803749B0:
/* 803749B0 00370610  2C 1E 00 0F */	cmpwi r30, 0xf
/* 803749B4 00370614  40 81 00 0C */	ble lbl_803749C0
/* 803749B8 00370618  38 60 00 00 */	li r3, 0
/* 803749BC 0037061C  48 00 00 08 */	b lbl_803749C4
lbl_803749C0:
/* 803749C0 00370620  80 7C 00 B8 */	lwz r3, 0xb8(r28)
lbl_803749C4:
/* 803749C4 00370624  2C 03 00 00 */	cmpwi r3, 0
/* 803749C8 00370628  41 82 00 24 */	beq lbl_803749EC
/* 803749CC 0037062C  48 00 0C B1 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 803749D0 00370630  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 803749D4 00370634  80 9C 00 B8 */	lwz r4, 0xb8(r28)
/* 803749D8 00370638  81 83 00 00 */	lwz r12, 0(r3)
/* 803749DC 0037063C  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 803749E0 00370640  7D 89 03 A6 */	mtctr r12
/* 803749E4 00370644  4E 80 04 21 */	bctrl
/* 803749E8 00370648  93 BC 00 B8 */	stw r29, 0xb8(r28)
lbl_803749EC:
/* 803749EC 0037064C  3B DE 00 01 */	addi r30, r30, 1
/* 803749F0 00370650  3B 9C 00 04 */	addi r28, r28, 4
/* 803749F4 00370654  2C 1E 00 10 */	cmpwi r30, 0x10
/* 803749F8 00370658  41 80 FF B8 */	blt lbl_803749B0
/* 803749FC 0037065C  48 00 01 C0 */	b lbl_80374BBC
lbl_80374A00:
/* 80374A00 00370660  80 7F 01 18 */	lwz r3, 0x118(r31)
/* 80374A04 00370664  3B 9C 00 01 */	addi r28, r28, 1
/* 80374A08 00370668  38 03 00 01 */	addi r0, r3, 1
/* 80374A0C 0037066C  90 1F 01 18 */	stw r0, 0x118(r31)
lbl_80374A10:
/* 80374A10 00370670  C0 1F 00 A0 */	lfs f0, 0xa0(r31)
/* 80374A14 00370674  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80374A18 00370678  7C 00 00 26 */	mfcr r0
/* 80374A1C 0037067C  54 00 17 FF */	rlwinm. r0, r0, 2, 0x1f, 0x1f
/* 80374A20 00370680  41 82 00 0C */	beq lbl_80374A2C
/* 80374A24 00370684  2C 1C 03 00 */	cmpwi r28, 0x300
/* 80374A28 00370688  41 80 FE CC */	blt lbl_803748F4
lbl_80374A2C:
/* 80374A2C 0037068C  88 1F 00 8E */	lbz r0, 0x8e(r31)
/* 80374A30 00370690  2C 00 00 00 */	cmpwi r0, 0
/* 80374A34 00370694  40 82 01 88 */	bne lbl_80374BBC
/* 80374A38 00370698  80 1F 00 9C */	lwz r0, 0x9c(r31)
/* 80374A3C 0037069C  2C 00 00 00 */	cmpwi r0, 0
/* 80374A40 003706A0  40 82 01 7C */	bne lbl_80374BBC
/* 80374A44 003706A4  C0 22 A6 AC */	lfs f1, lbl_80642CAC-_SDA2_BASE_(r2)
/* 80374A48 003706A8  C0 1F 00 A0 */	lfs f0, 0xa0(r31)
/* 80374A4C 003706AC  FC 01 00 00 */	fcmpu cr0, f1, f0
/* 80374A50 003706B0  40 82 01 6C */	bne lbl_80374BBC
/* 80374A54 003706B4  3C 60 00 01 */	lis r3, 0x0000EA60@ha
/* 80374A58 003706B8  88 1F 00 AA */	lbz r0, 0xaa(r31)
/* 80374A5C 003706BC  3B C3 EA 60 */	addi r30, r3, 0x0000EA60@l
/* 80374A60 003706C0  7C 1E 03 D6 */	divw r0, r30, r0
/* 80374A64 003706C4  3C 60 55 55 */	lis r3, 0x55555556@ha
/* 80374A68 003706C8  3B A3 55 56 */	addi r29, r3, 0x55555556@l
/* 80374A6C 003706CC  7C 7D 00 96 */	mulhw r3, r29, r0
/* 80374A70 003706D0  54 60 0F FE */	srwi r0, r3, 0x1f
/* 80374A74 003706D4  7F 83 02 14 */	add r28, r3, r0
/* 80374A78 003706D8  48 00 01 00 */	b lbl_80374B78
lbl_80374A7C:
/* 80374A7C 003706DC  7F E3 FB 78 */	mr r3, r31
/* 80374A80 003706E0  38 80 00 01 */	li r4, 1
/* 80374A84 003706E4  4B FF FB 05 */	bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
/* 80374A88 003706E8  2C 03 00 00 */	cmpwi r3, 0
/* 80374A8C 003706EC  41 82 00 C0 */	beq lbl_80374B4C
/* 80374A90 003706F0  88 1F 00 8D */	lbz r0, 0x8d(r31)
/* 80374A94 003706F4  2C 00 00 00 */	cmpwi r0, 0
/* 80374A98 003706F8  41 82 00 28 */	beq lbl_80374AC0
/* 80374A9C 003706FC  2C 1F 00 00 */	cmpwi r31, 0
/* 80374AA0 00370700  7F FD FB 78 */	mr r29, r31
/* 80374AA4 00370704  41 82 00 08 */	beq lbl_80374AAC
/* 80374AA8 00370708  3B BF 00 80 */	addi r29, r31, 0x80
lbl_80374AAC:
/* 80374AAC 0037070C  48 00 79 A5 */	bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 80374AB0 00370710  7F A4 EB 78 */	mr r4, r29
/* 80374AB4 00370714  48 00 7D CD */	bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 80374AB8 00370718  38 00 00 00 */	li r0, 0
/* 80374ABC 0037071C  98 1F 00 8D */	stb r0, 0x8d(r31)
lbl_80374AC0:
/* 80374AC0 00370720  88 1F 00 8C */	lbz r0, 0x8c(r31)
/* 80374AC4 00370724  2C 00 00 00 */	cmpwi r0, 0
/* 80374AC8 00370728  41 82 00 28 */	beq lbl_80374AF0
/* 80374ACC 0037072C  2C 1F 00 00 */	cmpwi r31, 0
/* 80374AD0 00370730  7F FD FB 78 */	mr r29, r31
/* 80374AD4 00370734  41 82 00 08 */	beq lbl_80374ADC
/* 80374AD8 00370738  3B BF 00 74 */	addi r29, r31, 0x74
lbl_80374ADC:
/* 80374ADC 0037073C  4B FF A7 7D */	bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80374AE0 00370740  7F A4 EB 78 */	mr r4, r29
/* 80374AE4 00370744  4B FF A8 C9 */	bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80374AE8 00370748  38 00 00 00 */	li r0, 0
/* 80374AEC 0037074C  98 1F 00 8C */	stb r0, 0x8c(r31)
lbl_80374AF0:
/* 80374AF0 00370750  7F FC FB 78 */	mr r28, r31
/* 80374AF4 00370754  3B A0 00 00 */	li r29, 0
/* 80374AF8 00370758  3B C0 00 00 */	li r30, 0
lbl_80374AFC:
/* 80374AFC 0037075C  2C 1D 00 0F */	cmpwi r29, 0xf
/* 80374B00 00370760  40 81 00 0C */	ble lbl_80374B0C
/* 80374B04 00370764  38 60 00 00 */	li r3, 0
/* 80374B08 00370768  48 00 00 08 */	b lbl_80374B10
lbl_80374B0C:
/* 80374B0C 0037076C  80 7C 00 B8 */	lwz r3, 0xb8(r28)
lbl_80374B10:
/* 80374B10 00370770  2C 03 00 00 */	cmpwi r3, 0
/* 80374B14 00370774  41 82 00 24 */	beq lbl_80374B38
/* 80374B18 00370778  48 00 0B 65 */	bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 80374B1C 0037077C  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 80374B20 00370780  80 9C 00 B8 */	lwz r4, 0xb8(r28)
/* 80374B24 00370784  81 83 00 00 */	lwz r12, 0(r3)
/* 80374B28 00370788  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80374B2C 0037078C  7D 89 03 A6 */	mtctr r12
/* 80374B30 00370790  4E 80 04 21 */	bctrl
/* 80374B34 00370794  93 DC 00 B8 */	stw r30, 0xb8(r28)
lbl_80374B38:
/* 80374B38 00370798  3B BD 00 01 */	addi r29, r29, 1
/* 80374B3C 0037079C  3B 9C 00 04 */	addi r28, r28, 4
/* 80374B40 003707A0  2C 1D 00 10 */	cmpwi r29, 0x10
/* 80374B44 003707A4  41 80 FF B8 */	blt lbl_80374AFC
/* 80374B48 003707A8  48 00 00 74 */	b lbl_80374BBC
lbl_80374B4C:
/* 80374B4C 003707AC  88 1F 00 AA */	lbz r0, 0xaa(r31)
/* 80374B50 003707B0  A0 7F 00 98 */	lhz r3, 0x98(r31)
/* 80374B54 003707B4  7C 1E 03 D6 */	divw r0, r30, r0
/* 80374B58 003707B8  80 9F 01 18 */	lwz r4, 0x118(r31)
/* 80374B5C 003707BC  7C 7C 18 50 */	subf r3, r28, r3
/* 80374B60 003707C0  B0 7F 00 98 */	sth r3, 0x98(r31)
/* 80374B64 003707C4  38 84 00 01 */	addi r4, r4, 1
/* 80374B68 003707C8  90 9F 01 18 */	stw r4, 0x118(r31)
/* 80374B6C 003707CC  7C 7D 00 96 */	mulhw r3, r29, r0
/* 80374B70 003707D0  54 60 0F FE */	srwi r0, r3, 0x1f
/* 80374B74 003707D4  7F 83 02 14 */	add r28, r3, r0
lbl_80374B78:
/* 80374B78 003707D8  A0 9F 00 98 */	lhz r4, 0x98(r31)
/* 80374B7C 003707DC  7C 04 E0 00 */	cmpw r4, r28
/* 80374B80 003707E0  40 80 FE FC */	bge lbl_80374A7C
/* 80374B84 003707E4  A0 7F 00 AC */	lhz r3, 0xac(r31)
/* 80374B88 003707E8  3C 00 43 30 */	lis r0, 0x4330
/* 80374B8C 003707EC  90 01 00 08 */	stw r0, 8(r1)
/* 80374B90 003707F0  C8 42 A6 C0 */	lfd f2, lbl_80642CC0-_SDA2_BASE_(r2)
/* 80374B94 003707F4  90 61 00 0C */	stw r3, 0xc(r1)
/* 80374B98 003707F8  C0 1F 00 94 */	lfs f0, 0x94(r31)
/* 80374B9C 003707FC  C8 21 00 08 */	lfd f1, 8(r1)
/* 80374BA0 00370800  EC 21 10 28 */	fsubs f1, f1, f2
/* 80374BA4 00370804  EC 01 00 32 */	fmuls f0, f1, f0
/* 80374BA8 00370808  FC 00 00 1E */	fctiwz f0, f0
/* 80374BAC 0037080C  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80374BB0 00370810  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80374BB4 00370814  7C 04 02 14 */	add r0, r4, r0
/* 80374BB8 00370818  B0 1F 00 98 */	sth r0, 0x98(r31)
lbl_80374BBC:
/* 80374BBC 0037081C  E3 E1 00 58 */	psq_l f31, 88(r1), 0, qr0
/* 80374BC0 00370820  CB E1 00 50 */	lfd f31, 0x50(r1)
/* 80374BC4 00370824  E3 C1 00 48 */	psq_l f30, 72(r1), 0, qr0
/* 80374BC8 00370828  CB C1 00 40 */	lfd f30, 0x40(r1)
/* 80374BCC 0037082C  E3 A1 00 38 */	psq_l f29, 56(r1), 0, qr0
/* 80374BD0 00370830  CB A1 00 30 */	lfd f29, 0x30(r1)
/* 80374BD4 00370834  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80374BD8 00370838  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80374BDC 0037083C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80374BE0 00370840  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80374BE4 00370844  83 81 00 20 */	lwz r28, 0x20(r1)
/* 80374BE8 00370848  7C 08 03 A6 */	mtlr r0
/* 80374BEC 0037084C  38 21 00 60 */	addi r1, r1, 0x60
/* 80374BF0 00370850  4E 80 00 20 */	blr

.global NoteOn__Q44nw4r3snd6detail9SeqPlayerFiRCQ44nw4r3snd6detail10NoteOnInfo
NoteOn__Q44nw4r3snd6detail9SeqPlayerFiRCQ44nw4r3snd6detail10NoteOnInfo:
/* 80374BF4 00370854  7C 67 1B 78 */	mr r7, r3
/* 80374BF8 00370858  80 63 00 B0 */	lwz r3, 0xb0(r3)
/* 80374BFC 0037085C  7C 80 23 78 */	mr r0, r4
/* 80374C00 00370860  7C A6 2B 78 */	mr r6, r5
/* 80374C04 00370864  81 83 00 00 */	lwz r12, 0(r3)
/* 80374C08 00370868  7C E4 3B 78 */	mr r4, r7
/* 80374C0C 0037086C  7C 05 03 78 */	mr r5, r0
/* 80374C10 00370870  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80374C14 00370874  7D 89 03 A6 */	mtctr r12
/* 80374C18 00370878  4E 80 04 20 */	bctr

.global ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel
ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel:
/* 80374C1C 0037087C  4E 80 00 20 */	blr

/* @116@__dt__Q44nw4r3snd6detail9SeqPlayerFv */
.global func_80374C20
func_80374C20:
/* 80374C20 00370880  38 63 FF 8C */	addi r3, r3, -116
/* 80374C24 00370884  4B FF EF 8C */	b __dt__Q44nw4r3snd6detail9SeqPlayerFv

/* @128@__dt__Q44nw4r3snd6detail9SeqPlayerFv */
.global func_80374C28
func_80374C28:
/* 80374C28 00370888  38 63 FF 80 */	addi r3, r3, -128
/* 80374C2C 0037088C  4B FF EF 84 */	b __dt__Q44nw4r3snd6detail9SeqPlayerFv