.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global AXFXChorusExpGetMemSize AXFXChorusExpGetMemSize: /* 802959F8 00291658 3C 60 00 01 */ lis r3, 0x00009600@ha /* 802959FC 0029165C 38 63 96 00 */ addi r3, r3, 0x00009600@l /* 80295A00 00291660 4E 80 00 20 */ blr .global AXFXChorusExpInit AXFXChorusExpInit: /* 80295A04 00291664 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80295A08 00291668 7C 08 02 A6 */ mflr r0 /* 80295A0C 0029166C 90 01 00 24 */ stw r0, 0x24(r1) /* 80295A10 00291670 39 61 00 20 */ addi r11, r1, 0x20 /* 80295A14 00291674 4B F3 17 15 */ bl _savegpr_27 /* 80295A18 00291678 7C 7E 1B 78 */ mr r30, r3 /* 80295A1C 0029167C 4B FD 8D 41 */ bl OSDisableInterrupts /* 80295A20 00291680 80 9E 00 7C */ lwz r4, 0x7c(r30) /* 80295A24 00291684 38 00 0C 80 */ li r0, 0xc80 /* 80295A28 00291688 90 1E 00 1C */ stw r0, 0x1c(r30) /* 80295A2C 0029168C 7C 7F 1B 78 */ mr r31, r3 /* 80295A30 00291690 60 80 00 01 */ ori r0, r4, 1 /* 80295A34 00291694 7F DB F3 78 */ mr r27, r30 /* 80295A38 00291698 90 1E 00 7C */ stw r0, 0x7c(r30) /* 80295A3C 0029169C 3B A0 00 00 */ li r29, 0 lbl_80295A40: /* 80295A40 002916A0 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 80295A44 002916A4 81 8D 88 F8 */ lwz r12, lbl_8063DBB8-_SDA_BASE_(r13) /* 80295A48 002916A8 54 03 10 3A */ slwi r3, r0, 2 /* 80295A4C 002916AC 7D 89 03 A6 */ mtctr r12 /* 80295A50 002916B0 4E 80 04 21 */ bctrl /* 80295A54 002916B4 2C 03 00 00 */ cmpwi r3, 0 /* 80295A58 002916B8 90 7B 00 00 */ stw r3, 0(r27) /* 80295A5C 002916BC 40 82 00 0C */ bne lbl_80295A68 /* 80295A60 002916C0 38 00 00 00 */ li r0, 0 /* 80295A64 002916C4 48 00 00 18 */ b lbl_80295A7C lbl_80295A68: /* 80295A68 002916C8 3B BD 00 01 */ addi r29, r29, 1 /* 80295A6C 002916CC 3B 7B 00 04 */ addi r27, r27, 4 /* 80295A70 002916D0 28 1D 00 03 */ cmplwi r29, 3 /* 80295A74 002916D4 41 80 FF CC */ blt lbl_80295A40 /* 80295A78 002916D8 38 00 00 01 */ li r0, 1 lbl_80295A7C: /* 80295A7C 002916DC 2C 00 00 00 */ cmpwi r0, 0 /* 80295A80 002916E0 40 82 00 64 */ bne lbl_80295AE4 /* 80295A84 002916E4 4B FD 8C D9 */ bl OSDisableInterrupts /* 80295A88 002916E8 80 1E 00 7C */ lwz r0, 0x7c(r30) /* 80295A8C 002916EC 7C 7B 1B 78 */ mr r27, r3 /* 80295A90 002916F0 3B 80 00 00 */ li r28, 0 /* 80295A94 002916F4 3B A0 00 00 */ li r29, 0 /* 80295A98 002916F8 60 00 00 01 */ ori r0, r0, 1 /* 80295A9C 002916FC 90 1E 00 7C */ stw r0, 0x7c(r30) lbl_80295AA0: /* 80295AA0 00291700 80 7E 00 00 */ lwz r3, 0(r30) /* 80295AA4 00291704 2C 03 00 00 */ cmpwi r3, 0 /* 80295AA8 00291708 41 82 00 10 */ beq lbl_80295AB8 /* 80295AAC 0029170C 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80295AB0 00291710 7D 89 03 A6 */ mtctr r12 /* 80295AB4 00291714 4E 80 04 21 */ bctrl lbl_80295AB8: /* 80295AB8 00291718 3B 9C 00 01 */ addi r28, r28, 1 /* 80295ABC 0029171C 93 BE 00 00 */ stw r29, 0(r30) /* 80295AC0 00291720 28 1C 00 03 */ cmplwi r28, 3 /* 80295AC4 00291724 3B DE 00 04 */ addi r30, r30, 4 /* 80295AC8 00291728 41 80 FF D8 */ blt lbl_80295AA0 /* 80295ACC 0029172C 7F 63 DB 78 */ mr r3, r27 /* 80295AD0 00291730 4B FD 8C B5 */ bl OSRestoreInterrupts /* 80295AD4 00291734 7F E3 FB 78 */ mr r3, r31 /* 80295AD8 00291738 4B FD 8C AD */ bl OSRestoreInterrupts /* 80295ADC 0029173C 38 60 00 00 */ li r3, 0 /* 80295AE0 00291740 48 00 01 68 */ b lbl_80295C48 lbl_80295AE4: /* 80295AE4 00291744 7F DC F3 78 */ mr r28, r30 /* 80295AE8 00291748 3B 60 00 00 */ li r27, 0 lbl_80295AEC: /* 80295AEC 0029174C 80 7C 00 00 */ lwz r3, 0(r28) /* 80295AF0 00291750 2C 03 00 00 */ cmpwi r3, 0 /* 80295AF4 00291754 40 82 00 0C */ bne lbl_80295B00 /* 80295AF8 00291758 38 80 00 00 */ li r4, 0 /* 80295AFC 0029175C 48 00 00 5C */ b lbl_80295B58 lbl_80295B00: /* 80295B00 00291760 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 80295B04 00291764 38 80 00 00 */ li r4, 0 /* 80295B08 00291768 54 05 10 3A */ slwi r5, r0, 2 /* 80295B0C 0029176C 4B D6 E5 F9 */ bl memset /* 80295B10 00291770 3B 7B 00 01 */ addi r27, r27, 1 /* 80295B14 00291774 3B 9C 00 04 */ addi r28, r28, 4 /* 80295B18 00291778 28 1B 00 03 */ cmplwi r27, 3 /* 80295B1C 0029177C 41 80 FF D0 */ blt lbl_80295AEC /* 80295B20 00291780 C0 22 A3 38 */ lfs f1, lbl_80642938-_SDA2_BASE_(r2) /* 80295B24 00291784 38 00 00 00 */ li r0, 0 /* 80295B28 00291788 C0 1E 00 80 */ lfs f0, 0x80(r30) /* 80295B2C 0029178C 90 1E 00 0C */ stw r0, 0xc(r30) /* 80295B30 00291790 EC 21 00 32 */ fmuls f1, f1, f0 /* 80295B34 00291794 4B F3 14 CD */ bl __cvt_fp2unsigned /* 80295B38 00291798 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 80295B3C 0029179C 38 80 00 01 */ li r4, 1 /* 80295B40 002917A0 7C 63 00 50 */ subf r3, r3, r0 /* 80295B44 002917A4 54 00 80 1E */ slwi r0, r0, 0x10 /* 80295B48 002917A8 54 63 80 1E */ slwi r3, r3, 0x10 /* 80295B4C 002917AC 90 1E 00 18 */ stw r0, 0x18(r30) /* 80295B50 002917B0 90 7E 00 10 */ stw r3, 0x10(r30) /* 80295B54 002917B4 90 7E 00 14 */ stw r3, 0x14(r30) lbl_80295B58: /* 80295B58 002917B8 2C 04 00 00 */ cmpwi r4, 0 /* 80295B5C 002917BC 40 82 00 64 */ bne lbl_80295BC0 /* 80295B60 002917C0 4B FD 8B FD */ bl OSDisableInterrupts /* 80295B64 002917C4 80 1E 00 7C */ lwz r0, 0x7c(r30) /* 80295B68 002917C8 7C 7C 1B 78 */ mr r28, r3 /* 80295B6C 002917CC 3B 60 00 00 */ li r27, 0 /* 80295B70 002917D0 3B A0 00 00 */ li r29, 0 /* 80295B74 002917D4 60 00 00 01 */ ori r0, r0, 1 /* 80295B78 002917D8 90 1E 00 7C */ stw r0, 0x7c(r30) lbl_80295B7C: /* 80295B7C 002917DC 80 7E 00 00 */ lwz r3, 0(r30) /* 80295B80 002917E0 2C 03 00 00 */ cmpwi r3, 0 /* 80295B84 002917E4 41 82 00 10 */ beq lbl_80295B94 /* 80295B88 002917E8 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80295B8C 002917EC 7D 89 03 A6 */ mtctr r12 /* 80295B90 002917F0 4E 80 04 21 */ bctrl lbl_80295B94: /* 80295B94 002917F4 3B 7B 00 01 */ addi r27, r27, 1 /* 80295B98 002917F8 93 BE 00 00 */ stw r29, 0(r30) /* 80295B9C 002917FC 28 1B 00 03 */ cmplwi r27, 3 /* 80295BA0 00291800 3B DE 00 04 */ addi r30, r30, 4 /* 80295BA4 00291804 41 80 FF D8 */ blt lbl_80295B7C /* 80295BA8 00291808 7F 83 E3 78 */ mr r3, r28 /* 80295BAC 0029180C 4B FD 8B D9 */ bl OSRestoreInterrupts /* 80295BB0 00291810 7F E3 FB 78 */ mr r3, r31 /* 80295BB4 00291814 4B FD 8B D1 */ bl OSRestoreInterrupts /* 80295BB8 00291818 38 60 00 00 */ li r3, 0 /* 80295BBC 0029181C 48 00 00 8C */ b lbl_80295C48 lbl_80295BC0: /* 80295BC0 00291820 7F C3 F3 78 */ mr r3, r30 /* 80295BC4 00291824 48 00 05 B5 */ bl __InitParams /* 80295BC8 00291828 2C 03 00 00 */ cmpwi r3, 0 /* 80295BCC 0029182C 40 82 00 64 */ bne lbl_80295C30 /* 80295BD0 00291830 4B FD 8B 8D */ bl OSDisableInterrupts /* 80295BD4 00291834 80 1E 00 7C */ lwz r0, 0x7c(r30) /* 80295BD8 00291838 7C 7C 1B 78 */ mr r28, r3 /* 80295BDC 0029183C 3B 60 00 00 */ li r27, 0 /* 80295BE0 00291840 3B A0 00 00 */ li r29, 0 /* 80295BE4 00291844 60 00 00 01 */ ori r0, r0, 1 /* 80295BE8 00291848 90 1E 00 7C */ stw r0, 0x7c(r30) lbl_80295BEC: /* 80295BEC 0029184C 80 7E 00 00 */ lwz r3, 0(r30) /* 80295BF0 00291850 2C 03 00 00 */ cmpwi r3, 0 /* 80295BF4 00291854 41 82 00 10 */ beq lbl_80295C04 /* 80295BF8 00291858 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80295BFC 0029185C 7D 89 03 A6 */ mtctr r12 /* 80295C00 00291860 4E 80 04 21 */ bctrl lbl_80295C04: /* 80295C04 00291864 3B 7B 00 01 */ addi r27, r27, 1 /* 80295C08 00291868 93 BE 00 00 */ stw r29, 0(r30) /* 80295C0C 0029186C 28 1B 00 03 */ cmplwi r27, 3 /* 80295C10 00291870 3B DE 00 04 */ addi r30, r30, 4 /* 80295C14 00291874 41 80 FF D8 */ blt lbl_80295BEC /* 80295C18 00291878 7F 83 E3 78 */ mr r3, r28 /* 80295C1C 0029187C 4B FD 8B 69 */ bl OSRestoreInterrupts /* 80295C20 00291880 7F E3 FB 78 */ mr r3, r31 /* 80295C24 00291884 4B FD 8B 61 */ bl OSRestoreInterrupts /* 80295C28 00291888 38 60 00 00 */ li r3, 0 /* 80295C2C 0029188C 48 00 00 1C */ b lbl_80295C48 lbl_80295C30: /* 80295C30 00291890 80 1E 00 7C */ lwz r0, 0x7c(r30) /* 80295C34 00291894 7F E3 FB 78 */ mr r3, r31 /* 80295C38 00291898 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 80295C3C 0029189C 90 1E 00 7C */ stw r0, 0x7c(r30) /* 80295C40 002918A0 4B FD 8B 45 */ bl OSRestoreInterrupts /* 80295C44 002918A4 38 60 00 01 */ li r3, 1 lbl_80295C48: /* 80295C48 002918A8 39 61 00 20 */ addi r11, r1, 0x20 /* 80295C4C 002918AC 4B F3 15 29 */ bl _restgpr_27 /* 80295C50 002918B0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80295C54 002918B4 7C 08 03 A6 */ mtlr r0 /* 80295C58 002918B8 38 21 00 20 */ addi r1, r1, 0x20 /* 80295C5C 002918BC 4E 80 00 20 */ blr .global AXFXChorusExpSettings AXFXChorusExpSettings: /* 80295C60 002918C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80295C64 002918C4 7C 08 02 A6 */ mflr r0 /* 80295C68 002918C8 90 01 00 24 */ stw r0, 0x24(r1) /* 80295C6C 002918CC 39 61 00 20 */ addi r11, r1, 0x20 /* 80295C70 002918D0 4B F3 14 B5 */ bl _savegpr_26 /* 80295C74 002918D4 7C 7F 1B 78 */ mr r31, r3 /* 80295C78 002918D8 4B FD 8A E5 */ bl OSDisableInterrupts /* 80295C7C 002918DC 80 1F 00 7C */ lwz r0, 0x7c(r31) /* 80295C80 002918E0 7C 7A 1B 78 */ mr r26, r3 /* 80295C84 002918E4 60 00 00 01 */ ori r0, r0, 1 /* 80295C88 002918E8 90 1F 00 7C */ stw r0, 0x7c(r31) /* 80295C8C 002918EC 4B FD 8A D1 */ bl OSDisableInterrupts /* 80295C90 002918F0 80 1F 00 7C */ lwz r0, 0x7c(r31) /* 80295C94 002918F4 7C 7C 1B 78 */ mr r28, r3 /* 80295C98 002918F8 7F FB FB 78 */ mr r27, r31 /* 80295C9C 002918FC 3B A0 00 00 */ li r29, 0 /* 80295CA0 00291900 60 00 00 01 */ ori r0, r0, 1 /* 80295CA4 00291904 3B C0 00 00 */ li r30, 0 /* 80295CA8 00291908 90 1F 00 7C */ stw r0, 0x7c(r31) lbl_80295CAC: /* 80295CAC 0029190C 80 7B 00 00 */ lwz r3, 0(r27) /* 80295CB0 00291910 2C 03 00 00 */ cmpwi r3, 0 /* 80295CB4 00291914 41 82 00 10 */ beq lbl_80295CC4 /* 80295CB8 00291918 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80295CBC 0029191C 7D 89 03 A6 */ mtctr r12 /* 80295CC0 00291920 4E 80 04 21 */ bctrl lbl_80295CC4: /* 80295CC4 00291924 3B BD 00 01 */ addi r29, r29, 1 /* 80295CC8 00291928 93 DB 00 00 */ stw r30, 0(r27) /* 80295CCC 0029192C 28 1D 00 03 */ cmplwi r29, 3 /* 80295CD0 00291930 3B 7B 00 04 */ addi r27, r27, 4 /* 80295CD4 00291934 41 80 FF D8 */ blt lbl_80295CAC /* 80295CD8 00291938 7F 83 E3 78 */ mr r3, r28 /* 80295CDC 0029193C 4B FD 8A A9 */ bl OSRestoreInterrupts /* 80295CE0 00291940 7F E3 FB 78 */ mr r3, r31 /* 80295CE4 00291944 4B FF FD 21 */ bl AXFXChorusExpInit /* 80295CE8 00291948 2C 03 00 00 */ cmpwi r3, 0 /* 80295CEC 0029194C 7C 7B 1B 78 */ mr r27, r3 /* 80295CF0 00291950 40 82 00 64 */ bne lbl_80295D54 /* 80295CF4 00291954 4B FD 8A 69 */ bl OSDisableInterrupts /* 80295CF8 00291958 80 1F 00 7C */ lwz r0, 0x7c(r31) /* 80295CFC 0029195C 7C 7D 1B 78 */ mr r29, r3 /* 80295D00 00291960 3B 80 00 00 */ li r28, 0 /* 80295D04 00291964 3B C0 00 00 */ li r30, 0 /* 80295D08 00291968 60 00 00 01 */ ori r0, r0, 1 /* 80295D0C 0029196C 90 1F 00 7C */ stw r0, 0x7c(r31) lbl_80295D10: /* 80295D10 00291970 80 7F 00 00 */ lwz r3, 0(r31) /* 80295D14 00291974 2C 03 00 00 */ cmpwi r3, 0 /* 80295D18 00291978 41 82 00 10 */ beq lbl_80295D28 /* 80295D1C 0029197C 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80295D20 00291980 7D 89 03 A6 */ mtctr r12 /* 80295D24 00291984 4E 80 04 21 */ bctrl lbl_80295D28: /* 80295D28 00291988 3B 9C 00 01 */ addi r28, r28, 1 /* 80295D2C 0029198C 93 DF 00 00 */ stw r30, 0(r31) /* 80295D30 00291990 28 1C 00 03 */ cmplwi r28, 3 /* 80295D34 00291994 3B FF 00 04 */ addi r31, r31, 4 /* 80295D38 00291998 41 80 FF D8 */ blt lbl_80295D10 /* 80295D3C 0029199C 7F A3 EB 78 */ mr r3, r29 /* 80295D40 002919A0 4B FD 8A 45 */ bl OSRestoreInterrupts /* 80295D44 002919A4 7F 43 D3 78 */ mr r3, r26 /* 80295D48 002919A8 4B FD 8A 3D */ bl OSRestoreInterrupts /* 80295D4C 002919AC 38 60 00 00 */ li r3, 0 /* 80295D50 002919B0 48 00 00 20 */ b lbl_80295D70 lbl_80295D54: /* 80295D54 002919B4 80 1F 00 7C */ lwz r0, 0x7c(r31) /* 80295D58 002919B8 7F 43 D3 78 */ mr r3, r26 /* 80295D5C 002919BC 60 00 00 02 */ ori r0, r0, 2 /* 80295D60 002919C0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 80295D64 002919C4 90 1F 00 7C */ stw r0, 0x7c(r31) /* 80295D68 002919C8 4B FD 8A 1D */ bl OSRestoreInterrupts /* 80295D6C 002919CC 7F 63 DB 78 */ mr r3, r27 lbl_80295D70: /* 80295D70 002919D0 39 61 00 20 */ addi r11, r1, 0x20 /* 80295D74 002919D4 4B F3 13 FD */ bl _restgpr_26 /* 80295D78 002919D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 80295D7C 002919DC 7C 08 03 A6 */ mtlr r0 /* 80295D80 002919E0 38 21 00 20 */ addi r1, r1, 0x20 /* 80295D84 002919E4 4E 80 00 20 */ blr .global AXFXChorusExpShutdown AXFXChorusExpShutdown: /* 80295D88 002919E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80295D8C 002919EC 7C 08 02 A6 */ mflr r0 /* 80295D90 002919F0 90 01 00 24 */ stw r0, 0x24(r1) /* 80295D94 002919F4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80295D98 002919F8 93 C1 00 18 */ stw r30, 0x18(r1) /* 80295D9C 002919FC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80295DA0 00291A00 93 81 00 10 */ stw r28, 0x10(r1) /* 80295DA4 00291A04 7C 7C 1B 78 */ mr r28, r3 /* 80295DA8 00291A08 4B FD 89 B5 */ bl OSDisableInterrupts /* 80295DAC 00291A0C 80 1C 00 7C */ lwz r0, 0x7c(r28) /* 80295DB0 00291A10 7C 7D 1B 78 */ mr r29, r3 /* 80295DB4 00291A14 3B C0 00 00 */ li r30, 0 /* 80295DB8 00291A18 3B E0 00 00 */ li r31, 0 /* 80295DBC 00291A1C 60 00 00 01 */ ori r0, r0, 1 /* 80295DC0 00291A20 90 1C 00 7C */ stw r0, 0x7c(r28) lbl_80295DC4: /* 80295DC4 00291A24 80 7C 00 00 */ lwz r3, 0(r28) /* 80295DC8 00291A28 2C 03 00 00 */ cmpwi r3, 0 /* 80295DCC 00291A2C 41 82 00 10 */ beq lbl_80295DDC /* 80295DD0 00291A30 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80295DD4 00291A34 7D 89 03 A6 */ mtctr r12 /* 80295DD8 00291A38 4E 80 04 21 */ bctrl lbl_80295DDC: /* 80295DDC 00291A3C 3B DE 00 01 */ addi r30, r30, 1 /* 80295DE0 00291A40 93 FC 00 00 */ stw r31, 0(r28) /* 80295DE4 00291A44 28 1E 00 03 */ cmplwi r30, 3 /* 80295DE8 00291A48 3B 9C 00 04 */ addi r28, r28, 4 /* 80295DEC 00291A4C 41 80 FF D8 */ blt lbl_80295DC4 /* 80295DF0 00291A50 7F A3 EB 78 */ mr r3, r29 /* 80295DF4 00291A54 4B FD 89 91 */ bl OSRestoreInterrupts /* 80295DF8 00291A58 80 01 00 24 */ lwz r0, 0x24(r1) /* 80295DFC 00291A5C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80295E00 00291A60 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80295E04 00291A64 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80295E08 00291A68 83 81 00 10 */ lwz r28, 0x10(r1) /* 80295E0C 00291A6C 7C 08 03 A6 */ mtlr r0 /* 80295E10 00291A70 38 21 00 20 */ addi r1, r1, 0x20 /* 80295E14 00291A74 4E 80 00 20 */ blr .global AXFXChorusExpCallback AXFXChorusExpCallback: /* 80295E18 00291A78 94 21 FE 00 */ stwu r1, -0x200(r1) /* 80295E1C 00291A7C 7C 08 02 A6 */ mflr r0 /* 80295E20 00291A80 90 01 02 04 */ stw r0, 0x204(r1) /* 80295E24 00291A84 DB E1 01 F0 */ stfd f31, 0x1f0(r1) /* 80295E28 00291A88 F3 E1 01 F8 */ psq_st f31, 504(r1), 0, qr0 /* 80295E2C 00291A8C 39 61 01 F0 */ addi r11, r1, 0x1f0 /* 80295E30 00291A90 4B F3 12 F1 */ bl _savegpr_25 /* 80295E34 00291A94 80 04 00 7C */ lwz r0, 0x7c(r4) /* 80295E38 00291A98 7C 9B 23 78 */ mr r27, r4 /* 80295E3C 00291A9C 2C 00 00 00 */ cmpwi r0, 0 /* 80295E40 00291AA0 41 82 00 10 */ beq lbl_80295E50 /* 80295E44 00291AA4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80295E48 00291AA8 90 04 00 7C */ stw r0, 0x7c(r4) /* 80295E4C 00291AAC 48 00 03 0C */ b lbl_80296158 lbl_80295E50: /* 80295E50 00291AB0 80 E4 00 90 */ lwz r7, 0x90(r4) /* 80295E54 00291AB4 80 C3 00 00 */ lwz r6, 0(r3) /* 80295E58 00291AB8 80 A3 00 04 */ lwz r5, 4(r3) /* 80295E5C 00291ABC 2C 07 00 00 */ cmpwi r7, 0 /* 80295E60 00291AC0 80 03 00 08 */ lwz r0, 8(r3) /* 80295E64 00291AC4 90 C1 00 20 */ stw r6, 0x20(r1) /* 80295E68 00291AC8 90 A1 00 24 */ stw r5, 0x24(r1) /* 80295E6C 00291ACC 90 01 00 28 */ stw r0, 0x28(r1) /* 80295E70 00291AD0 41 82 00 1C */ beq lbl_80295E8C /* 80295E74 00291AD4 80 A7 00 00 */ lwz r5, 0(r7) /* 80295E78 00291AD8 80 67 00 04 */ lwz r3, 4(r7) /* 80295E7C 00291ADC 80 07 00 08 */ lwz r0, 8(r7) /* 80295E80 00291AE0 90 A1 00 14 */ stw r5, 0x14(r1) /* 80295E84 00291AE4 90 61 00 18 */ stw r3, 0x18(r1) /* 80295E88 00291AE8 90 01 00 1C */ stw r0, 0x1c(r1) lbl_80295E8C: /* 80295E8C 00291AEC 80 C4 00 94 */ lwz r6, 0x94(r4) /* 80295E90 00291AF0 2C 06 00 00 */ cmpwi r6, 0 /* 80295E94 00291AF4 41 82 00 1C */ beq lbl_80295EB0 /* 80295E98 00291AF8 80 A6 00 00 */ lwz r5, 0(r6) /* 80295E9C 00291AFC 80 66 00 04 */ lwz r3, 4(r6) /* 80295EA0 00291B00 80 06 00 08 */ lwz r0, 8(r6) /* 80295EA4 00291B04 90 A1 00 08 */ stw r5, 8(r1) /* 80295EA8 00291B08 90 61 00 0C */ stw r3, 0xc(r1) /* 80295EAC 00291B0C 90 01 00 10 */ stw r0, 0x10(r1) lbl_80295EB0: /* 80295EB0 00291B10 38 61 00 30 */ addi r3, r1, 0x30 /* 80295EB4 00291B14 38 84 00 20 */ addi r4, r4, 0x20 /* 80295EB8 00291B18 48 00 04 B9 */ bl __CalcLFO /* 80295EBC 00291B1C CB E2 A3 40 */ lfd f31, lbl_80642940-_SDA2_BASE_(r2) /* 80295EC0 00291B20 3B C1 00 30 */ addi r30, r1, 0x30 /* 80295EC4 00291B24 3B A0 00 00 */ li r29, 0 /* 80295EC8 00291B28 3F E0 43 30 */ lis r31, 0x4330 /* 80295ECC 00291B2C 3B 20 00 00 */ li r25, 0 /* 80295ED0 00291B30 3B 40 00 03 */ li r26, 3 lbl_80295ED4: /* 80295ED4 00291B34 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80295ED8 00291B38 80 1E 00 00 */ lwz r0, 0(r30) /* 80295EDC 00291B3C 80 9B 00 18 */ lwz r4, 0x18(r27) /* 80295EE0 00291B40 7C C3 02 14 */ add r6, r3, r0 /* 80295EE4 00291B44 7C 06 20 00 */ cmpw r6, r4 /* 80295EE8 00291B48 41 80 00 0C */ blt lbl_80295EF4 /* 80295EEC 00291B4C 7C C4 30 50 */ subf r6, r4, r6 /* 80295EF0 00291B50 48 00 00 10 */ b lbl_80295F00 lbl_80295EF4: /* 80295EF4 00291B54 2C 06 00 00 */ cmpwi r6, 0 /* 80295EF8 00291B58 40 80 00 08 */ bge lbl_80295F00 /* 80295EFC 00291B5C 7C C6 22 14 */ add r6, r6, r4 lbl_80295F00: /* 80295F00 00291B60 80 1B 00 14 */ lwz r0, 0x14(r27) /* 80295F04 00291B64 7C 60 30 51 */ subf. r3, r0, r6 /* 80295F08 00291B68 40 80 00 08 */ bge lbl_80295F10 /* 80295F0C 00291B6C 7C 63 22 14 */ add r3, r3, r4 lbl_80295F10: /* 80295F10 00291B70 54 67 84 3F */ rlwinm. r7, r3, 0x10, 0x10, 0x1f /* 80295F14 00291B74 54 68 04 3E */ clrlwi r8, r3, 0x10 /* 80295F18 00291B78 54 09 84 3E */ srwi r9, r0, 0x10 /* 80295F1C 00291B7C 83 9B 00 78 */ lwz r28, 0x78(r27) /* 80295F20 00291B80 7C E9 03 A6 */ mtctr r7 /* 80295F24 00291B84 41 82 00 58 */ beq lbl_80295F7C lbl_80295F28: /* 80295F28 00291B88 80 7B 00 00 */ lwz r3, 0(r27) /* 80295F2C 00291B8C 55 24 10 3A */ slwi r4, r9, 2 /* 80295F30 00291B90 57 80 10 3A */ slwi r0, r28, 2 /* 80295F34 00291B94 3B 9C 00 01 */ addi r28, r28, 1 /* 80295F38 00291B98 7C 03 24 2E */ lfsx f0, r3, r4 /* 80295F3C 00291B9C 7C BB 02 14 */ add r5, r27, r0 /* 80295F40 00291BA0 39 29 00 01 */ addi r9, r9, 1 /* 80295F44 00291BA4 57 9C 07 BE */ clrlwi r28, r28, 0x1e /* 80295F48 00291BA8 D0 05 00 48 */ stfs f0, 0x48(r5) /* 80295F4C 00291BAC 38 E7 FF FF */ addi r7, r7, -1 /* 80295F50 00291BB0 80 7B 00 04 */ lwz r3, 4(r27) /* 80295F54 00291BB4 7C 03 24 2E */ lfsx f0, r3, r4 /* 80295F58 00291BB8 D0 05 00 58 */ stfs f0, 0x58(r5) /* 80295F5C 00291BBC 80 7B 00 08 */ lwz r3, 8(r27) /* 80295F60 00291BC0 7C 03 24 2E */ lfsx f0, r3, r4 /* 80295F64 00291BC4 D0 05 00 68 */ stfs f0, 0x68(r5) /* 80295F68 00291BC8 80 1B 00 1C */ lwz r0, 0x1c(r27) /* 80295F6C 00291BCC 7C 09 00 40 */ cmplw r9, r0 /* 80295F70 00291BD0 41 80 00 08 */ blt lbl_80295F78 /* 80295F74 00291BD4 39 20 00 00 */ li r9, 0 lbl_80295F78: /* 80295F78 00291BD8 42 00 FF B0 */ bdnz lbl_80295F28 lbl_80295F7C: /* 80295F7C 00291BDC 54 C0 00 1E */ rlwinm r0, r6, 0, 0, 0xf /* 80295F80 00291BE0 55 03 BE 7E */ rlwinm r3, r8, 0x17, 0x19, 0x1f /* 80295F84 00291BE4 90 1B 00 14 */ stw r0, 0x14(r27) /* 80295F88 00291BE8 48 00 04 F9 */ bl __AXFXGetSrcCoef /* 80295F8C 00291BEC 7F 64 DB 78 */ mr r4, r27 /* 80295F90 00291BF0 7F 67 DB 78 */ mr r7, r27 /* 80295F94 00291BF4 38 A1 00 14 */ addi r5, r1, 0x14 /* 80295F98 00291BF8 38 C1 00 20 */ addi r6, r1, 0x20 /* 80295F9C 00291BFC 39 01 00 08 */ addi r8, r1, 8 /* 80295FA0 00291C00 7F 49 03 A6 */ mtctr r26 lbl_80295FA4: /* 80295FA4 00291C04 57 80 10 3A */ slwi r0, r28, 2 /* 80295FA8 00291C08 3B 9C 00 01 */ addi r28, r28, 1 /* 80295FAC 00291C0C 7D 44 02 14 */ add r10, r4, r0 /* 80295FB0 00291C10 80 1B 00 90 */ lwz r0, 0x90(r27) /* 80295FB4 00291C14 57 9C 07 BE */ clrlwi r28, r28, 0x1e /* 80295FB8 00291C18 C0 23 00 00 */ lfs f1, 0(r3) /* 80295FBC 00291C1C 57 89 10 3A */ slwi r9, r28, 2 /* 80295FC0 00291C20 C0 0A 00 48 */ lfs f0, 0x48(r10) /* 80295FC4 00291C24 3B 9C 00 01 */ addi r28, r28, 1 /* 80295FC8 00291C28 C0 A2 A3 3C */ lfs f5, lbl_8064293C-_SDA2_BASE_(r2) /* 80295FCC 00291C2C EC 41 00 32 */ fmuls f2, f1, f0 /* 80295FD0 00291C30 7D 64 4A 14 */ add r11, r4, r9 /* 80295FD4 00291C34 57 9C 07 BE */ clrlwi r28, r28, 0x1e /* 80295FD8 00291C38 C0 23 00 04 */ lfs f1, 4(r3) /* 80295FDC 00291C3C 57 89 10 3A */ slwi r9, r28, 2 /* 80295FE0 00291C40 C0 0B 00 48 */ lfs f0, 0x48(r11) /* 80295FE4 00291C44 3B 9C 00 01 */ addi r28, r28, 1 /* 80295FE8 00291C48 EC 81 00 32 */ fmuls f4, f1, f0 /* 80295FEC 00291C4C EC A5 10 2A */ fadds f5, f5, f2 /* 80295FF0 00291C50 7D 44 4A 14 */ add r10, r4, r9 /* 80295FF4 00291C54 57 9C 07 BE */ clrlwi r28, r28, 0x1e /* 80295FF8 00291C58 C0 63 00 08 */ lfs f3, 8(r3) /* 80295FFC 00291C5C 57 89 10 3A */ slwi r9, r28, 2 /* 80296000 00291C60 C0 4A 00 48 */ lfs f2, 0x48(r10) /* 80296004 00291C64 7D 24 4A 14 */ add r9, r4, r9 /* 80296008 00291C68 EC A5 20 2A */ fadds f5, f5, f4 /* 8029600C 00291C6C EC 43 00 B2 */ fmuls f2, f3, f2 /* 80296010 00291C70 C0 23 00 0C */ lfs f1, 0xc(r3) /* 80296014 00291C74 C0 09 00 48 */ lfs f0, 0x48(r9) /* 80296018 00291C78 2C 00 00 00 */ cmpwi r0, 0 /* 8029601C 00291C7C 3B 9C 00 01 */ addi r28, r28, 1 /* 80296020 00291C80 EC 01 00 32 */ fmuls f0, f1, f0 /* 80296024 00291C84 EC A5 10 2A */ fadds f5, f5, f2 /* 80296028 00291C88 57 9C 07 BE */ clrlwi r28, r28, 0x1e /* 8029602C 00291C8C EC A5 00 2A */ fadds f5, f5, f0 /* 80296030 00291C90 41 82 00 38 */ beq lbl_80296068 /* 80296034 00291C94 81 25 00 00 */ lwz r9, 0(r5) /* 80296038 00291C98 81 46 00 00 */ lwz r10, 0(r6) /* 8029603C 00291C9C 80 09 00 00 */ lwz r0, 0(r9) /* 80296040 00291CA0 39 29 00 04 */ addi r9, r9, 4 /* 80296044 00291CA4 81 4A 00 00 */ lwz r10, 0(r10) /* 80296048 00291CA8 93 E1 01 B0 */ stw r31, 0x1b0(r1) /* 8029604C 00291CAC 7C 0A 02 14 */ add r0, r10, r0 /* 80296050 00291CB0 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80296054 00291CB4 91 25 00 00 */ stw r9, 0(r5) /* 80296058 00291CB8 90 01 01 B4 */ stw r0, 0x1b4(r1) /* 8029605C 00291CBC C8 01 01 B0 */ lfd f0, 0x1b0(r1) /* 80296060 00291CC0 EC 20 F8 28 */ fsubs f1, f0, f31 /* 80296064 00291CC4 48 00 00 20 */ b lbl_80296084 lbl_80296068: /* 80296068 00291CC8 81 26 00 00 */ lwz r9, 0(r6) /* 8029606C 00291CCC 93 E1 01 B8 */ stw r31, 0x1b8(r1) /* 80296070 00291CD0 80 09 00 00 */ lwz r0, 0(r9) /* 80296074 00291CD4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80296078 00291CD8 90 01 01 BC */ stw r0, 0x1bc(r1) /* 8029607C 00291CDC C8 01 01 B8 */ lfd f0, 0x1b8(r1) /* 80296080 00291CE0 EC 20 F8 28 */ fsubs f1, f0, f31 lbl_80296084: /* 80296084 00291CE4 C0 1B 00 8C */ lfs f0, 0x8c(r27) /* 80296088 00291CE8 80 1B 00 0C */ lwz r0, 0xc(r27) /* 8029608C 00291CEC EC 05 00 32 */ fmuls f0, f5, f0 /* 80296090 00291CF0 81 67 00 00 */ lwz r11, 0(r7) /* 80296094 00291CF4 54 0A 10 3A */ slwi r10, r0, 2 /* 80296098 00291CF8 81 26 00 00 */ lwz r9, 0(r6) /* 8029609C 00291CFC EC 01 00 2A */ fadds f0, f1, f0 /* 802960A0 00291D00 38 09 00 04 */ addi r0, r9, 4 /* 802960A4 00291D04 90 06 00 00 */ stw r0, 0(r6) /* 802960A8 00291D08 7C 0B 55 2E */ stfsx f0, r11, r10 /* 802960AC 00291D0C C0 1B 00 98 */ lfs f0, 0x98(r27) /* 802960B0 00291D10 EC 05 00 32 */ fmuls f0, f5, f0 /* 802960B4 00291D14 FC 00 00 1E */ fctiwz f0, f0 /* 802960B8 00291D18 D8 01 01 C0 */ stfd f0, 0x1c0(r1) /* 802960BC 00291D1C 80 01 01 C4 */ lwz r0, 0x1c4(r1) /* 802960C0 00291D20 90 09 00 00 */ stw r0, 0(r9) /* 802960C4 00291D24 80 1B 00 94 */ lwz r0, 0x94(r27) /* 802960C8 00291D28 2C 00 00 00 */ cmpwi r0, 0 /* 802960CC 00291D2C 41 82 00 28 */ beq lbl_802960F4 /* 802960D0 00291D30 C0 1B 00 9C */ lfs f0, 0x9c(r27) /* 802960D4 00291D34 81 28 00 00 */ lwz r9, 0(r8) /* 802960D8 00291D38 EC 05 00 32 */ fmuls f0, f5, f0 /* 802960DC 00291D3C 38 09 00 04 */ addi r0, r9, 4 /* 802960E0 00291D40 90 08 00 00 */ stw r0, 0(r8) /* 802960E4 00291D44 FC 00 00 1E */ fctiwz f0, f0 /* 802960E8 00291D48 D8 01 01 C0 */ stfd f0, 0x1c0(r1) /* 802960EC 00291D4C 80 01 01 C4 */ lwz r0, 0x1c4(r1) /* 802960F0 00291D50 90 09 00 00 */ stw r0, 0(r9) lbl_802960F4: /* 802960F4 00291D54 38 84 00 10 */ addi r4, r4, 0x10 /* 802960F8 00291D58 38 A5 00 04 */ addi r5, r5, 4 /* 802960FC 00291D5C 38 C6 00 04 */ addi r6, r6, 4 /* 80296100 00291D60 38 E7 00 04 */ addi r7, r7, 4 /* 80296104 00291D64 39 08 00 04 */ addi r8, r8, 4 /* 80296108 00291D68 42 00 FE 9C */ bdnz lbl_80295FA4 /* 8029610C 00291D6C 80 7B 00 0C */ lwz r3, 0xc(r27) /* 80296110 00291D70 80 1B 00 1C */ lwz r0, 0x1c(r27) /* 80296114 00291D74 38 63 00 01 */ addi r3, r3, 1 /* 80296118 00291D78 93 9B 00 78 */ stw r28, 0x78(r27) /* 8029611C 00291D7C 7C 03 00 40 */ cmplw r3, r0 /* 80296120 00291D80 90 7B 00 0C */ stw r3, 0xc(r27) /* 80296124 00291D84 41 80 00 08 */ blt lbl_8029612C /* 80296128 00291D88 93 3B 00 0C */ stw r25, 0xc(r27) lbl_8029612C: /* 8029612C 00291D8C 80 7B 00 10 */ lwz r3, 0x10(r27) /* 80296130 00291D90 80 1B 00 18 */ lwz r0, 0x18(r27) /* 80296134 00291D94 3C 63 00 01 */ addis r3, r3, 1 /* 80296138 00291D98 7C 03 00 40 */ cmplw r3, r0 /* 8029613C 00291D9C 90 7B 00 10 */ stw r3, 0x10(r27) /* 80296140 00291DA0 41 80 00 08 */ blt lbl_80296148 /* 80296144 00291DA4 93 3B 00 10 */ stw r25, 0x10(r27) lbl_80296148: /* 80296148 00291DA8 3B BD 00 01 */ addi r29, r29, 1 /* 8029614C 00291DAC 3B DE 00 04 */ addi r30, r30, 4 /* 80296150 00291DB0 28 1D 00 60 */ cmplwi r29, 0x60 /* 80296154 00291DB4 41 80 FD 80 */ blt lbl_80295ED4 lbl_80296158: /* 80296158 00291DB8 E3 E1 01 F8 */ psq_l f31, 504(r1), 0, qr0 /* 8029615C 00291DBC 39 61 01 F0 */ addi r11, r1, 0x1f0 /* 80296160 00291DC0 CB E1 01 F0 */ lfd f31, 0x1f0(r1) /* 80296164 00291DC4 4B F3 10 09 */ bl _restgpr_25 /* 80296168 00291DC8 80 01 02 04 */ lwz r0, 0x204(r1) /* 8029616C 00291DCC 7C 08 03 A6 */ mtlr r0 /* 80296170 00291DD0 38 21 02 00 */ addi r1, r1, 0x200 /* 80296174 00291DD4 4E 80 00 20 */ blr __InitParams: /* 80296178 00291DD8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8029617C 00291DDC 7C 08 02 A6 */ mflr r0 /* 80296180 00291DE0 C0 82 A3 48 */ lfs f4, lbl_80642948-_SDA2_BASE_(r2) /* 80296184 00291DE4 90 01 00 34 */ stw r0, 0x34(r1) /* 80296188 00291DE8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8029618C 00291DEC 7C 7F 1B 78 */ mr r31, r3 /* 80296190 00291DF0 C0 23 00 80 */ lfs f1, 0x80(r3) /* 80296194 00291DF4 FC 01 20 40 */ fcmpo cr0, f1, f4 /* 80296198 00291DF8 41 80 00 10 */ blt lbl_802961A8 /* 8029619C 00291DFC C0 02 A3 4C */ lfs f0, lbl_8064294C-_SDA2_BASE_(r2) /* 802961A0 00291E00 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802961A4 00291E04 40 81 00 0C */ ble lbl_802961B0 lbl_802961A8: /* 802961A8 00291E08 38 60 00 00 */ li r3, 0 /* 802961AC 00291E0C 48 00 01 B0 */ b lbl_8029635C lbl_802961B0: /* 802961B0 00291E10 C0 03 00 84 */ lfs f0, 0x84(r3) /* 802961B4 00291E14 C0 62 A3 3C */ lfs f3, lbl_8064293C-_SDA2_BASE_(r2) /* 802961B8 00291E18 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 802961BC 00291E1C 41 80 00 10 */ blt lbl_802961CC /* 802961C0 00291E20 C0 42 A3 50 */ lfs f2, lbl_80642950-_SDA2_BASE_(r2) /* 802961C4 00291E24 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 802961C8 00291E28 40 81 00 0C */ ble lbl_802961D4 lbl_802961CC: /* 802961CC 00291E2C 38 60 00 00 */ li r3, 0 /* 802961D0 00291E30 48 00 01 8C */ b lbl_8029635C lbl_802961D4: /* 802961D4 00291E34 C0 23 00 88 */ lfs f1, 0x88(r3) /* 802961D8 00291E38 FC 01 20 40 */ fcmpo cr0, f1, f4 /* 802961DC 00291E3C 41 80 00 10 */ blt lbl_802961EC /* 802961E0 00291E40 C0 02 A3 54 */ lfs f0, lbl_80642954-_SDA2_BASE_(r2) /* 802961E4 00291E44 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802961E8 00291E48 40 81 00 0C */ ble lbl_802961F4 lbl_802961EC: /* 802961EC 00291E4C 38 60 00 00 */ li r3, 0 /* 802961F0 00291E50 48 00 01 6C */ b lbl_8029635C lbl_802961F4: /* 802961F4 00291E54 C0 03 00 8C */ lfs f0, 0x8c(r3) /* 802961F8 00291E58 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 802961FC 00291E5C 41 80 00 10 */ blt lbl_8029620C /* 80296200 00291E60 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80296204 00291E64 4C 41 13 82 */ cror 2, 1, 2 /* 80296208 00291E68 40 82 00 0C */ bne lbl_80296214 lbl_8029620C: /* 8029620C 00291E6C 38 60 00 00 */ li r3, 0 /* 80296210 00291E70 48 00 01 4C */ b lbl_8029635C lbl_80296214: /* 80296214 00291E74 C0 03 00 98 */ lfs f0, 0x98(r3) /* 80296218 00291E78 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 8029621C 00291E7C 41 80 00 0C */ blt lbl_80296228 /* 80296220 00291E80 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80296224 00291E84 40 81 00 0C */ ble lbl_80296230 lbl_80296228: /* 80296228 00291E88 38 60 00 00 */ li r3, 0 /* 8029622C 00291E8C 48 00 01 30 */ b lbl_8029635C lbl_80296230: /* 80296230 00291E90 C0 03 00 9C */ lfs f0, 0x9c(r3) /* 80296234 00291E94 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 80296238 00291E98 41 80 00 0C */ blt lbl_80296244 /* 8029623C 00291E9C FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80296240 00291EA0 40 81 00 0C */ ble lbl_8029624C lbl_80296244: /* 80296244 00291EA4 38 60 00 00 */ li r3, 0 /* 80296248 00291EA8 48 00 01 14 */ b lbl_8029635C lbl_8029624C: /* 8029624C 00291EAC 48 00 02 29 */ bl __AXFXGetLfoSinTable /* 80296250 00291EB0 C0 42 A3 38 */ lfs f2, lbl_80642938-_SDA2_BASE_(r2) /* 80296254 00291EB4 C0 3F 00 80 */ lfs f1, 0x80(r31) /* 80296258 00291EB8 C0 1F 00 84 */ lfs f0, 0x84(r31) /* 8029625C 00291EBC EC 22 00 72 */ fmuls f1, f2, f1 /* 80296260 00291EC0 90 7F 00 20 */ stw r3, 0x20(r31) /* 80296264 00291EC4 EC C1 00 32 */ fmuls f6, f1, f0 /* 80296268 00291EC8 FC 06 08 40 */ fcmpo cr0, f6, f1 /* 8029626C 00291ECC 4C 41 13 82 */ cror 2, 1, 2 /* 80296270 00291ED0 40 82 00 1C */ bne lbl_8029628C /* 80296274 00291ED4 C0 22 A3 50 */ lfs f1, lbl_80642950-_SDA2_BASE_(r2) /* 80296278 00291ED8 C0 02 A3 3C */ lfs f0, lbl_8064293C-_SDA2_BASE_(r2) /* 8029627C 00291EDC EC C6 08 28 */ fsubs f6, f6, f1 /* 80296280 00291EE0 FC 06 00 40 */ fcmpo cr0, f6, f0 /* 80296284 00291EE4 40 80 00 08 */ bge lbl_8029628C /* 80296288 00291EE8 FC C0 00 90 */ fmr f6, f0 lbl_8029628C: /* 8029628C 00291EEC C0 7F 00 88 */ lfs f3, 0x88(r31) /* 80296290 00291EF0 38 80 00 00 */ li r4, 0 /* 80296294 00291EF4 C0 42 A3 60 */ lfs f2, lbl_80642960-_SDA2_BASE_(r2) /* 80296298 00291EF8 38 00 FF FF */ li r0, -1 /* 8029629C 00291EFC C0 82 A3 5C */ lfs f4, lbl_8064295C-_SDA2_BASE_(r2) /* 802962A0 00291F00 38 60 00 01 */ li r3, 1 /* 802962A4 00291F04 EC 22 18 24 */ fdivs f1, f2, f3 /* 802962A8 00291F08 C0 02 A3 64 */ lfs f0, lbl_80642964-_SDA2_BASE_(r2) /* 802962AC 00291F0C C0 A2 A3 58 */ lfs f5, lbl_80642958-_SDA2_BASE_(r2) /* 802962B0 00291F10 90 1F 00 38 */ stw r0, 0x38(r31) /* 802962B4 00291F14 90 9F 00 30 */ stw r4, 0x30(r31) /* 802962B8 00291F18 90 9F 00 34 */ stw r4, 0x34(r31) /* 802962BC 00291F1C EC E1 00 32 */ fmuls f7, f1, f0 /* 802962C0 00291F20 C0 02 A3 3C */ lfs f0, lbl_8064293C-_SDA2_BASE_(r2) /* 802962C4 00291F24 EC 24 00 F2 */ fmuls f1, f4, f3 /* 802962C8 00291F28 90 9F 00 3C */ stw r4, 0x3c(r31) /* 802962CC 00291F2C EC 85 01 B2 */ fmuls f4, f5, f6 /* 802962D0 00291F30 EC C6 38 24 */ fdivs f6, f6, f7 /* 802962D4 00291F34 90 9F 00 40 */ stw r4, 0x40(r31) /* 802962D8 00291F38 EC 21 10 24 */ fdivs f1, f1, f2 /* 802962DC 00291F3C EC 65 00 72 */ fmuls f3, f5, f1 /* 802962E0 00291F40 EC 45 01 F2 */ fmuls f2, f5, f7 /* 802962E4 00291F44 EC 25 01 B2 */ fmuls f1, f5, f6 /* 802962E8 00291F48 FC 80 20 1E */ fctiwz f4, f4 /* 802962EC 00291F4C FC 60 18 1E */ fctiwz f3, f3 /* 802962F0 00291F50 FC 40 10 1E */ fctiwz f2, f2 /* 802962F4 00291F54 FC 20 08 1E */ fctiwz f1, f1 /* 802962F8 00291F58 D8 81 00 08 */ stfd f4, 8(r1) /* 802962FC 00291F5C D8 61 00 10 */ stfd f3, 0x10(r1) /* 80296300 00291F60 80 E1 00 0C */ lwz r7, 0xc(r1) /* 80296304 00291F64 D8 41 00 18 */ stfd f2, 0x18(r1) /* 80296308 00291F68 80 C1 00 14 */ lwz r6, 0x14(r1) /* 8029630C 00291F6C D8 21 00 20 */ stfd f1, 0x20(r1) /* 80296310 00291F70 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 80296314 00291F74 80 01 00 24 */ lwz r0, 0x24(r1) /* 80296318 00291F78 90 FF 00 2C */ stw r7, 0x2c(r31) /* 8029631C 00291F7C 90 DF 00 24 */ stw r6, 0x24(r31) /* 80296320 00291F80 90 BF 00 28 */ stw r5, 0x28(r31) /* 80296324 00291F84 90 1F 00 44 */ stw r0, 0x44(r31) /* 80296328 00291F88 D0 1F 00 48 */ stfs f0, 0x48(r31) /* 8029632C 00291F8C D0 1F 00 4C */ stfs f0, 0x4c(r31) /* 80296330 00291F90 D0 1F 00 50 */ stfs f0, 0x50(r31) /* 80296334 00291F94 D0 1F 00 54 */ stfs f0, 0x54(r31) /* 80296338 00291F98 D0 1F 00 58 */ stfs f0, 0x58(r31) /* 8029633C 00291F9C D0 1F 00 5C */ stfs f0, 0x5c(r31) /* 80296340 00291FA0 D0 1F 00 60 */ stfs f0, 0x60(r31) /* 80296344 00291FA4 D0 1F 00 64 */ stfs f0, 0x64(r31) /* 80296348 00291FA8 D0 1F 00 68 */ stfs f0, 0x68(r31) /* 8029634C 00291FAC D0 1F 00 6C */ stfs f0, 0x6c(r31) /* 80296350 00291FB0 D0 1F 00 70 */ stfs f0, 0x70(r31) /* 80296354 00291FB4 D0 1F 00 74 */ stfs f0, 0x74(r31) /* 80296358 00291FB8 90 9F 00 78 */ stw r4, 0x78(r31) lbl_8029635C: /* 8029635C 00291FBC 80 01 00 34 */ lwz r0, 0x34(r1) /* 80296360 00291FC0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80296364 00291FC4 7C 08 03 A6 */ mtlr r0 /* 80296368 00291FC8 38 21 00 30 */ addi r1, r1, 0x30 /* 8029636C 00291FCC 4E 80 00 20 */ blr __CalcLFO: /* 80296370 00291FD0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80296374 00291FD4 38 00 00 60 */ li r0, 0x60 /* 80296378 00291FD8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8029637C 00291FDC 7C 09 03 A6 */ mtctr r0 lbl_80296380: /* 80296380 00291FE0 80 A4 00 10 */ lwz r5, 0x10(r4) /* 80296384 00291FE4 80 04 00 18 */ lwz r0, 0x18(r4) /* 80296388 00291FE8 54 A5 00 1E */ rlwinm r5, r5, 0, 0, 0xf /* 8029638C 00291FEC 7C 05 00 40 */ cmplw r5, r0 /* 80296390 00291FF0 41 82 00 78 */ beq lbl_80296408 /* 80296394 00291FF4 90 A4 00 18 */ stw r5, 0x18(r4) /* 80296398 00291FF8 54 A5 84 3E */ srwi r5, r5, 0x10 /* 8029639C 00291FFC 38 05 00 01 */ addi r0, r5, 1 /* 802963A0 00292000 80 C4 00 00 */ lwz r6, 0(r4) /* 802963A4 00292004 54 A5 10 3A */ slwi r5, r5, 2 /* 802963A8 00292008 81 24 00 24 */ lwz r9, 0x24(r4) /* 802963AC 0029200C 54 00 15 FA */ rlwinm r0, r0, 2, 0x17, 0x1d /* 802963B0 00292010 7D 66 28 2E */ lwzx r11, r6, r5 /* 802963B4 00292014 7C 06 00 2E */ lwzx r0, r6, r0 /* 802963B8 00292018 80 A4 00 0C */ lwz r5, 0xc(r4) /* 802963BC 0029201C 7D 4B 00 50 */ subf r10, r11, r0 /* 802963C0 00292020 7C 0B 29 D6 */ mullw r0, r11, r5 /* 802963C4 00292024 7D 5F FE 70 */ srawi r31, r10, 0x1f /* 802963C8 00292028 7D 27 FE 70 */ srawi r7, r9, 0x1f /* 802963CC 0029202C 7C CA 49 D6 */ mullw r6, r10, r9 /* 802963D0 00292030 54 0C 40 3E */ rotlwi r12, r0, 8 /* 802963D4 00292034 7C 0B 28 96 */ mulhw r0, r11, r5 /* 802963D8 00292038 54 C6 40 3E */ rotlwi r6, r6, 8 /* 802963DC 0029203C 7D 0A 48 16 */ mulhwu r8, r10, r9 /* 802963E0 00292040 50 0C 40 2E */ rlwimi r12, r0, 8, 0, 0x17 /* 802963E4 00292044 7D 3F 49 D6 */ mullw r9, r31, r9 /* 802963E8 00292048 7C AA 39 D6 */ mullw r5, r10, r7 /* 802963EC 0029204C 7D 08 4A 14 */ add r8, r8, r9 /* 802963F0 00292050 7D 08 2A 14 */ add r8, r8, r5 /* 802963F4 00292054 51 06 40 2E */ rlwimi r6, r8, 8, 0, 0x17 /* 802963F8 00292058 7D 05 C6 70 */ srawi r5, r8, 0x18 /* 802963FC 0029205C 90 C4 00 20 */ stw r6, 0x20(r4) /* 80296400 00292060 7C 05 C6 70 */ srawi r5, r0, 0x18 /* 80296404 00292064 48 00 00 14 */ b lbl_80296418 lbl_80296408: /* 80296408 00292068 80 A4 00 1C */ lwz r5, 0x1c(r4) /* 8029640C 0029206C 80 04 00 20 */ lwz r0, 0x20(r4) /* 80296410 00292070 7D 85 02 14 */ add r12, r5, r0 /* 80296414 00292074 7D 85 FE 70 */ srawi r5, r12, 0x1f lbl_80296418: /* 80296418 00292078 80 04 00 14 */ lwz r0, 0x14(r4) /* 8029641C 0029207C 91 84 00 1C */ stw r12, 0x1c(r4) /* 80296420 00292080 28 00 00 01 */ cmplwi r0, 1 /* 80296424 00292084 41 80 00 0C */ blt lbl_80296430 /* 80296428 00292088 21 8C 00 00 */ subfic r12, r12, 0 /* 8029642C 0029208C 7C A5 01 90 */ subfze r5, r5 lbl_80296430: /* 80296430 00292090 80 A4 00 10 */ lwz r5, 0x10(r4) /* 80296434 00292094 80 04 00 04 */ lwz r0, 4(r4) /* 80296438 00292098 7C A5 02 14 */ add r5, r5, r0 /* 8029643C 0029209C 54 A0 00 11 */ rlwinm. r0, r5, 0, 0, 8 /* 80296440 002920A0 90 A4 00 10 */ stw r5, 0x10(r4) /* 80296444 002920A4 41 82 00 18 */ beq lbl_8029645C /* 80296448 002920A8 80 04 00 14 */ lwz r0, 0x14(r4) /* 8029644C 002920AC 54 A5 02 7E */ clrlwi r5, r5, 9 /* 80296450 002920B0 90 A4 00 10 */ stw r5, 0x10(r4) /* 80296454 002920B4 68 00 00 01 */ xori r0, r0, 1 /* 80296458 002920B8 90 04 00 14 */ stw r0, 0x14(r4) lbl_8029645C: /* 8029645C 002920BC 91 83 00 00 */ stw r12, 0(r3) /* 80296460 002920C0 38 63 00 04 */ addi r3, r3, 4 /* 80296464 002920C4 42 00 FF 1C */ bdnz lbl_80296380 /* 80296468 002920C8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8029646C 002920CC 38 21 00 10 */ addi r1, r1, 0x10 /* 80296470 002920D0 4E 80 00 20 */ blr