// File: /workspace/github_cpp_makefile_star2_O3/rossy[P]crossc/SPIRV-Cross/spirv_glsl.cpp
// Function: spirv_cross::CompilerGLSL::constant_expression_vector[abi:cxx11](spirv_cross::SPIRConstant const&, unsigned int)
string CompilerGLSL::constant_expression_vector(const SPIRConstant &c, uint32_t vector)
{
	auto type = get<SPIRType>(c.constant_type);
	type.columns = 1;

	string res;
	bool splat = backend.use_constructor_splatting && c.vector_size() > 1;
	bool swizzle_splat = backend.can_swizzle_scalar && c.vector_size() > 1;

	if (!type_is_floating_point(type))
	{
		// Cannot swizzle literal integers as a special case.
		swizzle_splat = false;
	}

	if (splat || swizzle_splat)
	{
		// Cannot use constant splatting if we have specialization constants somewhere in the vector.
		for (uint32_t i = 0; i < c.vector_size(); i++)
		{
			if (options.vulkan_semantics && c.specialization_constant_id(vector, i) != 0)
			{
				splat = false;
				swizzle_splat = false;
				break;
			}
		}
	}

	if (splat || swizzle_splat)
	{
		if (type.width == 64)
		{
			uint64_t ident = c.scalar_u64(vector, 0);
			for (uint32_t i = 1; i < c.vector_size(); i++)
			{
				if (ident != c.scalar_u64(vector, i))
				{
					splat = false;
					swizzle_splat = false;
					break;
				}
			}
		}
		else
		{
			uint32_t ident = c.scalar(vector, 0);
			for (uint32_t i = 1; i < c.vector_size(); i++)
			{
				if (ident != c.scalar(vector, i))
				{
					splat = false;
					swizzle_splat = false;
				}
			}
		}
	}

	if (c.vector_size() > 1 && !swizzle_splat)
		res += type_to_glsl(type) + "(";

	switch (type.basetype)
	{
	case SPIRType::Half:
		if (splat || swizzle_splat)
		{
			res += convert_half_to_string(c, vector, 0);
			if (swizzle_splat)
				res = remap_swizzle(get<SPIRType>(c.constant_type), 1, res);
		}
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
					res += convert_half_to_string(c, vector, i);

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::Float:
		if (splat || swizzle_splat)
		{
			res += convert_float_to_string(c, vector, 0);
			if (swizzle_splat)
				res = remap_swizzle(get<SPIRType>(c.constant_type), 1, res);
		}
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
					res += convert_float_to_string(c, vector, i);

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::Double:
		if (splat || swizzle_splat)
		{
			res += convert_double_to_string(c, vector, 0);
			if (swizzle_splat)
				res = remap_swizzle(get<SPIRType>(c.constant_type), 1, res);
		}
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
					res += convert_double_to_string(c, vector, i);

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::Int64:
		if (splat)
		{
			res += convert_to_string(c.scalar_i64(vector, 0));
			if (backend.long_long_literal_suffix)
				res += "ll";
			else
				res += "l";
		}
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
				{
					res += convert_to_string(c.scalar_i64(vector, i));
					if (backend.long_long_literal_suffix)
						res += "ll";
					else
						res += "l";
				}

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::UInt64:
		if (splat)
		{
			res += convert_to_string(c.scalar_u64(vector, 0));
			if (backend.long_long_literal_suffix)
				res += "ull";
			else
				res += "ul";
		}
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
				{
					res += convert_to_string(c.scalar_u64(vector, i));
					if (backend.long_long_literal_suffix)
						res += "ull";
					else
						res += "ul";
				}

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::UInt:
		if (splat)
		{
			res += convert_to_string(c.scalar(vector, 0));
			if (is_legacy())
			{
				// Fake unsigned constant literals with signed ones if possible.
				// Things like array sizes, etc, tend to be unsigned even though they could just as easily be signed.
				if (c.scalar_i32(vector, 0) < 0)
					SPIRV_CROSS_THROW("Tried to convert uint literal into int, but this made the literal negative.");
			}
			else if (backend.uint32_t_literal_suffix)
				res += "u";
		}
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
				{
					res += convert_to_string(c.scalar(vector, i));
					if (is_legacy())
					{
						// Fake unsigned constant literals with signed ones if possible.
						// Things like array sizes, etc, tend to be unsigned even though they could just as easily be signed.
						if (c.scalar_i32(vector, i) < 0)
							SPIRV_CROSS_THROW(
							    "Tried to convert uint literal into int, but this made the literal negative.");
					}
					else if (backend.uint32_t_literal_suffix)
						res += "u";
				}

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::Int:
		if (splat)
			res += convert_to_string(c.scalar_i32(vector, 0));
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
					res += convert_to_string(c.scalar_i32(vector, i));
				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	case SPIRType::Boolean:
		if (splat)
			res += c.scalar(vector, 0) ? "true" : "false";
		else
		{
			for (uint32_t i = 0; i < c.vector_size(); i++)
			{
				if (options.vulkan_semantics && c.vector_size() > 1 && c.specialization_constant_id(vector, i) != 0)
					res += to_name(c.specialization_constant_id(vector, i));
				else
					res += c.scalar(vector, i) ? "true" : "false";

				if (i + 1 < c.vector_size())
					res += ", ";
			}
		}
		break;

	default:
		SPIRV_CROSS_THROW("Invalid constant expression basetype.");
	}

	if (c.vector_size() > 1 && !swizzle_splat)
		res += ")";

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movl %ecx, %ebp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movl 0xc(%rdx), %esi
movq %r15, %rdi
callq 0xa3ea
leaq 0x70(%rsp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x1eafa
movl $0x1, 0x18(%r12)
leaq 0x10(%rbx), %rax
movq %rax, 0x48(%rsp)
movq %rax, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, 0x28(%rsp)
movb $0x0, 0x10(%rbx)
movb 0x629(%r15), %r13b
movl 0x40(%r14), %ecx
xorl %esi, %esi
cmpq $0x2, %rcx
setae %sil
movl 0xc(%r12), %eax
leal -0x9(%rax), %edx
cmpl $0x3, %edx
setb %dil
movb 0x62c(%r15), %dl
andb %sil, %dl
andb %dil, %dl
movzbl %dl, %edi
testb %r13b, %r13b
movl %esi, %r8d
cmovel %edi, %r8d
cmpb $0x1, %r8b
jne 0x37ae5
testq %rcx, %rcx
je 0x37aca
movb 0x43e(%r15), %r8b
movl %ebp, %r9d
imulq $0x38, %r9, %r9
addq %r14, %r9
addq $0x30, %r9
xorl %r10d, %r10d
testb %r8b, %r8b
je 0x37ac2
cmpl $0x0, (%r9,%r10,4)
jne 0x37b2b
incq %r10
cmpq %r10, %rcx
jne 0x37ab6
xorl %r8d, %r8d
cmpl $0x2, %ecx
setae %r8b
testb %r13b, %r13b
cmovnel %r8d, %edi
testb %dil, %dil
je 0x37b2b
andb %sil, %r13b
jmp 0x37af1
xorl %r13d, %r13d
movl $0x0, %ebx
testb %dl, %dl
je 0x37b64
movl %ebp, %esi
imulq $0x38, %rsi, %rdi
cmpl $0x40, 0x80(%rsp)
leaq 0x10(%r14,%rdi), %rsi
jne 0x37b32
movq (%rsi), %rsi
addq %r14, %rdi
addq $0x18, %rdi
movq %rcx, %r8
decq %r8
xorl %r9d, %r9d
cmpq (%rdi,%r9,8), %rsi
jne 0x37b2b
incq %r9
cmpq %r9, %r8
jne 0x37b19
movl %edx, %ebx
jmp 0x37b64
xorl %ebx, %ebx
xorl %r13d, %r13d
jmp 0x37b64
movl (%rsi), %esi
addq %r14, %rdi
addq $0x18, %rdi
movq %rcx, %r8
decq %r8
xorl %r9d, %r9d
xorl %r10d, %r10d
movl %edx, %ebx
cmpl (%rdi,%r10,8), %esi
movzbl %bl, %ebx
cmovnel %r9d, %ebx
movzbl %r13b, %r13d
cmovnel %r9d, %r13d
incq %r10
cmpq %r10, %r8
jne 0x37b49
cmpl $0x2, %ecx
movq %r14, 0x30(%rsp)
jb 0x37c39
testb $0x1, %bl
jne 0x37c39
movq (%r15), %rax
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movq %r15, %rsi
xorl %ecx, %ecx
callq *0x98(%rax)
leaq 0x8b0d7(%rip), %rsi     # 0xc2c71
leaq 0x50(%rsp), %rdi
callq 0x64e0
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37bcb
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x37bd2
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x37c15
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq 0x30(%rsp), %r14
je 0x37c35
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x6260
movl 0x7c(%rsp), %eax
addl $-0x2, %eax
cmpl $0x9, %eax
ja 0x38e53
leaq 0x7db60(%rip), %rcx     # 0xb57ac
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testb $0x1, %r13b
je 0x38704
movl %ebp, %eax
imulq $0x38, %rax, %rax
cmpl $0x0, 0x10(%r14,%rax)
leaq 0x7fc16(%rip), %rax     # 0xb7888
leaq 0x7ff10(%rip), %rsi     # 0xb7b89
cmoveq %rax, %rsi
movq 0x28(%rsp), %r13
jmp 0x38cae
testb $0x1, %r13b
je 0x38038
movl %ebp, %eax
imulq $0x38, %rax, %rax
movq 0x10(%r14,%rax), %r12
movl $0x1, %esi
cmpq $0xa, %r12
movq 0x28(%rsp), %r13
jb 0x38acb
movl $0x4, %esi
movabsq $0x346dc5d63886594b, %rdi # imm = 0x346DC5D63886594B
movq %r12, %rcx
cmpq $0x63, %rcx
jbe 0x38aae
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x38ac9
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x38acb
movq %rcx, %rax
mulq %rdi
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x37cc2
addl $-0x3, %esi
jmp 0x38acb
testb $0x1, %r13b
jne 0x37d16
testb $0x1, %bl
je 0x387e4
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
movq 0x28(%rsp), %r12
callq 0x362f6
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x60b0
leaq 0x18(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x37d5d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb $0x1, %bl
je 0x38d16
movq 0x30(%rsp), %rax
movl 0xc(%rax), %esi
movq %r15, %rdi
callq 0xa3ea
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
movl $0x1, %ecx
movq %r12, %r8
callq 0x3299e
jmp 0x38020
testb $0x1, %r13b
je 0x381e5
movl %ebp, %eax
imulq $0x38, %rax, %r12
movl 0x10(%r14,%r12), %ebp
movl $0x1, %eax
cmpl $0xa, %ebp
movq 0x28(%rsp), %r13
jb 0x38b31
movl $0x4, %eax
movl $0xd1b71759, %ecx       # imm = 0xD1B71759
movl %ebp, %edx
cmpl $0x63, %edx
jbe 0x38ab3
cmpl $0x3e7, %edx            # imm = 0x3E7
jbe 0x38b2f
cmpl $0x2710, %edx           # imm = 0x2710
jb 0x38b31
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x2d, %rsi
addl $0x4, %eax
cmpl $0x1869f, %edx          # imm = 0x1869F
movl %esi, %edx
ja 0x37dc7
addl $-0x3, %eax
jmp 0x38b31
testb $0x1, %r13b
jne 0x37e16
testb $0x1, %bl
je 0x388d2
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
movq 0x28(%rsp), %r12
callq 0x371b8
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x60b0
leaq 0x18(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x37e5d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb $0x1, %bl
je 0x38d16
movq 0x30(%rsp), %rax
movl 0xc(%rax), %esi
movq %r15, %rdi
callq 0xa3ea
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
movl $0x1, %ecx
movq %r12, %r8
callq 0x3299e
jmp 0x38020
testb $0x1, %r13b
je 0x383ac
movl %ebp, %eax
imulq $0x38, %rax, %rax
movq 0x10(%r14,%rax), %r13
movq %r13, %r12
negq %r12
cmovsq %r13, %r12
movl $0x1, %ebp
cmpq $0xa, %r12
jb 0x38c33
movl $0x4, %ebp
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r12, %rcx
cmpq $0x63, %rcx
jbe 0x38ab8
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x38c31
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x38c33
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %ebp
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x37ed3
addl $-0x3, %ebp
jmp 0x38c33
testb $0x1, %r13b
je 0x38580
movl %ebp, %eax
imulq $0x38, %rax, %rax
movl 0x10(%r14,%rax), %r15d
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
movq 0x28(%rsp), %r13
jb 0x38cbb
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x38ac0
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x38cb8
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x38cbb
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x37f57
addl $-0x3, %r12d
jmp 0x38cbb
testb $0x1, %r13b
jne 0x37fa8
testb $0x1, %bl
je 0x389c0
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
movq 0x28(%rsp), %r12
callq 0x36be4
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x60b0
leaq 0x18(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x37fef
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb $0x1, %bl
je 0x38d16
movq 0x30(%rsp), %rax
movl 0xc(%rax), %esi
movq %r15, %rdi
callq 0xa3ea
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
movl $0x1, %ecx
movq %r12, %r8
callq 0x3299e
leaq 0x8(%rsp), %r15
movq %r12, %rdi
movq %r15, %rsi
callq 0x6310
movq (%r15), %rdi
jmp 0x38d04
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movq 0x30(%rsp), %rdx
leaq 0x10(%rdx), %rsi
movl %ebp, %ecx
leaq 0x18(%rsp), %r13
imulq $0x38, %rcx, %rcx
addq %rcx, %rdx
addq $0x10, %rdx
movq %rdx, 0x38(%rsp)
xorl %r14d, %r14d
addq %rcx, %rsi
movq %rsi, 0x40(%rsp)
movabsq $0x346dc5d63886594b, %r12 # imm = 0x346DC5D63886594B
cmpl $0x2, %eax
jb 0x380e2
cmpb $0x0, 0x43e(%r15)
je 0x380e2
movq 0x40(%rsp), %rax
movl 0x20(%rax,%r14,4), %edx
testl %edx, %edx
je 0x380e2
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x381ae
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x381ae
movq 0x38(%rsp), %rax
movq (%rax,%r14,8), %rbp
movl $0x1, %esi
cmpq $0xa, %rbp
jb 0x3813b
movl $0x4, %esi
movq %rbp, %rcx
cmpq $0x63, %rcx
jbe 0x38134
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x38139
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x3813b
movq %rcx, %rax
mulq %r12
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x380fe
addl $-0x3, %esi
jmp 0x3813b
addl $-0x2, %esi
jmp 0x3813b
decl %esi
movl %esi, %esi
movq %r13, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
xorl %edx, %edx
callq 0x62f0
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movq %rbp, %rdx
callq 0x5c9b7
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3818a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
cmpb $0x0, 0x603(%r15)
leaq 0x80b88(%rip), %rsi     # 0xb8d21
leaq 0x800c9(%rip), %rax     # 0xb8269
cmovneq %rax, %rsi
movq 0x28(%rsp), %rdi
callq 0x64e0
incq %r14
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jae 0x381d7
movq 0x28(%rsp), %rdi
leaq 0x81ee1(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jb 0x3807e
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movq 0x30(%rsp), %rdx
leaq 0x10(%rdx), %rsi
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%rdx,%rcx), %r12
addq $0x10, %r12
xorl %ebp, %ebp
addq %rcx, %rsi
movq %rsi, 0x38(%rsp)
movl $0xd1b71759, %r14d      # imm = 0xD1B71759
cmpl $0x2, %eax
jb 0x38288
cmpb $0x0, 0x43e(%r15)
je 0x38288
movq 0x38(%rsp), %rax
movl 0x20(%rax,%rbp,4), %edx
testl %edx, %edx
je 0x38288
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r13
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38377
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x38377
movl (%r12,%rbp,8), %r13d
movl $0x1, %eax
cmpl $0xa, %r13d
jb 0x382d7
movl $0x4, %eax
movl %r13d, %ecx
cmpl $0x63, %ecx
jbe 0x382d0
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x382d5
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x382d7
movl %ecx, %edx
imulq %r14, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3829f
addl $-0x3, %eax
jmp 0x382d7
addl $-0x2, %eax
jmp 0x382d7
decl %eax
movl %eax, %esi
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
xorl %edx, %edx
callq 0x62f0
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movl %r13d, %edx
callq 0x20b57
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r13
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38333
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
cmpb $0x0, 0x43c(%r15)
movl $0x81, %eax
movl $0x12b, %ecx            # imm = 0x12B
cmovnel %ecx, %eax
cmpl %eax, 0x438(%r15)
jbe 0x3836c
cmpb $0x1, 0x602(%r15)
jne 0x38377
movq %r13, %rdi
leaq 0x81904(%rip), %rsi     # 0xb9c69
callq 0x64e0
jmp 0x38377
cmpl $0x0, (%r12,%rbp,8)
js 0x38dee
incq %rbp
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %rbp
jae 0x3839e
movq %r13, %rdi
leaq 0x81d1a(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %rbp
jb 0x3821d
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movq 0x30(%rsp), %rdx
leaq 0x10(%rdx), %rsi
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
addq %rcx, %rdx
addq $0x10, %rdx
movq %rdx, 0x38(%rsp)
xorl %r14d, %r14d
addq %rcx, %rsi
movq %rsi, 0x40(%rsp)
cmpl $0x2, %eax
jb 0x3844f
cmpb $0x0, 0x43e(%r15)
je 0x3844f
movq 0x40(%rsp), %rax
movl 0x20(%rax,%r14,4), %edx
testl %edx, %edx
je 0x3844f
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r12
movq %r12, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x3854b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x3854b
movq 0x38(%rsp), %rax
movq (%rax,%r14,8), %rbp
movq %rbp, %r13
negq %r13
cmovsq %rbp, %r13
movl $0x1, %r12d
cmpq $0xa, %r13
jb 0x384c2
movl $0x4, %r12d
movq %r13, %rcx
cmpq $0x63, %rcx
jbe 0x384b9
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x384bf
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x384c2
movq %rcx, %rax
movabsq $0x346dc5d63886594b, %rdx # imm = 0x346DC5D63886594B
mulq %rdx
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x38477
addl $-0x3, %r12d
jmp 0x384c2
addl $-0x2, %r12d
jmp 0x384c2
decl %r12d
shrq $0x3f, %rbp
leal (%r12,%rbp), %esi
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
movl $0x2d, %edx
callq 0x62f0
addq 0x8(%rsp), %rbp
movq %rbp, %rdi
movl %r12d, %esi
movq %r13, %rdx
callq 0x5c9b7
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r12
movq %r12, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38529
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
cmpb $0x0, 0x603(%r15)
leaq 0x84438(%rip), %rsi     # 0xbc970
leaq 0x8072f(%rip), %rax     # 0xb8c6e
cmovneq %rax, %rsi
movq %r12, %rdi
callq 0x64e0
incq %r14
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jae 0x38572
movq %r12, %rdi
leaq 0x81b46(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jb 0x383e3
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movq 0x30(%rsp), %rdx
leaq 0x10(%rdx), %rsi
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
addq %rcx, %rdx
addq $0x10, %rdx
movq %rdx, 0x38(%rsp)
xorl %r14d, %r14d
addq %rcx, %rsi
movq %rsi, 0x40(%rsp)
cmpl $0x2, %eax
jb 0x38603
cmpb $0x0, 0x43e(%r15)
je 0x38603
movq 0x40(%rsp), %rax
movl 0x20(%rax,%r14,4), %edx
testl %edx, %edx
je 0x38603
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r12
movq %r12, %rdi
callq 0x60b0
jmp 0x386b3
movq 0x38(%rsp), %rax
movl (%rax,%r14,8), %ebp
movl %ebp, %r13d
negl %r13d
cmovsl %ebp, %r13d
movl $0x1, %r12d
cmpl $0xa, %r13d
jb 0x38669
movl $0x4, %r12d
movl %r13d, %eax
cmpl $0x63, %eax
jbe 0x38660
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38666
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x38669
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3862b
addl $-0x3, %r12d
jmp 0x38669
addl $-0x2, %r12d
jmp 0x38669
decl %r12d
shrl $0x1f, %ebp
leal (%r12,%rbp), %esi
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
movl $0x2d, %edx
callq 0x62f0
addq 0x8(%rsp), %rbp
movq %rbp, %rdi
movl %r12d, %esi
movl %r13d, %edx
callq 0x20b57
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r12
movq %r12, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x386cf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r14
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jae 0x386f6
movq %r12, %rdi
leaq 0x819c2(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jb 0x385b7
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movl %ebp, %edx
cmpl $0x1, %eax
setne %cl
imulq $0x38, %rdx, %rbp
addq 0x30(%rsp), %rbp
xorl %r14d, %r14d
leaq 0x7f158(%rip), %r12     # 0xb7888
leaq 0x7f452(%rip), %r13     # 0xb7b89
testb $0x1, %cl
je 0x38794
cmpb $0x0, 0x43e(%r15)
je 0x38794
movl 0x30(%rbp,%r14,4), %edx
testl %edx, %edx
je 0x38794
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x387ab
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x387ab
cmpl $0x0, 0x10(%rbp,%r14,8)
movq %r13, %rsi
cmoveq %r12, %rsi
movq 0x28(%rsp), %rdi
callq 0x64e0
incq %r14
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r14
jae 0x387d4
movq 0x28(%rsp), %rdi
leaq 0x818e4(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
movb $0x1, %cl
cmpq %rax, %r14
jb 0x38737
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movl %ebp, %edx
cmpl $0x1, %eax
setne %cl
imulq $0x38, %rdx, %rax
movq 0x30(%rsp), %rdx
leaq (%rax,%rdx), %r14
addq $0x30, %r14
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
testb $0x1, %cl
je 0x38854
cmpb $0x0, 0x43e(%r15)
je 0x38854
movl (%r14,%r12,4), %edx
testl %edx, %edx
je 0x38854
movq (%r15), %rax
movq %r13, %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
jmp 0x3887d
movq %r13, %rdi
movq %r15, %rsi
movq 0x30(%rsp), %rdx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x362f6
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38899
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r12
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r12
jae 0x388c2
movq 0x28(%rsp), %rdi
leaq 0x817f6(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
movb $0x1, %cl
cmpq %rax, %r12
jb 0x38816
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movl %ebp, %edx
cmpl $0x1, %eax
setne %cl
imulq $0x38, %rdx, %rax
movq 0x30(%rsp), %rdx
leaq (%rax,%rdx), %r14
addq $0x30, %r14
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
testb $0x1, %cl
je 0x38942
cmpb $0x0, 0x43e(%r15)
je 0x38942
movl (%r14,%r12,4), %edx
testl %edx, %edx
je 0x38942
movq (%r15), %rax
movq %r13, %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
jmp 0x3896b
movq %r13, %rdi
movq %r15, %rsi
movq 0x30(%rsp), %rdx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x371b8
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38987
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r12
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r12
jae 0x389b0
movq 0x28(%rsp), %rdi
leaq 0x81708(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
movb $0x1, %cl
cmpq %rax, %r12
jb 0x38904
jmp 0x38d1e
movl 0x40(%r14), %eax
testl %eax, %eax
movq 0x28(%rsp), %r12
je 0x38d3c
movl %ebp, %edx
cmpl $0x1, %eax
setne %cl
imulq $0x38, %rdx, %rax
movq 0x30(%rsp), %rdx
leaq (%rax,%rdx), %r14
addq $0x30, %r14
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
testb $0x1, %cl
je 0x38a30
cmpb $0x0, 0x43e(%r15)
je 0x38a30
movl (%r14,%r12,4), %edx
testl %edx, %edx
je 0x38a30
movq (%r15), %rax
movq %r13, %rdi
movq %r15, %rsi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
jmp 0x38a59
movq %r13, %rdi
movq %r15, %rsi
movq 0x30(%rsp), %rdx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x36be4
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38a75
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r12
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpq %rax, %r12
jae 0x38a9e
movq 0x28(%rsp), %rdi
leaq 0x8161a(%rip), %rsi     # 0xba0ab
callq 0x64e0
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
movb $0x1, %cl
cmpq %rax, %r12
jb 0x389f2
jmp 0x38d1e
addl $-0x2, %esi
jmp 0x38acb
addl $-0x2, %eax
jmp 0x38b31
addl $-0x2, %ebp
jmp 0x38c33
addl $-0x2, %r12d
jmp 0x38cbb
decl %esi
movl %esi, %esi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8(%rsp), %rdi
xorl %edx, %edx
callq 0x62f0
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movq %r12, %rdx
callq 0x5c9b7
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x38b1c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x7f746(%rip), %rax     # 0xb8269
leaq 0x801f7(%rip), %rsi     # 0xb8d21
jmp 0x38ca2
decl %eax
movl %eax, %esi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8(%rsp), %rdi
xorl %edx, %edx
callq 0x62f0
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movl %ebp, %edx
callq 0x20b57
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x38b81
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
cmpb $0x0, 0x43c(%r15)
movl $0x12b, %eax            # imm = 0x12B
movl $0x81, %ecx
cmovnel %eax, %ecx
cmpl %ecx, 0x438(%r15)
jbe 0x38bb9
cmpb $0x0, 0x602(%r15)
je 0x38d16
leaq 0x810b5(%rip), %rsi     # 0xb9c69
jmp 0x38cae
movq 0x30(%rsp), %rax
addq %r12, %rax
addq $0x10, %rax
cmpl $0x0, (%rax)
jns 0x38d16
movl $0x10, %edi
callq 0x6140
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x7f6b4(%rip), %rsi     # 0xb829e
leaq 0x7f6f8(%rip), %rdx     # 0xb82e9
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x6320
leaq 0xc31bb(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r15)
xorl %ebp, %ebp
leaq 0xc3193(%rip), %rsi     # 0xfbdb0
movq 0xc43b4(%rip), %rdx     # 0xfcfd8
movq %r15, %rdi
callq 0x6470
jmp 0x38eb7
decl %ebp
shrq $0x3f, %r13
leal (%r13,%rbp), %esi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8(%rsp), %rdi
movl $0x2d, %edx
callq 0x62f0
addq 0x8(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movq %r12, %rdx
callq 0x5c9b7
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r13
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x38c94
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x7ffd3(%rip), %rax     # 0xb8c6e
leaq 0x83cce(%rip), %rsi     # 0xbc970
cmpb $0x0, 0x603(%r15)
cmovneq %rax, %rsi
movq %r13, %rdi
callq 0x64e0
jmp 0x38d16
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8(%rsp), %rdi
movl $0x2d, %edx
callq 0x62f0
addq 0x8(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x20b57
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x38d16
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x30(%rsp), %rax
movl 0x40(%rax), %eax
cmpl $0x2, %eax
movq 0x28(%rsp), %r12
jb 0x38d3c
testb $0x1, %bl
jne 0x38d3c
leaq 0x81ce1(%rip), %rsi     # 0xbaa15
movq %r12, %rdi
callq 0x64e0
leaq 0xc369d(%rip), %rax     # 0xfc3e0
addq $0x10, %rax
leaq 0x110(%rsp), %r14
movq %rax, -0xa0(%r14)
movq %r14, %rdi
callq 0xde80
movq -0x38(%r14), %rdi
testq %rdi, %rdi
je 0x38d77
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x38dbc
movq 0xc8(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
xorl %eax, %eax
movq %rax, 0xa8(%rsp)
movl %eax, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
movl %eax, 0xc0(%rsp)
movq %rax, 0xc8(%rsp)
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x38dd9
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq %r12, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x6140
movq %rax, %r15
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0x7f48f(%rip), %rsi     # 0xb829e
leaq 0x7f4d3(%rip), %rdx     # 0xb82e9
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x6320
leaq 0xc2f96(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r15)
xorl %ebp, %ebp
leaq 0xc2f6e(%rip), %rsi     # 0xfbdb0
movq 0xc418f(%rip), %rdx     # 0xfcfd8
movq %r15, %rdi
callq 0x6470
jmp 0x38eb7
movl $0x10, %edi
callq 0x6140
movq %rax, %r15
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7f47a(%rip), %rsi     # 0xb82ea
leaq 0x7f498(%rip), %rdx     # 0xb830f
leaq 0x8(%rsp), %rdi
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x6320
leaq 0xc2f30(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r15)
xorl %ebp, %ebp
leaq 0xc2f08(%rip), %rsi     # 0xfbdb0
movq 0xc4129(%rip), %rdx     # 0xfcfd8
movq %r15, %rdi
callq 0x6470
jmp 0x38eee
jmp 0x38f79
jmp 0x38ec4
jmp 0x38ec4
jmp 0x38ec4
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x39007
jmp 0x3902e
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x38f62
jmp 0x38f6f
jmp 0x38f79
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x38f12
jmp 0x38f12
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x39002
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x38ff5
jmp 0x38ff5
jmp 0x38ff5
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x38f6f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb %bpl, %bpl
jne 0x38f7c
jmp 0x3902e
movq %rax, %rbx
movq %r15, %rdi
callq 0x6200
jmp 0x3902e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x38fa8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x38fa8
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3902e
movq 0x60(%rsp), %rsi
jmp 0x3900c
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x38ff5
jmp 0x38ff5
jmp 0x39016
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x38ff5
jmp 0x38ff5
jmp 0x3902b
jmp 0x3902b
jmp 0x38ff5
jmp 0x38ff5
jmp 0x38ff5
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
jmp 0x38ff5
jmp 0x38ff5
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x3902e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x3902e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x39007
jmp 0x3902e
jmp 0x3902b
jmp 0x3902b
jmp 0x3902b
movq %rax, %rbx
movq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq 0x48(%rsp), %rdi
je 0x3904d
movq 0x48(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x6260
leaq 0x70(%rsp), %rdi
callq 0x1be02
movq %rbx, %rdi
callq 0x64a0
nop