// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/codecs.cpp
// Function: CompressDelta(int*, int*, int, int, smooth::IO::OutStream*)
int CompressDelta(int line[], int prevline[], int x, int parts, PCIOut out)
{
	int	 pixb1 = (x > 0 ? line[x - 1] : 0);

	int	 md = 0;
	int	 bias;
	int	 redbias;
	int	 greenbias;
	int	 bluebias;
	int	 alphabias;

	switch (parts)
	{
		case 1:
			bias = line[x] - (pixb1 + prevline[x]) / 2;

			if (bias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - bias, 3);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(bias - 1, 3);
			}

			break;
		case 3:
			redbias	  = Color(line[x]).GetRed()   - (Color(pixb1).GetRed()	 + Color(prevline[x]).GetRed())	  / 2;
			greenbias = Color(line[x]).GetGreen() - (Color(pixb1).GetGreen() + Color(prevline[x]).GetGreen()) / 2;
			bluebias  = Color(line[x]).GetBlue()  - (Color(pixb1).GetBlue()	 + Color(prevline[x]).GetBlue())  / 2;

			if (((redbias > -Math::Pow(2l, 2)) && (redbias <= Math::Pow(2l, 2))) && ((greenbias > -Math::Pow(2l, 2)) && (greenbias <= Math::Pow(2l, 2))) && ((bluebias > -Math::Pow(2l, 2)) && (bluebias <= Math::Pow(2l, 2))))
			{
				out->OutputBits(0, 2);
				md = 2;
			}
			else if (((redbias > -Math::Pow(2l, 3)) && (redbias <= Math::Pow(2l, 3))) && ((greenbias > -Math::Pow(2l, 3)) && (greenbias <= Math::Pow(2l, 3))) && ((bluebias > -Math::Pow(2l, 3)) && (bluebias <= Math::Pow(2l, 3))))
			{
				out->OutputBits(1, 2);
				md = 3;
			}
			else if (((redbias > -Math::Pow(2l, 4)) && (redbias <= Math::Pow(2l, 4))) && ((greenbias > -Math::Pow(2l, 4)) && (greenbias <= Math::Pow(2l, 4))) && ((bluebias > -Math::Pow(2l, 4)) && (bluebias <= Math::Pow(2l, 4))))
			{
				out->OutputBits(2, 2);
				md = 4;
			}
			else if (((redbias > -Math::Pow(2l, 5)) && (redbias <= Math::Pow(2l, 5))) && ((greenbias > -Math::Pow(2l, 5)) && (greenbias <= Math::Pow(2l, 5))) && ((bluebias > -Math::Pow(2l, 5)) && (bluebias <= Math::Pow(2l, 5))))
			{
				out->OutputBits(3, 2);
				md = 5;
			}

			if (redbias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - redbias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(redbias - 1, md);
			}
			if (greenbias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - greenbias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(greenbias - 1, md);
			}
			if (bluebias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - bluebias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(bluebias - 1, md);
			}

			break;
		case 4:
			redbias	  = Color(line[x]).GetRed()   - (Color(pixb1).GetRed()	 + Color(prevline[x]).GetRed())	  / 2;
			greenbias = Color(line[x]).GetGreen() - (Color(pixb1).GetGreen() + Color(prevline[x]).GetGreen()) / 2;
			bluebias  = Color(line[x]).GetBlue()  - (Color(pixb1).GetBlue()	 + Color(prevline[x]).GetBlue())  / 2;
			alphabias = Color(line[x]).GetAlpha() - (Color(pixb1).GetAlpha() + Color(prevline[x]).GetAlpha()) / 2;

			if (((redbias > -Math::Pow(2l, 2)) && (redbias <= Math::Pow(2l, 2))) && ((greenbias > -Math::Pow(2l, 2)) && (greenbias <= Math::Pow(2l, 2))) && ((bluebias > -Math::Pow(2l, 2)) && (bluebias <= Math::Pow(2l, 2))) && ((alphabias > -Math::Pow(2l, 2)) && (alphabias <= Math::Pow(2l, 2))))
			{
				out->OutputBits(0, 2);
				md = 2;
			}
			else if (((redbias > -Math::Pow(2l, 3)) && (redbias <= Math::Pow(2l, 3))) && ((greenbias > -Math::Pow(2l, 3)) && (greenbias <= Math::Pow(2l, 3))) && ((bluebias > -Math::Pow(2l, 3)) && (bluebias <= Math::Pow(2l, 3))) && ((alphabias > -Math::Pow(2l, 3)) && (alphabias <= Math::Pow(2l, 3))))
			{
				out->OutputBits(1, 2);
				md = 3;
			}
			else if (((redbias > -Math::Pow(2l, 4)) && (redbias <= Math::Pow(2l, 4))) && ((greenbias > -Math::Pow(2l, 4)) && (greenbias <= Math::Pow(2l, 4))) && ((bluebias > -Math::Pow(2l, 4)) && (bluebias <= Math::Pow(2l, 4))) && ((alphabias > -Math::Pow(2l, 4)) && (alphabias <= Math::Pow(2l, 4))))
			{
				out->OutputBits(2, 2);
				md = 4;
			}
			else if (((redbias > -Math::Pow(2l, 5)) && (redbias <= Math::Pow(2l, 5))) && ((greenbias > -Math::Pow(2l, 5)) && (greenbias <= Math::Pow(2l, 5))) && ((bluebias > -Math::Pow(2l, 5)) && (bluebias <= Math::Pow(2l, 5))) && ((alphabias > -Math::Pow(2l, 5)) && (alphabias <= Math::Pow(2l, 5))))
			{
				out->OutputBits(3, 2);
				md = 5;
			}

			if (redbias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - redbias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(redbias - 1, md);
			}
			if (greenbias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - greenbias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(greenbias - 1, md);
			}
			if (bluebias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - bluebias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(bluebias - 1, md);
			}
			if (alphabias <= 0)
			{
				out->OutputBits(0, 1);
				out->OutputBits(0 - alphabias, md);
			}
			else
			{
				out->OutputBits(1, 1);
				out->OutputBits(alphabias - 1, md);
			}

			break;
	}

	return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r8, %rbx
