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
|