donut-decomp/asm/libnw4r_snd/snd_StrmFile.s

731 lines
35 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ54nw4r3snd6detail14StrmFileReader8StrmInfo
ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ54nw4r3snd6detail14StrmFileReader8StrmInfo:
/* 80115620 00111460 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80115624 00111464 7C 08 02 A6 */ mflr r0
/* 80115628 00111468 80 A3 00 04 */ lwz r5, 0x4(r3)
/* 8011562C 0011146C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80115630 00111470 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80115634 00111474 7C 9F 23 78 */ mr r31, r4
/* 80115638 00111478 8C 65 00 08 */ lbzu r3, 0x8(r5)
/* 8011563C 0011147C 80 85 00 04 */ lwz r4, 0x4(r5)
/* 80115640 00111480 48 00 7A F1 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115644 00111484 88 03 00 00 */ lbz r0, 0x0(r3)
/* 80115648 00111488 2C 00 00 02 */ cmpwi r0, 0x2
/* 8011564C 0011148C 41 82 00 18 */ beq lbl_80115664
/* 80115650 00111490 2C 00 00 01 */ cmpwi r0, 0x1
/* 80115654 00111494 41 82 00 18 */ beq lbl_8011566C
/* 80115658 00111498 2C 00 00 00 */ cmpwi r0, 0x0
/* 8011565C 0011149C 41 82 00 18 */ beq lbl_80115674
/* 80115660 001114A0 48 00 00 1C */ b lbl_8011567C
.global lbl_80115664
lbl_80115664:
/* 80115664 001114A4 38 00 00 03 */ li r0, 0x3
/* 80115668 001114A8 48 00 00 18 */ b lbl_80115680
.global lbl_8011566C
lbl_8011566C:
/* 8011566C 001114AC 38 00 00 01 */ li r0, 0x1
/* 80115670 001114B0 48 00 00 10 */ b lbl_80115680
.global lbl_80115674
lbl_80115674:
/* 80115674 001114B4 38 00 00 02 */ li r0, 0x2
/* 80115678 001114B8 48 00 00 08 */ b lbl_80115680
.global lbl_8011567C
lbl_8011567C:
/* 8011567C 001114BC 38 00 00 03 */ li r0, 0x3
.global lbl_80115680
lbl_80115680:
/* 80115680 001114C0 90 1F 00 00 */ stw r0, 0x0(r31)
/* 80115684 001114C4 88 83 00 01 */ lbz r4, 0x1(r3)
/* 80115688 001114C8 7C 04 00 D0 */ neg r0, r4
/* 8011568C 001114CC 7C 00 23 78 */ or r0, r0, r4
/* 80115690 001114D0 54 00 0F FE */ srwi r0, r0, 31
/* 80115694 001114D4 98 1F 00 04 */ stb r0, 0x4(r31)
/* 80115698 001114D8 88 03 00 02 */ lbz r0, 0x2(r3)
/* 8011569C 001114DC 90 1F 00 08 */ stw r0, 0x8(r31)
/* 801156A0 001114E0 88 83 00 03 */ lbz r4, 0x3(r3)
/* 801156A4 001114E4 A0 03 00 04 */ lhz r0, 0x4(r3)
/* 801156A8 001114E8 54 84 80 1E */ slwi r4, r4, 16
/* 801156AC 001114EC 7C 04 02 14 */ add r0, r4, r0
/* 801156B0 001114F0 90 1F 00 0C */ stw r0, 0xc(r31)
/* 801156B4 001114F4 A0 03 00 06 */ lhz r0, 0x6(r3)
/* 801156B8 001114F8 B0 1F 00 10 */ sth r0, 0x10(r31)
/* 801156BC 001114FC 80 03 00 08 */ lwz r0, 0x8(r3)
/* 801156C0 00111500 90 1F 00 14 */ stw r0, 0x14(r31)
/* 801156C4 00111504 80 03 00 0C */ lwz r0, 0xc(r3)
/* 801156C8 00111508 90 1F 00 18 */ stw r0, 0x18(r31)
/* 801156CC 0011150C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 801156D0 00111510 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 801156D4 00111514 80 03 00 14 */ lwz r0, 0x14(r3)
/* 801156D8 00111518 90 1F 00 20 */ stw r0, 0x20(r31)
/* 801156DC 0011151C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 801156E0 00111520 90 1F 00 24 */ stw r0, 0x24(r31)
/* 801156E4 00111524 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 801156E8 00111528 90 1F 00 28 */ stw r0, 0x28(r31)
/* 801156EC 0011152C 80 03 00 20 */ lwz r0, 0x20(r3)
/* 801156F0 00111530 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 801156F4 00111534 80 03 00 24 */ lwz r0, 0x24(r3)
/* 801156F8 00111538 90 1F 00 30 */ stw r0, 0x30(r31)
/* 801156FC 0011153C 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80115700 00111540 90 1F 00 34 */ stw r0, 0x34(r31)
/* 80115704 00111544 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80115708 00111548 90 1F 00 38 */ stw r0, 0x38(r31)
/* 8011570C 0011154C 80 03 00 30 */ lwz r0, 0x30(r3)
/* 80115710 00111550 38 60 00 01 */ li r3, 0x1
/* 80115714 00111554 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80115718 00111558 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011571C 0011155C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80115720 00111560 7C 08 03 A6 */ mtlr r0
/* 80115724 00111564 38 21 00 10 */ addi r1, r1, 0x10
/* 80115728 00111568 4E 80 00 20 */ blr
/* 8011572C 0011156C 00 00 00 00 */ .4byte 0x00000000
.global ReadStrmTrackInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ54nw4r3snd6detail14StrmFileReader13StrmTrackInfoi
ReadStrmTrackInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ54nw4r3snd6detail14StrmFileReader13StrmTrackInfoi:
/* 80115730 00111570 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80115734 00111574 7C 08 02 A6 */ mflr r0
/* 80115738 00111578 80 C3 00 04 */ lwz r6, 0x4(r3)
/* 8011573C 0011157C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80115740 00111580 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80115744 00111584 7C 9F 23 78 */ mr r31, r4
/* 80115748 00111588 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8011574C 0011158C 7C BE 2B 78 */ mr r30, r5
/* 80115750 00111590 38 A6 00 08 */ addi r5, r6, 0x8
/* 80115754 00111594 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80115758 00111598 7C 7D 1B 78 */ mr r29, r3
/* 8011575C 0011159C 88 66 00 10 */ lbz r3, 0x10(r6)
/* 80115760 001115A0 80 86 00 14 */ lwz r4, 0x14(r6)
/* 80115764 001115A4 48 00 79 CD */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115768 001115A8 88 03 00 00 */ lbz r0, 0x0(r3)
/* 8011576C 001115AC 7C 1E 00 00 */ cmpw r30, r0
/* 80115770 001115B0 41 80 00 0C */ blt lbl_8011577C
/* 80115774 001115B4 38 60 00 00 */ li r3, 0x0
/* 80115778 001115B8 48 00 02 5C */ b lbl_801159D4
.global lbl_8011577C
lbl_8011577C:
/* 8011577C 001115BC 88 03 00 01 */ lbz r0, 0x1(r3)
/* 80115780 001115C0 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115784 001115C4 41 82 00 10 */ beq lbl_80115794
/* 80115788 001115C8 2C 00 00 01 */ cmpwi r0, 0x1
/* 8011578C 001115CC 41 82 01 28 */ beq lbl_801158B4
/* 80115790 001115D0 48 00 02 40 */ b lbl_801159D0
.global lbl_80115794
lbl_80115794:
/* 80115794 001115D4 57 C0 18 38 */ slwi r0, r30, 3
/* 80115798 001115D8 80 9D 00 04 */ lwz r4, 0x4(r29)
/* 8011579C 001115DC 7C C3 02 14 */ add r6, r3, r0
/* 801157A0 001115E0 38 A4 00 08 */ addi r5, r4, 0x8
/* 801157A4 001115E4 88 66 00 04 */ lbz r3, 0x4(r6)
/* 801157A8 001115E8 80 86 00 08 */ lwz r4, 0x8(r6)
/* 801157AC 001115EC 48 00 79 85 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 801157B0 001115F0 2C 03 00 00 */ cmpwi r3, 0x0
/* 801157B4 001115F4 40 82 00 0C */ bne lbl_801157C0
/* 801157B8 001115F8 38 60 00 00 */ li r3, 0x0
/* 801157BC 001115FC 48 00 02 18 */ b lbl_801159D4
.global lbl_801157C0
lbl_801157C0:
/* 801157C0 00111600 38 80 00 7F */ li r4, 0x7f
/* 801157C4 00111604 38 00 00 40 */ li r0, 0x40
/* 801157C8 00111608 98 9F 00 00 */ stb r4, 0x0(r31)
/* 801157CC 0011160C 38 A0 00 20 */ li r5, 0x20
/* 801157D0 00111610 98 1F 00 01 */ stb r0, 0x1(r31)
/* 801157D4 00111614 88 03 00 00 */ lbz r0, 0x0(r3)
/* 801157D8 00111618 90 1F 00 04 */ stw r0, 0x4(r31)
/* 801157DC 0011161C 2C 00 00 20 */ cmpwi r0, 0x20
/* 801157E0 00111620 41 81 00 08 */ bgt lbl_801157E8
/* 801157E4 00111624 7C 05 03 78 */ mr r5, r0
.global lbl_801157E8
lbl_801157E8:
/* 801157E8 00111628 2C 85 00 00 */ cmpwi cr1, r5, 0x0
/* 801157EC 0011162C 39 00 00 00 */ li r8, 0x0
/* 801157F0 00111630 40 85 01 E0 */ ble cr1, lbl_801159D0
/* 801157F4 00111634 2C 05 00 08 */ cmpwi r5, 0x8
/* 801157F8 00111638 38 C5 FF F8 */ addi r6, r5, -0x8
/* 801157FC 0011163C 40 81 00 8C */ ble lbl_80115888
/* 80115800 00111640 38 E0 00 00 */ li r7, 0x0
/* 80115804 00111644 41 84 00 18 */ blt cr1, lbl_8011581C
/* 80115808 00111648 3C 80 80 00 */ lis r4, 0x8000
/* 8011580C 0011164C 38 04 FF FE */ addi r0, r4, -0x2
/* 80115810 00111650 7C 05 00 00 */ cmpw r5, r0
/* 80115814 00111654 41 81 00 08 */ bgt lbl_8011581C
/* 80115818 00111658 38 E0 00 01 */ li r7, 0x1
.global lbl_8011581C
lbl_8011581C:
/* 8011581C 0011165C 2C 07 00 00 */ cmpwi r7, 0x0
/* 80115820 00111660 41 82 00 68 */ beq lbl_80115888
/* 80115824 00111664 38 06 00 07 */ addi r0, r6, 0x7
/* 80115828 00111668 54 00 E8 FE */ srwi r0, r0, 3
/* 8011582C 0011166C 7C 09 03 A6 */ mtctr r0
/* 80115830 00111670 2C 06 00 00 */ cmpwi r6, 0x0
/* 80115834 00111674 40 81 00 54 */ ble lbl_80115888
.global lbl_80115838
lbl_80115838:
/* 80115838 00111678 7C 83 42 14 */ add r4, r3, r8
/* 8011583C 0011167C 7C DF 42 14 */ add r6, r31, r8
/* 80115840 00111680 88 04 00 01 */ lbz r0, 0x1(r4)
/* 80115844 00111684 39 08 00 08 */ addi r8, r8, 0x8
/* 80115848 00111688 98 06 00 08 */ stb r0, 0x8(r6)
/* 8011584C 0011168C 88 04 00 02 */ lbz r0, 0x2(r4)
/* 80115850 00111690 98 06 00 09 */ stb r0, 0x9(r6)
/* 80115854 00111694 88 04 00 03 */ lbz r0, 0x3(r4)
/* 80115858 00111698 98 06 00 0A */ stb r0, 0xa(r6)
/* 8011585C 0011169C 88 04 00 04 */ lbz r0, 0x4(r4)
/* 80115860 001116A0 98 06 00 0B */ stb r0, 0xb(r6)
/* 80115864 001116A4 88 04 00 05 */ lbz r0, 0x5(r4)
/* 80115868 001116A8 98 06 00 0C */ stb r0, 0xc(r6)
/* 8011586C 001116AC 88 04 00 06 */ lbz r0, 0x6(r4)
/* 80115870 001116B0 98 06 00 0D */ stb r0, 0xd(r6)
/* 80115874 001116B4 88 04 00 07 */ lbz r0, 0x7(r4)
/* 80115878 001116B8 98 06 00 0E */ stb r0, 0xe(r6)
/* 8011587C 001116BC 88 04 00 08 */ lbz r0, 0x8(r4)
/* 80115880 001116C0 98 06 00 0F */ stb r0, 0xf(r6)
/* 80115884 001116C4 42 00 FF B4 */ bdnz lbl_80115838
.global lbl_80115888
lbl_80115888:
/* 80115888 001116C8 7C 08 28 50 */ subf r0, r8, r5
/* 8011588C 001116CC 7C 09 03 A6 */ mtctr r0
/* 80115890 001116D0 7C 08 28 00 */ cmpw r8, r5
/* 80115894 001116D4 40 80 01 3C */ bge lbl_801159D0
.global lbl_80115898
lbl_80115898:
/* 80115898 001116D8 7C A3 42 14 */ add r5, r3, r8
/* 8011589C 001116DC 7C 9F 42 14 */ add r4, r31, r8
/* 801158A0 001116E0 88 05 00 01 */ lbz r0, 0x1(r5)
/* 801158A4 001116E4 39 08 00 01 */ addi r8, r8, 0x1
/* 801158A8 001116E8 98 04 00 08 */ stb r0, 0x8(r4)
/* 801158AC 001116EC 42 00 FF EC */ bdnz lbl_80115898
/* 801158B0 001116F0 48 00 01 20 */ b lbl_801159D0
.global lbl_801158B4
lbl_801158B4:
/* 801158B4 001116F4 57 C0 18 38 */ slwi r0, r30, 3
/* 801158B8 001116F8 80 9D 00 04 */ lwz r4, 0x4(r29)
/* 801158BC 001116FC 7C C3 02 14 */ add r6, r3, r0
/* 801158C0 00111700 38 A4 00 08 */ addi r5, r4, 0x8
/* 801158C4 00111704 88 66 00 04 */ lbz r3, 0x4(r6)
/* 801158C8 00111708 80 86 00 08 */ lwz r4, 0x8(r6)
/* 801158CC 0011170C 48 00 78 65 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 801158D0 00111710 2C 03 00 00 */ cmpwi r3, 0x0
/* 801158D4 00111714 40 82 00 0C */ bne lbl_801158E0
/* 801158D8 00111718 38 60 00 00 */ li r3, 0x0
/* 801158DC 0011171C 48 00 00 F8 */ b lbl_801159D4
.global lbl_801158E0
lbl_801158E0:
/* 801158E0 00111720 88 03 00 00 */ lbz r0, 0x0(r3)
/* 801158E4 00111724 38 A0 00 20 */ li r5, 0x20
/* 801158E8 00111728 98 1F 00 00 */ stb r0, 0x0(r31)
/* 801158EC 0011172C 88 03 00 01 */ lbz r0, 0x1(r3)
/* 801158F0 00111730 98 1F 00 01 */ stb r0, 0x1(r31)
/* 801158F4 00111734 88 03 00 08 */ lbz r0, 0x8(r3)
/* 801158F8 00111738 90 1F 00 04 */ stw r0, 0x4(r31)
/* 801158FC 0011173C 2C 00 00 20 */ cmpwi r0, 0x20
/* 80115900 00111740 41 81 00 08 */ bgt lbl_80115908
/* 80115904 00111744 7C 05 03 78 */ mr r5, r0
.global lbl_80115908
lbl_80115908:
/* 80115908 00111748 2C 85 00 00 */ cmpwi cr1, r5, 0x0
/* 8011590C 0011174C 39 00 00 00 */ li r8, 0x0
/* 80115910 00111750 40 85 00 C0 */ ble cr1, lbl_801159D0
/* 80115914 00111754 2C 05 00 08 */ cmpwi r5, 0x8
/* 80115918 00111758 38 C5 FF F8 */ addi r6, r5, -0x8
/* 8011591C 0011175C 40 81 00 8C */ ble lbl_801159A8
/* 80115920 00111760 38 E0 00 00 */ li r7, 0x0
/* 80115924 00111764 41 84 00 18 */ blt cr1, lbl_8011593C
/* 80115928 00111768 3C 80 80 00 */ lis r4, 0x8000
/* 8011592C 0011176C 38 04 FF FE */ addi r0, r4, -0x2
/* 80115930 00111770 7C 05 00 00 */ cmpw r5, r0
/* 80115934 00111774 41 81 00 08 */ bgt lbl_8011593C
/* 80115938 00111778 38 E0 00 01 */ li r7, 0x1
.global lbl_8011593C
lbl_8011593C:
/* 8011593C 0011177C 2C 07 00 00 */ cmpwi r7, 0x0
/* 80115940 00111780 41 82 00 68 */ beq lbl_801159A8
/* 80115944 00111784 38 06 00 07 */ addi r0, r6, 0x7
/* 80115948 00111788 54 00 E8 FE */ srwi r0, r0, 3
/* 8011594C 0011178C 7C 09 03 A6 */ mtctr r0
/* 80115950 00111790 2C 06 00 00 */ cmpwi r6, 0x0
/* 80115954 00111794 40 81 00 54 */ ble lbl_801159A8
.global lbl_80115958
lbl_80115958:
/* 80115958 00111798 7C 83 42 14 */ add r4, r3, r8
/* 8011595C 0011179C 7C DF 42 14 */ add r6, r31, r8
/* 80115960 001117A0 88 04 00 09 */ lbz r0, 0x9(r4)
/* 80115964 001117A4 39 08 00 08 */ addi r8, r8, 0x8
/* 80115968 001117A8 98 06 00 08 */ stb r0, 0x8(r6)
/* 8011596C 001117AC 88 04 00 0A */ lbz r0, 0xa(r4)
/* 80115970 001117B0 98 06 00 09 */ stb r0, 0x9(r6)
/* 80115974 001117B4 88 04 00 0B */ lbz r0, 0xb(r4)
/* 80115978 001117B8 98 06 00 0A */ stb r0, 0xa(r6)
/* 8011597C 001117BC 88 04 00 0C */ lbz r0, 0xc(r4)
/* 80115980 001117C0 98 06 00 0B */ stb r0, 0xb(r6)
/* 80115984 001117C4 88 04 00 0D */ lbz r0, 0xd(r4)
/* 80115988 001117C8 98 06 00 0C */ stb r0, 0xc(r6)
/* 8011598C 001117CC 88 04 00 0E */ lbz r0, 0xe(r4)
/* 80115990 001117D0 98 06 00 0D */ stb r0, 0xd(r6)
/* 80115994 001117D4 88 04 00 0F */ lbz r0, 0xf(r4)
/* 80115998 001117D8 98 06 00 0E */ stb r0, 0xe(r6)
/* 8011599C 001117DC 88 04 00 10 */ lbz r0, 0x10(r4)
/* 801159A0 001117E0 98 06 00 0F */ stb r0, 0xf(r6)
/* 801159A4 001117E4 42 00 FF B4 */ bdnz lbl_80115958
.global lbl_801159A8
lbl_801159A8:
/* 801159A8 001117E8 7C 08 28 50 */ subf r0, r8, r5
/* 801159AC 001117EC 7C 09 03 A6 */ mtctr r0
/* 801159B0 001117F0 7C 08 28 00 */ cmpw r8, r5
/* 801159B4 001117F4 40 80 00 1C */ bge lbl_801159D0
.global lbl_801159B8
lbl_801159B8:
/* 801159B8 001117F8 7C A3 42 14 */ add r5, r3, r8
/* 801159BC 001117FC 7C 9F 42 14 */ add r4, r31, r8
/* 801159C0 00111800 88 05 00 09 */ lbz r0, 0x9(r5)
/* 801159C4 00111804 39 08 00 01 */ addi r8, r8, 0x1
/* 801159C8 00111808 98 04 00 08 */ stb r0, 0x8(r4)
/* 801159CC 0011180C 42 00 FF EC */ bdnz lbl_801159B8
.global lbl_801159D0
lbl_801159D0:
/* 801159D0 00111810 38 60 00 01 */ li r3, 0x1
.global lbl_801159D4
lbl_801159D4:
/* 801159D4 00111814 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801159D8 00111818 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801159DC 0011181C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801159E0 00111820 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801159E4 00111824 7C 08 03 A6 */ mtlr r0
/* 801159E8 00111828 38 21 00 20 */ addi r1, r1, 0x20
/* 801159EC 0011182C 4E 80 00 20 */ blr
.global LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl
LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl:
/* 801159F0 00111830 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801159F4 00111834 7C 08 02 A6 */ mflr r0
/* 801159F8 00111838 90 01 00 84 */ stw r0, 0x84(r1)
/* 801159FC 0011183C 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 80115A00 00111840 7C 9F 23 78 */ mr r31, r4
/* 80115A04 00111844 38 80 00 00 */ li r4, 0x0
/* 80115A08 00111848 93 C1 00 78 */ stw r30, 0x78(r1)
/* 80115A0C 0011184C 7C 7E 1B 78 */ mr r30, r3
/* 80115A10 00111850 93 A1 00 74 */ stw r29, 0x74(r1)
/* 80115A14 00111854 93 81 00 70 */ stw r28, 0x70(r1)
/* 80115A18 00111858 7C BC 2B 78 */ mr r28, r5
/* 80115A1C 0011185C 38 A0 00 00 */ li r5, 0x0
/* 80115A20 00111860 80 63 00 00 */ lwz r3, 0x0(r3)
/* 80115A24 00111864 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80115A28 00111868 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 80115A2C 0011186C 7D 89 03 A6 */ mtctr r12
/* 80115A30 00111870 4E 80 04 21 */ bctrl
/* 80115A34 00111874 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80115A38 00111878 38 01 00 27 */ addi r0, r1, 0x27
/* 80115A3C 0011187C 54 1D 00 34 */ clrrwi r29, r0, 5
/* 80115A40 00111880 38 A0 00 40 */ li r5, 0x40
/* 80115A44 00111884 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80115A48 00111888 7F A4 EB 78 */ mr r4, r29
/* 80115A4C 0011188C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80115A50 00111890 7D 89 03 A6 */ mtctr r12
/* 80115A54 00111894 4E 80 04 21 */ bctrl
/* 80115A58 00111898 28 03 00 40 */ cmplwi r3, 0x40
/* 80115A5C 0011189C 41 82 00 0C */ beq lbl_80115A68
/* 80115A60 001118A0 38 60 00 00 */ li r3, 0x0
/* 80115A64 001118A4 48 00 01 30 */ b lbl_80115B94
.global lbl_80115A68
lbl_80115A68:
/* 80115A68 001118A8 80 7D 00 00 */ lwz r3, 0x0(r29)
/* 80115A6C 001118AC 3C 03 AD AD */ addis r0, r3, 0xadad
/* 80115A70 001118B0 28 00 54 4D */ cmplwi r0, 0x544d
/* 80115A74 001118B4 41 82 00 0C */ beq lbl_80115A80
/* 80115A78 001118B8 38 00 00 00 */ li r0, 0x0
/* 80115A7C 001118BC 48 00 00 30 */ b lbl_80115AAC
.global lbl_80115A80
lbl_80115A80:
/* 80115A80 001118C0 A0 9D 00 06 */ lhz r4, 0x6(r29)
/* 80115A84 001118C4 28 04 01 00 */ cmplwi r4, 0x100
/* 80115A88 001118C8 40 80 00 0C */ bge lbl_80115A94
/* 80115A8C 001118CC 38 00 00 00 */ li r0, 0x0
/* 80115A90 001118D0 48 00 00 1C */ b lbl_80115AAC
.global lbl_80115A94
lbl_80115A94:
/* 80115A94 001118D4 20 04 01 00 */ subfic r0, r4, 0x100
/* 80115A98 001118D8 38 60 01 00 */ li r3, 0x100
/* 80115A9C 001118DC 7C 63 23 38 */ orc r3, r3, r4
/* 80115AA0 001118E0 54 00 F8 7E */ srwi r0, r0, 1
/* 80115AA4 001118E4 7C 00 18 50 */ subf r0, r0, r3
/* 80115AA8 001118E8 54 00 0F FE */ srwi r0, r0, 31
.global lbl_80115AAC
lbl_80115AAC:
/* 80115AAC 001118EC 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115AB0 001118F0 40 82 00 0C */ bne lbl_80115ABC
/* 80115AB4 001118F4 38 60 00 00 */ li r3, 0x0
/* 80115AB8 001118F8 48 00 00 DC */ b lbl_80115B94
.global lbl_80115ABC
lbl_80115ABC:
/* 80115ABC 001118FC 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 80115AC0 00111900 7C 00 E0 40 */ cmplw r0, r28
/* 80115AC4 00111904 40 81 00 0C */ ble lbl_80115AD0
/* 80115AC8 00111908 38 60 00 00 */ li r3, 0x0
/* 80115ACC 0011190C 48 00 00 C8 */ b lbl_80115B94
.global lbl_80115AD0
lbl_80115AD0:
/* 80115AD0 00111910 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80115AD4 00111914 38 80 00 00 */ li r4, 0x0
/* 80115AD8 00111918 80 DD 00 10 */ lwz r6, 0x10(r29)
/* 80115ADC 0011191C 38 A0 00 00 */ li r5, 0x0
/* 80115AE0 00111920 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80115AE4 00111924 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80115AE8 00111928 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 80115AEC 0011192C 7F A6 02 14 */ add r29, r6, r0
/* 80115AF0 00111930 7D 89 03 A6 */ mtctr r12
/* 80115AF4 00111934 4E 80 04 21 */ bctrl
/* 80115AF8 00111938 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80115AFC 0011193C 7F E4 FB 78 */ mr r4, r31
/* 80115B00 00111940 7F A5 EB 78 */ mr r5, r29
/* 80115B04 00111944 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80115B08 00111948 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80115B0C 0011194C 7D 89 03 A6 */ mtctr r12
/* 80115B10 00111950 4E 80 04 21 */ bctrl
/* 80115B14 00111954 7C 03 E8 40 */ cmplw r3, r29
/* 80115B18 00111958 41 82 00 0C */ beq lbl_80115B24
/* 80115B1C 0011195C 38 60 00 00 */ li r3, 0x0
/* 80115B20 00111960 48 00 00 74 */ b lbl_80115B94
.global lbl_80115B24
lbl_80115B24:
/* 80115B24 00111964 80 7F 00 00 */ lwz r3, 0x0(r31)
/* 80115B28 00111968 3C 03 AD AD */ addis r0, r3, 0xadad
/* 80115B2C 0011196C 28 00 54 4D */ cmplwi r0, 0x544d
/* 80115B30 00111970 41 82 00 0C */ beq lbl_80115B3C
/* 80115B34 00111974 38 00 00 00 */ li r0, 0x0
/* 80115B38 00111978 48 00 00 30 */ b lbl_80115B68
.global lbl_80115B3C
lbl_80115B3C:
/* 80115B3C 0011197C A0 9F 00 06 */ lhz r4, 0x6(r31)
/* 80115B40 00111980 28 04 01 00 */ cmplwi r4, 0x100
/* 80115B44 00111984 40 80 00 0C */ bge lbl_80115B50
/* 80115B48 00111988 38 00 00 00 */ li r0, 0x0
/* 80115B4C 0011198C 48 00 00 1C */ b lbl_80115B68
.global lbl_80115B50
lbl_80115B50:
/* 80115B50 00111990 20 04 01 00 */ subfic r0, r4, 0x100
/* 80115B54 00111994 38 60 01 00 */ li r3, 0x100
/* 80115B58 00111998 7C 63 23 38 */ orc r3, r3, r4
/* 80115B5C 0011199C 54 00 F8 7E */ srwi r0, r0, 1
/* 80115B60 001119A0 7C 00 18 50 */ subf r0, r0, r3
/* 80115B64 001119A4 54 00 0F FE */ srwi r0, r0, 31
.global lbl_80115B68
lbl_80115B68:
/* 80115B68 001119A8 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115B6C 001119AC 41 82 00 24 */ beq lbl_80115B90
/* 80115B70 001119B0 93 FE 00 04 */ stw r31, 0x4(r30)
/* 80115B74 001119B4 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80115B78 001119B8 7C 60 FA 14 */ add r3, r0, r31
/* 80115B7C 001119BC 90 7E 00 08 */ stw r3, 0x8(r30)
/* 80115B80 001119C0 38 A3 00 08 */ addi r5, r3, 0x8
/* 80115B84 001119C4 88 63 00 08 */ lbz r3, 0x8(r3)
/* 80115B88 001119C8 80 85 00 04 */ lwz r4, 0x4(r5)
/* 80115B8C 001119CC 48 00 75 A5 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
.global lbl_80115B90
lbl_80115B90:
/* 80115B90 001119D0 38 60 00 01 */ li r3, 0x1
.global lbl_80115B94
lbl_80115B94:
/* 80115B94 001119D4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80115B98 001119D8 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 80115B9C 001119DC 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 80115BA0 001119E0 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 80115BA4 001119E4 83 81 00 70 */ lwz r28, 0x70(r1)
/* 80115BA8 001119E8 7C 08 03 A6 */ mtlr r0
/* 80115BAC 001119EC 38 21 00 80 */ addi r1, r1, 0x80
/* 80115BB0 001119F0 4E 80 00 20 */ blr
/* 80115BB4 001119F4 00 00 00 00 */ .4byte 0x00000000
/* 80115BB8 001119F8 00 00 00 00 */ .4byte 0x00000000
/* 80115BBC 001119FC 00 00 00 00 */ .4byte 0x00000000
.global GetChannelCount__Q44nw4r3snd6detail14StrmFileLoaderCFv
GetChannelCount__Q44nw4r3snd6detail14StrmFileLoaderCFv:
/* 80115BC0 00111A00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80115BC4 00111A04 7C 08 02 A6 */ mflr r0
/* 80115BC8 00111A08 90 01 00 14 */ stw r0, 0x14(r1)
/* 80115BCC 00111A0C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80115BD0 00111A10 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115BD4 00111A14 40 82 00 0C */ bne lbl_80115BE0
/* 80115BD8 00111A18 38 60 00 00 */ li r3, 0x0
/* 80115BDC 00111A1C 48 00 00 1C */ b lbl_80115BF8
.global lbl_80115BE0
lbl_80115BE0:
/* 80115BE0 00111A20 80 83 00 08 */ lwz r4, 0x8(r3)
/* 80115BE4 00111A24 88 64 00 18 */ lbz r3, 0x18(r4)
/* 80115BE8 00111A28 38 A4 00 08 */ addi r5, r4, 0x8
/* 80115BEC 00111A2C 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 80115BF0 00111A30 48 00 75 41 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115BF4 00111A34 88 63 00 00 */ lbz r3, 0x0(r3)
.global lbl_80115BF8
lbl_80115BF8:
/* 80115BF8 00111A38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80115BFC 00111A3C 7C 08 03 A6 */ mtlr r0
/* 80115C00 00111A40 38 21 00 10 */ addi r1, r1, 0x10
/* 80115C04 00111A44 4E 80 00 20 */ blr
/* 80115C08 00111A48 00 00 00 00 */ .4byte 0x00000000
/* 80115C0C 00111A4C 00 00 00 00 */ .4byte 0x00000000
.global ReadStrmInfo__Q44nw4r3snd6detail14StrmFileLoaderCFPQ54nw4r3snd6detail14StrmFileReader8StrmInfo
ReadStrmInfo__Q44nw4r3snd6detail14StrmFileLoaderCFPQ54nw4r3snd6detail14StrmFileReader8StrmInfo:
/* 80115C10 00111A50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80115C14 00111A54 7C 08 02 A6 */ mflr r0
/* 80115C18 00111A58 90 01 00 14 */ stw r0, 0x14(r1)
/* 80115C1C 00111A5C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80115C20 00111A60 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115C24 00111A64 40 82 00 0C */ bne lbl_80115C30
/* 80115C28 00111A68 38 60 00 00 */ li r3, 0x0
/* 80115C2C 00111A6C 48 00 00 10 */ b lbl_80115C3C
.global lbl_80115C30
lbl_80115C30:
/* 80115C30 00111A70 38 63 00 04 */ addi r3, r3, 0x4
/* 80115C34 00111A74 4B FF F9 ED */ bl ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ54nw4r3snd6detail14StrmFileReader8StrmInfo
/* 80115C38 00111A78 38 60 00 01 */ li r3, 0x1
.global lbl_80115C3C
lbl_80115C3C:
/* 80115C3C 00111A7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80115C40 00111A80 7C 08 03 A6 */ mtlr r0
/* 80115C44 00111A84 38 21 00 10 */ addi r1, r1, 0x10
/* 80115C48 00111A88 4E 80 00 20 */ blr
/* 80115C4C 00111A8C 00 00 00 00 */ .4byte 0x00000000
.global ReadStrmTrackInfo__Q44nw4r3snd6detail14StrmFileLoaderCFPQ54nw4r3snd6detail14StrmFileReader13StrmTrackInfoi
ReadStrmTrackInfo__Q44nw4r3snd6detail14StrmFileLoaderCFPQ54nw4r3snd6detail14StrmFileReader13StrmTrackInfoi:
/* 80115C50 00111A90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80115C54 00111A94 7C 08 02 A6 */ mflr r0
/* 80115C58 00111A98 90 01 00 14 */ stw r0, 0x14(r1)
/* 80115C5C 00111A9C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80115C60 00111AA0 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115C64 00111AA4 40 82 00 0C */ bne lbl_80115C70
/* 80115C68 00111AA8 38 60 00 00 */ li r3, 0x0
/* 80115C6C 00111AAC 48 00 00 10 */ b lbl_80115C7C
.global lbl_80115C70
lbl_80115C70:
/* 80115C70 00111AB0 38 63 00 04 */ addi r3, r3, 0x4
/* 80115C74 00111AB4 4B FF FA BD */ bl ReadStrmTrackInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ54nw4r3snd6detail14StrmFileReader13StrmTrackInfoi
/* 80115C78 00111AB8 38 60 00 01 */ li r3, 0x1
.global lbl_80115C7C
lbl_80115C7C:
/* 80115C7C 00111ABC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80115C80 00111AC0 7C 08 03 A6 */ mtlr r0
/* 80115C84 00111AC4 38 21 00 10 */ addi r1, r1, 0x10
/* 80115C88 00111AC8 4E 80 00 20 */ blr
/* 80115C8C 00111ACC 00 00 00 00 */ .4byte 0x00000000
.global ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileLoaderCFPQ34nw4r3snd10AdpcmParamPQ44nw4r3snd6detail14AdpcmLoopParami
ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileLoaderCFPQ34nw4r3snd10AdpcmParamPQ44nw4r3snd6detail14AdpcmLoopParami:
/* 80115C90 00111AD0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80115C94 00111AD4 7C 08 02 A6 */ mflr r0
/* 80115C98 00111AD8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80115C9C 00111ADC 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80115CA0 00111AE0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80115CA4 00111AE4 7C BF 2B 78 */ mr r31, r5
/* 80115CA8 00111AE8 2C 00 00 00 */ cmpwi r0, 0x0
/* 80115CAC 00111AEC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80115CB0 00111AF0 7C 9E 23 78 */ mr r30, r4
/* 80115CB4 00111AF4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80115CB8 00111AF8 7C DD 33 78 */ mr r29, r6
/* 80115CBC 00111AFC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80115CC0 00111B00 7C 7C 1B 78 */ mr r28, r3
/* 80115CC4 00111B04 40 82 00 0C */ bne lbl_80115CD0
/* 80115CC8 00111B08 38 60 00 00 */ li r3, 0x0
/* 80115CCC 00111B0C 48 00 00 F0 */ b lbl_80115DBC
.global lbl_80115CD0
lbl_80115CD0:
/* 80115CD0 00111B10 80 A3 00 08 */ lwz r5, 0x8(r3)
/* 80115CD4 00111B14 8C 65 00 08 */ lbzu r3, 0x8(r5)
/* 80115CD8 00111B18 80 85 00 04 */ lwz r4, 0x4(r5)
/* 80115CDC 00111B1C 48 00 74 55 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115CE0 00111B20 88 03 00 00 */ lbz r0, 0x0(r3)
/* 80115CE4 00111B24 28 00 00 02 */ cmplwi r0, 0x2
/* 80115CE8 00111B28 40 82 00 D0 */ bne lbl_80115DB8
/* 80115CEC 00111B2C 80 9C 00 08 */ lwz r4, 0x8(r28)
/* 80115CF0 00111B30 88 64 00 18 */ lbz r3, 0x18(r4)
/* 80115CF4 00111B34 38 A4 00 08 */ addi r5, r4, 0x8
/* 80115CF8 00111B38 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 80115CFC 00111B3C 48 00 74 35 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115D00 00111B40 88 03 00 00 */ lbz r0, 0x0(r3)
/* 80115D04 00111B44 7C 1D 00 00 */ cmpw r29, r0
/* 80115D08 00111B48 40 80 00 B0 */ bge lbl_80115DB8
/* 80115D0C 00111B4C 57 A0 18 38 */ slwi r0, r29, 3
/* 80115D10 00111B50 80 9C 00 08 */ lwz r4, 0x8(r28)
/* 80115D14 00111B54 7C C3 02 14 */ add r6, r3, r0
/* 80115D18 00111B58 38 A4 00 08 */ addi r5, r4, 0x8
/* 80115D1C 00111B5C 88 66 00 04 */ lbz r3, 0x4(r6)
/* 80115D20 00111B60 80 86 00 08 */ lwz r4, 0x8(r6)
/* 80115D24 00111B64 48 00 74 0D */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115D28 00111B68 7C 64 1B 78 */ mr r4, r3
/* 80115D2C 00111B6C 80 BC 00 08 */ lwz r5, 0x8(r28)
/* 80115D30 00111B70 88 63 00 00 */ lbz r3, 0x0(r3)
/* 80115D34 00111B74 80 84 00 04 */ lwz r4, 0x4(r4)
/* 80115D38 00111B78 38 A5 00 08 */ addi r5, r5, 0x8
/* 80115D3C 00111B7C 48 00 73 F5 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 80115D40 00111B80 80 83 00 00 */ lwz r4, 0x0(r3)
/* 80115D44 00111B84 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80115D48 00111B88 90 1E 00 04 */ stw r0, 0x4(r30)
/* 80115D4C 00111B8C 90 9E 00 00 */ stw r4, 0x0(r30)
/* 80115D50 00111B90 80 83 00 08 */ lwz r4, 0x8(r3)
/* 80115D54 00111B94 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80115D58 00111B98 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80115D5C 00111B9C 90 9E 00 08 */ stw r4, 0x8(r30)
/* 80115D60 00111BA0 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80115D64 00111BA4 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80115D68 00111BA8 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80115D6C 00111BAC 90 9E 00 10 */ stw r4, 0x10(r30)
/* 80115D70 00111BB0 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80115D74 00111BB4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80115D78 00111BB8 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 80115D7C 00111BBC 90 9E 00 18 */ stw r4, 0x18(r30)
/* 80115D80 00111BC0 A0 03 00 20 */ lhz r0, 0x20(r3)
/* 80115D84 00111BC4 B0 1E 00 20 */ sth r0, 0x20(r30)
/* 80115D88 00111BC8 A0 03 00 22 */ lhz r0, 0x22(r3)
/* 80115D8C 00111BCC B0 1E 00 22 */ sth r0, 0x22(r30)
/* 80115D90 00111BD0 A0 03 00 24 */ lhz r0, 0x24(r3)
/* 80115D94 00111BD4 B0 1E 00 24 */ sth r0, 0x24(r30)
/* 80115D98 00111BD8 A0 03 00 26 */ lhz r0, 0x26(r3)
/* 80115D9C 00111BDC B0 1E 00 26 */ sth r0, 0x26(r30)
/* 80115DA0 00111BE0 A0 03 00 28 */ lhz r0, 0x28(r3)
/* 80115DA4 00111BE4 B0 1F 00 00 */ sth r0, 0x0(r31)
/* 80115DA8 00111BE8 A0 03 00 2A */ lhz r0, 0x2a(r3)
/* 80115DAC 00111BEC B0 1F 00 02 */ sth r0, 0x2(r31)
/* 80115DB0 00111BF0 A0 03 00 2C */ lhz r0, 0x2c(r3)
/* 80115DB4 00111BF4 B0 1F 00 04 */ sth r0, 0x4(r31)
.global lbl_80115DB8
lbl_80115DB8:
/* 80115DB8 00111BF8 38 60 00 01 */ li r3, 0x1
.global lbl_80115DBC
lbl_80115DBC:
/* 80115DBC 00111BFC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80115DC0 00111C00 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80115DC4 00111C04 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80115DC8 00111C08 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80115DCC 00111C0C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80115DD0 00111C10 7C 08 03 A6 */ mtlr r0
/* 80115DD4 00111C14 38 21 00 20 */ addi r1, r1, 0x20
/* 80115DD8 00111C18 4E 80 00 20 */ blr
/* 80115DDC 00111C1C 00 00 00 00 */ .4byte 0x00000000
.global ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii
ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii:
/* 80115DE0 00111C20 54 2B 06 FE */ clrlwi r11, r1, 27
/* 80115DE4 00111C24 7C 2C 0B 78 */ mr r12, r1
/* 80115DE8 00111C28 21 6B FF A0 */ subfic r11, r11, -0x60
/* 80115DEC 00111C2C 7C 21 59 6E */ stwux r1, r1, r11
/* 80115DF0 00111C30 7C 08 02 A6 */ mflr r0
/* 80115DF4 00111C34 90 0C 00 04 */ stw r0, 0x4(r12)
/* 80115DF8 00111C38 93 EC FF FC */ stw r31, -0x4(r12)
/* 80115DFC 00111C3C 7C FF 3B 78 */ mr r31, r7
/* 80115E00 00111C40 93 CC FF F8 */ stw r30, -0x8(r12)
/* 80115E04 00111C44 7C BE 2B 78 */ mr r30, r5
/* 80115E08 00111C48 93 AC FF F4 */ stw r29, -0xc(r12)
/* 80115E0C 00111C4C 7C 9D 23 78 */ mr r29, r4
/* 80115E10 00111C50 93 8C FF F0 */ stw r28, -0x10(r12)
/* 80115E14 00111C54 7C 7C 1B 78 */ mr r28, r3
/* 80115E18 00111C58 81 03 00 04 */ lwz r8, 0x4(r3)
/* 80115E1C 00111C5C 7C 08 00 D0 */ neg r0, r8
/* 80115E20 00111C60 7C 00 43 78 */ or r0, r0, r8
/* 80115E24 00111C64 54 00 0F FF */ srwi. r0, r0, 31
/* 80115E28 00111C68 40 82 00 0C */ bne lbl_80115E34
/* 80115E2C 00111C6C 38 60 00 00 */ li r3, 0x0
/* 80115E30 00111C70 48 00 01 40 */ b lbl_80115F70
.global lbl_80115E34
lbl_80115E34:
/* 80115E34 00111C74 41 82 00 0C */ beq lbl_80115E40
/* 80115E38 00111C78 80 88 00 18 */ lwz r4, 0x18(r8)
/* 80115E3C 00111C7C 48 00 00 08 */ b lbl_80115E44
.global lbl_80115E40
lbl_80115E40:
/* 80115E40 00111C80 38 80 00 00 */ li r4, 0x0
.global lbl_80115E44
lbl_80115E44:
/* 80115E44 00111C84 7C 06 39 D6 */ mullw r0, r6, r7
/* 80115E48 00111C88 80 63 00 00 */ lwz r3, 0x0(r3)
/* 80115E4C 00111C8C 38 A0 00 00 */ li r5, 0x0
/* 80115E50 00111C90 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80115E54 00111C94 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 80115E58 00111C98 54 00 10 3A */ slwi r0, r0, 2
/* 80115E5C 00111C9C 7C 84 02 14 */ add r4, r4, r0
/* 80115E60 00111CA0 38 84 00 08 */ addi r4, r4, 0x8
/* 80115E64 00111CA4 7D 89 03 A6 */ mtctr r12
/* 80115E68 00111CA8 4E 80 04 21 */ bctrl
/* 80115E6C 00111CAC 80 7C 00 00 */ lwz r3, 0x0(r28)
/* 80115E70 00111CB0 38 81 00 20 */ addi r4, r1, 0x20
/* 80115E74 00111CB4 38 A0 00 20 */ li r5, 0x20
/* 80115E78 00111CB8 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80115E7C 00111CBC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80115E80 00111CC0 7D 89 03 A6 */ mtctr r12
/* 80115E84 00111CC4 4E 80 04 21 */ bctrl
/* 80115E88 00111CC8 28 03 00 20 */ cmplwi r3, 0x20
/* 80115E8C 00111CCC 41 82 00 0C */ beq lbl_80115E98
/* 80115E90 00111CD0 38 60 00 00 */ li r3, 0x0
/* 80115E94 00111CD4 48 00 00 DC */ b lbl_80115F70
.global lbl_80115E98
lbl_80115E98:
/* 80115E98 00111CD8 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80115E9C 00111CDC 38 C1 00 20 */ addi r6, r1, 0x20
/* 80115EA0 00111CE0 38 60 00 00 */ li r3, 0x0
/* 80115EA4 00111CE4 38 80 00 00 */ li r4, 0x0
/* 80115EA8 00111CE8 40 81 00 C4 */ ble lbl_80115F6C
/* 80115EAC 00111CEC 57 E0 F0 BF */ srwi. r0, r31, 2
/* 80115EB0 00111CF0 7C 09 03 A6 */ mtctr r0
/* 80115EB4 00111CF4 41 82 00 90 */ beq lbl_80115F44
.global lbl_80115EB8
lbl_80115EB8:
/* 80115EB8 00111CF8 7C A6 1A 2E */ lhzx r5, r6, r3
/* 80115EBC 00111CFC 38 04 00 01 */ addi r0, r4, 0x1
/* 80115EC0 00111D00 7C BD 23 2E */ sthx r5, r29, r4
/* 80115EC4 00111D04 54 00 08 3C */ slwi r0, r0, 1
/* 80115EC8 00111D08 38 63 00 04 */ addi r3, r3, 0x4
/* 80115ECC 00111D0C 7C 06 02 2E */ lhzx r0, r6, r0
/* 80115ED0 00111D10 7C 1E 23 2E */ sthx r0, r30, r4
/* 80115ED4 00111D14 38 04 00 03 */ addi r0, r4, 0x3
/* 80115ED8 00111D18 38 84 00 02 */ addi r4, r4, 0x2
/* 80115EDC 00111D1C 7C A6 1A 2E */ lhzx r5, r6, r3
/* 80115EE0 00111D20 54 00 08 3C */ slwi r0, r0, 1
/* 80115EE4 00111D24 7C BD 23 2E */ sthx r5, r29, r4
/* 80115EE8 00111D28 38 63 00 04 */ addi r3, r3, 0x4
/* 80115EEC 00111D2C 7C 06 02 2E */ lhzx r0, r6, r0
/* 80115EF0 00111D30 7C 1E 23 2E */ sthx r0, r30, r4
/* 80115EF4 00111D34 38 04 00 03 */ addi r0, r4, 0x3
/* 80115EF8 00111D38 38 84 00 02 */ addi r4, r4, 0x2
/* 80115EFC 00111D3C 7C A6 1A 2E */ lhzx r5, r6, r3
/* 80115F00 00111D40 54 00 08 3C */ slwi r0, r0, 1
/* 80115F04 00111D44 7C BD 23 2E */ sthx r5, r29, r4
/* 80115F08 00111D48 38 63 00 04 */ addi r3, r3, 0x4
/* 80115F0C 00111D4C 7C 06 02 2E */ lhzx r0, r6, r0
/* 80115F10 00111D50 7C 1E 23 2E */ sthx r0, r30, r4
/* 80115F14 00111D54 38 04 00 03 */ addi r0, r4, 0x3
/* 80115F18 00111D58 38 84 00 02 */ addi r4, r4, 0x2
/* 80115F1C 00111D5C 7C A6 1A 2E */ lhzx r5, r6, r3
/* 80115F20 00111D60 54 00 08 3C */ slwi r0, r0, 1
/* 80115F24 00111D64 7C BD 23 2E */ sthx r5, r29, r4
/* 80115F28 00111D68 38 63 00 04 */ addi r3, r3, 0x4
/* 80115F2C 00111D6C 7C 06 02 2E */ lhzx r0, r6, r0
/* 80115F30 00111D70 7C 1E 23 2E */ sthx r0, r30, r4
/* 80115F34 00111D74 38 84 00 02 */ addi r4, r4, 0x2
/* 80115F38 00111D78 42 00 FF 80 */ bdnz lbl_80115EB8
/* 80115F3C 00111D7C 73 FF 00 03 */ andi. r31, r31, 0x3
/* 80115F40 00111D80 41 82 00 2C */ beq lbl_80115F6C
.global lbl_80115F44
lbl_80115F44:
/* 80115F44 00111D84 7F E9 03 A6 */ mtctr r31
.global lbl_80115F48
lbl_80115F48:
/* 80115F48 00111D88 7C A6 1A 2E */ lhzx r5, r6, r3
/* 80115F4C 00111D8C 38 04 00 01 */ addi r0, r4, 0x1
/* 80115F50 00111D90 7C BD 23 2E */ sthx r5, r29, r4
/* 80115F54 00111D94 54 00 08 3C */ slwi r0, r0, 1
/* 80115F58 00111D98 38 63 00 04 */ addi r3, r3, 0x4
/* 80115F5C 00111D9C 7C 06 02 2E */ lhzx r0, r6, r0
/* 80115F60 00111DA0 7C 1E 23 2E */ sthx r0, r30, r4
/* 80115F64 00111DA4 38 84 00 02 */ addi r4, r4, 0x2
/* 80115F68 00111DA8 42 00 FF E0 */ bdnz lbl_80115F48
.global lbl_80115F6C
lbl_80115F6C:
/* 80115F6C 00111DAC 38 60 00 01 */ li r3, 0x1
.global lbl_80115F70
lbl_80115F70:
/* 80115F70 00111DB0 81 41 00 00 */ lwz r10, 0x0(r1)
/* 80115F74 00111DB4 80 0A 00 04 */ lwz r0, 0x4(r10)
/* 80115F78 00111DB8 83 EA FF FC */ lwz r31, -0x4(r10)
/* 80115F7C 00111DBC 83 CA FF F8 */ lwz r30, -0x8(r10)
/* 80115F80 00111DC0 83 AA FF F4 */ lwz r29, -0xc(r10)
/* 80115F84 00111DC4 83 8A FF F0 */ lwz r28, -0x10(r10)
/* 80115F88 00111DC8 7C 08 03 A6 */ mtlr r0
/* 80115F8C 00111DCC 7D 41 53 78 */ mr r1, r10
/* 80115F90 00111DD0 4E 80 00 20 */ blr
/* 80115F94 00111DD4 00 00 00 00 */ .4byte 0x00000000
/* 80115F98 00111DD8 00 00 00 00 */ .4byte 0x00000000
/* 80115F9C 00111DDC 00 00 00 00 */ .4byte 0x00000000