.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8003018C /* B58C 8003018C 27BDFF80 */ addiu $sp, $sp, -0x80 /* B590 80030190 AFB20030 */ sw $s2, 0x30($sp) /* B594 80030194 00A0902D */ daddu $s2, $a1, $zero /* B598 80030198 AFB40038 */ sw $s4, 0x38($sp) /* B59C 8003019C 00C0A02D */ daddu $s4, $a2, $zero /* B5A0 800301A0 AFB30034 */ sw $s3, 0x34($sp) /* B5A4 800301A4 00E0982D */ daddu $s3, $a3, $zero /* B5A8 800301A8 AFB1002C */ sw $s1, 0x2c($sp) /* B5AC 800301AC AFBF0048 */ sw $ra, 0x48($sp) /* B5B0 800301B0 AFB70044 */ sw $s7, 0x44($sp) /* B5B4 800301B4 AFB60040 */ sw $s6, 0x40($sp) /* B5B8 800301B8 AFB5003C */ sw $s5, 0x3c($sp) /* B5BC 800301BC AFB00028 */ sw $s0, 0x28($sp) /* B5C0 800301C0 F7BE0078 */ sdc1 $f30, 0x78($sp) /* B5C4 800301C4 F7BC0070 */ sdc1 $f28, 0x70($sp) /* B5C8 800301C8 F7BA0068 */ sdc1 $f26, 0x68($sp) /* B5CC 800301CC F7B80060 */ sdc1 $f24, 0x60($sp) /* B5D0 800301D0 F7B60058 */ sdc1 $f22, 0x58($sp) /* B5D4 800301D4 F7B40050 */ sdc1 $f20, 0x50($sp) /* B5D8 800301D8 8E900000 */ lw $s0, ($s4) /* B5DC 800301DC C7B80094 */ lwc1 $f24, 0x94($sp) /* B5E0 800301E0 C7BE0098 */ lwc1 $f30, 0x98($sp) /* B5E4 800301E4 C7BA009C */ lwc1 $f26, 0x9c($sp) /* B5E8 800301E8 8FB500AC */ lw $s5, 0xac($sp) /* B5EC 800301EC 8FB600B0 */ lw $s6, 0xb0($sp) /* B5F0 800301F0 8FB700B4 */ lw $s7, 0xb4($sp) /* B5F4 800301F4 26020002 */ addiu $v0, $s0, 2 /* B5F8 800301F8 2C420002 */ sltiu $v0, $v0, 2 /* B5FC 800301FC 144000C4 */ bnez $v0, .L80030510 /* B600 80030200 0240882D */ daddu $s1, $s2, $zero /* B604 80030204 16000005 */ bnez $s0, .L8003021C /* B608 80030208 00000000 */ nop /* B60C 8003020C E6580010 */ swc1 $f24, 0x10($s2) /* B610 80030210 E65E0014 */ swc1 $f30, 0x14($s2) /* B614 80030214 0800C144 */ j .L80030510 /* B618 80030218 E65A0018 */ swc1 $f26, 0x18($s2) .L8003021C: /* B61C 8003021C 8E030000 */ lw $v1, ($s0) /* B620 80030220 2C620007 */ sltiu $v0, $v1, 7 /* B624 80030224 104000BA */ beqz $v0, .L80030510 /* B628 80030228 00031080 */ sll $v0, $v1, 2 /* B62C 8003022C 3C01800A */ lui $at, %hi(D_800981F0) /* B630 80030230 00220821 */ addu $at, $at, $v0 /* B634 80030234 8C2281F0 */ lw $v0, %lo(D_800981F0)($at) /* B638 80030238 00400008 */ jr $v0 /* B63C 8003023C 00000000 */ nop /* B640 80030240 8E020028 */ lw $v0, 0x28($s0) /* B644 80030244 504000B0 */ beql $v0, $zero, .L80030508 /* B648 80030248 E6380010 */ swc1 $f24, 0x10($s1) /* B64C 8003024C C60A0014 */ lwc1 $f10, 0x14($s0) /* B650 80030250 C60C0020 */ lwc1 $f12, 0x20($s0) /* B654 80030254 460C5281 */ sub.s $f10, $f10, $f12 /* B658 80030258 C6000018 */ lwc1 $f0, 0x18($s0) /* B65C 8003025C 46005287 */ neg.s $f10, $f10 /* B660 80030260 46005280 */ add.s $f10, $f10, $f0 /* B664 80030264 460A0201 */ sub.s $f8, $f0, $f10 /* B668 80030268 46084102 */ mul.s $f4, $f8, $f8 /* B66C 8003026C 00000000 */ nop /* B670 80030270 C606000C */ lwc1 $f6, 0xc($s0) /* B674 80030274 46003181 */ sub.s $f6, $f6, $f0 /* B678 80030278 460C3180 */ add.s $f6, $f6, $f12 /* B67C 8003027C 46066301 */ sub.s $f12, $f12, $f6 /* B680 80030280 460C6382 */ mul.s $f14, $f12, $f12 /* B684 80030284 00000000 */ nop /* B688 80030288 460AC081 */ sub.s $f2, $f24, $f10 /* B68C 8003028C 46081082 */ mul.s $f2, $f2, $f8 /* B690 80030290 00000000 */ nop /* B694 80030294 4606D001 */ sub.s $f0, $f26, $f6 /* B698 80030298 460C0002 */ mul.s $f0, $f0, $f12 /* B69C 8003029C 00000000 */ nop /* B6A0 800302A0 460E2100 */ add.s $f4, $f4, $f14 /* B6A4 800302A4 46001080 */ add.s $f2, $f2, $f0 /* B6A8 800302A8 46041103 */ div.s $f4, $f2, $f4 /* B6AC 800302AC 46082202 */ mul.s $f8, $f4, $f8 /* B6B0 800302B0 00000000 */ nop /* B6B4 800302B4 460C2102 */ mul.s $f4, $f4, $f12 /* B6B8 800302B8 00000000 */ nop /* B6BC 800302BC 460A4200 */ add.s $f8, $f8, $f10 /* B6C0 800302C0 46062100 */ add.s $f4, $f4, $f6 /* B6C4 800302C4 E63E0014 */ swc1 $f30, 0x14($s1) /* B6C8 800302C8 E6280010 */ swc1 $f8, 0x10($s1) /* B6CC 800302CC 0800C144 */ j .L80030510 /* B6D0 800302D0 E6240018 */ swc1 $f4, 0x18($s1) /* B6D4 800302D4 C60E000C */ lwc1 $f14, 0xc($s0) /* B6D8 800302D8 C61C0018 */ lwc1 $f28, 0x18($s0) /* B6DC 800302DC 460EE201 */ sub.s $f8, $f28, $f14 /* B6E0 800302E0 46084502 */ mul.s $f20, $f8, $f8 /* B6E4 800302E4 00000000 */ nop /* B6E8 800302E8 460EC081 */ sub.s $f2, $f24, $f14 /* B6EC 800302EC 46081082 */ mul.s $f2, $f2, $f8 /* B6F0 800302F0 00000000 */ nop /* B6F4 800302F4 E7BC0010 */ swc1 $f28, 0x10($sp) /* B6F8 800302F8 C60C0014 */ lwc1 $f12, 0x14($s0) /* B6FC 800302FC C61C0020 */ lwc1 $f28, 0x20($s0) /* B700 80030300 460CE181 */ sub.s $f6, $f28, $f12 /* B704 80030304 46063482 */ mul.s $f18, $f6, $f6 /* B708 80030308 00000000 */ nop /* B70C 8003030C 460CD001 */ sub.s $f0, $f26, $f12 /* B710 80030310 46060002 */ mul.s $f0, $f0, $f6 /* B714 80030314 00000000 */ nop /* B718 80030318 4612A100 */ add.s $f4, $f20, $f18 /* B71C 8003031C 46001080 */ add.s $f2, $f2, $f0 /* B720 80030320 46041103 */ div.s $f4, $f2, $f4 /* B724 80030324 46082002 */ mul.s $f0, $f4, $f8 /* B728 80030328 00000000 */ nop /* B72C 8003032C 46062102 */ mul.s $f4, $f4, $f6 /* B730 80030330 00000000 */ nop /* B734 80030334 460E0400 */ add.s $f16, $f0, $f14 /* B738 80030338 46007586 */ mov.s $f22, $f14 /* B73C 8003033C 46004386 */ mov.s $f14, $f8 /* B740 80030340 46168201 */ sub.s $f8, $f16, $f22 /* B744 80030344 46087082 */ mul.s $f2, $f14, $f8 /* B748 80030348 00000000 */ nop /* B74C 8003034C 460C2280 */ add.s $f10, $f4, $f12 /* B750 80030350 46006106 */ mov.s $f4, $f12 /* B754 80030354 46003306 */ mov.s $f12, $f6 /* B758 80030358 46045181 */ sub.s $f6, $f10, $f4 /* B75C 8003035C 46066002 */ mul.s $f0, $f12, $f6 /* B760 80030360 00000000 */ nop /* B764 80030364 4610C501 */ sub.s $f20, $f24, $f16 /* B768 80030368 460AD481 */ sub.s $f18, $f26, $f10 /* B76C 8003036C 46001080 */ add.s $f2, $f2, $f0 /* B770 80030370 44800000 */ mtc1 $zero, $f0 /* B774 80030374 00000000 */ nop /* B778 80030378 4600103C */ c.lt.s $f2, $f0 /* B77C 8003037C 00000000 */ nop /* B780 80030380 45000004 */ bc1f .L80030394 /* B784 80030384 E7BC0020 */ swc1 $f28, 0x20($sp) /* B788 80030388 4600B406 */ mov.s $f16, $f22 /* B78C 8003038C 0800C0F5 */ j .L800303D4 /* B790 80030390 46002286 */ mov.s $f10, $f4 .L80030394: /* B794 80030394 46084082 */ mul.s $f2, $f8, $f8 /* B798 80030398 00000000 */ nop /* B79C 8003039C 46063182 */ mul.s $f6, $f6, $f6 /* B7A0 800303A0 00000000 */ nop /* B7A4 800303A4 460E7002 */ mul.s $f0, $f14, $f14 /* B7A8 800303A8 00000000 */ nop /* B7AC 800303AC 460C6102 */ mul.s $f4, $f12, $f12 /* B7B0 800303B0 00000000 */ nop /* B7B4 800303B4 46061080 */ add.s $f2, $f2, $f6 /* B7B8 800303B8 46040000 */ add.s $f0, $f0, $f4 /* B7BC 800303BC 4602003C */ c.lt.s $f0, $f2 /* B7C0 800303C0 00000000 */ nop /* B7C4 800303C4 45000003 */ bc1f .L800303D4 /* B7C8 800303C8 00000000 */ nop /* B7CC 800303CC C7B00010 */ lwc1 $f16, 0x10($sp) /* B7D0 800303D0 C7AA0020 */ lwc1 $f10, 0x20($sp) .L800303D4: /* B7D4 800303D4 8E020028 */ lw $v0, 0x28($s0) /* B7D8 800303D8 54400004 */ bnel $v0, $zero, .L800303EC /* B7DC 800303DC E6300010 */ swc1 $f16, 0x10($s1) /* B7E0 800303E0 46148400 */ add.s $f16, $f16, $f20 /* B7E4 800303E4 46125280 */ add.s $f10, $f10, $f18 /* B7E8 800303E8 E6300010 */ swc1 $f16, 0x10($s1) .L800303EC: /* B7EC 800303EC E63E0014 */ swc1 $f30, 0x14($s1) /* B7F0 800303F0 0800C144 */ j .L80030510 /* B7F4 800303F4 E62A0018 */ swc1 $f10, 0x18($s1) /* B7F8 800303F8 8E020028 */ lw $v0, 0x28($s0) /* B7FC 800303FC 50400042 */ beql $v0, $zero, .L80030508 /* B800 80030400 E6380010 */ swc1 $f24, 0x10($s1) /* B804 80030404 C600000C */ lwc1 $f0, 0xc($s0) /* B808 80030408 4600C581 */ sub.s $f22, $f24, $f0 /* B80C 8003040C 4616B082 */ mul.s $f2, $f22, $f22 /* B810 80030410 00000000 */ nop /* B814 80030414 C6000014 */ lwc1 $f0, 0x14($s0) /* B818 80030418 4600D501 */ sub.s $f20, $f26, $f0 /* B81C 8003041C 4614A002 */ mul.s $f0, $f20, $f20 /* B820 80030420 00000000 */ nop /* B824 80030424 46001600 */ add.s $f24, $f2, $f0 /* B828 80030428 44800000 */ mtc1 $zero, $f0 /* B82C 8003042C 00000000 */ nop /* B830 80030430 4600C032 */ c.eq.s $f24, $f0 /* B834 80030434 00000000 */ nop /* B838 80030438 45010035 */ bc1t .L80030510 /* B83C 8003043C 00000000 */ nop /* B840 80030440 4600C184 */ sqrt.s $f6, $f24 /* B844 80030444 46063032 */ c.eq.s $f6, $f6 /* B848 80030448 00000000 */ nop /* B84C 8003044C 45010004 */ bc1t .L80030460 /* B850 80030450 00000000 */ nop /* B854 80030454 0C0187B0 */ jal func_80061EC0 /* B858 80030458 4600C306 */ mov.s $f12, $f24 /* B85C 8003045C 46000186 */ mov.s $f6, $f0 .L80030460: /* B860 80030460 C6040018 */ lwc1 $f4, 0x18($s0) /* B864 80030464 C600000C */ lwc1 $f0, 0xc($s0) /* B868 80030468 46002101 */ sub.s $f4, $f4, $f0 /* B86C 8003046C 46042102 */ mul.s $f4, $f4, $f4 /* B870 80030470 00000000 */ nop /* B874 80030474 C6020014 */ lwc1 $f2, 0x14($s0) /* B878 80030478 C6000020 */ lwc1 $f0, 0x20($s0) /* B87C 8003047C 46020001 */ sub.s $f0, $f0, $f2 /* B880 80030480 46000002 */ mul.s $f0, $f0, $f0 /* B884 80030484 00000000 */ nop /* B888 80030488 3C013F80 */ lui $at, 0x3f80 /* B88C 8003048C 44811000 */ mtc1 $at, $f2 /* B890 80030490 46002300 */ add.s $f12, $f4, $f0 /* B894 80030494 46061603 */ div.s $f24, $f2, $f6 /* B898 80030498 46006084 */ sqrt.s $f2, $f12 /* B89C 8003049C 46021032 */ c.eq.s $f2, $f2 /* B8A0 800304A0 00000000 */ nop /* B8A4 800304A4 45010004 */ bc1t .L800304B8 /* B8A8 800304A8 00000000 */ nop /* B8AC 800304AC 0C0187B0 */ jal func_80061EC0 /* B8B0 800304B0 00000000 */ nop /* B8B4 800304B4 46000086 */ mov.s $f2, $f0 .L800304B8: /* B8B8 800304B8 4602B002 */ mul.s $f0, $f22, $f2 /* B8BC 800304BC 00000000 */ nop /* B8C0 800304C0 4602A102 */ mul.s $f4, $f20, $f2 /* B8C4 800304C4 00000000 */ nop /* B8C8 800304C8 46180002 */ mul.s $f0, $f0, $f24 /* B8CC 800304CC 00000000 */ nop /* B8D0 800304D0 C602000C */ lwc1 $f2, 0xc($s0) /* B8D4 800304D4 46001080 */ add.s $f2, $f2, $f0 /* B8D8 800304D8 46182102 */ mul.s $f4, $f4, $f24 /* B8DC 800304DC 00000000 */ nop /* B8E0 800304E0 E63E0014 */ swc1 $f30, 0x14($s1) /* B8E4 800304E4 E6220010 */ swc1 $f2, 0x10($s1) /* B8E8 800304E8 C6000014 */ lwc1 $f0, 0x14($s0) /* B8EC 800304EC 46040000 */ add.s $f0, $f0, $f4 /* B8F0 800304F0 0800C144 */ j .L80030510 /* B8F4 800304F4 E6200018 */ swc1 $f0, 0x18($s1) /* B8F8 800304F8 2402FFFF */ addiu $v0, $zero, -1 /* B8FC 800304FC 0800C144 */ j .L80030510 /* B900 80030500 AE820000 */ sw $v0, ($s4) /* B904 80030504 E6380010 */ swc1 $f24, 0x10($s1) .L80030508: /* B908 80030508 E63E0014 */ swc1 $f30, 0x14($s1) /* B90C 8003050C E63A0018 */ swc1 $f26, 0x18($s1) .L80030510: /* B910 80030510 8FA20090 */ lw $v0, 0x90($sp) /* B914 80030514 C7B800A0 */ lwc1 $f24, 0xa0($sp) /* B918 80030518 C7BE00A4 */ lwc1 $f30, 0xa4($sp) /* B91C 8003051C 8C500000 */ lw $s0, ($v0) /* B920 80030520 C7BA00A8 */ lwc1 $f26, 0xa8($sp) /* B924 80030524 16000005 */ bnez $s0, .L8003053C /* B928 80030528 0260882D */ daddu $s1, $s3, $zero /* B92C 8003052C E6780010 */ swc1 $f24, 0x10($s3) /* B930 80030530 E67E0014 */ swc1 $f30, 0x14($s3) /* B934 80030534 0800C414 */ j .L80031050 /* B938 80030538 E67A0018 */ swc1 $f26, 0x18($s3) .L8003053C: /* B93C 8003053C 8E030000 */ lw $v1, ($s0) /* B940 80030540 2C620007 */ sltiu $v0, $v1, 7 /* B944 80030544 10400279 */ beqz $v0, .L80030F2C /* B948 80030548 00031080 */ sll $v0, $v1, 2 /* B94C 8003054C 3C01800A */ lui $at, %hi(D_80098210) /* B950 80030550 00220821 */ addu $at, $at, $v0 /* B954 80030554 8C228210 */ lw $v0, %lo(D_80098210)($at) /* B958 80030558 00400008 */ jr $v0 /* B95C 8003055C 00000000 */ nop /* B960 80030560 C6020018 */ lwc1 $f2, 0x18($s0) /* B964 80030564 C600000C */ lwc1 $f0, 0xc($s0) /* B968 80030568 46001081 */ sub.s $f2, $f2, $f0 /* B96C 8003056C C6000014 */ lwc1 $f0, 0x14($s0) /* B970 80030570 44061000 */ mfc1 $a2, $f2 /* B974 80030574 C6020020 */ lwc1 $f2, 0x20($s0) /* B978 80030578 4480A000 */ mtc1 $zero, $f20 /* B97C 8003057C 46001081 */ sub.s $f2, $f2, $f0 /* B980 80030580 4600A306 */ mov.s $f12, $f20 /* B984 80030584 44071000 */ mfc1 $a3, $f2 /* B988 80030588 0C00A710 */ jal func_80029C40 /* B98C 8003058C 4600A386 */ mov.s $f14, $f20 /* B990 80030590 E6200000 */ swc1 $f0, ($s1) /* B994 80030594 C6000004 */ lwc1 $f0, 4($s0) /* B998 80030598 4614003C */ c.lt.s $f0, $f20 /* B99C 8003059C 00000000 */ nop /* B9A0 800305A0 45030001 */ bc1tl .L800305A8 /* B9A4 800305A4 46000007 */ neg.s $f0, $f0 .L800305A8: /* B9A8 800305A8 E6200004 */ swc1 $f0, 4($s1) /* B9AC 800305AC C6000008 */ lwc1 $f0, 8($s0) /* B9B0 800305B0 E6200008 */ swc1 $f0, 8($s1) /* B9B4 800305B4 C6000024 */ lwc1 $f0, 0x24($s0) /* B9B8 800305B8 E620000C */ swc1 $f0, 0xc($s1) /* B9BC 800305BC 8E020028 */ lw $v0, 0x28($s0) /* B9C0 800305C0 50400023 */ beql $v0, $zero, .L80030650 /* B9C4 800305C4 E6380010 */ swc1 $f24, 0x10($s1) /* B9C8 800305C8 C60A0014 */ lwc1 $f10, 0x14($s0) /* B9CC 800305CC C60C0020 */ lwc1 $f12, 0x20($s0) /* B9D0 800305D0 460C5281 */ sub.s $f10, $f10, $f12 /* B9D4 800305D4 C6000018 */ lwc1 $f0, 0x18($s0) /* B9D8 800305D8 46005287 */ neg.s $f10, $f10 /* B9DC 800305DC 46005280 */ add.s $f10, $f10, $f0 /* B9E0 800305E0 460A0201 */ sub.s $f8, $f0, $f10 /* B9E4 800305E4 46084102 */ mul.s $f4, $f8, $f8 /* B9E8 800305E8 00000000 */ nop /* B9EC 800305EC C606000C */ lwc1 $f6, 0xc($s0) /* B9F0 800305F0 46003181 */ sub.s $f6, $f6, $f0 /* B9F4 800305F4 460C3180 */ add.s $f6, $f6, $f12 /* B9F8 800305F8 46066301 */ sub.s $f12, $f12, $f6 /* B9FC 800305FC 460C6382 */ mul.s $f14, $f12, $f12 /* BA00 80030600 00000000 */ nop /* BA04 80030604 460AC081 */ sub.s $f2, $f24, $f10 /* BA08 80030608 46081082 */ mul.s $f2, $f2, $f8 /* BA0C 8003060C 00000000 */ nop /* BA10 80030610 4606D001 */ sub.s $f0, $f26, $f6 /* BA14 80030614 460C0002 */ mul.s $f0, $f0, $f12 /* BA18 80030618 00000000 */ nop /* BA1C 8003061C 460E2100 */ add.s $f4, $f4, $f14 /* BA20 80030620 46001080 */ add.s $f2, $f2, $f0 /* BA24 80030624 46041103 */ div.s $f4, $f2, $f4 /* BA28 80030628 46082202 */ mul.s $f8, $f4, $f8 /* BA2C 8003062C 00000000 */ nop /* BA30 80030630 460C2102 */ mul.s $f4, $f4, $f12 /* BA34 80030634 00000000 */ nop /* BA38 80030638 460A4200 */ add.s $f8, $f8, $f10 /* BA3C 8003063C 46062100 */ add.s $f4, $f4, $f6 /* BA40 80030640 E63E0014 */ swc1 $f30, 0x14($s1) /* BA44 80030644 E6280010 */ swc1 $f8, 0x10($s1) /* BA48 80030648 0800C1F8 */ j .L800307E0 /* BA4C 8003064C E6240018 */ swc1 $f4, 0x18($s1) .L80030650: /* BA50 80030650 E63E0014 */ swc1 $f30, 0x14($s1) /* BA54 80030654 0800C1F8 */ j .L800307E0 /* BA58 80030658 E63A0018 */ swc1 $f26, 0x18($s1) /* BA5C 8003065C C6020018 */ lwc1 $f2, 0x18($s0) /* BA60 80030660 C600000C */ lwc1 $f0, 0xc($s0) /* BA64 80030664 46001581 */ sub.s $f22, $f2, $f0 /* BA68 80030668 C6020020 */ lwc1 $f2, 0x20($s0) /* BA6C 8003066C C6000014 */ lwc1 $f0, 0x14($s0) /* BA70 80030670 46001081 */ sub.s $f2, $f2, $f0 /* BA74 80030674 44806000 */ mtc1 $zero, $f12 /* BA78 80030678 4600B587 */ neg.s $f22, $f22 /* BA7C 8003067C 4407B000 */ mfc1 $a3, $f22 /* BA80 80030680 44061000 */ mfc1 $a2, $f2 /* BA84 80030684 0C00A710 */ jal func_80029C40 /* BA88 80030688 46006386 */ mov.s $f14, $f12 /* BA8C 8003068C E6200000 */ swc1 $f0, ($s1) /* BA90 80030690 C6000004 */ lwc1 $f0, 4($s0) /* BA94 80030694 4480E000 */ mtc1 $zero, $f28 /* BA98 80030698 00000000 */ nop /* BA9C 8003069C 461C003C */ c.lt.s $f0, $f28 /* BAA0 800306A0 00000000 */ nop /* BAA4 800306A4 45030001 */ bc1tl .L800306AC /* BAA8 800306A8 46000007 */ neg.s $f0, $f0 .L800306AC: /* BAAC 800306AC E6200004 */ swc1 $f0, 4($s1) /* BAB0 800306B0 C6000008 */ lwc1 $f0, 8($s0) /* BAB4 800306B4 E6200008 */ swc1 $f0, 8($s1) /* BAB8 800306B8 C6000024 */ lwc1 $f0, 0x24($s0) /* BABC 800306BC E620000C */ swc1 $f0, 0xc($s1) /* BAC0 800306C0 C60E000C */ lwc1 $f14, 0xc($s0) /* BAC4 800306C4 C61C0018 */ lwc1 $f28, 0x18($s0) /* BAC8 800306C8 460EE201 */ sub.s $f8, $f28, $f14 /* BACC 800306CC 46084502 */ mul.s $f20, $f8, $f8 /* BAD0 800306D0 00000000 */ nop /* BAD4 800306D4 460EC081 */ sub.s $f2, $f24, $f14 /* BAD8 800306D8 46081082 */ mul.s $f2, $f2, $f8 /* BADC 800306DC 00000000 */ nop /* BAE0 800306E0 E7BC0014 */ swc1 $f28, 0x14($sp) /* BAE4 800306E4 C60C0014 */ lwc1 $f12, 0x14($s0) /* BAE8 800306E8 C61C0020 */ lwc1 $f28, 0x20($s0) /* BAEC 800306EC 460CE181 */ sub.s $f6, $f28, $f12 /* BAF0 800306F0 46063482 */ mul.s $f18, $f6, $f6 /* BAF4 800306F4 00000000 */ nop /* BAF8 800306F8 460CD001 */ sub.s $f0, $f26, $f12 /* BAFC 800306FC 46060002 */ mul.s $f0, $f0, $f6 /* BB00 80030700 00000000 */ nop /* BB04 80030704 4612A100 */ add.s $f4, $f20, $f18 /* BB08 80030708 46001080 */ add.s $f2, $f2, $f0 /* BB0C 8003070C 46041103 */ div.s $f4, $f2, $f4 /* BB10 80030710 46082002 */ mul.s $f0, $f4, $f8 /* BB14 80030714 00000000 */ nop /* BB18 80030718 46062102 */ mul.s $f4, $f4, $f6 /* BB1C 8003071C 00000000 */ nop /* BB20 80030720 460E0400 */ add.s $f16, $f0, $f14 /* BB24 80030724 46007586 */ mov.s $f22, $f14 /* BB28 80030728 46004386 */ mov.s $f14, $f8 /* BB2C 8003072C 46168201 */ sub.s $f8, $f16, $f22 /* BB30 80030730 46087002 */ mul.s $f0, $f14, $f8 /* BB34 80030734 00000000 */ nop /* BB38 80030738 460C2280 */ add.s $f10, $f4, $f12 /* BB3C 8003073C 46006106 */ mov.s $f4, $f12 /* BB40 80030740 46003306 */ mov.s $f12, $f6 /* BB44 80030744 46045181 */ sub.s $f6, $f10, $f4 /* BB48 80030748 46066082 */ mul.s $f2, $f12, $f6 /* BB4C 8003074C 00000000 */ nop /* BB50 80030750 4610C501 */ sub.s $f20, $f24, $f16 /* BB54 80030754 E7BC0018 */ swc1 $f28, 0x18($sp) /* BB58 80030758 46020000 */ add.s $f0, $f0, $f2 /* BB5C 8003075C 4480E000 */ mtc1 $zero, $f28 /* BB60 80030760 00000000 */ nop /* BB64 80030764 461C003C */ c.lt.s $f0, $f28 /* BB68 80030768 00000000 */ nop /* BB6C 8003076C 45000004 */ bc1f .L80030780 /* BB70 80030770 460AD481 */ sub.s $f18, $f26, $f10 /* BB74 80030774 4600B406 */ mov.s $f16, $f22 /* BB78 80030778 0800C1F0 */ j .L800307C0 /* BB7C 8003077C 46002286 */ mov.s $f10, $f4 .L80030780: /* BB80 80030780 46084082 */ mul.s $f2, $f8, $f8 /* BB84 80030784 00000000 */ nop /* BB88 80030788 46063182 */ mul.s $f6, $f6, $f6 /* BB8C 8003078C 00000000 */ nop /* BB90 80030790 460E7002 */ mul.s $f0, $f14, $f14 /* BB94 80030794 00000000 */ nop /* BB98 80030798 460C6102 */ mul.s $f4, $f12, $f12 /* BB9C 8003079C 00000000 */ nop /* BBA0 800307A0 46061080 */ add.s $f2, $f2, $f6 /* BBA4 800307A4 46040000 */ add.s $f0, $f0, $f4 /* BBA8 800307A8 4602003C */ c.lt.s $f0, $f2 /* BBAC 800307AC 00000000 */ nop /* BBB0 800307B0 45000003 */ bc1f .L800307C0 /* BBB4 800307B4 00000000 */ nop /* BBB8 800307B8 C7B00014 */ lwc1 $f16, 0x14($sp) /* BBBC 800307BC C7AA0018 */ lwc1 $f10, 0x18($sp) .L800307C0: /* BBC0 800307C0 8E020028 */ lw $v0, 0x28($s0) /* BBC4 800307C4 54400004 */ bnel $v0, $zero, .L800307D8 /* BBC8 800307C8 E6300010 */ swc1 $f16, 0x10($s1) /* BBCC 800307CC 46148400 */ add.s $f16, $f16, $f20 /* BBD0 800307D0 46125280 */ add.s $f10, $f10, $f18 /* BBD4 800307D4 E6300010 */ swc1 $f16, 0x10($s1) .L800307D8: /* BBD8 800307D8 E63E0014 */ swc1 $f30, 0x14($s1) /* BBDC 800307DC E62A0018 */ swc1 $f10, 0x18($s1) .L800307E0: /* BBE0 800307E0 12E0021B */ beqz $s7, .L80031050 /* BBE4 800307E4 00000000 */ nop /* BBE8 800307E8 C6C00000 */ lwc1 $f0, ($s6) /* BBEC 800307EC 3C013F80 */ lui $at, 0x3f80 /* BBF0 800307F0 44812000 */ mtc1 $at, $f4 /* BBF4 800307F4 00000000 */ nop /* BBF8 800307F8 46040032 */ c.eq.s $f0, $f4 /* BBFC 800307FC 00000000 */ nop /* BC00 80030800 450101CA */ bc1t .L80030F2C /* BC04 80030804 00000000 */ nop /* BC08 80030808 8E840000 */ lw $a0, ($s4) /* BC0C 8003080C 24820002 */ addiu $v0, $a0, 2 /* BC10 80030810 2C420003 */ sltiu $v0, $v0, 3 /* BC14 80030814 144001C5 */ bnez $v0, .L80030F2C /* BC18 80030818 00000000 */ nop /* BC1C 8003081C 8C830000 */ lw $v1, ($a0) /* BC20 80030820 8E020000 */ lw $v0, ($s0) /* BC24 80030824 146201C1 */ bne $v1, $v0, .L80030F2C /* BC28 80030828 00000000 */ nop /* BC2C 8003082C C4820004 */ lwc1 $f2, 4($a0) /* BC30 80030830 C6000004 */ lwc1 $f0, 4($s0) /* BC34 80030834 46001032 */ c.eq.s $f2, $f0 /* BC38 80030838 00000000 */ nop /* BC3C 8003083C 450001BB */ bc1f .L80030F2C /* BC40 80030840 00000000 */ nop /* BC44 80030844 C4820008 */ lwc1 $f2, 8($a0) /* BC48 80030848 C6000008 */ lwc1 $f0, 8($s0) /* BC4C 8003084C 46001032 */ c.eq.s $f2, $f0 /* BC50 80030850 00000000 */ nop /* BC54 80030854 450001B5 */ bc1f .L80030F2C /* BC58 80030858 00000000 */ nop /* BC5C 8003085C C4820024 */ lwc1 $f2, 0x24($a0) /* BC60 80030860 C6000024 */ lwc1 $f0, 0x24($s0) /* BC64 80030864 46001032 */ c.eq.s $f2, $f0 /* BC68 80030868 00000000 */ nop /* BC6C 8003086C 450001AF */ bc1f .L80030F2C /* BC70 80030870 00000000 */ nop /* BC74 80030874 8C830028 */ lw $v1, 0x28($a0) /* BC78 80030878 8E020028 */ lw $v0, 0x28($s0) /* BC7C 8003087C 546201AB */ bnel $v1, $v0, .L80030F2C /* BC80 80030880 E6C40000 */ swc1 $f4, ($s6) /* BC84 80030884 0800C3CB */ j .L80030F2C /* BC88 80030888 00000000 */ nop /* BC8C 8003088C C6040004 */ lwc1 $f4, 4($s0) /* BC90 80030890 44800000 */ mtc1 $zero, $f0 /* BC94 80030894 00000000 */ nop /* BC98 80030898 4600203C */ c.lt.s $f4, $f0 /* BC9C 8003089C 00000000 */ nop /* BCA0 800308A0 45000008 */ bc1f .L800308C4 /* BCA4 800308A4 00000000 */ nop /* BCA8 800308A8 C600000C */ lwc1 $f0, 0xc($s0) /* BCAC 800308AC 4600C581 */ sub.s $f22, $f24, $f0 /* BCB0 800308B0 C6020014 */ lwc1 $f2, 0x14($s0) /* BCB4 800308B4 46002007 */ neg.s $f0, $f4 /* BCB8 800308B8 E6200004 */ swc1 $f0, 4($s1) /* BCBC 800308BC 0800C236 */ j .L800308D8 /* BCC0 800308C0 4602D501 */ sub.s $f20, $f26, $f2 .L800308C4: /* BCC4 800308C4 C600000C */ lwc1 $f0, 0xc($s0) /* BCC8 800308C8 46180581 */ sub.s $f22, $f0, $f24 /* BCCC 800308CC C6000014 */ lwc1 $f0, 0x14($s0) /* BCD0 800308D0 E6240004 */ swc1 $f4, 4($s1) /* BCD4 800308D4 461A0501 */ sub.s $f20, $f0, $f26 .L800308D8: /* BCD8 800308D8 4406B000 */ mfc1 $a2, $f22 /* BCDC 800308DC 44806000 */ mtc1 $zero, $f12 /* BCE0 800308E0 4407A000 */ mfc1 $a3, $f20 /* BCE4 800308E4 0C00A710 */ jal func_80029C40 /* BCE8 800308E8 46006386 */ mov.s $f14, $f12 /* BCEC 800308EC E6200000 */ swc1 $f0, ($s1) /* BCF0 800308F0 C6000008 */ lwc1 $f0, 8($s0) /* BCF4 800308F4 E6200008 */ swc1 $f0, 8($s1) /* BCF8 800308F8 C6000024 */ lwc1 $f0, 0x24($s0) /* BCFC 800308FC E620000C */ swc1 $f0, 0xc($s1) /* BD00 80030900 8E020028 */ lw $v0, 0x28($s0) /* BD04 80030904 5040003E */ beql $v0, $zero, .L80030A00 /* BD08 80030908 E6380010 */ swc1 $f24, 0x10($s1) /* BD0C 8003090C C600000C */ lwc1 $f0, 0xc($s0) /* BD10 80030910 4600C581 */ sub.s $f22, $f24, $f0 /* BD14 80030914 4616B082 */ mul.s $f2, $f22, $f22 /* BD18 80030918 00000000 */ nop /* BD1C 8003091C C6000014 */ lwc1 $f0, 0x14($s0) /* BD20 80030920 4600D501 */ sub.s $f20, $f26, $f0 /* BD24 80030924 4614A002 */ mul.s $f0, $f20, $f20 /* BD28 80030928 00000000 */ nop /* BD2C 8003092C 46001600 */ add.s $f24, $f2, $f0 /* BD30 80030930 4480E000 */ mtc1 $zero, $f28 /* BD34 80030934 00000000 */ nop /* BD38 80030938 461CC032 */ c.eq.s $f24, $f28 /* BD3C 8003093C 00000000 */ nop /* BD40 80030940 45010031 */ bc1t .L80030A08 /* BD44 80030944 00000000 */ nop /* BD48 80030948 4600C184 */ sqrt.s $f6, $f24 /* BD4C 8003094C 46063032 */ c.eq.s $f6, $f6 /* BD50 80030950 00000000 */ nop /* BD54 80030954 45010004 */ bc1t .L80030968 /* BD58 80030958 00000000 */ nop /* BD5C 8003095C 0C0187B0 */ jal func_80061EC0 /* BD60 80030960 4600C306 */ mov.s $f12, $f24 /* BD64 80030964 46000186 */ mov.s $f6, $f0 .L80030968: /* BD68 80030968 C6040018 */ lwc1 $f4, 0x18($s0) /* BD6C 8003096C C600000C */ lwc1 $f0, 0xc($s0) /* BD70 80030970 46002101 */ sub.s $f4, $f4, $f0 /* BD74 80030974 46042102 */ mul.s $f4, $f4, $f4 /* BD78 80030978 00000000 */ nop /* BD7C 8003097C C6020014 */ lwc1 $f2, 0x14($s0) /* BD80 80030980 C6000020 */ lwc1 $f0, 0x20($s0) /* BD84 80030984 46020001 */ sub.s $f0, $f0, $f2 /* BD88 80030988 46000002 */ mul.s $f0, $f0, $f0 /* BD8C 8003098C 00000000 */ nop /* BD90 80030990 3C013F80 */ lui $at, 0x3f80 /* BD94 80030994 44811000 */ mtc1 $at, $f2 /* BD98 80030998 46002300 */ add.s $f12, $f4, $f0 /* BD9C 8003099C 46061603 */ div.s $f24, $f2, $f6 /* BDA0 800309A0 46006084 */ sqrt.s $f2, $f12 /* BDA4 800309A4 46021032 */ c.eq.s $f2, $f2 /* BDA8 800309A8 00000000 */ nop /* BDAC 800309AC 45010004 */ bc1t .L800309C0 /* BDB0 800309B0 00000000 */ nop /* BDB4 800309B4 0C0187B0 */ jal func_80061EC0 /* BDB8 800309B8 00000000 */ nop /* BDBC 800309BC 46000086 */ mov.s $f2, $f0 .L800309C0: /* BDC0 800309C0 4602B002 */ mul.s $f0, $f22, $f2 /* BDC4 800309C4 00000000 */ nop /* BDC8 800309C8 4602A102 */ mul.s $f4, $f20, $f2 /* BDCC 800309CC 00000000 */ nop /* BDD0 800309D0 46180002 */ mul.s $f0, $f0, $f24 /* BDD4 800309D4 00000000 */ nop /* BDD8 800309D8 C602000C */ lwc1 $f2, 0xc($s0) /* BDDC 800309DC 46001080 */ add.s $f2, $f2, $f0 /* BDE0 800309E0 46182102 */ mul.s $f4, $f4, $f24 /* BDE4 800309E4 00000000 */ nop /* BDE8 800309E8 E63E0014 */ swc1 $f30, 0x14($s1) /* BDEC 800309EC E6220010 */ swc1 $f2, 0x10($s1) /* BDF0 800309F0 C6000014 */ lwc1 $f0, 0x14($s0) /* BDF4 800309F4 46040000 */ add.s $f0, $f0, $f4 /* BDF8 800309F8 0800C282 */ j .L80030A08 /* BDFC 800309FC E6200018 */ swc1 $f0, 0x18($s1) .L80030A00: /* BE00 80030A00 E63E0014 */ swc1 $f30, 0x14($s1) /* BE04 80030A04 E63A0018 */ swc1 $f26, 0x18($s1) .L80030A08: /* BE08 80030A08 12E00191 */ beqz $s7, .L80031050 /* BE0C 80030A0C 00000000 */ nop /* BE10 80030A10 C6C00000 */ lwc1 $f0, ($s6) /* BE14 80030A14 3C013F80 */ lui $at, 0x3f80 /* BE18 80030A18 44812000 */ mtc1 $at, $f4 /* BE1C 80030A1C 00000000 */ nop /* BE20 80030A20 46040032 */ c.eq.s $f0, $f4 /* BE24 80030A24 00000000 */ nop /* BE28 80030A28 45010140 */ bc1t .L80030F2C /* BE2C 80030A2C 00000000 */ nop /* BE30 80030A30 8E840000 */ lw $a0, ($s4) /* BE34 80030A34 24820002 */ addiu $v0, $a0, 2 /* BE38 80030A38 2C420003 */ sltiu $v0, $v0, 3 /* BE3C 80030A3C 1440013B */ bnez $v0, .L80030F2C /* BE40 80030A40 00000000 */ nop /* BE44 80030A44 8C830000 */ lw $v1, ($a0) /* BE48 80030A48 8E020000 */ lw $v0, ($s0) /* BE4C 80030A4C 14620137 */ bne $v1, $v0, .L80030F2C /* BE50 80030A50 00000000 */ nop /* BE54 80030A54 C4820004 */ lwc1 $f2, 4($a0) /* BE58 80030A58 C6000004 */ lwc1 $f0, 4($s0) /* BE5C 80030A5C 46001032 */ c.eq.s $f2, $f0 /* BE60 80030A60 00000000 */ nop /* BE64 80030A64 45000131 */ bc1f .L80030F2C /* BE68 80030A68 00000000 */ nop /* BE6C 80030A6C C4820008 */ lwc1 $f2, 8($a0) /* BE70 80030A70 C6000008 */ lwc1 $f0, 8($s0) /* BE74 80030A74 46001032 */ c.eq.s $f2, $f0 /* BE78 80030A78 00000000 */ nop /* BE7C 80030A7C 4500012B */ bc1f .L80030F2C /* BE80 80030A80 00000000 */ nop /* BE84 80030A84 C4820024 */ lwc1 $f2, 0x24($a0) /* BE88 80030A88 C6000024 */ lwc1 $f0, 0x24($s0) /* BE8C 80030A8C 46001032 */ c.eq.s $f2, $f0 /* BE90 80030A90 00000000 */ nop /* BE94 80030A94 45000125 */ bc1f .L80030F2C /* BE98 80030A98 00000000 */ nop /* BE9C 80030A9C 8C830028 */ lw $v1, 0x28($a0) /* BEA0 80030AA0 8E020028 */ lw $v0, 0x28($s0) /* BEA4 80030AA4 10620121 */ beq $v1, $v0, .L80030F2C /* BEA8 80030AA8 00000000 */ nop /* BEAC 80030AAC C482000C */ lwc1 $f2, 0xc($a0) /* BEB0 80030AB0 C600000C */ lwc1 $f0, 0xc($s0) /* BEB4 80030AB4 46001032 */ c.eq.s $f2, $f0 /* BEB8 80030AB8 00000000 */ nop /* BEBC 80030ABC 4500011B */ bc1f .L80030F2C /* BEC0 80030AC0 00000000 */ nop /* BEC4 80030AC4 C4820014 */ lwc1 $f2, 0x14($a0) /* BEC8 80030AC8 C6000014 */ lwc1 $f0, 0x14($s0) /* BECC 80030ACC 46001032 */ c.eq.s $f2, $f0 /* BED0 80030AD0 00000000 */ nop /* BED4 80030AD4 45030115 */ bc1tl .L80030F2C /* BED8 80030AD8 E6C40000 */ swc1 $f4, ($s6) /* BEDC 80030ADC 0800C3CB */ j .L80030F2C /* BEE0 80030AE0 00000000 */ nop /* BEE4 80030AE4 8E020028 */ lw $v0, 0x28($s0) /* BEE8 80030AE8 1440005D */ bnez $v0, .L80030C60 /* BEEC 80030AEC 00000000 */ nop /* BEF0 80030AF0 C612000C */ lwc1 $f18, 0xc($s0) /* BEF4 80030AF4 C6100018 */ lwc1 $f16, 0x18($s0) /* BEF8 80030AF8 C60A0014 */ lwc1 $f10, 0x14($s0) /* BEFC 80030AFC C60C0020 */ lwc1 $f12, 0x20($s0) /* BF00 80030B00 C6040010 */ lwc1 $f4, 0x10($s0) /* BF04 80030B04 C60E001C */ lwc1 $f14, 0x1c($s0) /* BF08 80030B08 46109032 */ c.eq.s $f18, $f16 /* BF0C 80030B0C 00000000 */ nop /* BF10 80030B10 45000007 */ bc1f .L80030B30 /* BF14 80030B14 46048201 */ sub.s $f8, $f16, $f4 /* BF18 80030B18 460C5032 */ c.eq.s $f10, $f12 /* BF1C 80030B1C 00000000 */ nop /* BF20 80030B20 45000003 */ bc1f .L80030B30 /* BF24 80030B24 00000000 */ nop /* BF28 80030B28 46002486 */ mov.s $f18, $f4 /* BF2C 80030B2C 46007286 */ mov.s $f10, $f14 .L80030B30: /* BF30 80030B30 44800000 */ mtc1 $zero, $f0 /* BF34 80030B34 00000000 */ nop /* BF38 80030B38 46004032 */ c.eq.s $f8, $f0 /* BF3C 80030B3C 00000000 */ nop /* BF40 80030B40 45020017 */ bc1fl .L80030BA0 /* BF44 80030B44 460C5181 */ sub.s $f6, $f10, $f12 /* BF48 80030B48 46128181 */ sub.s $f6, $f16, $f18 /* BF4C 80030B4C 46064102 */ mul.s $f4, $f8, $f6 /* BF50 80030B50 00000000 */ nop /* BF54 80030B54 461A6081 */ sub.s $f2, $f12, $f26 /* BF58 80030B58 46081082 */ mul.s $f2, $f2, $f8 /* BF5C 80030B5C 00000000 */ nop /* BF60 80030B60 460C5281 */ sub.s $f10, $f10, $f12 /* BF64 80030B64 460E6201 */ sub.s $f8, $f12, $f14 /* BF68 80030B68 4610C001 */ sub.s $f0, $f24, $f16 /* BF6C 80030B6C 46081083 */ div.s $f2, $f2, $f8 /* BF70 80030B70 46020000 */ add.s $f0, $f0, $f2 /* BF74 80030B74 46005082 */ mul.s $f2, $f10, $f0 /* BF78 80030B78 00000000 */ nop /* BF7C 80030B7C 46003182 */ mul.s $f6, $f6, $f0 /* BF80 80030B80 00000000 */ nop /* BF84 80030B84 46082103 */ div.s $f4, $f4, $f8 /* BF88 80030B88 460A2101 */ sub.s $f4, $f4, $f10 /* BF8C 80030B8C 46041083 */ div.s $f2, $f2, $f4 /* BF90 80030B90 46181200 */ add.s $f8, $f2, $f24 /* BF94 80030B94 46043183 */ div.s $f6, $f6, $f4 /* BF98 80030B98 0800C2FC */ j .L80030BF0 /* BF9C 80030B9C 461A3000 */ add.s $f0, $f6, $f26 .L80030BA0: /* BFA0 80030BA0 460E6081 */ sub.s $f2, $f12, $f14 /* BFA4 80030BA4 46023102 */ mul.s $f4, $f6, $f2 /* BFA8 80030BA8 00000000 */ nop /* BFAC 80030BAC 46188001 */ sub.s $f0, $f16, $f24 /* BFB0 80030BB0 46020002 */ mul.s $f0, $f0, $f2 /* BFB4 80030BB4 00000000 */ nop /* BFB8 80030BB8 460CD081 */ sub.s $f2, $f26, $f12 /* BFBC 80030BBC 46080003 */ div.s $f0, $f0, $f8 /* BFC0 80030BC0 46001080 */ add.s $f2, $f2, $f0 /* BFC4 80030BC4 46023182 */ mul.s $f6, $f6, $f2 /* BFC8 80030BC8 00000000 */ nop /* BFCC 80030BCC 46128001 */ sub.s $f0, $f16, $f18 /* BFD0 80030BD0 46020082 */ mul.s $f2, $f0, $f2 /* BFD4 80030BD4 00000000 */ nop /* BFD8 80030BD8 46082103 */ div.s $f4, $f4, $f8 /* BFDC 80030BDC 46002101 */ sub.s $f4, $f4, $f0 /* BFE0 80030BE0 46043183 */ div.s $f6, $f6, $f4 /* BFE4 80030BE4 46183200 */ add.s $f8, $f6, $f24 /* BFE8 80030BE8 46041083 */ div.s $f2, $f2, $f4 /* BFEC 80030BEC 461A1000 */ add.s $f0, $f2, $f26 .L80030BF0: /* BFF0 80030BF0 E6280010 */ swc1 $f8, 0x10($s1) /* BFF4 80030BF4 E63E0014 */ swc1 $f30, 0x14($s1) /* BFF8 80030BF8 12A0003E */ beqz $s5, .L80030CF4 /* BFFC 80030BFC E6200018 */ swc1 $f0, 0x18($s1) /* C000 80030C00 C6020018 */ lwc1 $f2, 0x18($s0) /* C004 80030C04 C600000C */ lwc1 $f0, 0xc($s0) /* C008 80030C08 46001081 */ sub.s $f2, $f2, $f0 /* C00C 80030C0C C6000014 */ lwc1 $f0, 0x14($s0) /* C010 80030C10 44061000 */ mfc1 $a2, $f2 /* C014 80030C14 C6020020 */ lwc1 $f2, 0x20($s0) /* C018 80030C18 4480A000 */ mtc1 $zero, $f20 /* C01C 80030C1C 46001081 */ sub.s $f2, $f2, $f0 /* C020 80030C20 4600A306 */ mov.s $f12, $f20 /* C024 80030C24 44071000 */ mfc1 $a3, $f2 /* C028 80030C28 0C00A710 */ jal func_80029C40 /* C02C 80030C2C 4600A386 */ mov.s $f14, $f20 /* C030 80030C30 E6200000 */ swc1 $f0, ($s1) /* C034 80030C34 C6000004 */ lwc1 $f0, 4($s0) /* C038 80030C38 4614003C */ c.lt.s $f0, $f20 /* C03C 80030C3C 00000000 */ nop /* C040 80030C40 45030001 */ bc1tl .L80030C48 /* C044 80030C44 46000007 */ neg.s $f0, $f0 .L80030C48: /* C048 80030C48 E6200004 */ swc1 $f0, 4($s1) /* C04C 80030C4C C6000008 */ lwc1 $f0, 8($s0) /* C050 80030C50 E6200008 */ swc1 $f0, 8($s1) /* C054 80030C54 C6000024 */ lwc1 $f0, 0x24($s0) /* C058 80030C58 0800C33D */ j .L80030CF4 /* C05C 80030C5C E620000C */ swc1 $f0, 0xc($s1) .L80030C60: /* C060 80030C60 12A0001D */ beqz $s5, .L80030CD8 /* C064 80030C64 00000000 */ nop /* C068 80030C68 C6020018 */ lwc1 $f2, 0x18($s0) /* C06C 80030C6C C600000C */ lwc1 $f0, 0xc($s0) /* C070 80030C70 46001081 */ sub.s $f2, $f2, $f0 /* C074 80030C74 C6000014 */ lwc1 $f0, 0x14($s0) /* C078 80030C78 44061000 */ mfc1 $a2, $f2 /* C07C 80030C7C C6020020 */ lwc1 $f2, 0x20($s0) /* C080 80030C80 4480A000 */ mtc1 $zero, $f20 /* C084 80030C84 46001081 */ sub.s $f2, $f2, $f0 /* C088 80030C88 4600A306 */ mov.s $f12, $f20 /* C08C 80030C8C 44071000 */ mfc1 $a3, $f2 /* C090 80030C90 0C00A710 */ jal func_80029C40 /* C094 80030C94 4600A386 */ mov.s $f14, $f20 /* C098 80030C98 E6200000 */ swc1 $f0, ($s1) /* C09C 80030C9C C6000004 */ lwc1 $f0, 4($s0) /* C0A0 80030CA0 4614003C */ c.lt.s $f0, $f20 /* C0A4 80030CA4 00000000 */ nop /* C0A8 80030CA8 45030001 */ bc1tl .L80030CB0 /* C0AC 80030CAC 46000007 */ neg.s $f0, $f0 .L80030CB0: /* C0B0 80030CB0 E6200004 */ swc1 $f0, 4($s1) /* C0B4 80030CB4 C6000008 */ lwc1 $f0, 8($s0) /* C0B8 80030CB8 E6200008 */ swc1 $f0, 8($s1) /* C0BC 80030CBC C6000024 */ lwc1 $f0, 0x24($s0) /* C0C0 80030CC0 E620000C */ swc1 $f0, 0xc($s1) /* C0C4 80030CC4 C6000018 */ lwc1 $f0, 0x18($s0) /* C0C8 80030CC8 E6200010 */ swc1 $f0, 0x10($s1) /* C0CC 80030CCC C6000020 */ lwc1 $f0, 0x20($s0) /* C0D0 80030CD0 0800C33C */ j .L80030CF0 /* C0D4 80030CD4 E6200018 */ swc1 $f0, 0x18($s1) .L80030CD8: /* C0D8 80030CD8 52E00006 */ beql $s7, $zero, .L80030CF4 /* C0DC 80030CDC E63E0014 */ swc1 $f30, 0x14($s1) /* C0E0 80030CE0 C6400010 */ lwc1 $f0, 0x10($s2) /* C0E4 80030CE4 E6200010 */ swc1 $f0, 0x10($s1) /* C0E8 80030CE8 C6400018 */ lwc1 $f0, 0x18($s2) /* C0EC 80030CEC E6200018 */ swc1 $f0, 0x18($s1) .L80030CF0: /* C0F0 80030CF0 E63E0014 */ swc1 $f30, 0x14($s1) .L80030CF4: /* C0F4 80030CF4 0800C3CA */ j .L80030F28 /* C0F8 80030CF8 2402FFFF */ addiu $v0, $zero, -1 /* C0FC 80030CFC 8E020028 */ lw $v0, 0x28($s0) /* C100 80030D00 1440003A */ bnez $v0, .L80030DEC /* C104 80030D04 00000000 */ nop /* C108 80030D08 C60C0010 */ lwc1 $f12, 0x10($s0) /* C10C 80030D0C C6060018 */ lwc1 $f6, 0x18($s0) /* C110 80030D10 460C3181 */ sub.s $f6, $f6, $f12 /* C114 80030D14 46063102 */ mul.s $f4, $f6, $f6 /* C118 80030D18 00000000 */ nop /* C11C 80030D1C C60A001C */ lwc1 $f10, 0x1c($s0) /* C120 80030D20 C6080020 */ lwc1 $f8, 0x20($s0) /* C124 80030D24 460A4201 */ sub.s $f8, $f8, $f10 /* C128 80030D28 46084382 */ mul.s $f14, $f8, $f8 /* C12C 80030D2C 00000000 */ nop /* C130 80030D30 460CC081 */ sub.s $f2, $f24, $f12 /* C134 80030D34 46061082 */ mul.s $f2, $f2, $f6 /* C138 80030D38 00000000 */ nop /* C13C 80030D3C 460AD001 */ sub.s $f0, $f26, $f10 /* C140 80030D40 46080002 */ mul.s $f0, $f0, $f8 /* C144 80030D44 00000000 */ nop /* C148 80030D48 460E2100 */ add.s $f4, $f4, $f14 /* C14C 80030D4C 46001080 */ add.s $f2, $f2, $f0 /* C150 80030D50 46041103 */ div.s $f4, $f2, $f4 /* C154 80030D54 46062182 */ mul.s $f6, $f4, $f6 /* C158 80030D58 00000000 */ nop /* C15C 80030D5C 46082102 */ mul.s $f4, $f4, $f8 /* C160 80030D60 00000000 */ nop /* C164 80030D64 460C3080 */ add.s $f2, $f6, $f12 /* C168 80030D68 44800000 */ mtc1 $zero, $f0 /* C16C 80030D6C 460A2100 */ add.s $f4, $f4, $f10 /* C170 80030D70 E63E0014 */ swc1 $f30, 0x14($s1) /* C174 80030D74 E6220010 */ swc1 $f2, 0x10($s1) /* C178 80030D78 E6240018 */ swc1 $f4, 0x18($s1) /* C17C 80030D7C C6080004 */ lwc1 $f8, 4($s0) /* C180 80030D80 4600403C */ c.lt.s $f8, $f0 /* C184 80030D84 00000000 */ nop /* C188 80030D88 45000008 */ bc1f .L80030DAC /* C18C 80030D8C 00000000 */ nop /* C190 80030D90 C600000C */ lwc1 $f0, 0xc($s0) /* C194 80030D94 46001581 */ sub.s $f22, $f2, $f0 /* C198 80030D98 C6020014 */ lwc1 $f2, 0x14($s0) /* C19C 80030D9C 46004007 */ neg.s $f0, $f8 /* C1A0 80030DA0 E6200004 */ swc1 $f0, 4($s1) /* C1A4 80030DA4 0800C370 */ j .L80030DC0 /* C1A8 80030DA8 46022501 */ sub.s $f20, $f4, $f2 .L80030DAC: /* C1AC 80030DAC C600000C */ lwc1 $f0, 0xc($s0) /* C1B0 80030DB0 46020581 */ sub.s $f22, $f0, $f2 /* C1B4 80030DB4 C6000014 */ lwc1 $f0, 0x14($s0) /* C1B8 80030DB8 E6280004 */ swc1 $f8, 4($s1) /* C1BC 80030DBC 46040501 */ sub.s $f20, $f0, $f4 .L80030DC0: /* C1C0 80030DC0 4406B000 */ mfc1 $a2, $f22 /* C1C4 80030DC4 44806000 */ mtc1 $zero, $f12 /* C1C8 80030DC8 4407A000 */ mfc1 $a3, $f20 /* C1CC 80030DCC 0C00A710 */ jal func_80029C40 /* C1D0 80030DD0 46006386 */ mov.s $f14, $f12 /* C1D4 80030DD4 E6200000 */ swc1 $f0, ($s1) /* C1D8 80030DD8 C6000008 */ lwc1 $f0, 8($s0) /* C1DC 80030DDC E6200008 */ swc1 $f0, 8($s1) /* C1E0 80030DE0 C6000024 */ lwc1 $f0, 0x24($s0) /* C1E4 80030DE4 0800C3A6 */ j .L80030E98 /* C1E8 80030DE8 E620000C */ swc1 $f0, 0xc($s1) .L80030DEC: /* C1EC 80030DEC 12A00023 */ beqz $s5, .L80030E7C /* C1F0 80030DF0 00000000 */ nop /* C1F4 80030DF4 C6060004 */ lwc1 $f6, 4($s0) /* C1F8 80030DF8 44800000 */ mtc1 $zero, $f0 /* C1FC 80030DFC 00000000 */ nop /* C200 80030E00 4600303C */ c.lt.s $f6, $f0 /* C204 80030E04 00000000 */ nop /* C208 80030E08 4500000A */ bc1f .L80030E34 /* C20C 80030E0C 00000000 */ nop /* C210 80030E10 C6020018 */ lwc1 $f2, 0x18($s0) /* C214 80030E14 C600000C */ lwc1 $f0, 0xc($s0) /* C218 80030E18 46001581 */ sub.s $f22, $f2, $f0 /* C21C 80030E1C C6040020 */ lwc1 $f4, 0x20($s0) /* C220 80030E20 C6020014 */ lwc1 $f2, 0x14($s0) /* C224 80030E24 46003007 */ neg.s $f0, $f6 /* C228 80030E28 E6200004 */ swc1 $f0, 4($s1) /* C22C 80030E2C 0800C394 */ j .L80030E50 /* C230 80030E30 46022501 */ sub.s $f20, $f4, $f2 .L80030E34: /* C234 80030E34 C602000C */ lwc1 $f2, 0xc($s0) /* C238 80030E38 C6000018 */ lwc1 $f0, 0x18($s0) /* C23C 80030E3C 46001581 */ sub.s $f22, $f2, $f0 /* C240 80030E40 C6020014 */ lwc1 $f2, 0x14($s0) /* C244 80030E44 C6000020 */ lwc1 $f0, 0x20($s0) /* C248 80030E48 E6260004 */ swc1 $f6, 4($s1) /* C24C 80030E4C 46001501 */ sub.s $f20, $f2, $f0 .L80030E50: /* C250 80030E50 4406B000 */ mfc1 $a2, $f22 /* C254 80030E54 44806000 */ mtc1 $zero, $f12 /* C258 80030E58 4407A000 */ mfc1 $a3, $f20 /* C25C 80030E5C 0C00A710 */ jal func_80029C40 /* C260 80030E60 46006386 */ mov.s $f14, $f12 /* C264 80030E64 E6200000 */ swc1 $f0, ($s1) /* C268 80030E68 C6000008 */ lwc1 $f0, 8($s0) /* C26C 80030E6C E6200008 */ swc1 $f0, 8($s1) /* C270 80030E70 C6000024 */ lwc1 $f0, 0x24($s0) /* C274 80030E74 0800C3A1 */ j .L80030E84 /* C278 80030E78 E620000C */ swc1 $f0, 0xc($s1) .L80030E7C: /* C27C 80030E7C 52E00006 */ beql $s7, $zero, .L80030E98 /* C280 80030E80 E63E0014 */ swc1 $f30, 0x14($s1) .L80030E84: /* C284 80030E84 C6000018 */ lwc1 $f0, 0x18($s0) /* C288 80030E88 E6200010 */ swc1 $f0, 0x10($s1) /* C28C 80030E8C C6000020 */ lwc1 $f0, 0x20($s0) /* C290 80030E90 E6200018 */ swc1 $f0, 0x18($s1) /* C294 80030E94 E63E0014 */ swc1 $f30, 0x14($s1) .L80030E98: /* C298 80030E98 0800C3CA */ j .L80030F28 /* C29C 80030E9C 2402FFFF */ addiu $v0, $zero, -1 /* C2A0 80030EA0 E6380010 */ swc1 $f24, 0x10($s1) /* C2A4 80030EA4 E63E0014 */ swc1 $f30, 0x14($s1) /* C2A8 80030EA8 0800C3CB */ j .L80030F2C /* C2AC 80030EAC E63A0018 */ swc1 $f26, 0x18($s1) /* C2B0 80030EB0 C6020018 */ lwc1 $f2, 0x18($s0) /* C2B4 80030EB4 C600000C */ lwc1 $f0, 0xc($s0) /* C2B8 80030EB8 46001081 */ sub.s $f2, $f2, $f0 /* C2BC 80030EBC C6000014 */ lwc1 $f0, 0x14($s0) /* C2C0 80030EC0 44061000 */ mfc1 $a2, $f2 /* C2C4 80030EC4 C6020020 */ lwc1 $f2, 0x20($s0) /* C2C8 80030EC8 4480A000 */ mtc1 $zero, $f20 /* C2CC 80030ECC 46001081 */ sub.s $f2, $f2, $f0 /* C2D0 80030ED0 4600A306 */ mov.s $f12, $f20 /* C2D4 80030ED4 44071000 */ mfc1 $a3, $f2 /* C2D8 80030ED8 0C00A710 */ jal func_80029C40 /* C2DC 80030EDC 4600A386 */ mov.s $f14, $f20 /* C2E0 80030EE0 E6200000 */ swc1 $f0, ($s1) /* C2E4 80030EE4 C6000004 */ lwc1 $f0, 4($s0) /* C2E8 80030EE8 4614003C */ c.lt.s $f0, $f20 /* C2EC 80030EEC 00000000 */ nop /* C2F0 80030EF0 45030001 */ bc1tl .L80030EF8 /* C2F4 80030EF4 46000007 */ neg.s $f0, $f0 .L80030EF8: /* C2F8 80030EF8 E6200004 */ swc1 $f0, 4($s1) /* C2FC 80030EFC C6000008 */ lwc1 $f0, 8($s0) /* C300 80030F00 E6200008 */ swc1 $f0, 8($s1) /* C304 80030F04 C6000024 */ lwc1 $f0, 0x24($s0) /* C308 80030F08 E620000C */ swc1 $f0, 0xc($s1) /* C30C 80030F0C C6000018 */ lwc1 $f0, 0x18($s0) /* C310 80030F10 E6200010 */ swc1 $f0, 0x10($s1) /* C314 80030F14 C600001C */ lwc1 $f0, 0x1c($s0) /* C318 80030F18 E6200014 */ swc1 $f0, 0x14($s1) /* C31C 80030F1C C6000020 */ lwc1 $f0, 0x20($s0) /* C320 80030F20 2402FFFE */ addiu $v0, $zero, -2 /* C324 80030F24 E6200018 */ swc1 $f0, 0x18($s1) .L80030F28: /* C328 80030F28 AE820000 */ sw $v0, ($s4) .L80030F2C: /* C32C 80030F2C 12E00048 */ beqz $s7, .L80031050 /* C330 80030F30 24020005 */ addiu $v0, $zero, 5 /* C334 80030F34 8E030000 */ lw $v1, ($s0) /* C338 80030F38 10620007 */ beq $v1, $v0, .L80030F58 /* C33C 80030F3C 00000000 */ nop /* C340 80030F40 C6420000 */ lwc1 $f2, ($s2) /* C344 80030F44 C6600000 */ lwc1 $f0, ($s3) /* C348 80030F48 46001032 */ c.eq.s $f2, $f0 /* C34C 80030F4C 00000000 */ nop /* C350 80030F50 4501003F */ bc1t .L80031050 /* C354 80030F54 00000000 */ nop .L80030F58: /* C358 80030F58 C6400000 */ lwc1 $f0, ($s2) /* C35C 80030F5C C6620000 */ lwc1 $f2, ($s3) /* C360 80030F60 46020001 */ sub.s $f0, $f0, $f2 /* C364 80030F64 3C014040 */ lui $at, 0x4040 /* C368 80030F68 44811000 */ mtc1 $at, $f2 /* C36C 80030F6C 46000005 */ abs.s $f0, $f0 /* C370 80030F70 4602003C */ c.lt.s $f0, $f2 /* C374 80030F74 00000000 */ nop /* C378 80030F78 45000035 */ bc1f .L80031050 /* C37C 80030F7C 00000000 */ nop /* C380 80030F80 C6400004 */ lwc1 $f0, 4($s2) /* C384 80030F84 C6620004 */ lwc1 $f2, 4($s3) /* C388 80030F88 46020001 */ sub.s $f0, $f0, $f2 /* C38C 80030F8C 3C014120 */ lui $at, 0x4120 /* C390 80030F90 44812000 */ mtc1 $at, $f4 /* C394 80030F94 46000005 */ abs.s $f0, $f0 /* C398 80030F98 4604003C */ c.lt.s $f0, $f4 /* C39C 80030F9C 00000000 */ nop /* C3A0 80030FA0 4500002B */ bc1f .L80031050 /* C3A4 80030FA4 00000000 */ nop /* C3A8 80030FA8 C6400008 */ lwc1 $f0, 8($s2) /* C3AC 80030FAC C6620008 */ lwc1 $f2, 8($s3) /* C3B0 80030FB0 46020001 */ sub.s $f0, $f0, $f2 /* C3B4 80030FB4 3C013F80 */ lui $at, 0x3f80 /* C3B8 80030FB8 44813000 */ mtc1 $at, $f6 /* C3BC 80030FBC 46000005 */ abs.s $f0, $f0 /* C3C0 80030FC0 4606003C */ c.lt.s $f0, $f6 /* C3C4 80030FC4 00000000 */ nop /* C3C8 80030FC8 45000021 */ bc1f .L80031050 /* C3CC 80030FCC 00000000 */ nop /* C3D0 80030FD0 C640000C */ lwc1 $f0, 0xc($s2) /* C3D4 80030FD4 C662000C */ lwc1 $f2, 0xc($s3) /* C3D8 80030FD8 46020001 */ sub.s $f0, $f0, $f2 /* C3DC 80030FDC 46000005 */ abs.s $f0, $f0 /* C3E0 80030FE0 4606003C */ c.lt.s $f0, $f6 /* C3E4 80030FE4 00000000 */ nop /* C3E8 80030FE8 45000019 */ bc1f .L80031050 /* C3EC 80030FEC 00000000 */ nop /* C3F0 80030FF0 C6400010 */ lwc1 $f0, 0x10($s2) /* C3F4 80030FF4 C6620010 */ lwc1 $f2, 0x10($s3) /* C3F8 80030FF8 46020001 */ sub.s $f0, $f0, $f2 /* C3FC 80030FFC 46000005 */ abs.s $f0, $f0 /* C400 80031000 4604003C */ c.lt.s $f0, $f4 /* C404 80031004 00000000 */ nop /* C408 80031008 45000011 */ bc1f .L80031050 /* C40C 8003100C 00000000 */ nop /* C410 80031010 C6400014 */ lwc1 $f0, 0x14($s2) /* C414 80031014 C6620014 */ lwc1 $f2, 0x14($s3) /* C418 80031018 46020001 */ sub.s $f0, $f0, $f2 /* C41C 8003101C 46000005 */ abs.s $f0, $f0 /* C420 80031020 4604003C */ c.lt.s $f0, $f4 /* C424 80031024 00000000 */ nop /* C428 80031028 45000009 */ bc1f .L80031050 /* C42C 8003102C 00000000 */ nop /* C430 80031030 C6400018 */ lwc1 $f0, 0x18($s2) /* C434 80031034 C6620018 */ lwc1 $f2, 0x18($s3) /* C438 80031038 46020001 */ sub.s $f0, $f0, $f2 /* C43C 8003103C 46000005 */ abs.s $f0, $f0 /* C440 80031040 4604003C */ c.lt.s $f0, $f4 /* C444 80031044 00000000 */ nop /* C448 80031048 45030001 */ bc1tl .L80031050 /* C44C 8003104C E6C60000 */ swc1 $f6, ($s6) .L80031050: /* C450 80031050 8E830000 */ lw $v1, ($s4) /* C454 80031054 2402FFFF */ addiu $v0, $zero, -1 /* C458 80031058 14620021 */ bne $v1, $v0, .L800310E0 /* C45C 8003105C 00000000 */ nop /* C460 80031060 12E00010 */ beqz $s7, .L800310A4 /* C464 80031064 00000000 */ nop /* C468 80031068 C6460010 */ lwc1 $f6, 0x10($s2) /* C46C 8003106C C6600010 */ lwc1 $f0, 0x10($s3) /* C470 80031070 C6440014 */ lwc1 $f4, 0x14($s2) /* C474 80031074 46003181 */ sub.s $f6, $f6, $f0 /* C478 80031078 C6600014 */ lwc1 $f0, 0x14($s3) /* C47C 8003107C C6420018 */ lwc1 $f2, 0x18($s2) /* C480 80031080 46002101 */ sub.s $f4, $f4, $f0 /* C484 80031084 C6600018 */ lwc1 $f0, 0x18($s3) /* C488 80031088 46001081 */ sub.s $f2, $f2, $f0 /* C48C 8003108C 3C01800A */ lui $at, %hi(D_8009E6F4) /* C490 80031090 E426E6F4 */ swc1 $f6, %lo(D_8009E6F4)($at) /* C494 80031094 3C01800A */ lui $at, %hi(D_8009E6F8) /* C498 80031098 E424E6F8 */ swc1 $f4, %lo(D_8009E6F8)($at) /* C49C 8003109C 3C01800A */ lui $at, %hi(D_8009E6FC) /* C4A0 800310A0 E422E6FC */ swc1 $f2, %lo(D_8009E6FC)($at) .L800310A4: /* C4A4 800310A4 C6600010 */ lwc1 $f0, 0x10($s3) /* C4A8 800310A8 3C01800A */ lui $at, %hi(D_8009E6F4) /* C4AC 800310AC C422E6F4 */ lwc1 $f2, %lo(D_8009E6F4)($at) /* C4B0 800310B0 46020000 */ add.s $f0, $f0, $f2 /* C4B4 800310B4 3C01800A */ lui $at, %hi(D_8009E6F8) /* C4B8 800310B8 C422E6F8 */ lwc1 $f2, %lo(D_8009E6F8)($at) /* C4BC 800310BC E6400010 */ swc1 $f0, 0x10($s2) /* C4C0 800310C0 C6600014 */ lwc1 $f0, 0x14($s3) /* C4C4 800310C4 46020000 */ add.s $f0, $f0, $f2 /* C4C8 800310C8 3C01800A */ lui $at, %hi(D_8009E6FC) /* C4CC 800310CC C422E6FC */ lwc1 $f2, %lo(D_8009E6FC)($at) /* C4D0 800310D0 E6400014 */ swc1 $f0, 0x14($s2) /* C4D4 800310D4 C6600018 */ lwc1 $f0, 0x18($s3) /* C4D8 800310D8 46020000 */ add.s $f0, $f0, $f2 /* C4DC 800310DC E6400018 */ swc1 $f0, 0x18($s2) .L800310E0: /* C4E0 800310E0 8FBF0048 */ lw $ra, 0x48($sp) /* C4E4 800310E4 8FB70044 */ lw $s7, 0x44($sp) /* C4E8 800310E8 8FB60040 */ lw $s6, 0x40($sp) /* C4EC 800310EC 8FB5003C */ lw $s5, 0x3c($sp) /* C4F0 800310F0 8FB40038 */ lw $s4, 0x38($sp) /* C4F4 800310F4 8FB30034 */ lw $s3, 0x34($sp) /* C4F8 800310F8 8FB20030 */ lw $s2, 0x30($sp) /* C4FC 800310FC 8FB1002C */ lw $s1, 0x2c($sp) /* C500 80031100 8FB00028 */ lw $s0, 0x28($sp) /* C504 80031104 D7BE0078 */ ldc1 $f30, 0x78($sp) /* C508 80031108 D7BC0070 */ ldc1 $f28, 0x70($sp) /* C50C 8003110C D7BA0068 */ ldc1 $f26, 0x68($sp) /* C510 80031110 D7B80060 */ ldc1 $f24, 0x60($sp) /* C514 80031114 D7B60058 */ ldc1 $f22, 0x58($sp) /* C518 80031118 D7B40050 */ ldc1 $f20, 0x50($sp) /* C51C 8003111C 03E00008 */ jr $ra /* C520 80031120 27BD0080 */ addiu $sp, $sp, 0x80