papermario/ver/jp/asm/nonmatchings/main_AD70/func_80031124.s
Ethan Roseman 698cf99458
jp cod (Created the first segment's c files for jp) (#194)
* jp cod

* just have less code and it works

* oops

* removing splat cause subrepo is being dumb

* git subrepo clone https://github.com/ethteck/splat.git tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "d7281bae6a"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "d7281bae6a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* move jp stuff + revert configure

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "c56195a9c5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "c56195a9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
2021-02-27 00:36:33 +09:00

918 lines
43 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80031124
/* C524 80031124 27BDFF80 */ addiu $sp, $sp, -0x80
/* C528 80031128 AFB10044 */ sw $s1, 0x44($sp)
/* C52C 8003112C 0080882D */ daddu $s1, $a0, $zero
/* C530 80031130 AFBF004C */ sw $ra, 0x4c($sp)
/* C534 80031134 AFB20048 */ sw $s2, 0x48($sp)
/* C538 80031138 AFB00040 */ sw $s0, 0x40($sp)
/* C53C 8003113C F7BE0078 */ sdc1 $f30, 0x78($sp)
/* C540 80031140 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* C544 80031144 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* C548 80031148 F7B80060 */ sdc1 $f24, 0x60($sp)
/* C54C 8003114C F7B60058 */ sdc1 $f22, 0x58($sp)
/* C550 80031150 F7B40050 */ sdc1 $f20, 0x50($sp)
/* C554 80031154 C6300060 */ lwc1 $f16, 0x60($s1)
/* C558 80031158 E7B00038 */ swc1 $f16, 0x38($sp)
/* C55C 8003115C C63E0064 */ lwc1 $f30, 0x64($s1)
/* C560 80031160 86220008 */ lh $v0, 8($s1)
/* C564 80031164 C6300068 */ lwc1 $f16, 0x68($s1)
/* C568 80031168 0000802D */ daddu $s0, $zero, $zero
/* C56C 8003116C 10400017 */ beqz $v0, .L800311CC
/* C570 80031170 E7B0003C */ swc1 $f16, 0x3c($sp)
/* C574 80031174 3C013F80 */ lui $at, 0x3f80
/* C578 80031178 44810000 */ mtc1 $at, $f0
/* C57C 8003117C AE200448 */ sw $zero, 0x448($s1)
/* C580 80031180 AE200444 */ sw $zero, 0x444($s1)
/* C584 80031184 AE200488 */ sw $zero, 0x488($s1)
/* C588 80031188 AE200494 */ sw $zero, 0x494($s1)
/* C58C 8003118C E63E04A0 */ swc1 $f30, 0x4a0($s1)
/* C590 80031190 AE200098 */ sw $zero, 0x98($s1)
/* C594 80031194 AE20009C */ sw $zero, 0x9c($s1)
/* C598 80031198 AE2004A4 */ sw $zero, 0x4a4($s1)
/* C59C 8003119C AE2004A8 */ sw $zero, 0x4a8($s1)
/* C5A0 800311A0 AE2004AC */ sw $zero, 0x4ac($s1)
/* C5A4 800311A4 A62004D4 */ sh $zero, 0x4d4($s1)
/* C5A8 800311A8 A62004D6 */ sh $zero, 0x4d6($s1)
/* C5AC 800311AC AE200508 */ sw $zero, 0x508($s1)
/* C5B0 800311B0 3C01800A */ lui $at, %hi(D_8009E6EC)
/* C5B4 800311B4 AC20E6EC */ sw $zero, %lo(D_8009E6EC)($at)
/* C5B8 800311B8 3C01800A */ lui $at, %hi(D_8009E6F0)
/* C5BC 800311BC AC20E6F0 */ sw $zero, %lo(D_8009E6F0)($at)
/* C5C0 800311C0 E6200484 */ swc1 $f0, 0x484($s1)
/* C5C4 800311C4 E6200498 */ swc1 $f0, 0x498($s1)
/* C5C8 800311C8 E620048C */ swc1 $f0, 0x48c($s1)
.L800311CC:
/* C5CC 800311CC 96220002 */ lhu $v0, 2($s1)
/* C5D0 800311D0 C7B60038 */ lwc1 $f22, 0x38($sp)
/* C5D4 800311D4 30420001 */ andi $v0, $v0, 1
/* C5D8 800311D8 54400008 */ bnel $v0, $zero, .L800311FC
/* C5DC 800311DC AE200498 */ sw $zero, 0x498($s1)
/* C5E0 800311E0 C6200494 */ lwc1 $f0, 0x494($s1)
/* C5E4 800311E4 461E0032 */ c.eq.s $f0, $f30
/* C5E8 800311E8 00000000 */ nop
/* C5EC 800311EC 45010004 */ bc1t .L80031200
/* C5F0 800311F0 00000000 */ nop
/* C5F4 800311F4 E63E0494 */ swc1 $f30, 0x494($s1)
/* C5F8 800311F8 AE200498 */ sw $zero, 0x498($s1)
.L800311FC:
/* C5FC 800311FC C6200494 */ lwc1 $f0, 0x494($s1)
.L80031200:
/* C600 80031200 4600F03C */ c.lt.s $f30, $f0
/* C604 80031204 00000000 */ nop
/* C608 80031208 4500000A */ bc1f .L80031234
/* C60C 8003120C 00000000 */ nop
/* C610 80031210 C62004A0 */ lwc1 $f0, 0x4a0($s1)
/* C614 80031214 4600F03E */ c.le.s $f30, $f0
/* C618 80031218 00000000 */ nop
/* C61C 8003121C 45000005 */ bc1f .L80031234
/* C620 80031220 00000000 */ nop
/* C624 80031224 3C013F80 */ lui $at, 0x3f80
/* C628 80031228 44810000 */ mtc1 $at, $f0
/* C62C 8003122C E63E0494 */ swc1 $f30, 0x494($s1)
/* C630 80031230 E6200498 */ swc1 $f0, 0x498($s1)
.L80031234:
/* C634 80031234 C6220498 */ lwc1 $f2, 0x498($s1)
/* C638 80031238 3C01800A */ lui $at, %hi(D_80098230)
/* C63C 8003123C D4248230 */ ldc1 $f4, %lo(D_80098230)($at)
/* C640 80031240 C620049C */ lwc1 $f0, 0x49c($s1)
/* C644 80031244 460010A1 */ cvt.d.s $f2, $f2
/* C648 80031248 46222101 */ sub.d $f4, $f4, $f2
/* C64C 8003124C 46000021 */ cvt.d.s $f0, $f0
/* C650 80031250 46202103 */ div.d $f4, $f4, $f0
/* C654 80031254 46241080 */ add.d $f2, $f2, $f4
/* C658 80031258 3C013FF0 */ lui $at, 0x3ff0
/* C65C 8003125C 44812800 */ mtc1 $at, $f5
/* C660 80031260 44802000 */ mtc1 $zero, $f4
/* C664 80031264 462010A0 */ cvt.s.d $f2, $f2
/* C668 80031268 46001021 */ cvt.d.s $f0, $f2
/* C66C 8003126C 4620203C */ c.lt.d $f4, $f0
/* C670 80031270 00000000 */ nop
/* C674 80031274 45000005 */ bc1f .L8003128C
/* C678 80031278 E6220498 */ swc1 $f2, 0x498($s1)
/* C67C 8003127C 3C013F80 */ lui $at, 0x3f80
/* C680 80031280 44810000 */ mtc1 $at, $f0
/* C684 80031284 00000000 */ nop
/* C688 80031288 E6200498 */ swc1 $f0, 0x498($s1)
.L8003128C:
/* C68C 8003128C 96220002 */ lhu $v0, 2($s1)
/* C690 80031290 30420004 */ andi $v0, $v0, 4
/* C694 80031294 10400010 */ beqz $v0, .L800312D8
/* C698 80031298 00000000 */ nop
/* C69C 8003129C C6200498 */ lwc1 $f0, 0x498($s1)
/* C6A0 800312A0 3C01800A */ lui $at, %hi(D_80098238)
/* C6A4 800312A4 D4228238 */ ldc1 $f2, %lo(D_80098238)($at)
/* C6A8 800312A8 46000021 */ cvt.d.s $f0, $f0
/* C6AC 800312AC 46220000 */ add.d $f0, $f0, $f2
/* C6B0 800312B0 46200020 */ cvt.s.d $f0, $f0
/* C6B4 800312B4 460000A1 */ cvt.d.s $f2, $f0
/* C6B8 800312B8 4622203E */ c.le.d $f4, $f2
/* C6BC 800312BC 00000000 */ nop
/* C6C0 800312C0 45000005 */ bc1f .L800312D8
/* C6C4 800312C4 E6200498 */ swc1 $f0, 0x498($s1)
/* C6C8 800312C8 3C013F80 */ lui $at, 0x3f80
/* C6CC 800312CC 44810000 */ mtc1 $at, $f0
/* C6D0 800312D0 00000000 */ nop
/* C6D4 800312D4 E6200498 */ swc1 $f0, 0x498($s1)
.L800312D8:
/* C6D8 800312D8 96220002 */ lhu $v0, 2($s1)
/* C6DC 800312DC 30420002 */ andi $v0, $v0, 2
/* C6E0 800312E0 14400009 */ bnez $v0, .L80031308
/* C6E4 800312E4 00000000 */ nop
/* C6E8 800312E8 C6200494 */ lwc1 $f0, 0x494($s1)
/* C6EC 800312EC C62204A0 */ lwc1 $f2, 0x4a0($s1)
/* C6F0 800312F0 46020001 */ sub.s $f0, $f0, $f2
/* C6F4 800312F4 C6240498 */ lwc1 $f4, 0x498($s1)
/* C6F8 800312F8 46040002 */ mul.s $f0, $f0, $f4
/* C6FC 800312FC 00000000 */ nop
/* C700 80031300 46001080 */ add.s $f2, $f2, $f0
/* C704 80031304 E62204A0 */ swc1 $f2, 0x4a0($s1)
.L80031308:
/* C708 80031308 96220506 */ lhu $v0, 0x506($s1)
/* C70C 8003130C 14400014 */ bnez $v0, .L80031360
/* C710 80031310 C7B4003C */ lwc1 $f20, 0x3c($sp)
/* C714 80031314 C62004A4 */ lwc1 $f0, 0x4a4($s1)
/* C718 80031318 C7B00038 */ lwc1 $f16, 0x38($sp)
/* C71C 8003131C 46100032 */ c.eq.s $f0, $f16
/* C720 80031320 00000000 */ nop
/* C724 80031324 4500000E */ bc1f .L80031360
/* C728 80031328 00000000 */ nop
/* C72C 8003132C C62004A8 */ lwc1 $f0, 0x4a8($s1)
/* C730 80031330 461E0032 */ c.eq.s $f0, $f30
/* C734 80031334 00000000 */ nop
/* C738 80031338 45000009 */ bc1f .L80031360
/* C73C 8003133C 00000000 */ nop
/* C740 80031340 C62004AC */ lwc1 $f0, 0x4ac($s1)
/* C744 80031344 46140032 */ c.eq.s $f0, $f20
/* C748 80031348 00000000 */ nop
/* C74C 8003134C 45000004 */ bc1f .L80031360
/* C750 80031350 00000000 */ nop
/* C754 80031354 86220008 */ lh $v0, 8($s1)
/* C758 80031358 104000C6 */ beqz $v0, .L80031674
/* C75C 8003135C 00000000 */ nop
.L80031360:
/* C760 80031360 96220504 */ lhu $v0, 0x504($s1)
/* C764 80031364 14400008 */ bnez $v0, .L80031388
/* C768 80031368 262404D8 */ addiu $a0, $s1, 0x4d8
/* C76C 8003136C 3C014120 */ lui $at, 0x4120
/* C770 80031370 44817000 */ mtc1 $at, $f14
/* C774 80031374 8FA6003C */ lw $a2, 0x3c($sp)
/* C778 80031378 C7AC0038 */ lwc1 $f12, 0x38($sp)
/* C77C 8003137C 0C00C03A */ jal func_800300E8
/* C780 80031380 460EF380 */ add.s $f14, $f30, $f14
/* C784 80031384 0040202D */ daddu $a0, $v0, $zero
.L80031388:
/* C788 80031388 0000402D */ daddu $t0, $zero, $zero
/* C78C 8003138C 8E230448 */ lw $v1, 0x448($s1)
/* C790 80031390 1080007E */ beqz $a0, .L8003158C
/* C794 80031394 0080382D */ daddu $a3, $a0, $zero
/* C798 80031398 1060007C */ beqz $v1, .L8003158C
/* C79C 8003139C 00000000 */ nop
/* C7A0 800313A0 8C850000 */ lw $a1, ($a0)
/* C7A4 800313A4 8C620000 */ lw $v0, ($v1)
/* C7A8 800313A8 14A20078 */ bne $a1, $v0, .L8003158C
/* C7AC 800313AC 00000000 */ nop
/* C7B0 800313B0 8C860028 */ lw $a2, 0x28($a0)
/* C7B4 800313B4 8C620028 */ lw $v0, 0x28($v1)
/* C7B8 800313B8 14C20074 */ bne $a2, $v0, .L8003158C
/* C7BC 800313BC 00000000 */ nop
/* C7C0 800313C0 C4820004 */ lwc1 $f2, 4($a0)
/* C7C4 800313C4 C4600004 */ lwc1 $f0, 4($v1)
/* C7C8 800313C8 46001032 */ c.eq.s $f2, $f0
/* C7CC 800313CC 00000000 */ nop
/* C7D0 800313D0 4500006E */ bc1f .L8003158C
/* C7D4 800313D4 00000000 */ nop
/* C7D8 800313D8 C4820008 */ lwc1 $f2, 8($a0)
/* C7DC 800313DC C4600008 */ lwc1 $f0, 8($v1)
/* C7E0 800313E0 46001032 */ c.eq.s $f2, $f0
/* C7E4 800313E4 00000000 */ nop
/* C7E8 800313E8 45000068 */ bc1f .L8003158C
/* C7EC 800313EC 00000000 */ nop
/* C7F0 800313F0 C4820024 */ lwc1 $f2, 0x24($a0)
/* C7F4 800313F4 C4600024 */ lwc1 $f0, 0x24($v1)
/* C7F8 800313F8 46001032 */ c.eq.s $f2, $f0
/* C7FC 800313FC 00000000 */ nop
/* C800 80031400 45000062 */ bc1f .L8003158C
/* C804 80031404 00000000 */ nop
/* C808 80031408 10A00005 */ beqz $a1, .L80031420
/* C80C 8003140C 24020001 */ addiu $v0, $zero, 1
/* C810 80031410 10A20017 */ beq $a1, $v0, .L80031470
/* C814 80031414 00000000 */ nop
/* C818 80031418 0800C53F */ j .L800314FC
/* C81C 8003141C 00000000 */ nop
.L80031420:
/* C820 80031420 C482000C */ lwc1 $f2, 0xc($a0)
/* C824 80031424 C460000C */ lwc1 $f0, 0xc($v1)
/* C828 80031428 46001032 */ c.eq.s $f2, $f0
/* C82C 8003142C 00000000 */ nop
/* C830 80031430 45000056 */ bc1f .L8003158C
/* C834 80031434 00000000 */ nop
/* C838 80031438 C4820014 */ lwc1 $f2, 0x14($a0)
/* C83C 8003143C C4600014 */ lwc1 $f0, 0x14($v1)
/* C840 80031440 46001032 */ c.eq.s $f2, $f0
/* C844 80031444 00000000 */ nop
/* C848 80031448 45000050 */ bc1f .L8003158C
/* C84C 8003144C 00000000 */ nop
/* C850 80031450 C4820018 */ lwc1 $f2, 0x18($a0)
/* C854 80031454 C4600018 */ lwc1 $f0, 0x18($v1)
/* C858 80031458 46001032 */ c.eq.s $f2, $f0
/* C85C 8003145C 00000000 */ nop
/* C860 80031460 4500004A */ bc1f .L8003158C
/* C864 80031464 00000000 */ nop
/* C868 80031468 0800C55E */ j .L80031578
/* C86C 8003146C C4820020 */ lwc1 $f2, 0x20($a0)
.L80031470:
/* C870 80031470 10C00005 */ beqz $a2, .L80031488
/* C874 80031474 00000000 */ nop
/* C878 80031478 10C5000C */ beq $a2, $a1, .L800314AC
/* C87C 8003147C 00000000 */ nop
/* C880 80031480 0800C563 */ j .L8003158C
/* C884 80031484 00000000 */ nop
.L80031488:
/* C888 80031488 C482000C */ lwc1 $f2, 0xc($a0)
/* C88C 8003148C C460000C */ lwc1 $f0, 0xc($v1)
/* C890 80031490 46001032 */ c.eq.s $f2, $f0
/* C894 80031494 00000000 */ nop
/* C898 80031498 4500003C */ bc1f .L8003158C
/* C89C 8003149C 00000000 */ nop
/* C8A0 800314A0 C4820014 */ lwc1 $f2, 0x14($a0)
/* C8A4 800314A4 0800C55F */ j .L8003157C
/* C8A8 800314A8 C4600014 */ lwc1 $f0, 0x14($v1)
.L800314AC:
/* C8AC 800314AC C482000C */ lwc1 $f2, 0xc($a0)
/* C8B0 800314B0 C460000C */ lwc1 $f0, 0xc($v1)
/* C8B4 800314B4 46001032 */ c.eq.s $f2, $f0
/* C8B8 800314B8 00000000 */ nop
/* C8BC 800314BC 45000033 */ bc1f .L8003158C
/* C8C0 800314C0 00000000 */ nop
/* C8C4 800314C4 C4820014 */ lwc1 $f2, 0x14($a0)
/* C8C8 800314C8 C4600014 */ lwc1 $f0, 0x14($v1)
/* C8CC 800314CC 46001032 */ c.eq.s $f2, $f0
/* C8D0 800314D0 00000000 */ nop
/* C8D4 800314D4 4500002D */ bc1f .L8003158C
/* C8D8 800314D8 00000000 */ nop
/* C8DC 800314DC C4820018 */ lwc1 $f2, 0x18($a0)
/* C8E0 800314E0 C4600018 */ lwc1 $f0, 0x18($v1)
/* C8E4 800314E4 46001032 */ c.eq.s $f2, $f0
/* C8E8 800314E8 00000000 */ nop
/* C8EC 800314EC 45000027 */ bc1f .L8003158C
/* C8F0 800314F0 00000000 */ nop
/* C8F4 800314F4 0800C55E */ j .L80031578
/* C8F8 800314F8 C4820020 */ lwc1 $f2, 0x20($a0)
.L800314FC:
/* C8FC 800314FC C4E2000C */ lwc1 $f2, 0xc($a3)
/* C900 80031500 C460000C */ lwc1 $f0, 0xc($v1)
/* C904 80031504 46001032 */ c.eq.s $f2, $f0
/* C908 80031508 00000000 */ nop
/* C90C 8003150C 4500001F */ bc1f .L8003158C
/* C910 80031510 00000000 */ nop
/* C914 80031514 C4E20014 */ lwc1 $f2, 0x14($a3)
/* C918 80031518 C4600014 */ lwc1 $f0, 0x14($v1)
/* C91C 8003151C 46001032 */ c.eq.s $f2, $f0
/* C920 80031520 00000000 */ nop
/* C924 80031524 45000019 */ bc1f .L8003158C
/* C928 80031528 00000000 */ nop
/* C92C 8003152C C4E20010 */ lwc1 $f2, 0x10($a3)
/* C930 80031530 C4600010 */ lwc1 $f0, 0x10($v1)
/* C934 80031534 46001032 */ c.eq.s $f2, $f0
/* C938 80031538 00000000 */ nop
/* C93C 8003153C 45000013 */ bc1f .L8003158C
/* C940 80031540 00000000 */ nop
/* C944 80031544 C4E2001C */ lwc1 $f2, 0x1c($a3)
/* C948 80031548 C460001C */ lwc1 $f0, 0x1c($v1)
/* C94C 8003154C 46001032 */ c.eq.s $f2, $f0
/* C950 80031550 00000000 */ nop
/* C954 80031554 4500000D */ bc1f .L8003158C
/* C958 80031558 00000000 */ nop
/* C95C 8003155C C4E20018 */ lwc1 $f2, 0x18($a3)
/* C960 80031560 C4600018 */ lwc1 $f0, 0x18($v1)
/* C964 80031564 46001032 */ c.eq.s $f2, $f0
/* C968 80031568 00000000 */ nop
/* C96C 8003156C 45000007 */ bc1f .L8003158C
/* C970 80031570 00000000 */ nop
/* C974 80031574 C4E20020 */ lwc1 $f2, 0x20($a3)
.L80031578:
/* C978 80031578 C4600020 */ lwc1 $f0, 0x20($v1)
.L8003157C:
/* C97C 8003157C 46001032 */ c.eq.s $f2, $f0
/* C980 80031580 00000000 */ nop
/* C984 80031584 45030001 */ bc1tl .L8003158C
/* C988 80031588 24080001 */ addiu $t0, $zero, 1
.L8003158C:
/* C98C 8003158C 96220506 */ lhu $v0, 0x506($s1)
/* C990 80031590 14400005 */ bnez $v0, .L800315A8
/* C994 80031594 00000000 */ nop
/* C998 80031598 15000036 */ bnez $t0, .L80031674
/* C99C 8003159C 00000000 */ nop
/* C9A0 800315A0 10E30034 */ beq $a3, $v1, .L80031674
/* C9A4 800315A4 00000000 */ nop
.L800315A8:
/* C9A8 800315A8 C6220484 */ lwc1 $f2, 0x484($s1)
/* C9AC 800315AC 3C013F80 */ lui $at, 0x3f80
/* C9B0 800315B0 44810000 */ mtc1 $at, $f0
/* C9B4 800315B4 00000000 */ nop
/* C9B8 800315B8 46001032 */ c.eq.s $f2, $f0
/* C9BC 800315BC 00000000 */ nop
/* C9C0 800315C0 45000004 */ bc1f .L800315D4
/* C9C4 800315C4 2402FFFF */ addiu $v0, $zero, -1
/* C9C8 800315C8 8E220448 */ lw $v0, 0x448($s1)
/* C9CC 800315CC 0800C576 */ j .L800315D8
/* C9D0 800315D0 AE220444 */ sw $v0, 0x444($s1)
.L800315D4:
/* C9D4 800315D4 AE220444 */ sw $v0, 0x444($s1)
.L800315D8:
/* C9D8 800315D8 3C0C800A */ lui $t4, %hi(D_8009E6D0)
/* C9DC 800315DC 258CE6D0 */ addiu $t4, $t4, %lo(D_8009E6D0)
/* C9E0 800315E0 8D890000 */ lw $t1, ($t4)
/* C9E4 800315E4 8D8A0004 */ lw $t2, 4($t4)
/* C9E8 800315E8 8D8B0008 */ lw $t3, 8($t4)
/* C9EC 800315EC AE29044C */ sw $t1, 0x44c($s1)
/* C9F0 800315F0 AE2A0450 */ sw $t2, 0x450($s1)
/* C9F4 800315F4 AE2B0454 */ sw $t3, 0x454($s1)
/* C9F8 800315F8 8D89000C */ lw $t1, 0xc($t4)
/* C9FC 800315FC 8D8A0010 */ lw $t2, 0x10($t4)
/* CA00 80031600 8D8B0014 */ lw $t3, 0x14($t4)
/* CA04 80031604 AE290458 */ sw $t1, 0x458($s1)
/* CA08 80031608 AE2A045C */ sw $t2, 0x45c($s1)
/* CA0C 8003160C AE2B0460 */ sw $t3, 0x460($s1)
/* CA10 80031610 8D890018 */ lw $t1, 0x18($t4)
/* CA14 80031614 AE290464 */ sw $t1, 0x464($s1)
/* CA18 80031618 C6200490 */ lwc1 $f0, 0x490($s1)
/* CA1C 8003161C 962204D6 */ lhu $v0, 0x4d6($s1)
/* CA20 80031620 96230504 */ lhu $v1, 0x504($s1)
/* CA24 80031624 C62204C8 */ lwc1 $f2, 0x4c8($s1)
/* CA28 80031628 C62404CC */ lwc1 $f4, 0x4cc($s1)
/* CA2C 8003162C C62604D0 */ lwc1 $f6, 0x4d0($s1)
/* CA30 80031630 C62804B0 */ lwc1 $f8, 0x4b0($s1)
/* CA34 80031634 C62A04B4 */ lwc1 $f10, 0x4b4($s1)
/* CA38 80031638 C62C04B8 */ lwc1 $f12, 0x4b8($s1)
/* CA3C 8003163C 24100001 */ addiu $s0, $zero, 1
/* CA40 80031640 AE240448 */ sw $a0, 0x448($s1)
/* CA44 80031644 AE200484 */ sw $zero, 0x484($s1)
/* CA48 80031648 AE200488 */ sw $zero, 0x488($s1)
/* CA4C 8003164C A6200506 */ sh $zero, 0x506($s1)
/* CA50 80031650 E620048C */ swc1 $f0, 0x48c($s1)
/* CA54 80031654 A62204D4 */ sh $v0, 0x4d4($s1)
/* CA58 80031658 A62304D6 */ sh $v1, 0x4d6($s1)
/* CA5C 8003165C E62204BC */ swc1 $f2, 0x4bc($s1)
/* CA60 80031660 E62404C0 */ swc1 $f4, 0x4c0($s1)
/* CA64 80031664 E62604C4 */ swc1 $f6, 0x4c4($s1)
/* CA68 80031668 E62804C8 */ swc1 $f8, 0x4c8($s1)
/* CA6C 8003166C E62A04CC */ swc1 $f10, 0x4cc($s1)
/* CA70 80031670 E62C04D0 */ swc1 $f12, 0x4d0($s1)
.L80031674:
/* CA74 80031674 962204D4 */ lhu $v0, 0x4d4($s1)
/* CA78 80031678 10400005 */ beqz $v0, .L80031690
/* CA7C 8003167C 4600B286 */ mov.s $f10, $f22
/* CA80 80031680 C62A04BC */ lwc1 $f10, 0x4bc($s1)
/* CA84 80031684 C62804C0 */ lwc1 $f8, 0x4c0($s1)
/* CA88 80031688 0800C5A6 */ j .L80031698
/* CA8C 8003168C C62604C4 */ lwc1 $f6, 0x4c4($s1)
.L80031690:
/* CA90 80031690 C62804A0 */ lwc1 $f8, 0x4a0($s1)
/* CA94 80031694 4600A186 */ mov.s $f6, $f20
.L80031698:
/* CA98 80031698 962204D6 */ lhu $v0, 0x4d6($s1)
/* CA9C 8003169C 10400006 */ beqz $v0, .L800316B8
/* CAA0 800316A0 4600B106 */ mov.s $f4, $f22
/* CAA4 800316A4 C62004CC */ lwc1 $f0, 0x4cc($s1)
/* CAA8 800316A8 C62404C8 */ lwc1 $f4, 0x4c8($s1)
/* CAAC 800316AC C62204D0 */ lwc1 $f2, 0x4d0($s1)
/* CAB0 800316B0 0800C5B0 */ j .L800316C0
/* CAB4 800316B4 E62004A0 */ swc1 $f0, 0x4a0($s1)
.L800316B8:
/* CAB8 800316B8 C62004A0 */ lwc1 $f0, 0x4a0($s1)
/* CABC 800316BC 4600A086 */ mov.s $f2, $f20
.L800316C0:
/* CAC0 800316C0 0220202D */ daddu $a0, $s1, $zero
/* CAC4 800316C4 26260444 */ addiu $a2, $s1, 0x444
/* CAC8 800316C8 26270468 */ addiu $a3, $s1, 0x468
/* CACC 800316CC 26220448 */ addiu $v0, $s1, 0x448
/* CAD0 800316D0 AFA20010 */ sw $v0, 0x10($sp)
/* CAD4 800316D4 26220484 */ addiu $v0, $s1, 0x484
/* CAD8 800316D8 E7AA0014 */ swc1 $f10, 0x14($sp)
/* CADC 800316DC E7A80018 */ swc1 $f8, 0x18($sp)
/* CAE0 800316E0 E7A6001C */ swc1 $f6, 0x1c($sp)
/* CAE4 800316E4 E7A40020 */ swc1 $f4, 0x20($sp)
/* CAE8 800316E8 E7A00024 */ swc1 $f0, 0x24($sp)
/* CAEC 800316EC E7A20028 */ swc1 $f2, 0x28($sp)
/* CAF0 800316F0 86230008 */ lh $v1, 8($s1)
/* CAF4 800316F4 2625044C */ addiu $a1, $s1, 0x44c
/* CAF8 800316F8 AFA20030 */ sw $v0, 0x30($sp)
/* CAFC 800316FC AFB00034 */ sw $s0, 0x34($sp)
/* CB00 80031700 0C00C063 */ jal func_8003018C
/* CB04 80031704 AFA3002C */ sw $v1, 0x2c($sp)
/* CB08 80031708 86220008 */ lh $v0, 8($s1)
/* CB0C 8003170C 10400013 */ beqz $v0, .L8003175C
/* CB10 80031710 00000000 */ nop
/* CB14 80031714 3C013F80 */ lui $at, 0x3f80
/* CB18 80031718 44810000 */ mtc1 $at, $f0
/* CB1C 8003171C 8E290468 */ lw $t1, 0x468($s1)
/* CB20 80031720 8E2A046C */ lw $t2, 0x46c($s1)
/* CB24 80031724 8E2B0470 */ lw $t3, 0x470($s1)
/* CB28 80031728 8E2C0474 */ lw $t4, 0x474($s1)
/* CB2C 8003172C AE29044C */ sw $t1, 0x44c($s1)
/* CB30 80031730 AE2A0450 */ sw $t2, 0x450($s1)
/* CB34 80031734 AE2B0454 */ sw $t3, 0x454($s1)
/* CB38 80031738 AE2C0458 */ sw $t4, 0x458($s1)
/* CB3C 8003173C 8E290478 */ lw $t1, 0x478($s1)
/* CB40 80031740 8E2A047C */ lw $t2, 0x47c($s1)
/* CB44 80031744 8E2B0480 */ lw $t3, 0x480($s1)
/* CB48 80031748 AE29045C */ sw $t1, 0x45c($s1)
/* CB4C 8003174C AE2A0460 */ sw $t2, 0x460($s1)
/* CB50 80031750 AE2B0464 */ sw $t3, 0x464($s1)
/* CB54 80031754 A6200008 */ sh $zero, 8($s1)
/* CB58 80031758 E6200484 */ swc1 $f0, 0x484($s1)
.L8003175C:
/* CB5C 8003175C C622044C */ lwc1 $f2, 0x44c($s1)
/* CB60 80031760 C6200468 */ lwc1 $f0, 0x468($s1)
/* CB64 80031764 46001001 */ sub.s $f0, $f2, $f0
/* CB68 80031768 3C014334 */ lui $at, 0x4334
/* CB6C 8003176C 44813000 */ mtc1 $at, $f6
/* CB70 80031770 00000000 */ nop
/* CB74 80031774 4600303C */ c.lt.s $f6, $f0
/* CB78 80031778 00000000 */ nop
/* CB7C 8003177C 45000006 */ bc1f .L80031798
/* CB80 80031780 00000000 */ nop
/* CB84 80031784 3C0143B4 */ lui $at, 0x43b4
/* CB88 80031788 44810000 */ mtc1 $at, $f0
/* CB8C 8003178C 00000000 */ nop
/* CB90 80031790 46001001 */ sub.s $f0, $f2, $f0
/* CB94 80031794 E620044C */ swc1 $f0, 0x44c($s1)
.L80031798:
/* CB98 80031798 C624044C */ lwc1 $f4, 0x44c($s1)
/* CB9C 8003179C C6200468 */ lwc1 $f0, 0x468($s1)
/* CBA0 800317A0 46002001 */ sub.s $f0, $f4, $f0
/* CBA4 800317A4 3C01C334 */ lui $at, 0xc334
/* CBA8 800317A8 44811000 */ mtc1 $at, $f2
/* CBAC 800317AC 00000000 */ nop
/* CBB0 800317B0 4602003C */ c.lt.s $f0, $f2
/* CBB4 800317B4 00000000 */ nop
/* CBB8 800317B8 45000006 */ bc1f .L800317D4
/* CBBC 800317BC 00000000 */ nop
/* CBC0 800317C0 3C0143B4 */ lui $at, 0x43b4
/* CBC4 800317C4 44810000 */ mtc1 $at, $f0
/* CBC8 800317C8 00000000 */ nop
/* CBCC 800317CC 46002000 */ add.s $f0, $f4, $f0
/* CBD0 800317D0 E620044C */ swc1 $f0, 0x44c($s1)
.L800317D4:
/* CBD4 800317D4 C622044C */ lwc1 $f2, 0x44c($s1)
/* CBD8 800317D8 C6200468 */ lwc1 $f0, 0x468($s1)
/* CBDC 800317DC 46001301 */ sub.s $f12, $f2, $f0
/* CBE0 800317E0 44804000 */ mtc1 $zero, $f8
/* CBE4 800317E4 00000000 */ nop
/* CBE8 800317E8 4608603C */ c.lt.s $f12, $f8
/* CBEC 800317EC 00000000 */ nop
/* CBF0 800317F0 45030001 */ bc1tl .L800317F8
/* CBF4 800317F4 46006307 */ neg.s $f12, $f12
.L800317F8:
/* CBF8 800317F8 460C303C */ c.lt.s $f6, $f12
/* CBFC 800317FC 00000000 */ nop
/* CC00 80031800 45000005 */ bc1f .L80031818
/* CC04 80031804 00000000 */ nop
/* CC08 80031808 3C0143B4 */ lui $at, 0x43b4
/* CC0C 8003180C 44810000 */ mtc1 $at, $f0
/* CC10 80031810 00000000 */ nop
/* CC14 80031814 460C0301 */ sub.s $f12, $f0, $f12
.L80031818:
/* CC18 80031818 C6220454 */ lwc1 $f2, 0x454($s1)
/* CC1C 8003181C C6200470 */ lwc1 $f0, 0x470($s1)
/* CC20 80031820 46006506 */ mov.s $f20, $f12
/* CC24 80031824 46001301 */ sub.s $f12, $f2, $f0
/* CC28 80031828 4608603C */ c.lt.s $f12, $f8
/* CC2C 8003182C 00000000 */ nop
/* CC30 80031830 45030001 */ bc1tl .L80031838
/* CC34 80031834 46006307 */ neg.s $f12, $f12
.L80031838:
/* CC38 80031838 460C303C */ c.lt.s $f6, $f12
/* CC3C 8003183C 00000000 */ nop
/* CC40 80031840 45000005 */ bc1f .L80031858
/* CC44 80031844 00000000 */ nop
/* CC48 80031848 3C0143B4 */ lui $at, 0x43b4
/* CC4C 8003184C 44810000 */ mtc1 $at, $f0
/* CC50 80031850 00000000 */ nop
/* CC54 80031854 460C0301 */ sub.s $f12, $f0, $f12
.L80031858:
/* CC58 80031858 460CA03C */ c.lt.s $f20, $f12
/* CC5C 8003185C 00000000 */ nop
/* CC60 80031860 45030001 */ bc1tl .L80031868
/* CC64 80031864 46006506 */ mov.s $f20, $f12
.L80031868:
/* CC68 80031868 C6220458 */ lwc1 $f2, 0x458($s1)
/* CC6C 8003186C C6200474 */ lwc1 $f0, 0x474($s1)
/* CC70 80031870 46001301 */ sub.s $f12, $f2, $f0
/* CC74 80031874 4608603C */ c.lt.s $f12, $f8
/* CC78 80031878 00000000 */ nop
/* CC7C 8003187C 45030001 */ bc1tl .L80031884
/* CC80 80031880 46006307 */ neg.s $f12, $f12
.L80031884:
/* CC84 80031884 460C303C */ c.lt.s $f6, $f12
/* CC88 80031888 00000000 */ nop
/* CC8C 8003188C 45000005 */ bc1f .L800318A4
/* CC90 80031890 00000000 */ nop
/* CC94 80031894 3C0143B4 */ lui $at, 0x43b4
/* CC98 80031898 44810000 */ mtc1 $at, $f0
/* CC9C 8003189C 00000000 */ nop
/* CCA0 800318A0 460C0301 */ sub.s $f12, $f0, $f12
.L800318A4:
/* CCA4 800318A4 460CA03C */ c.lt.s $f20, $f12
/* CCA8 800318A8 00000000 */ nop
/* CCAC 800318AC 45030001 */ bc1tl .L800318B4
/* CCB0 800318B0 46006506 */ mov.s $f20, $f12
.L800318B4:
/* CCB4 800318B4 C6220450 */ lwc1 $f2, 0x450($s1)
/* CCB8 800318B8 C620046C */ lwc1 $f0, 0x46c($s1)
/* CCBC 800318BC 46001301 */ sub.s $f12, $f2, $f0
/* CCC0 800318C0 4608603C */ c.lt.s $f12, $f8
/* CCC4 800318C4 00000000 */ nop
/* CCC8 800318C8 45030001 */ bc1tl .L800318D0
/* CCCC 800318CC 46006307 */ neg.s $f12, $f12
.L800318D0:
/* CCD0 800318D0 460CA03C */ c.lt.s $f20, $f12
/* CCD4 800318D4 00000000 */ nop
/* CCD8 800318D8 45030001 */ bc1tl .L800318E0
/* CCDC 800318DC 46006506 */ mov.s $f20, $f12
.L800318E0:
/* CCE0 800318E0 C620045C */ lwc1 $f0, 0x45c($s1)
/* CCE4 800318E4 C6220478 */ lwc1 $f2, 0x478($s1)
/* CCE8 800318E8 46020001 */ sub.s $f0, $f0, $f2
/* CCEC 800318EC 46000302 */ mul.s $f12, $f0, $f0
/* CCF0 800318F0 00000000 */ nop
/* CCF4 800318F4 C6240460 */ lwc1 $f4, 0x460($s1)
/* CCF8 800318F8 C620047C */ lwc1 $f0, 0x47c($s1)
/* CCFC 800318FC 46002101 */ sub.s $f4, $f4, $f0
/* CD00 80031900 46042102 */ mul.s $f4, $f4, $f4
/* CD04 80031904 00000000 */ nop
/* CD08 80031908 C6220480 */ lwc1 $f2, 0x480($s1)
/* CD0C 8003190C C6200464 */ lwc1 $f0, 0x464($s1)
/* CD10 80031910 46020001 */ sub.s $f0, $f0, $f2
/* CD14 80031914 46000002 */ mul.s $f0, $f0, $f0
/* CD18 80031918 00000000 */ nop
/* CD1C 8003191C 46046300 */ add.s $f12, $f12, $f4
/* CD20 80031920 46006300 */ add.s $f12, $f12, $f0
/* CD24 80031924 46086032 */ c.eq.s $f12, $f8
/* CD28 80031928 00000000 */ nop
/* CD2C 8003192C 4501000E */ bc1t .L80031968
/* CD30 80031930 00000000 */ nop
/* CD34 80031934 46006004 */ sqrt.s $f0, $f12
/* CD38 80031938 46000032 */ c.eq.s $f0, $f0
/* CD3C 8003193C 00000000 */ nop
/* CD40 80031940 45010003 */ bc1t .L80031950
/* CD44 80031944 00000000 */ nop
/* CD48 80031948 0C0187B0 */ jal func_80061EC0
/* CD4C 8003194C 00000000 */ nop
.L80031950:
/* CD50 80031950 3C01800A */ lui $at, %hi(D_80098240)
/* CD54 80031954 D4228240 */ ldc1 $f2, %lo(D_80098240)($at)
/* CD58 80031958 46000021 */ cvt.d.s $f0, $f0
/* CD5C 8003195C 46220002 */ mul.d $f0, $f0, $f2
/* CD60 80031960 00000000 */ nop
/* CD64 80031964 46200320 */ cvt.s.d $f12, $f0
.L80031968:
/* CD68 80031968 460CA03C */ c.lt.s $f20, $f12
/* CD6C 8003196C 00000000 */ nop
/* CD70 80031970 45030001 */ bc1tl .L80031978
/* CD74 80031974 46006506 */ mov.s $f20, $f12
.L80031978:
/* CD78 80031978 3C0142B4 */ lui $at, 0x42b4
/* CD7C 8003197C 44810000 */ mtc1 $at, $f0
/* CD80 80031980 00000000 */ nop
/* CD84 80031984 4614003C */ c.lt.s $f0, $f20
/* CD88 80031988 00000000 */ nop
/* CD8C 8003198C 45030001 */ bc1tl .L80031994
/* CD90 80031990 46000506 */ mov.s $f20, $f0
.L80031994:
/* CD94 80031994 3C0141A0 */ lui $at, 0x41a0
/* CD98 80031998 44810000 */ mtc1 $at, $f0
/* CD9C 8003199C 00000000 */ nop
/* CDA0 800319A0 4600A03C */ c.lt.s $f20, $f0
/* CDA4 800319A4 00000000 */ nop
/* CDA8 800319A8 45030001 */ bc1tl .L800319B0
/* CDAC 800319AC 46000506 */ mov.s $f20, $f0
.L800319B0:
/* CDB0 800319B0 44800000 */ mtc1 $zero, $f0
/* CDB4 800319B4 00000000 */ nop
/* CDB8 800319B8 4600A032 */ c.eq.s $f20, $f0
/* CDBC 800319BC 00000000 */ nop
/* CDC0 800319C0 4501000E */ bc1t .L800319FC
/* CDC4 800319C4 00000000 */ nop
/* CDC8 800319C8 3C013F80 */ lui $at, 0x3f80
/* CDCC 800319CC 44812000 */ mtc1 $at, $f4
/* CDD0 800319D0 C620048C */ lwc1 $f0, 0x48c($s1)
/* CDD4 800319D4 46142083 */ div.s $f2, $f4, $f20
/* CDD8 800319D8 46001082 */ mul.s $f2, $f2, $f0
/* CDDC 800319DC 00000000 */ nop
/* CDE0 800319E0 C6200488 */ lwc1 $f0, 0x488($s1)
/* CDE4 800319E4 46020000 */ add.s $f0, $f0, $f2
/* CDE8 800319E8 4600203C */ c.lt.s $f4, $f0
/* CDEC 800319EC 00000000 */ nop
/* CDF0 800319F0 45000002 */ bc1f .L800319FC
/* CDF4 800319F4 E6200488 */ swc1 $f0, 0x488($s1)
/* CDF8 800319F8 E6240488 */ swc1 $f4, 0x488($s1)
.L800319FC:
/* CDFC 800319FC C6200484 */ lwc1 $f0, 0x484($s1)
/* CE00 80031A00 3C013FF0 */ lui $at, 0x3ff0
/* CE04 80031A04 4481E800 */ mtc1 $at, $f29
/* CE08 80031A08 4480E000 */ mtc1 $zero, $f28
/* CE0C 80031A0C 46000021 */ cvt.d.s $f0, $f0
/* CE10 80031A10 463C003C */ c.lt.d $f0, $f28
/* CE14 80031A14 00000000 */ nop
/* CE18 80031A18 45000036 */ bc1f .L80031AF4
/* CE1C 80031A1C 00000000 */ nop
/* CE20 80031A20 C6340508 */ lwc1 $f20, 0x508($s1)
/* CE24 80031A24 3C01800A */ lui $at, %hi(D_80098248)
/* CE28 80031A28 D4388248 */ ldc1 $f24, %lo(D_80098248)($at)
/* CE2C 80031A2C 4600A5A1 */ cvt.d.s $f22, $f20
/* CE30 80031A30 4638B582 */ mul.d $f22, $f22, $f24
/* CE34 80031A34 00000000 */ nop
/* CE38 80031A38 4620B5A0 */ cvt.s.d $f22, $f22
/* CE3C 80031A3C 0C00A864 */ jal func_8002A190
/* CE40 80031A40 4600B306 */ mov.s $f12, $f22
/* CE44 80031A44 C62C0488 */ lwc1 $f12, 0x488($s1)
/* CE48 80031A48 46006321 */ cvt.d.s $f12, $f12
/* CE4C 80031A4C 46386302 */ mul.d $f12, $f12, $f24
/* CE50 80031A50 00000000 */ nop
/* CE54 80031A54 3C013F80 */ lui $at, 0x3f80
/* CE58 80031A58 4481D000 */ mtc1 $at, $f26
/* CE5C 80031A5C 00000000 */ nop
/* CE60 80031A60 4614D501 */ sub.s $f20, $f26, $f20
/* CE64 80031A64 4600A521 */ cvt.d.s $f20, $f20
/* CE68 80031A68 46346302 */ mul.d $f12, $f12, $f20
/* CE6C 80031A6C 00000000 */ nop
/* CE70 80031A70 461A0600 */ add.s $f24, $f0, $f26
/* CE74 80031A74 4600B0A1 */ cvt.d.s $f2, $f22
/* CE78 80031A78 3C014000 */ lui $at, 0x4000
/* CE7C 80031A7C 4481A000 */ mtc1 $at, $f20
/* CE80 80031A80 46226300 */ add.d $f12, $f12, $f2
/* CE84 80031A84 4618A603 */ div.s $f24, $f20, $f24
/* CE88 80031A88 0C00A864 */ jal func_8002A190
/* CE8C 80031A8C 46206320 */ cvt.s.d $f12, $f12
/* CE90 80031A90 4600B306 */ mov.s $f12, $f22
/* CE94 80031A94 0C00A864 */ jal func_8002A190
/* CE98 80031A98 460005A1 */ cvt.d.s $f22, $f0
/* CE9C 80031A9C 46000021 */ cvt.d.s $f0, $f0
/* CEA0 80031AA0 4620E001 */ sub.d $f0, $f28, $f0
/* CEA4 80031AA4 3C013FE0 */ lui $at, 0x3fe0
/* CEA8 80031AA8 44811800 */ mtc1 $at, $f3
/* CEAC 80031AAC 44801000 */ mtc1 $zero, $f2
/* CEB0 80031AB0 00000000 */ nop
/* CEB4 80031AB4 46220002 */ mul.d $f0, $f0, $f2
/* CEB8 80031AB8 00000000 */ nop
/* CEBC 80031ABC 4620B580 */ add.d $f22, $f22, $f0
/* CEC0 80031AC0 4600C621 */ cvt.d.s $f24, $f24
/* CEC4 80031AC4 4638B582 */ mul.d $f22, $f22, $f24
/* CEC8 80031AC8 00000000 */ nop
/* CECC 80031ACC 4620B5A0 */ cvt.s.d $f22, $f22
/* CED0 80031AD0 461AB680 */ add.s $f26, $f22, $f26
/* CED4 80031AD4 461AA501 */ sub.s $f20, $f20, $f26
/* CED8 80031AD8 3C01800A */ lui $at, %hi(D_80098250)
/* CEDC 80031ADC D4208250 */ ldc1 $f0, %lo(D_80098250)($at)
/* CEE0 80031AE0 4600A521 */ cvt.d.s $f20, $f20
/* CEE4 80031AE4 4620A502 */ mul.d $f20, $f20, $f0
/* CEE8 80031AE8 00000000 */ nop
/* CEEC 80031AEC 4620A5A0 */ cvt.s.d $f22, $f20
/* CEF0 80031AF0 E6360484 */ swc1 $f22, 0x484($s1)
.L80031AF4:
/* CEF4 80031AF4 C6200484 */ lwc1 $f0, 0x484($s1)
/* CEF8 80031AF8 3C013F80 */ lui $at, 0x3f80
/* CEFC 80031AFC 44814000 */ mtc1 $at, $f8
/* CF00 80031B00 00000000 */ nop
/* CF04 80031B04 4600403E */ c.le.s $f8, $f0
/* CF08 80031B08 00000000 */ nop
/* CF0C 80031B0C 45000003 */ bc1f .L80031B1C
/* CF10 80031B10 00000000 */ nop
/* CF14 80031B14 E6280484 */ swc1 $f8, 0x484($s1)
/* CF18 80031B18 AE200488 */ sw $zero, 0x488($s1)
.L80031B1C:
/* CF1C 80031B1C C6260484 */ lwc1 $f6, 0x484($s1)
/* CF20 80031B20 C6200468 */ lwc1 $f0, 0x468($s1)
/* CF24 80031B24 46060002 */ mul.s $f0, $f0, $f6
/* CF28 80031B28 00000000 */ nop
/* CF2C 80031B2C 46064201 */ sub.s $f8, $f8, $f6
/* CF30 80031B30 C622044C */ lwc1 $f2, 0x44c($s1)
/* CF34 80031B34 C7B00038 */ lwc1 $f16, 0x38($sp)
/* CF38 80031B38 46081082 */ mul.s $f2, $f2, $f8
/* CF3C 80031B3C 00000000 */ nop
/* CF40 80031B40 E63004A4 */ swc1 $f16, 0x4a4($s1)
/* CF44 80031B44 E63E04A8 */ swc1 $f30, 0x4a8($s1)
/* CF48 80031B48 C7B0003C */ lwc1 $f16, 0x3c($sp)
/* CF4C 80031B4C 46001080 */ add.s $f2, $f2, $f0
/* CF50 80031B50 3C12800A */ lui $s2, %hi(D_8009E6D0)
/* CF54 80031B54 2652E6D0 */ addiu $s2, $s2, %lo(D_8009E6D0)
/* CF58 80031B58 E63004AC */ swc1 $f16, 0x4ac($s1)
/* CF5C 80031B5C E6420000 */ swc1 $f2, ($s2)
/* CF60 80031B60 C6240450 */ lwc1 $f4, 0x450($s1)
/* CF64 80031B64 46082102 */ mul.s $f4, $f4, $f8
/* CF68 80031B68 00000000 */ nop
/* CF6C 80031B6C C620046C */ lwc1 $f0, 0x46c($s1)
/* CF70 80031B70 46060002 */ mul.s $f0, $f0, $f6
/* CF74 80031B74 00000000 */ nop
/* CF78 80031B78 46002100 */ add.s $f4, $f4, $f0
/* CF7C 80031B7C E6440004 */ swc1 $f4, 4($s2)
/* CF80 80031B80 C6220454 */ lwc1 $f2, 0x454($s1)
/* CF84 80031B84 46081082 */ mul.s $f2, $f2, $f8
/* CF88 80031B88 00000000 */ nop
/* CF8C 80031B8C C6200470 */ lwc1 $f0, 0x470($s1)
/* CF90 80031B90 46060002 */ mul.s $f0, $f0, $f6
/* CF94 80031B94 00000000 */ nop
/* CF98 80031B98 46001080 */ add.s $f2, $f2, $f0
/* CF9C 80031B9C E6420008 */ swc1 $f2, 8($s2)
/* CFA0 80031BA0 C6220458 */ lwc1 $f2, 0x458($s1)
/* CFA4 80031BA4 46081082 */ mul.s $f2, $f2, $f8
/* CFA8 80031BA8 00000000 */ nop
/* CFAC 80031BAC C6200474 */ lwc1 $f0, 0x474($s1)
/* CFB0 80031BB0 46060002 */ mul.s $f0, $f0, $f6
/* CFB4 80031BB4 00000000 */ nop
/* CFB8 80031BB8 46001080 */ add.s $f2, $f2, $f0
/* CFBC 80031BBC E642000C */ swc1 $f2, 0xc($s2)
/* CFC0 80031BC0 C622045C */ lwc1 $f2, 0x45c($s1)
/* CFC4 80031BC4 46081082 */ mul.s $f2, $f2, $f8
/* CFC8 80031BC8 00000000 */ nop
/* CFCC 80031BCC C6200478 */ lwc1 $f0, 0x478($s1)
/* CFD0 80031BD0 46060002 */ mul.s $f0, $f0, $f6
/* CFD4 80031BD4 00000000 */ nop
/* CFD8 80031BD8 46001080 */ add.s $f2, $f2, $f0
/* CFDC 80031BDC E6420010 */ swc1 $f2, 0x10($s2)
/* CFE0 80031BE0 C6220460 */ lwc1 $f2, 0x460($s1)
/* CFE4 80031BE4 46081082 */ mul.s $f2, $f2, $f8
/* CFE8 80031BE8 00000000 */ nop
/* CFEC 80031BEC C620047C */ lwc1 $f0, 0x47c($s1)
/* CFF0 80031BF0 46060002 */ mul.s $f0, $f0, $f6
/* CFF4 80031BF4 00000000 */ nop
/* CFF8 80031BF8 46001080 */ add.s $f2, $f2, $f0
/* CFFC 80031BFC E6420014 */ swc1 $f2, 0x14($s2)
/* D000 80031C00 C6220464 */ lwc1 $f2, 0x464($s1)
/* D004 80031C04 46081082 */ mul.s $f2, $f2, $f8
/* D008 80031C08 00000000 */ nop
/* D00C 80031C0C C6200480 */ lwc1 $f0, 0x480($s1)
/* D010 80031C10 46060002 */ mul.s $f0, $f0, $f6
/* D014 80031C14 00000000 */ nop
/* D018 80031C18 46001080 */ add.s $f2, $f2, $f0
/* D01C 80031C1C E6420018 */ swc1 $f2, 0x18($s2)
/* D020 80031C20 8622002A */ lh $v0, 0x2a($s1)
/* D024 80031C24 44820000 */ mtc1 $v0, $f0
/* D028 80031C28 00000000 */ nop
/* D02C 80031C2C 46800020 */ cvt.s.w $f0, $f0
/* D030 80031C30 46002102 */ mul.s $f4, $f4, $f0
/* D034 80031C34 00000000 */ nop
/* D038 80031C38 3C01800A */ lui $at, %hi(D_80098258)
/* D03C 80031C3C D4208258 */ ldc1 $f0, %lo(D_80098258)($at)
/* D040 80031C40 46002121 */ cvt.d.s $f4, $f4
/* D044 80031C44 46202102 */ mul.d $f4, $f4, $f0
/* D048 80031C48 00000000 */ nop
/* D04C 80031C4C 0220202D */ daddu $a0, $s1, $zero
/* D050 80031C50 46202120 */ cvt.s.d $f4, $f4
/* D054 80031C54 0C00C038 */ jal func_800300E0
/* D058 80031C58 E6440004 */ swc1 $f4, 4($s2)
/* D05C 80031C5C C6540000 */ lwc1 $f20, ($s2)
/* D060 80031C60 3C01800A */ lui $at, %hi(D_8009E6F0)
/* D064 80031C64 C420E6F0 */ lwc1 $f0, %lo(D_8009E6F0)($at)
/* D068 80031C68 4600A500 */ add.s $f20, $f20, $f0
/* D06C 80031C6C 0C00A8AB */ jal func_8002A2AC
/* D070 80031C70 4600A306 */ mov.s $f12, $f20
/* D074 80031C74 4600A306 */ mov.s $f12, $f20
/* D078 80031C78 0C00A8C4 */ jal func_8002A310
/* D07C 80031C7C 46000686 */ mov.s $f26, $f0
/* D080 80031C80 3C10800A */ lui $s0, %hi(D_8009E6EC)
/* D084 80031C84 2610E6EC */ addiu $s0, $s0, %lo(D_8009E6EC)
/* D088 80031C88 C6420008 */ lwc1 $f2, 8($s2)
/* D08C 80031C8C C60C0000 */ lwc1 $f12, ($s0)
/* D090 80031C90 460C1300 */ add.s $f12, $f2, $f12
/* D094 80031C94 0C00A8C4 */ jal func_8002A310
/* D098 80031C98 46000607 */ neg.s $f24, $f0
/* D09C 80031C9C C6420008 */ lwc1 $f2, 8($s2)
/* D0A0 80031CA0 C60C0000 */ lwc1 $f12, ($s0)
/* D0A4 80031CA4 460C1300 */ add.s $f12, $f2, $f12
/* D0A8 80031CA8 0C00A8AB */ jal func_8002A2AC
/* D0AC 80031CAC 46000586 */ mov.s $f22, $f0
/* D0B0 80031CB0 96220002 */ lhu $v0, 2($s1)
/* D0B4 80031CB4 30420002 */ andi $v0, $v0, 2
/* D0B8 80031CB8 14400007 */ bnez $v0, .L80031CD8
/* D0BC 80031CBC 46000506 */ mov.s $f20, $f0
/* D0C0 80031CC0 C6420004 */ lwc1 $f2, 4($s2)
/* D0C4 80031CC4 46141082 */ mul.s $f2, $f2, $f20
/* D0C8 80031CC8 00000000 */ nop
/* D0CC 80031CCC C6400014 */ lwc1 $f0, 0x14($s2)
/* D0D0 80031CD0 46020000 */ add.s $f0, $f0, $f2
/* D0D4 80031CD4 E6200040 */ swc1 $f0, 0x40($s1)
.L80031CD8:
/* D0D8 80031CD8 C6420004 */ lwc1 $f2, 4($s2)
/* D0DC 80031CDC 4602D082 */ mul.s $f2, $f26, $f2
/* D0E0 80031CE0 00000000 */ nop
/* D0E4 80031CE4 46161082 */ mul.s $f2, $f2, $f22
/* D0E8 80031CE8 00000000 */ nop
/* D0EC 80031CEC C6400010 */ lwc1 $f0, 0x10($s2)
/* D0F0 80031CF0 46020001 */ sub.s $f0, $f0, $f2
/* D0F4 80031CF4 E620003C */ swc1 $f0, 0x3c($s1)
/* D0F8 80031CF8 C6420004 */ lwc1 $f2, 4($s2)
/* D0FC 80031CFC 4602C082 */ mul.s $f2, $f24, $f2
/* D100 80031D00 00000000 */ nop
/* D104 80031D04 46161082 */ mul.s $f2, $f2, $f22
/* D108 80031D08 00000000 */ nop
/* D10C 80031D0C C6400018 */ lwc1 $f0, 0x18($s2)
/* D110 80031D10 46020001 */ sub.s $f0, $f0, $f2
/* D114 80031D14 E6200044 */ swc1 $f0, 0x44($s1)
/* D118 80031D18 C64C000C */ lwc1 $f12, 0xc($s2)
/* D11C 80031D1C 0C00A8C4 */ jal func_8002A310
/* D120 80031D20 46006307 */ neg.s $f12, $f12
/* D124 80031D24 C64C000C */ lwc1 $f12, 0xc($s2)
/* D128 80031D28 46000586 */ mov.s $f22, $f0
/* D12C 80031D2C 0C00A8AB */ jal func_8002A2AC
/* D130 80031D30 46006307 */ neg.s $f12, $f12
/* D134 80031D34 C624003C */ lwc1 $f4, 0x3c($s1)
/* D138 80031D38 C6420010 */ lwc1 $f2, 0x10($s2)
/* D13C 80031D3C 46022032 */ c.eq.s $f4, $f2
/* D140 80031D40 00000000 */ nop
/* D144 80031D44 4500000A */ bc1f .L80031D70
/* D148 80031D48 46000506 */ mov.s $f20, $f0
/* D14C 80031D4C C6220044 */ lwc1 $f2, 0x44($s1)
/* D150 80031D50 C6400018 */ lwc1 $f0, 0x18($s2)
/* D154 80031D54 46001032 */ c.eq.s $f2, $f0
/* D158 80031D58 00000000 */ nop
/* D15C 80031D5C 45000004 */ bc1f .L80031D70
/* D160 80031D60 00000000 */ nop
/* D164 80031D64 44802000 */ mtc1 $zero, $f4
/* D168 80031D68 0800C764 */ j .L80031D90
/* D16C 80031D6C 00000000 */ nop
.L80031D70:
/* D170 80031D70 3C02800A */ lui $v0, %hi(D_8009E6D0)
/* D174 80031D74 2442E6D0 */ addiu $v0, $v0, %lo(D_8009E6D0)
/* D178 80031D78 C62C003C */ lwc1 $f12, 0x3c($s1)
/* D17C 80031D7C C62E0044 */ lwc1 $f14, 0x44($s1)
/* D180 80031D80 8C460010 */ lw $a2, 0x10($v0)
/* D184 80031D84 0C00A7A5 */ jal func_80029E94
/* D188 80031D88 8C470018 */ lw $a3, 0x18($v0)
/* D18C 80031D8C 46000106 */ mov.s $f4, $f0
.L80031D90:
/* D190 80031D90 3C03800A */ lui $v1, %hi(D_8009E6D0)
/* D194 80031D94 2463E6D0 */ addiu $v1, $v1, %lo(D_8009E6D0)
/* D198 80031D98 C4600014 */ lwc1 $f0, 0x14($v1)
/* D19C 80031D9C 96220002 */ lhu $v0, 2($s1)
/* D1A0 80031DA0 C6260040 */ lwc1 $f6, 0x40($s1)
/* D1A4 80031DA4 30420002 */ andi $v0, $v0, 2
/* D1A8 80031DA8 14400008 */ bnez $v0, .L80031DCC
/* D1AC 80031DAC 46060201 */ sub.s $f8, $f0, $f6
/* D1B0 80031DB0 46142002 */ mul.s $f0, $f4, $f20
/* D1B4 80031DB4 00000000 */ nop
/* D1B8 80031DB8 46164082 */ mul.s $f2, $f8, $f22
/* D1BC 80031DBC 00000000 */ nop
/* D1C0 80031DC0 46020000 */ add.s $f0, $f0, $f2
/* D1C4 80031DC4 46003000 */ add.s $f0, $f6, $f0
/* D1C8 80031DC8 E620004C */ swc1 $f0, 0x4c($s1)
.L80031DCC:
/* D1CC 80031DCC 46162102 */ mul.s $f4, $f4, $f22
/* D1D0 80031DD0 00000000 */ nop
/* D1D4 80031DD4 46144002 */ mul.s $f0, $f8, $f20
/* D1D8 80031DD8 00000000 */ nop
/* D1DC 80031DDC 46002101 */ sub.s $f4, $f4, $f0
/* D1E0 80031DE0 4604D002 */ mul.s $f0, $f26, $f4
/* D1E4 80031DE4 00000000 */ nop
/* D1E8 80031DE8 4604C102 */ mul.s $f4, $f24, $f4
/* D1EC 80031DEC 00000000 */ nop
/* D1F0 80031DF0 C622003C */ lwc1 $f2, 0x3c($s1)
/* D1F4 80031DF4 46001080 */ add.s $f2, $f2, $f0
/* D1F8 80031DF8 C6200044 */ lwc1 $f0, 0x44($s1)
/* D1FC 80031DFC 46040000 */ add.s $f0, $f0, $f4
/* D200 80031E00 E6220048 */ swc1 $f2, 0x48($s1)
/* D204 80031E04 3C01800A */ lui $at, %hi(D_8009E6F0)
/* D208 80031E08 C422E6F0 */ lwc1 $f2, %lo(D_8009E6F0)($at)
/* D20C 80031E0C E6200050 */ swc1 $f0, 0x50($s1)
/* D210 80031E10 C4600000 */ lwc1 $f0, ($v1)
/* D214 80031E14 46020000 */ add.s $f0, $f0, $f2
/* D218 80031E18 C6240048 */ lwc1 $f4, 0x48($s1)
/* D21C 80031E1C E620006C */ swc1 $f0, 0x6c($s1)
/* D220 80031E20 E6200084 */ swc1 $f0, 0x84($s1)
/* D224 80031E24 C4600004 */ lwc1 $f0, 4($v1)
/* D228 80031E28 E6200078 */ swc1 $f0, 0x78($s1)
/* D22C 80031E2C C4600000 */ lwc1 $f0, ($v1)
/* D230 80031E30 C622004C */ lwc1 $f2, 0x4c($s1)
/* D234 80031E34 46000007 */ neg.s $f0, $f0
/* D238 80031E38 E6200090 */ swc1 $f0, 0x90($s1)
/* D23C 80031E3C C4600008 */ lwc1 $f0, 8($v1)
/* D240 80031E40 C466000C */ lwc1 $f6, 0xc($v1)
/* D244 80031E44 E6220058 */ swc1 $f2, 0x58($s1)
/* D248 80031E48 C6220050 */ lwc1 $f2, 0x50($s1)
/* D24C 80031E4C E6240054 */ swc1 $f4, 0x54($s1)
/* D250 80031E50 46000007 */ neg.s $f0, $f0
/* D254 80031E54 46060001 */ sub.s $f0, $f0, $f6
/* D258 80031E58 AE20007C */ sw $zero, 0x7c($s1)
/* D25C 80031E5C E622005C */ swc1 $f2, 0x5c($s1)
/* D260 80031E60 E6200094 */ swc1 $f0, 0x94($s1)
/* D264 80031E64 8FBF004C */ lw $ra, 0x4c($sp)
/* D268 80031E68 8FB20048 */ lw $s2, 0x48($sp)
/* D26C 80031E6C 8FB10044 */ lw $s1, 0x44($sp)
/* D270 80031E70 8FB00040 */ lw $s0, 0x40($sp)
/* D274 80031E74 D7BE0078 */ ldc1 $f30, 0x78($sp)
/* D278 80031E78 D7BC0070 */ ldc1 $f28, 0x70($sp)
/* D27C 80031E7C D7BA0068 */ ldc1 $f26, 0x68($sp)
/* D280 80031E80 D7B80060 */ ldc1 $f24, 0x60($sp)
/* D284 80031E84 D7B60058 */ ldc1 $f22, 0x58($sp)
/* D288 80031E88 D7B40050 */ ldc1 $f20, 0x50($sp)
/* D28C 80031E8C 03E00008 */ jr $ra
/* D290 80031E90 27BD0080 */ addiu $sp, $sp, 0x80
/* D294 80031E94 00000000 */ nop
/* D298 80031E98 00000000 */ nop
/* D29C 80031E9C 00000000 */ nop