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

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

.global __ct__Q44nw4r3snd6detail22SoundArchiveFileReaderFv
__ct__Q44nw4r3snd6detail22SoundArchiveFileReaderFv:
/* 8037757C 003731DC  38 00 00 00 */	li r0, 0
/* 80377580 003731E0  90 03 00 28 */	stw r0, 0x28(r3)
/* 80377584 003731E4  90 03 00 2C */	stw r0, 0x2c(r3)
/* 80377588 003731E8  90 03 00 30 */	stw r0, 0x30(r3)
/* 8037758C 003731EC  90 03 00 34 */	stw r0, 0x34(r3)
/* 80377590 003731F0  90 03 00 38 */	stw r0, 0x38(r3)
/* 80377594 003731F4  90 03 00 3C */	stw r0, 0x3c(r3)
/* 80377598 003731F8  90 03 00 40 */	stw r0, 0x40(r3)
/* 8037759C 003731FC  4E 80 00 20 */	blr

.global Init__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCv
Init__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCv:
/* 803775A0 00373200  80 A4 00 00 */	lwz r5, 0(r4)
/* 803775A4 00373204  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803775A8 00373208  3C 05 AD AD */	addis r0, r5, 0xadad
/* 803775AC 0037320C  28 00 41 52 */	cmplwi r0, 0x4152
/* 803775B0 00373210  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803775B4 00373214  41 82 00 0C */	beq lbl_803775C0
/* 803775B8 00373218  38 00 00 00 */	li r0, 0
/* 803775BC 0037321C  48 00 00 30 */	b lbl_803775EC
lbl_803775C0:
/* 803775C0 00373220  A0 C4 00 06 */	lhz r6, 6(r4)
/* 803775C4 00373224  28 06 01 00 */	cmplwi r6, 0x100
/* 803775C8 00373228  40 80 00 0C */	bge lbl_803775D4
/* 803775CC 0037322C  38 00 00 00 */	li r0, 0
/* 803775D0 00373230  48 00 00 1C */	b lbl_803775EC
lbl_803775D4:
/* 803775D4 00373234  20 06 01 03 */	subfic r0, r6, 0x103
/* 803775D8 00373238  38 A0 01 03 */	li r5, 0x103
/* 803775DC 0037323C  7C A5 33 38 */	orc r5, r5, r6
/* 803775E0 00373240  54 00 F8 7E */	srwi r0, r0, 1
/* 803775E4 00373244  7C 00 28 50 */	subf r0, r0, r5
/* 803775E8 00373248  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_803775EC:
/* 803775EC 0037324C  2C 00 00 00 */	cmpwi r0, 0
/* 803775F0 00373250  41 82 00 54 */	beq lbl_80377644
/* 803775F4 00373254  83 E4 00 00 */	lwz r31, 0(r4)
/* 803775F8 00373258  81 84 00 04 */	lwz r12, 4(r4)
/* 803775FC 0037325C  81 64 00 08 */	lwz r11, 8(r4)
/* 80377600 00373260  81 44 00 0C */	lwz r10, 0xc(r4)
/* 80377604 00373264  81 24 00 10 */	lwz r9, 0x10(r4)
/* 80377608 00373268  81 04 00 14 */	lwz r8, 0x14(r4)
/* 8037760C 0037326C  80 E4 00 18 */	lwz r7, 0x18(r4)
/* 80377610 00373270  80 C4 00 1C */	lwz r6, 0x1c(r4)
/* 80377614 00373274  80 A4 00 20 */	lwz r5, 0x20(r4)
/* 80377618 00373278  80 04 00 24 */	lwz r0, 0x24(r4)
/* 8037761C 0037327C  93 E3 00 00 */	stw r31, 0(r3)
/* 80377620 00373280  91 83 00 04 */	stw r12, 4(r3)
/* 80377624 00373284  91 63 00 08 */	stw r11, 8(r3)
/* 80377628 00373288  91 43 00 0C */	stw r10, 0xc(r3)
/* 8037762C 0037328C  91 23 00 10 */	stw r9, 0x10(r3)
/* 80377630 00373290  91 03 00 14 */	stw r8, 0x14(r3)
/* 80377634 00373294  90 E3 00 18 */	stw r7, 0x18(r3)
/* 80377638 00373298  90 C3 00 1C */	stw r6, 0x1c(r3)
/* 8037763C 0037329C  90 A3 00 20 */	stw r5, 0x20(r3)
/* 80377640 003732A0  90 03 00 24 */	stw r0, 0x24(r3)
lbl_80377644:
/* 80377644 003732A4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80377648 003732A8  38 21 00 10 */	addi r1, r1, 0x10
/* 8037764C 003732AC  4E 80 00 20 */	blr

.global SetInfoChunk__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCvUl
SetInfoChunk__Q44nw4r3snd6detail22SoundArchiveFileReaderFPCvUl:
/* 80377650 003732B0  38 04 00 08 */	addi r0, r4, 8
/* 80377654 003732B4  90 03 00 28 */	stw r0, 0x28(r3)
/* 80377658 003732B8  4E 80 00 20 */	blr

.global GetSoundType__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
GetSoundType__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl:
/* 8037765C 003732BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80377660 003732C0  7C 08 02 A6 */	mflr r0
/* 80377664 003732C4  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 80377668 003732C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037766C 003732CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80377670 003732D0  7C 9F 23 78 */	mr r31, r4
/* 80377674 003732D4  93 C1 00 08 */	stw r30, 8(r1)
/* 80377678 003732D8  7C 7E 1B 78 */	mr r30, r3
/* 8037767C 003732DC  88 65 00 00 */	lbz r3, 0(r5)
/* 80377680 003732E0  80 85 00 04 */	lwz r4, 4(r5)
/* 80377684 003732E4  48 00 BD 65 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377688 003732E8  2C 03 00 00 */	cmpwi r3, 0
/* 8037768C 003732EC  40 82 00 0C */	bne lbl_80377698
/* 80377690 003732F0  38 60 00 00 */	li r3, 0
/* 80377694 003732F4  48 00 00 A0 */	b lbl_80377734
lbl_80377698:
/* 80377698 003732F8  80 03 00 00 */	lwz r0, 0(r3)
/* 8037769C 003732FC  7C 1F 00 40 */	cmplw r31, r0
/* 803776A0 00373300  41 80 00 0C */	blt lbl_803776AC
/* 803776A4 00373304  38 60 00 00 */	li r3, 0
/* 803776A8 00373308  48 00 00 8C */	b lbl_80377734
lbl_803776AC:
/* 803776AC 0037330C  A0 1E 00 06 */	lhz r0, 6(r30)
/* 803776B0 00373310  28 00 01 01 */	cmplwi r0, 0x101
/* 803776B4 00373314  41 80 00 34 */	blt lbl_803776E8
/* 803776B8 00373318  57 E0 18 38 */	slwi r0, r31, 3
/* 803776BC 0037331C  80 BE 00 28 */	lwz r5, 0x28(r30)
/* 803776C0 00373320  7C 83 02 14 */	add r4, r3, r0
/* 803776C4 00373324  88 64 00 04 */	lbz r3, 4(r4)
/* 803776C8 00373328  80 84 00 08 */	lwz r4, 8(r4)
/* 803776CC 0037332C  48 00 BD 1D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 803776D0 00373330  2C 03 00 00 */	cmpwi r3, 0
/* 803776D4 00373334  40 82 00 0C */	bne lbl_803776E0
/* 803776D8 00373338  38 60 00 00 */	li r3, 0
/* 803776DC 0037333C  48 00 00 58 */	b lbl_80377734
lbl_803776E0:
/* 803776E0 00373340  88 03 00 16 */	lbz r0, 0x16(r3)
/* 803776E4 00373344  48 00 00 10 */	b lbl_803776F4
lbl_803776E8:
/* 803776E8 00373348  57 E0 18 38 */	slwi r0, r31, 3
/* 803776EC 0037334C  7C 63 02 14 */	add r3, r3, r0
/* 803776F0 00373350  88 03 00 05 */	lbz r0, 5(r3)
lbl_803776F4:
/* 803776F4 00373354  2C 00 00 02 */	cmpwi r0, 2
/* 803776F8 00373358  41 82 00 28 */	beq lbl_80377720
/* 803776FC 0037335C  40 80 00 10 */	bge lbl_8037770C
/* 80377700 00373360  2C 00 00 01 */	cmpwi r0, 1
/* 80377704 00373364  40 80 00 14 */	bge lbl_80377718
/* 80377708 00373368  48 00 00 28 */	b lbl_80377730
lbl_8037770C:
/* 8037770C 0037336C  2C 00 00 04 */	cmpwi r0, 4
/* 80377710 00373370  40 80 00 20 */	bge lbl_80377730
/* 80377714 00373374  48 00 00 14 */	b lbl_80377728
lbl_80377718:
/* 80377718 00373378  38 60 00 01 */	li r3, 1
/* 8037771C 0037337C  48 00 00 18 */	b lbl_80377734
lbl_80377720:
/* 80377720 00373380  38 60 00 02 */	li r3, 2
/* 80377724 00373384  48 00 00 10 */	b lbl_80377734
lbl_80377728:
/* 80377728 00373388  38 60 00 03 */	li r3, 3
/* 8037772C 0037338C  48 00 00 08 */	b lbl_80377734
lbl_80377730:
/* 80377730 00373390  38 60 00 00 */	li r3, 0
lbl_80377734:
/* 80377734 00373394  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80377738 00373398  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037773C 0037339C  83 C1 00 08 */	lwz r30, 8(r1)
/* 80377740 003733A0  7C 08 03 A6 */	mtlr r0
/* 80377744 003733A4  38 21 00 10 */	addi r1, r1, 0x10
/* 80377748 003733A8  4E 80 00 20 */	blr

