.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global AXFXDelayGetMemSize AXFXDelayGetMemSize: /* 802944C8 00290128 80 A3 00 40 */ lwz r5, 0x40(r3) /* 802944CC 0029012C 80 83 00 44 */ lwz r4, 0x44(r3) /* 802944D0 00290130 80 03 00 48 */ lwz r0, 0x48(r3) /* 802944D4 00290134 7C 65 22 14 */ add r3, r5, r4 /* 802944D8 00290138 7C 63 02 14 */ add r3, r3, r0 /* 802944DC 0029013C 54 63 38 30 */ slwi r3, r3, 7 /* 802944E0 00290140 4E 80 00 20 */ blr .global AXFXDelayInit AXFXDelayInit: /* 802944E4 00290144 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802944E8 00290148 7C 08 02 A6 */ mflr r0 /* 802944EC 0029014C 90 01 00 24 */ stw r0, 0x24(r1) /* 802944F0 00290150 39 61 00 20 */ addi r11, r1, 0x20 /* 802944F4 00290154 4B F3 2C 35 */ bl _savegpr_27 /* 802944F8 00290158 7C 7E 1B 78 */ mr r30, r3 /* 802944FC 0029015C 4B FD A2 61 */ bl OSDisableInterrupts /* 80294500 00290160 38 80 00 01 */ li r4, 1 /* 80294504 00290164 38 00 00 03 */ li r0, 3 /* 80294508 00290168 7C 7F 1B 78 */ mr r31, r3 /* 8029450C 0029016C 7F C3 F3 78 */ mr r3, r30 /* 80294510 00290170 90 9E 00 3C */ stw r4, 0x3c(r30) /* 80294514 00290174 7C 09 03 A6 */ mtctr r0 lbl_80294518: /* 80294518 00290178 80 03 00 40 */ lwz r0, 0x40(r3) /* 8029451C 0029017C 2C 00 00 00 */ cmpwi r0, 0 /* 80294520 00290180 40 82 00 64 */ bne lbl_80294584 /* 80294524 00290184 4B FD A2 39 */ bl OSDisableInterrupts /* 80294528 00290188 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 8029452C 0029018C 7C 7B 1B 78 */ mr r27, r3 /* 80294530 00290190 3B 80 00 00 */ li r28, 0 /* 80294534 00290194 3B A0 00 00 */ li r29, 0 /* 80294538 00290198 60 00 00 01 */ ori r0, r0, 1 /* 8029453C 0029019C 90 1E 00 3C */ stw r0, 0x3c(r30) lbl_80294540: /* 80294540 002901A0 80 7E 00 00 */ lwz r3, 0(r30) /* 80294544 002901A4 2C 03 00 00 */ cmpwi r3, 0 /* 80294548 002901A8 41 82 00 14 */ beq lbl_8029455C /* 8029454C 002901AC 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80294550 002901B0 7D 89 03 A6 */ mtctr r12 /* 80294554 002901B4 4E 80 04 21 */ bctrl /* 80294558 002901B8 93 BE 00 00 */ stw r29, 0(r30) lbl_8029455C: /* 8029455C 002901BC 3B 9C 00 01 */ addi r28, r28, 1 /* 80294560 002901C0 3B DE 00 04 */ addi r30, r30, 4 /* 80294564 002901C4 28 1C 00 03 */ cmplwi r28, 3 /* 80294568 002901C8 41 80 FF D8 */ blt lbl_80294540 /* 8029456C 002901CC 7F 63 DB 78 */ mr r3, r27 /* 80294570 002901D0 4B FD A2 15 */ bl OSRestoreInterrupts /* 80294574 002901D4 7F E3 FB 78 */ mr r3, r31 /* 80294578 002901D8 4B FD A2 0D */ bl OSRestoreInterrupts /* 8029457C 002901DC 38 60 00 00 */ li r3, 0 /* 80294580 002901E0 48 00 01 4C */ b lbl_802946CC lbl_80294584: /* 80294584 002901E4 54 00 28 34 */ slwi r0, r0, 5 /* 80294588 002901E8 90 03 00 18 */ stw r0, 0x18(r3) /* 8029458C 002901EC 38 63 00 04 */ addi r3, r3, 4 /* 80294590 002901F0 42 00 FF 88 */ bdnz lbl_80294518 /* 80294594 002901F4 7F DC F3 78 */ mr r28, r30 /* 80294598 002901F8 3B 60 00 00 */ li r27, 0 lbl_8029459C: /* 8029459C 002901FC 80 1C 00 18 */ lwz r0, 0x18(r28) /* 802945A0 00290200 81 8D 88 F8 */ lwz r12, lbl_8063DBB8-_SDA_BASE_(r13) /* 802945A4 00290204 54 03 10 3A */ slwi r3, r0, 2 /* 802945A8 00290208 7D 89 03 A6 */ mtctr r12 /* 802945AC 0029020C 4E 80 04 21 */ bctrl /* 802945B0 00290210 2C 03 00 00 */ cmpwi r3, 0 /* 802945B4 00290214 90 7C 00 00 */ stw r3, 0(r28) /* 802945B8 00290218 40 82 00 0C */ bne lbl_802945C4 /* 802945BC 0029021C 38 00 00 00 */ li r0, 0 /* 802945C0 00290220 48 00 00 18 */ b lbl_802945D8 lbl_802945C4: /* 802945C4 00290224 3B 7B 00 01 */ addi r27, r27, 1 /* 802945C8 00290228 3B 9C 00 04 */ addi r28, r28, 4 /* 802945CC 0029022C 28 1B 00 03 */ cmplwi r27, 3 /* 802945D0 00290230 41 80 FF CC */ blt lbl_8029459C /* 802945D4 00290234 38 00 00 01 */ li r0, 1 lbl_802945D8: /* 802945D8 00290238 2C 00 00 00 */ cmpwi r0, 0 /* 802945DC 0029023C 40 82 00 64 */ bne lbl_80294640 /* 802945E0 00290240 4B FD A1 7D */ bl OSDisableInterrupts /* 802945E4 00290244 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 802945E8 00290248 7C 7C 1B 78 */ mr r28, r3 /* 802945EC 0029024C 3B 60 00 00 */ li r27, 0 /* 802945F0 00290250 3B A0 00 00 */ li r29, 0 /* 802945F4 00290254 60 00 00 01 */ ori r0, r0, 1 /* 802945F8 00290258 90 1E 00 3C */ stw r0, 0x3c(r30) lbl_802945FC: /* 802945FC 0029025C 80 7E 00 00 */ lwz r3, 0(r30) /* 80294600 00290260 2C 03 00 00 */ cmpwi r3, 0 /* 80294604 00290264 41 82 00 14 */ beq lbl_80294618 /* 80294608 00290268 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 8029460C 0029026C 7D 89 03 A6 */ mtctr r12 /* 80294610 00290270 4E 80 04 21 */ bctrl /* 80294614 00290274 93 BE 00 00 */ stw r29, 0(r30) lbl_80294618: /* 80294618 00290278 3B 7B 00 01 */ addi r27, r27, 1 /* 8029461C 0029027C 3B DE 00 04 */ addi r30, r30, 4 /* 80294620 00290280 28 1B 00 03 */ cmplwi r27, 3 /* 80294624 00290284 41 80 FF D8 */ blt lbl_802945FC /* 80294628 00290288 7F 83 E3 78 */ mr r3, r28 /* 8029462C 0029028C 4B FD A1 59 */ bl OSRestoreInterrupts /* 80294630 00290290 7F E3 FB 78 */ mr r3, r31 /* 80294634 00290294 4B FD A1 51 */ bl OSRestoreInterrupts /* 80294638 00290298 38 60 00 00 */ li r3, 0 /* 8029463C 0029029C 48 00 00 90 */ b lbl_802946CC lbl_80294640: /* 80294640 002902A0 7F C3 F3 78 */ mr r3, r30 /* 80294644 002902A4 48 00 03 D5 */ bl __InitParams /* 80294648 002902A8 2C 03 00 00 */ cmpwi r3, 0 /* 8029464C 002902AC 40 82 00 64 */ bne lbl_802946B0 /* 80294650 002902B0 4B FD A1 0D */ bl OSDisableInterrupts /* 80294654 002902B4 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 80294658 002902B8 7C 7C 1B 78 */ mr r28, r3 /* 8029465C 002902BC 3B 60 00 00 */ li r27, 0 /* 80294660 002902C0 3B A0 00 00 */ li r29, 0 /* 80294664 002902C4 60 00 00 01 */ ori r0, r0, 1 /* 80294668 002902C8 90 1E 00 3C */ stw r0, 0x3c(r30) lbl_8029466C: /* 8029466C 002902CC 80 7E 00 00 */ lwz r3, 0(r30) /* 80294670 002902D0 2C 03 00 00 */ cmpwi r3, 0 /* 80294674 002902D4 41 82 00 14 */ beq lbl_80294688 /* 80294678 002902D8 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 8029467C 002902DC 7D 89 03 A6 */ mtctr r12 /* 80294680 002902E0 4E 80 04 21 */ bctrl /* 80294684 002902E4 93 BE 00 00 */ stw r29, 0(r30) lbl_80294688: /* 80294688 002902E8 3B 7B 00 01 */ addi r27, r27, 1 /* 8029468C 002902EC 3B DE 00 04 */ addi r30, r30, 4 /* 80294690 002902F0 28 1B 00 03 */ cmplwi r27, 3 /* 80294694 002902F4 41 80 FF D8 */ blt lbl_8029466C /* 80294698 002902F8 7F 83 E3 78 */ mr r3, r28 /* 8029469C 002902FC 4B FD A0 E9 */ bl OSRestoreInterrupts /* 802946A0 00290300 7F E3 FB 78 */ mr r3, r31 /* 802946A4 00290304 4B FD A0 E1 */ bl OSRestoreInterrupts /* 802946A8 00290308 38 60 00 00 */ li r3, 0 /* 802946AC 0029030C 48 00 00 20 */ b lbl_802946CC lbl_802946B0: /* 802946B0 00290310 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 802946B4 00290314 7F E3 FB 78 */ mr r3, r31 /* 802946B8 00290318 60 00 00 02 */ ori r0, r0, 2 /* 802946BC 0029031C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 802946C0 00290320 90 1E 00 3C */ stw r0, 0x3c(r30) /* 802946C4 00290324 4B FD A0 C1 */ bl OSRestoreInterrupts /* 802946C8 00290328 38 60 00 01 */ li r3, 1 lbl_802946CC: /* 802946CC 0029032C 39 61 00 20 */ addi r11, r1, 0x20 /* 802946D0 00290330 4B F3 2A A5 */ bl _restgpr_27 /* 802946D4 00290334 80 01 00 24 */ lwz r0, 0x24(r1) /* 802946D8 00290338 7C 08 03 A6 */ mtlr r0 /* 802946DC 0029033C 38 21 00 20 */ addi r1, r1, 0x20 /* 802946E0 00290340 4E 80 00 20 */ blr .global AXFXDelaySettings AXFXDelaySettings: /* 802946E4 00290344 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802946E8 00290348 7C 08 02 A6 */ mflr r0 /* 802946EC 0029034C 90 01 00 24 */ stw r0, 0x24(r1) /* 802946F0 00290350 39 61 00 20 */ addi r11, r1, 0x20 /* 802946F4 00290354 4B F3 2A 31 */ bl _savegpr_26 /* 802946F8 00290358 7C 7F 1B 78 */ mr r31, r3 /* 802946FC 0029035C 4B FD A0 61 */ bl OSDisableInterrupts /* 80294700 00290360 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 80294704 00290364 7C 7A 1B 78 */ mr r26, r3 /* 80294708 00290368 60 00 00 01 */ ori r0, r0, 1 /* 8029470C 0029036C 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80294710 00290370 4B FD A0 4D */ bl OSDisableInterrupts /* 80294714 00290374 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 80294718 00290378 7C 7C 1B 78 */ mr r28, r3 /* 8029471C 0029037C 7F FB FB 78 */ mr r27, r31 /* 80294720 00290380 3B A0 00 00 */ li r29, 0 /* 80294724 00290384 60 00 00 01 */ ori r0, r0, 1 /* 80294728 00290388 3B C0 00 00 */ li r30, 0 /* 8029472C 0029038C 90 1F 00 3C */ stw r0, 0x3c(r31) lbl_80294730: /* 80294730 00290390 80 7B 00 00 */ lwz r3, 0(r27) /* 80294734 00290394 2C 03 00 00 */ cmpwi r3, 0 /* 80294738 00290398 41 82 00 14 */ beq lbl_8029474C /* 8029473C 0029039C 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80294740 002903A0 7D 89 03 A6 */ mtctr r12 /* 80294744 002903A4 4E 80 04 21 */ bctrl /* 80294748 002903A8 93 DB 00 00 */ stw r30, 0(r27) lbl_8029474C: /* 8029474C 002903AC 3B BD 00 01 */ addi r29, r29, 1 /* 80294750 002903B0 3B 7B 00 04 */ addi r27, r27, 4 /* 80294754 002903B4 28 1D 00 03 */ cmplwi r29, 3 /* 80294758 002903B8 41 80 FF D8 */ blt lbl_80294730 /* 8029475C 002903BC 7F 83 E3 78 */ mr r3, r28 /* 80294760 002903C0 4B FD A0 25 */ bl OSRestoreInterrupts /* 80294764 002903C4 7F E3 FB 78 */ mr r3, r31 /* 80294768 002903C8 4B FF FD 7D */ bl AXFXDelayInit /* 8029476C 002903CC 2C 03 00 00 */ cmpwi r3, 0 /* 80294770 002903D0 40 82 00 64 */ bne lbl_802947D4 /* 80294774 002903D4 4B FD 9F E9 */ bl OSDisableInterrupts /* 80294778 002903D8 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 8029477C 002903DC 7C 7D 1B 78 */ mr r29, r3 /* 80294780 002903E0 3B 80 00 00 */ li r28, 0 /* 80294784 002903E4 3B C0 00 00 */ li r30, 0 /* 80294788 002903E8 60 00 00 01 */ ori r0, r0, 1 /* 8029478C 002903EC 90 1F 00 3C */ stw r0, 0x3c(r31) lbl_80294790: /* 80294790 002903F0 80 7F 00 00 */ lwz r3, 0(r31) /* 80294794 002903F4 2C 03 00 00 */ cmpwi r3, 0 /* 80294798 002903F8 41 82 00 14 */ beq lbl_802947AC /* 8029479C 002903FC 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 802947A0 00290400 7D 89 03 A6 */ mtctr r12 /* 802947A4 00290404 4E 80 04 21 */ bctrl /* 802947A8 00290408 93 DF 00 00 */ stw r30, 0(r31) lbl_802947AC: /* 802947AC 0029040C 3B 9C 00 01 */ addi r28, r28, 1 /* 802947B0 00290410 3B FF 00 04 */ addi r31, r31, 4 /* 802947B4 00290414 28 1C 00 03 */ cmplwi r28, 3 /* 802947B8 00290418 41 80 FF D8 */ blt lbl_80294790 /* 802947BC 0029041C 7F A3 EB 78 */ mr r3, r29 /* 802947C0 00290420 4B FD 9F C5 */ bl OSRestoreInterrupts /* 802947C4 00290424 7F 43 D3 78 */ mr r3, r26 /* 802947C8 00290428 4B FD 9F BD */ bl OSRestoreInterrupts /* 802947CC 0029042C 38 60 00 00 */ li r3, 0 /* 802947D0 00290430 48 00 00 20 */ b lbl_802947F0 lbl_802947D4: /* 802947D4 00290434 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 802947D8 00290438 7F 43 D3 78 */ mr r3, r26 /* 802947DC 0029043C 60 00 00 02 */ ori r0, r0, 2 /* 802947E0 00290440 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 802947E4 00290444 90 1F 00 3C */ stw r0, 0x3c(r31) /* 802947E8 00290448 4B FD 9F 9D */ bl OSRestoreInterrupts /* 802947EC 0029044C 38 60 00 01 */ li r3, 1 lbl_802947F0: /* 802947F0 00290450 39 61 00 20 */ addi r11, r1, 0x20 /* 802947F4 00290454 4B F3 29 7D */ bl _restgpr_26 /* 802947F8 00290458 80 01 00 24 */ lwz r0, 0x24(r1) /* 802947FC 0029045C 7C 08 03 A6 */ mtlr r0 /* 80294800 00290460 38 21 00 20 */ addi r1, r1, 0x20 /* 80294804 00290464 4E 80 00 20 */ blr .global AXFXDelayShutdown AXFXDelayShutdown: /* 80294808 00290468 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8029480C 0029046C 7C 08 02 A6 */ mflr r0 /* 80294810 00290470 90 01 00 24 */ stw r0, 0x24(r1) /* 80294814 00290474 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80294818 00290478 93 C1 00 18 */ stw r30, 0x18(r1) /* 8029481C 0029047C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80294820 00290480 93 81 00 10 */ stw r28, 0x10(r1) /* 80294824 00290484 7C 7C 1B 78 */ mr r28, r3 /* 80294828 00290488 4B FD 9F 35 */ bl OSDisableInterrupts /* 8029482C 0029048C 80 1C 00 3C */ lwz r0, 0x3c(r28) /* 80294830 00290490 7C 7D 1B 78 */ mr r29, r3 /* 80294834 00290494 3B C0 00 00 */ li r30, 0 /* 80294838 00290498 3B E0 00 00 */ li r31, 0 /* 8029483C 0029049C 60 00 00 01 */ ori r0, r0, 1 /* 80294840 002904A0 90 1C 00 3C */ stw r0, 0x3c(r28) lbl_80294844: /* 80294844 002904A4 80 7C 00 00 */ lwz r3, 0(r28) /* 80294848 002904A8 2C 03 00 00 */ cmpwi r3, 0 /* 8029484C 002904AC 41 82 00 14 */ beq lbl_80294860 /* 80294850 002904B0 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13) /* 80294854 002904B4 7D 89 03 A6 */ mtctr r12 /* 80294858 002904B8 4E 80 04 21 */ bctrl /* 8029485C 002904BC 93 FC 00 00 */ stw r31, 0(r28) lbl_80294860: /* 80294860 002904C0 3B DE 00 01 */ addi r30, r30, 1 /* 80294864 002904C4 3B 9C 00 04 */ addi r28, r28, 4 /* 80294868 002904C8 28 1E 00 03 */ cmplwi r30, 3 /* 8029486C 002904CC 41 80 FF D8 */ blt lbl_80294844 /* 80294870 002904D0 7F A3 EB 78 */ mr r3, r29 /* 80294874 002904D4 4B FD 9F 11 */ bl OSRestoreInterrupts /* 80294878 002904D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8029487C 002904DC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80294880 002904E0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80294884 002904E4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80294888 002904E8 83 81 00 10 */ lwz r28, 0x10(r1) /* 8029488C 002904EC 7C 08 03 A6 */ mtlr r0 /* 80294890 002904F0 38 21 00 20 */ addi r1, r1, 0x20 /* 80294894 002904F4 4E 80 00 20 */ blr .global AXFXDelayCallback AXFXDelayCallback: /* 80294898 002904F8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8029489C 002904FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802948A0 00290500 93 C1 00 18 */ stw r30, 0x18(r1) /* 802948A4 00290504 93 A1 00 14 */ stw r29, 0x14(r1) /* 802948A8 00290508 93 81 00 10 */ stw r28, 0x10(r1) /* 802948AC 0029050C 80 04 00 3C */ lwz r0, 0x3c(r4) /* 802948B0 00290510 2C 00 00 00 */ cmpwi r0, 0 /* 802948B4 00290514 41 82 00 10 */ beq lbl_802948C4 /* 802948B8 00290518 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 802948BC 0029051C 90 04 00 3C */ stw r0, 0x3c(r4) /* 802948C0 00290520 48 00 01 40 */ b lbl_80294A00 lbl_802948C4: /* 802948C4 00290524 38 00 00 60 */ li r0, 0x60 /* 802948C8 00290528 80 A3 00 00 */ lwz r5, 0(r3) /* 802948CC 0029052C 80 C3 00 04 */ lwz r6, 4(r3) /* 802948D0 00290530 39 60 00 00 */ li r11, 0 /* 802948D4 00290534 80 63 00 08 */ lwz r3, 8(r3) /* 802948D8 00290538 7C 09 03 A6 */ mtctr r0 lbl_802948DC: /* 802948DC 0029053C 80 04 00 0C */ lwz r0, 0xc(r4) /* 802948E0 00290540 83 84 00 00 */ lwz r28, 0(r4) /* 802948E4 00290544 54 1D 10 3A */ slwi r29, r0, 2 /* 802948E8 00290548 81 04 00 10 */ lwz r8, 0x10(r4) /* 802948EC 0029054C 7C 1C E8 2E */ lwzx r0, r28, r29 /* 802948F0 00290550 80 E4 00 24 */ lwz r7, 0x24(r4) /* 802948F4 00290554 55 1E 10 3A */ slwi r30, r8, 2 /* 802948F8 00290558 81 24 00 14 */ lwz r9, 0x14(r4) /* 802948FC 0029055C 7D 00 39 D6 */ mullw r8, r0, r7 /* 80294900 00290560 80 E4 00 04 */ lwz r7, 4(r4) /* 80294904 00290564 55 2C 10 3A */ slwi r12, r9, 2 /* 80294908 00290568 83 E4 00 08 */ lwz r31, 8(r4) /* 8029490C 0029056C 81 45 00 00 */ lwz r10, 0(r5) /* 80294910 00290570 7C E7 F0 2E */ lwzx r7, r7, r30 /* 80294914 00290574 7D 09 3E 70 */ srawi r9, r8, 7 /* 80294918 00290578 7D 1F 60 2E */ lwzx r8, r31, r12 /* 8029491C 0029057C 7D 2A 4A 14 */ add r9, r10, r9 /* 80294920 00290580 7D 3C E9 2E */ stwx r9, r28, r29 /* 80294924 00290584 81 44 00 28 */ lwz r10, 0x28(r4) /* 80294928 00290588 81 24 00 10 */ lwz r9, 0x10(r4) /* 8029492C 0029058C 7D 87 51 D6 */ mullw r12, r7, r10 /* 80294930 00290590 83 E6 00 00 */ lwz r31, 0(r6) /* 80294934 00290594 81 44 00 04 */ lwz r10, 4(r4) /* 80294938 00290598 55 29 10 3A */ slwi r9, r9, 2 /* 8029493C 0029059C 7D 8C 3E 70 */ srawi r12, r12, 7 /* 80294940 002905A0 7D 9F 62 14 */ add r12, r31, r12 /* 80294944 002905A4 7D 8A 49 2E */ stwx r12, r10, r9 /* 80294948 002905A8 81 44 00 2C */ lwz r10, 0x2c(r4) /* 8029494C 002905AC 81 24 00 14 */ lwz r9, 0x14(r4) /* 80294950 002905B0 7D 88 51 D6 */ mullw r12, r8, r10 /* 80294954 002905B4 83 E3 00 00 */ lwz r31, 0(r3) /* 80294958 002905B8 81 44 00 08 */ lwz r10, 8(r4) /* 8029495C 002905BC 55 29 10 3A */ slwi r9, r9, 2 /* 80294960 002905C0 7D 8C 3E 70 */ srawi r12, r12, 7 /* 80294964 002905C4 7D 9F 62 14 */ add r12, r31, r12 /* 80294968 002905C8 7D 8A 49 2E */ stwx r12, r10, r9 /* 8029496C 002905CC 81 44 00 0C */ lwz r10, 0xc(r4) /* 80294970 002905D0 81 24 00 18 */ lwz r9, 0x18(r4) /* 80294974 002905D4 39 4A 00 01 */ addi r10, r10, 1 /* 80294978 002905D8 7C 0A 48 40 */ cmplw r10, r9 /* 8029497C 002905DC 91 44 00 0C */ stw r10, 0xc(r4) /* 80294980 002905E0 41 80 00 08 */ blt lbl_80294988 /* 80294984 002905E4 91 64 00 0C */ stw r11, 0xc(r4) lbl_80294988: /* 80294988 002905E8 81 44 00 10 */ lwz r10, 0x10(r4) /* 8029498C 002905EC 81 24 00 1C */ lwz r9, 0x1c(r4) /* 80294990 002905F0 39 4A 00 01 */ addi r10, r10, 1 /* 80294994 002905F4 7C 0A 48 40 */ cmplw r10, r9 /* 80294998 002905F8 91 44 00 10 */ stw r10, 0x10(r4) /* 8029499C 002905FC 41 80 00 08 */ blt lbl_802949A4 /* 802949A0 00290600 91 64 00 10 */ stw r11, 0x10(r4) lbl_802949A4: /* 802949A4 00290604 81 44 00 14 */ lwz r10, 0x14(r4) /* 802949A8 00290608 81 24 00 20 */ lwz r9, 0x20(r4) /* 802949AC 0029060C 39 4A 00 01 */ addi r10, r10, 1 /* 802949B0 00290610 7C 0A 48 40 */ cmplw r10, r9 /* 802949B4 00290614 91 44 00 14 */ stw r10, 0x14(r4) /* 802949B8 00290618 41 80 00 08 */ blt lbl_802949C0 /* 802949BC 0029061C 91 64 00 14 */ stw r11, 0x14(r4) lbl_802949C0: /* 802949C0 00290620 81 24 00 30 */ lwz r9, 0x30(r4) /* 802949C4 00290624 7C 00 49 D6 */ mullw r0, r0, r9 /* 802949C8 00290628 7C 00 3E 70 */ srawi r0, r0, 7 /* 802949CC 0029062C 90 05 00 00 */ stw r0, 0(r5) /* 802949D0 00290630 38 A5 00 04 */ addi r5, r5, 4 /* 802949D4 00290634 80 04 00 34 */ lwz r0, 0x34(r4) /* 802949D8 00290638 7C 07 01 D6 */ mullw r0, r7, r0 /* 802949DC 0029063C 7C 00 3E 70 */ srawi r0, r0, 7 /* 802949E0 00290640 90 06 00 00 */ stw r0, 0(r6) /* 802949E4 00290644 38 C6 00 04 */ addi r6, r6, 4 /* 802949E8 00290648 80 04 00 38 */ lwz r0, 0x38(r4) /* 802949EC 0029064C 7C 08 01 D6 */ mullw r0, r8, r0 /* 802949F0 00290650 7C 00 3E 70 */ srawi r0, r0, 7 /* 802949F4 00290654 90 03 00 00 */ stw r0, 0(r3) /* 802949F8 00290658 38 63 00 04 */ addi r3, r3, 4 /* 802949FC 0029065C 42 00 FE E0 */ bdnz lbl_802948DC lbl_80294A00: /* 80294A00 00290660 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80294A04 00290664 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80294A08 00290668 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80294A0C 0029066C 83 81 00 10 */ lwz r28, 0x10(r1) /* 80294A10 00290670 38 21 00 20 */ addi r1, r1, 0x20 /* 80294A14 00290674 4E 80 00 20 */ blr __InitParams: /* 80294A18 00290678 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80294A1C 0029067C 7C 08 02 A6 */ mflr r0 /* 80294A20 00290680 90 01 00 74 */ stw r0, 0x74(r1) /* 80294A24 00290684 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80294A28 00290688 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80294A2C 0029068C DB C1 00 50 */ stfd f30, 0x50(r1) /* 80294A30 00290690 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 80294A34 00290694 DB A1 00 40 */ stfd f29, 0x40(r1) /* 80294A38 00290698 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 80294A3C 0029069C CB A2 A2 D0 */ lfd f29, lbl_806428D0-_SDA2_BASE_(r2) /* 80294A40 002906A0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80294A44 002906A4 3F E0 43 30 */ lis r31, 0x4330 /* 80294A48 002906A8 C3 C2 A2 C8 */ lfs f30, lbl_806428C8-_SDA2_BASE_(r2) /* 80294A4C 002906AC 93 C1 00 38 */ stw r30, 0x38(r1) /* 80294A50 002906B0 3B C0 00 00 */ li r30, 0 /* 80294A54 002906B4 C3 E2 A2 CC */ lfs f31, lbl_806428CC-_SDA2_BASE_(r2) /* 80294A58 002906B8 93 A1 00 34 */ stw r29, 0x34(r1) /* 80294A5C 002906BC 7C 7D 1B 78 */ mr r29, r3 /* 80294A60 002906C0 93 81 00 30 */ stw r28, 0x30(r1) /* 80294A64 002906C4 3B 80 00 00 */ li r28, 0 lbl_80294A68: /* 80294A68 002906C8 80 1D 00 4C */ lwz r0, 0x4c(r29) /* 80294A6C 002906CC 28 00 00 64 */ cmplwi r0, 0x64 /* 80294A70 002906D0 41 80 00 0C */ blt lbl_80294A7C /* 80294A74 002906D4 38 60 00 00 */ li r3, 0 /* 80294A78 002906D8 48 00 00 AC */ b lbl_80294B24 lbl_80294A7C: /* 80294A7C 002906DC 80 1D 00 58 */ lwz r0, 0x58(r29) /* 80294A80 002906E0 28 00 00 64 */ cmplwi r0, 0x64 /* 80294A84 002906E4 40 81 00 0C */ ble lbl_80294A90 /* 80294A88 002906E8 38 60 00 00 */ li r3, 0 /* 80294A8C 002906EC 48 00 00 98 */ b lbl_80294B24 lbl_80294A90: /* 80294A90 002906F0 80 7D 00 00 */ lwz r3, 0(r29) /* 80294A94 002906F4 2C 03 00 00 */ cmpwi r3, 0 /* 80294A98 002906F8 40 82 00 0C */ bne lbl_80294AA4 /* 80294A9C 002906FC 38 60 00 00 */ li r3, 0 /* 80294AA0 00290700 48 00 00 84 */ b lbl_80294B24 lbl_80294AA4: /* 80294AA4 00290704 80 1D 00 18 */ lwz r0, 0x18(r29) /* 80294AA8 00290708 38 80 00 00 */ li r4, 0 /* 80294AAC 0029070C 54 05 10 3A */ slwi r5, r0, 2 /* 80294AB0 00290710 4B D6 F6 55 */ bl memset /* 80294AB4 00290714 93 DD 00 0C */ stw r30, 0xc(r29) /* 80294AB8 00290718 3B 9C 00 01 */ addi r28, r28, 1 /* 80294ABC 0029071C 28 1C 00 03 */ cmplwi r28, 3 /* 80294AC0 00290720 80 1D 00 4C */ lwz r0, 0x4c(r29) /* 80294AC4 00290724 93 E1 00 08 */ stw r31, 8(r1) /* 80294AC8 00290728 90 01 00 0C */ stw r0, 0xc(r1) /* 80294ACC 0029072C C8 01 00 08 */ lfd f0, 8(r1) /* 80294AD0 00290730 93 E1 00 18 */ stw r31, 0x18(r1) /* 80294AD4 00290734 EC 00 E8 28 */ fsubs f0, f0, f29 /* 80294AD8 00290738 EC 1E 00 32 */ fmuls f0, f30, f0 /* 80294ADC 0029073C EC 00 F8 24 */ fdivs f0, f0, f31 /* 80294AE0 00290740 FC 00 00 1E */ fctiwz f0, f0 /* 80294AE4 00290744 D8 01 00 10 */ stfd f0, 0x10(r1) /* 80294AE8 00290748 80 01 00 14 */ lwz r0, 0x14(r1) /* 80294AEC 0029074C 90 1D 00 24 */ stw r0, 0x24(r29) /* 80294AF0 00290750 80 1D 00 58 */ lwz r0, 0x58(r29) /* 80294AF4 00290754 90 01 00 1C */ stw r0, 0x1c(r1) /* 80294AF8 00290758 C8 01 00 18 */ lfd f0, 0x18(r1) /* 80294AFC 0029075C EC 00 E8 28 */ fsubs f0, f0, f29 /* 80294B00 00290760 EC 1E 00 32 */ fmuls f0, f30, f0 /* 80294B04 00290764 EC 00 F8 24 */ fdivs f0, f0, f31 /* 80294B08 00290768 FC 00 00 1E */ fctiwz f0, f0 /* 80294B0C 0029076C D8 01 00 20 */ stfd f0, 0x20(r1) /* 80294B10 00290770 80 01 00 24 */ lwz r0, 0x24(r1) /* 80294B14 00290774 90 1D 00 30 */ stw r0, 0x30(r29) /* 80294B18 00290778 3B BD 00 04 */ addi r29, r29, 4 /* 80294B1C 0029077C 41 80 FF 4C */ blt lbl_80294A68 /* 80294B20 00290780 38 60 00 01 */ li r3, 1 lbl_80294B24: /* 80294B24 00290784 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 80294B28 00290788 CB E1 00 60 */ lfd f31, 0x60(r1) /* 80294B2C 0029078C E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 80294B30 00290790 CB C1 00 50 */ lfd f30, 0x50(r1) /* 80294B34 00290794 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 80294B38 00290798 CB A1 00 40 */ lfd f29, 0x40(r1) /* 80294B3C 0029079C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80294B40 002907A0 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80294B44 002907A4 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80294B48 002907A8 80 01 00 74 */ lwz r0, 0x74(r1) /* 80294B4C 002907AC 83 81 00 30 */ lwz r28, 0x30(r1) /* 80294B50 002907B0 7C 08 03 A6 */ mtlr r0 /* 80294B54 002907B4 38 21 00 70 */ addi r1, r1, 0x70 /* 80294B58 002907B8 4E 80 00 20 */ blr