donut-decomp/asm/libMobiclip/VX2_DecodeBlock2x2.s

833 lines
44 KiB
ArmAsm

.include "macros.inc"
.section .text1, "ax" # 0x80006A00 - 0x80406260
.global VX2CommandSkip12x2__FR14VX2DecoderData
VX2CommandSkip12x2__FR14VX2DecoderData:
/* 801585D0 00154410 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801585D4 00154414 7C 08 02 A6 */ mflr r0
/* 801585D8 00154418 90 01 00 14 */ stw r0, 0x14(r1)
/* 801585DC 0015441C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801585E0 00154420 93 C1 00 08 */ stw r30, 8(r1)
/* 801585E4 00154424 7C 7E 1B 78 */ mr r30, r3
/* 801585E8 00154428 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 801585EC 0015442C A8 E3 0A 24 */ lha r7, 0xa24(r3)
/* 801585F0 00154430 A9 23 0A 26 */ lha r9, 0xa26(r3)
/* 801585F4 00154434 55 40 08 3C */ slwi r0, r10, 1
/* 801585F8 00154438 7F E7 02 14 */ add r31, r7, r0
/* 801585FC 0015443C 7C E8 0E 70 */ srawi r8, r7, 1
/* 80158600 00154440 80 A3 00 00 */ lwz r5, 0(r3)
/* 80158604 00154444 7D 26 0E 70 */ srawi r6, r9, 1
/* 80158608 00154448 57 E4 07 BE */ clrlwi r4, r31, 0x1e
/* 8015860C 0015444C 55 20 17 7A */ rlwinm r0, r9, 2, 0x1d, 0x1d
/* 80158610 00154450 7C 04 02 14 */ add r0, r4, r0
/* 80158614 00154454 80 83 00 6C */ lwz r4, 0x6c(r3)
/* 80158618 00154458 B0 E3 0A 20 */ sth r7, 0xa20(r3)
/* 8015861C 0015445C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80158620 00154460 7C E4 52 14 */ add r7, r4, r10
/* 80158624 00154464 80 83 00 68 */ lwz r4, 0x68(r3)
/* 80158628 00154468 54 00 10 3A */ slwi r0, r0, 2
/* 8015862C 0015446C B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80158630 00154470 7C 84 52 14 */ add r4, r4, r10
/* 80158634 00154474 7C 7E 02 14 */ add r3, r30, r0
/* 80158638 00154478 7C 08 3A 14 */ add r0, r8, r7
/* 8015863C 0015447C 81 83 0E 88 */ lwz r12, 0xe88(r3)
/* 80158640 00154480 7C 66 02 14 */ add r3, r6, r0
/* 80158644 00154484 7D 89 03 A6 */ mtctr r12
/* 80158648 00154488 4E 80 04 21 */ bctrl
/* 8015864C 0015448C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80158650 00154490 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 80158654 00154494 A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80158658 00154498 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015865C 0015449C A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80158660 001544A0 7C 07 16 70 */ srawi r7, r0, 2
/* 80158664 001544A4 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80158668 001544A8 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e
/* 8015866C 001544AC 7C 63 16 70 */ srawi r3, r3, 2
/* 80158670 001544B0 7C 04 02 14 */ add r0, r4, r0
/* 80158674 001544B4 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 80158678 001544B8 54 06 10 3A */ slwi r6, r0, 2
/* 8015867C 001544BC 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80158680 001544C0 7F FE 32 14 */ add r31, r30, r6
/* 80158684 001544C4 7C 84 42 14 */ add r4, r4, r8
/* 80158688 001544C8 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015868C 001544CC 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158690 001544D0 7C 67 22 14 */ add r3, r7, r4
/* 80158694 001544D4 7C 80 42 14 */ add r4, r0, r8
/* 80158698 001544D8 7C 66 1A 14 */ add r3, r6, r3
/* 8015869C 001544DC 7D 89 03 A6 */ mtctr r12
/* 801586A0 001544E0 4E 80 04 21 */ bctrl
/* 801586A4 001544E4 80 1E 00 00 */ lwz r0, 0(r30)
/* 801586A8 001544E8 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 801586AC 001544EC 7C 05 0E 70 */ srawi r5, r0, 1
/* 801586B0 001544F0 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 801586B4 001544F4 7C 66 16 70 */ srawi r6, r3, 2
/* 801586B8 001544F8 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 801586BC 001544FC 7C 00 16 70 */ srawi r0, r0, 2
/* 801586C0 00154500 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 801586C4 00154504 7C 80 29 D6 */ mullw r4, r0, r5
/* 801586C8 00154508 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 801586CC 0015450C 7C 63 3A 14 */ add r3, r3, r7
/* 801586D0 00154510 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 801586D4 00154514 7C 66 1A 14 */ add r3, r6, r3
/* 801586D8 00154518 7C 64 1A 14 */ add r3, r4, r3
/* 801586DC 0015451C 7C 80 3A 14 */ add r4, r0, r7
/* 801586E0 00154520 7D 89 03 A6 */ mtctr r12
/* 801586E4 00154524 4E 80 04 21 */ bctrl
/* 801586E8 00154528 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801586EC 0015452C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801586F0 00154530 83 C1 00 08 */ lwz r30, 8(r1)
/* 801586F4 00154534 7C 08 03 A6 */ mtlr r0
/* 801586F8 00154538 38 21 00 10 */ addi r1, r1, 0x10
/* 801586FC 0015453C 4E 80 00 20 */ blr
.global VX2CommandBack12x2__FR14VX2DecoderData
VX2CommandBack12x2__FR14VX2DecoderData:
/* 80158700 00154540 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80158704 00154544 7C 08 02 A6 */ mflr r0
/* 80158708 00154548 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015870C 0015454C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158710 00154550 90 01 00 14 */ stw r0, 0x14(r1)
/* 80158714 00154554 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158718 00154558 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 8015871C 0015455C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80158720 00154560 93 C1 00 08 */ stw r30, 8(r1)
/* 80158724 00154564 7C 7E 1B 78 */ mr r30, r3
/* 80158728 00154568 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015872C 0015456C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158730 00154570 55 06 7C 7E */ srwi r6, r8, 0x11
/* 80158734 00154574 7D 24 30 AE */ lbzx r9, r4, r6
/* 80158738 00154578 7D 29 07 74 */ extsb r9, r9
/* 8015873C 0015457C 55 24 10 3A */ slwi r4, r9, 2
/* 80158740 00154580 7C 85 22 14 */ add r4, r5, r4
/* 80158744 00154584 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158748 00154588 7C E4 00 51 */ subf. r7, r4, r0
/* 8015874C 0015458C 7D 08 20 30 */ slw r8, r8, r4
/* 80158750 00154590 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158754 00154594 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158758 00154598 40 80 00 2C */ bge lbl_80158784
/* 8015875C 0015459C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158760 001545A0 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158764 001545A4 7C A7 00 D0 */ neg r5, r7
/* 80158768 001545A8 38 84 00 02 */ addi r4, r4, 2
/* 8015876C 001545AC 38 07 00 10 */ addi r0, r7, 0x10
/* 80158770 001545B0 7C C5 28 30 */ slw r5, r6, r5
/* 80158774 001545B4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158778 001545B8 7D 04 2B 78 */ or r4, r8, r5
/* 8015877C 001545BC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80158780 001545C0 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80158784:
/* 80158784 001545C4 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 80158788 001545C8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015878C 001545CC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 80158790 001545D0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158794 001545D4 7C 00 4A 14 */ add r0, r0, r9
/* 80158798 001545D8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015879C 001545DC 54 C0 7C 7E */ srwi r0, r6, 0x11
/* 801587A0 001545E0 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 801587A4 001545E4 7D 24 00 AE */ lbzx r9, r4, r0
/* 801587A8 001545E8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 801587AC 001545EC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 801587B0 001545F0 7D 29 07 74 */ extsb r9, r9
/* 801587B4 001545F4 55 24 10 3A */ slwi r4, r9, 2
/* 801587B8 001545F8 7C 85 22 14 */ add r4, r5, r4
/* 801587BC 001545FC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 801587C0 00154600 7C E4 00 51 */ subf. r7, r4, r0
/* 801587C4 00154604 7C C8 20 30 */ slw r8, r6, r4
/* 801587C8 00154608 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 801587CC 0015460C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 801587D0 00154610 40 80 00 2C */ bge lbl_801587FC
/* 801587D4 00154614 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 801587D8 00154618 7C C0 26 2C */ lhbrx r6, 0, r4
/* 801587DC 0015461C 7C A7 00 D0 */ neg r5, r7
/* 801587E0 00154620 38 84 00 02 */ addi r4, r4, 2
/* 801587E4 00154624 38 07 00 10 */ addi r0, r7, 0x10
/* 801587E8 00154628 7C C5 28 30 */ slw r5, r6, r5
/* 801587EC 0015462C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 801587F0 00154630 7D 04 2B 78 */ or r4, r8, r5
/* 801587F4 00154634 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 801587F8 00154638 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_801587FC:
/* 801587FC 0015463C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80158800 00154640 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80158804 00154644 7D 20 4A 14 */ add r9, r0, r9
/* 80158808 00154648 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015880C 0015464C 80 A3 00 00 */ lwz r5, 0(r3)
/* 80158810 00154650 7D 26 07 34 */ extsh r6, r9
/* 80158814 00154654 55 40 08 3C */ slwi r0, r10, 1
/* 80158818 00154658 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015881C 0015465C 7F E4 02 14 */ add r31, r4, r0
/* 80158820 00154660 7C C6 0E 70 */ srawi r6, r6, 1
/* 80158824 00154664 80 E3 00 6C */ lwz r7, 0x6c(r3)
/* 80158828 00154668 55 20 17 7A */ rlwinm r0, r9, 2, 0x1d, 0x1d
/* 8015882C 0015466C 57 E4 07 BE */ clrlwi r4, r31, 0x1e
/* 80158830 00154670 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80158834 00154674 7C 04 02 14 */ add r0, r4, r0
/* 80158838 00154678 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015883C 0015467C 54 00 10 3A */ slwi r0, r0, 2
/* 80158840 00154680 7C E7 52 14 */ add r7, r7, r10
/* 80158844 00154684 7C 7E 02 14 */ add r3, r30, r0
/* 80158848 00154688 7C 84 52 14 */ add r4, r4, r10
/* 8015884C 0015468C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80158850 00154690 81 83 0E 88 */ lwz r12, 0xe88(r3)
/* 80158854 00154694 7C 08 3A 14 */ add r0, r8, r7
/* 80158858 00154698 7C 66 02 14 */ add r3, r6, r0
/* 8015885C 0015469C 7D 89 03 A6 */ mtctr r12
/* 80158860 001546A0 4E 80 04 21 */ bctrl
/* 80158864 001546A4 80 7E 00 00 */ lwz r3, 0(r30)
/* 80158868 001546A8 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 8015886C 001546AC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80158870 001546B0 7C 65 0E 70 */ srawi r5, r3, 1
/* 80158874 001546B4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80158878 001546B8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015887C 001546BC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80158880 001546C0 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e
/* 80158884 001546C4 7C 63 16 70 */ srawi r3, r3, 2
/* 80158888 001546C8 7C 04 02 14 */ add r0, r4, r0
/* 8015888C 001546CC 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 80158890 001546D0 54 06 10 3A */ slwi r6, r0, 2
/* 80158894 001546D4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80158898 001546D8 7F FE 32 14 */ add r31, r30, r6
/* 8015889C 001546DC 7C 84 42 14 */ add r4, r4, r8
/* 801588A0 001546E0 7C C3 29 D6 */ mullw r6, r3, r5
/* 801588A4 001546E4 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 801588A8 001546E8 7C 67 22 14 */ add r3, r7, r4
/* 801588AC 001546EC 7C 80 42 14 */ add r4, r0, r8
/* 801588B0 001546F0 7C 66 1A 14 */ add r3, r6, r3
/* 801588B4 001546F4 7D 89 03 A6 */ mtctr r12
/* 801588B8 001546F8 4E 80 04 21 */ bctrl
/* 801588BC 001546FC 80 1E 00 00 */ lwz r0, 0(r30)
/* 801588C0 00154700 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 801588C4 00154704 7C 05 0E 70 */ srawi r5, r0, 1
/* 801588C8 00154708 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 801588CC 0015470C 7C 66 16 70 */ srawi r6, r3, 2
/* 801588D0 00154710 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 801588D4 00154714 7C 00 16 70 */ srawi r0, r0, 2
/* 801588D8 00154718 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 801588DC 0015471C 7C 80 29 D6 */ mullw r4, r0, r5
/* 801588E0 00154720 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 801588E4 00154724 7C 63 3A 14 */ add r3, r3, r7
/* 801588E8 00154728 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 801588EC 0015472C 7C 66 1A 14 */ add r3, r6, r3
/* 801588F0 00154730 7C 64 1A 14 */ add r3, r4, r3
/* 801588F4 00154734 7C 80 3A 14 */ add r4, r0, r7
/* 801588F8 00154738 7D 89 03 A6 */ mtctr r12
/* 801588FC 0015473C 4E 80 04 21 */ bctrl
/* 80158900 00154740 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80158904 00154744 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80158908 00154748 83 C1 00 08 */ lwz r30, 8(r1)
/* 8015890C 0015474C 7C 08 03 A6 */ mtlr r0
/* 80158910 00154750 38 21 00 10 */ addi r1, r1, 0x10
/* 80158914 00154754 4E 80 00 20 */ blr
/* 80158918 00154758 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 8015891C 0015475C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global VX2CommandBack22x2__FR14VX2DecoderData
VX2CommandBack22x2__FR14VX2DecoderData:
/* 80158920 00154760 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80158924 00154764 7C 08 02 A6 */ mflr r0
/* 80158928 00154768 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015892C 0015476C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158930 00154770 90 01 00 14 */ stw r0, 0x14(r1)
/* 80158934 00154774 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158938 00154778 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 8015893C 0015477C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80158940 00154780 93 C1 00 08 */ stw r30, 8(r1)
/* 80158944 00154784 7C 7E 1B 78 */ mr r30, r3
/* 80158948 00154788 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015894C 0015478C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158950 00154790 55 06 7C 7E */ srwi r6, r8, 0x11
/* 80158954 00154794 7D 24 30 AE */ lbzx r9, r4, r6
/* 80158958 00154798 7D 29 07 74 */ extsb r9, r9
/* 8015895C 0015479C 55 24 10 3A */ slwi r4, r9, 2
/* 80158960 001547A0 7C 85 22 14 */ add r4, r5, r4
/* 80158964 001547A4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158968 001547A8 7C E4 00 51 */ subf. r7, r4, r0
/* 8015896C 001547AC 7D 08 20 30 */ slw r8, r8, r4
/* 80158970 001547B0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158974 001547B4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158978 001547B8 40 80 00 2C */ bge lbl_801589A4
/* 8015897C 001547BC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158980 001547C0 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158984 001547C4 7C A7 00 D0 */ neg r5, r7
/* 80158988 001547C8 38 84 00 02 */ addi r4, r4, 2
/* 8015898C 001547CC 38 07 00 10 */ addi r0, r7, 0x10
/* 80158990 001547D0 7C C5 28 30 */ slw r5, r6, r5
/* 80158994 001547D4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158998 001547D8 7D 04 2B 78 */ or r4, r8, r5
/* 8015899C 001547DC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 801589A0 001547E0 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_801589A4:
/* 801589A4 001547E4 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 801589A8 001547E8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 801589AC 001547EC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 801589B0 001547F0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 801589B4 001547F4 7C 00 4A 14 */ add r0, r0, r9
/* 801589B8 001547F8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 801589BC 001547FC 54 C0 7C 7E */ srwi r0, r6, 0x11
/* 801589C0 00154800 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 801589C4 00154804 7D 24 00 AE */ lbzx r9, r4, r0
/* 801589C8 00154808 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 801589CC 0015480C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 801589D0 00154810 7D 29 07 74 */ extsb r9, r9
/* 801589D4 00154814 55 24 10 3A */ slwi r4, r9, 2
/* 801589D8 00154818 7C 85 22 14 */ add r4, r5, r4
/* 801589DC 0015481C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 801589E0 00154820 7C E4 00 51 */ subf. r7, r4, r0
/* 801589E4 00154824 7C C8 20 30 */ slw r8, r6, r4
/* 801589E8 00154828 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 801589EC 0015482C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 801589F0 00154830 40 80 00 2C */ bge lbl_80158A1C
/* 801589F4 00154834 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 801589F8 00154838 7C C0 26 2C */ lhbrx r6, 0, r4
/* 801589FC 0015483C 7C A7 00 D0 */ neg r5, r7
/* 80158A00 00154840 38 84 00 02 */ addi r4, r4, 2
/* 80158A04 00154844 38 07 00 10 */ addi r0, r7, 0x10
/* 80158A08 00154848 7C C5 28 30 */ slw r5, r6, r5
/* 80158A0C 0015484C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158A10 00154850 7D 04 2B 78 */ or r4, r8, r5
/* 80158A14 00154854 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80158A18 00154858 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80158A1C:
/* 80158A1C 0015485C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80158A20 00154860 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80158A24 00154864 7D 20 4A 14 */ add r9, r0, r9
/* 80158A28 00154868 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 80158A2C 0015486C 80 A3 00 00 */ lwz r5, 0(r3)
/* 80158A30 00154870 7D 26 07 34 */ extsh r6, r9
/* 80158A34 00154874 55 40 08 3C */ slwi r0, r10, 1
/* 80158A38 00154878 7C 88 0E 70 */ srawi r8, r4, 1
/* 80158A3C 0015487C 7F E4 02 14 */ add r31, r4, r0
/* 80158A40 00154880 7C C6 0E 70 */ srawi r6, r6, 1
/* 80158A44 00154884 80 E3 00 70 */ lwz r7, 0x70(r3)
/* 80158A48 00154888 55 20 17 7A */ rlwinm r0, r9, 2, 0x1d, 0x1d
/* 80158A4C 0015488C 57 E4 07 BE */ clrlwi r4, r31, 0x1e
/* 80158A50 00154890 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80158A54 00154894 7C 04 02 14 */ add r0, r4, r0
/* 80158A58 00154898 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 80158A5C 0015489C 54 00 10 3A */ slwi r0, r0, 2
/* 80158A60 001548A0 7C E7 52 14 */ add r7, r7, r10
/* 80158A64 001548A4 7C 7E 02 14 */ add r3, r30, r0
/* 80158A68 001548A8 7C 84 52 14 */ add r4, r4, r10
/* 80158A6C 001548AC 7C C6 29 D6 */ mullw r6, r6, r5
/* 80158A70 001548B0 81 83 0E 88 */ lwz r12, 0xe88(r3)
/* 80158A74 001548B4 7C 08 3A 14 */ add r0, r8, r7
/* 80158A78 001548B8 7C 66 02 14 */ add r3, r6, r0
/* 80158A7C 001548BC 7D 89 03 A6 */ mtctr r12
/* 80158A80 001548C0 4E 80 04 21 */ bctrl
/* 80158A84 001548C4 80 7E 00 00 */ lwz r3, 0(r30)
/* 80158A88 001548C8 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 80158A8C 001548CC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80158A90 001548D0 7C 65 0E 70 */ srawi r5, r3, 1
/* 80158A94 001548D4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80158A98 001548D8 7C 07 16 70 */ srawi r7, r0, 2
/* 80158A9C 001548DC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80158AA0 001548E0 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e
/* 80158AA4 001548E4 7C 63 16 70 */ srawi r3, r3, 2
/* 80158AA8 001548E8 7C 04 02 14 */ add r0, r4, r0
/* 80158AAC 001548EC 80 9E 00 88 */ lwz r4, 0x88(r30)
/* 80158AB0 001548F0 54 06 10 3A */ slwi r6, r0, 2
/* 80158AB4 001548F4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80158AB8 001548F8 7F FE 32 14 */ add r31, r30, r6
/* 80158ABC 001548FC 7C 84 42 14 */ add r4, r4, r8
/* 80158AC0 00154900 7C C3 29 D6 */ mullw r6, r3, r5
/* 80158AC4 00154904 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158AC8 00154908 7C 67 22 14 */ add r3, r7, r4
/* 80158ACC 0015490C 7C 80 42 14 */ add r4, r0, r8
/* 80158AD0 00154910 7C 66 1A 14 */ add r3, r6, r3
/* 80158AD4 00154914 7D 89 03 A6 */ mtctr r12
/* 80158AD8 00154918 4E 80 04 21 */ bctrl
/* 80158ADC 0015491C 80 1E 00 00 */ lwz r0, 0(r30)
/* 80158AE0 00154920 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80158AE4 00154924 7C 05 0E 70 */ srawi r5, r0, 1
/* 80158AE8 00154928 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 80158AEC 0015492C 7C 66 16 70 */ srawi r6, r3, 2
/* 80158AF0 00154930 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80158AF4 00154934 7C 00 16 70 */ srawi r0, r0, 2
/* 80158AF8 00154938 80 7E 00 A0 */ lwz r3, 0xa0(r30)
/* 80158AFC 0015493C 7C 80 29 D6 */ mullw r4, r0, r5
/* 80158B00 00154940 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80158B04 00154944 7C 63 3A 14 */ add r3, r3, r7
/* 80158B08 00154948 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158B0C 0015494C 7C 66 1A 14 */ add r3, r6, r3
/* 80158B10 00154950 7C 64 1A 14 */ add r3, r4, r3
/* 80158B14 00154954 7C 80 3A 14 */ add r4, r0, r7
/* 80158B18 00154958 7D 89 03 A6 */ mtctr r12
/* 80158B1C 0015495C 4E 80 04 21 */ bctrl
/* 80158B20 00154960 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80158B24 00154964 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80158B28 00154968 83 C1 00 08 */ lwz r30, 8(r1)
/* 80158B2C 0015496C 7C 08 03 A6 */ mtlr r0
/* 80158B30 00154970 38 21 00 10 */ addi r1, r1, 0x10
/* 80158B34 00154974 4E 80 00 20 */ blr
/* 80158B38 00154978 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80158B3C 0015497C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global VX2CommandBack32x2__FR14VX2DecoderData
VX2CommandBack32x2__FR14VX2DecoderData:
/* 80158B40 00154980 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80158B44 00154984 7C 08 02 A6 */ mflr r0
/* 80158B48 00154988 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 80158B4C 0015498C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158B50 00154990 90 01 00 14 */ stw r0, 0x14(r1)
/* 80158B54 00154994 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158B58 00154998 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 80158B5C 0015499C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80158B60 001549A0 93 C1 00 08 */ stw r30, 8(r1)
/* 80158B64 001549A4 7C 7E 1B 78 */ mr r30, r3
/* 80158B68 001549A8 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 80158B6C 001549AC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158B70 001549B0 55 06 7C 7E */ srwi r6, r8, 0x11
/* 80158B74 001549B4 7D 24 30 AE */ lbzx r9, r4, r6
/* 80158B78 001549B8 7D 29 07 74 */ extsb r9, r9
/* 80158B7C 001549BC 55 24 10 3A */ slwi r4, r9, 2
/* 80158B80 001549C0 7C 85 22 14 */ add r4, r5, r4
/* 80158B84 001549C4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158B88 001549C8 7C E4 00 51 */ subf. r7, r4, r0
/* 80158B8C 001549CC 7D 08 20 30 */ slw r8, r8, r4
/* 80158B90 001549D0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158B94 001549D4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158B98 001549D8 40 80 00 2C */ bge lbl_80158BC4
/* 80158B9C 001549DC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158BA0 001549E0 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158BA4 001549E4 7C A7 00 D0 */ neg r5, r7
/* 80158BA8 001549E8 38 84 00 02 */ addi r4, r4, 2
/* 80158BAC 001549EC 38 07 00 10 */ addi r0, r7, 0x10
/* 80158BB0 001549F0 7C C5 28 30 */ slw r5, r6, r5
/* 80158BB4 001549F4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158BB8 001549F8 7D 04 2B 78 */ or r4, r8, r5
/* 80158BBC 001549FC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80158BC0 00154A00 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80158BC4:
/* 80158BC4 00154A04 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 80158BC8 00154A08 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 80158BCC 00154A0C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 80158BD0 00154A10 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158BD4 00154A14 7C 00 4A 14 */ add r0, r0, r9
/* 80158BD8 00154A18 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 80158BDC 00154A1C 54 C0 7C 7E */ srwi r0, r6, 0x11
/* 80158BE0 00154A20 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158BE4 00154A24 7D 24 00 AE */ lbzx r9, r4, r0
/* 80158BE8 00154A28 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 80158BEC 00154A2C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158BF0 00154A30 7D 29 07 74 */ extsb r9, r9
/* 80158BF4 00154A34 55 24 10 3A */ slwi r4, r9, 2
/* 80158BF8 00154A38 7C 85 22 14 */ add r4, r5, r4
/* 80158BFC 00154A3C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158C00 00154A40 7C E4 00 51 */ subf. r7, r4, r0
/* 80158C04 00154A44 7C C8 20 30 */ slw r8, r6, r4
/* 80158C08 00154A48 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158C0C 00154A4C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158C10 00154A50 40 80 00 2C */ bge lbl_80158C3C
/* 80158C14 00154A54 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158C18 00154A58 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158C1C 00154A5C 7C A7 00 D0 */ neg r5, r7
/* 80158C20 00154A60 38 84 00 02 */ addi r4, r4, 2
/* 80158C24 00154A64 38 07 00 10 */ addi r0, r7, 0x10
/* 80158C28 00154A68 7C C5 28 30 */ slw r5, r6, r5
/* 80158C2C 00154A6C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158C30 00154A70 7D 04 2B 78 */ or r4, r8, r5
/* 80158C34 00154A74 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80158C38 00154A78 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80158C3C:
/* 80158C3C 00154A7C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80158C40 00154A80 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80158C44 00154A84 7D 20 4A 14 */ add r9, r0, r9
/* 80158C48 00154A88 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 80158C4C 00154A8C 80 A3 00 00 */ lwz r5, 0(r3)
/* 80158C50 00154A90 7D 26 07 34 */ extsh r6, r9
/* 80158C54 00154A94 55 40 08 3C */ slwi r0, r10, 1
/* 80158C58 00154A98 7C 88 0E 70 */ srawi r8, r4, 1
/* 80158C5C 00154A9C 7F E4 02 14 */ add r31, r4, r0
/* 80158C60 00154AA0 7C C6 0E 70 */ srawi r6, r6, 1
/* 80158C64 00154AA4 80 E3 00 74 */ lwz r7, 0x74(r3)
/* 80158C68 00154AA8 55 20 17 7A */ rlwinm r0, r9, 2, 0x1d, 0x1d
/* 80158C6C 00154AAC 57 E4 07 BE */ clrlwi r4, r31, 0x1e
/* 80158C70 00154AB0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80158C74 00154AB4 7C 04 02 14 */ add r0, r4, r0
/* 80158C78 00154AB8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 80158C7C 00154ABC 54 00 10 3A */ slwi r0, r0, 2
/* 80158C80 00154AC0 7C E7 52 14 */ add r7, r7, r10
/* 80158C84 00154AC4 7C 7E 02 14 */ add r3, r30, r0
/* 80158C88 00154AC8 7C 84 52 14 */ add r4, r4, r10
/* 80158C8C 00154ACC 7C C6 29 D6 */ mullw r6, r6, r5
/* 80158C90 00154AD0 81 83 0E 88 */ lwz r12, 0xe88(r3)
/* 80158C94 00154AD4 7C 08 3A 14 */ add r0, r8, r7
/* 80158C98 00154AD8 7C 66 02 14 */ add r3, r6, r0
/* 80158C9C 00154ADC 7D 89 03 A6 */ mtctr r12
/* 80158CA0 00154AE0 4E 80 04 21 */ bctrl
/* 80158CA4 00154AE4 80 7E 00 00 */ lwz r3, 0(r30)
/* 80158CA8 00154AE8 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 80158CAC 00154AEC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80158CB0 00154AF0 7C 65 0E 70 */ srawi r5, r3, 1
/* 80158CB4 00154AF4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80158CB8 00154AF8 7C 07 16 70 */ srawi r7, r0, 2
/* 80158CBC 00154AFC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80158CC0 00154B00 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e
/* 80158CC4 00154B04 7C 63 16 70 */ srawi r3, r3, 2
/* 80158CC8 00154B08 7C 04 02 14 */ add r0, r4, r0
/* 80158CCC 00154B0C 80 9E 00 8C */ lwz r4, 0x8c(r30)
/* 80158CD0 00154B10 54 06 10 3A */ slwi r6, r0, 2
/* 80158CD4 00154B14 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80158CD8 00154B18 7F FE 32 14 */ add r31, r30, r6
/* 80158CDC 00154B1C 7C 84 42 14 */ add r4, r4, r8
/* 80158CE0 00154B20 7C C3 29 D6 */ mullw r6, r3, r5
/* 80158CE4 00154B24 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158CE8 00154B28 7C 67 22 14 */ add r3, r7, r4
/* 80158CEC 00154B2C 7C 80 42 14 */ add r4, r0, r8
/* 80158CF0 00154B30 7C 66 1A 14 */ add r3, r6, r3
/* 80158CF4 00154B34 7D 89 03 A6 */ mtctr r12
/* 80158CF8 00154B38 4E 80 04 21 */ bctrl
/* 80158CFC 00154B3C 80 1E 00 00 */ lwz r0, 0(r30)
/* 80158D00 00154B40 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80158D04 00154B44 7C 05 0E 70 */ srawi r5, r0, 1
/* 80158D08 00154B48 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 80158D0C 00154B4C 7C 66 16 70 */ srawi r6, r3, 2
/* 80158D10 00154B50 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80158D14 00154B54 7C 00 16 70 */ srawi r0, r0, 2
/* 80158D18 00154B58 80 7E 00 A4 */ lwz r3, 0xa4(r30)
/* 80158D1C 00154B5C 7C 80 29 D6 */ mullw r4, r0, r5
/* 80158D20 00154B60 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80158D24 00154B64 7C 63 3A 14 */ add r3, r3, r7
/* 80158D28 00154B68 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158D2C 00154B6C 7C 66 1A 14 */ add r3, r6, r3
/* 80158D30 00154B70 7C 64 1A 14 */ add r3, r4, r3
/* 80158D34 00154B74 7C 80 3A 14 */ add r4, r0, r7
/* 80158D38 00154B78 7D 89 03 A6 */ mtctr r12
/* 80158D3C 00154B7C 4E 80 04 21 */ bctrl
/* 80158D40 00154B80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80158D44 00154B84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80158D48 00154B88 83 C1 00 08 */ lwz r30, 8(r1)
/* 80158D4C 00154B8C 7C 08 03 A6 */ mtlr r0
/* 80158D50 00154B90 38 21 00 10 */ addi r1, r1, 0x10
/* 80158D54 00154B94 4E 80 00 20 */ blr
/* 80158D58 00154B98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80158D5C 00154B9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global VX2CommandBack42x2__FR14VX2DecoderData
VX2CommandBack42x2__FR14VX2DecoderData:
/* 80158D60 00154BA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80158D64 00154BA4 7C 08 02 A6 */ mflr r0
/* 80158D68 00154BA8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 80158D6C 00154BAC 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158D70 00154BB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80158D74 00154BB4 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158D78 00154BB8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 80158D7C 00154BBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80158D80 00154BC0 93 C1 00 08 */ stw r30, 8(r1)
/* 80158D84 00154BC4 7C 7E 1B 78 */ mr r30, r3
/* 80158D88 00154BC8 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 80158D8C 00154BCC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158D90 00154BD0 55 06 7C 7E */ srwi r6, r8, 0x11
/* 80158D94 00154BD4 7D 24 30 AE */ lbzx r9, r4, r6
/* 80158D98 00154BD8 7D 29 07 74 */ extsb r9, r9
/* 80158D9C 00154BDC 55 24 10 3A */ slwi r4, r9, 2
/* 80158DA0 00154BE0 7C 85 22 14 */ add r4, r5, r4
/* 80158DA4 00154BE4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158DA8 00154BE8 7C E4 00 51 */ subf. r7, r4, r0
/* 80158DAC 00154BEC 7D 08 20 30 */ slw r8, r8, r4
/* 80158DB0 00154BF0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158DB4 00154BF4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158DB8 00154BF8 40 80 00 2C */ bge lbl_80158DE4
/* 80158DBC 00154BFC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158DC0 00154C00 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158DC4 00154C04 7C A7 00 D0 */ neg r5, r7
/* 80158DC8 00154C08 38 84 00 02 */ addi r4, r4, 2
/* 80158DCC 00154C0C 38 07 00 10 */ addi r0, r7, 0x10
/* 80158DD0 00154C10 7C C5 28 30 */ slw r5, r6, r5
/* 80158DD4 00154C14 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158DD8 00154C18 7D 04 2B 78 */ or r4, r8, r5
/* 80158DDC 00154C1C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80158DE0 00154C20 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80158DE4:
/* 80158DE4 00154C24 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 80158DE8 00154C28 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 80158DEC 00154C2C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 80158DF0 00154C30 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158DF4 00154C34 7C 00 4A 14 */ add r0, r0, r9
/* 80158DF8 00154C38 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 80158DFC 00154C3C 54 C0 7C 7E */ srwi r0, r6, 0x11
/* 80158E00 00154C40 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158E04 00154C44 7D 24 00 AE */ lbzx r9, r4, r0
/* 80158E08 00154C48 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 80158E0C 00154C4C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158E10 00154C50 7D 29 07 74 */ extsb r9, r9
/* 80158E14 00154C54 55 24 10 3A */ slwi r4, r9, 2
/* 80158E18 00154C58 7C 85 22 14 */ add r4, r5, r4
/* 80158E1C 00154C5C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158E20 00154C60 7C E4 00 51 */ subf. r7, r4, r0
/* 80158E24 00154C64 7C C8 20 30 */ slw r8, r6, r4
/* 80158E28 00154C68 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158E2C 00154C6C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158E30 00154C70 40 80 00 2C */ bge lbl_80158E5C
/* 80158E34 00154C74 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158E38 00154C78 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158E3C 00154C7C 7C A7 00 D0 */ neg r5, r7
/* 80158E40 00154C80 38 84 00 02 */ addi r4, r4, 2
/* 80158E44 00154C84 38 07 00 10 */ addi r0, r7, 0x10
/* 80158E48 00154C88 7C C5 28 30 */ slw r5, r6, r5
/* 80158E4C 00154C8C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158E50 00154C90 7D 04 2B 78 */ or r4, r8, r5
/* 80158E54 00154C94 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80158E58 00154C98 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80158E5C:
/* 80158E5C 00154C9C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80158E60 00154CA0 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80158E64 00154CA4 7D 20 4A 14 */ add r9, r0, r9
/* 80158E68 00154CA8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 80158E6C 00154CAC 80 A3 00 00 */ lwz r5, 0(r3)
/* 80158E70 00154CB0 7D 26 07 34 */ extsh r6, r9
/* 80158E74 00154CB4 55 40 08 3C */ slwi r0, r10, 1
/* 80158E78 00154CB8 7C 88 0E 70 */ srawi r8, r4, 1
/* 80158E7C 00154CBC 7F E4 02 14 */ add r31, r4, r0
/* 80158E80 00154CC0 7C C6 0E 70 */ srawi r6, r6, 1
/* 80158E84 00154CC4 80 E3 00 78 */ lwz r7, 0x78(r3)
/* 80158E88 00154CC8 55 20 17 7A */ rlwinm r0, r9, 2, 0x1d, 0x1d
/* 80158E8C 00154CCC 57 E4 07 BE */ clrlwi r4, r31, 0x1e
/* 80158E90 00154CD0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80158E94 00154CD4 7C 04 02 14 */ add r0, r4, r0
/* 80158E98 00154CD8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 80158E9C 00154CDC 54 00 10 3A */ slwi r0, r0, 2
/* 80158EA0 00154CE0 7C E7 52 14 */ add r7, r7, r10
/* 80158EA4 00154CE4 7C 7E 02 14 */ add r3, r30, r0
/* 80158EA8 00154CE8 7C 84 52 14 */ add r4, r4, r10
/* 80158EAC 00154CEC 7C C6 29 D6 */ mullw r6, r6, r5
/* 80158EB0 00154CF0 81 83 0E 88 */ lwz r12, 0xe88(r3)
/* 80158EB4 00154CF4 7C 08 3A 14 */ add r0, r8, r7
/* 80158EB8 00154CF8 7C 66 02 14 */ add r3, r6, r0
/* 80158EBC 00154CFC 7D 89 03 A6 */ mtctr r12
/* 80158EC0 00154D00 4E 80 04 21 */ bctrl
/* 80158EC4 00154D04 80 7E 00 00 */ lwz r3, 0(r30)
/* 80158EC8 00154D08 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 80158ECC 00154D0C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80158ED0 00154D10 7C 65 0E 70 */ srawi r5, r3, 1
/* 80158ED4 00154D14 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80158ED8 00154D18 7C 07 16 70 */ srawi r7, r0, 2
/* 80158EDC 00154D1C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80158EE0 00154D20 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e
/* 80158EE4 00154D24 7C 63 16 70 */ srawi r3, r3, 2
/* 80158EE8 00154D28 7C 04 02 14 */ add r0, r4, r0
/* 80158EEC 00154D2C 80 9E 00 90 */ lwz r4, 0x90(r30)
/* 80158EF0 00154D30 54 06 10 3A */ slwi r6, r0, 2
/* 80158EF4 00154D34 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80158EF8 00154D38 7F FE 32 14 */ add r31, r30, r6
/* 80158EFC 00154D3C 7C 84 42 14 */ add r4, r4, r8
/* 80158F00 00154D40 7C C3 29 D6 */ mullw r6, r3, r5
/* 80158F04 00154D44 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158F08 00154D48 7C 67 22 14 */ add r3, r7, r4
/* 80158F0C 00154D4C 7C 80 42 14 */ add r4, r0, r8
/* 80158F10 00154D50 7C 66 1A 14 */ add r3, r6, r3
/* 80158F14 00154D54 7D 89 03 A6 */ mtctr r12
/* 80158F18 00154D58 4E 80 04 21 */ bctrl
/* 80158F1C 00154D5C 80 1E 00 00 */ lwz r0, 0(r30)
/* 80158F20 00154D60 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80158F24 00154D64 7C 05 0E 70 */ srawi r5, r0, 1
/* 80158F28 00154D68 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 80158F2C 00154D6C 7C 66 16 70 */ srawi r6, r3, 2
/* 80158F30 00154D70 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80158F34 00154D74 7C 00 16 70 */ srawi r0, r0, 2
/* 80158F38 00154D78 80 7E 00 A8 */ lwz r3, 0xa8(r30)
/* 80158F3C 00154D7C 7C 80 29 D6 */ mullw r4, r0, r5
/* 80158F40 00154D80 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80158F44 00154D84 7C 63 3A 14 */ add r3, r3, r7
/* 80158F48 00154D88 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80158F4C 00154D8C 7C 66 1A 14 */ add r3, r6, r3
/* 80158F50 00154D90 7C 64 1A 14 */ add r3, r4, r3
/* 80158F54 00154D94 7C 80 3A 14 */ add r4, r0, r7
/* 80158F58 00154D98 7D 89 03 A6 */ mtctr r12
/* 80158F5C 00154D9C 4E 80 04 21 */ bctrl
/* 80158F60 00154DA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80158F64 00154DA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80158F68 00154DA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80158F6C 00154DAC 7C 08 03 A6 */ mtlr r0
/* 80158F70 00154DB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80158F74 00154DB4 4E 80 00 20 */ blr
/* 80158F78 00154DB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80158F7C 00154DBC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global VX2CommandBack52x2__FR14VX2DecoderData
VX2CommandBack52x2__FR14VX2DecoderData:
/* 80158F80 00154DC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80158F84 00154DC4 7C 08 02 A6 */ mflr r0
/* 80158F88 00154DC8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 80158F8C 00154DCC 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80158F90 00154DD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80158F94 00154DD4 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80158F98 00154DD8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 80158F9C 00154DDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80158FA0 00154DE0 93 C1 00 08 */ stw r30, 8(r1)
/* 80158FA4 00154DE4 7C 7E 1B 78 */ mr r30, r3
/* 80158FA8 00154DE8 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 80158FAC 00154DEC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80158FB0 00154DF0 55 06 7C 7E */ srwi r6, r8, 0x11
/* 80158FB4 00154DF4 7D 24 30 AE */ lbzx r9, r4, r6
/* 80158FB8 00154DF8 7D 29 07 74 */ extsb r9, r9
/* 80158FBC 00154DFC 55 24 10 3A */ slwi r4, r9, 2
/* 80158FC0 00154E00 7C 85 22 14 */ add r4, r5, r4
/* 80158FC4 00154E04 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80158FC8 00154E08 7C E4 00 51 */ subf. r7, r4, r0
/* 80158FCC 00154E0C 7D 08 20 30 */ slw r8, r8, r4
/* 80158FD0 00154E10 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80158FD4 00154E14 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80158FD8 00154E18 40 80 00 2C */ bge lbl_80159004
/* 80158FDC 00154E1C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80158FE0 00154E20 7C C0 26 2C */ lhbrx r6, 0, r4
/* 80158FE4 00154E24 7C A7 00 D0 */ neg r5, r7
/* 80158FE8 00154E28 38 84 00 02 */ addi r4, r4, 2
/* 80158FEC 00154E2C 38 07 00 10 */ addi r0, r7, 0x10
/* 80158FF0 00154E30 7C C5 28 30 */ slw r5, r6, r5
/* 80158FF4 00154E34 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80158FF8 00154E38 7D 04 2B 78 */ or r4, r8, r5
/* 80158FFC 00154E3C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80159000 00154E40 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80159004:
/* 80159004 00154E44 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 80159008 00154E48 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015900C 00154E4C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 80159010 00154E50 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
/* 80159014 00154E54 7C 00 4A 14 */ add r0, r0, r9
/* 80159018 00154E58 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015901C 00154E5C 54 C0 7C 7E */ srwi r0, r6, 0x11
/* 80159020 00154E60 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80159024 00154E64 7D 24 00 AE */ lbzx r9, r4, r0
/* 80159028 00154E68 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
/* 8015902C 00154E6C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80159030 00154E70 7D 29 07 74 */ extsb r9, r9
/* 80159034 00154E74 55 24 10 3A */ slwi r4, r9, 2
/* 80159038 00154E78 7C 85 22 14 */ add r4, r5, r4
/* 8015903C 00154E7C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80159040 00154E80 7C E4 00 51 */ subf. r7, r4, r0
/* 80159044 00154E84 7C C8 20 30 */ slw r8, r6, r4
/* 80159048 00154E88 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015904C 00154E8C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80159050 00154E90 40 80 00 2C */ bge lbl_8015907C
/* 80159054 00154E94 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80159058 00154E98 7C C0 26 2C */ lhbrx r6, 0, r4
/* 8015905C 00154E9C 7C A7 00 D0 */ neg r5, r7
/* 80159060 00154EA0 38 84 00 02 */ addi r4, r4, 2
/* 80159064 00154EA4 38 07 00 10 */ addi r0, r7, 0x10
/* 80159068 00154EA8 7C C5 28 30 */ slw r5, r6, r5
/* 8015906C 00154EAC 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80159070 00154EB0 7D 04 2B 78 */ or r4, r8, r5
/* 80159074 00154EB4 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80159078 00154EB8 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_8015907C:
/* 8015907C 00154EBC A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80159080 00154EC0 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80159084 00154EC4 7D 20 4A 14 */ add r9, r0, r9
/* 80159088 00154EC8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015908C 00154ECC 80 A3 00 00 */ lwz r5, 0(r3)
/* 80159090 00154ED0 7D 26 07 34 */ extsh r6, r9
/* 80159094 00154ED4 55 40 08 3C */ slwi r0, r10, 1
/* 80159098 00154ED8 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015909C 00154EDC 7F E4 02 14 */ add r31, r4, r0
/* 801590A0 00154EE0 7C C6 0E 70 */ srawi r6, r6, 1
/* 801590A4 00154EE4 80 E3 00 7C */ lwz r7, 0x7c(r3)
/* 801590A8 00154EE8 55 20 17 7A */ rlwinm r0, r9, 2, 0x1d, 0x1d
/* 801590AC 00154EEC 57 E4 07 BE */ clrlwi r4, r31, 0x1e
/* 801590B0 00154EF0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 801590B4 00154EF4 7C 04 02 14 */ add r0, r4, r0
/* 801590B8 00154EF8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 801590BC 00154EFC 54 00 10 3A */ slwi r0, r0, 2
/* 801590C0 00154F00 7C E7 52 14 */ add r7, r7, r10
/* 801590C4 00154F04 7C 7E 02 14 */ add r3, r30, r0
/* 801590C8 00154F08 7C 84 52 14 */ add r4, r4, r10
/* 801590CC 00154F0C 7C C6 29 D6 */ mullw r6, r6, r5
/* 801590D0 00154F10 81 83 0E 88 */ lwz r12, 0xe88(r3)
/* 801590D4 00154F14 7C 08 3A 14 */ add r0, r8, r7
/* 801590D8 00154F18 7C 66 02 14 */ add r3, r6, r0
/* 801590DC 00154F1C 7D 89 03 A6 */ mtctr r12
/* 801590E0 00154F20 4E 80 04 21 */ bctrl
/* 801590E4 00154F24 80 7E 00 00 */ lwz r3, 0(r30)
/* 801590E8 00154F28 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 801590EC 00154F2C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 801590F0 00154F30 7C 65 0E 70 */ srawi r5, r3, 1
/* 801590F4 00154F34 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 801590F8 00154F38 7C 07 16 70 */ srawi r7, r0, 2
/* 801590FC 00154F3C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80159100 00154F40 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e
/* 80159104 00154F44 7C 63 16 70 */ srawi r3, r3, 2
/* 80159108 00154F48 7C 04 02 14 */ add r0, r4, r0
/* 8015910C 00154F4C 80 9E 00 94 */ lwz r4, 0x94(r30)
/* 80159110 00154F50 54 06 10 3A */ slwi r6, r0, 2
/* 80159114 00154F54 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80159118 00154F58 7F FE 32 14 */ add r31, r30, r6
/* 8015911C 00154F5C 7C 84 42 14 */ add r4, r4, r8
/* 80159120 00154F60 7C C3 29 D6 */ mullw r6, r3, r5
/* 80159124 00154F64 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 80159128 00154F68 7C 67 22 14 */ add r3, r7, r4
/* 8015912C 00154F6C 7C 80 42 14 */ add r4, r0, r8
/* 80159130 00154F70 7C 66 1A 14 */ add r3, r6, r3
/* 80159134 00154F74 7D 89 03 A6 */ mtctr r12
/* 80159138 00154F78 4E 80 04 21 */ bctrl
/* 8015913C 00154F7C 80 1E 00 00 */ lwz r0, 0(r30)
/* 80159140 00154F80 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80159144 00154F84 7C 05 0E 70 */ srawi r5, r0, 1
/* 80159148 00154F88 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015914C 00154F8C 7C 66 16 70 */ srawi r6, r3, 2
/* 80159150 00154F90 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80159154 00154F94 7C 00 16 70 */ srawi r0, r0, 2
/* 80159158 00154F98 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 8015915C 00154F9C 7C 80 29 D6 */ mullw r4, r0, r5
/* 80159160 00154FA0 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80159164 00154FA4 7C 63 3A 14 */ add r3, r3, r7
/* 80159168 00154FA8 81 9F 0E F8 */ lwz r12, 0xef8(r31)
/* 8015916C 00154FAC 7C 66 1A 14 */ add r3, r6, r3
/* 80159170 00154FB0 7C 64 1A 14 */ add r3, r4, r3
/* 80159174 00154FB4 7C 80 3A 14 */ add r4, r0, r7
/* 80159178 00154FB8 7D 89 03 A6 */ mtctr r12
/* 8015917C 00154FBC 4E 80 04 21 */ bctrl
/* 80159180 00154FC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80159184 00154FC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80159188 00154FC8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8015918C 00154FCC 7C 08 03 A6 */ mtlr r0
/* 80159190 00154FD0 38 21 00 10 */ addi r1, r1, 0x10
/* 80159194 00154FD4 4E 80 00 20 */ blr
/* 80159198 00154FD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 8015919C 00154FDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global VX2DecodeBlockInter2x2__FR14VX2DecoderData
VX2DecodeBlockInter2x2__FR14VX2DecoderData:
/* 801591A0 00154FE0 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 801591A4 00154FE4 3C 80 80 41 */ lis r4, $$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2command@ha
/* 801591A8 00154FE8 3C A0 80 41 */ lis r5, $$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2size$$20@ha
/* 801591AC 00154FEC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 801591B0 00154FF0 54 C6 2E FA */ rlwinm r6, r6, 5, 0x1b, 0x1d
/* 801591B4 00154FF4 38 84 ED 00 */ addi r4, r4, $$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2command@l
/* 801591B8 00154FF8 7C C4 30 2E */ lwzx r6, r4, r6
/* 801591BC 00154FFC 38 A5 ED 20 */ addi r5, r5, $$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2size$$20@l
/* 801591C0 00155000 80 83 0A 08 */ lwz r4, 0xa08(r3)
/* 801591C4 00155004 54 C9 10 3A */ slwi r9, r6, 2
/* 801591C8 00155008 7C A5 48 2E */ lwzx r5, r5, r9
/* 801591CC 0015500C 7C E5 00 51 */ subf. r7, r5, r0
/* 801591D0 00155010 7C 88 28 30 */ slw r8, r4, r5
/* 801591D4 00155014 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 801591D8 00155018 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 801591DC 0015501C 40 80 00 2C */ bge lbl_80159208
/* 801591E0 00155020 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 801591E4 00155024 7C C0 26 2C */ lhbrx r6, 0, r4
/* 801591E8 00155028 7C A7 00 D0 */ neg r5, r7
/* 801591EC 0015502C 38 84 00 02 */ addi r4, r4, 2
/* 801591F0 00155030 38 07 00 10 */ addi r0, r7, 0x10
/* 801591F4 00155034 7C C5 28 30 */ slw r5, r6, r5
/* 801591F8 00155038 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 801591FC 0015503C 7D 04 2B 78 */ or r4, r8, r5
/* 80159200 00155040 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80159204 00155044 90 03 0A 04 */ stw r0, 0xa04(r3)
lbl_80159208:
/* 80159208 00155048 3C 80 80 41 */ lis r4, VX2CommandTable2x2@ha
/* 8015920C 0015504C 38 84 EC D8 */ addi r4, r4, VX2CommandTable2x2@l
/* 80159210 00155050 7D 84 48 2E */ lwzx r12, r4, r9
/* 80159214 00155054 7D 89 03 A6 */ mtctr r12
/* 80159218 00155058 4E 80 04 20 */ bctr
/* 8015921C 0015505C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.section .data4, "wa" # 0x80406560 - 0x80421040
.global VX2CommandTable2x2
VX2CommandTable2x2:
.incbin "baserom.dol", 0x40ADD8, 0x28
.global $$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2command
$$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2command:
.incbin "baserom.dol", 0x40AE00, 0x20
.global $$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2size$$20
$$2LOCAL$$2VX2DecodeBlockInter2x2__FR14VX2DecoderData$$2size$$20:
.incbin "baserom.dol", 0x40AE20, 0x28