.global ReadSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9SoundInfo
ReadSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9SoundInfo:
/* 8037774C 003733AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377750 003733B0  7C 08 02 A6 */	mflr r0
/* 80377754 003733B4  80 C3 00 28 */	lwz r6, 0x28(r3)
/* 80377758 003733B8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037775C 003733BC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377760 003733C0  7C BF 2B 78 */	mr r31, r5
/* 80377764 003733C4  7C C5 33 78 */	mr r5, r6
/* 80377768 003733C8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037776C 003733CC  7C 9E 23 78 */	mr r30, r4
/* 80377770 003733D0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80377774 003733D4  7C 7D 1B 78 */	mr r29, r3
/* 80377778 003733D8  88 66 00 00 */	lbz r3, 0(r6)
/* 8037777C 003733DC  80 86 00 04 */	lwz r4, 4(r6)
/* 80377780 003733E0  48 00 BC 69 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377784 003733E4  2C 03 00 00 */	cmpwi r3, 0
/* 80377788 003733E8  40 82 00 0C */	bne lbl_80377794
/* 8037778C 003733EC  38 60 00 00 */	li r3, 0
/* 80377790 003733F0  48 00 00 54 */	b lbl_803777E4
lbl_80377794:
/* 80377794 003733F4  80 03 00 00 */	lwz r0, 0(r3)
/* 80377798 003733F8  7C 1E 00 40 */	cmplw r30, r0
/* 8037779C 003733FC  41 80 00 0C */	blt lbl_803777A8
/* 803777A0 00373400  38 60 00 00 */	li r3, 0
/* 803777A4 00373404  48 00 00 40 */	b lbl_803777E4
lbl_803777A8:
/* 803777A8 00373408  A0 1D 00 06 */	lhz r0, 6(r29)
/* 803777AC 0037340C  28 00 01 01 */	cmplwi r0, 0x101
/* 803777B0 00373410  41 80 00 20 */	blt lbl_803777D0
/* 803777B4 00373414  57 C0 18 38 */	slwi r0, r30, 3
/* 803777B8 00373418  80 BD 00 28 */	lwz r5, 0x28(r29)
/* 803777BC 0037341C  7C 83 02 14 */	add r4, r3, r0
/* 803777C0 00373420  88 64 00 04 */	lbz r3, 4(r4)
/* 803777C4 00373424  80 84 00 08 */	lwz r4, 8(r4)
/* 803777C8 00373428  48 00 BC 21 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 803777CC 0037342C  48 00 00 18 */	b lbl_803777E4
lbl_803777D0:
/* 803777D0 00373430  57 C4 18 38 */	slwi r4, r30, 3
/* 803777D4 00373434  80 1D 00 28 */	lwz r0, 0x28(r29)
/* 803777D8 00373438  7C 63 22 14 */	add r3, r3, r4
/* 803777DC 0037343C  80 63 00 08 */	lwz r3, 8(r3)
/* 803777E0 00373440  7C 63 02 14 */	add r3, r3, r0
lbl_803777E4:
/* 803777E4 00373444  2C 03 00 00 */	cmpwi r3, 0
/* 803777E8 00373448  40 82 00 0C */	bne lbl_803777F4
/* 803777EC 0037344C  38 60 00 00 */	li r3, 0
/* 803777F0 00373450  48 00 00 60 */	b lbl_80377850
lbl_803777F4:
/* 803777F4 00373454  80 83 00 04 */	lwz r4, 4(r3)
/* 803777F8 00373458  A0 1D 00 06 */	lhz r0, 6(r29)
/* 803777FC 0037345C  90 9F 00 00 */	stw r4, 0(r31)
/* 80377800 00373460  28 00 01 02 */	cmplwi r0, 0x102
/* 80377804 00373464  80 03 00 08 */	lwz r0, 8(r3)
/* 80377808 00373468  90 1F 00 04 */	stw r0, 4(r31)
/* 8037780C 0037346C  88 03 00 15 */	lbz r0, 0x15(r3)
/* 80377810 00373470  90 1F 00 08 */	stw r0, 8(r31)
/* 80377814 00373474  88 03 00 14 */	lbz r0, 0x14(r3)
/* 80377818 00373478  90 1F 00 0C */	stw r0, 0xc(r31)
/* 8037781C 0037347C  88 03 00 17 */	lbz r0, 0x17(r3)
/* 80377820 00373480  90 1F 00 10 */	stw r0, 0x10(r31)
/* 80377824 00373484  41 80 00 18 */	blt lbl_8037783C
/* 80377828 00373488  88 03 00 28 */	lbz r0, 0x28(r3)
/* 8037782C 0037348C  90 1F 00 14 */	stw r0, 0x14(r31)
/* 80377830 00373490  88 03 00 29 */	lbz r0, 0x29(r3)
/* 80377834 00373494  90 1F 00 18 */	stw r0, 0x18(r31)
/* 80377838 00373498  48 00 00 14 */	b lbl_8037784C
lbl_8037783C:
/* 8037783C 0037349C  38 60 00 01 */	li r3, 1
/* 80377840 003734A0  38 00 00 00 */	li r0, 0
/* 80377844 003734A4  90 7F 00 14 */	stw r3, 0x14(r31)
/* 80377848 003734A8  90 1F 00 18 */	stw r0, 0x18(r31)
lbl_8037784C:
/* 8037784C 003734AC  38 60 00 01 */	li r3, 1
lbl_80377850:
/* 80377850 003734B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377854 003734B4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377858 003734B8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037785C 003734BC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80377860 003734C0  7C 08 03 A6 */	mtlr r0
/* 80377864 003734C4  38 21 00 20 */	addi r1, r1, 0x20
/* 80377868 003734C8  4E 80 00 20 */	blr

.global ReadSeqSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive12SeqSoundInfo
ReadSeqSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive12SeqSoundInfo:
/* 8037786C 003734CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377870 003734D0  7C 08 02 A6 */	mflr r0
/* 80377874 003734D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377878 003734D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8037787C 003734DC  7C BF 2B 78 */	mr r31, r5
/* 80377880 003734E0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80377884 003734E4  7C 7E 1B 78 */	mr r30, r3
/* 80377888 003734E8  48 00 09 D5 */	bl impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
/* 8037788C 003734EC  90 61 00 08 */	stw r3, 8(r1)
/* 80377890 003734F0  80 BE 00 28 */	lwz r5, 0x28(r30)
/* 80377894 003734F4  90 81 00 0C */	stw r4, 0xc(r1)
/* 80377898 003734F8  88 61 00 08 */	lbz r3, 8(r1)
/* 8037789C 003734FC  48 00 BB 4D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 803778A0 00373500  2C 03 00 00 */	cmpwi r3, 0
/* 803778A4 00373504  40 82 00 0C */	bne lbl_803778B0
/* 803778A8 00373508  38 60 00 00 */	li r3, 0
/* 803778AC 0037350C  48 00 00 54 */	b lbl_80377900
lbl_803778B0:
/* 803778B0 00373510  80 83 00 00 */	lwz r4, 0(r3)
/* 803778B4 00373514  A0 1E 00 06 */	lhz r0, 6(r30)
/* 803778B8 00373518  90 9F 00 00 */	stw r4, 0(r31)
/* 803778BC 0037351C  28 00 01 03 */	cmplwi r0, 0x103
/* 803778C0 00373520  80 03 00 04 */	lwz r0, 4(r3)
/* 803778C4 00373524  90 1F 00 04 */	stw r0, 4(r31)
/* 803778C8 00373528  88 03 00 0C */	lbz r0, 0xc(r3)
/* 803778CC 0037352C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803778D0 00373530  80 03 00 08 */	lwz r0, 8(r3)
/* 803778D4 00373534  90 1F 00 08 */	stw r0, 8(r31)
/* 803778D8 00373538  41 80 00 1C */	blt lbl_803778F4
/* 803778DC 0037353C  88 63 00 0D */	lbz r3, 0xd(r3)
/* 803778E0 00373540  7C 03 00 D0 */	neg r0, r3
/* 803778E4 00373544  7C 00 1B 78 */	or r0, r0, r3
/* 803778E8 00373548  54 00 0F FE */	srwi r0, r0, 0x1f
/* 803778EC 0037354C  98 1F 00 10 */	stb r0, 0x10(r31)
/* 803778F0 00373550  48 00 00 0C */	b lbl_803778FC
lbl_803778F4:
/* 803778F4 00373554  38 00 00 00 */	li r0, 0
/* 803778F8 00373558  98 1F 00 10 */	stb r0, 0x10(r31)
lbl_803778FC:
/* 803778FC 0037355C  38 60 00 01 */	li r3, 1
lbl_80377900:
/* 80377900 00373560  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377904 00373564  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377908 00373568  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037790C 0037356C  7C 08 03 A6 */	mtlr r0
/* 80377910 00373570  38 21 00 20 */	addi r1, r1, 0x20
/* 80377914 00373574  4E 80 00 20 */	blr