testl %edx, %edx
jle 0xb94e7
movl %edx, %eax
movl -0x4(%rdi,%rax,4), %eax
jmp 0xb94e9
xorl %eax, %eax
cmpl $0x4, %ecx
je 0xb991f
cmpl $0x3, %ecx
je 0xb9539
cmpl $0x1, %ecx
jne 0xb9f81
movslq %edx, %rcx
movl (%rdi,%rcx,4), %r14d
addl (%rsi,%rcx,4), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %r14d
testl %r14d, %r14d
jle 0xb9e4c
movl $0x1, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x57ce0
decl %r14d
jmp 0xb9e5e
movslq %edx, %rcx
movl (%rdi,%rcx,4), %r14d
movl $0xff, %edx
movl %r14d, %r12d
andl %edx, %r12d
movl (%rsi,%rcx,4), %ecx
movl %eax, %esi
andl %edx, %esi
movl %ecx, %edi
andl %edx, %edi
addl %esi, %edi
shrl %edi
subl %edi, %r12d
movl %r14d, %r15d
shrl $0x8, %r15d
andl %edx, %r15d
movl %eax, %esi
shrl $0x8, %esi
movl %ecx, %edi
shrl $0x8, %edi
andl %edx, %esi
andl %edx, %edi
addl %esi, %edi
shrl %edi
subl %edi, %r15d
shrl $0x10, %r14d
andl %edx, %r14d
shrl $0x10, %eax
shrl $0x10, %ecx
andl %edx, %eax
andl %edx, %ecx
addl %eax, %ecx
shrl %ecx
subl %ecx, %r14d
cvtsi2sd %r12d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d87a(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9675
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9675
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d82b(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9675
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9675
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %r13d
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d7e0(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9675
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jae 0xb9e68
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d7a4(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9750
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9750
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d755(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9750
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9750
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, (%rsp)
movl $0x3, %r13d
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d70a(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9750
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
movl $0x1, %esi
ucomisd (%rsp), %xmm0
jae 0xb9e6a
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d6c9(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb982b
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb982b
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d67a(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb982b
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb982b
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, (%rsp)
movl $0x4, %r13d
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d62f(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb982b
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
movl $0x2, %esi
ucomisd (%rsp), %xmm0
jae 0xb9e6a
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d5ee(%rip), %xmm0    # 0xf6e30
xorl %ebp, %ebp
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9ed0
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9ed0
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d59c(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9ed0
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9ed0
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x5, %r13d
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d546(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9ed0
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
movl $0x3, %esi
ucomisd 0x8(%rsp), %xmm0
jae 0xb9e6a
jmp 0xb9ed0
movslq %edx, %rcx
movl (%rdi,%rcx,4), %r14d
movl $0xff, %edx
movl %r14d, %r13d
andl %edx, %r13d
movl (%rsi,%rcx,4), %ecx
movl %eax, %esi
andl %edx, %esi
movl %ecx, %edi
andl %edx, %edi
addl %esi, %edi
shrl %edi
subl %edi, %r13d
movl %r14d, %r12d
shrl $0x8, %r12d
andl %edx, %r12d
movl %eax, %esi
shrl $0x8, %esi
movl %ecx, %edi
shrl $0x8, %edi
andl %edx, %esi
andl %edx, %edi
addl %esi, %edi
shrl %edi
subl %edi, %r12d
movl %r14d, %r15d
shrl $0x10, %r15d
andl %edx, %r15d
movl %eax, %esi
shrl $0x10, %esi
movl %ecx, %edi
shrl $0x10, %edi
andl %edx, %esi
andl %edx, %edi
addl %esi, %edi
shrl %edi
subl %edi, %r15d
shrl $0x18, %r14d
shrl $0x18, %eax
shrl $0x18, %ecx
addl %eax, %ecx
shrl %ecx
subl %ecx, %r14d
cvtsi2sd %r13d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d47c(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9aba
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9aba
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d42d(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9aba
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9aba
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d3e0(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9aba
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9aba
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
xorpd 0x3d39b(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9aba
movl $0x2, %edi
movl $0x2, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jae 0xb9e7c
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d35f(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9be6
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9be6
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d310(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9be6
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9be6
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d2c3(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9be6
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9be6
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, 0x10(%rsp)
movl $0x3, (%rsp)
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
xorpd 0x3d276(%rip), %xmm0    # 0xf6e30
movsd 0x10(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9be6
movl $0x2, %edi
movl $0x3, %esi
callq 0x56010
movl $0x1, %esi
ucomisd 0x10(%rsp), %xmm0
jae 0xb9e85
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d233(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9d12
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9d12
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d1e4(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9d12
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9d12
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, (%rsp)
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d197(%rip), %xmm0    # 0xf6e30
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9d12
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
ucomisd (%rsp), %xmm0
jb 0xb9d12
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, 0x10(%rsp)
movl $0x4, (%rsp)
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
xorpd 0x3d14a(%rip), %xmm0    # 0xf6e30
movsd 0x10(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9d12
movl $0x2, %edi
movl $0x4, %esi
callq 0x56010
movl $0x2, %esi
ucomisd 0x10(%rsp), %xmm0
jae 0xb9e85
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d107(%rip), %xmm0    # 0xf6e30
xorl %ebp, %ebp
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9e95
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9e95
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d0b5(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9e95
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9e95
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d065(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9e95
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
ucomisd 0x8(%rsp), %xmm0
jb 0xb9e95
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x5, (%rsp)
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
xorpd 0x3d00e(%rip), %xmm0    # 0xf6e30
movsd 0x8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xb9e95
movl $0x2, %edi
movl $0x5, %esi
callq 0x56010
movl $0x3, %esi
ucomisd 0x8(%rsp), %xmm0
jae 0xb9e85
jmp 0xb9e95
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x57ce0
negl %r14d
movl $0x3, %ebp
jmp 0xb9f74
xorl %esi, %esi
movq %rbx, %rdi
movl $0x2, %edx
callq 0x57ce0
movl %r13d, %ebp
jmp 0xb9ed0
movl $0x2, (%rsp)
xorl %esi, %esi
movq %rbx, %rdi
movl $0x2, %edx
callq 0x57ce0
movl (%rsp), %ebp
testl %r13d, %r13d
jle 0xb9eb1
movl $0x1, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x57ce0
decl %r13d
jmp 0xb9ec3
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x57ce0
negl %r13d
movl %r13d, %esi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x57ce0
testl %r12d, %r12d
jle 0xb9eec
movl $0x1, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x57ce0
decl %r12d
jmp 0xb9efe
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x57ce0
negl %r12d
movl %r12d, %esi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x57ce0
testl %r15d, %r15d
jle 0xb9f27
movl $0x1, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x57ce0
decl %r15d
jmp 0xb9f39
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x57ce0
negl %r15d
movl %r15d, %esi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x57ce0
testl %r14d, %r14d
jle 0xb9f62
movl $0x1, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x57ce0
decl %r14d
jmp 0xb9f74
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x57ce0
negl %r14d
movl %r14d, %esi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x57ce0
movl $0x1, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq