// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: drawvox
static void drawvox(int dasprx, int daspry, int dasprz, int dasprang,
		  int daxscale, int dayscale, unsigned char daindex,
		  signed char dashade, unsigned char dapal, int *daumost, int *dadmost)
{
	int i, j, k, x, y, syoff, ggxstart, ggystart, nxoff;
	int cosang, sinang, sprcosang, sprsinang, backx, backy, gxinc, gyinc;
	int daxsiz, daysiz, dazsiz, daxpivot, daypivot, dazpivot;
	int daxscalerecip, dayscalerecip, cnt, gxstart, gystart, odayscale;
	int l1, l2, xyvoxoffs, *longptr;
	intptr_t slabxoffs;
	int lx, rx, nx, ny, x1=0, y1=0, z1, x2=0, y2=0, z2, yplc, yinc=0;
	int yoff, xs=0, ys=0, xe, ye, xi=0, yi=0, cbackx, cbacky, dagxinc, dagyinc;
	short *shortptr;
	unsigned char *voxptr, *voxend, *davoxptr, oand, oand16, oand32;

	(void)dazsiz;

	cosang = sintable[(globalang+512)&2047];
	sinang = sintable[globalang&2047];
	sprcosang = sintable[(dasprang+512)&2047];
	sprsinang = sintable[dasprang&2047];

	i = klabs(dmulscale6(dasprx-globalposx,cosang,daspry-globalposy,sinang));
	j = (int)(getpalookup((int)mulscale21(globvis,i),(int)dashade)<<8);
	setupdrawslab(ylookup[1], palookup[dapal]+j);
	j = 1310720;
	j *= min(daxscale,dayscale); j >>= 6;  //New hacks (for sized-down voxels)
	for(k=0;k<MAXVOXMIPS;k++)
	{
		if (i < j) { i = k; break; }
		j <<= 1;
	}
	if (k >= MAXVOXMIPS) i = MAXVOXMIPS-1;

	if (novoxmips) i = 0;
	davoxptr = (unsigned char *)voxoff[daindex][i];
	if (!davoxptr && i > 0) { davoxptr = (unsigned char *)voxoff[daindex][0]; i = 0; }
	if (!davoxptr) return;

	if (voxscale[daindex] == 65536)
		{ daxscale <<= (i+8); dayscale <<= (i+8); }
	else
	{
		daxscale = mulscale8(daxscale<<i,voxscale[daindex]);
		dayscale = mulscale8(dayscale<<i,voxscale[daindex]);
	}

	odayscale = dayscale;
	daxscale = mulscale16(daxscale,xyaspect);
	daxscale = scale(daxscale,xdimenscale,xdimen<<8);
	dayscale = scale(dayscale,mulscale16(xdimenscale,viewingrangerecip),xdimen<<8);

	daxscalerecip = (1<<30)/daxscale;
	dayscalerecip = (1<<30)/dayscale;

	longptr = (int *)davoxptr;
	daxsiz = B_LITTLE32(longptr[0]); daysiz = B_LITTLE32(longptr[1]); dazsiz = B_LITTLE32(longptr[2]);
	daxpivot = B_LITTLE32(longptr[3]); daypivot = B_LITTLE32(longptr[4]); dazpivot = B_LITTLE32(longptr[5]);
	davoxptr += (6<<2);

	x = mulscale16(globalposx-dasprx,daxscalerecip);
	y = mulscale16(globalposy-daspry,daxscalerecip);
	backx = ((dmulscale10(x,sprcosang,y,sprsinang)+daxpivot)>>8);
	backy = ((dmulscale10(y,sprcosang,x,-sprsinang)+daypivot)>>8);
	cbackx = min(max(backx,0),daxsiz-1);
	cbacky = min(max(backy,0),daysiz-1);

	sprcosang = mulscale14(daxscale,sprcosang);
	sprsinang = mulscale14(daxscale,sprsinang);

	x = (dasprx-globalposx) - dmulscale18(daxpivot,sprcosang,daypivot,-sprsinang);
	y = (daspry-globalposy) - dmulscale18(daypivot,sprcosang,daxpivot,sprsinang);

	cosang = mulscale16(cosang,dayscalerecip);
	sinang = mulscale16(sinang,dayscalerecip);

	gxstart = y*cosang - x*sinang;
	gystart = x*cosang + y*sinang;
	gxinc = dmulscale10(sprsinang,cosang,sprcosang,-sinang);
	gyinc = dmulscale10(sprcosang,cosang,sprsinang,sinang);

	x = 0; y = 0; j = max(daxsiz,daysiz);
	for(i=0;i<=j;i++)
	{
		ggxinc[i] = x; x += gxinc;
		ggyinc[i] = y; y += gyinc;
	}

	if ((klabs(globalposz-dasprz)>>10) >= klabs(odayscale)) return;
	syoff = divscale21(globalposz-dasprz,odayscale) + (dazpivot<<7);
	yoff = ((klabs(gxinc)+klabs(gyinc))>>1);
	longptr = (int *)davoxptr;
	xyvoxoffs = ((daxsiz+1)<<2);

	for(cnt=0;cnt<8;cnt++)
	{
		switch(cnt)
		{
			case 0: xs = 0;        ys = 0;        xi = 1;  yi = 1;  break;
			case 1: xs = daxsiz-1; ys = 0;        xi = -1; yi = 1;  break;
			case 2: xs = 0;        ys = daysiz-1; xi = 1;  yi = -1; break;
			case 3: xs = daxsiz-1; ys = daysiz-1; xi = -1; yi = -1; break;
			case 4: xs = 0;        ys = cbacky;   xi = 1;  yi = 2;  break;
			case 5: xs = daxsiz-1; ys = cbacky;   xi = -1; yi = 2;  break;
			case 6: xs = cbackx;   ys = 0;        xi = 2;  yi = 1;  break;
			case 7: xs = cbackx;   ys = daysiz-1; xi = 2;  yi = -1; break;
		}
		xe = cbackx; ye = cbacky;
		if (cnt < 4)
		{
			if ((xi < 0) && (xe >= xs)) continue;
			if ((xi > 0) && (xe <= xs)) continue;
			if ((yi < 0) && (ye >= ys)) continue;
			if ((yi > 0) && (ye <= ys)) continue;
		}
		else
		{
			if ((xi < 0) && (xe > xs)) continue;
			if ((xi > 0) && (xe < xs)) continue;
			if ((yi < 0) && (ye > ys)) continue;
			if ((yi > 0) && (ye < ys)) continue;
			xe += xi; ye += yi;
		}

		i = ksgn(ys-backy)+ksgn(xs-backx)*3+4;
		switch(i)
		{
			case 6: case 7: x1 = 0; y1 = 0; break;
			case 8: case 5: x1 = gxinc; y1 = gyinc; break;
			case 0: case 3: x1 = gyinc; y1 = -gxinc; break;
			case 2: case 1: x1 = gxinc+gyinc; y1 = gyinc-gxinc; break;
		}
		switch(i)
		{
			case 2: case 5: x2 = 0; y2 = 0; break;
			case 0: case 1: x2 = gxinc; y2 = gyinc; break;
			case 8: case 7: x2 = gyinc; y2 = -gxinc; break;
			case 6: case 3: x2 = gxinc+gyinc; y2 = gyinc-gxinc; break;
		}
		oand = pow2char[(xs<backx)+0]+pow2char[(ys<backy)+2];
		oand16 = oand+16;
		oand32 = oand+32;

		if (yi > 0) { dagxinc = gxinc; dagyinc = mulscale16(gyinc,viewingrangerecip); }
		else { dagxinc = -gxinc; dagyinc = -mulscale16(gyinc,viewingrangerecip); }

			//Fix for non 90 degree viewing ranges
		nxoff = mulscale16(x2-x1,viewingrangerecip);
		x1 = mulscale16(x1,viewingrangerecip);

		ggxstart = gxstart+ggyinc[ys];
		ggystart = gystart-ggxinc[ys];

		for(x=xs;x!=xe;x+=xi)
		{
			slabxoffs = (intptr_t)&davoxptr[B_LITTLE32(longptr[x])];
			shortptr = (short *)&davoxptr[((x*(daysiz+1))<<1)+xyvoxoffs];

			nx = mulscale16(ggxstart+ggxinc[x],viewingrangerecip)+x1;
			ny = ggystart+ggyinc[x];
			for(y=ys;y!=ye;y+=yi,nx+=dagyinc,ny-=dagxinc)
			{
				if ((ny <= nytooclose) || (ny >= nytoofar)) continue;
				voxptr = (unsigned char *)(B_LITTLE16(shortptr[y])+slabxoffs);
				voxend = (unsigned char *)(B_LITTLE16(shortptr[y+1])+slabxoffs);
				if (voxptr == voxend) continue;

				lx = mulscale32(nx>>3,distrecip[(ny+y1)>>14])+halfxdimen;
				if (lx < 0) lx = 0;
				rx = mulscale32((nx+nxoff)>>3,distrecip[(ny+y2)>>14])+halfxdimen;
				if (rx > xdimen) rx = xdimen;
				if (rx <= lx) continue;
				rx -= lx;

				l1 = distrecip[(ny-yoff)>>14];
				l2 = distrecip[(ny+yoff)>>14];
				for(;voxptr<voxend;voxptr+=voxptr[1]+3)
				{
					j = (voxptr[0]<<15)-syoff;
					if (j < 0)
					{
						k = j+(voxptr[1]<<15);
						if (k < 0)
						{
							if ((voxptr[2]&oand32) == 0) continue;
							z2 = mulscale32(l2,k) + globalhoriz;     //Below slab
						}
						else
						{
							if ((voxptr[2]&oand) == 0) continue;    //Middle of slab
							z2 = mulscale32(l1,k) + globalhoriz;
						}
						z1 = mulscale32(l1,j) + globalhoriz;
					}
					else
					{
						if ((voxptr[2]&oand16) == 0) continue;
						z1 = mulscale32(l2,j) + globalhoriz;        //Above slab
						z2 = mulscale32(l1,j+(voxptr[1]<<15)) + globalhoriz;
					}

					if (voxptr[1] == 1)
					{
						yplc = 0; yinc = 0;
						if (z1 < daumost[lx]) z1 = daumost[lx];
					}
					else
					{
						if (z2-z1 >= 1024) yinc = divscale16(voxptr[1],z2-z1);
						else if (z2 > z1) yinc = (lowrecip[z2-z1]*voxptr[1]>>8);
						if (z1 < daumost[lx]) { yplc = yinc*(daumost[lx]-z1); z1 = daumost[lx]; } else yplc = 0;
					}
					if (z2 > dadmost[lx]) z2 = dadmost[lx];
					z2 -= z1; if (z2 <= 0) continue;

					drawslab(rx,yplc,z2,yinc,&voxptr[3],(void *)(ylookup[z1]+lx+frameoffset));
				}
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq 0x30(%rbp), %rax
movq 0x28(%rbp), %rax
movb 0x20(%rbp), %al
movb 0x18(%rbp), %al
movb 0x10(%rbp), %al
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movl %r8d, -0x14(%rbp)
movl %r9d, -0x18(%rbp)
movl $0x0, -0xbc(%rbp)
movl $0x0, -0xc0(%rbp)
movl $0x0, -0xc8(%rbp)
movl $0x0, -0xcc(%rbp)
movl $0x0, -0xd8(%rbp)
movl $0x0, -0xe0(%rbp)
movl $0x0, -0xe4(%rbp)
movl $0x0, -0xf0(%rbp)
movl $0x0, -0xf4(%rbp)
movswl 0x3abf6f(%rip), %eax    # 0x40b890
addl $0x200, %eax            # imm = 0x200
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3abf7b(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x40(%rbp)
movswl 0x3abf4d(%rip), %eax    # 0x40b890
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3abf5e(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x44(%rbp)
movl -0x10(%rbp), %eax
addl $0x200, %eax            # imm = 0x200
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3abf40(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x48(%rbp)
movl -0x10(%rbp), %eax
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3abf27(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4c(%rbp)
movl -0x4(%rbp), %edi
subl 0x217c17(%rip), %edi    # 0x2775b0
movl -0x40(%rbp), %esi
movl -0x8(%rbp), %edx
subl 0x217c0f(%rip), %edx    # 0x2775b4
movl -0x44(%rbp), %ecx
callq 0x3c870
movl %eax, %edi
callq 0x37610
movl %eax, -0x1c(%rbp)
movl 0x3efbd3(%rip), %edi    # 0x44f590
movl -0x1c(%rbp), %esi
callq 0x5eb10
movl %eax, %edi
movsbl 0x18(%rbp), %esi
callq 0x5ec70
shll $0x8, %eax
movl %eax, -0x20(%rbp)
movl 0x3f20a8(%rip), %edi    # 0x451a84
movzbl 0x20(%rbp), %eax
movl %eax, %ecx
leaq 0x375c57(%rip), %rax    # 0x3d5640
movq (%rax,%rcx,8), %rsi
movslq -0x20(%rbp), %rax
addq %rax, %rsi
callq 0xa8240
movl $0x140000, -0x20(%rbp)  # imm = 0x140000
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5fa13
movl -0x14(%rbp), %eax
movl %eax, -0x130(%rbp)
jmp 0x5fa1c
movl -0x18(%rbp), %eax
movl %eax, -0x130(%rbp)
movl -0x130(%rbp), %eax
imull -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
sarl $0x6, %eax
movl %eax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
cmpl $0x5, -0x24(%rbp)
jge 0x5fa62
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x5fa4f
movl -0x24(%rbp), %eax
movl %eax, -0x1c(%rbp)
jmp 0x5fa62
movl -0x20(%rbp), %eax
shll %eax
movl %eax, -0x20(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x5fa39
cmpl $0x5, -0x24(%rbp)
jl 0x5fa6f
movl $0x4, -0x1c(%rbp)
cmpl $0x0, 0x195aea(%rip)    # 0x1f5560
je 0x5fa7f
movl $0x0, -0x1c(%rbp)
movzbl 0x10(%rbp), %eax
movl %eax, %ecx
leaq 0x33bba4(%rip), %rax    # 0x39b630
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x128(%rbp)
cmpq $0x0, -0x128(%rbp)
jne 0x5fad7
cmpl $0x0, -0x1c(%rbp)
jle 0x5fad7
movzbl 0x10(%rbp), %eax
movl %eax, %ecx
leaq 0x33bb71(%rip), %rax    # 0x39b630
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x128(%rbp)
movl $0x0, -0x1c(%rbp)
cmpq $0x0, -0x128(%rbp)
jne 0x5fae6
jmp 0x60a5a
movzbl 0x10(%rbp), %eax
movl %eax, %ecx
leaq 0x371b3d(%rip), %rax    # 0x3d1630
cmpl $0x10000, (%rax,%rcx,4) # imm = 0x10000
jne 0x5fb1a
movl -0x1c(%rbp), %ecx
addl $0x8, %ecx
movl -0x14(%rbp), %eax
shll %cl, %eax
movl %eax, -0x14(%rbp)
movl -0x1c(%rbp), %ecx
addl $0x8, %ecx
movl -0x18(%rbp), %eax
shll %cl, %eax
movl %eax, -0x18(%rbp)
jmp 0x5fb5a
movl -0x14(%rbp), %edi
movl -0x1c(%rbp), %ecx
shll %cl, %edi
movzbl 0x10(%rbp), %eax
movl %eax, %ecx
leaq 0x371b01(%rip), %rax    # 0x3d1630
movl (%rax,%rcx,4), %esi
callq 0x39030
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %edi
movl -0x1c(%rbp), %ecx
shll %cl, %edi
movzbl 0x10(%rbp), %eax
movl %eax, %ecx
leaq 0x371ae1(%rip), %rax    # 0x3d1630
movl (%rax,%rcx,4), %esi
callq 0x39030
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x14(%rbp), %edi
movl 0x33a8ac(%rip), %esi    # 0x39a418
callq 0x39010
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl 0x258a7b(%rip), %esi    # 0x2b85f8
movl 0x8119d(%rip), %edx     # 0xe0d20
shll $0x8, %edx
callq 0x37720
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x134(%rbp)
movl 0x258a5b(%rip), %edi    # 0x2b85f8
movl 0x3abcf5(%rip), %esi    # 0x40b898
callq 0x39010
movl -0x134(%rbp), %edi
movl %eax, %esi
movl 0x8116a(%rip), %edx     # 0xe0d20
shll $0x8, %edx
callq 0x37720
movl %eax, -0x18(%rbp)
movl $0x40000000, %eax       # imm = 0x40000000
cltd
idivl -0x14(%rbp)
movl %eax, -0x78(%rbp)
movl $0x40000000, %eax       # imm = 0x40000000
cltd
idivl -0x18(%rbp)
movl %eax, -0x7c(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x60(%rbp)
movq -0xa0(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x64(%rbp)
movq -0xa0(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x68(%rbp)
movq -0xa0(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x6c(%rbp)
movq -0xa0(%rbp), %rax
movl 0x10(%rax), %eax
movl %eax, -0x70(%rbp)
movq -0xa0(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x74(%rbp)
movq -0x128(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x128(%rbp)
movl 0x217964(%rip), %edi    # 0x2775b0
subl -0x4(%rbp), %edi
movl -0x78(%rbp), %esi
callq 0x39010
movl %eax, -0x28(%rbp)
movl 0x217954(%rip), %edi    # 0x2775b4
subl -0x8(%rbp), %edi
movl -0x78(%rbp), %esi
callq 0x39010
movl %eax, -0x2c(%rbp)
movl -0x28(%rbp), %edi
movl -0x48(%rbp), %esi
movl -0x2c(%rbp), %edx
movl -0x4c(%rbp), %ecx
callq 0x45030
addl -0x6c(%rbp), %eax
sarl $0x8, %eax
movl %eax, -0x50(%rbp)
movl -0x2c(%rbp), %edi
movl -0x48(%rbp), %esi
movl -0x28(%rbp), %edx
xorl %ecx, %ecx
subl -0x4c(%rbp), %ecx
callq 0x45030
addl -0x70(%rbp), %eax
sarl $0x8, %eax
movl %eax, -0x54(%rbp)
cmpl $0x0, -0x50(%rbp)
jle 0x5fcb5
movl -0x50(%rbp), %eax
movl %eax, -0x138(%rbp)
jmp 0x5fcbf
xorl %eax, %eax
movl %eax, -0x138(%rbp)
jmp 0x5fcbf
movl -0x138(%rbp), %eax
movl -0x60(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x5fcf8
cmpl $0x0, -0x50(%rbp)
jle 0x5fce0
movl -0x50(%rbp), %eax
movl %eax, -0x13c(%rbp)
jmp 0x5fcea
xorl %eax, %eax
movl %eax, -0x13c(%rbp)
jmp 0x5fcea
movl -0x13c(%rbp), %eax
movl %eax, -0x140(%rbp)
jmp 0x5fd04
movl -0x60(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x140(%rbp)
movl -0x140(%rbp), %eax
movl %eax, -0xf8(%rbp)
cmpl $0x0, -0x54(%rbp)
jle 0x5fd21
movl -0x54(%rbp), %eax
movl %eax, -0x144(%rbp)
jmp 0x5fd2b
xorl %eax, %eax
movl %eax, -0x144(%rbp)
jmp 0x5fd2b
movl -0x144(%rbp), %eax
movl -0x64(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x5fd64
cmpl $0x0, -0x54(%rbp)
jle 0x5fd4c
movl -0x54(%rbp), %eax
movl %eax, -0x148(%rbp)
jmp 0x5fd56
xorl %eax, %eax
movl %eax, -0x148(%rbp)
jmp 0x5fd56
movl -0x148(%rbp), %eax
movl %eax, -0x14c(%rbp)
jmp 0x5fd70
movl -0x64(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x14c(%rbp)
movl -0x14c(%rbp), %eax
movl %eax, -0xfc(%rbp)
movl -0x14(%rbp), %edi
movl -0x48(%rbp), %esi
callq 0x52680
movl %eax, -0x48(%rbp)
movl -0x14(%rbp), %edi
movl -0x4c(%rbp), %esi
callq 0x52680
movl %eax, -0x4c(%rbp)
movl -0x4(%rbp), %eax
subl 0x21780f(%rip), %eax    # 0x2775b0
movl %eax, -0x154(%rbp)
movl -0x6c(%rbp), %edi
movl -0x48(%rbp), %esi
movl -0x70(%rbp), %edx
xorl %ecx, %ecx
subl -0x4c(%rbp), %ecx
callq 0x60e80
movl %eax, %ecx
movl -0x154(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x8(%rbp), %eax
subl 0x2177e4(%rip), %eax    # 0x2775b4
movl %eax, -0x150(%rbp)
movl -0x70(%rbp), %edi
movl -0x48(%rbp), %esi
movl -0x6c(%rbp), %edx
movl -0x4c(%rbp), %ecx
callq 0x60e80
movl %eax, %ecx
movl -0x150(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x40(%rbp), %edi
movl -0x7c(%rbp), %esi
callq 0x39010
movl %eax, -0x40(%rbp)
movl -0x44(%rbp), %edi
movl -0x7c(%rbp), %esi
callq 0x39010
movl %eax, -0x44(%rbp)
movl -0x2c(%rbp), %eax
imull -0x40(%rbp), %eax
movl -0x28(%rbp), %ecx
imull -0x44(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0x84(%rbp)
movl -0x28(%rbp), %eax
imull -0x40(%rbp), %eax
movl -0x2c(%rbp), %ecx
imull -0x44(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x88(%rbp)
movl -0x4c(%rbp), %edi
movl -0x40(%rbp), %esi
movl -0x48(%rbp), %edx
xorl %ecx, %ecx
subl -0x44(%rbp), %ecx
callq 0x45030
movl %eax, -0x58(%rbp)
movl -0x48(%rbp), %edi
movl -0x40(%rbp), %esi
movl -0x4c(%rbp), %edx
movl -0x44(%rbp), %ecx
callq 0x45030
movl %eax, -0x5c(%rbp)
movl $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x60(%rbp), %eax
cmpl -0x64(%rbp), %eax
jle 0x5fe87
movl -0x60(%rbp), %eax
movl %eax, -0x158(%rbp)
jmp 0x5fe90
movl -0x64(%rbp), %eax
movl %eax, -0x158(%rbp)
movl -0x158(%rbp), %eax
movl %eax, -0x20(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jg 0x5fee7
movl -0x28(%rbp), %edx
movslq -0x1c(%rbp), %rcx
leaq 0x54136a(%rip), %rax    # 0x5a1220
movl %edx, (%rax,%rcx,4)
movl -0x58(%rbp), %eax
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
movl -0x2c(%rbp), %edx
movslq -0x1c(%rbp), %rcx
leaq 0x541760(%rip), %rax    # 0x5a1630
movl %edx, (%rax,%rcx,4)
movl -0x5c(%rbp), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5fea0
movl 0x2486d3(%rip), %edi    # 0x2a85c0
subl -0xc(%rbp), %edi
callq 0x37610
sarl $0xa, %eax
movl %eax, -0x15c(%rbp)
movl -0x8c(%rbp), %edi
callq 0x37610
movl %eax, %ecx
movl -0x15c(%rbp), %eax
cmpl %ecx, %eax
jl 0x5ff1a
jmp 0x60a5a
movl 0x2486a0(%rip), %edi    # 0x2a85c0
subl -0xc(%rbp), %edi
movl -0x8c(%rbp), %esi
callq 0x60ec0
movl -0x74(%rbp), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x58(%rbp), %edi
callq 0x37610
movl %eax, -0x160(%rbp)
movl -0x5c(%rbp), %edi
callq 0x37610
movl %eax, %ecx
movl -0x160(%rbp), %eax
addl %ecx, %eax
sarl %eax
movl %eax, -0xdc(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl -0x60(%rbp), %eax
addl $0x1, %eax
shll $0x2, %eax
movl %eax, -0x98(%rbp)
movl $0x0, -0x80(%rbp)
cmpl $0x8, -0x80(%rbp)
jge 0x60a5a
movl -0x80(%rbp), %eax
movq %rax, -0x168(%rbp)
subq $0x7, %rax
ja 0x6012b
movq -0x168(%rbp), %rax
leaq 0x52d9f(%rip), %rcx     # 0xb2d50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, -0xe0(%rbp)
movl $0x0, -0xe4(%rbp)
movl $0x1, -0xf0(%rbp)
movl $0x1, -0xf4(%rbp)
jmp 0x6012b
movl -0x60(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe0(%rbp)
movl $0x0, -0xe4(%rbp)
movl $0xffffffff, -0xf0(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0xf4(%rbp)
jmp 0x6012b
movl $0x0, -0xe0(%rbp)
movl -0x64(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe4(%rbp)
movl $0x1, -0xf0(%rbp)
movl $0xffffffff, -0xf4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6012b
movl -0x60(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe0(%rbp)
movl -0x64(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe4(%rbp)
movl $0xffffffff, -0xf0(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0xf4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6012b
movl $0x0, -0xe0(%rbp)
movl -0xfc(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl $0x1, -0xf0(%rbp)
movl $0x2, -0xf4(%rbp)
jmp 0x6012b
movl -0x60(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe0(%rbp)
movl -0xfc(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl $0xffffffff, -0xf0(%rbp) # imm = 0xFFFFFFFF
movl $0x2, -0xf4(%rbp)
jmp 0x6012b
movl -0xf8(%rbp), %eax
movl %eax, -0xe0(%rbp)
movl $0x0, -0xe4(%rbp)
movl $0x2, -0xf0(%rbp)
movl $0x1, -0xf4(%rbp)
jmp 0x6012b
movl -0xf8(%rbp), %eax
movl %eax, -0xe0(%rbp)
movl -0x64(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe4(%rbp)
movl $0x2, -0xf0(%rbp)
movl $0xffffffff, -0xf4(%rbp) # imm = 0xFFFFFFFF
movl -0xf8(%rbp), %eax
movl %eax, -0xe8(%rbp)
movl -0xfc(%rbp), %eax
movl %eax, -0xec(%rbp)
cmpl $0x4, -0x80(%rbp)
jge 0x601be
cmpl $0x0, -0xf0(%rbp)
jge 0x60165
movl -0xe8(%rbp), %eax
cmpl -0xe0(%rbp), %eax
jl 0x60165
jmp 0x60a4c
cmpl $0x0, -0xf0(%rbp)
jle 0x60181
movl -0xe8(%rbp), %eax
cmpl -0xe0(%rbp), %eax
jg 0x60181
jmp 0x60a4c
cmpl $0x0, -0xf4(%rbp)
jge 0x6019d
movl -0xec(%rbp), %eax
cmpl -0xe4(%rbp), %eax
jl 0x6019d
jmp 0x60a4c
cmpl $0x0, -0xf4(%rbp)
jle 0x601b9
movl -0xec(%rbp), %eax
cmpl -0xe4(%rbp), %eax
jg 0x601b9
jmp 0x60a4c
jmp 0x60252
cmpl $0x0, -0xf0(%rbp)
jge 0x601da
movl -0xe8(%rbp), %eax
cmpl -0xe0(%rbp), %eax
jle 0x601da
jmp 0x60a4c
cmpl $0x0, -0xf0(%rbp)
jle 0x601f6
movl -0xe8(%rbp), %eax
cmpl -0xe0(%rbp), %eax
jge 0x601f6
jmp 0x60a4c
cmpl $0x0, -0xf4(%rbp)
jge 0x60212
movl -0xec(%rbp), %eax
cmpl -0xe4(%rbp), %eax
jle 0x60212
jmp 0x60a4c
cmpl $0x0, -0xf4(%rbp)
jle 0x6022e
movl -0xec(%rbp), %eax
cmpl -0xe4(%rbp), %eax
jge 0x6022e
jmp 0x60a4c
movl -0xf0(%rbp), %eax
addl -0xe8(%rbp), %eax
movl %eax, -0xe8(%rbp)
movl -0xf4(%rbp), %eax
addl -0xec(%rbp), %eax
movl %eax, -0xec(%rbp)
movl -0xe4(%rbp), %edi
movl -0x54(%rbp), %eax
subl %eax, %edi
callq 0x60ee0
movl %eax, -0x174(%rbp)
movl -0xe0(%rbp), %edi
movl -0x50(%rbp), %eax
subl %eax, %edi
callq 0x60ee0
movl -0x174(%rbp), %ecx
movl %eax, %edx
movl %edx, %eax
leal (%rax,%rax,2), %edx
movl %ecx, %eax
movl %edx, %ecx
leal 0x4(%rax,%rcx), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq %rax, -0x170(%rbp)
subq $0x8, %rax
ja 0x6030f
movq -0x170(%rbp), %rax
leaq 0x52ac2(%rip), %rcx     # 0xb2d70
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, -0xbc(%rbp)
movl $0x0, -0xc0(%rbp)
jmp 0x6030f
movl -0x58(%rbp), %eax
movl %eax, -0xbc(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xc0(%rbp)
jmp 0x6030f
movl -0x5c(%rbp), %eax
movl %eax, -0xbc(%rbp)
xorl %eax, %eax
subl -0x58(%rbp), %eax
movl %eax, -0xc0(%rbp)
jmp 0x6030f
movl -0x58(%rbp), %eax
addl -0x5c(%rbp), %eax
movl %eax, -0xbc(%rbp)
movl -0x5c(%rbp), %eax
subl -0x58(%rbp), %eax
movl %eax, -0xc0(%rbp)
movl -0x1c(%rbp), %eax
movq %rax, -0x180(%rbp)
subq $0x8, %rax
ja 0x6038e
movq -0x180(%rbp), %rax
leaq 0x52a67(%rip), %rcx     # 0xb2d94
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, -0xc8(%rbp)
movl $0x0, -0xcc(%rbp)
jmp 0x6038e
movl -0x58(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xcc(%rbp)
jmp 0x6038e
movl -0x5c(%rbp), %eax
movl %eax, -0xc8(%rbp)
xorl %eax, %eax
subl -0x58(%rbp), %eax
movl %eax, -0xcc(%rbp)
jmp 0x6038e
movl -0x58(%rbp), %eax
addl -0x5c(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0x5c(%rbp), %eax
subl -0x58(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xe0(%rbp), %eax
cmpl -0x50(%rbp), %eax
setl %al
andb $0x1, %al
movzbl %al, %eax
addl $0x0, %eax
movslq %eax, %rcx
leaq 0x808e4(%rip), %rax     # 0xe0c90
movzbl (%rax,%rcx), %eax
movl -0xe4(%rbp), %ecx
cmpl -0x54(%rbp), %ecx
setl %cl
andb $0x1, %cl
movzbl %cl, %ecx
addl $0x2, %ecx
movslq %ecx, %rdx
leaq 0x808c1(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
addl %ecx, %eax
movb %al, -0x129(%rbp)
movzbl -0x129(%rbp), %eax
addl $0x10, %eax
movb %al, -0x12a(%rbp)
movzbl -0x129(%rbp), %eax
addl $0x20, %eax
movb %al, -0x12b(%rbp)
cmpl $0x0, -0xf4(%rbp)
jle 0x60423
movl -0x58(%rbp), %eax
movl %eax, -0x100(%rbp)
movl -0x5c(%rbp), %edi
movl 0x3ab482(%rip), %esi    # 0x40b898
callq 0x39010
movl %eax, -0x104(%rbp)
jmp 0x60448
xorl %eax, %eax
subl -0x58(%rbp), %eax
movl %eax, -0x100(%rbp)
movl -0x5c(%rbp), %edi
movl 0x3ab461(%rip), %esi    # 0x40b898
callq 0x39010
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
movl %eax, -0x104(%rbp)
movl -0xc8(%rbp), %edi
subl -0xbc(%rbp), %edi
movl 0x3ab43e(%rip), %esi    # 0x40b898
callq 0x39010
movl %eax, -0x3c(%rbp)
movl -0xbc(%rbp), %edi
movl 0x3ab42a(%rip), %esi    # 0x40b898
callq 0x39010
movl %eax, -0xbc(%rbp)
movl -0x84(%rbp), %eax
movslq -0xe4(%rbp), %rdx
leaq 0x5411a3(%rip), %rcx    # 0x5a1630
addl (%rcx,%rdx,4), %eax
movl %eax, -0x34(%rbp)
movl -0x88(%rbp), %eax
movslq -0xe4(%rbp), %rdx
leaq 0x540d79(%rip), %rcx    # 0x5a1220
subl (%rcx,%rdx,4), %eax
movl %eax, -0x38(%rbp)
movl -0xe0(%rbp), %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0xe8(%rbp), %eax
je 0x60a4a
movq -0x128(%rbp), %rax
movq -0xa0(%rbp), %rcx
movslq -0x28(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
movq -0x128(%rbp), %rax
movl -0x28(%rbp), %ecx
movl -0x64(%rbp), %edx
addl $0x1, %edx
imull %edx, %ecx
shll %ecx
addl -0x98(%rbp), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x110(%rbp)
movl -0x34(%rbp), %edi
movslq -0x28(%rbp), %rcx
leaq 0x540d05(%rip), %rax    # 0x5a1220
addl (%rax,%rcx,4), %edi
movl 0x3ab374(%rip), %esi    # 0x40b898
callq 0x39010
addl -0xbc(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0x38(%rbp), %eax
movslq -0x28(%rbp), %rdx
leaq 0x5410ed(%rip), %rcx    # 0x5a1630
addl (%rcx,%rdx,4), %eax
movl %eax, -0xb8(%rbp)
movl -0xe4(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0xec(%rbp), %eax
je 0x60a37
movl -0xb8(%rbp), %eax
cmpl 0x46fad0(%rip), %eax    # 0x4d0040
jle 0x60580
movl -0xb8(%rbp), %eax
cmpl 0x46fac6(%rip), %eax    # 0x4d0044
jl 0x60585
jmp 0x60a00
movq -0x110(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movswq (%rax,%rcx,2), %rax
addq -0xa8(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x110(%rbp), %rax
movl -0x2c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movswq (%rax,%rcx,2), %rax
addq -0xa8(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x118(%rbp), %rax
cmpq -0x120(%rbp), %rax
jne 0x605db
jmp 0x60a00
movl -0xb4(%rbp), %edi
sarl $0x3, %edi
movl -0xb8(%rbp), %eax
addl -0xc0(%rbp), %eax
sarl $0xe, %eax
movslq %eax, %rcx
leaq 0x42fa43(%rip), %rax    # 0x490040
movl (%rax,%rcx,4), %esi
callq 0x5ae40
addl 0x3f3099(%rip), %eax    # 0x4536a4
movl %eax, -0xac(%rbp)
cmpl $0x0, -0xac(%rbp)
jge 0x60624
movl $0x0, -0xac(%rbp)
movl -0xb4(%rbp), %edi
addl -0x3c(%rbp), %edi
sarl $0x3, %edi
movl -0xb8(%rbp), %eax
addl -0xcc(%rbp), %eax
sarl $0xe, %eax
movslq %eax, %rcx
leaq 0x42f9f7(%rip), %rax    # 0x490040
movl (%rax,%rcx,4), %esi
callq 0x5ae40
addl 0x3f304d(%rip), %eax    # 0x4536a4
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl 0x806b7(%rip), %eax     # 0xe0d20
jle 0x60677
movl 0x806af(%rip), %eax     # 0xe0d20
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0xac(%rbp), %eax
jg 0x6068a
jmp 0x60a00
movl -0xac(%rbp), %ecx
movl -0xb0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xb0(%rbp)
movl -0xb8(%rbp), %eax
subl -0xdc(%rbp), %eax
sarl $0xe, %eax
movslq %eax, %rcx
leaq 0x42f989(%rip), %rax    # 0x490040
movl (%rax,%rcx,4), %eax
movl %eax, -0x90(%rbp)
movl -0xb8(%rbp), %eax
addl -0xdc(%rbp), %eax
sarl $0xe, %eax
movslq %eax, %rcx
leaq 0x42f967(%rip), %rax    # 0x490040
movl (%rax,%rcx,4), %eax
movl %eax, -0x94(%rbp)
movq -0x118(%rbp), %rax
cmpq -0x120(%rbp), %rax
jae 0x609fe
movq -0x118(%rbp), %rax
movzbl (%rax), %eax
shll $0xf, %eax
subl -0x30(%rbp), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jge 0x607bd
movl -0x20(%rbp), %eax
movq -0x118(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0xf, %ecx
addl %ecx, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jge 0x60769
movq -0x118(%rbp), %rax
movzbl 0x2(%rax), %eax
movzbl -0x12b(%rbp), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x6074d
jmp 0x609d7
movl -0x94(%rbp), %edi
movl -0x24(%rbp), %esi
callq 0x5ae40
addl 0x257e9b(%rip), %eax    # 0x2b85fc
movl %eax, -0xd0(%rbp)
jmp 0x607a1
movq -0x118(%rbp), %rax
movzbl 0x2(%rax), %eax
movzbl -0x129(%rbp), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x60787
jmp 0x609d7
movl -0x90(%rbp), %edi
movl -0x24(%rbp), %esi
callq 0x5ae40
addl 0x257e61(%rip), %eax    # 0x2b85fc
movl %eax, -0xd0(%rbp)
movl -0x90(%rbp), %edi
movl -0x20(%rbp), %esi
callq 0x5ae40
addl 0x257e47(%rip), %eax    # 0x2b85fc
movl %eax, -0xc4(%rbp)
jmp 0x6081f
movq -0x118(%rbp), %rax
movzbl 0x2(%rax), %eax
movzbl -0x12a(%rbp), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x607db
jmp 0x609d7
movl -0x94(%rbp), %edi
movl -0x20(%rbp), %esi
callq 0x5ae40
addl 0x257e0d(%rip), %eax    # 0x2b85fc
movl %eax, -0xc4(%rbp)
movl -0x90(%rbp), %edi
movl -0x20(%rbp), %esi
movq -0x118(%rbp), %rax
movzbl 0x1(%rax), %eax
shll $0xf, %eax
addl %eax, %esi
callq 0x5ae40
addl 0x257de3(%rip), %eax    # 0x2b85fc
movl %eax, -0xd0(%rbp)
movq -0x118(%rbp), %rax
movzbl 0x1(%rax), %eax
cmpl $0x1, %eax
jne 0x60872
movl $0x0, -0xd4(%rbp)
movl $0x0, -0xd8(%rbp)
movl -0xc4(%rbp), %eax
movq 0x28(%rbp), %rcx
movslq -0xac(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x6086d
movq 0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0xc4(%rbp)
jmp 0x60944
movl -0xd0(%rbp), %eax
subl -0xc4(%rbp), %eax
cmpl $0x400, %eax            # imm = 0x400
jl 0x608a9
movq -0x118(%rbp), %rax
movzbl 0x1(%rax), %edi
movl -0xd0(%rbp), %esi
subl -0xc4(%rbp), %esi
callq 0x4c7c0
movl %eax, -0xd8(%rbp)
jmp 0x608e9
movl -0xd0(%rbp), %eax
cmpl -0xc4(%rbp), %eax
jle 0x608e7
movl -0xd0(%rbp), %eax
subl -0xc4(%rbp), %eax
movslq %eax, %rcx
leaq 0x339d63(%rip), %rax    # 0x39a630
movl (%rax,%rcx,4), %eax
movq -0x118(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
imull %ecx, %eax
sarl $0x8, %eax
movl %eax, -0xd8(%rbp)
jmp 0x608e9
movl -0xc4(%rbp), %eax
movq 0x28(%rbp), %rcx
movslq -0xac(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x60938
movl -0xd8(%rbp), %eax
movq 0x28(%rbp), %rcx
movslq -0xac(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
subl -0xc4(%rbp), %ecx
imull %ecx, %eax
movl %eax, -0xd4(%rbp)
movq 0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0xc4(%rbp)
jmp 0x60942
movl $0x0, -0xd4(%rbp)
jmp 0x60944
movl -0xd0(%rbp), %eax
movq 0x30(%rbp), %rcx
movslq -0xac(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jle 0x6096e
movq 0x30(%rbp), %rax
movslq -0xac(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0xd0(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xd0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xd0(%rbp)
cmpl $0x0, -0xd0(%rbp)
jg 0x6098d
jmp 0x609d7
movl -0xb0(%rbp), %edi
movl -0xd4(%rbp), %esi
movl -0xd0(%rbp), %edx
movl -0xd8(%rbp), %ecx
movq -0x118(%rbp), %r8
addq $0x3, %r8
movslq -0xc4(%rbp), %r9
leaq 0x3f10c2(%rip), %rax    # 0x451a80
movl (%rax,%r9,4), %eax
addl -0xac(%rbp), %eax
movslq %eax, %r9
addq 0x3b1b1e(%rip), %r9     # 0x4124f0
callq 0xa8270
movq -0x118(%rbp), %rax
movzbl 0x1(%rax), %ecx
addl $0x3, %ecx
movq -0x118(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x118(%rbp)
jmp 0x606e2
jmp 0x60a00
movl -0xf4(%rbp), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x104(%rbp), %eax
addl -0xb4(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0x100(%rbp), %ecx
movl -0xb8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xb8(%rbp)
jmp 0x60555
jmp 0x60a39
movl -0xf0(%rbp), %eax
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x604b6
jmp 0x60a4c
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0x5ff85
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
nopw %cs:(%rax,%rax)