// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/build.c
// Function: draw2dscreen
void draw2dscreen(int posxe, int posye, short ange, int zoome, short gride)
{
	walltype *wal;
	int i, j, xp1, yp1, xp2, yp2;
	intptr_t templong;
	unsigned char col;

	if (qsetmode == 200) return;

	if (editstatus == 0)
	{
		faketimerhandler();
		clear2dscreen();

		faketimerhandler();
		draw2dgrid(posxe,posye,ange,zoome,gride);
	}

	faketimerhandler();
	for(i=numwalls-1,wal=&wall[i];i>=0;i--,wal--)
	{
		if (editstatus == 0)
		{
			if ((show2dwall[i>>3]&pow2char[i&7]) == 0) continue;
			j = wal->nextwall;
			if ((j >= 0) && (i > j))
				if ((show2dwall[j>>3]&pow2char[j&7]) > 0) continue;
		}
		else
		{
			j = wal->nextwall;
			if ((j >= 0) && (i > j)) continue;
		}

		if (j < 0)
		{
			col = 7;
			if (i == linehighlight) if (totalclock & 8) col += (2<<2);
		}
		else
		{
			col = 4;
			if ((wal->cstat&1) != 0) col = 5;
			if ((i == linehighlight) || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
				if (totalclock & 8) col += (2<<2);
		}

		xp1 = mulscale14(wal->x-posxe,zoome);
		yp1 = mulscale14(wal->y-posye,zoome);
		xp2 = mulscale14(wall[wal->point2].x-posxe,zoome);
		yp2 = mulscale14(wall[wal->point2].y-posye,zoome);

		if ((wal->cstat&64) > 0)
		{
			if (klabs(xp2-xp1) >= klabs(yp2-yp1))
			{
				drawline16(halfxdim16+xp1,midydim16+yp1+1,halfxdim16+xp2,midydim16+yp2+1,col);
				drawline16(halfxdim16+xp1,midydim16+yp1-1,halfxdim16+xp2,midydim16+yp2-1,col);
			}
			else
			{
				drawline16(halfxdim16+xp1+1,midydim16+yp1,halfxdim16+xp2+1,midydim16+yp2,col);
				drawline16(halfxdim16+xp1-1,midydim16+yp1,halfxdim16+xp2-1,midydim16+yp2,col);
			}
			col += 8;
		}
		drawline16(halfxdim16+xp1,midydim16+yp1,halfxdim16+xp2,midydim16+yp2,col);

		if ((zoome >= 256) && (editstatus == 1))
			if (((halfxdim16+xp1) >= 2) && ((halfxdim16+xp1) <= xdim-3))
				if (((midydim16+yp1) >= 2) && ((midydim16+yp1) <= ydim16-3))
				{
					col = 2;
					if (i == pointhighlight) {
						if (totalclock & 8) col += (2<<2);
					}
					else if ((highlightcnt > 0) && (editstatus == 1))
					{
						if (show2dwall[i>>3]&pow2char[i&7])
							if (totalclock & 8) col += (2<<2);
					}

					templong = ((midydim16+yp1)*bytesperline)+(halfxdim16+xp1)+frameplace;
					drawpixel((void *)(templong-2-(bytesperline<<1)), col);
					drawpixel((void *)(templong-1-(bytesperline<<1)), col);
					drawpixel((void *)(templong+0-(bytesperline<<1)), col);
					drawpixel((void *)(templong+1-(bytesperline<<1)), col);
					drawpixel((void *)(templong+2-(bytesperline<<1)), col);

					drawpixel((void *)(templong-2+(bytesperline<<1)), col);
					drawpixel((void *)(templong-1+(bytesperline<<1)), col);
					drawpixel((void *)(templong+0+(bytesperline<<1)), col);
					drawpixel((void *)(templong+1+(bytesperline<<1)), col);
					drawpixel((void *)(templong+2+(bytesperline<<1)), col);

					drawpixel((void *)(templong-2-bytesperline), col);
					drawpixel((void *)(templong-2+0), col);
					drawpixel((void *)(templong-2+bytesperline), col);

					drawpixel((void *)(templong+2-bytesperline), col);
					drawpixel((void *)(templong+2+0), col);
					drawpixel((void *)(templong+2+bytesperline), col);
				}
	}
	faketimerhandler();

	if ((zoome >= 256) || (editstatus == 0))
		for(i=0;i<numsectors;i++)
			for(j=headspritesect[i];j>=0;j=nextspritesect[j])
				if ((editstatus == 1) || (show2dsprite[j>>3]&pow2char[j&7]))
				{
					col = 3;
					if ((sprite[j].cstat&1) > 0) col = 5;
					if (editstatus == 1)
					{
						if (j+16384 == pointhighlight) {
							if (totalclock & 8) col += (2<<2);
						}
						else if ((highlightcnt > 0) && (editstatus == 1))
						{
							if (show2dsprite[j>>3]&pow2char[j&7])
								if (totalclock & 8) col += (2<<2);
						}
					}

					xp1 = mulscale14(sprite[j].x-posxe,zoome);
					yp1 = mulscale14(sprite[j].y-posye,zoome);
					if (((halfxdim16+xp1) >= 2) && ((halfxdim16+xp1) <= xdim-3))
						if (((midydim16+yp1) >= 2) && ((midydim16+yp1) <= ydim16-3))
						{
							templong = ((midydim16+yp1)*bytesperline)+(halfxdim16+xp1)+frameplace;
							drawpixel((void *)(templong-1-(bytesperline<<1)), col);
							drawpixel((void *)(templong+0-(bytesperline<<1)), col);
							drawpixel((void *)(templong+1-(bytesperline<<1)), col);

							drawpixel((void *)(templong-1+(bytesperline<<1)), col);
							drawpixel((void *)(templong+0+(bytesperline<<1)), col);
							drawpixel((void *)(templong+1+(bytesperline<<1)), col);

							drawpixel((void *)(templong-2-bytesperline), col);
							drawpixel((void *)(templong-2+0), col);
							drawpixel((void *)(templong-2+bytesperline), col);

							drawpixel((void *)(templong+2-bytesperline), col);
							drawpixel((void *)(templong+2+0), col);
							drawpixel((void *)(templong+2+bytesperline), col);

							drawpixel((void *)(templong+1+bytesperline), col);
							drawpixel((void *)(templong-1+bytesperline), col);
							drawpixel((void *)(templong+1-bytesperline), col);
							drawpixel((void *)(templong-1-bytesperline), col);

							if (showspriteextents && (sprite[j].cstat&(32|16))) {
								int np, p;
								int xoff, yoff, dax, day;
								int rxi[4], ryi[4];
								int clipx[4] = {0}, clipy[4] = {0};

								int tilenum = sprite[j].picnum;
								int ang = sprite[j].ang;
								int xrepeat = sprite[j].xrepeat, yrepeat = sprite[j].yrepeat;

								xoff = (int)((signed char)((picanm[tilenum]>>8)&255))+((int)sprite[j].xoffset);
								yoff = (int)((signed char)((picanm[tilenum]>>16)&255))+((int)sprite[j].yoffset);
								if ((sprite[j].cstat&4) > 0) xoff = -xoff;
								if ((sprite[j].cstat&8) > 0) yoff = -yoff;

								if (sprite[j].cstat & 32) {
									// Floor sprite
									int cosang = sintable[(ang+512)&2047];
									int sinang = sintable[(ang)&2047];

									dax = ((tilesizx[tilenum]>>1)+xoff)*xrepeat;
									day = ((tilesizy[tilenum]>>1)+yoff)*yrepeat;

									rxi[0] = dmulscale16(sinang,dax,cosang,day);
									ryi[0] = dmulscale16(sinang,day,-cosang,dax);
									rxi[1] = rxi[0] - mulscale16(sinang,tilesizx[tilenum]*xrepeat);
									ryi[1] = ryi[0] + mulscale16(cosang,tilesizx[tilenum]*xrepeat);
									rxi[2] = rxi[1] - mulscale16(cosang,tilesizy[tilenum]*yrepeat);
									rxi[3] = rxi[0] - mulscale16(cosang,tilesizy[tilenum]*yrepeat);
									ryi[2] = ryi[1] - mulscale16(sinang,tilesizy[tilenum]*yrepeat);
									ryi[3] = ryi[0] - mulscale16(sinang,tilesizy[tilenum]*yrepeat);
									np = 4;
								} else {
									// Wall sprite
									dax = sintable[ang&2047]*xrepeat;
									day = sintable[(ang+1536)&2047]*xrepeat;
									rxi[2] = rxi[1] = -mulscale16(dax,(tilesizx[tilenum]>>1)+xoff);
									rxi[3] = rxi[0] = rxi[1] + mulscale16(dax,tilesizx[tilenum]);
									ryi[2] = ryi[1] = -mulscale16(day,(tilesizx[tilenum]>>1)+xoff);
									ryi[3] = ryi[0] = ryi[1] + mulscale16(day,tilesizx[tilenum]);
									np = 1;
								}

								if (showspriteextents >= 2) {
									// Apply clipping boundary.
									dax = mulscale14(sintable[(ang-256+512)&2047],kenswalldist);
									day = mulscale14(sintable[(ang-256)&2047],kenswalldist);
									clipx[1] = rxi[1]-day; clipy[1] = ryi[1]+dax;
									clipx[0] = rxi[0]+dax; clipy[0] = ryi[0]+day;
									clipx[3] = rxi[3]+day; clipy[3] = ryi[3]-dax;
									clipx[2] = rxi[2]-dax; clipy[2] = ryi[2]-day;
								}

								// Correct for zoom.
								for (p=0;p<4;p++) {
									rxi[p] = mulscale14(rxi[p],zoome);
									ryi[p] = mulscale14(ryi[p],zoome);
									clipx[p] = mulscale14(clipx[p],zoome);
									clipy[p] = mulscale14(clipy[p],zoome);
								}

								drawlinepat = 0x99999999;
								for (p=0;p<np;p++) {
									drawline16(halfxdim16 + xp1 + rxi[p], midydim16 + yp1 + ryi[p],
										halfxdim16 + xp1 + rxi[(p+1)&3], midydim16 + yp1 + ryi[(p+1)&3],
										col);
								}
								if (showspriteextents >= 2) {
									drawlinepat = 0x11111111;
									for (p=0;p<4;p++) {
										drawline16(halfxdim16 + xp1 + clipx[p], midydim16 + yp1 + clipy[p],
											halfxdim16 + xp1 + clipx[(p+1)&3], midydim16 + yp1 + clipy[(p+1)&3],
											col);
									}
								}
								drawlinepat = 0xffffffff;
							}

							xp2 = mulscale11(sintable[(sprite[j].ang+2560)&2047],zoome) / 768;
							yp2 = mulscale11(sintable[(sprite[j].ang+2048)&2047],zoome) / 768;

							if ((sprite[j].cstat&256) > 0)
							{
								if (((sprite[j].ang+256)&512) == 0)
								{
									drawline16(halfxdim16+xp1,midydim16+yp1-1,halfxdim16+xp1+xp2,midydim16+yp1+yp2-1,col);
									drawline16(halfxdim16+xp1,midydim16+yp1+1,halfxdim16+xp1+xp2,midydim16+yp1+yp2+1,col);
								}
								else
								{
									drawline16(halfxdim16+xp1-1,midydim16+yp1,halfxdim16+xp1+xp2-1,midydim16+yp1+yp2,col);
									drawline16(halfxdim16+xp1+1,midydim16+yp1,halfxdim16+xp1+xp2+1,midydim16+yp1+yp2,col);
								}
								col += 8;
							}
							drawline16(halfxdim16+xp1,midydim16+yp1,halfxdim16+xp1+xp2,midydim16+yp1+yp2,col);
						}
				}

	faketimerhandler();
	xp1 = mulscale11(sintable[(ange+2560)&2047],zoome) / 768; //Draw white arrow
	yp1 = mulscale11(sintable[(ange+2048)&2047],zoome) / 768;
	drawline16(halfxdim16+xp1,midydim16+yp1,halfxdim16-xp1,midydim16-yp1,15);
	drawline16(halfxdim16+xp1,midydim16+yp1,halfxdim16+yp1,midydim16-xp1,15);
	drawline16(halfxdim16+xp1,midydim16+yp1,halfxdim16-yp1,midydim16+xp1,15);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movw %r8w, %ax
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movw %dx, -0xa(%rbp)
movl %ecx, -0x10(%rbp)
movw %ax, -0x12(%rbp)
leaq 0x1cf511(%rip), %rax    # 0x1f5588
cmpl $0xc8, (%rax)
jne 0x26084
jmp 0x27603
leaq 0x1cf511(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x0, %eax
jne 0x260bc
callq 0xc220
callq 0x25d20
callq 0xc220
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movw -0xa(%rbp), %ax
movl -0x10(%rbp), %ecx
movswl %ax, %edx
movswl -0x12(%rbp), %r8d
callq 0x25d50
callq 0xc220
leaq 0x42b900(%rip), %rax    # 0x4519c8
movswl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movslq -0x24(%rbp), %rcx
leaq 0x1cf4d4(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x24(%rbp)
jl 0x26771
leaq 0x1cf4a4(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x0, %eax
jne 0x26189
movl -0x24(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x3c272c(%rip), %rax    # 0x3e8840
movzbl (%rax,%rcx), %eax
movl -0x24(%rbp), %ecx
andl $0x7, %ecx
movslq %ecx, %rdx
leaq 0xbab68(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x26138
jmp 0x26757
movq -0x20(%rbp), %rax
movswl 0xa(%rax), %eax
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x28(%rbp)
jl 0x26187
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jle 0x26187
movl -0x28(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x3c26df(%rip), %rax    # 0x3e8840
movzbl (%rax,%rcx), %eax
movl -0x28(%rbp), %ecx
andl $0x7, %ecx
movslq %ecx, %rdx
leaq 0xbab1b(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jle 0x26185
jmp 0x26757
jmp 0x26187
jmp 0x261a9
movq -0x20(%rbp), %rax
movswl 0xa(%rax), %eax
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x28(%rbp)
jl 0x261a7
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jle 0x261a7
jmp 0x26757
jmp 0x261a9
cmpl $0x0, -0x28(%rbp)
jge 0x261e3
movb $0x7, -0x41(%rbp)
movl -0x24(%rbp), %eax
leaq 0x3c2e87(%rip), %rcx    # 0x3e9044
movswl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x261e1
leaq 0x3c2e7d(%rip), %rax    # 0x3e9048
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x261df
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
jmp 0x261e1
jmp 0x2625e
movb $0x4, -0x41(%rbp)
movq -0x20(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x261fb
movb $0x5, -0x41(%rbp)
movl -0x24(%rbp), %eax
leaq 0x3c2e3f(%rip), %rcx    # 0x3e9044
movswl (%rcx), %ecx
cmpl %ecx, %eax
je 0x2623f
leaq 0x3c2e31(%rip), %rax    # 0x3e9044
movswl (%rax), %eax
cmpl $0x0, %eax
jl 0x2625c
movl -0x24(%rbp), %eax
leaq 0x3c2e1f(%rip), %rcx    # 0x3e9044
movswq (%rcx), %rdx
leaq 0x1cf380(%rip), %rcx    # 0x1f55b0
shlq $0x5, %rdx
addq %rdx, %rcx
movswl 0xa(%rcx), %ecx
cmpl %ecx, %eax
jne 0x2625c
leaq 0x3c2e02(%rip), %rax    # 0x3e9048
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x2625a
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
jmp 0x2625c
jmp 0x2625e
movq -0x20(%rbp), %rax
movl (%rax), %edi
subl -0x4(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, -0x2c(%rbp)
movq -0x20(%rbp), %rax
movl 0x4(%rax), %edi
subl -0x8(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movswq 0x8(%rax), %rcx
leaq 0x1cf319(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %edi
subl -0x4(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, -0x34(%rbp)
movq -0x20(%rbp), %rax
movswq 0x8(%rax), %rcx
leaq 0x1cf2f2(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movl 0x4(%rax), %edi
subl -0x8(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x40, %eax
cmpl $0x0, %eax
jle 0x263ee
movl -0x34(%rbp), %edi
subl -0x2c(%rbp), %edi
callq 0x2b7f0
movl %eax, -0xbc(%rbp)
movl -0x38(%rbp), %edi
subl -0x30(%rbp), %edi
callq 0x2b7f0
movl %eax, %ecx
movl -0xbc(%rbp), %eax
cmpl %ecx, %eax
jl 0x2637c
movl 0x19060c(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x190607(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
addl $0x1, %esi
movl 0x1905f7(%rip), %edx    # 0x1b6924
addl -0x34(%rbp), %edx
movl 0x1905f2(%rip), %ecx    # 0x1b6928
addl -0x38(%rbp), %ecx
addl $0x1, %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movl 0x1905d8(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x1905d3(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
subl $0x1, %esi
movl 0x1905c3(%rip), %edx    # 0x1b6924
addl -0x34(%rbp), %edx
movl 0x1905be(%rip), %ecx    # 0x1b6928
addl -0x38(%rbp), %ecx
subl $0x1, %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
jmp 0x263e4
movl 0x1905a2(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
addl $0x1, %edi
movl 0x19059a(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x19058d(%rip), %edx    # 0x1b6924
addl -0x34(%rbp), %edx
addl $0x1, %edx
movl 0x190585(%rip), %ecx    # 0x1b6928
addl -0x38(%rbp), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movl 0x19056e(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
subl $0x1, %edi
movl 0x190566(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x190559(%rip), %edx    # 0x1b6924
addl -0x34(%rbp), %edx
subl $0x1, %edx
movl 0x190551(%rip), %ecx    # 0x1b6928
addl -0x38(%rbp), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
movl 0x190530(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x19052b(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x19051e(%rip), %edx    # 0x1b6924
addl -0x34(%rbp), %edx
movl 0x190519(%rip), %ecx    # 0x1b6928
addl -0x38(%rbp), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
cmpl $0x100, -0x10(%rbp)     # imm = 0x100
jl 0x26755
leaq 0x1cf16c(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x1, %eax
jne 0x26755
movl 0x1904e2(%rip), %eax    # 0x1b6924
addl -0x2c(%rbp), %eax
cmpl $0x2, %eax
jl 0x26753
movl 0x1904d0(%rip), %eax    # 0x1b6924
addl -0x2c(%rbp), %eax
leaq 0x41c8ee(%rip), %rcx    # 0x442d4c
movl (%rcx), %ecx
subl $0x3, %ecx
cmpl %ecx, %eax
jg 0x26753
movl 0x1904b7(%rip), %eax    # 0x1b6928
addl -0x30(%rbp), %eax
cmpl $0x2, %eax
jl 0x26751
movl 0x1904a5(%rip), %eax    # 0x1b6928
addl -0x30(%rbp), %eax
movl 0x14403c(%rip), %ecx    # 0x16a4c8
subl $0x3, %ecx
cmpl %ecx, %eax
jg 0x26751
movb $0x2, -0x41(%rbp)
movl -0x24(%rbp), %eax
leaq 0x3c2b9d(%rip), %rcx    # 0x3e9042
movswl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x264c9
leaq 0x3c2b95(%rip), %rax    # 0x3e9048
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x264c7
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
jmp 0x26537
leaq 0x3c2b76(%rip), %rax    # 0x3e9046
movswl (%rax), %eax
cmpl $0x0, %eax
jle 0x26535
leaq 0x1cf0bd(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x1, %eax
jne 0x26535
movl -0x24(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x3c2349(%rip), %rax    # 0x3e8840
movzbl (%rax,%rcx), %eax
movl -0x24(%rbp), %ecx
andl $0x7, %ecx
movslq %ecx, %rdx
leaq 0xba785(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x26533
leaq 0x3c2b2b(%rip), %rax    # 0x3e9048
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x26531
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
jmp 0x26533
jmp 0x26535
jmp 0x26537
movl 0x1903eb(%rip), %eax    # 0x1b6928
addl -0x30(%rbp), %eax
leaq 0x19489d(%rip), %rcx    # 0x1bade4
imull (%rcx), %eax
movl 0x1903d4(%rip), %ecx    # 0x1b6924
addl -0x2c(%rbp), %ecx
addl %ecx, %eax
cltq
leaq 0x1946b2(%rip), %rcx    # 0x1bac10
addq (%rcx), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
leaq 0x194870(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x1, %rdi
leaq 0x19484f(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x0, %rdi
leaq 0x19482e(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x1, %rdi
leaq 0x19480d(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
leaq 0x1947ec(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
leaq 0x1947cb(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x1, %rdi
leaq 0x1947aa(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x0, %rdi
leaq 0x194789(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x1, %rdi
leaq 0x194768(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
leaq 0x194747(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
leaq 0x194726(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
addq $0x0, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
leaq 0x1946f3(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
leaq 0x1946d5(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
addq $0x0, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
leaq 0x1946a2(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
jmp 0x26753
jmp 0x26755
jmp 0x26757
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
movq -0x20(%rbp), %rax
addq $-0x20, %rax
movq %rax, -0x20(%rbp)
jmp 0x260e7
callq 0xc220
cmpl $0x100, -0x10(%rbp)     # imm = 0x100
jge 0x26792
leaq 0x1cee16(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x0, %eax
jne 0x27513
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
leaq 0x3e631d(%rip), %rcx    # 0x40cac0
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x27511
movslq -0x24(%rbp), %rcx
leaq 0x3c28b7(%rip), %rax    # 0x3e9070
movswl (%rax,%rcx,2), %eax
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x28(%rbp)
jl 0x27501
leaq 0x1cedcb(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x1, %eax
je 0x2680c
movl -0x28(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x3c1857(%rip), %rax    # 0x3e8040
movzbl (%rax,%rcx), %eax
movl -0x28(%rbp), %ecx
andl $0x7, %ecx
movslq %ecx, %rdx
leaq 0xba493(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x274e8
movb $0x3, -0x41(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292ff5(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xc(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jle 0x26832
movb $0x5, -0x41(%rbp)
leaq 0x1ced63(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x1, %eax
jne 0x268e8
movl -0x28(%rbp), %eax
addl $0x4000, %eax           # imm = 0x4000
leaq 0x3c27ee(%rip), %rcx    # 0x3e9042
movswl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x26878
leaq 0x3c27e6(%rip), %rax    # 0x3e9048
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x26876
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
jmp 0x268e6
leaq 0x3c27c7(%rip), %rax    # 0x3e9046
movswl (%rax), %eax
cmpl $0x0, %eax
jle 0x268e4
leaq 0x1ced0e(%rip), %rax    # 0x1f559c
movswl (%rax), %eax
cmpl $0x1, %eax
jne 0x268e4
movl -0x28(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x3c179a(%rip), %rax    # 0x3e8040
movzbl (%rax,%rcx), %eax
movl -0x28(%rbp), %ecx
andl $0x7, %ecx
movslq %ecx, %rdx
leaq 0xba3d6(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x268e2
leaq 0x3c277c(%rip), %rax    # 0x3e9048
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x268e0
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
jmp 0x268e2
jmp 0x268e4
jmp 0x268e6
jmp 0x268e8
movslq -0x28(%rbp), %rcx
leaq 0x292f1d(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %edi
subl -0x4(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, -0x2c(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292efb(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %edi
subl -0x8(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, -0x30(%rbp)
movl 0x18fff1(%rip), %eax    # 0x1b6924
addl -0x2c(%rbp), %eax
cmpl $0x2, %eax
jl 0x274e6
movl 0x18ffdf(%rip), %eax    # 0x1b6924
addl -0x2c(%rbp), %eax
leaq 0x41c3fd(%rip), %rcx    # 0x442d4c
movl (%rcx), %ecx
subl $0x3, %ecx
cmpl %ecx, %eax
jg 0x274e6
movl 0x18ffc6(%rip), %eax    # 0x1b6928
addl -0x30(%rbp), %eax
cmpl $0x2, %eax
jl 0x274e4
movl 0x18ffb4(%rip), %eax    # 0x1b6928
addl -0x30(%rbp), %eax
movl 0x143b4b(%rip), %ecx    # 0x16a4c8
subl $0x3, %ecx
cmpl %ecx, %eax
jg 0x274e4
movl 0x18ff9a(%rip), %eax    # 0x1b6928
addl -0x30(%rbp), %eax
leaq 0x19444c(%rip), %rcx    # 0x1bade4
imull (%rcx), %eax
movl 0x18ff83(%rip), %ecx    # 0x1b6924
addl -0x2c(%rbp), %ecx
addl %ecx, %eax
cltq
leaq 0x194261(%rip), %rcx    # 0x1bac10
addq (%rcx), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
subq $0x1, %rdi
leaq 0x19441f(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x0, %rdi
leaq 0x1943fe(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x1, %rdi
leaq 0x1943dd(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x1, %rdi
leaq 0x1943bc(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x0, %rdi
leaq 0x19439b(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x1, %rdi
leaq 0x19437a(%rip), %rax    # 0x1bade4
movl (%rax), %eax
shll %eax
cltq
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
leaq 0x194359(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
addq $0x0, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x2, %rdi
leaq 0x194326(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
leaq 0x194308(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
addq $0x0, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x2, %rdi
leaq 0x1942d5(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x1, %rdi
leaq 0x1942b7(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x1, %rdi
leaq 0x194299(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
addq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
addq $0x1, %rdi
leaq 0x19427b(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movq -0x40(%rbp), %rdi
subq $0x1, %rdi
leaq 0x19425d(%rip), %rax    # 0x1bade4
movslq (%rax), %rax
subq %rax, %rdi
movsbl -0x41(%rbp), %esi
callq 0x2bbc0
movswl 0x1434eb(%rip), %eax    # 0x16a088
cmpl $0x0, %eax
je 0x272f1
movslq -0x28(%rbp), %rcx
leaq 0x292c5f(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xc(%rax), %eax
andl $0x30, %eax
cmpl $0x0, %eax
je 0x272f1
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x62d0
leaq -0xa0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x62d0
movslq -0x28(%rbp), %rcx
leaq 0x292c17(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xe(%rax), %eax
movl %eax, -0xa4(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292bfb(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0x1c(%rax), %eax
movl %eax, -0xa8(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292bdf(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movzbl 0x14(%rax), %eax
movl %eax, -0xac(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292bc3(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movzbl 0x15(%rax), %eax
movl %eax, -0xb0(%rbp)
movslq -0xa4(%rbp), %rcx
leaq 0x250954(%rip), %rax    # 0x2775c0
movl (%rax,%rcx,4), %eax
sarl $0x8, %eax
andl $0xff, %eax
movsbl %al, %eax
movslq -0x28(%rbp), %rdx
leaq 0x292b8b(%rip), %rcx    # 0x2b9810
imulq $0x2c, %rdx, %rdx
addq %rdx, %rcx
movsbl 0x16(%rcx), %ecx
addl %ecx, %eax
movl %eax, -0x50(%rbp)
movslq -0xa4(%rbp), %rcx
leaq 0x25091d(%rip), %rax    # 0x2775c0
movl (%rax,%rcx,4), %eax
sarl $0x10, %eax
andl $0xff, %eax
movsbl %al, %eax
movslq -0x28(%rbp), %rdx
leaq 0x292b54(%rip), %rcx    # 0x2b9810
imulq $0x2c, %rdx, %rdx
addq %rdx, %rcx
movsbl 0x17(%rcx), %ecx
addl %ecx, %eax
movl %eax, -0x54(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292b39(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xc(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jle 0x26cf2
xorl %eax, %eax
subl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292b13(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xc(%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jle 0x26d18
xorl %eax, %eax
subl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292aed(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xc(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x26f5d
movl -0xa8(%rbp), %eax
addl $0x200, %eax            # imm = 0x200
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4b5c(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
movl %eax, -0xb4(%rbp)
movl -0xa8(%rbp), %eax
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4b3d(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
movl %eax, -0xb8(%rbp)
movslq -0xa4(%rbp), %rcx
leaq 0x423ff5(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %eax
sarl %eax
addl -0x50(%rbp), %eax
imull -0xac(%rbp), %eax
movl %eax, -0x58(%rbp)
movslq -0xa4(%rbp), %rcx
leaq 0x415794(%rip), %rax    # 0x43c540
movswl (%rax,%rcx,2), %eax
sarl %eax
addl -0x54(%rbp), %eax
imull -0xb0(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0xb8(%rbp), %edi
movl -0x58(%rbp), %esi
movl -0xb4(%rbp), %edx
movl -0x5c(%rbp), %ecx
callq 0x2c030
movl %eax, -0x70(%rbp)
movl -0xb8(%rbp), %edi
movl -0x5c(%rbp), %esi
xorl %edx, %edx
subl -0xb4(%rbp), %edx
movl -0x58(%rbp), %ecx
callq 0x2c030
movl %eax, -0x80(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0xd4(%rbp)
movl -0xb8(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x423f6e(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %esi
imull -0xac(%rbp), %esi
callq 0x23510
movl %eax, %ecx
movl -0xd4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x6c(%rbp)
movl -0x80(%rbp), %eax
movl %eax, -0xd0(%rbp)
movl -0xb4(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x423f34(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %esi
imull -0xac(%rbp), %esi
callq 0x23510
movl %eax, %ecx
movl -0xd0(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x6c(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xb4(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x4156ba(%rip), %rax    # 0x43c540
movswl (%rax,%rcx,2), %esi
imull -0xb0(%rbp), %esi
callq 0x23510
movl %eax, %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x68(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xb4(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x415680(%rip), %rax    # 0x43c540
movswl (%rax,%rcx,2), %esi
imull -0xb0(%rbp), %esi
callq 0x23510
movl %eax, %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x7c(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xb8(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x415646(%rip), %rax    # 0x43c540
movswl (%rax,%rcx,2), %esi
imull -0xb0(%rbp), %esi
callq 0x23510
movl %eax, %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x78(%rbp)
movl -0x80(%rbp), %eax
movl %eax, -0xc0(%rbp)
movl -0xb8(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x41560c(%rip), %rax    # 0x43c540
movswl (%rax,%rcx,2), %esi
imull -0xb0(%rbp), %esi
callq 0x23510
movl %eax, %ecx
movl -0xc0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x74(%rbp)
movl $0x4, -0x48(%rbp)
jmp 0x2706b
movl -0xa8(%rbp), %eax
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e493e(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
imull -0xac(%rbp), %eax
movl %eax, -0x58(%rbp)
movl -0xa8(%rbp), %eax
addl $0x600, %eax            # imm = 0x600
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4916(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %eax
imull -0xac(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x58(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x423dc7(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %esi
sarl %esi
addl -0x50(%rbp), %esi
callq 0x23510
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
movl %eax, -0x6c(%rbp)
movl %eax, -0x68(%rbp)
movl -0x6c(%rbp), %eax
movl %eax, -0xdc(%rbp)
movl -0x58(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x423d93(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %esi
callq 0x23510
movl %eax, %ecx
movl -0xdc(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x70(%rbp)
movl %eax, -0x64(%rbp)
movl -0x5c(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x423d69(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %esi
sarl %esi
addl -0x50(%rbp), %esi
callq 0x23510
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl %eax, -0x78(%rbp)
movl -0x7c(%rbp), %eax
movl %eax, -0xd8(%rbp)
movl -0x5c(%rbp), %edi
movslq -0xa4(%rbp), %rcx
leaq 0x423d35(%rip), %rax    # 0x44ad80
movswl (%rax,%rcx,2), %esi
callq 0x23510
movl %eax, %ecx
movl -0xd8(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x80(%rbp)
movl %eax, -0x74(%rbp)
movl $0x1, -0x48(%rbp)
movswl 0x143016(%rip), %eax    # 0x16a088
cmpl $0x2, %eax
jl 0x27138
movl -0xa8(%rbp), %eax
subl $0x100, %eax            # imm = 0x100
addl $0x200, %eax            # imm = 0x200
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4816(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %edi
movl 0xb8ef4(%rip), %esi     # 0xdff98
callq 0x26010
movl %eax, -0x58(%rbp)
movl -0xa8(%rbp), %eax
subl $0x100, %eax            # imm = 0x100
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e47ea(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %edi
movl 0xb8ec8(%rip), %esi     # 0xdff98
callq 0x26010
movl %eax, -0x5c(%rbp)
movl -0x6c(%rbp), %eax
subl -0x5c(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x7c(%rbp), %eax
addl -0x58(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0x70(%rbp), %eax
addl -0x58(%rbp), %eax
movl %eax, -0x90(%rbp)
movl -0x80(%rbp), %eax
addl -0x5c(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0x64(%rbp), %eax
addl -0x5c(%rbp), %eax
movl %eax, -0x84(%rbp)
movl -0x74(%rbp), %eax
subl -0x58(%rbp), %eax
movl %eax, -0x94(%rbp)
movl -0x68(%rbp), %eax
subl -0x58(%rbp), %eax
movl %eax, -0x88(%rbp)
movl -0x78(%rbp), %eax
subl -0x5c(%rbp), %eax
movl %eax, -0x98(%rbp)
movl $0x0, -0x4c(%rbp)
cmpl $0x4, -0x4c(%rbp)
jge 0x271cb
movslq -0x4c(%rbp), %rax
movl -0x70(%rbp,%rax,4), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, %ecx
movslq -0x4c(%rbp), %rax
movl %ecx, -0x70(%rbp,%rax,4)
movslq -0x4c(%rbp), %rax
movl -0x80(%rbp,%rax,4), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, %ecx
movslq -0x4c(%rbp), %rax
movl %ecx, -0x80(%rbp,%rax,4)
movslq -0x4c(%rbp), %rax
movl -0x90(%rbp,%rax,4), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, %ecx
movslq -0x4c(%rbp), %rax
movl %ecx, -0x90(%rbp,%rax,4)
movslq -0x4c(%rbp), %rax
movl -0xa0(%rbp,%rax,4), %edi
movl -0x10(%rbp), %esi
callq 0x26010
movl %eax, %ecx
movslq -0x4c(%rbp), %rax
movl %ecx, -0xa0(%rbp,%rax,4)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x2713f
movl $0x99999999, 0xb8de3(%rip) # imm = 0x99999999
movl $0x0, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl -0x48(%rbp), %eax
jge 0x2724b
movl 0x18f73a(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movslq -0x4c(%rbp), %rax
addl -0x70(%rbp,%rax,4), %edi
movl 0x18f72d(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movslq -0x4c(%rbp), %rax
addl -0x80(%rbp,%rax,4), %esi
movl 0x18f718(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
movl -0x4c(%rbp), %eax
addl $0x1, %eax
andl $0x3, %eax
cltq
addl -0x70(%rbp,%rax,4), %edx
movl 0x18f704(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
movl -0x4c(%rbp), %eax
addl $0x1, %eax
andl $0x3, %eax
cltq
addl -0x80(%rbp,%rax,4), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x271dc
movswl 0x142e36(%rip), %eax    # 0x16a088
cmpl $0x2, %eax
jl 0x272e7
movl $0x11111111, 0xb8d53(%rip) # imm = 0x11111111
movl $0x0, -0x4c(%rbp)
cmpl $0x4, -0x4c(%rbp)
jge 0x272e5
movl 0x18f6ac(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movslq -0x4c(%rbp), %rax
addl -0x90(%rbp,%rax,4), %edi
movl 0x18f69c(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movslq -0x4c(%rbp), %rax
addl -0xa0(%rbp,%rax,4), %esi
movl 0x18f684(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
movl -0x4c(%rbp), %eax
addl $0x1, %eax
andl $0x3, %eax
cltq
addl -0x90(%rbp,%rax,4), %edx
movl 0x18f66d(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
movl -0x4c(%rbp), %eax
addl $0x1, %eax
andl $0x3, %eax
cltq
addl -0xa0(%rbp,%rax,4), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x2726c
jmp 0x272e7
movl $0xffffffff, 0xb8cc7(%rip) # imm = 0xFFFFFFFF
movslq -0x28(%rbp), %rcx
leaq 0x292514(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0x1c(%rax), %eax
addl $0xa00, %eax            # imm = 0xA00
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4595(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %edi
movl -0x10(%rbp), %esi
callq 0x26030
movl $0x300, %ecx            # imm = 0x300
cltd
idivl %ecx
movl %eax, -0x34(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x2924d3(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0x1c(%rax), %eax
addl $0x800, %eax            # imm = 0x800
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4554(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %edi
movl -0x10(%rbp), %esi
callq 0x26030
movl $0x300, %ecx            # imm = 0x300
cltd
idivl %ecx
movl %eax, -0x38(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x292492(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0xc(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jle 0x274b0
movslq -0x28(%rbp), %rcx
leaq 0x29246e(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movswl 0x1c(%rax), %eax
addl $0x100, %eax            # imm = 0x100
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
jne 0x27432
movl 0x18f562(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x18f55d(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
subl $0x1, %esi
movl 0x18f54d(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
addl -0x34(%rbp), %edx
movl 0x18f545(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
addl -0x38(%rbp), %ecx
subl $0x1, %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movl 0x18f528(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x18f523(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
addl $0x1, %esi
movl 0x18f513(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
addl -0x34(%rbp), %edx
movl 0x18f50b(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
addl -0x38(%rbp), %ecx
addl $0x1, %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
jmp 0x274a6
movl 0x18f4ec(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
subl $0x1, %edi
movl 0x18f4e4(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x18f4d7(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
addl -0x34(%rbp), %edx
subl $0x1, %edx
movl 0x18f4cc(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
addl -0x38(%rbp), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movl 0x18f4b2(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
addl $0x1, %edi
movl 0x18f4aa(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x18f49d(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
addl -0x34(%rbp), %edx
addl $0x1, %edx
movl 0x18f492(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
addl -0x38(%rbp), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
movzbl -0x41(%rbp), %eax
addl $0x8, %eax
movb %al, -0x41(%rbp)
movl 0x18f46e(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x18f469(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x18f45c(%rip), %edx    # 0x1b6924
addl -0x2c(%rbp), %edx
addl -0x34(%rbp), %edx
movl 0x18f454(%rip), %ecx    # 0x1b6928
addl -0x30(%rbp), %ecx
addl -0x38(%rbp), %ecx
movzbl -0x41(%rbp), %r8d
callq 0x250b0
jmp 0x274e6
jmp 0x274e8
jmp 0x274ea
movslq -0x28(%rbp), %rcx
leaq 0x3cbb8b(%rip), %rax    # 0x3f3080
movswl (%rax,%rcx,2), %eax
movl %eax, -0x28(%rbp)
jmp 0x267c0
jmp 0x27503
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x26799
jmp 0x27513
callq 0xc220
movswl -0xa(%rbp), %eax
addl $0xa00, %eax            # imm = 0xA00
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4380(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %edi
movl -0x10(%rbp), %esi
callq 0x26030
movl $0x300, %ecx            # imm = 0x300
cltd
idivl %ecx
movl %eax, -0x2c(%rbp)
movswl -0xa(%rbp), %eax
addl $0x800, %eax            # imm = 0x800
andl $0x7ff, %eax            # imm = 0x7FF
movslq %eax, %rcx
leaq 0x3e4351(%rip), %rax    # 0x40b8b0
movswl (%rax,%rcx,2), %edi
movl -0x10(%rbp), %esi
callq 0x26030
movl $0x300, %ecx            # imm = 0x300
cltd
idivl %ecx
movl %eax, -0x30(%rbp)
movl 0x18f3a8(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x18f3a3(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x18f396(%rip), %edx    # 0x1b6924
subl -0x2c(%rbp), %edx
movl 0x18f391(%rip), %ecx    # 0x1b6928
subl -0x30(%rbp), %ecx
movl $0xf, %r8d
callq 0x250b0
movl 0x18f379(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x18f374(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x18f367(%rip), %edx    # 0x1b6924
addl -0x30(%rbp), %edx
movl 0x18f362(%rip), %ecx    # 0x1b6928
subl -0x2c(%rbp), %ecx
movl $0xf, %r8d
callq 0x250b0
movl 0x18f34a(%rip), %edi    # 0x1b6924
addl -0x2c(%rbp), %edi
movl 0x18f345(%rip), %esi    # 0x1b6928
addl -0x30(%rbp), %esi
movl 0x18f338(%rip), %edx    # 0x1b6924
subl -0x30(%rbp), %edx
movl 0x18f333(%rip), %ecx    # 0x1b6928
addl -0x2c(%rbp), %ecx
movl $0xf, %r8d
callq 0x250b0
addq $0xe0, %rsp
popq %rbp
retq
nopl (%rax)