.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel test_ray_entities /* 38848 8005D448 27BDFE60 */ addiu $sp, $sp, -0x1a0 /* 3884C 8005D44C 44800000 */ mtc1 $zero, $f0 /* 38850 8005D450 2409FFFF */ addiu $t1, $zero, -1 /* 38854 8005D454 AFA90140 */ sw $t1, 0x140($sp) /* 38858 8005D458 8FA901C4 */ lw $t1, 0x1c4($sp) /* 3885C 8005D45C AFA701AC */ sw $a3, 0x1ac($sp) /* 38860 8005D460 C7A801AC */ lwc1 $f8, 0x1ac($sp) /* 38864 8005D464 F7BE0198 */ sdc1 $f30, 0x198($sp) /* 38868 8005D468 46006786 */ mov.s $f30, $f12 /* 3886C 8005D46C F7BA0188 */ sdc1 $f26, 0x188($sp) /* 38870 8005D470 46007686 */ mov.s $f26, $f14 /* 38874 8005D474 AFB60160 */ sw $s6, 0x160($sp) /* 38878 8005D478 0000B02D */ daddu $s6, $zero, $zero /* 3887C 8005D47C AFB20150 */ sw $s2, 0x150($sp) /* 38880 8005D480 27B20100 */ addiu $s2, $sp, 0x100 /* 38884 8005D484 AFBF016C */ sw $ra, 0x16c($sp) /* 38888 8005D488 AFBE0168 */ sw $fp, 0x168($sp) /* 3888C 8005D48C AFB70164 */ sw $s7, 0x164($sp) /* 38890 8005D490 AFB5015C */ sw $s5, 0x15c($sp) /* 38894 8005D494 AFB40158 */ sw $s4, 0x158($sp) /* 38898 8005D498 AFB30154 */ sw $s3, 0x154($sp) /* 3889C 8005D49C AFB1014C */ sw $s1, 0x14c($sp) /* 388A0 8005D4A0 AFB00148 */ sw $s0, 0x148($sp) /* 388A4 8005D4A4 F7BC0190 */ sdc1 $f28, 0x190($sp) /* 388A8 8005D4A8 F7B80180 */ sdc1 $f24, 0x180($sp) /* 388AC 8005D4AC F7B60178 */ sdc1 $f22, 0x178($sp) /* 388B0 8005D4B0 F7B40170 */ sdc1 $f20, 0x170($sp) /* 388B4 8005D4B4 AFA601A8 */ sw $a2, 0x1a8($sp) /* 388B8 8005D4B8 C5360000 */ lwc1 $f22, ($t1) /* 388BC 8005D4BC 46004032 */ c.eq.s $f8, $f0 /* 388C0 8005D4C0 00000000 */ nop /* 388C4 8005D4C4 4500000E */ bc1f .L8005D500 /* 388C8 8005D4C8 4600B606 */ mov.s $f24, $f22 /* 388CC 8005D4CC C7A801B4 */ lwc1 $f8, 0x1b4($sp) /* 388D0 8005D4D0 46004032 */ c.eq.s $f8, $f0 /* 388D4 8005D4D4 00000000 */ nop /* 388D8 8005D4D8 45000009 */ bc1f .L8005D500 /* 388DC 8005D4DC 00000000 */ nop /* 388E0 8005D4E0 C7A801B0 */ lwc1 $f8, 0x1b0($sp) /* 388E4 8005D4E4 4600403C */ c.lt.s $f8, $f0 /* 388E8 8005D4E8 00000000 */ nop /* 388EC 8005D4EC 45000005 */ bc1f .L8005D504 /* 388F0 8005D4F0 00000000 */ nop /* 388F4 8005D4F4 46000586 */ mov.s $f22, $f0 /* 388F8 8005D4F8 08017547 */ j .L8005D51C /* 388FC 8005D4FC 24160001 */ addiu $s6, $zero, 1 .L8005D500: /* 38900 8005D500 C7A801B0 */ lwc1 $f8, 0x1b0($sp) .L8005D504: /* 38904 8005D504 46004032 */ c.eq.s $f8, $f0 /* 38908 8005D508 00000000 */ nop /* 3890C 8005D50C 45000004 */ bc1f .L8005D520 /* 38910 8005D510 0000F02D */ daddu $fp, $zero, $zero /* 38914 8005D514 46000606 */ mov.s $f24, $f0 /* 38918 8005D518 24160002 */ addiu $s6, $zero, 2 .L8005D51C: /* 3891C 8005D51C 0000F02D */ daddu $fp, $zero, $zero .L8005D520: /* 38920 8005D520 27B700A0 */ addiu $s7, $sp, 0xa0 /* 38924 8005D524 4480A000 */ mtc1 $zero, $f20 /* 38928 8005D528 3C013F80 */ lui $at, 0x3f80 /* 3892C 8005D52C 4481E000 */ mtc1 $at, $f28 /* 38930 8005D530 3C01BF80 */ lui $at, 0xbf80 /* 38934 8005D534 44810000 */ mtc1 $at, $f0 /* 38938 8005D538 24020001 */ addiu $v0, $zero, 1 /* 3893C 8005D53C A642003C */ sh $v0, 0x3c($s2) /* 38940 8005D540 3C01800A */ lui $at, %hi(D_800A4254) /* 38944 8005D544 E4204254 */ swc1 $f0, %lo(D_800A4254)($at) .L8005D548: /* 38948 8005D548 0C04417A */ jal get_entity_by_index /* 3894C 8005D54C 03C0202D */ daddu $a0, $fp, $zero /* 38950 8005D550 0040882D */ daddu $s1, $v0, $zero /* 38954 8005D554 52200154 */ beql $s1, $zero, .L8005DAA8 /* 38958 8005D558 27DE0001 */ addiu $fp, $fp, 1 /* 3895C 8005D55C 3C034000 */ lui $v1, 0x4000 /* 38960 8005D560 8E220000 */ lw $v0, ($s1) /* 38964 8005D564 34630020 */ ori $v1, $v1, 0x20 /* 38968 8005D568 00431024 */ and $v0, $v0, $v1 /* 3896C 8005D56C 5440014E */ bnel $v0, $zero, .L8005DAA8 /* 38970 8005D570 27DE0001 */ addiu $fp, $fp, 1 /* 38974 8005D574 C62600B0 */ lwc1 $f6, 0xb0($s1) /* 38978 8005D578 4606B080 */ add.s $f2, $f22, $f6 /* 3897C 8005D57C C6240048 */ lwc1 $f4, 0x48($s1) /* 38980 8005D580 46022000 */ add.s $f0, $f4, $f2 /* 38984 8005D584 461E003C */ c.lt.s $f0, $f30 /* 38988 8005D588 00000000 */ nop /* 3898C 8005D58C 45030146 */ bc1tl .L8005DAA8 /* 38990 8005D590 27DE0001 */ addiu $fp, $fp, 1 /* 38994 8005D594 46022001 */ sub.s $f0, $f4, $f2 /* 38998 8005D598 4600F03C */ c.lt.s $f30, $f0 /* 3899C 8005D59C 00000000 */ nop /* 389A0 8005D5A0 45030141 */ bc1tl .L8005DAA8 /* 389A4 8005D5A4 27DE0001 */ addiu $fp, $fp, 1 /* 389A8 8005D5A8 C6240050 */ lwc1 $f4, 0x50($s1) /* 389AC 8005D5AC 46022000 */ add.s $f0, $f4, $f2 /* 389B0 8005D5B0 C7A801A8 */ lwc1 $f8, 0x1a8($sp) /* 389B4 8005D5B4 4608003C */ c.lt.s $f0, $f8 /* 389B8 8005D5B8 00000000 */ nop /* 389BC 8005D5BC 4503013A */ bc1tl .L8005DAA8 /* 389C0 8005D5C0 27DE0001 */ addiu $fp, $fp, 1 /* 389C4 8005D5C4 46022001 */ sub.s $f0, $f4, $f2 /* 389C8 8005D5C8 4600403C */ c.lt.s $f8, $f0 /* 389CC 8005D5CC 00000000 */ nop /* 389D0 8005D5D0 45030135 */ bc1tl .L8005DAA8 /* 389D4 8005D5D4 27DE0001 */ addiu $fp, $fp, 1 /* 389D8 8005D5D8 06C00016 */ bltz $s6, .L8005D634 /* 389DC 8005D5DC 2AC20002 */ slti $v0, $s6, 2 /* 389E0 8005D5E0 54400006 */ bnel $v0, $zero, .L8005D5FC /* 389E4 8005D5E4 46063000 */ add.s $f0, $f6, $f6 /* 389E8 8005D5E8 24020002 */ addiu $v0, $zero, 2 /* 389EC 8005D5EC 12C20005 */ beq $s6, $v0, .L8005D604 /* 389F0 8005D5F0 26300070 */ addiu $s0, $s1, 0x70 /* 389F4 8005D5F4 0801758F */ j .L8005D63C /* 389F8 8005D5F8 0200202D */ daddu $a0, $s0, $zero .L8005D5FC: /* 389FC 8005D5FC 08017582 */ j .L8005D608 /* 38A00 8005D600 4600C100 */ add.s $f4, $f24, $f0 .L8005D604: /* 38A04 8005D604 46063100 */ add.s $f4, $f6, $f6 .L8005D608: /* 38A08 8005D608 C622004C */ lwc1 $f2, 0x4c($s1) /* 38A0C 8005D60C 46041000 */ add.s $f0, $f2, $f4 /* 38A10 8005D610 461A003C */ c.lt.s $f0, $f26 /* 38A14 8005D614 00000000 */ nop /* 38A18 8005D618 45030123 */ bc1tl .L8005DAA8 /* 38A1C 8005D61C 27DE0001 */ addiu $fp, $fp, 1 /* 38A20 8005D620 46041001 */ sub.s $f0, $f2, $f4 /* 38A24 8005D624 4600D03C */ c.lt.s $f26, $f0 /* 38A28 8005D628 00000000 */ nop /* 38A2C 8005D62C 4503011E */ bc1tl .L8005DAA8 /* 38A30 8005D630 27DE0001 */ addiu $fp, $fp, 1 .L8005D634: /* 38A34 8005D634 26300070 */ addiu $s0, $s1, 0x70 /* 38A38 8005D638 0200202D */ daddu $a0, $s0, $zero .L8005D63C: /* 38A3C 8005D63C 0000A82D */ daddu $s5, $zero, $zero /* 38A40 8005D640 3C148009 */ lui $s4, %hi(D_8008FFB8) /* 38A44 8005D644 2694FFB8 */ addiu $s4, $s4, %lo(D_8008FFB8) /* 38A48 8005D648 8FA501AC */ lw $a1, 0x1ac($sp) /* 38A4C 8005D64C 8FA601B0 */ lw $a2, 0x1b0($sp) /* 38A50 8005D650 8FA701B4 */ lw $a3, 0x1b4($sp) /* 38A54 8005D654 9623000C */ lhu $v1, 0xc($s1) /* 38A58 8005D658 96280010 */ lhu $t0, 0x10($s1) /* 38A5C 8005D65C 3C138009 */ lui $s3, %hi(D_8008FF70) /* 38A60 8005D660 2673FF70 */ addiu $s3, $s3, %lo(D_8008FF70) /* 38A64 8005D664 E7B400C8 */ swc1 $f20, 0xc8($sp) /* 38A68 8005D668 E7B400BC */ swc1 $f20, 0xbc($sp) /* 38A6C 8005D66C E7B400B0 */ swc1 $f20, 0xb0($sp) /* 38A70 8005D670 E7B400A4 */ swc1 $f20, 0xa4($sp) /* 38A74 8005D674 00031C00 */ sll $v1, $v1, 0x10 /* 38A78 8005D678 00031403 */ sra $v0, $v1, 0x10 /* 38A7C 8005D67C 00031FC2 */ srl $v1, $v1, 0x1f /* 38A80 8005D680 00431021 */ addu $v0, $v0, $v1 /* 38A84 8005D684 00021043 */ sra $v0, $v0, 1 /* 38A88 8005D688 44821000 */ mtc1 $v0, $f2 /* 38A8C 8005D68C 00000000 */ nop /* 38A90 8005D690 468010A0 */ cvt.s.w $f2, $f2 /* 38A94 8005D694 00084400 */ sll $t0, $t0, 0x10 /* 38A98 8005D698 00081403 */ sra $v0, $t0, 0x10 /* 38A9C 8005D69C 000847C2 */ srl $t0, $t0, 0x1f /* 38AA0 8005D6A0 00481021 */ addu $v0, $v0, $t0 /* 38AA4 8005D6A4 00021043 */ sra $v0, $v0, 1 /* 38AA8 8005D6A8 46001007 */ neg.s $f0, $f2 /* 38AAC 8005D6AC E7A000E8 */ swc1 $f0, 0xe8($sp) /* 38AB0 8005D6B0 E7A000DC */ swc1 $f0, 0xdc($sp) /* 38AB4 8005D6B4 E7A000B8 */ swc1 $f0, 0xb8($sp) /* 38AB8 8005D6B8 E7A000AC */ swc1 $f0, 0xac($sp) /* 38ABC 8005D6BC 44820000 */ mtc1 $v0, $f0 /* 38AC0 8005D6C0 00000000 */ nop /* 38AC4 8005D6C4 46800020 */ cvt.s.w $f0, $f0 /* 38AC8 8005D6C8 E7A200F4 */ swc1 $f2, 0xf4($sp) /* 38ACC 8005D6CC E7A200D0 */ swc1 $f2, 0xd0($sp) /* 38AD0 8005D6D0 E7A200C4 */ swc1 $f2, 0xc4($sp) /* 38AD4 8005D6D4 E7A200A0 */ swc1 $f2, 0xa0($sp) /* 38AD8 8005D6D8 8623000E */ lh $v1, 0xe($s1) /* 38ADC 8005D6DC 3C02800A */ lui $v0, %hi(D_800A423C) /* 38AE0 8005D6E0 2442423C */ addiu $v0, $v0, %lo(D_800A423C) /* 38AE4 8005D6E4 E7A000E4 */ swc1 $f0, 0xe4($sp) /* 38AE8 8005D6E8 E7A000D8 */ swc1 $f0, 0xd8($sp) /* 38AEC 8005D6EC E7A000B4 */ swc1 $f0, 0xb4($sp) /* 38AF0 8005D6F0 E7A000A8 */ swc1 $f0, 0xa8($sp) /* 38AF4 8005D6F4 46000007 */ neg.s $f0, $f0 /* 38AF8 8005D6F8 E7A000FC */ swc1 $f0, 0xfc($sp) /* 38AFC 8005D6FC E7A000F0 */ swc1 $f0, 0xf0($sp) /* 38B00 8005D700 E7A000CC */ swc1 $f0, 0xcc($sp) /* 38B04 8005D704 E7A000C0 */ swc1 $f0, 0xc0($sp) /* 38B08 8005D708 44830000 */ mtc1 $v1, $f0 /* 38B0C 8005D70C 00000000 */ nop /* 38B10 8005D710 46800020 */ cvt.s.w $f0, $f0 /* 38B14 8005D714 E7A000F8 */ swc1 $f0, 0xf8($sp) /* 38B18 8005D718 E7A000EC */ swc1 $f0, 0xec($sp) /* 38B1C 8005D71C E7A000E0 */ swc1 $f0, 0xe0($sp) /* 38B20 8005D720 E7A000D4 */ swc1 $f0, 0xd4($sp) /* 38B24 8005D724 AFA20010 */ sw $v0, 0x10($sp) /* 38B28 8005D728 3C02800A */ lui $v0, %hi(D_800A4240) /* 38B2C 8005D72C 24424240 */ addiu $v0, $v0, %lo(D_800A4240) /* 38B30 8005D730 AFA20014 */ sw $v0, 0x14($sp) /* 38B34 8005D734 3C02800A */ lui $v0, %hi(D_800A4244) /* 38B38 8005D738 24424244 */ addiu $v0, $v0, %lo(D_800A4244) /* 38B3C 8005D73C 0C019E9C */ jal guMtxXFMF /* 38B40 8005D740 AFA20018 */ sw $v0, 0x18($sp) /* 38B44 8005D744 C6200048 */ lwc1 $f0, 0x48($s1) /* 38B48 8005D748 C6220050 */ lwc1 $f2, 0x50($s1) /* 38B4C 8005D74C 4600F001 */ sub.s $f0, $f30, $f0 /* 38B50 8005D750 C7A801A8 */ lwc1 $f8, 0x1a8($sp) /* 38B54 8005D754 0200202D */ daddu $a0, $s0, $zero /* 38B58 8005D758 46024201 */ sub.s $f8, $f8, $f2 /* 38B5C 8005D75C 44050000 */ mfc1 $a1, $f0 /* 38B60 8005D760 C620004C */ lwc1 $f0, 0x4c($s1) /* 38B64 8005D764 44074000 */ mfc1 $a3, $f8 /* 38B68 8005D768 3C02800A */ lui $v0, %hi(D_800A4230) /* 38B6C 8005D76C 24424230 */ addiu $v0, $v0, %lo(D_800A4230) /* 38B70 8005D770 AFA20010 */ sw $v0, 0x10($sp) /* 38B74 8005D774 4600D001 */ sub.s $f0, $f26, $f0 /* 38B78 8005D778 3C02800A */ lui $v0, %hi(D_800A4234) /* 38B7C 8005D77C 24424234 */ addiu $v0, $v0, %lo(D_800A4234) /* 38B80 8005D780 AFA20014 */ sw $v0, 0x14($sp) /* 38B84 8005D784 44060000 */ mfc1 $a2, $f0 /* 38B88 8005D788 3C02800A */ lui $v0, %hi(D_800A4238) /* 38B8C 8005D78C 24424238 */ addiu $v0, $v0, %lo(D_800A4238) /* 38B90 8005D790 0C019E9C */ jal guMtxXFMF /* 38B94 8005D794 AFA20018 */ sw $v0, 0x18($sp) .L8005D798: /* 38B98 8005D798 86620000 */ lh $v0, ($s3) /* 38B9C 8005D79C 00021840 */ sll $v1, $v0, 1 /* 38BA0 8005D7A0 00621821 */ addu $v1, $v1, $v0 /* 38BA4 8005D7A4 00031880 */ sll $v1, $v1, 2 /* 38BA8 8005D7A8 02E31821 */ addu $v1, $s7, $v1 /* 38BAC 8005D7AC AE430000 */ sw $v1, ($s2) /* 38BB0 8005D7B0 86620002 */ lh $v0, 2($s3) /* 38BB4 8005D7B4 00022840 */ sll $a1, $v0, 1 /* 38BB8 8005D7B8 00A22821 */ addu $a1, $a1, $v0 /* 38BBC 8005D7BC 00052880 */ sll $a1, $a1, 2 /* 38BC0 8005D7C0 02E52821 */ addu $a1, $s7, $a1 /* 38BC4 8005D7C4 AE450004 */ sw $a1, 4($s2) /* 38BC8 8005D7C8 86620004 */ lh $v0, 4($s3) /* 38BCC 8005D7CC 00022040 */ sll $a0, $v0, 1 /* 38BD0 8005D7D0 00822021 */ addu $a0, $a0, $v0 /* 38BD4 8005D7D4 00042080 */ sll $a0, $a0, 2 /* 38BD8 8005D7D8 02E42021 */ addu $a0, $s7, $a0 /* 38BDC 8005D7DC AE440008 */ sw $a0, 8($s2) /* 38BE0 8005D7E0 C4800000 */ lwc1 $f0, ($a0) /* 38BE4 8005D7E4 C4620000 */ lwc1 $f2, ($v1) /* 38BE8 8005D7E8 46020001 */ sub.s $f0, $f0, $f2 /* 38BEC 8005D7EC E640000C */ swc1 $f0, 0xc($s2) /* 38BF0 8005D7F0 C4800004 */ lwc1 $f0, 4($a0) /* 38BF4 8005D7F4 C4620004 */ lwc1 $f2, 4($v1) /* 38BF8 8005D7F8 46020001 */ sub.s $f0, $f0, $f2 /* 38BFC 8005D7FC E6400010 */ swc1 $f0, 0x10($s2) /* 38C00 8005D800 C4800008 */ lwc1 $f0, 8($a0) /* 38C04 8005D804 C4620008 */ lwc1 $f2, 8($v1) /* 38C08 8005D808 46020001 */ sub.s $f0, $f0, $f2 /* 38C0C 8005D80C E6400014 */ swc1 $f0, 0x14($s2) /* 38C10 8005D810 C4600000 */ lwc1 $f0, ($v1) /* 38C14 8005D814 C4A20000 */ lwc1 $f2, ($a1) /* 38C18 8005D818 46020001 */ sub.s $f0, $f0, $f2 /* 38C1C 8005D81C E6400018 */ swc1 $f0, 0x18($s2) /* 38C20 8005D820 C4600004 */ lwc1 $f0, 4($v1) /* 38C24 8005D824 C4A20004 */ lwc1 $f2, 4($a1) /* 38C28 8005D828 46020001 */ sub.s $f0, $f0, $f2 /* 38C2C 8005D82C E640001C */ swc1 $f0, 0x1c($s2) /* 38C30 8005D830 C4600008 */ lwc1 $f0, 8($v1) /* 38C34 8005D834 C4A20008 */ lwc1 $f2, 8($a1) /* 38C38 8005D838 46020001 */ sub.s $f0, $f0, $f2 /* 38C3C 8005D83C E6400020 */ swc1 $f0, 0x20($s2) /* 38C40 8005D840 C4A00000 */ lwc1 $f0, ($a1) /* 38C44 8005D844 C4820000 */ lwc1 $f2, ($a0) /* 38C48 8005D848 46020001 */ sub.s $f0, $f0, $f2 /* 38C4C 8005D84C E6400024 */ swc1 $f0, 0x24($s2) /* 38C50 8005D850 C4A00004 */ lwc1 $f0, 4($a1) /* 38C54 8005D854 C4820004 */ lwc1 $f2, 4($a0) /* 38C58 8005D858 46020001 */ sub.s $f0, $f0, $f2 /* 38C5C 8005D85C E6400028 */ swc1 $f0, 0x28($s2) /* 38C60 8005D860 C4A00008 */ lwc1 $f0, 8($a1) /* 38C64 8005D864 C4820008 */ lwc1 $f2, 8($a0) /* 38C68 8005D868 46020001 */ sub.s $f0, $f0, $f2 /* 38C6C 8005D86C E640002C */ swc1 $f0, 0x2c($s2) /* 38C70 8005D870 C6800000 */ lwc1 $f0, ($s4) /* 38C74 8005D874 E6400030 */ swc1 $f0, 0x30($s2) /* 38C78 8005D878 C6800004 */ lwc1 $f0, 4($s4) /* 38C7C 8005D87C 27A40100 */ addiu $a0, $sp, 0x100 /* 38C80 8005D880 E6400034 */ swc1 $f0, 0x34($s2) /* 38C84 8005D884 C6800008 */ lwc1 $f0, 8($s4) /* 38C88 8005D888 02E0282D */ daddu $a1, $s7, $zero /* 38C8C 8005D88C 0C016FA1 */ jal test_ray_triangle_general /* 38C90 8005D890 E6400038 */ swc1 $f0, 0x38($s2) /* 38C94 8005D894 0040182D */ daddu $v1, $v0, $zero /* 38C98 8005D898 14600008 */ bnez $v1, .L8005D8BC /* 38C9C 8005D89C 00000000 */ nop /* 38CA0 8005D8A0 2694000C */ addiu $s4, $s4, 0xc /* 38CA4 8005D8A4 26B50001 */ addiu $s5, $s5, 1 /* 38CA8 8005D8A8 2AA2000C */ slti $v0, $s5, 0xc /* 38CAC 8005D8AC 1440FFBA */ bnez $v0, .L8005D798 /* 38CB0 8005D8B0 26730006 */ addiu $s3, $s3, 6 /* 38CB4 8005D8B4 5060007C */ beql $v1, $zero, .L8005DAA8 /* 38CB8 8005D8B8 27DE0001 */ addiu $fp, $fp, 1 .L8005D8BC: /* 38CBC 8005D8BC 3C03800A */ lui $v1, %hi(D_800A4254) /* 38CC0 8005D8C0 24634254 */ addiu $v1, $v1, %lo(D_800A4254) /* 38CC4 8005D8C4 8FA901C4 */ lw $t1, 0x1c4($sp) /* 38CC8 8005D8C8 C4620000 */ lwc1 $f2, ($v1) /* 38CCC 8005D8CC C5200000 */ lwc1 $f0, ($t1) /* 38CD0 8005D8D0 4600103C */ c.lt.s $f2, $f0 /* 38CD4 8005D8D4 00000000 */ nop /* 38CD8 8005D8D8 45020073 */ bc1fl .L8005DAA8 /* 38CDC 8005D8DC 27DE0001 */ addiu $fp, $fp, 1 /* 38CE0 8005D8E0 24020001 */ addiu $v0, $zero, 1 /* 38CE4 8005D8E4 AFBE0140 */ sw $fp, 0x140($sp) /* 38CE8 8005D8E8 12C2000F */ beq $s6, $v0, .L8005D928 /* 38CEC 8005D8EC E5220000 */ swc1 $f2, ($t1) /* 38CF0 8005D8F0 2AC20002 */ slti $v0, $s6, 2 /* 38CF4 8005D8F4 10400005 */ beqz $v0, .L8005D90C /* 38CF8 8005D8F8 24020002 */ addiu $v0, $zero, 2 /* 38CFC 8005D8FC 12C00007 */ beqz $s6, .L8005D91C /* 38D00 8005D900 00000000 */ nop /* 38D04 8005D904 0801764F */ j .L8005D93C /* 38D08 8005D908 E7B40010 */ swc1 $f20, 0x10($sp) .L8005D90C: /* 38D0C 8005D90C 12C20009 */ beq $s6, $v0, .L8005D934 /* 38D10 8005D910 00000000 */ nop /* 38D14 8005D914 0801764F */ j .L8005D93C /* 38D18 8005D918 E7B40010 */ swc1 $f20, 0x10($sp) .L8005D91C: /* 38D1C 8005D91C C4760000 */ lwc1 $f22, ($v1) /* 38D20 8005D920 0801764E */ j .L8005D938 /* 38D24 8005D924 4600B606 */ mov.s $f24, $f22 .L8005D928: /* 38D28 8005D928 C4780000 */ lwc1 $f24, ($v1) /* 38D2C 8005D92C 0801764F */ j .L8005D93C /* 38D30 8005D930 E7B40010 */ swc1 $f20, 0x10($sp) .L8005D934: /* 38D34 8005D934 C4760000 */ lwc1 $f22, ($v1) .L8005D938: /* 38D38 8005D938 E7B40010 */ swc1 $f20, 0x10($sp) .L8005D93C: /* 38D3C 8005D93C 8E250060 */ lw $a1, 0x60($s1) /* 38D40 8005D940 4406E000 */ mfc1 $a2, $f28 /* 38D44 8005D944 4407A000 */ mfc1 $a3, $f20 /* 38D48 8005D948 0C019EC8 */ jal guRotateF /* 38D4C 8005D94C 27A40020 */ addiu $a0, $sp, 0x20 /* 38D50 8005D950 27B00060 */ addiu $s0, $sp, 0x60 /* 38D54 8005D954 E7BC0010 */ swc1 $f28, 0x10($sp) /* 38D58 8005D958 8E250068 */ lw $a1, 0x68($s1) /* 38D5C 8005D95C 4406A000 */ mfc1 $a2, $f20 /* 38D60 8005D960 4407A000 */ mfc1 $a3, $f20 /* 38D64 8005D964 0C019EC8 */ jal guRotateF /* 38D68 8005D968 0200202D */ daddu $a0, $s0, $zero /* 38D6C 8005D96C 27A40020 */ addiu $a0, $sp, 0x20 /* 38D70 8005D970 0200282D */ daddu $a1, $s0, $zero /* 38D74 8005D974 0C019D80 */ jal guMtxCatF /* 38D78 8005D978 0080302D */ daddu $a2, $a0, $zero /* 38D7C 8005D97C E7B40010 */ swc1 $f20, 0x10($sp) /* 38D80 8005D980 8E250064 */ lw $a1, 0x64($s1) /* 38D84 8005D984 4406A000 */ mfc1 $a2, $f20 /* 38D88 8005D988 4407E000 */ mfc1 $a3, $f28 /* 38D8C 8005D98C 0C019EC8 */ jal guRotateF /* 38D90 8005D990 0200202D */ daddu $a0, $s0, $zero /* 38D94 8005D994 27A40020 */ addiu $a0, $sp, 0x20 /* 38D98 8005D998 0200282D */ daddu $a1, $s0, $zero /* 38D9C 8005D99C 0C019D80 */ jal guMtxCatF /* 38DA0 8005D9A0 0080302D */ daddu $a2, $a0, $zero /* 38DA4 8005D9A4 8E250048 */ lw $a1, 0x48($s1) /* 38DA8 8005D9A8 8E26004C */ lw $a2, 0x4c($s1) /* 38DAC 8005D9AC 8E270050 */ lw $a3, 0x50($s1) /* 38DB0 8005D9B0 0C019E40 */ jal guTranslateF /* 38DB4 8005D9B4 0200202D */ daddu $a0, $s0, $zero /* 38DB8 8005D9B8 27A40020 */ addiu $a0, $sp, 0x20 /* 38DBC 8005D9BC 0200282D */ daddu $a1, $s0, $zero /* 38DC0 8005D9C0 0C019D80 */ jal guMtxCatF /* 38DC4 8005D9C4 0080302D */ daddu $a2, $a0, $zero /* 38DC8 8005D9C8 8FA901B8 */ lw $t1, 0x1b8($sp) /* 38DCC 8005D9CC 3C05800A */ lui $a1, %hi(D_800A4248) /* 38DD0 8005D9D0 8CA54248 */ lw $a1, %lo(D_800A4248)($a1) /* 38DD4 8005D9D4 3C06800A */ lui $a2, %hi(D_800A424C) /* 38DD8 8005D9D8 8CC6424C */ lw $a2, %lo(D_800A424C)($a2) /* 38DDC 8005D9DC 3C07800A */ lui $a3, %hi(D_800A4250) /* 38DE0 8005D9E0 8CE74250 */ lw $a3, %lo(D_800A4250)($a3) /* 38DE4 8005D9E4 AFA90010 */ sw $t1, 0x10($sp) /* 38DE8 8005D9E8 8FA901BC */ lw $t1, 0x1bc($sp) /* 38DEC 8005D9EC AFA90014 */ sw $t1, 0x14($sp) /* 38DF0 8005D9F0 8FA901C0 */ lw $t1, 0x1c0($sp) /* 38DF4 8005D9F4 27A40020 */ addiu $a0, $sp, 0x20 /* 38DF8 8005D9F8 0C019E9C */ jal guMtxXFMF /* 38DFC 8005D9FC AFA90018 */ sw $t1, 0x18($sp) /* 38E00 8005DA00 3C10800A */ lui $s0, %hi(D_800A4258) /* 38E04 8005DA04 26104258 */ addiu $s0, $s0, %lo(D_800A4258) /* 38E08 8005DA08 C6040000 */ lwc1 $f4, ($s0) /* 38E0C 8005DA0C 46042102 */ mul.s $f4, $f4, $f4 /* 38E10 8005DA10 00000000 */ nop /* 38E14 8005DA14 3C11800A */ lui $s1, %hi(D_800A425C) /* 38E18 8005DA18 2631425C */ addiu $s1, $s1, %lo(D_800A425C) /* 38E1C 8005DA1C C6220000 */ lwc1 $f2, ($s1) /* 38E20 8005DA20 46021082 */ mul.s $f2, $f2, $f2 /* 38E24 8005DA24 00000000 */ nop /* 38E28 8005DA28 3C13800A */ lui $s3, %hi(D_800A4260) /* 38E2C 8005DA2C 26734260 */ addiu $s3, $s3, %lo(D_800A4260) /* 38E30 8005DA30 C6600000 */ lwc1 $f0, ($s3) /* 38E34 8005DA34 46000002 */ mul.s $f0, $f0, $f0 /* 38E38 8005DA38 00000000 */ nop /* 38E3C 8005DA3C 46022100 */ add.s $f4, $f4, $f2 /* 38E40 8005DA40 46002300 */ add.s $f12, $f4, $f0 /* 38E44 8005DA44 46006084 */ sqrt.s $f2, $f12 /* 38E48 8005DA48 46021032 */ c.eq.s $f2, $f2 /* 38E4C 8005DA4C 00000000 */ nop /* 38E50 8005DA50 45010004 */ bc1t .L8005DA64 /* 38E54 8005DA54 00000000 */ nop /* 38E58 8005DA58 0C0187BC */ jal sqrtf /* 38E5C 8005DA5C 00000000 */ nop /* 38E60 8005DA60 46000086 */ mov.s $f2, $f0 .L8005DA64: /* 38E64 8005DA64 C6000000 */ lwc1 $f0, ($s0) /* 38E68 8005DA68 4602E083 */ div.s $f2, $f28, $f2 /* 38E6C 8005DA6C 46020002 */ mul.s $f0, $f0, $f2 /* 38E70 8005DA70 00000000 */ nop /* 38E74 8005DA74 8FA901C8 */ lw $t1, 0x1c8($sp) /* 38E78 8005DA78 E5200000 */ swc1 $f0, ($t1) /* 38E7C 8005DA7C C6200000 */ lwc1 $f0, ($s1) /* 38E80 8005DA80 46020002 */ mul.s $f0, $f0, $f2 /* 38E84 8005DA84 00000000 */ nop /* 38E88 8005DA88 8FA901CC */ lw $t1, 0x1cc($sp) /* 38E8C 8005DA8C E5200000 */ swc1 $f0, ($t1) /* 38E90 8005DA90 C6600000 */ lwc1 $f0, ($s3) /* 38E94 8005DA94 46020002 */ mul.s $f0, $f0, $f2 /* 38E98 8005DA98 00000000 */ nop /* 38E9C 8005DA9C 8FA901D0 */ lw $t1, 0x1d0($sp) /* 38EA0 8005DAA0 E5200000 */ swc1 $f0, ($t1) /* 38EA4 8005DAA4 27DE0001 */ addiu $fp, $fp, 1 .L8005DAA8: /* 38EA8 8005DAA8 2BC2001E */ slti $v0, $fp, 0x1e /* 38EAC 8005DAAC 1440FEA6 */ bnez $v0, .L8005D548 /* 38EB0 8005DAB0 00000000 */ nop /* 38EB4 8005DAB4 8FA20140 */ lw $v0, 0x140($sp) /* 38EB8 8005DAB8 8FBF016C */ lw $ra, 0x16c($sp) /* 38EBC 8005DABC 8FBE0168 */ lw $fp, 0x168($sp) /* 38EC0 8005DAC0 8FB70164 */ lw $s7, 0x164($sp) /* 38EC4 8005DAC4 8FB60160 */ lw $s6, 0x160($sp) /* 38EC8 8005DAC8 8FB5015C */ lw $s5, 0x15c($sp) /* 38ECC 8005DACC 8FB40158 */ lw $s4, 0x158($sp) /* 38ED0 8005DAD0 8FB30154 */ lw $s3, 0x154($sp) /* 38ED4 8005DAD4 8FB20150 */ lw $s2, 0x150($sp) /* 38ED8 8005DAD8 8FB1014C */ lw $s1, 0x14c($sp) /* 38EDC 8005DADC 8FB00148 */ lw $s0, 0x148($sp) /* 38EE0 8005DAE0 D7BE0198 */ ldc1 $f30, 0x198($sp) /* 38EE4 8005DAE4 D7BC0190 */ ldc1 $f28, 0x190($sp) /* 38EE8 8005DAE8 D7BA0188 */ ldc1 $f26, 0x188($sp) /* 38EEC 8005DAEC D7B80180 */ ldc1 $f24, 0x180($sp) /* 38EF0 8005DAF0 D7B60178 */ ldc1 $f22, 0x178($sp) /* 38EF4 8005DAF4 D7B40170 */ ldc1 $f20, 0x170($sp) /* 38EF8 8005DAF8 03E00008 */ jr $ra /* 38EFC 8005DAFC 27BD01A0 */ addiu $sp, $sp, 0x1a0