.global ReadStrmSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13StrmSoundInfo
ReadStrmSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13StrmSoundInfo:
/* 80377918 00373578  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037791C 0037357C  7C 08 02 A6 */	mflr r0
/* 80377920 00373580  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377924 00373584  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377928 00373588  7C 7F 1B 78 */	mr r31, r3
/* 8037792C 0037358C  48 00 09 31 */	bl impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
/* 80377930 00373590  90 61 00 08 */	stw r3, 8(r1)
/* 80377934 00373594  80 BF 00 28 */	lwz r5, 0x28(r31)
/* 80377938 00373598  90 81 00 0C */	stw r4, 0xc(r1)
/* 8037793C 0037359C  88 61 00 08 */	lbz r3, 8(r1)
/* 80377940 003735A0  48 00 BA A9 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377944 003735A4  7C 03 00 D0 */	neg r0, r3
/* 80377948 003735A8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8037794C 003735AC  7C 00 1B 78 */	or r0, r0, r3
/* 80377950 003735B0  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80377954 003735B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377958 003735B8  7C 08 03 A6 */	mtlr r0
/* 8037795C 003735BC  38 21 00 20 */	addi r1, r1, 0x20
/* 80377960 003735C0  4E 80 00 20 */	blr

.global ReadWaveSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13WaveSoundInfo
ReadWaveSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13WaveSoundInfo:
/* 80377964 003735C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377968 003735C8  7C 08 02 A6 */	mflr r0
/* 8037796C 003735CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377970 003735D0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377974 003735D4  7C BF 2B 78 */	mr r31, r5
/* 80377978 003735D8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037797C 003735DC  7C 7E 1B 78 */	mr r30, r3
/* 80377980 003735E0  48 00 08 DD */	bl impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
/* 80377984 003735E4  90 61 00 08 */	stw r3, 8(r1)
/* 80377988 003735E8  80 BE 00 28 */	lwz r5, 0x28(r30)
/* 8037798C 003735EC  90 81 00 0C */	stw r4, 0xc(r1)
/* 80377990 003735F0  88 61 00 08 */	lbz r3, 8(r1)
/* 80377994 003735F4  48 00 BA 55 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377998 003735F8  2C 03 00 00 */	cmpwi r3, 0
/* 8037799C 003735FC  40 82 00 0C */	bne lbl_803779A8
/* 803779A0 00373600  38 60 00 00 */	li r3, 0
/* 803779A4 00373604  48 00 00 44 */	b lbl_803779E8
lbl_803779A8:
/* 803779A8 00373608  80 83 00 00 */	lwz r4, 0(r3)
/* 803779AC 0037360C  A0 1E 00 06 */	lhz r0, 6(r30)
/* 803779B0 00373610  90 9F 00 00 */	stw r4, 0(r31)
/* 803779B4 00373614  28 00 01 03 */	cmplwi r0, 0x103
/* 803779B8 00373618  88 03 00 08 */	lbz r0, 8(r3)
/* 803779BC 0037361C  90 1F 00 04 */	stw r0, 4(r31)
/* 803779C0 00373620  41 80 00 1C */	blt lbl_803779DC
/* 803779C4 00373624  88 63 00 09 */	lbz r3, 9(r3)
/* 803779C8 00373628  7C 03 00 D0 */	neg r0, r3
/* 803779CC 0037362C  7C 00 1B 78 */	or r0, r0, r3
/* 803779D0 00373630  54 00 0F FE */	srwi r0, r0, 0x1f
/* 803779D4 00373634  98 1F 00 08 */	stb r0, 8(r31)
/* 803779D8 00373638  48 00 00 0C */	b lbl_803779E4
lbl_803779DC:
/* 803779DC 0037363C  38 00 00 00 */	li r0, 0
/* 803779E0 00373640  98 1F 00 08 */	stb r0, 8(r31)
lbl_803779E4:
/* 803779E4 00373644  38 60 00 01 */	li r3, 1
lbl_803779E8:
/* 803779E8 00373648  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803779EC 0037364C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803779F0 00373650  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803779F4 00373654  7C 08 03 A6 */	mtlr r0
/* 803779F8 00373658  38 21 00 20 */	addi r1, r1, 0x20
/* 803779FC 0037365C  4E 80 00 20 */	blr

.global ReadBankInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8BankInfo
ReadBankInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8BankInfo:
/* 80377A00 00373660  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377A04 00373664  7C 08 02 A6 */	mflr r0
/* 80377A08 00373668  80 C3 00 28 */	lwz r6, 0x28(r3)
/* 80377A0C 0037366C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377A10 00373670  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377A14 00373674  7C BF 2B 78 */	mr r31, r5
/* 80377A18 00373678  7C C5 33 78 */	mr r5, r6
/* 80377A1C 0037367C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80377A20 00373680  7C 9E 23 78 */	mr r30, r4
/* 80377A24 00373684  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80377A28 00373688  7C 7D 1B 78 */	mr r29, r3
/* 80377A2C 0037368C  88 66 00 08 */	lbz r3, 8(r6)
/* 80377A30 00373690  80 86 00 0C */	lwz r4, 0xc(r6)
/* 80377A34 00373694  48 00 B9 B5 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377A38 00373698  2C 03 00 00 */	cmpwi r3, 0
/* 80377A3C 0037369C  40 82 00 0C */	bne lbl_80377A48
/* 80377A40 003736A0  38 60 00 00 */	li r3, 0
/* 80377A44 003736A4  48 00 00 30 */	b lbl_80377A74
lbl_80377A48:
/* 80377A48 003736A8  80 03 00 00 */	lwz r0, 0(r3)
/* 80377A4C 003736AC  7C 1E 00 40 */	cmplw r30, r0
/* 80377A50 003736B0  41 80 00 0C */	blt lbl_80377A5C
/* 80377A54 003736B4  38 60 00 00 */	li r3, 0
/* 80377A58 003736B8  48 00 00 1C */	b lbl_80377A74
lbl_80377A5C:
/* 80377A5C 003736BC  57 C0 18 38 */	slwi r0, r30, 3
/* 80377A60 003736C0  80 BD 00 28 */	lwz r5, 0x28(r29)
/* 80377A64 003736C4  7C 83 02 14 */	add r4, r3, r0
/* 80377A68 003736C8  88 64 00 04 */	lbz r3, 4(r4)
/* 80377A6C 003736CC  80 84 00 08 */	lwz r4, 8(r4)
/* 80377A70 003736D0  48 00 B9 79 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
lbl_80377A74:
/* 80377A74 003736D4  2C 03 00 00 */	cmpwi r3, 0
/* 80377A78 003736D8  40 82 00 0C */	bne lbl_80377A84
/* 80377A7C 003736DC  38 60 00 00 */	li r3, 0
/* 80377A80 003736E0  48 00 00 10 */	b lbl_80377A90
lbl_80377A84:
/* 80377A84 003736E4  80 03 00 04 */	lwz r0, 4(r3)
/* 80377A88 003736E8  38 60 00 01 */	li r3, 1
/* 80377A8C 003736EC  90 1F 00 00 */	stw r0, 0(r31)
lbl_80377A90:
/* 80377A90 003736F0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377A94 003736F4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377A98 003736F8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80377A9C 003736FC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80377AA0 00373700  7C 08 03 A6 */	mtlr r0
/* 80377AA4 00373704  38 21 00 20 */	addi r1, r1, 0x20
/* 80377AA8 00373708  4E 80 00 20 */	blr

