glabel func_8003FBF4 /* AB6D94 8003FBF4 27BDFF80 */ addiu $sp, $sp, -0x80 /* AB6D98 8003FBF8 AFBF0054 */ sw $ra, 0x54($sp) /* AB6D9C 8003FBFC AFB70050 */ sw $s7, 0x50($sp) /* AB6DA0 8003FC00 AFB6004C */ sw $s6, 0x4c($sp) /* AB6DA4 8003FC04 AFB50048 */ sw $s5, 0x48($sp) /* AB6DA8 8003FC08 AFB40044 */ sw $s4, 0x44($sp) /* AB6DAC 8003FC0C AFB30040 */ sw $s3, 0x40($sp) /* AB6DB0 8003FC10 AFB2003C */ sw $s2, 0x3c($sp) /* AB6DB4 8003FC14 AFB10038 */ sw $s1, 0x38($sp) /* AB6DB8 8003FC18 AFB00034 */ sw $s0, 0x34($sp) /* AB6DBC 8003FC1C F7B80028 */ sdc1 $f24, 0x28($sp) /* AB6DC0 8003FC20 F7B60020 */ sdc1 $f22, 0x20($sp) /* AB6DC4 8003FC24 F7B40018 */ sdc1 $f20, 0x18($sp) /* AB6DC8 8003FC28 8C8E002C */ lw $t6, 0x2c($a0) /* AB6DCC 8003FC2C 3413FFFF */ li $s3, 65535 /* AB6DD0 8003FC30 00808825 */ move $s1, $a0 /* AB6DD4 8003FC34 95C20000 */ lhu $v0, ($t6) /* AB6DD8 8003FC38 00A0B825 */ move $s7, $a1 /* AB6DDC 8003FC3C C4940010 */ lwc1 $f20, 0x10($a0) /* AB6DE0 8003FC40 16620003 */ bne $s3, $v0, .L8003FC50 /* AB6DE4 8003FC44 00027880 */ sll $t7, $v0, 2 /* AB6DE8 8003FC48 10000056 */ b .L8003FDA4 /* AB6DEC 8003FC4C 4600A006 */ mov.s $f0, $f20 .L8003FC50: /* AB6DF0 8003FC50 8E280028 */ lw $t0, 0x28($s1) /* AB6DF4 8003FC54 96250008 */ lhu $a1, 8($s1) /* AB6DF8 8003FC58 3C018014 */ lui $at, %hi(D_80138FAC) /* AB6DFC 8003FC5C 8D0413F8 */ lw $a0, 0x13f8($t0) /* AB6E00 8003FC60 30A50007 */ andi $a1, $a1, 7 /* AB6E04 8003FC64 4480C000 */ mtc1 $zero, $f24 /* AB6E08 8003FC68 00052B40 */ sll $a1, $a1, 0xd /* AB6E0C 8003FC6C C4368FAC */ lwc1 $f22, %lo(D_80138FAC)($at) /* AB6E10 8003FC70 24160001 */ li $s6, 1 /* AB6E14 8003FC74 27B50070 */ addiu $s5, $sp, 0x70 /* AB6E18 8003FC78 8D1413F0 */ lw $s4, 0x13f0($t0) /* AB6E1C 8003FC7C 008F8021 */ addu $s0, $a0, $t7 .L8003FC80: /* AB6E20 8003FC80 86020000 */ lh $v0, ($s0) /* AB6E24 8003FC84 32EA0006 */ andi $t2, $s7, 6 /* AB6E28 8003FC88 00029100 */ sll $s2, $v0, 4 /* AB6E2C 8003FC8C 02921821 */ addu $v1, $s4, $s2 /* AB6E30 8003FC90 94780002 */ lhu $t8, 2($v1) /* AB6E34 8003FC94 0305C824 */ and $t9, $t8, $a1 /* AB6E38 8003FC98 13200006 */ beqz $t9, .L8003FCB4 /* AB6E3C 8003FC9C 00000000 */ nop /* AB6E40 8003FCA0 96020002 */ lhu $v0, 2($s0) /* AB6E44 8003FCA4 1262003E */ beq $s3, $v0, .L8003FDA0 /* AB6E48 8003FCA8 00024880 */ sll $t1, $v0, 2 /* AB6E4C 8003FCAC 1000FFF4 */ b .L8003FC80 /* AB6E50 8003FCB0 00898021 */ addu $s0, $a0, $t1 .L8003FCB4: /* AB6E54 8003FCB4 51400014 */ beql $t2, $zero, .L8003FD08 /* AB6E58 8003FCB8 8E220014 */ lw $v0, 0x14($s1) /* AB6E5C 8003FCBC 8E2B0020 */ lw $t3, 0x20($s1) /* AB6E60 8003FCC0 316C0010 */ andi $t4, $t3, 0x10 /* AB6E64 8003FCC4 51800010 */ beql $t4, $zero, .L8003FD08 /* AB6E68 8003FCC8 8E220014 */ lw $v0, 0x14($s1) /* AB6E6C 8003FCCC 846D000A */ lh $t5, 0xa($v1) /* AB6E70 8003FCD0 448D2000 */ mtc1 $t5, $f4 /* AB6E74 8003FCD4 00000000 */ nop /* AB6E78 8003FCD8 468021A0 */ cvt.s.w $f6, $f4 /* AB6E7C 8003FCDC 46163202 */ mul.s $f8, $f6, $f22 /* AB6E80 8003FCE0 4618403C */ c.lt.s $f8, $f24 /* AB6E84 8003FCE4 00000000 */ nop /* AB6E88 8003FCE8 45020007 */ bc1fl .L8003FD08 /* AB6E8C 8003FCEC 8E220014 */ lw $v0, 0x14($s1) /* AB6E90 8003FCF0 96020002 */ lhu $v0, 2($s0) /* AB6E94 8003FCF4 1262002A */ beq $s3, $v0, .L8003FDA0 /* AB6E98 8003FCF8 00027080 */ sll $t6, $v0, 2 /* AB6E9C 8003FCFC 1000FFE0 */ b .L8003FC80 /* AB6EA0 8003FD00 008E8021 */ addu $s0, $a0, $t6 /* AB6EA4 8003FD04 8E220014 */ lw $v0, 0x14($s1) .L8003FD08: /* AB6EA8 8003FD08 8D0513F4 */ lw $a1, 0x13f4($t0) /* AB6EAC 8003FD0C 02542021 */ addu $a0, $s2, $s4 /* AB6EB0 8003FD10 8C460000 */ lw $a2, ($v0) /* AB6EB4 8003FD14 8C470008 */ lw $a3, 8($v0) /* AB6EB8 8003FD18 AFB50010 */ sw $s5, 0x10($sp) /* AB6EBC 8003FD1C C62A0024 */ lwc1 $f10, 0x24($s1) /* AB6EC0 8003FD20 0C00E352 */ jal func_80038D48 /* AB6EC4 8003FD24 E7AA0014 */ swc1 $f10, 0x14($sp) /* AB6EC8 8003FD28 54560013 */ bnel $v0, $s6, .L8003FD78 /* AB6ECC 8003FD2C 96020002 */ lhu $v0, 2($s0) /* AB6ED0 8003FD30 8E2F0014 */ lw $t7, 0x14($s1) /* AB6ED4 8003FD34 C7B00070 */ lwc1 $f16, 0x70($sp) /* AB6ED8 8003FD38 C5F20004 */ lwc1 $f18, 4($t7) /* AB6EDC 8003FD3C 4612803C */ c.lt.s $f16, $f18 /* AB6EE0 8003FD40 00000000 */ nop /* AB6EE4 8003FD44 4502000C */ bc1fl .L8003FD78 /* AB6EE8 8003FD48 96020002 */ lhu $v0, 2($s0) /* AB6EEC 8003FD4C 4610A03C */ c.lt.s $f20, $f16 /* AB6EF0 8003FD50 00000000 */ nop /* AB6EF4 8003FD54 45020008 */ bc1fl .L8003FD78 /* AB6EF8 8003FD58 96020002 */ lhu $v0, 2($s0) /* AB6EFC 8003FD5C 8E380028 */ lw $t8, 0x28($s1) /* AB6F00 8003FD60 8E2A000C */ lw $t2, 0xc($s1) /* AB6F04 8003FD64 46008506 */ mov.s $f20, $f16 /* AB6F08 8003FD68 8F1913F0 */ lw $t9, 0x13f0($t8) /* AB6F0C 8003FD6C 03324821 */ addu $t1, $t9, $s2 /* AB6F10 8003FD70 AD490000 */ sw $t1, ($t2) /* AB6F14 8003FD74 96020002 */ lhu $v0, 2($s0) .L8003FD78: /* AB6F18 8003FD78 5262000A */ beql $s3, $v0, .L8003FDA4 /* AB6F1C 8003FD7C 4600A006 */ mov.s $f0, $f20 /* AB6F20 8003FD80 8E280028 */ lw $t0, 0x28($s1) /* AB6F24 8003FD84 96250008 */ lhu $a1, 8($s1) /* AB6F28 8003FD88 00025880 */ sll $t3, $v0, 2 /* AB6F2C 8003FD8C 8D0413F8 */ lw $a0, 0x13f8($t0) /* AB6F30 8003FD90 30A50007 */ andi $a1, $a1, 7 /* AB6F34 8003FD94 00052B40 */ sll $a1, $a1, 0xd /* AB6F38 8003FD98 1000FFB9 */ b .L8003FC80 /* AB6F3C 8003FD9C 008B8021 */ addu $s0, $a0, $t3 .L8003FDA0: /* AB6F40 8003FDA0 4600A006 */ mov.s $f0, $f20 .L8003FDA4: /* AB6F44 8003FDA4 8FBF0054 */ lw $ra, 0x54($sp) /* AB6F48 8003FDA8 D7B40018 */ ldc1 $f20, 0x18($sp) /* AB6F4C 8003FDAC D7B60020 */ ldc1 $f22, 0x20($sp) /* AB6F50 8003FDB0 D7B80028 */ ldc1 $f24, 0x28($sp) /* AB6F54 8003FDB4 8FB00034 */ lw $s0, 0x34($sp) /* AB6F58 8003FDB8 8FB10038 */ lw $s1, 0x38($sp) /* AB6F5C 8003FDBC 8FB2003C */ lw $s2, 0x3c($sp) /* AB6F60 8003FDC0 8FB30040 */ lw $s3, 0x40($sp) /* AB6F64 8003FDC4 8FB40044 */ lw $s4, 0x44($sp) /* AB6F68 8003FDC8 8FB50048 */ lw $s5, 0x48($sp) /* AB6F6C 8003FDCC 8FB6004C */ lw $s6, 0x4c($sp) /* AB6F70 8003FDD0 8FB70050 */ lw $s7, 0x50($sp) /* AB6F74 8003FDD4 03E00008 */ jr $ra /* AB6F78 8003FDD8 27BD0080 */ addiu $sp, $sp, 0x80