.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_E003E000 /* 352440 E003E000 27BDFF48 */ addiu $sp, $sp, -0xb8 /* 352444 E003E004 F7BA00A0 */ sdc1 $f26, 0xa0($sp) /* 352448 E003E008 C7BA00C8 */ lwc1 $f26, 0xc8($sp) /* 35244C E003E00C F7BE00B0 */ sdc1 $f30, 0xb0($sp) /* 352450 E003E010 C7BE00CC */ lwc1 $f30, 0xcc($sp) /* 352454 E003E014 44800000 */ mtc1 $zero, $f0 /* 352458 E003E018 F7BC00A8 */ sdc1 $f28, 0xa8($sp) /* 35245C E003E01C C7BC00D0 */ lwc1 $f28, 0xd0($sp) /* 352460 E003E020 AFB20080 */ sw $s2, 0x80($sp) /* 352464 E003E024 0080902D */ daddu $s2, $a0, $zero /* 352468 E003E028 AFB00078 */ sw $s0, 0x78($sp) /* 35246C E003E02C 27B00010 */ addiu $s0, $sp, 0x10 /* 352470 E003E030 AFB1007C */ sw $s1, 0x7c($sp) /* 352474 E003E034 24110001 */ addiu $s1, $zero, 1 /* 352478 E003E038 AFBF0084 */ sw $ra, 0x84($sp) /* 35247C E003E03C F7B80098 */ sdc1 $f24, 0x98($sp) /* 352480 E003E040 F7B60090 */ sdc1 $f22, 0x90($sp) /* 352484 E003E044 F7B40088 */ sdc1 $f20, 0x88($sp) /* 352488 E003E048 AFA500BC */ sw $a1, 0xbc($sp) /* 35248C E003E04C AFA600C0 */ sw $a2, 0xc0($sp) /* 352490 E003E050 4600D032 */ c.eq.s $f26, $f0 /* 352494 E003E054 00000000 */ nop /* 352498 E003E058 45000009 */ bc1f .LE003E080 /* 35249C E003E05C AFA700C4 */ sw $a3, 0xc4($sp) /* 3524A0 E003E060 4600F032 */ c.eq.s $f30, $f0 /* 3524A4 E003E064 00000000 */ nop /* 3524A8 E003E068 45000005 */ bc1f .LE003E080 /* 3524AC E003E06C 00000000 */ nop /* 3524B0 E003E070 4600E032 */ c.eq.s $f28, $f0 /* 3524B4 E003E074 00000000 */ nop /* 3524B8 E003E078 450100D3 */ bc1t .LE003E3C8 /* 3524BC E003E07C 0000102D */ daddu $v0, $zero, $zero .LE003E080: /* 3524C0 E003E080 461AD002 */ mul.s $f0, $f26, $f26 /* 3524C4 E003E084 00000000 */ nop /* 3524C8 E003E088 461EF082 */ mul.s $f2, $f30, $f30 /* 3524CC E003E08C 00000000 */ nop /* 3524D0 E003E090 461CE102 */ mul.s $f4, $f28, $f28 /* 3524D4 E003E094 00000000 */ nop /* 3524D8 E003E098 46020000 */ add.s $f0, $f0, $f2 /* 3524DC E003E09C 46040300 */ add.s $f12, $f0, $f4 /* 3524E0 E003E0A0 4480A000 */ mtc1 $zero, $f20 /* 3524E4 E003E0A4 00000000 */ nop /* 3524E8 E003E0A8 46146032 */ c.eq.s $f12, $f20 /* 3524EC E003E0AC 00000000 */ nop /* 3524F0 E003E0B0 450100C5 */ bc1t .LE003E3C8 /* 3524F4 E003E0B4 0000102D */ daddu $v0, $zero, $zero /* 3524F8 E003E0B8 0C080154 */ jal func_E0200550 /* 3524FC E003E0BC 00000000 */ nop /* 352500 E003E0C0 3C013F80 */ lui $at, 0x3f80 /* 352504 E003E0C4 44811000 */ mtc1 $at, $f2 /* 352508 E003E0C8 00000000 */ nop /* 35250C E003E0CC 46001303 */ div.s $f12, $f2, $f0 /* 352510 E003E0D0 460CD682 */ mul.s $f26, $f26, $f12 /* 352514 E003E0D4 00000000 */ nop /* 352518 E003E0D8 460CF782 */ mul.s $f30, $f30, $f12 /* 35251C E003E0DC 00000000 */ nop /* 352520 E003E0E0 460CE702 */ mul.s $f28, $f28, $f12 /* 352524 E003E0E4 00000000 */ nop /* 352528 E003E0E8 4614D032 */ c.eq.s $f26, $f20 /* 35252C E003E0EC 00000000 */ nop /* 352530 E003E0F0 45000006 */ bc1f .LE003E10C /* 352534 E003E0F4 4600E586 */ mov.s $f22, $f28 /* 352538 E003E0F8 4614E032 */ c.eq.s $f28, $f20 /* 35253C E003E0FC 00000000 */ nop /* 352540 E003E100 45010005 */ bc1t .LE003E118 /* 352544 E003E104 46001586 */ mov.s $f22, $f2 /* 352548 E003E108 4600E586 */ mov.s $f22, $f28 .LE003E10C: /* 35254C E003E10C 4600A606 */ mov.s $f24, $f20 /* 352550 E003E110 0800F847 */ j .LE003E11C /* 352554 E003E114 4600D507 */ neg.s $f20, $f26 .LE003E118: /* 352558 E003E118 4600A606 */ mov.s $f24, $f20 .LE003E11C: /* 35255C E003E11C 4616B002 */ mul.s $f0, $f22, $f22 /* 352560 E003E120 00000000 */ nop /* 352564 E003E124 4618C082 */ mul.s $f2, $f24, $f24 /* 352568 E003E128 00000000 */ nop /* 35256C E003E12C 4614A102 */ mul.s $f4, $f20, $f20 /* 352570 E003E130 00000000 */ nop /* 352574 E003E134 46020000 */ add.s $f0, $f0, $f2 /* 352578 E003E138 46040300 */ add.s $f12, $f0, $f4 /* 35257C E003E13C 44808000 */ mtc1 $zero, $f16 /* 352580 E003E140 00000000 */ nop /* 352584 E003E144 46106032 */ c.eq.s $f12, $f16 /* 352588 E003E148 00000000 */ nop /* 35258C E003E14C 4501009E */ bc1t .LE003E3C8 /* 352590 E003E150 0000102D */ daddu $v0, $zero, $zero /* 352594 E003E154 0C080154 */ jal func_E0200550 /* 352598 E003E158 00000000 */ nop /* 35259C E003E15C 3C013F80 */ lui $at, 0x3f80 /* 3525A0 E003E160 44819000 */ mtc1 $at, $f18 /* 3525A4 E003E164 00000000 */ nop /* 3525A8 E003E168 46009303 */ div.s $f12, $f18, $f0 /* 3525AC E003E16C 460CB582 */ mul.s $f22, $f22, $f12 /* 3525B0 E003E170 00000000 */ nop /* 3525B4 E003E174 460CC602 */ mul.s $f24, $f24, $f12 /* 3525B8 E003E178 00000000 */ nop /* 3525BC E003E17C 460CA502 */ mul.s $f20, $f20, $f12 /* 3525C0 E003E180 00000000 */ nop /* 3525C4 E003E184 461CC102 */ mul.s $f4, $f24, $f28 /* 3525C8 E003E188 00000000 */ nop /* 3525CC E003E18C 461EA002 */ mul.s $f0, $f20, $f30 /* 3525D0 E003E190 00000000 */ nop /* 3525D4 E003E194 461AA202 */ mul.s $f8, $f20, $f26 /* 3525D8 E003E198 00000000 */ nop /* 3525DC E003E19C 461CB082 */ mul.s $f2, $f22, $f28 /* 3525E0 E003E1A0 00000000 */ nop /* 3525E4 E003E1A4 461EB282 */ mul.s $f10, $f22, $f30 /* 3525E8 E003E1A8 00000000 */ nop /* 3525EC E003E1AC 461AC182 */ mul.s $f6, $f24, $f26 /* 3525F0 E003E1B0 00000000 */ nop /* 3525F4 E003E1B4 46002101 */ sub.s $f4, $f4, $f0 /* 3525F8 E003E1B8 46042002 */ mul.s $f0, $f4, $f4 /* 3525FC E003E1BC 00000000 */ nop /* 352600 E003E1C0 46024201 */ sub.s $f8, $f8, $f2 /* 352604 E003E1C4 E7A40068 */ swc1 $f4, 0x68($sp) /* 352608 E003E1C8 46084102 */ mul.s $f4, $f8, $f8 /* 35260C E003E1CC 00000000 */ nop /* 352610 E003E1D0 46065281 */ sub.s $f10, $f10, $f6 /* 352614 E003E1D4 460A5082 */ mul.s $f2, $f10, $f10 /* 352618 E003E1D8 00000000 */ nop /* 35261C E003E1DC 46040000 */ add.s $f0, $f0, $f4 /* 352620 E003E1E0 44808000 */ mtc1 $zero, $f16 /* 352624 E003E1E4 46020300 */ add.s $f12, $f0, $f2 /* 352628 E003E1E8 E7A8006C */ swc1 $f8, 0x6c($sp) /* 35262C E003E1EC 46106032 */ c.eq.s $f12, $f16 /* 352630 E003E1F0 00000000 */ nop /* 352634 E003E1F4 45000003 */ bc1f .LE003E204 /* 352638 E003E1F8 E7AA0070 */ swc1 $f10, 0x70($sp) /* 35263C E003E1FC 0800F8F2 */ j .LE003E3C8 /* 352640 E003E200 0000102D */ daddu $v0, $zero, $zero .LE003E204: /* 352644 E003E204 0C080154 */ jal func_E0200550 /* 352648 E003E208 00000000 */ nop /* 35264C E003E20C 3C013F80 */ lui $at, 0x3f80 /* 352650 E003E210 44819000 */ mtc1 $at, $f18 /* 352654 E003E214 C7B00068 */ lwc1 $f16, 0x68($sp) /* 352658 E003E218 46009303 */ div.s $f12, $f18, $f0 /* 35265C E003E21C 460C8402 */ mul.s $f16, $f16, $f12 /* 352660 E003E220 00000000 */ nop /* 352664 E003E224 C7B2006C */ lwc1 $f18, 0x6c($sp) /* 352668 E003E228 460C9482 */ mul.s $f18, $f18, $f12 /* 35266C E003E22C 00000000 */ nop /* 352670 E003E230 E7B00068 */ swc1 $f16, 0x68($sp) /* 352674 E003E234 C7B00070 */ lwc1 $f16, 0x70($sp) /* 352678 E003E238 460C8402 */ mul.s $f16, $f16, $f12 /* 35267C E003E23C 00000000 */ nop /* 352680 E003E240 0200202D */ daddu $a0, $s0, $zero /* 352684 E003E244 3C02E004 */ lui $v0, 0xe004 /* 352688 E003E248 2442E3F8 */ addiu $v0, $v0, -0x1c08 /* 35268C E003E24C E7B2006C */ swc1 $f18, 0x6c($sp) /* 352690 E003E250 E7B00070 */ swc1 $f16, 0x70($sp) /* 352694 E003E254 AC820008 */ sw $v0, 8($a0) /* 352698 E003E258 3C02E004 */ lui $v0, 0xe004 /* 35269C E003E25C 2442E400 */ addiu $v0, $v0, -0x1c00 /* 3526A0 E003E260 AC82000C */ sw $v0, 0xc($a0) /* 3526A4 E003E264 3C02E004 */ lui $v0, 0xe004 /* 3526A8 E003E268 2442E5F4 */ addiu $v0, $v0, -0x1a0c /* 3526AC E003E26C AC820010 */ sw $v0, 0x10($a0) /* 3526B0 E003E270 2402001F */ addiu $v0, $zero, 0x1f /* 3526B4 E003E274 AC800000 */ sw $zero, ($a0) /* 3526B8 E003E278 AC800014 */ sw $zero, 0x14($a0) /* 3526BC E003E27C 0C080124 */ jal func_E0200490 /* 3526C0 E003E280 AC820004 */ sw $v0, 4($a0) /* 3526C4 E003E284 00112140 */ sll $a0, $s1, 5 /* 3526C8 E003E288 00912023 */ subu $a0, $a0, $s1 /* 3526CC E003E28C 00042080 */ sll $a0, $a0, 2 /* 3526D0 E003E290 0040802D */ daddu $s0, $v0, $zero /* 3526D4 E003E294 0C08012C */ jal func_E02004B0 /* 3526D8 E003E298 AE110008 */ sw $s1, 8($s0) /* 3526DC E003E29C 0040302D */ daddu $a2, $v0, $zero /* 3526E0 E003E2A0 14C00003 */ bnez $a2, .LE003E2B0 /* 3526E4 E003E2A4 AE02000C */ sw $v0, 0xc($s0) .LE003E2A8: /* 3526E8 E003E2A8 0800F8AA */ j .LE003E2A8 /* 3526EC E003E2AC 00000000 */ nop .LE003E2B0: /* 3526F0 E003E2B0 24030010 */ addiu $v1, $zero, 0x10 /* 3526F4 E003E2B4 240500F8 */ addiu $a1, $zero, 0xf8 /* 3526F8 E003E2B8 4600D307 */ neg.s $f12, $f26 /* 3526FC E003E2BC ACD20000 */ sw $s2, ($a2) /* 352700 E003E2C0 C7B200BC */ lwc1 $f18, 0xbc($sp) /* 352704 E003E2C4 3C01E004 */ lui $at, 0xe004 /* 352708 E003E2C8 D422E870 */ ldc1 $f2, -0x1790($at) /* 35270C E003E2CC 3C014080 */ lui $at, 0x4080 /* 352710 E003E2D0 44815000 */ mtc1 $at, $f10 /* 352714 E003E2D4 3C01438B */ lui $at, 0x438b /* 352718 E003E2D8 44813000 */ mtc1 $at, $f6 /* 35271C E003E2DC 460A6302 */ mul.s $f12, $f12, $f10 /* 352720 E003E2E0 00000000 */ nop /* 352724 E003E2E4 3C014200 */ lui $at, 0x4200 /* 352728 E003E2E8 44814000 */ mtc1 $at, $f8 /* 35272C E003E2EC 2404005C */ addiu $a0, $zero, 0x5c /* 352730 E003E2F0 E4D20004 */ swc1 $f18, 4($a2) /* 352734 E003E2F4 C7B000C0 */ lwc1 $f16, 0xc0($sp) /* 352738 E003E2F8 4600F107 */ neg.s $f4, $f30 /* 35273C E003E2FC E4D00008 */ swc1 $f16, 8($a2) /* 352740 E003E300 C7B200C4 */ lwc1 $f18, 0xc4($sp) /* 352744 E003E304 460A2102 */ mul.s $f4, $f4, $f10 /* 352748 E003E308 00000000 */ nop /* 35274C E003E30C E4D2000C */ swc1 $f18, 0xc($a2) /* 352750 E003E310 ACC3006C */ sw $v1, 0x6c($a2) /* 352754 E003E314 240300E5 */ addiu $v1, $zero, 0xe5 /* 352758 E003E318 ACC00068 */ sw $zero, 0x68($a2) /* 35275C E003E31C ACC00070 */ sw $zero, 0x70($a2) /* 352760 E003E320 A0C50074 */ sb $a1, 0x74($a2) /* 352764 E003E324 A0C40075 */ sb $a0, 0x75($a2) /* 352768 E003E328 A0C30076 */ sb $v1, 0x76($a2) /* 35276C E003E32C A0C50077 */ sb $a1, 0x77($a2) /* 352770 E003E330 A0C40078 */ sb $a0, 0x78($a2) /* 352774 E003E334 A0C30079 */ sb $v1, 0x79($a2) /* 352778 E003E338 E4D6001C */ swc1 $f22, 0x1c($a2) /* 35277C E003E33C C7A000D4 */ lwc1 $f0, 0xd4($sp) /* 352780 E003E340 3C013F80 */ lui $at, 0x3f80 /* 352784 E003E344 44817000 */ mtc1 $at, $f14 /* 352788 E003E348 46000021 */ cvt.d.s $f0, $f0 /* 35278C E003E34C 46220002 */ mul.d $f0, $f0, $f2 /* 352790 E003E350 00000000 */ nop /* 352794 E003E354 E4D80020 */ swc1 $f24, 0x20($a2) /* 352798 E003E358 E4D40024 */ swc1 $f20, 0x24($a2) /* 35279C E003E35C ACC00028 */ sw $zero, 0x28($a2) /* 3527A0 E003E360 C7B00068 */ lwc1 $f16, 0x68($sp) /* 3527A4 E003E364 0200102D */ daddu $v0, $s0, $zero /* 3527A8 E003E368 E4D0002C */ swc1 $f16, 0x2c($a2) /* 3527AC E003E36C C7B2006C */ lwc1 $f18, 0x6c($sp) /* 3527B0 E003E370 4600E087 */ neg.s $f2, $f28 /* 3527B4 E003E374 E4D20030 */ swc1 $f18, 0x30($a2) /* 3527B8 E003E378 C7B00070 */ lwc1 $f16, 0x70($sp) /* 3527BC E003E37C 460A1082 */ mul.s $f2, $f2, $f10 /* 3527C0 E003E380 00000000 */ nop /* 3527C4 E003E384 E4D00034 */ swc1 $f16, 0x34($a2) /* 3527C8 E003E388 ACC00038 */ sw $zero, 0x38($a2) /* 3527CC E003E38C E4DA003C */ swc1 $f26, 0x3c($a2) /* 3527D0 E003E390 E4DE0040 */ swc1 $f30, 0x40($a2) /* 3527D4 E003E394 E4DC0044 */ swc1 $f28, 0x44($a2) /* 3527D8 E003E398 ACC00048 */ sw $zero, 0x48($a2) /* 3527DC E003E39C ACC0004C */ sw $zero, 0x4c($a2) /* 3527E0 E003E3A0 ACC00050 */ sw $zero, 0x50($a2) /* 3527E4 E003E3A4 ACC00054 */ sw $zero, 0x54($a2) /* 3527E8 E003E3A8 E4C6005C */ swc1 $f6, 0x5c($a2) /* 3527EC E003E3AC E4C80060 */ swc1 $f8, 0x60($a2) /* 3527F0 E003E3B0 E4CC0010 */ swc1 $f12, 0x10($a2) /* 3527F4 E003E3B4 E4C40014 */ swc1 $f4, 0x14($a2) /* 3527F8 E003E3B8 E4C20018 */ swc1 $f2, 0x18($a2) /* 3527FC E003E3BC E4CE0058 */ swc1 $f14, 0x58($a2) /* 352800 E003E3C0 46200020 */ cvt.s.d $f0, $f0 /* 352804 E003E3C4 E4C00064 */ swc1 $f0, 0x64($a2) .LE003E3C8: /* 352808 E003E3C8 8FBF0084 */ lw $ra, 0x84($sp) /* 35280C E003E3CC 8FB20080 */ lw $s2, 0x80($sp) /* 352810 E003E3D0 8FB1007C */ lw $s1, 0x7c($sp) /* 352814 E003E3D4 8FB00078 */ lw $s0, 0x78($sp) /* 352818 E003E3D8 D7BE00B0 */ ldc1 $f30, 0xb0($sp) /* 35281C E003E3DC D7BC00A8 */ ldc1 $f28, 0xa8($sp) /* 352820 E003E3E0 D7BA00A0 */ ldc1 $f26, 0xa0($sp) /* 352824 E003E3E4 D7B80098 */ ldc1 $f24, 0x98($sp) /* 352828 E003E3E8 D7B60090 */ ldc1 $f22, 0x90($sp) /* 35282C E003E3EC D7B40088 */ ldc1 $f20, 0x88($sp) /* 352830 E003E3F0 03E00008 */ jr $ra /* 352834 E003E3F4 27BD00B8 */ addiu $sp, $sp, 0xb8