Files
SpaghettiKart/asm/non_matchings/memory/func_802AD278.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

465 lines
22 KiB
ArmAsm

glabel func_802AD278
/* 116888 802AD278 27BDFF70 */ addiu $sp, $sp, -0x90
/* 11688C 802AD27C AFA50094 */ sw $a1, 0x94($sp)
/* 116890 802AD280 97A500A6 */ lhu $a1, 0xa6($sp)
/* 116894 802AD284 3C098016 */ lui $t1, %hi(D_8015F580) # $t1, 0x8016
/* 116898 802AD288 8D29F580 */ lw $t1, %lo(D_8015F580)($t1)
/* 11689C 802AD28C 00054080 */ sll $t0, $a1, 2
/* 1168A0 802AD290 01054023 */ subu $t0, $t0, $a1
/* 1168A4 802AD294 00084080 */ sll $t0, $t0, 2
/* 1168A8 802AD298 01054023 */ subu $t0, $t0, $a1
/* 1168AC 802AD29C 00084080 */ sll $t0, $t0, 2
/* 1168B0 802AD2A0 AFB00004 */ sw $s0, 4($sp)
/* 1168B4 802AD2A4 AFA60098 */ sw $a2, 0x98($sp)
/* 1168B8 802AD2A8 01091821 */ addu $v1, $t0, $t1
/* 1168BC 802AD2AC 846A0008 */ lh $t2, 8($v1)
/* 1168C0 802AD2B0 C7AC00A0 */ lwc1 $f12, 0xa0($sp)
/* 1168C4 802AD2B4 44877000 */ mtc1 $a3, $f14
/* 1168C8 802AD2B8 448A4000 */ mtc1 $t2, $f8
/* 1168CC 802AD2BC 00808025 */ move $s0, $a0
/* 1168D0 802AD2C0 24020001 */ li $v0, 1
/* 1168D4 802AD2C4 468041A0 */ cvt.s.w $f6, $f8
/* 1168D8 802AD2C8 4606603C */ c.lt.s $f12, $f6
/* 1168DC 802AD2CC 00000000 */ nop
/* 1168E0 802AD2D0 45020004 */ bc1fl .L802AD2E4
/* 1168E4 802AD2D4 846B000E */ lh $t3, 0xe($v1)
/* 1168E8 802AD2D8 1000019A */ b .L802AD944
/* 1168EC 802AD2DC 00001025 */ move $v0, $zero
/* 1168F0 802AD2E0 846B000E */ lh $t3, 0xe($v1)
.L802AD2E4:
/* 1168F4 802AD2E4 448B5000 */ mtc1 $t3, $f10
/* 1168F8 802AD2E8 00000000 */ nop
/* 1168FC 802AD2EC 46805120 */ cvt.s.w $f4, $f10
/* 116900 802AD2F0 460C203C */ c.lt.s $f4, $f12
/* 116904 802AD2F4 00000000 */ nop
/* 116908 802AD2F8 45020004 */ bc1fl .L802AD30C
/* 11690C 802AD2FC 846C000C */ lh $t4, 0xc($v1)
/* 116910 802AD300 10000190 */ b .L802AD944
/* 116914 802AD304 00001025 */ move $v0, $zero
/* 116918 802AD308 846C000C */ lh $t4, 0xc($v1)
.L802AD30C:
/* 11691C 802AD30C 448C4000 */ mtc1 $t4, $f8
/* 116920 802AD310 00000000 */ nop
/* 116924 802AD314 468041A0 */ cvt.s.w $f6, $f8
/* 116928 802AD318 460E303C */ c.lt.s $f6, $f14
/* 11692C 802AD31C 00000000 */ nop
/* 116930 802AD320 45020004 */ bc1fl .L802AD334
/* 116934 802AD324 846D0006 */ lh $t5, 6($v1)
/* 116938 802AD328 10000186 */ b .L802AD944
/* 11693C 802AD32C 00001025 */ move $v0, $zero
/* 116940 802AD330 846D0006 */ lh $t5, 6($v1)
.L802AD334:
/* 116944 802AD334 C7A80094 */ lwc1 $f8, 0x94($sp)
/* 116948 802AD338 3C014040 */ li $at, 0x40400000 # 3.000000
/* 11694C 802AD33C 448D5000 */ mtc1 $t5, $f10
/* 116950 802AD340 00000000 */ nop
/* 116954 802AD344 46805120 */ cvt.s.w $f4, $f10
/* 116958 802AD348 4604703C */ c.lt.s $f14, $f4
/* 11695C 802AD34C 00000000 */ nop
/* 116960 802AD350 45020004 */ bc1fl .L802AD364
/* 116964 802AD354 846E0004 */ lh $t6, 4($v1)
/* 116968 802AD358 1000017A */ b .L802AD944
/* 11696C 802AD35C 00001025 */ move $v0, $zero
/* 116970 802AD360 846E0004 */ lh $t6, 4($v1)
.L802AD364:
/* 116974 802AD364 44813000 */ mtc1 $at, $f6
/* 116978 802AD368 C7AA0098 */ lwc1 $f10, 0x98($sp)
/* 11697C 802AD36C 448E2000 */ mtc1 $t6, $f4
/* 116980 802AD370 46064002 */ mul.s $f0, $f8, $f6
/* 116984 802AD374 46802220 */ cvt.s.w $f8, $f4
/* 116988 802AD378 46004181 */ sub.s $f6, $f8, $f0
/* 11698C 802AD37C 4606503C */ c.lt.s $f10, $f6
/* 116990 802AD380 00000000 */ nop
/* 116994 802AD384 45020004 */ bc1fl .L802AD398
/* 116998 802AD388 E7AE009C */ swc1 $f14, 0x9c($sp)
/* 11699C 802AD38C 1000016D */ b .L802AD944
/* 1169A0 802AD390 00001025 */ move $v0, $zero
/* 1169A4 802AD394 E7AE009C */ swc1 $f14, 0x9c($sp)
.L802AD398:
/* 1169A8 802AD398 846F000A */ lh $t7, 0xa($v1)
/* 1169AC 802AD39C C7A60098 */ lwc1 $f6, 0x98($sp)
/* 1169B0 802AD3A0 448F2000 */ mtc1 $t7, $f4
/* 1169B4 802AD3A4 00000000 */ nop
/* 1169B8 802AD3A8 46802220 */ cvt.s.w $f8, $f4
/* 1169BC 802AD3AC 46004280 */ add.s $f10, $f8, $f0
/* 1169C0 802AD3B0 4606503C */ c.lt.s $f10, $f6
/* 1169C4 802AD3B4 00000000 */ nop
/* 1169C8 802AD3B8 45020004 */ bc1fl .L802AD3CC
/* 1169CC 802AD3BC 8C640010 */ lw $a0, 0x10($v1)
/* 1169D0 802AD3C0 10000160 */ b .L802AD944
/* 1169D4 802AD3C4 00001025 */ move $v0, $zero
/* 1169D8 802AD3C8 8C640010 */ lw $a0, 0x10($v1)
.L802AD3CC:
/* 1169DC 802AD3CC 8C670018 */ lw $a3, 0x18($v1)
/* 1169E0 802AD3D0 8C660014 */ lw $a2, 0x14($v1)
/* 1169E4 802AD3D4 84980004 */ lh $t8, 4($a0)
/* 1169E8 802AD3D8 84990002 */ lh $t9, 2($a0)
/* 1169EC 802AD3DC 84EA0004 */ lh $t2, 4($a3)
/* 1169F0 802AD3E0 44982000 */ mtc1 $t8, $f4
/* 1169F4 802AD3E4 44994000 */ mtc1 $t9, $f8
/* 1169F8 802AD3E8 84C80004 */ lh $t0, 4($a2)
/* 1169FC 802AD3EC 46802320 */ cvt.s.w $f12, $f4
/* 116A00 802AD3F0 448A2000 */ mtc1 $t2, $f4
/* 116A04 802AD3F4 84C90002 */ lh $t1, 2($a2)
/* 116A08 802AD3F8 44885000 */ mtc1 $t0, $f10
/* 116A0C 802AD3FC 468043A0 */ cvt.s.w $f14, $f8
/* 116A10 802AD400 44893000 */ mtc1 $t1, $f6
/* 116A14 802AD404 46802220 */ cvt.s.w $f8, $f4
/* 116A18 802AD408 C7A4009C */ lwc1 $f4, 0x9c($sp)
/* 116A1C 802AD40C 46805420 */ cvt.s.w $f16, $f10
/* 116A20 802AD410 E7A80064 */ swc1 $f8, 0x64($sp)
/* 116A24 802AD414 84EB0002 */ lh $t3, 2($a3)
/* 116A28 802AD418 E7A40008 */ swc1 $f4, 8($sp)
/* 116A2C 802AD41C 448B5000 */ mtc1 $t3, $f10
/* 116A30 802AD420 468034A0 */ cvt.s.w $f18, $f6
/* 116A34 802AD424 468051A0 */ cvt.s.w $f6, $f10
/* 116A38 802AD428 C7AA00A0 */ lwc1 $f10, 0xa0($sp)
/* 116A3C 802AD42C E7AA0010 */ swc1 $f10, 0x10($sp)
/* 116A40 802AD430 46047201 */ sub.s $f8, $f14, $f4
/* 116A44 802AD434 E7A60068 */ swc1 $f6, 0x68($sp)
/* 116A48 802AD438 460A8181 */ sub.s $f6, $f16, $f10
/* 116A4C 802AD43C E7A8002C */ swc1 $f8, 0x2c($sp)
/* 116A50 802AD440 C7A8002C */ lwc1 $f8, 0x2c($sp)
/* 116A54 802AD444 460A6101 */ sub.s $f4, $f12, $f10
/* 116A58 802AD448 E7A60028 */ swc1 $f6, 0x28($sp)
/* 116A5C 802AD44C C7A60028 */ lwc1 $f6, 0x28($sp)
/* 116A60 802AD450 E7A40024 */ swc1 $f4, 0x24($sp)
/* 116A64 802AD454 C7A40008 */ lwc1 $f4, 8($sp)
/* 116A68 802AD458 46064002 */ mul.s $f0, $f8, $f6
/* 116A6C 802AD45C E7A80008 */ swc1 $f8, 8($sp)
/* 116A70 802AD460 46049201 */ sub.s $f8, $f18, $f4
/* 116A74 802AD464 E7A6000C */ swc1 $f6, 0xc($sp)
/* 116A78 802AD468 E7A80020 */ swc1 $f8, 0x20($sp)
/* 116A7C 802AD46C C7A60020 */ lwc1 $f6, 0x20($sp)
/* 116A80 802AD470 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 116A84 802AD474 46064082 */ mul.s $f2, $f8, $f6
/* 116A88 802AD478 46020281 */ sub.s $f10, $f0, $f2
/* 116A8C 802AD47C 46001032 */ c.eq.s $f2, $f0
/* 116A90 802AD480 E7AA001C */ swc1 $f10, 0x1c($sp)
/* 116A94 802AD484 C7AA001C */ lwc1 $f10, 0x1c($sp)
/* 116A98 802AD488 45000018 */ bc1f .L802AD4EC
/* 116A9C 802AD48C E7AA0038 */ swc1 $f10, 0x38($sp)
/* 116AA0 802AD490 E7A40014 */ swc1 $f4, 0x14($sp)
/* 116AA4 802AD494 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 116AA8 802AD498 C7AA0064 */ lwc1 $f10, 0x64($sp)
/* 116AAC 802AD49C 44809000 */ mtc1 $zero, $f18
/* 116AB0 802AD4A0 46045001 */ sub.s $f0, $f10, $f4
/* 116AB4 802AD4A4 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 116AB8 802AD4A8 C7AA0068 */ lwc1 $f10, 0x68($sp)
/* 116ABC 802AD4AC 46045081 */ sub.s $f2, $f10, $f4
/* 116AC0 802AD4B0 46003282 */ mul.s $f10, $f6, $f0
/* 116AC4 802AD4B4 C7A4000C */ lwc1 $f4, 0xc($sp)
/* 116AC8 802AD4B8 46022182 */ mul.s $f6, $f4, $f2
/* 116ACC 802AD4BC 46065101 */ sub.s $f4, $f10, $f6
/* 116AD0 802AD4C0 46081282 */ mul.s $f10, $f2, $f8
/* 116AD4 802AD4C4 C7A60008 */ lwc1 $f6, 8($sp)
/* 116AD8 802AD4C8 46060202 */ mul.s $f8, $f0, $f6
/* 116ADC 802AD4CC 46085181 */ sub.s $f6, $f10, $f8
/* 116AE0 802AD4D0 46062282 */ mul.s $f10, $f4, $f6
/* 116AE4 802AD4D4 4612503C */ c.lt.s $f10, $f18
/* 116AE8 802AD4D8 00000000 */ nop
/* 116AEC 802AD4DC 45000039 */ bc1f .L802AD5C4
/* 116AF0 802AD4E0 00000000 */ nop
/* 116AF4 802AD4E4 10000037 */ b .L802AD5C4
/* 116AF8 802AD4E8 00001025 */ move $v0, $zero
.L802AD4EC:
/* 116AFC 802AD4EC C7A80068 */ lwc1 $f8, 0x68($sp)
/* 116B00 802AD4F0 C7A4009C */ lwc1 $f4, 0x9c($sp)
/* 116B04 802AD4F4 C7AA0064 */ lwc1 $f10, 0x64($sp)
/* 116B08 802AD4F8 C7A60028 */ lwc1 $f6, 0x28($sp)
/* 116B0C 802AD4FC 46044081 */ sub.s $f2, $f8, $f4
/* 116B10 802AD500 C7A800A0 */ lwc1 $f8, 0xa0($sp)
/* 116B14 802AD504 C7A40020 */ lwc1 $f4, 0x20($sp)
/* 116B18 802AD508 46085001 */ sub.s $f0, $f10, $f8
/* 116B1C 802AD50C 46023382 */ mul.s $f14, $f6, $f2
/* 116B20 802AD510 C7A60024 */ lwc1 $f6, 0x24($sp)
/* 116B24 802AD514 C7A8002C */ lwc1 $f8, 0x2c($sp)
/* 116B28 802AD518 46002302 */ mul.s $f12, $f4, $f0
/* 116B2C 802AD51C 460C7032 */ c.eq.s $f14, $f12
/* 116B30 802AD520 00000000 */ nop
/* 116B34 802AD524 4502000E */ bc1fl .L802AD560
/* 116B38 802AD528 460E6401 */ sub.s $f16, $f12, $f14
/* 116B3C 802AD52C 46061282 */ mul.s $f10, $f2, $f6
/* 116B40 802AD530 44809000 */ mtc1 $zero, $f18
/* 116B44 802AD534 46080102 */ mul.s $f4, $f0, $f8
/* 116B48 802AD538 C7A80038 */ lwc1 $f8, 0x38($sp)
/* 116B4C 802AD53C 46045181 */ sub.s $f6, $f10, $f4
/* 116B50 802AD540 46064282 */ mul.s $f10, $f8, $f6
/* 116B54 802AD544 4612503C */ c.lt.s $f10, $f18
/* 116B58 802AD548 00000000 */ nop
/* 116B5C 802AD54C 4500001D */ bc1f .L802AD5C4
/* 116B60 802AD550 00000000 */ nop
/* 116B64 802AD554 1000001B */ b .L802AD5C4
/* 116B68 802AD558 00001025 */ move $v0, $zero
/* 116B6C 802AD55C 460E6401 */ sub.s $f16, $f12, $f14
.L802AD560:
/* 116B70 802AD560 C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 116B74 802AD564 44809000 */ mtc1 $zero, $f18
/* 116B78 802AD568 C7A6002C */ lwc1 $f6, 0x2c($sp)
/* 116B7C 802AD56C 46102202 */ mul.s $f8, $f4, $f16
/* 116B80 802AD570 C7AA0024 */ lwc1 $f10, 0x24($sp)
/* 116B84 802AD574 4612403C */ c.lt.s $f8, $f18
/* 116B88 802AD578 00000000 */ nop
/* 116B8C 802AD57C 45000003 */ bc1f .L802AD58C
/* 116B90 802AD580 00000000 */ nop
/* 116B94 802AD584 1000000F */ b .L802AD5C4
/* 116B98 802AD588 00001025 */ move $v0, $zero
.L802AD58C:
/* 116B9C 802AD58C 46060382 */ mul.s $f14, $f0, $f6
/* 116BA0 802AD590 00000000 */ nop
/* 116BA4 802AD594 460A1302 */ mul.s $f12, $f2, $f10
/* 116BA8 802AD598 460C7032 */ c.eq.s $f14, $f12
/* 116BAC 802AD59C 00000000 */ nop
/* 116BB0 802AD5A0 45010008 */ bc1t .L802AD5C4
/* 116BB4 802AD5A4 00000000 */ nop
/* 116BB8 802AD5A8 460E6101 */ sub.s $f4, $f12, $f14
/* 116BBC 802AD5AC 46048202 */ mul.s $f8, $f16, $f4
/* 116BC0 802AD5B0 4612403C */ c.lt.s $f8, $f18
/* 116BC4 802AD5B4 00000000 */ nop
/* 116BC8 802AD5B8 45000002 */ bc1f .L802AD5C4
/* 116BCC 802AD5BC 00000000 */ nop
/* 116BD0 802AD5C0 00001025 */ move $v0, $zero
.L802AD5C4:
/* 116BD4 802AD5C4 14400003 */ bnez $v0, .L802AD5D4
/* 116BD8 802AD5C8 C7A60098 */ lwc1 $f6, 0x98($sp)
/* 116BDC 802AD5CC 100000DD */ b .L802AD944
/* 116BE0 802AD5D0 00001025 */ move $v0, $zero
.L802AD5D4:
/* 116BE4 802AD5D4 C462001C */ lwc1 $f2, 0x1c($v1)
/* 116BE8 802AD5D8 C46C0020 */ lwc1 $f12, 0x20($v1)
/* 116BEC 802AD5DC C7A4009C */ lwc1 $f4, 0x9c($sp)
/* 116BF0 802AD5E0 46061282 */ mul.s $f10, $f2, $f6
/* 116BF4 802AD5E4 C46E0024 */ lwc1 $f14, 0x24($v1)
/* 116BF8 802AD5E8 946C0000 */ lhu $t4, ($v1)
/* 116BFC 802AD5EC 46046202 */ mul.s $f8, $f12, $f4
/* 116C00 802AD5F0 C7A400A0 */ lwc1 $f4, 0xa0($sp)
/* 116C04 802AD5F4 C4700028 */ lwc1 $f16, 0x28($v1)
/* 116C08 802AD5F8 318D0200 */ andi $t5, $t4, 0x200
/* 116C0C 802AD5FC 46085180 */ add.s $f6, $f10, $f8
/* 116C10 802AD600 46047282 */ mul.s $f10, $f14, $f4
/* 116C14 802AD604 C7A400A8 */ lwc1 $f4, 0xa8($sp)
/* 116C18 802AD608 460A3200 */ add.s $f8, $f6, $f10
/* 116C1C 802AD60C C7AA0094 */ lwc1 $f10, 0x94($sp)
/* 116C20 802AD610 11A0009A */ beqz $t5, .L802AD87C
/* 116C24 802AD614 46104000 */ add.s $f0, $f8, $f16
/* 116C28 802AD618 46041182 */ mul.s $f6, $f2, $f4
/* 116C2C 802AD61C C7AA00AC */ lwc1 $f10, 0xac($sp)
/* 116C30 802AD620 4600903C */ c.lt.s $f18, $f0
/* 116C34 802AD624 460A6202 */ mul.s $f8, $f12, $f10
/* 116C38 802AD628 C7AA00B0 */ lwc1 $f10, 0xb0($sp)
/* 116C3C 802AD62C 46083100 */ add.s $f4, $f6, $f8
/* 116C40 802AD630 460A7182 */ mul.s $f6, $f14, $f10
/* 116C44 802AD634 46062200 */ add.s $f8, $f4, $f6
/* 116C48 802AD638 46104280 */ add.s $f10, $f8, $f16
/* 116C4C 802AD63C 45000018 */ bc1f .L802AD6A0
/* 116C50 802AD640 E7AA0044 */ swc1 $f10, 0x44($sp)
/* 116C54 802AD644 460A903C */ c.lt.s $f18, $f10
/* 116C58 802AD648 C7A20094 */ lwc1 $f2, 0x94($sp)
/* 116C5C 802AD64C 45020015 */ bc1fl .L802AD6A4
/* 116C60 802AD650 4612003C */ c.lt.s $f0, $f18
/* 116C64 802AD654 4602003C */ c.lt.s $f0, $f2
/* 116C68 802AD658 00000000 */ nop
/* 116C6C 802AD65C 4500000E */ bc1f .L802AD698
/* 116C70 802AD660 00000000 */ nop
/* 116C74 802AD664 46020101 */ sub.s $f4, $f0, $f2
/* 116C78 802AD668 240E0001 */ li $t6, 1
/* 116C7C 802AD66C A60E0002 */ sh $t6, 2($s0)
/* 116C80 802AD670 A6050008 */ sh $a1, 8($s0)
/* 116C84 802AD674 E6040010 */ swc1 $f4, 0x10($s0)
/* 116C88 802AD678 C466001C */ lwc1 $f6, 0x1c($v1)
/* 116C8C 802AD67C 24020001 */ li $v0, 1
/* 116C90 802AD680 E6060024 */ swc1 $f6, 0x24($s0)
/* 116C94 802AD684 C4680020 */ lwc1 $f8, 0x20($v1)
/* 116C98 802AD688 E6080028 */ swc1 $f8, 0x28($s0)
/* 116C9C 802AD68C C46A0024 */ lwc1 $f10, 0x24($v1)
/* 116CA0 802AD690 100000AC */ b .L802AD944
/* 116CA4 802AD694 E60A002C */ swc1 $f10, 0x2c($s0)
.L802AD698:
/* 116CA8 802AD698 100000AA */ b .L802AD944
/* 116CAC 802AD69C 00001025 */ move $v0, $zero
.L802AD6A0:
/* 116CB0 802AD6A0 4612003C */ c.lt.s $f0, $f18
.L802AD6A4:
/* 116CB4 802AD6A4 C7A40044 */ lwc1 $f4, 0x44($sp)
/* 116CB8 802AD6A8 4502001F */ bc1fl .L802AD728
/* 116CBC 802AD6AC 4600903C */ c.lt.s $f18, $f0
/* 116CC0 802AD6B0 4612203C */ c.lt.s $f4, $f18
/* 116CC4 802AD6B4 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 116CC8 802AD6B8 4502001B */ bc1fl .L802AD728
/* 116CCC 802AD6BC 4600903C */ c.lt.s $f18, $f0
/* 116CD0 802AD6C0 44813000 */ mtc1 $at, $f6
/* 116CD4 802AD6C4 C7A20094 */ lwc1 $f2, 0x94($sp)
/* 116CD8 802AD6C8 46060002 */ mul.s $f0, $f0, $f6
/* 116CDC 802AD6CC 4602003C */ c.lt.s $f0, $f2
/* 116CE0 802AD6D0 00000000 */ nop
/* 116CE4 802AD6D4 45000011 */ bc1f .L802AD71C
/* 116CE8 802AD6D8 00000000 */ nop
/* 116CEC 802AD6DC 46020201 */ sub.s $f8, $f0, $f2
/* 116CF0 802AD6E0 240F0001 */ li $t7, 1
/* 116CF4 802AD6E4 A60F0002 */ sh $t7, 2($s0)
/* 116CF8 802AD6E8 A6050008 */ sh $a1, 8($s0)
/* 116CFC 802AD6EC E6080010 */ swc1 $f8, 0x10($s0)
/* 116D00 802AD6F0 C46A001C */ lwc1 $f10, 0x1c($v1)
/* 116D04 802AD6F4 24020001 */ li $v0, 1
/* 116D08 802AD6F8 46005107 */ neg.s $f4, $f10
/* 116D0C 802AD6FC E6040024 */ swc1 $f4, 0x24($s0)
/* 116D10 802AD700 C4660020 */ lwc1 $f6, 0x20($v1)
/* 116D14 802AD704 46003207 */ neg.s $f8, $f6
/* 116D18 802AD708 E6080028 */ swc1 $f8, 0x28($s0)
/* 116D1C 802AD70C C46A0024 */ lwc1 $f10, 0x24($v1)
/* 116D20 802AD710 46005107 */ neg.s $f4, $f10
/* 116D24 802AD714 1000008B */ b .L802AD944
/* 116D28 802AD718 E604002C */ swc1 $f4, 0x2c($s0)
.L802AD71C:
/* 116D2C 802AD71C 10000089 */ b .L802AD944
/* 116D30 802AD720 00001025 */ move $v0, $zero
/* 116D34 802AD724 4600903C */ c.lt.s $f18, $f0
.L802AD728:
/* 116D38 802AD728 C7A60044 */ lwc1 $f6, 0x44($sp)
/* 116D3C 802AD72C 45020017 */ bc1fl .L802AD78C
/* 116D40 802AD730 4612003C */ c.lt.s $f0, $f18
/* 116D44 802AD734 4612303C */ c.lt.s $f6, $f18
/* 116D48 802AD738 24180001 */ li $t8, 1
/* 116D4C 802AD73C 45020013 */ bc1fl .L802AD78C
/* 116D50 802AD740 4612003C */ c.lt.s $f0, $f18
/* 116D54 802AD744 A6180002 */ sh $t8, 2($s0)
/* 116D58 802AD748 A6050008 */ sh $a1, 8($s0)
/* 116D5C 802AD74C C7A80094 */ lwc1 $f8, 0x94($sp)
/* 116D60 802AD750 24020001 */ li $v0, 1
/* 116D64 802AD754 46080280 */ add.s $f10, $f0, $f8
/* 116D68 802AD758 46005107 */ neg.s $f4, $f10
/* 116D6C 802AD75C E6040010 */ swc1 $f4, 0x10($s0)
/* 116D70 802AD760 C466001C */ lwc1 $f6, 0x1c($v1)
/* 116D74 802AD764 46003207 */ neg.s $f8, $f6
/* 116D78 802AD768 E6080024 */ swc1 $f8, 0x24($s0)
/* 116D7C 802AD76C C46A0020 */ lwc1 $f10, 0x20($v1)
/* 116D80 802AD770 46005107 */ neg.s $f4, $f10
/* 116D84 802AD774 E6040028 */ swc1 $f4, 0x28($s0)
/* 116D88 802AD778 C4660024 */ lwc1 $f6, 0x24($v1)
/* 116D8C 802AD77C 46003207 */ neg.s $f8, $f6
/* 116D90 802AD780 10000070 */ b .L802AD944
/* 116D94 802AD784 E608002C */ swc1 $f8, 0x2c($s0)
/* 116D98 802AD788 4612003C */ c.lt.s $f0, $f18
.L802AD78C:
/* 116D9C 802AD78C C7AA0044 */ lwc1 $f10, 0x44($sp)
/* 116DA0 802AD790 45020013 */ bc1fl .L802AD7E0
/* 116DA4 802AD794 46120032 */ c.eq.s $f0, $f18
/* 116DA8 802AD798 460A903C */ c.lt.s $f18, $f10
/* 116DAC 802AD79C 24190001 */ li $t9, 1
/* 116DB0 802AD7A0 4502000F */ bc1fl .L802AD7E0
/* 116DB4 802AD7A4 46120032 */ c.eq.s $f0, $f18
/* 116DB8 802AD7A8 A6190002 */ sh $t9, 2($s0)
/* 116DBC 802AD7AC A6050008 */ sh $a1, 8($s0)
/* 116DC0 802AD7B0 C7A40094 */ lwc1 $f4, 0x94($sp)
/* 116DC4 802AD7B4 24020001 */ li $v0, 1
/* 116DC8 802AD7B8 46040180 */ add.s $f6, $f0, $f4
/* 116DCC 802AD7BC E6060010 */ swc1 $f6, 0x10($s0)
/* 116DD0 802AD7C0 C468001C */ lwc1 $f8, 0x1c($v1)
/* 116DD4 802AD7C4 E6080024 */ swc1 $f8, 0x24($s0)
/* 116DD8 802AD7C8 C46A0020 */ lwc1 $f10, 0x20($v1)
/* 116DDC 802AD7CC E60A0028 */ swc1 $f10, 0x28($s0)
/* 116DE0 802AD7D0 C4640024 */ lwc1 $f4, 0x24($v1)
/* 116DE4 802AD7D4 1000005B */ b .L802AD944
/* 116DE8 802AD7D8 E604002C */ swc1 $f4, 0x2c($s0)
/* 116DEC 802AD7DC 46120032 */ c.eq.s $f0, $f18
.L802AD7E0:
/* 116DF0 802AD7E0 C7A60044 */ lwc1 $f6, 0x44($sp)
/* 116DF4 802AD7E4 45000023 */ bc1f .L802AD874
/* 116DF8 802AD7E8 00000000 */ nop
/* 116DFC 802AD7EC 4606903E */ c.le.s $f18, $f6
/* 116E00 802AD7F0 24080001 */ li $t0, 1
/* 116E04 802AD7F4 24090001 */ li $t1, 1
/* 116E08 802AD7F8 45020010 */ bc1fl .L802AD83C
/* 116E0C 802AD7FC A6090002 */ sh $t1, 2($s0)
/* 116E10 802AD800 A6080002 */ sh $t0, 2($s0)
/* 116E14 802AD804 A6050008 */ sh $a1, 8($s0)
/* 116E18 802AD808 C7AA0094 */ lwc1 $f10, 0x94($sp)
/* 116E1C 802AD80C C7A80044 */ lwc1 $f8, 0x44($sp)
/* 116E20 802AD810 24020001 */ li $v0, 1
/* 116E24 802AD814 460A4100 */ add.s $f4, $f8, $f10
/* 116E28 802AD818 E6040010 */ swc1 $f4, 0x10($s0)
/* 116E2C 802AD81C C466001C */ lwc1 $f6, 0x1c($v1)
/* 116E30 802AD820 E6060024 */ swc1 $f6, 0x24($s0)
/* 116E34 802AD824 C4680020 */ lwc1 $f8, 0x20($v1)
/* 116E38 802AD828 E6080028 */ swc1 $f8, 0x28($s0)
/* 116E3C 802AD82C C46A0024 */ lwc1 $f10, 0x24($v1)
/* 116E40 802AD830 10000044 */ b .L802AD944
/* 116E44 802AD834 E60A002C */ swc1 $f10, 0x2c($s0)
/* 116E48 802AD838 A6090002 */ sh $t1, 2($s0)
.L802AD83C:
/* 116E4C 802AD83C A6050008 */ sh $a1, 8($s0)
/* 116E50 802AD840 C7A60094 */ lwc1 $f6, 0x94($sp)
/* 116E54 802AD844 C7A40044 */ lwc1 $f4, 0x44($sp)
/* 116E58 802AD848 24020001 */ li $v0, 1
/* 116E5C 802AD84C 46062200 */ add.s $f8, $f4, $f6
/* 116E60 802AD850 46004287 */ neg.s $f10, $f8
/* 116E64 802AD854 E60A0010 */ swc1 $f10, 0x10($s0)
/* 116E68 802AD858 C464001C */ lwc1 $f4, 0x1c($v1)
/* 116E6C 802AD85C E6040024 */ swc1 $f4, 0x24($s0)
/* 116E70 802AD860 C4660020 */ lwc1 $f6, 0x20($v1)
/* 116E74 802AD864 E6060028 */ swc1 $f6, 0x28($s0)
/* 116E78 802AD868 C4680024 */ lwc1 $f8, 0x24($v1)
/* 116E7C 802AD86C 10000035 */ b .L802AD944
/* 116E80 802AD870 E608002C */ swc1 $f8, 0x2c($s0)
.L802AD874:
/* 116E84 802AD874 10000033 */ b .L802AD944
/* 116E88 802AD878 00001025 */ move $v0, $zero
.L802AD87C:
/* 116E8C 802AD87C 4600503C */ c.lt.s $f10, $f0
/* 116E90 802AD880 C7A800A8 */ lwc1 $f8, 0xa8($sp)
/* 116E94 802AD884 C7A400AC */ lwc1 $f4, 0xac($sp)
/* 116E98 802AD888 45000014 */ bc1f .L802AD8DC
/* 116E9C 802AD88C 00000000 */ nop
/* 116EA0 802AD890 C6040010 */ lwc1 $f4, 0x10($s0)
/* 116EA4 802AD894 240A0001 */ li $t2, 1
/* 116EA8 802AD898 4604003C */ c.lt.s $f0, $f4
/* 116EAC 802AD89C 00000000 */ nop
/* 116EB0 802AD8A0 4500000C */ bc1f .L802AD8D4
/* 116EB4 802AD8A4 00000000 */ nop
/* 116EB8 802AD8A8 A60A0002 */ sh $t2, 2($s0)
/* 116EBC 802AD8AC A6050008 */ sh $a1, 8($s0)
/* 116EC0 802AD8B0 C7A60094 */ lwc1 $f6, 0x94($sp)
/* 116EC4 802AD8B4 46060201 */ sub.s $f8, $f0, $f6
/* 116EC8 802AD8B8 E6080010 */ swc1 $f8, 0x10($s0)
/* 116ECC 802AD8BC C46A001C */ lwc1 $f10, 0x1c($v1)
/* 116ED0 802AD8C0 E60A0024 */ swc1 $f10, 0x24($s0)
/* 116ED4 802AD8C4 C4640020 */ lwc1 $f4, 0x20($v1)
/* 116ED8 802AD8C8 E6040028 */ swc1 $f4, 0x28($s0)
/* 116EDC 802AD8CC C4660024 */ lwc1 $f6, 0x24($v1)
/* 116EE0 802AD8D0 E606002C */ swc1 $f6, 0x2c($s0)
.L802AD8D4:
/* 116EE4 802AD8D4 1000001B */ b .L802AD944
/* 116EE8 802AD8D8 00001025 */ move $v0, $zero
.L802AD8DC:
/* 116EEC 802AD8DC 46081282 */ mul.s $f10, $f2, $f8
/* 116EF0 802AD8E0 240B0001 */ li $t3, 1
/* 116EF4 802AD8E4 46046182 */ mul.s $f6, $f12, $f4
/* 116EF8 802AD8E8 C7A400B0 */ lwc1 $f4, 0xb0($sp)
/* 116EFC 802AD8EC 46065200 */ add.s $f8, $f10, $f6
/* 116F00 802AD8F0 46047282 */ mul.s $f10, $f14, $f4
/* 116F04 802AD8F4 460A4180 */ add.s $f6, $f8, $f10
/* 116F08 802AD8F8 46103100 */ add.s $f4, $f6, $f16
/* 116F0C 802AD8FC 4612203C */ c.lt.s $f4, $f18
/* 116F10 802AD900 E7A40044 */ swc1 $f4, 0x44($sp)
/* 116F14 802AD904 45020004 */ bc1fl .L802AD918
/* 116F18 802AD908 A60B0002 */ sh $t3, 2($s0)
/* 116F1C 802AD90C 1000000D */ b .L802AD944
/* 116F20 802AD910 00001025 */ move $v0, $zero
/* 116F24 802AD914 A60B0002 */ sh $t3, 2($s0)
.L802AD918:
/* 116F28 802AD918 A6050008 */ sh $a1, 8($s0)
/* 116F2C 802AD91C C7A80094 */ lwc1 $f8, 0x94($sp)
/* 116F30 802AD920 24020001 */ li $v0, 1
/* 116F34 802AD924 46080281 */ sub.s $f10, $f0, $f8
/* 116F38 802AD928 E60A0010 */ swc1 $f10, 0x10($s0)
/* 116F3C 802AD92C C466001C */ lwc1 $f6, 0x1c($v1)
/* 116F40 802AD930 E6060024 */ swc1 $f6, 0x24($s0)
/* 116F44 802AD934 C4640020 */ lwc1 $f4, 0x20($v1)
/* 116F48 802AD938 E6040028 */ swc1 $f4, 0x28($s0)
/* 116F4C 802AD93C C4680024 */ lwc1 $f8, 0x24($v1)
/* 116F50 802AD940 E608002C */ swc1 $f8, 0x2c($s0)
.L802AD944:
/* 116F54 802AD944 8FB00004 */ lw $s0, 4($sp)
/* 116F58 802AD948 03E00008 */ jr $ra
/* 116F5C 802AD94C 27BD0090 */ addiu $sp, $sp, 0x90