// File: /workspace/github_cpp_makefile_star2_O2/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 %r12
pushq %rbx
subq $0xb0, %rsp
cmpl $0x3b, 0x788(%rdi)
jbe 0x5a862
movq %rsi, %r14
movq %rdi, %rbx
callq 0x16f1e
movq %rax, %r15
movq %rax, 0x28(%rsp)
movzwl (%r14), %r12d
movl (%rax), %r14d
movl 0x4(%rax), %ebp
movl 0x8(%rax), %esi
movq %rbx, %rdi
callq 0x17bce
cmpl $0x3, 0x10(%rax)
jne 0x5a8b0
movq %rbx, 0x80(%rsp)
leaq 0x28(%rsp), %rax
movq %rax, 0x88(%rsp)
movq %rbx, 0x70(%rsp)
movq %rax, 0x78(%rsp)
addl $0xfffffeb3, %r12d      # imm = 0xFFFFFEB3
cmpl $0x21, %r12d
ja 0x5b01e
leaq 0x3c1a7(%rip), %rax     # 0x96270
movslq (%rax,%r12,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x3f479(%rip), %rsi     # 0x99552
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
leaq 0x8(%rsp), %rcx
pushq $0x1
popq %r8
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x2f196
jmp 0x5a551
movl 0xc(%r15), %eax
testl %eax, %eax
jne 0x5a95e
movl 0x10(%r15), %ecx
leaq 0x3f7a6(%rip), %r8      # 0x998c3
jmp 0x5a6a1
movl 0xc(%r15), %eax
cmpq $0x3, %rax
ja 0x5b28e
leaq 0x3c1d1(%rip), %rcx     # 0x96308
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x10(%r15), %esi
movq %rbx, %rdi
callq 0x2f360
movl %eax, %r15d
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x50(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2b9f0
leaq 0x3f6b2(%rip), %rsi     # 0x99820
leaq 0x43ab4(%rip), %rdx     # 0x9dc29
leaq 0x3b879(%rip), %r8      # 0x959f5
leaq 0x30(%rsp), %rdi
movq %r12, %rcx
callq 0x637d0
leaq 0x8(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x5b612
movzbl %r15b, %r8d
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x2f196
jmp 0x5a82d
movl 0xc(%r15), %ecx
leaq 0x3f3bc(%rip), %r8      # 0x99585
jmp 0x5a6a1
movl 0xc(%r15), %eax
cmpq $0x3, %rax
ja 0x5b2dc
leaq 0x3c145(%rip), %rcx     # 0x96328
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x10(%r15), %ecx
leaq 0x3f61b(%rip), %r8      # 0x99812
jmp 0x5a6a1
movq %rbx, %rdi
movl %r14d, %esi
callq 0x90a4
movq 0x28(%rsp), %rcx
movl 0xc(%rcx), %ecx
cmpl $0x2, 0xc(%rax)
leaq 0x3f5ce(%rip), %rax     # 0x997e8
leaq 0x3f5de(%rip), %r8      # 0x997ff
cmoveq %rax, %r8
jmp 0x5a6a1
movl 0xc(%r15), %eax
cmpq $0x3, %rax
ja 0x5b32a
leaq 0x3c0d9(%rip), %rcx     # 0x96318
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x10(%r15), %esi
movq %rbx, %rdi
callq 0x2f360
movl %eax, %r15d
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x50(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2b9f0
leaq 0x3f5fe(%rip), %rsi     # 0x99874
leaq 0x439ac(%rip), %rdx     # 0x9dc29
leaq 0x3b771(%rip), %r8      # 0x959f5
leaq 0x30(%rsp), %rdi
movq %r12, %rcx
callq 0x6384c
leaq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x5b67a
movzbl %r15b, %r8d
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x2f196
jmp 0x5a82d
movl 0xc(%r15), %eax
testl %eax, %eax
je 0x5a61e
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5ad30
callq 0x6140
movq %rax, %r14
leaq 0x3f544(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8caae(%rip), %rsi     # 0xe6dc0
movq 0x8dcc7(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
movl 0xc(%r15), %ecx
leaq 0x3f493(%rip), %r8      # 0x997c4
jmp 0x5a6a1
movl 0xc(%r15), %eax
testl %eax, %eax
jne 0x5a9b5
movl 0x10(%r15), %ecx
leaq 0x3f566(%rip), %r8      # 0x998b3
jmp 0x5a6a1
movl 0xc(%r15), %ecx
movl 0x10(%r15), %r8d
leaq 0x3f203(%rip), %r9      # 0x99564
jmp 0x5a5d2
movl 0xc(%r15), %ecx
leaq 0x3f465(%rip), %r8      # 0x997d6
jmp 0x5a6a1
movl 0xc(%r15), %eax
testl %eax, %eax
jne 0x5aa0c
movl 0x10(%r15), %ecx
leaq 0x3f515(%rip), %r8      # 0x998a2
jmp 0x5a6a1
movl 0xc(%r15), %ecx
leaq 0x3f1d6(%rip), %r8      # 0x99573
jmp 0x5a6a1
movl 0xc(%r15), %eax
testl %eax, %eax
je 0x5a696
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5adc6
callq 0x6140
movq %rax, %r14
leaq 0x3f465(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c9cf(%rip), %rsi     # 0xe6dc0
movq 0x8dbe8(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
movl 0xc(%r15), %eax
testl %eax, %eax
jne 0x5a8fe
movl 0x10(%r15), %esi
movq %rbx, %rdi
callq 0x2f360
movl %eax, %r15d
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0x2beca
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x50(%rsp), %rdi
movq %rbx, %rsi
callq 0x2beca
leaq 0x3f216(%rip), %rsi     # 0x99667
leaq 0x3f209(%rip), %rcx     # 0x99661
leaq 0x391cc(%rip), %r9      # 0x9362b
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
leaq 0x50(%rsp), %r8
callq 0x636ca
leaq 0x50(%rsp), %rdi
callq 0x6548
leaq 0x30(%rsp), %rdi
callq 0x6548
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x50(%rsp), %rdi
movq %rbx, %rsi
callq 0x2beca
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x90(%rsp), %rdi
movq %rbx, %rsi
callq 0x2beca
leaq 0x3f1ac(%rip), %rsi     # 0x99667
leaq 0x3f1b0(%rip), %rcx     # 0x99672
leaq 0x3f1ba(%rip), %r9      # 0x99683
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rdx
leaq 0x90(%rsp), %r8
callq 0x636ca
leaq 0x90(%rsp), %rdi
callq 0x6548
leaq 0x50(%rsp), %rdi
callq 0x6548
leaq 0x4372f(%rip), %rdx     # 0x9dc2d
leaq 0x50(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x30(%rsp), %rcx
callq 0x63756
movzbl %r15b, %r8d
leaq 0x50(%rsp), %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x2f196
leaq 0x50(%rsp), %rdi
callq 0x6548
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x13128
leaq 0x30(%rsp), %rdi
callq 0x6548
leaq 0x8(%rsp), %rdi
callq 0x6548
jmp 0x5a6ae
movl 0xc(%r15), %eax
testl %eax, %eax
je 0x5a61e
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5aef2
callq 0x6140
movq %rax, %r14
leaq 0x3f2a7(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c811(%rip), %rsi     # 0xe6dc0
movq 0x8da2a(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
movl 0xc(%r15), %ecx
movl 0x10(%r15), %r8d
leaq 0x3f339(%rip), %r9      # 0x9990b
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x2fab8
jmp 0x5a6ae
movl 0xc(%r15), %eax
cmpq $0x3, %rax
ja 0x5b375
leaq 0x3bcff(%rip), %rcx     # 0x962f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x10(%r15), %ecx
leaq 0x3f255(%rip), %r8      # 0x99862
jmp 0x5a6a1
movl 0xc(%r15), %eax
testl %eax, %eax
jne 0x5aa63
movl 0x10(%r15), %ecx
leaq 0x3f25d(%rip), %r8      # 0x99886
jmp 0x5a6a1
movl 0xc(%r15), %eax
testl %eax, %eax
je 0x5a696
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5af88
callq 0x6140
movq %rax, %r14
leaq 0x3f1e0(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c74a(%rip), %rsi     # 0xe6dc0
movq 0x8d963(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
movl 0xc(%r15), %eax
testl %eax, %eax
jne 0x5aaba
movl 0x10(%r15), %ecx
leaq 0x3f1f3(%rip), %r8      # 0x99894
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x2f9ee
movq %rbx, %rdi
movl %ebp, %esi
callq 0x318aa
addq $0xb0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl 0x10(%r15), %esi
movq %rbx, %rdi
callq 0x17bce
movl 0x10(%rax), %eax
cmpl $0x2, %eax
je 0x5a728
cmpl $0x1, %eax
je 0x5a714
testl %eax, %eax
jne 0x5b108
movq 0x28(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x3f1dc(%rip), %r8      # 0x998d4
jmp 0x5a6a1
movl 0x10(%r15), %ecx
leaq 0x3f11b(%rip), %r8      # 0x99820
jmp 0x5a6a1
movl 0x10(%r15), %ecx
leaq 0x3f162(%rip), %r8      # 0x99874
jmp 0x5a6a1
movq 0x28(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x3f1c1(%rip), %r8      # 0x998e4
jmp 0x5a6a1
movq 0x28(%rsp), %rax
movl 0xc(%rax), %ecx
leaq 0x3f1bd(%rip), %r8      # 0x998f4
jmp 0x5a6a1
movl 0x10(%r15), %esi
movq %rbx, %rdi
callq 0x2f360
movl %eax, %r15d
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x50(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2b9f0
leaq 0x3f0b6(%rip), %rsi     # 0x99820
leaq 0x434b8(%rip), %rdx     # 0x9dc29
leaq 0x3b27d(%rip), %r8      # 0x959f5
leaq 0x30(%rsp), %rdi
movq %r12, %rcx
callq 0x637d0
leaq 0x8(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x5b612
movzbl %r15b, %r8d
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x2f196
jmp 0x5a82d
movl 0x10(%r15), %esi
movq %rbx, %rdi
callq 0x2f360
movl %eax, %r15d
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
leaq 0x50(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2b9f0
leaq 0x3f08f(%rip), %rsi     # 0x99874
leaq 0x4343d(%rip), %rdx     # 0x9dc29
leaq 0x3b202(%rip), %r8      # 0x959f5
leaq 0x30(%rsp), %rdi
movq %r12, %rcx
callq 0x6384c
leaq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x5b67a
movzbl %r15b, %r8d
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
movl %r14d, %esi
movl %ebp, %edx
xorl %r9d, %r9d
callq 0x2f196
leaq 0x8(%rsp), %rdi
callq 0x6548
leaq 0x30(%rsp), %rdi
callq 0x6548
leaq 0x50(%rsp), %rdi
callq 0x6548
movq 0x28(%rsp), %rax
movl 0x10(%rax), %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x13128
jmp 0x5a6ae
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3ecba(%rip), %rsi     # 0x9952e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c524(%rip), %rsi     # 0xe6dc0
movq 0x8d73d(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x39202(%rip), %rsi     # 0x93ac4
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c4d6(%rip), %rsi     # 0xe6dc0
movq 0x8d6ef(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
cmpl $0x1, %eax
je 0x5ae11
cmpl $0x2, %eax
jne 0x5ae5c
callq 0x6140
movq %rax, %r14
leaq 0x3eda7(%rip), %rsi     # 0x996c9
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c476(%rip), %rsi     # 0xe6dc0
movq 0x8d68f(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5ace5
callq 0x6140
movq %rax, %r14
leaq 0x3eeb5(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c41f(%rip), %rsi     # 0xe6dc0
movq 0x8d638(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5ad7b
callq 0x6140
movq %rax, %r14
leaq 0x3ee5e(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c3c8(%rip), %rsi     # 0xe6dc0
movq 0x8d5e1(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5aea7
callq 0x6140
movq %rax, %r14
leaq 0x3ee07(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c371(%rip), %rsi     # 0xe6dc0
movq 0x8d58a(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5af3d
callq 0x6140
movq %rax, %r14
leaq 0x3edb0(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c31a(%rip), %rsi     # 0xe6dc0
movq 0x8d533(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
cmpl $0x3, %eax
jne 0x5afd3
callq 0x6140
movq %rax, %r14
leaq 0x3ed59(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c2c3(%rip), %rsi     # 0xe6dc0
movq 0x8d4dc(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3ec71(%rip), %rsi     # 0x99794
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c275(%rip), %rsi     # 0xe6dc0
movq 0x8d48e(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3ebf5(%rip), %rsi     # 0x99766
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c227(%rip), %rsi     # 0xe6dc0
movq 0x8d440(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3eb78(%rip), %rsi     # 0x99737
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c1d9(%rip), %rsi     # 0xe6dc0
movq 0x8d3f2(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3eafe(%rip), %rsi     # 0x9970b
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c18b(%rip), %rsi     # 0xe6dc0
movq 0x8d3a4(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e9d4(%rip), %rsi     # 0x9962f
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c13d(%rip), %rsi     # 0xe6dc0
movq 0x8d356(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e954(%rip), %rsi     # 0x995fd
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c0ef(%rip), %rsi     # 0xe6dc0
movq 0x8d308(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38d7e(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c0a4(%rip), %rsi     # 0xe6dc0
movq 0x8d2bd(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38d33(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c059(%rip), %rsi     # 0xe6dc0
movq 0x8d272(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38ce8(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8c00e(%rip), %rsi     # 0xe6dc0
movq 0x8d227(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38c9d(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bfc3(%rip), %rsi     # 0xe6dc0
movq 0x8d1dc(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x3e867(%rip), %rsi     # 0x99687
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bf78(%rip), %rsi     # 0xe6dc0
movq 0x8d191(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38d75(%rip), %rsi     # 0x93be0
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bf2d(%rip), %rsi     # 0xe6dc0
movq 0x8d146(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38bbc(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bee2(%rip), %rsi     # 0xe6dc0
movq 0x8d0fb(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38b71(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8be97(%rip), %rsi     # 0xe6dc0
movq 0x8d0b0(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38b26(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8be4c(%rip), %rsi     # 0xe6dc0
movq 0x8d065(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38adb(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8be01(%rip), %rsi     # 0xe6dc0
movq 0x8d01a(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
callq 0x6140
movq %rax, %r14
leaq 0x38a90(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bdb6(%rip), %rsi     # 0xe6dc0
movq 0x8cfcf(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x38a77(%rip), %rsi     # 0x93aa7
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bd68(%rip), %rsi     # 0xe6dc0
movq 0x8cf81(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e54a(%rip), %rsi     # 0x995c8
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bd1a(%rip), %rsi     # 0xe6dc0
movq 0x8cf33(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e4ca(%rip), %rsi     # 0x99596
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bccc(%rip), %rsi     # 0xe6dc0
movq 0x8cee5(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x38daa(%rip), %rsi     # 0x93ec4
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bc7e(%rip), %rsi     # 0xe6dc0
movq 0x8ce97(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e6c6(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bc30(%rip), %rsi     # 0xe6dc0
movq 0x8ce49(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e678(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bbe2(%rip), %rsi     # 0xe6dc0
movq 0x8cdfb(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e62a(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bb94(%rip), %rsi     # 0xe6dc0
movq 0x8cdad(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x3e5dc(%rip), %rsi     # 0x9982e
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8bb46(%rip), %rsi     # 0xe6dc0
movq 0x8cd5f(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x387d2(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8baf8(%rip), %rsi     # 0xe6dc0
movq 0x8cd11(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x38784(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8baaa(%rip), %rsi     # 0xe6dc0
movq 0x8ccc3(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x38736(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8ba5c(%rip), %rsi     # 0xe6dc0
movq 0x8cc75(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b3be
pushq $0x10
popq %rdi
callq 0x6140
movq %rax, %r14
leaq 0x386eb(%rip), %rsi     # 0x93a72
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6100
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6f6e
xorl %ebp, %ebp
leaq 0x8ba11(%rip), %rsi     # 0xe6dc0
movq 0x8cc2a(%rip), %rdx     # 0xe7fe0
movq %r14, %rdi
callq 0x6490
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b41e
jmp 0x5b41e
jmp 0x5b41e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6548
jmp 0x5b436
jmp 0x5b433
jmp 0x5b433
jmp 0x5b433
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x6548
jmp 0x5b44b
jmp 0x5b448
jmp 0x5b448
jmp 0x5b448
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
jmp 0x5b5da
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b5ea
jmp 0x5b5fe
jmp 0x5b58c
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x6548
jmp 0x5b58f
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
jmp 0x5b5b0
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x6548
jmp 0x5b5ab
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x6548
jmp 0x5b5d5
jmp 0x5b5d2
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x6548
jmp 0x5b5cb
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
jmp 0x5b5da
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6548
jmp 0x5b609
movq %rax, %rbx
jmp 0x5b609
jmp 0x5b5ea
jmp 0x5b5fe
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6548
testb %bpl, %bpl
jne 0x5b601
jmp 0x5b609
movq %rax, %rbx
movq %r14, %rdi
callq 0x6200
movq %rbx, %rdi
callq 0x64b0
nop