.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8013C048 /* D2748 8013C048 0080582D */ daddu $t3, $a0, $zero /* D274C 8013C04C 3C098015 */ lui $t1, %hi(D_8014EE14) /* D2750 8013C050 2529EE14 */ addiu $t1, $t1, %lo(D_8014EE14) /* D2754 8013C054 0000402D */ daddu $t0, $zero, $zero /* D2758 8013C058 91660004 */ lbu $a2, 4($t3) /* D275C 8013C05C 44804000 */ mtc1 $zero, $f8 /* D2760 8013C060 95220000 */ lhu $v0, ($t1) /* D2764 8013C064 3C038015 */ lui $v1, %hi(D_80156950) /* D2768 8013C068 8C636950 */ lw $v1, %lo(D_80156950)($v1) /* D276C 8013C06C 3C0A8015 */ lui $t2, %hi(D_8014EE10) /* D2770 8013C070 254AEE10 */ addiu $t2, $t2, %lo(D_8014EE10) /* D2774 8013C074 A5620008 */ sh $v0, 8($t3) /* D2778 8013C078 95220000 */ lhu $v0, ($t1) /* D277C 8013C07C 8D450000 */ lw $a1, ($t2) /* D2780 8013C080 00021100 */ sll $v0, $v0, 4 /* D2784 8013C084 00623821 */ addu $a3, $v1, $v0 /* D2788 8013C088 84A4000E */ lh $a0, 0xe($a1) /* D278C 8013C08C 94A20008 */ lhu $v0, 8($a1) /* D2790 8013C090 91630003 */ lbu $v1, 3($t3) /* D2794 8013C094 44843000 */ mtc1 $a0, $f6 /* D2798 8013C098 00000000 */ nop /* D279C 8013C09C 468031A0 */ cvt.s.w $f6, $f6 /* D27A0 8013C0A0 44821000 */ mtc1 $v0, $f2 /* D27A4 8013C0A4 00000000 */ nop /* D27A8 8013C0A8 468010A0 */ cvt.s.w $f2, $f2 /* D27AC 8013C0AC 44830000 */ mtc1 $v1, $f0 /* D27B0 8013C0B0 00000000 */ nop /* D27B4 8013C0B4 46800020 */ cvt.s.w $f0, $f0 /* D27B8 8013C0B8 46001283 */ div.s $f10, $f2, $f0 /* D27BC 8013C0BC 94A2000A */ lhu $v0, 0xa($a1) /* D27C0 8013C0C0 44860000 */ mtc1 $a2, $f0 /* D27C4 8013C0C4 00000000 */ nop /* D27C8 8013C0C8 46800020 */ cvt.s.w $f0, $f0 /* D27CC 8013C0CC 44821000 */ mtc1 $v0, $f2 /* D27D0 8013C0D0 00000000 */ nop /* D27D4 8013C0D4 468010A0 */ cvt.s.w $f2, $f2 /* D27D8 8013C0D8 00C8102A */ slt $v0, $a2, $t0 /* D27DC 8013C0DC 1440004B */ bnez $v0, .L8013C20C /* D27E0 8013C0E0 46001083 */ div.s $f2, $f2, $f0 /* D27E4 8013C0E4 0140282D */ daddu $a1, $t2, $zero /* D27E8 8013C0E8 0120602D */ daddu $t4, $t1, $zero .L8013C0EC: /* D27EC 8013C0EC 1506000B */ bne $t0, $a2, .L8013C11C /* D27F0 8013C0F0 0000302D */ daddu $a2, $zero, $zero /* D27F4 8013C0F4 8CA20000 */ lw $v0, ($a1) /* D27F8 8013C0F8 9443000A */ lhu $v1, 0xa($v0) /* D27FC 8013C0FC 8442000E */ lh $v0, 0xe($v0) /* D2800 8013C100 44834000 */ mtc1 $v1, $f8 /* D2804 8013C104 00000000 */ nop /* D2808 8013C108 46804220 */ cvt.s.w $f8, $f8 /* D280C 8013C10C 00431023 */ subu $v0, $v0, $v1 /* D2810 8013C110 44823000 */ mtc1 $v0, $f6 /* D2814 8013C114 00000000 */ nop /* D2818 8013C118 468031A0 */ cvt.s.w $f6, $f6 .L8013C11C: /* D281C 8013C11C 8CA20000 */ lw $v0, ($a1) /* D2820 8013C120 44802000 */ mtc1 $zero, $f4 /* D2824 8013C124 8442000C */ lh $v0, 0xc($v0) /* D2828 8013C128 91630003 */ lbu $v1, 3($t3) /* D282C 8013C12C 44820000 */ mtc1 $v0, $f0 /* D2830 8013C130 00000000 */ nop /* D2834 8013C134 46800020 */ cvt.s.w $f0, $f0 /* D2838 8013C138 0066102A */ slt $v0, $v1, $a2 /* D283C 8013C13C 5440002E */ bnel $v0, $zero, .L8013C1F8 /* D2840 8013C140 46023181 */ sub.s $f6, $f6, $f2 /* D2844 8013C144 4600330D */ trunc.w.s $f12, $f6 /* D2848 8013C148 440A6000 */ mfc1 $t2, $f12 /* D284C 8013C14C 4600430D */ trunc.w.s $f12, $f8 /* D2850 8013C150 44026000 */ mfc1 $v0, $f12 /* D2854 8013C154 00000000 */ nop /* D2858 8013C158 24420100 */ addiu $v0, $v0, 0x100 /* D285C 8013C15C 00024940 */ sll $t1, $v0, 5 /* D2860 8013C160 24E4000A */ addiu $a0, $a3, 0xa .L8013C164: /* D2864 8013C164 14C3000B */ bne $a2, $v1, .L8013C194 /* D2868 8013C168 00000000 */ nop /* D286C 8013C16C 8CA20000 */ lw $v0, ($a1) /* D2870 8013C170 94430008 */ lhu $v1, 8($v0) /* D2874 8013C174 8442000C */ lh $v0, 0xc($v0) /* D2878 8013C178 44832000 */ mtc1 $v1, $f4 /* D287C 8013C17C 00000000 */ nop /* D2880 8013C180 46802120 */ cvt.s.w $f4, $f4 /* D2884 8013C184 00431021 */ addu $v0, $v0, $v1 /* D2888 8013C188 44820000 */ mtc1 $v0, $f0 /* D288C 8013C18C 00000000 */ nop /* D2890 8013C190 46800020 */ cvt.s.w $f0, $f0 .L8013C194: /* D2894 8013C194 4600030D */ trunc.w.s $f12, $f0 /* D2898 8013C198 44026000 */ mfc1 $v0, $f12 /* D289C 8013C19C 00000000 */ nop /* D28A0 8013C1A0 A4E20000 */ sh $v0, ($a3) /* D28A4 8013C1A4 4600230D */ trunc.w.s $f12, $f4 /* D28A8 8013C1A8 44026000 */ mfc1 $v0, $f12 /* D28AC 8013C1AC 00000000 */ nop /* D28B0 8013C1B0 24420100 */ addiu $v0, $v0, 0x100 /* D28B4 8013C1B4 00021140 */ sll $v0, $v0, 5 /* D28B8 8013C1B8 A48AFFF8 */ sh $t2, -8($a0) /* D28BC 8013C1BC A480FFFA */ sh $zero, -6($a0) /* D28C0 8013C1C0 A482FFFE */ sh $v0, -2($a0) /* D28C4 8013C1C4 A4890000 */ sh $t1, ($a0) /* D28C8 8013C1C8 24840010 */ addiu $a0, $a0, 0x10 /* D28CC 8013C1CC 24E70010 */ addiu $a3, $a3, 0x10 /* D28D0 8013C1D0 24C60001 */ addiu $a2, $a2, 1 /* D28D4 8013C1D4 95820000 */ lhu $v0, ($t4) /* D28D8 8013C1D8 460A0000 */ add.s $f0, $f0, $f10 /* D28DC 8013C1DC 24420001 */ addiu $v0, $v0, 1 /* D28E0 8013C1E0 A5820000 */ sh $v0, ($t4) /* D28E4 8013C1E4 91630003 */ lbu $v1, 3($t3) /* D28E8 8013C1E8 0066102A */ slt $v0, $v1, $a2 /* D28EC 8013C1EC 1040FFDD */ beqz $v0, .L8013C164 /* D28F0 8013C1F0 460A2100 */ add.s $f4, $f4, $f10 /* D28F4 8013C1F4 46023181 */ sub.s $f6, $f6, $f2 .L8013C1F8: /* D28F8 8013C1F8 25080001 */ addiu $t0, $t0, 1 /* D28FC 8013C1FC 91660004 */ lbu $a2, 4($t3) /* D2900 8013C200 00C8102A */ slt $v0, $a2, $t0 /* D2904 8013C204 1040FFB9 */ beqz $v0, .L8013C0EC /* D2908 8013C208 46024200 */ add.s $f8, $f8, $f2 .L8013C20C: /* D290C 8013C20C 3C028015 */ lui $v0, %hi(D_8014EE14) /* D2910 8013C210 9442EE14 */ lhu $v0, %lo(D_8014EE14)($v0) /* D2914 8013C214 2442FFFF */ addiu $v0, $v0, -1 /* D2918 8013C218 03E00008 */ jr $ra /* D291C 8013C21C A562000A */ sh $v0, 0xa($t3)