// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/kplib.c
// Function: initpngtables
static void initpngtables(void)
{
	int i, j, k;

		//hxbit[0-58][0-1] is a combination of 4 different tables:
		//   1st parameter: [0-29] are distances, [30-58] are lengths
		//   2nd parameter: [0]: extra bits, [1]: base number

	j = 1; k = 0;
	for(i=0;i<30;i++)
	{
		hxbit[i][1] = j; j += (1<<k);
		hxbit[i][0] = k; k += ((i&1) && (i >= 2));
	}
	j = 3; k = 0;
	for(i=257;i<285;i++)
	{
		hxbit[i+30-257][1] = j; j += (1<<k);
		hxbit[i+30-257][0] = k; k += ((!(i&3)) && (i >= 264));
	}
	hxbit[285+30-257][1] = 258; hxbit[285+30-257][0] = 0;

	k = getcputype();
	if (k&(1<<15))
	{
		gotcmov = 4;
		for(i=0;i<512;i++) abstab10[512+i] = abstab10[512-i] = i;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x4(%rbp)
cmpl $0x1e, -0x4(%rbp)
jge 0x68749
movl -0x8(%rbp), %edx
movslq -0x4(%rbp), %rcx
leaq 0x55a0af(%rip), %rax    # 0x5c27a0
movl %edx, 0x4(%rax,%rcx,8)
movl -0xc(%rbp), %ecx
movl $0x1, %eax
shll %cl, %eax
addl -0x8(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0xc(%rbp), %edx
movslq -0x4(%rbp), %rcx
leaq 0x55a08d(%rip), %rax    # 0x5c27a0
movl %edx, (%rax,%rcx,8)
movl -0x4(%rbp), %ecx
andl $0x1, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xd(%rbp)
je 0x68730
cmpl $0x2, -0x4(%rbp)
setge %al
movb %al, -0xd(%rbp)
movb -0xd(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x686dd
movl $0x3, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x101, -0x4(%rbp)      # imm = 0x101
cmpl $0x11d, -0x4(%rbp)      # imm = 0x11D
jge 0x687eb
movl -0x8(%rbp), %edx
movl -0x4(%rbp), %eax
addl $0x1e, %eax
subl $0x101, %eax            # imm = 0x101
movslq %eax, %rcx
leaq 0x55a01d(%rip), %rax    # 0x5c27a0
movl %edx, 0x4(%rax,%rcx,8)
movl -0xc(%rbp), %ecx
movl $0x1, %eax
shll %cl, %eax
addl -0x8(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0xc(%rbp), %edx
movl -0x4(%rbp), %eax
addl $0x1e, %eax
subl $0x101, %eax            # imm = 0x101
movslq %eax, %rcx
leaq 0x559ff1(%rip), %rax    # 0x5c27a0
movl %edx, (%rax,%rcx,8)
movl -0x4(%rbp), %ecx
andl $0x3, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xe(%rbp)
jne 0x687cf
cmpl $0x108, -0x4(%rbp)      # imm = 0x108
setge %al
movb %al, -0xe(%rbp)
movb -0xe(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x6875e
movl $0x102, 0x55a17f(%rip)  # imm = 0x102
movl $0x0, 0x55a171(%rip)    # 0x5c2970
callq 0x6bf00
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x68868
movl $0x4, 0x78a6a(%rip)     # 0xe1288
movl $0x0, -0x4(%rbp)
cmpl $0x200, -0x4(%rbp)      # imm = 0x200
jge 0x68866
movl -0x4(%rbp), %edx
movl $0x200, %eax            # imm = 0x200
subl -0x4(%rbp), %eax
movslq %eax, %rcx
leaq 0x57da3d(%rip), %rax    # 0x5e6280
movl %edx, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
addl $0x200, %eax            # imm = 0x200
movslq %eax, %rcx
leaq 0x57da28(%rip), %rax    # 0x5e6280
movl %edx, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x68825
jmp 0x68868
addq $0x10, %rsp
popq %rbp
retq
nop