// File: /workspace/github_cpp_makefile_star2_O1/rossy[P]crossc/SPIRV-Cross/spirv_hlsl.cpp
// Function: spirv_cross::CompilerHLSL::emit_subgroup_op(spirv_cross::Instruction const&)
void CompilerHLSL::emit_subgroup_op(const Instruction &i)
{
	if (hlsl_options.shader_model < 60)
		SPIRV_CROSS_THROW("Wave ops requires SM 6.0 or higher.");

	const uint32_t *ops = stream(i);
	auto op = static_cast<Op>(i.op);

	uint32_t result_type = ops[0];
	uint32_t id = ops[1];

	auto scope = static_cast<Scope>(get<SPIRConstant>(ops[2]).scalar());
	if (scope != ScopeSubgroup)
		SPIRV_CROSS_THROW("Only subgroup scope is supported.");

	const auto make_inclusive_Sum = [&](const string &expr) -> string {
		return join(expr, " + ", to_expression(ops[4]));
	};

	const auto make_inclusive_Product = [&](const string &expr) -> string {
		return join(expr, " * ", to_expression(ops[4]));
	};

#define make_inclusive_BitAnd(expr) ""
#define make_inclusive_BitOr(expr) ""
#define make_inclusive_BitXor(expr) ""
#define make_inclusive_Min(expr) ""
#define make_inclusive_Max(expr) ""

	switch (op)
	{
	case OpGroupNonUniformElect:
		emit_op(result_type, id, "WaveIsFirstLane()", true);
		break;

	case OpGroupNonUniformBroadcast:
		emit_binary_func_op(result_type, id, ops[3], ops[4], "WaveReadLaneAt");
		break;

	case OpGroupNonUniformBroadcastFirst:
		emit_unary_func_op(result_type, id, ops[3], "WaveReadLaneFirst");
		break;

	case OpGroupNonUniformBallot:
		emit_unary_func_op(result_type, id, ops[3], "WaveActiveBallot");
		break;

	case OpGroupNonUniformInverseBallot:
		SPIRV_CROSS_THROW("Cannot trivially implement InverseBallot in HLSL.");
		break;

	case OpGroupNonUniformBallotBitExtract:
		SPIRV_CROSS_THROW("Cannot trivially implement BallotBitExtract in HLSL.");
		break;

	case OpGroupNonUniformBallotFindLSB:
		SPIRV_CROSS_THROW("Cannot trivially implement BallotFindLSB in HLSL.");
		break;

	case OpGroupNonUniformBallotFindMSB:
		SPIRV_CROSS_THROW("Cannot trivially implement BallotFindMSB in HLSL.");
		break;

	case OpGroupNonUniformBallotBitCount:
	{
		auto operation = static_cast<GroupOperation>(ops[3]);
		if (operation == GroupOperationReduce)
		{
			bool forward = should_forward(ops[4]);
			auto left = join("countbits(", to_enclosed_expression(ops[4]), ".x) + countbits(",
			                 to_enclosed_expression(ops[4]), ".y)");
			auto right = join("countbits(", to_enclosed_expression(ops[4]), ".z) + countbits(",
			                  to_enclosed_expression(ops[4]), ".w)");
			emit_op(result_type, id, join(left, " + ", right), forward);
			inherit_expression_dependencies(id, ops[4]);
		}
		else if (operation == GroupOperationInclusiveScan)
			SPIRV_CROSS_THROW("Cannot trivially implement BallotBitCount Inclusive Scan in HLSL.");
		else if (operation == GroupOperationExclusiveScan)
			SPIRV_CROSS_THROW("Cannot trivially implement BallotBitCount Exclusive Scan in HLSL.");
		else
			SPIRV_CROSS_THROW("Invalid BitCount operation.");
		break;
	}

	case OpGroupNonUniformShuffle:
		SPIRV_CROSS_THROW("Cannot trivially implement Shuffle in HLSL.");
	case OpGroupNonUniformShuffleXor:
		SPIRV_CROSS_THROW("Cannot trivially implement ShuffleXor in HLSL.");
	case OpGroupNonUniformShuffleUp:
		SPIRV_CROSS_THROW("Cannot trivially implement ShuffleUp in HLSL.");
	case OpGroupNonUniformShuffleDown:
		SPIRV_CROSS_THROW("Cannot trivially implement ShuffleDown in HLSL.");

	case OpGroupNonUniformAll:
		emit_unary_func_op(result_type, id, ops[3], "WaveActiveAllTrue");
		break;

	case OpGroupNonUniformAny:
		emit_unary_func_op(result_type, id, ops[3], "WaveActiveAnyTrue");
		break;

	case OpGroupNonUniformAllEqual:
	{
		auto &type = get<SPIRType>(result_type);
		emit_unary_func_op(result_type, id, ops[3],
		                   type.basetype == SPIRType::Boolean ? "WaveActiveAllEqualBool" : "WaveActiveAllEqual");
		break;
	}

	// clang-format off
#define HLSL_GROUP_OP(op, hlsl_op, supports_scan) \
case OpGroupNonUniform##op: \
	{ \
		auto operation = static_cast<GroupOperation>(ops[3]); \
		if (operation == GroupOperationReduce) \
			emit_unary_func_op(result_type, id, ops[4], "WaveActive" #hlsl_op); \
		else if (operation == GroupOperationInclusiveScan && supports_scan) \
        { \
			bool forward = should_forward(ops[4]); \
			emit_op(result_type, id, make_inclusive_##hlsl_op (join("WavePrefix" #hlsl_op, "(", to_expression(ops[4]), ")")), forward); \
			inherit_expression_dependencies(id, ops[4]); \
        } \
		else if (operation == GroupOperationExclusiveScan && supports_scan) \
			emit_unary_func_op(result_type, id, ops[4], "WavePrefix" #hlsl_op); \
		else if (operation == GroupOperationClusteredReduce) \
			SPIRV_CROSS_THROW("Cannot trivially implement ClusteredReduce in HLSL."); \
		else \
			SPIRV_CROSS_THROW("Invalid group operation."); \
		break; \
	}
	HLSL_GROUP_OP(FAdd, Sum, true)
	HLSL_GROUP_OP(FMul, Product, true)
	HLSL_GROUP_OP(FMin, Min, false)
	HLSL_GROUP_OP(FMax, Max, false)
	HLSL_GROUP_OP(IAdd, Sum, true)
	HLSL_GROUP_OP(IMul, Product, true)
	HLSL_GROUP_OP(SMin, Min, false)
	HLSL_GROUP_OP(SMax, Max, false)
	HLSL_GROUP_OP(UMin, Min, false)
	HLSL_GROUP_OP(UMax, Max, false)
	HLSL_GROUP_OP(BitwiseAnd, BitAnd, false)
	HLSL_GROUP_OP(BitwiseOr, BitOr, false)
	HLSL_GROUP_OP(BitwiseXor, BitXor, false)
#undef HLSL_GROUP_OP
		// clang-format on

	case OpGroupNonUniformQuadSwap:
	{
		uint32_t direction = get<SPIRConstant>(ops[4]).scalar();
		if (direction == 0)
			emit_unary_func_op(result_type, id, ops[3], "QuadReadAcrossX");
		else if (direction == 1)
			emit_unary_func_op(result_type, id, ops[3], "QuadReadAcrossY");
		else if (direction == 2)
			emit_unary_func_op(result_type, id, ops[3], "QuadReadAcrossDiagonal");
		else
			SPIRV_CROSS_THROW("Invalid quad swap direction.");
		break;
	}

	case OpGroupNonUniformQuadBroadcast:
	{
		emit_binary_func_op(result_type, id, ops[3], ops[4], "QuadReadLaneAt");
		break;
	}

	default:
		SPIRV_CROSS_THROW("Invalid opcode for subgroup.");
	}

	register_control_dependent_expression(id);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
cmpl $0x3b, 0x788(%rdi)
jbe 0x7073f
movq %rsi, %r14
movq %rdi, %rbx
callq 0x1b906
movq %rax, 0x20(%rsp)
movzwl (%r14), %r15d
movl (%rax), %r14d
movl 0x4(%rax), %ebp
movl 0x8(%rax), %esi
movq %rbx, %rdi
callq 0x1c66e
cmpl $0x3, 0x10(%rax)
jne 0x707a4
movq %rbx, 0x78(%rsp)
leaq 0x20(%rsp), %rax
movq %rax, 0x80(%rsp)
movq %rbx, 0x68(%rsp)
movq %rax, 0x70(%rsp)
addl $0xfffffeb3, %r15d      # imm = 0xFFFFFEB3
cmpl $0x21, %r15d
ja 0x71124
leaq 0x4c493(%rip), %rax     # 0xbc2f0
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4f744(%rip), %rsi     # 0xbf5ba
leaq 0x4f74e(%rip), %rdx     # 0xbf5cb
movq %rsp, %rdi
callq 0x7c64
movq %rsp, %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
movl $0x1, %r8d
xorl %r9d, %r9d
callq 0x39bea
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x703bb
jmp 0x70561
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
jne 0x70880
movl 0x10(%rax), %ecx
leaq 0x4fa61(%rip), %r8      # 0xbf92b
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
cmpq $0x3, %rcx
ja 0x7144c
leaq 0x4c4a0(%rip), %rdx     # 0xbc388
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x10(%rax), %esi
movq %rbx, %rdi
callq 0x39e96
movl %eax, %r15d
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x345e6
leaq 0x4f96a(%rip), %rsi     # 0xbf888
leaq 0x53d7c(%rip), %rdx     # 0xc3ca1
leaq 0x4baf9(%rip), %r8      # 0xbba25
leaq 0x48(%rsp), %rdi
movq %r12, %rcx
callq 0x7c583
movq %rsp, %rdi
leaq 0x78(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x718ec
movzbl %r15b, %r8d
movq %rsp, %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x39bea
jmp 0x706d7
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f677(%rip), %r8      # 0xbf5ed
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
cmpq $0x3, %rcx
ja 0x714b1
leaq 0x4c414(%rip), %rdx     # 0xbc3a8
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x10(%rax), %ecx
leaq 0x4f8d3(%rip), %r8      # 0xbf87a
jmp 0x70554
movq %rbx, %rdi
movl %r14d, %esi
callq 0xa426
movq 0x20(%rsp), %rcx
movl 0xc(%rcx), %ecx
cmpl $0x2, 0xc(%rax)
leaq 0x4f886(%rip), %rax     # 0xbf850
leaq 0x4f896(%rip), %r8      # 0xbf867
cmoveq %rax, %r8
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
cmpq $0x3, %rcx
ja 0x71516
leaq 0x4c3a5(%rip), %rdx     # 0xbc398
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x10(%rax), %esi
movq %rbx, %rdi
callq 0x39e96
movl %eax, %r15d
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x345e6
leaq 0x4f8b3(%rip), %rsi     # 0xbf8dc
leaq 0x53c71(%rip), %rdx     # 0xc3ca1
leaq 0x4b9ee(%rip), %r8      # 0xbba25
leaq 0x48(%rsp), %rdi
movq %r12, %rcx
callq 0x7c621
movq %rsp, %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x7197a
movzbl %r15b, %r8d
movq %rsp, %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x39bea
jmp 0x706d7
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
je 0x704b1
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x70d64
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4f7ee(%rip), %rsi     # 0xbf896
leaq 0x4f81a(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8cccc(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8cca4(%rip), %rsi     # 0xfcd80
movq 0x8def5(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f72d(%rip), %r8      # 0xbf82c
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
jne 0x708ee
movl 0x10(%rax), %ecx
leaq 0x4f7fd(%rip), %r8      # 0xbf91b
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
movl 0x10(%rax), %r8d
leaq 0x4f496(%rip), %r9      # 0xbf5cc
jmp 0x7045e
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f6f4(%rip), %r8      # 0xbf83e
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
jne 0x7095c
movl 0x10(%rax), %ecx
leaq 0x4f7a1(%rip), %r8      # 0xbf90a
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f45e(%rip), %r8      # 0xbf5db
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
je 0x7054a
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x70e24
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4f6de(%rip), %rsi     # 0xbf896
leaq 0x4f70a(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8cbbc(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8cb94(%rip), %rsi     # 0xfcd80
movq 0x8dde5(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movq 0x20(%rsp), %rcx
movl 0xc(%rcx), %eax
testl %eax, %eax
jne 0x70809
movl 0x10(%rcx), %esi
movq %rbx, %rdi
callq 0x39e96
movl %eax, %r15d
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
callq 0x34d0e
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x34d0e
leaq 0x4f480(%rip), %rsi     # 0xbf6cf
leaq 0x4f473(%rip), %rcx     # 0xbf6c9
leaq 0x493fe(%rip), %r9      # 0xb965b
movq %rsp, %rdi
leaq 0x48(%rsp), %rdx
leaq 0x28(%rsp), %r8
callq 0x7c423
leaq 0x38(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x7028a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x58(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x702a6
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x34d0e
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x34d0e
leaq 0x4f3f5(%rip), %rsi     # 0xbf6cf
leaq 0x4f3f9(%rip), %rcx     # 0xbf6da
leaq 0x4f403(%rip), %r9      # 0xbf6eb
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
leaq 0x88(%rsp), %r8
callq 0x7c423
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x70320
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x70337
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x53967(%rip), %rdx     # 0xc3ca5
leaq 0x28(%rsp), %rdi
movq %rsp, %rsi
leaq 0x48(%rsp), %rcx
callq 0x7c4d7
movzbl %r15b, %r8d
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x39bea
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x70380
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x164e0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x703a9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x70561
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x70561
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
je 0x704b1
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x70f44
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4f493(%rip), %rsi     # 0xbf896
leaq 0x4f4bf(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c971(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c949(%rip), %rsi     # 0xfcd80
movq 0x8db9a(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
movl 0x10(%rax), %r8d
leaq 0x4f515(%rip), %r9      # 0xbf973
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x3a8a0
jmp 0x70561
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
cmpq $0x3, %rcx
ja 0x71578
leaq 0x4beef(%rip), %rdx     # 0xbc378
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x10(%rax), %ecx
leaq 0x4f42e(%rip), %r8      # 0xbf8ca
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
jne 0x709ca
movl 0x10(%rax), %ecx
leaq 0x4f433(%rip), %r8      # 0xbf8ee
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
je 0x7054a
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x71064
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4f3a4(%rip), %rsi     # 0xbf896
leaq 0x4f3d0(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c882(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c85a(%rip), %rsi     # 0xfcd80
movq 0x8daab(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
testl %ecx, %ecx
jne 0x70a38
movl 0x10(%rax), %ecx
leaq 0x4f3a8(%rip), %r8      # 0xbf8fc
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x3a790
movq %rbx, %rdi
movl %ebp, %esi
callq 0x3ce76
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x20(%rsp), %rax
movl 0x10(%rax), %esi
movq %rbx, %rdi
callq 0x1c66e
movl 0x10(%rax), %eax
cmpl $0x2, %eax
je 0x705df
cmpl $0x1, %eax
je 0x705cb
testl %eax, %eax
jne 0x71253
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f38b(%rip), %r8      # 0xbf93c
jmp 0x70554
movl 0x10(%rax), %ecx
leaq 0x4f2cb(%rip), %r8      # 0xbf888
jmp 0x70554
movl 0x10(%rax), %ecx
leaq 0x4f313(%rip), %r8      # 0xbf8dc
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f372(%rip), %r8      # 0xbf94c
jmp 0x70554
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x4f36e(%rip), %r8      # 0xbf95c
jmp 0x70554
movl 0x10(%rax), %esi
movq %rbx, %rdi
callq 0x39e96
movl %eax, %r15d
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x345e6
leaq 0x4f268(%rip), %rsi     # 0xbf888
leaq 0x5367a(%rip), %rdx     # 0xc3ca1
leaq 0x4b3f7(%rip), %r8      # 0xbba25
leaq 0x48(%rsp), %rdi
movq %r12, %rcx
callq 0x7c583
movq %rsp, %rdi
leaq 0x78(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x718ec
movzbl %r15b, %r8d
movq %rsp, %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x39bea
jmp 0x706d7
movl 0x10(%rax), %esi
movq %rbx, %rdi
callq 0x39e96
movl %eax, %r15d
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x345e6
leaq 0x4f249(%rip), %rsi     # 0xbf8dc
leaq 0x53607(%rip), %rdx     # 0xc3ca1
leaq 0x4b384(%rip), %r8      # 0xbba25
leaq 0x48(%rsp), %rdi
movq %r12, %rcx
callq 0x7c621
movq %rsp, %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x7197a
movzbl %r15b, %r8d
movq %rsp, %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x39bea
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x706f2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7070d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x70728
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x20(%rsp), %rax
movl 0x10(%rax), %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x164e0
jmp 0x70561
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ee3a(%rip), %rsi     # 0xbf596
leaq 0x4ee56(%rip), %rdx     # 0xbf5b9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c618(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c5f0(%rip), %rsi     # 0xfcd80
movq 0x8d841(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x49333(%rip), %rsi     # 0xb9af4
leaq 0x4934d(%rip), %rdx     # 0xb9b15
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c5b3(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c58b(%rip), %rsi     # 0xfcd80
movq 0x8d7dc(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
cmpl $0x1, %eax
je 0x70e84
cmpl $0x2, %eax
jne 0x70fa4
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4eef9(%rip), %rsi     # 0xbf731
leaq 0x4ef33(%rip), %rdx     # 0xbf772
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c53c(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c514(%rip), %rsi     # 0xfcd80
movq 0x8d765(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x70d04
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4eff0(%rip), %rsi     # 0xbf896
leaq 0x4f01c(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c4ce(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c4a6(%rip), %rsi     # 0xfcd80
movq 0x8d6f7(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x70dc4
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ef82(%rip), %rsi     # 0xbf896
leaq 0x4efae(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c460(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c438(%rip), %rsi     # 0xfcd80
movq 0x8d689(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x70ee4
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ef14(%rip), %rsi     # 0xbf896
leaq 0x4ef40(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c3f2(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c3ca(%rip), %rsi     # 0xfcd80
movq 0x8d61b(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x71004
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4eea6(%rip), %rsi     # 0xbf896
leaq 0x4eed2(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c384(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c35c(%rip), %rsi     # 0xfcd80
movq 0x8d5ad(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
cmpl $0x3, %ecx
jne 0x710c4
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ee38(%rip), %rsi     # 0xbf896
leaq 0x4ee64(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c316(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c2ee(%rip), %rsi     # 0xfcd80
movq 0x8d53f(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ed39(%rip), %rsi     # 0xbf7fc
leaq 0x4ed61(%rip), %rdx     # 0xbf82b
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c2b1(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c289(%rip), %rsi     # 0xfcd80
movq 0x8d4da(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4eca6(%rip), %rsi     # 0xbf7ce
leaq 0x4eccc(%rip), %rdx     # 0xbf7fb
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c24c(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c224(%rip), %rsi     # 0xfcd80
movq 0x8d475(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ec12(%rip), %rsi     # 0xbf79f
leaq 0x4ec39(%rip), %rdx     # 0xbf7cd
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c1e7(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c1bf(%rip), %rsi     # 0xfcd80
movq 0x8d410(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4eb81(%rip), %rsi     # 0xbf773
leaq 0x4eba5(%rip), %rdx     # 0xbf79e
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c182(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c15a(%rip), %rsi     # 0xfcd80
movq 0x8d3ab(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ea40(%rip), %rsi     # 0xbf697
leaq 0x4ea6a(%rip), %rdx     # 0xbf6c8
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c11d(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c0f5(%rip), %rsi     # 0xfcd80
movq 0x8d346(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e9a9(%rip), %rsi     # 0xbf665
leaq 0x4e9d3(%rip), %rdx     # 0xbf696
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c0b8(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c090(%rip), %rsi     # 0xfcd80
movq 0x8d2e1(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48d86(%rip), %rsi     # 0xb9aa2
leaq 0x48d97(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8c058(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8c030(%rip), %rsi     # 0xfcd80
movq 0x8d281(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48d26(%rip), %rsi     # 0xb9aa2
leaq 0x48d37(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bff8(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bfd0(%rip), %rsi     # 0xfcd80
movq 0x8d221(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48cc6(%rip), %rsi     # 0xb9aa2
leaq 0x48cd7(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bf98(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bf70(%rip), %rsi     # 0xfcd80
movq 0x8d1c1(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48c66(%rip), %rsi     # 0xb9aa2
leaq 0x48c77(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bf38(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bf10(%rip), %rsi     # 0xfcd80
movq 0x8d161(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e853(%rip), %rsi     # 0xbf6ef
leaq 0x4e88d(%rip), %rdx     # 0xbf730
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bed8(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8beb0(%rip), %rsi     # 0xfcd80
movq 0x8d101(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48ba6(%rip), %rsi     # 0xb9aa2
leaq 0x48bb7(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8be78(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8be50(%rip), %rsi     # 0xfcd80
movq 0x8d0a1(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48b46(%rip), %rsi     # 0xb9aa2
leaq 0x48b57(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8be18(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bdf0(%rip), %rsi     # 0xfcd80
movq 0x8d041(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48c54(%rip), %rsi     # 0xb9c10
leaq 0x48c68(%rip), %rdx     # 0xb9c2b
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bdb8(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bd90(%rip), %rsi     # 0xfcd80
movq 0x8cfe1(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48a86(%rip), %rsi     # 0xb9aa2
leaq 0x48a97(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bd58(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bd30(%rip), %rsi     # 0xfcd80
movq 0x8cf81(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48a26(%rip), %rsi     # 0xb9aa2
leaq 0x48a37(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bcf8(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bcd0(%rip), %rsi     # 0xfcd80
movq 0x8cf21(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x489c6(%rip), %rsi     # 0xb9aa2
leaq 0x489d7(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bc98(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bc70(%rip), %rsi     # 0xfcd80
movq 0x8cec1(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48996(%rip), %rsi     # 0xb9ad7
leaq 0x489ab(%rip), %rdx     # 0xb9af3
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bc33(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bc0b(%rip), %rsi     # 0xfcd80
movq 0x8ce5c(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e48a(%rip), %rsi     # 0xbf630
leaq 0x4e4b7(%rip), %rdx     # 0xbf664
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bbce(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bba6(%rip), %rsi     # 0xfcd80
movq 0x8cdf7(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e3f3(%rip), %rsi     # 0xbf5fe
leaq 0x4e41d(%rip), %rdx     # 0xbf62f
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bb69(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8bb41(%rip), %rsi     # 0xfcd80
movq 0x8cd92(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48c84(%rip), %rsi     # 0xb9ef4
leaq 0x48c99(%rip), %rdx     # 0xb9f10
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8bb04(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8badc(%rip), %rsi     # 0xfcd80
movq 0x8cd2d(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e5c1(%rip), %rsi     # 0xbf896
leaq 0x4e5ed(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8ba9f(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8ba77(%rip), %rsi     # 0xfcd80
movq 0x8ccc8(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e55c(%rip), %rsi     # 0xbf896
leaq 0x4e588(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8ba3a(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8ba12(%rip), %rsi     # 0xfcd80
movq 0x8cc63(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e4f7(%rip), %rsi     # 0xbf896
leaq 0x4e523(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8b9d5(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8b9ad(%rip), %rsi     # 0xfcd80
movq 0x8cbfe(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e492(%rip), %rsi     # 0xbf896
leaq 0x4e4be(%rip), %rdx     # 0xbf8c9
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8b970(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8b948(%rip), %rsi     # 0xfcd80
movq 0x8cb99(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48639(%rip), %rsi     # 0xb9aa2
leaq 0x4864a(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8b90b(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8b8e3(%rip), %rsi     # 0xfcd80
movq 0x8cb34(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x485d4(%rip), %rsi     # 0xb9aa2
leaq 0x485e5(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8b8a6(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8b87e(%rip), %rsi     # 0xfcd80
movq 0x8cacf(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4856f(%rip), %rsi     # 0xb9aa2
leaq 0x48580(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8b841(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8b819(%rip), %rsi     # 0xfcd80
movq 0x8ca6a(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x715d8
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4850d(%rip), %rsi     # 0xb9aa2
leaq 0x4851e(%rip), %rdx     # 0xb9aba
movq %rsp, %rdi
callq 0x7c64
movb $0x1, %bpl
movq %rsp, %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8b7df(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8b7b7(%rip), %rsi     # 0xfcd80
movq 0x8ca08(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x71638
jmp 0x71638
jmp 0x71638
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x71661
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x71661
jmp 0x7165e
jmp 0x7165e
jmp 0x7165e
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x71687
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x71687
jmp 0x71684
jmp 0x71684
jmp 0x71684
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x718e4
movq 0x38(%rsp), %rsi
jmp 0x71895
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x718b6
jmp 0x718d1
jmp 0x717ed
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x717f0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x717f0
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x71846
movq 0x58(%rsp), %rsi
jmp 0x71839
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7182a
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x7182a
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x71846
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x71846
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x718e4
movq 0x10(%rsp), %rsi
jmp 0x71895
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x71882
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x71882
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x718e4
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x718e4
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x71858
jmp 0x718e4
movq %rax, %rbx
jmp 0x718e4
jmp 0x718b6
jmp 0x718d1
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x718d7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x718d7
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x718e4
movq %r14, %rdi
callq 0x6200
movq %rbx, %rdi
callq 0x64a0