// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/mdsprite.c
// Function: vox2poly
static voxmodel *vox2poly (void)
{
	int i, j, x, y, z, v, ov, oz = 0, cnt, sc, x0, y0, dx, dy, *bx0, *by0;
	void (*daquad)(int, int, int, int, int, int, int, int, int, int);

	gvox = (voxmodel *)malloc(sizeof(voxmodel)); if (!gvox) return(0);
	memset(gvox,0,sizeof(voxmodel));

		//x is largest dimension, y is 2nd largest dimension
	x = xsiz; y = ysiz; z = zsiz;
	if ((x < y) && (x < z)) x = z; else if (y < z) y = z;
	if (x < y) { z = x; x = y; y = z; }
	shcntp = x; i = x*y*sizeof(int);
	shcntmal = (int *)malloc(i); if (!shcntmal) { free(gvox); return(0); }
	memset(shcntmal,0,i); shcnt = &shcntmal[-shcntp-1];
	gmaxx = gmaxy = garea = 0;

	if (pow2m1[32] != -1) { for(i=0;i<32;i++) pow2m1[i] = (1<<i)-1; pow2m1[32] = -1; }
	for(i=0;i<7;i++) gvox->qfacind[i] = -1;

	i = ((max(ysiz,zsiz)+1)<<2);
	bx0 = (int *)malloc(i<<1); if (!bx0) { free(gvox); return(0); }
	by0 = (int *)(((intptr_t)bx0)+i);

	for(cnt=0;cnt<2;cnt++)
	{
		if (!cnt) daquad = cntquad;
			  else daquad = addquad;
		gvox->qcnt = 0;

		memset(by0,-1,(max(ysiz,zsiz)+1)<<2); v = 0;

		for(i=-1;i<=1;i+=2)
			for(y=0;y<ysiz;y++)
				for(x=0;x<=xsiz;x++)
					for(z=0;z<=zsiz;z++)
					{
						ov = v; v = (isolid(x,y,z) && (!isolid(x,y+i,z)));
						if ((by0[z] >= 0) && ((by0[z] != oz) || (v >= ov)))
							{ daquad(bx0[z],y,by0[z],x,y,by0[z],x,y,z,i>=0); by0[z] = -1; }
						if (v > ov) oz = z; else if ((v < ov) && (by0[z] != oz)) { bx0[z] = x; by0[z] = oz; }
					}

		for(i=-1;i<=1;i+=2)
			for(z=0;z<zsiz;z++)
				for(x=0;x<=xsiz;x++)
					for(y=0;y<=ysiz;y++)
					{
						ov = v; v = (isolid(x,y,z) && (!isolid(x,y,z-i)));
						if ((by0[y] >= 0) && ((by0[y] != oz) || (v >= ov)))
							{ daquad(bx0[y],by0[y],z,x,by0[y],z,x,y,z,(i>=0)+2); by0[y] = -1; }
						if (v > ov) oz = y; else if ((v < ov) && (by0[y] != oz)) { bx0[y] = x; by0[y] = oz; }
					}

		for(i=-1;i<=1;i+=2)
			for(x=0;x<xsiz;x++)
				for(y=0;y<=ysiz;y++)
					for(z=0;z<=zsiz;z++)
					{
						ov = v; v = (isolid(x,y,z) && (!isolid(x-i,y,z)));
						if ((by0[z] >= 0) && ((by0[z] != oz) || (v >= ov)))
							{ daquad(x,bx0[z],by0[z],x,y,by0[z],x,y,z,(i>=0)+4); by0[z] = -1; }
						if (v > ov) oz = z; else if ((v < ov) && (by0[z] != oz)) { bx0[z] = y; by0[z] = oz; }
					}

		if (!cnt)
		{
			shp = (spoint2d *)malloc(gvox->qcnt*sizeof(spoint2d));
			if (!shp) { free(bx0); free(gvox); return(0); }

			sc = 0;
			for(y=gmaxy;y;y--)
				for(x=gmaxx;x>=y;x--)
				{
					i = shcnt[y*shcntp+x]; shcnt[y*shcntp+x] = sc; //shcnt changes from counter to head index
					for(;i>0;i--) { shp[sc].x = x; shp[sc].y = y; sc++; }
				}

			for(gvox->mytexx=32;gvox->mytexx<(gmaxx+(VOXBORDWIDTH<<1));gvox->mytexx<<=1);
			for(gvox->mytexy=32;gvox->mytexy<(gmaxy+(VOXBORDWIDTH<<1));gvox->mytexy<<=1);
			while (gvox->mytexx*gvox->mytexy*8 < garea*9) //This should be sufficient to fit most skins...
			{
skindidntfit:;
				if (gvox->mytexx <= gvox->mytexy) gvox->mytexx <<= 1; else gvox->mytexy <<= 1;
			}
			mytexo5 = (gvox->mytexx>>5);

			i = (((gvox->mytexx*gvox->mytexy+31)>>5)<<2);
			zbit = (int *)malloc(i); if (!zbit) { free(bx0); free(gvox); free(shp); return(0); }
			memset(zbit,0,i);

			v = gvox->mytexx*gvox->mytexy;
			for(z=0;z<sc;z++)
			{
				dx = shp[z].x+(VOXBORDWIDTH<<1); dy = shp[z].y+(VOXBORDWIDTH<<1); i = v;
				do
				{
#if (VOXUSECHAR != 0)
					x0 = (((rand()&32767)*(min(gvox->mytexx,255)-dx))>>15);
					y0 = (((rand()&32767)*(min(gvox->mytexy,255)-dy))>>15);
#else
					x0 = (((rand()&32767)*(gvox->mytexx+1-dx))>>15);
					y0 = (((rand()&32767)*(gvox->mytexy+1-dy))>>15);
#endif
					i--;
					if (i < 0) //Time-out! Very slow if this happens... but at least it still works :P
					{
						free(zbit);

							//Re-generate shp[].x/y (box sizes) from shcnt (now head indices) for next pass :/
						j = 0;
						for(y=gmaxy;y;y--)
							for(x=gmaxx;x>=y;x--)
							{
								i = shcnt[y*shcntp+x];
								for(;j<i;j++) { shp[j].x = x0; shp[j].y = y0; }
								x0 = x; y0 = y;
							}
						for(;j<sc;j++) { shp[j].x = x0; shp[j].y = y0; }

						goto skindidntfit;
					}
				} while (!isrectfree(x0,y0,dx,dy));
				while ((y0) && (isrectfree(x0,y0-1,dx,1))) y0--;
				while ((x0) && (isrectfree(x0-1,y0,1,dy))) x0--;
				setrect(x0,y0,dx,dy);
				shp[z].x = x0; shp[z].y = y0; //Overwrite size with top-left location
			}

			gvox->quad = (voxrect_t *)malloc(gvox->qcnt*sizeof(voxrect_t));
			if (!gvox->quad) { free(zbit); free(shp); free(bx0); free(gvox); return(0); }

			gvox->mytex = (int *)malloc(gvox->mytexx*gvox->mytexy*sizeof(int));
			if (!gvox->mytex) { free(gvox->quad); free(zbit); free(shp); free(bx0); free(gvox); return(0); }
		}
	}
	free(shp); free(zbit); free(bx0);
	return(gvox);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xa0, %rsp
movl $0x0, -0x38(%rbp)
movl $0x80, %edi
callq 0x68f0
movq %rax, 0x615a0a(%rip)    # 0x6a7090
cmpq $0x0, 0x615a02(%rip)    # 0x6a7090
jne 0x9169d
movq $0x0, -0x18(%rbp)
jmp 0x92494
movq 0x6159ec(%rip), %rdi    # 0x6a7090
xorl %esi, %esi
movl $0x80, %edx
callq 0x62d0
movl 0x615992(%rip), %eax    # 0x6a7048
movl %eax, -0x24(%rbp)
movl 0x61598d(%rip), %eax    # 0x6a704c
movl %eax, -0x28(%rbp)
movl 0x615988(%rip), %eax    # 0x6a7050
movl %eax, -0x2c(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jge 0x916e3
movl -0x24(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x916e3
movl -0x2c(%rbp), %eax
movl %eax, -0x24(%rbp)
jmp 0x916f3
movl -0x28(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x916f1
movl -0x2c(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x916f3
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jge 0x9170d
movl -0x24(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
movl %eax, 0x615982(%rip)    # 0x6a7098
movl -0x24(%rbp), %eax
imull -0x28(%rbp), %eax
cltq
shlq $0x2, %rax
movl %eax, -0x1c(%rbp)
movslq -0x1c(%rbp), %rdi
callq 0x68f0
movq %rax, 0x61592a(%rip)    # 0x6a7060
cmpq $0x0, 0x615922(%rip)    # 0x6a7060
jne 0x91759
movq 0x615949(%rip), %rdi    # 0x6a7090
callq 0x61c0
movq $0x0, -0x18(%rbp)
jmp 0x92494
movq 0x615900(%rip), %rdi    # 0x6a7060
movslq -0x1c(%rbp), %rdx
xorl %esi, %esi
callq 0x62d0
movq 0x6158ee(%rip), %rax    # 0x6a7060
xorl %ecx, %ecx
subl 0x61591e(%rip), %ecx    # 0x6a7098
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x615912(%rip)    # 0x6a70a0
movl $0x0, 0x615910(%rip)    # 0x6a70a8
movl $0x0, 0x61590a(%rip)    # 0x6a70ac
movl $0x0, 0x615904(%rip)    # 0x6a70b0
cmpl $-0x1, 0x61598d(%rip)   # 0x6a7140
je 0x917f2
movl $0x0, -0x1c(%rbp)
cmpl $0x20, -0x1c(%rbp)
jge 0x917e8
movl -0x1c(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
subl $0x1, %edx
movslq -0x1c(%rbp), %rcx
leaq 0x6158e6(%rip), %rax    # 0x6a70c0
movl %edx, (%rax,%rcx,4)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x917bc
movl $0xffffffff, 0x61594e(%rip) # imm = 0xFFFFFFFF
movl $0x0, -0x1c(%rbp)
cmpl $0x7, -0x1c(%rbp)
jge 0x9181d
movq 0x61588a(%rip), %rax    # 0x6a7090
movslq -0x1c(%rbp), %rcx
movl $0xffffffff, 0x2c(%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x917f9
movl 0x615829(%rip), %eax    # 0x6a704c
cmpl 0x615827(%rip), %eax    # 0x6a7050
jle 0x91836
movl 0x61581b(%rip), %eax    # 0x6a704c
movl %eax, -0x6c(%rbp)
jmp 0x9183f
movl 0x615814(%rip), %eax    # 0x6a7050
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
addl $0x1, %eax
shll $0x2, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
shll %eax
movslq %eax, %rdi
callq 0x68f0
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jne 0x9187c
movq 0x615826(%rip), %rdi    # 0x6a7090
callq 0x61c0
movq $0x0, -0x18(%rbp)
jmp 0x92494
movq -0x58(%rbp), %rax
movslq -0x1c(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x60(%rbp)
movl $0x0, -0x3c(%rbp)
cmpl $0x2, -0x3c(%rbp)
jge 0x92468
cmpl $0x0, -0x3c(%rbp)
jne 0x918af
leaq 0x6067(%rip), %rax      # 0x97910
movq %rax, -0x68(%rbp)
jmp 0x918ba
leaq 0x615a(%rip), %rax      # 0x97a10
movq %rax, -0x68(%rbp)
movq 0x6157cf(%rip), %rax    # 0x6a7090
movl $0x0, 0x28(%rax)
movq -0x60(%rbp), %rax
movq %rax, -0x78(%rbp)
movl 0x615776(%rip), %eax    # 0x6a704c
cmpl 0x615774(%rip), %eax    # 0x6a7050
jle 0x918e9
movl 0x615768(%rip), %eax    # 0x6a704c
movl %eax, -0x7c(%rbp)
jmp 0x918f2
movl 0x615761(%rip), %eax    # 0x6a7050
movl %eax, -0x7c(%rbp)
movq -0x78(%rbp), %rdi
movl -0x7c(%rbp), %eax
addl $0x1, %eax
shll $0x2, %eax
movslq %eax, %rdx
movl $0xff, %esi
callq 0x62d0
movl $0x0, -0x30(%rbp)
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
cmpl $0x1, -0x1c(%rbp)
jg 0x91acb
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl 0x615718(%rip), %eax    # 0x6a704c
jge 0x91abb
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl 0x6156fe(%rip), %eax    # 0x6a7048
jg 0x91aab
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x6156f0(%rip), %eax    # 0x6a7050
jg 0x91a9b
movl -0x30(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x24(%rbp), %edi
movl -0x28(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x98270
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x7d(%rbp)
je 0x919a2
movl -0x24(%rbp), %edi
movl -0x28(%rbp), %esi
addl -0x1c(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x98270
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x7d(%rbp)
movb -0x7d(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jl 0x91a45
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x38(%rbp), %eax
jne 0x919d7
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jl 0x91a45
movq -0x68(%rbp), %rax
movq -0x58(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movl (%rcx,%rdx,4), %edi
movl -0x28(%rbp), %esi
movq -0x60(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movl (%rcx,%rdx,4), %edx
movl -0x24(%rbp), %ecx
movl -0x28(%rbp), %r8d
movq -0x60(%rbp), %r9
movslq -0x2c(%rbp), %r10
movl (%r9,%r10,4), %r9d
movl -0x24(%rbp), %r14d
movl -0x28(%rbp), %ebx
movl -0x2c(%rbp), %r11d
cmpl $0x0, -0x1c(%rbp)
setge %r10b
andb $0x1, %r10b
movzbl %r10b, %r10d
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
callq *%rax
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jle 0x91a55
movl -0x2c(%rbp), %eax
movl %eax, -0x38(%rbp)
jmp 0x91a8b
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jge 0x91a89
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x38(%rbp), %eax
je 0x91a89
movl -0x24(%rbp), %edx
movq -0x58(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %edx
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x91a8b
jmp 0x91a8d
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x91957
jmp 0x91a9d
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x91941
jmp 0x91aad
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x9192b
jmp 0x91abd
movl -0x1c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x1c(%rbp)
jmp 0x9191a
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
cmpl $0x1, -0x1c(%rbp)
jg 0x91c87
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x615564(%rip), %eax    # 0x6a7050
jge 0x91c77
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl 0x615546(%rip), %eax    # 0x6a7048
jg 0x91c67
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl 0x615534(%rip), %eax    # 0x6a704c
jg 0x91c57
movl -0x30(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x24(%rbp), %edi
movl -0x28(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x98270
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x7e(%rbp)
je 0x91b5a
movl -0x24(%rbp), %edi
movl -0x28(%rbp), %esi
movl -0x2c(%rbp), %edx
subl -0x1c(%rbp), %edx
callq 0x98270
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x7e(%rbp)
movb -0x7e(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
movq -0x60(%rbp), %rax
movslq -0x28(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jl 0x91c01
movq -0x60(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x38(%rbp), %eax
jne 0x91b8f
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jl 0x91c01
movq -0x68(%rbp), %rax
movq -0x58(%rbp), %rcx
movslq -0x28(%rbp), %rdx
movl (%rcx,%rdx,4), %edi
movq -0x60(%rbp), %rcx
movslq -0x28(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
movl -0x2c(%rbp), %edx
movl -0x24(%rbp), %ecx
movq -0x60(%rbp), %r8
movslq -0x28(%rbp), %r9
movl (%r8,%r9,4), %r8d
movl -0x2c(%rbp), %r9d
movl -0x24(%rbp), %r14d
movl -0x28(%rbp), %ebx
movl -0x2c(%rbp), %r11d
cmpl $0x0, -0x1c(%rbp)
setge %r10b
andb $0x1, %r10b
movzbl %r10b, %r10d
addl $0x2, %r10d
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
callq *%rax
movq -0x60(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jle 0x91c11
movl -0x28(%rbp), %eax
movl %eax, -0x38(%rbp)
jmp 0x91c47
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jge 0x91c45
movq -0x60(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x38(%rbp), %eax
je 0x91c45
movl -0x24(%rbp), %edx
movq -0x58(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %edx
movq -0x60(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x91c47
jmp 0x91c49
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x91b0f
jmp 0x91c59
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x91af9
jmp 0x91c69
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x91ae3
jmp 0x91c79
movl -0x1c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x1c(%rbp)
jmp 0x91ad2
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
cmpl $0x1, -0x1c(%rbp)
jg 0x91e43
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl 0x6153a0(%rip), %eax    # 0x6a7048
jge 0x91e33
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl 0x61538e(%rip), %eax    # 0x6a704c
jg 0x91e23
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x61537c(%rip), %eax    # 0x6a7050
jg 0x91e13
movl -0x30(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x24(%rbp), %edi
movl -0x28(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x98270
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x7f(%rbp)
je 0x91d16
movl -0x24(%rbp), %edi
subl -0x1c(%rbp), %edi
movl -0x28(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x98270
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x7f(%rbp)
movb -0x7f(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jl 0x91dbd
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x38(%rbp), %eax
jne 0x91d4b
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jl 0x91dbd
movq -0x68(%rbp), %rax
movl -0x24(%rbp), %edi
movq -0x58(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
movq -0x60(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movl (%rcx,%rdx,4), %edx
movl -0x24(%rbp), %ecx
movl -0x28(%rbp), %r8d
movq -0x60(%rbp), %r9
movslq -0x2c(%rbp), %r10
movl (%r9,%r10,4), %r9d
movl -0x24(%rbp), %r14d
movl -0x28(%rbp), %ebx
movl -0x2c(%rbp), %r11d
cmpl $0x0, -0x1c(%rbp)
setge %r10b
andb $0x1, %r10b
movzbl %r10b, %r10d
addl $0x4, %r10d
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
callq *%rax
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jle 0x91dcd
movl -0x2c(%rbp), %eax
movl %eax, -0x38(%rbp)
jmp 0x91e03
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jge 0x91e01
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x38(%rbp), %eax
je 0x91e01
movl -0x28(%rbp), %edx
movq -0x58(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %edx
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x91e03
jmp 0x91e05
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x91ccb
jmp 0x91e15
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x91cb5
jmp 0x91e25
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x91c9f
jmp 0x91e35
movl -0x1c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x1c(%rbp)
jmp 0x91c8e
cmpl $0x0, -0x3c(%rbp)
jne 0x92458
movq 0x61523c(%rip), %rax    # 0x6a7090
movslq 0x28(%rax), %rdi
shlq $0x2, %rdi
callq 0x68f0
movq %rax, 0x6152e0(%rip)    # 0x6a7148
cmpq $0x0, 0x6152d8(%rip)    # 0x6a7148
jne 0x91e94
movq -0x58(%rbp), %rdi
callq 0x61c0
movq 0x61520e(%rip), %rdi    # 0x6a7090
callq 0x61c0
movq $0x0, -0x18(%rbp)
jmp 0x92494
movl $0x0, -0x40(%rbp)
movl 0x61520b(%rip), %eax    # 0x6a70ac
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x28(%rbp)
je 0x91f62
movl 0x6151fc(%rip), %eax    # 0x6a70b0
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jl 0x91f52
movq 0x6151d6(%rip), %rax    # 0x6a70a0
movl -0x28(%rbp), %ecx
imull 0x6151c4(%rip), %ecx    # 0x6a7098
addl -0x24(%rbp), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x1c(%rbp)
movl -0x40(%rbp), %edx
movq 0x6151b6(%rip), %rax    # 0x6a70a0
movl -0x28(%rbp), %ecx
imull 0x6151a4(%rip), %ecx    # 0x6a7098
addl -0x24(%rbp), %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
cmpl $0x0, -0x1c(%rbp)
jle 0x91f42
movl -0x24(%rbp), %eax
movw %ax, %dx
movq 0x615238(%rip), %rax    # 0x6a7148
movslq -0x40(%rbp), %rcx
movw %dx, (%rax,%rcx,4)
movl -0x28(%rbp), %eax
movw %ax, %dx
movq 0x615223(%rip), %rax    # 0x6a7148
movslq -0x40(%rbp), %rcx
movw %dx, 0x2(%rax,%rcx,4)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x91efd
jmp 0x91f44
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x91eb7
jmp 0x91f54
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x91ea4
movq 0x615127(%rip), %rax    # 0x6a7090
movl $0x20, 0x50(%rax)
movq 0x615119(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
movl 0x615130(%rip), %ecx    # 0x6a70b0
addl $0x2, %ecx
cmpl %ecx, %eax
jge 0x91f9a
jmp 0x91f89
movq 0x615100(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %ecx
shll %ecx
movl %ecx, 0x50(%rax)
jmp 0x91f70
movq 0x6150ef(%rip), %rax    # 0x6a7090
movl $0x20, 0x54(%rax)
movq 0x6150e1(%rip), %rax    # 0x6a7090
movl 0x54(%rax), %eax
movl 0x6150f4(%rip), %ecx    # 0x6a70ac
addl $0x2, %ecx
cmpl %ecx, %eax
jge 0x91fd2
jmp 0x91fc1
movq 0x6150c8(%rip), %rax    # 0x6a7090
movl 0x54(%rax), %ecx
shll %ecx
movl %ecx, 0x54(%rax)
jmp 0x91fa8
jmp 0x91fd4
movq 0x6150b5(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
movq 0x6150ab(%rip), %rcx    # 0x6a7090
imull 0x54(%rcx), %eax
shll $0x3, %eax
imull $0x9, 0x6150b5(%rip), %ecx # 0x6a70a8
cmpl %ecx, %eax
jge 0x92031
jmp 0x91ff9
movq 0x615090(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
movq 0x615086(%rip), %rcx    # 0x6a7090
cmpl 0x54(%rcx), %eax
jg 0x92020
movq 0x61507a(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %ecx
shll %ecx
movl %ecx, 0x50(%rax)
jmp 0x9202f
movq 0x615069(%rip), %rax    # 0x6a7090
movl 0x54(%rax), %ecx
shll %ecx
movl %ecx, 0x54(%rax)
jmp 0x91fd4
movq 0x615058(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
sarl $0x5, %eax
movl %eax, 0x61510c(%rip)    # 0x6a7150
movq 0x615045(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
movq 0x61503b(%rip), %rcx    # 0x6a7090
imull 0x54(%rcx), %eax
addl $0x1f, %eax
sarl $0x5, %eax
shll $0x2, %eax
movl %eax, -0x1c(%rbp)
movslq -0x1c(%rbp), %rdi
callq 0x68f0
movq %rax, 0x6150e3(%rip)    # 0x6a7158
cmpq $0x0, 0x6150db(%rip)    # 0x6a7158
jne 0x920ad
movq -0x58(%rbp), %rdi
callq 0x61c0
movq 0x615001(%rip), %rdi    # 0x6a7090
callq 0x61c0
movq 0x6150ad(%rip), %rdi    # 0x6a7148
callq 0x61c0
movq $0x0, -0x18(%rbp)
jmp 0x92494
movq 0x6150a4(%rip), %rdi    # 0x6a7158
movslq -0x1c(%rbp), %rdx
xorl %esi, %esi
callq 0x62d0
movq 0x614fca(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
movq 0x614fc0(%rip), %rcx    # 0x6a7090
imull 0x54(%rcx), %eax
movl %eax, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x40(%rbp), %eax
jge 0x92368
movq 0x615057(%rip), %rax    # 0x6a7148
movslq -0x2c(%rbp), %rcx
movswl (%rax,%rcx,4), %eax
addl $0x2, %eax
movl %eax, -0x4c(%rbp)
movq 0x615042(%rip), %rax    # 0x6a7148
movslq -0x2c(%rbp), %rcx
movswl 0x2(%rax,%rcx,4), %eax
addl $0x2, %eax
movl %eax, -0x50(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x1c(%rbp)
callq 0x6990
andl $0x7fff, %eax           # imm = 0x7FFF
movq 0x614f64(%rip), %rcx    # 0x6a7090
movl 0x50(%rcx), %ecx
addl $0x1, %ecx
subl -0x4c(%rbp), %ecx
imull %ecx, %eax
sarl $0xf, %eax
movl %eax, -0x44(%rbp)
callq 0x6990
andl $0x7fff, %eax           # imm = 0x7FFF
movq 0x614f41(%rip), %rcx    # 0x6a7090
movl 0x54(%rcx), %ecx
addl $0x1, %ecx
subl -0x50(%rbp), %ecx
imull %ecx, %eax
sarl $0xf, %eax
movl %eax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jge 0x92272
movq 0x614fdd(%rip), %rdi    # 0x6a7158
callq 0x61c0
movl $0x0, -0x20(%rbp)
movl 0x614f1f(%rip), %eax    # 0x6a70ac
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x28(%rbp)
je 0x9222d
movl 0x614f10(%rip), %eax    # 0x6a70b0
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jl 0x9221d
movq 0x614eee(%rip), %rax    # 0x6a70a0
movl -0x28(%rbp), %ecx
imull 0x614edc(%rip), %ecx    # 0x6a7098
addl -0x24(%rbp), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x92206
movl -0x44(%rbp), %eax
movw %ax, %dx
movq 0x614f6b(%rip), %rax    # 0x6a7148
movslq -0x20(%rbp), %rcx
movw %dx, (%rax,%rcx,4)
movl -0x48(%rbp), %eax
movw %ax, %dx
movq 0x614f56(%rip), %rax    # 0x6a7148
movslq -0x20(%rbp), %rcx
movw %dx, 0x2(%rax,%rcx,4)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x921c8
movl -0x24(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x921a3
jmp 0x9221f
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x92190
jmp 0x9222f
movl -0x20(%rbp), %eax
cmpl -0x40(%rbp), %eax
jge 0x9226d
movl -0x44(%rbp), %eax
movw %ax, %dx
movq 0x614f04(%rip), %rax    # 0x6a7148
movslq -0x20(%rbp), %rcx
movw %dx, (%rax,%rcx,4)
movl -0x48(%rbp), %eax
movw %ax, %dx
movq 0x614eef(%rip), %rax    # 0x6a7148
movslq -0x20(%rbp), %rcx
movw %dx, 0x2(%rax,%rcx,4)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x9222f
jmp 0x91ff9
jmp 0x92274
movl -0x44(%rbp), %edi
movl -0x48(%rbp), %esi
movl -0x4c(%rbp), %edx
movl -0x50(%rbp), %ecx
callq 0x98300
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x9211b
jmp 0x92297
xorl %eax, %eax
cmpl $0x0, -0x48(%rbp)
movb %al, -0x80(%rbp)
je 0x922c1
movl -0x44(%rbp), %edi
movl -0x48(%rbp), %esi
subl $0x1, %esi
movl -0x4c(%rbp), %edx
movl $0x1, %ecx
callq 0x98300
cmpl $0x0, %eax
setne %al
movb %al, -0x80(%rbp)
movb -0x80(%rbp), %al
testb $0x1, %al
jne 0x922ca
jmp 0x922d5
movl -0x48(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x92297
jmp 0x922d7
xorl %eax, %eax
cmpl $0x0, -0x44(%rbp)
movb %al, -0x81(%rbp)
je 0x92307
movl -0x44(%rbp), %edi
subl $0x1, %edi
movl -0x48(%rbp), %esi
movl -0x50(%rbp), %ecx
movl $0x1, %edx
callq 0x98300
cmpl $0x0, %eax
setne %al
movb %al, -0x81(%rbp)
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x92313
jmp 0x9231e
movl -0x44(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x922d7
movl -0x44(%rbp), %edi
movl -0x48(%rbp), %esi
movl -0x4c(%rbp), %edx
movl -0x50(%rbp), %ecx
callq 0x98480
movl -0x44(%rbp), %eax
movw %ax, %dx
movq 0x614e0c(%rip), %rax    # 0x6a7148
movslq -0x2c(%rbp), %rcx
movw %dx, (%rax,%rcx,4)
movl -0x48(%rbp), %eax
movw %ax, %dx
movq 0x614df7(%rip), %rax    # 0x6a7148
movslq -0x2c(%rbp), %rcx
movw %dx, 0x2(%rax,%rcx,4)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x920de
movq 0x614d21(%rip), %rax    # 0x6a7090
movslq 0x28(%rax), %rax
imulq $0x28, %rax, %rdi
callq 0x68f0
movq %rax, %rcx
movq 0x614d0a(%rip), %rax    # 0x6a7090
movq %rcx, 0x20(%rax)
movq 0x614cff(%rip), %rax    # 0x6a7090
cmpq $0x0, 0x20(%rax)
jne 0x923d2
movq 0x614db9(%rip), %rdi    # 0x6a7158
callq 0x61c0
movq 0x614d9d(%rip), %rdi    # 0x6a7148
callq 0x61c0
movq -0x58(%rbp), %rdi
callq 0x61c0
movq 0x614cd0(%rip), %rdi    # 0x6a7090
callq 0x61c0
movq $0x0, -0x18(%rbp)
jmp 0x92494
movq 0x614cb7(%rip), %rax    # 0x6a7090
movl 0x50(%rax), %eax
movq 0x614cad(%rip), %rcx    # 0x6a7090
imull 0x54(%rcx), %eax
movslq %eax, %rdi
shlq $0x2, %rdi
callq 0x68f0
movq %rax, %rcx
movq 0x614c93(%rip), %rax    # 0x6a7090
movq %rcx, 0x48(%rax)
movq 0x614c88(%rip), %rax    # 0x6a7090
cmpq $0x0, 0x48(%rax)
jne 0x92456
movq 0x614c7a(%rip), %rax    # 0x6a7090
movq 0x20(%rax), %rdi
callq 0x61c0
movq 0x614d32(%rip), %rdi    # 0x6a7158
callq 0x61c0
movq 0x614d16(%rip), %rdi    # 0x6a7148
callq 0x61c0
movq -0x58(%rbp), %rdi
callq 0x61c0
movq 0x614c49(%rip), %rdi    # 0x6a7090
callq 0x61c0
movq $0x0, -0x18(%rbp)
jmp 0x92494
jmp 0x92458
jmp 0x9245a
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x91892
movq 0x614cd9(%rip), %rdi    # 0x6a7148
callq 0x61c0
movq 0x614cdd(%rip), %rdi    # 0x6a7158
callq 0x61c0
movq -0x58(%rbp), %rdi
callq 0x61c0
movq 0x614c00(%rip), %rax    # 0x6a7090
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0xa0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nopw %cs:(%rax,%rax)