.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80144C20 /* DB320 80144C20 2402F7FF */ addiu $v0, $zero, -0x801 /* DB324 80144C24 00822024 */ and $a0, $a0, $v0 /* DB328 80144C28 00042080 */ sll $a0, $a0, 2 /* DB32C 80144C2C 3C028015 */ lui $v0, %hi(D_80157960) /* DB330 80144C30 8C427960 */ lw $v0, %lo(D_80157960)($v0) /* DB334 80144C34 44853000 */ mtc1 $a1, $f6 /* DB338 80144C38 00822021 */ addu $a0, $a0, $v0 /* DB33C 80144C3C 8C850000 */ lw $a1, ($a0) /* DB340 80144C40 8CA20000 */ lw $v0, ($a1) /* DB344 80144C44 3C030010 */ lui $v1, 0x10 /* DB348 80144C48 00431024 */ and $v0, $v0, $v1 /* DB34C 80144C4C 14400012 */ bnez $v0, .L80144C98 /* DB350 80144C50 E4A60030 */ swc1 $f6, 0x30($a1) /* DB354 80144C54 80A30046 */ lb $v1, 0x46($a1) /* DB358 80144C58 3C048015 */ lui $a0, %hi(D_8014EFCC) /* DB35C 80144C5C 2484EFCC */ addiu $a0, $a0, %lo(D_8014EFCC) /* DB360 80144C60 00031040 */ sll $v0, $v1, 1 /* DB364 80144C64 00431021 */ addu $v0, $v0, $v1 /* DB368 80144C68 00021040 */ sll $v0, $v0, 1 /* DB36C 80144C6C 00441021 */ addu $v0, $v0, $a0 /* DB370 80144C70 84480000 */ lh $t0, ($v0) /* DB374 80144C74 80A30045 */ lb $v1, 0x45($a1) /* DB378 80144C78 84490002 */ lh $t1, 2($v0) /* DB37C 80144C7C 00031040 */ sll $v0, $v1, 1 /* DB380 80144C80 00431021 */ addu $v0, $v0, $v1 /* DB384 80144C84 00021040 */ sll $v0, $v0, 1 /* DB388 80144C88 00441021 */ addu $v0, $v0, $a0 /* DB38C 80144C8C 84440000 */ lh $a0, ($v0) /* DB390 80144C90 0805132A */ j .L80144CA8 /* DB394 80144C94 84460002 */ lh $a2, 2($v0) .L80144C98: /* DB398 80144C98 90A8004E */ lbu $t0, 0x4e($a1) /* DB39C 80144C9C 90A9004F */ lbu $t1, 0x4f($a1) /* DB3A0 80144CA0 90A40050 */ lbu $a0, 0x50($a1) /* DB3A4 80144CA4 90A60051 */ lbu $a2, 0x51($a1) .L80144CA8: /* DB3A8 80144CA8 44840000 */ mtc1 $a0, $f0 /* DB3AC 80144CAC 00000000 */ nop /* DB3B0 80144CB0 46800020 */ cvt.s.w $f0, $f0 /* DB3B4 80144CB4 46060002 */ mul.s $f0, $f0, $f6 /* DB3B8 80144CB8 00000000 */ nop /* DB3BC 80144CBC 3C014F00 */ lui $at, 0x4f00 /* DB3C0 80144CC0 44811000 */ mtc1 $at, $f2 /* DB3C4 80144CC4 00000000 */ nop /* DB3C8 80144CC8 4600103E */ c.le.s $f2, $f0 /* DB3CC 80144CCC 00000000 */ nop /* DB3D0 80144CD0 45010005 */ bc1t .L80144CE8 /* DB3D4 80144CD4 24A70048 */ addiu $a3, $a1, 0x48 /* DB3D8 80144CD8 4600020D */ trunc.w.s $f8, $f0 /* DB3DC 80144CDC 44034000 */ mfc1 $v1, $f8 /* DB3E0 80144CE0 08051340 */ j .L80144D00 /* DB3E4 80144CE4 00000000 */ nop .L80144CE8: /* DB3E8 80144CE8 46020001 */ sub.s $f0, $f0, $f2 /* DB3EC 80144CEC 3C028000 */ lui $v0, 0x8000 /* DB3F0 80144CF0 4600020D */ trunc.w.s $f8, $f0 /* DB3F4 80144CF4 44034000 */ mfc1 $v1, $f8 /* DB3F8 80144CF8 00000000 */ nop /* DB3FC 80144CFC 00621825 */ or $v1, $v1, $v0 .L80144D00: /* DB400 80144D00 44860000 */ mtc1 $a2, $f0 /* DB404 80144D04 00000000 */ nop /* DB408 80144D08 46800020 */ cvt.s.w $f0, $f0 /* DB40C 80144D0C 46060002 */ mul.s $f0, $f0, $f6 /* DB410 80144D10 00000000 */ nop /* DB414 80144D14 3C014F00 */ lui $at, 0x4f00 /* DB418 80144D18 44811000 */ mtc1 $at, $f2 /* DB41C 80144D1C A0E30000 */ sb $v1, ($a3) /* DB420 80144D20 4600103E */ c.le.s $f2, $f0 /* DB424 80144D24 00000000 */ nop /* DB428 80144D28 45010005 */ bc1t .L80144D40 /* DB42C 80144D2C 24A70049 */ addiu $a3, $a1, 0x49 /* DB430 80144D30 4600020D */ trunc.w.s $f8, $f0 /* DB434 80144D34 44034000 */ mfc1 $v1, $f8 /* DB438 80144D38 08051356 */ j .L80144D58 /* DB43C 80144D3C 00000000 */ nop .L80144D40: /* DB440 80144D40 46020001 */ sub.s $f0, $f0, $f2 /* DB444 80144D44 3C028000 */ lui $v0, 0x8000 /* DB448 80144D48 4600020D */ trunc.w.s $f8, $f0 /* DB44C 80144D4C 44034000 */ mfc1 $v1, $f8 /* DB450 80144D50 00000000 */ nop /* DB454 80144D54 00621825 */ or $v1, $v1, $v0 .L80144D58: /* DB458 80144D58 44842000 */ mtc1 $a0, $f4 /* DB45C 80144D5C 00000000 */ nop /* DB460 80144D60 46802120 */ cvt.s.w $f4, $f4 /* DB464 80144D64 44880000 */ mtc1 $t0, $f0 /* DB468 80144D68 00000000 */ nop /* DB46C 80144D6C 46800020 */ cvt.s.w $f0, $f0 /* DB470 80144D70 46002103 */ div.s $f4, $f4, $f0 /* DB474 80144D74 46062102 */ mul.s $f4, $f4, $f6 /* DB478 80144D78 00000000 */ nop /* DB47C 80144D7C 44861000 */ mtc1 $a2, $f2 /* DB480 80144D80 00000000 */ nop /* DB484 80144D84 468010A0 */ cvt.s.w $f2, $f2 /* DB488 80144D88 44890000 */ mtc1 $t1, $f0 /* DB48C 80144D8C 00000000 */ nop /* DB490 80144D90 46800020 */ cvt.s.w $f0, $f0 /* DB494 80144D94 46001083 */ div.s $f2, $f2, $f0 /* DB498 80144D98 46061082 */ mul.s $f2, $f2, $f6 /* DB49C 80144D9C 00000000 */ nop /* DB4A0 80144DA0 3C013F80 */ lui $at, 0x3f80 /* DB4A4 80144DA4 44810000 */ mtc1 $at, $f0 /* DB4A8 80144DA8 3C014480 */ lui $at, 0x4480 /* DB4AC 80144DAC 44813000 */ mtc1 $at, $f6 /* DB4B0 80144DB0 46040103 */ div.s $f4, $f0, $f4 /* DB4B4 80144DB4 46062102 */ mul.s $f4, $f4, $f6 /* DB4B8 80144DB8 00000000 */ nop /* DB4BC 80144DBC A0E30000 */ sb $v1, ($a3) /* DB4C0 80144DC0 2403FEFF */ addiu $v1, $zero, -0x101 /* DB4C4 80144DC4 8CA20000 */ lw $v0, ($a1) /* DB4C8 80144DC8 46020083 */ div.s $f2, $f0, $f2 /* DB4CC 80144DCC 46061082 */ mul.s $f2, $f2, $f6 /* DB4D0 80144DD0 00000000 */ nop /* DB4D4 80144DD4 00431024 */ and $v0, $v0, $v1 /* DB4D8 80144DD8 34420810 */ ori $v0, $v0, 0x810 /* DB4DC 80144DDC ACA20000 */ sw $v0, ($a1) /* DB4E0 80144DE0 4600220D */ trunc.w.s $f8, $f4 /* DB4E4 80144DE4 E4A80034 */ swc1 $f8, 0x34($a1) /* DB4E8 80144DE8 4600120D */ trunc.w.s $f8, $f2 /* DB4EC 80144DEC 03E00008 */ jr $ra /* DB4F0 80144DF0 E4A80038 */ swc1 $f8, 0x38($a1)