.global ReadPlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive10PlayerInfo
ReadPlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive10PlayerInfo:
/* 80377AAC 0037370C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377AB0 00373710  7C 08 02 A6 */	mflr r0
/* 80377AB4 00373714  80 C3 00 28 */	lwz r6, 0x28(r3)
/* 80377AB8 00373718  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377ABC 0037371C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377AC0 00373720  7C BF 2B 78 */	mr r31, r5
/* 80377AC4 00373724  7C C5 33 78 */	mr r5, r6
/* 80377AC8 00373728  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80377ACC 0037372C  7C 9E 23 78 */	mr r30, r4
/* 80377AD0 00373730  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80377AD4 00373734  7C 7D 1B 78 */	mr r29, r3
/* 80377AD8 00373738  88 66 00 10 */	lbz r3, 0x10(r6)
/* 80377ADC 0037373C  80 86 00 14 */	lwz r4, 0x14(r6)
/* 80377AE0 00373740  48 00 B9 09 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377AE4 00373744  2C 03 00 00 */	cmpwi r3, 0
/* 80377AE8 00373748  40 82 00 0C */	bne lbl_80377AF4
/* 80377AEC 0037374C  38 80 00 00 */	li r4, 0
/* 80377AF0 00373750  48 00 00 34 */	b lbl_80377B24
lbl_80377AF4:
/* 80377AF4 00373754  80 03 00 00 */	lwz r0, 0(r3)
/* 80377AF8 00373758  7C 1E 00 40 */	cmplw r30, r0
/* 80377AFC 0037375C  41 80 00 0C */	blt lbl_80377B08
/* 80377B00 00373760  38 80 00 00 */	li r4, 0
/* 80377B04 00373764  48 00 00 20 */	b lbl_80377B24
lbl_80377B08:
/* 80377B08 00373768  57 C0 18 38 */	slwi r0, r30, 3
/* 80377B0C 0037376C  80 BD 00 28 */	lwz r5, 0x28(r29)
/* 80377B10 00373770  7C 83 02 14 */	add r4, r3, r0
/* 80377B14 00373774  88 64 00 04 */	lbz r3, 4(r4)
/* 80377B18 00373778  80 84 00 08 */	lwz r4, 8(r4)
/* 80377B1C 0037377C  48 00 B8 CD */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377B20 00373780  7C 64 1B 78 */	mr r4, r3
lbl_80377B24:
/* 80377B24 00373784  2C 04 00 00 */	cmpwi r4, 0
/* 80377B28 00373788  40 82 00 0C */	bne lbl_80377B34
/* 80377B2C 0037378C  38 60 00 00 */	li r3, 0
/* 80377B30 00373790  48 00 00 18 */	b lbl_80377B48
lbl_80377B34:
/* 80377B34 00373794  88 04 00 04 */	lbz r0, 4(r4)
/* 80377B38 00373798  38 60 00 01 */	li r3, 1
/* 80377B3C 0037379C  90 1F 00 00 */	stw r0, 0(r31)
/* 80377B40 003737A0  80 04 00 08 */	lwz r0, 8(r4)
/* 80377B44 003737A4  90 1F 00 04 */	stw r0, 4(r31)
lbl_80377B48:
/* 80377B48 003737A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377B4C 003737AC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377B50 003737B0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80377B54 003737B4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80377B58 003737B8  7C 08 03 A6 */	mtlr r0
/* 80377B5C 003737BC  38 21 00 20 */	addi r1, r1, 0x20
/* 80377B60 003737C0  4E 80 00 20 */	blr

.global ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo:
/* 80377B64 003737C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377B68 003737C8  7C 08 02 A6 */	mflr r0
/* 80377B6C 003737CC  80 C3 00 28 */	lwz r6, 0x28(r3)
/* 80377B70 003737D0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377B74 003737D4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377B78 003737D8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80377B7C 003737DC  7C 9E 23 78 */	mr r30, r4
/* 80377B80 003737E0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80377B84 003737E4  7C BD 2B 78 */	mr r29, r5
/* 80377B88 003737E8  7C C5 33 78 */	mr r5, r6
/* 80377B8C 003737EC  93 81 00 10 */	stw r28, 0x10(r1)
/* 80377B90 003737F0  7C 7C 1B 78 */	mr r28, r3
/* 80377B94 003737F4  88 66 00 20 */	lbz r3, 0x20(r6)
/* 80377B98 003737F8  80 86 00 24 */	lwz r4, 0x24(r6)
/* 80377B9C 003737FC  48 00 B8 4D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377BA0 00373800  2C 03 00 00 */	cmpwi r3, 0
/* 80377BA4 00373804  40 82 00 0C */	bne lbl_80377BB0
/* 80377BA8 00373808  3B C0 00 00 */	li r30, 0
/* 80377BAC 0037380C  48 00 00 34 */	b lbl_80377BE0
lbl_80377BB0:
/* 80377BB0 00373810  80 03 00 00 */	lwz r0, 0(r3)
/* 80377BB4 00373814  7C 1E 00 40 */	cmplw r30, r0
/* 80377BB8 00373818  41 80 00 0C */	blt lbl_80377BC4
/* 80377BBC 0037381C  3B C0 00 00 */	li r30, 0
/* 80377BC0 00373820  48 00 00 20 */	b lbl_80377BE0
lbl_80377BC4:
/* 80377BC4 00373824  57 C0 18 38 */	slwi r0, r30, 3
/* 80377BC8 00373828  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377BCC 0037382C  7C 83 02 14 */	add r4, r3, r0
/* 80377BD0 00373830  88 64 00 04 */	lbz r3, 4(r4)
/* 80377BD4 00373834  80 84 00 08 */	lwz r4, 8(r4)
/* 80377BD8 00373838  48 00 B8 11 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377BDC 0037383C  7C 7E 1B 78 */	mr r30, r3
lbl_80377BE0:
/* 80377BE0 00373840  2C 1E 00 00 */	cmpwi r30, 0
/* 80377BE4 00373844  40 82 00 0C */	bne lbl_80377BF0
/* 80377BE8 00373848  38 60 00 00 */	li r3, 0
/* 80377BEC 0037384C  48 00 00 68 */	b lbl_80377C54
lbl_80377BF0:
/* 80377BF0 00373850  88 7E 00 20 */	lbz r3, 0x20(r30)
/* 80377BF4 00373854  80 9E 00 24 */	lwz r4, 0x24(r30)
/* 80377BF8 00373858  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377BFC 0037385C  48 00 B7 ED */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377C00 00373860  2C 03 00 00 */	cmpwi r3, 0
/* 80377C04 00373864  7C 7F 1B 78 */	mr r31, r3
/* 80377C08 00373868  40 82 00 0C */	bne lbl_80377C14
/* 80377C0C 0037386C  38 60 00 00 */	li r3, 0
/* 80377C10 00373870  48 00 00 44 */	b lbl_80377C54
lbl_80377C14:
/* 80377C14 00373874  88 7E 00 08 */	lbz r3, 8(r30)
/* 80377C18 00373878  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 80377C1C 0037387C  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377C20 00373880  48 00 B7 C9 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377C24 00373884  90 7D 00 04 */	stw r3, 4(r29)
/* 80377C28 00373888  38 60 00 01 */	li r3, 1
/* 80377C2C 0037388C  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 80377C30 00373890  90 1D 00 08 */	stw r0, 8(r29)
/* 80377C34 00373894  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 80377C38 00373898  90 1D 00 0C */	stw r0, 0xc(r29)
/* 80377C3C 0037389C  80 1E 00 18 */	lwz r0, 0x18(r30)
/* 80377C40 003738A0  90 1D 00 10 */	stw r0, 0x10(r29)
/* 80377C44 003738A4  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 80377C48 003738A8  90 1D 00 14 */	stw r0, 0x14(r29)
/* 80377C4C 003738AC  80 1F 00 00 */	lwz r0, 0(r31)
/* 80377C50 003738B0  90 1D 00 00 */	stw r0, 0(r29)
lbl_80377C54:
/* 80377C54 003738B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377C58 003738B8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377C5C 003738BC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80377C60 003738C0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80377C64 003738C4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80377C68 003738C8  7C 08 03 A6 */	mtlr r0
/* 80377C6C 003738CC  38 21 00 20 */	addi r1, r1, 0x20
/* 80377C70 003738D0  4E 80 00 20 */	blr

