prime/asm/musyx/runtime/Chorus/chorus_fx.s

1108 lines
38 KiB
ArmAsm

.include "macros.inc"
.section .sdata2
.balign 8
.global i2fMagic
i2fMagic:
.double 4.503601774854144E15
.section .data, "wa"
.balign 8
.global rsmpTab12khz
rsmpTab12khz:
.4byte 0x3DC7B000
.4byte 0x3F4D5E00
.4byte 0x3DD01000
.4byte 0xBA800000
.4byte 0x3DBF8000
.4byte 0x3F4D5200
.4byte 0x3DD8B000
.4byte 0xBA880000
.4byte 0x3DB78000
.4byte 0x3F4D3C00
.4byte 0x3DE18000
.4byte 0xBA980000
.4byte 0x3DAFB000
.4byte 0x3F4D1A00
.4byte 0x3DEA7000
.4byte 0xBAA80000
.4byte 0x3DA80000
.4byte 0x3F4CEC00
.4byte 0x3DF39000
.4byte 0xBAB80000
.4byte 0x3DA08000
.4byte 0x3F4CB400
.4byte 0x3DFCE000
.4byte 0xBAC80000
.4byte 0x3D993000
.4byte 0x3F4C7200
.4byte 0x3E033800
.4byte 0xBAD80000
.4byte 0x3D922000
.4byte 0x3F4C2400
.4byte 0x3E081000
.4byte 0xBAE80000
.4byte 0x3D8B3000
.4byte 0x3F4BCA00
.4byte 0x3E0D0000
.4byte 0xBAFC0000
.4byte 0x3D848000
.4byte 0x3F4B6600
.4byte 0x3E120800
.4byte 0xBB060000
.4byte 0x3D7BE000
.4byte 0x3F4AF800
.4byte 0x3E172800
.4byte 0xBB100000
.4byte 0x3D6F0000
.4byte 0x3F4A7E00
.4byte 0x3E1C6000
.4byte 0xBB180000
.4byte 0x3D62A000
.4byte 0x3F49F800
.4byte 0x3E21B000
.4byte 0xBB220000
.4byte 0x3D568000
.4byte 0x3F496800
.4byte 0x3E271800
.4byte 0xBB2E0000
.4byte 0x3D4AC000
.4byte 0x3F48D000
.4byte 0x3E2C9000
.4byte 0xBB380000
.4byte 0x3D3F6000
.4byte 0x3F482A00
.4byte 0x3E322800
.4byte 0xBB440000
.4byte 0x3D344000
.4byte 0x3F477A00
.4byte 0x3E37D000
.4byte 0xBB4E0000
.4byte 0x3D29A000
.4byte 0x3F46C000
.4byte 0x3E3D9000
.4byte 0xBB5A0000
.4byte 0x3D1F4000
.4byte 0x3F45FC00
.4byte 0x3E436800
.4byte 0xBB660000
.4byte 0x3D152000
.4byte 0x3F452E00
.4byte 0x3E495000
.4byte 0xBB720000
.4byte 0x3D0B6000
.4byte 0x3F445600
.4byte 0x3E4F5800
.4byte 0xBB7E0000
.4byte 0x3D020000
.4byte 0x3F437400
.4byte 0x3E557000
.4byte 0xBB850000
.4byte 0x3CF1C000
.4byte 0x3F428600
.4byte 0x3E5B9800
.4byte 0xBB8C0000
.4byte 0x3CE04000
.4byte 0x3F419000
.4byte 0x3E61D800
.4byte 0xBB920000
.4byte 0x3CCF4000
.4byte 0x3F409000
.4byte 0x3E683000
.4byte 0xBB990000
.4byte 0x3CBF0000
.4byte 0x3F3F8800
.4byte 0x3E6E9800
.4byte 0xBB9F0000
.4byte 0x3CAF4000
.4byte 0x3F3E7600
.4byte 0x3E751000
.4byte 0xBBA60000
.4byte 0x3CA04000
.4byte 0x3F3D5A00
.4byte 0x3E7BA000
.4byte 0xBBAE0000
.4byte 0x3C91C000
.4byte 0x3F3C3600
.4byte 0x3E812000
.4byte 0xBBB50000
.4byte 0x3C838000
.4byte 0x3F3B0800
.4byte 0x3E847800
.4byte 0xBBBB0000
.4byte 0x3C6C0000
.4byte 0x3F39D200
.4byte 0x3E87DC00
.4byte 0xBBC20000
.4byte 0x3C520000
.4byte 0x3F389400
.4byte 0x3E8B4800
.4byte 0xBBCA0000
.4byte 0x3C398000
.4byte 0x3F374C00
.4byte 0x3E8EBC00
.4byte 0xBBD10000
.4byte 0x3C220000
.4byte 0x3F35FE00
.4byte 0x3E923800
.4byte 0xBBD70000
.4byte 0x3C0B8000
.4byte 0x3F34A600
.4byte 0x3E95BC00
.4byte 0xBBDE0000
.4byte 0x3BEC0000
.4byte 0x3F334800
.4byte 0x3E994400
.4byte 0xBBE60000
.4byte 0x3BC20000
.4byte 0x3F31E200
.4byte 0x3E9CD800
.4byte 0xBBED0000
.4byte 0x3B9A0000
.4byte 0x3F307400
.4byte 0x3EA07400
.4byte 0xBBF30000
.4byte 0x3B6A0000
.4byte 0x3F2EFE00
.4byte 0x3EA41400
.4byte 0xBBFA0000
.4byte 0x3B220000
.4byte 0x3F2D8000
.4byte 0x3EA7BC00
.4byte 0xBC010000
.4byte 0x3ABC0000
.4byte 0x3F2BFE00
.4byte 0x3EAB6800
.4byte 0xBC048000
.4byte 0x39F00000
.4byte 0x3F2A7400
.4byte 0x3EAF1800
.4byte 0xBC078000
.4byte 0xBA000000
.4byte 0x3F28E400
.4byte 0x3EB2D000
.4byte 0xBC0A8000
.4byte 0xBAB00000
.4byte 0x3F274E00
.4byte 0x3EB69000
.4byte 0xBC0D8000
.4byte 0xBB0E0000
.4byte 0x3F25B000
.4byte 0x3EBA5000
.4byte 0xBC110000
.4byte 0xBB420000
.4byte 0x3F240E00
.4byte 0x3EBE1800
.4byte 0xBC140000
.4byte 0xBB720000
.4byte 0x3F226400
.4byte 0x3EC1E400
.4byte 0xBC170000
.4byte 0xBB8F0000
.4byte 0x3F20B600
.4byte 0x3EC5B400
.4byte 0xBC190000
.4byte 0xBBA30000
.4byte 0x3F1F0400
.4byte 0x3EC98800
.4byte 0xBC1B8000
.4byte 0xBBB70000
.4byte 0x3F1D4C00
.4byte 0x3ECD5C00
.4byte 0xBC1E0000
.4byte 0xBBC90000
.4byte 0x3F1B8E00
.4byte 0x3ED13400
.4byte 0xBC208000
.4byte 0xBBDA0000
.4byte 0x3F19CC00
.4byte 0x3ED50C00
.4byte 0xBC228000
.4byte 0xBBEA0000
.4byte 0x3F180600
.4byte 0x3ED8E800
.4byte 0xBC240000
.4byte 0xBBF80000
.4byte 0x3F163C00
.4byte 0x3EDCC800
.4byte 0xBC260000
.4byte 0xBC028000
.4byte 0x3F146C00
.4byte 0x3EE0A400
.4byte 0xBC278000
.4byte 0xBC088000
.4byte 0x3F129A00
.4byte 0x3EE48400
.4byte 0xBC288000
.4byte 0xBC0E0000
.4byte 0x3F10C600
.4byte 0x3EE86400
.4byte 0xBC298000
.4byte 0xBC130000
.4byte 0x3F0EEE00
.4byte 0x3EEC4400
.4byte 0xBC2A8000
.4byte 0xBC170000
.4byte 0x3F0D1200
.4byte 0x3EF02400
.4byte 0xBC2A8000
.4byte 0xBC1B0000
.4byte 0x3F0B3200
.4byte 0x3EF40400
.4byte 0xBC2A8000
.4byte 0xBC1E8000
.4byte 0x3F095200
.4byte 0x3EF7E000
.4byte 0xBC2A0000
.4byte 0xBC218000
.4byte 0x3F076E00
.4byte 0x3EFBBC00
.4byte 0xBC2A0000
.4byte 0xBC240000
.4byte 0x3F058800
.4byte 0x3EFF9400
.4byte 0xBC290000
.4byte 0xBC260000
.4byte 0x3F03A000
.4byte 0x3F01B600
.4byte 0xBC280000
.4byte 0xBC280000
.4byte 0x3F01B600
.4byte 0x3F03A000
.4byte 0xBC260000
.4byte 0xBC290000
.4byte 0x3EFF9400
.4byte 0x3F058800
.4byte 0xBC240000
.4byte 0xBC2A0000
.4byte 0x3EFBBC00
.4byte 0x3F076E00
.4byte 0xBC218000
.4byte 0xBC2A0000
.4byte 0x3EF7E000
.4byte 0x3F095200
.4byte 0xBC1E8000
.4byte 0xBC2A8000
.4byte 0x3EF40400
.4byte 0x3F0B3200
.4byte 0xBC1B0000
.4byte 0xBC2A8000
.4byte 0x3EF02400
.4byte 0x3F0D1200
.4byte 0xBC170000
.4byte 0xBC2A8000
.4byte 0x3EEC4400
.4byte 0x3F0EEE00
.4byte 0xBC130000
.4byte 0xBC298000
.4byte 0x3EE86400
.4byte 0x3F10C600
.4byte 0xBC0E0000
.4byte 0xBC288000
.4byte 0x3EE48400
.4byte 0x3F129A00
.4byte 0xBC088000
.4byte 0xBC278000
.4byte 0x3EE0A400
.4byte 0x3F146C00
.4byte 0xBC028000
.4byte 0xBC260000
.4byte 0x3EDCC800
.4byte 0x3F163C00
.4byte 0xBBF80000
.4byte 0xBC240000
.4byte 0x3ED8E800
.4byte 0x3F180600
.4byte 0xBBEA0000
.4byte 0xBC228000
.4byte 0x3ED50C00
.4byte 0x3F19CC00
.4byte 0xBBDA0000
.4byte 0xBC208000
.4byte 0x3ED13400
.4byte 0x3F1B8E00
.4byte 0xBBC90000
.4byte 0xBC1E0000
.4byte 0x3ECD5C00
.4byte 0x3F1D4C00
.4byte 0xBBB70000
.4byte 0xBC1B8000
.4byte 0x3EC98800
.4byte 0x3F1F0400
.4byte 0xBBA30000
.4byte 0xBC190000
.4byte 0x3EC5B400
.4byte 0x3F20B600
.4byte 0xBB8F0000
.4byte 0xBC170000
.4byte 0x3EC1E400
.4byte 0x3F226400
.4byte 0xBB720000
.4byte 0xBC140000
.4byte 0x3EBE1800
.4byte 0x3F240E00
.4byte 0xBB420000
.4byte 0xBC110000
.4byte 0x3EBA5000
.4byte 0x3F25B000
.4byte 0xBB0E0000
.4byte 0xBC0D8000
.4byte 0x3EB69000
.4byte 0x3F274E00
.4byte 0xBAB00000
.4byte 0xBC0A8000
.4byte 0x3EB2D000
.4byte 0x3F28E400
.4byte 0xBA000000
.4byte 0xBC078000
.4byte 0x3EAF1800
.4byte 0x3F2A7400
.4byte 0x39F00000
.4byte 0xBC048000
.4byte 0x3EAB6800
.4byte 0x3F2BFE00
.4byte 0x3ABC0000
.4byte 0xBC010000
.4byte 0x3EA7BC00
.4byte 0x3F2D8000
.4byte 0x3B220000
.4byte 0xBBFA0000
.4byte 0x3EA41400
.4byte 0x3F2EFE00
.4byte 0x3B6A0000
.4byte 0xBBF30000
.4byte 0x3EA07400
.4byte 0x3F307400
.4byte 0x3B9A0000
.4byte 0xBBED0000
.4byte 0x3E9CD800
.4byte 0x3F31E200
.4byte 0x3BC20000
.4byte 0xBBE60000
.4byte 0x3E994400
.4byte 0x3F334800
.4byte 0x3BEC0000
.4byte 0xBBDE0000
.4byte 0x3E95BC00
.4byte 0x3F34A600
.4byte 0x3C0B8000
.4byte 0xBBD70000
.4byte 0x3E923800
.4byte 0x3F35FE00
.4byte 0x3C220000
.4byte 0xBBD10000
.4byte 0x3E8EBC00
.4byte 0x3F374C00
.4byte 0x3C398000
.4byte 0xBBCA0000
.4byte 0x3E8B4800
.4byte 0x3F389400
.4byte 0x3C520000
.4byte 0xBBC20000
.4byte 0x3E87DC00
.4byte 0x3F39D200
.4byte 0x3C6C0000
.4byte 0xBBBB0000
.4byte 0x3E847800
.4byte 0x3F3B0800
.4byte 0x3C838000
.4byte 0xBBB50000
.4byte 0x3E812000
.4byte 0x3F3C3600
.4byte 0x3C91C000
.4byte 0xBBAE0000
.4byte 0x3E7BA000
.4byte 0x3F3D5A00
.4byte 0x3CA04000
.4byte 0xBBA60000
.4byte 0x3E751000
.4byte 0x3F3E7600
.4byte 0x3CAF4000
.4byte 0xBB9F0000
.4byte 0x3E6E9800
.4byte 0x3F3F8800
.4byte 0x3CBF0000
.4byte 0xBB990000
.4byte 0x3E683000
.4byte 0x3F409000
.4byte 0x3CCF4000
.4byte 0xBB920000
.4byte 0x3E61D800
.4byte 0x3F419000
.4byte 0x3CE04000
.4byte 0xBB8C0000
.4byte 0x3E5B9800
.4byte 0x3F428600
.4byte 0x3CF1C000
.4byte 0xBB850000
.4byte 0x3E557000
.4byte 0x3F437400
.4byte 0x3D020000
.4byte 0xBB7E0000
.4byte 0x3E4F5800
.4byte 0x3F445600
.4byte 0x3D0B6000
.4byte 0xBB720000
.4byte 0x3E495000
.4byte 0x3F452E00
.4byte 0x3D152000
.4byte 0xBB660000
.4byte 0x3E436800
.4byte 0x3F45FC00
.4byte 0x3D1F4000
.4byte 0xBB5A0000
.4byte 0x3E3D9000
.4byte 0x3F46C000
.4byte 0x3D29A000
.4byte 0xBB4E0000
.4byte 0x3E37D000
.4byte 0x3F477A00
.4byte 0x3D344000
.4byte 0xBB440000
.4byte 0x3E322800
.4byte 0x3F482A00
.4byte 0x3D3F6000
.4byte 0xBB380000
.4byte 0x3E2C9000
.4byte 0x3F48D000
.4byte 0x3D4AC000
.4byte 0xBB2E0000
.4byte 0x3E271800
.4byte 0x3F496800
.4byte 0x3D568000
.4byte 0xBB220000
.4byte 0x3E21B000
.4byte 0x3F49F800
.4byte 0x3D62A000
.4byte 0xBB180000
.4byte 0x3E1C6000
.4byte 0x3F4A7E00
.4byte 0x3D6F0000
.4byte 0xBB100000
.4byte 0x3E172800
.4byte 0x3F4AF800
.4byte 0x3D7BE000
.4byte 0xBB060000
.4byte 0x3E120800
.4byte 0x3F4B6600
.4byte 0x3D848000
.4byte 0xBAFC0000
.4byte 0x3E0D0000
.4byte 0x3F4BCA00
.4byte 0x3D8B3000
.4byte 0xBAE80000
.4byte 0x3E081000
.4byte 0x3F4C2400
.4byte 0x3D922000
.4byte 0xBAD80000
.4byte 0x3E033800
.4byte 0x3F4C7200
.4byte 0x3D993000
.4byte 0xBAC80000
.4byte 0x3DFCE000
.4byte 0x3F4CB400
.4byte 0x3DA08000
.4byte 0xBAB80000
.4byte 0x3DF39000
.4byte 0x3F4CEC00
.4byte 0x3DA80000
.4byte 0xBAA80000
.4byte 0x3DEA7000
.4byte 0x3F4D1A00
.4byte 0x3DAFB000
.4byte 0xBA980000
.4byte 0x3DE18000
.4byte 0x3F4D3C00
.4byte 0x3DB78000
.4byte 0xBA880000
.4byte 0x3DD8B000
.4byte 0x3F4D5200
.4byte 0x3DBF8000
.4byte 0xBA800000
.4byte 0x3DD01000
.4byte 0x3F4D5E00
.4byte 0x3DC7B000
.section .text, "ax"
.global do_src1
do_src1:
/* 803B6CB0 003B3C10 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803B6CB4 003B3C14 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 803B6CB8 003B3C18 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803B6CBC 003B3C1C 80 A3 00 10 */ lwz r5, 0x10(r3)
/* 803B6CC0 003B3C20 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 803B6CC4 003B3C24 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 803B6CC8 003B3C28 80 E3 00 20 */ lwz r7, 0x20(r3)
/* 803B6CCC 003B3C2C 83 E3 00 04 */ lwz r31, 4(r3)
/* 803B6CD0 003B3C30 83 C3 00 00 */ lwz r30, 0(r3)
/* 803B6CD4 003B3C34 81 23 00 08 */ lwz r9, 8(r3)
/* 803B6CD8 003B3C38 3D 40 43 30 */ lis r10, 0x4330
/* 803B6CDC 003B3C3C 91 41 00 08 */ stw r10, 8(r1)
/* 803B6CE0 003B3C40 91 41 00 10 */ stw r10, 0x10(r1)
/* 803B6CE4 003B3C44 91 41 00 18 */ stw r10, 0x18(r1)
/* 803B6CE8 003B3C48 91 41 00 20 */ stw r10, 0x20(r1)
/* 803B6CEC 003B3C4C 3D 40 80 5B */ lis r10, i2fMagic@ha
/* 803B6CF0 003B3C50 C9 2A F4 38 */ lfd f9, i2fMagic@l(r10)
/* 803B6CF4 003B3C54 54 AA 10 3A */ slwi r10, r5, 2
/* 803B6CF8 003B3C58 81 69 00 00 */ lwz r11, 0(r9)
/* 803B6CFC 003B3C5C 83 A9 00 04 */ lwz r29, 4(r9)
/* 803B6D00 003B3C60 83 89 00 08 */ lwz r28, 8(r9)
/* 803B6D04 003B3C64 7F 7F 50 2E */ lwzx r27, r31, r10
/* 803B6D08 003B3C68 6D 6B 80 00 */ xoris r11, r11, 0x8000
/* 803B6D0C 003B3C6C 6F BD 80 00 */ xoris r29, r29, 0x8000
/* 803B6D10 003B3C70 91 61 00 0C */ stw r11, 0xc(r1)
/* 803B6D14 003B3C74 6F 9C 80 00 */ xoris r28, r28, 0x8000
/* 803B6D18 003B3C78 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B6D1C 003B3C7C 6F 7B 80 00 */ xoris r27, r27, 0x8000
/* 803B6D20 003B3C80 93 81 00 1C */ stw r28, 0x1c(r1)
/* 803B6D24 003B3C84 C8 21 00 08 */ lfd f1, 8(r1)
/* 803B6D28 003B3C88 93 61 00 24 */ stw r27, 0x24(r1)
/* 803B6D2C 003B3C8C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 803B6D30 003B3C90 EC 21 48 28 */ fsubs f1, f1, f9
/* 803B6D34 003B3C94 C8 61 00 18 */ lfd f3, 0x18(r1)
/* 803B6D38 003B3C98 EC 42 48 28 */ fsubs f2, f2, f9
/* 803B6D3C 003B3C9C C8 81 00 20 */ lfd f4, 0x20(r1)
/* 803B6D40 003B3CA0 EC 63 48 28 */ fsubs f3, f3, f9
/* 803B6D44 003B3CA4 EC 84 48 28 */ fsubs f4, f4, f9
/* 803B6D48 003B3CA8 3B 40 FF FC */ li r26, -4
/* 803B6D4C 003B3CAC 3D 80 80 3F */ lis r12, rsmpTab12khz@ha
/* 803B6D50 003B3CB0 39 8C 64 90 */ addi r12, r12, rsmpTab12khz@l
/* 803B6D54 003B3CB4 39 20 00 A0 */ li r9, 0xa0
/* 803B6D58 003B3CB8 7D 29 03 A6 */ mtctr r9
lbl_803B6D5C:
/* 803B6D5C 003B3CBC 54 8A 3D 76 */ rlwinm r10, r4, 7, 0x15, 0x1b
/* 803B6D60 003B3CC0 7C 84 30 14 */ addc r4, r4, r6
/* 803B6D64 003B3CC4 7D 4A 62 14 */ add r10, r10, r12
/* 803B6D68 003B3CC8 7C 00 04 00 */ mcrxr cr0
/* 803B6D6C 003B3CCC C0 AA 00 00 */ lfs f5, 0(r10)
/* 803B6D70 003B3CD0 41 82 00 34 */ beq lbl_803B6DA4
/* 803B6D74 003B3CD4 C0 CA 00 04 */ lfs f6, 4(r10)
/* 803B6D78 003B3CD8 ED 41 01 72 */ fmuls f10, f1, f5
/* 803B6D7C 003B3CDC C0 EA 00 08 */ lfs f7, 8(r10)
/* 803B6D80 003B3CE0 ED 42 51 BA */ fmadds f10, f2, f6, f10
/* 803B6D84 003B3CE4 C1 0A 00 0C */ lfs f8, 0xc(r10)
/* 803B6D88 003B3CE8 ED 43 51 FA */ fmadds f10, f3, f7, f10
/* 803B6D8C 003B3CEC 3B DE 00 04 */ addi r30, r30, 4
/* 803B6D90 003B3CF0 ED 44 52 3A */ fmadds f10, f4, f8, f10
/* 803B6D94 003B3CF4 FD 40 50 1E */ fctiwz f10, f10
/* 803B6D98 003B3CF8 7D 5A F7 AE */ stfiwx f10, r26, r30
/* 803B6D9C 003B3CFC 42 00 FF C0 */ bdnz lbl_803B6D5C
/* 803B6DA0 003B3D00 48 00 00 70 */ b lbl_803B6E10
lbl_803B6DA4:
/* 803B6DA4 003B3D04 38 A5 00 01 */ addi r5, r5, 1
/* 803B6DA8 003B3D08 C0 CA 00 04 */ lfs f6, 4(r10)
/* 803B6DAC 003B3D0C ED 41 01 72 */ fmuls f10, f1, f5
/* 803B6DB0 003B3D10 7C 05 40 00 */ cmpw r5, r8
/* 803B6DB4 003B3D14 FC 20 10 90 */ fmr f1, f2
/* 803B6DB8 003B3D18 C0 EA 00 08 */ lfs f7, 8(r10)
/* 803B6DBC 003B3D1C ED 42 51 BA */ fmadds f10, f2, f6, f10
/* 803B6DC0 003B3D20 FC 40 18 90 */ fmr f2, f3
/* 803B6DC4 003B3D24 C1 0A 00 0C */ lfs f8, 0xc(r10)
/* 803B6DC8 003B3D28 ED 43 51 FA */ fmadds f10, f3, f7, f10
/* 803B6DCC 003B3D2C 3B DE 00 04 */ addi r30, r30, 4
/* 803B6DD0 003B3D30 FC 60 20 90 */ fmr f3, f4
/* 803B6DD4 003B3D34 40 A2 00 08 */ bne+ lbl_803B6DDC
/* 803B6DD8 003B3D38 7C E5 3B 78 */ mr r5, r7
lbl_803B6DDC:
/* 803B6DDC 003B3D3C ED 44 52 3A */ fmadds f10, f4, f8, f10
/* 803B6DE0 003B3D40 54 A9 10 3A */ slwi r9, r5, 2
/* 803B6DE4 003B3D44 42 40 00 24 */ bdz lbl_803B6E08
/* 803B6DE8 003B3D48 7D 49 F8 2E */ lwzx r10, r9, r31
/* 803B6DEC 003B3D4C FD 40 50 1E */ fctiwz f10, f10
/* 803B6DF0 003B3D50 6D 4A 80 00 */ xoris r10, r10, 0x8000
/* 803B6DF4 003B3D54 91 41 00 0C */ stw r10, 0xc(r1)
/* 803B6DF8 003B3D58 7D 5A F7 AE */ stfiwx f10, r26, r30
/* 803B6DFC 003B3D5C C8 81 00 08 */ lfd f4, 8(r1)
/* 803B6E00 003B3D60 EC 84 48 28 */ fsubs f4, f4, f9
/* 803B6E04 003B3D64 4B FF FF 58 */ b lbl_803B6D5C
lbl_803B6E08:
/* 803B6E08 003B3D68 FD 40 50 1E */ fctiwz f10, f10
/* 803B6E0C 003B3D6C 7D 5A F7 AE */ stfiwx f10, r26, r30
lbl_803B6E10:
/* 803B6E10 003B3D70 81 23 00 08 */ lwz r9, 8(r3)
/* 803B6E14 003B3D74 FC 20 08 1E */ fctiwz f1, f1
/* 803B6E18 003B3D78 FC 40 10 1E */ fctiwz f2, f2
/* 803B6E1C 003B3D7C FC 60 18 1E */ fctiwz f3, f3
/* 803B6E20 003B3D80 7C 20 4F AE */ stfiwx f1, r0, r9
/* 803B6E24 003B3D84 39 49 00 04 */ addi r10, r9, 4
/* 803B6E28 003B3D88 7C 40 57 AE */ stfiwx f2, r0, r10
/* 803B6E2C 003B3D8C 39 49 00 08 */ addi r10, r9, 8
/* 803B6E30 003B3D90 7C 60 57 AE */ stfiwx f3, r0, r10
/* 803B6E34 003B3D94 90 83 00 0C */ stw r4, 0xc(r3)
/* 803B6E38 003B3D98 90 A3 00 10 */ stw r5, 0x10(r3)
/* 803B6E3C 003B3D9C BB 41 00 28 */ lmw r26, 0x28(r1)
/* 803B6E40 003B3DA0 38 21 00 40 */ addi r1, r1, 0x40
/* 803B6E44 003B3DA4 4E 80 00 20 */ blr
.global do_src2
do_src2:
/* 803B6E48 003B3DA8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803B6E4C 003B3DAC BF 41 00 28 */ stmw r26, 0x28(r1)
/* 803B6E50 003B3DB0 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803B6E54 003B3DB4 80 A3 00 10 */ lwz r5, 0x10(r3)
/* 803B6E58 003B3DB8 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 803B6E5C 003B3DBC 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 803B6E60 003B3DC0 80 E3 00 20 */ lwz r7, 0x20(r3)
/* 803B6E64 003B3DC4 83 E3 00 04 */ lwz r31, 4(r3)
/* 803B6E68 003B3DC8 83 C3 00 00 */ lwz r30, 0(r3)
/* 803B6E6C 003B3DCC 81 23 00 08 */ lwz r9, 8(r3)
/* 803B6E70 003B3DD0 3D 40 43 30 */ lis r10, 0x4330
/* 803B6E74 003B3DD4 91 41 00 08 */ stw r10, 8(r1)
/* 803B6E78 003B3DD8 91 41 00 10 */ stw r10, 0x10(r1)
/* 803B6E7C 003B3DDC 91 41 00 18 */ stw r10, 0x18(r1)
/* 803B6E80 003B3DE0 91 41 00 20 */ stw r10, 0x20(r1)
/* 803B6E84 003B3DE4 3D 40 80 5B */ lis r10, i2fMagic@ha
/* 803B6E88 003B3DE8 C9 2A F4 38 */ lfd f9, i2fMagic@l(r10)
/* 803B6E8C 003B3DEC 54 AA 10 3A */ slwi r10, r5, 2
/* 803B6E90 003B3DF0 81 69 00 00 */ lwz r11, 0(r9)
/* 803B6E94 003B3DF4 83 A9 00 04 */ lwz r29, 4(r9)
/* 803B6E98 003B3DF8 83 89 00 08 */ lwz r28, 8(r9)
/* 803B6E9C 003B3DFC 7F 7F 50 2E */ lwzx r27, r31, r10
/* 803B6EA0 003B3E00 6D 6B 80 00 */ xoris r11, r11, 0x8000
/* 803B6EA4 003B3E04 6F BD 80 00 */ xoris r29, r29, 0x8000
/* 803B6EA8 003B3E08 91 61 00 0C */ stw r11, 0xc(r1)
/* 803B6EAC 003B3E0C 6F 9C 80 00 */ xoris r28, r28, 0x8000
/* 803B6EB0 003B3E10 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B6EB4 003B3E14 6F 7B 80 00 */ xoris r27, r27, 0x8000
/* 803B6EB8 003B3E18 93 81 00 1C */ stw r28, 0x1c(r1)
/* 803B6EBC 003B3E1C C8 21 00 08 */ lfd f1, 8(r1)
/* 803B6EC0 003B3E20 93 61 00 24 */ stw r27, 0x24(r1)
/* 803B6EC4 003B3E24 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 803B6EC8 003B3E28 EC 21 48 28 */ fsubs f1, f1, f9
/* 803B6ECC 003B3E2C C8 61 00 18 */ lfd f3, 0x18(r1)
/* 803B6ED0 003B3E30 EC 42 48 28 */ fsubs f2, f2, f9
/* 803B6ED4 003B3E34 C8 81 00 20 */ lfd f4, 0x20(r1)
/* 803B6ED8 003B3E38 EC 63 48 28 */ fsubs f3, f3, f9
/* 803B6EDC 003B3E3C EC 84 48 28 */ fsubs f4, f4, f9
/* 803B6EE0 003B3E40 3B 40 FF FC */ li r26, -4
/* 803B6EE4 003B3E44 3D 80 80 3F */ lis r12, rsmpTab12khz@ha
/* 803B6EE8 003B3E48 39 8C 64 90 */ addi r12, r12, rsmpTab12khz@l
/* 803B6EEC 003B3E4C 39 20 00 A0 */ li r9, 0xa0
/* 803B6EF0 003B3E50 7D 29 03 A6 */ mtctr r9
lbl_803B6EF4:
/* 803B6EF4 003B3E54 54 8A 3D 76 */ rlwinm r10, r4, 7, 0x15, 0x1b
/* 803B6EF8 003B3E58 7C 84 30 14 */ addc r4, r4, r6
/* 803B6EFC 003B3E5C 7D 4A 62 14 */ add r10, r10, r12
/* 803B6F00 003B3E60 7C 00 04 00 */ mcrxr cr0
/* 803B6F04 003B3E64 38 A5 00 01 */ addi r5, r5, 1
/* 803B6F08 003B3E68 C0 AA 00 00 */ lfs f5, 0(r10)
/* 803B6F0C 003B3E6C 41 82 00 64 */ beq lbl_803B6F70
/* 803B6F10 003B3E70 C0 CA 00 04 */ lfs f6, 4(r10)
/* 803B6F14 003B3E74 ED 41 01 72 */ fmuls f10, f1, f5
/* 803B6F18 003B3E78 7C 05 40 00 */ cmpw r5, r8
/* 803B6F1C 003B3E7C FC 20 10 90 */ fmr f1, f2
/* 803B6F20 003B3E80 C0 EA 00 08 */ lfs f7, 8(r10)
/* 803B6F24 003B3E84 ED 42 51 BA */ fmadds f10, f2, f6, f10
/* 803B6F28 003B3E88 FC 40 18 90 */ fmr f2, f3
/* 803B6F2C 003B3E8C C1 0A 00 0C */ lfs f8, 0xc(r10)
/* 803B6F30 003B3E90 ED 43 51 FA */ fmadds f10, f3, f7, f10
/* 803B6F34 003B3E94 3B DE 00 04 */ addi r30, r30, 4
/* 803B6F38 003B3E98 FC 60 20 90 */ fmr f3, f4
/* 803B6F3C 003B3E9C 40 A2 00 08 */ bne+ lbl_803B6F44
/* 803B6F40 003B3EA0 7C E5 3B 78 */ mr r5, r7
lbl_803B6F44:
/* 803B6F44 003B3EA4 ED 44 52 3A */ fmadds f10, f4, f8, f10
/* 803B6F48 003B3EA8 54 A9 10 3A */ slwi r9, r5, 2
/* 803B6F4C 003B3EAC 42 40 00 A8 */ bdz lbl_803B6FF4
/* 803B6F50 003B3EB0 7D 49 F8 2E */ lwzx r10, r9, r31
/* 803B6F54 003B3EB4 FD 40 50 1E */ fctiwz f10, f10
/* 803B6F58 003B3EB8 6D 4A 80 00 */ xoris r10, r10, 0x8000
/* 803B6F5C 003B3EBC 91 41 00 0C */ stw r10, 0xc(r1)
/* 803B6F60 003B3EC0 7D 5A F7 AE */ stfiwx f10, r26, r30
/* 803B6F64 003B3EC4 C8 81 00 08 */ lfd f4, 8(r1)
/* 803B6F68 003B3EC8 EC 84 48 28 */ fsubs f4, f4, f9
/* 803B6F6C 003B3ECC 4B FF FF 88 */ b lbl_803B6EF4
lbl_803B6F70:
/* 803B6F70 003B3ED0 7C 05 40 00 */ cmpw r5, r8
/* 803B6F74 003B3ED4 C0 CA 00 04 */ lfs f6, 4(r10)
/* 803B6F78 003B3ED8 40 A2 00 08 */ bne+ lbl_803B6F80
/* 803B6F7C 003B3EDC 7C E5 3B 78 */ mr r5, r7
lbl_803B6F80:
/* 803B6F80 003B3EE0 54 AB 10 3A */ slwi r11, r5, 2
/* 803B6F84 003B3EE4 38 A5 00 01 */ addi r5, r5, 1
/* 803B6F88 003B3EE8 7F AB F8 2E */ lwzx r29, r11, r31
/* 803B6F8C 003B3EEC ED 41 01 72 */ fmuls f10, f1, f5
/* 803B6F90 003B3EF0 7C 05 40 00 */ cmpw r5, r8
/* 803B6F94 003B3EF4 6F BD 80 00 */ xoris r29, r29, 0x8000
/* 803B6F98 003B3EF8 FC 20 18 90 */ fmr f1, f3
/* 803B6F9C 003B3EFC C0 EA 00 08 */ lfs f7, 8(r10)
/* 803B6FA0 003B3F00 93 A1 00 0C */ stw r29, 0xc(r1)
/* 803B6FA4 003B3F04 ED 42 51 BA */ fmadds f10, f2, f6, f10
/* 803B6FA8 003B3F08 C1 0A 00 0C */ lfs f8, 0xc(r10)
/* 803B6FAC 003B3F0C ED 43 51 FA */ fmadds f10, f3, f7, f10
/* 803B6FB0 003B3F10 C8 61 00 08 */ lfd f3, 8(r1)
/* 803B6FB4 003B3F14 FC 40 20 90 */ fmr f2, f4
/* 803B6FB8 003B3F18 3B DE 00 04 */ addi r30, r30, 4
/* 803B6FBC 003B3F1C EC 63 48 28 */ fsubs f3, f3, f9
/* 803B6FC0 003B3F20 40 A2 00 08 */ bne+ lbl_803B6FC8
/* 803B6FC4 003B3F24 7C E5 3B 78 */ mr r5, r7
lbl_803B6FC8:
/* 803B6FC8 003B3F28 ED 44 52 3A */ fmadds f10, f4, f8, f10
/* 803B6FCC 003B3F2C 54 A9 10 3A */ slwi r9, r5, 2
/* 803B6FD0 003B3F30 42 40 00 24 */ bdz lbl_803B6FF4
/* 803B6FD4 003B3F34 7D 49 F8 2E */ lwzx r10, r9, r31
/* 803B6FD8 003B3F38 FD 40 50 1E */ fctiwz f10, f10
/* 803B6FDC 003B3F3C 6D 4A 80 00 */ xoris r10, r10, 0x8000
/* 803B6FE0 003B3F40 91 41 00 0C */ stw r10, 0xc(r1)
/* 803B6FE4 003B3F44 7D 5A F7 AE */ stfiwx f10, r26, r30
/* 803B6FE8 003B3F48 C8 81 00 08 */ lfd f4, 8(r1)
/* 803B6FEC 003B3F4C EC 84 48 28 */ fsubs f4, f4, f9
/* 803B6FF0 003B3F50 4B FF FF 04 */ b lbl_803B6EF4
lbl_803B6FF4:
/* 803B6FF4 003B3F54 FD 40 50 1E */ fctiwz f10, f10
/* 803B6FF8 003B3F58 7D 5A F7 AE */ stfiwx f10, r26, r30
/* 803B6FFC 003B3F5C 81 23 00 08 */ lwz r9, 8(r3)
/* 803B7000 003B3F60 FC 20 08 1E */ fctiwz f1, f1
/* 803B7004 003B3F64 FC 40 10 1E */ fctiwz f2, f2
/* 803B7008 003B3F68 FC 60 18 1E */ fctiwz f3, f3
/* 803B700C 003B3F6C 7C 20 4F AE */ stfiwx f1, r0, r9
/* 803B7010 003B3F70 39 49 00 04 */ addi r10, r9, 4
/* 803B7014 003B3F74 7C 40 57 AE */ stfiwx f2, r0, r10
/* 803B7018 003B3F78 39 49 00 08 */ addi r10, r9, 8
/* 803B701C 003B3F7C 7C 60 57 AE */ stfiwx f3, r0, r10
/* 803B7020 003B3F80 90 83 00 0C */ stw r4, 0xc(r3)
/* 803B7024 003B3F84 90 A3 00 10 */ stw r5, 0x10(r3)
/* 803B7028 003B3F88 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 803B702C 003B3F8C 38 21 00 40 */ addi r1, r1, 0x40
/* 803B7030 003B3F90 4E 80 00 20 */ blr
.global sndAuxCallbackChorus
sndAuxCallbackChorus:
/* 803B7034 003B3F94 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B7038 003B3F98 7C 08 02 A6 */ mflr r0
/* 803B703C 003B3F9C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803B7040 003B3FA0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B7044 003B3FA4 2C 00 00 01 */ cmpwi r0, 1
/* 803B7048 003B3FA8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803B704C 003B3FAC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803B7050 003B3FB0 7C BE 2B 78 */ mr r30, r5
/* 803B7054 003B3FB4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B7058 003B3FB8 7C 9D 23 78 */ mr r29, r4
/* 803B705C 003B3FBC 93 81 00 10 */ stw r28, 0x10(r1)
/* 803B7060 003B3FC0 41 82 02 70 */ beq lbl_803B72D0
/* 803B7064 003B3FC4 40 80 02 6C */ bge lbl_803B72D0
/* 803B7068 003B3FC8 2C 00 00 00 */ cmpwi r0, 0
/* 803B706C 003B3FCC 40 80 00 08 */ bge lbl_803B7074
/* 803B7070 003B3FD0 48 00 02 60 */ b lbl_803B72D0
lbl_803B7074:
/* 803B7074 003B3FD4 88 9E 00 24 */ lbz r4, 0x24(r30)
/* 803B7078 003B3FD8 3C 60 55 55 */ lis r3, 0x55555556@ha
/* 803B707C 003B3FDC 38 63 55 56 */ addi r3, r3, 0x55555556@l
/* 803B7080 003B3FE0 38 00 00 14 */ li r0, 0x14
/* 803B7084 003B3FE4 38 A4 00 01 */ addi r5, r4, 1
/* 803B7088 003B3FE8 80 DD 00 00 */ lwz r6, 0(r29)
/* 803B708C 003B3FEC 7C 83 28 96 */ mulhw r4, r3, r5
/* 803B7090 003B3FF0 80 FD 00 04 */ lwz r7, 4(r29)
/* 803B7094 003B3FF4 81 1D 00 08 */ lwz r8, 8(r29)
/* 803B7098 003B3FF8 54 83 0F FE */ srwi r3, r4, 0x1f
/* 803B709C 003B3FFC 7C 64 1A 14 */ add r3, r4, r3
/* 803B70A0 003B4000 1C 63 00 03 */ mulli r3, r3, 3
/* 803B70A4 003B4004 7C 63 28 50 */ subf r3, r3, r5
/* 803B70A8 003B4008 54 64 15 BA */ rlwinm r4, r3, 2, 0x16, 0x1d
/* 803B70AC 003B400C 7C BE 22 14 */ add r5, r30, r4
/* 803B70B0 003B4010 54 7F 06 3E */ clrlwi r31, r3, 0x18
/* 803B70B4 003B4014 7C 7E 20 2E */ lwzx r3, r30, r4
/* 803B70B8 003B4018 80 85 00 0C */ lwz r4, 0xc(r5)
/* 803B70BC 003B401C 80 A5 00 18 */ lwz r5, 0x18(r5)
/* 803B70C0 003B4020 7C 09 03 A6 */ mtctr r0
lbl_803B70C4:
/* 803B70C4 003B4024 80 06 00 00 */ lwz r0, 0(r6)
/* 803B70C8 003B4028 90 03 00 00 */ stw r0, 0(r3)
/* 803B70CC 003B402C 80 07 00 00 */ lwz r0, 0(r7)
/* 803B70D0 003B4030 90 04 00 00 */ stw r0, 0(r4)
/* 803B70D4 003B4034 80 08 00 00 */ lwz r0, 0(r8)
/* 803B70D8 003B4038 90 05 00 00 */ stw r0, 0(r5)
/* 803B70DC 003B403C 80 06 00 04 */ lwz r0, 4(r6)
/* 803B70E0 003B4040 90 03 00 04 */ stw r0, 4(r3)
/* 803B70E4 003B4044 80 07 00 04 */ lwz r0, 4(r7)
/* 803B70E8 003B4048 90 04 00 04 */ stw r0, 4(r4)
/* 803B70EC 003B404C 80 08 00 04 */ lwz r0, 4(r8)
/* 803B70F0 003B4050 90 05 00 04 */ stw r0, 4(r5)
/* 803B70F4 003B4054 80 06 00 08 */ lwz r0, 8(r6)
/* 803B70F8 003B4058 90 03 00 08 */ stw r0, 8(r3)
/* 803B70FC 003B405C 80 07 00 08 */ lwz r0, 8(r7)
/* 803B7100 003B4060 90 04 00 08 */ stw r0, 8(r4)
/* 803B7104 003B4064 80 08 00 08 */ lwz r0, 8(r8)
/* 803B7108 003B4068 90 05 00 08 */ stw r0, 8(r5)
/* 803B710C 003B406C 80 06 00 0C */ lwz r0, 0xc(r6)
/* 803B7110 003B4070 90 03 00 0C */ stw r0, 0xc(r3)
/* 803B7114 003B4074 80 07 00 0C */ lwz r0, 0xc(r7)
/* 803B7118 003B4078 90 04 00 0C */ stw r0, 0xc(r4)
/* 803B711C 003B407C 80 08 00 0C */ lwz r0, 0xc(r8)
/* 803B7120 003B4080 90 05 00 0C */ stw r0, 0xc(r5)
/* 803B7124 003B4084 80 06 00 10 */ lwz r0, 0x10(r6)
/* 803B7128 003B4088 90 03 00 10 */ stw r0, 0x10(r3)
/* 803B712C 003B408C 80 07 00 10 */ lwz r0, 0x10(r7)
/* 803B7130 003B4090 90 04 00 10 */ stw r0, 0x10(r4)
/* 803B7134 003B4094 80 08 00 10 */ lwz r0, 0x10(r8)
/* 803B7138 003B4098 90 05 00 10 */ stw r0, 0x10(r5)
/* 803B713C 003B409C 80 06 00 14 */ lwz r0, 0x14(r6)
/* 803B7140 003B40A0 90 03 00 14 */ stw r0, 0x14(r3)
/* 803B7144 003B40A4 80 07 00 14 */ lwz r0, 0x14(r7)
/* 803B7148 003B40A8 90 04 00 14 */ stw r0, 0x14(r4)
/* 803B714C 003B40AC 80 08 00 14 */ lwz r0, 0x14(r8)
/* 803B7150 003B40B0 90 05 00 14 */ stw r0, 0x14(r5)
/* 803B7154 003B40B4 80 06 00 18 */ lwz r0, 0x18(r6)
/* 803B7158 003B40B8 90 03 00 18 */ stw r0, 0x18(r3)
/* 803B715C 003B40BC 80 07 00 18 */ lwz r0, 0x18(r7)
/* 803B7160 003B40C0 90 04 00 18 */ stw r0, 0x18(r4)
/* 803B7164 003B40C4 80 08 00 18 */ lwz r0, 0x18(r8)
/* 803B7168 003B40C8 90 05 00 18 */ stw r0, 0x18(r5)
/* 803B716C 003B40CC 80 06 00 1C */ lwz r0, 0x1c(r6)
/* 803B7170 003B40D0 38 C6 00 20 */ addi r6, r6, 0x20
/* 803B7174 003B40D4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 803B7178 003B40D8 38 63 00 20 */ addi r3, r3, 0x20
/* 803B717C 003B40DC 80 07 00 1C */ lwz r0, 0x1c(r7)
/* 803B7180 003B40E0 38 E7 00 20 */ addi r7, r7, 0x20
/* 803B7184 003B40E4 90 04 00 1C */ stw r0, 0x1c(r4)
/* 803B7188 003B40E8 38 84 00 20 */ addi r4, r4, 0x20
/* 803B718C 003B40EC 80 08 00 1C */ lwz r0, 0x1c(r8)
/* 803B7190 003B40F0 39 08 00 20 */ addi r8, r8, 0x20
/* 803B7194 003B40F4 90 05 00 1C */ stw r0, 0x1c(r5)
/* 803B7198 003B40F8 38 A5 00 20 */ addi r5, r5, 0x20
/* 803B719C 003B40FC 42 00 FF 28 */ bdnz lbl_803B70C4
/* 803B71A0 003B4100 80 1E 00 60 */ lwz r0, 0x60(r30)
/* 803B71A4 003B4104 7C 03 86 70 */ srawi r3, r0, 0x10
/* 803B71A8 003B4108 38 03 00 01 */ addi r0, r3, 1
/* 803B71AC 003B410C 90 1E 00 84 */ stw r0, 0x84(r30)
/* 803B71B0 003B4110 80 1E 00 60 */ lwz r0, 0x60(r30)
/* 803B71B4 003B4114 54 00 80 1E */ slwi r0, r0, 0x10
/* 803B71B8 003B4118 90 1E 00 80 */ stw r0, 0x80(r30)
/* 803B71BC 003B411C 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 803B71C0 003B4120 34 03 FF FF */ addic. r0, r3, -1
/* 803B71C4 003B4124 90 1E 00 64 */ stw r0, 0x64(r30)
/* 803B71C8 003B4128 40 82 00 18 */ bne lbl_803B71E0
/* 803B71CC 003B412C 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 803B71D0 003B4130 90 1E 00 64 */ stw r0, 0x64(r30)
/* 803B71D4 003B4134 80 1E 00 60 */ lwz r0, 0x60(r30)
/* 803B71D8 003B4138 7C 00 00 D0 */ neg r0, r0
/* 803B71DC 003B413C 90 1E 00 60 */ stw r0, 0x60(r30)
lbl_803B71E0:
/* 803B71E0 003B4140 3B 80 00 00 */ li r28, 0
lbl_803B71E4:
/* 803B71E4 003B4144 80 1E 00 5C */ lwz r0, 0x5c(r30)
/* 803B71E8 003B4148 2C 1C 00 01 */ cmpwi r28, 1
/* 803B71EC 003B414C 90 1E 00 7C */ stw r0, 0x7c(r30)
/* 803B71F0 003B4150 80 1E 00 58 */ lwz r0, 0x58(r30)
/* 803B71F4 003B4154 90 1E 00 78 */ stw r0, 0x78(r30)
/* 803B71F8 003B4158 41 82 00 3C */ beq lbl_803B7234
/* 803B71FC 003B415C 40 80 00 10 */ bge lbl_803B720C
/* 803B7200 003B4160 2C 1C 00 00 */ cmpwi r28, 0
/* 803B7204 003B4164 40 80 00 14 */ bge lbl_803B7218
/* 803B7208 003B4168 48 00 00 60 */ b lbl_803B7268
lbl_803B720C:
/* 803B720C 003B416C 2C 1C 00 03 */ cmpwi r28, 3
/* 803B7210 003B4170 40 80 00 58 */ bge lbl_803B7268
/* 803B7214 003B4174 48 00 00 3C */ b lbl_803B7250
lbl_803B7218:
/* 803B7218 003B4178 80 7E 00 00 */ lwz r3, 0(r30)
/* 803B721C 003B417C 38 1E 00 28 */ addi r0, r30, 0x28
/* 803B7220 003B4180 90 7E 00 70 */ stw r3, 0x70(r30)
/* 803B7224 003B4184 80 7D 00 00 */ lwz r3, 0(r29)
/* 803B7228 003B4188 90 7E 00 6C */ stw r3, 0x6c(r30)
/* 803B722C 003B418C 90 1E 00 74 */ stw r0, 0x74(r30)
/* 803B7230 003B4190 48 00 00 38 */ b lbl_803B7268
lbl_803B7234:
/* 803B7234 003B4194 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803B7238 003B4198 38 1E 00 38 */ addi r0, r30, 0x38
/* 803B723C 003B419C 90 7E 00 70 */ stw r3, 0x70(r30)
/* 803B7240 003B41A0 80 7D 00 04 */ lwz r3, 4(r29)
/* 803B7244 003B41A4 90 7E 00 6C */ stw r3, 0x6c(r30)
/* 803B7248 003B41A8 90 1E 00 74 */ stw r0, 0x74(r30)
/* 803B724C 003B41AC 48 00 00 1C */ b lbl_803B7268
lbl_803B7250:
/* 803B7250 003B41B0 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 803B7254 003B41B4 38 1E 00 48 */ addi r0, r30, 0x48
/* 803B7258 003B41B8 90 7E 00 70 */ stw r3, 0x70(r30)
/* 803B725C 003B41BC 80 7D 00 08 */ lwz r3, 8(r29)
/* 803B7260 003B41C0 90 7E 00 6C */ stw r3, 0x6c(r30)
/* 803B7264 003B41C4 90 1E 00 74 */ stw r0, 0x74(r30)
lbl_803B7268:
/* 803B7268 003B41C8 80 1E 00 84 */ lwz r0, 0x84(r30)
/* 803B726C 003B41CC 2C 00 00 01 */ cmpwi r0, 1
/* 803B7270 003B41D0 41 82 00 20 */ beq lbl_803B7290
/* 803B7274 003B41D4 40 80 00 24 */ bge lbl_803B7298
/* 803B7278 003B41D8 2C 00 00 00 */ cmpwi r0, 0
/* 803B727C 003B41DC 40 80 00 08 */ bge lbl_803B7284
/* 803B7280 003B41E0 48 00 00 18 */ b lbl_803B7298
lbl_803B7284:
/* 803B7284 003B41E4 38 7E 00 6C */ addi r3, r30, 0x6c
/* 803B7288 003B41E8 4B FF FA 29 */ bl do_src1
/* 803B728C 003B41EC 48 00 00 0C */ b lbl_803B7298
lbl_803B7290:
/* 803B7290 003B41F0 38 7E 00 6C */ addi r3, r30, 0x6c
/* 803B7294 003B41F4 4B FF FB B5 */ bl do_src2
lbl_803B7298:
/* 803B7298 003B41F8 3B 9C 00 01 */ addi r28, r28, 1
/* 803B729C 003B41FC 28 1C 00 03 */ cmplwi r28, 3
/* 803B72A0 003B4200 41 80 FF 44 */ blt lbl_803B71E4
/* 803B72A4 003B4204 3C 60 88 89 */ lis r3, 0x88888889@ha
/* 803B72A8 003B4208 80 9E 00 7C */ lwz r4, 0x7c(r30)
/* 803B72AC 003B420C 38 03 88 89 */ addi r0, r3, 0x88888889@l
/* 803B72B0 003B4210 7C 00 20 16 */ mulhwu r0, r0, r4
/* 803B72B4 003B4214 54 00 C2 3E */ srwi r0, r0, 8
/* 803B72B8 003B4218 1C 00 01 E0 */ mulli r0, r0, 0x1e0
/* 803B72BC 003B421C 7C 00 20 50 */ subf r0, r0, r4
/* 803B72C0 003B4220 90 1E 00 5C */ stw r0, 0x5c(r30)
/* 803B72C4 003B4224 80 1E 00 78 */ lwz r0, 0x78(r30)
/* 803B72C8 003B4228 90 1E 00 58 */ stw r0, 0x58(r30)
/* 803B72CC 003B422C 9B FE 00 24 */ stb r31, 0x24(r30)
lbl_803B72D0:
/* 803B72D0 003B4230 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B72D4 003B4234 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803B72D8 003B4238 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803B72DC 003B423C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B72E0 003B4240 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803B72E4 003B4244 7C 08 03 A6 */ mtlr r0
/* 803B72E8 003B4248 38 21 00 20 */ addi r1, r1, 0x20
/* 803B72EC 003B424C 4E 80 00 20 */ blr
.global sndAuxCallbackPrepareChorus
sndAuxCallbackPrepareChorus:
/* 803B72F0 003B4250 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B72F4 003B4254 7C 08 02 A6 */ mflr r0
/* 803B72F8 003B4258 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B72FC 003B425C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803B7300 003B4260 7C 7F 1B 78 */ mr r31, r3
/* 803B7304 003B4264 38 60 16 80 */ li r3, 0x1680
/* 803B7308 003B4268 4B FF DE 2D */ bl salMalloc
/* 803B730C 003B426C 90 7F 00 00 */ stw r3, 0(r31)
/* 803B7310 003B4270 80 7F 00 00 */ lwz r3, 0(r31)
/* 803B7314 003B4274 28 03 00 00 */ cmplwi r3, 0
/* 803B7318 003B4278 41 82 01 C0 */ beq lbl_803B74D8
/* 803B731C 003B427C 38 63 07 80 */ addi r3, r3, 0x780
/* 803B7320 003B4280 38 00 00 28 */ li r0, 0x28
/* 803B7324 003B4284 90 7F 00 0C */ stw r3, 0xc(r31)
/* 803B7328 003B4288 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803B732C 003B428C 38 63 07 80 */ addi r3, r3, 0x780
/* 803B7330 003B4290 90 7F 00 18 */ stw r3, 0x18(r31)
/* 803B7334 003B4294 80 7F 00 00 */ lwz r3, 0(r31)
/* 803B7338 003B4298 38 63 02 80 */ addi r3, r3, 0x280
/* 803B733C 003B429C 90 7F 00 04 */ stw r3, 4(r31)
/* 803B7340 003B42A0 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803B7344 003B42A4 38 63 02 80 */ addi r3, r3, 0x280
/* 803B7348 003B42A8 90 7F 00 10 */ stw r3, 0x10(r31)
/* 803B734C 003B42AC 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 803B7350 003B42B0 38 63 02 80 */ addi r3, r3, 0x280
/* 803B7354 003B42B4 90 7F 00 1C */ stw r3, 0x1c(r31)
/* 803B7358 003B42B8 80 7F 00 00 */ lwz r3, 0(r31)
/* 803B735C 003B42BC 38 63 05 00 */ addi r3, r3, 0x500
/* 803B7360 003B42C0 90 7F 00 08 */ stw r3, 8(r31)
/* 803B7364 003B42C4 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803B7368 003B42C8 38 63 05 00 */ addi r3, r3, 0x500
/* 803B736C 003B42CC 90 7F 00 14 */ stw r3, 0x14(r31)
/* 803B7370 003B42D0 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 803B7374 003B42D4 38 63 05 00 */ addi r3, r3, 0x500
/* 803B7378 003B42D8 90 7F 00 20 */ stw r3, 0x20(r31)
/* 803B737C 003B42DC 80 7F 00 00 */ lwz r3, 0(r31)
/* 803B7380 003B42E0 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803B7384 003B42E4 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 803B7388 003B42E8 7C 09 03 A6 */ mtctr r0
lbl_803B738C:
/* 803B738C 003B42EC 38 C0 00 00 */ li r6, 0
/* 803B7390 003B42F0 90 C3 00 00 */ stw r6, 0(r3)
/* 803B7394 003B42F4 90 C4 00 00 */ stw r6, 0(r4)
/* 803B7398 003B42F8 90 C5 00 00 */ stw r6, 0(r5)
/* 803B739C 003B42FC 90 C3 00 04 */ stw r6, 4(r3)
/* 803B73A0 003B4300 90 C4 00 04 */ stw r6, 4(r4)
/* 803B73A4 003B4304 90 C5 00 04 */ stw r6, 4(r5)
/* 803B73A8 003B4308 90 C3 00 08 */ stw r6, 8(r3)
/* 803B73AC 003B430C 90 C4 00 08 */ stw r6, 8(r4)
/* 803B73B0 003B4310 90 C5 00 08 */ stw r6, 8(r5)
/* 803B73B4 003B4314 90 C3 00 0C */ stw r6, 0xc(r3)
/* 803B73B8 003B4318 90 C4 00 0C */ stw r6, 0xc(r4)
/* 803B73BC 003B431C 90 C5 00 0C */ stw r6, 0xc(r5)
/* 803B73C0 003B4320 90 C3 00 10 */ stw r6, 0x10(r3)
/* 803B73C4 003B4324 90 C4 00 10 */ stw r6, 0x10(r4)
/* 803B73C8 003B4328 90 C5 00 10 */ stw r6, 0x10(r5)
/* 803B73CC 003B432C 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803B73D0 003B4330 90 C4 00 14 */ stw r6, 0x14(r4)
/* 803B73D4 003B4334 90 C5 00 14 */ stw r6, 0x14(r5)
/* 803B73D8 003B4338 90 C3 00 18 */ stw r6, 0x18(r3)
/* 803B73DC 003B433C 90 C4 00 18 */ stw r6, 0x18(r4)
/* 803B73E0 003B4340 90 C5 00 18 */ stw r6, 0x18(r5)
/* 803B73E4 003B4344 90 C3 00 1C */ stw r6, 0x1c(r3)
/* 803B73E8 003B4348 38 63 00 20 */ addi r3, r3, 0x20
/* 803B73EC 003B434C 90 C4 00 1C */ stw r6, 0x1c(r4)
/* 803B73F0 003B4350 38 84 00 20 */ addi r4, r4, 0x20
/* 803B73F4 003B4354 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 803B73F8 003B4358 38 A5 00 20 */ addi r5, r5, 0x20
/* 803B73FC 003B435C 42 00 FF 90 */ bdnz lbl_803B738C
/* 803B7400 003B4360 38 00 00 01 */ li r0, 1
/* 803B7404 003B4364 3C 80 88 89 */ lis r4, 0x88888889@ha
/* 803B7408 003B4368 98 1F 00 24 */ stb r0, 0x24(r31)
/* 803B740C 003B436C 3C 60 CC CD */ lis r3, 0xCCCCCCCD@ha
/* 803B7410 003B4370 38 A0 01 E0 */ li r5, 0x1e0
/* 803B7414 003B4374 38 04 88 89 */ addi r0, r4, 0x88888889@l
/* 803B7418 003B4378 90 DF 00 34 */ stw r6, 0x34(r31)
/* 803B741C 003B437C 38 83 CC CD */ addi r4, r3, 0xCCCCCCCD@l
/* 803B7420 003B4380 38 60 00 01 */ li r3, 1
/* 803B7424 003B4384 90 DF 00 30 */ stw r6, 0x30(r31)
/* 803B7428 003B4388 90 DF 00 2C */ stw r6, 0x2c(r31)
/* 803B742C 003B438C 90 DF 00 28 */ stw r6, 0x28(r31)
/* 803B7430 003B4390 90 DF 00 44 */ stw r6, 0x44(r31)
/* 803B7434 003B4394 90 DF 00 40 */ stw r6, 0x40(r31)
/* 803B7438 003B4398 90 DF 00 3C */ stw r6, 0x3c(r31)
/* 803B743C 003B439C 90 DF 00 38 */ stw r6, 0x38(r31)
/* 803B7440 003B43A0 90 DF 00 54 */ stw r6, 0x54(r31)
/* 803B7444 003B43A4 90 DF 00 50 */ stw r6, 0x50(r31)
/* 803B7448 003B43A8 90 DF 00 4C */ stw r6, 0x4c(r31)
/* 803B744C 003B43AC 90 DF 00 48 */ stw r6, 0x48(r31)
/* 803B7450 003B43B0 90 BF 00 88 */ stw r5, 0x88(r31)
/* 803B7454 003B43B4 90 DF 00 8C */ stw r6, 0x8c(r31)
/* 803B7458 003B43B8 80 BF 00 90 */ lwz r5, 0x90(r31)
/* 803B745C 003B43BC 38 A5 FF FB */ addi r5, r5, -5
/* 803B7460 003B43C0 54 A5 28 34 */ slwi r5, r5, 5
/* 803B7464 003B43C4 20 A5 01 40 */ subfic r5, r5, 0x140
/* 803B7468 003B43C8 90 BF 00 5C */ stw r5, 0x5c(r31)
/* 803B746C 003B43CC 90 DF 00 58 */ stw r6, 0x58(r31)
/* 803B7470 003B43D0 88 BF 00 24 */ lbz r5, 0x24(r31)
/* 803B7474 003B43D4 80 DF 00 5C */ lwz r6, 0x5c(r31)
/* 803B7478 003B43D8 38 A5 FF FF */ addi r5, r5, -1
/* 803B747C 003B43DC 1C A5 00 A0 */ mulli r5, r5, 0xa0
/* 803B7480 003B43E0 7C A6 2A 14 */ add r5, r6, r5
/* 803B7484 003B43E4 7C 00 28 16 */ mulhwu r0, r0, r5
/* 803B7488 003B43E8 54 00 C2 3E */ srwi r0, r0, 8
/* 803B748C 003B43EC 1C 00 01 E0 */ mulli r0, r0, 0x1e0
/* 803B7490 003B43F0 7C 00 28 50 */ subf r0, r0, r5
/* 803B7494 003B43F4 90 1F 00 5C */ stw r0, 0x5c(r31)
/* 803B7498 003B43F8 80 1F 00 98 */ lwz r0, 0x98(r31)
/* 803B749C 003B43FC 7C 04 00 16 */ mulhwu r0, r4, r0
/* 803B74A0 003B4400 54 04 F0 BE */ srwi r4, r0, 2
/* 803B74A4 003B4404 38 04 00 01 */ addi r0, r4, 1
/* 803B74A8 003B4408 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 803B74AC 003B440C 90 1F 00 68 */ stw r0, 0x68(r31)
/* 803B74B0 003B4410 80 1F 00 68 */ lwz r0, 0x68(r31)
/* 803B74B4 003B4414 54 00 F8 7E */ srwi r0, r0, 1
/* 803B74B8 003B4418 90 1F 00 64 */ stw r0, 0x64(r31)
/* 803B74BC 003B441C 80 1F 00 68 */ lwz r0, 0x68(r31)
/* 803B74C0 003B4420 80 9F 00 94 */ lwz r4, 0x94(r31)
/* 803B74C4 003B4424 1C 00 00 05 */ mulli r0, r0, 5
/* 803B74C8 003B4428 54 84 80 1E */ slwi r4, r4, 0x10
/* 803B74CC 003B442C 7C 04 03 96 */ divwu r0, r4, r0
/* 803B74D0 003B4430 90 1F 00 60 */ stw r0, 0x60(r31)
/* 803B74D4 003B4434 48 00 00 08 */ b lbl_803B74DC
lbl_803B74D8:
/* 803B74D8 003B4438 38 60 00 00 */ li r3, 0
lbl_803B74DC:
/* 803B74DC 003B443C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B74E0 003B4440 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803B74E4 003B4444 7C 08 03 A6 */ mtlr r0
/* 803B74E8 003B4448 38 21 00 10 */ addi r1, r1, 0x10
/* 803B74EC 003B444C 4E 80 00 20 */ blr
.global sndAuxCallbackShutdownChorus
sndAuxCallbackShutdownChorus:
/* 803B74F0 003B4450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B74F4 003B4454 7C 08 02 A6 */ mflr r0
/* 803B74F8 003B4458 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B74FC 003B445C 80 63 00 00 */ lwz r3, 0(r3)
/* 803B7500 003B4460 4B FF DC 5D */ bl salFree
/* 803B7504 003B4464 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B7508 003B4468 38 60 00 01 */ li r3, 1
/* 803B750C 003B446C 7C 08 03 A6 */ mtlr r0
/* 803B7510 003B4470 38 21 00 10 */ addi r1, r1, 0x10
/* 803B7514 003B4474 4E 80 00 20 */ blr