prime/asm/musyx/hw_dspctrl.s

3666 lines
184 KiB
ArmAsm

.include "macros.inc"
.section .data, "wa"
.global lbl_803F3FA8
lbl_803F3FA8:
.incbin "baserom.dol", 0x3F0FA8, 0x18
.section .sbss, "wa"
.global lbl_805A9B4C
lbl_805A9B4C:
.skip 0x1
.global lbl_805A9B4D
lbl_805A9B4D:
.skip 0x1
.global lbl_805A9B4E
lbl_805A9B4E:
.skip 0x1
.global lbl_805A9B4F
lbl_805A9B4F:
.skip 0x1
.section .text, "ax"
.global salInitDspCtrl
salInitDspCtrl:
/* 803AACFC 003A7C5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803AAD00 003A7C60 7C 08 02 A6 */ mflr r0
/* 803AAD04 003A7C64 90 01 00 24 */ stw r0, 0x24(r1)
/* 803AAD08 003A7C68 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803AAD0C 003A7C6C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803AAD10 003A7C70 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803AAD14 003A7C74 93 81 00 10 */ stw r28, 0x10(r1)
/* 803AAD18 003A7C78 7C BC 2B 78 */ mr r28, r5
/* 803AAD1C 003A7C7C 98 6D AF 8D */ stb r3, lbl_805A9B4D@sda21(r13)
/* 803AAD20 003A7C80 98 8D AF 8C */ stb r4, lbl_805A9B4C@sda21(r13)
/* 803AAD24 003A7C84 48 00 97 D1 */ bl aramGetZeroBuffer
/* 803AAD28 003A7C88 90 6D AF 20 */ stw r3, lbl_805A9AE0@sda21(r13)
/* 803AAD2C 003A7C8C 38 60 08 00 */ li r3, 0x800
/* 803AAD30 003A7C90 48 00 A4 05 */ bl salMalloc
/* 803AAD34 003A7C94 28 03 00 00 */ cmplwi r3, 0
/* 803AAD38 003A7C98 90 6D AF 40 */ stw r3, dspCmdList@sda21(r13)
/* 803AAD3C 003A7C9C 41 82 03 50 */ beq lbl_803AB08C
/* 803AAD40 003A7CA0 38 60 02 80 */ li r3, 0x280
/* 803AAD44 003A7CA4 48 00 A3 F1 */ bl salMalloc
/* 803AAD48 003A7CA8 28 03 00 00 */ cmplwi r3, 0
/* 803AAD4C 003A7CAC 90 6D AF 4C */ stw r3, lbl_805A9B0C@sda21(r13)
/* 803AAD50 003A7CB0 41 82 03 3C */ beq lbl_803AB08C
/* 803AAD54 003A7CB4 38 80 00 00 */ li r4, 0
/* 803AAD58 003A7CB8 38 A0 02 80 */ li r5, 0x280
/* 803AAD5C 003A7CBC 4B C5 86 4D */ bl memset
/* 803AAD60 003A7CC0 80 6D AF 4C */ lwz r3, lbl_805A9B0C@sda21(r13)
/* 803AAD64 003A7CC4 38 80 02 80 */ li r4, 0x280
/* 803AAD68 003A7CC8 4B FD 3D 49 */ bl DCFlushRange
/* 803AAD6C 003A7CCC 88 0D AF 8D */ lbz r0, lbl_805A9B4D@sda21(r13)
/* 803AAD70 003A7CD0 1C 60 00 F4 */ mulli r3, r0, 0xf4
/* 803AAD74 003A7CD4 48 00 A3 C1 */ bl salMalloc
/* 803AAD78 003A7CD8 28 03 00 00 */ cmplwi r3, 0
/* 803AAD7C 003A7CDC 90 6D AF 54 */ stw r3, lbl_805A9B14@sda21(r13)
/* 803AAD80 003A7CE0 41 82 03 0C */ beq lbl_803AB08C
/* 803AAD84 003A7CE4 88 0D AF 8D */ lbz r0, lbl_805A9B4D@sda21(r13)
/* 803AAD88 003A7CE8 54 03 30 32 */ slwi r3, r0, 6
/* 803AAD8C 003A7CEC 48 00 A3 A9 */ bl salMalloc
/* 803AAD90 003A7CF0 28 03 00 00 */ cmplwi r3, 0
/* 803AAD94 003A7CF4 90 6D AF 50 */ stw r3, lbl_805A9B10@sda21(r13)
/* 803AAD98 003A7CF8 41 82 02 F4 */ beq lbl_803AB08C
/* 803AAD9C 003A7CFC 88 0D AF 8D */ lbz r0, lbl_805A9B4D@sda21(r13)
/* 803AADA0 003A7D00 54 04 30 32 */ slwi r4, r0, 6
/* 803AADA4 003A7D04 4B FD 3C E1 */ bl DCInvalidateRange
/* 803AADA8 003A7D08 83 AD AF 50 */ lwz r29, lbl_805A9B10@sda21(r13)
/* 803AADAC 003A7D0C 3B C0 00 00 */ li r30, 0
/* 803AADB0 003A7D10 3B E0 00 00 */ li r31, 0
/* 803AADB4 003A7D14 48 00 01 74 */ b lbl_803AAF28
lbl_803AADB8:
/* 803AADB8 003A7D18 80 8D AF 54 */ lwz r4, lbl_805A9B14@sda21(r13)
/* 803AADBC 003A7D1C 38 1F 00 EC */ addi r0, r31, 0xec
/* 803AADC0 003A7D20 39 40 00 00 */ li r10, 0
/* 803AADC4 003A7D24 38 7F 00 ED */ addi r3, r31, 0xed
/* 803AADC8 003A7D28 7D 44 01 AE */ stbx r10, r4, r0
/* 803AADCC 003A7D2C 38 FF 00 EE */ addi r7, r31, 0xee
/* 803AADD0 003A7D30 38 DF 00 E4 */ addi r6, r31, 0xe4
/* 803AADD4 003A7D34 39 00 00 FF */ li r8, 0xff
/* 803AADD8 003A7D38 81 2D AF 54 */ lwz r9, lbl_805A9B14@sda21(r13)
/* 803AADDC 003A7D3C 38 BF 00 E5 */ addi r5, r31, 0xe5
/* 803AADE0 003A7D40 38 9F 00 E6 */ addi r4, r31, 0xe6
/* 803AADE4 003A7D44 38 1F 00 E7 */ addi r0, r31, 0xe7
/* 803AADE8 003A7D48 7D 49 19 AE */ stbx r10, r9, r3
/* 803AADEC 003A7D4C 38 60 00 BC */ li r3, 0xbc
/* 803AADF0 003A7D50 81 2D AF 54 */ lwz r9, lbl_805A9B14@sda21(r13)
/* 803AADF4 003A7D54 7D 49 39 AE */ stbx r10, r9, r7
/* 803AADF8 003A7D58 80 ED AF 54 */ lwz r7, lbl_805A9B14@sda21(r13)
/* 803AADFC 003A7D5C 7D 07 31 AE */ stbx r8, r7, r6
/* 803AAE00 003A7D60 80 CD AF 54 */ lwz r6, lbl_805A9B14@sda21(r13)
/* 803AAE04 003A7D64 7D 06 29 AE */ stbx r8, r6, r5
/* 803AAE08 003A7D68 80 AD AF 54 */ lwz r5, lbl_805A9B14@sda21(r13)
/* 803AAE0C 003A7D6C 7D 05 21 AE */ stbx r8, r5, r4
/* 803AAE10 003A7D70 80 8D AF 54 */ lwz r4, lbl_805A9B14@sda21(r13)
/* 803AAE14 003A7D74 7D 04 01 AE */ stbx r8, r4, r0
/* 803AAE18 003A7D78 48 00 A3 1D */ bl salMalloc
/* 803AAE1C 003A7D7C 80 CD AF 54 */ lwz r6, lbl_805A9B14@sda21(r13)
/* 803AAE20 003A7D80 38 80 00 00 */ li r4, 0
/* 803AAE24 003A7D84 38 A0 00 BC */ li r5, 0xbc
/* 803AAE28 003A7D88 7C 66 F9 2E */ stwx r3, r6, r31
/* 803AAE2C 003A7D8C 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAE30 003A7D90 7C 63 F8 2E */ lwzx r3, r3, r31
/* 803AAE34 003A7D94 4B C5 85 75 */ bl memset
/* 803AAE38 003A7D98 38 60 00 80 */ li r3, 0x80
/* 803AAE3C 003A7D9C 48 00 A2 F9 */ bl salMalloc
/* 803AAE40 003A7DA0 80 8D AF 54 */ lwz r4, lbl_805A9B14@sda21(r13)
/* 803AAE44 003A7DA4 38 1F 00 04 */ addi r0, r31, 4
/* 803AAE48 003A7DA8 57 A7 84 3E */ srwi r7, r29, 0x10
/* 803AAE4C 003A7DAC 38 DF 00 08 */ addi r6, r31, 8
/* 803AAE50 003A7DB0 7C 64 01 2E */ stwx r3, r4, r0
/* 803AAE54 003A7DB4 38 1F 00 E8 */ addi r0, r31, 0xe8
/* 803AAE58 003A7DB8 38 A0 FF FF */ li r5, -1
/* 803AAE5C 003A7DBC 38 80 00 BC */ li r4, 0xbc
/* 803AAE60 003A7DC0 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAE64 003A7DC4 7D 03 F8 2E */ lwzx r8, r3, r31
/* 803AAE68 003A7DC8 55 03 84 3E */ srwi r3, r8, 0x10
/* 803AAE6C 003A7DCC B0 68 00 04 */ sth r3, 4(r8)
/* 803AAE70 003A7DD0 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAE74 003A7DD4 7C 63 F8 2E */ lwzx r3, r3, r31
/* 803AAE78 003A7DD8 B0 63 00 06 */ sth r3, 6(r3)
/* 803AAE7C 003A7DDC 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAE80 003A7DE0 7C 63 FA 14 */ add r3, r3, r31
/* 803AAE84 003A7DE4 81 03 00 04 */ lwz r8, 4(r3)
/* 803AAE88 003A7DE8 80 63 00 00 */ lwz r3, 0(r3)
/* 803AAE8C 003A7DEC 55 08 84 3E */ srwi r8, r8, 0x10
/* 803AAE90 003A7DF0 B1 03 00 4E */ sth r8, 0x4e(r3)
/* 803AAE94 003A7DF4 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAE98 003A7DF8 7C 63 FA 14 */ add r3, r3, r31
/* 803AAE9C 003A7DFC 81 03 00 04 */ lwz r8, 4(r3)
/* 803AAEA0 003A7E00 80 63 00 00 */ lwz r3, 0(r3)
/* 803AAEA4 003A7E04 B1 03 00 50 */ sth r8, 0x50(r3)
/* 803AAEA8 003A7E08 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAEAC 003A7E0C 7C 63 F8 2E */ lwzx r3, r3, r31
/* 803AAEB0 003A7E10 B0 E3 00 38 */ sth r7, 0x38(r3)
/* 803AAEB4 003A7E14 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAEB8 003A7E18 7C 63 F8 2E */ lwzx r3, r3, r31
/* 803AAEBC 003A7E1C B3 A3 00 3A */ sth r29, 0x3a(r3)
/* 803AAEC0 003A7E20 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAEC4 003A7E24 7F A3 31 2E */ stwx r29, r3, r6
/* 803AAEC8 003A7E28 3B BD 00 40 */ addi r29, r29, 0x40
/* 803AAECC 003A7E2C 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAED0 003A7E30 7C A3 01 2E */ stwx r5, r3, r0
/* 803AAED4 003A7E34 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAED8 003A7E38 7C 63 F8 2E */ lwzx r3, r3, r31
/* 803AAEDC 003A7E3C 4B FD 3C 61 */ bl DCStoreRangeNoSync
/* 803AAEE0 003A7E40 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAEE4 003A7E44 38 1F 00 24 */ addi r0, r31, 0x24
/* 803AAEE8 003A7E48 38 E0 00 00 */ li r7, 0
/* 803AAEEC 003A7E4C 38 BF 00 28 */ addi r5, r31, 0x28
/* 803AAEF0 003A7E50 7C E3 01 2E */ stwx r7, r3, r0
/* 803AAEF4 003A7E54 38 9F 00 2C */ addi r4, r31, 0x2c
/* 803AAEF8 003A7E58 38 7F 00 30 */ addi r3, r31, 0x30
/* 803AAEFC 003A7E5C 38 1F 00 34 */ addi r0, r31, 0x34
/* 803AAF00 003A7E60 80 CD AF 54 */ lwz r6, lbl_805A9B14@sda21(r13)
/* 803AAF04 003A7E64 3B FF 00 F4 */ addi r31, r31, 0xf4
/* 803AAF08 003A7E68 3B DE 00 01 */ addi r30, r30, 1
/* 803AAF0C 003A7E6C 7C E6 29 2E */ stwx r7, r6, r5
/* 803AAF10 003A7E70 80 AD AF 54 */ lwz r5, lbl_805A9B14@sda21(r13)
/* 803AAF14 003A7E74 7C E5 21 2E */ stwx r7, r5, r4
/* 803AAF18 003A7E78 80 8D AF 54 */ lwz r4, lbl_805A9B14@sda21(r13)
/* 803AAF1C 003A7E7C 7C E4 19 2E */ stwx r7, r4, r3
/* 803AAF20 003A7E80 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AAF24 003A7E84 7C E3 01 2E */ stwx r7, r3, r0
lbl_803AAF28:
/* 803AAF28 003A7E88 88 0D AF 8D */ lbz r0, lbl_805A9B4D@sda21(r13)
/* 803AAF2C 003A7E8C 7C 1E 00 40 */ cmplw r30, r0
/* 803AAF30 003A7E90 41 80 FE 88 */ blt lbl_803AADB8
/* 803AAF34 003A7E94 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AAF38 003A7E98 3B C0 00 00 */ li r30, 0
/* 803AAF3C 003A7E9C 3B E3 F2 60 */ addi r31, r3, lbl_8055F260@l
/* 803AAF40 003A7EA0 48 00 01 00 */ b lbl_803AB040
lbl_803AAF44:
/* 803AAF44 003A7EA4 38 00 00 00 */ li r0, 0
/* 803AAF48 003A7EA8 38 60 00 36 */ li r3, 0x36
/* 803AAF4C 003A7EAC 98 1F 00 50 */ stb r0, 0x50(r31)
/* 803AAF50 003A7EB0 48 00 A1 E5 */ bl salMalloc
/* 803AAF54 003A7EB4 28 03 00 00 */ cmplwi r3, 0
/* 803AAF58 003A7EB8 90 7F 00 00 */ stw r3, 0(r31)
/* 803AAF5C 003A7EBC 40 82 00 0C */ bne lbl_803AAF68
/* 803AAF60 003A7EC0 38 60 00 00 */ li r3, 0
/* 803AAF64 003A7EC4 48 00 01 2C */ b lbl_803AB090
lbl_803AAF68:
/* 803AAF68 003A7EC8 38 60 3C 00 */ li r3, 0x3c00
/* 803AAF6C 003A7ECC 48 00 A1 C9 */ bl salMalloc
/* 803AAF70 003A7ED0 28 03 00 00 */ cmplwi r3, 0
/* 803AAF74 003A7ED4 90 7F 00 28 */ stw r3, 0x28(r31)
/* 803AAF78 003A7ED8 40 82 00 0C */ bne lbl_803AAF84
/* 803AAF7C 003A7EDC 38 60 00 00 */ li r3, 0
/* 803AAF80 003A7EE0 48 00 01 10 */ b lbl_803AB090
lbl_803AAF84:
/* 803AAF84 003A7EE4 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803AAF88 003A7EE8 38 80 00 00 */ li r4, 0
/* 803AAF8C 003A7EEC 38 A0 3C 00 */ li r5, 0x3c00
/* 803AAF90 003A7EF0 4B C5 84 19 */ bl memset
/* 803AAF94 003A7EF4 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803AAF98 003A7EF8 38 80 3C 00 */ li r4, 0x3c00
/* 803AAF9C 003A7EFC 4B FD 3B 75 */ bl DCFlushRangeNoSync
/* 803AAFA0 003A7F00 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803AAFA4 003A7F04 38 80 00 00 */ li r4, 0
/* 803AAFA8 003A7F08 38 A0 00 36 */ li r5, 0x36
/* 803AAFAC 003A7F0C 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFB0 003A7F10 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 803AAFB4 003A7F14 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803AAFB8 003A7F18 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFBC 003A7F1C 90 1F 00 30 */ stw r0, 0x30(r31)
/* 803AAFC0 003A7F20 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 803AAFC4 003A7F24 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFC8 003A7F28 90 1F 00 34 */ stw r0, 0x34(r31)
/* 803AAFCC 003A7F2C 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 803AAFD0 003A7F30 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFD4 003A7F34 90 1F 00 38 */ stw r0, 0x38(r31)
/* 803AAFD8 003A7F38 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 803AAFDC 003A7F3C 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFE0 003A7F40 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 803AAFE4 003A7F44 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 803AAFE8 003A7F48 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFEC 003A7F4C 90 1F 00 40 */ stw r0, 0x40(r31)
/* 803AAFF0 003A7F50 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 803AAFF4 003A7F54 38 03 07 80 */ addi r0, r3, 0x780
/* 803AAFF8 003A7F58 90 1F 00 44 */ stw r0, 0x44(r31)
/* 803AAFFC 003A7F5C 80 7F 00 00 */ lwz r3, 0(r31)
/* 803AB000 003A7F60 4B C5 83 A9 */ bl memset
/* 803AB004 003A7F64 38 00 00 00 */ li r0, 0
/* 803AB008 003A7F68 38 80 00 36 */ li r4, 0x36
/* 803AB00C 003A7F6C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 803AB010 003A7F70 90 1F 00 08 */ stw r0, 8(r31)
/* 803AB014 003A7F74 90 1F 00 04 */ stw r0, 4(r31)
/* 803AB018 003A7F78 90 1F 00 18 */ stw r0, 0x18(r31)
/* 803AB01C 003A7F7C 90 1F 00 14 */ stw r0, 0x14(r31)
/* 803AB020 003A7F80 90 1F 00 10 */ stw r0, 0x10(r31)
/* 803AB024 003A7F84 90 1F 00 24 */ stw r0, 0x24(r31)
/* 803AB028 003A7F88 90 1F 00 20 */ stw r0, 0x20(r31)
/* 803AB02C 003A7F8C 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 803AB030 003A7F90 80 7F 00 00 */ lwz r3, 0(r31)
/* 803AB034 003A7F94 4B FD 3A DD */ bl DCFlushRangeNoSync
/* 803AB038 003A7F98 3B FF 00 BC */ addi r31, r31, 0xbc
/* 803AB03C 003A7F9C 3B DE 00 01 */ addi r30, r30, 1
lbl_803AB040:
/* 803AB040 003A7FA0 88 0D AF 8C */ lbz r0, lbl_805A9B4C@sda21(r13)
/* 803AB044 003A7FA4 7C 1E 00 40 */ cmplw r30, r0
/* 803AB048 003A7FA8 41 80 FE FC */ blt lbl_803AAF44
/* 803AB04C 003A7FAC 7C 1C 00 D0 */ neg r0, r28
/* 803AB050 003A7FB0 38 60 00 00 */ li r3, 0
/* 803AB054 003A7FB4 7C 00 E3 78 */ or r0, r0, r28
/* 803AB058 003A7FB8 38 80 00 01 */ li r4, 1
/* 803AB05C 003A7FBC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 803AB060 003A7FC0 48 00 01 69 */ bl salActivateStudio
/* 803AB064 003A7FC4 38 60 01 00 */ li r3, 0x100
/* 803AB068 003A7FC8 48 00 A0 CD */ bl salMalloc
/* 803AB06C 003A7FCC 28 03 00 00 */ cmplwi r3, 0
/* 803AB070 003A7FD0 90 6D AF 48 */ stw r3, lbl_805A9B08@sda21(r13)
/* 803AB074 003A7FD4 40 82 00 0C */ bne lbl_803AB080
/* 803AB078 003A7FD8 38 60 00 00 */ li r3, 0
/* 803AB07C 003A7FDC 48 00 00 14 */ b lbl_803AB090
lbl_803AB080:
/* 803AB080 003A7FE0 48 00 00 31 */ bl salInitHRTFBuffer
/* 803AB084 003A7FE4 38 60 00 01 */ li r3, 1
/* 803AB088 003A7FE8 48 00 00 08 */ b lbl_803AB090
lbl_803AB08C:
/* 803AB08C 003A7FEC 38 60 00 00 */ li r3, 0
lbl_803AB090:
/* 803AB090 003A7FF0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803AB094 003A7FF4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803AB098 003A7FF8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803AB09C 003A7FFC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803AB0A0 003A8000 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803AB0A4 003A8004 7C 08 03 A6 */ mtlr r0
/* 803AB0A8 003A8008 38 21 00 20 */ addi r1, r1, 0x20
/* 803AB0AC 003A800C 4E 80 00 20 */ blr
.global salInitHRTFBuffer
salInitHRTFBuffer:
/* 803AB0B0 003A8010 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803AB0B4 003A8014 7C 08 02 A6 */ mflr r0
/* 803AB0B8 003A8018 38 80 00 00 */ li r4, 0
/* 803AB0BC 003A801C 38 A0 01 00 */ li r5, 0x100
/* 803AB0C0 003A8020 90 01 00 14 */ stw r0, 0x14(r1)
/* 803AB0C4 003A8024 80 6D AF 48 */ lwz r3, lbl_805A9B08@sda21(r13)
/* 803AB0C8 003A8028 4B C5 82 E1 */ bl memset
/* 803AB0CC 003A802C 80 6D AF 48 */ lwz r3, lbl_805A9B08@sda21(r13)
/* 803AB0D0 003A8030 38 80 01 00 */ li r4, 0x100
/* 803AB0D4 003A8034 4B FD 3A 3D */ bl DCFlushRangeNoSync
/* 803AB0D8 003A8038 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803AB0DC 003A803C 7C 08 03 A6 */ mtlr r0
/* 803AB0E0 003A8040 38 21 00 10 */ addi r1, r1, 0x10
/* 803AB0E4 003A8044 4E 80 00 20 */ blr
.global salExitDspCtrl
salExitDspCtrl:
/* 803AB0E8 003A8048 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803AB0EC 003A804C 7C 08 02 A6 */ mflr r0
/* 803AB0F0 003A8050 90 01 00 24 */ stw r0, 0x24(r1)
/* 803AB0F4 003A8054 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803AB0F8 003A8058 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803AB0FC 003A805C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803AB100 003A8060 80 6D AF 48 */ lwz r3, lbl_805A9B08@sda21(r13)
/* 803AB104 003A8064 48 00 A0 59 */ bl salFree
/* 803AB108 003A8068 3B A0 00 00 */ li r29, 0
/* 803AB10C 003A806C 48 00 00 2C */ b lbl_803AB138
lbl_803AB110:
/* 803AB110 003A8070 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 803AB114 003A8074 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AB118 003A8078 1F E0 00 F4 */ mulli r31, r0, 0xf4
/* 803AB11C 003A807C 7C 63 F8 2E */ lwzx r3, r3, r31
/* 803AB120 003A8080 48 00 A0 3D */ bl salFree
/* 803AB124 003A8084 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AB128 003A8088 38 1F 00 04 */ addi r0, r31, 4
/* 803AB12C 003A808C 7C 63 00 2E */ lwzx r3, r3, r0
/* 803AB130 003A8090 48 00 A0 2D */ bl salFree
/* 803AB134 003A8094 3B BD 00 01 */ addi r29, r29, 1
lbl_803AB138:
/* 803AB138 003A8098 88 0D AF 8D */ lbz r0, lbl_805A9B4D@sda21(r13)
/* 803AB13C 003A809C 57 A3 06 3E */ clrlwi r3, r29, 0x18
/* 803AB140 003A80A0 7C 03 00 40 */ cmplw r3, r0
/* 803AB144 003A80A4 41 80 FF CC */ blt lbl_803AB110
/* 803AB148 003A80A8 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB14C 003A80AC 3B A0 00 00 */ li r29, 0
/* 803AB150 003A80B0 3B E3 F2 60 */ addi r31, r3, lbl_8055F260@l
/* 803AB154 003A80B4 48 00 00 24 */ b lbl_803AB178
lbl_803AB158:
/* 803AB158 003A80B8 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 803AB15C 003A80BC 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803AB160 003A80C0 7F DF 02 14 */ add r30, r31, r0
/* 803AB164 003A80C4 80 7E 00 00 */ lwz r3, 0(r30)
/* 803AB168 003A80C8 48 00 9F F5 */ bl salFree
/* 803AB16C 003A80CC 80 7E 00 28 */ lwz r3, 0x28(r30)
/* 803AB170 003A80D0 48 00 9F ED */ bl salFree
/* 803AB174 003A80D4 3B BD 00 01 */ addi r29, r29, 1
lbl_803AB178:
/* 803AB178 003A80D8 88 0D AF 8C */ lbz r0, lbl_805A9B4C@sda21(r13)
/* 803AB17C 003A80DC 57 A3 06 3E */ clrlwi r3, r29, 0x18
/* 803AB180 003A80E0 7C 03 00 40 */ cmplw r3, r0
/* 803AB184 003A80E4 41 80 FF D4 */ blt lbl_803AB158
/* 803AB188 003A80E8 80 6D AF 50 */ lwz r3, lbl_805A9B10@sda21(r13)
/* 803AB18C 003A80EC 48 00 9F D1 */ bl salFree
/* 803AB190 003A80F0 80 6D AF 54 */ lwz r3, lbl_805A9B14@sda21(r13)
/* 803AB194 003A80F4 48 00 9F C9 */ bl salFree
/* 803AB198 003A80F8 80 6D AF 4C */ lwz r3, lbl_805A9B0C@sda21(r13)
/* 803AB19C 003A80FC 48 00 9F C1 */ bl salFree
/* 803AB1A0 003A8100 80 6D AF 40 */ lwz r3, dspCmdList@sda21(r13)
/* 803AB1A4 003A8104 48 00 9F B9 */ bl salFree
/* 803AB1A8 003A8108 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803AB1AC 003A810C 38 60 00 01 */ li r3, 1
/* 803AB1B0 003A8110 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803AB1B4 003A8114 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803AB1B8 003A8118 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803AB1BC 003A811C 7C 08 03 A6 */ mtlr r0
/* 803AB1C0 003A8120 38 21 00 20 */ addi r1, r1, 0x20
/* 803AB1C4 003A8124 4E 80 00 20 */ blr
.global salActivateStudio
salActivateStudio:
/* 803AB1C8 003A8128 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803AB1CC 003A812C 7C 08 02 A6 */ mflr r0
/* 803AB1D0 003A8130 90 01 00 24 */ stw r0, 0x24(r1)
/* 803AB1D4 003A8134 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803AB1D8 003A8138 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB1DC 003A813C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803AB1E0 003A8140 1F E0 00 BC */ mulli r31, r0, 0xbc
/* 803AB1E4 003A8144 38 03 F2 60 */ addi r0, r3, lbl_8055F260@l
/* 803AB1E8 003A8148 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803AB1EC 003A814C 7C BE 2B 78 */ mr r30, r5
/* 803AB1F0 003A8150 38 A0 3C 00 */ li r5, 0x3c00
/* 803AB1F4 003A8154 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803AB1F8 003A8158 7C 9D 23 78 */ mr r29, r4
/* 803AB1FC 003A815C 38 80 00 00 */ li r4, 0
/* 803AB200 003A8160 93 81 00 10 */ stw r28, 0x10(r1)
/* 803AB204 003A8164 7F 80 FA 14 */ add r28, r0, r31
/* 803AB208 003A8168 84 7C 00 28 */ lwzu r3, 0x28(r28)
/* 803AB20C 003A816C 4B C5 81 9D */ bl memset
/* 803AB210 003A8170 80 7C 00 00 */ lwz r3, 0(r28)
/* 803AB214 003A8174 38 80 3C 00 */ li r4, 0x3c00
/* 803AB218 003A8178 4B FD 38 F9 */ bl DCFlushRangeNoSync
/* 803AB21C 003A817C 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB220 003A8180 38 80 00 00 */ li r4, 0
/* 803AB224 003A8184 3B 83 F2 60 */ addi r28, r3, lbl_8055F260@l
/* 803AB228 003A8188 38 A0 00 36 */ li r5, 0x36
/* 803AB22C 003A818C 7C 7C F8 2E */ lwzx r3, r28, r31
/* 803AB230 003A8190 4B C5 81 79 */ bl memset
/* 803AB234 003A8194 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB238 003A8198 38 A0 00 00 */ li r5, 0
/* 803AB23C 003A819C 38 03 F2 60 */ addi r0, r3, lbl_8055F260@l
/* 803AB240 003A81A0 38 80 00 36 */ li r4, 0x36
/* 803AB244 003A81A4 7C 60 FA 14 */ add r3, r0, r31
/* 803AB248 003A81A8 90 A3 00 0C */ stw r5, 0xc(r3)
/* 803AB24C 003A81AC 90 A3 00 08 */ stw r5, 8(r3)
/* 803AB250 003A81B0 90 A3 00 04 */ stw r5, 4(r3)
/* 803AB254 003A81B4 90 A3 00 18 */ stw r5, 0x18(r3)
/* 803AB258 003A81B8 90 A3 00 14 */ stw r5, 0x14(r3)
/* 803AB25C 003A81BC 90 A3 00 10 */ stw r5, 0x10(r3)
/* 803AB260 003A81C0 90 A3 00 24 */ stw r5, 0x24(r3)
/* 803AB264 003A81C4 90 A3 00 20 */ stw r5, 0x20(r3)
/* 803AB268 003A81C8 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 803AB26C 003A81CC 7C 7C F8 2E */ lwzx r3, r28, r31
/* 803AB270 003A81D0 4B FD 38 A1 */ bl DCFlushRangeNoSync
/* 803AB274 003A81D4 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB278 003A81D8 38 80 00 00 */ li r4, 0
/* 803AB27C 003A81DC 38 03 F2 60 */ addi r0, r3, lbl_8055F260@l
/* 803AB280 003A81E0 38 A0 07 80 */ li r5, 0x780
/* 803AB284 003A81E4 7F 80 FA 14 */ add r28, r0, r31
/* 803AB288 003A81E8 84 7C 00 30 */ lwzu r3, 0x30(r28)
/* 803AB28C 003A81EC 4B C5 81 1D */ bl memset
/* 803AB290 003A81F0 80 7C 00 00 */ lwz r3, 0(r28)
/* 803AB294 003A81F4 38 80 07 80 */ li r4, 0x780
/* 803AB298 003A81F8 4B FD 38 79 */ bl DCFlushRangeNoSync
/* 803AB29C 003A81FC 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB2A0 003A8200 38 80 00 00 */ li r4, 0
/* 803AB2A4 003A8204 38 03 F2 60 */ addi r0, r3, lbl_8055F260@l
/* 803AB2A8 003A8208 38 A0 07 80 */ li r5, 0x780
/* 803AB2AC 003A820C 7F 80 FA 14 */ add r28, r0, r31
/* 803AB2B0 003A8210 84 7C 00 3C */ lwzu r3, 0x3c(r28)
/* 803AB2B4 003A8214 4B C5 80 F5 */ bl memset
/* 803AB2B8 003A8218 80 7C 00 00 */ lwz r3, 0(r28)
/* 803AB2BC 003A821C 38 80 07 80 */ li r4, 0x780
/* 803AB2C0 003A8220 4B FD 38 51 */ bl DCFlushRangeNoSync
/* 803AB2C4 003A8224 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB2C8 003A8228 38 80 00 00 */ li r4, 0
/* 803AB2CC 003A822C 38 63 F2 60 */ addi r3, r3, lbl_8055F260@l
/* 803AB2D0 003A8230 38 00 00 01 */ li r0, 1
/* 803AB2D4 003A8234 7C 63 FA 14 */ add r3, r3, r31
/* 803AB2D8 003A8238 90 83 00 48 */ stw r4, 0x48(r3)
/* 803AB2DC 003A823C 90 83 00 4C */ stw r4, 0x4c(r3)
/* 803AB2E0 003A8240 98 03 00 50 */ stb r0, 0x50(r3)
/* 803AB2E4 003A8244 9B A3 00 51 */ stb r29, 0x51(r3)
/* 803AB2E8 003A8248 98 83 00 52 */ stb r4, 0x52(r3)
/* 803AB2EC 003A824C 93 C3 00 54 */ stw r30, 0x54(r3)
/* 803AB2F0 003A8250 90 83 00 B0 */ stw r4, 0xb0(r3)
/* 803AB2F4 003A8254 90 83 00 AC */ stw r4, 0xac(r3)
/* 803AB2F8 003A8258 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803AB2FC 003A825C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803AB300 003A8260 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803AB304 003A8264 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803AB308 003A8268 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803AB30C 003A826C 7C 08 03 A6 */ mtlr r0
/* 803AB310 003A8270 38 21 00 20 */ addi r1, r1, 0x20
/* 803AB314 003A8274 4E 80 00 20 */ blr
.global sub_803ab318
sub_803ab318:
/* 803AB318 003A8278 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803AB31C 003A827C 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AB320 003A8280 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803AB324 003A8284 38 80 00 00 */ li r4, 0
/* 803AB328 003A8288 38 63 F2 60 */ addi r3, r3, lbl_8055F260@l
/* 803AB32C 003A828C 7C 63 02 14 */ add r3, r3, r0
/* 803AB330 003A8290 98 83 00 50 */ stb r4, 0x50(r3)
/* 803AB334 003A8294 4E 80 00 20 */ blr
.global salCheckVolErrorAndResetDelta
salCheckVolErrorAndResetDelta:
/* 803AB338 003A8298 A1 25 00 00 */ lhz r9, 0(r5)
/* 803AB33C 003A829C 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 803AB340 003A82A0 7C 00 48 40 */ cmplw r0, r9
/* 803AB344 003A82A4 41 82 00 D8 */ beq lbl_803AB41C
/* 803AB348 003A82A8 7D 29 07 34 */ extsh r9, r9
/* 803AB34C 003A82AC 7C C0 07 34 */ extsh r0, r6
/* 803AB350 003A82B0 7C 09 00 50 */ subf r0, r9, r0
/* 803AB354 003A82B4 7C 09 07 34 */ extsh r9, r0
/* 803AB358 003A82B8 2C 09 00 20 */ cmpwi r9, 0x20
/* 803AB35C 003A82BC 41 80 00 4C */ blt lbl_803AB3A8
/* 803AB360 003A82C0 2C 09 00 A0 */ cmpwi r9, 0xa0
/* 803AB364 003A82C4 40 80 00 44 */ bge lbl_803AB3A8
/* 803AB368 003A82C8 7D 20 2E 70 */ srawi r0, r9, 5
/* 803AB36C 003A82CC 7C 06 07 34 */ extsh r6, r0
/* 803AB370 003A82D0 2C 06 00 05 */ cmpwi r6, 5
/* 803AB374 003A82D4 40 80 00 14 */ bge lbl_803AB388
/* 803AB378 003A82D8 54 C3 08 3C */ slwi r3, r6, 1
/* 803AB37C 003A82DC 7C 07 1A 2E */ lhzx r0, r7, r3
/* 803AB380 003A82E0 7C 00 43 78 */ or r0, r0, r8
/* 803AB384 003A82E4 7C 07 1B 2E */ sthx r0, r7, r3
lbl_803AB388:
/* 803AB388 003A82E8 38 60 00 01 */ li r3, 1
/* 803AB38C 003A82EC 54 C0 28 34 */ slwi r0, r6, 5
/* 803AB390 003A82F0 B0 64 00 00 */ sth r3, 0(r4)
/* 803AB394 003A82F4 38 60 00 01 */ li r3, 1
/* 803AB398 003A82F8 A0 85 00 00 */ lhz r4, 0(r5)
/* 803AB39C 003A82FC 7C 04 02 14 */ add r0, r4, r0
/* 803AB3A0 003A8300 B0 05 00 00 */ sth r0, 0(r5)
/* 803AB3A4 003A8304 4E 80 00 20 */ blr
lbl_803AB3A8:
/* 803AB3A8 003A8308 2C 09 FF E0 */ cmpwi r9, -32
/* 803AB3AC 003A830C 41 81 00 54 */ bgt lbl_803AB400
/* 803AB3B0 003A8310 2C 09 FF 60 */ cmpwi r9, -160
/* 803AB3B4 003A8314 40 81 00 4C */ ble lbl_803AB400
/* 803AB3B8 003A8318 7C 09 00 D0 */ neg r0, r9
/* 803AB3BC 003A831C 7C 00 2E 70 */ srawi r0, r0, 5
/* 803AB3C0 003A8320 7C 06 07 34 */ extsh r6, r0
/* 803AB3C4 003A8324 2C 06 00 05 */ cmpwi r6, 5
/* 803AB3C8 003A8328 40 80 00 14 */ bge lbl_803AB3DC
/* 803AB3CC 003A832C 54 C3 08 3C */ slwi r3, r6, 1
/* 803AB3D0 003A8330 7C 07 1A 2E */ lhzx r0, r7, r3
/* 803AB3D4 003A8334 7C 00 43 78 */ or r0, r0, r8
/* 803AB3D8 003A8338 7C 07 1B 2E */ sthx r0, r7, r3
lbl_803AB3DC:
/* 803AB3DC 003A833C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 803AB3E0 003A8340 54 C6 28 34 */ slwi r6, r6, 5
/* 803AB3E4 003A8344 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 803AB3E8 003A8348 B0 04 00 00 */ sth r0, 0(r4)
/* 803AB3EC 003A834C 38 60 00 01 */ li r3, 1
/* 803AB3F0 003A8350 A0 05 00 00 */ lhz r0, 0(r5)
/* 803AB3F4 003A8354 7C 06 00 50 */ subf r0, r6, r0
/* 803AB3F8 003A8358 B0 05 00 00 */ sth r0, 0(r5)
/* 803AB3FC 003A835C 4E 80 00 20 */ blr
lbl_803AB400:
/* 803AB400 003A8360 54 C0 04 3F */ clrlwi. r0, r6, 0x10
/* 803AB404 003A8364 40 82 00 18 */ bne lbl_803AB41C
/* 803AB408 003A8368 2C 09 FF E0 */ cmpwi r9, -32
/* 803AB40C 003A836C 40 81 00 10 */ ble lbl_803AB41C
/* 803AB410 003A8370 38 00 00 00 */ li r0, 0
/* 803AB414 003A8374 B0 05 00 00 */ sth r0, 0(r5)
/* 803AB418 003A8378 B0 03 00 00 */ sth r0, 0(r3)
lbl_803AB41C:
/* 803AB41C 003A837C 38 00 00 00 */ li r0, 0
/* 803AB420 003A8380 38 60 00 00 */ li r3, 0
/* 803AB424 003A8384 B0 04 00 00 */ sth r0, 0(r4)
/* 803AB428 003A8388 4E 80 00 20 */ blr
.global sal_setup_dspvol
sal_setup_dspvol:
/* 803AB42C 003A838C A0 E4 00 00 */ lhz r7, 0(r4)
/* 803AB430 003A8390 3C C0 66 66 */ lis r6, 0x66666667@ha
/* 803AB434 003A8394 7C A0 07 34 */ extsh r0, r5
/* 803AB438 003A8398 7C E5 07 34 */ extsh r5, r7
/* 803AB43C 003A839C 38 C6 66 67 */ addi r6, r6, 0x66666667@l
/* 803AB440 003A83A0 7C 05 00 50 */ subf r0, r5, r0
/* 803AB444 003A83A4 7C 06 00 96 */ mulhw r0, r6, r0
/* 803AB448 003A83A8 7C 00 36 70 */ srawi r0, r0, 6
/* 803AB44C 003A83AC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 803AB450 003A83B0 7C 00 2A 14 */ add r0, r0, r5
/* 803AB454 003A83B4 B0 03 00 00 */ sth r0, 0(r3)
/* 803AB458 003A83B8 A0 03 00 00 */ lhz r0, 0(r3)
/* 803AB45C 003A83BC A0 64 00 00 */ lhz r3, 0(r4)
/* 803AB460 003A83C0 7C 00 07 34 */ extsh r0, r0
/* 803AB464 003A83C4 1C 00 00 A0 */ mulli r0, r0, 0xa0
/* 803AB468 003A83C8 7C 03 02 14 */ add r0, r3, r0
/* 803AB46C 003A83CC B0 04 00 00 */ sth r0, 0(r4)
/* 803AB470 003A83D0 4E 80 00 20 */ blr
.global sal_update_hostplayinfo
sal_update_hostplayinfo:
/* 803AB474 003A83D4 80 03 00 8C */ lwz r0, 0x8c(r3)
/* 803AB478 003A83D8 28 00 00 00 */ cmplwi r0, 0
/* 803AB47C 003A83DC 4C 82 00 20 */ bnelr
/* 803AB480 003A83E0 80 83 00 00 */ lwz r4, 0(r3)
/* 803AB484 003A83E4 A0 04 00 08 */ lhz r0, 8(r4)
/* 803AB488 003A83E8 28 00 00 02 */ cmplwi r0, 2
/* 803AB48C 003A83EC 41 82 00 10 */ beq lbl_803AB49C
/* 803AB490 003A83F0 80 03 00 E0 */ lwz r0, 0xe0(r3)
/* 803AB494 003A83F4 54 05 28 34 */ slwi r5, r0, 5
/* 803AB498 003A83F8 48 00 00 08 */ b lbl_803AB4A0
lbl_803AB49C:
/* 803AB49C 003A83FC 3C A0 00 20 */ lis r5, 0x20
lbl_803AB4A0:
/* 803AB4A0 003A8400 80 83 00 DC */ lwz r4, 0xdc(r3)
/* 803AB4A4 003A8404 54 A0 80 1E */ slwi r0, r5, 0x10
/* 803AB4A8 003A8408 7C 04 02 14 */ add r0, r4, r0
/* 803AB4AC 003A840C 90 03 00 DC */ stw r0, 0xdc(r3)
/* 803AB4B0 003A8410 80 03 00 DC */ lwz r0, 0xdc(r3)
/* 803AB4B4 003A8414 7C 04 00 40 */ cmplw r4, r0
/* 803AB4B8 003A8418 40 81 00 1C */ ble lbl_803AB4D4
/* 803AB4BC 003A841C 80 83 00 D8 */ lwz r4, 0xd8(r3)
/* 803AB4C0 003A8420 54 A0 84 3E */ srwi r0, r5, 0x10
/* 803AB4C4 003A8424 7C 80 22 14 */ add r4, r0, r4
/* 803AB4C8 003A8428 38 04 00 01 */ addi r0, r4, 1
/* 803AB4CC 003A842C 90 03 00 D8 */ stw r0, 0xd8(r3)
/* 803AB4D0 003A8430 4E 80 00 20 */ blr
lbl_803AB4D4:
/* 803AB4D4 003A8434 80 83 00 D8 */ lwz r4, 0xd8(r3)
/* 803AB4D8 003A8438 54 A0 84 3E */ srwi r0, r5, 0x10
/* 803AB4DC 003A843C 7C 04 02 14 */ add r0, r4, r0
/* 803AB4E0 003A8440 90 03 00 D8 */ stw r0, 0xd8(r3)
/* 803AB4E4 003A8444 4E 80 00 20 */ blr
.global DoDepopFade
DoDepopFade:
/* 803AB4E8 003A8448 80 05 00 00 */ lwz r0, 0(r5)
/* 803AB4EC 003A844C 2C 00 FF 60 */ cmpwi r0, -160
/* 803AB4F0 003A8450 41 81 00 3C */ bgt lbl_803AB52C
/* 803AB4F4 003A8454 2C 00 F3 80 */ cmpwi r0, -3200
/* 803AB4F8 003A8458 41 81 00 0C */ bgt lbl_803AB504
/* 803AB4FC 003A845C 38 00 00 14 */ li r0, 0x14
/* 803AB500 003A8460 48 00 00 24 */ b lbl_803AB524
lbl_803AB504:
/* 803AB504 003A8464 3C C0 66 66 */ lis r6, 0x66666667@ha
/* 803AB508 003A8468 7C 00 00 D0 */ neg r0, r0
/* 803AB50C 003A846C 38 C6 66 67 */ addi r6, r6, 0x66666667@l
/* 803AB510 003A8470 7C 06 00 96 */ mulhw r0, r6, r0
/* 803AB514 003A8474 7C 00 36 70 */ srawi r0, r0, 6
/* 803AB518 003A8478 54 06 0F FE */ srwi r6, r0, 0x1f
/* 803AB51C 003A847C 7C 00 32 14 */ add r0, r0, r6
/* 803AB520 003A8480 7C 00 07 34 */ extsh r0, r0
lbl_803AB524:
/* 803AB524 003A8484 B0 04 00 00 */ sth r0, 0(r4)
/* 803AB528 003A8488 48 00 00 4C */ b lbl_803AB574
lbl_803AB52C:
/* 803AB52C 003A848C 2C 00 00 A0 */ cmpwi r0, 0xa0
/* 803AB530 003A8490 41 80 00 3C */ blt lbl_803AB56C
/* 803AB534 003A8494 2C 00 0C 80 */ cmpwi r0, 0xc80
/* 803AB538 003A8498 41 80 00 0C */ blt lbl_803AB544
/* 803AB53C 003A849C 38 00 FF EC */ li r0, -20
/* 803AB540 003A84A0 48 00 00 24 */ b lbl_803AB564
lbl_803AB544:
/* 803AB544 003A84A4 3C C0 66 66 */ lis r6, 0x66666667@ha
/* 803AB548 003A84A8 7C 00 00 D0 */ neg r0, r0
/* 803AB54C 003A84AC 38 C6 66 67 */ addi r6, r6, 0x66666667@l
/* 803AB550 003A84B0 7C 06 00 96 */ mulhw r0, r6, r0
/* 803AB554 003A84B4 7C 00 36 70 */ srawi r0, r0, 6
/* 803AB558 003A84B8 54 06 0F FE */ srwi r6, r0, 0x1f
/* 803AB55C 003A84BC 7C 00 32 14 */ add r0, r0, r6
/* 803AB560 003A84C0 7C 00 07 34 */ extsh r0, r0
lbl_803AB564:
/* 803AB564 003A84C4 B0 04 00 00 */ sth r0, 0(r4)
/* 803AB568 003A84C8 48 00 00 0C */ b lbl_803AB574
lbl_803AB56C:
/* 803AB56C 003A84CC 38 00 00 00 */ li r0, 0
/* 803AB570 003A84D0 B0 04 00 00 */ sth r0, 0(r4)
lbl_803AB574:
/* 803AB574 003A84D4 80 05 00 00 */ lwz r0, 0(r5)
/* 803AB578 003A84D8 90 03 00 00 */ stw r0, 0(r3)
/* 803AB57C 003A84DC A8 04 00 00 */ lha r0, 0(r4)
/* 803AB580 003A84E0 80 65 00 00 */ lwz r3, 0(r5)
/* 803AB584 003A84E4 1C 00 00 A0 */ mulli r0, r0, 0xa0
/* 803AB588 003A84E8 7C 03 02 14 */ add r0, r3, r0
/* 803AB58C 003A84EC 90 05 00 00 */ stw r0, 0(r5)
/* 803AB590 003A84F0 4E 80 00 20 */ blr
.global sub_803ab594
sub_803ab594:
/* 803AB594 003A84F4 38 00 00 00 */ li r0, 0
/* 803AB598 003A84F8 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB59C 003A84FC 98 04 00 ED */ stb r0, 0xed(r4)
/* 803AB5A0 003A8500 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l
/* 803AB5A4 003A8504 80 A4 00 00 */ lwz r5, 0(r4)
/* 803AB5A8 003A8508 B0 05 00 0E */ sth r0, 0xe(r5)
/* 803AB5AC 003A850C 80 84 00 00 */ lwz r4, 0(r4)
/* 803AB5B0 003A8510 80 A3 00 04 */ lwz r5, 4(r3)
/* 803AB5B4 003A8514 A0 04 00 52 */ lhz r0, 0x52(r4)
/* 803AB5B8 003A8518 7C 00 07 34 */ extsh r0, r0
/* 803AB5BC 003A851C 7C 05 02 14 */ add r0, r5, r0
/* 803AB5C0 003A8520 90 03 00 04 */ stw r0, 4(r3)
/* 803AB5C4 003A8524 80 03 00 04 */ lwz r0, 4(r3)
/* 803AB5C8 003A8528 7C 00 30 00 */ cmpw r0, r6
/* 803AB5CC 003A852C 40 81 00 08 */ ble lbl_803AB5D4
/* 803AB5D0 003A8530 48 00 00 1C */ b lbl_803AB5EC
lbl_803AB5D4:
/* 803AB5D4 003A8534 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB5D8 003A8538 38 C5 00 01 */ addi r6, r5, 0xFF800001@l
/* 803AB5DC 003A853C 7C 00 30 00 */ cmpw r0, r6
/* 803AB5E0 003A8540 40 80 00 08 */ bge lbl_803AB5E8
/* 803AB5E4 003A8544 48 00 00 08 */ b lbl_803AB5EC
lbl_803AB5E8:
/* 803AB5E8 003A8548 7C 06 03 78 */ mr r6, r0
lbl_803AB5EC:
/* 803AB5EC 003A854C 90 C3 00 04 */ stw r6, 4(r3)
/* 803AB5F0 003A8550 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB5F4 003A8554 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l
/* 803AB5F8 003A8558 A0 04 00 58 */ lhz r0, 0x58(r4)
/* 803AB5FC 003A855C 80 A3 00 08 */ lwz r5, 8(r3)
/* 803AB600 003A8560 7C 00 07 34 */ extsh r0, r0
/* 803AB604 003A8564 7C 05 02 14 */ add r0, r5, r0
/* 803AB608 003A8568 90 03 00 08 */ stw r0, 8(r3)
/* 803AB60C 003A856C 80 03 00 08 */ lwz r0, 8(r3)
/* 803AB610 003A8570 7C 00 30 00 */ cmpw r0, r6
/* 803AB614 003A8574 40 81 00 08 */ ble lbl_803AB61C
/* 803AB618 003A8578 48 00 00 1C */ b lbl_803AB634
lbl_803AB61C:
/* 803AB61C 003A857C 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB620 003A8580 38 C5 00 01 */ addi r6, r5, 0xFF800001@l
/* 803AB624 003A8584 7C 00 30 00 */ cmpw r0, r6
/* 803AB628 003A8588 40 80 00 08 */ bge lbl_803AB630
/* 803AB62C 003A858C 48 00 00 08 */ b lbl_803AB634
lbl_803AB630:
/* 803AB630 003A8590 7C 06 03 78 */ mr r6, r0
lbl_803AB634:
/* 803AB634 003A8594 90 C3 00 08 */ stw r6, 8(r3)
/* 803AB638 003A8598 A0 04 00 0C */ lhz r0, 0xc(r4)
/* 803AB63C 003A859C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803AB640 003A85A0 41 82 00 4C */ beq lbl_803AB68C
/* 803AB644 003A85A4 A0 04 00 5E */ lhz r0, 0x5e(r4)
/* 803AB648 003A85A8 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB64C 003A85AC 80 C3 00 0C */ lwz r6, 0xc(r3)
/* 803AB650 003A85B0 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l
/* 803AB654 003A85B4 7C 00 07 34 */ extsh r0, r0
/* 803AB658 003A85B8 7C 06 02 14 */ add r0, r6, r0
/* 803AB65C 003A85BC 90 03 00 0C */ stw r0, 0xc(r3)
/* 803AB660 003A85C0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803AB664 003A85C4 7C 00 28 00 */ cmpw r0, r5
/* 803AB668 003A85C8 40 81 00 08 */ ble lbl_803AB670
/* 803AB66C 003A85CC 48 00 00 1C */ b lbl_803AB688
lbl_803AB670:
/* 803AB670 003A85D0 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB674 003A85D4 38 A5 00 01 */ addi r5, r5, 0xFF800001@l
/* 803AB678 003A85D8 7C 00 28 00 */ cmpw r0, r5
/* 803AB67C 003A85DC 40 80 00 08 */ bge lbl_803AB684
/* 803AB680 003A85E0 48 00 00 08 */ b lbl_803AB688
lbl_803AB684:
/* 803AB684 003A85E4 7C 05 03 78 */ mr r5, r0
lbl_803AB688:
/* 803AB688 003A85E8 90 A3 00 0C */ stw r5, 0xc(r3)
lbl_803AB68C:
/* 803AB68C 003A85EC A0 04 00 0C */ lhz r0, 0xc(r4)
/* 803AB690 003A85F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 803AB694 003A85F4 41 82 00 E8 */ beq lbl_803AB77C
/* 803AB698 003A85F8 A0 04 00 54 */ lhz r0, 0x54(r4)
/* 803AB69C 003A85FC 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB6A0 003A8600 80 C3 00 10 */ lwz r6, 0x10(r3)
/* 803AB6A4 003A8604 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l
/* 803AB6A8 003A8608 7C 00 07 34 */ extsh r0, r0
/* 803AB6AC 003A860C 7C 06 02 14 */ add r0, r6, r0
/* 803AB6B0 003A8610 90 03 00 10 */ stw r0, 0x10(r3)
/* 803AB6B4 003A8614 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803AB6B8 003A8618 7C 00 28 00 */ cmpw r0, r5
/* 803AB6BC 003A861C 40 81 00 08 */ ble lbl_803AB6C4
/* 803AB6C0 003A8620 48 00 00 1C */ b lbl_803AB6DC
lbl_803AB6C4:
/* 803AB6C4 003A8624 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB6C8 003A8628 38 A5 00 01 */ addi r5, r5, 0xFF800001@l
/* 803AB6CC 003A862C 7C 00 28 00 */ cmpw r0, r5
/* 803AB6D0 003A8630 40 80 00 08 */ bge lbl_803AB6D8
/* 803AB6D4 003A8634 48 00 00 08 */ b lbl_803AB6DC
lbl_803AB6D8:
/* 803AB6D8 003A8638 7C 05 03 78 */ mr r5, r0
lbl_803AB6DC:
/* 803AB6DC 003A863C 90 A3 00 10 */ stw r5, 0x10(r3)
/* 803AB6E0 003A8640 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB6E4 003A8644 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l
/* 803AB6E8 003A8648 A0 04 00 5A */ lhz r0, 0x5a(r4)
/* 803AB6EC 003A864C 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 803AB6F0 003A8650 7C 00 07 34 */ extsh r0, r0
/* 803AB6F4 003A8654 7C 05 02 14 */ add r0, r5, r0
/* 803AB6F8 003A8658 90 03 00 14 */ stw r0, 0x14(r3)
/* 803AB6FC 003A865C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 803AB700 003A8660 7C 00 30 00 */ cmpw r0, r6
/* 803AB704 003A8664 40 81 00 08 */ ble lbl_803AB70C
/* 803AB708 003A8668 48 00 00 1C */ b lbl_803AB724
lbl_803AB70C:
/* 803AB70C 003A866C 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB710 003A8670 38 C5 00 01 */ addi r6, r5, 0xFF800001@l
/* 803AB714 003A8674 7C 00 30 00 */ cmpw r0, r6
/* 803AB718 003A8678 40 80 00 08 */ bge lbl_803AB720
/* 803AB71C 003A867C 48 00 00 08 */ b lbl_803AB724
lbl_803AB720:
/* 803AB720 003A8680 7C 06 03 78 */ mr r6, r0
lbl_803AB724:
/* 803AB724 003A8684 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803AB728 003A8688 A0 04 00 0C */ lhz r0, 0xc(r4)
/* 803AB72C 003A868C 70 00 00 14 */ andi. r0, r0, 0x14
/* 803AB730 003A8690 41 82 00 4C */ beq lbl_803AB77C
/* 803AB734 003A8694 A0 04 00 60 */ lhz r0, 0x60(r4)
/* 803AB738 003A8698 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB73C 003A869C 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 803AB740 003A86A0 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l
/* 803AB744 003A86A4 7C 00 07 34 */ extsh r0, r0
/* 803AB748 003A86A8 7C 06 02 14 */ add r0, r6, r0
/* 803AB74C 003A86AC 90 03 00 18 */ stw r0, 0x18(r3)
/* 803AB750 003A86B0 80 03 00 18 */ lwz r0, 0x18(r3)
/* 803AB754 003A86B4 7C 00 28 00 */ cmpw r0, r5
/* 803AB758 003A86B8 40 81 00 08 */ ble lbl_803AB760
/* 803AB75C 003A86BC 48 00 00 1C */ b lbl_803AB778
lbl_803AB760:
/* 803AB760 003A86C0 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB764 003A86C4 38 A5 00 01 */ addi r5, r5, 0xFF800001@l
/* 803AB768 003A86C8 7C 00 28 00 */ cmpw r0, r5
/* 803AB76C 003A86CC 40 80 00 08 */ bge lbl_803AB774
/* 803AB770 003A86D0 48 00 00 08 */ b lbl_803AB778
lbl_803AB774:
/* 803AB774 003A86D4 7C 05 03 78 */ mr r5, r0
lbl_803AB778:
/* 803AB778 003A86D8 90 A3 00 18 */ stw r5, 0x18(r3)
lbl_803AB77C:
/* 803AB77C 003A86DC A0 04 00 0C */ lhz r0, 0xc(r4)
/* 803AB780 003A86E0 70 00 00 12 */ andi. r0, r0, 0x12
/* 803AB784 003A86E4 4D 82 00 20 */ beqlr
/* 803AB788 003A86E8 A0 04 00 56 */ lhz r0, 0x56(r4)
/* 803AB78C 003A86EC 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB790 003A86F0 80 C3 00 1C */ lwz r6, 0x1c(r3)
/* 803AB794 003A86F4 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l
/* 803AB798 003A86F8 7C 00 07 34 */ extsh r0, r0
/* 803AB79C 003A86FC 7C 06 02 14 */ add r0, r6, r0
/* 803AB7A0 003A8700 90 03 00 1C */ stw r0, 0x1c(r3)
/* 803AB7A4 003A8704 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 803AB7A8 003A8708 7C 00 28 00 */ cmpw r0, r5
/* 803AB7AC 003A870C 40 81 00 08 */ ble lbl_803AB7B4
/* 803AB7B0 003A8710 48 00 00 1C */ b lbl_803AB7CC
lbl_803AB7B4:
/* 803AB7B4 003A8714 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB7B8 003A8718 38 A5 00 01 */ addi r5, r5, 0xFF800001@l
/* 803AB7BC 003A871C 7C 00 28 00 */ cmpw r0, r5
/* 803AB7C0 003A8720 40 80 00 08 */ bge lbl_803AB7C8
/* 803AB7C4 003A8724 48 00 00 08 */ b lbl_803AB7CC
lbl_803AB7C8:
/* 803AB7C8 003A8728 7C 05 03 78 */ mr r5, r0
lbl_803AB7CC:
/* 803AB7CC 003A872C 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 803AB7D0 003A8730 3C A0 00 80 */ lis r5, 0x007FFFFF@ha
/* 803AB7D4 003A8734 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l
/* 803AB7D8 003A8738 A0 04 00 5C */ lhz r0, 0x5c(r4)
/* 803AB7DC 003A873C 80 A3 00 20 */ lwz r5, 0x20(r3)
/* 803AB7E0 003A8740 7C 00 07 34 */ extsh r0, r0
/* 803AB7E4 003A8744 7C 05 02 14 */ add r0, r5, r0
/* 803AB7E8 003A8748 90 03 00 20 */ stw r0, 0x20(r3)
/* 803AB7EC 003A874C 80 03 00 20 */ lwz r0, 0x20(r3)
/* 803AB7F0 003A8750 7C 00 30 00 */ cmpw r0, r6
/* 803AB7F4 003A8754 40 81 00 08 */ ble lbl_803AB7FC
/* 803AB7F8 003A8758 48 00 00 1C */ b lbl_803AB814
lbl_803AB7FC:
/* 803AB7FC 003A875C 3C A0 FF 80 */ lis r5, 0xFF800001@ha
/* 803AB800 003A8760 38 C5 00 01 */ addi r6, r5, 0xFF800001@l
/* 803AB804 003A8764 7C 00 30 00 */ cmpw r0, r6
/* 803AB808 003A8768 40 80 00 08 */ bge lbl_803AB810
/* 803AB80C 003A876C 48 00 00 08 */ b lbl_803AB814
lbl_803AB810:
/* 803AB810 003A8770 7C 06 03 78 */ mr r6, r0
lbl_803AB814:
/* 803AB814 003A8774 90 C3 00 20 */ stw r6, 0x20(r3)
/* 803AB818 003A8778 A0 04 00 0C */ lhz r0, 0xc(r4)
/* 803AB81C 003A877C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803AB820 003A8780 4D 82 00 20 */ beqlr
/* 803AB824 003A8784 A0 04 00 62 */ lhz r0, 0x62(r4)
/* 803AB828 003A8788 3C 80 00 80 */ lis r4, 0x007FFFFF@ha
/* 803AB82C 003A878C 80 A3 00 24 */ lwz r5, 0x24(r3)
/* 803AB830 003A8790 38 84 FF FF */ addi r4, r4, 0x007FFFFF@l
/* 803AB834 003A8794 7C 00 07 34 */ extsh r0, r0
/* 803AB838 003A8798 7C 05 02 14 */ add r0, r5, r0
/* 803AB83C 003A879C 90 03 00 24 */ stw r0, 0x24(r3)
/* 803AB840 003A87A0 80 03 00 24 */ lwz r0, 0x24(r3)
/* 803AB844 003A87A4 7C 00 20 00 */ cmpw r0, r4
/* 803AB848 003A87A8 40 81 00 08 */ ble lbl_803AB850
/* 803AB84C 003A87AC 48 00 00 1C */ b lbl_803AB868
lbl_803AB850:
/* 803AB850 003A87B0 3C 80 FF 80 */ lis r4, 0xFF800001@ha
/* 803AB854 003A87B4 38 84 00 01 */ addi r4, r4, 0xFF800001@l
/* 803AB858 003A87B8 7C 00 20 00 */ cmpw r0, r4
/* 803AB85C 003A87BC 40 80 00 08 */ bge lbl_803AB864
/* 803AB860 003A87C0 48 00 00 08 */ b lbl_803AB868
lbl_803AB864:
/* 803AB864 003A87C4 7C 04 03 78 */ mr r4, r0
lbl_803AB868:
/* 803AB868 003A87C8 90 83 00 24 */ stw r4, 0x24(r3)
/* 803AB86C 003A87CC 4E 80 00 20 */ blr
.global SortVoices
SortVoices:
/* 803AB870 003A87D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803AB874 003A87D4 7C 08 02 A6 */ mflr r0
/* 803AB878 003A87D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 803AB87C 003A87DC 39 61 00 20 */ addi r11, r1, 0x20
/* 803AB880 003A87E0 4B FD E1 F9 */ bl _savegpr_26
/* 803AB884 003A87E4 7C BB 2B 78 */ mr r27, r5
/* 803AB888 003A87E8 7C 7A 1B 78 */ mr r26, r3
/* 803AB88C 003A87EC 7C 04 D8 00 */ cmpw r4, r27
/* 803AB890 003A87F0 40 80 02 20 */ bge lbl_803ABAB0
/* 803AB894 003A87F4 7C 64 DA 14 */ add r3, r4, r27
/* 803AB898 003A87F8 54 85 10 3A */ slwi r5, r4, 2
/* 803AB89C 003A87FC 54 60 0F FE */ srwi r0, r3, 0x1f
/* 803AB8A0 003A8800 39 44 00 01 */ addi r10, r4, 1
/* 803AB8A4 003A8804 7C 00 1A 14 */ add r0, r0, r3
/* 803AB8A8 003A8808 7C DA 2A 14 */ add r6, r26, r5
/* 803AB8AC 003A880C 7C 03 0E 70 */ srawi r3, r0, 1
/* 803AB8B0 003A8810 38 1B 00 01 */ addi r0, r27, 1
/* 803AB8B4 003A8814 54 67 10 3A */ slwi r7, r3, 2
/* 803AB8B8 003A8818 55 43 10 3A */ slwi r3, r10, 2
/* 803AB8BC 003A881C 81 66 00 00 */ lwz r11, 0(r6)
/* 803AB8C0 003A8820 7C 0A 00 50 */ subf r0, r10, r0
/* 803AB8C4 003A8824 7C BA 38 2E */ lwzx r5, r26, r7
/* 803AB8C8 003A8828 7C 9C 23 78 */ mr r28, r4
/* 803AB8CC 003A882C 7C C9 33 78 */ mr r9, r6
/* 803AB8D0 003A8830 7D 1A 1A 14 */ add r8, r26, r3
/* 803AB8D4 003A8834 90 A6 00 00 */ stw r5, 0(r6)
/* 803AB8D8 003A8838 7D 7A 39 2E */ stwx r11, r26, r7
/* 803AB8DC 003A883C 7C 09 03 A6 */ mtctr r0
/* 803AB8E0 003A8840 7C 0A D8 00 */ cmpw r10, r27
/* 803AB8E4 003A8844 41 81 00 34 */ bgt lbl_803AB918
lbl_803AB8E8:
/* 803AB8E8 003A8848 80 E8 00 00 */ lwz r7, 0(r8)
/* 803AB8EC 003A884C 80 66 00 00 */ lwz r3, 0(r6)
/* 803AB8F0 003A8850 80 A7 00 1C */ lwz r5, 0x1c(r7)
/* 803AB8F4 003A8854 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 803AB8F8 003A8858 7C 05 00 40 */ cmplw r5, r0
/* 803AB8FC 003A885C 40 80 00 14 */ bge lbl_803AB910
/* 803AB900 003A8860 80 09 00 04 */ lwz r0, 4(r9)
/* 803AB904 003A8864 3B 9C 00 01 */ addi r28, r28, 1
/* 803AB908 003A8868 94 E9 00 04 */ stwu r7, 4(r9)
/* 803AB90C 003A886C 90 08 00 00 */ stw r0, 0(r8)
lbl_803AB910:
/* 803AB910 003A8870 39 08 00 04 */ addi r8, r8, 4
/* 803AB914 003A8874 42 00 FF D4 */ bdnz lbl_803AB8E8
lbl_803AB918:
/* 803AB918 003A8878 57 9D 10 3A */ slwi r29, r28, 2
/* 803AB91C 003A887C 39 1C FF FF */ addi r8, r28, -1
/* 803AB920 003A8880 7F DA EA 14 */ add r30, r26, r29
/* 803AB924 003A8884 80 66 00 00 */ lwz r3, 0(r6)
/* 803AB928 003A8888 80 1E 00 00 */ lwz r0, 0(r30)
/* 803AB92C 003A888C 7C 04 40 00 */ cmpw r4, r8
/* 803AB930 003A8890 90 06 00 00 */ stw r0, 0(r6)
/* 803AB934 003A8894 90 7E 00 00 */ stw r3, 0(r30)
/* 803AB938 003A8898 40 80 00 B4 */ bge lbl_803AB9EC
/* 803AB93C 003A889C 7C 7C 22 14 */ add r3, r28, r4
/* 803AB940 003A88A0 39 44 00 01 */ addi r10, r4, 1
/* 803AB944 003A88A4 38 E3 FF FF */ addi r7, r3, -1
/* 803AB948 003A88A8 38 08 00 01 */ addi r0, r8, 1
/* 803AB94C 003A88AC 54 E5 0F FE */ srwi r5, r7, 0x1f
/* 803AB950 003A88B0 55 43 10 3A */ slwi r3, r10, 2
/* 803AB954 003A88B4 7C A5 3A 14 */ add r5, r5, r7
/* 803AB958 003A88B8 81 26 00 00 */ lwz r9, 0(r6)
/* 803AB95C 003A88BC 7C A5 0E 70 */ srawi r5, r5, 1
/* 803AB960 003A88C0 7C 0A 00 50 */ subf r0, r10, r0
/* 803AB964 003A88C4 54 A7 10 3A */ slwi r7, r5, 2
/* 803AB968 003A88C8 7C 9F 23 78 */ mr r31, r4
/* 803AB96C 003A88CC 7C BA 38 2E */ lwzx r5, r26, r7
/* 803AB970 003A88D0 7C CC 33 78 */ mr r12, r6
/* 803AB974 003A88D4 7D 7A 1A 14 */ add r11, r26, r3
/* 803AB978 003A88D8 90 A6 00 00 */ stw r5, 0(r6)
/* 803AB97C 003A88DC 7D 3A 39 2E */ stwx r9, r26, r7
/* 803AB980 003A88E0 7C 09 03 A6 */ mtctr r0
/* 803AB984 003A88E4 7C 0A 40 00 */ cmpw r10, r8
/* 803AB988 003A88E8 41 81 00 34 */ bgt lbl_803AB9BC
lbl_803AB98C:
/* 803AB98C 003A88EC 80 EB 00 00 */ lwz r7, 0(r11)
/* 803AB990 003A88F0 80 66 00 00 */ lwz r3, 0(r6)
/* 803AB994 003A88F4 80 A7 00 1C */ lwz r5, 0x1c(r7)
/* 803AB998 003A88F8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 803AB99C 003A88FC 7C 05 00 40 */ cmplw r5, r0
/* 803AB9A0 003A8900 40 80 00 14 */ bge lbl_803AB9B4
/* 803AB9A4 003A8904 80 0C 00 04 */ lwz r0, 4(r12)
/* 803AB9A8 003A8908 3B FF 00 01 */ addi r31, r31, 1
/* 803AB9AC 003A890C 94 EC 00 04 */ stwu r7, 4(r12)
/* 803AB9B0 003A8910 90 0B 00 00 */ stw r0, 0(r11)
lbl_803AB9B4:
/* 803AB9B4 003A8914 39 6B 00 04 */ addi r11, r11, 4
/* 803AB9B8 003A8918 42 00 FF D4 */ bdnz lbl_803AB98C
lbl_803AB9BC:
/* 803AB9BC 003A891C 57 E7 10 3A */ slwi r7, r31, 2
/* 803AB9C0 003A8920 81 06 00 00 */ lwz r8, 0(r6)
/* 803AB9C4 003A8924 7C 1A 38 2E */ lwzx r0, r26, r7
/* 803AB9C8 003A8928 7F 43 D3 78 */ mr r3, r26
/* 803AB9CC 003A892C 38 BF FF FF */ addi r5, r31, -1
/* 803AB9D0 003A8930 90 06 00 00 */ stw r0, 0(r6)
/* 803AB9D4 003A8934 7D 1A 39 2E */ stwx r8, r26, r7
/* 803AB9D8 003A8938 4B FF FE 99 */ bl SortVoices
/* 803AB9DC 003A893C 7F 43 D3 78 */ mr r3, r26
/* 803AB9E0 003A8940 38 9F 00 01 */ addi r4, r31, 1
/* 803AB9E4 003A8944 38 BC FF FF */ addi r5, r28, -1
/* 803AB9E8 003A8948 4B FF FE 89 */ bl SortVoices
lbl_803AB9EC:
/* 803AB9EC 003A894C 3B FC 00 01 */ addi r31, r28, 1
/* 803AB9F0 003A8950 7C 1F D8 00 */ cmpw r31, r27
/* 803AB9F4 003A8954 40 80 00 BC */ bge lbl_803ABAB0
/* 803AB9F8 003A8958 7C 7C DA 14 */ add r3, r28, r27
/* 803AB9FC 003A895C 7C DA EA 14 */ add r6, r26, r29
/* 803ABA00 003A8960 38 83 00 01 */ addi r4, r3, 1
/* 803ABA04 003A8964 81 06 00 04 */ lwz r8, 4(r6)
/* 803ABA08 003A8968 54 83 0F FE */ srwi r3, r4, 0x1f
/* 803ABA0C 003A896C 39 3C 00 02 */ addi r9, r28, 2
/* 803ABA10 003A8970 7C 63 22 14 */ add r3, r3, r4
/* 803ABA14 003A8974 38 1B 00 01 */ addi r0, r27, 1
/* 803ABA18 003A8978 7C 65 0E 70 */ srawi r5, r3, 1
/* 803ABA1C 003A897C 55 24 10 3A */ slwi r4, r9, 2
/* 803ABA20 003A8980 54 A7 10 3A */ slwi r7, r5, 2
/* 803ABA24 003A8984 57 E3 10 3A */ slwi r3, r31, 2
/* 803ABA28 003A8988 7C BA 38 2E */ lwzx r5, r26, r7
/* 803ABA2C 003A898C 7C 09 00 50 */ subf r0, r9, r0
/* 803ABA30 003A8990 7D 5A 22 14 */ add r10, r26, r4
/* 803ABA34 003A8994 90 A6 00 04 */ stw r5, 4(r6)
/* 803ABA38 003A8998 7C BA 1A 14 */ add r5, r26, r3
/* 803ABA3C 003A899C 7D 1A 39 2E */ stwx r8, r26, r7
/* 803ABA40 003A89A0 7C 09 03 A6 */ mtctr r0
/* 803ABA44 003A89A4 7C 09 D8 00 */ cmpw r9, r27
/* 803ABA48 003A89A8 41 81 00 34 */ bgt lbl_803ABA7C
lbl_803ABA4C:
/* 803ABA4C 003A89AC 80 EA 00 00 */ lwz r7, 0(r10)
/* 803ABA50 003A89B0 80 7E 00 04 */ lwz r3, 4(r30)
/* 803ABA54 003A89B4 80 87 00 1C */ lwz r4, 0x1c(r7)
/* 803ABA58 003A89B8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 803ABA5C 003A89BC 7C 04 00 40 */ cmplw r4, r0
/* 803ABA60 003A89C0 40 80 00 14 */ bge lbl_803ABA74
/* 803ABA64 003A89C4 80 05 00 04 */ lwz r0, 4(r5)
/* 803ABA68 003A89C8 3B FF 00 01 */ addi r31, r31, 1
/* 803ABA6C 003A89CC 94 E5 00 04 */ stwu r7, 4(r5)
/* 803ABA70 003A89D0 90 0A 00 00 */ stw r0, 0(r10)
lbl_803ABA74:
/* 803ABA74 003A89D4 39 4A 00 04 */ addi r10, r10, 4
/* 803ABA78 003A89D8 42 00 FF D4 */ bdnz lbl_803ABA4C
lbl_803ABA7C:
/* 803ABA7C 003A89DC 57 E7 10 3A */ slwi r7, r31, 2
/* 803ABA80 003A89E0 81 06 00 04 */ lwz r8, 4(r6)
/* 803ABA84 003A89E4 7C 1A 38 2E */ lwzx r0, r26, r7
/* 803ABA88 003A89E8 7F 43 D3 78 */ mr r3, r26
/* 803ABA8C 003A89EC 38 9C 00 01 */ addi r4, r28, 1
/* 803ABA90 003A89F0 38 BF FF FF */ addi r5, r31, -1
/* 803ABA94 003A89F4 90 06 00 04 */ stw r0, 4(r6)
/* 803ABA98 003A89F8 7D 1A 39 2E */ stwx r8, r26, r7
/* 803ABA9C 003A89FC 4B FF FD D5 */ bl SortVoices
/* 803ABAA0 003A8A00 7F 43 D3 78 */ mr r3, r26
/* 803ABAA4 003A8A04 7F 65 DB 78 */ mr r5, r27
/* 803ABAA8 003A8A08 38 9F 00 01 */ addi r4, r31, 1
/* 803ABAAC 003A8A0C 4B FF FD C5 */ bl SortVoices
lbl_803ABAB0:
/* 803ABAB0 003A8A10 39 61 00 20 */ addi r11, r1, 0x20
/* 803ABAB4 003A8A14 4B FD E0 11 */ bl _restgpr_26
/* 803ABAB8 003A8A18 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803ABABC 003A8A1C 7C 08 03 A6 */ mtlr r0
/* 803ABAC0 003A8A20 38 21 00 20 */ addi r1, r1, 0x20
/* 803ABAC4 003A8A24 4E 80 00 20 */ blr
.global salBuildCommandList
salBuildCommandList:
/* 803ABAC8 003A8A28 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 803ABACC 003A8A2C 7C 08 02 A6 */ mflr r0
/* 803ABAD0 003A8A30 90 01 00 84 */ stw r0, 0x84(r1)
/* 803ABAD4 003A8A34 39 61 00 80 */ addi r11, r1, 0x80
/* 803ABAD8 003A8A38 4B FD DF 71 */ bl __save_gpr
/* 803ABADC 003A8A3C 80 AD AF 40 */ lwz r5, dspCmdList@sda21(r13)
/* 803ABAE0 003A8A40 38 00 00 00 */ li r0, 0
/* 803ABAE4 003A8A44 90 0D AF 24 */ stw r0, lbl_805A9AE4@sda21(r13)
/* 803ABAE8 003A8A48 28 04 00 C8 */ cmplwi r4, 0xc8
/* 803ABAEC 003A8A4C 38 05 01 80 */ addi r0, r5, 0x180
/* 803ABAF0 003A8A50 90 61 00 08 */ stw r3, 8(r1)
/* 803ABAF4 003A8A54 90 AD AF 38 */ stw r5, lbl_805A9AF8@sda21(r13)
/* 803ABAF8 003A8A58 90 AD AF 30 */ stw r5, lbl_805A9AF0@sda21(r13)
/* 803ABAFC 003A8A5C 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
/* 803ABB00 003A8A60 40 80 00 0C */ bge lbl_803ABB0C
/* 803ABB04 003A8A64 3A E0 28 BE */ li r23, 0x28be
/* 803ABB08 003A8A68 48 00 00 38 */ b lbl_803ABB40
lbl_803ABB0C:
/* 803ABB0C 003A8A6C 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 803ABB10 003A8A70 3C 60 51 EC */ lis r3, 0x51EB851F@ha
/* 803ABB14 003A8A74 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 803ABB18 003A8A78 38 A3 85 1F */ addi r5, r3, 0x51EB851F@l
/* 803ABB1C 003A8A7C 3C 60 D1 B7 */ lis r3, 0xD1B71759@ha
/* 803ABB20 003A8A80 38 84 FF 38 */ addi r4, r4, -200
/* 803ABB24 003A8A84 7C 05 00 16 */ mulhwu r0, r5, r0
/* 803ABB28 003A8A88 38 63 17 59 */ addi r3, r3, 0xD1B71759@l
/* 803ABB2C 003A8A8C 54 00 C9 FE */ srwi r0, r0, 7
/* 803ABB30 003A8A90 7C 03 00 16 */ mulhwu r0, r3, r0
/* 803ABB34 003A8A94 54 00 A3 3E */ srwi r0, r0, 0xc
/* 803ABB38 003A8A98 7C 64 01 D6 */ mullw r3, r4, r0
/* 803ABB3C 003A8A9C 3A E3 28 BE */ addi r23, r3, 0x28be
lbl_803ABB40:
/* 803ABB40 003A8AA0 80 0D AF 44 */ lwz r0, lbl_805A9B04@sda21(r13)
/* 803ABB44 003A8AA4 28 00 00 00 */ cmplwi r0, 0
/* 803ABB48 003A8AA8 41 82 00 0C */ beq lbl_803ABB54
/* 803ABB4C 003A8AAC 3E F7 00 01 */ addis r23, r23, 1
/* 803ABB50 003A8AB0 3A F7 AF C8 */ addi r23, r23, -20536
lbl_803ABB54:
/* 803ABB54 003A8AB4 38 00 00 00 */ li r0, 0
/* 803ABB58 003A8AB8 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803ABB5C 003A8ABC B0 01 00 10 */ sth r0, 0x10(r1)
/* 803ABB60 003A8AC0 38 03 F2 60 */ addi r0, r3, lbl_8055F260@l
/* 803ABB64 003A8AC4 90 01 00 28 */ stw r0, 0x28(r1)
/* 803ABB68 003A8AC8 38 00 00 00 */ li r0, 0
/* 803ABB6C 003A8ACC 98 01 00 24 */ stb r0, 0x24(r1)
/* 803ABB70 003A8AD0 48 00 1D 98 */ b lbl_803AD908
lbl_803ABB74:
/* 803ABB74 003A8AD4 88 01 00 24 */ lbz r0, 0x24(r1)
/* 803ABB78 003A8AD8 1C 60 00 BC */ mulli r3, r0, 0xbc
/* 803ABB7C 003A8ADC 80 01 00 28 */ lwz r0, 0x28(r1)
/* 803ABB80 003A8AE0 7E 00 1A 14 */ add r16, r0, r3
/* 803ABB84 003A8AE4 88 10 00 50 */ lbz r0, 0x50(r16)
/* 803ABB88 003A8AE8 28 00 00 01 */ cmplwi r0, 1
/* 803ABB8C 003A8AEC 40 82 1D 70 */ bne lbl_803AD8FC
/* 803ABB90 003A8AF0 81 D0 00 48 */ lwz r14, 0x48(r16)
/* 803ABB94 003A8AF4 48 00 00 74 */ b lbl_803ABC08
lbl_803ABB98:
/* 803ABB98 003A8AF8 88 0E 00 ED */ lbz r0, 0xed(r14)
/* 803ABB9C 003A8AFC 82 2E 00 0C */ lwz r17, 0xc(r14)
/* 803ABBA0 003A8B00 28 00 00 00 */ cmplwi r0, 0
/* 803ABBA4 003A8B04 40 82 00 10 */ bne lbl_803ABBB4
/* 803ABBA8 003A8B08 80 0E 00 24 */ lwz r0, 0x24(r14)
/* 803ABBAC 003A8B0C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803ABBB0 003A8B10 41 82 00 54 */ beq lbl_803ABC04
lbl_803ABBB4:
/* 803ABBB4 003A8B14 7E 03 83 78 */ mr r3, r16
/* 803ABBB8 003A8B18 7D C4 73 78 */ mr r4, r14
/* 803ABBBC 003A8B1C 4B FF F9 D9 */ bl sub_803ab594
/* 803ABBC0 003A8B20 80 6E 00 E8 */ lwz r3, 0xe8(r14)
/* 803ABBC4 003A8B24 3C 03 00 01 */ addis r0, r3, 1
/* 803ABBC8 003A8B28 28 00 FF FF */ cmplwi r0, 0xffff
/* 803ABBCC 003A8B2C 41 82 00 10 */ beq lbl_803ABBDC
/* 803ABBD0 003A8B30 7D C3 73 78 */ mr r3, r14
/* 803ABBD4 003A8B34 38 80 00 03 */ li r4, 3
/* 803ABBD8 003A8B38 48 00 20 A9 */ bl salSynthSendMessage
lbl_803ABBDC:
/* 803ABBDC 003A8B3C 88 0E 00 EC */ lbz r0, 0xec(r14)
/* 803ABBE0 003A8B40 28 00 00 01 */ cmplwi r0, 1
/* 803ABBE4 003A8B44 40 82 00 10 */ bne lbl_803ABBF4
/* 803ABBE8 003A8B48 88 0E 00 EE */ lbz r0, 0xee(r14)
/* 803ABBEC 003A8B4C 28 00 00 00 */ cmplwi r0, 0
/* 803ABBF0 003A8B50 41 82 00 14 */ beq lbl_803ABC04
lbl_803ABBF4:
/* 803ABBF4 003A8B54 7D C3 73 78 */ mr r3, r14
/* 803ABBF8 003A8B58 48 00 21 6D */ bl salDeactivateVoice
/* 803ABBFC 003A8B5C 38 00 00 00 */ li r0, 0
/* 803ABC00 003A8B60 98 0E 00 EE */ stb r0, 0xee(r14)
lbl_803ABC04:
/* 803ABC04 003A8B64 7E 2E 8B 78 */ mr r14, r17
lbl_803ABC08:
/* 803ABC08 003A8B68 28 0E 00 00 */ cmplwi r14, 0
/* 803ABC0C 003A8B6C 40 82 FF 8C */ bne lbl_803ABB98
/* 803ABC10 003A8B70 81 D0 00 4C */ lwz r14, 0x4c(r16)
/* 803ABC14 003A8B74 48 00 00 14 */ b lbl_803ABC28
lbl_803ABC18:
/* 803ABC18 003A8B78 7E 03 83 78 */ mr r3, r16
/* 803ABC1C 003A8B7C 7D C4 73 78 */ mr r4, r14
/* 803ABC20 003A8B80 4B FF F9 75 */ bl sub_803ab594
/* 803ABC24 003A8B84 81 CE 00 14 */ lwz r14, 0x14(r14)
lbl_803ABC28:
/* 803ABC28 003A8B88 28 0E 00 00 */ cmplwi r14, 0
/* 803ABC2C 003A8B8C 40 82 FF EC */ bne lbl_803ABC18
/* 803ABC30 003A8B90 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ABC34 003A8B94 38 00 00 00 */ li r0, 0
/* 803ABC38 003A8B98 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ABC3C 003A8B9C 38 85 00 06 */ addi r4, r5, 6
/* 803ABC40 003A8BA0 90 10 00 4C */ stw r0, 0x4c(r16)
/* 803ABC44 003A8BA4 38 03 FF F8 */ addi r0, r3, -8
/* 803ABC48 003A8BA8 7C 04 00 40 */ cmplw r4, r0
/* 803ABC4C 003A8BAC 40 81 00 8C */ ble lbl_803ABCD8
/* 803ABC50 003A8BB0 38 00 00 0D */ li r0, 0xd
/* 803ABC54 003A8BB4 B0 05 00 00 */ sth r0, 0(r5)
/* 803ABC58 003A8BB8 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ABC5C 003A8BBC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABC60 003A8BC0 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ABC64 003A8BC4 B0 03 00 02 */ sth r0, 2(r3)
/* 803ABC68 003A8BC8 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ABC6C 003A8BCC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABC70 003A8BD0 B0 03 00 04 */ sth r0, 4(r3)
/* 803ABC74 003A8BD4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABC78 003A8BD8 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803ABC7C 003A8BDC 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ABC80 003A8BE0 38 03 00 08 */ addi r0, r3, 8
/* 803ABC84 003A8BE4 28 05 00 00 */ cmplwi r5, 0
/* 803ABC88 003A8BE8 7C 64 00 50 */ subf r3, r4, r0
/* 803ABC8C 003A8BEC 38 03 00 03 */ addi r0, r3, 3
/* 803ABC90 003A8BF0 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d
/* 803ABC94 003A8BF4 41 82 00 18 */ beq lbl_803ABCAC
/* 803ABC98 003A8BF8 B1 C5 00 06 */ sth r14, 6(r5)
/* 803ABC9C 003A8BFC 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803ABCA0 003A8C00 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803ABCA4 003A8C04 4B FD 2E 99 */ bl DCStoreRangeNoSync
/* 803ABCA8 003A8C08 48 00 00 08 */ b lbl_803ABCB0
lbl_803ABCAC:
/* 803ABCAC 003A8C0C B1 CD AF 3C */ sth r14, lbl_805A9AFC@sda21(r13)
lbl_803ABCB0:
/* 803ABCB0 003A8C10 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ABCB4 003A8C14 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ABCB8 003A8C18 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ABCBC 003A8C1C 38 03 01 80 */ addi r0, r3, 0x180
/* 803ABCC0 003A8C20 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803ABCC4 003A8C24 B1 CD AF 2C */ sth r14, lbl_805A9AEC@sda21(r13)
/* 803ABCC8 003A8C28 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803ABCCC 003A8C2C 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803ABCD0 003A8C30 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803ABCD4 003A8C34 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803ABCD8:
/* 803ABCD8 003A8C38 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ABCDC 003A8C3C 38 00 00 00 */ li r0, 0
/* 803ABCE0 003A8C40 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803ABCE4 003A8C44 7E 11 83 78 */ mr r17, r16
/* 803ABCE8 003A8C48 B0 04 00 00 */ sth r0, 0(r4)
/* 803ABCEC 003A8C4C 39 C3 F2 60 */ addi r14, r3, lbl_8055F260@l
/* 803ABCF0 003A8C50 3A 40 00 00 */ li r18, 0
/* 803ABCF4 003A8C54 3A F7 2C 62 */ addi r23, r23, 0x2c62
/* 803ABCF8 003A8C58 80 10 00 00 */ lwz r0, 0(r16)
/* 803ABCFC 003A8C5C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABD00 003A8C60 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ABD04 003A8C64 B0 03 00 02 */ sth r0, 2(r3)
/* 803ABD08 003A8C68 80 10 00 00 */ lwz r0, 0(r16)
/* 803ABD0C 003A8C6C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABD10 003A8C70 B0 03 00 04 */ sth r0, 4(r3)
/* 803ABD14 003A8C74 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABD18 003A8C78 38 03 00 06 */ addi r0, r3, 6
/* 803ABD1C 003A8C7C 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803ABD20 003A8C80 48 00 01 40 */ b lbl_803ABE60
lbl_803ABD24:
/* 803ABD24 003A8C84 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ABD28 003A8C88 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ABD2C 003A8C8C 38 85 00 0C */ addi r4, r5, 0xc
/* 803ABD30 003A8C90 38 03 FF F8 */ addi r0, r3, -8
/* 803ABD34 003A8C94 7C 04 00 40 */ cmplw r4, r0
/* 803ABD38 003A8C98 40 81 00 8C */ ble lbl_803ABDC4
/* 803ABD3C 003A8C9C 38 00 00 0D */ li r0, 0xd
/* 803ABD40 003A8CA0 B0 05 00 00 */ sth r0, 0(r5)
/* 803ABD44 003A8CA4 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ABD48 003A8CA8 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABD4C 003A8CAC 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ABD50 003A8CB0 B0 03 00 02 */ sth r0, 2(r3)
/* 803ABD54 003A8CB4 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ABD58 003A8CB8 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABD5C 003A8CBC B0 03 00 04 */ sth r0, 4(r3)
/* 803ABD60 003A8CC0 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABD64 003A8CC4 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803ABD68 003A8CC8 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ABD6C 003A8CCC 38 03 00 08 */ addi r0, r3, 8
/* 803ABD70 003A8CD0 28 05 00 00 */ cmplwi r5, 0
/* 803ABD74 003A8CD4 7C 64 00 50 */ subf r3, r4, r0
/* 803ABD78 003A8CD8 38 03 00 03 */ addi r0, r3, 3
/* 803ABD7C 003A8CDC 54 13 04 3A */ rlwinm r19, r0, 0, 0x10, 0x1d
/* 803ABD80 003A8CE0 41 82 00 18 */ beq lbl_803ABD98
/* 803ABD84 003A8CE4 B2 65 00 06 */ sth r19, 6(r5)
/* 803ABD88 003A8CE8 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803ABD8C 003A8CEC A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803ABD90 003A8CF0 4B FD 2D AD */ bl DCStoreRangeNoSync
/* 803ABD94 003A8CF4 48 00 00 08 */ b lbl_803ABD9C
lbl_803ABD98:
/* 803ABD98 003A8CF8 B2 6D AF 3C */ sth r19, lbl_805A9AFC@sda21(r13)
lbl_803ABD9C:
/* 803ABD9C 003A8CFC 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ABDA0 003A8D00 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ABDA4 003A8D04 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ABDA8 003A8D08 38 03 01 80 */ addi r0, r3, 0x180
/* 803ABDAC 003A8D0C 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803ABDB0 003A8D10 B2 6D AF 2C */ sth r19, lbl_805A9AEC@sda21(r13)
/* 803ABDB4 003A8D14 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803ABDB8 003A8D18 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803ABDBC 003A8D1C 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803ABDC0 003A8D20 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803ABDC4:
/* 803ABDC4 003A8D24 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABDC8 003A8D28 38 00 00 01 */ li r0, 1
/* 803ABDCC 003A8D2C 3A F7 29 4D */ addi r23, r23, 0x294d
/* 803ABDD0 003A8D30 3A 52 00 01 */ addi r18, r18, 1
/* 803ABDD4 003A8D34 B0 03 00 00 */ sth r0, 0(r3)
/* 803ABDD8 003A8D38 88 71 00 58 */ lbz r3, 0x58(r17)
/* 803ABDDC 003A8D3C 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803ABDE0 003A8D40 1C 83 00 BC */ mulli r4, r3, 0xbc
/* 803ABDE4 003A8D44 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABDE8 003A8D48 68 00 00 01 */ xori r0, r0, 1
/* 803ABDEC 003A8D4C 7C 8E 22 14 */ add r4, r14, r4
/* 803ABDF0 003A8D50 54 00 10 3A */ slwi r0, r0, 2
/* 803ABDF4 003A8D54 7C 84 02 14 */ add r4, r4, r0
/* 803ABDF8 003A8D58 80 04 00 28 */ lwz r0, 0x28(r4)
/* 803ABDFC 003A8D5C 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ABE00 003A8D60 B0 03 00 02 */ sth r0, 2(r3)
/* 803ABE04 003A8D64 88 71 00 58 */ lbz r3, 0x58(r17)
/* 803ABE08 003A8D68 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803ABE0C 003A8D6C 1C 83 00 BC */ mulli r4, r3, 0xbc
/* 803ABE10 003A8D70 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABE14 003A8D74 68 00 00 01 */ xori r0, r0, 1
/* 803ABE18 003A8D78 7C 8E 22 14 */ add r4, r14, r4
/* 803ABE1C 003A8D7C 54 00 10 3A */ slwi r0, r0, 2
/* 803ABE20 003A8D80 7C 84 02 14 */ add r4, r4, r0
/* 803ABE24 003A8D84 80 04 00 28 */ lwz r0, 0x28(r4)
/* 803ABE28 003A8D88 B0 03 00 04 */ sth r0, 4(r3)
/* 803ABE2C 003A8D8C A0 11 00 5A */ lhz r0, 0x5a(r17)
/* 803ABE30 003A8D90 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABE34 003A8D94 B0 03 00 06 */ sth r0, 6(r3)
/* 803ABE38 003A8D98 A0 11 00 5C */ lhz r0, 0x5c(r17)
/* 803ABE3C 003A8D9C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABE40 003A8DA0 B0 03 00 08 */ sth r0, 8(r3)
/* 803ABE44 003A8DA4 A0 11 00 5E */ lhz r0, 0x5e(r17)
/* 803ABE48 003A8DA8 3A 31 00 0C */ addi r17, r17, 0xc
/* 803ABE4C 003A8DAC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABE50 003A8DB0 B0 03 00 0A */ sth r0, 0xa(r3)
/* 803ABE54 003A8DB4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ABE58 003A8DB8 38 03 00 0C */ addi r0, r3, 0xc
/* 803ABE5C 003A8DBC 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
lbl_803ABE60:
/* 803ABE60 003A8DC0 88 10 00 52 */ lbz r0, 0x52(r16)
/* 803ABE64 003A8DC4 7C 12 00 40 */ cmplw r18, r0
/* 803ABE68 003A8DC8 41 80 FE BC */ blt lbl_803ABD24
/* 803ABE6C 003A8DCC 3C 60 80 56 */ lis r3, lbl_8055F840@ha
/* 803ABE70 003A8DD0 80 90 00 48 */ lwz r4, 0x48(r16)
/* 803ABE74 003A8DD4 38 63 F8 40 */ addi r3, r3, lbl_8055F840@l
/* 803ABE78 003A8DD8 3A 40 00 00 */ li r18, 0
/* 803ABE7C 003A8DDC 39 C0 00 00 */ li r14, 0
/* 803ABE80 003A8DE0 48 00 00 14 */ b lbl_803ABE94
lbl_803ABE84:
/* 803ABE84 003A8DE4 90 83 00 00 */ stw r4, 0(r3)
/* 803ABE88 003A8DE8 38 63 00 04 */ addi r3, r3, 4
/* 803ABE8C 003A8DEC 39 CE 00 01 */ addi r14, r14, 1
/* 803ABE90 003A8DF0 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_803ABE94:
/* 803ABE94 003A8DF4 28 04 00 00 */ cmplwi r4, 0
/* 803ABE98 003A8DF8 40 82 FF EC */ bne lbl_803ABE84
/* 803ABE9C 003A8DFC 3C 60 80 56 */ lis r3, lbl_8055F840@ha
/* 803ABEA0 003A8E00 38 AE FF FF */ addi r5, r14, -1
/* 803ABEA4 003A8E04 38 63 F8 40 */ addi r3, r3, lbl_8055F840@l
/* 803ABEA8 003A8E08 38 80 00 00 */ li r4, 0
/* 803ABEAC 003A8E0C 4B FF F9 C5 */ bl SortVoices
/* 803ABEB0 003A8E10 3C 60 80 56 */ lis r3, lbl_8055F840@ha
/* 803ABEB4 003A8E14 55 C4 10 3A */ slwi r4, r14, 2
/* 803ABEB8 003A8E18 38 03 F8 40 */ addi r0, r3, lbl_8055F840@l
/* 803ABEBC 003A8E1C 7D DC 73 78 */ mr r28, r14
/* 803ABEC0 003A8E20 7D C0 22 14 */ add r14, r0, r4
/* 803ABEC4 003A8E24 38 00 00 00 */ li r0, 0
/* 803ABEC8 003A8E28 90 01 00 1C */ stw r0, 0x1c(r1)
/* 803ABECC 003A8E2C 48 00 14 24 */ b lbl_803AD2F0
lbl_803ABED0:
/* 803ABED0 003A8E30 83 AE FF FC */ lwz r29, -4(r14)
/* 803ABED4 003A8E34 88 7D 00 EC */ lbz r3, 0xec(r29)
/* 803ABED8 003A8E38 28 03 00 00 */ cmplwi r3, 0
/* 803ABEDC 003A8E3C 41 82 14 0C */ beq lbl_803AD2E8
/* 803ABEE0 003A8E40 82 7D 00 00 */ lwz r19, 0(r29)
/* 803ABEE4 003A8E44 38 00 00 00 */ li r0, 0
/* 803ABEE8 003A8E48 28 03 00 01 */ cmplwi r3, 1
/* 803ABEEC 003A8E4C B0 01 00 12 */ sth r0, 0x12(r1)
/* 803ABEF0 003A8E50 B0 01 00 14 */ sth r0, 0x14(r1)
/* 803ABEF4 003A8E54 B0 01 00 16 */ sth r0, 0x16(r1)
/* 803ABEF8 003A8E58 B0 01 00 18 */ sth r0, 0x18(r1)
/* 803ABEFC 003A8E5C 40 82 07 94 */ bne lbl_803AC690
/* 803ABF00 003A8E60 38 00 FF FF */ li r0, -1
/* 803ABF04 003A8E64 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 803ABF08 003A8E68 90 1D 00 E8 */ stw r0, 0xe8(r29)
/* 803ABF0C 003A8E6C 38 03 80 00 */ addi r0, r3, 0x00008000@l
/* 803ABF10 003A8E70 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803ABF14 003A8E74 80 9D 00 00 */ lwz r4, 0(r29)
/* 803ABF18 003A8E78 B0 04 00 66 */ sth r0, 0x66(r4)
/* 803ABF1C 003A8E7C 4B FF D5 B9 */ bl adsrSetup
/* 803ABF20 003A8E80 28 03 00 00 */ cmplwi r3, 0
/* 803ABF24 003A8E84 41 82 00 1C */ beq lbl_803ABF40
/* 803ABF28 003A8E88 7F A3 EB 78 */ mr r3, r29
/* 803ABF2C 003A8E8C 38 80 00 00 */ li r4, 0
/* 803ABF30 003A8E90 48 00 1D 51 */ bl salSynthSendMessage
/* 803ABF34 003A8E94 7F A3 EB 78 */ mr r3, r29
/* 803ABF38 003A8E98 48 00 1E 2D */ bl salDeactivateVoice
/* 803ABF3C 003A8E9C 48 00 13 AC */ b lbl_803AD2E8
lbl_803ABF40:
/* 803ABF40 003A8EA0 38 00 FF FF */ li r0, -1
/* 803ABF44 003A8EA4 90 1D 00 E8 */ stw r0, 0xe8(r29)
/* 803ABF48 003A8EA8 88 1D 00 90 */ lbz r0, 0x90(r29)
/* 803ABF4C 003A8EAC 2C 00 00 05 */ cmpwi r0, 5
/* 803ABF50 003A8EB0 41 82 00 08 */ beq lbl_803ABF58
/* 803ABF54 003A8EB4 48 00 00 40 */ b lbl_803ABF94
lbl_803ABF58:
/* 803ABF58 003A8EB8 38 00 00 00 */ li r0, 0
/* 803ABF5C 003A8EBC 7F A3 EB 78 */ mr r3, r29
/* 803ABF60 003A8EC0 90 1D 00 98 */ stw r0, 0x98(r29)
/* 803ABF64 003A8EC4 38 80 00 02 */ li r4, 2
/* 803ABF68 003A8EC8 48 00 1D 19 */ bl salSynthSendMessage
/* 803ABF6C 003A8ECC 90 7D 00 E8 */ stw r3, 0xe8(r29)
/* 803ABF70 003A8ED0 80 1D 00 98 */ lwz r0, 0x98(r29)
/* 803ABF74 003A8ED4 28 00 00 00 */ cmplwi r0, 0
/* 803ABF78 003A8ED8 40 82 00 1C */ bne lbl_803ABF94
/* 803ABF7C 003A8EDC 7F A3 EB 78 */ mr r3, r29
/* 803ABF80 003A8EE0 38 80 00 01 */ li r4, 1
/* 803ABF84 003A8EE4 48 00 1C FD */ bl salSynthSendMessage
/* 803ABF88 003A8EE8 7F A3 EB 78 */ mr r3, r29
/* 803ABF8C 003A8EEC 48 00 1D D9 */ bl salDeactivateVoice
/* 803ABF90 003A8EF0 48 00 13 58 */ b lbl_803AD2E8
lbl_803ABF94:
/* 803ABF94 003A8EF4 38 60 00 00 */ li r3, 0
/* 803ABF98 003A8EF8 B0 73 00 AA */ sth r3, 0xaa(r19)
/* 803ABF9C 003A8EFC B0 73 00 AC */ sth r3, 0xac(r19)
/* 803ABFA0 003A8F00 B0 73 00 AE */ sth r3, 0xae(r19)
/* 803ABFA4 003A8F04 B0 73 00 B0 */ sth r3, 0xb0(r19)
/* 803ABFA8 003A8F08 B0 73 00 B2 */ sth r3, 0xb2(r19)
/* 803ABFAC 003A8F0C 80 1D 00 F0 */ lwz r0, 0xf0(r29)
/* 803ABFB0 003A8F10 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 803ABFB4 003A8F14 41 82 00 4C */ beq lbl_803AC000
/* 803ABFB8 003A8F18 80 7D 00 08 */ lwz r3, 8(r29)
/* 803ABFBC 003A8F1C 38 80 00 00 */ li r4, 0
/* 803ABFC0 003A8F20 38 A0 00 40 */ li r5, 0x40
/* 803ABFC4 003A8F24 4B C5 73 E5 */ bl memset
/* 803ABFC8 003A8F28 80 7D 00 08 */ lwz r3, 8(r29)
/* 803ABFCC 003A8F2C 38 80 00 40 */ li r4, 0x40
/* 803ABFD0 003A8F30 4B FD 2A E1 */ bl DCFlushRange
/* 803ABFD4 003A8F34 A0 7D 00 D0 */ lhz r3, 0xd0(r29)
/* 803ABFD8 003A8F38 38 00 00 01 */ li r0, 1
/* 803ABFDC 003A8F3C B0 73 00 40 */ sth r3, 0x40(r19)
/* 803ABFE0 003A8F40 A0 7D 00 D0 */ lhz r3, 0xd0(r29)
/* 803ABFE4 003A8F44 B0 73 00 3C */ sth r3, 0x3c(r19)
/* 803ABFE8 003A8F48 A0 7D 00 D2 */ lhz r3, 0xd2(r29)
/* 803ABFEC 003A8F4C B0 73 00 42 */ sth r3, 0x42(r19)
/* 803ABFF0 003A8F50 A0 7D 00 D2 */ lhz r3, 0xd2(r29)
/* 803ABFF4 003A8F54 B0 73 00 3E */ sth r3, 0x3e(r19)
/* 803ABFF8 003A8F58 B0 13 00 36 */ sth r0, 0x36(r19)
/* 803ABFFC 003A8F5C 48 00 00 08 */ b lbl_803AC004
lbl_803AC000:
/* 803AC000 003A8F60 B0 73 00 36 */ sth r3, 0x36(r19)
lbl_803AC004:
/* 803AC004 003A8F64 88 1D 00 90 */ lbz r0, 0x90(r29)
/* 803AC008 003A8F68 2C 00 00 02 */ cmpwi r0, 2
/* 803AC00C 003A8F6C 41 82 02 9C */ beq lbl_803AC2A8
/* 803AC010 003A8F70 40 80 00 14 */ bge lbl_803AC024
/* 803AC014 003A8F74 2C 00 00 00 */ cmpwi r0, 0
/* 803AC018 003A8F78 41 82 00 20 */ beq lbl_803AC038
/* 803AC01C 003A8F7C 40 80 01 10 */ bge lbl_803AC12C
/* 803AC020 003A8F80 48 00 02 F4 */ b lbl_803AC314
lbl_803AC024:
/* 803AC024 003A8F84 2C 00 00 06 */ cmpwi r0, 6
/* 803AC028 003A8F88 40 80 02 EC */ bge lbl_803AC314
/* 803AC02C 003A8F8C 2C 00 00 04 */ cmpwi r0, 4
/* 803AC030 003A8F90 40 80 00 08 */ bge lbl_803AC038
/* 803AC034 003A8F94 48 00 02 08 */ b lbl_803AC23C
lbl_803AC038:
/* 803AC038 003A8F98 38 00 00 00 */ li r0, 0
/* 803AC03C 003A8F9C B0 13 00 70 */ sth r0, 0x70(r19)
/* 803AC040 003A8FA0 B0 13 00 9E */ sth r0, 0x9e(r19)
/* 803AC044 003A8FA4 80 7D 00 7C */ lwz r3, 0x7c(r29)
/* 803AC048 003A8FA8 B0 13 00 A4 */ sth r0, 0xa4(r19)
/* 803AC04C 003A8FAC B0 13 00 A2 */ sth r0, 0xa2(r19)
/* 803AC050 003A8FB0 88 83 00 02 */ lbz r4, 2(r3)
/* 803AC054 003A8FB4 B0 93 00 A0 */ sth r4, 0xa0(r19)
/* 803AC058 003A8FB8 A8 83 00 08 */ lha r4, 8(r3)
/* 803AC05C 003A8FBC B0 93 00 7E */ sth r4, 0x7e(r19)
/* 803AC060 003A8FC0 A8 83 00 0A */ lha r4, 0xa(r3)
/* 803AC064 003A8FC4 B0 93 00 80 */ sth r4, 0x80(r19)
/* 803AC068 003A8FC8 A8 83 00 0C */ lha r4, 0xc(r3)
/* 803AC06C 003A8FCC B0 93 00 82 */ sth r4, 0x82(r19)
/* 803AC070 003A8FD0 A8 83 00 0E */ lha r4, 0xe(r3)
/* 803AC074 003A8FD4 B0 93 00 84 */ sth r4, 0x84(r19)
/* 803AC078 003A8FD8 A8 83 00 10 */ lha r4, 0x10(r3)
/* 803AC07C 003A8FDC B0 93 00 86 */ sth r4, 0x86(r19)
/* 803AC080 003A8FE0 A8 83 00 12 */ lha r4, 0x12(r3)
/* 803AC084 003A8FE4 B0 93 00 88 */ sth r4, 0x88(r19)
/* 803AC088 003A8FE8 A8 83 00 14 */ lha r4, 0x14(r3)
/* 803AC08C 003A8FEC B0 93 00 8A */ sth r4, 0x8a(r19)
/* 803AC090 003A8FF0 A8 83 00 16 */ lha r4, 0x16(r3)
/* 803AC094 003A8FF4 B0 93 00 8C */ sth r4, 0x8c(r19)
/* 803AC098 003A8FF8 A8 83 00 18 */ lha r4, 0x18(r3)
/* 803AC09C 003A8FFC B0 93 00 8E */ sth r4, 0x8e(r19)
/* 803AC0A0 003A9000 A8 83 00 1A */ lha r4, 0x1a(r3)
/* 803AC0A4 003A9004 B0 93 00 90 */ sth r4, 0x90(r19)
/* 803AC0A8 003A9008 A8 83 00 1C */ lha r4, 0x1c(r3)
/* 803AC0AC 003A900C B0 93 00 92 */ sth r4, 0x92(r19)
/* 803AC0B0 003A9010 A8 83 00 1E */ lha r4, 0x1e(r3)
/* 803AC0B4 003A9014 B0 93 00 94 */ sth r4, 0x94(r19)
/* 803AC0B8 003A9018 A8 83 00 20 */ lha r4, 0x20(r3)
/* 803AC0BC 003A901C B0 93 00 96 */ sth r4, 0x96(r19)
/* 803AC0C0 003A9020 A8 83 00 22 */ lha r4, 0x22(r3)
/* 803AC0C4 003A9024 B0 93 00 98 */ sth r4, 0x98(r19)
/* 803AC0C8 003A9028 A8 83 00 24 */ lha r4, 0x24(r3)
/* 803AC0CC 003A902C B0 93 00 9A */ sth r4, 0x9a(r19)
/* 803AC0D0 003A9030 A8 83 00 26 */ lha r4, 0x26(r3)
/* 803AC0D4 003A9034 B0 93 00 9C */ sth r4, 0x9c(r19)
/* 803AC0D8 003A9038 80 9D 00 78 */ lwz r4, 0x78(r29)
/* 803AC0DC 003A903C 90 1D 00 DC */ stw r0, 0xdc(r29)
/* 803AC0E0 003A9040 54 98 08 3C */ slwi r24, r4, 1
/* 803AC0E4 003A9044 3B 38 00 02 */ addi r25, r24, 2
/* 803AC0E8 003A9048 90 1D 00 D8 */ stw r0, 0xd8(r29)
/* 803AC0EC 003A904C 88 9D 00 90 */ lbz r4, 0x90(r29)
/* 803AC0F0 003A9050 28 04 00 04 */ cmplwi r4, 4
/* 803AC0F4 003A9054 41 82 00 0C */ beq lbl_803AC100
/* 803AC0F8 003A9058 28 04 00 05 */ cmplwi r4, 5
/* 803AC0FC 003A905C 40 82 00 10 */ bne lbl_803AC10C
lbl_803AC100:
/* 803AC100 003A9060 38 00 00 01 */ li r0, 1
/* 803AC104 003A9064 B0 13 00 10 */ sth r0, 0x10(r19)
/* 803AC108 003A9068 48 00 02 0C */ b lbl_803AC314
lbl_803AC10C:
/* 803AC10C 003A906C A8 83 00 04 */ lha r4, 4(r3)
/* 803AC110 003A9070 B0 93 00 B8 */ sth r4, 0xb8(r19)
/* 803AC114 003A9074 A8 83 00 06 */ lha r4, 6(r3)
/* 803AC118 003A9078 B0 93 00 B6 */ sth r4, 0xb6(r19)
/* 803AC11C 003A907C 88 63 00 03 */ lbz r3, 3(r3)
/* 803AC120 003A9080 B0 73 00 B4 */ sth r3, 0xb4(r19)
/* 803AC124 003A9084 B0 13 00 10 */ sth r0, 0x10(r19)
/* 803AC128 003A9088 48 00 01 EC */ b lbl_803AC314
lbl_803AC12C:
/* 803AC12C 003A908C 38 00 00 00 */ li r0, 0
/* 803AC130 003A9090 3C 60 24 92 */ lis r3, 0x24924925@ha
/* 803AC134 003A9094 B0 13 00 70 */ sth r0, 0x70(r19)
/* 803AC138 003A9098 38 A3 49 25 */ addi r5, r3, 0x24924925@l
/* 803AC13C 003A909C B0 13 00 9E */ sth r0, 0x9e(r19)
/* 803AC140 003A90A0 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 803AC144 003A90A4 80 7D 00 7C */ lwz r3, 0x7c(r29)
/* 803AC148 003A90A8 38 84 00 0D */ addi r4, r4, 0xd
/* 803AC14C 003A90AC 7C A5 20 16 */ mulhwu r5, r5, r4
/* 803AC150 003A90B0 7C 85 20 50 */ subf r4, r5, r4
/* 803AC154 003A90B4 54 84 F8 7E */ srwi r4, r4, 1
/* 803AC158 003A90B8 7C 84 2A 14 */ add r4, r4, r5
/* 803AC15C 003A90BC 54 87 E8 FE */ srwi r7, r4, 3
/* 803AC160 003A90C0 1C A7 00 06 */ mulli r5, r7, 6
/* 803AC164 003A90C4 54 84 08 36 */ rlwinm r4, r4, 1, 0, 0x1b
/* 803AC168 003A90C8 3B 24 00 02 */ addi r25, r4, 2
/* 803AC16C 003A90CC 7C C3 2A 14 */ add r6, r3, r5
/* 803AC170 003A90D0 A8 A6 00 28 */ lha r5, 0x28(r6)
/* 803AC174 003A90D4 1C 87 00 0E */ mulli r4, r7, 0xe
/* 803AC178 003A90D8 B0 B3 00 A4 */ sth r5, 0xa4(r19)
/* 803AC17C 003A90DC A8 A6 00 2A */ lha r5, 0x2a(r6)
/* 803AC180 003A90E0 B0 B3 00 A2 */ sth r5, 0xa2(r19)
/* 803AC184 003A90E4 88 A6 00 2C */ lbz r5, 0x2c(r6)
/* 803AC188 003A90E8 B0 B3 00 A0 */ sth r5, 0xa0(r19)
/* 803AC18C 003A90EC A8 A3 00 04 */ lha r5, 4(r3)
/* 803AC190 003A90F0 B0 B3 00 B8 */ sth r5, 0xb8(r19)
/* 803AC194 003A90F4 A8 A3 00 06 */ lha r5, 6(r3)
/* 803AC198 003A90F8 B0 B3 00 B6 */ sth r5, 0xb6(r19)
/* 803AC19C 003A90FC 88 A3 00 03 */ lbz r5, 3(r3)
/* 803AC1A0 003A9100 B0 B3 00 B4 */ sth r5, 0xb4(r19)
/* 803AC1A4 003A9104 A8 A3 00 08 */ lha r5, 8(r3)
/* 803AC1A8 003A9108 B0 B3 00 7E */ sth r5, 0x7e(r19)
/* 803AC1AC 003A910C A8 A3 00 0A */ lha r5, 0xa(r3)
/* 803AC1B0 003A9110 B0 B3 00 80 */ sth r5, 0x80(r19)
/* 803AC1B4 003A9114 A8 A3 00 0C */ lha r5, 0xc(r3)
/* 803AC1B8 003A9118 B0 B3 00 82 */ sth r5, 0x82(r19)
/* 803AC1BC 003A911C A8 A3 00 0E */ lha r5, 0xe(r3)
/* 803AC1C0 003A9120 B0 B3 00 84 */ sth r5, 0x84(r19)
/* 803AC1C4 003A9124 A8 A3 00 10 */ lha r5, 0x10(r3)
/* 803AC1C8 003A9128 B0 B3 00 86 */ sth r5, 0x86(r19)
/* 803AC1CC 003A912C A8 A3 00 12 */ lha r5, 0x12(r3)
/* 803AC1D0 003A9130 B0 B3 00 88 */ sth r5, 0x88(r19)
/* 803AC1D4 003A9134 A8 A3 00 14 */ lha r5, 0x14(r3)
/* 803AC1D8 003A9138 B0 B3 00 8A */ sth r5, 0x8a(r19)
/* 803AC1DC 003A913C A8 A3 00 16 */ lha r5, 0x16(r3)
/* 803AC1E0 003A9140 B0 B3 00 8C */ sth r5, 0x8c(r19)
/* 803AC1E4 003A9144 A8 A3 00 18 */ lha r5, 0x18(r3)
/* 803AC1E8 003A9148 B0 B3 00 8E */ sth r5, 0x8e(r19)
/* 803AC1EC 003A914C A8 A3 00 1A */ lha r5, 0x1a(r3)
/* 803AC1F0 003A9150 B0 B3 00 90 */ sth r5, 0x90(r19)
/* 803AC1F4 003A9154 A8 A3 00 1C */ lha r5, 0x1c(r3)
/* 803AC1F8 003A9158 B0 B3 00 92 */ sth r5, 0x92(r19)
/* 803AC1FC 003A915C A8 A3 00 1E */ lha r5, 0x1e(r3)
/* 803AC200 003A9160 B0 B3 00 94 */ sth r5, 0x94(r19)
/* 803AC204 003A9164 A8 A3 00 20 */ lha r5, 0x20(r3)
/* 803AC208 003A9168 B0 B3 00 96 */ sth r5, 0x96(r19)
/* 803AC20C 003A916C A8 A3 00 22 */ lha r5, 0x22(r3)
/* 803AC210 003A9170 B0 B3 00 98 */ sth r5, 0x98(r19)
/* 803AC214 003A9174 A8 A3 00 24 */ lha r5, 0x24(r3)
/* 803AC218 003A9178 B0 B3 00 9A */ sth r5, 0x9a(r19)
/* 803AC21C 003A917C A8 63 00 26 */ lha r3, 0x26(r3)
/* 803AC220 003A9180 B0 73 00 9C */ sth r3, 0x9c(r19)
/* 803AC224 003A9184 80 7D 00 78 */ lwz r3, 0x78(r29)
/* 803AC228 003A9188 90 9D 00 D8 */ stw r4, 0xd8(r29)
/* 803AC22C 003A918C 54 78 08 3C */ slwi r24, r3, 1
/* 803AC230 003A9190 7F 38 CA 14 */ add r25, r24, r25
/* 803AC234 003A9194 90 1D 00 DC */ stw r0, 0xdc(r29)
/* 803AC238 003A9198 48 00 00 DC */ b lbl_803AC314
lbl_803AC23C:
/* 803AC23C 003A919C 38 00 00 19 */ li r0, 0x19
/* 803AC240 003A91A0 38 60 01 00 */ li r3, 0x100
/* 803AC244 003A91A4 B0 13 00 70 */ sth r0, 0x70(r19)
/* 803AC248 003A91A8 38 00 00 00 */ li r0, 0
/* 803AC24C 003A91AC B0 73 00 9E */ sth r3, 0x9e(r19)
/* 803AC250 003A91B0 B0 13 00 7E */ sth r0, 0x7e(r19)
/* 803AC254 003A91B4 B0 13 00 80 */ sth r0, 0x80(r19)
/* 803AC258 003A91B8 B0 13 00 82 */ sth r0, 0x82(r19)
/* 803AC25C 003A91BC B0 13 00 84 */ sth r0, 0x84(r19)
/* 803AC260 003A91C0 B0 13 00 86 */ sth r0, 0x86(r19)
/* 803AC264 003A91C4 B0 13 00 88 */ sth r0, 0x88(r19)
/* 803AC268 003A91C8 B0 13 00 8A */ sth r0, 0x8a(r19)
/* 803AC26C 003A91CC B0 13 00 8C */ sth r0, 0x8c(r19)
/* 803AC270 003A91D0 B0 13 00 8E */ sth r0, 0x8e(r19)
/* 803AC274 003A91D4 B0 13 00 90 */ sth r0, 0x90(r19)
/* 803AC278 003A91D8 B0 13 00 92 */ sth r0, 0x92(r19)
/* 803AC27C 003A91DC B0 13 00 94 */ sth r0, 0x94(r19)
/* 803AC280 003A91E0 B0 13 00 96 */ sth r0, 0x96(r19)
/* 803AC284 003A91E4 B0 13 00 98 */ sth r0, 0x98(r19)
/* 803AC288 003A91E8 B0 13 00 9A */ sth r0, 0x9a(r19)
/* 803AC28C 003A91EC B0 13 00 9C */ sth r0, 0x9c(r19)
/* 803AC290 003A91F0 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 803AC294 003A91F4 83 1D 00 78 */ lwz r24, 0x78(r29)
/* 803AC298 003A91F8 90 7D 00 D8 */ stw r3, 0xd8(r29)
/* 803AC29C 003A91FC 7F 23 C2 14 */ add r25, r3, r24
/* 803AC2A0 003A9200 90 1D 00 DC */ stw r0, 0xdc(r29)
/* 803AC2A4 003A9204 48 00 00 70 */ b lbl_803AC314
lbl_803AC2A8:
/* 803AC2A8 003A9208 38 60 00 0A */ li r3, 0xa
/* 803AC2AC 003A920C 38 00 08 00 */ li r0, 0x800
/* 803AC2B0 003A9210 B0 73 00 70 */ sth r3, 0x70(r19)
/* 803AC2B4 003A9214 38 60 00 00 */ li r3, 0
/* 803AC2B8 003A9218 B0 13 00 9E */ sth r0, 0x9e(r19)
/* 803AC2BC 003A921C B0 73 00 7E */ sth r3, 0x7e(r19)
/* 803AC2C0 003A9220 B0 73 00 80 */ sth r3, 0x80(r19)
/* 803AC2C4 003A9224 B0 73 00 82 */ sth r3, 0x82(r19)
/* 803AC2C8 003A9228 B0 73 00 84 */ sth r3, 0x84(r19)
/* 803AC2CC 003A922C B0 73 00 86 */ sth r3, 0x86(r19)
/* 803AC2D0 003A9230 B0 73 00 88 */ sth r3, 0x88(r19)
/* 803AC2D4 003A9234 B0 73 00 8A */ sth r3, 0x8a(r19)
/* 803AC2D8 003A9238 B0 73 00 8C */ sth r3, 0x8c(r19)
/* 803AC2DC 003A923C B0 73 00 8E */ sth r3, 0x8e(r19)
/* 803AC2E0 003A9240 B0 73 00 90 */ sth r3, 0x90(r19)
/* 803AC2E4 003A9244 B0 73 00 92 */ sth r3, 0x92(r19)
/* 803AC2E8 003A9248 B0 73 00 94 */ sth r3, 0x94(r19)
/* 803AC2EC 003A924C B0 73 00 96 */ sth r3, 0x96(r19)
/* 803AC2F0 003A9250 B0 73 00 98 */ sth r3, 0x98(r19)
/* 803AC2F4 003A9254 B0 73 00 9A */ sth r3, 0x9a(r19)
/* 803AC2F8 003A9258 B0 73 00 9C */ sth r3, 0x9c(r19)
/* 803AC2FC 003A925C 80 1D 00 78 */ lwz r0, 0x78(r29)
/* 803AC300 003A9260 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 803AC304 003A9264 54 18 F8 7E */ srwi r24, r0, 1
/* 803AC308 003A9268 90 9D 00 D8 */ stw r4, 0xd8(r29)
/* 803AC30C 003A926C 7F 24 C2 14 */ add r25, r4, r24
/* 803AC310 003A9270 90 7D 00 DC */ stw r3, 0xdc(r29)
lbl_803AC314:
/* 803AC314 003A9274 57 20 84 3E */ srwi r0, r25, 0x10
/* 803AC318 003A9278 B0 13 00 7A */ sth r0, 0x7a(r19)
/* 803AC31C 003A927C B3 33 00 7C */ sth r25, 0x7c(r19)
/* 803AC320 003A9280 93 3D 00 20 */ stw r25, 0x20(r29)
/* 803AC324 003A9284 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 803AC328 003A9288 28 00 00 00 */ cmplwi r0, 0
/* 803AC32C 003A928C 41 82 01 48 */ beq lbl_803AC474
/* 803AC330 003A9290 38 00 00 01 */ li r0, 1
/* 803AC334 003A9294 B0 13 00 6E */ sth r0, 0x6e(r19)
/* 803AC338 003A9298 88 1D 00 90 */ lbz r0, 0x90(r29)
/* 803AC33C 003A929C 2C 00 00 04 */ cmpwi r0, 4
/* 803AC340 003A92A0 41 82 00 28 */ beq lbl_803AC368
/* 803AC344 003A92A4 40 80 00 18 */ bge lbl_803AC35C
/* 803AC348 003A92A8 2C 00 00 02 */ cmpwi r0, 2
/* 803AC34C 003A92AC 40 80 00 EC */ bge lbl_803AC438
/* 803AC350 003A92B0 2C 00 00 00 */ cmpwi r0, 0
/* 803AC354 003A92B4 40 80 00 14 */ bge lbl_803AC368
/* 803AC358 003A92B8 48 00 00 E0 */ b lbl_803AC438
lbl_803AC35C:
/* 803AC35C 003A92BC 2C 00 00 06 */ cmpwi r0, 6
/* 803AC360 003A92C0 40 80 00 D8 */ bge lbl_803AC438
/* 803AC364 003A92C4 48 00 00 78 */ b lbl_803AC3DC
lbl_803AC368:
/* 803AC368 003A92C8 80 7D 00 8C */ lwz r3, 0x8c(r29)
/* 803AC36C 003A92CC 3C 80 24 92 */ lis r4, 0x24924925@ha
/* 803AC370 003A92D0 80 1D 00 88 */ lwz r0, 0x88(r29)
/* 803AC374 003A92D4 38 84 49 25 */ addi r4, r4, 0x24924925@l
/* 803AC378 003A92D8 38 63 FF FF */ addi r3, r3, -1
/* 803AC37C 003A92DC 7C C4 00 16 */ mulhwu r6, r4, r0
/* 803AC380 003A92E0 7C 60 1A 14 */ add r3, r0, r3
/* 803AC384 003A92E4 7C A4 18 16 */ mulhwu r5, r4, r3
/* 803AC388 003A92E8 7C 86 00 50 */ subf r4, r6, r0
/* 803AC38C 003A92EC 54 84 F8 7E */ srwi r4, r4, 1
/* 803AC390 003A92F0 7C C4 32 14 */ add r6, r4, r6
/* 803AC394 003A92F4 7C 85 18 50 */ subf r4, r5, r3
/* 803AC398 003A92F8 54 84 F8 7E */ srwi r4, r4, 1
/* 803AC39C 003A92FC 54 C7 E8 FE */ srwi r7, r6, 3
/* 803AC3A0 003A9300 7C 84 2A 14 */ add r4, r4, r5
/* 803AC3A4 003A9304 54 C5 08 36 */ rlwinm r5, r6, 1, 0, 0x1b
/* 803AC3A8 003A9308 1C C7 00 0E */ mulli r6, r7, 0xe
/* 803AC3AC 003A930C 54 87 E8 FE */ srwi r7, r4, 3
/* 803AC3B0 003A9310 54 84 08 36 */ rlwinm r4, r4, 1, 0, 0x1b
/* 803AC3B4 003A9314 38 84 00 02 */ addi r4, r4, 2
/* 803AC3B8 003A9318 38 A5 00 02 */ addi r5, r5, 2
/* 803AC3BC 003A931C 7C 06 00 50 */ subf r0, r6, r0
/* 803AC3C0 003A9320 7C 05 02 14 */ add r0, r5, r0
/* 803AC3C4 003A9324 7C 98 22 14 */ add r4, r24, r4
/* 803AC3C8 003A9328 1C A7 00 0E */ mulli r5, r7, 0xe
/* 803AC3CC 003A932C 7C 18 02 14 */ add r0, r24, r0
/* 803AC3D0 003A9330 7C 85 20 50 */ subf r4, r5, r4
/* 803AC3D4 003A9334 7C A3 22 14 */ add r5, r3, r4
/* 803AC3D8 003A9338 48 00 00 78 */ b lbl_803AC450
lbl_803AC3DC:
/* 803AC3DC 003A933C 80 9D 00 8C */ lwz r4, 0x8c(r29)
/* 803AC3E0 003A9340 3C 60 24 92 */ lis r3, 0x24924925@ha
/* 803AC3E4 003A9344 80 1D 00 88 */ lwz r0, 0x88(r29)
/* 803AC3E8 003A9348 38 63 49 25 */ addi r3, r3, 0x24924925@l
/* 803AC3EC 003A934C 38 C4 FF FF */ addi r6, r4, -1
/* 803AC3F0 003A9350 80 BD 00 94 */ lwz r5, 0x94(r29)
/* 803AC3F4 003A9354 7C C0 32 14 */ add r6, r0, r6
/* 803AC3F8 003A9358 38 00 00 00 */ li r0, 0
/* 803AC3FC 003A935C 7C 83 30 16 */ mulhwu r4, r3, r6
/* 803AC400 003A9360 54 A3 08 3C */ slwi r3, r5, 1
/* 803AC404 003A9364 98 1D 00 9C */ stb r0, 0x9c(r29)
/* 803AC408 003A9368 38 03 00 02 */ addi r0, r3, 2
/* 803AC40C 003A936C 7C 64 30 50 */ subf r3, r4, r6
/* 803AC410 003A9370 54 63 F8 7E */ srwi r3, r3, 1
/* 803AC414 003A9374 7C 63 22 14 */ add r3, r3, r4
/* 803AC418 003A9378 54 64 E8 FE */ srwi r4, r3, 3
/* 803AC41C 003A937C 54 63 08 36 */ rlwinm r3, r3, 1, 0, 0x1b
/* 803AC420 003A9380 38 63 00 02 */ addi r3, r3, 2
/* 803AC424 003A9384 1C 84 00 0E */ mulli r4, r4, 0xe
/* 803AC428 003A9388 7C 78 1A 14 */ add r3, r24, r3
/* 803AC42C 003A938C 7C 64 18 50 */ subf r3, r4, r3
/* 803AC430 003A9390 7C A6 1A 14 */ add r5, r6, r3
/* 803AC434 003A9394 48 00 00 1C */ b lbl_803AC450
lbl_803AC438:
/* 803AC438 003A9398 80 1D 00 88 */ lwz r0, 0x88(r29)
/* 803AC43C 003A939C 80 7D 00 8C */ lwz r3, 0x8c(r29)
/* 803AC440 003A93A0 7C 98 02 14 */ add r4, r24, r0
/* 803AC444 003A93A4 38 A4 FF FF */ addi r5, r4, -1
/* 803AC448 003A93A8 7C 80 23 78 */ mr r0, r4
/* 803AC44C 003A93AC 7C A3 2A 14 */ add r5, r3, r5
lbl_803AC450:
/* 803AC450 003A93B0 54 03 84 3E */ srwi r3, r0, 0x10
/* 803AC454 003A93B4 54 A4 84 3E */ srwi r4, r5, 0x10
/* 803AC458 003A93B8 B0 73 00 72 */ sth r3, 0x72(r19)
/* 803AC45C 003A93BC 38 60 00 00 */ li r3, 0
/* 803AC460 003A93C0 B0 13 00 74 */ sth r0, 0x74(r19)
/* 803AC464 003A93C4 B0 93 00 76 */ sth r4, 0x76(r19)
/* 803AC468 003A93C8 B0 B3 00 78 */ sth r5, 0x78(r19)
/* 803AC46C 003A93CC B0 73 00 BA */ sth r3, 0xba(r19)
/* 803AC470 003A93D0 48 00 00 B8 */ b lbl_803AC528
lbl_803AC474:
/* 803AC474 003A93D4 38 00 00 00 */ li r0, 0
/* 803AC478 003A93D8 B0 13 00 6E */ sth r0, 0x6e(r19)
/* 803AC47C 003A93DC 88 1D 00 90 */ lbz r0, 0x90(r29)
/* 803AC480 003A93E0 2C 00 00 03 */ cmpwi r0, 3
/* 803AC484 003A93E4 41 82 00 6C */ beq lbl_803AC4F0
/* 803AC488 003A93E8 40 80 00 18 */ bge lbl_803AC4A0
/* 803AC48C 003A93EC 2C 00 00 02 */ cmpwi r0, 2
/* 803AC490 003A93F0 40 80 00 70 */ bge lbl_803AC500
/* 803AC494 003A93F4 2C 00 00 00 */ cmpwi r0, 0
/* 803AC498 003A93F8 40 80 00 10 */ bge lbl_803AC4A8
/* 803AC49C 003A93FC 48 00 00 74 */ b lbl_803AC510
lbl_803AC4A0:
/* 803AC4A0 003A9400 2C 00 00 06 */ cmpwi r0, 6
/* 803AC4A4 003A9404 40 80 00 6C */ bge lbl_803AC510
lbl_803AC4A8:
/* 803AC4A8 003A9408 3C 60 24 92 */ lis r3, 0x24924925@ha
/* 803AC4AC 003A940C 80 BD 00 84 */ lwz r5, 0x84(r29)
/* 803AC4B0 003A9410 38 63 49 25 */ addi r3, r3, 0x24924925@l
/* 803AC4B4 003A9414 80 0D AF 20 */ lwz r0, lbl_805A9AE0@sda21(r13)
/* 803AC4B8 003A9418 7C 83 28 16 */ mulhwu r4, r3, r5
/* 803AC4BC 003A941C 54 03 08 3C */ slwi r3, r0, 1
/* 803AC4C0 003A9420 39 E3 00 02 */ addi r15, r3, 2
/* 803AC4C4 003A9424 7C 04 28 50 */ subf r0, r4, r5
/* 803AC4C8 003A9428 54 00 F8 7E */ srwi r0, r0, 1
/* 803AC4CC 003A942C 7C 00 22 14 */ add r0, r0, r4
/* 803AC4D0 003A9430 54 03 E8 FE */ srwi r3, r0, 3
/* 803AC4D4 003A9434 1C 83 00 0E */ mulli r4, r3, 0xe
/* 803AC4D8 003A9438 54 03 08 36 */ rlwinm r3, r0, 1, 0, 0x1b
/* 803AC4DC 003A943C 38 03 00 02 */ addi r0, r3, 2
/* 803AC4E0 003A9440 7C 64 28 50 */ subf r3, r4, r5
/* 803AC4E4 003A9444 7F 40 1A 14 */ add r26, r0, r3
/* 803AC4E8 003A9448 7F 58 D2 14 */ add r26, r24, r26
/* 803AC4EC 003A944C 48 00 00 24 */ b lbl_803AC510
lbl_803AC4F0:
/* 803AC4F0 003A9450 80 1D 00 84 */ lwz r0, 0x84(r29)
/* 803AC4F4 003A9454 81 ED AF 20 */ lwz r15, lbl_805A9AE0@sda21(r13)
/* 803AC4F8 003A9458 7F 58 02 14 */ add r26, r24, r0
/* 803AC4FC 003A945C 48 00 00 14 */ b lbl_803AC510
lbl_803AC500:
/* 803AC500 003A9460 80 7D 00 84 */ lwz r3, 0x84(r29)
/* 803AC504 003A9464 80 0D AF 20 */ lwz r0, lbl_805A9AE0@sda21(r13)
/* 803AC508 003A9468 7F 58 1A 14 */ add r26, r24, r3
/* 803AC50C 003A946C 54 0F F8 7E */ srwi r15, r0, 1
lbl_803AC510:
/* 803AC510 003A9470 55 E3 84 3E */ srwi r3, r15, 0x10
/* 803AC514 003A9474 57 40 84 3E */ srwi r0, r26, 0x10
/* 803AC518 003A9478 B0 73 00 72 */ sth r3, 0x72(r19)
/* 803AC51C 003A947C B1 F3 00 74 */ sth r15, 0x74(r19)
/* 803AC520 003A9480 B0 13 00 76 */ sth r0, 0x76(r19)
/* 803AC524 003A9484 B3 53 00 78 */ sth r26, 0x78(r19)
lbl_803AC528:
/* 803AC528 003A9488 A0 7D 00 CC */ lhz r3, 0xcc(r29)
/* 803AC52C 003A948C 38 00 00 00 */ li r0, 0
/* 803AC530 003A9490 B0 73 00 08 */ sth r3, 8(r19)
/* 803AC534 003A9494 A0 7D 00 CE */ lhz r3, 0xce(r29)
/* 803AC538 003A9498 B0 73 00 0A */ sth r3, 0xa(r19)
/* 803AC53C 003A949C 8B 7D 00 D4 */ lbz r27, 0xd4(r29)
/* 803AC540 003A94A0 7F 63 00 34 */ cntlzw r3, r27
/* 803AC544 003A94A4 54 63 DC 3E */ rlwinm r3, r3, 0x1b, 0x10, 0x1f
/* 803AC548 003A94A8 B0 73 00 0E */ sth r3, 0xe(r19)
/* 803AC54C 003A94AC A0 7D 00 4C */ lhz r3, 0x4c(r29)
/* 803AC550 003A94B0 B0 7D 00 5E */ sth r3, 0x5e(r29)
/* 803AC554 003A94B4 B0 73 00 12 */ sth r3, 0x12(r19)
/* 803AC558 003A94B8 A0 7D 00 4E */ lhz r3, 0x4e(r29)
/* 803AC55C 003A94BC B0 7D 00 60 */ sth r3, 0x60(r29)
/* 803AC560 003A94C0 B0 73 00 16 */ sth r3, 0x16(r19)
/* 803AC564 003A94C4 A0 7D 00 50 */ lhz r3, 0x50(r29)
/* 803AC568 003A94C8 B0 7D 00 62 */ sth r3, 0x62(r29)
/* 803AC56C 003A94CC B0 73 00 2E */ sth r3, 0x2e(r19)
/* 803AC570 003A94D0 A0 7D 00 52 */ lhz r3, 0x52(r29)
/* 803AC574 003A94D4 B0 7D 00 64 */ sth r3, 0x64(r29)
/* 803AC578 003A94D8 B0 73 00 1A */ sth r3, 0x1a(r19)
/* 803AC57C 003A94DC A0 7D 00 54 */ lhz r3, 0x54(r29)
/* 803AC580 003A94E0 B0 7D 00 66 */ sth r3, 0x66(r29)
/* 803AC584 003A94E4 B0 73 00 1E */ sth r3, 0x1e(r19)
/* 803AC588 003A94E8 A0 7D 00 56 */ lhz r3, 0x56(r29)
/* 803AC58C 003A94EC B0 7D 00 68 */ sth r3, 0x68(r29)
/* 803AC590 003A94F0 B0 73 00 32 */ sth r3, 0x32(r19)
/* 803AC594 003A94F4 A0 93 00 1A */ lhz r4, 0x1a(r19)
/* 803AC598 003A94F8 A0 73 00 1E */ lhz r3, 0x1e(r19)
/* 803AC59C 003A94FC A0 B3 00 32 */ lhz r5, 0x32(r19)
/* 803AC5A0 003A9500 7C 83 1B 78 */ or r3, r4, r3
/* 803AC5A4 003A9504 7C A4 1B 78 */ or r4, r5, r3
/* 803AC5A8 003A9508 7C 64 00 D0 */ neg r3, r4
/* 803AC5AC 003A950C 7C 63 23 78 */ or r3, r3, r4
/* 803AC5B0 003A9510 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803AC5B4 003A9514 B0 73 00 0C */ sth r3, 0xc(r19)
/* 803AC5B8 003A9518 A0 7D 00 58 */ lhz r3, 0x58(r29)
/* 803AC5BC 003A951C B0 7D 00 6A */ sth r3, 0x6a(r29)
/* 803AC5C0 003A9520 B0 73 00 22 */ sth r3, 0x22(r19)
/* 803AC5C4 003A9524 A0 7D 00 5A */ lhz r3, 0x5a(r29)
/* 803AC5C8 003A9528 B0 7D 00 6C */ sth r3, 0x6c(r29)
/* 803AC5CC 003A952C B0 73 00 26 */ sth r3, 0x26(r19)
/* 803AC5D0 003A9530 A0 7D 00 5C */ lhz r3, 0x5c(r29)
/* 803AC5D4 003A9534 B0 7D 00 6E */ sth r3, 0x6e(r29)
/* 803AC5D8 003A9538 B0 73 00 2A */ sth r3, 0x2a(r19)
/* 803AC5DC 003A953C B0 13 00 14 */ sth r0, 0x14(r19)
/* 803AC5E0 003A9540 B0 13 00 18 */ sth r0, 0x18(r19)
/* 803AC5E4 003A9544 B0 13 00 30 */ sth r0, 0x30(r19)
/* 803AC5E8 003A9548 B0 13 00 1C */ sth r0, 0x1c(r19)
/* 803AC5EC 003A954C B0 13 00 20 */ sth r0, 0x20(r19)
/* 803AC5F0 003A9550 B0 13 00 34 */ sth r0, 0x34(r19)
/* 803AC5F4 003A9554 B0 13 00 24 */ sth r0, 0x24(r19)
/* 803AC5F8 003A9558 B0 13 00 28 */ sth r0, 0x28(r19)
/* 803AC5FC 003A955C B0 13 00 2C */ sth r0, 0x2c(r19)
/* 803AC600 003A9560 80 10 00 54 */ lwz r0, 0x54(r16)
/* 803AC604 003A9564 2C 00 00 00 */ cmpwi r0, 0
/* 803AC608 003A9568 40 82 00 50 */ bne lbl_803AC658
/* 803AC60C 003A956C A0 73 00 22 */ lhz r3, 0x22(r19)
/* 803AC610 003A9570 A0 13 00 26 */ lhz r0, 0x26(r19)
/* 803AC614 003A9574 A0 93 00 2A */ lhz r4, 0x2a(r19)
/* 803AC618 003A9578 7C 60 03 78 */ or r0, r3, r0
/* 803AC61C 003A957C 7C 80 03 79 */ or. r0, r4, r0
/* 803AC620 003A9580 41 82 00 10 */ beq lbl_803AC630
/* 803AC624 003A9584 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC628 003A9588 60 00 00 02 */ ori r0, r0, 2
/* 803AC62C 003A958C B0 13 00 0C */ sth r0, 0xc(r19)
lbl_803AC630:
/* 803AC630 003A9590 A0 73 00 2E */ lhz r3, 0x2e(r19)
/* 803AC634 003A9594 A0 13 00 32 */ lhz r0, 0x32(r19)
/* 803AC638 003A9598 A0 93 00 2A */ lhz r4, 0x2a(r19)
/* 803AC63C 003A959C 7C 60 03 78 */ or r0, r3, r0
/* 803AC640 003A95A0 7C 80 03 79 */ or. r0, r4, r0
/* 803AC644 003A95A4 41 82 00 38 */ beq lbl_803AC67C
/* 803AC648 003A95A8 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC64C 003A95AC 60 00 00 04 */ ori r0, r0, 4
/* 803AC650 003A95B0 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803AC654 003A95B4 48 00 00 28 */ b lbl_803AC67C
lbl_803AC658:
/* 803AC658 003A95B8 A0 73 00 22 */ lhz r3, 0x22(r19)
/* 803AC65C 003A95BC A0 13 00 26 */ lhz r0, 0x26(r19)
/* 803AC660 003A95C0 A0 93 00 32 */ lhz r4, 0x32(r19)
/* 803AC664 003A95C4 7C 60 03 78 */ or r0, r3, r0
/* 803AC668 003A95C8 7C 80 03 79 */ or. r0, r4, r0
/* 803AC66C 003A95CC 41 82 00 10 */ beq lbl_803AC67C
/* 803AC670 003A95D0 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC674 003A95D4 60 00 00 10 */ ori r0, r0, 0x10
/* 803AC678 003A95D8 B0 13 00 0C */ sth r0, 0xc(r19)
lbl_803AC67C:
/* 803AC67C 003A95DC 38 60 00 02 */ li r3, 2
/* 803AC680 003A95E0 38 00 00 01 */ li r0, 1
/* 803AC684 003A95E4 90 01 00 20 */ stw r0, 0x20(r1)
/* 803AC688 003A95E8 98 7D 00 EC */ stb r3, 0xec(r29)
/* 803AC68C 003A95EC 48 00 06 90 */ b lbl_803ACD1C
lbl_803AC690:
/* 803AC690 003A95F0 88 1D 00 90 */ lbz r0, 0x90(r29)
/* 803AC694 003A95F4 28 00 00 04 */ cmplwi r0, 4
/* 803AC698 003A95F8 41 82 00 0C */ beq lbl_803AC6A4
/* 803AC69C 003A95FC 28 00 00 05 */ cmplwi r0, 5
/* 803AC6A0 003A9600 40 82 00 8C */ bne lbl_803AC72C
lbl_803AC6A4:
/* 803AC6A4 003A9604 88 1D 00 A0 */ lbz r0, 0xa0(r29)
/* 803AC6A8 003A9608 B0 13 00 B4 */ sth r0, 0xb4(r19)
/* 803AC6AC 003A960C 88 1D 00 90 */ lbz r0, 0x90(r29)
/* 803AC6B0 003A9610 28 00 00 05 */ cmplwi r0, 5
/* 803AC6B4 003A9614 40 82 00 78 */ bne lbl_803AC72C
/* 803AC6B8 003A9618 88 1D 00 9C */ lbz r0, 0x9c(r29)
/* 803AC6BC 003A961C 28 00 00 00 */ cmplwi r0, 0
/* 803AC6C0 003A9620 40 82 00 6C */ bne lbl_803AC72C
/* 803AC6C4 003A9624 A0 13 00 BA */ lhz r0, 0xba(r19)
/* 803AC6C8 003A9628 28 00 00 00 */ cmplwi r0, 0
/* 803AC6CC 003A962C 41 82 00 60 */ beq lbl_803AC72C
/* 803AC6D0 003A9630 80 9D 00 98 */ lwz r4, 0x98(r29)
/* 803AC6D4 003A9634 3C 60 24 92 */ lis r3, 0x24924925@ha
/* 803AC6D8 003A9638 80 FD 00 94 */ lwz r7, 0x94(r29)
/* 803AC6DC 003A963C 38 63 49 25 */ addi r3, r3, 0x24924925@l
/* 803AC6E0 003A9640 38 C4 FF FF */ addi r6, r4, -1
/* 803AC6E4 003A9644 38 00 00 01 */ li r0, 1
/* 803AC6E8 003A9648 7C A3 30 16 */ mulhwu r5, r3, r6
/* 803AC6EC 003A964C 54 E4 08 3C */ slwi r4, r7, 1
/* 803AC6F0 003A9650 90 FD 00 78 */ stw r7, 0x78(r29)
/* 803AC6F4 003A9654 7C 65 30 50 */ subf r3, r5, r6
/* 803AC6F8 003A9658 54 63 F8 7E */ srwi r3, r3, 1
/* 803AC6FC 003A965C 7C 63 2A 14 */ add r3, r3, r5
/* 803AC700 003A9660 54 65 E8 FE */ srwi r5, r3, 3
/* 803AC704 003A9664 1C A5 00 0E */ mulli r5, r5, 0xe
/* 803AC708 003A9668 54 63 08 36 */ rlwinm r3, r3, 1, 0, 0x1b
/* 803AC70C 003A966C 38 63 00 02 */ addi r3, r3, 2
/* 803AC710 003A9670 7C A5 30 50 */ subf r5, r5, r6
/* 803AC714 003A9674 7F 43 2A 14 */ add r26, r3, r5
/* 803AC718 003A9678 7F 44 D2 14 */ add r26, r4, r26
/* 803AC71C 003A967C 57 43 84 3E */ srwi r3, r26, 0x10
/* 803AC720 003A9680 B0 73 00 76 */ sth r3, 0x76(r19)
/* 803AC724 003A9684 B3 53 00 78 */ sth r26, 0x78(r19)
/* 803AC728 003A9688 98 1D 00 9C */ stb r0, 0x9c(r29)
lbl_803AC72C:
/* 803AC72C 003A968C 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 803AC730 003A9690 28 00 00 00 */ cmplwi r0, 0
/* 803AC734 003A9694 40 82 00 2C */ bne lbl_803AC760
/* 803AC738 003A9698 80 7D 00 D8 */ lwz r3, 0xd8(r29)
/* 803AC73C 003A969C 80 1D 00 84 */ lwz r0, 0x84(r29)
/* 803AC740 003A96A0 7C 03 00 40 */ cmplw r3, r0
/* 803AC744 003A96A4 41 80 00 1C */ blt lbl_803AC760
/* 803AC748 003A96A8 7F A3 EB 78 */ mr r3, r29
/* 803AC74C 003A96AC 38 80 00 00 */ li r4, 0
/* 803AC750 003A96B0 48 00 15 31 */ bl salSynthSendMessage
/* 803AC754 003A96B4 7F A3 EB 78 */ mr r3, r29
/* 803AC758 003A96B8 48 00 16 0D */ bl salDeactivateVoice
/* 803AC75C 003A96BC 48 00 0B 8C */ b lbl_803AD2E8
lbl_803AC760:
/* 803AC760 003A96C0 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803AC764 003A96C4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803AC768 003A96C8 41 82 00 2C */ beq lbl_803AC794
/* 803AC76C 003A96CC 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803AC770 003A96D0 4B FF CD 65 */ bl adsrSetup
/* 803AC774 003A96D4 28 03 00 00 */ cmplwi r3, 0
/* 803AC778 003A96D8 41 82 00 1C */ beq lbl_803AC794
/* 803AC77C 003A96DC 7F A3 EB 78 */ mr r3, r29
/* 803AC780 003A96E0 38 80 00 00 */ li r4, 0
/* 803AC784 003A96E4 48 00 14 FD */ bl salSynthSendMessage
/* 803AC788 003A96E8 7F A3 EB 78 */ mr r3, r29
/* 803AC78C 003A96EC 48 00 15 D9 */ bl salDeactivateVoice
/* 803AC790 003A96F0 48 00 0B 58 */ b lbl_803AD2E8
lbl_803AC794:
/* 803AC794 003A96F4 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803AC798 003A96F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 803AC79C 003A96FC 41 82 00 3C */ beq lbl_803AC7D8
/* 803AC7A0 003A9700 A0 BD 00 4C */ lhz r5, 0x4c(r29)
/* 803AC7A4 003A9704 38 73 00 14 */ addi r3, r19, 0x14
/* 803AC7A8 003A9708 38 9D 00 5E */ addi r4, r29, 0x5e
/* 803AC7AC 003A970C 4B FF EC 81 */ bl sal_setup_dspvol
/* 803AC7B0 003A9710 A0 BD 00 4E */ lhz r5, 0x4e(r29)
/* 803AC7B4 003A9714 38 73 00 18 */ addi r3, r19, 0x18
/* 803AC7B8 003A9718 38 9D 00 60 */ addi r4, r29, 0x60
/* 803AC7BC 003A971C 4B FF EC 71 */ bl sal_setup_dspvol
/* 803AC7C0 003A9720 A0 BD 00 50 */ lhz r5, 0x50(r29)
/* 803AC7C4 003A9724 38 73 00 30 */ addi r3, r19, 0x30
/* 803AC7C8 003A9728 38 9D 00 62 */ addi r4, r29, 0x62
/* 803AC7CC 003A972C 4B FF EC 61 */ bl sal_setup_dspvol
/* 803AC7D0 003A9730 3A 20 00 01 */ li r17, 1
/* 803AC7D4 003A9734 48 00 00 64 */ b lbl_803AC838
lbl_803AC7D8:
/* 803AC7D8 003A9738 A0 DD 00 4C */ lhz r6, 0x4c(r29)
/* 803AC7DC 003A973C 38 73 00 12 */ addi r3, r19, 0x12
/* 803AC7E0 003A9740 38 93 00 14 */ addi r4, r19, 0x14
/* 803AC7E4 003A9744 38 BD 00 5E */ addi r5, r29, 0x5e
/* 803AC7E8 003A9748 38 E1 00 10 */ addi r7, r1, 0x10
/* 803AC7EC 003A974C 39 00 00 01 */ li r8, 1
/* 803AC7F0 003A9750 4B FF EB 49 */ bl salCheckVolErrorAndResetDelta
/* 803AC7F4 003A9754 A0 DD 00 4E */ lhz r6, 0x4e(r29)
/* 803AC7F8 003A9758 7C 71 1B 78 */ mr r17, r3
/* 803AC7FC 003A975C 38 73 00 16 */ addi r3, r19, 0x16
/* 803AC800 003A9760 38 93 00 18 */ addi r4, r19, 0x18
/* 803AC804 003A9764 38 BD 00 60 */ addi r5, r29, 0x60
/* 803AC808 003A9768 38 E1 00 10 */ addi r7, r1, 0x10
/* 803AC80C 003A976C 39 00 00 02 */ li r8, 2
/* 803AC810 003A9770 4B FF EB 29 */ bl salCheckVolErrorAndResetDelta
/* 803AC814 003A9774 A0 DD 00 50 */ lhz r6, 0x50(r29)
/* 803AC818 003A9778 7E 31 1B 78 */ or r17, r17, r3
/* 803AC81C 003A977C 38 73 00 2E */ addi r3, r19, 0x2e
/* 803AC820 003A9780 38 93 00 30 */ addi r4, r19, 0x30
/* 803AC824 003A9784 38 BD 00 62 */ addi r5, r29, 0x62
/* 803AC828 003A9788 38 E1 00 10 */ addi r7, r1, 0x10
/* 803AC82C 003A978C 39 00 00 04 */ li r8, 4
/* 803AC830 003A9790 4B FF EB 09 */ bl salCheckVolErrorAndResetDelta
/* 803AC834 003A9794 7E 31 1B 78 */ or r17, r17, r3
lbl_803AC838:
/* 803AC838 003A9798 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803AC83C 003A979C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803AC840 003A97A0 41 82 00 98 */ beq lbl_803AC8D8
/* 803AC844 003A97A4 A0 BD 00 52 */ lhz r5, 0x52(r29)
/* 803AC848 003A97A8 38 73 00 1C */ addi r3, r19, 0x1c
/* 803AC84C 003A97AC 38 9D 00 64 */ addi r4, r29, 0x64
/* 803AC850 003A97B0 4B FF EB DD */ bl sal_setup_dspvol
/* 803AC854 003A97B4 A0 BD 00 54 */ lhz r5, 0x54(r29)
/* 803AC858 003A97B8 38 73 00 20 */ addi r3, r19, 0x20
/* 803AC85C 003A97BC 38 9D 00 66 */ addi r4, r29, 0x66
/* 803AC860 003A97C0 4B FF EB CD */ bl sal_setup_dspvol
/* 803AC864 003A97C4 A0 BD 00 56 */ lhz r5, 0x56(r29)
/* 803AC868 003A97C8 38 73 00 34 */ addi r3, r19, 0x34
/* 803AC86C 003A97CC 38 9D 00 68 */ addi r4, r29, 0x68
/* 803AC870 003A97D0 4B FF EB BD */ bl sal_setup_dspvol
/* 803AC874 003A97D4 A0 73 00 1C */ lhz r3, 0x1c(r19)
/* 803AC878 003A97D8 A0 13 00 20 */ lhz r0, 0x20(r19)
/* 803AC87C 003A97DC A0 93 00 34 */ lhz r4, 0x34(r19)
/* 803AC880 003A97E0 7C 60 03 78 */ or r0, r3, r0
/* 803AC884 003A97E4 7C 80 03 79 */ or. r0, r4, r0
/* 803AC888 003A97E8 41 82 00 18 */ beq lbl_803AC8A0
/* 803AC88C 003A97EC A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC890 003A97F0 3A 20 00 01 */ li r17, 1
/* 803AC894 003A97F4 60 00 00 01 */ ori r0, r0, 1
/* 803AC898 003A97F8 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803AC89C 003A97FC 48 00 00 EC */ b lbl_803AC988
lbl_803AC8A0:
/* 803AC8A0 003A9800 A0 73 00 1A */ lhz r3, 0x1a(r19)
/* 803AC8A4 003A9804 A0 13 00 1E */ lhz r0, 0x1e(r19)
/* 803AC8A8 003A9808 A0 93 00 32 */ lhz r4, 0x32(r19)
/* 803AC8AC 003A980C 7C 60 03 78 */ or r0, r3, r0
/* 803AC8B0 003A9810 7C 80 03 79 */ or. r0, r4, r0
/* 803AC8B4 003A9814 41 82 00 14 */ beq lbl_803AC8C8
/* 803AC8B8 003A9818 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC8BC 003A981C 60 00 00 01 */ ori r0, r0, 1
/* 803AC8C0 003A9820 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803AC8C4 003A9824 48 00 00 C4 */ b lbl_803AC988
lbl_803AC8C8:
/* 803AC8C8 003A9828 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC8CC 003A982C 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 803AC8D0 003A9830 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803AC8D4 003A9834 48 00 00 B4 */ b lbl_803AC988
lbl_803AC8D8:
/* 803AC8D8 003A9838 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC8DC 003A983C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 803AC8E0 003A9840 41 82 00 98 */ beq lbl_803AC978
/* 803AC8E4 003A9844 A0 DD 00 52 */ lhz r6, 0x52(r29)
/* 803AC8E8 003A9848 38 73 00 1A */ addi r3, r19, 0x1a
/* 803AC8EC 003A984C 38 93 00 1C */ addi r4, r19, 0x1c
/* 803AC8F0 003A9850 38 BD 00 64 */ addi r5, r29, 0x64
/* 803AC8F4 003A9854 38 E1 00 10 */ addi r7, r1, 0x10
/* 803AC8F8 003A9858 39 00 00 08 */ li r8, 8
/* 803AC8FC 003A985C 4B FF EA 3D */ bl salCheckVolErrorAndResetDelta
/* 803AC900 003A9860 A0 DD 00 54 */ lhz r6, 0x54(r29)
/* 803AC904 003A9864 7C 74 1B 78 */ mr r20, r3
/* 803AC908 003A9868 38 73 00 1E */ addi r3, r19, 0x1e
/* 803AC90C 003A986C 38 93 00 20 */ addi r4, r19, 0x20
/* 803AC910 003A9870 38 BD 00 66 */ addi r5, r29, 0x66
/* 803AC914 003A9874 38 E1 00 10 */ addi r7, r1, 0x10
/* 803AC918 003A9878 39 00 00 10 */ li r8, 0x10
/* 803AC91C 003A987C 4B FF EA 1D */ bl salCheckVolErrorAndResetDelta
/* 803AC920 003A9880 A0 DD 00 56 */ lhz r6, 0x56(r29)
/* 803AC924 003A9884 7E 94 1B 78 */ or r20, r20, r3
/* 803AC928 003A9888 38 73 00 32 */ addi r3, r19, 0x32
/* 803AC92C 003A988C 38 93 00 34 */ addi r4, r19, 0x34
/* 803AC930 003A9890 38 BD 00 68 */ addi r5, r29, 0x68
/* 803AC934 003A9894 38 E1 00 10 */ addi r7, r1, 0x10
/* 803AC938 003A9898 39 00 00 20 */ li r8, 0x20
/* 803AC93C 003A989C 4B FF E9 FD */ bl salCheckVolErrorAndResetDelta
/* 803AC940 003A98A0 A0 93 00 1A */ lhz r4, 0x1a(r19)
/* 803AC944 003A98A4 7E 94 1B 78 */ or r20, r20, r3
/* 803AC948 003A98A8 A0 13 00 1E */ lhz r0, 0x1e(r19)
/* 803AC94C 003A98AC A0 73 00 32 */ lhz r3, 0x32(r19)
/* 803AC950 003A98B0 7C 80 03 78 */ or r0, r4, r0
/* 803AC954 003A98B4 7C 60 03 78 */ or r0, r3, r0
/* 803AC958 003A98B8 7E 80 03 79 */ or. r0, r20, r0
/* 803AC95C 003A98BC 40 82 00 14 */ bne lbl_803AC970
/* 803AC960 003A98C0 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC964 003A98C4 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 803AC968 003A98C8 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803AC96C 003A98CC 48 00 00 1C */ b lbl_803AC988
lbl_803AC970:
/* 803AC970 003A98D0 3A 20 00 01 */ li r17, 1
/* 803AC974 003A98D4 48 00 00 14 */ b lbl_803AC988
lbl_803AC978:
/* 803AC978 003A98D8 38 00 00 00 */ li r0, 0
/* 803AC97C 003A98DC B0 13 00 1C */ sth r0, 0x1c(r19)
/* 803AC980 003A98E0 B0 13 00 20 */ sth r0, 0x20(r19)
/* 803AC984 003A98E4 B0 13 00 34 */ sth r0, 0x34(r19)
lbl_803AC988:
/* 803AC988 003A98E8 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803AC98C 003A98EC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803AC990 003A98F0 41 82 01 28 */ beq lbl_803ACAB8
/* 803AC994 003A98F4 80 10 00 54 */ lwz r0, 0x54(r16)
/* 803AC998 003A98F8 2C 00 00 00 */ cmpwi r0, 0
/* 803AC99C 003A98FC 40 82 00 98 */ bne lbl_803ACA34
/* 803AC9A0 003A9900 A0 BD 00 58 */ lhz r5, 0x58(r29)
/* 803AC9A4 003A9904 38 73 00 24 */ addi r3, r19, 0x24
/* 803AC9A8 003A9908 38 9D 00 6A */ addi r4, r29, 0x6a
/* 803AC9AC 003A990C 4B FF EA 81 */ bl sal_setup_dspvol
/* 803AC9B0 003A9910 A0 BD 00 5A */ lhz r5, 0x5a(r29)
/* 803AC9B4 003A9914 38 73 00 28 */ addi r3, r19, 0x28
/* 803AC9B8 003A9918 38 9D 00 6C */ addi r4, r29, 0x6c
/* 803AC9BC 003A991C 4B FF EA 71 */ bl sal_setup_dspvol
/* 803AC9C0 003A9920 A0 BD 00 5C */ lhz r5, 0x5c(r29)
/* 803AC9C4 003A9924 38 73 00 2C */ addi r3, r19, 0x2c
/* 803AC9C8 003A9928 38 9D 00 6E */ addi r4, r29, 0x6e
/* 803AC9CC 003A992C 4B FF EA 61 */ bl sal_setup_dspvol
/* 803AC9D0 003A9930 A0 73 00 24 */ lhz r3, 0x24(r19)
/* 803AC9D4 003A9934 A0 13 00 28 */ lhz r0, 0x28(r19)
/* 803AC9D8 003A9938 A0 93 00 2C */ lhz r4, 0x2c(r19)
/* 803AC9DC 003A993C 7C 60 03 78 */ or r0, r3, r0
/* 803AC9E0 003A9940 7C 80 03 79 */ or. r0, r4, r0
/* 803AC9E4 003A9944 41 82 00 18 */ beq lbl_803AC9FC
/* 803AC9E8 003A9948 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AC9EC 003A994C 3A 20 00 01 */ li r17, 1
/* 803AC9F0 003A9950 60 00 00 02 */ ori r0, r0, 2
/* 803AC9F4 003A9954 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803AC9F8 003A9958 48 00 02 30 */ b lbl_803ACC28
lbl_803AC9FC:
/* 803AC9FC 003A995C A0 73 00 22 */ lhz r3, 0x22(r19)
/* 803ACA00 003A9960 A0 13 00 26 */ lhz r0, 0x26(r19)
/* 803ACA04 003A9964 A0 93 00 2A */ lhz r4, 0x2a(r19)
/* 803ACA08 003A9968 7C 60 03 78 */ or r0, r3, r0
/* 803ACA0C 003A996C 7C 80 03 79 */ or. r0, r4, r0
/* 803ACA10 003A9970 41 82 00 14 */ beq lbl_803ACA24
/* 803ACA14 003A9974 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACA18 003A9978 60 00 00 02 */ ori r0, r0, 2
/* 803ACA1C 003A997C B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACA20 003A9980 48 00 02 08 */ b lbl_803ACC28
lbl_803ACA24:
/* 803ACA24 003A9984 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACA28 003A9988 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 803ACA2C 003A998C B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACA30 003A9990 48 00 01 F8 */ b lbl_803ACC28
lbl_803ACA34:
/* 803ACA34 003A9994 A0 BD 00 58 */ lhz r5, 0x58(r29)
/* 803ACA38 003A9998 38 73 00 24 */ addi r3, r19, 0x24
/* 803ACA3C 003A999C 38 9D 00 6A */ addi r4, r29, 0x6a
/* 803ACA40 003A99A0 4B FF E9 ED */ bl sal_setup_dspvol
/* 803ACA44 003A99A4 A0 BD 00 5A */ lhz r5, 0x5a(r29)
/* 803ACA48 003A99A8 38 73 00 28 */ addi r3, r19, 0x28
/* 803ACA4C 003A99AC 38 9D 00 6C */ addi r4, r29, 0x6c
/* 803ACA50 003A99B0 4B FF E9 DD */ bl sal_setup_dspvol
/* 803ACA54 003A99B4 A0 73 00 24 */ lhz r3, 0x24(r19)
/* 803ACA58 003A99B8 A0 13 00 28 */ lhz r0, 0x28(r19)
/* 803ACA5C 003A99BC 7C 60 03 79 */ or. r0, r3, r0
/* 803ACA60 003A99C0 41 82 00 18 */ beq lbl_803ACA78
/* 803ACA64 003A99C4 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACA68 003A99C8 3A 20 00 01 */ li r17, 1
/* 803ACA6C 003A99CC 60 00 00 10 */ ori r0, r0, 0x10
/* 803ACA70 003A99D0 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACA74 003A99D4 48 00 01 B4 */ b lbl_803ACC28
lbl_803ACA78:
/* 803ACA78 003A99D8 A0 73 00 22 */ lhz r3, 0x22(r19)
/* 803ACA7C 003A99DC A0 13 00 26 */ lhz r0, 0x26(r19)
/* 803ACA80 003A99E0 A0 93 00 32 */ lhz r4, 0x32(r19)
/* 803ACA84 003A99E4 7C 60 03 78 */ or r0, r3, r0
/* 803ACA88 003A99E8 A0 73 00 34 */ lhz r3, 0x34(r19)
/* 803ACA8C 003A99EC 7C 80 03 78 */ or r0, r4, r0
/* 803ACA90 003A99F0 7C 60 03 79 */ or. r0, r3, r0
/* 803ACA94 003A99F4 41 82 00 14 */ beq lbl_803ACAA8
/* 803ACA98 003A99F8 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACA9C 003A99FC 60 00 00 10 */ ori r0, r0, 0x10
/* 803ACAA0 003A9A00 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACAA4 003A9A04 48 00 01 84 */ b lbl_803ACC28
lbl_803ACAA8:
/* 803ACAA8 003A9A08 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACAAC 003A9A0C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 803ACAB0 003A9A10 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACAB4 003A9A14 48 00 01 74 */ b lbl_803ACC28
lbl_803ACAB8:
/* 803ACAB8 003A9A18 80 10 00 54 */ lwz r0, 0x54(r16)
/* 803ACABC 003A9A1C 2C 00 00 00 */ cmpwi r0, 0
/* 803ACAC0 003A9A20 40 82 00 B8 */ bne lbl_803ACB78
/* 803ACAC4 003A9A24 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACAC8 003A9A28 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACACC 003A9A2C 41 82 00 98 */ beq lbl_803ACB64
/* 803ACAD0 003A9A30 A0 DD 00 58 */ lhz r6, 0x58(r29)
/* 803ACAD4 003A9A34 38 73 00 22 */ addi r3, r19, 0x22
/* 803ACAD8 003A9A38 38 93 00 24 */ addi r4, r19, 0x24
/* 803ACADC 003A9A3C 38 BD 00 6A */ addi r5, r29, 0x6a
/* 803ACAE0 003A9A40 38 E1 00 10 */ addi r7, r1, 0x10
/* 803ACAE4 003A9A44 39 00 00 40 */ li r8, 0x40
/* 803ACAE8 003A9A48 4B FF E8 51 */ bl salCheckVolErrorAndResetDelta
/* 803ACAEC 003A9A4C A0 DD 00 5A */ lhz r6, 0x5a(r29)
/* 803ACAF0 003A9A50 7C 74 1B 78 */ mr r20, r3
/* 803ACAF4 003A9A54 38 73 00 26 */ addi r3, r19, 0x26
/* 803ACAF8 003A9A58 38 93 00 28 */ addi r4, r19, 0x28
/* 803ACAFC 003A9A5C 38 BD 00 6C */ addi r5, r29, 0x6c
/* 803ACB00 003A9A60 38 E1 00 10 */ addi r7, r1, 0x10
/* 803ACB04 003A9A64 39 00 00 80 */ li r8, 0x80
/* 803ACB08 003A9A68 4B FF E8 31 */ bl salCheckVolErrorAndResetDelta
/* 803ACB0C 003A9A6C A0 DD 00 5C */ lhz r6, 0x5c(r29)
/* 803ACB10 003A9A70 7E 94 1B 78 */ or r20, r20, r3
/* 803ACB14 003A9A74 38 73 00 2A */ addi r3, r19, 0x2a
/* 803ACB18 003A9A78 38 93 00 2C */ addi r4, r19, 0x2c
/* 803ACB1C 003A9A7C 38 BD 00 6E */ addi r5, r29, 0x6e
/* 803ACB20 003A9A80 38 E1 00 10 */ addi r7, r1, 0x10
/* 803ACB24 003A9A84 39 00 01 00 */ li r8, 0x100
/* 803ACB28 003A9A88 4B FF E8 11 */ bl salCheckVolErrorAndResetDelta
/* 803ACB2C 003A9A8C A0 93 00 22 */ lhz r4, 0x22(r19)
/* 803ACB30 003A9A90 7E 94 1B 78 */ or r20, r20, r3
/* 803ACB34 003A9A94 A0 13 00 26 */ lhz r0, 0x26(r19)
/* 803ACB38 003A9A98 A0 73 00 2A */ lhz r3, 0x2a(r19)
/* 803ACB3C 003A9A9C 7C 80 03 78 */ or r0, r4, r0
/* 803ACB40 003A9AA0 7C 60 03 78 */ or r0, r3, r0
/* 803ACB44 003A9AA4 7E 80 03 79 */ or. r0, r20, r0
/* 803ACB48 003A9AA8 40 82 00 14 */ bne lbl_803ACB5C
/* 803ACB4C 003A9AAC A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACB50 003A9AB0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 803ACB54 003A9AB4 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACB58 003A9AB8 48 00 00 D0 */ b lbl_803ACC28
lbl_803ACB5C:
/* 803ACB5C 003A9ABC 3A 20 00 01 */ li r17, 1
/* 803ACB60 003A9AC0 48 00 00 C8 */ b lbl_803ACC28
lbl_803ACB64:
/* 803ACB64 003A9AC4 38 00 00 00 */ li r0, 0
/* 803ACB68 003A9AC8 B0 13 00 24 */ sth r0, 0x24(r19)
/* 803ACB6C 003A9ACC B0 13 00 28 */ sth r0, 0x28(r19)
/* 803ACB70 003A9AD0 B0 13 00 2C */ sth r0, 0x2c(r19)
/* 803ACB74 003A9AD4 48 00 00 B4 */ b lbl_803ACC28
lbl_803ACB78:
/* 803ACB78 003A9AD8 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACB7C 003A9ADC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803ACB80 003A9AE0 41 82 00 80 */ beq lbl_803ACC00
/* 803ACB84 003A9AE4 A0 DD 00 58 */ lhz r6, 0x58(r29)
/* 803ACB88 003A9AE8 38 73 00 22 */ addi r3, r19, 0x22
/* 803ACB8C 003A9AEC 38 93 00 24 */ addi r4, r19, 0x24
/* 803ACB90 003A9AF0 38 BD 00 6A */ addi r5, r29, 0x6a
/* 803ACB94 003A9AF4 38 E1 00 10 */ addi r7, r1, 0x10
/* 803ACB98 003A9AF8 39 00 00 40 */ li r8, 0x40
/* 803ACB9C 003A9AFC 4B FF E7 9D */ bl salCheckVolErrorAndResetDelta
/* 803ACBA0 003A9B00 A0 DD 00 5A */ lhz r6, 0x5a(r29)
/* 803ACBA4 003A9B04 7C 74 1B 78 */ mr r20, r3
/* 803ACBA8 003A9B08 38 73 00 26 */ addi r3, r19, 0x26
/* 803ACBAC 003A9B0C 38 93 00 28 */ addi r4, r19, 0x28
/* 803ACBB0 003A9B10 38 BD 00 6C */ addi r5, r29, 0x6c
/* 803ACBB4 003A9B14 38 E1 00 10 */ addi r7, r1, 0x10
/* 803ACBB8 003A9B18 39 00 00 80 */ li r8, 0x80
/* 803ACBBC 003A9B1C 4B FF E7 7D */ bl salCheckVolErrorAndResetDelta
/* 803ACBC0 003A9B20 A0 93 00 22 */ lhz r4, 0x22(r19)
/* 803ACBC4 003A9B24 7E 83 1B 78 */ or r3, r20, r3
/* 803ACBC8 003A9B28 A0 13 00 26 */ lhz r0, 0x26(r19)
/* 803ACBCC 003A9B2C 7C 80 03 78 */ or r0, r4, r0
/* 803ACBD0 003A9B30 7C 60 03 79 */ or. r0, r3, r0
/* 803ACBD4 003A9B34 40 82 00 24 */ bne lbl_803ACBF8
/* 803ACBD8 003A9B38 A0 73 00 32 */ lhz r3, 0x32(r19)
/* 803ACBDC 003A9B3C A0 13 00 34 */ lhz r0, 0x34(r19)
/* 803ACBE0 003A9B40 7C 60 03 79 */ or. r0, r3, r0
/* 803ACBE4 003A9B44 40 82 00 44 */ bne lbl_803ACC28
/* 803ACBE8 003A9B48 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACBEC 003A9B4C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 803ACBF0 003A9B50 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACBF4 003A9B54 48 00 00 34 */ b lbl_803ACC28
lbl_803ACBF8:
/* 803ACBF8 003A9B58 3A 20 00 01 */ li r17, 1
/* 803ACBFC 003A9B5C 48 00 00 2C */ b lbl_803ACC28
lbl_803ACC00:
/* 803ACC00 003A9B60 38 00 00 00 */ li r0, 0
/* 803ACC04 003A9B64 B0 13 00 24 */ sth r0, 0x24(r19)
/* 803ACC08 003A9B68 B0 13 00 28 */ sth r0, 0x28(r19)
/* 803ACC0C 003A9B6C A0 73 00 32 */ lhz r3, 0x32(r19)
/* 803ACC10 003A9B70 A0 13 00 34 */ lhz r0, 0x34(r19)
/* 803ACC14 003A9B74 7C 60 03 79 */ or. r0, r3, r0
/* 803ACC18 003A9B78 41 82 00 10 */ beq lbl_803ACC28
/* 803ACC1C 003A9B7C A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACC20 003A9B80 60 00 00 10 */ ori r0, r0, 0x10
/* 803ACC24 003A9B84 B0 13 00 0C */ sth r0, 0xc(r19)
lbl_803ACC28:
/* 803ACC28 003A9B88 28 11 00 00 */ cmplwi r17, 0
/* 803ACC2C 003A9B8C 41 82 00 14 */ beq lbl_803ACC40
/* 803ACC30 003A9B90 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACC34 003A9B94 60 00 00 08 */ ori r0, r0, 8
/* 803ACC38 003A9B98 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACC3C 003A9B9C 48 00 00 10 */ b lbl_803ACC4C
lbl_803ACC40:
/* 803ACC40 003A9BA0 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACC44 003A9BA4 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 803ACC48 003A9BA8 B0 13 00 0C */ sth r0, 0xc(r19)
lbl_803ACC4C:
/* 803ACC4C 003A9BAC 80 10 00 54 */ lwz r0, 0x54(r16)
/* 803ACC50 003A9BB0 2C 00 00 00 */ cmpwi r0, 0
/* 803ACC54 003A9BB4 40 82 00 68 */ bne lbl_803ACCBC
/* 803ACC58 003A9BB8 A0 13 00 2E */ lhz r0, 0x2e(r19)
/* 803ACC5C 003A9BBC 28 00 00 00 */ cmplwi r0, 0
/* 803ACC60 003A9BC0 40 82 00 40 */ bne lbl_803ACCA0
/* 803ACC64 003A9BC4 A0 13 00 30 */ lhz r0, 0x30(r19)
/* 803ACC68 003A9BC8 28 00 00 00 */ cmplwi r0, 0
/* 803ACC6C 003A9BCC 40 82 00 34 */ bne lbl_803ACCA0
/* 803ACC70 003A9BD0 A0 13 00 32 */ lhz r0, 0x32(r19)
/* 803ACC74 003A9BD4 28 00 00 00 */ cmplwi r0, 0
/* 803ACC78 003A9BD8 40 82 00 28 */ bne lbl_803ACCA0
/* 803ACC7C 003A9BDC A0 13 00 34 */ lhz r0, 0x34(r19)
/* 803ACC80 003A9BE0 28 00 00 00 */ cmplwi r0, 0
/* 803ACC84 003A9BE4 40 82 00 1C */ bne lbl_803ACCA0
/* 803ACC88 003A9BE8 A0 13 00 2A */ lhz r0, 0x2a(r19)
/* 803ACC8C 003A9BEC 28 00 00 00 */ cmplwi r0, 0
/* 803ACC90 003A9BF0 40 82 00 10 */ bne lbl_803ACCA0
/* 803ACC94 003A9BF4 A0 13 00 2C */ lhz r0, 0x2c(r19)
/* 803ACC98 003A9BF8 28 00 00 00 */ cmplwi r0, 0
/* 803ACC9C 003A9BFC 41 82 00 14 */ beq lbl_803ACCB0
lbl_803ACCA0:
/* 803ACCA0 003A9C00 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACCA4 003A9C04 60 00 00 04 */ ori r0, r0, 4
/* 803ACCA8 003A9C08 B0 13 00 0C */ sth r0, 0xc(r19)
/* 803ACCAC 003A9C0C 48 00 00 10 */ b lbl_803ACCBC
lbl_803ACCB0:
/* 803ACCB0 003A9C10 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803ACCB4 003A9C14 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 803ACCB8 003A9C18 B0 13 00 0C */ sth r0, 0xc(r19)
lbl_803ACCBC:
/* 803ACCBC 003A9C1C 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803ACCC0 003A9C20 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 803ACCC4 003A9C24 41 82 00 14 */ beq lbl_803ACCD8
/* 803ACCC8 003A9C28 A0 1D 00 D0 */ lhz r0, 0xd0(r29)
/* 803ACCCC 003A9C2C B0 13 00 40 */ sth r0, 0x40(r19)
/* 803ACCD0 003A9C30 A0 1D 00 D2 */ lhz r0, 0xd2(r29)
/* 803ACCD4 003A9C34 B0 13 00 42 */ sth r0, 0x42(r19)
lbl_803ACCD8:
/* 803ACCD8 003A9C38 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803ACCDC 003A9C3C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 803ACCE0 003A9C40 41 82 00 0C */ beq lbl_803ACCEC
/* 803ACCE4 003A9C44 A0 1D 00 CC */ lhz r0, 0xcc(r29)
/* 803ACCE8 003A9C48 B0 13 00 08 */ sth r0, 8(r19)
lbl_803ACCEC:
/* 803ACCEC 003A9C4C 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 803ACCF0 003A9C50 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 803ACCF4 003A9C54 41 82 00 0C */ beq lbl_803ACD00
/* 803ACCF8 003A9C58 A0 1D 00 CE */ lhz r0, 0xce(r29)
/* 803ACCFC 003A9C5C B0 13 00 0A */ sth r0, 0xa(r19)
lbl_803ACD00:
/* 803ACD00 003A9C60 A0 93 00 7A */ lhz r4, 0x7a(r19)
/* 803ACD04 003A9C64 38 00 00 00 */ li r0, 0
/* 803ACD08 003A9C68 A0 73 00 7C */ lhz r3, 0x7c(r19)
/* 803ACD0C 003A9C6C 3B 60 00 00 */ li r27, 0
/* 803ACD10 003A9C70 50 83 80 1E */ rlwimi r3, r4, 0x10, 0, 0xf
/* 803ACD14 003A9C74 90 01 00 20 */ stw r0, 0x20(r1)
/* 803ACD18 003A9C78 90 7D 00 20 */ stw r3, 0x20(r29)
lbl_803ACD1C:
/* 803ACD1C 003A9C7C 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d
/* 803ACD20 003A9C80 57 74 06 3E */ clrlwi r20, r27, 0x18
/* 803ACD24 003A9C84 7E 3D 02 14 */ add r17, r29, r0
/* 803ACD28 003A9C88 80 11 00 24 */ lwz r0, 0x24(r17)
/* 803ACD2C 003A9C8C 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
/* 803ACD30 003A9C90 41 82 00 0C */ beq lbl_803ACD3C
/* 803ACD34 003A9C94 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803ACD38 003A9C98 4B FF C9 15 */ bl adsrRelease
lbl_803ACD3C:
/* 803ACD3C 003A9C9C 80 11 00 24 */ lwz r0, 0x24(r17)
/* 803ACD40 003A9CA0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803ACD44 003A9CA4 41 82 00 20 */ beq lbl_803ACD64
/* 803ACD48 003A9CA8 80 11 00 38 */ lwz r0, 0x38(r17)
/* 803ACD4C 003A9CAC 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ACD50 003A9CB0 B0 13 00 A6 */ sth r0, 0xa6(r19)
/* 803ACD54 003A9CB4 80 11 00 38 */ lwz r0, 0x38(r17)
/* 803ACD58 003A9CB8 B0 13 00 A8 */ sth r0, 0xa8(r19)
/* 803ACD5C 003A9CBC 80 11 00 38 */ lwz r0, 0x38(r17)
/* 803ACD60 003A9CC0 90 1D 00 E0 */ stw r0, 0xe0(r29)
lbl_803ACD64:
/* 803ACD64 003A9CC4 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803ACD68 003A9CC8 38 93 00 64 */ addi r4, r19, 0x64
/* 803ACD6C 003A9CCC 38 B3 00 66 */ addi r5, r19, 0x66
/* 803ACD70 003A9CD0 4B FF CA 45 */ bl adsrHandle
/* 803ACD74 003A9CD4 A2 B3 00 66 */ lhz r21, 0x66(r19)
/* 803ACD78 003A9CD8 38 80 00 00 */ li r4, 0
/* 803ACD7C 003A9CDC 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 803ACD80 003A9CE0 7C 71 1B 78 */ mr r17, r3
/* 803ACD84 003A9CE4 B0 93 00 44 */ sth r4, 0x44(r19)
/* 803ACD88 003A9CE8 B0 93 00 46 */ sth r4, 0x46(r19)
/* 803ACD8C 003A9CEC B0 93 00 48 */ sth r4, 0x48(r19)
/* 803ACD90 003A9CF0 B0 93 00 4A */ sth r4, 0x4a(r19)
/* 803ACD94 003A9CF4 B0 93 00 4C */ sth r4, 0x4c(r19)
/* 803ACD98 003A9CF8 82 DD 00 04 */ lwz r22, 4(r29)
/* 803ACD9C 003A9CFC 41 82 00 2C */ beq lbl_803ACDC8
/* 803ACDA0 003A9D00 38 00 00 07 */ li r0, 7
/* 803ACDA4 003A9D04 56 83 08 3C */ slwi r3, r20, 1
/* 803ACDA8 003A9D08 B0 16 00 00 */ sth r0, 0(r22)
/* 803ACDAC 003A9D0C 38 00 00 01 */ li r0, 1
/* 803ACDB0 003A9D10 38 83 00 44 */ addi r4, r3, 0x44
/* 803ACDB4 003A9D14 B0 16 00 02 */ sth r0, 2(r22)
/* 803ACDB8 003A9D18 3A D6 00 04 */ addi r22, r22, 4
/* 803ACDBC 003A9D1C 7C 73 22 2E */ lhzx r3, r19, r4
/* 803ACDC0 003A9D20 38 03 00 01 */ addi r0, r3, 1
/* 803ACDC4 003A9D24 7C 13 23 2E */ sthx r0, r19, r4
lbl_803ACDC8:
/* 803ACDC8 003A9D28 7F A3 EB 78 */ mr r3, r29
/* 803ACDCC 003A9D2C 4B FF E6 A9 */ bl sal_update_hostplayinfo
/* 803ACDD0 003A9D30 38 1B 00 01 */ addi r0, r27, 1
/* 803ACDD4 003A9D34 3B E1 00 10 */ addi r31, r1, 0x10
/* 803ACDD8 003A9D38 54 1B 06 3E */ clrlwi r27, r0, 0x18
/* 803ACDDC 003A9D3C 48 00 01 F0 */ b lbl_803ACFCC
lbl_803ACDE0:
/* 803ACDE0 003A9D40 28 11 00 00 */ cmplwi r17, 0
/* 803ACDE4 003A9D44 41 82 00 44 */ beq lbl_803ACE28
/* 803ACDE8 003A9D48 38 00 00 07 */ li r0, 7
/* 803ACDEC 003A9D4C 57 63 0D FC */ rlwinm r3, r27, 1, 0x17, 0x1e
/* 803ACDF0 003A9D50 B0 16 00 00 */ sth r0, 0(r22)
/* 803ACDF4 003A9D54 38 00 00 00 */ li r0, 0
/* 803ACDF8 003A9D58 38 C3 00 44 */ addi r6, r3, 0x44
/* 803ACDFC 003A9D5C 7F A3 EB 78 */ mr r3, r29
/* 803ACE00 003A9D60 B0 16 00 02 */ sth r0, 2(r22)
/* 803ACE04 003A9D64 38 80 00 00 */ li r4, 0
/* 803ACE08 003A9D68 3A D6 00 04 */ addi r22, r22, 4
/* 803ACE0C 003A9D6C 7C B3 32 2E */ lhzx r5, r19, r6
/* 803ACE10 003A9D70 38 05 00 01 */ addi r0, r5, 1
/* 803ACE14 003A9D74 7C 13 33 2E */ sthx r0, r19, r6
/* 803ACE18 003A9D78 48 00 0E 69 */ bl salSynthSendMessage
/* 803ACE1C 003A9D7C 7F A3 EB 78 */ mr r3, r29
/* 803ACE20 003A9D80 48 00 0F 45 */ bl salDeactivateVoice
/* 803ACE24 003A9D84 48 00 01 B4 */ b lbl_803ACFD8
lbl_803ACE28:
/* 803ACE28 003A9D88 57 7E 0D FC */ rlwinm r30, r27, 1, 0x17, 0x1e
/* 803ACE2C 003A9D8C 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 803ACE30 003A9D90 7C 1F F2 2E */ lhzx r0, r31, r30
/* 803ACE34 003A9D94 28 00 00 00 */ cmplwi r0, 0
/* 803ACE38 003A9D98 41 82 00 64 */ beq lbl_803ACE9C
/* 803ACE3C 003A9D9C 3C A0 80 3E */ lis r5, lbl_803D8AA8@ha
/* 803ACE40 003A9DA0 38 7E 00 44 */ addi r3, r30, 0x44
/* 803ACE44 003A9DA4 39 05 8A A8 */ addi r8, r5, lbl_803D8AA8@l
/* 803ACE48 003A9DA8 38 A0 00 00 */ li r5, 0
/* 803ACE4C 003A9DAC 38 00 00 01 */ li r0, 1
/* 803ACE50 003A9DB0 38 E0 00 00 */ li r7, 0
/* 803ACE54 003A9DB4 48 00 00 3C */ b lbl_803ACE90
lbl_803ACE58:
/* 803ACE58 003A9DB8 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803ACE5C 003A9DBC 7C DF F2 2E */ lhzx r6, r31, r30
/* 803ACE60 003A9DC0 7C 09 48 30 */ slw r9, r0, r9
/* 803ACE64 003A9DC4 7D 26 30 39 */ and. r6, r9, r6
/* 803ACE68 003A9DC8 41 82 00 24 */ beq lbl_803ACE8C
/* 803ACE6C 003A9DCC 54 A6 0D FC */ rlwinm r6, r5, 1, 0x17, 0x1e
/* 803ACE70 003A9DD0 7C C8 32 2E */ lhzx r6, r8, r6
/* 803ACE74 003A9DD4 B0 D6 00 00 */ sth r6, 0(r22)
/* 803ACE78 003A9DD8 B0 F6 00 02 */ sth r7, 2(r22)
/* 803ACE7C 003A9DDC 3A D6 00 04 */ addi r22, r22, 4
/* 803ACE80 003A9DE0 7C D3 1A 2E */ lhzx r6, r19, r3
/* 803ACE84 003A9DE4 38 C6 00 01 */ addi r6, r6, 1
/* 803ACE88 003A9DE8 7C D3 1B 2E */ sthx r6, r19, r3
lbl_803ACE8C:
/* 803ACE8C 003A9DEC 38 A5 00 01 */ addi r5, r5, 1
lbl_803ACE90:
/* 803ACE90 003A9DF0 54 A6 06 3E */ clrlwi r6, r5, 0x18
/* 803ACE94 003A9DF4 28 06 00 09 */ cmplwi r6, 9
/* 803ACE98 003A9DF8 41 80 FF C0 */ blt lbl_803ACE58
lbl_803ACE9C:
/* 803ACE9C 003A9DFC 54 80 10 3A */ slwi r0, r4, 2
/* 803ACEA0 003A9E00 7E 3D 02 14 */ add r17, r29, r0
/* 803ACEA4 003A9E04 80 71 00 24 */ lwz r3, 0x24(r17)
/* 803ACEA8 003A9E08 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803ACEAC 003A9E0C 41 82 00 1C */ beq lbl_803ACEC8
/* 803ACEB0 003A9E10 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803ACEB4 003A9E14 38 80 00 0A */ li r4, 0xa
/* 803ACEB8 003A9E18 4B FF C6 45 */ bl adsrStartRelease
/* 803ACEBC 003A9E1C 38 00 00 01 */ li r0, 1
/* 803ACEC0 003A9E20 98 1D 00 ED */ stb r0, 0xed(r29)
/* 803ACEC4 003A9E24 48 00 00 6C */ b lbl_803ACF30
lbl_803ACEC8:
/* 803ACEC8 003A9E28 88 1D 00 ED */ lbz r0, 0xed(r29)
/* 803ACECC 003A9E2C 28 00 00 00 */ cmplwi r0, 0
/* 803ACED0 003A9E30 40 82 00 60 */ bne lbl_803ACF30
/* 803ACED4 003A9E34 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 803ACED8 003A9E38 41 82 00 0C */ beq lbl_803ACEE4
/* 803ACEDC 003A9E3C 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803ACEE0 003A9E40 4B FF C7 6D */ bl adsrRelease
lbl_803ACEE4:
/* 803ACEE4 003A9E44 80 11 00 24 */ lwz r0, 0x24(r17)
/* 803ACEE8 003A9E48 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803ACEEC 003A9E4C 41 82 00 44 */ beq lbl_803ACF30
/* 803ACEF0 003A9E50 38 60 00 53 */ li r3, 0x53
/* 803ACEF4 003A9E54 38 00 00 54 */ li r0, 0x54
/* 803ACEF8 003A9E58 B0 76 00 00 */ sth r3, 0(r22)
/* 803ACEFC 003A9E5C 38 9E 00 44 */ addi r4, r30, 0x44
/* 803ACF00 003A9E60 80 71 00 38 */ lwz r3, 0x38(r17)
/* 803ACF04 003A9E64 54 63 84 3E */ srwi r3, r3, 0x10
/* 803ACF08 003A9E68 B0 76 00 02 */ sth r3, 2(r22)
/* 803ACF0C 003A9E6C B0 16 00 04 */ sth r0, 4(r22)
/* 803ACF10 003A9E70 80 11 00 38 */ lwz r0, 0x38(r17)
/* 803ACF14 003A9E74 B0 16 00 06 */ sth r0, 6(r22)
/* 803ACF18 003A9E78 3A D6 00 08 */ addi r22, r22, 8
/* 803ACF1C 003A9E7C 7C 73 22 2E */ lhzx r3, r19, r4
/* 803ACF20 003A9E80 38 03 00 02 */ addi r0, r3, 2
/* 803ACF24 003A9E84 7C 13 23 2E */ sthx r0, r19, r4
/* 803ACF28 003A9E88 80 11 00 38 */ lwz r0, 0x38(r17)
/* 803ACF2C 003A9E8C 90 1D 00 E0 */ stw r0, 0xe0(r29)
lbl_803ACF30:
/* 803ACF30 003A9E90 82 9D 00 B4 */ lwz r20, 0xb4(r29)
/* 803ACF34 003A9E94 38 7D 00 A4 */ addi r3, r29, 0xa4
/* 803ACF38 003A9E98 38 81 00 0E */ addi r4, r1, 0xe
/* 803ACF3C 003A9E9C 38 A1 00 0C */ addi r5, r1, 0xc
/* 803ACF40 003A9EA0 4B FF C8 75 */ bl adsrHandle
/* 803ACF44 003A9EA4 A0 01 00 0C */ lhz r0, 0xc(r1)
/* 803ACF48 003A9EA8 56 A4 04 3E */ clrlwi r4, r21, 0x10
/* 803ACF4C 003A9EAC 7C 71 1B 78 */ mr r17, r3
/* 803ACF50 003A9EB0 7C 04 00 40 */ cmplw r4, r0
/* 803ACF54 003A9EB4 40 82 00 34 */ bne lbl_803ACF88
/* 803ACF58 003A9EB8 2C 14 00 00 */ cmpwi r20, 0
/* 803ACF5C 003A9EBC 41 82 00 64 */ beq lbl_803ACFC0
/* 803ACF60 003A9EC0 38 00 00 32 */ li r0, 0x32
/* 803ACF64 003A9EC4 38 9E 00 44 */ addi r4, r30, 0x44
/* 803ACF68 003A9EC8 B0 16 00 00 */ sth r0, 0(r22)
/* 803ACF6C 003A9ECC A0 01 00 0E */ lhz r0, 0xe(r1)
/* 803ACF70 003A9ED0 B0 16 00 02 */ sth r0, 2(r22)
/* 803ACF74 003A9ED4 3A D6 00 04 */ addi r22, r22, 4
/* 803ACF78 003A9ED8 7C 73 22 2E */ lhzx r3, r19, r4
/* 803ACF7C 003A9EDC 38 03 00 01 */ addi r0, r3, 1
/* 803ACF80 003A9EE0 7C 13 23 2E */ sthx r0, r19, r4
/* 803ACF84 003A9EE4 48 00 00 3C */ b lbl_803ACFC0
lbl_803ACF88:
/* 803ACF88 003A9EE8 38 60 00 32 */ li r3, 0x32
/* 803ACF8C 003A9EEC 38 00 00 33 */ li r0, 0x33
/* 803ACF90 003A9EF0 B0 76 00 00 */ sth r3, 0(r22)
/* 803ACF94 003A9EF4 38 9E 00 44 */ addi r4, r30, 0x44
/* 803ACF98 003A9EF8 A0 61 00 0E */ lhz r3, 0xe(r1)
/* 803ACF9C 003A9EFC B0 76 00 02 */ sth r3, 2(r22)
/* 803ACFA0 003A9F00 B0 16 00 04 */ sth r0, 4(r22)
/* 803ACFA4 003A9F04 A0 01 00 0C */ lhz r0, 0xc(r1)
/* 803ACFA8 003A9F08 B0 16 00 06 */ sth r0, 6(r22)
/* 803ACFAC 003A9F0C 3A D6 00 08 */ addi r22, r22, 8
/* 803ACFB0 003A9F10 7C 73 22 2E */ lhzx r3, r19, r4
/* 803ACFB4 003A9F14 38 03 00 02 */ addi r0, r3, 2
/* 803ACFB8 003A9F18 7C 13 23 2E */ sthx r0, r19, r4
/* 803ACFBC 003A9F1C A2 A1 00 0C */ lhz r21, 0xc(r1)
lbl_803ACFC0:
/* 803ACFC0 003A9F20 7F A3 EB 78 */ mr r3, r29
/* 803ACFC4 003A9F24 4B FF E4 B1 */ bl sal_update_hostplayinfo
/* 803ACFC8 003A9F28 3B 7B 00 01 */ addi r27, r27, 1
lbl_803ACFCC:
/* 803ACFCC 003A9F2C 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 803ACFD0 003A9F30 28 00 00 05 */ cmplwi r0, 5
/* 803ACFD4 003A9F34 41 80 FE 0C */ blt lbl_803ACDE0
lbl_803ACFD8:
/* 803ACFD8 003A9F38 28 11 00 00 */ cmplwi r17, 0
/* 803ACFDC 003A9F3C 41 82 00 18 */ beq lbl_803ACFF4
/* 803ACFE0 003A9F40 7F A3 EB 78 */ mr r3, r29
/* 803ACFE4 003A9F44 38 80 00 00 */ li r4, 0
/* 803ACFE8 003A9F48 48 00 0C 99 */ bl salSynthSendMessage
/* 803ACFEC 003A9F4C 7F A3 EB 78 */ mr r3, r29
/* 803ACFF0 003A9F50 48 00 0D 75 */ bl salDeactivateVoice
lbl_803ACFF4:
/* 803ACFF4 003A9F54 80 7D 00 04 */ lwz r3, 4(r29)
/* 803ACFF8 003A9F58 7C 83 B0 50 */ subf r4, r3, r22
/* 803ACFFC 003A9F5C 4B FD 1B 41 */ bl DCStoreRangeNoSync
/* 803AD000 003A9F60 A0 13 00 0C */ lhz r0, 0xc(r19)
/* 803AD004 003A9F64 3C 60 80 3E */ lis r3, lbl_803D8A68@ha
/* 803AD008 003A9F68 A0 93 00 A6 */ lhz r4, 0xa6(r19)
/* 803AD00C 003A9F6C 38 63 8A 68 */ addi r3, r3, lbl_803D8A68@l
/* 803AD010 003A9F70 54 00 08 3C */ slwi r0, r0, 1
/* 803AD014 003A9F74 7C 03 02 2E */ lhzx r0, r3, r0
/* 803AD018 003A9F78 2C 04 00 02 */ cmpwi r4, 2
/* 803AD01C 003A9F7C 7E E0 BA 14 */ add r23, r0, r23
/* 803AD020 003A9F80 3A F7 04 FE */ addi r23, r23, 0x4fe
/* 803AD024 003A9F84 40 80 00 34 */ bge lbl_803AD058
/* 803AD028 003A9F88 2C 04 00 00 */ cmpwi r4, 0
/* 803AD02C 003A9F8C 40 80 00 08 */ bge lbl_803AD034
/* 803AD030 003A9F90 48 00 00 28 */ b lbl_803AD058
lbl_803AD034:
/* 803AD034 003A9F94 1C 84 00 06 */ mulli r4, r4, 6
/* 803AD038 003A9F98 A0 13 00 08 */ lhz r0, 8(r19)
/* 803AD03C 003A9F9C 3C 60 80 3F */ lis r3, lbl_803F3FA8@ha
/* 803AD040 003A9FA0 54 00 08 3C */ slwi r0, r0, 1
/* 803AD044 003A9FA4 38 63 3F A8 */ addi r3, r3, lbl_803F3FA8@l
/* 803AD048 003A9FA8 7C 63 22 14 */ add r3, r3, r4
/* 803AD04C 003A9FAC 7C 03 02 2E */ lhzx r0, r3, r0
/* 803AD050 003A9FB0 7E F7 02 14 */ add r23, r23, r0
/* 803AD054 003A9FB4 48 00 00 20 */ b lbl_803AD074
lbl_803AD058:
/* 803AD058 003A9FB8 A0 93 00 08 */ lhz r4, 8(r19)
/* 803AD05C 003A9FBC 3C 60 80 3F */ lis r3, lbl_803F3FA8@ha
/* 803AD060 003A9FC0 38 03 3F A8 */ addi r0, r3, lbl_803F3FA8@l
/* 803AD064 003A9FC4 54 83 08 3C */ slwi r3, r4, 1
/* 803AD068 003A9FC8 7C 60 1A 14 */ add r3, r0, r3
/* 803AD06C 003A9FCC A0 03 00 0C */ lhz r0, 0xc(r3)
/* 803AD070 003A9FD0 7E F7 02 14 */ add r23, r23, r0
lbl_803AD074:
/* 803AD074 003A9FD4 3C 80 80 00 */ lis r4, 0x800000F8@ha
/* 803AD078 003A9FD8 3C 60 51 EC */ lis r3, 0x51EB851F@ha
/* 803AD07C 003A9FDC 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4)
/* 803AD080 003A9FE0 38 63 85 1F */ addi r3, r3, 0x51EB851F@l
/* 803AD084 003A9FE4 A0 93 00 44 */ lhz r4, 0x44(r19)
/* 803AD088 003A9FE8 7C 03 00 16 */ mulhwu r0, r3, r0
/* 803AD08C 003A9FEC A0 73 00 46 */ lhz r3, 0x46(r19)
/* 803AD090 003A9FF0 54 87 10 3A */ slwi r7, r4, 2
/* 803AD094 003A9FF4 A0 B3 00 48 */ lhz r5, 0x48(r19)
/* 803AD098 003A9FF8 A0 93 00 4A */ lhz r4, 0x4a(r19)
/* 803AD09C 003A9FFC 54 66 10 3A */ slwi r6, r3, 2
/* 803AD0A0 003AA000 7E F7 3A 14 */ add r23, r23, r7
/* 803AD0A4 003AA004 A0 73 00 4C */ lhz r3, 0x4c(r19)
/* 803AD0A8 003AA008 7E F7 32 14 */ add r23, r23, r6
/* 803AD0AC 003AA00C 54 A5 10 3A */ slwi r5, r5, 2
/* 803AD0B0 003AA010 7E F7 2A 14 */ add r23, r23, r5
/* 803AD0B4 003AA014 54 84 10 3A */ slwi r4, r4, 2
/* 803AD0B8 003AA018 7E F7 22 14 */ add r23, r23, r4
/* 803AD0BC 003AA01C 54 63 10 3A */ slwi r3, r3, 2
/* 803AD0C0 003AA020 7E F7 1A 14 */ add r23, r23, r3
/* 803AD0C4 003AA024 54 00 C9 FE */ srwi r0, r0, 7
/* 803AD0C8 003AA028 7C 17 00 40 */ cmplw r23, r0
/* 803AD0CC 003AA02C 40 81 01 18 */ ble lbl_803AD1E4
/* 803AD0D0 003AA030 80 01 00 20 */ lwz r0, 0x20(r1)
/* 803AD0D4 003AA034 28 00 00 00 */ cmplwi r0, 0
/* 803AD0D8 003AA038 40 82 00 18 */ bne lbl_803AD0F0
/* 803AD0DC 003AA03C 28 11 00 00 */ cmplwi r17, 0
/* 803AD0E0 003AA040 40 82 00 10 */ bne lbl_803AD0F0
/* 803AD0E4 003AA044 7E 03 83 78 */ mr r3, r16
/* 803AD0E8 003AA048 7F A4 EB 78 */ mr r4, r29
/* 803AD0EC 003AA04C 4B FF E4 A9 */ bl sub_803ab594
lbl_803AD0F0:
/* 803AD0F0 003AA050 7F A3 EB 78 */ mr r3, r29
/* 803AD0F4 003AA054 48 00 0C 71 */ bl salDeactivateVoice
/* 803AD0F8 003AA058 7F A3 EB 78 */ mr r3, r29
/* 803AD0FC 003AA05C 38 80 00 01 */ li r4, 1
/* 803AD100 003AA060 48 00 0B 81 */ bl salSynthSendMessage
/* 803AD104 003AA064 3C 60 80 56 */ lis r3, lbl_8055F840@ha
/* 803AD108 003AA068 3B 9C FF FF */ addi r28, r28, -1
/* 803AD10C 003AA06C 57 84 10 3A */ slwi r4, r28, 2
/* 803AD110 003AA070 38 03 F8 40 */ addi r0, r3, lbl_8055F840@l
/* 803AD114 003AA074 7D C0 22 14 */ add r14, r0, r4
/* 803AD118 003AA078 48 00 00 38 */ b lbl_803AD150
lbl_803AD11C:
/* 803AD11C 003AA07C 80 8E FF FC */ lwz r4, -4(r14)
/* 803AD120 003AA080 88 04 00 EC */ lbz r0, 0xec(r4)
/* 803AD124 003AA084 28 00 00 02 */ cmplwi r0, 2
/* 803AD128 003AA088 40 82 00 0C */ bne lbl_803AD134
/* 803AD12C 003AA08C 7E 03 83 78 */ mr r3, r16
/* 803AD130 003AA090 4B FF E4 65 */ bl sub_803ab594
lbl_803AD134:
/* 803AD134 003AA094 80 6E FF FC */ lwz r3, -4(r14)
/* 803AD138 003AA098 48 00 0C 2D */ bl salDeactivateVoice
/* 803AD13C 003AA09C 80 6E FF FC */ lwz r3, -4(r14)
/* 803AD140 003AA0A0 38 80 00 01 */ li r4, 1
/* 803AD144 003AA0A4 48 00 0B 3D */ bl salSynthSendMessage
/* 803AD148 003AA0A8 39 CE FF FC */ addi r14, r14, -4
/* 803AD14C 003AA0AC 3B 9C FF FF */ addi r28, r28, -1
lbl_803AD150:
/* 803AD150 003AA0B0 2C 1C 00 00 */ cmpwi r28, 0
/* 803AD154 003AA0B4 41 81 FF C8 */ bgt lbl_803AD11C
/* 803AD158 003AA0B8 88 61 00 24 */ lbz r3, 0x24(r1)
/* 803AD15C 003AA0BC 38 03 00 01 */ addi r0, r3, 1
/* 803AD160 003AA0C0 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AD164 003AA0C4 54 0E 06 3E */ clrlwi r14, r0, 0x18
/* 803AD168 003AA0C8 3A 23 F2 60 */ addi r17, r3, lbl_8055F260@l
/* 803AD16C 003AA0CC 48 00 00 64 */ b lbl_803AD1D0
lbl_803AD170:
/* 803AD170 003AA0D0 55 C0 06 3E */ clrlwi r0, r14, 0x18
/* 803AD174 003AA0D4 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803AD178 003AA0D8 7E 71 02 14 */ add r19, r17, r0
/* 803AD17C 003AA0DC 88 13 00 50 */ lbz r0, 0x50(r19)
/* 803AD180 003AA0E0 28 00 00 01 */ cmplwi r0, 1
/* 803AD184 003AA0E4 40 82 00 48 */ bne lbl_803AD1CC
/* 803AD188 003AA0E8 82 93 00 48 */ lwz r20, 0x48(r19)
/* 803AD18C 003AA0EC 48 00 00 38 */ b lbl_803AD1C4
lbl_803AD190:
/* 803AD190 003AA0F0 88 14 00 EC */ lbz r0, 0xec(r20)
/* 803AD194 003AA0F4 82 B4 00 0C */ lwz r21, 0xc(r20)
/* 803AD198 003AA0F8 28 00 00 02 */ cmplwi r0, 2
/* 803AD19C 003AA0FC 40 82 00 10 */ bne lbl_803AD1AC
/* 803AD1A0 003AA100 7E 63 9B 78 */ mr r3, r19
/* 803AD1A4 003AA104 7E 84 A3 78 */ mr r4, r20
/* 803AD1A8 003AA108 4B FF E3 ED */ bl sub_803ab594
lbl_803AD1AC:
/* 803AD1AC 003AA10C 7E 83 A3 78 */ mr r3, r20
/* 803AD1B0 003AA110 48 00 0B B5 */ bl salDeactivateVoice
/* 803AD1B4 003AA114 7E 83 A3 78 */ mr r3, r20
/* 803AD1B8 003AA118 38 80 00 01 */ li r4, 1
/* 803AD1BC 003AA11C 48 00 0A C5 */ bl salSynthSendMessage
/* 803AD1C0 003AA120 7E B4 AB 78 */ mr r20, r21
lbl_803AD1C4:
/* 803AD1C4 003AA124 28 14 00 00 */ cmplwi r20, 0
/* 803AD1C8 003AA128 40 82 FF C8 */ bne lbl_803AD190
lbl_803AD1CC:
/* 803AD1CC 003AA12C 39 CE 00 01 */ addi r14, r14, 1
lbl_803AD1D0:
/* 803AD1D0 003AA130 88 0D AF 8C */ lbz r0, lbl_805A9B4C@sda21(r13)
/* 803AD1D4 003AA134 55 C3 06 3E */ clrlwi r3, r14, 0x18
/* 803AD1D8 003AA138 7C 03 00 40 */ cmplw r3, r0
/* 803AD1DC 003AA13C 41 80 FF 94 */ blt lbl_803AD170
/* 803AD1E0 003AA140 48 00 01 18 */ b lbl_803AD2F8
lbl_803AD1E4:
/* 803AD1E4 003AA144 28 12 00 00 */ cmplwi r18, 0
/* 803AD1E8 003AA148 40 82 00 DC */ bne lbl_803AD2C4
/* 803AD1EC 003AA14C 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD1F0 003AA150 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD1F4 003AA154 38 85 00 06 */ addi r4, r5, 6
/* 803AD1F8 003AA158 38 03 FF F8 */ addi r0, r3, -8
/* 803AD1FC 003AA15C 7C 04 00 40 */ cmplw r4, r0
/* 803AD200 003AA160 40 81 00 8C */ ble lbl_803AD28C
/* 803AD204 003AA164 38 00 00 0D */ li r0, 0xd
/* 803AD208 003AA168 B0 05 00 00 */ sth r0, 0(r5)
/* 803AD20C 003AA16C 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD210 003AA170 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD214 003AA174 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD218 003AA178 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD21C 003AA17C 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD220 003AA180 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD224 003AA184 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD228 003AA188 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD22C 003AA18C 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD230 003AA190 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD234 003AA194 38 03 00 08 */ addi r0, r3, 8
/* 803AD238 003AA198 28 05 00 00 */ cmplwi r5, 0
/* 803AD23C 003AA19C 7C 64 00 50 */ subf r3, r4, r0
/* 803AD240 003AA1A0 38 03 00 03 */ addi r0, r3, 3
/* 803AD244 003AA1A4 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d
/* 803AD248 003AA1A8 41 82 00 18 */ beq lbl_803AD260
/* 803AD24C 003AA1AC B2 25 00 06 */ sth r17, 6(r5)
/* 803AD250 003AA1B0 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD254 003AA1B4 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD258 003AA1B8 4B FD 18 E5 */ bl DCStoreRangeNoSync
/* 803AD25C 003AA1BC 48 00 00 08 */ b lbl_803AD264
lbl_803AD260:
/* 803AD260 003AA1C0 B2 2D AF 3C */ sth r17, lbl_805A9AFC@sda21(r13)
lbl_803AD264:
/* 803AD264 003AA1C4 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD268 003AA1C8 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD26C 003AA1CC 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD270 003AA1D0 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD274 003AA1D4 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD278 003AA1D8 B2 2D AF 2C */ sth r17, lbl_805A9AEC@sda21(r13)
/* 803AD27C 003AA1DC 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD280 003AA1E0 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD284 003AA1E4 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD288 003AA1E8 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD28C:
/* 803AD28C 003AA1EC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD290 003AA1F0 38 00 00 02 */ li r0, 2
/* 803AD294 003AA1F4 56 64 84 3E */ srwi r4, r19, 0x10
/* 803AD298 003AA1F8 B0 03 00 00 */ sth r0, 0(r3)
/* 803AD29C 003AA1FC 38 00 00 01 */ li r0, 1
/* 803AD2A0 003AA200 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD2A4 003AA204 90 01 00 1C */ stw r0, 0x1c(r1)
/* 803AD2A8 003AA208 B0 83 00 02 */ sth r4, 2(r3)
/* 803AD2AC 003AA20C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD2B0 003AA210 B2 63 00 04 */ sth r19, 4(r3)
/* 803AD2B4 003AA214 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD2B8 003AA218 38 03 00 06 */ addi r0, r3, 6
/* 803AD2BC 003AA21C 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803AD2C0 003AA220 48 00 00 24 */ b lbl_803AD2E4
lbl_803AD2C4:
/* 803AD2C4 003AA224 56 60 84 3E */ srwi r0, r19, 0x10
/* 803AD2C8 003AA228 7E 43 93 78 */ mr r3, r18
/* 803AD2CC 003AA22C B0 12 00 00 */ sth r0, 0(r18)
/* 803AD2D0 003AA230 38 00 00 01 */ li r0, 1
/* 803AD2D4 003AA234 38 80 00 BC */ li r4, 0xbc
/* 803AD2D8 003AA238 90 01 00 1C */ stw r0, 0x1c(r1)
/* 803AD2DC 003AA23C B2 72 00 02 */ sth r19, 2(r18)
/* 803AD2E0 003AA240 4B FD 18 31 */ bl DCFlushRangeNoSync
lbl_803AD2E4:
/* 803AD2E4 003AA244 7E 72 9B 78 */ mr r18, r19
lbl_803AD2E8:
/* 803AD2E8 003AA248 39 CE FF FC */ addi r14, r14, -4
/* 803AD2EC 003AA24C 3B 9C FF FF */ addi r28, r28, -1
lbl_803AD2F0:
/* 803AD2F0 003AA250 2C 1C 00 00 */ cmpwi r28, 0
/* 803AD2F4 003AA254 41 81 EB DC */ bgt lbl_803ABED0
lbl_803AD2F8:
/* 803AD2F8 003AA258 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803AD2FC 003AA25C 28 00 00 00 */ cmplwi r0, 0
/* 803AD300 003AA260 41 82 00 B8 */ beq lbl_803AD3B8
/* 803AD304 003AA264 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD308 003AA268 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD30C 003AA26C 38 85 00 02 */ addi r4, r5, 2
/* 803AD310 003AA270 38 03 FF F8 */ addi r0, r3, -8
/* 803AD314 003AA274 7C 04 00 40 */ cmplw r4, r0
/* 803AD318 003AA278 40 81 00 8C */ ble lbl_803AD3A4
/* 803AD31C 003AA27C 38 00 00 0D */ li r0, 0xd
/* 803AD320 003AA280 B0 05 00 00 */ sth r0, 0(r5)
/* 803AD324 003AA284 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD328 003AA288 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD32C 003AA28C 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD330 003AA290 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD334 003AA294 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD338 003AA298 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD33C 003AA29C B0 03 00 04 */ sth r0, 4(r3)
/* 803AD340 003AA2A0 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD344 003AA2A4 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD348 003AA2A8 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD34C 003AA2AC 38 03 00 08 */ addi r0, r3, 8
/* 803AD350 003AA2B0 28 05 00 00 */ cmplwi r5, 0
/* 803AD354 003AA2B4 7C 64 00 50 */ subf r3, r4, r0
/* 803AD358 003AA2B8 38 03 00 03 */ addi r0, r3, 3
/* 803AD35C 003AA2BC 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d
/* 803AD360 003AA2C0 41 82 00 18 */ beq lbl_803AD378
/* 803AD364 003AA2C4 B1 C5 00 06 */ sth r14, 6(r5)
/* 803AD368 003AA2C8 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD36C 003AA2CC A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD370 003AA2D0 4B FD 17 CD */ bl DCStoreRangeNoSync
/* 803AD374 003AA2D4 48 00 00 08 */ b lbl_803AD37C
lbl_803AD378:
/* 803AD378 003AA2D8 B1 CD AF 3C */ sth r14, lbl_805A9AFC@sda21(r13)
lbl_803AD37C:
/* 803AD37C 003AA2DC 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD380 003AA2E0 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD384 003AA2E4 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD388 003AA2E8 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD38C 003AA2EC 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD390 003AA2F0 B1 CD AF 2C */ sth r14, lbl_805A9AEC@sda21(r13)
/* 803AD394 003AA2F4 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD398 003AA2F8 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD39C 003AA2FC 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD3A0 003AA300 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD3A4:
/* 803AD3A4 003AA304 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD3A8 003AA308 38 80 00 03 */ li r4, 3
/* 803AD3AC 003AA30C 38 03 00 02 */ addi r0, r3, 2
/* 803AD3B0 003AA310 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803AD3B4 003AA314 B0 83 00 00 */ sth r4, 0(r3)
lbl_803AD3B8:
/* 803AD3B8 003AA318 28 12 00 00 */ cmplwi r18, 0
/* 803AD3BC 003AA31C 41 82 00 1C */ beq lbl_803AD3D8
/* 803AD3C0 003AA320 38 00 00 00 */ li r0, 0
/* 803AD3C4 003AA324 7E 43 93 78 */ mr r3, r18
/* 803AD3C8 003AA328 B0 12 00 00 */ sth r0, 0(r18)
/* 803AD3CC 003AA32C 38 80 00 BC */ li r4, 0xbc
/* 803AD3D0 003AA330 B0 12 00 02 */ sth r0, 2(r18)
/* 803AD3D4 003AA334 4B FD 17 3D */ bl DCFlushRangeNoSync
lbl_803AD3D8:
/* 803AD3D8 003AA338 88 8D AF 8E */ lbz r4, lbl_805A9B4E@sda21(r13)
/* 803AD3DC 003AA33C 3C 60 55 55 */ lis r3, 0x55555556@ha
/* 803AD3E0 003AA340 80 10 00 AC */ lwz r0, 0xac(r16)
/* 803AD3E4 003AA344 38 63 55 56 */ addi r3, r3, 0x55555556@l
/* 803AD3E8 003AA348 38 84 00 01 */ addi r4, r4, 1
/* 803AD3EC 003AA34C 7C 63 20 96 */ mulhw r3, r3, r4
/* 803AD3F0 003AA350 28 00 00 00 */ cmplwi r0, 0
/* 803AD3F4 003AA354 54 60 0F FE */ srwi r0, r3, 0x1f
/* 803AD3F8 003AA358 7C 03 02 14 */ add r0, r3, r0
/* 803AD3FC 003AA35C 1C 00 00 03 */ mulli r0, r0, 3
/* 803AD400 003AA360 7C 00 20 50 */ subf r0, r0, r4
/* 803AD404 003AA364 54 0E 06 3E */ clrlwi r14, r0, 0x18
/* 803AD408 003AA368 41 82 01 14 */ beq lbl_803AD51C
/* 803AD40C 003AA36C 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD410 003AA370 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD414 003AA374 38 85 00 0A */ addi r4, r5, 0xa
/* 803AD418 003AA378 38 03 FF F8 */ addi r0, r3, -8
/* 803AD41C 003AA37C 7C 04 00 40 */ cmplw r4, r0
/* 803AD420 003AA380 40 81 00 8C */ ble lbl_803AD4AC
/* 803AD424 003AA384 38 00 00 0D */ li r0, 0xd
/* 803AD428 003AA388 B0 05 00 00 */ sth r0, 0(r5)
/* 803AD42C 003AA38C 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD430 003AA390 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD434 003AA394 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD438 003AA398 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD43C 003AA39C 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD440 003AA3A0 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD444 003AA3A4 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD448 003AA3A8 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD44C 003AA3AC 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD450 003AA3B0 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD454 003AA3B4 38 03 00 08 */ addi r0, r3, 8
/* 803AD458 003AA3B8 28 05 00 00 */ cmplwi r5, 0
/* 803AD45C 003AA3BC 7C 64 00 50 */ subf r3, r4, r0
/* 803AD460 003AA3C0 38 03 00 03 */ addi r0, r3, 3
/* 803AD464 003AA3C4 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d
/* 803AD468 003AA3C8 41 82 00 18 */ beq lbl_803AD480
/* 803AD46C 003AA3CC B2 25 00 06 */ sth r17, 6(r5)
/* 803AD470 003AA3D0 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD474 003AA3D4 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD478 003AA3D8 4B FD 16 C5 */ bl DCStoreRangeNoSync
/* 803AD47C 003AA3DC 48 00 00 08 */ b lbl_803AD484
lbl_803AD480:
/* 803AD480 003AA3E0 B2 2D AF 3C */ sth r17, lbl_805A9AFC@sda21(r13)
lbl_803AD484:
/* 803AD484 003AA3E4 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD488 003AA3E8 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD48C 003AA3EC 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD490 003AA3F0 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD494 003AA3F4 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD498 003AA3F8 B2 2D AF 2C */ sth r17, lbl_805A9AEC@sda21(r13)
/* 803AD49C 003AA3FC 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD4A0 003AA400 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD4A4 003AA404 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD4A8 003AA408 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD4AC:
/* 803AD4AC 003AA40C 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803AD4B0 003AA410 38 00 00 04 */ li r0, 4
/* 803AD4B4 003AA414 55 C3 15 BA */ rlwinm r3, r14, 2, 0x16, 0x1d
/* 803AD4B8 003AA418 B0 04 00 00 */ sth r0, 0(r4)
/* 803AD4BC 003AA41C 38 A3 00 30 */ addi r5, r3, 0x30
/* 803AD4C0 003AA420 88 0D AF 8E */ lbz r0, lbl_805A9B4E@sda21(r13)
/* 803AD4C4 003AA424 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD4C8 003AA428 54 04 10 3A */ slwi r4, r0, 2
/* 803AD4CC 003AA42C 38 04 00 30 */ addi r0, r4, 0x30
/* 803AD4D0 003AA430 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD4D4 003AA434 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD4D8 003AA438 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD4DC 003AA43C 88 0D AF 8E */ lbz r0, lbl_805A9B4E@sda21(r13)
/* 803AD4E0 003AA440 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD4E4 003AA444 54 04 10 3A */ slwi r4, r0, 2
/* 803AD4E8 003AA448 38 04 00 30 */ addi r0, r4, 0x30
/* 803AD4EC 003AA44C 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD4F0 003AA450 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD4F4 003AA454 7C 10 28 2E */ lwzx r0, r16, r5
/* 803AD4F8 003AA458 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD4FC 003AA45C 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD500 003AA460 B0 03 00 06 */ sth r0, 6(r3)
/* 803AD504 003AA464 7C 10 28 2E */ lwzx r0, r16, r5
/* 803AD508 003AA468 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD50C 003AA46C B0 03 00 08 */ sth r0, 8(r3)
/* 803AD510 003AA470 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD514 003AA474 38 03 00 0A */ addi r0, r3, 0xa
/* 803AD518 003AA478 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
lbl_803AD51C:
/* 803AD51C 003AA47C 80 10 00 54 */ lwz r0, 0x54(r16)
/* 803AD520 003AA480 2C 00 00 00 */ cmpwi r0, 0
/* 803AD524 003AA484 40 82 01 24 */ bne lbl_803AD648
/* 803AD528 003AA488 80 10 00 B0 */ lwz r0, 0xb0(r16)
/* 803AD52C 003AA48C 28 00 00 00 */ cmplwi r0, 0
/* 803AD530 003AA490 41 82 02 40 */ beq lbl_803AD770
/* 803AD534 003AA494 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD538 003AA498 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD53C 003AA49C 38 85 00 0A */ addi r4, r5, 0xa
/* 803AD540 003AA4A0 38 03 FF F8 */ addi r0, r3, -8
/* 803AD544 003AA4A4 7C 04 00 40 */ cmplw r4, r0
/* 803AD548 003AA4A8 40 81 00 8C */ ble lbl_803AD5D4
/* 803AD54C 003AA4AC 38 00 00 0D */ li r0, 0xd
/* 803AD550 003AA4B0 B0 05 00 00 */ sth r0, 0(r5)
/* 803AD554 003AA4B4 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD558 003AA4B8 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD55C 003AA4BC 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD560 003AA4C0 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD564 003AA4C4 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD568 003AA4C8 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD56C 003AA4CC B0 03 00 04 */ sth r0, 4(r3)
/* 803AD570 003AA4D0 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD574 003AA4D4 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD578 003AA4D8 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD57C 003AA4DC 38 03 00 08 */ addi r0, r3, 8
/* 803AD580 003AA4E0 28 05 00 00 */ cmplwi r5, 0
/* 803AD584 003AA4E4 7C 64 00 50 */ subf r3, r4, r0
/* 803AD588 003AA4E8 38 03 00 03 */ addi r0, r3, 3
/* 803AD58C 003AA4EC 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d
/* 803AD590 003AA4F0 41 82 00 18 */ beq lbl_803AD5A8
/* 803AD594 003AA4F4 B2 25 00 06 */ sth r17, 6(r5)
/* 803AD598 003AA4F8 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD59C 003AA4FC A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD5A0 003AA500 4B FD 15 9D */ bl DCStoreRangeNoSync
/* 803AD5A4 003AA504 48 00 00 08 */ b lbl_803AD5AC
lbl_803AD5A8:
/* 803AD5A8 003AA508 B2 2D AF 3C */ sth r17, lbl_805A9AFC@sda21(r13)
lbl_803AD5AC:
/* 803AD5AC 003AA50C 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD5B0 003AA510 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD5B4 003AA514 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD5B8 003AA518 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD5BC 003AA51C 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD5C0 003AA520 B2 2D AF 2C */ sth r17, lbl_805A9AEC@sda21(r13)
/* 803AD5C4 003AA524 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD5C8 003AA528 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD5CC 003AA52C 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD5D0 003AA530 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD5D4:
/* 803AD5D4 003AA534 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803AD5D8 003AA538 38 00 00 05 */ li r0, 5
/* 803AD5DC 003AA53C 55 C3 15 BA */ rlwinm r3, r14, 2, 0x16, 0x1d
/* 803AD5E0 003AA540 B0 04 00 00 */ sth r0, 0(r4)
/* 803AD5E4 003AA544 38 A3 00 3C */ addi r5, r3, 0x3c
/* 803AD5E8 003AA548 88 0D AF 8E */ lbz r0, lbl_805A9B4E@sda21(r13)
/* 803AD5EC 003AA54C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD5F0 003AA550 54 04 10 3A */ slwi r4, r0, 2
/* 803AD5F4 003AA554 38 04 00 3C */ addi r0, r4, 0x3c
/* 803AD5F8 003AA558 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD5FC 003AA55C 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD600 003AA560 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD604 003AA564 88 0D AF 8E */ lbz r0, lbl_805A9B4E@sda21(r13)
/* 803AD608 003AA568 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD60C 003AA56C 54 04 10 3A */ slwi r4, r0, 2
/* 803AD610 003AA570 38 04 00 3C */ addi r0, r4, 0x3c
/* 803AD614 003AA574 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD618 003AA578 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD61C 003AA57C 7C 10 28 2E */ lwzx r0, r16, r5
/* 803AD620 003AA580 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD624 003AA584 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD628 003AA588 B0 03 00 06 */ sth r0, 6(r3)
/* 803AD62C 003AA58C 7C 10 28 2E */ lwzx r0, r16, r5
/* 803AD630 003AA590 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD634 003AA594 B0 03 00 08 */ sth r0, 8(r3)
/* 803AD638 003AA598 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD63C 003AA59C 38 03 00 0A */ addi r0, r3, 0xa
/* 803AD640 003AA5A0 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803AD644 003AA5A4 48 00 01 2C */ b lbl_803AD770
lbl_803AD648:
/* 803AD648 003AA5A8 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD64C 003AA5AC 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD650 003AA5B0 38 85 00 0A */ addi r4, r5, 0xa
/* 803AD654 003AA5B4 38 03 FF F8 */ addi r0, r3, -8
/* 803AD658 003AA5B8 7C 04 00 40 */ cmplw r4, r0
/* 803AD65C 003AA5BC 40 81 00 8C */ ble lbl_803AD6E8
/* 803AD660 003AA5C0 38 00 00 0D */ li r0, 0xd
/* 803AD664 003AA5C4 B0 05 00 00 */ sth r0, 0(r5)
/* 803AD668 003AA5C8 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD66C 003AA5CC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD670 003AA5D0 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD674 003AA5D4 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD678 003AA5D8 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD67C 003AA5DC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD680 003AA5E0 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD684 003AA5E4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD688 003AA5E8 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD68C 003AA5EC 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD690 003AA5F0 38 03 00 08 */ addi r0, r3, 8
/* 803AD694 003AA5F4 28 05 00 00 */ cmplwi r5, 0
/* 803AD698 003AA5F8 7C 64 00 50 */ subf r3, r4, r0
/* 803AD69C 003AA5FC 38 03 00 03 */ addi r0, r3, 3
/* 803AD6A0 003AA600 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d
/* 803AD6A4 003AA604 41 82 00 18 */ beq lbl_803AD6BC
/* 803AD6A8 003AA608 B1 C5 00 06 */ sth r14, 6(r5)
/* 803AD6AC 003AA60C 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD6B0 003AA610 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD6B4 003AA614 4B FD 14 89 */ bl DCStoreRangeNoSync
/* 803AD6B8 003AA618 48 00 00 08 */ b lbl_803AD6C0
lbl_803AD6BC:
/* 803AD6BC 003AA61C B1 CD AF 3C */ sth r14, lbl_805A9AFC@sda21(r13)
lbl_803AD6C0:
/* 803AD6C0 003AA620 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD6C4 003AA624 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD6C8 003AA628 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD6CC 003AA62C 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD6D0 003AA630 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD6D4 003AA634 B1 CD AF 2C */ sth r14, lbl_805A9AEC@sda21(r13)
/* 803AD6D8 003AA638 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD6DC 003AA63C 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD6E0 003AA640 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD6E4 003AA644 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD6E8:
/* 803AD6E8 003AA648 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD6EC 003AA64C 38 00 00 10 */ li r0, 0x10
/* 803AD6F0 003AA650 B0 03 00 00 */ sth r0, 0(r3)
/* 803AD6F4 003AA654 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803AD6F8 003AA658 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD6FC 003AA65C 54 04 10 3A */ slwi r4, r0, 2
/* 803AD700 003AA660 38 04 00 3C */ addi r0, r4, 0x3c
/* 803AD704 003AA664 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD708 003AA668 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD70C 003AA66C B0 03 00 02 */ sth r0, 2(r3)
/* 803AD710 003AA670 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803AD714 003AA674 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD718 003AA678 54 04 10 3A */ slwi r4, r0, 2
/* 803AD71C 003AA67C 38 04 00 3C */ addi r0, r4, 0x3c
/* 803AD720 003AA680 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD724 003AA684 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD728 003AA688 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803AD72C 003AA68C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD730 003AA690 68 00 00 01 */ xori r0, r0, 1
/* 803AD734 003AA694 54 04 10 3A */ slwi r4, r0, 2
/* 803AD738 003AA698 38 04 00 3C */ addi r0, r4, 0x3c
/* 803AD73C 003AA69C 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD740 003AA6A0 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD744 003AA6A4 B0 03 00 06 */ sth r0, 6(r3)
/* 803AD748 003AA6A8 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803AD74C 003AA6AC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD750 003AA6B0 68 00 00 01 */ xori r0, r0, 1
/* 803AD754 003AA6B4 54 04 10 3A */ slwi r4, r0, 2
/* 803AD758 003AA6B8 38 04 00 3C */ addi r0, r4, 0x3c
/* 803AD75C 003AA6BC 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD760 003AA6C0 B0 03 00 08 */ sth r0, 8(r3)
/* 803AD764 003AA6C4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD768 003AA6C8 38 03 00 0A */ addi r0, r3, 0xa
/* 803AD76C 003AA6CC 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
lbl_803AD770:
/* 803AD770 003AA6D0 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD774 003AA6D4 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD778 003AA6D8 38 85 00 06 */ addi r4, r5, 6
/* 803AD77C 003AA6DC 38 03 FF F8 */ addi r0, r3, -8
/* 803AD780 003AA6E0 7C 04 00 40 */ cmplw r4, r0
/* 803AD784 003AA6E4 40 81 00 8C */ ble lbl_803AD810
/* 803AD788 003AA6E8 38 00 00 0D */ li r0, 0xd
/* 803AD78C 003AA6EC B0 05 00 00 */ sth r0, 0(r5)
/* 803AD790 003AA6F0 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD794 003AA6F4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD798 003AA6F8 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD79C 003AA6FC B0 03 00 02 */ sth r0, 2(r3)
/* 803AD7A0 003AA700 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD7A4 003AA704 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD7A8 003AA708 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD7AC 003AA70C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD7B0 003AA710 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD7B4 003AA714 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD7B8 003AA718 38 03 00 08 */ addi r0, r3, 8
/* 803AD7BC 003AA71C 28 05 00 00 */ cmplwi r5, 0
/* 803AD7C0 003AA720 7C 64 00 50 */ subf r3, r4, r0
/* 803AD7C4 003AA724 38 03 00 03 */ addi r0, r3, 3
/* 803AD7C8 003AA728 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d
/* 803AD7CC 003AA72C 41 82 00 18 */ beq lbl_803AD7E4
/* 803AD7D0 003AA730 B1 C5 00 06 */ sth r14, 6(r5)
/* 803AD7D4 003AA734 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD7D8 003AA738 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD7DC 003AA73C 4B FD 13 61 */ bl DCStoreRangeNoSync
/* 803AD7E0 003AA740 48 00 00 08 */ b lbl_803AD7E8
lbl_803AD7E4:
/* 803AD7E4 003AA744 B1 CD AF 3C */ sth r14, lbl_805A9AFC@sda21(r13)
lbl_803AD7E8:
/* 803AD7E8 003AA748 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD7EC 003AA74C 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD7F0 003AA750 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD7F4 003AA754 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD7F8 003AA758 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD7FC 003AA75C B1 CD AF 2C */ sth r14, lbl_805A9AEC@sda21(r13)
/* 803AD800 003AA760 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD804 003AA764 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD808 003AA768 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD80C 003AA76C 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD810:
/* 803AD810 003AA770 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD814 003AA774 38 00 00 06 */ li r0, 6
/* 803AD818 003AA778 38 B0 00 04 */ addi r5, r16, 4
/* 803AD81C 003AA77C B0 03 00 00 */ sth r0, 0(r3)
/* 803AD820 003AA780 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803AD824 003AA784 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD828 003AA788 54 04 10 3A */ slwi r4, r0, 2
/* 803AD82C 003AA78C 38 04 00 28 */ addi r0, r4, 0x28
/* 803AD830 003AA790 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD834 003AA794 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD838 003AA798 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD83C 003AA79C 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803AD840 003AA7A0 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD844 003AA7A4 54 04 10 3A */ slwi r4, r0, 2
/* 803AD848 003AA7A8 38 04 00 28 */ addi r0, r4, 0x28
/* 803AD84C 003AA7AC 7C 10 00 2E */ lwzx r0, r16, r0
/* 803AD850 003AA7B0 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD854 003AA7B4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD858 003AA7B8 81 D0 00 00 */ lwz r14, 0(r16)
/* 803AD85C 003AA7BC 38 03 00 06 */ addi r0, r3, 6
/* 803AD860 003AA7C0 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803AD864 003AA7C4 7D C3 73 78 */ mr r3, r14
/* 803AD868 003AA7C8 38 8E 00 04 */ addi r4, r14, 4
/* 803AD86C 003AA7CC 4B FF DC 7D */ bl DoDepopFade
/* 803AD870 003AA7D0 38 6E 00 06 */ addi r3, r14, 6
/* 803AD874 003AA7D4 38 8E 00 0A */ addi r4, r14, 0xa
/* 803AD878 003AA7D8 38 B0 00 08 */ addi r5, r16, 8
/* 803AD87C 003AA7DC 4B FF DC 6D */ bl DoDepopFade
/* 803AD880 003AA7E0 38 6E 00 0C */ addi r3, r14, 0xc
/* 803AD884 003AA7E4 38 8E 00 10 */ addi r4, r14, 0x10
/* 803AD888 003AA7E8 38 B0 00 0C */ addi r5, r16, 0xc
/* 803AD88C 003AA7EC 4B FF DC 5D */ bl DoDepopFade
/* 803AD890 003AA7F0 38 6E 00 12 */ addi r3, r14, 0x12
/* 803AD894 003AA7F4 38 8E 00 16 */ addi r4, r14, 0x16
/* 803AD898 003AA7F8 38 B0 00 10 */ addi r5, r16, 0x10
/* 803AD89C 003AA7FC 4B FF DC 4D */ bl DoDepopFade
/* 803AD8A0 003AA800 38 6E 00 18 */ addi r3, r14, 0x18
/* 803AD8A4 003AA804 38 8E 00 1C */ addi r4, r14, 0x1c
/* 803AD8A8 003AA808 38 B0 00 14 */ addi r5, r16, 0x14
/* 803AD8AC 003AA80C 4B FF DC 3D */ bl DoDepopFade
/* 803AD8B0 003AA810 38 6E 00 1E */ addi r3, r14, 0x1e
/* 803AD8B4 003AA814 38 8E 00 22 */ addi r4, r14, 0x22
/* 803AD8B8 003AA818 38 B0 00 18 */ addi r5, r16, 0x18
/* 803AD8BC 003AA81C 4B FF DC 2D */ bl DoDepopFade
/* 803AD8C0 003AA820 38 6E 00 24 */ addi r3, r14, 0x24
/* 803AD8C4 003AA824 38 8E 00 28 */ addi r4, r14, 0x28
/* 803AD8C8 003AA828 38 B0 00 1C */ addi r5, r16, 0x1c
/* 803AD8CC 003AA82C 4B FF DC 1D */ bl DoDepopFade
/* 803AD8D0 003AA830 38 6E 00 2A */ addi r3, r14, 0x2a
/* 803AD8D4 003AA834 38 8E 00 2E */ addi r4, r14, 0x2e
/* 803AD8D8 003AA838 38 B0 00 20 */ addi r5, r16, 0x20
/* 803AD8DC 003AA83C 4B FF DC 0D */ bl DoDepopFade
/* 803AD8E0 003AA840 38 6E 00 30 */ addi r3, r14, 0x30
/* 803AD8E4 003AA844 38 8E 00 34 */ addi r4, r14, 0x34
/* 803AD8E8 003AA848 38 B0 00 24 */ addi r5, r16, 0x24
/* 803AD8EC 003AA84C 4B FF DB FD */ bl DoDepopFade
/* 803AD8F0 003AA850 7D C3 73 78 */ mr r3, r14
/* 803AD8F4 003AA854 38 80 00 36 */ li r4, 0x36
/* 803AD8F8 003AA858 4B FD 12 19 */ bl DCFlushRangeNoSync
lbl_803AD8FC:
/* 803AD8FC 003AA85C 88 61 00 24 */ lbz r3, 0x24(r1)
/* 803AD900 003AA860 38 63 00 01 */ addi r3, r3, 1
/* 803AD904 003AA864 98 61 00 24 */ stb r3, 0x24(r1)
lbl_803AD908:
/* 803AD908 003AA868 88 6D AF 8C */ lbz r3, lbl_805A9B4C@sda21(r13)
/* 803AD90C 003AA86C 88 01 00 24 */ lbz r0, 0x24(r1)
/* 803AD910 003AA870 7C 00 18 40 */ cmplw r0, r3
/* 803AD914 003AA874 41 80 E2 60 */ blt lbl_803ABB74
/* 803AD918 003AA878 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD91C 003AA87C 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD920 003AA880 38 85 00 06 */ addi r4, r5, 6
/* 803AD924 003AA884 38 03 FF F8 */ addi r0, r3, -8
/* 803AD928 003AA888 7C 04 00 40 */ cmplw r4, r0
/* 803AD92C 003AA88C 40 81 00 8C */ ble lbl_803AD9B8
/* 803AD930 003AA890 38 00 00 0D */ li r0, 0xd
/* 803AD934 003AA894 B0 05 00 00 */ sth r0, 0(r5)
/* 803AD938 003AA898 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD93C 003AA89C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD940 003AA8A0 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD944 003AA8A4 B0 03 00 02 */ sth r0, 2(r3)
/* 803AD948 003AA8A8 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803AD94C 003AA8AC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD950 003AA8B0 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD954 003AA8B4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD958 003AA8B8 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803AD95C 003AA8BC 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD960 003AA8C0 38 03 00 08 */ addi r0, r3, 8
/* 803AD964 003AA8C4 28 05 00 00 */ cmplwi r5, 0
/* 803AD968 003AA8C8 7C 64 00 50 */ subf r3, r4, r0
/* 803AD96C 003AA8CC 38 03 00 03 */ addi r0, r3, 3
/* 803AD970 003AA8D0 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d
/* 803AD974 003AA8D4 41 82 00 18 */ beq lbl_803AD98C
/* 803AD978 003AA8D8 B1 C5 00 06 */ sth r14, 6(r5)
/* 803AD97C 003AA8DC 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803AD980 003AA8E0 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803AD984 003AA8E4 4B FD 11 B9 */ bl DCStoreRangeNoSync
/* 803AD988 003AA8E8 48 00 00 08 */ b lbl_803AD990
lbl_803AD98C:
/* 803AD98C 003AA8EC B1 CD AF 3C */ sth r14, lbl_805A9AFC@sda21(r13)
lbl_803AD990:
/* 803AD990 003AA8F0 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803AD994 003AA8F4 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803AD998 003AA8F8 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803AD99C 003AA8FC 38 03 01 80 */ addi r0, r3, 0x180
/* 803AD9A0 003AA900 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803AD9A4 003AA904 B1 CD AF 2C */ sth r14, lbl_805A9AEC@sda21(r13)
/* 803AD9A8 003AA908 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803AD9AC 003AA90C 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803AD9B0 003AA910 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803AD9B4 003AA914 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803AD9B8:
/* 803AD9B8 003AA918 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803AD9BC 003AA91C 38 00 00 11 */ li r0, 0x11
/* 803AD9C0 003AA920 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803AD9C4 003AA924 3A 00 00 00 */ li r16, 0
/* 803AD9C8 003AA928 B0 04 00 00 */ sth r0, 0(r4)
/* 803AD9CC 003AA92C 39 C3 F2 60 */ addi r14, r3, lbl_8055F260@l
/* 803AD9D0 003AA930 80 0D AF 4C */ lwz r0, lbl_805A9B0C@sda21(r13)
/* 803AD9D4 003AA934 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD9D8 003AA938 54 00 84 3E */ srwi r0, r0, 0x10
/* 803AD9DC 003AA93C B0 03 00 02 */ sth r0, 2(r3)
/* 803AD9E0 003AA940 80 0D AF 4C */ lwz r0, lbl_805A9B0C@sda21(r13)
/* 803AD9E4 003AA944 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD9E8 003AA948 B0 03 00 04 */ sth r0, 4(r3)
/* 803AD9EC 003AA94C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803AD9F0 003AA950 38 03 00 06 */ addi r0, r3, 6
/* 803AD9F4 003AA954 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803AD9F8 003AA958 48 00 01 18 */ b lbl_803ADB10
lbl_803AD9FC:
/* 803AD9FC 003AA95C 56 00 06 3E */ clrlwi r0, r16, 0x18
/* 803ADA00 003AA960 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADA04 003AA964 7D EE 02 14 */ add r15, r14, r0
/* 803ADA08 003AA968 88 0F 00 50 */ lbz r0, 0x50(r15)
/* 803ADA0C 003AA96C 28 00 00 01 */ cmplwi r0, 1
/* 803ADA10 003AA970 40 82 00 FC */ bne lbl_803ADB0C
/* 803ADA14 003AA974 88 0F 00 51 */ lbz r0, 0x51(r15)
/* 803ADA18 003AA978 28 00 00 00 */ cmplwi r0, 0
/* 803ADA1C 003AA97C 41 82 00 F0 */ beq lbl_803ADB0C
/* 803ADA20 003AA980 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ADA24 003AA984 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ADA28 003AA988 38 85 00 06 */ addi r4, r5, 6
/* 803ADA2C 003AA98C 38 03 FF F8 */ addi r0, r3, -8
/* 803ADA30 003AA990 7C 04 00 40 */ cmplw r4, r0
/* 803ADA34 003AA994 40 81 00 8C */ ble lbl_803ADAC0
/* 803ADA38 003AA998 38 00 00 0D */ li r0, 0xd
/* 803ADA3C 003AA99C B0 05 00 00 */ sth r0, 0(r5)
/* 803ADA40 003AA9A0 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ADA44 003AA9A4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADA48 003AA9A8 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ADA4C 003AA9AC B0 03 00 02 */ sth r0, 2(r3)
/* 803ADA50 003AA9B0 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ADA54 003AA9B4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADA58 003AA9B8 B0 03 00 04 */ sth r0, 4(r3)
/* 803ADA5C 003AA9BC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADA60 003AA9C0 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803ADA64 003AA9C4 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ADA68 003AA9C8 38 03 00 08 */ addi r0, r3, 8
/* 803ADA6C 003AA9CC 28 05 00 00 */ cmplwi r5, 0
/* 803ADA70 003AA9D0 7C 64 00 50 */ subf r3, r4, r0
/* 803ADA74 003AA9D4 38 03 00 03 */ addi r0, r3, 3
/* 803ADA78 003AA9D8 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d
/* 803ADA7C 003AA9DC 41 82 00 18 */ beq lbl_803ADA94
/* 803ADA80 003AA9E0 B2 25 00 06 */ sth r17, 6(r5)
/* 803ADA84 003AA9E4 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803ADA88 003AA9E8 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803ADA8C 003AA9EC 4B FD 10 B1 */ bl DCStoreRangeNoSync
/* 803ADA90 003AA9F0 48 00 00 08 */ b lbl_803ADA98
lbl_803ADA94:
/* 803ADA94 003AA9F4 B2 2D AF 3C */ sth r17, lbl_805A9AFC@sda21(r13)
lbl_803ADA98:
/* 803ADA98 003AA9F8 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ADA9C 003AA9FC 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ADAA0 003AAA00 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ADAA4 003AAA04 38 03 01 80 */ addi r0, r3, 0x180
/* 803ADAA8 003AAA08 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803ADAAC 003AAA0C B2 2D AF 2C */ sth r17, lbl_805A9AEC@sda21(r13)
/* 803ADAB0 003AAA10 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803ADAB4 003AAA14 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803ADAB8 003AAA18 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803ADABC 003AAA1C 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803ADAC0:
/* 803ADAC0 003AAA20 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADAC4 003AAA24 38 00 00 09 */ li r0, 9
/* 803ADAC8 003AAA28 B0 03 00 00 */ sth r0, 0(r3)
/* 803ADACC 003AAA2C 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803ADAD0 003AAA30 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADAD4 003AAA34 54 04 10 3A */ slwi r4, r0, 2
/* 803ADAD8 003AAA38 38 04 00 28 */ addi r0, r4, 0x28
/* 803ADADC 003AAA3C 7C 0F 00 2E */ lwzx r0, r15, r0
/* 803ADAE0 003AAA40 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ADAE4 003AAA44 B0 03 00 02 */ sth r0, 2(r3)
/* 803ADAE8 003AAA48 88 0D AF 8F */ lbz r0, lbl_805A9B4F@sda21(r13)
/* 803ADAEC 003AAA4C 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADAF0 003AAA50 54 04 10 3A */ slwi r4, r0, 2
/* 803ADAF4 003AAA54 38 04 00 28 */ addi r0, r4, 0x28
/* 803ADAF8 003AAA58 7C 0F 00 2E */ lwzx r0, r15, r0
/* 803ADAFC 003AAA5C B0 03 00 04 */ sth r0, 4(r3)
/* 803ADB00 003AAA60 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADB04 003AAA64 38 03 00 06 */ addi r0, r3, 6
/* 803ADB08 003AAA68 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
lbl_803ADB0C:
/* 803ADB0C 003AAA6C 3A 10 00 01 */ addi r16, r16, 1
lbl_803ADB10:
/* 803ADB10 003AAA70 88 0D AF 8C */ lbz r0, lbl_805A9B4C@sda21(r13)
/* 803ADB14 003AAA74 56 03 06 3E */ clrlwi r3, r16, 0x18
/* 803ADB18 003AAA78 7C 03 00 40 */ cmplw r3, r0
/* 803ADB1C 003AAA7C 41 80 FE E0 */ blt lbl_803AD9FC
/* 803ADB20 003AAA80 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ADB24 003AAA84 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ADB28 003AAA88 38 85 00 0A */ addi r4, r5, 0xa
/* 803ADB2C 003AAA8C 38 03 FF F8 */ addi r0, r3, -8
/* 803ADB30 003AAA90 7C 04 00 40 */ cmplw r4, r0
/* 803ADB34 003AAA94 40 81 00 8C */ ble lbl_803ADBC0
/* 803ADB38 003AAA98 38 00 00 0D */ li r0, 0xd
/* 803ADB3C 003AAA9C B0 05 00 00 */ sth r0, 0(r5)
/* 803ADB40 003AAAA0 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ADB44 003AAAA4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADB48 003AAAA8 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ADB4C 003AAAAC B0 03 00 02 */ sth r0, 2(r3)
/* 803ADB50 003AAAB0 80 0D AF 34 */ lwz r0, lbl_805A9AF4@sda21(r13)
/* 803ADB54 003AAAB4 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADB58 003AAAB8 B0 03 00 04 */ sth r0, 4(r3)
/* 803ADB5C 003AAABC 80 6D AF 38 */ lwz r3, lbl_805A9AF8@sda21(r13)
/* 803ADB60 003AAAC0 80 AD AF 24 */ lwz r5, lbl_805A9AE4@sda21(r13)
/* 803ADB64 003AAAC4 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ADB68 003AAAC8 38 03 00 08 */ addi r0, r3, 8
/* 803ADB6C 003AAACC 28 05 00 00 */ cmplwi r5, 0
/* 803ADB70 003AAAD0 7C 64 00 50 */ subf r3, r4, r0
/* 803ADB74 003AAAD4 38 03 00 03 */ addi r0, r3, 3
/* 803ADB78 003AAAD8 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d
/* 803ADB7C 003AAADC 41 82 00 18 */ beq lbl_803ADB94
/* 803ADB80 003AAAE0 B1 C5 00 06 */ sth r14, 6(r5)
/* 803ADB84 003AAAE4 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803ADB88 003AAAE8 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803ADB8C 003AAAEC 4B FD 0F B1 */ bl DCStoreRangeNoSync
/* 803ADB90 003AAAF0 48 00 00 08 */ b lbl_803ADB98
lbl_803ADB94:
/* 803ADB94 003AAAF4 B1 CD AF 3C */ sth r14, lbl_805A9AFC@sda21(r13)
lbl_803ADB98:
/* 803ADB98 003AAAF8 80 6D AF 34 */ lwz r3, lbl_805A9AF4@sda21(r13)
/* 803ADB9C 003AAAFC 80 AD AF 38 */ lwz r5, lbl_805A9AF8@sda21(r13)
/* 803ADBA0 003AAB00 80 8D AF 30 */ lwz r4, lbl_805A9AF0@sda21(r13)
/* 803ADBA4 003AAB04 38 03 01 80 */ addi r0, r3, 0x180
/* 803ADBA8 003AAB08 90 AD AF 24 */ stw r5, lbl_805A9AE4@sda21(r13)
/* 803ADBAC 003AAB0C B1 CD AF 2C */ sth r14, lbl_805A9AEC@sda21(r13)
/* 803ADBB0 003AAB10 90 8D AF 28 */ stw r4, lbl_805A9AE8@sda21(r13)
/* 803ADBB4 003AAB14 90 6D AF 38 */ stw r3, lbl_805A9AF8@sda21(r13)
/* 803ADBB8 003AAB18 90 6D AF 30 */ stw r3, lbl_805A9AF0@sda21(r13)
/* 803ADBBC 003AAB1C 90 0D AF 34 */ stw r0, lbl_805A9AF4@sda21(r13)
lbl_803ADBC0:
/* 803ADBC0 003AAB20 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ADBC4 003AAB24 38 A0 00 0E */ li r5, 0xe
/* 803ADBC8 003AAB28 80 01 00 08 */ lwz r0, 8(r1)
/* 803ADBCC 003AAB2C 38 60 00 0F */ li r3, 0xf
/* 803ADBD0 003AAB30 B0 A4 00 00 */ sth r5, 0(r4)
/* 803ADBD4 003AAB34 54 00 84 3E */ srwi r0, r0, 0x10
/* 803ADBD8 003AAB38 80 AD AF 4C */ lwz r5, lbl_805A9B0C@sda21(r13)
/* 803ADBDC 003AAB3C 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ADBE0 003AAB40 54 A5 84 3E */ srwi r5, r5, 0x10
/* 803ADBE4 003AAB44 B0 A4 00 02 */ sth r5, 2(r4)
/* 803ADBE8 003AAB48 80 AD AF 4C */ lwz r5, lbl_805A9B0C@sda21(r13)
/* 803ADBEC 003AAB4C 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ADBF0 003AAB50 B0 A4 00 04 */ sth r5, 4(r4)
/* 803ADBF4 003AAB54 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ADBF8 003AAB58 B0 04 00 06 */ sth r0, 6(r4)
/* 803ADBFC 003AAB5C 80 01 00 08 */ lwz r0, 8(r1)
/* 803ADC00 003AAB60 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ADC04 003AAB64 B0 04 00 08 */ sth r0, 8(r4)
/* 803ADC08 003AAB68 80 8D AF 38 */ lwz r4, lbl_805A9AF8@sda21(r13)
/* 803ADC0C 003AAB6C 38 84 00 0A */ addi r4, r4, 0xa
/* 803ADC10 003AAB70 90 8D AF 38 */ stw r4, lbl_805A9AF8@sda21(r13)
/* 803ADC14 003AAB74 38 04 00 02 */ addi r0, r4, 2
/* 803ADC18 003AAB78 90 0D AF 38 */ stw r0, lbl_805A9AF8@sda21(r13)
/* 803ADC1C 003AAB7C B0 64 00 00 */ sth r3, 0(r4)
/* 803ADC20 003AAB80 80 8D AF 24 */ lwz r4, lbl_805A9AE4@sda21(r13)
/* 803ADC24 003AAB84 80 6D AF 30 */ lwz r3, lbl_805A9AF0@sda21(r13)
/* 803ADC28 003AAB88 80 0D AF 38 */ lwz r0, lbl_805A9AF8@sda21(r13)
/* 803ADC2C 003AAB8C 28 04 00 00 */ cmplwi r4, 0
/* 803ADC30 003AAB90 7C 63 00 50 */ subf r3, r3, r0
/* 803ADC34 003AAB94 38 03 00 03 */ addi r0, r3, 3
/* 803ADC38 003AAB98 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d
/* 803ADC3C 003AAB9C 41 82 00 18 */ beq lbl_803ADC54
/* 803ADC40 003AABA0 B0 04 00 06 */ sth r0, 6(r4)
/* 803ADC44 003AABA4 80 6D AF 28 */ lwz r3, lbl_805A9AE8@sda21(r13)
/* 803ADC48 003AABA8 A0 8D AF 2C */ lhz r4, lbl_805A9AEC@sda21(r13)
/* 803ADC4C 003AABAC 4B FD 0E F1 */ bl DCStoreRangeNoSync
/* 803ADC50 003AABB0 48 00 00 08 */ b lbl_803ADC58
lbl_803ADC54:
/* 803ADC54 003AABB4 B0 0D AF 3C */ sth r0, lbl_805A9AFC@sda21(r13)
lbl_803ADC58:
/* 803ADC58 003AABB8 80 6D AF 30 */ lwz r3, lbl_805A9AF0@sda21(r13)
/* 803ADC5C 003AABBC 80 0D AF 38 */ lwz r0, lbl_805A9AF8@sda21(r13)
/* 803ADC60 003AABC0 7C 83 00 50 */ subf r4, r3, r0
/* 803ADC64 003AABC4 4B FD 0E D9 */ bl DCStoreRangeNoSync
/* 803ADC68 003AABC8 39 61 00 80 */ addi r11, r1, 0x80
/* 803ADC6C 003AABCC 4B FD BE 29 */ bl __restore_gpr
/* 803ADC70 003AABD0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 803ADC74 003AABD4 7C 08 03 A6 */ mtlr r0
/* 803ADC78 003AABD8 38 21 00 80 */ addi r1, r1, 0x80
/* 803ADC7C 003AABDC 4E 80 00 20 */ blr
.global salSynthSendMessage
salSynthSendMessage:
/* 803ADC80 003AABE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803ADC84 003AABE4 7C 08 02 A6 */ mflr r0
/* 803ADC88 003AABE8 7C 65 1B 78 */ mr r5, r3
/* 803ADC8C 003AABEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803ADC90 003AABF0 81 8D AF 58 */ lwz r12, lbl_805A9B18@sda21(r13)
/* 803ADC94 003AABF4 28 0C 00 00 */ cmplwi r12, 0
/* 803ADC98 003AABF8 40 82 00 0C */ bne lbl_803ADCA4
/* 803ADC9C 003AABFC 38 60 00 00 */ li r3, 0
/* 803ADCA0 003AAC00 48 00 00 14 */ b lbl_803ADCB4
lbl_803ADCA4:
/* 803ADCA4 003AAC04 7C 83 23 78 */ mr r3, r4
/* 803ADCA8 003AAC08 80 85 00 18 */ lwz r4, 0x18(r5)
/* 803ADCAC 003AAC0C 7D 89 03 A6 */ mtctr r12
/* 803ADCB0 003AAC10 4E 80 04 21 */ bctrl
lbl_803ADCB4:
/* 803ADCB4 003AAC14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803ADCB8 003AAC18 7C 08 03 A6 */ mtlr r0
/* 803ADCBC 003AAC1C 38 21 00 10 */ addi r1, r1, 0x10
/* 803ADCC0 003AAC20 4E 80 00 20 */ blr
.global salActivateVoice
salActivateVoice:
/* 803ADCC4 003AAC24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803ADCC8 003AAC28 7C 08 02 A6 */ mflr r0
/* 803ADCCC 003AAC2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803ADCD0 003AAC30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803ADCD4 003AAC34 7C 9F 23 78 */ mr r31, r4
/* 803ADCD8 003AAC38 93 C1 00 08 */ stw r30, 8(r1)
/* 803ADCDC 003AAC3C 7C 7E 1B 78 */ mr r30, r3
/* 803ADCE0 003AAC40 88 03 00 EC */ lbz r0, 0xec(r3)
/* 803ADCE4 003AAC44 28 00 00 00 */ cmplwi r0, 0
/* 803ADCE8 003AAC48 41 82 00 14 */ beq lbl_803ADCFC
/* 803ADCEC 003AAC4C 48 00 00 79 */ bl salDeactivateVoice
/* 803ADCF0 003AAC50 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 803ADCF4 003AAC54 60 00 00 20 */ ori r0, r0, 0x20
/* 803ADCF8 003AAC58 90 1E 00 24 */ stw r0, 0x24(r30)
lbl_803ADCFC:
/* 803ADCFC 003AAC5C 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 803ADD00 003AAC60 38 80 00 00 */ li r4, 0
/* 803ADD04 003AAC64 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADD08 003AAC68 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803ADD0C 003AAC6C 98 9E 00 ED */ stb r4, 0xed(r30)
/* 803ADD10 003AAC70 38 63 F2 60 */ addi r3, r3, lbl_8055F260@l
/* 803ADD14 003AAC74 7C 83 02 14 */ add r4, r3, r0
/* 803ADD18 003AAC78 84 04 00 48 */ lwzu r0, 0x48(r4)
/* 803ADD1C 003AAC7C 28 00 00 00 */ cmplwi r0, 0
/* 803ADD20 003AAC80 90 1E 00 0C */ stw r0, 0xc(r30)
/* 803ADD24 003AAC84 41 82 00 0C */ beq lbl_803ADD30
/* 803ADD28 003AAC88 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803ADD2C 003AAC8C 93 C3 00 10 */ stw r30, 0x10(r3)
lbl_803ADD30:
/* 803ADD30 003AAC90 38 60 00 00 */ li r3, 0
/* 803ADD34 003AAC94 38 00 00 01 */ li r0, 1
/* 803ADD38 003AAC98 90 7E 00 10 */ stw r3, 0x10(r30)
/* 803ADD3C 003AAC9C 93 C4 00 00 */ stw r30, 0(r4)
/* 803ADD40 003AACA0 98 7E 00 EE */ stb r3, 0xee(r30)
/* 803ADD44 003AACA4 98 1E 00 EC */ stb r0, 0xec(r30)
/* 803ADD48 003AACA8 9B FE 00 EF */ stb r31, 0xef(r30)
/* 803ADD4C 003AACAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803ADD50 003AACB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 803ADD54 003AACB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803ADD58 003AACB8 7C 08 03 A6 */ mtlr r0
/* 803ADD5C 003AACBC 38 21 00 10 */ addi r1, r1, 0x10
/* 803ADD60 003AACC0 4E 80 00 20 */ blr
.global salDeactivateVoice
salDeactivateVoice:
/* 803ADD64 003AACC4 88 03 00 EC */ lbz r0, 0xec(r3)
/* 803ADD68 003AACC8 28 00 00 00 */ cmplwi r0, 0
/* 803ADD6C 003AACCC 4D 82 00 20 */ beqlr
/* 803ADD70 003AACD0 80 83 00 10 */ lwz r4, 0x10(r3)
/* 803ADD74 003AACD4 28 04 00 00 */ cmplwi r4, 0
/* 803ADD78 003AACD8 41 82 00 10 */ beq lbl_803ADD88
/* 803ADD7C 003AACDC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803ADD80 003AACE0 90 04 00 0C */ stw r0, 0xc(r4)
/* 803ADD84 003AACE4 48 00 00 20 */ b lbl_803ADDA4
lbl_803ADD88:
/* 803ADD88 003AACE8 88 03 00 EF */ lbz r0, 0xef(r3)
/* 803ADD8C 003AACEC 3C 80 80 56 */ lis r4, lbl_8055F260@ha
/* 803ADD90 003AACF0 38 84 F2 60 */ addi r4, r4, lbl_8055F260@l
/* 803ADD94 003AACF4 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803ADD98 003AACF8 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADD9C 003AACFC 7C 84 02 14 */ add r4, r4, r0
/* 803ADDA0 003AAD00 90 A4 00 48 */ stw r5, 0x48(r4)
lbl_803ADDA4:
/* 803ADDA4 003AAD04 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803ADDA8 003AAD08 28 04 00 00 */ cmplwi r4, 0
/* 803ADDAC 003AAD0C 41 82 00 0C */ beq lbl_803ADDB8
/* 803ADDB0 003AAD10 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803ADDB4 003AAD14 90 04 00 10 */ stw r0, 0x10(r4)
lbl_803ADDB8:
/* 803ADDB8 003AAD18 38 00 00 00 */ li r0, 0
/* 803ADDBC 003AAD1C 98 03 00 EC */ stb r0, 0xec(r3)
/* 803ADDC0 003AAD20 4E 80 00 20 */ blr
.global sub_803addc4
sub_803addc4:
/* 803ADDC4 003AAD24 88 03 00 EC */ lbz r0, 0xec(r3)
/* 803ADDC8 003AAD28 28 00 00 00 */ cmplwi r0, 0
/* 803ADDCC 003AAD2C 41 82 00 B8 */ beq lbl_803ADE84
/* 803ADDD0 003AAD30 80 A3 00 10 */ lwz r5, 0x10(r3)
/* 803ADDD4 003AAD34 28 05 00 00 */ cmplwi r5, 0
/* 803ADDD8 003AAD38 41 82 00 10 */ beq lbl_803ADDE8
/* 803ADDDC 003AAD3C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803ADDE0 003AAD40 90 05 00 0C */ stw r0, 0xc(r5)
/* 803ADDE4 003AAD44 48 00 00 20 */ b lbl_803ADE04
lbl_803ADDE8:
/* 803ADDE8 003AAD48 88 03 00 EF */ lbz r0, 0xef(r3)
/* 803ADDEC 003AAD4C 3C A0 80 56 */ lis r5, lbl_8055F260@ha
/* 803ADDF0 003AAD50 38 A5 F2 60 */ addi r5, r5, lbl_8055F260@l
/* 803ADDF4 003AAD54 80 C3 00 0C */ lwz r6, 0xc(r3)
/* 803ADDF8 003AAD58 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADDFC 003AAD5C 7C A5 02 14 */ add r5, r5, r0
/* 803ADE00 003AAD60 90 C5 00 48 */ stw r6, 0x48(r5)
lbl_803ADE04:
/* 803ADE04 003AAD64 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803ADE08 003AAD68 28 05 00 00 */ cmplwi r5, 0
/* 803ADE0C 003AAD6C 41 82 00 0C */ beq lbl_803ADE18
/* 803ADE10 003AAD70 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803ADE14 003AAD74 90 05 00 10 */ stw r0, 0x10(r5)
lbl_803ADE18:
/* 803ADE18 003AAD78 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803ADE1C 003AAD7C 3C A0 80 56 */ lis r5, lbl_8055F260@ha
/* 803ADE20 003AAD80 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADE24 003AAD84 38 A5 F2 60 */ addi r5, r5, lbl_8055F260@l
/* 803ADE28 003AAD88 7C C5 02 14 */ add r6, r5, r0
/* 803ADE2C 003AAD8C 84 06 00 48 */ lwzu r0, 0x48(r6)
/* 803ADE30 003AAD90 28 00 00 00 */ cmplwi r0, 0
/* 803ADE34 003AAD94 90 03 00 0C */ stw r0, 0xc(r3)
/* 803ADE38 003AAD98 41 82 00 0C */ beq lbl_803ADE44
/* 803ADE3C 003AAD9C 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803ADE40 003AADA0 90 65 00 10 */ stw r3, 0x10(r5)
lbl_803ADE44:
/* 803ADE44 003AADA4 38 00 00 00 */ li r0, 0
/* 803ADE48 003AADA8 90 03 00 10 */ stw r0, 0x10(r3)
/* 803ADE4C 003AADAC 90 66 00 00 */ stw r3, 0(r6)
/* 803ADE50 003AADB0 88 03 00 EC */ lbz r0, 0xec(r3)
/* 803ADE54 003AADB4 28 00 00 02 */ cmplwi r0, 2
/* 803ADE58 003AADB8 40 82 00 2C */ bne lbl_803ADE84
/* 803ADE5C 003AADBC 88 03 00 EF */ lbz r0, 0xef(r3)
/* 803ADE60 003AADC0 3C A0 80 56 */ lis r5, lbl_8055F260@ha
/* 803ADE64 003AADC4 38 A5 F2 60 */ addi r5, r5, lbl_8055F260@l
/* 803ADE68 003AADC8 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADE6C 003AADCC 38 A5 00 4C */ addi r5, r5, 0x4c
/* 803ADE70 003AADD0 7C 05 00 2E */ lwzx r0, r5, r0
/* 803ADE74 003AADD4 90 03 00 14 */ stw r0, 0x14(r3)
/* 803ADE78 003AADD8 88 03 00 EF */ lbz r0, 0xef(r3)
/* 803ADE7C 003AADDC 1C 00 00 BC */ mulli r0, r0, 0xbc
/* 803ADE80 003AADE0 7C 65 01 2E */ stwx r3, r5, r0
lbl_803ADE84:
/* 803ADE84 003AADE4 98 83 00 EF */ stb r4, 0xef(r3)
/* 803ADE88 003AADE8 4E 80 00 20 */ blr
.global sub_803ade8c
sub_803ade8c:
/* 803ADE8C 003AADEC 88 03 00 52 */ lbz r0, 0x52(r3)
/* 803ADE90 003AADF0 28 00 00 07 */ cmplwi r0, 7
/* 803ADE94 003AADF4 40 80 00 98 */ bge lbl_803ADF2C
/* 803ADE98 003AADF8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803ADE9C 003AADFC 88 C4 00 03 */ lbz r6, 3(r4)
/* 803ADEA0 003AAE00 7C A3 02 14 */ add r5, r3, r0
/* 803ADEA4 003AAE04 98 C5 00 58 */ stb r6, 0x58(r5)
/* 803ADEA8 003AAE08 88 03 00 52 */ lbz r0, 0x52(r3)
/* 803ADEAC 003AAE0C 88 A4 00 00 */ lbz r5, 0(r4)
/* 803ADEB0 003AAE10 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803ADEB4 003AAE14 54 A6 42 2E */ rlwinm r6, r5, 8, 8, 0x17
/* 803ADEB8 003AAE18 54 A5 0B FC */ rlwinm r5, r5, 1, 0xf, 0x1e
/* 803ADEBC 003AAE1C 7C C6 2B 78 */ or r6, r6, r5
/* 803ADEC0 003AAE20 7C A3 02 14 */ add r5, r3, r0
/* 803ADEC4 003AAE24 B0 C5 00 5A */ sth r6, 0x5a(r5)
/* 803ADEC8 003AAE28 88 03 00 52 */ lbz r0, 0x52(r3)
/* 803ADECC 003AAE2C 88 A4 00 01 */ lbz r5, 1(r4)
/* 803ADED0 003AAE30 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803ADED4 003AAE34 54 A6 42 2E */ rlwinm r6, r5, 8, 8, 0x17
/* 803ADED8 003AAE38 54 A5 0B FC */ rlwinm r5, r5, 1, 0xf, 0x1e
/* 803ADEDC 003AAE3C 7C C6 2B 78 */ or r6, r6, r5
/* 803ADEE0 003AAE40 7C A3 02 14 */ add r5, r3, r0
/* 803ADEE4 003AAE44 B0 C5 00 5C */ sth r6, 0x5c(r5)
/* 803ADEE8 003AAE48 88 03 00 52 */ lbz r0, 0x52(r3)
/* 803ADEEC 003AAE4C 88 A4 00 02 */ lbz r5, 2(r4)
/* 803ADEF0 003AAE50 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803ADEF4 003AAE54 54 A6 42 2E */ rlwinm r6, r5, 8, 8, 0x17
/* 803ADEF8 003AAE58 54 A5 0B FC */ rlwinm r5, r5, 1, 0xf, 0x1e
/* 803ADEFC 003AAE5C 7C C6 2B 78 */ or r6, r6, r5
/* 803ADF00 003AAE60 7C A3 02 14 */ add r5, r3, r0
/* 803ADF04 003AAE64 B0 C5 00 5E */ sth r6, 0x5e(r5)
/* 803ADF08 003AAE68 88 03 00 52 */ lbz r0, 0x52(r3)
/* 803ADF0C 003AAE6C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803ADF10 003AAE70 7C A3 02 14 */ add r5, r3, r0
/* 803ADF14 003AAE74 90 85 00 60 */ stw r4, 0x60(r5)
/* 803ADF18 003AAE78 88 83 00 52 */ lbz r4, 0x52(r3)
/* 803ADF1C 003AAE7C 38 04 00 01 */ addi r0, r4, 1
/* 803ADF20 003AAE80 98 03 00 52 */ stb r0, 0x52(r3)
/* 803ADF24 003AAE84 38 60 00 01 */ li r3, 1
/* 803ADF28 003AAE88 4E 80 00 20 */ blr
lbl_803ADF2C:
/* 803ADF2C 003AAE8C 38 60 00 00 */ li r3, 0
/* 803ADF30 003AAE90 4E 80 00 20 */ blr
.global sub_803adf34
sub_803adf34:
/* 803ADF34 003AAE94 88 03 00 52 */ lbz r0, 0x52(r3)
/* 803ADF38 003AAE98 7C 66 1B 78 */ mr r6, r3
/* 803ADF3C 003AAE9C 38 A0 00 00 */ li r5, 0
/* 803ADF40 003AAEA0 7C 09 03 A6 */ mtctr r0
/* 803ADF44 003AAEA4 2C 00 00 00 */ cmpwi r0, 0
/* 803ADF48 003AAEA8 40 81 00 68 */ ble lbl_803ADFB0
lbl_803ADF4C:
/* 803ADF4C 003AAEAC 80 03 00 60 */ lwz r0, 0x60(r3)
/* 803ADF50 003AAEB0 7C 00 20 40 */ cmplw r0, r4
/* 803ADF54 003AAEB4 40 82 00 50 */ bne lbl_803ADFA4
/* 803ADF58 003AAEB8 1C 05 00 0C */ mulli r0, r5, 0xc
/* 803ADF5C 003AAEBC 7C 86 02 14 */ add r4, r6, r0
/* 803ADF60 003AAEC0 48 00 00 24 */ b lbl_803ADF84
lbl_803ADF64:
/* 803ADF64 003AAEC4 80 64 00 64 */ lwz r3, 0x64(r4)
/* 803ADF68 003AAEC8 38 A5 00 01 */ addi r5, r5, 1
/* 803ADF6C 003AAECC 80 04 00 68 */ lwz r0, 0x68(r4)
/* 803ADF70 003AAED0 90 64 00 58 */ stw r3, 0x58(r4)
/* 803ADF74 003AAED4 90 04 00 5C */ stw r0, 0x5c(r4)
/* 803ADF78 003AAED8 80 04 00 6C */ lwz r0, 0x6c(r4)
/* 803ADF7C 003AAEDC 90 04 00 60 */ stw r0, 0x60(r4)
/* 803ADF80 003AAEE0 38 84 00 0C */ addi r4, r4, 0xc
lbl_803ADF84:
/* 803ADF84 003AAEE4 88 66 00 52 */ lbz r3, 0x52(r6)
/* 803ADF88 003AAEE8 38 03 FF FE */ addi r0, r3, -2
/* 803ADF8C 003AAEEC 7C 05 00 00 */ cmpw r5, r0
/* 803ADF90 003AAEF0 40 81 FF D4 */ ble lbl_803ADF64
/* 803ADF94 003AAEF4 38 03 FF FF */ addi r0, r3, -1
/* 803ADF98 003AAEF8 38 60 00 01 */ li r3, 1
/* 803ADF9C 003AAEFC 98 06 00 52 */ stb r0, 0x52(r6)
/* 803ADFA0 003AAF00 4E 80 00 20 */ blr
lbl_803ADFA4:
/* 803ADFA4 003AAF04 38 63 00 0C */ addi r3, r3, 0xc
/* 803ADFA8 003AAF08 38 A5 00 01 */ addi r5, r5, 1
/* 803ADFAC 003AAF0C 42 00 FF A0 */ bdnz lbl_803ADF4C
lbl_803ADFB0:
/* 803ADFB0 003AAF10 38 60 00 00 */ li r3, 0
/* 803ADFB4 003AAF14 4E 80 00 20 */ blr
.global salHandleAuxProcessing
salHandleAuxProcessing:
/* 803ADFB8 003AAF18 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803ADFBC 003AAF1C 7C 08 02 A6 */ mflr r0
/* 803ADFC0 003AAF20 3C 60 80 56 */ lis r3, lbl_8055F260@ha
/* 803ADFC4 003AAF24 90 01 00 34 */ stw r0, 0x34(r1)
/* 803ADFC8 003AAF28 38 03 F2 60 */ addi r0, r3, lbl_8055F260@l
/* 803ADFCC 003AAF2C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803ADFD0 003AAF30 3B E0 00 00 */ li r31, 0
/* 803ADFD4 003AAF34 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803ADFD8 003AAF38 7C 1E 03 78 */ mr r30, r0
/* 803ADFDC 003AAF3C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803ADFE0 003AAF40 48 00 01 04 */ b lbl_803AE0E4
lbl_803ADFE4:
/* 803ADFE4 003AAF44 88 1E 00 50 */ lbz r0, 0x50(r30)
/* 803ADFE8 003AAF48 28 00 00 01 */ cmplwi r0, 1
/* 803ADFEC 003AAF4C 40 82 00 F0 */ bne lbl_803AE0DC
/* 803ADFF0 003AAF50 81 9E 00 AC */ lwz r12, 0xac(r30)
/* 803ADFF4 003AAF54 28 0C 00 00 */ cmplwi r12, 0
/* 803ADFF8 003AAF58 41 82 00 68 */ beq lbl_803AE060
/* 803ADFFC 003AAF5C 88 8D AF 8E */ lbz r4, lbl_805A9B4E@sda21(r13)
/* 803AE000 003AAF60 3C 60 55 55 */ lis r3, 0x55555556@ha
/* 803AE004 003AAF64 38 03 55 56 */ addi r0, r3, 0x55555556@l
/* 803AE008 003AAF68 80 BE 00 B4 */ lwz r5, 0xb4(r30)
/* 803AE00C 003AAF6C 38 E4 00 02 */ addi r7, r4, 2
/* 803AE010 003AAF70 38 81 00 08 */ addi r4, r1, 8
/* 803AE014 003AAF74 7C C0 38 96 */ mulhw r6, r0, r7
/* 803AE018 003AAF78 38 60 00 00 */ li r3, 0
/* 803AE01C 003AAF7C 54 C0 0F FE */ srwi r0, r6, 0x1f
/* 803AE020 003AAF80 7C 06 02 14 */ add r0, r6, r0
/* 803AE024 003AAF84 1C 00 00 03 */ mulli r0, r0, 3
/* 803AE028 003AAF88 7C 00 38 50 */ subf r0, r0, r7
/* 803AE02C 003AAF8C 54 06 10 3A */ slwi r6, r0, 2
/* 803AE030 003AAF90 38 06 00 30 */ addi r0, r6, 0x30
/* 803AE034 003AAF94 7F BE 00 2E */ lwzx r29, r30, r0
/* 803AE038 003AAF98 38 DD 02 80 */ addi r6, r29, 0x280
/* 803AE03C 003AAF9C 38 1D 05 00 */ addi r0, r29, 0x500
/* 803AE040 003AAFA0 93 A1 00 08 */ stw r29, 8(r1)
/* 803AE044 003AAFA4 90 C1 00 0C */ stw r6, 0xc(r1)
/* 803AE048 003AAFA8 90 01 00 10 */ stw r0, 0x10(r1)
/* 803AE04C 003AAFAC 7D 89 03 A6 */ mtctr r12
/* 803AE050 003AAFB0 4E 80 04 21 */ bctrl
/* 803AE054 003AAFB4 7F A3 EB 78 */ mr r3, r29
/* 803AE058 003AAFB8 38 80 07 80 */ li r4, 0x780
/* 803AE05C 003AAFBC 4B FD 0A B5 */ bl DCFlushRangeNoSync
lbl_803AE060:
/* 803AE060 003AAFC0 80 1E 00 54 */ lwz r0, 0x54(r30)
/* 803AE064 003AAFC4 2C 00 00 00 */ cmpwi r0, 0
/* 803AE068 003AAFC8 40 82 00 74 */ bne lbl_803AE0DC
/* 803AE06C 003AAFCC 81 9E 00 B0 */ lwz r12, 0xb0(r30)
/* 803AE070 003AAFD0 28 0C 00 00 */ cmplwi r12, 0
/* 803AE074 003AAFD4 41 82 00 68 */ beq lbl_803AE0DC
/* 803AE078 003AAFD8 88 8D AF 8E */ lbz r4, lbl_805A9B4E@sda21(r13)
/* 803AE07C 003AAFDC 3C 60 55 55 */ lis r3, 0x55555556@ha
/* 803AE080 003AAFE0 38 03 55 56 */ addi r0, r3, 0x55555556@l
/* 803AE084 003AAFE4 80 BE 00 B8 */ lwz r5, 0xb8(r30)
/* 803AE088 003AAFE8 38 E4 00 02 */ addi r7, r4, 2
/* 803AE08C 003AAFEC 38 81 00 08 */ addi r4, r1, 8
/* 803AE090 003AAFF0 7C C0 38 96 */ mulhw r6, r0, r7
/* 803AE094 003AAFF4 38 60 00 00 */ li r3, 0
/* 803AE098 003AAFF8 54 C0 0F FE */ srwi r0, r6, 0x1f
/* 803AE09C 003AAFFC 7C 06 02 14 */ add r0, r6, r0
/* 803AE0A0 003AB000 1C 00 00 03 */ mulli r0, r0, 3
/* 803AE0A4 003AB004 7C 00 38 50 */ subf r0, r0, r7
/* 803AE0A8 003AB008 54 06 10 3A */ slwi r6, r0, 2
/* 803AE0AC 003AB00C 38 06 00 3C */ addi r0, r6, 0x3c
/* 803AE0B0 003AB010 7F BE 00 2E */ lwzx r29, r30, r0
/* 803AE0B4 003AB014 38 DD 02 80 */ addi r6, r29, 0x280
/* 803AE0B8 003AB018 38 1D 05 00 */ addi r0, r29, 0x500
/* 803AE0BC 003AB01C 93 A1 00 08 */ stw r29, 8(r1)
/* 803AE0C0 003AB020 90 C1 00 0C */ stw r6, 0xc(r1)
/* 803AE0C4 003AB024 90 01 00 10 */ stw r0, 0x10(r1)
/* 803AE0C8 003AB028 7D 89 03 A6 */ mtctr r12
/* 803AE0CC 003AB02C 4E 80 04 21 */ bctrl
/* 803AE0D0 003AB030 7F A3 EB 78 */ mr r3, r29
/* 803AE0D4 003AB034 38 80 07 80 */ li r4, 0x780
/* 803AE0D8 003AB038 4B FD 0A 39 */ bl DCFlushRangeNoSync
lbl_803AE0DC:
/* 803AE0DC 003AB03C 3B FF 00 01 */ addi r31, r31, 1
/* 803AE0E0 003AB040 3B DE 00 BC */ addi r30, r30, 0xbc
lbl_803AE0E4:
/* 803AE0E4 003AB044 88 0D AF 8C */ lbz r0, lbl_805A9B4C@sda21(r13)
/* 803AE0E8 003AB048 57 E3 06 3E */ clrlwi r3, r31, 0x18
/* 803AE0EC 003AB04C 7C 03 00 40 */ cmplw r3, r0
/* 803AE0F0 003AB050 41 80 FE F4 */ blt lbl_803ADFE4
/* 803AE0F4 003AB054 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803AE0F8 003AB058 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803AE0FC 003AB05C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803AE100 003AB060 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803AE104 003AB064 7C 08 03 A6 */ mtlr r0
/* 803AE108 003AB068 38 21 00 30 */ addi r1, r1, 0x30
/* 803AE10C 003AB06C 4E 80 00 20 */ blr