.global ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo
ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo:
/* 80377C74 003738D4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377C78 003738D8  7C 08 02 A6 */	mflr r0
/* 80377C7C 003738DC  80 E3 00 28 */	lwz r7, 0x28(r3)
/* 80377C80 003738E0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377C84 003738E4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377C88 003738E8  7C DF 33 78 */	mr r31, r6
/* 80377C8C 003738EC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80377C90 003738F0  7C BE 2B 78 */	mr r30, r5
/* 80377C94 003738F4  7C E5 3B 78 */	mr r5, r7
/* 80377C98 003738F8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80377C9C 003738FC  7C 9D 23 78 */	mr r29, r4
/* 80377CA0 00373900  93 81 00 10 */	stw r28, 0x10(r1)
/* 80377CA4 00373904  7C 7C 1B 78 */	mr r28, r3
/* 80377CA8 00373908  88 67 00 20 */	lbz r3, 0x20(r7)
/* 80377CAC 0037390C  80 87 00 24 */	lwz r4, 0x24(r7)
/* 80377CB0 00373910  48 00 B7 39 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377CB4 00373914  2C 03 00 00 */	cmpwi r3, 0
/* 80377CB8 00373918  40 82 00 0C */	bne lbl_80377CC4
/* 80377CBC 0037391C  38 80 00 00 */	li r4, 0
/* 80377CC0 00373920  48 00 00 34 */	b lbl_80377CF4
lbl_80377CC4:
/* 80377CC4 00373924  80 03 00 00 */	lwz r0, 0(r3)
/* 80377CC8 00373928  7C 1D 00 40 */	cmplw r29, r0
/* 80377CCC 0037392C  41 80 00 0C */	blt lbl_80377CD8
/* 80377CD0 00373930  38 80 00 00 */	li r4, 0
/* 80377CD4 00373934  48 00 00 20 */	b lbl_80377CF4
lbl_80377CD8:
/* 80377CD8 00373938  57 A0 18 38 */	slwi r0, r29, 3
/* 80377CDC 0037393C  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377CE0 00373940  7C 83 02 14 */	add r4, r3, r0
/* 80377CE4 00373944  88 64 00 04 */	lbz r3, 4(r4)
/* 80377CE8 00373948  80 84 00 08 */	lwz r4, 8(r4)
/* 80377CEC 0037394C  48 00 B6 FD */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377CF0 00373950  7C 64 1B 78 */	mr r4, r3
lbl_80377CF4:
/* 80377CF4 00373954  2C 04 00 00 */	cmpwi r4, 0
/* 80377CF8 00373958  40 82 00 0C */	bne lbl_80377D04
/* 80377CFC 0037395C  38 60 00 00 */	li r3, 0
/* 80377D00 00373960  48 00 00 8C */	b lbl_80377D8C
lbl_80377D04:
/* 80377D04 00373964  88 64 00 20 */	lbz r3, 0x20(r4)
/* 80377D08 00373968  80 84 00 24 */	lwz r4, 0x24(r4)
/* 80377D0C 0037396C  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377D10 00373970  48 00 B6 D9 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377D14 00373974  2C 03 00 00 */	cmpwi r3, 0
/* 80377D18 00373978  40 82 00 0C */	bne lbl_80377D24
/* 80377D1C 0037397C  38 60 00 00 */	li r3, 0
/* 80377D20 00373980  48 00 00 6C */	b lbl_80377D8C
lbl_80377D24:
/* 80377D24 00373984  80 03 00 00 */	lwz r0, 0(r3)
/* 80377D28 00373988  7C 1E 00 40 */	cmplw r30, r0
/* 80377D2C 0037398C  41 80 00 0C */	blt lbl_80377D38
/* 80377D30 00373990  38 60 00 00 */	li r3, 0
/* 80377D34 00373994  48 00 00 58 */	b lbl_80377D8C
lbl_80377D38:
/* 80377D38 00373998  57 C0 18 38 */	slwi r0, r30, 3
/* 80377D3C 0037399C  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377D40 003739A0  7C 83 02 14 */	add r4, r3, r0
/* 80377D44 003739A4  88 64 00 04 */	lbz r3, 4(r4)
/* 80377D48 003739A8  80 84 00 08 */	lwz r4, 8(r4)
/* 80377D4C 003739AC  48 00 B6 9D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377D50 003739B0  2C 03 00 00 */	cmpwi r3, 0
/* 80377D54 003739B4  40 82 00 0C */	bne lbl_80377D60
/* 80377D58 003739B8  38 60 00 00 */	li r3, 0
/* 80377D5C 003739BC  48 00 00 30 */	b lbl_80377D8C
lbl_80377D60:
/* 80377D60 003739C0  80 03 00 00 */	lwz r0, 0(r3)
/* 80377D64 003739C4  90 1F 00 00 */	stw r0, 0(r31)
/* 80377D68 003739C8  80 03 00 04 */	lwz r0, 4(r3)
/* 80377D6C 003739CC  90 1F 00 04 */	stw r0, 4(r31)
/* 80377D70 003739D0  80 03 00 08 */	lwz r0, 8(r3)
/* 80377D74 003739D4  90 1F 00 08 */	stw r0, 8(r31)
/* 80377D78 003739D8  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80377D7C 003739DC  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80377D80 003739E0  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80377D84 003739E4  38 60 00 01 */	li r3, 1
/* 80377D88 003739E8  90 1F 00 10 */	stw r0, 0x10(r31)
lbl_80377D8C:
/* 80377D8C 003739EC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377D90 003739F0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377D94 003739F4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80377D98 003739F8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80377D9C 003739FC  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80377DA0 00373A00  7C 08 03 A6 */	mtlr r0
/* 80377DA4 00373A04  38 21 00 20 */	addi r1, r1, 0x20
/* 80377DA8 00373A08  4E 80 00 20 */	blr

.global ReadSoundArchivePlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPQ44nw4r3snd12SoundArchive22SoundArchivePlayerInfo
ReadSoundArchivePlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPQ44nw4r3snd12SoundArchive22SoundArchivePlayerInfo:
/* 80377DAC 00373A0C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80377DB0 00373A10  7C 08 02 A6 */	mflr r0
/* 80377DB4 00373A14  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 80377DB8 00373A18  90 01 00 14 */	stw r0, 0x14(r1)
/* 80377DBC 00373A1C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80377DC0 00373A20  7C 9F 23 78 */	mr r31, r4
/* 80377DC4 00373A24  88 65 00 28 */	lbz r3, 0x28(r5)
/* 80377DC8 00373A28  80 85 00 2C */	lwz r4, 0x2c(r5)
/* 80377DCC 00373A2C  48 00 B6 1D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377DD0 00373A30  2C 1F 00 00 */	cmpwi r31, 0
/* 80377DD4 00373A34  40 82 00 0C */	bne lbl_80377DE0
/* 80377DD8 00373A38  38 60 00 00 */	li r3, 0
/* 80377DDC 00373A3C  48 00 00 40 */	b lbl_80377E1C
lbl_80377DE0:
/* 80377DE0 00373A40  A0 03 00 00 */	lhz r0, 0(r3)
/* 80377DE4 00373A44  90 1F 00 00 */	stw r0, 0(r31)
/* 80377DE8 00373A48  A0 03 00 02 */	lhz r0, 2(r3)
/* 80377DEC 00373A4C  90 1F 00 04 */	stw r0, 4(r31)
/* 80377DF0 00373A50  A0 03 00 04 */	lhz r0, 4(r3)
/* 80377DF4 00373A54  90 1F 00 08 */	stw r0, 8(r31)
/* 80377DF8 00373A58  A0 03 00 06 */	lhz r0, 6(r3)
/* 80377DFC 00373A5C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80377E00 00373A60  A0 03 00 08 */	lhz r0, 8(r3)
/* 80377E04 00373A64  90 1F 00 10 */	stw r0, 0x10(r31)
/* 80377E08 00373A68  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 80377E0C 00373A6C  90 1F 00 14 */	stw r0, 0x14(r31)
/* 80377E10 00373A70  A0 03 00 0C */	lhz r0, 0xc(r3)
/* 80377E14 00373A74  38 60 00 01 */	li r3, 1
/* 80377E18 00373A78  90 1F 00 18 */	stw r0, 0x18(r31)
lbl_80377E1C:
/* 80377E1C 00373A7C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80377E20 00373A80  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80377E24 00373A84  7C 08 03 A6 */	mtlr r0
/* 80377E28 00373A88  38 21 00 10 */	addi r1, r1, 0x10
/* 80377E2C 00373A8C  4E 80 00 20 */	blr

