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
|