// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/polymost.c
// Function: tessectrap
static void tessectrap (float *px, float *py, int *point2, int numpoints,
	struct polymostdrawpolycall *draw)
{
	float x0, x1, m0, m1;
	int i, j, k, z, i0, i1, i2, i3, npoints, gap, numrst;

	static int allocpoints = 0, *slist = 0, *npoint2 = 0;
	typedef struct { float x, y, xi; int i; } raster;
	static raster *rst = 0;
	static struct polymostvboitem *vboitem = NULL;
	if (numpoints+16 > allocpoints) //16 for safety
	{
		allocpoints = numpoints+16;
		rst = (raster*)realloc(rst,allocpoints*sizeof(raster));
		slist = (int*)realloc(slist,allocpoints*sizeof(int));
		npoint2 = (int*)realloc(npoint2,allocpoints*sizeof(int));
		vboitem = (struct polymostvboitem *)realloc(vboitem, allocpoints*sizeof(struct polymostvboitem));
	}

		//Remove unnecessary collinear points:
	for(i=0;i<numpoints;i++) npoint2[i] = point2[i];
	npoints = numpoints; z = 0;
	for(i=0;i<numpoints;i++)
	{
		j = npoint2[i]; if ((point2[i] < i) && (i < numpoints-1)) z = 3;
		if (j < 0) continue;
		k = npoint2[j];
		m0 = (px[j]-px[i])*(py[k]-py[j]);
		m1 = (py[j]-py[i])*(px[k]-px[j]);
		if (m0 < m1) { z |= 1; continue; }
		if (m0 > m1) { z |= 2; continue; }
		npoint2[i] = k; npoint2[j] = -1; npoints--; i--; //collinear
	}
	if (!z) return;
	trapextx[0] = trapextx[1] = px[0];
	for(i=j=0;i<numpoints;i++)
	{
		if (npoint2[i] < 0) continue;
		if (px[i] < trapextx[0]) trapextx[0] = px[i];
		if (px[i] > trapextx[1]) trapextx[1] = px[i];
		slist[j++] = i;
	}
	if (z != 3) //Simple polygon... early out
	{
		for(i=0;i<npoints;i++)
		{
			j = slist[i];
			vboitem[i].t.s = px[j]*gux + py[j]*guy + guo;
			vboitem[i].t.t = px[j]*gvx + py[j]*gvy + gvo;
			vboitem[i].v.x = px[j];
			vboitem[i].v.y = py[j];
			vboitem[i].v.z = 0.f;
		}
		draw->indexcount = npoints;
		draw->elementcount = npoints;
		draw->elementvbo = vboitem;
		polymost_drawpoly_glcall(GL_TRIANGLE_FAN, draw);
		return;
	}

		//Sort points by y's
	for(gap=(npoints>>1);gap;gap>>=1)
		for(i=0;i<npoints-gap;i++)
			for(j=i;j>=0;j-=gap)
			{
				if (py[npoint2[slist[j]]] <= py[npoint2[slist[j+gap]]]) break;
				k = slist[j]; slist[j] = slist[j+gap]; slist[j+gap] = k;
			}