.global GetSoundCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
GetSoundCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv:
/* 80377E30 00373A90  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80377E34 00373A94  7C 08 02 A6 */	mflr r0
/* 80377E38 00373A98  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 80377E3C 00373A9C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80377E40 00373AA0  88 65 00 00 */	lbz r3, 0(r5)
/* 80377E44 00373AA4  80 85 00 04 */	lwz r4, 4(r5)
/* 80377E48 00373AA8  48 00 B5 A1 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377E4C 00373AAC  2C 03 00 00 */	cmpwi r3, 0
/* 80377E50 00373AB0  40 82 00 0C */	bne lbl_80377E5C
/* 80377E54 00373AB4  38 60 00 00 */	li r3, 0
/* 80377E58 00373AB8  48 00 00 08 */	b lbl_80377E60
lbl_80377E5C:
/* 80377E5C 00373ABC  80 63 00 00 */	lwz r3, 0(r3)
lbl_80377E60:
/* 80377E60 00373AC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80377E64 00373AC4  7C 08 03 A6 */	mtlr r0
/* 80377E68 00373AC8  38 21 00 10 */	addi r1, r1, 0x10
/* 80377E6C 00373ACC  4E 80 00 20 */	blr

.global GetPlayerCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
GetPlayerCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv:
/* 80377E70 00373AD0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80377E74 00373AD4  7C 08 02 A6 */	mflr r0
/* 80377E78 00373AD8  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 80377E7C 00373ADC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80377E80 00373AE0  88 65 00 10 */	lbz r3, 0x10(r5)
/* 80377E84 00373AE4  80 85 00 14 */	lwz r4, 0x14(r5)
/* 80377E88 00373AE8  48 00 B5 61 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377E8C 00373AEC  2C 03 00 00 */	cmpwi r3, 0
/* 80377E90 00373AF0  40 82 00 0C */	bne lbl_80377E9C
/* 80377E94 00373AF4  38 60 00 00 */	li r3, 0
/* 80377E98 00373AF8  48 00 00 08 */	b lbl_80377EA0
lbl_80377E9C:
/* 80377E9C 00373AFC  80 63 00 00 */	lwz r3, 0(r3)
lbl_80377EA0:
/* 80377EA0 00373B00  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80377EA4 00373B04  7C 08 03 A6 */	mtlr r0
/* 80377EA8 00373B08  38 21 00 10 */	addi r1, r1, 0x10
/* 80377EAC 00373B0C  4E 80 00 20 */	blr

.global GetGroupCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
GetGroupCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv:
/* 80377EB0 00373B10  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80377EB4 00373B14  7C 08 02 A6 */	mflr r0
/* 80377EB8 00373B18  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 80377EBC 00373B1C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80377EC0 00373B20  88 65 00 20 */	lbz r3, 0x20(r5)
/* 80377EC4 00373B24  80 85 00 24 */	lwz r4, 0x24(r5)
/* 80377EC8 00373B28  48 00 B5 21 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377ECC 00373B2C  2C 03 00 00 */	cmpwi r3, 0
/* 80377ED0 00373B30  40 82 00 0C */	bne lbl_80377EDC
/* 80377ED4 00373B34  38 60 00 00 */	li r3, 0
/* 80377ED8 00373B38  48 00 00 0C */	b lbl_80377EE4
lbl_80377EDC:
/* 80377EDC 00373B3C  80 63 00 00 */	lwz r3, 0(r3)
/* 80377EE0 00373B40  38 63 FF FF */	addi r3, r3, -1
lbl_80377EE4:
/* 80377EE4 00373B44  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80377EE8 00373B48  7C 08 03 A6 */	mtlr r0
/* 80377EEC 00373B4C  38 21 00 10 */	addi r1, r1, 0x10
/* 80377EF0 00373B50  4E 80 00 20 */	blr

.global ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo
ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo:
/* 80377EF4 00373B54  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377EF8 00373B58  7C 08 02 A6 */	mflr r0
/* 80377EFC 00373B5C  80 C3 00 28 */	lwz r6, 0x28(r3)
/* 80377F00 00373B60  90 01 00 24 */	stw r0, 0x24(r1)
/* 80377F04 00373B64  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80377F08 00373B68  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80377F0C 00373B6C  7C 9E 23 78 */	mr r30, r4
/* 80377F10 00373B70  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80377F14 00373B74  7C BD 2B 78 */	mr r29, r5
/* 80377F18 00373B78  7C C5 33 78 */	mr r5, r6
/* 80377F1C 00373B7C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80377F20 00373B80  7C 7C 1B 78 */	mr r28, r3
/* 80377F24 00373B84  88 66 00 18 */	lbz r3, 0x18(r6)
/* 80377F28 00373B88  80 86 00 1C */	lwz r4, 0x1c(r6)
/* 80377F2C 00373B8C  48 00 B4 BD */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377F30 00373B90  2C 03 00 00 */	cmpwi r3, 0
/* 80377F34 00373B94  40 82 00 0C */	bne lbl_80377F40
/* 80377F38 00373B98  38 60 00 00 */	li r3, 0
/* 80377F3C 00373B9C  48 00 00 98 */	b lbl_80377FD4
lbl_80377F40:
/* 80377F40 00373BA0  80 03 00 00 */	lwz r0, 0(r3)
/* 80377F44 00373BA4  7C 1E 00 40 */	cmplw r30, r0
/* 80377F48 00373BA8  41 80 00 0C */	blt lbl_80377F54
/* 80377F4C 00373BAC  38 60 00 00 */	li r3, 0
/* 80377F50 00373BB0  48 00 00 84 */	b lbl_80377FD4
lbl_80377F54:
/* 80377F54 00373BB4  57 C0 18 38 */	slwi r0, r30, 3
/* 80377F58 00373BB8  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377F5C 00373BBC  7C 83 02 14 */	add r4, r3, r0
/* 80377F60 00373BC0  88 64 00 04 */	lbz r3, 4(r4)
/* 80377F64 00373BC4  80 84 00 08 */	lwz r4, 8(r4)
/* 80377F68 00373BC8  48 00 B4 81 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377F6C 00373BCC  2C 03 00 00 */	cmpwi r3, 0
/* 80377F70 00373BD0  7C 7E 1B 78 */	mr r30, r3
/* 80377F74 00373BD4  40 82 00 0C */	bne lbl_80377F80
/* 80377F78 00373BD8  38 60 00 00 */	li r3, 0
/* 80377F7C 00373BDC  48 00 00 58 */	b lbl_80377FD4
lbl_80377F80:
/* 80377F80 00373BE0  88 63 00 14 */	lbz r3, 0x14(r3)
/* 80377F84 00373BE4  80 9E 00 18 */	lwz r4, 0x18(r30)
/* 80377F88 00373BE8  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377F8C 00373BEC  48 00 B4 5D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377F90 00373BF0  2C 03 00 00 */	cmpwi r3, 0
/* 80377F94 00373BF4  7C 7F 1B 78 */	mr r31, r3
/* 80377F98 00373BF8  40 82 00 0C */	bne lbl_80377FA4
/* 80377F9C 00373BFC  38 60 00 00 */	li r3, 0
/* 80377FA0 00373C00  48 00 00 34 */	b lbl_80377FD4
lbl_80377FA4:
/* 80377FA4 00373C04  80 1E 00 00 */	lwz r0, 0(r30)
/* 80377FA8 00373C08  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80377FAC 00373C0C  90 1D 00 00 */	stw r0, 0(r29)
/* 80377FB0 00373C10  80 1E 00 04 */	lwz r0, 4(r30)
/* 80377FB4 00373C14  90 1D 00 04 */	stw r0, 4(r29)
/* 80377FB8 00373C18  88 7E 00 0C */	lbz r3, 0xc(r30)
/* 80377FBC 00373C1C  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 80377FC0 00373C20  48 00 B4 29 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80377FC4 00373C24  90 7D 00 08 */	stw r3, 8(r29)
/* 80377FC8 00373C28  38 60 00 01 */	li r3, 1
/* 80377FCC 00373C2C  80 1F 00 00 */	lwz r0, 0(r31)
/* 80377FD0 00373C30  90 1D 00 0C */	stw r0, 0xc(r29)
lbl_80377FD4:
/* 80377FD4 00373C34  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80377FD8 00373C38  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80377FDC 00373C3C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80377FE0 00373C40  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80377FE4 00373C44  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80377FE8 00373C48  7C 08 03 A6 */	mtlr r0
/* 80377FEC 00373C4C  38 21 00 20 */	addi r1, r1, 0x20
/* 80377FF0 00373C50  4E 80 00 20 */	blr

