donut-decomp/asm/libMobiclip/VX2_DecodeBlock8x2_8015ed80.s

863 lines
44 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global lbl_8015ED80
lbl_8015ED80:
/* 8015ED80 0015ABC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015ED84 0015ABC4 7C 08 02 A6 */ mflr r0
/* 8015ED88 0015ABC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015ED8C 0015ABCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015ED90 0015ABD0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015ED94 0015ABD4 7C 7E 1B 78 */ mr r30, r3
/* 8015ED98 0015ABD8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015ED9C 0015ABDC A8 E3 0A 24 */ lha r7, 0xa24(r3)
/* 8015EDA0 0015ABE0 A9 23 0A 26 */ lha r9, 0xa26(r3)
/* 8015EDA4 0015ABE4 55 40 08 3C */ slwi r0, r10, 1
/* 8015EDA8 0015ABE8 7F E7 02 14 */ add r31, r7, r0
/* 8015EDAC 0015ABEC 7C E8 0E 70 */ srawi r8, r7, 1
/* 8015EDB0 0015ABF0 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015EDB4 0015ABF4 7D 26 0E 70 */ srawi r6, r9, 1
/* 8015EDB8 0015ABF8 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015EDBC 0015ABFC 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015EDC0 0015AC00 7C 04 02 14 */ add r0, r4, r0
/* 8015EDC4 0015AC04 80 83 00 6C */ lwz r4, 0x6c(r3)
/* 8015EDC8 0015AC08 B0 E3 0A 20 */ sth r7, 0xa20(r3)
/* 8015EDCC 0015AC0C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015EDD0 0015AC10 7C E4 52 14 */ add r7, r4, r10
/* 8015EDD4 0015AC14 80 83 00 68 */ lwz r4, 0x68(r3)
/* 8015EDD8 0015AC18 54 00 10 3A */ slwi r0, r0, 2
/* 8015EDDC 0015AC1C B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015EDE0 0015AC20 7C 84 52 14 */ add r4, r4, r10
/* 8015EDE4 0015AC24 7C 7E 02 14 */ add r3, r30, r0
/* 8015EDE8 0015AC28 7C 08 3A 14 */ add r0, r8, r7
/* 8015EDEC 0015AC2C 81 83 0C 68 */ lwz r12, 0xc68(r3)
/* 8015EDF0 0015AC30 7C 66 02 14 */ add r3, r6, r0
/* 8015EDF4 0015AC34 7D 89 03 A6 */ mtctr r12
/* 8015EDF8 0015AC38 4E 80 04 21 */ bctrl
/* 8015EDFC 0015AC3C 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015EE00 0015AC40 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015EE04 0015AC44 A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015EE08 0015AC48 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015EE0C 0015AC4C A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015EE10 0015AC50 7C 07 16 70 */ srawi r7, r0, 2
/* 8015EE14 0015AC54 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015EE18 0015AC58 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 8015EE1C 0015AC5C 7C 63 16 70 */ srawi r3, r3, 2
/* 8015EE20 0015AC60 7C 04 02 14 */ add r0, r4, r0
/* 8015EE24 0015AC64 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 8015EE28 0015AC68 54 06 10 3A */ slwi r6, r0, 2
/* 8015EE2C 0015AC6C 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015EE30 0015AC70 7F FE 32 14 */ add r31, r30, r6
/* 8015EE34 0015AC74 7C 84 42 14 */ add r4, r4, r8
/* 8015EE38 0015AC78 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015EE3C 0015AC7C 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015EE40 0015AC80 7C 67 22 14 */ add r3, r7, r4
/* 8015EE44 0015AC84 7C 80 42 14 */ add r4, r0, r8
/* 8015EE48 0015AC88 7C 66 1A 14 */ add r3, r6, r3
/* 8015EE4C 0015AC8C 7D 89 03 A6 */ mtctr r12
/* 8015EE50 0015AC90 4E 80 04 21 */ bctrl
/* 8015EE54 0015AC94 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015EE58 0015AC98 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015EE5C 0015AC9C 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015EE60 0015ACA0 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015EE64 0015ACA4 7C 66 16 70 */ srawi r6, r3, 2
/* 8015EE68 0015ACA8 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015EE6C 0015ACAC 7C 00 16 70 */ srawi r0, r0, 2
/* 8015EE70 0015ACB0 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 8015EE74 0015ACB4 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015EE78 0015ACB8 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015EE7C 0015ACBC 7C 63 3A 14 */ add r3, r3, r7
/* 8015EE80 0015ACC0 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015EE84 0015ACC4 7C 66 1A 14 */ add r3, r6, r3
/* 8015EE88 0015ACC8 7C 64 1A 14 */ add r3, r4, r3
/* 8015EE8C 0015ACCC 7C 80 3A 14 */ add r4, r0, r7
/* 8015EE90 0015ACD0 7D 89 03 A6 */ mtctr r12
/* 8015EE94 0015ACD4 4E 80 04 21 */ bctrl
/* 8015EE98 0015ACD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015EE9C 0015ACDC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015EEA0 0015ACE0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015EEA4 0015ACE4 7C 08 03 A6 */ mtlr r0
/* 8015EEA8 0015ACE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8015EEAC 0015ACEC 4E 80 00 20 */ blr
.global lbl_8015EEB0
lbl_8015EEB0:
/* 8015EEB0 0015ACF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015EEB4 0015ACF4 7C 08 02 A6 */ mflr r0
/* 8015EEB8 0015ACF8 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015EEBC 0015ACFC 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015EEC0 0015AD00 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015EEC4 0015AD04 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015EEC8 0015AD08 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015EECC 0015AD0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015EED0 0015AD10 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015EED4 0015AD14 7C 7E 1B 78 */ mr r30, r3
/* 8015EED8 0015AD18 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015EEDC 0015AD1C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015EEE0 0015AD20 55 06 7C 7E */ srwi r6, r8, 17
/* 8015EEE4 0015AD24 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015EEE8 0015AD28 7D 29 07 74 */ extsb r9, r9
/* 8015EEEC 0015AD2C 55 24 10 3A */ slwi r4, r9, 2
/* 8015EEF0 0015AD30 7C 85 22 14 */ add r4, r5, r4
/* 8015EEF4 0015AD34 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015EEF8 0015AD38 7C E4 00 51 */ subf. r7, r4, r0
/* 8015EEFC 0015AD3C 7D 08 20 30 */ slw r8, r8, r4
/* 8015EF00 0015AD40 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015EF04 0015AD44 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015EF08 0015AD48 40 80 00 2C */ bge lbl_8015EF34
/* 8015EF0C 0015AD4C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015EF10 0015AD50 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015EF14 0015AD54 7C A7 00 D0 */ neg r5, r7
/* 8015EF18 0015AD58 38 84 00 02 */ addi r4, r4, 0x2
/* 8015EF1C 0015AD5C 38 07 00 10 */ addi r0, r7, 0x10
/* 8015EF20 0015AD60 7C C5 28 30 */ slw r5, r6, r5
/* 8015EF24 0015AD64 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015EF28 0015AD68 7D 04 2B 78 */ or r4, r8, r5
/* 8015EF2C 0015AD6C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015EF30 0015AD70 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015EF34
lbl_8015EF34:
/* 8015EF34 0015AD74 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 8015EF38 0015AD78 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015EF3C 0015AD7C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 8015EF40 0015AD80 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015EF44 0015AD84 7C 00 4A 14 */ add r0, r0, r9
/* 8015EF48 0015AD88 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015EF4C 0015AD8C 54 C0 7C 7E */ srwi r0, r6, 17
/* 8015EF50 0015AD90 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015EF54 0015AD94 7D 24 00 AE */ lbzx r9, r4, r0
/* 8015EF58 0015AD98 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015EF5C 0015AD9C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015EF60 0015ADA0 7D 29 07 74 */ extsb r9, r9
/* 8015EF64 0015ADA4 55 24 10 3A */ slwi r4, r9, 2
/* 8015EF68 0015ADA8 7C 85 22 14 */ add r4, r5, r4
/* 8015EF6C 0015ADAC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015EF70 0015ADB0 7C E4 00 51 */ subf. r7, r4, r0
/* 8015EF74 0015ADB4 7C C8 20 30 */ slw r8, r6, r4
/* 8015EF78 0015ADB8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015EF7C 0015ADBC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015EF80 0015ADC0 40 80 00 2C */ bge lbl_8015EFAC
/* 8015EF84 0015ADC4 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015EF88 0015ADC8 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015EF8C 0015ADCC 7C A7 00 D0 */ neg r5, r7
/* 8015EF90 0015ADD0 38 84 00 02 */ addi r4, r4, 0x2
/* 8015EF94 0015ADD4 38 07 00 10 */ addi r0, r7, 0x10
/* 8015EF98 0015ADD8 7C C5 28 30 */ slw r5, r6, r5
/* 8015EF9C 0015ADDC 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015EFA0 0015ADE0 7D 04 2B 78 */ or r4, r8, r5
/* 8015EFA4 0015ADE4 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015EFA8 0015ADE8 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015EFAC
lbl_8015EFAC:
/* 8015EFAC 0015ADEC A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015EFB0 0015ADF0 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015EFB4 0015ADF4 7D 20 4A 14 */ add r9, r0, r9
/* 8015EFB8 0015ADF8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015EFBC 0015ADFC 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015EFC0 0015AE00 7D 26 07 34 */ extsh r6, r9
/* 8015EFC4 0015AE04 55 40 08 3C */ slwi r0, r10, 1
/* 8015EFC8 0015AE08 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015EFCC 0015AE0C 7F E4 02 14 */ add r31, r4, r0
/* 8015EFD0 0015AE10 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015EFD4 0015AE14 80 E3 00 6C */ lwz r7, 0x6c(r3)
/* 8015EFD8 0015AE18 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015EFDC 0015AE1C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015EFE0 0015AE20 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015EFE4 0015AE24 7C 04 02 14 */ add r0, r4, r0
/* 8015EFE8 0015AE28 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015EFEC 0015AE2C 54 00 10 3A */ slwi r0, r0, 2
/* 8015EFF0 0015AE30 7C E7 52 14 */ add r7, r7, r10
/* 8015EFF4 0015AE34 7C 7E 02 14 */ add r3, r30, r0
/* 8015EFF8 0015AE38 7C 84 52 14 */ add r4, r4, r10
/* 8015EFFC 0015AE3C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015F000 0015AE40 81 83 0C 68 */ lwz r12, 0xc68(r3)
/* 8015F004 0015AE44 7C 08 3A 14 */ add r0, r8, r7
/* 8015F008 0015AE48 7C 66 02 14 */ add r3, r6, r0
/* 8015F00C 0015AE4C 7D 89 03 A6 */ mtctr r12
/* 8015F010 0015AE50 4E 80 04 21 */ bctrl
/* 8015F014 0015AE54 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015F018 0015AE58 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015F01C 0015AE5C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015F020 0015AE60 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015F024 0015AE64 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015F028 0015AE68 7C 07 16 70 */ srawi r7, r0, 2
/* 8015F02C 0015AE6C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015F030 0015AE70 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 8015F034 0015AE74 7C 63 16 70 */ srawi r3, r3, 2
/* 8015F038 0015AE78 7C 04 02 14 */ add r0, r4, r0
/* 8015F03C 0015AE7C 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 8015F040 0015AE80 54 06 10 3A */ slwi r6, r0, 2
/* 8015F044 0015AE84 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015F048 0015AE88 7F FE 32 14 */ add r31, r30, r6
/* 8015F04C 0015AE8C 7C 84 42 14 */ add r4, r4, r8
/* 8015F050 0015AE90 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015F054 0015AE94 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F058 0015AE98 7C 67 22 14 */ add r3, r7, r4
/* 8015F05C 0015AE9C 7C 80 42 14 */ add r4, r0, r8
/* 8015F060 0015AEA0 7C 66 1A 14 */ add r3, r6, r3
/* 8015F064 0015AEA4 7D 89 03 A6 */ mtctr r12
/* 8015F068 0015AEA8 4E 80 04 21 */ bctrl
/* 8015F06C 0015AEAC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015F070 0015AEB0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015F074 0015AEB4 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015F078 0015AEB8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015F07C 0015AEBC 7C 66 16 70 */ srawi r6, r3, 2
/* 8015F080 0015AEC0 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015F084 0015AEC4 7C 00 16 70 */ srawi r0, r0, 2
/* 8015F088 0015AEC8 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 8015F08C 0015AECC 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015F090 0015AED0 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015F094 0015AED4 7C 63 3A 14 */ add r3, r3, r7
/* 8015F098 0015AED8 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F09C 0015AEDC 7C 66 1A 14 */ add r3, r6, r3
/* 8015F0A0 0015AEE0 7C 64 1A 14 */ add r3, r4, r3
/* 8015F0A4 0015AEE4 7C 80 3A 14 */ add r4, r0, r7
/* 8015F0A8 0015AEE8 7D 89 03 A6 */ mtctr r12
/* 8015F0AC 0015AEEC 4E 80 04 21 */ bctrl
/* 8015F0B0 0015AEF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015F0B4 0015AEF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015F0B8 0015AEF8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015F0BC 0015AEFC 7C 08 03 A6 */ mtlr r0
/* 8015F0C0 0015AF00 38 21 00 10 */ addi r1, r1, 0x10
/* 8015F0C4 0015AF04 4E 80 00 20 */ blr
/* 8015F0C8 0015AF08 00 00 00 00 */ .4byte 0x00000000
/* 8015F0CC 0015AF0C 00 00 00 00 */ .4byte 0x00000000
.global lbl_8015F0D0
lbl_8015F0D0:
/* 8015F0D0 0015AF10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015F0D4 0015AF14 7C 08 02 A6 */ mflr r0
/* 8015F0D8 0015AF18 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F0DC 0015AF1C 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F0E0 0015AF20 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015F0E4 0015AF24 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F0E8 0015AF28 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F0EC 0015AF2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015F0F0 0015AF30 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015F0F4 0015AF34 7C 7E 1B 78 */ mr r30, r3
/* 8015F0F8 0015AF38 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015F0FC 0015AF3C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F100 0015AF40 55 06 7C 7E */ srwi r6, r8, 17
/* 8015F104 0015AF44 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015F108 0015AF48 7D 29 07 74 */ extsb r9, r9
/* 8015F10C 0015AF4C 55 24 10 3A */ slwi r4, r9, 2
/* 8015F110 0015AF50 7C 85 22 14 */ add r4, r5, r4
/* 8015F114 0015AF54 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F118 0015AF58 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F11C 0015AF5C 7D 08 20 30 */ slw r8, r8, r4
/* 8015F120 0015AF60 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F124 0015AF64 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F128 0015AF68 40 80 00 2C */ bge lbl_8015F154
/* 8015F12C 0015AF6C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F130 0015AF70 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F134 0015AF74 7C A7 00 D0 */ neg r5, r7
/* 8015F138 0015AF78 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F13C 0015AF7C 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F140 0015AF80 7C C5 28 30 */ slw r5, r6, r5
/* 8015F144 0015AF84 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F148 0015AF88 7D 04 2B 78 */ or r4, r8, r5
/* 8015F14C 0015AF8C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F150 0015AF90 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F154
lbl_8015F154:
/* 8015F154 0015AF94 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 8015F158 0015AF98 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F15C 0015AF9C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 8015F160 0015AFA0 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F164 0015AFA4 7C 00 4A 14 */ add r0, r0, r9
/* 8015F168 0015AFA8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015F16C 0015AFAC 54 C0 7C 7E */ srwi r0, r6, 17
/* 8015F170 0015AFB0 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F174 0015AFB4 7D 24 00 AE */ lbzx r9, r4, r0
/* 8015F178 0015AFB8 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F17C 0015AFBC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F180 0015AFC0 7D 29 07 74 */ extsb r9, r9
/* 8015F184 0015AFC4 55 24 10 3A */ slwi r4, r9, 2
/* 8015F188 0015AFC8 7C 85 22 14 */ add r4, r5, r4
/* 8015F18C 0015AFCC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F190 0015AFD0 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F194 0015AFD4 7C C8 20 30 */ slw r8, r6, r4
/* 8015F198 0015AFD8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F19C 0015AFDC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F1A0 0015AFE0 40 80 00 2C */ bge lbl_8015F1CC
/* 8015F1A4 0015AFE4 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F1A8 0015AFE8 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F1AC 0015AFEC 7C A7 00 D0 */ neg r5, r7
/* 8015F1B0 0015AFF0 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F1B4 0015AFF4 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F1B8 0015AFF8 7C C5 28 30 */ slw r5, r6, r5
/* 8015F1BC 0015AFFC 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F1C0 0015B000 7D 04 2B 78 */ or r4, r8, r5
/* 8015F1C4 0015B004 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F1C8 0015B008 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F1CC
lbl_8015F1CC:
/* 8015F1CC 0015B00C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015F1D0 0015B010 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015F1D4 0015B014 7D 20 4A 14 */ add r9, r0, r9
/* 8015F1D8 0015B018 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015F1DC 0015B01C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015F1E0 0015B020 7D 26 07 34 */ extsh r6, r9
/* 8015F1E4 0015B024 55 40 08 3C */ slwi r0, r10, 1
/* 8015F1E8 0015B028 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015F1EC 0015B02C 7F E4 02 14 */ add r31, r4, r0
/* 8015F1F0 0015B030 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015F1F4 0015B034 80 E3 00 70 */ lwz r7, 0x70(r3)
/* 8015F1F8 0015B038 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015F1FC 0015B03C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015F200 0015B040 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015F204 0015B044 7C 04 02 14 */ add r0, r4, r0
/* 8015F208 0015B048 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015F20C 0015B04C 54 00 10 3A */ slwi r0, r0, 2
/* 8015F210 0015B050 7C E7 52 14 */ add r7, r7, r10
/* 8015F214 0015B054 7C 7E 02 14 */ add r3, r30, r0
/* 8015F218 0015B058 7C 84 52 14 */ add r4, r4, r10
/* 8015F21C 0015B05C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015F220 0015B060 81 83 0C 68 */ lwz r12, 0xc68(r3)
/* 8015F224 0015B064 7C 08 3A 14 */ add r0, r8, r7
/* 8015F228 0015B068 7C 66 02 14 */ add r3, r6, r0
/* 8015F22C 0015B06C 7D 89 03 A6 */ mtctr r12
/* 8015F230 0015B070 4E 80 04 21 */ bctrl
/* 8015F234 0015B074 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015F238 0015B078 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015F23C 0015B07C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015F240 0015B080 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015F244 0015B084 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015F248 0015B088 7C 07 16 70 */ srawi r7, r0, 2
/* 8015F24C 0015B08C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015F250 0015B090 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 8015F254 0015B094 7C 63 16 70 */ srawi r3, r3, 2
/* 8015F258 0015B098 7C 04 02 14 */ add r0, r4, r0
/* 8015F25C 0015B09C 80 9E 00 88 */ lwz r4, 0x88(r30)
/* 8015F260 0015B0A0 54 06 10 3A */ slwi r6, r0, 2
/* 8015F264 0015B0A4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015F268 0015B0A8 7F FE 32 14 */ add r31, r30, r6
/* 8015F26C 0015B0AC 7C 84 42 14 */ add r4, r4, r8
/* 8015F270 0015B0B0 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015F274 0015B0B4 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F278 0015B0B8 7C 67 22 14 */ add r3, r7, r4
/* 8015F27C 0015B0BC 7C 80 42 14 */ add r4, r0, r8
/* 8015F280 0015B0C0 7C 66 1A 14 */ add r3, r6, r3
/* 8015F284 0015B0C4 7D 89 03 A6 */ mtctr r12
/* 8015F288 0015B0C8 4E 80 04 21 */ bctrl
/* 8015F28C 0015B0CC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015F290 0015B0D0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015F294 0015B0D4 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015F298 0015B0D8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015F29C 0015B0DC 7C 66 16 70 */ srawi r6, r3, 2
/* 8015F2A0 0015B0E0 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015F2A4 0015B0E4 7C 00 16 70 */ srawi r0, r0, 2
/* 8015F2A8 0015B0E8 80 7E 00 A0 */ lwz r3, 0xa0(r30)
/* 8015F2AC 0015B0EC 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015F2B0 0015B0F0 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015F2B4 0015B0F4 7C 63 3A 14 */ add r3, r3, r7
/* 8015F2B8 0015B0F8 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F2BC 0015B0FC 7C 66 1A 14 */ add r3, r6, r3
/* 8015F2C0 0015B100 7C 64 1A 14 */ add r3, r4, r3
/* 8015F2C4 0015B104 7C 80 3A 14 */ add r4, r0, r7
/* 8015F2C8 0015B108 7D 89 03 A6 */ mtctr r12
/* 8015F2CC 0015B10C 4E 80 04 21 */ bctrl
/* 8015F2D0 0015B110 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015F2D4 0015B114 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015F2D8 0015B118 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015F2DC 0015B11C 7C 08 03 A6 */ mtlr r0
/* 8015F2E0 0015B120 38 21 00 10 */ addi r1, r1, 0x10
/* 8015F2E4 0015B124 4E 80 00 20 */ blr
/* 8015F2E8 0015B128 00 00 00 00 */ .4byte 0x00000000
/* 8015F2EC 0015B12C 00 00 00 00 */ .4byte 0x00000000
.global lbl_8015F2F0
lbl_8015F2F0:
/* 8015F2F0 0015B130 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015F2F4 0015B134 7C 08 02 A6 */ mflr r0
/* 8015F2F8 0015B138 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F2FC 0015B13C 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F300 0015B140 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015F304 0015B144 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F308 0015B148 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F30C 0015B14C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015F310 0015B150 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015F314 0015B154 7C 7E 1B 78 */ mr r30, r3
/* 8015F318 0015B158 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015F31C 0015B15C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F320 0015B160 55 06 7C 7E */ srwi r6, r8, 17
/* 8015F324 0015B164 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015F328 0015B168 7D 29 07 74 */ extsb r9, r9
/* 8015F32C 0015B16C 55 24 10 3A */ slwi r4, r9, 2
/* 8015F330 0015B170 7C 85 22 14 */ add r4, r5, r4
/* 8015F334 0015B174 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F338 0015B178 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F33C 0015B17C 7D 08 20 30 */ slw r8, r8, r4
/* 8015F340 0015B180 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F344 0015B184 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F348 0015B188 40 80 00 2C */ bge lbl_8015F374
/* 8015F34C 0015B18C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F350 0015B190 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F354 0015B194 7C A7 00 D0 */ neg r5, r7
/* 8015F358 0015B198 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F35C 0015B19C 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F360 0015B1A0 7C C5 28 30 */ slw r5, r6, r5
/* 8015F364 0015B1A4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F368 0015B1A8 7D 04 2B 78 */ or r4, r8, r5
/* 8015F36C 0015B1AC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F370 0015B1B0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F374
lbl_8015F374:
/* 8015F374 0015B1B4 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 8015F378 0015B1B8 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F37C 0015B1BC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 8015F380 0015B1C0 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F384 0015B1C4 7C 00 4A 14 */ add r0, r0, r9
/* 8015F388 0015B1C8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015F38C 0015B1CC 54 C0 7C 7E */ srwi r0, r6, 17
/* 8015F390 0015B1D0 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F394 0015B1D4 7D 24 00 AE */ lbzx r9, r4, r0
/* 8015F398 0015B1D8 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F39C 0015B1DC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F3A0 0015B1E0 7D 29 07 74 */ extsb r9, r9
/* 8015F3A4 0015B1E4 55 24 10 3A */ slwi r4, r9, 2
/* 8015F3A8 0015B1E8 7C 85 22 14 */ add r4, r5, r4
/* 8015F3AC 0015B1EC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F3B0 0015B1F0 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F3B4 0015B1F4 7C C8 20 30 */ slw r8, r6, r4
/* 8015F3B8 0015B1F8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F3BC 0015B1FC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F3C0 0015B200 40 80 00 2C */ bge lbl_8015F3EC
/* 8015F3C4 0015B204 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F3C8 0015B208 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F3CC 0015B20C 7C A7 00 D0 */ neg r5, r7
/* 8015F3D0 0015B210 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F3D4 0015B214 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F3D8 0015B218 7C C5 28 30 */ slw r5, r6, r5
/* 8015F3DC 0015B21C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F3E0 0015B220 7D 04 2B 78 */ or r4, r8, r5
/* 8015F3E4 0015B224 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F3E8 0015B228 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F3EC
lbl_8015F3EC:
/* 8015F3EC 0015B22C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015F3F0 0015B230 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015F3F4 0015B234 7D 20 4A 14 */ add r9, r0, r9
/* 8015F3F8 0015B238 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015F3FC 0015B23C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015F400 0015B240 7D 26 07 34 */ extsh r6, r9
/* 8015F404 0015B244 55 40 08 3C */ slwi r0, r10, 1
/* 8015F408 0015B248 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015F40C 0015B24C 7F E4 02 14 */ add r31, r4, r0
/* 8015F410 0015B250 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015F414 0015B254 80 E3 00 74 */ lwz r7, 0x74(r3)
/* 8015F418 0015B258 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015F41C 0015B25C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015F420 0015B260 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015F424 0015B264 7C 04 02 14 */ add r0, r4, r0
/* 8015F428 0015B268 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015F42C 0015B26C 54 00 10 3A */ slwi r0, r0, 2
/* 8015F430 0015B270 7C E7 52 14 */ add r7, r7, r10
/* 8015F434 0015B274 7C 7E 02 14 */ add r3, r30, r0
/* 8015F438 0015B278 7C 84 52 14 */ add r4, r4, r10
/* 8015F43C 0015B27C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015F440 0015B280 81 83 0C 68 */ lwz r12, 0xc68(r3)
/* 8015F444 0015B284 7C 08 3A 14 */ add r0, r8, r7
/* 8015F448 0015B288 7C 66 02 14 */ add r3, r6, r0
/* 8015F44C 0015B28C 7D 89 03 A6 */ mtctr r12
/* 8015F450 0015B290 4E 80 04 21 */ bctrl
/* 8015F454 0015B294 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015F458 0015B298 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015F45C 0015B29C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015F460 0015B2A0 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015F464 0015B2A4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015F468 0015B2A8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015F46C 0015B2AC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015F470 0015B2B0 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 8015F474 0015B2B4 7C 63 16 70 */ srawi r3, r3, 2
/* 8015F478 0015B2B8 7C 04 02 14 */ add r0, r4, r0
/* 8015F47C 0015B2BC 80 9E 00 8C */ lwz r4, 0x8c(r30)
/* 8015F480 0015B2C0 54 06 10 3A */ slwi r6, r0, 2
/* 8015F484 0015B2C4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015F488 0015B2C8 7F FE 32 14 */ add r31, r30, r6
/* 8015F48C 0015B2CC 7C 84 42 14 */ add r4, r4, r8
/* 8015F490 0015B2D0 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015F494 0015B2D4 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F498 0015B2D8 7C 67 22 14 */ add r3, r7, r4
/* 8015F49C 0015B2DC 7C 80 42 14 */ add r4, r0, r8
/* 8015F4A0 0015B2E0 7C 66 1A 14 */ add r3, r6, r3
/* 8015F4A4 0015B2E4 7D 89 03 A6 */ mtctr r12
/* 8015F4A8 0015B2E8 4E 80 04 21 */ bctrl
/* 8015F4AC 0015B2EC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015F4B0 0015B2F0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015F4B4 0015B2F4 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015F4B8 0015B2F8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015F4BC 0015B2FC 7C 66 16 70 */ srawi r6, r3, 2
/* 8015F4C0 0015B300 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015F4C4 0015B304 7C 00 16 70 */ srawi r0, r0, 2
/* 8015F4C8 0015B308 80 7E 00 A4 */ lwz r3, 0xa4(r30)
/* 8015F4CC 0015B30C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015F4D0 0015B310 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015F4D4 0015B314 7C 63 3A 14 */ add r3, r3, r7
/* 8015F4D8 0015B318 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F4DC 0015B31C 7C 66 1A 14 */ add r3, r6, r3
/* 8015F4E0 0015B320 7C 64 1A 14 */ add r3, r4, r3
/* 8015F4E4 0015B324 7C 80 3A 14 */ add r4, r0, r7
/* 8015F4E8 0015B328 7D 89 03 A6 */ mtctr r12
/* 8015F4EC 0015B32C 4E 80 04 21 */ bctrl
/* 8015F4F0 0015B330 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015F4F4 0015B334 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015F4F8 0015B338 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015F4FC 0015B33C 7C 08 03 A6 */ mtlr r0
/* 8015F500 0015B340 38 21 00 10 */ addi r1, r1, 0x10
/* 8015F504 0015B344 4E 80 00 20 */ blr
/* 8015F508 0015B348 00 00 00 00 */ .4byte 0x00000000
/* 8015F50C 0015B34C 00 00 00 00 */ .4byte 0x00000000
.global lbl_8015F510
lbl_8015F510:
/* 8015F510 0015B350 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015F514 0015B354 7C 08 02 A6 */ mflr r0
/* 8015F518 0015B358 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F51C 0015B35C 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F520 0015B360 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015F524 0015B364 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F528 0015B368 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F52C 0015B36C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015F530 0015B370 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015F534 0015B374 7C 7E 1B 78 */ mr r30, r3
/* 8015F538 0015B378 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015F53C 0015B37C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F540 0015B380 55 06 7C 7E */ srwi r6, r8, 17
/* 8015F544 0015B384 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015F548 0015B388 7D 29 07 74 */ extsb r9, r9
/* 8015F54C 0015B38C 55 24 10 3A */ slwi r4, r9, 2
/* 8015F550 0015B390 7C 85 22 14 */ add r4, r5, r4
/* 8015F554 0015B394 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F558 0015B398 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F55C 0015B39C 7D 08 20 30 */ slw r8, r8, r4
/* 8015F560 0015B3A0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F564 0015B3A4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F568 0015B3A8 40 80 00 2C */ bge lbl_8015F594
/* 8015F56C 0015B3AC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F570 0015B3B0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F574 0015B3B4 7C A7 00 D0 */ neg r5, r7
/* 8015F578 0015B3B8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F57C 0015B3BC 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F580 0015B3C0 7C C5 28 30 */ slw r5, r6, r5
/* 8015F584 0015B3C4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F588 0015B3C8 7D 04 2B 78 */ or r4, r8, r5
/* 8015F58C 0015B3CC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F590 0015B3D0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F594
lbl_8015F594:
/* 8015F594 0015B3D4 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 8015F598 0015B3D8 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F59C 0015B3DC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 8015F5A0 0015B3E0 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F5A4 0015B3E4 7C 00 4A 14 */ add r0, r0, r9
/* 8015F5A8 0015B3E8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015F5AC 0015B3EC 54 C0 7C 7E */ srwi r0, r6, 17
/* 8015F5B0 0015B3F0 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F5B4 0015B3F4 7D 24 00 AE */ lbzx r9, r4, r0
/* 8015F5B8 0015B3F8 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F5BC 0015B3FC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F5C0 0015B400 7D 29 07 74 */ extsb r9, r9
/* 8015F5C4 0015B404 55 24 10 3A */ slwi r4, r9, 2
/* 8015F5C8 0015B408 7C 85 22 14 */ add r4, r5, r4
/* 8015F5CC 0015B40C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F5D0 0015B410 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F5D4 0015B414 7C C8 20 30 */ slw r8, r6, r4
/* 8015F5D8 0015B418 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F5DC 0015B41C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F5E0 0015B420 40 80 00 2C */ bge lbl_8015F60C
/* 8015F5E4 0015B424 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F5E8 0015B428 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F5EC 0015B42C 7C A7 00 D0 */ neg r5, r7
/* 8015F5F0 0015B430 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F5F4 0015B434 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F5F8 0015B438 7C C5 28 30 */ slw r5, r6, r5
/* 8015F5FC 0015B43C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F600 0015B440 7D 04 2B 78 */ or r4, r8, r5
/* 8015F604 0015B444 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F608 0015B448 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F60C
lbl_8015F60C:
/* 8015F60C 0015B44C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015F610 0015B450 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015F614 0015B454 7D 20 4A 14 */ add r9, r0, r9
/* 8015F618 0015B458 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015F61C 0015B45C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015F620 0015B460 7D 26 07 34 */ extsh r6, r9
/* 8015F624 0015B464 55 40 08 3C */ slwi r0, r10, 1
/* 8015F628 0015B468 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015F62C 0015B46C 7F E4 02 14 */ add r31, r4, r0
/* 8015F630 0015B470 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015F634 0015B474 80 E3 00 78 */ lwz r7, 0x78(r3)
/* 8015F638 0015B478 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015F63C 0015B47C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015F640 0015B480 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015F644 0015B484 7C 04 02 14 */ add r0, r4, r0
/* 8015F648 0015B488 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015F64C 0015B48C 54 00 10 3A */ slwi r0, r0, 2
/* 8015F650 0015B490 7C E7 52 14 */ add r7, r7, r10
/* 8015F654 0015B494 7C 7E 02 14 */ add r3, r30, r0
/* 8015F658 0015B498 7C 84 52 14 */ add r4, r4, r10
/* 8015F65C 0015B49C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015F660 0015B4A0 81 83 0C 68 */ lwz r12, 0xc68(r3)
/* 8015F664 0015B4A4 7C 08 3A 14 */ add r0, r8, r7
/* 8015F668 0015B4A8 7C 66 02 14 */ add r3, r6, r0
/* 8015F66C 0015B4AC 7D 89 03 A6 */ mtctr r12
/* 8015F670 0015B4B0 4E 80 04 21 */ bctrl
/* 8015F674 0015B4B4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015F678 0015B4B8 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015F67C 0015B4BC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015F680 0015B4C0 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015F684 0015B4C4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015F688 0015B4C8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015F68C 0015B4CC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015F690 0015B4D0 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 8015F694 0015B4D4 7C 63 16 70 */ srawi r3, r3, 2
/* 8015F698 0015B4D8 7C 04 02 14 */ add r0, r4, r0
/* 8015F69C 0015B4DC 80 9E 00 90 */ lwz r4, 0x90(r30)
/* 8015F6A0 0015B4E0 54 06 10 3A */ slwi r6, r0, 2
/* 8015F6A4 0015B4E4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015F6A8 0015B4E8 7F FE 32 14 */ add r31, r30, r6
/* 8015F6AC 0015B4EC 7C 84 42 14 */ add r4, r4, r8
/* 8015F6B0 0015B4F0 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015F6B4 0015B4F4 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F6B8 0015B4F8 7C 67 22 14 */ add r3, r7, r4
/* 8015F6BC 0015B4FC 7C 80 42 14 */ add r4, r0, r8
/* 8015F6C0 0015B500 7C 66 1A 14 */ add r3, r6, r3
/* 8015F6C4 0015B504 7D 89 03 A6 */ mtctr r12
/* 8015F6C8 0015B508 4E 80 04 21 */ bctrl
/* 8015F6CC 0015B50C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015F6D0 0015B510 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015F6D4 0015B514 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015F6D8 0015B518 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015F6DC 0015B51C 7C 66 16 70 */ srawi r6, r3, 2
/* 8015F6E0 0015B520 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015F6E4 0015B524 7C 00 16 70 */ srawi r0, r0, 2
/* 8015F6E8 0015B528 80 7E 00 A8 */ lwz r3, 0xa8(r30)
/* 8015F6EC 0015B52C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015F6F0 0015B530 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015F6F4 0015B534 7C 63 3A 14 */ add r3, r3, r7
/* 8015F6F8 0015B538 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F6FC 0015B53C 7C 66 1A 14 */ add r3, r6, r3
/* 8015F700 0015B540 7C 64 1A 14 */ add r3, r4, r3
/* 8015F704 0015B544 7C 80 3A 14 */ add r4, r0, r7
/* 8015F708 0015B548 7D 89 03 A6 */ mtctr r12
/* 8015F70C 0015B54C 4E 80 04 21 */ bctrl
/* 8015F710 0015B550 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015F714 0015B554 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015F718 0015B558 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015F71C 0015B55C 7C 08 03 A6 */ mtlr r0
/* 8015F720 0015B560 38 21 00 10 */ addi r1, r1, 0x10
/* 8015F724 0015B564 4E 80 00 20 */ blr
/* 8015F728 0015B568 00 00 00 00 */ .4byte 0x00000000
/* 8015F72C 0015B56C 00 00 00 00 */ .4byte 0x00000000
.global lbl_8015F730
lbl_8015F730:
/* 8015F730 0015B570 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015F734 0015B574 7C 08 02 A6 */ mflr r0
/* 8015F738 0015B578 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F73C 0015B57C 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F740 0015B580 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015F744 0015B584 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F748 0015B588 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F74C 0015B58C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015F750 0015B590 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015F754 0015B594 7C 7E 1B 78 */ mr r30, r3
/* 8015F758 0015B598 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015F75C 0015B59C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F760 0015B5A0 55 06 7C 7E */ srwi r6, r8, 17
/* 8015F764 0015B5A4 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015F768 0015B5A8 7D 29 07 74 */ extsb r9, r9
/* 8015F76C 0015B5AC 55 24 10 3A */ slwi r4, r9, 2
/* 8015F770 0015B5B0 7C 85 22 14 */ add r4, r5, r4
/* 8015F774 0015B5B4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F778 0015B5B8 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F77C 0015B5BC 7D 08 20 30 */ slw r8, r8, r4
/* 8015F780 0015B5C0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F784 0015B5C4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F788 0015B5C8 40 80 00 2C */ bge lbl_8015F7B4
/* 8015F78C 0015B5CC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F790 0015B5D0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F794 0015B5D4 7C A7 00 D0 */ neg r5, r7
/* 8015F798 0015B5D8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F79C 0015B5DC 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F7A0 0015B5E0 7C C5 28 30 */ slw r5, r6, r5
/* 8015F7A4 0015B5E4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F7A8 0015B5E8 7D 04 2B 78 */ or r4, r8, r5
/* 8015F7AC 0015B5EC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F7B0 0015B5F0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F7B4
lbl_8015F7B4:
/* 8015F7B4 0015B5F4 A8 03 0A 24 */ lha r0, 0xa24(r3)
/* 8015F7B8 0015B5F8 3C 80 80 45 */ lis r4, lbl_804485D8@ha
/* 8015F7BC 0015B5FC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 8015F7C0 0015B600 3C A0 80 45 */ lis r5, lbl_804505D8@ha
/* 8015F7C4 0015B604 7C 00 4A 14 */ add r0, r0, r9
/* 8015F7C8 0015B608 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015F7CC 0015B60C 54 C0 7C 7E */ srwi r0, r6, 17
/* 8015F7D0 0015B610 38 84 85 D8 */ addi r4, r4, lbl_804485D8@l
/* 8015F7D4 0015B614 7D 24 00 AE */ lbzx r9, r4, r0
/* 8015F7D8 0015B618 38 A5 05 D8 */ addi r5, r5, lbl_804505D8@l
/* 8015F7DC 0015B61C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F7E0 0015B620 7D 29 07 74 */ extsb r9, r9
/* 8015F7E4 0015B624 55 24 10 3A */ slwi r4, r9, 2
/* 8015F7E8 0015B628 7C 85 22 14 */ add r4, r5, r4
/* 8015F7EC 0015B62C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015F7F0 0015B630 7C E4 00 51 */ subf. r7, r4, r0
/* 8015F7F4 0015B634 7C C8 20 30 */ slw r8, r6, r4
/* 8015F7F8 0015B638 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F7FC 0015B63C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F800 0015B640 40 80 00 2C */ bge lbl_8015F82C
/* 8015F804 0015B644 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015F808 0015B648 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015F80C 0015B64C 7C A7 00 D0 */ neg r5, r7
/* 8015F810 0015B650 38 84 00 02 */ addi r4, r4, 0x2
/* 8015F814 0015B654 38 07 00 10 */ addi r0, r7, 0x10
/* 8015F818 0015B658 7C C5 28 30 */ slw r5, r6, r5
/* 8015F81C 0015B65C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015F820 0015B660 7D 04 2B 78 */ or r4, r8, r5
/* 8015F824 0015B664 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015F828 0015B668 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015F82C
lbl_8015F82C:
/* 8015F82C 0015B66C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015F830 0015B670 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015F834 0015B674 7D 20 4A 14 */ add r9, r0, r9
/* 8015F838 0015B678 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015F83C 0015B67C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015F840 0015B680 7D 26 07 34 */ extsh r6, r9
/* 8015F844 0015B684 55 40 08 3C */ slwi r0, r10, 1
/* 8015F848 0015B688 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015F84C 0015B68C 7F E4 02 14 */ add r31, r4, r0
/* 8015F850 0015B690 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015F854 0015B694 80 E3 00 7C */ lwz r7, 0x7c(r3)
/* 8015F858 0015B698 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015F85C 0015B69C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015F860 0015B6A0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015F864 0015B6A4 7C 04 02 14 */ add r0, r4, r0
/* 8015F868 0015B6A8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015F86C 0015B6AC 54 00 10 3A */ slwi r0, r0, 2
/* 8015F870 0015B6B0 7C E7 52 14 */ add r7, r7, r10
/* 8015F874 0015B6B4 7C 7E 02 14 */ add r3, r30, r0
/* 8015F878 0015B6B8 7C 84 52 14 */ add r4, r4, r10
/* 8015F87C 0015B6BC 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015F880 0015B6C0 81 83 0C 68 */ lwz r12, 0xc68(r3)
/* 8015F884 0015B6C4 7C 08 3A 14 */ add r0, r8, r7
/* 8015F888 0015B6C8 7C 66 02 14 */ add r3, r6, r0
/* 8015F88C 0015B6CC 7D 89 03 A6 */ mtctr r12
/* 8015F890 0015B6D0 4E 80 04 21 */ bctrl
/* 8015F894 0015B6D4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015F898 0015B6D8 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015F89C 0015B6DC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015F8A0 0015B6E0 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015F8A4 0015B6E4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015F8A8 0015B6E8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015F8AC 0015B6EC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015F8B0 0015B6F0 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 8015F8B4 0015B6F4 7C 63 16 70 */ srawi r3, r3, 2
/* 8015F8B8 0015B6F8 7C 04 02 14 */ add r0, r4, r0
/* 8015F8BC 0015B6FC 80 9E 00 94 */ lwz r4, 0x94(r30)
/* 8015F8C0 0015B700 54 06 10 3A */ slwi r6, r0, 2
/* 8015F8C4 0015B704 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015F8C8 0015B708 7F FE 32 14 */ add r31, r30, r6
/* 8015F8CC 0015B70C 7C 84 42 14 */ add r4, r4, r8
/* 8015F8D0 0015B710 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015F8D4 0015B714 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F8D8 0015B718 7C 67 22 14 */ add r3, r7, r4
/* 8015F8DC 0015B71C 7C 80 42 14 */ add r4, r0, r8
/* 8015F8E0 0015B720 7C 66 1A 14 */ add r3, r6, r3
/* 8015F8E4 0015B724 7D 89 03 A6 */ mtctr r12
/* 8015F8E8 0015B728 4E 80 04 21 */ bctrl
/* 8015F8EC 0015B72C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015F8F0 0015B730 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015F8F4 0015B734 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015F8F8 0015B738 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015F8FC 0015B73C 7C 66 16 70 */ srawi r6, r3, 2
/* 8015F900 0015B740 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015F904 0015B744 7C 00 16 70 */ srawi r0, r0, 2
/* 8015F908 0015B748 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 8015F90C 0015B74C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015F910 0015B750 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015F914 0015B754 7C 63 3A 14 */ add r3, r3, r7
/* 8015F918 0015B758 81 9F 0D E8 */ lwz r12, 0xde8(r31)
/* 8015F91C 0015B75C 7C 66 1A 14 */ add r3, r6, r3
/* 8015F920 0015B760 7C 64 1A 14 */ add r3, r4, r3
/* 8015F924 0015B764 7C 80 3A 14 */ add r4, r0, r7
/* 8015F928 0015B768 7D 89 03 A6 */ mtctr r12
/* 8015F92C 0015B76C 4E 80 04 21 */ bctrl
/* 8015F930 0015B770 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015F934 0015B774 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015F938 0015B778 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015F93C 0015B77C 7C 08 03 A6 */ mtlr r0
/* 8015F940 0015B780 38 21 00 10 */ addi r1, r1, 0x10
/* 8015F944 0015B784 4E 80 00 20 */ blr
/* 8015F948 0015B788 00 00 00 00 */ .4byte 0x00000000
/* 8015F94C 0015B78C 00 00 00 00 */ .4byte 0x00000000
.global lbl_8015F950
lbl_8015F950:
/* 8015F950 0015B790 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015F954 0015B794 7C 08 02 A6 */ mflr r0
/* 8015F958 0015B798 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015F95C 0015B79C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015F960 0015B7A0 7C 7F 1B 78 */ mr r31, r3
/* 8015F964 0015B7A4 4B FF CB DD */ bl lbl_8015C540
/* 8015F968 0015B7A8 80 BF 08 B4 */ lwz r5, 0x8b4(r31)
/* 8015F96C 0015B7AC 7F E3 FB 78 */ mr r3, r31
/* 8015F970 0015B7B0 80 9F 08 B8 */ lwz r4, 0x8b8(r31)
/* 8015F974 0015B7B4 38 05 00 04 */ addi r0, r5, 0x4
/* 8015F978 0015B7B8 90 1F 08 B4 */ stw r0, 0x8b4(r31)
/* 8015F97C 0015B7BC 38 04 00 02 */ addi r0, r4, 0x2
/* 8015F980 0015B7C0 90 1F 08 B8 */ stw r0, 0x8b8(r31)
/* 8015F984 0015B7C4 4B FF CB BD */ bl lbl_8015C540
/* 8015F988 0015B7C8 80 9F 08 B4 */ lwz r4, 0x8b4(r31)
/* 8015F98C 0015B7CC 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8015F990 0015B7D0 38 04 FF FC */ addi r0, r4, -0x4
/* 8015F994 0015B7D4 90 1F 08 B4 */ stw r0, 0x8b4(r31)
/* 8015F998 0015B7D8 38 03 FF FE */ addi r0, r3, -0x2
/* 8015F99C 0015B7DC 90 1F 08 B8 */ stw r0, 0x8b8(r31)
/* 8015F9A0 0015B7E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015F9A4 0015B7E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015F9A8 0015B7E8 7C 08 03 A6 */ mtlr r0
/* 8015F9AC 0015B7EC 38 21 00 10 */ addi r1, r1, 0x10
/* 8015F9B0 0015B7F0 4E 80 00 20 */ blr
/* 8015F9B4 0015B7F4 00 00 00 00 */ .4byte 0x00000000
/* 8015F9B8 0015B7F8 00 00 00 00 */ .4byte 0x00000000
/* 8015F9BC 0015B7FC 00 00 00 00 */ .4byte 0x00000000
.global lbl_8015F9C0
lbl_8015F9C0:
/* 8015F9C0 0015B800 80 C3 0A 08 */ lwz r6, 0xa08(r3)
/* 8015F9C4 0015B804 3C 80 80 41 */ lis r4, lbl_8040F1E0@ha
/* 8015F9C8 0015B808 3C A0 80 41 */ lis r5, lbl_8040F220@ha
/* 8015F9CC 0015B80C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015F9D0 0015B810 54 C6 36 BA */ rlwinm r6, r6, 6, 26, 29
/* 8015F9D4 0015B814 38 84 F1 E0 */ addi r4, r4, lbl_8040F1E0@l
/* 8015F9D8 0015B818 7C C4 30 2E */ lwzx r6, r4, r6
/* 8015F9DC 0015B81C 38 A5 F2 20 */ addi r5, r5, lbl_8040F220@l
/* 8015F9E0 0015B820 80 83 0A 08 */ lwz r4, 0xa08(r3)
/* 8015F9E4 0015B824 54 C9 10 3A */ slwi r9, r6, 2
/* 8015F9E8 0015B828 7C A5 48 2E */ lwzx r5, r5, r9
/* 8015F9EC 0015B82C 7C E5 00 51 */ subf. r7, r5, r0
/* 8015F9F0 0015B830 7C 88 28 30 */ slw r8, r4, r5
/* 8015F9F4 0015B834 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015F9F8 0015B838 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015F9FC 0015B83C 40 80 00 2C */ bge lbl_8015FA28
/* 8015FA00 0015B840 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015FA04 0015B844 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015FA08 0015B848 7C A7 00 D0 */ neg r5, r7
/* 8015FA0C 0015B84C 38 84 00 02 */ addi r4, r4, 0x2
/* 8015FA10 0015B850 38 07 00 10 */ addi r0, r7, 0x10
/* 8015FA14 0015B854 7C C5 28 30 */ slw r5, r6, r5
/* 8015FA18 0015B858 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015FA1C 0015B85C 7D 04 2B 78 */ or r4, r8, r5
/* 8015FA20 0015B860 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015FA24 0015B864 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015FA28
lbl_8015FA28:
/* 8015FA28 0015B868 3C 80 80 41 */ lis r4, lbl_8040F1B8@ha
/* 8015FA2C 0015B86C 38 84 F1 B8 */ addi r4, r4, lbl_8040F1B8@l
/* 8015FA30 0015B870 7D 84 48 2E */ lwzx r12, r4, r9
/* 8015FA34 0015B874 7D 89 03 A6 */ mtctr r12
/* 8015FA38 0015B878 4E 80 04 20 */ bctr
/* 8015FA3C 0015B87C 00 00 00 00 */ .4byte 0x00000000