// File: /workspace/github_cpp_makefile_star2_O1/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 0xa426
leaq 0x70(%rsp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x1f216
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)
cmpl $0x2, 0x40(%r14)
setae %bl
movb 0x629(%r15), %r13b
andb %bl, %r13b
movl 0xc(%r12), %eax
addl $-0x9, %eax
cmpl $0x3, %eax
setb %al
andb 0x62c(%r15), %bl
andb %al, %bl
testb %r13b, %r13b
jne 0x38253
testb %bl, %bl
je 0x3828b
movl 0x40(%r14), %eax
testq %rax, %rax
je 0x3828b
movl %ebp, %edx
movb 0x43e(%r15), %cl
imulq $0x38, %rdx, %rdx
addq %r14, %rdx
addq $0x30, %rdx
xorl %esi, %esi
testb %cl, %cl
je 0x3827c
cmpl $0x0, (%rdx,%rsi,4)
jne 0x38286
incq %rsi
cmpq %rsi, %rax
jne 0x38272
jmp 0x3828b
xorl %ebx, %ebx
xorl %r13d, %r13d
testb %r13b, %r13b
jne 0x38304
testb %bl, %bl
jne 0x38304
cmpl $0x2, 0x40(%r14)
movq %r15, 0x30(%rsp)
jb 0x383eb
testb $0x1, %bl
jne 0x383eb
movq (%r15), %rax
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movq %r15, %rsi
xorl %ecx, %ecx
callq *0x98(%rax)
leaq 0x8b9d5(%rip), %rsi     # 0xc3ca1
leaq 0x50(%rsp), %rdi
callq 0x64e0
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38381
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x38388
movl %ebp, %eax
imulq $0x38, %rax, %rdx
cmpl $0x40, 0x80(%rsp)
leaq 0x10(%r14,%rdx), %rcx
movl 0x40(%r14), %eax
jne 0x3834a
cmpl $0x2, %eax
jb 0x38294
movq (%rcx), %rcx
decl %eax
addq %r14, %rdx
addq $0x18, %rdx
xorl %esi, %esi
cmpq (%rdx,%rsi,8), %rcx
jne 0x387fe
incq %rsi
cmpl %esi, %eax
jne 0x38334
jmp 0x38294
cmpl $0x2, %eax
jb 0x38294
movl (%rcx), %ecx
addq %r14, %rdx
addq $0x18, %rdx
decq %rax
xorl %esi, %esi
xorl %edi, %edi
cmpl (%rdx,%rdi,8), %ecx
movzbl %bl, %ebx
cmovnel %esi, %ebx
movzbl %r13b, %r13d
cmovnel %esi, %r13d
incq %rdi
cmpq %rdi, %rax
jne 0x38363
jmp 0x38294
movups (%rcx), %xmm0
movups %xmm0, (%r15)
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 %r15, %rdi
je 0x383cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq 0x30(%rsp), %r15
je 0x383eb
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x6260
movl 0x7c(%rsp), %eax
addl $-0x2, %eax
cmpl $0x9, %eax
ja 0x395b2
leaq 0x7e3ba(%rip), %rcx     # 0xb67bc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testb $0x1, %r13b
je 0x38eb1
movl %ebp, %eax
imulq $0x38, %rax, %rax
cmpl $0x0, 0x10(%r14,%rax)
leaq 0x80470(%rip), %rax     # 0xb8898
leaq 0x8076a(%rip), %rsi     # 0xb8b99
cmoveq %rax, %rsi
movq 0x28(%rsp), %r13
jmp 0x39410
testb $0x1, %r13b
je 0x38808
movl %ebp, %eax
imulq $0x38, %rax, %rax
movq 0x10(%r14,%rax), %r12
movl $0x1, %esi
cmpq $0xa, %r12
movq 0x28(%rsp), %r13
jb 0x3922b
movl $0x4, %esi
movabsq $0x346dc5d63886594b, %rdi # imm = 0x346DC5D63886594B
movq %r12, %rcx
cmpq $0x63, %rcx
jbe 0x3920e
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x39229
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x3922b
movq %rcx, %rax
mulq %rdi
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x38478
addl $-0x3, %esi
jmp 0x3922b
testb $0x1, %r13b
jne 0x384cc
testb $0x1, %bl
je 0x38f80
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
callq 0x36a76
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
leaq 0x18(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x38511
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb $0x1, %bl
je 0x3947a
movl 0xc(%r14), %esi
movq 0x30(%rsp), %r15
movq %r15, %rdi
movq 0x28(%rsp), %r13
callq 0xa426
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
movl $0x1, %ecx
movq %r13, %r8
callq 0x33048
jmp 0x387dd
testb $0x1, %r13b
je 0x389ae
movl %ebp, %eax
imulq $0x38, %rax, %r15
movl 0x10(%r14,%r15), %ebp
movl $0x1, %eax
cmpl $0xa, %ebp
movq 0x28(%rsp), %r13
jb 0x39291
movl $0x4, %eax
movl $0xd1b71759, %ecx       # imm = 0xD1B71759
movl %ebp, %edx
cmpl $0x63, %edx
jbe 0x39213
cmpl $0x3e7, %edx            # imm = 0x3E7
jbe 0x3928f
cmpl $0x2710, %edx           # imm = 0x2710
jb 0x39291
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x2d, %rsi
addl $0x4, %eax
cmpl $0x1869f, %edx          # imm = 0x1869F
movl %esi, %edx
ja 0x38581
addl $-0x3, %eax
jmp 0x39291
testb $0x1, %r13b
jne 0x385d0
testb $0x1, %bl
je 0x3905a
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
callq 0x37946
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
leaq 0x18(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x38615
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb $0x1, %bl
je 0x3947a
movl 0xc(%r14), %esi
movq 0x30(%rsp), %r15
movq %r15, %rdi
movq 0x28(%rsp), %r13
callq 0xa426
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
movl $0x1, %ecx
movq %r13, %r8
callq 0x33048
jmp 0x387dd
testb $0x1, %r13b
je 0x38b6b
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 0x39391
movl $0x4, %ebp
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r12, %rcx
cmpq $0x63, %rcx
jbe 0x39218
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x3938f
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x39391
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %ebp
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x38691
addl $-0x3, %ebp
jmp 0x39391
testb $0x1, %r13b
je 0x38d38
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
jb 0x3941d
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x39220
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3941a
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3941d
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x38710
addl $-0x3, %r12d
jmp 0x3941d
testb $0x1, %r13b
jne 0x38761
testb $0x1, %bl
je 0x39134
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
callq 0x3735a
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
leaq 0x18(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x387a6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb $0x1, %bl
je 0x3947a
movl 0xc(%r14), %esi
movq 0x30(%rsp), %r15
movq %r15, %rdi
movq 0x28(%rsp), %r13
callq 0xa426
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movq %rax, %rdx
movl $0x1, %ecx
movq %r13, %r8
callq 0x33048
leaq 0x8(%rsp), %r15
movq %r13, %rdi
movq %r15, %rsi
callq 0x6310
movq (%r15), %rdi
cmpq %r12, %rdi
jne 0x3946d
jmp 0x3947a
xorl %ebx, %ebx
xorl %r13d, %r13d
jmp 0x38294
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
leaq 0x10(%r14), %rdx
movl %ebp, %ecx
leaq 0x18(%rsp), %r13
imulq $0x38, %rcx, %rcx
leaq (%r14,%rcx), %rsi
addq $0x10, %rsi
movq %rsi, 0x38(%rsp)
xorl %r15d, %r15d
addq %rcx, %rdx
movq %rdx, 0x40(%rsp)
movabsq $0x346dc5d63886594b, %r12 # imm = 0x346DC5D63886594B
cmpl $0x2, %eax
jb 0x388af
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x388af
movq 0x40(%rsp), %rax
movl 0x20(%rax,%r15,4), %edx
testl %edx, %edx
je 0x388af
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
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 0x3897f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x3897f
movq 0x38(%rsp), %rax
movq (%rax,%r15,8), %rbp
movl $0x1, %esi
cmpq $0xa, %rbp
jb 0x38908
movl $0x4, %esi
movq %rbp, %rcx
cmpq $0x63, %rcx
jbe 0x38901
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x38906
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x38908
movq %rcx, %rax
mulq %r12
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x388cb
addl $-0x3, %esi
jmp 0x38908
addl $-0x2, %esi
jmp 0x38908
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 0x5d1e3
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x38957
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x30(%rsp), %rax
cmpb $0x0, 0x603(%rax)
leaq 0x813c7(%rip), %rsi     # 0xb9d31
leaq 0x80908(%rip), %rax     # 0xb9279
cmovneq %rax, %rsi
movq 0x28(%rsp), %rdi
callq 0x64e0
incq %r15
movl 0x40(%r14), %eax
cmpq %rax, %r15
jae 0x3899c
movq 0x28(%rsp), %rdi
leaq 0x82724(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r15
jb 0x38845
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
leaq 0x10(%r14), %rdx
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%r14,%rcx), %r12
addq $0x10, %r12
xorl %ebp, %ebp
addq %rcx, %rdx
movq %rdx, 0x38(%rsp)
movl $0xd1b71759, %r15d      # imm = 0xD1B71759
cmpl $0x2, %eax
jb 0x38a4d
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x38a4d
movq 0x38(%rsp), %rax
movl 0x20(%rax,%rbp,4), %edx
testl %edx, %edx
je 0x38a4d
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
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 0x38b3e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x38b3e
movl (%r12,%rbp,8), %r13d
movl $0x1, %eax
cmpl $0xa, %r13d
jb 0x38a9c
movl $0x4, %eax
movl %r13d, %ecx
cmpl $0x63, %ecx
jbe 0x38a95
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x38a9a
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x38a9c
movl %ecx, %edx
imulq %r15, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x38a64
addl $-0x3, %eax
jmp 0x38a9c
addl $-0x2, %eax
jmp 0x38a9c
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 0x21251
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 0x38af8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x30(%rsp), %rcx
cmpb $0x0, 0x43c(%rcx)
movl $0x81, %eax
movl $0x12b, %edx            # imm = 0x12B
cmovnel %edx, %eax
cmpl %eax, 0x438(%rcx)
jbe 0x38b33
cmpb $0x1, 0x602(%rcx)
jne 0x38b3e
movq %r13, %rdi
leaq 0x8214d(%rip), %rsi     # 0xbac79
callq 0x64e0
jmp 0x38b3e
cmpl $0x0, (%r12,%rbp,8)
js 0x3954e
incq %rbp
movl 0x40(%r14), %eax
cmpq %rax, %rbp
jae 0x38b59
movq %r13, %rdi
leaq 0x82567(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %rbp
jb 0x389dc
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
leaq 0x10(%r14), %rdx
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%r14,%rcx), %rsi
addq $0x10, %rsi
movq %rsi, 0x38(%rsp)
xorl %r15d, %r15d
addq %rcx, %rdx
movq %rdx, 0x40(%rsp)
cmpl $0x2, %eax
jb 0x38c0b
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x38c0b
movq 0x40(%rsp), %rax
movl 0x20(%rax,%r15,4), %edx
testl %edx, %edx
je 0x38c0b
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
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 0x38d0b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x38d0b
movq 0x38(%rsp), %rax
movq (%rax,%r15,8), %rbp
movq %rbp, %r13
negq %r13
cmovsq %rbp, %r13
movl $0x1, %r12d
cmpq $0xa, %r13
jb 0x38c7e
movl $0x4, %r12d
movq %r13, %rcx
cmpq $0x63, %rcx
jbe 0x38c75
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x38c7b
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x38c7e
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 0x38c33
addl $-0x3, %r12d
jmp 0x38c7e
addl $-0x2, %r12d
jmp 0x38c7e
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 0x5d1e3
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 0x38ce5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x30(%rsp), %rax
cmpb $0x0, 0x603(%rax)
leaq 0x84c70(%rip), %rsi     # 0xbd968
leaq 0x80f7f(%rip), %rax     # 0xb9c7e
cmovneq %rax, %rsi
movq %r12, %rdi
callq 0x64e0
incq %r15
movl 0x40(%r14), %eax
cmpq %rax, %r15
jae 0x38d26
movq %r12, %rdi
leaq 0x8239a(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r15
jb 0x38b99
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
leaq 0x10(%r14), %rdx
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%r14,%rcx), %rsi
addq $0x10, %rsi
movq %rsi, 0x38(%rsp)
xorl %r15d, %r15d
addq %rcx, %rdx
movq %rdx, 0x40(%rsp)
cmpl $0x2, %eax
jb 0x38db8
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x38db8
movq 0x40(%rsp), %rax
movl 0x20(%rax,%r15,4), %edx
testl %edx, %edx
je 0x38db8
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r12
movq %r12, %rdi
callq 0x60b0
jmp 0x38e68
movq 0x38(%rsp), %rax
movl (%rax,%r15,8), %ebp
movl %ebp, %r13d
negl %r13d
cmovsl %ebp, %r13d
movl $0x1, %r12d
cmpl $0xa, %r13d
jb 0x38e1e
movl $0x4, %r12d
movl %r13d, %eax
cmpl $0x63, %eax
jbe 0x38e15
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38e1b
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x38e1e
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 0x38de0
addl $-0x3, %r12d
jmp 0x38e1e
addl $-0x2, %r12d
jmp 0x38e1e
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 0x21251
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 0x38e84
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r15
movl 0x40(%r14), %eax
cmpq %rax, %r15
jae 0x38e9f
movq %r12, %rdi
leaq 0x82221(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r15
jb 0x38d66
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
movl %ebp, %ecx
imulq $0x38, %rcx, %rbp
addq %r14, %rbp
xorl %r15d, %r15d
leaq 0x7f9c8(%rip), %r12     # 0xb8898
leaq 0x7fcc2(%rip), %r13     # 0xb8b99
cmpl $0x2, %eax
jb 0x38f3a
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x38f3a
movl 0x30(%rbp,%r15,4), %edx
testl %edx, %edx
je 0x38f3a
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
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 0x38f51
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x38f51
cmpl $0x0, 0x10(%rbp,%r15,8)
movq %r13, %rsi
cmoveq %r12, %rsi
movq 0x28(%rsp), %rdi
callq 0x64e0
incq %r15
movl 0x40(%r14), %eax
cmpq %rax, %r15
jae 0x38f6e
movq 0x28(%rsp), %rdi
leaq 0x82152(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r15
jb 0x38ed7
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%rcx,%r14), %r15
addq $0x30, %r15
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
cmpl $0x2, %eax
jb 0x38fe6
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x38fe6
movl (%r15,%r12,4), %edx
testl %edx, %edx
je 0x38fe6
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
movq %r13, %rdi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
jmp 0x3900f
movq %r13, %rdi
movq 0x30(%rsp), %rsi
movq %r14, %rdx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x36a76
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 0x3902b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r12
movl 0x40(%r14), %eax
cmpq %rax, %r12
jae 0x39048
movq 0x28(%rsp), %rdi
leaq 0x82078(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r12
jb 0x38fa2
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%rcx,%r14), %r15
addq $0x30, %r15
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
cmpl $0x2, %eax
jb 0x390c0
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x390c0
movl (%r15,%r12,4), %edx
testl %edx, %edx
je 0x390c0
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
movq %r13, %rdi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
jmp 0x390e9
movq %r13, %rdi
movq 0x30(%rsp), %rsi
movq %r14, %rdx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x37946
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 0x39105
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r12
movl 0x40(%r14), %eax
cmpq %rax, %r12
jae 0x39122
movq 0x28(%rsp), %rdi
leaq 0x81f9e(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r12
jb 0x3907c
jmp 0x3947a
movl 0x40(%r14), %eax
testl %eax, %eax
je 0x3947a
movl %ebp, %ecx
imulq $0x38, %rcx, %rcx
leaq (%rcx,%r14), %r15
addq $0x30, %r15
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
cmpl $0x2, %eax
jb 0x3919a
movq 0x30(%rsp), %rax
cmpb $0x0, 0x43e(%rax)
je 0x3919a
movl (%r15,%r12,4), %edx
testl %edx, %edx
je 0x3919a
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
movq %r13, %rdi
movl $0x1, %ecx
callq *0x38(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
jmp 0x391c3
movq %r13, %rdi
movq 0x30(%rsp), %rsi
movq %r14, %rdx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x3735a
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 0x391df
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incq %r12
movl 0x40(%r14), %eax
cmpq %rax, %r12
jae 0x391fc
movq 0x28(%rsp), %rdi
leaq 0x81ec4(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x40(%r14), %eax
cmpq %rax, %r12
jb 0x39156
jmp 0x3947a
addl $-0x2, %esi
jmp 0x3922b
addl $-0x2, %eax
jmp 0x39291
addl $-0x2, %ebp
jmp 0x39391
addl $-0x2, %r12d
jmp 0x3941d
decl %esi
movl %esi, %esi
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x8(%rsp), %rdi
xorl %edx, %edx
callq 0x62f0
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movq %r12, %rdx
callq 0x5d1e3
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x3927c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x7fff6(%rip), %rax     # 0xb9279
leaq 0x80aa7(%rip), %rsi     # 0xb9d31
jmp 0x39400
decl %eax
movl %eax, %esi
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x8(%rsp), %rdi
xorl %edx, %edx
callq 0x62f0
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movl %ebp, %edx
callq 0x21251
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x392e2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x30(%rsp), %rdx
cmpb $0x0, 0x43c(%rdx)
movl $0x12b, %eax            # imm = 0x12B
movl $0x81, %ecx
cmovnel %eax, %ecx
cmpl %ecx, 0x438(%rdx)
jbe 0x3931c
cmpb $0x0, 0x602(%rdx)
je 0x3947a
leaq 0x81962(%rip), %rsi     # 0xbac79
jmp 0x38433
leaq (%r14,%r15), %rax
addq $0x10, %rax
cmpl $0x0, (%rax)
jns 0x3947a
movl $0x10, %edi
callq 0x6140
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x7ff65(%rip), %rsi     # 0xb92ae
leaq 0x7ffa9(%rip), %rdx     # 0xb92f9
callq 0x7c64
movb $0x1, %bl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x6320
leaq 0xc3a2d(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r15)
xorl %ebx, %ebx
leaq 0xc3a05(%rip), %rsi     # 0xfcd80
movq 0xc4c56(%rip), %rdx     # 0xfdfd8
movq %r15, %rdi
callq 0x6470
jmp 0x39616
decl %ebp
shrq $0x3f, %r13
leal (%r13,%rbp), %esi
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x8(%rsp), %rdi
movl $0x2d, %edx
callq 0x62f0
addq 0x8(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movq %r12, %rdx
callq 0x5d1e3
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %r13
movq %r13, %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x393f2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x80885(%rip), %rax     # 0xb9c7e
leaq 0x84568(%rip), %rsi     # 0xbd968
movq 0x30(%rsp), %rcx
cmpb $0x0, 0x603(%rcx)
cmovneq %rax, %rsi
movq %r13, %rdi
callq 0x64e0
jmp 0x3947a
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x8(%rsp), %rdi
movl $0x2d, %edx
callq 0x62f0
addq 0x8(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x21251
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x28(%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3947a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
cmpl $0x2, 0x40(%r14)
jb 0x39497
testb $0x1, %bl
jne 0x39497
leaq 0x82598(%rip), %rsi     # 0xbba25
movq 0x28(%rsp), %rdi
callq 0x64e0
leaq 0xc3f12(%rip), %rax     # 0xfd3b0
addq $0x10, %rax
leaq 0x110(%rsp), %r14
movq %rax, -0xa0(%r14)
movq %r14, %rdi
callq 0xdeb6
movq -0x38(%r14), %rdi
testq %rdi, %rdi
je 0x394d2
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x39517
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
movq 0x28(%rsp), %rbx
je 0x39539
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq %rbx, %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 0x7fd3f(%rip), %rsi     # 0xb92ae
leaq 0x7fd83(%rip), %rdx     # 0xb92f9
callq 0x7c64
movb $0x1, %bl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x6320
leaq 0xc3807(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r15)
xorl %ebx, %ebx
leaq 0xc37df(%rip), %rsi     # 0xfcd80
movq 0xc4a30(%rip), %rdx     # 0xfdfd8
movq %r15, %rdi
callq 0x6470
jmp 0x39616
movl $0x10, %edi
callq 0x6140
movq %rax, %r15
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7fd2a(%rip), %rsi     # 0xb92fa
leaq 0x7fd48(%rip), %rdx     # 0xb931f
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x6320
leaq 0xc37a1(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r15)
xorl %ebx, %ebx
leaq 0xc3779(%rip), %rsi     # 0xfcd80
movq 0xc49ca(%rip), %rdx     # 0xfdfd8
movq %r15, %rdi
callq 0x6470
jmp 0x39664
jmp 0x396e7
jmp 0x3978e
jmp 0x3963a
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
jne 0x3977f
jmp 0x397a6
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x3977f
jmp 0x397a6
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
jne 0x396d8
jmp 0x396ec
jmp 0x396e7
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x39688
jmp 0x39688
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x3977a
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x3976d
jmp 0x3976d
jmp 0x3976d
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x396ec
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x396ec
movq %rax, %r14
movb $0x1, %bl
testb %bl, %bl
je 0x397a6
movq %r15, %rdi
callq 0x6200
jmp 0x397a6
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x39720
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x39720
movq %rax, %r14
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x397a6
movq 0x60(%rsp), %rsi
jmp 0x39784
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x3976d
jmp 0x3976d
jmp 0x3978e
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x3976d
jmp 0x3976d
jmp 0x397a3
jmp 0x3976d
jmp 0x3976d
jmp 0x3976d
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
jmp 0x3976d
jmp 0x3976d
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x397a6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x397a6
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x3977f
jmp 0x397a6
jmp 0x397a3
jmp 0x397a3
jmp 0x397a3
movq %rax, %r14
movq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq 0x48(%rsp), %rdi
je 0x397c5
movq 0x48(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x6260
leaq 0x70(%rsp), %rdi
callq 0x1c438
movq %r14, %rdi
callq 0x64a0
nop