// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/polymost.c
// Function: polymost_drawmaskwall
void polymost_drawmaskwall (int damaskwallcnt)
{
	double dpx[8], dpy[8], dpx2[8], dpy2[8];
	float fy, x0, x1, sx0, sy0, sx1, sy1, xp0, yp0, xp1, yp1, oxp0, oyp0, ryp0, ryp1;
	float r, t, t0, t1, csy[4], fsy[4];
	int i, j, n, n2, z, sectnum, z1, z2, cz[4], fz[4], method;
	sectortype *sec, *nsec;
	walltype *wal, *wal2;

#ifdef DEBUGGINGAIDS
	polymostcallcounts.drawmaskwall++;
#endif

	z = maskwall[damaskwallcnt];
	wal = &wall[thewall[z]]; wal2 = &wall[wal->point2];
	sectnum = thesector[z]; sec = &sector[sectnum];
	nsec = &sector[wal->nextsector];
	z1 = max(nsec->ceilingz,sec->ceilingz);
	z2 = min(nsec->floorz,sec->floorz);

	globalpicnum = wal->overpicnum; if ((unsigned int)globalpicnum >= MAXTILES) globalpicnum = 0;
	if (picanm[globalpicnum]&192) globalpicnum += animateoffs(globalpicnum,(short)thewall[z]+16384);
	globalshade = (int)wal->shade;
	globalpal = (int)((unsigned char)wal->pal);
	globalorientation = (int)wal->cstat;

	sx0 = (float)(wal->x-globalposx); sx1 = (float)(wal2->x-globalposx);
	sy0 = (float)(wal->y-globalposy); sy1 = (float)(wal2->y-globalposy);
	yp0 = sx0*gcosang2 + sy0*gsinang2;
	yp1 = sx1*gcosang2 + sy1*gsinang2;
	if ((yp0 < SCISDIST) && (yp1 < SCISDIST)) return;
	xp0 = sy0*gcosang - sx0*gsinang;
	xp1 = sy1*gcosang - sx1*gsinang;

		//Clip to close parallel-screen plane
	oxp0 = xp0; oyp0 = yp0;
	if (yp0 < SCISDIST) { t0 = (SCISDIST-yp0)/(yp1-yp0); xp0 = (xp1-xp0)*t0+xp0; yp0 = SCISDIST; }
						  else t0 = 0.f;
	if (yp1 < SCISDIST) { t1 = (SCISDIST-oyp0)/(yp1-oyp0); xp1 = (xp1-oxp0)*t1+oxp0; yp1 = SCISDIST; }
						else { t1 = 1.f; }

	getzsofslope(sectnum,(int)((wal2->x-wal->x)*t0+wal->x),(int)((wal2->y-wal->y)*t0+wal->y),&cz[0],&fz[0]);
	getzsofslope(wal->nextsector,(int)((wal2->x-wal->x)*t0+wal->x),(int)((wal2->y-wal->y)*t0+wal->y),&cz[1],&fz[1]);
	getzsofslope(sectnum,(int)((wal2->x-wal->x)*t1+wal->x),(int)((wal2->y-wal->y)*t1+wal->y),&cz[2],&fz[2]);
	getzsofslope(wal->nextsector,(int)((wal2->x-wal->x)*t1+wal->x),(int)((wal2->y-wal->y)*t1+wal->y),&cz[3],&fz[3]);

	ryp0 = 1.f/yp0; ryp1 = 1.f/yp1;

		//Generate screen coordinates for front side of wall
	x0 = ghalfx*xp0*ryp0 + ghalfx;
	x1 = ghalfx*xp1*ryp1 + ghalfx;
	if (x1 <= x0) return;

	ryp0 *= gyxscale; ryp1 *= gyxscale;

	gdx = (ryp0-ryp1)*gxyaspect / (x0-x1);
	gdy = 0;
	gdo = ryp0*gxyaspect - gdx*x0;

		//gux*x0 + guo = t0*wal->xrepeat*8*yp0
		//gux*x1 + guo = t1*wal->xrepeat*8*yp1
	gux = (t0*ryp0 - t1*ryp1)*gxyaspect*(float)wal->xrepeat*8.f / (x0-x1);
	guo = t0*ryp0*gxyaspect*(float)wal->xrepeat*8.f - gux*x0;
	guo += (float)wal->xpanning*gdo;
	gux += (float)wal->xpanning*gdx;
	guy = 0;

	if (!(wal->cstat&4)) i = z1; else i = z2;
	i -= globalposz;
	t0 = ((float)i)*ryp0 + ghoriz;
	t1 = ((float)i)*ryp1 + ghoriz;
	t = ((gdx*x0 + gdo) * (float)wal->yrepeat) / ((x1-x0) * ryp0 * 2048.f);
	i = (1<<(picsiz[globalpicnum]>>4)); if (i < tilesizy[globalpicnum]) i <<= 1;
	fy = (float)wal->ypanning * ((float)i) / 256.0;
	gvx = (t0-t1)*t;
	gvy = (x1-x0)*t;
	gvo = -gvx*x0 - gvy*t0 + fy*gdo; gvx += fy*gdx; gvy += fy*gdy;

	if (wal->cstat&8) //xflip
	{
		t = (float)(wal->xrepeat*8 + wal->xpanning*2);
		gux = gdx*t - gux;
		guy = gdy*t - guy;
		guo = gdo*t - guo;
	}
	if (wal->cstat&256) { gvx = -gvx; gvy = -gvy; gvo = -gvo; } //yflip

	method = METH_MASKED;
	if (wal->cstat&128) { if (!(wal->cstat&512)) method = METH_TRANS; else method = METH_INTRANS; }
	method |= METH_POW2XSPLIT | METH_LAYERS;

#if USE_OPENGL
	gfogpalnum = sec->floorpal;
	gfogdensity = gvisibility*((float)((unsigned char)(sec->visibility+16)) / 255.f);
#endif

	for(i=0;i<2;i++)
	{
		csy[i] = ((float)(cz[i]-globalposz))*ryp0 + ghoriz;
		fsy[i] = ((float)(fz[i]-globalposz))*ryp0 + ghoriz;
		csy[i+2] = ((float)(cz[i+2]-globalposz))*ryp1 + ghoriz;
		fsy[i+2] = ((float)(fz[i+2]-globalposz))*ryp1 + ghoriz;
	}

		//Clip 2 quadrilaterals
		//               /csy3
		//             /   |
		// csy0------/----csy2
		//   |     /xxxxxxx|
		//   |   /xxxxxxxxx|
		// csy1/xxxxxxxxxxx|
		//   |xxxxxxxxxxx/fsy3
		//   |xxxxxxxxx/   |
		//   |xxxxxxx/     |
		// fsy0----/------fsy2
		//   |   /
		// fsy1/

	dpx[0] = x0; dpy[0] = csy[1];
	dpx[1] = x1; dpy[1] = csy[3];
	dpx[2] = x1; dpy[2] = fsy[3];
	dpx[3] = x0; dpy[3] = fsy[1];
	n = 4;

		//Clip to (x0,csy[0])-(x1,csy[2])
	n2 = 0; t1 = -((dpx[0]-x0)*(csy[2]-csy[0]) - (dpy[0]-csy[0])*(x1-x0));
	for(i=0;i<n;i++)
	{
		j = i+1; if (j >= n) j = 0;

		t0 = t1; t1 = -((dpx[j]-x0)*(csy[2]-csy[0]) - (dpy[j]-csy[0])*(x1-x0));
		if (t0 >= 0) { dpx2[n2] = dpx[i]; dpy2[n2] = dpy[i]; n2++; }
		if ((t0 >= 0) != (t1 >= 0))
		{
			r = t0/(t0-t1);
			dpx2[n2] = (dpx[j]-dpx[i])*r + dpx[i];
			dpy2[n2] = (dpy[j]-dpy[i])*r + dpy[i];
			n2++;
		}
	}
	if (n2 < 3) return;

		//Clip to (x1,fsy[2])-(x0,fsy[0])
	n = 0; t1 = -((dpx2[0]-x1)*(fsy[0]-fsy[2]) - (dpy2[0]-fsy[2])*(x0-x1));
	for(i=0;i<n2;i++)
	{
		j = i+1; if (j >= n2) j = 0;

		t0 = t1; t1 = -((dpx2[j]-x1)*(fsy[0]-fsy[2]) - (dpy2[j]-fsy[2])*(x0-x1));
		if (t0 >= 0) { dpx[n] = dpx2[i]; dpy[n] = dpy2[i]; n++; }
		if ((t0 >= 0) != (t1 >= 0))
		{
			r = t0/(t0-t1);
			dpx[n] = (dpx2[j]-dpx2[i])*r + dpx2[i];
			dpy[n] = (dpy2[j]-dpy2[i])*r + dpy2[i];
			n++;
		}
	}
	if (n < 3) return;

	drawpoly(dpx,dpy,n,method);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movl %edi, -0x4(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x3be137(%rip), %rax    # 0x440d40
movswl (%rax,%rcx,2), %eax
movl %eax, -0x194(%rbp)
movslq -0x194(%rbp), %rcx
leaq 0x1f298f(%rip), %rax    # 0x2755b0
movswq (%rax,%rcx,2), %rcx
leaq 0x172983(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x1e0(%rbp)
movq -0x1e0(%rbp), %rax
movswq 0x8(%rax), %rcx
leaq 0x172962(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x1e8(%rbp)
movslq -0x194(%rbp), %rcx
leaq 0x400f66(%rip), %rax    # 0x483bd0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x198(%rbp)
movslq -0x198(%rbp), %rcx
leaq 0x1fd93e(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x1d0(%rbp)
movq -0x1e0(%rbp), %rax
movswq 0xc(%rax), %rcx
leaq 0x1fd91d(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x1d0(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jle 0x82cd9
movq -0x1d8(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x1ec(%rbp)
jmp 0x82ce9
movq -0x1d0(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x1ec(%rbp)
movl -0x1ec(%rbp), %eax
movl %eax, -0x19c(%rbp)
movq -0x1d8(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x1d0(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jge 0x82d1d
movq -0x1d8(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x1f0(%rbp)
jmp 0x82d2d
movq -0x1d0(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x1f0(%rbp)
movl -0x1f0(%rbp), %eax
movl %eax, -0x1a0(%rbp)
movq -0x1e0(%rbp), %rax
movw 0x12(%rax), %cx
leaq 0x3c8025(%rip), %rax    # 0x44ad70
movw %cx, (%rax)
leaq 0x3c801b(%rip), %rax    # 0x44ad70
movswl (%rax), %eax
cmpl $0x2400, %eax           # imm = 0x2400
jb 0x82d6b
leaq 0x3c800a(%rip), %rax    # 0x44ad70
movw $0x0, (%rax)
leaq 0x3c7ffe(%rip), %rax    # 0x44ad70
movswq (%rax), %rcx
leaq 0x1f4843(%rip), %rax    # 0x2775c0
movl (%rax,%rcx,4), %eax
andl $0xc0, %eax
cmpl $0x0, %eax
je 0x82dd1
leaq 0x3c7fdf(%rip), %rax    # 0x44ad70
movw (%rax), %cx
movslq -0x194(%rbp), %rdx
leaq 0x1f280e(%rip), %rax    # 0x2755b0
movswl (%rax,%rdx,2), %eax
addl $0x4000, %eax           # imm = 0x4000
movswl %cx, %edi
movswl %ax, %esi
callq 0x361e0
movl %eax, %ecx
leaq 0x3c7fb1(%rip), %rax    # 0x44ad70
movswl (%rax), %eax
addl %ecx, %eax
movw %ax, %cx
leaq 0x3c7fa2(%rip), %rax    # 0x44ad70
movw %cx, (%rax)
movq -0x1e0(%rbp), %rax
movsbl 0x14(%rax), %ecx
leaq 0x3cc7a9(%rip), %rax    # 0x44f58c
movl %ecx, (%rax)
movq -0x1e0(%rbp), %rax
movzbl 0x15(%rax), %ecx
leaq 0x3c7f6d(%rip), %rax    # 0x44ad64
movl %ecx, (%rax)
movq -0x1e0(%rbp), %rax
movswl 0xe(%rax), %ecx
leaq 0x3c7f55(%rip), %rax    # 0x44ad60
movl %ecx, (%rax)
movq -0x1e0(%rbp), %rax
movl (%rax), %eax
leaq 0x1f4793(%rip), %rcx    # 0x2775b0
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x120(%rbp)
movq -0x1e8(%rbp), %rax
movl (%rax), %eax
leaq 0x1f4775(%rip), %rcx    # 0x2775b0
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x128(%rbp)
movq -0x1e0(%rbp), %rax
movl 0x4(%rax), %eax
leaq 0x1f475a(%rip), %rcx    # 0x2775b4
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x124(%rbp)
movq -0x1e8(%rbp), %rax
movl 0x4(%rax), %eax
leaq 0x1f473b(%rip), %rcx    # 0x2775b4
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x12c(%rbp)
movss -0x120(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56aadd(%rip), %xmm2   # 0x5ed978
movss -0x124(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd 0x56aad9(%rip), %xmm1   # 0x5ed988
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x134(%rbp)
movss -0x128(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56aaa1(%rip), %xmm2   # 0x5ed978
movss -0x12c(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd 0x56aa9d(%rip), %xmm1   # 0x5ed988
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x13c(%rbp)
movss -0x134(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2eabd(%rip), %xmm0    # 0xb19d0
ucomisd %xmm1, %xmm0
jbe 0x82f38
movss -0x13c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2eaa3(%rip), %xmm0    # 0xb19d0
ucomisd %xmm1, %xmm0
jbe 0x82f38
jmp 0x843e0
movss -0x124(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56aa34(%rip), %xmm2   # 0x5ed980
movss -0x120(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd 0x56aa30(%rip), %xmm1   # 0x5ed990
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x130(%rbp)
movss -0x12c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a9e1(%rip), %xmm2   # 0x5ed980
movss -0x128(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd 0x56a9dd(%rip), %xmm1   # 0x5ed990
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x138(%rbp)
movss -0x130(%rbp), %xmm0
movss %xmm0, -0x140(%rbp)
movss -0x134(%rbp), %xmm0
movss %xmm0, -0x144(%rbp)
movss -0x134(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2e9be(%rip), %xmm0    # 0xb19d0
ucomisd %xmm1, %xmm0
jbe 0x83096
movss -0x134(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2e9a4(%rip), %xmm0    # 0xb19d0
subsd %xmm1, %xmm0
movss -0x13c(%rbp), %xmm1
subss -0x134(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x158(%rbp)
movss -0x138(%rbp), %xmm0
subss -0x130(%rbp), %xmm0
movss -0x158(%rbp), %xmm2
movss -0x130(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x130(%rbp)
movss 0x2fd74(%rip), %xmm0    # 0xb2e00
movss %xmm0, -0x134(%rbp)
jmp 0x830a1
xorps %xmm0, %xmm0
movss %xmm0, -0x158(%rbp)
movss -0x13c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2e91b(%rip), %xmm0    # 0xb19d0
ucomisd %xmm1, %xmm0
jbe 0x83139
movss -0x144(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2e901(%rip), %xmm0    # 0xb19d0
subsd %xmm1, %xmm0
movss -0x13c(%rbp), %xmm1
subss -0x144(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x15c(%rbp)
movss -0x138(%rbp), %xmm0
subss -0x140(%rbp), %xmm0
movss -0x15c(%rbp), %xmm2
movss -0x140(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x138(%rbp)
movss 0x2fcd1(%rip), %xmm0    # 0xb2e00
movss %xmm0, -0x13c(%rbp)
jmp 0x83149
movss 0x2fcbf(%rip), %xmm0    # 0xb2e00
movss %xmm0, -0x15c(%rbp)
movl -0x198(%rbp), %eax
movq -0x1e8(%rbp), %rcx
movl (%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl (%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x158(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl (%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movq -0x1e8(%rbp), %rcx
movl 0x4(%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl 0x4(%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x158(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl 0x4(%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %edx
leaq -0x1b0(%rbp), %rcx
leaq -0x1c0(%rbp), %r8
movswl %ax, %edi
callq 0x393f0
movq -0x1e0(%rbp), %rax
movw 0xc(%rax), %ax
movq -0x1e8(%rbp), %rcx
movl (%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl (%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x158(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl (%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movq -0x1e8(%rbp), %rcx
movl 0x4(%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl 0x4(%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x158(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl 0x4(%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %edx
leaq -0x1b0(%rbp), %rcx
addq $0x4, %rcx
leaq -0x1c0(%rbp), %r8
addq $0x4, %r8
movswl %ax, %edi
callq 0x393f0
movl -0x198(%rbp), %eax
movq -0x1e8(%rbp), %rcx
movl (%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl (%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x15c(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl (%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movq -0x1e8(%rbp), %rcx
movl 0x4(%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl 0x4(%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x15c(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl 0x4(%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %edx
leaq -0x1b0(%rbp), %rcx
addq $0x8, %rcx
leaq -0x1c0(%rbp), %r8
addq $0x8, %r8
movswl %ax, %edi
callq 0x393f0
movq -0x1e0(%rbp), %rax
movw 0xc(%rax), %ax
movq -0x1e8(%rbp), %rcx
movl (%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl (%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x15c(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl (%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movq -0x1e8(%rbp), %rcx
movl 0x4(%rcx), %ecx
movq -0x1e0(%rbp), %rdx
subl 0x4(%rdx), %ecx
cvtsi2ss %ecx, %xmm0
movss -0x15c(%rbp), %xmm2
movq -0x1e0(%rbp), %rcx
cvtsi2ssl 0x4(%rcx), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %edx
leaq -0x1b0(%rbp), %rcx
addq $0xc, %rcx
leaq -0x1c0(%rbp), %r8
addq $0xc, %r8
movswl %ax, %edi
callq 0x393f0
movss 0x2fa69(%rip), %xmm0    # 0xb2e00
divss -0x134(%rbp), %xmm0
movss %xmm0, -0x148(%rbp)
movss 0x2fa51(%rip), %xmm0    # 0xb2e00
divss -0x13c(%rbp), %xmm0
movss %xmm0, -0x14c(%rbp)
movsd 0x56a739(%rip), %xmm0   # 0x5edb00
movss -0x130(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movss -0x148(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd 0x56a715(%rip), %xmm1   # 0x5edb00
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x118(%rbp)
movsd 0x56a6f9(%rip), %xmm0   # 0x5edb00
movss -0x138(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movss -0x14c(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd 0x56a6d5(%rip), %xmm1   # 0x5edb00
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x11c(%rbp)
movss -0x11c(%rbp), %xmm1
movss -0x118(%rbp), %xmm0
ucomiss %xmm1, %xmm0
jb 0x83459
jmp 0x843e0
movsd 0x56e727(%rip), %xmm1   # 0x5f1b88
movss -0x148(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x148(%rbp)
movsd 0x56e703(%rip), %xmm1   # 0x5f1b88
movss -0x14c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x14c(%rbp)
movss -0x148(%rbp), %xmm0
movss -0x14c(%rbp), %xmm1
subss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56e6cf(%rip), %xmm1   # 0x5f1b90
mulsd %xmm1, %xmm0
movss -0x118(%rbp), %xmm1
movss -0x11c(%rbp), %xmm2
subss %xmm2, %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x56a637(%rip)   # 0x5edb20
movq $0x0, 0x56a634(%rip) # 0x5edb28
movss -0x148(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56e688(%rip), %xmm2   # 0x5f1b90
movsd 0x56a610(%rip), %xmm1   # 0x5edb20
movss -0x118(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x56a600(%rip)   # 0x5edb30
movss -0x158(%rbp), %xmm0
movss -0x148(%rbp), %xmm2
movss -0x15c(%rbp), %xmm1
movss -0x14c(%rbp), %xmm3
mulss %xmm3, %xmm1
mulss %xmm2, %xmm0
subss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56e628(%rip), %xmm1   # 0x5f1b90
mulsd %xmm1, %xmm0
movq -0x1e0(%rbp), %rax
movzbl 0x16(%rax), %eax
cvtsi2ss %eax, %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movsd 0x2f7a5(%rip), %xmm2    # 0xb2d30
mulsd %xmm2, %xmm0
movss -0x118(%rbp), %xmm1
movss -0x11c(%rbp), %xmm3
subss %xmm3, %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x56a585(%rip)   # 0x5edb38
movss -0x158(%rbp), %xmm0
movss -0x148(%rbp), %xmm1
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56e5bd(%rip), %xmm1   # 0x5f1b90
mulsd %xmm1, %xmm0
movq -0x1e0(%rbp), %rax
movzbl 0x16(%rax), %eax
cvtsi2ss %eax, %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movsd 0x56a542(%rip), %xmm1   # 0x5edb38
movss -0x118(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x56a532(%rip)   # 0x5edb48
movq -0x1e0(%rbp), %rax
movzbl 0x18(%rax), %eax
cvtsi2ss %eax, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a4ff(%rip), %xmm2   # 0x5edb30
movsd 0x56a50f(%rip), %xmm1   # 0x5edb48
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a4ff(%rip)   # 0x5edb48
movq -0x1e0(%rbp), %rax
movzbl 0x18(%rax), %eax
cvtsi2ss %eax, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a4bc(%rip), %xmm2   # 0x5edb20
movsd 0x56a4cc(%rip), %xmm1   # 0x5edb38
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a4bc(%rip)   # 0x5edb38
xorps %xmm0, %xmm0
movsd %xmm0, 0x56a4b9(%rip)   # 0x5edb40
movq -0x1e0(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x836a8
movl -0x19c(%rbp), %eax
movl %eax, -0x184(%rbp)
jmp 0x836b4
movl -0x1a0(%rbp), %eax
movl %eax, -0x184(%rbp)
leaq 0x224f05(%rip), %rax    # 0x2a85c0
movl (%rax), %ecx
movl -0x184(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x184(%rbp)
cvtsi2ssl -0x184(%rbp), %xmm0
movss -0x148(%rbp), %xmm1
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a41d(%rip), %xmm1   # 0x5edb08
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x158(%rbp)
cvtsi2ssl -0x184(%rbp), %xmm0
movss -0x14c(%rbp), %xmm1
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a3ed(%rip), %xmm1   # 0x5edb08
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x15c(%rbp)
movsd 0x56a3ed(%rip), %xmm0   # 0x5edb20
movss -0x118(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd 0x56a3e9(%rip), %xmm1   # 0x5edb30
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x1e0(%rbp), %rax
movzbl 0x17(%rax), %eax
cvtsi2ss %eax, %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movss -0x11c(%rbp), %xmm1
subss -0x118(%rbp), %xmm1
mulss -0x148(%rbp), %xmm1
movss 0x32e6e(%rip), %xmm2    # 0xb65f4
mulss %xmm2, %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x154(%rbp)
leaq 0x3c75cb(%rip), %rax    # 0x44ad70
movswq (%rax), %rcx
leaq 0x3cbe00(%rip), %rax    # 0x44f5b0
movzbl (%rax,%rcx), %ecx
sarl $0x4, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, -0x184(%rbp)
movl -0x184(%rbp), %eax
leaq 0x3c759f(%rip), %rcx    # 0x44ad70
movswq (%rcx), %rdx
leaq 0x3b8d64(%rip), %rcx    # 0x43c540
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jge 0x837f2
movl -0x184(%rbp), %eax
shll %eax
movl %eax, -0x184(%rbp)
movq -0x1e0(%rbp), %rax
movzbl 0x19(%rax), %eax
cvtsi2ss %eax, %xmm0
cvtsi2ssl -0x184(%rbp), %xmm1
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2f4ff(%rip), %xmm1    # 0xb2d18
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x114(%rbp)
movss -0x158(%rbp), %xmm0
subss -0x15c(%rbp), %xmm0
mulss -0x154(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, 0x56a303(%rip)   # 0x5edb50
movss -0x11c(%rbp), %xmm0
subss -0x118(%rbp), %xmm0
mulss -0x154(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, 0x56a2e7(%rip)   # 0x5edb58
movsd 0x56a2d7(%rip), %xmm0   # 0x5edb50
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movss -0x118(%rbp), %xmm0
cvtss2sd %xmm0, %xmm2
movsd 0x56a2b4(%rip), %xmm0   # 0x5edb58
movss -0x158(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movss -0x114(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a249(%rip), %xmm2   # 0x5edb30
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a269(%rip)   # 0x5edb60
movss -0x114(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a215(%rip), %xmm2   # 0x5edb20
movsd 0x56a23d(%rip), %xmm1   # 0x5edb50
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a22d(%rip)   # 0x5edb50
movss -0x114(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x56a1f1(%rip), %xmm2   # 0x5edb28
movsd 0x56a219(%rip), %xmm1   # 0x5edb58
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a209(%rip)   # 0x5edb58
movq -0x1e0(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x83a58
movq -0x1e0(%rbp), %rax
movzbl 0x16(%rax), %eax
shll $0x3, %eax
movq -0x1e0(%rbp), %rcx
movzbl 0x18(%rcx), %ecx
shll %ecx
addl %ecx, %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x154(%rbp)
movsd 0x56a189(%rip), %xmm0   # 0x5edb20
movss -0x154(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd 0x56a18d(%rip), %xmm1   # 0x5edb38
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a166(%rip)   # 0x5edb38
movsd 0x56a14e(%rip), %xmm0   # 0x5edb28
movss -0x154(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd 0x56a152(%rip), %xmm1   # 0x5edb40
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a12b(%rip)   # 0x5edb40
movsd 0x56a113(%rip), %xmm0   # 0x5edb30
movss -0x154(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd 0x56a117(%rip), %xmm1   # 0x5edb48
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x56a0f0(%rip)   # 0x5edb48
movq -0x1e0(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x83ae2
movsd 0x56a0db(%rip), %xmm0   # 0x5edb50
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, 0x56a0bc(%rip)   # 0x5edb50
movsd 0x56a0bc(%rip), %xmm0   # 0x5edb58
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, 0x56a09d(%rip)   # 0x5edb58
movsd 0x56a09d(%rip), %xmm0   # 0x5edb60
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, 0x56a07e(%rip)   # 0x5edb60
movl $0x1, -0x1c4(%rbp)
movq -0x1e0(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x83b2e
movq -0x1e0(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
jne 0x83b22
movl $0x2, -0x1c4(%rbp)
jmp 0x83b2c
movl $0x3, -0x1c4(%rbp)
jmp 0x83b2e
movb -0x1c4(%rbp), %al
orb $0x18, %al
movb %al, -0x1c4(%rbp)
movq -0x1d0(%rbp), %rax
movzbl 0x1d(%rax), %eax
movl %eax, 0x569dfb(%rip)    # 0x5ed948
movsd 0x56e04b(%rip), %xmm0   # 0x5f1ba0
movq -0x1d0(%rbp), %rax
movb 0x20(%rax), %al
addb $0x10, %al
movzbl %al, %eax
cvtsi2ss %eax, %xmm1
movss 0x32a68(%rip), %xmm2    # 0xb65d8
divss %xmm2, %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x569dc4(%rip)   # 0x5ed94c
movl $0x0, -0x184(%rbp)
cmpl $0x2, -0x184(%rbp)
jge 0x83ccf
movslq -0x184(%rbp), %rax
movl -0x1b0(%rbp,%rax,4), %eax
leaq 0x224a0c(%rip), %rcx    # 0x2a85c0
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
mulss -0x148(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
addsd 0x569f3a(%rip), %xmm0   # 0x5edb08
cvtsd2ss %xmm0, %xmm0
movslq -0x184(%rbp), %rax
movss %xmm0, -0x170(%rbp,%rax,4)
movslq -0x184(%rbp), %rax
movl -0x1c0(%rbp,%rax,4), %eax
leaq 0x2249c9(%rip), %rcx    # 0x2a85c0
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
mulss -0x148(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
addsd 0x569ef7(%rip), %xmm0   # 0x5edb08
cvtsd2ss %xmm0, %xmm0
movslq -0x184(%rbp), %rax
movss %xmm0, -0x180(%rbp,%rax,4)
movl -0x184(%rbp), %eax
addl $0x2, %eax
cltq
movl -0x1b0(%rbp,%rax,4), %eax
leaq 0x224982(%rip), %rcx    # 0x2a85c0
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
mulss -0x14c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
addsd 0x569eb0(%rip), %xmm0   # 0x5edb08
cvtsd2ss %xmm0, %xmm0
movl -0x184(%rbp), %eax
addl $0x2, %eax
cltq
movss %xmm0, -0x170(%rbp,%rax,4)
movl -0x184(%rbp), %eax
addl $0x2, %eax
cltq
movl -0x1c0(%rbp,%rax,4), %eax
leaq 0x224937(%rip), %rcx    # 0x2a85c0
subl (%rcx), %eax
cvtsi2ss %eax, %xmm0
mulss -0x14c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
addsd 0x569e65(%rip), %xmm0   # 0x5edb08
cvtsd2ss %xmm0, %xmm0
movl -0x184(%rbp), %eax
addl $0x2, %eax
cltq
movss %xmm0, -0x180(%rbp,%rax,4)
movl -0x184(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x184(%rbp)
jmp 0x83b92
movss -0x118(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x50(%rbp)
movss -0x16c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
movss -0x11c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x48(%rbp)
movss -0x164(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x88(%rbp)
movss -0x11c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x40(%rbp)
movss -0x174(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
movss -0x118(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x38(%rbp)
movss -0x17c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x78(%rbp)
movl $0x4, -0x18c(%rbp)
movl $0x0, -0x190(%rbp)
movsd -0x50(%rbp), %xmm0
movss -0x118(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
subsd %xmm1, %xmm0
movss -0x168(%rbp), %xmm1
subss -0x170(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd -0x90(%rbp), %xmm1
movss -0x170(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
subsd %xmm3, %xmm1
movss -0x11c(%rbp), %xmm3
subss -0x118(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x15c(%rbp)
movl $0x0, -0x184(%rbp)
movl -0x184(%rbp), %eax
cmpl -0x18c(%rbp), %eax
jge 0x84083
movl -0x184(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x188(%rbp)
movl -0x188(%rbp), %eax
cmpl -0x18c(%rbp), %eax
jl 0x83e4f
movl $0x0, -0x188(%rbp)
movss -0x15c(%rbp), %xmm0
movss %xmm0, -0x158(%rbp)
movslq -0x188(%rbp), %rax
movsd -0x50(%rbp,%rax,8), %xmm0
movss -0x118(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
subsd %xmm1, %xmm0
movss -0x168(%rbp), %xmm1
subss -0x170(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movslq -0x188(%rbp), %rax
movsd -0x90(%rbp,%rax,8), %xmm1
movss -0x170(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
subsd %xmm3, %xmm1
movss -0x11c(%rbp), %xmm3
subss -0x118(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x15c(%rbp)
movss -0x158(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jb 0x83f66
movslq -0x184(%rbp), %rax
movsd -0x50(%rbp,%rax,8), %xmm0
movslq -0x190(%rbp), %rax
movsd %xmm0, -0xd0(%rbp,%rax,8)
movslq -0x184(%rbp), %rax
movsd -0x90(%rbp,%rax,8), %xmm0
movslq -0x190(%rbp), %rax
movsd %xmm0, -0x110(%rbp,%rax,8)
movl -0x190(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x190(%rbp)
movss -0x158(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
setae %al
andb $0x1, %al
movzbl %al, %eax
movss -0x15c(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
setae %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
je 0x8406d
movss -0x158(%rbp), %xmm0
movss -0x158(%rbp), %xmm1
subss -0x15c(%rbp), %xmm1
divss %xmm1, %xmm0
movss %xmm0, -0x150(%rbp)
movslq -0x188(%rbp), %rax
movsd -0x50(%rbp,%rax,8), %xmm0
movslq -0x184(%rbp), %rax
subsd -0x50(%rbp,%rax,8), %xmm0
movss -0x150(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movslq -0x184(%rbp), %rax
movsd -0x50(%rbp,%rax,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movslq -0x190(%rbp), %rax
movsd %xmm0, -0xd0(%rbp,%rax,8)
movslq -0x188(%rbp), %rax
movsd -0x90(%rbp,%rax,8), %xmm0
movslq -0x184(%rbp), %rax
subsd -0x90(%rbp,%rax,8), %xmm0
movss -0x150(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movslq -0x184(%rbp), %rax
movsd -0x90(%rbp,%rax,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movslq -0x190(%rbp), %rax
movsd %xmm0, -0x110(%rbp,%rax,8)
movl -0x190(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x190(%rbp)
jmp 0x8406f
movl -0x184(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x184(%rbp)
jmp 0x83e16
cmpl $0x3, -0x190(%rbp)
jge 0x84091
jmp 0x843e0
movl $0x0, -0x18c(%rbp)
movsd -0xd0(%rbp), %xmm0
movss -0x11c(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
subsd %xmm1, %xmm0
movss -0x180(%rbp), %xmm1
subss -0x178(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movsd -0x110(%rbp), %xmm1
movss -0x178(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
subsd %xmm3, %xmm1
movss -0x118(%rbp), %xmm3
subss -0x11c(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x15c(%rbp)
movl $0x0, -0x184(%rbp)
movl -0x184(%rbp), %eax
cmpl -0x190(%rbp), %eax
jge 0x843b9
movl -0x184(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x188(%rbp)
movl -0x188(%rbp), %eax
cmpl -0x190(%rbp), %eax
jl 0x8417c
movl $0x0, -0x188(%rbp)
movss -0x15c(%rbp), %xmm0
movss %xmm0, -0x158(%rbp)
movslq -0x188(%rbp), %rax
movsd -0xd0(%rbp,%rax,8), %xmm0
movss -0x11c(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
subsd %xmm1, %xmm0
movss -0x180(%rbp), %xmm1
subss -0x178(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movslq -0x188(%rbp), %rax
movsd -0x110(%rbp,%rax,8), %xmm1
movss -0x178(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
subsd %xmm3, %xmm1
movss -0x118(%rbp), %xmm3
subss -0x11c(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x15c(%rbp)
movss -0x158(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jb 0x84296
movslq -0x184(%rbp), %rax
movsd -0xd0(%rbp,%rax,8), %xmm0
movslq -0x18c(%rbp), %rax
movsd %xmm0, -0x50(%rbp,%rax,8)
movslq -0x184(%rbp), %rax
movsd -0x110(%rbp,%rax,8), %xmm0
movslq -0x18c(%rbp), %rax
movsd %xmm0, -0x90(%rbp,%rax,8)
movl -0x18c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18c(%rbp)
movss -0x158(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
setae %al
andb $0x1, %al
movzbl %al, %eax
movss -0x15c(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
setae %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
je 0x843a3
movss -0x158(%rbp), %xmm0
movss -0x158(%rbp), %xmm1
subss -0x15c(%rbp), %xmm1
divss %xmm1, %xmm0
movss %xmm0, -0x150(%rbp)
movslq -0x188(%rbp), %rax
movsd -0xd0(%rbp,%rax,8), %xmm0
movslq -0x184(%rbp), %rax
subsd -0xd0(%rbp,%rax,8), %xmm0
movss -0x150(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movslq -0x184(%rbp), %rax
movsd -0xd0(%rbp,%rax,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movslq -0x18c(%rbp), %rax
movsd %xmm0, -0x50(%rbp,%rax,8)
movslq -0x188(%rbp), %rax
movsd -0x110(%rbp,%rax,8), %xmm0
movslq -0x184(%rbp), %rax
subsd -0x110(%rbp,%rax,8), %xmm0
movss -0x150(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movslq -0x184(%rbp), %rax
movsd -0x110(%rbp,%rax,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movslq -0x18c(%rbp), %rax
movsd %xmm0, -0x90(%rbp,%rax,8)
movl -0x18c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18c(%rbp)
jmp 0x843a5
movl -0x184(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x184(%rbp)
jmp 0x84143
cmpl $0x3, -0x18c(%rbp)
jge 0x843c4
jmp 0x843e0
leaq -0x50(%rbp), %rdi
leaq -0x90(%rbp), %rsi
movl -0x18c(%rbp), %edx
movl -0x1c4(%rbp), %ecx
callq 0x73b90
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
nopl (%rax)