.global ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos
ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos:
/* 80377FF4 00373C54  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80377FF8 00373C58  7C 08 02 A6 */	mflr r0
/* 80377FFC 00373C5C  80 E3 00 28 */	lwz r7, 0x28(r3)
/* 80378000 00373C60  90 01 00 24 */	stw r0, 0x24(r1)
/* 80378004 00373C64  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80378008 00373C68  7C DF 33 78 */	mr r31, r6
/* 8037800C 00373C6C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80378010 00373C70  7C BE 2B 78 */	mr r30, r5
/* 80378014 00373C74  7C E5 3B 78 */	mr r5, r7
/* 80378018 00373C78  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037801C 00373C7C  7C 9D 23 78 */	mr r29, r4
/* 80378020 00373C80  93 81 00 10 */	stw r28, 0x10(r1)
/* 80378024 00373C84  7C 7C 1B 78 */	mr r28, r3
/* 80378028 00373C88  88 67 00 18 */	lbz r3, 0x18(r7)
/* 8037802C 00373C8C  80 87 00 1C */	lwz r4, 0x1c(r7)
/* 80378030 00373C90  48 00 B3 B9 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80378034 00373C94  2C 03 00 00 */	cmpwi r3, 0
/* 80378038 00373C98  40 82 00 0C */	bne lbl_80378044
/* 8037803C 00373C9C  38 60 00 00 */	li r3, 0
/* 80378040 00373CA0  48 00 00 B4 */	b lbl_803780F4
lbl_80378044:
/* 80378044 00373CA4  80 03 00 00 */	lwz r0, 0(r3)
/* 80378048 00373CA8  7C 1D 00 40 */	cmplw r29, r0
/* 8037804C 00373CAC  41 80 00 0C */	blt lbl_80378058
/* 80378050 00373CB0  38 60 00 00 */	li r3, 0
/* 80378054 00373CB4  48 00 00 A0 */	b lbl_803780F4
lbl_80378058:
/* 80378058 00373CB8  57 A0 18 38 */	slwi r0, r29, 3
/* 8037805C 00373CBC  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80378060 00373CC0  7C 83 02 14 */	add r4, r3, r0
/* 80378064 00373CC4  88 64 00 04 */	lbz r3, 4(r4)
/* 80378068 00373CC8  80 84 00 08 */	lwz r4, 8(r4)
/* 8037806C 00373CCC  48 00 B3 7D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80378070 00373CD0  2C 03 00 00 */	cmpwi r3, 0
/* 80378074 00373CD4  7C 64 1B 78 */	mr r4, r3
/* 80378078 00373CD8  40 82 00 0C */	bne lbl_80378084
/* 8037807C 00373CDC  38 60 00 00 */	li r3, 0
/* 80378080 00373CE0  48 00 00 74 */	b lbl_803780F4
lbl_80378084:
/* 80378084 00373CE4  88 63 00 14 */	lbz r3, 0x14(r3)
/* 80378088 00373CE8  80 84 00 18 */	lwz r4, 0x18(r4)
/* 8037808C 00373CEC  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 80378090 00373CF0  48 00 B3 59 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80378094 00373CF4  2C 03 00 00 */	cmpwi r3, 0
/* 80378098 00373CF8  40 82 00 0C */	bne lbl_803780A4
/* 8037809C 00373CFC  38 60 00 00 */	li r3, 0
/* 803780A0 00373D00  48 00 00 54 */	b lbl_803780F4
lbl_803780A4:
/* 803780A4 00373D04  80 03 00 00 */	lwz r0, 0(r3)
/* 803780A8 00373D08  7C 1E 00 40 */	cmplw r30, r0
/* 803780AC 00373D0C  41 80 00 0C */	blt lbl_803780B8
/* 803780B0 00373D10  38 60 00 00 */	li r3, 0
/* 803780B4 00373D14  48 00 00 40 */	b lbl_803780F4
lbl_803780B8:
/* 803780B8 00373D18  57 C0 18 38 */	slwi r0, r30, 3
/* 803780BC 00373D1C  80 BC 00 28 */	lwz r5, 0x28(r28)
/* 803780C0 00373D20  7C 83 02 14 */	add r4, r3, r0
/* 803780C4 00373D24  88 64 00 04 */	lbz r3, 4(r4)
/* 803780C8 00373D28  80 84 00 08 */	lwz r4, 8(r4)
/* 803780CC 00373D2C  48 00 B3 1D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 803780D0 00373D30  2C 03 00 00 */	cmpwi r3, 0
/* 803780D4 00373D34  40 82 00 0C */	bne lbl_803780E0
/* 803780D8 00373D38  38 60 00 00 */	li r3, 0
/* 803780DC 00373D3C  48 00 00 18 */	b lbl_803780F4
lbl_803780E0:
/* 803780E0 00373D40  80 03 00 00 */	lwz r0, 0(r3)
/* 803780E4 00373D44  90 1F 00 00 */	stw r0, 0(r31)
/* 803780E8 00373D48  80 03 00 04 */	lwz r0, 4(r3)
/* 803780EC 00373D4C  38 60 00 01 */	li r3, 1
/* 803780F0 00373D50  90 1F 00 04 */	stw r0, 4(r31)
lbl_803780F4:
/* 803780F4 00373D54  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803780F8 00373D58  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803780FC 00373D5C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80378100 00373D60  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80378104 00373D64  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80378108 00373D68  7C 08 03 A6 */	mtlr r0
/* 8037810C 00373D6C  38 21 00 20 */	addi r1, r1, 0x20
/* 80378110 00373D70  4E 80 00 20 */	blr

