.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