papermario/ver/jp/asm/nonmatchings/99A0/func_8002EF20.s

378 lines
19 KiB
ArmAsm
Raw Normal View History

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002EF20
/* A320 8002EF20 27BDFF90 */ addiu $sp, $sp, -0x70
/* A324 8002EF24 AFB10034 */ sw $s1, 0x34($sp)
/* A328 8002EF28 0080882D */ daddu $s1, $a0, $zero
/* A32C 8002EF2C AFBF0038 */ sw $ra, 0x38($sp)
/* A330 8002EF30 AFB00030 */ sw $s0, 0x30($sp)
/* A334 8002EF34 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* A338 8002EF38 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* A33C 8002EF3C F7BA0058 */ sdc1 $f26, 0x58($sp)
/* A340 8002EF40 F7B80050 */ sdc1 $f24, 0x50($sp)
/* A344 8002EF44 F7B60048 */ sdc1 $f22, 0x48($sp)
/* A348 8002EF48 F7B40040 */ sdc1 $f20, 0x40($sp)
/* A34C 8002EF4C 86220006 */ lh $v0, 6($s1)
/* A350 8002EF50 10400089 */ beqz $v0, .L8002F178
/* A354 8002EF54 00000000 */ nop
/* A358 8002EF58 C63E0054 */ lwc1 $f30, 0x54($s1)
/* A35C 8002EF5C C63C005C */ lwc1 $f28, 0x5c($s1)
/* A360 8002EF60 C6380060 */ lwc1 $f24, 0x60($s1)
/* A364 8002EF64 C6360068 */ lwc1 $f22, 0x68($s1)
/* A368 8002EF68 8622001C */ lh $v0, 0x1c($s1)
/* A36C 8002EF6C 86230020 */ lh $v1, 0x20($s1)
/* A370 8002EF70 3C10800A */ lui $s0, %hi(D_8009A5CC)
/* A374 8002EF74 2610A5CC */ addiu $s0, $s0, %lo(D_8009A5CC)
/* A378 8002EF78 A6200006 */ sh $zero, 6($s1)
/* A37C 8002EF7C 4600F306 */ mov.s $f12, $f30
/* A380 8002EF80 4600E386 */ mov.s $f14, $f28
/* A384 8002EF84 44820000 */ mtc1 $v0, $f0
/* A388 8002EF88 00000000 */ nop
/* A38C 8002EF8C 46800020 */ cvt.s.w $f0, $f0
/* A390 8002EF90 00031040 */ sll $v0, $v1, 1
/* A394 8002EF94 00431021 */ addu $v0, $v0, $v1
/* A398 8002EF98 000210C0 */ sll $v0, $v0, 3
/* A39C 8002EF9C 00431021 */ addu $v0, $v0, $v1
/* A3A0 8002EFA0 00021080 */ sll $v0, $v0, 2
/* A3A4 8002EFA4 E6200074 */ swc1 $f0, 0x74($s1)
/* A3A8 8002EFA8 44820000 */ mtc1 $v0, $f0
/* A3AC 8002EFAC 00000000 */ nop
/* A3B0 8002EFB0 46800020 */ cvt.s.w $f0, $f0
/* A3B4 8002EFB4 4406C000 */ mfc1 $a2, $f24
/* A3B8 8002EFB8 4407B000 */ mfc1 $a3, $f22
/* A3BC 8002EFBC C6020000 */ lwc1 $f2, ($s0)
/* A3C0 8002EFC0 86230022 */ lh $v1, 0x22($s1)
/* A3C4 8002EFC4 46020003 */ div.s $f0, $f0, $f2
/* A3C8 8002EFC8 00031080 */ sll $v0, $v1, 2
/* A3CC 8002EFCC 00431021 */ addu $v0, $v0, $v1
/* A3D0 8002EFD0 00021080 */ sll $v0, $v0, 2
/* A3D4 8002EFD4 E6200078 */ swc1 $f0, 0x78($s1)
/* A3D8 8002EFD8 44820000 */ mtc1 $v0, $f0
/* A3DC 8002EFDC 00000000 */ nop
/* A3E0 8002EFE0 46800020 */ cvt.s.w $f0, $f0
/* A3E4 8002EFE4 46020003 */ div.s $f0, $f0, $f2
/* A3E8 8002EFE8 0C00A710 */ jal func_80029C40
/* A3EC 8002EFEC E620007C */ swc1 $f0, 0x7c($s1)
/* A3F0 8002EFF0 46000506 */ mov.s $f20, $f0
/* A3F4 8002EFF4 4600F306 */ mov.s $f12, $f30
/* A3F8 8002EFF8 4406C000 */ mfc1 $a2, $f24
/* A3FC 8002EFFC 4407B000 */ mfc1 $a3, $f22
/* A400 8002F000 0C00A7A5 */ jal func_80029E94
/* A404 8002F004 4600E386 */ mov.s $f14, $f28
/* A408 8002F008 8623001E */ lh $v1, 0x1e($s1)
/* A40C 8002F00C C6040000 */ lwc1 $f4, ($s0)
/* A410 8002F010 00031040 */ sll $v0, $v1, 1
/* A414 8002F014 00431021 */ addu $v0, $v0, $v1
/* A418 8002F018 000210C0 */ sll $v0, $v0, 3
/* A41C 8002F01C 00431021 */ addu $v0, $v0, $v1
/* A420 8002F020 00021080 */ sll $v0, $v0, 2
/* A424 8002F024 44821000 */ mtc1 $v0, $f2
/* A428 8002F028 00000000 */ nop
/* A42C 8002F02C 468010A0 */ cvt.s.w $f2, $f2
/* A430 8002F030 46041083 */ div.s $f2, $f2, $f4
/* A434 8002F034 4602003C */ c.lt.s $f0, $f2
/* A438 8002F038 00000000 */ nop
/* A43C 8002F03C 45020004 */ bc1fl .L8002F050
/* A440 8002F040 E6340084 */ swc1 $f20, 0x84($s1)
/* A444 8002F044 C6340084 */ lwc1 $f20, 0x84($s1)
/* A448 8002F048 0800BC15 */ j .L8002F054
/* A44C 8002F04C AFA00010 */ sw $zero, 0x10($sp)
.L8002F050:
/* A450 8002F050 AFA00010 */ sw $zero, 0x10($sp)
.L8002F054:
/* A454 8002F054 C6220074 */ lwc1 $f2, 0x74($s1)
/* A458 8002F058 C6280054 */ lwc1 $f8, 0x54($s1)
/* A45C 8002F05C 3C0140C9 */ lui $at, 0x40c9
/* A460 8002F060 34210FD0 */ ori $at, $at, 0xfd0
/* A464 8002F064 44815000 */ mtc1 $at, $f10
/* A468 8002F068 C6200058 */ lwc1 $f0, 0x58($s1)
/* A46C 8002F06C C624007C */ lwc1 $f4, 0x7c($s1)
/* A470 8002F070 460A1082 */ mul.s $f2, $f2, $f10
/* A474 8002F074 00000000 */ nop
/* A478 8002F078 C626005C */ lwc1 $f6, 0x5c($s1)
/* A47C 8002F07C 3C0143B4 */ lui $at, 0x43b4
/* A480 8002F080 4481B000 */ mtc1 $at, $f22
/* A484 8002F084 E6340088 */ swc1 $f20, 0x88($s1)
/* A488 8002F088 46040000 */ add.s $f0, $f0, $f4
/* A48C 8002F08C E6280048 */ swc1 $f8, 0x48($s1)
/* A490 8002F090 E6260050 */ swc1 $f6, 0x50($s1)
/* A494 8002F094 E620004C */ swc1 $f0, 0x4c($s1)
/* A498 8002F098 46161603 */ div.s $f24, $f2, $f22
/* A49C 8002F09C 0C00A84B */ jal func_8002A12C
/* A4A0 8002F0A0 4600C306 */ mov.s $f12, $f24
/* A4A4 8002F0A4 46000686 */ mov.s $f26, $f0
/* A4A8 8002F0A8 0C00A864 */ jal func_8002A190
/* A4AC 8002F0AC 4600C306 */ mov.s $f12, $f24
/* A4B0 8002F0B0 C7B00010 */ lwc1 $f16, 0x10($sp)
/* A4B4 8002F0B4 46000206 */ mov.s $f8, $f0
/* A4B8 8002F0B8 46104182 */ mul.s $f6, $f8, $f16
/* A4BC 8002F0BC 00000000 */ nop
/* A4C0 8002F0C0 C63C0078 */ lwc1 $f28, 0x78($s1)
/* A4C4 8002F0C4 461AE082 */ mul.s $f2, $f28, $f26
/* A4C8 8002F0C8 00000000 */ nop
/* A4CC 8002F0CC 46008007 */ neg.s $f0, $f16
/* A4D0 8002F0D0 4600D002 */ mul.s $f0, $f26, $f0
/* A4D4 8002F0D4 00000000 */ nop
/* A4D8 8002F0D8 4608E102 */ mul.s $f4, $f28, $f8
/* A4DC 8002F0DC 00000000 */ nop
/* A4E0 8002F0E0 3C0140C9 */ lui $at, 0x40c9
/* A4E4 8002F0E4 34210FD0 */ ori $at, $at, 0xfd0
/* A4E8 8002F0E8 44815000 */ mtc1 $at, $f10
/* A4EC 8002F0EC 00000000 */ nop
/* A4F0 8002F0F0 460AA282 */ mul.s $f10, $f20, $f10
/* A4F4 8002F0F4 00000000 */ nop
/* A4F8 8002F0F8 46008606 */ mov.s $f24, $f16
/* A4FC 8002F0FC 4600C786 */ mov.s $f30, $f24
/* A500 8002F100 46023180 */ add.s $f6, $f6, $f2
/* A504 8002F104 46165603 */ div.s $f24, $f10, $f22
/* A508 8002F108 4600C306 */ mov.s $f12, $f24
/* A50C 8002F10C 46040700 */ add.s $f28, $f0, $f4
/* A510 8002F110 0C00A84B */ jal func_8002A12C
/* A514 8002F114 E7A60010 */ swc1 $f6, 0x10($sp)
/* A518 8002F118 46000686 */ mov.s $f26, $f0
/* A51C 8002F11C 0C00A864 */ jal func_8002A190
/* A520 8002F120 4600C306 */ mov.s $f12, $f24
/* A524 8002F124 46000206 */ mov.s $f8, $f0
/* A528 8002F128 461E4182 */ mul.s $f6, $f8, $f30
/* A52C 8002F12C 00000000 */ nop
/* A530 8002F130 461AE082 */ mul.s $f2, $f28, $f26
/* A534 8002F134 00000000 */ nop
/* A538 8002F138 461ED102 */ mul.s $f4, $f26, $f30
/* A53C 8002F13C 00000000 */ nop
/* A540 8002F140 4608E002 */ mul.s $f0, $f28, $f8
/* A544 8002F144 00000000 */ nop
/* A548 8002F148 46023601 */ sub.s $f24, $f6, $f2
/* A54C 8002F14C C7B00010 */ lwc1 $f16, 0x10($sp)
/* A550 8002F150 46002580 */ add.s $f22, $f4, $f0
/* A554 8002F154 C620004C */ lwc1 $f0, 0x4c($s1)
/* A558 8002F158 46100000 */ add.s $f0, $f0, $f16
/* A55C 8002F15C C6240048 */ lwc1 $f4, 0x48($s1)
/* A560 8002F160 46182100 */ add.s $f4, $f4, $f24
/* A564 8002F164 C6220050 */ lwc1 $f2, 0x50($s1)
/* A568 8002F168 46161080 */ add.s $f2, $f2, $f22
/* A56C 8002F16C E6200040 */ swc1 $f0, 0x40($s1)
/* A570 8002F170 E624003C */ swc1 $f4, 0x3c($s1)
/* A574 8002F174 E6220044 */ swc1 $f2, 0x44($s1)
.L8002F178:
/* A578 8002F178 C62A0054 */ lwc1 $f10, 0x54($s1)
/* A57C 8002F17C 3C10800A */ lui $s0, %hi(D_8009A5CC)
/* A580 8002F180 2610A5CC */ addiu $s0, $s0, %lo(D_8009A5CC)
/* A584 8002F184 E7AA0028 */ swc1 $f10, 0x28($sp)
/* A588 8002F188 C632005C */ lwc1 $f18, 0x5c($s1)
/* A58C 8002F18C C63E0054 */ lwc1 $f30, 0x54($s1)
/* A590 8002F190 C6380060 */ lwc1 $f24, 0x60($s1)
/* A594 8002F194 C6360068 */ lwc1 $f22, 0x68($s1)
/* A598 8002F198 86230022 */ lh $v1, 0x22($s1)
/* A59C 8002F19C C6260058 */ lwc1 $f6, 0x58($s1)
/* A5A0 8002F1A0 C60A0000 */ lwc1 $f10, ($s0)
/* A5A4 8002F1A4 C6280048 */ lwc1 $f8, 0x48($s1)
/* A5A8 8002F1A8 46009706 */ mov.s $f28, $f18
/* A5AC 8002F1AC 00031080 */ sll $v0, $v1, 2
/* A5B0 8002F1B0 00431021 */ addu $v0, $v0, $v1
/* A5B4 8002F1B4 00021080 */ sll $v0, $v0, 2
/* A5B8 8002F1B8 44828000 */ mtc1 $v0, $f16
/* A5BC 8002F1BC 00000000 */ nop
/* A5C0 8002F1C0 46808420 */ cvt.s.w $f16, $f16
/* A5C4 8002F1C4 460A8283 */ div.s $f10, $f16, $f10
/* A5C8 8002F1C8 4600F306 */ mov.s $f12, $f30
/* A5CC 8002F1CC E62A007C */ swc1 $f10, 0x7c($s1)
/* A5D0 8002F1D0 C7B00028 */ lwc1 $f16, 0x28($sp)
/* A5D4 8002F1D4 4600E386 */ mov.s $f14, $f28
/* A5D8 8002F1D8 46088401 */ sub.s $f16, $f16, $f8
/* A5DC 8002F1DC 4406C000 */ mfc1 $a2, $f24
/* A5E0 8002F1E0 4407B000 */ mfc1 $a3, $f22
/* A5E4 8002F1E4 460A3180 */ add.s $f6, $f6, $f10
/* A5E8 8002F1E8 E7B00028 */ swc1 $f16, 0x28($sp)
/* A5EC 8002F1EC C6200050 */ lwc1 $f0, 0x50($s1)
/* A5F0 8002F1F0 8622001C */ lh $v0, 0x1c($s1)
/* A5F4 8002F1F4 46009481 */ sub.s $f18, $f18, $f0
/* A5F8 8002F1F8 44820000 */ mtc1 $v0, $f0
/* A5FC 8002F1FC 00000000 */ nop
/* A600 8002F200 46800020 */ cvt.s.w $f0, $f0
/* A604 8002F204 E6200074 */ swc1 $f0, 0x74($s1)
/* A608 8002F208 3C013F00 */ lui $at, 0x3f00
/* A60C 8002F20C 44810000 */ mtc1 $at, $f0
/* A610 8002F210 86230020 */ lh $v1, 0x20($s1)
/* A614 8002F214 46008282 */ mul.s $f10, $f16, $f0
/* A618 8002F218 00000000 */ nop
/* A61C 8002F21C C622004C */ lwc1 $f2, 0x4c($s1)
/* A620 8002F220 00031040 */ sll $v0, $v1, 1
/* A624 8002F224 00431021 */ addu $v0, $v0, $v1
/* A628 8002F228 000210C0 */ sll $v0, $v0, 3
/* A62C 8002F22C 46023181 */ sub.s $f6, $f6, $f2
/* A630 8002F230 00431021 */ addu $v0, $v0, $v1
/* A634 8002F234 00021080 */ sll $v0, $v0, 2
/* A638 8002F238 46009482 */ mul.s $f18, $f18, $f0
/* A63C 8002F23C 00000000 */ nop
/* A640 8002F240 3C014120 */ lui $at, 0x4120
/* A644 8002F244 44810000 */ mtc1 $at, $f0
/* A648 8002F248 44822000 */ mtc1 $v0, $f4
/* A64C 8002F24C 00000000 */ nop
/* A650 8002F250 46802120 */ cvt.s.w $f4, $f4
/* A654 8002F254 46003183 */ div.s $f6, $f6, $f0
/* A658 8002F258 46001006 */ mov.s $f0, $f2
/* A65C 8002F25C 46060000 */ add.s $f0, $f0, $f6
/* A660 8002F260 C6100000 */ lwc1 $f16, ($s0)
/* A664 8002F264 C6220050 */ lwc1 $f2, 0x50($s1)
/* A668 8002F268 460A4200 */ add.s $f8, $f8, $f10
/* A66C 8002F26C 46102103 */ div.s $f4, $f4, $f16
/* A670 8002F270 E6240078 */ swc1 $f4, 0x78($s1)
/* A674 8002F274 46121080 */ add.s $f2, $f2, $f18
/* A678 8002F278 E620004C */ swc1 $f0, 0x4c($s1)
/* A67C 8002F27C E6280048 */ swc1 $f8, 0x48($s1)
/* A680 8002F280 0C00A710 */ jal func_80029C40
/* A684 8002F284 E6220050 */ swc1 $f2, 0x50($s1)
/* A688 8002F288 46000506 */ mov.s $f20, $f0
/* A68C 8002F28C 4600F306 */ mov.s $f12, $f30
/* A690 8002F290 4406C000 */ mfc1 $a2, $f24
/* A694 8002F294 4407B000 */ mfc1 $a3, $f22
/* A698 8002F298 0C00A7A5 */ jal func_80029E94
/* A69C 8002F29C 4600E386 */ mov.s $f14, $f28
/* A6A0 8002F2A0 8623001E */ lh $v1, 0x1e($s1)
/* A6A4 8002F2A4 C6040000 */ lwc1 $f4, ($s0)
/* A6A8 8002F2A8 00031040 */ sll $v0, $v1, 1
/* A6AC 8002F2AC 00431021 */ addu $v0, $v0, $v1
/* A6B0 8002F2B0 000210C0 */ sll $v0, $v0, 3
/* A6B4 8002F2B4 00431021 */ addu $v0, $v0, $v1
/* A6B8 8002F2B8 00021080 */ sll $v0, $v0, 2
/* A6BC 8002F2BC 44821000 */ mtc1 $v0, $f2
/* A6C0 8002F2C0 00000000 */ nop
/* A6C4 8002F2C4 468010A0 */ cvt.s.w $f2, $f2
/* A6C8 8002F2C8 46041083 */ div.s $f2, $f2, $f4
/* A6CC 8002F2CC 4602003C */ c.lt.s $f0, $f2
/* A6D0 8002F2D0 00000000 */ nop
/* A6D4 8002F2D4 45020002 */ bc1fl .L8002F2E0
/* A6D8 8002F2D8 E6340084 */ swc1 $f20, 0x84($s1)
/* A6DC 8002F2DC C6340084 */ lwc1 $f20, 0x84($s1)
.L8002F2E0:
/* A6E0 8002F2E0 C62E0088 */ lwc1 $f14, 0x88($s1)
/* A6E4 8002F2E4 0C00A6FA */ jal func_80029BE8
/* A6E8 8002F2E8 4600A306 */ mov.s $f12, $f20
/* A6EC 8002F2EC C6240074 */ lwc1 $f4, 0x74($s1)
/* A6F0 8002F2F0 3C0140C9 */ lui $at, 0x40c9
/* A6F4 8002F2F4 34210FD0 */ ori $at, $at, 0xfd0
/* A6F8 8002F2F8 44815000 */ mtc1 $at, $f10
/* A6FC 8002F2FC 3C014120 */ lui $at, 0x4120
/* A700 8002F300 44811000 */ mtc1 $at, $f2
/* A704 8002F304 460A2102 */ mul.s $f4, $f4, $f10
/* A708 8002F308 00000000 */ nop
/* A70C 8002F30C 46020003 */ div.s $f0, $f0, $f2
/* A710 8002F310 C6220088 */ lwc1 $f2, 0x88($s1)
/* A714 8002F314 3C0143B4 */ lui $at, 0x43b4
/* A718 8002F318 4481B000 */ mtc1 $at, $f22
/* A71C 8002F31C 46001081 */ sub.s $f2, $f2, $f0
/* A720 8002F320 AFA00010 */ sw $zero, 0x10($sp)
/* A724 8002F324 46001506 */ mov.s $f20, $f2
/* A728 8002F328 E6340088 */ swc1 $f20, 0x88($s1)
/* A72C 8002F32C 46162603 */ div.s $f24, $f4, $f22
/* A730 8002F330 0C00A84B */ jal func_8002A12C
/* A734 8002F334 4600C306 */ mov.s $f12, $f24
/* A738 8002F338 46000686 */ mov.s $f26, $f0
/* A73C 8002F33C 0C00A864 */ jal func_8002A190
/* A740 8002F340 4600C306 */ mov.s $f12, $f24
/* A744 8002F344 C7B00010 */ lwc1 $f16, 0x10($sp)
/* A748 8002F348 46000206 */ mov.s $f8, $f0
/* A74C 8002F34C 46104182 */ mul.s $f6, $f8, $f16
/* A750 8002F350 00000000 */ nop
/* A754 8002F354 C63C0078 */ lwc1 $f28, 0x78($s1)
/* A758 8002F358 461AE082 */ mul.s $f2, $f28, $f26
/* A75C 8002F35C 00000000 */ nop
/* A760 8002F360 46008007 */ neg.s $f0, $f16
/* A764 8002F364 4600D002 */ mul.s $f0, $f26, $f0
/* A768 8002F368 00000000 */ nop
/* A76C 8002F36C 4608E102 */ mul.s $f4, $f28, $f8
/* A770 8002F370 00000000 */ nop
/* A774 8002F374 3C0140C9 */ lui $at, 0x40c9
/* A778 8002F378 34210FD0 */ ori $at, $at, 0xfd0
/* A77C 8002F37C 44815000 */ mtc1 $at, $f10
/* A780 8002F380 00000000 */ nop
/* A784 8002F384 460AA282 */ mul.s $f10, $f20, $f10
/* A788 8002F388 00000000 */ nop
/* A78C 8002F38C 46008606 */ mov.s $f24, $f16
/* A790 8002F390 4600C786 */ mov.s $f30, $f24
/* A794 8002F394 46023180 */ add.s $f6, $f6, $f2
/* A798 8002F398 46165603 */ div.s $f24, $f10, $f22
/* A79C 8002F39C 4600C306 */ mov.s $f12, $f24
/* A7A0 8002F3A0 46040700 */ add.s $f28, $f0, $f4
/* A7A4 8002F3A4 0C00A84B */ jal func_8002A12C
/* A7A8 8002F3A8 E7A60010 */ swc1 $f6, 0x10($sp)
/* A7AC 8002F3AC 46000686 */ mov.s $f26, $f0
/* A7B0 8002F3B0 0C00A864 */ jal func_8002A190
/* A7B4 8002F3B4 4600C306 */ mov.s $f12, $f24
/* A7B8 8002F3B8 46000206 */ mov.s $f8, $f0
/* A7BC 8002F3BC 461E4102 */ mul.s $f4, $f8, $f30
/* A7C0 8002F3C0 00000000 */ nop
/* A7C4 8002F3C4 461AE002 */ mul.s $f0, $f28, $f26
/* A7C8 8002F3C8 00000000 */ nop
/* A7CC 8002F3CC 461ED182 */ mul.s $f6, $f26, $f30
/* A7D0 8002F3D0 00000000 */ nop
/* A7D4 8002F3D4 4608E082 */ mul.s $f2, $f28, $f8
/* A7D8 8002F3D8 00000000 */ nop
/* A7DC 8002F3DC 46002601 */ sub.s $f24, $f4, $f0
/* A7E0 8002F3E0 C7B00010 */ lwc1 $f16, 0x10($sp)
/* A7E4 8002F3E4 46023580 */ add.s $f22, $f6, $f2
/* A7E8 8002F3E8 C622004C */ lwc1 $f2, 0x4c($s1)
/* A7EC 8002F3EC 46101080 */ add.s $f2, $f2, $f16
/* A7F0 8002F3F0 C6200048 */ lwc1 $f0, 0x48($s1)
/* A7F4 8002F3F4 8E260048 */ lw $a2, 0x48($s1)
/* A7F8 8002F3F8 46180000 */ add.s $f0, $f0, $f24
/* A7FC 8002F3FC C62E0050 */ lwc1 $f14, 0x50($s1)
/* A800 8002F400 8E270050 */ lw $a3, 0x50($s1)
/* A804 8002F404 46167380 */ add.s $f14, $f14, $f22
/* A808 8002F408 E6220040 */ swc1 $f2, 0x40($s1)
/* A80C 8002F40C E620003C */ swc1 $f0, 0x3c($s1)
/* A810 8002F410 46000306 */ mov.s $f12, $f0
/* A814 8002F414 0C00A710 */ jal func_80029C40
/* A818 8002F418 E62E0044 */ swc1 $f14, 0x44($s1)
/* A81C 8002F41C C6240048 */ lwc1 $f4, 0x48($s1)
/* A820 8002F420 C622003C */ lwc1 $f2, 0x3c($s1)
/* A824 8002F424 4480A000 */ mtc1 $zero, $f20
/* A828 8002F428 46022781 */ sub.s $f30, $f4, $f2
/* A82C 8002F42C C6240050 */ lwc1 $f4, 0x50($s1)
/* A830 8002F430 C6220044 */ lwc1 $f2, 0x44($s1)
/* A834 8002F434 4600A306 */ mov.s $f12, $f20
/* A838 8002F438 46022701 */ sub.s $f28, $f4, $f2
/* A83C 8002F43C C624004C */ lwc1 $f4, 0x4c($s1)
/* A840 8002F440 C6220040 */ lwc1 $f2, 0x40($s1)
/* A844 8002F444 4406F000 */ mfc1 $a2, $f30
/* A848 8002F448 46022101 */ sub.s $f4, $f4, $f2
/* A84C 8002F44C 4407E000 */ mfc1 $a3, $f28
/* A850 8002F450 4600A386 */ mov.s $f14, $f20
/* A854 8002F454 E7A40010 */ swc1 $f4, 0x10($sp)
/* A858 8002F458 0C00A710 */ jal func_80029C40
/* A85C 8002F45C E620006C */ swc1 $f0, 0x6c($s1)
/* A860 8002F460 461EF102 */ mul.s $f4, $f30, $f30
/* A864 8002F464 00000000 */ nop
/* A868 8002F468 461CE082 */ mul.s $f2, $f28, $f28
/* A86C 8002F46C 00000000 */ nop
/* A870 8002F470 46022300 */ add.s $f12, $f4, $f2
/* A874 8002F474 46000007 */ neg.s $f0, $f0
/* A878 8002F478 E6200090 */ swc1 $f0, 0x90($s1)
/* A87C 8002F47C 46006004 */ sqrt.s $f0, $f12
/* A880 8002F480 46000032 */ c.eq.s $f0, $f0
/* A884 8002F484 00000000 */ nop
/* A888 8002F488 45030004 */ bc1tl .L8002F49C
/* A88C 8002F48C 4600A306 */ mov.s $f12, $f20
/* A890 8002F490 0C0187B0 */ jal func_80061EC0
/* A894 8002F494 00000000 */ nop
/* A898 8002F498 4600A306 */ mov.s $f12, $f20
.L8002F49C:
/* A89C 8002F49C 46000007 */ neg.s $f0, $f0
/* A8A0 8002F4A0 8FA60010 */ lw $a2, 0x10($sp)
/* A8A4 8002F4A4 44070000 */ mfc1 $a3, $f0
/* A8A8 8002F4A8 0C00A710 */ jal func_80029C40
/* A8AC 8002F4AC 46006386 */ mov.s $f14, $f12
/* A8B0 8002F4B0 E6200094 */ swc1 $f0, 0x94($s1)
/* A8B4 8002F4B4 8FBF0038 */ lw $ra, 0x38($sp)
/* A8B8 8002F4B8 8FB10034 */ lw $s1, 0x34($sp)
/* A8BC 8002F4BC 8FB00030 */ lw $s0, 0x30($sp)
/* A8C0 8002F4C0 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* A8C4 8002F4C4 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* A8C8 8002F4C8 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* A8CC 8002F4CC D7B80050 */ ldc1 $f24, 0x50($sp)
/* A8D0 8002F4D0 D7B60048 */ ldc1 $f22, 0x48($sp)
/* A8D4 8002F4D4 D7B40040 */ ldc1 $f20, 0x40($sp)
/* A8D8 8002F4D8 03E00008 */ jr $ra
/* A8DC 8002F4DC 27BD0070 */ addiu $sp, $sp, 0x70