// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/kplib.c
// Function: kbmprend
static int kbmprend (const char *buf, int fleng,
	intptr_t daframeplace, int dabytesperline, int daxres, int dayres,
	int daglobxoffs, int daglobyoffs)
{
	int i, j, x, y, x0, x1, y0, y1, rastoff, headsiz, xsiz, ysiz, cdim, comp, cptrinc, *lptr;
	const unsigned char *cptr, *ubuf = (const unsigned char *)buf;

	(void)fleng;

	headsiz = *(int *)&buf[14];
	if (headsiz == LSWAPIB(12)) //OS/2 1.x (old format)
	{
		if (*(short *)(&buf[22]) != SSWAPIB(1)) return(-1);
		xsiz = (int)SSWAPIB(*(unsigned short *)&buf[18]);
		ysiz = (int)SSWAPIB(*(unsigned short *)&buf[20]);
		cdim = (int)SSWAPIB(*(unsigned short *)&buf[24]);
		comp = 0;
	}
	else //All newer formats...
	{
		if (*(short *)(&buf[26]) != SSWAPIB(1)) return(-1);
		xsiz = LSWAPIB(*(int *)&buf[18]);
		ysiz = LSWAPIB(*(int *)&buf[22]);
		cdim = (int)SSWAPIB(*(unsigned short *)&buf[28]);
		comp = LSWAPIB(*(int *)&buf[30]);
	}
	if ((xsiz <= 0) || (!ysiz)) return(-1);
		//cdim must be: (1,4,8,16,24,32)
	if (((unsigned int)(cdim-1) >= (unsigned int)32) || (!((1<<cdim)&0x1010113))) return(-1);
	if ((comp != 0) && (comp != 3)) return(-1);

	rastoff = LSWAPIB(*(int *)&buf[10]);

	if (cdim < 16)
	{
		if (cdim == 2) { palcol[0] = 0xffffffff; palcol[1] = LSWAPIB(0xff000000); }
		if (headsiz == LSWAPIB(12)) j = 3; else j = 4;
		for(i=0,cptr=&ubuf[headsiz+14];cptr<&ubuf[rastoff];i++,cptr+=j)
			palcol[i] = ((*(int *)&cptr[0])|LSWAPIB(0xff000000));
		coltype = 3; bitdepth = cdim; paleng = i; //For PNGOUT
	}
	else if (!(cdim&15))
	{
		coltype = 2;
		switch(cdim)
		{
			case 16: palcol[0] = 10; palcol[1] = 5; palcol[2] = 0; palcol[3] = 5; palcol[4] = 5; palcol[5] = 5; break;
			case 32: palcol[0] = 16; palcol[1] = 8; palcol[2] = 0; palcol[3] = 8; palcol[4] = 8; palcol[5] = 8; break;
		}
		if (comp == 3) //BI_BITFIELD (RGB masks)
		{
			for(i=0;i<3;i++)
			{
				j = *(int *)&buf[headsiz+(i<<2)+14];
				for(palcol[i]=0;palcol[i]<32;palcol[i]++)
				{
					if (j&1) break;
					j = (((unsigned int)j)>>1);
				}
				for(palcol[i+3]=0;palcol[i+3]<32;palcol[i+3]++)
				{
					if (!(j&1)) break;
					j = (((unsigned int)j)>>1);
				}
			}
		}
		palcol[0] = 24-(palcol[0]+palcol[3]);
		palcol[1] = 16-(palcol[1]+palcol[4]);
		palcol[2] =  8-(palcol[2]+palcol[5]);
		palcol[3] = (-(1<<(24-palcol[3])))&0x00ff0000;
		palcol[4] = (-(1<<(16-palcol[4])))&0x0000ff00;
		palcol[5] = (-(1<<( 8-palcol[5])))&0x000000ff;
	}

	cptrinc = (((xsiz*cdim+31)>>3)&~3); cptr = &ubuf[rastoff];
	if (ysiz < 0) { ysiz = -ysiz; } else { cptr = &cptr[(ysiz-1)*cptrinc]; cptrinc = -cptrinc; }

	x0 = daglobxoffs; x1 = xsiz+daglobxoffs;
	y0 = daglobyoffs; y1 = ysiz+daglobyoffs;
	if ((x0 >= daxres) || (x1 <= 0) || (y0 >= dayres) || (y1 <= 0)) return(0);
	if (x0 < 0) x0 = 0;
	if (x1 > daxres) x1 = daxres;
	for(y=y0;y<y1;y++,cptr=&cptr[cptrinc])
	{
		if ((unsigned int)y >= (unsigned int)dayres) continue;
		lptr = (int *)(y*dabytesperline-(daglobyoffs<<2)+daframeplace);
		switch(cdim)
		{
			case  1: for(x=x0;x<x1;x++) lptr[x] = palcol[(int)((cptr[x>>3]>>((x&7)^7))&1)]; break;
			case  4: for(x=x0;x<x1;x++) lptr[x] = palcol[(int)((cptr[x>>1]>>(((x&1)^1)<<2))&15)]; break;
			case  8: for(x=x0;x<x1;x++) lptr[x] = palcol[(int)(cptr[x])]; break;
			case 16: for(x=x0;x<x1;x++)
						{
							i = ((int)(*(short *)&cptr[x<<1]));
							lptr[x] = (_lrotl(i,palcol[0])&palcol[3]) +
										 (_lrotl(i,palcol[1])&palcol[4]) +
										 (_lrotl(i,palcol[2])&palcol[5]) + LSWAPIB(0xff000000);
						} break;
			case 24: for(x=x0;x<x1;x++) lptr[x] = ((*(int *)&cptr[x*3])|LSWAPIB(0xff000000)); break;
			case 32: for(x=x0;x<x1;x++)
						{
							i = (*(int *)&cptr[x<<2]);
							lptr[x] = (_lrotl(i,palcol[0])&palcol[3]) +
										 (_lrotl(i,palcol[1])&palcol[4]) +
										 (_lrotl(i,palcol[2])&palcol[5]) + LSWAPIB(0xff000000);
						} break;
		}

	}
	return(0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl %r8d, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rax
movl 0xe(%rax), %eax
movl %eax, -0x54(%rbp)
cmpl $0xc, -0x54(%rbp)
jne 0x66302
movq -0x10(%rbp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
je 0x662d8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x66a7c
movq -0x10(%rbp), %rax
movzwl 0x12(%rax), %eax
movl %eax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movzwl 0x14(%rax), %eax
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
movzwl 0x18(%rax), %eax
movl %eax, -0x60(%rbp)
movl $0x0, -0x64(%rbp)
jmp 0x66344
movq -0x10(%rbp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
je 0x6631b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x66a7c
movq -0x10(%rbp), %rax
movl 0x12(%rax), %eax
movl %eax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movl 0x16(%rax), %eax
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
movzwl 0x1c(%rax), %eax
movl %eax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movl 0x1e(%rax), %eax
movl %eax, -0x64(%rbp)
cmpl $0x0, -0x58(%rbp)
jle 0x66350
cmpl $0x0, -0x5c(%rbp)
jne 0x6635c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x66a7c
movl -0x60(%rbp), %eax
subl $0x1, %eax
cmpl $0x20, %eax
jae 0x6637b
movl -0x60(%rbp), %ecx
movl $0x1, %eax
shll %cl, %eax
andl $0x1010113, %eax        # imm = 0x1010113
cmpl $0x0, %eax
jne 0x66387
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x66a7c
cmpl $0x0, -0x64(%rbp)
je 0x6639f
cmpl $0x3, -0x64(%rbp)
je 0x6639f
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x66a7c
movq -0x10(%rbp), %rax
movl 0xa(%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x10, -0x60(%rbp)
jge 0x66466
cmpl $0x2, -0x60(%rbp)
jne 0x663cd
movl $0xffffffff, 0x55c5bd(%rip) # imm = 0xFFFFFFFF
movl $0xff000000, 0x55c5b7(%rip) # imm = 0xFF000000
cmpl $0xc, -0x54(%rbp)
jne 0x663dc
movl $0x3, -0x34(%rbp)
jmp 0x663e3
movl $0x4, -0x34(%rbp)
movl $0x0, -0x30(%rbp)
movq -0x80(%rbp), %rax
movl -0x54(%rbp), %ecx
addl $0xe, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq -0x80(%rbp), %rcx
movslq -0x50(%rbp), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x66448
movq -0x78(%rbp), %rax
movl (%rax), %edx
orl $0xff000000, %edx       # imm = 0xFF000000
movslq -0x30(%rbp), %rcx
leaq 0x55c557(%rip), %rax    # 0x5c2980
movl %edx, (%rax,%rcx,4)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x34(%rbp), %ecx
movq -0x78(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
jmp 0x663fe
movb $0x3, 0x55c931(%rip)    # 0x5c2d80
movl -0x60(%rbp), %eax
movb %al, 0x55c929(%rip)     # 0x5c2d81
movl -0x30(%rbp), %eax
movl %eax, 0x5426ef(%rip)    # 0x5a8b50
jmp 0x666ca
movl -0x60(%rbp), %eax
andl $0xf, %eax
cmpl $0x0, %eax
jne 0x666c8
movb $0x2, 0x55c904(%rip)    # 0x5c2d80
movl -0x60(%rbp), %eax
movl %eax, -0x84(%rbp)
subl $0x10, %eax
je 0x66499
jmp 0x6648c
movl -0x84(%rbp), %eax
subl $0x20, %eax
je 0x664d7
jmp 0x66513
movl $0xa, 0x55c4dd(%rip)    # 0x5c2980
movl $0x5, 0x55c4d7(%rip)    # 0x5c2984
movl $0x0, 0x55c4d1(%rip)    # 0x5c2988
movl $0x5, 0x55c4cb(%rip)    # 0x5c298c
movl $0x5, 0x55c4c5(%rip)    # 0x5c2990
movl $0x5, 0x55c4bf(%rip)    # 0x5c2994
jmp 0x66513
movl $0x10, 0x55c49f(%rip)   # 0x5c2980
movl $0x8, 0x55c499(%rip)    # 0x5c2984
movl $0x0, 0x55c493(%rip)    # 0x5c2988
movl $0x8, 0x55c48d(%rip)    # 0x5c298c
movl $0x8, 0x55c487(%rip)    # 0x5c2990
movl $0x8, 0x55c481(%rip)    # 0x5c2994
cmpl $0x3, -0x64(%rbp)
jne 0x66614
movl $0x0, -0x30(%rbp)
cmpl $0x3, -0x30(%rbp)
jge 0x66612
movq -0x10(%rbp), %rax
movl -0x54(%rbp), %ecx
movl -0x30(%rbp), %edx
shll $0x2, %edx
addl %edx, %ecx
addl $0xe, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %eax
movl %eax, -0x34(%rbp)
movslq -0x30(%rbp), %rcx
leaq 0x55c42c(%rip), %rax    # 0x5c2980
movl $0x0, (%rax,%rcx,4)
movslq -0x30(%rbp), %rcx
leaq 0x55c41a(%rip), %rax    # 0x5c2980
cmpl $0x20, (%rax,%rcx,4)
jge 0x6659e
movl -0x34(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x66579
jmp 0x6659e
movl -0x34(%rbp), %eax
shrl %eax
movl %eax, -0x34(%rbp)
movslq -0x30(%rbp), %rcx
leaq 0x55c3f4(%rip), %rax    # 0x5c2980
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x55c3e7(%rip), %rax    # 0x5c2980
movl %edx, (%rax,%rcx,4)
jmp 0x6655b
movl -0x30(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rcx
leaq 0x55c3d2(%rip), %rax    # 0x5c2980
movl $0x0, (%rax,%rcx,4)
movl -0x30(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rcx
leaq 0x55c3bb(%rip), %rax    # 0x5c2980
cmpl $0x20, (%rax,%rcx,4)
jge 0x66602
movl -0x34(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x665d8
jmp 0x66602
movl -0x34(%rbp), %eax
shrl %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rcx
leaq 0x55c390(%rip), %rax    # 0x5c2980
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x55c383(%rip), %rax    # 0x5c2980
movl %edx, (%rax,%rcx,4)
jmp 0x665b5
jmp 0x66604
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x66524
jmp 0x66614
movl 0x55c366(%rip), %ecx    # 0x5c2980
addl 0x55c36c(%rip), %ecx    # 0x5c298c
movl $0x18, %eax
subl %ecx, %eax
movl %eax, 0x55c353(%rip)    # 0x5c2980
movl 0x55c351(%rip), %ecx    # 0x5c2984
addl 0x55c357(%rip), %ecx    # 0x5c2990
movl $0x10, %eax
subl %ecx, %eax
movl %eax, 0x55c33e(%rip)    # 0x5c2984
movl 0x55c33c(%rip), %ecx    # 0x5c2988
addl 0x55c342(%rip), %ecx    # 0x5c2994
movl $0x8, %eax
subl %ecx, %eax
movl %eax, 0x55c329(%rip)    # 0x5c2988
movl $0x18, %ecx
subl 0x55c322(%rip), %ecx    # 0x5c298c
movl $0x1, %eax
shll %cl, %eax
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
andl $0xff0000, %eax         # imm = 0xFF0000
movl %eax, 0x55c30a(%rip)    # 0x5c298c
movl $0x10, %ecx
subl 0x55c303(%rip), %ecx    # 0x5c2990
movl $0x1, %eax
shll %cl, %eax
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
andl $0xff00, %eax           # imm = 0xFF00
movl %eax, 0x55c2eb(%rip)    # 0x5c2990
movl $0x8, %ecx
subl 0x55c2e4(%rip), %ecx    # 0x5c2994
movl $0x1, %eax
shll %cl, %eax
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
andl $0xff, %eax
movl %eax, 0x55c2cc(%rip)    # 0x5c2994
jmp 0x666ca
movl -0x58(%rbp), %eax
imull -0x60(%rbp), %eax
addl $0x1f, %eax
sarl $0x3, %eax
andl $-0x4, %eax
movl %eax, -0x68(%rbp)
movq -0x80(%rbp), %rax
movslq -0x50(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
cmpl $0x0, -0x5c(%rbp)
jge 0x666fc
xorl %eax, %eax
subl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x6671c
movq -0x78(%rbp), %rax
movl -0x5c(%rbp), %ecx
subl $0x1, %ecx
imull -0x68(%rbp), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
xorl %eax, %eax
subl -0x68(%rbp), %eax
movl %eax, -0x68(%rbp)
movl 0x10(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x58(%rbp), %eax
addl 0x10(%rbp), %eax
movl %eax, -0x44(%rbp)
movl 0x18(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x5c(%rbp), %eax
addl 0x18(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x40(%rbp), %eax
cmpl -0x28(%rbp), %eax
jge 0x66756
cmpl $0x0, -0x44(%rbp)
jle 0x66756
movl -0x48(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x66756
cmpl $0x0, -0x4c(%rbp)
jg 0x66762
movl $0x0, -0x4(%rbp)
jmp 0x66a7c
cmpl $0x0, -0x40(%rbp)
jge 0x6676f
movl $0x0, -0x40(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x28(%rbp), %eax
jle 0x6677d
movl -0x28(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x48(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jge 0x66a75
movl -0x3c(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jb 0x6679c
jmp 0x66a58
movl -0x3c(%rbp), %eax
movl -0x24(%rbp), %ecx
imull %ecx, %eax
movl 0x18(%rbp), %ecx
shll $0x2, %ecx
subl %ecx, %eax
cltq
movq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movl -0x60(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x90(%rbp)
subl $0x1f, %eax
ja 0x66a56
movq -0x90(%rbp), %rax
leaq 0x4cf25(%rip), %rcx     # 0xb3704
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x40(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x44(%rbp), %eax
jge 0x66838
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl -0x38(%rbp), %ecx
andl $0x7, %ecx
xorl $0x7, %ecx
sarl %cl, %eax
andl $0x1, %eax
movslq %eax, %rcx
leaq 0x55c161(%rip), %rax    # 0x5c2980
movl (%rax,%rcx,4), %edx
movq -0x70(%rbp), %rax
movslq -0x38(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x667ee
jmp 0x66a56
movl -0x40(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x44(%rbp), %eax
jge 0x6688f
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
sarl %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl -0x38(%rbp), %ecx
andl $0x1, %ecx
xorl $0x1, %ecx
shll $0x2, %ecx
sarl %cl, %eax
andl $0xf, %eax
movslq %eax, %rcx
leaq 0x55c10a(%rip), %rax    # 0x5c2980
movl (%rax,%rcx,4), %edx
movq -0x70(%rbp), %rax
movslq -0x38(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x66843
jmp 0x66a56
movl -0x40(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x44(%rbp), %eax
jge 0x668d1
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movslq %eax, %rcx
leaq 0x55c0c8(%rip), %rax    # 0x5c2980
movl (%rax,%rcx,4), %edx
movq -0x70(%rbp), %rax
movslq -0x38(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x6689a
jmp 0x66a56
movl -0x40(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x44(%rbp), %eax
jge 0x66974
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
shll %ecx
movslq %ecx, %rcx
movswl (%rax,%rcx), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %edi
movl 0x55c07c(%rip), %esi    # 0x5c2980
callq 0x6bdf0
andl 0x55c07d(%rip), %eax    # 0x5c298c
movl %eax, -0x98(%rbp)
movl -0x30(%rbp), %edi
movl 0x55c066(%rip), %esi    # 0x5c2984
callq 0x6bdf0
movl %eax, %ecx
movl -0x98(%rbp), %eax
andl 0x55c05f(%rip), %ecx    # 0x5c2990
addl %ecx, %eax
movl %eax, -0x94(%rbp)
movl -0x30(%rbp), %edi
movl 0x55c046(%rip), %esi    # 0x5c2988
callq 0x6bdf0
movl -0x94(%rbp), %edx
andl 0x55c041(%rip), %eax    # 0x5c2994
addl %eax, %edx
addl $0xff000000, %edx       # imm = 0xFF000000
movq -0x70(%rbp), %rax
movslq -0x38(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x668dc
jmp 0x66a56
movl -0x40(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x44(%rbp), %eax
jge 0x669b1
movq -0x78(%rbp), %rax
imull $0x3, -0x38(%rbp), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %edx
orl $0xff000000, %edx       # imm = 0xFF000000
movq -0x70(%rbp), %rax
movslq -0x38(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x6697f
jmp 0x66a56
movl -0x40(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x44(%rbp), %eax
jge 0x66a54
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
shll $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %edi
movl 0x55bf9c(%rip), %esi    # 0x5c2980
callq 0x6bdf0
andl 0x55bf9d(%rip), %eax    # 0x5c298c
movl %eax, -0xa0(%rbp)
movl -0x30(%rbp), %edi
movl 0x55bf86(%rip), %esi    # 0x5c2984
callq 0x6bdf0
movl %eax, %ecx
movl -0xa0(%rbp), %eax
andl 0x55bf7f(%rip), %ecx    # 0x5c2990
addl %ecx, %eax
movl %eax, -0x9c(%rbp)
movl -0x30(%rbp), %edi
movl 0x55bf66(%rip), %esi    # 0x5c2988
callq 0x6bdf0
movl -0x9c(%rbp), %edx
andl 0x55bf61(%rip), %eax    # 0x5c2994
addl %eax, %edx
addl $0xff000000, %edx       # imm = 0xFF000000
movq -0x70(%rbp), %rax
movslq -0x38(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x669bc
jmp 0x66a56
jmp 0x66a58
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
movq -0x78(%rbp), %rax
movslq -0x68(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
jmp 0x66783
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax,%rax)