	numrst = 0;
	for(z=0;z<npoints;z++)
	{
		i0 = slist[z]; i1 = npoint2[i0]; if (py[i0] == py[i1]) continue;
		i2 = i1; i3 = npoint2[i1];
		if (py[i1] == py[i3]) { i2 = i3; i3 = npoint2[i3]; }

			//i0        i3
			//  \      /
			//   i1--i2
			//  /      \ ~
			//i0        i3

		if ((py[i1] < py[i0]) && (py[i2] < py[i3])) //Insert raster
		{
			for(i=numrst;i>0;i--)
			{
				if (rst[i-1].xi*(py[i1]-rst[i-1].y) + rst[i-1].x < px[i1]) break;
				rst[i+1] = rst[i-1];
			}
			numrst += 2;

			if (i&1) //split inside area
			{
				j = i-1;

				x0 = (py[i1] - rst[j  ].y)*rst[j  ].xi + rst[j  ].x;
				x1 = (py[i1] - rst[j+1].y)*rst[j+1].xi + rst[j+1].x;
				drawtrap(rst[j].x,rst[j+1].x,rst[j].y,x0,x1,py[i1],draw);
				rst[j  ].x = x0; rst[j  ].y = py[i1];
				rst[j+3].x = x1; rst[j+3].y = py[i1];
			}

			m0 = (px[i0]-px[i1]) / (py[i0]-py[i1]);
			m1 = (px[i3]-px[i2]) / (py[i3]-py[i2]);
			j = ((px[i1] > px[i2]) || ((i1 == i2) && (m0 >= m1))) + i;
			k = (i<<1)+1 - j;
			rst[j].i = i0; rst[j].xi = m0; rst[j].x = px[i1]; rst[j].y = py[i1];
			rst[k].i = i3; rst[k].xi = m1; rst[k].x = px[i2]; rst[k].y = py[i2];
		}
		else
		{                  //NOTE:don't count backwards!
			if (i1 == i2) { for(i=0;i<numrst;i++) if (rst[i].i == i1) break; }
						else { for(i=0;i<numrst;i++) if ((rst[i].i == i1) || (rst[i].i == i2)) break; }
			j = i&~1;

			if ((py[i1] > py[i0]) && (py[i2] > py[i3])) //Delete raster
			{
				for(;j<=i+1;j+=2)
				{
					x0 = (py[i1] - rst[j  ].y)*rst[j  ].xi + rst[j  ].x;
					if ((i == j) && (i1 == i2)) x1 = x0; else x1 = (py[i1] - rst[j+1].y)*rst[j+1].xi + rst[j+1].x;
					drawtrap(rst[j].x,rst[j+1].x,rst[j].y,x0,x1,py[i1],draw);
					rst[j  ].x = x0; rst[j  ].y = py[i1];
					rst[j+1].x = x1; rst[j+1].y = py[i1];
				}
				numrst -= 2; for(;i<numrst;i++) rst[i] = rst[i+2];
			}
			else
			{
				x0 = (py[i1] - rst[j  ].y)*rst[j  ].xi + rst[j  ].x;
				x1 = (py[i1] - rst[j+1].y)*rst[j+1].xi + rst[j+1].x;
				drawtrap(rst[j].x,rst[j+1].x,rst[j].y,x0,x1,py[i1],draw);
				rst[j  ].x = x0; rst[j  ].y = py[i1];
				rst[j+1].x = x1; rst[j+1].y = py[i1];

				if (py[i0] < py[i3]) { rst[i].x = px[i2]; rst[i].y = py[i2]; rst[i].i = i3; }
									 else { rst[i].x = px[i1]; rst[i].y = py[i1]; rst[i].i = i0; }
				rst[i].xi = (px[rst[i].i] - rst[i].x) / (py[rst[i].i] - py[i1]);
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movl -0x1c(%rbp), %eax
addl $0x10, %eax
cmpl 0x5a0cad(%rip), %eax    # 0x629bc4
jle 0x88fa1
movl -0x1c(%rbp), %eax
addl $0x10, %eax
movl %eax, 0x5a0c9b(%rip)    # 0x629bc4
movq 0x5a0ca8(%rip), %rdi    # 0x629bd8
movslq 0x5a0c8d(%rip), %rsi    # 0x629bc4
shlq $0x4, %rsi
callq 0x6110
movq %rax, 0x5a0c91(%rip)    # 0x629bd8
movq 0x5a0c7a(%rip), %rdi    # 0x629bc8
movslq 0x5a0c6f(%rip), %rsi    # 0x629bc4
shlq $0x2, %rsi
callq 0x6110
movq %rax, 0x5a0c63(%rip)    # 0x629bc8
movq 0x5a0c64(%rip), %rdi    # 0x629bd0
movslq 0x5a0c51(%rip), %rsi    # 0x629bc4
shlq $0x2, %rsi
callq 0x6110
movq %rax, 0x5a0c4d(%rip)    # 0x629bd0
movq 0x5a0c56(%rip), %rdi    # 0x629be0
movslq 0x5a0c33(%rip), %rax    # 0x629bc4
imulq $0x14, %rax, %rsi
callq 0x6110
movq %rax, 0x5a0c3f(%rip)    # 0x629be0
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x88fd4
movq -0x18(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x5a0c0e(%rip), %rax    # 0x629bd0
movslq -0x3c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x88fa8
movl -0x1c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl $0x0, -0x48(%rbp)
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x89132
movq 0x5a0bd5(%rip), %rax    # 0x629bd0
movslq -0x3c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x3c(%rbp), %eax
jge 0x89029
movl -0x3c(%rbp), %eax
movl -0x1c(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x89029
movl $0x3, -0x48(%rbp)
cmpl $0x0, -0x40(%rbp)
jge 0x89034
jmp 0x89124
movq 0x5a0b95(%rip), %rax    # 0x629bd0
movslq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x8(%rbp), %rax
movslq -0x3c(%rbp), %rcx
subss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
subss (%rax,%rcx,4), %xmm1
mulss %xmm1, %xmm0
movss %xmm0, -0x34(%rbp)
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
subss (%rax,%rcx,4), %xmm0
movq -0x8(%rbp), %rax
movslq -0x44(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x8(%rbp), %rax
movslq -0x40(%rbp), %rcx
subss (%rax,%rcx,4), %xmm1
mulss %xmm1, %xmm0
movss %xmm0, -0x38(%rbp)
movss -0x34(%rbp), %xmm1
movss -0x38(%rbp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x890d9
movl -0x48(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x89124
movss -0x34(%rbp), %xmm0
ucomiss -0x38(%rbp), %xmm0
jbe 0x890ef
movl -0x48(%rbp), %eax
orl $0x2, %eax
movl %eax, -0x48(%rbp)
jmp 0x89124
movl -0x44(%rbp), %edx
movq 0x5a0ad7(%rip), %rax    # 0x629bd0
movslq -0x3c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x5a0ac9(%rip), %rax    # 0x629bd0
movslq -0x40(%rbp), %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x5c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x5c(%rbp)
movl -0x3c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x88fe8
cmpl $0x0, -0x48(%rbp)
jne 0x8913d
jmp 0x8a05e
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movss %xmm0, 0x5a0a9f(%rip)   # 0x629bec
movss %xmm0, 0x5a0a93(%rip)   # 0x629be8
movl $0x0, -0x40(%rbp)
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x89205
movq 0x5a0a5a(%rip), %rax    # 0x629bd0
movslq -0x3c(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jge 0x89182
jmp 0x891f7
movq -0x8(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movss 0x5a0a51(%rip), %xmm0   # 0x629be8
ucomiss %xmm1, %xmm0
jbe 0x891b1
movq -0x8(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x5a0a37(%rip)   # 0x629be8
movq -0x8(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
ucomiss 0x5a0a27(%rip), %xmm0   # 0x629bec
jbe 0x891dc
movq -0x8(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x5a0a10(%rip)   # 0x629bec
movl -0x3c(%rbp), %edx
movq 0x5a09e2(%rip), %rax    # 0x629bc8
movl -0x40(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x40(%rbp)
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x89163
cmpl $0x3, -0x48(%rbp)
je 0x89392
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x5c(%rbp), %eax
jge 0x8935c
movq 0x5a099f(%rip), %rax    # 0x629bc8
movslq -0x3c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x5648ec(%rip), %xmm2   # 0x5edb38
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd 0x5648db(%rip), %xmm1   # 0x5edb40
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x5648d3(%rip), %xmm0   # 0x5edb48
cvtsd2ss %xmm0, %xmm0
movq 0x5a0960(%rip), %rax    # 0x629be0
movslq -0x3c(%rbp), %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movss %xmm0, 0xc(%rax)
movq -0x8(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x5648a7(%rip), %xmm2   # 0x5edb50
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd 0x564896(%rip), %xmm1   # 0x5edb58
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x56488e(%rip), %xmm0   # 0x5edb60
cvtsd2ss %xmm0, %xmm0
movq 0x5a0903(%rip), %rax    # 0x629be0
movslq -0x3c(%rbp), %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movss %xmm0, 0x10(%rax)
movq -0x8(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a08df(%rip), %rax    # 0x629be0
movslq -0x3c(%rbp), %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a08bc(%rip), %rax    # 0x629be0
movslq -0x3c(%rbp), %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movq 0x5a08a5(%rip), %rax    # 0x629be0
movslq -0x3c(%rbp), %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x8(%rax)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x89216
movl -0x5c(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x44(%rax)
movl -0x5c(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x4c(%rax)
movq 0x5a0869(%rip), %rcx    # 0x629be0
movq -0x28(%rbp), %rax
movq %rcx, 0x50(%rax)
movq -0x28(%rbp), %rsi
movl $0x6, %edi
callq 0x73570
jmp 0x8a05e
movl -0x5c(%rbp), %eax
sarl %eax
movl %eax, -0x60(%rbp)
cmpl $0x0, -0x60(%rbp)
je 0x89495
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl -0x5c(%rbp), %ecx
subl -0x60(%rbp), %ecx
cmpl %ecx, %eax
jge 0x89486
movl -0x3c(%rbp), %eax
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
jl 0x89476
movq -0x10(%rbp), %rax
movq 0x5a07f9(%rip), %rcx    # 0x629bd0
movq 0x5a07ea(%rip), %rdx    # 0x629bc8
movslq -0x40(%rbp), %rsi
movslq (%rdx,%rsi,4), %rdx
movslq (%rcx,%rdx,4), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movq 0x5a07d6(%rip), %rcx    # 0x629bd0
movq 0x5a07c7(%rip), %rdx    # 0x629bc8
movl -0x40(%rbp), %esi
addl -0x60(%rbp), %esi
movslq %esi, %rsi
movslq (%rdx,%rsi,4), %rdx
movslq (%rcx,%rdx,4), %rcx
movss (%rax,%rcx,4), %xmm0
ucomiss %xmm1, %xmm0
jb 0x8941e
jmp 0x89476
movq 0x5a07a3(%rip), %rax    # 0x629bc8
movslq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x44(%rbp)
movq 0x5a0792(%rip), %rax    # 0x629bc8
movl -0x40(%rbp), %ecx
addl -0x60(%rbp), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %edx
movq 0x5a077f(%rip), %rax    # 0x629bc8
movslq -0x40(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x44(%rbp), %edx
movq 0x5a076e(%rip), %rax    # 0x629bc8
movl -0x40(%rbp), %ecx
addl -0x60(%rbp), %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl -0x60(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
jmp 0x893c2
jmp 0x89478
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x893ab
jmp 0x89488
movl -0x60(%rbp), %eax
sarl %eax
movl %eax, -0x60(%rbp)
jmp 0x8939a
movl $0x0, -0x64(%rbp)
movl $0x0, -0x48(%rbp)
movl -0x48(%rbp), %eax
cmpl -0x5c(%rbp), %eax
jge 0x8a05e
movq 0x5a0712(%rip), %rax    # 0x629bc8
movslq -0x48(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x4c(%rbp)
movq 0x5a0709(%rip), %rax    # 0x629bd0
movslq -0x4c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movslq -0x4c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
ucomiss (%rax,%rcx,4), %xmm0
jne 0x894f3
jp 0x894f3
jmp 0x8a050
movl -0x50(%rbp), %eax
movl %eax, -0x54(%rbp)
movq 0x5a06d0(%rip), %rax    # 0x629bd0
movslq -0x50(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
ucomiss (%rax,%rcx,4), %xmm0
jne 0x8953e
jp 0x8953e
movl -0x58(%rbp), %eax
movl %eax, -0x54(%rbp)
movq 0x5a069c(%rip), %rax    # 0x629bd0
movslq -0x58(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x4c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x89a09
movq -0x10(%rbp), %rax
movslq -0x54(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x89a09
movl -0x64(%rbp), %eax
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
jle 0x8965a
movq 0x5a063d(%rip), %rax    # 0x629bd8
movl -0x3c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm1
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm2
movq 0x5a0614(%rip), %rax    # 0x629bd8
movl -0x3c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm2
movq 0x5a05f8(%rip), %rax    # 0x629bd8
movl -0x3c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm0
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movq -0x8(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x89610
jmp 0x8965a
movq 0x5a05c1(%rip), %rax    # 0x629bd8
movl -0x3c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x5a05aa(%rip), %rcx    # 0x629bd8
movl -0x3c(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movl -0x3c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x8958a
movl -0x64(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x64(%rbp)
movl -0x3c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x89836
movl -0x3c(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a0549(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm0
movq 0x5a0532(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm2
movq 0x5a051b(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a04eb(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm0
movq 0x5a04cf(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm2
movq 0x5a04b3(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x30(%rbp)
movq 0x5a048b(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm0
movq 0x5a0475(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
movq 0x5a045a(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x4(%rax), %xmm2
movss -0x2c(%rbp), %xmm3
movss -0x30(%rbp), %xmm4
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm5
movq -0x28(%rbp), %rdi
callq 0x8dc20
movss -0x2c(%rbp), %xmm0
movq 0x5a041e(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a03fb(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movss -0x30(%rbp), %xmm0
movq 0x5a03df(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a03b7(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movq -0x8(%rbp), %rax
movslq -0x4c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x8(%rbp), %rax
movslq -0x50(%rbp), %rcx
subss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x4c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
subss (%rax,%rcx,4), %xmm1
divss %xmm1, %xmm0
movss %xmm0, -0x34(%rbp)
movq -0x8(%rbp), %rax
movslq -0x58(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x8(%rbp), %rax
movslq -0x54(%rbp), %rcx
subss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x54(%rbp), %rcx
subss (%rax,%rcx,4), %xmm1
divss %xmm1, %xmm0
movss %xmm0, -0x38(%rbp)
movq -0x8(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x8(%rbp), %rcx
movslq -0x54(%rbp), %rdx
movb $0x1, %al
ucomiss (%rcx,%rdx,4), %xmm0
movb %al, -0x65(%rbp)
ja 0x898f2
movl -0x50(%rbp), %ecx
xorl %eax, %eax
cmpl -0x54(%rbp), %ecx
movb %al, -0x66(%rbp)
jne 0x898ec
movss -0x34(%rbp), %xmm0
ucomiss -0x38(%rbp), %xmm0
setae %al
movb %al, -0x66(%rbp)
movb -0x66(%rbp), %al
movb %al, -0x65(%rbp)
movb -0x65(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x3c(%rbp), %eax
shll %eax
addl $0x1, %eax
subl -0x40(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x4c(%rbp), %ecx
movq 0x5a02c0(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
movss -0x34(%rbp), %xmm0
movq 0x5a02a6(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a0282(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a025f(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movl -0x58(%rbp), %ecx
movq 0x5a0245(%rip), %rax    # 0x629bd8
movslq -0x44(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
movss -0x38(%rbp), %xmm0
movq 0x5a022b(%rip), %rax    # 0x629bd8
movslq -0x44(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movslq -0x54(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a0207(%rip), %rax    # 0x629bd8
movslq -0x44(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x54(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a01e4(%rip), %rax    # 0x629bd8
movslq -0x44(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
jmp 0x8a04e
movl -0x50(%rbp), %eax
cmpl -0x54(%rbp), %eax
jne 0x89a4b
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x64(%rbp), %eax
jge 0x89a49
movq 0x5a01b1(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
cmpl -0x50(%rbp), %eax
jne 0x89a3c
jmp 0x89a49
jmp 0x89a3e
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x89a18
jmp 0x89a9f
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x64(%rbp), %eax
jge 0x89a9d
movq 0x5a0177(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
cmpl -0x50(%rbp), %eax
je 0x89a8e
movq 0x5a015d(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
cmpl -0x54(%rbp), %eax
jne 0x89a90
jmp 0x89a9d
jmp 0x89a92
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x89a52
jmp 0x89a9f
movl -0x3c(%rbp), %eax
andl $-0x2, %eax
movl %eax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x4c(%rbp), %rcx
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x89d36
movq -0x10(%rbp), %rax
movslq -0x54(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x89d36
jmp 0x89ae8
movl -0x40(%rbp), %eax
movl -0x3c(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jg 0x89cde
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a00cb(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm0
movq 0x5a00b4(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm2
movq 0x5a009d(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x2c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x40(%rbp), %eax
jne 0x89b73
movl -0x50(%rbp), %eax
cmpl -0x54(%rbp), %eax
jne 0x89b73
movss -0x2c(%rbp), %xmm0
movss %xmm0, -0x30(%rbp)
jmp 0x89be0
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x5a0051(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm0
movq 0x5a0035(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm2
movq 0x5a0019(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x30(%rbp)
movq 0x59fff1(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm0
movq 0x59ffdb(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
movq 0x59ffc0(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x4(%rax), %xmm2
movss -0x2c(%rbp), %xmm3
movss -0x30(%rbp), %xmm4
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm5
movq -0x28(%rbp), %rdi
callq 0x8dc20
movss -0x2c(%rbp), %xmm0
movq 0x59ff84(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59ff61(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movss -0x30(%rbp), %xmm0
movq 0x59ff45(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59ff1d(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movl -0x40(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x40(%rbp)
jmp 0x89ae8
movl -0x64(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x64(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x64(%rbp), %eax
jge 0x89d31
movq 0x59fee2(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x59fed0(%rip), %rcx    # 0x629bd8
movl -0x3c(%rbp), %edx
addl $0x2, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x89ce7
jmp 0x8a04c
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fe8e(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm0
movq 0x59fe77(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm2
movq 0x59fe60(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fe30(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss 0x4(%rax), %xmm0
movq 0x59fe14(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x8(%rax), %xmm2
movq 0x59fdf8(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x30(%rbp)
movq 0x59fdd0(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm0
movq 0x59fdba(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss (%rax), %xmm1
movq 0x59fd9f(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss 0x4(%rax), %xmm2
movss -0x2c(%rbp), %xmm3
movss -0x30(%rbp), %xmm4
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm5
movq -0x28(%rbp), %rdi
callq 0x8dc20
movss -0x2c(%rbp), %xmm0
movq 0x59fd63(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fd40(%rip), %rax    # 0x629bd8
movslq -0x40(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movss -0x30(%rbp), %xmm0
movq 0x59fd24(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fcfc(%rip), %rax    # 0x629bd8
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movq -0x10(%rbp), %rax
movslq -0x4c(%rbp), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x58(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x89f71
movq -0x8(%rbp), %rax
movslq -0x54(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fcb4(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x54(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fc91(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movl -0x58(%rbp), %ecx
movq 0x59fc77(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
jmp 0x89fd0
movq -0x8(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fc53(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fc30(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x4(%rax)
movl -0x4c(%rbp), %ecx
movq 0x59fc16(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
movq -0x8(%rbp), %rax
movq 0x59fbfd(%rip), %rcx    # 0x629bd8
movslq -0x3c(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movslq 0xc(%rcx), %rcx
movss (%rax,%rcx,4), %xmm0
movq 0x59fbe2(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
subss (%rax), %xmm0
movq -0x10(%rbp), %rax
movq 0x59fbc8(%rip), %rcx    # 0x629bd8
movslq -0x3c(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movslq 0xc(%rcx), %rcx
movss (%rax,%rcx,4), %xmm1
movq -0x10(%rbp), %rax
movslq -0x50(%rbp), %rcx
subss (%rax,%rcx,4), %xmm1
divss %xmm1, %xmm0
movq 0x59fb9c(%rip), %rax    # 0x629bd8
movslq -0x3c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movss %xmm0, 0x8(%rax)
jmp 0x8a04e
jmp 0x8a050
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x894a3
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)