.global ConvertLabelStringToId__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPCQ54nw4r3snd6detail16SoundArchiveFile10StringTreePCc
ConvertLabelStringToId__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPCQ54nw4r3snd6detail16SoundArchiveFile10StringTreePCc:
/* 80378114 00373D74  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80378118 00373D78  7C 08 02 A6 */	mflr r0
/* 8037811C 00373D7C  2C 04 00 00 */	cmpwi r4, 0
/* 80378120 00373D80  90 01 00 24 */	stw r0, 0x24(r1)
/* 80378124 00373D84  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80378128 00373D88  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037812C 00373D8C  7C BE 2B 78 */	mr r30, r5
/* 80378130 00373D90  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80378134 00373D94  7C 9D 23 78 */	mr r29, r4
/* 80378138 00373D98  93 81 00 10 */	stw r28, 0x10(r1)
/* 8037813C 00373D9C  7C 7C 1B 78 */	mr r28, r3
/* 80378140 00373DA0  40 82 00 0C */	bne lbl_8037814C
/* 80378144 00373DA4  38 60 FF FF */	li r3, -1
/* 80378148 00373DA8  48 00 00 F4 */	b lbl_8037823C
lbl_8037814C:
/* 8037814C 00373DAC  80 64 00 00 */	lwz r3, 0(r4)
/* 80378150 00373DB0  80 04 00 04 */	lwz r0, 4(r4)
/* 80378154 00373DB4  7C 03 00 40 */	cmplw r3, r0
/* 80378158 00373DB8  41 80 00 0C */	blt lbl_80378164
/* 8037815C 00373DBC  38 60 FF FF */	li r3, -1
/* 80378160 00373DC0  48 00 00 DC */	b lbl_8037823C
lbl_80378164:
/* 80378164 00373DC4  1C 03 00 14 */	mulli r0, r3, 0x14
/* 80378168 00373DC8  7F C3 F3 78 */	mr r3, r30
/* 8037816C 00373DCC  7C 84 02 14 */	add r4, r4, r0
/* 80378170 00373DD0  3B E4 00 08 */	addi r31, r4, 8
/* 80378174 00373DD4  4B E4 E9 F1 */	bl strlen
/* 80378178 00373DD8  38 A0 00 01 */	li r5, 1
/* 8037817C 00373DDC  48 00 00 48 */	b lbl_803781C4
lbl_80378180:
/* 80378180 00373DE0  A0 1F 00 02 */	lhz r0, 2(r31)
/* 80378184 00373DE4  7C 04 1E 70 */	srawi r4, r0, 3
/* 80378188 00373DE8  54 06 07 7E */	clrlwi r6, r0, 0x1d
/* 8037818C 00373DEC  7C 04 18 00 */	cmpw r4, r3
/* 80378190 00373DF0  40 80 00 24 */	bge lbl_803781B4
/* 80378194 00373DF4  7C 1E 20 AE */	lbzx r0, r30, r4
/* 80378198 00373DF8  20 86 00 07 */	subfic r4, r6, 7
/* 8037819C 00373DFC  7C A4 20 30 */	slw r4, r5, r4
/* 803781A0 00373E00  7C 00 07 74 */	extsb r0, r0
/* 803781A4 00373E04  7C 80 00 39 */	and. r0, r4, r0
/* 803781A8 00373E08  41 82 00 0C */	beq lbl_803781B4
/* 803781AC 00373E0C  80 1F 00 08 */	lwz r0, 8(r31)
/* 803781B0 00373E10  48 00 00 08 */	b lbl_803781B8
lbl_803781B4:
/* 803781B4 00373E14  80 1F 00 04 */	lwz r0, 4(r31)
lbl_803781B8:
/* 803781B8 00373E18  1C 00 00 14 */	mulli r0, r0, 0x14
/* 803781BC 00373E1C  7C 9D 02 14 */	add r4, r29, r0
/* 803781C0 00373E20  3B E4 00 08 */	addi r31, r4, 8
lbl_803781C4:
/* 803781C4 00373E24  A0 1F 00 00 */	lhz r0, 0(r31)
/* 803781C8 00373E28  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803781CC 00373E2C  41 82 FF B4 */	beq lbl_80378180
/* 803781D0 00373E30  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 803781D4 00373E34  3C 03 00 01 */	addis r0, r3, 1
/* 803781D8 00373E38  28 00 FF FF */	cmplwi r0, 0xffff
/* 803781DC 00373E3C  40 82 00 0C */	bne lbl_803781E8
/* 803781E0 00373E40  38 80 00 00 */	li r4, 0
/* 803781E4 00373E44  48 00 00 3C */	b lbl_80378220
lbl_803781E8:
/* 803781E8 00373E48  80 BC 00 30 */	lwz r5, 0x30(r28)
/* 803781EC 00373E4C  2C 05 00 00 */	cmpwi r5, 0
/* 803781F0 00373E50  40 82 00 0C */	bne lbl_803781FC
/* 803781F4 00373E54  38 80 00 00 */	li r4, 0
/* 803781F8 00373E58  48 00 00 28 */	b lbl_80378220
lbl_803781FC:
/* 803781FC 00373E5C  54 60 10 3A */	slwi r0, r3, 2
/* 80378200 00373E60  80 9C 00 2C */	lwz r4, 0x2c(r28)
/* 80378204 00373E64  7C 65 02 14 */	add r3, r5, r0
/* 80378208 00373E68  80 03 00 04 */	lwz r0, 4(r3)
/* 8037820C 00373E6C  2C 00 00 00 */	cmpwi r0, 0
/* 80378210 00373E70  40 82 00 0C */	bne lbl_8037821C
/* 80378214 00373E74  38 80 00 00 */	li r4, 0
/* 80378218 00373E78  48 00 00 08 */	b lbl_80378220
lbl_8037821C:
/* 8037821C 00373E7C  7C 80 22 14 */	add r4, r0, r4
lbl_80378220:
/* 80378220 00373E80  7F C3 F3 78 */	mr r3, r30
/* 80378224 00373E84  4B E5 62 29 */	bl strcmp
/* 80378228 00373E88  2C 03 00 00 */	cmpwi r3, 0
/* 8037822C 00373E8C  40 82 00 0C */	bne lbl_80378238
/* 80378230 00373E90  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80378234 00373E94  48 00 00 08 */	b lbl_8037823C
lbl_80378238:
/* 80378238 00373E98  38 60 FF FF */	li r3, -1
lbl_8037823C:
/* 8037823C 00373E9C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80378240 00373EA0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80378244 00373EA4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80378248 00373EA8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8037824C 00373EAC  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80378250 00373EB0  7C 08 03 A6 */	mtlr r0
/* 80378254 00373EB4  38 21 00 20 */	addi r1, r1, 0x20
/* 80378258 00373EB8  4E 80 00 20 */	blr

.global impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
impl_GetSoundInfoOffset__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl:
/* 8037825C 00373EBC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80378260 00373EC0  7C 08 02 A6 */	mflr r0
/* 80378264 00373EC4  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 80378268 00373EC8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037826C 00373ECC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80378270 00373ED0  7C 9F 23 78 */	mr r31, r4
/* 80378274 00373ED4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80378278 00373ED8  7C 7E 1B 78 */	mr r30, r3
/* 8037827C 00373EDC  88 65 00 00 */	lbz r3, 0(r5)
/* 80378280 00373EE0  80 85 00 04 */	lwz r4, 4(r5)
/* 80378284 00373EE4  48 00 B1 65 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80378288 00373EE8  2C 03 00 00 */	cmpwi r3, 0
/* 8037828C 00373EEC  40 82 00 10 */	bne lbl_8037829C
/* 80378290 00373EF0  80 6D B2 68 */	lwz r3, lbl_80640528-_SDA_BASE_(r13)
/* 80378294 00373EF4  80 8D B2 6C */	lwz r4, lbl_8064052C-_SDA_BASE_(r13)
/* 80378298 00373EF8  48 00 00 A0 */	b lbl_80378338
lbl_8037829C:
/* 8037829C 00373EFC  80 03 00 00 */	lwz r0, 0(r3)
/* 803782A0 00373F00  7C 1F 00 40 */	cmplw r31, r0
/* 803782A4 00373F04  41 80 00 10 */	blt lbl_803782B4
/* 803782A8 00373F08  80 6D B2 68 */	lwz r3, lbl_80640528-_SDA_BASE_(r13)
/* 803782AC 00373F0C  80 8D B2 6C */	lwz r4, lbl_8064052C-_SDA_BASE_(r13)
/* 803782B0 00373F10  48 00 00 88 */	b lbl_80378338
lbl_803782B4:
/* 803782B4 00373F14  A0 1E 00 06 */	lhz r0, 6(r30)
/* 803782B8 00373F18  28 00 01 01 */	cmplwi r0, 0x101
/* 803782BC 00373F1C  41 80 00 54 */	blt lbl_80378310
/* 803782C0 00373F20  57 E0 18 38 */	slwi r0, r31, 3
/* 803782C4 00373F24  80 BE 00 28 */	lwz r5, 0x28(r30)
/* 803782C8 00373F28  7C 83 02 14 */	add r4, r3, r0
/* 803782CC 00373F2C  88 64 00 04 */	lbz r3, 4(r4)
/* 803782D0 00373F30  80 84 00 08 */	lwz r4, 8(r4)
/* 803782D4 00373F34  48 00 B1 15 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 803782D8 00373F38  2C 03 00 00 */	cmpwi r3, 0
/* 803782DC 00373F3C  40 82 00 18 */	bne lbl_803782F4
/* 803782E0 00373F40  80 6D B2 68 */	lwz r3, lbl_80640528-_SDA_BASE_(r13)
/* 803782E4 00373F44  80 0D B2 6C */	lwz r0, lbl_8064052C-_SDA_BASE_(r13)
/* 803782E8 00373F48  90 61 00 10 */	stw r3, 0x10(r1)
/* 803782EC 00373F4C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803782F0 00373F50  48 00 00 14 */	b lbl_80378304
lbl_803782F4:
/* 803782F4 00373F54  80 83 00 18 */	lwz r4, 0x18(r3)
/* 803782F8 00373F58  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 803782FC 00373F5C  90 81 00 10 */	stw r4, 0x10(r1)
/* 80378300 00373F60  90 01 00 14 */	stw r0, 0x14(r1)
lbl_80378304:
/* 80378304 00373F64  80 61 00 10 */	lwz r3, 0x10(r1)
/* 80378308 00373F68  80 81 00 14 */	lwz r4, 0x14(r1)
/* 8037830C 00373F6C  48 00 00 2C */	b lbl_80378338
lbl_80378310:
/* 80378310 00373F70  57 E0 18 38 */	slwi r0, r31, 3
/* 80378314 00373F74  7C 63 02 14 */	add r3, r3, r0
/* 80378318 00373F78  88 83 00 04 */	lbz r4, 4(r3)
/* 8037831C 00373F7C  88 03 00 05 */	lbz r0, 5(r3)
/* 80378320 00373F80  80 63 00 08 */	lwz r3, 8(r3)
/* 80378324 00373F84  98 81 00 08 */	stb r4, 8(r1)
/* 80378328 00373F88  38 83 00 1C */	addi r4, r3, 0x1c
/* 8037832C 00373F8C  98 01 00 09 */	stb r0, 9(r1)
/* 80378330 00373F90  90 81 00 0C */	stw r4, 0xc(r1)
/* 80378334 00373F94  80 61 00 08 */	lwz r3, 8(r1)
lbl_80378338:
/* 80378338 00373F98  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037833C 00373F9C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80378340 00373FA0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80378344 00373FA4  7C 08 03 A6 */	mtlr r0
/* 80378348 00373FA8  38 21 00 20 */	addi r1, r1, 0x20
/* 8037834C 00373FAC  4E 80 00 20 */	blr