// File: 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
movq %rsp, %rbp
subq $0xeb0, %rsp            # imm = 0xEB0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb30(%rbp)
cmpl $0x3c, 0x788(%rax)
jae 0xcca33
movb $0x1, -0x45(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xb40(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0xb38(%rbp)
callq 0x7650
movq -0xb38(%rbp), %rdx
leaq 0x7c157(%rip), %rsi     # 0x148b05
leaq -0x30(%rbp), %rdi
callq 0x7520
jmp 0xcc9b9
movq -0xb40(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x9c50
jmp 0xcc9cb
movq -0xb40(%rbp), %rdi
movb $0x0, -0x45(%rbp)
leaq 0xe13fb(%rip), %rsi     # 0x1addd8
leaq -0xc2d54(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcca11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7708
leaq -0x31(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x45(%rbp)
jne 0xcca22
jmp 0xcca2e
movq -0xb40(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movq -0xb30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2e560
movq -0xb30(%rbp), %rdi
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x54(%rbp)
movq -0x50(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x58(%rbp)
movq -0x50(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x5c(%rbp)
movq -0x50(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x31910
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x2f560
movl %eax, -0x60(%rbp)
cmpl $0x3, -0x60(%rbp)
je 0xccb57
movb $0x1, -0x82(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xb50(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
callq 0x7650
movq -0xb48(%rbp), %rdx
leaq 0x764ff(%rip), %rsi     # 0x142fc8
leaq -0x80(%rbp), %rdi
callq 0x7520
jmp 0xccad4
movq -0xb50(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x9c50
jmp 0xccae6
movq -0xb50(%rbp), %rdi
movb $0x0, -0x82(%rbp)
leaq 0xe12dd(%rip), %rsi     # 0x1addd8
leaq -0xc2e72(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xccb2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x7708
leaq -0x81(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x82(%rbp)
jne 0xccb46
jmp 0xccb52
movq -0xb50(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movq -0xb30(%rbp), %rcx
movq %rcx, -0x98(%rbp)
leaq -0x50(%rbp), %rax
movq %rax, -0x90(%rbp)
movq %rcx, -0xa8(%rbp)
movq %rax, -0xa0(%rbp)
movl -0x54(%rbp), %eax
addl $0xfffffeb3, %eax       # imm = 0xFFFFFEB3
movl %eax, %ecx
movq %rcx, -0xb58(%rbp)
subl $0x21, %eax
ja 0xd05a0
movq -0xb58(%rbp), %rax
leaq 0x78cfe(%rip), %rcx     # 0x1458a4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x58(%rbp), %eax
movl %eax, -0xb68(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xb64(%rbp)
leaq -0xc9(%rbp), %rdi
movq %rdi, -0xb60(%rbp)
callq 0x7650
movq -0xb60(%rbp), %rdx
leaq 0x7bf47(%rip), %rsi     # 0x148b29
leaq -0xc8(%rbp), %rdi
callq 0x7520
jmp 0xccbf0
movl -0xb64(%rbp), %edx
movl -0xb68(%rbp), %esi
movq -0xb30(%rbp), %rdi
leaq -0xc8(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
callq 0x784f0
jmp 0xccc1a
leaq -0xc8(%rbp), %rdi
callq 0x7708
leaq -0xc9(%rbp), %rdi
callq 0x73d0
jmp 0xd066a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xccc5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x7708
leaq -0xc9(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %r8d
leaq 0x7beaa(%rip), %r9      # 0x148b3b
callq 0x79330
jmp 0xd066a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x7be94(%rip), %r8      # 0x148b4a
callq 0x79220
jmp 0xd066a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x7be81(%rip), %r8      # 0x148b5c
callq 0x79220
jmp 0xd066a
movb $0x1, -0xf2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xb78(%rbp)
leaq -0xf1(%rbp), %rdi
movq %rdi, -0xb70(%rbp)
callq 0x7650
movq -0xb70(%rbp), %rdx
leaq 0x7be4f(%rip), %rsi     # 0x148b6d
leaq -0xf0(%rbp), %rdi
callq 0x7520
jmp 0xccd2c
movq -0xb78(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x9c50
jmp 0xccd41
movq -0xb78(%rbp), %rdi
movb $0x0, -0xf2(%rbp)
leaq 0xe1082(%rip), %rsi     # 0x1addd8
leaq -0xc30cd(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xccd8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x7708
leaq -0xf1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xf2(%rbp)
jne 0xccda4
jmp 0xccdb0
movq -0xb78(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x11a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xb88(%rbp)
leaq -0x119(%rbp), %rdi
movq %rdi, -0xb80(%rbp)
callq 0x7650
movq -0xb80(%rbp), %rdx
leaq 0x7bdb1(%rip), %rsi     # 0x148b9f
leaq -0x118(%rbp), %rdi
callq 0x7520
jmp 0xccdfc
movq -0xb88(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x9c50
jmp 0xcce11
movq -0xb88(%rbp), %rdi
movb $0x0, -0x11a(%rbp)
leaq 0xe0fb2(%rip), %rsi     # 0x1addd8
leaq -0xc319d(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcce5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x7708
leaq -0x119(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x11a(%rbp)
jne 0xcce74
jmp 0xcce80
movq -0xb88(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x142(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xb98(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0xb90(%rbp)
callq 0x7650
movq -0xb90(%rbp), %rdx
leaq 0x7bd16(%rip), %rsi     # 0x148bd4
leaq -0x140(%rbp), %rdi
callq 0x7520
jmp 0xccecc
movq -0xb98(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x9c50
jmp 0xccee1
movq -0xb98(%rbp), %rdi
movb $0x0, -0x142(%rbp)
leaq 0xe0ee2(%rip), %rsi     # 0x1addd8
leaq -0xc326d(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xccf2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x7708
leaq -0x141(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x142(%rbp)
jne 0xccf44
jmp 0xccf50
movq -0xb98(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x16a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xba8(%rbp)
leaq -0x169(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
callq 0x7650
movq -0xba0(%rbp), %rdx
leaq 0x7bc78(%rip), %rsi     # 0x148c06
leaq -0x168(%rbp), %rdi
callq 0x7520
jmp 0xccf9c
movq -0xba8(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x9c50
jmp 0xccfb1
movq -0xba8(%rbp), %rdi
movb $0x0, -0x16a(%rbp)
leaq 0xe0e12(%rip), %rsi     # 0x1addd8
leaq -0xc333d(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xccffd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x7708
leaq -0x169(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x16a(%rbp)
jne 0xcd014
jmp 0xcd020
movq -0xba8(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x170(%rbp)
cmpl $0x0, -0x170(%rbp)
jne 0xcd2ba
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movq -0xb30(%rbp), %rsi
movb %al, -0x171(%rbp)
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x1b8(%rbp), %rdi
callq 0x72630
movq -0xb30(%rbp), %rsi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x1d8(%rbp), %rdi
callq 0x72630
jmp 0xcd08e
leaq 0x7bba9(%rip), %rsi     # 0x148c3e
leaq 0x7bb9c(%rip), %rcx     # 0x148c38
leaq 0x75a8c(%rip), %r9      # 0x142b2f
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rdx
leaq -0x1d8(%rbp), %r8
callq 0xddf50
jmp 0xcd0bf
leaq -0x1d8(%rbp), %rdi
callq 0x7708
leaq -0x1b8(%rbp), %rdi
callq 0x7708
movq -0xb30(%rbp), %rsi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x218(%rbp), %rdi
callq 0x72630
jmp 0xcd0f3
movq -0xb30(%rbp), %rsi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x238(%rbp), %rdi
callq 0x72630
jmp 0xcd10f
leaq 0x7bb28(%rip), %rsi     # 0x148c3e
leaq 0x7bb2c(%rip), %rcx     # 0x148c49
leaq 0x7bb36(%rip), %r9      # 0x148c5a
leaq -0x1f8(%rbp), %rdi
leaq -0x218(%rbp), %rdx
leaq -0x238(%rbp), %r8
callq 0xddf50
jmp 0xcd140
leaq -0x238(%rbp), %rdi
callq 0x7708
leaq -0x218(%rbp), %rdi
callq 0x7708
movl -0x58(%rbp), %eax
movl %eax, -0xbb0(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xbac(%rbp)
leaq 0x801c0(%rip), %rdx     # 0x14d331
leaq -0x258(%rbp), %rdi
leaq -0x198(%rbp), %rsi
leaq -0x1f8(%rbp), %rcx
callq 0xde020
jmp 0xcd18d
movl -0xbac(%rbp), %edx
movl -0xbb0(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x171(%rbp), %r8d
andl $0x1, %r8d
leaq -0x258(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcd1bd
leaq -0x258(%rbp), %rdi
callq 0x7708
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcd1e1
leaq -0x1f8(%rbp), %rdi
callq 0x7708
leaq -0x198(%rbp), %rdi
callq 0x7708
jmp 0xcd544
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd224
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x7708
leaq -0x1b8(%rbp), %rdi
callq 0x7708
jmp 0xd0682
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd2a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x7708
leaq -0x218(%rbp), %rdi
callq 0x7708
jmp 0xcd2a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd29d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x7708
leaq -0x1f8(%rbp), %rdi
callq 0x7708
leaq -0x198(%rbp), %rdi
callq 0x7708
jmp 0xd0682
cmpl $0x1, -0x170(%rbp)
jne 0xcd397
movb $0x1, -0x27a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xbc0(%rbp)
leaq -0x279(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x7650
movq -0xbb8(%rbp), %rdx
leaq 0x7b95e(%rip), %rsi     # 0x148c5e
leaq -0x278(%rbp), %rdi
callq 0x7520
jmp 0xcd30e
movq -0xbc0(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x9c50
jmp 0xcd323
movq -0xbc0(%rbp), %rdi
movb $0x0, -0x27a(%rbp)
leaq 0xe0aa0(%rip), %rsi     # 0x1addd8
leaq -0xc36af(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd36f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x7708
leaq -0x279(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x27a(%rbp)
jne 0xcd386
jmp 0xcd392
movq -0xbc0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
cmpl $0x2, -0x170(%rbp)
jne 0xcd474
movb $0x1, -0x2a2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xbd0(%rbp)
leaq -0x2a1(%rbp), %rdi
movq %rdi, -0xbc8(%rbp)
callq 0x7650
movq -0xbc8(%rbp), %rdx
leaq 0x7b8c3(%rip), %rsi     # 0x148ca0
leaq -0x2a0(%rbp), %rdi
callq 0x7520
jmp 0xcd3eb
movq -0xbd0(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x9c50
jmp 0xcd400
movq -0xbd0(%rbp), %rdi
movb $0x0, -0x2a2(%rbp)
leaq 0xe09c3(%rip), %rsi     # 0x1addd8
leaq -0xc378c(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd44c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x7708
leaq -0x2a1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x2a2(%rbp)
jne 0xcd463
jmp 0xcd46f
movq -0xbd0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x2ca(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xbe0(%rbp)
leaq -0x2c9(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
callq 0x7650
movq -0xbd8(%rbp), %rdx
leaq 0x75c37(%rip), %rsi     # 0x1430e4
leaq -0x2c8(%rbp), %rdi
callq 0x7520
jmp 0xcd4bb
movq -0xbe0(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x9c50
jmp 0xcd4d0
movq -0xbe0(%rbp), %rdi
movb $0x0, -0x2ca(%rbp)
leaq 0xe08f3(%rip), %rsi     # 0x1addd8
leaq -0xc385c(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd51c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x7708
leaq -0x2c9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x2ca(%rbp)
jne 0xcd533
jmp 0xcd53f
movq -0xbe0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xd066a
movb $0x1, -0x2f2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xbf0(%rbp)
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0xbe8(%rbp)
callq 0x7650
movq -0xbe8(%rbp), %rdx
leaq 0x7b760(%rip), %rsi     # 0x148ce2
leaq -0x2f0(%rbp), %rdi
callq 0x7520
jmp 0xcd590
movq -0xbf0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x9c50
jmp 0xcd5a5
movq -0xbf0(%rbp), %rdi
movb $0x0, -0x2f2(%rbp)
leaq 0xe081e(%rip), %rsi     # 0x1addd8
leaq -0xc3931(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd5f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x7708
leaq -0x2f1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x2f2(%rbp)
jne 0xcd608
jmp 0xcd614
movq -0xbf0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x31a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc00(%rbp)
leaq -0x319(%rbp), %rdi
movq %rdi, -0xbf8(%rbp)
callq 0x7650
movq -0xbf8(%rbp), %rdx
leaq 0x7b6bc(%rip), %rsi     # 0x148d0e
leaq -0x318(%rbp), %rdi
callq 0x7520
jmp 0xcd660
movq -0xc00(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x9c50
jmp 0xcd675
movq -0xc00(%rbp), %rdi
movb $0x0, -0x31a(%rbp)
leaq 0xe074e(%rip), %rsi     # 0x1addd8
leaq -0xc3a01(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd6c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x7708
leaq -0x319(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x31a(%rbp)
jne 0xcd6d8
jmp 0xcd6e4
movq -0xc00(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x342(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc10(%rbp)
leaq -0x341(%rbp), %rdi
movq %rdi, -0xc08(%rbp)
callq 0x7650
movq -0xc08(%rbp), %rdx
leaq 0x7b61b(%rip), %rsi     # 0x148d3d
leaq -0x340(%rbp), %rdi
callq 0x7520
jmp 0xcd730
movq -0xc10(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x9c50
jmp 0xcd745
movq -0xc10(%rbp), %rdi
movb $0x0, -0x342(%rbp)
leaq 0xe067e(%rip), %rsi     # 0x1addd8
leaq -0xc3ad1(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd791
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x7708
leaq -0x341(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x342(%rbp)
jne 0xcd7a8
jmp 0xcd7b4
movq -0xc10(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x36a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc20(%rbp)
leaq -0x369(%rbp), %rdi
movq %rdi, -0xc18(%rbp)
callq 0x7650
movq -0xc18(%rbp), %rdx
leaq 0x7b579(%rip), %rsi     # 0x148d6b
leaq -0x368(%rbp), %rdi
callq 0x7520
jmp 0xcd800
movq -0xc20(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x9c50
jmp 0xcd815
movq -0xc20(%rbp), %rdi
movb $0x0, -0x36a(%rbp)
leaq 0xe05ae(%rip), %rsi     # 0x1addd8
leaq -0xc3ba1(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcd861
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x7708
leaq -0x369(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x36a(%rbp)
jne 0xcd878
jmp 0xcd884
movq -0xc20(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x7b4f7(%rip), %r8      # 0x148d9b
callq 0x79220
jmp 0xd066a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x7b4e4(%rip), %r8      # 0x148dad
callq 0x79220
jmp 0xd066a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
callq 0xea90
movq -0xb30(%rbp), %rdi
movq %rax, -0x378(%rbp)
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x378(%rbp), %rax
movl 0xc(%rax), %r9d
leaq 0x7b4c7(%rip), %r8      # 0x148dd6
leaq 0x7b4a9(%rip), %rax     # 0x148dbf
cmpl $0x2, %r9d
cmoveq %rax, %r8
callq 0x79220
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x37c(%rbp)
cmpl $0x0, -0x37c(%rbp)
jne 0xcd963
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7b490(%rip), %r8      # 0x148de9
callq 0x79220
jmp 0xcdca1
cmpl $0x1, -0x37c(%rbp)
jne 0xcdac2
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movq -0xb30(%rbp), %rsi
movb %al, -0x37d(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xc30(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xc2c(%rbp)
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x3e0(%rbp), %rdi
movq %rdi, -0xc28(%rbp)
callq 0x71b50
movq -0xc28(%rbp), %rcx
leaq 0x7b42d(%rip), %rsi     # 0x148df7
leaq 0x7f95c(%rip), %rdx     # 0x14d32d
leaq 0x77521(%rip), %r8      # 0x144ef9
leaq -0x3c0(%rbp), %rdi
callq 0xde0e0
jmp 0xcd9e6
leaq -0x3a0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x3c0(%rbp), %rdx
callq 0xd0690
jmp 0xcda02
movl -0xc2c(%rbp), %edx
movl -0xc30(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x37d(%rbp), %r8d
andl $0x1, %r8d
leaq -0x3a0(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcda32
leaq -0x3a0(%rbp), %rdi
callq 0x7708
leaq -0x3c0(%rbp), %rdi
callq 0x7708
leaq -0x3e0(%rbp), %rdi
callq 0x7708
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcdc9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcdab1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcdaa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x7708
leaq -0x3c0(%rbp), %rdi
callq 0x7708
leaq -0x3e0(%rbp), %rdi
callq 0x7708
jmp 0xd0682
cmpl $0x2, -0x37c(%rbp)
jne 0xcdaf0
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7b311(%rip), %r8      # 0x148df7
callq 0x79220
jmp 0xcdc9d
cmpl $0x3, -0x37c(%rbp)
jne 0xcdbcd
movb $0x1, -0x402(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc40(%rbp)
leaq -0x401(%rbp), %rdi
movq %rdi, -0xc38(%rbp)
callq 0x7650
movq -0xc38(%rbp), %rdx
leaq 0x7b2cf(%rip), %rsi     # 0x148e05
leaq -0x400(%rbp), %rdi
callq 0x7520
jmp 0xcdb44
movq -0xc40(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x9c50
jmp 0xcdb59
movq -0xc40(%rbp), %rdi
movb $0x0, -0x402(%rbp)
leaq 0xe026a(%rip), %rsi     # 0x1addd8
leaq -0xc3ee5(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcdba5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x7708
leaq -0x401(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x402(%rbp)
jne 0xcdbbc
jmp 0xcdbc8
movq -0xc40(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x42a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc50(%rbp)
leaq -0x429(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0x7650
movq -0xc48(%rbp), %rdx
leaq 0x75370(%rip), %rsi     # 0x142f76
leaq -0x428(%rbp), %rdi
callq 0x7520
jmp 0xcdc14
movq -0xc50(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x9c50
jmp 0xcdc29
movq -0xc50(%rbp), %rdi
movb $0x0, -0x42a(%rbp)
leaq 0xe019a(%rip), %rsi     # 0x1addd8
leaq -0xc3fb5(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcdc75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x7708
leaq -0x429(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x42a(%rbp)
jne 0xcdc8c
jmp 0xcdc98
movq -0xc50(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcdc9f
jmp 0xcdca1
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x430(%rbp)
cmpl $0x0, -0x430(%rbp)
jne 0xcdce1
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7b162(%rip), %r8      # 0x148e39
callq 0x79220
jmp 0xce01f
cmpl $0x1, -0x430(%rbp)
jne 0xcde40
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movq -0xb30(%rbp), %rsi
movb %al, -0x431(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xc60(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xc5c(%rbp)
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x498(%rbp), %rdi
movq %rdi, -0xc58(%rbp)
callq 0x71b50
movq -0xc58(%rbp), %rcx
leaq 0x7b103(%rip), %rsi     # 0x148e4b
leaq 0x7f5de(%rip), %rdx     # 0x14d32d
leaq 0x771a3(%rip), %r8      # 0x144ef9
leaq -0x478(%rbp), %rdi
callq 0xde1a0
jmp 0xcdd64
leaq -0x458(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
leaq -0x478(%rbp), %rdx
callq 0xd0720
jmp 0xcdd80
movl -0xc5c(%rbp), %edx
movl -0xc60(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x431(%rbp), %r8d
andl $0x1, %r8d
leaq -0x458(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcddb0
leaq -0x458(%rbp), %rdi
callq 0x7708
leaq -0x478(%rbp), %rdi
callq 0x7708
leaq -0x498(%rbp), %rdi
callq 0x7708
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xce01d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcde2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcde23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x458(%rbp), %rdi
callq 0x7708
leaq -0x478(%rbp), %rdi
callq 0x7708
leaq -0x498(%rbp), %rdi
callq 0x7708
jmp 0xd0682
cmpl $0x2, -0x430(%rbp)
jne 0xcde6e
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7afe7(%rip), %r8      # 0x148e4b
callq 0x79220
jmp 0xce01b
cmpl $0x3, -0x430(%rbp)
jne 0xcdf4b
movb $0x1, -0x4ba(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc70(%rbp)
leaq -0x4b9(%rbp), %rdi
movq %rdi, -0xc68(%rbp)
callq 0x7650
movq -0xc68(%rbp), %rdx
leaq 0x7af51(%rip), %rsi     # 0x148e05
leaq -0x4b8(%rbp), %rdi
callq 0x7520
jmp 0xcdec2
movq -0xc70(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0x9c50
jmp 0xcded7
movq -0xc70(%rbp), %rdi
movb $0x0, -0x4ba(%rbp)
leaq 0xdfeec(%rip), %rsi     # 0x1addd8
leaq -0xc4263(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcdf23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x4b8(%rbp), %rdi
callq 0x7708
leaq -0x4b9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x4ba(%rbp)
jne 0xcdf3a
jmp 0xcdf46
movq -0xc70(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x4e2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xc80(%rbp)
leaq -0x4e1(%rbp), %rdi
movq %rdi, -0xc78(%rbp)
callq 0x7650
movq -0xc78(%rbp), %rdx
leaq 0x74ff2(%rip), %rsi     # 0x142f76
leaq -0x4e0(%rbp), %rdi
callq 0x7520
jmp 0xcdf92
movq -0xc80(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
callq 0x9c50
jmp 0xcdfa7
movq -0xc80(%rbp), %rdi
movb $0x0, -0x4e2(%rbp)
leaq 0xdfe1c(%rip), %rsi     # 0x1addd8
leaq -0xc4333(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcdff3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0x7708
leaq -0x4e1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x4e2(%rbp)
jne 0xce00a
jmp 0xce016
movq -0xc80(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xce01d
jmp 0xce01f
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x4e8(%rbp)
cmpl $0x0, -0x4e8(%rbp)
jne 0xce05f
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7ae08(%rip), %r8      # 0x148e5d
callq 0x79220
jmp 0xce352
cmpl $0x1, -0x4e8(%rbp)
jne 0xce16b
xorl %eax, %eax
testb $0x1, %al
jne 0xce077
jmp 0xce16b
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x4e9(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xc90(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xc8c(%rbp)
leaq -0x511(%rbp), %rdi
movq %rdi, -0xc88(%rbp)
callq 0x7650
movq -0xc88(%rbp), %rdx
leaq 0x707db(%rip), %rsi     # 0x13e89e
leaq -0x510(%rbp), %rdi
callq 0x7520
jmp 0xce0d1
movl -0xc8c(%rbp), %edx
movl -0xc90(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x4e9(%rbp), %r8d
andl $0x1, %r8d
leaq -0x510(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xce101
leaq -0x510(%rbp), %rdi
callq 0x7708
leaq -0x511(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xce350
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce15a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x510(%rbp), %rdi
callq 0x7708
leaq -0x511(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x4e8(%rbp)
jne 0xce1a1
xorl %eax, %eax
testb $0x1, %al
jne 0xce17c
jmp 0xce1a1
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7acd4(%rip), %r8      # 0x148e6b
callq 0x79220
jmp 0xce34e
cmpl $0x3, -0x4e8(%rbp)
jne 0xce27e
movb $0x1, -0x53a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xca0(%rbp)
leaq -0x539(%rbp), %rdi
movq %rdi, -0xc98(%rbp)
callq 0x7650
movq -0xc98(%rbp), %rdx
leaq 0x7ac1e(%rip), %rsi     # 0x148e05
leaq -0x538(%rbp), %rdi
callq 0x7520
jmp 0xce1f5
movq -0xca0(%rbp), %rdi
leaq -0x538(%rbp), %rsi
callq 0x9c50
jmp 0xce20a
movq -0xca0(%rbp), %rdi
movb $0x0, -0x53a(%rbp)
leaq 0xdfbb9(%rip), %rsi     # 0x1addd8
leaq -0xc4596(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x538(%rbp), %rdi
callq 0x7708
leaq -0x539(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x53a(%rbp)
jne 0xce26d
jmp 0xce279
movq -0xca0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x562(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xcb0(%rbp)
leaq -0x561(%rbp), %rdi
movq %rdi, -0xca8(%rbp)
callq 0x7650
movq -0xca8(%rbp), %rdx
leaq 0x74cbf(%rip), %rsi     # 0x142f76
leaq -0x560(%rbp), %rdi
callq 0x7520
jmp 0xce2c5
movq -0xcb0(%rbp), %rdi
leaq -0x560(%rbp), %rsi
callq 0x9c50
jmp 0xce2da
movq -0xcb0(%rbp), %rdi
movb $0x0, -0x562(%rbp)
leaq 0xdfae9(%rip), %rsi     # 0x1addd8
leaq -0xc4666(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce326
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x560(%rbp), %rdi
callq 0x7708
leaq -0x561(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x562(%rbp)
jne 0xce33d
jmp 0xce349
movq -0xcb0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xce350
jmp 0xce352
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x568(%rbp)
cmpl $0x0, -0x568(%rbp)
jne 0xce392
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7aaf1(%rip), %r8      # 0x148e79
callq 0x79220
jmp 0xce685
cmpl $0x1, -0x568(%rbp)
jne 0xce49e
xorl %eax, %eax
testb $0x1, %al
jne 0xce3aa
jmp 0xce49e
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x569(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xcc0(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xcbc(%rbp)
leaq -0x591(%rbp), %rdi
movq %rdi, -0xcb8(%rbp)
callq 0x7650
movq -0xcb8(%rbp), %rdx
leaq 0x704a8(%rip), %rsi     # 0x13e89e
leaq -0x590(%rbp), %rdi
callq 0x7520
jmp 0xce404
movl -0xcbc(%rbp), %edx
movl -0xcc0(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x569(%rbp), %r8d
andl $0x1, %r8d
leaq -0x590(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xce434
leaq -0x590(%rbp), %rdi
callq 0x7708
leaq -0x591(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xce683
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce48d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x590(%rbp), %rdi
callq 0x7708
leaq -0x591(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x568(%rbp)
jne 0xce4d4
xorl %eax, %eax
testb $0x1, %al
jne 0xce4af
jmp 0xce4d4
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7a9bd(%rip), %r8      # 0x148e87
callq 0x79220
jmp 0xce681
cmpl $0x3, -0x568(%rbp)
jne 0xce5b1
movb $0x1, -0x5ba(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xcd0(%rbp)
leaq -0x5b9(%rbp), %rdi
movq %rdi, -0xcc8(%rbp)
callq 0x7650
movq -0xcc8(%rbp), %rdx
leaq 0x7a8eb(%rip), %rsi     # 0x148e05
leaq -0x5b8(%rbp), %rdi
callq 0x7520
jmp 0xce528
movq -0xcd0(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
callq 0x9c50
jmp 0xce53d
movq -0xcd0(%rbp), %rdi
movb $0x0, -0x5ba(%rbp)
leaq 0xdf886(%rip), %rsi     # 0x1addd8
leaq -0xc48c9(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce589
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x5b8(%rbp), %rdi
callq 0x7708
leaq -0x5b9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x5ba(%rbp)
jne 0xce5a0
jmp 0xce5ac
movq -0xcd0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x5e2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xce0(%rbp)
leaq -0x5e1(%rbp), %rdi
movq %rdi, -0xcd8(%rbp)
callq 0x7650
movq -0xcd8(%rbp), %rdx
leaq 0x7498c(%rip), %rsi     # 0x142f76
leaq -0x5e0(%rbp), %rdi
callq 0x7520
jmp 0xce5f8
movq -0xce0(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
callq 0x9c50
jmp 0xce60d
movq -0xce0(%rbp), %rdi
movb $0x0, -0x5e2(%rbp)
leaq 0xdf7b6(%rip), %rsi     # 0x1addd8
leaq -0xc4999(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x5e0(%rbp), %rdi
callq 0x7708
leaq -0x5e1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x5e2(%rbp)
jne 0xce670
jmp 0xce67c
movq -0xce0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xce683
jmp 0xce685
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x5e8(%rbp)
cmpl $0x0, -0x5e8(%rbp)
jne 0xce6c5
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7a72e(%rip), %r8      # 0x148de9
callq 0x79220
jmp 0xcea03
cmpl $0x1, -0x5e8(%rbp)
jne 0xce824
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movq -0xb30(%rbp), %rsi
movb %al, -0x5e9(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xcf0(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xcec(%rbp)
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x650(%rbp), %rdi
movq %rdi, -0xce8(%rbp)
callq 0x71b50
movq -0xce8(%rbp), %rcx
leaq 0x7a6cb(%rip), %rsi     # 0x148df7
leaq 0x7ebfa(%rip), %rdx     # 0x14d32d
leaq 0x767bf(%rip), %r8      # 0x144ef9
leaq -0x630(%rbp), %rdi
callq 0xde0e0
jmp 0xce748
leaq -0x610(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x630(%rbp), %rdx
callq 0xd0690
jmp 0xce764
movl -0xcec(%rbp), %edx
movl -0xcf0(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x5e9(%rbp), %r8d
andl $0x1, %r8d
leaq -0x610(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xce794
leaq -0x610(%rbp), %rdi
callq 0x7708
leaq -0x630(%rbp), %rdi
callq 0x7708
leaq -0x650(%rbp), %rdi
callq 0x7708
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcea01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce813
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce807
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x610(%rbp), %rdi
callq 0x7708
leaq -0x630(%rbp), %rdi
callq 0x7708
leaq -0x650(%rbp), %rdi
callq 0x7708
jmp 0xd0682
cmpl $0x2, -0x5e8(%rbp)
jne 0xce852
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7a5af(%rip), %r8      # 0x148df7
callq 0x79220
jmp 0xce9ff
cmpl $0x3, -0x5e8(%rbp)
jne 0xce92f
movb $0x1, -0x672(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd00(%rbp)
leaq -0x671(%rbp), %rdi
movq %rdi, -0xcf8(%rbp)
callq 0x7650
movq -0xcf8(%rbp), %rdx
leaq 0x7a56d(%rip), %rsi     # 0x148e05
leaq -0x670(%rbp), %rdi
callq 0x7520
jmp 0xce8a6
movq -0xd00(%rbp), %rdi
leaq -0x670(%rbp), %rsi
callq 0x9c50
jmp 0xce8bb
movq -0xd00(%rbp), %rdi
movb $0x0, -0x672(%rbp)
leaq 0xdf508(%rip), %rsi     # 0x1addd8
leaq -0xc4c47(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x670(%rbp), %rdi
callq 0x7708
leaq -0x671(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x672(%rbp)
jne 0xce91e
jmp 0xce92a
movq -0xd00(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x69a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd10(%rbp)
leaq -0x699(%rbp), %rdi
movq %rdi, -0xd08(%rbp)
callq 0x7650
movq -0xd08(%rbp), %rdx
leaq 0x7460e(%rip), %rsi     # 0x142f76
leaq -0x698(%rbp), %rdi
callq 0x7520
jmp 0xce976
movq -0xd10(%rbp), %rdi
leaq -0x698(%rbp), %rsi
callq 0x9c50
jmp 0xce98b
movq -0xd10(%rbp), %rdi
movb $0x0, -0x69a(%rbp)
leaq 0xdf438(%rip), %rsi     # 0x1addd8
leaq -0xc4d17(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xce9d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x698(%rbp), %rdi
callq 0x7708
leaq -0x699(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x69a(%rbp)
jne 0xce9ee
jmp 0xce9fa
movq -0xd10(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcea01
jmp 0xcea03
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x6a0(%rbp)
cmpl $0x0, -0x6a0(%rbp)
jne 0xcea43
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7a400(%rip), %r8      # 0x148e39
callq 0x79220
jmp 0xced81
cmpl $0x1, -0x6a0(%rbp)
jne 0xceba2
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movq -0xb30(%rbp), %rsi
movb %al, -0x6a1(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xd20(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xd1c(%rbp)
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
leaq -0x708(%rbp), %rdi
movq %rdi, -0xd18(%rbp)
callq 0x71b50
movq -0xd18(%rbp), %rcx
leaq 0x7a3a1(%rip), %rsi     # 0x148e4b
leaq 0x7e87c(%rip), %rdx     # 0x14d32d
leaq 0x76441(%rip), %r8      # 0x144ef9
leaq -0x6e8(%rbp), %rdi
callq 0xde1a0
jmp 0xceac6
leaq -0x6c8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
leaq -0x6e8(%rbp), %rdx
callq 0xd0720
jmp 0xceae2
movl -0xd1c(%rbp), %edx
movl -0xd20(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x6a1(%rbp), %r8d
andl $0x1, %r8d
leaq -0x6c8(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xceb12
leaq -0x6c8(%rbp), %rdi
callq 0x7708
leaq -0x6e8(%rbp), %rdi
callq 0x7708
leaq -0x708(%rbp), %rdi
callq 0x7708
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xced7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xceb91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xceb85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x6c8(%rbp), %rdi
callq 0x7708
leaq -0x6e8(%rbp), %rdi
callq 0x7708
leaq -0x708(%rbp), %rdi
callq 0x7708
jmp 0xd0682
cmpl $0x2, -0x6a0(%rbp)
jne 0xcebd0
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7a285(%rip), %r8      # 0x148e4b
callq 0x79220
jmp 0xced7d
cmpl $0x3, -0x6a0(%rbp)
jne 0xcecad
movb $0x1, -0x72a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd30(%rbp)
leaq -0x729(%rbp), %rdi
movq %rdi, -0xd28(%rbp)
callq 0x7650
movq -0xd28(%rbp), %rdx
leaq 0x7a1ef(%rip), %rsi     # 0x148e05
leaq -0x728(%rbp), %rdi
callq 0x7520
jmp 0xcec24
movq -0xd30(%rbp), %rdi
leaq -0x728(%rbp), %rsi
callq 0x9c50
jmp 0xcec39
movq -0xd30(%rbp), %rdi
movb $0x0, -0x72a(%rbp)
leaq 0xdf18a(%rip), %rsi     # 0x1addd8
leaq -0xc4fc5(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcec85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x728(%rbp), %rdi
callq 0x7708
leaq -0x729(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x72a(%rbp)
jne 0xcec9c
jmp 0xceca8
movq -0xd30(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x752(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd40(%rbp)
leaq -0x751(%rbp), %rdi
movq %rdi, -0xd38(%rbp)
callq 0x7650
movq -0xd38(%rbp), %rdx
leaq 0x74290(%rip), %rsi     # 0x142f76
leaq -0x750(%rbp), %rdi
callq 0x7520
jmp 0xcecf4
movq -0xd40(%rbp), %rdi
leaq -0x750(%rbp), %rsi
callq 0x9c50
jmp 0xced09
movq -0xd40(%rbp), %rdi
movb $0x0, -0x752(%rbp)
leaq 0xdf0ba(%rip), %rsi     # 0x1addd8
leaq -0xc5095(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xced55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x750(%rbp), %rdi
callq 0x7708
leaq -0x751(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x752(%rbp)
jne 0xced6c
jmp 0xced78
movq -0xd40(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xced7f
jmp 0xced81
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x758(%rbp)
cmpl $0x0, -0x758(%rbp)
jne 0xcedc1
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7a0a6(%rip), %r8      # 0x148e5d
callq 0x79220
jmp 0xcf0b4
cmpl $0x1, -0x758(%rbp)
jne 0xceecd
xorl %eax, %eax
testb $0x1, %al
jne 0xcedd9
jmp 0xceecd
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x759(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xd50(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xd4c(%rbp)
leaq -0x781(%rbp), %rdi
movq %rdi, -0xd48(%rbp)
callq 0x7650
movq -0xd48(%rbp), %rdx
leaq 0x6fa79(%rip), %rsi     # 0x13e89e
leaq -0x780(%rbp), %rdi
callq 0x7520
jmp 0xcee33
movl -0xd4c(%rbp), %edx
movl -0xd50(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x759(%rbp), %r8d
andl $0x1, %r8d
leaq -0x780(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcee63
leaq -0x780(%rbp), %rdi
callq 0x7708
leaq -0x781(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcf0b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xceebc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x780(%rbp), %rdi
callq 0x7708
leaq -0x781(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x758(%rbp)
jne 0xcef03
xorl %eax, %eax
testb $0x1, %al
jne 0xceede
jmp 0xcef03
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79f72(%rip), %r8      # 0x148e6b
callq 0x79220
jmp 0xcf0b0
cmpl $0x3, -0x758(%rbp)
jne 0xcefe0
movb $0x1, -0x7aa(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd60(%rbp)
leaq -0x7a9(%rbp), %rdi
movq %rdi, -0xd58(%rbp)
callq 0x7650
movq -0xd58(%rbp), %rdx
leaq 0x79ebc(%rip), %rsi     # 0x148e05
leaq -0x7a8(%rbp), %rdi
callq 0x7520
jmp 0xcef57
movq -0xd60(%rbp), %rdi
leaq -0x7a8(%rbp), %rsi
callq 0x9c50
jmp 0xcef6c
movq -0xd60(%rbp), %rdi
movb $0x0, -0x7aa(%rbp)
leaq 0xdee57(%rip), %rsi     # 0x1addd8
leaq -0xc52f8(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcefb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x7a8(%rbp), %rdi
callq 0x7708
leaq -0x7a9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x7aa(%rbp)
jne 0xcefcf
jmp 0xcefdb
movq -0xd60(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x7d2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd70(%rbp)
leaq -0x7d1(%rbp), %rdi
movq %rdi, -0xd68(%rbp)
callq 0x7650
movq -0xd68(%rbp), %rdx
leaq 0x73f5d(%rip), %rsi     # 0x142f76
leaq -0x7d0(%rbp), %rdi
callq 0x7520
jmp 0xcf027
movq -0xd70(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x9c50
jmp 0xcf03c
movq -0xd70(%rbp), %rdi
movb $0x0, -0x7d2(%rbp)
leaq 0xded87(%rip), %rsi     # 0x1addd8
leaq -0xc53c8(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x7d0(%rbp), %rdi
callq 0x7708
leaq -0x7d1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x7d2(%rbp)
jne 0xcf09f
jmp 0xcf0ab
movq -0xd70(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcf0b2
jmp 0xcf0b4
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x7d8(%rbp)
cmpl $0x0, -0x7d8(%rbp)
jne 0xcf0f4
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79d8f(%rip), %r8      # 0x148e79
callq 0x79220
jmp 0xcf3e7
cmpl $0x1, -0x7d8(%rbp)
jne 0xcf200
xorl %eax, %eax
testb $0x1, %al
jne 0xcf10c
jmp 0xcf200
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x7d9(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xd80(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xd7c(%rbp)
leaq -0x801(%rbp), %rdi
movq %rdi, -0xd78(%rbp)
callq 0x7650
movq -0xd78(%rbp), %rdx
leaq 0x6f746(%rip), %rsi     # 0x13e89e
leaq -0x800(%rbp), %rdi
callq 0x7520
jmp 0xcf166
movl -0xd7c(%rbp), %edx
movl -0xd80(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x7d9(%rbp), %r8d
andl $0x1, %r8d
leaq -0x800(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcf196
leaq -0x800(%rbp), %rdi
callq 0x7708
leaq -0x801(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcf3e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf1ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x800(%rbp), %rdi
callq 0x7708
leaq -0x801(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x7d8(%rbp)
jne 0xcf236
xorl %eax, %eax
testb $0x1, %al
jne 0xcf211
jmp 0xcf236
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79c5b(%rip), %r8      # 0x148e87
callq 0x79220
jmp 0xcf3e3
cmpl $0x3, -0x7d8(%rbp)
jne 0xcf313
movb $0x1, -0x82a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xd90(%rbp)
leaq -0x829(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
callq 0x7650
movq -0xd88(%rbp), %rdx
leaq 0x79b89(%rip), %rsi     # 0x148e05
leaq -0x828(%rbp), %rdi
callq 0x7520
jmp 0xcf28a
movq -0xd90(%rbp), %rdi
leaq -0x828(%rbp), %rsi
callq 0x9c50
jmp 0xcf29f
movq -0xd90(%rbp), %rdi
movb $0x0, -0x82a(%rbp)
leaq 0xdeb24(%rip), %rsi     # 0x1addd8
leaq -0xc562b(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf2eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x828(%rbp), %rdi
callq 0x7708
leaq -0x829(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x82a(%rbp)
jne 0xcf302
jmp 0xcf30e
movq -0xd90(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x852(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xda0(%rbp)
leaq -0x851(%rbp), %rdi
movq %rdi, -0xd98(%rbp)
callq 0x7650
movq -0xd98(%rbp), %rdx
leaq 0x73c2a(%rip), %rsi     # 0x142f76
leaq -0x850(%rbp), %rdi
callq 0x7520
jmp 0xcf35a
movq -0xda0(%rbp), %rdi
leaq -0x850(%rbp), %rsi
callq 0x9c50
jmp 0xcf36f
movq -0xda0(%rbp), %rdi
movb $0x0, -0x852(%rbp)
leaq 0xdea54(%rip), %rsi     # 0x1addd8
leaq -0xc56fb(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf3bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x850(%rbp), %rdi
callq 0x7708
leaq -0x851(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x852(%rbp)
jne 0xcf3d2
jmp 0xcf3de
movq -0xda0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcf3e5
jmp 0xcf3e7
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x858(%rbp)
cmpl $0x0, -0x858(%rbp)
jne 0xcf427
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79a40(%rip), %r8      # 0x148e5d
callq 0x79220
jmp 0xcf71a
cmpl $0x1, -0x858(%rbp)
jne 0xcf533
xorl %eax, %eax
testb $0x1, %al
jne 0xcf43f
jmp 0xcf533
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x859(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xdb0(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xdac(%rbp)
leaq -0x881(%rbp), %rdi
movq %rdi, -0xda8(%rbp)
callq 0x7650
movq -0xda8(%rbp), %rdx
leaq 0x6f413(%rip), %rsi     # 0x13e89e
leaq -0x880(%rbp), %rdi
callq 0x7520
jmp 0xcf499
movl -0xdac(%rbp), %edx
movl -0xdb0(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x859(%rbp), %r8d
andl $0x1, %r8d
leaq -0x880(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcf4c9
leaq -0x880(%rbp), %rdi
callq 0x7708
leaq -0x881(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcf718
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf522
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x880(%rbp), %rdi
callq 0x7708
leaq -0x881(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x858(%rbp)
jne 0xcf569
xorl %eax, %eax
testb $0x1, %al
jne 0xcf544
jmp 0xcf569
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x7990c(%rip), %r8      # 0x148e6b
callq 0x79220
jmp 0xcf716
cmpl $0x3, -0x858(%rbp)
jne 0xcf646
movb $0x1, -0x8aa(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xdc0(%rbp)
leaq -0x8a9(%rbp), %rdi
movq %rdi, -0xdb8(%rbp)
callq 0x7650
movq -0xdb8(%rbp), %rdx
leaq 0x79856(%rip), %rsi     # 0x148e05
leaq -0x8a8(%rbp), %rdi
callq 0x7520
jmp 0xcf5bd
movq -0xdc0(%rbp), %rdi
leaq -0x8a8(%rbp), %rsi
callq 0x9c50
jmp 0xcf5d2
movq -0xdc0(%rbp), %rdi
movb $0x0, -0x8aa(%rbp)
leaq 0xde7f1(%rip), %rsi     # 0x1addd8
leaq -0xc595e(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf61e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x8a8(%rbp), %rdi
callq 0x7708
leaq -0x8a9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x8aa(%rbp)
jne 0xcf635
jmp 0xcf641
movq -0xdc0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x8d2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xdd0(%rbp)
leaq -0x8d1(%rbp), %rdi
movq %rdi, -0xdc8(%rbp)
callq 0x7650
movq -0xdc8(%rbp), %rdx
leaq 0x738f7(%rip), %rsi     # 0x142f76
leaq -0x8d0(%rbp), %rdi
callq 0x7520
jmp 0xcf68d
movq -0xdd0(%rbp), %rdi
leaq -0x8d0(%rbp), %rsi
callq 0x9c50
jmp 0xcf6a2
movq -0xdd0(%rbp), %rdi
movb $0x0, -0x8d2(%rbp)
leaq 0xde721(%rip), %rsi     # 0x1addd8
leaq -0xc5a2e(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf6ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x8d0(%rbp), %rdi
callq 0x7708
leaq -0x8d1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x8d2(%rbp)
jne 0xcf705
jmp 0xcf711
movq -0xdd0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcf718
jmp 0xcf71a
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x8d8(%rbp)
cmpl $0x0, -0x8d8(%rbp)
jne 0xcf75a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79729(%rip), %r8      # 0x148e79
callq 0x79220
jmp 0xcfa4d
cmpl $0x1, -0x8d8(%rbp)
jne 0xcf866
xorl %eax, %eax
testb $0x1, %al
jne 0xcf772
jmp 0xcf866
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x8d9(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xde0(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xddc(%rbp)
leaq -0x901(%rbp), %rdi
movq %rdi, -0xdd8(%rbp)
callq 0x7650
movq -0xdd8(%rbp), %rdx
leaq 0x6f0e0(%rip), %rsi     # 0x13e89e
leaq -0x900(%rbp), %rdi
callq 0x7520
jmp 0xcf7cc
movl -0xddc(%rbp), %edx
movl -0xde0(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x8d9(%rbp), %r8d
andl $0x1, %r8d
leaq -0x900(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcf7fc
leaq -0x900(%rbp), %rdi
callq 0x7708
leaq -0x901(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcfa4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf855
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x900(%rbp), %rdi
callq 0x7708
leaq -0x901(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x8d8(%rbp)
jne 0xcf89c
xorl %eax, %eax
testb $0x1, %al
jne 0xcf877
jmp 0xcf89c
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x795f5(%rip), %r8      # 0x148e87
callq 0x79220
jmp 0xcfa49
cmpl $0x3, -0x8d8(%rbp)
jne 0xcf979
movb $0x1, -0x92a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xdf0(%rbp)
leaq -0x929(%rbp), %rdi
movq %rdi, -0xde8(%rbp)
callq 0x7650
movq -0xde8(%rbp), %rdx
leaq 0x79523(%rip), %rsi     # 0x148e05
leaq -0x928(%rbp), %rdi
callq 0x7520
jmp 0xcf8f0
movq -0xdf0(%rbp), %rdi
leaq -0x928(%rbp), %rsi
callq 0x9c50
jmp 0xcf905
movq -0xdf0(%rbp), %rdi
movb $0x0, -0x92a(%rbp)
leaq 0xde4be(%rip), %rsi     # 0x1addd8
leaq -0xc5c91(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcf951
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x928(%rbp), %rdi
callq 0x7708
leaq -0x929(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x92a(%rbp)
jne 0xcf968
jmp 0xcf974
movq -0xdf0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x952(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe00(%rbp)
leaq -0x951(%rbp), %rdi
movq %rdi, -0xdf8(%rbp)
callq 0x7650
movq -0xdf8(%rbp), %rdx
leaq 0x735c4(%rip), %rsi     # 0x142f76
leaq -0x950(%rbp), %rdi
callq 0x7520
jmp 0xcf9c0
movq -0xe00(%rbp), %rdi
leaq -0x950(%rbp), %rsi
callq 0x9c50
jmp 0xcf9d5
movq -0xe00(%rbp), %rdi
movb $0x0, -0x952(%rbp)
leaq 0xde3ee(%rip), %rsi     # 0x1addd8
leaq -0xc5d61(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcfa21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x950(%rbp), %rdi
callq 0x7708
leaq -0x951(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x952(%rbp)
jne 0xcfa38
jmp 0xcfa44
movq -0xe00(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcfa4b
jmp 0xcfa4d
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x958(%rbp)
cmpl $0x0, -0x958(%rbp)
jne 0xcfa8d
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79412(%rip), %r8      # 0x148e95
callq 0x79220
jmp 0xcfd80
cmpl $0x1, -0x958(%rbp)
jne 0xcfb99
xorl %eax, %eax
testb $0x1, %al
jne 0xcfaa5
jmp 0xcfb99
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x959(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xe10(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xe0c(%rbp)
leaq -0x981(%rbp), %rdi
movq %rdi, -0xe08(%rbp)
callq 0x7650
movq -0xe08(%rbp), %rdx
leaq 0x6edad(%rip), %rsi     # 0x13e89e
leaq -0x980(%rbp), %rdi
callq 0x7520
jmp 0xcfaff
movl -0xe0c(%rbp), %edx
movl -0xe10(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x959(%rbp), %r8d
andl $0x1, %r8d
leaq -0x980(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcfb2f
leaq -0x980(%rbp), %rdi
callq 0x7708
leaq -0x981(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xcfd7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcfb88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x980(%rbp), %rdi
callq 0x7708
leaq -0x981(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x958(%rbp)
jne 0xcfbcf
xorl %eax, %eax
testb $0x1, %al
jne 0xcfbaa
jmp 0xcfbcf
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x792e1(%rip), %r8      # 0x148ea6
callq 0x79220
jmp 0xcfd7c
cmpl $0x3, -0x958(%rbp)
jne 0xcfcac
movb $0x1, -0x9aa(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe20(%rbp)
leaq -0x9a9(%rbp), %rdi
movq %rdi, -0xe18(%rbp)
callq 0x7650
movq -0xe18(%rbp), %rdx
leaq 0x791f0(%rip), %rsi     # 0x148e05
leaq -0x9a8(%rbp), %rdi
callq 0x7520
jmp 0xcfc23
movq -0xe20(%rbp), %rdi
leaq -0x9a8(%rbp), %rsi
callq 0x9c50
jmp 0xcfc38
movq -0xe20(%rbp), %rdi
movb $0x0, -0x9aa(%rbp)
leaq 0xde18b(%rip), %rsi     # 0x1addd8
leaq -0xc5fc4(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcfc84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x9a8(%rbp), %rdi
callq 0x7708
leaq -0x9a9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x9aa(%rbp)
jne 0xcfc9b
jmp 0xcfca7
movq -0xe20(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0x9d2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe30(%rbp)
leaq -0x9d1(%rbp), %rdi
movq %rdi, -0xe28(%rbp)
callq 0x7650
movq -0xe28(%rbp), %rdx
leaq 0x73291(%rip), %rsi     # 0x142f76
leaq -0x9d0(%rbp), %rdi
callq 0x7520
jmp 0xcfcf3
movq -0xe30(%rbp), %rdi
leaq -0x9d0(%rbp), %rsi
callq 0x9c50
jmp 0xcfd08
movq -0xe30(%rbp), %rdi
movb $0x0, -0x9d2(%rbp)
leaq 0xde0bb(%rip), %rsi     # 0x1addd8
leaq -0xc6094(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcfd54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x9d0(%rbp), %rdi
callq 0x7708
leaq -0x9d1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0x9d2(%rbp)
jne 0xcfd6b
jmp 0xcfd77
movq -0xe30(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xcfd7e
jmp 0xcfd80
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x9d8(%rbp)
cmpl $0x0, -0x9d8(%rbp)
jne 0xcfdc0
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x79101(%rip), %r8      # 0x148eb7
callq 0x79220
jmp 0xd00b3
cmpl $0x1, -0x9d8(%rbp)
jne 0xcfecc
xorl %eax, %eax
testb $0x1, %al
jne 0xcfdd8
jmp 0xcfecc
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0x9d9(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xe40(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xe3c(%rbp)
leaq -0xa01(%rbp), %rdi
movq %rdi, -0xe38(%rbp)
callq 0x7650
movq -0xe38(%rbp), %rdx
leaq 0x6ea7a(%rip), %rsi     # 0x13e89e
leaq -0xa00(%rbp), %rdi
callq 0x7520
jmp 0xcfe32
movl -0xe3c(%rbp), %edx
movl -0xe40(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0x9d9(%rbp), %r8d
andl $0x1, %r8d
leaq -0xa00(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xcfe62
leaq -0xa00(%rbp), %rdi
callq 0x7708
leaq -0xa01(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xd00b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcfebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa00(%rbp), %rdi
callq 0x7708
leaq -0xa01(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0x9d8(%rbp)
jne 0xcff02
xorl %eax, %eax
testb $0x1, %al
jne 0xcfedd
jmp 0xcff02
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x78fcf(%rip), %r8      # 0x148ec7
callq 0x79220
jmp 0xd00af
cmpl $0x3, -0x9d8(%rbp)
jne 0xcffdf
movb $0x1, -0xa2a(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe50(%rbp)
leaq -0xa29(%rbp), %rdi
movq %rdi, -0xe48(%rbp)
callq 0x7650
movq -0xe48(%rbp), %rdx
leaq 0x78ebd(%rip), %rsi     # 0x148e05
leaq -0xa28(%rbp), %rdi
callq 0x7520
jmp 0xcff56
movq -0xe50(%rbp), %rdi
leaq -0xa28(%rbp), %rsi
callq 0x9c50
jmp 0xcff6b
movq -0xe50(%rbp), %rdi
movb $0x0, -0xa2a(%rbp)
leaq 0xdde58(%rip), %rsi     # 0x1addd8
leaq -0xc62f7(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xcffb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa28(%rbp), %rdi
callq 0x7708
leaq -0xa29(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xa2a(%rbp)
jne 0xcffce
jmp 0xcffda
movq -0xe50(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0xa52(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe60(%rbp)
leaq -0xa51(%rbp), %rdi
movq %rdi, -0xe58(%rbp)
callq 0x7650
movq -0xe58(%rbp), %rdx
leaq 0x72f5e(%rip), %rsi     # 0x142f76
leaq -0xa50(%rbp), %rdi
callq 0x7520
jmp 0xd0026
movq -0xe60(%rbp), %rdi
leaq -0xa50(%rbp), %rsi
callq 0x9c50
jmp 0xd003b
movq -0xe60(%rbp), %rdi
movb $0x0, -0xa52(%rbp)
leaq 0xddd88(%rip), %rsi     # 0x1addd8
leaq -0xc63c7(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xd0087
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa50(%rbp), %rdi
callq 0x7708
leaq -0xa51(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xa52(%rbp)
jne 0xd009e
jmp 0xd00aa
movq -0xe60(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xd00b1
jmp 0xd00b3
jmp 0xd066a
movq -0x50(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0xa58(%rbp)
cmpl $0x0, -0xa58(%rbp)
jne 0xd00f3
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x78dee(%rip), %r8      # 0x148ed7
callq 0x79220
jmp 0xd03e6
cmpl $0x1, -0xa58(%rbp)
jne 0xd01ff
xorl %eax, %eax
testb $0x1, %al
jne 0xd010b
jmp 0xd01ff
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x78810
movb %al, -0xa59(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0xe70(%rbp)
movl -0x5c(%rbp), %eax
movl %eax, -0xe6c(%rbp)
leaq -0xa81(%rbp), %rdi
movq %rdi, -0xe68(%rbp)
callq 0x7650
movq -0xe68(%rbp), %rdx
leaq 0x6e747(%rip), %rsi     # 0x13e89e
leaq -0xa80(%rbp), %rdi
callq 0x7520
jmp 0xd0165
movl -0xe6c(%rbp), %edx
movl -0xe70(%rbp), %esi
movq -0xb30(%rbp), %rdi
movzbl -0xa59(%rbp), %r8d
andl $0x1, %r8d
leaq -0xa80(%rbp), %rcx
xorl %r9d, %r9d
callq 0x784f0
jmp 0xd0195
leaq -0xa80(%rbp), %rdi
callq 0x7708
leaq -0xa81(%rbp), %rdi
callq 0x73d0
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %edx
callq 0x25500
jmp 0xd03e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xd01ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa80(%rbp), %rdi
callq 0x7708
leaq -0xa81(%rbp), %rdi
callq 0x73d0
jmp 0xd0682
cmpl $0x2, -0xa58(%rbp)
jne 0xd0235
xorl %eax, %eax
testb $0x1, %al
jne 0xd0210
jmp 0xd0235
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0x78cbd(%rip), %r8      # 0x148ee8
callq 0x79220
jmp 0xd03e2
cmpl $0x3, -0xa58(%rbp)
jne 0xd0312
movb $0x1, -0xaaa(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe80(%rbp)
leaq -0xaa9(%rbp), %rdi
movq %rdi, -0xe78(%rbp)
callq 0x7650
movq -0xe78(%rbp), %rdx
leaq 0x78b8a(%rip), %rsi     # 0x148e05
leaq -0xaa8(%rbp), %rdi
callq 0x7520
jmp 0xd0289
movq -0xe80(%rbp), %rdi
leaq -0xaa8(%rbp), %rsi
callq 0x9c50
jmp 0xd029e
movq -0xe80(%rbp), %rdi
movb $0x0, -0xaaa(%rbp)
leaq 0xddb25(%rip), %rsi     # 0x1addd8
leaq -0xc662a(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xd02ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xaa8(%rbp), %rdi
callq 0x7708
leaq -0xaa9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xaaa(%rbp)
jne 0xd0301
jmp 0xd030d
movq -0xe80(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movb $0x1, -0xad2(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xe90(%rbp)
leaq -0xad1(%rbp), %rdi
movq %rdi, -0xe88(%rbp)
callq 0x7650
movq -0xe88(%rbp), %rdx
leaq 0x72c2b(%rip), %rsi     # 0x142f76
leaq -0xad0(%rbp), %rdi
callq 0x7520
jmp 0xd0359
movq -0xe90(%rbp), %rdi
leaq -0xad0(%rbp), %rsi
callq 0x9c50
jmp 0xd036e
movq -0xe90(%rbp), %rdi
movb $0x0, -0xad2(%rbp)
leaq 0xdda55(%rip), %rsi     # 0x1addd8
leaq -0xc66fa(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xd03ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xad0(%rbp), %rdi
callq 0x7708
leaq -0xad1(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xad2(%rbp)
jne 0xd03d1
jmp 0xd03dd
movq -0xe90(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xd03e4
jmp 0xd03e6
jmp 0xd066a
movq -0xb30(%rbp), %rdi
movq -0x50(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x31910
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x2f560
movl %eax, -0xad8(%rbp)
cmpl $0x0, -0xad8(%rbp)
jne 0xd043e
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x78ac5(%rip), %r8      # 0x148ef9
callq 0x79220
jmp 0xd056e
cmpl $0x1, -0xad8(%rbp)
jne 0xd046c
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x78aa7(%rip), %r8      # 0x148f09
callq 0x79220
jmp 0xd056c
cmpl $0x2, -0xad8(%rbp)
jne 0xd049a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0x78a89(%rip), %r8      # 0x148f19
callq 0x79220
jmp 0xd056a
movb $0x1, -0xafa(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xea0(%rbp)
leaq -0xaf9(%rbp), %rdi
movq %rdi, -0xe98(%rbp)
callq 0x7650
movq -0xe98(%rbp), %rdx
leaq 0x72ef5(%rip), %rsi     # 0x1433c8
leaq -0xaf8(%rbp), %rdi
callq 0x7520
jmp 0xd04e1
movq -0xea0(%rbp), %rdi
leaq -0xaf8(%rbp), %rsi
callq 0x9c50
jmp 0xd04f6
movq -0xea0(%rbp), %rdi
movb $0x0, -0xafa(%rbp)
leaq 0xdd8cd(%rip), %rsi     # 0x1addd8
leaq -0xc6882(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xd0542
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xaf8(%rbp), %rdi
callq 0x7708
leaq -0xaf9(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xafa(%rbp)
jne 0xd0559
jmp 0xd0565
movq -0xea0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
jmp 0xd056c
jmp 0xd056e
jmp 0xd066a
movq -0xb30(%rbp), %rdi
movl -0x58(%rbp), %esi
movl -0x5c(%rbp), %edx
movq -0x50(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x50(%rbp), %rax
movl 0x10(%rax), %r8d
leaq 0x7899a(%rip), %r9      # 0x148f30
callq 0x79330
jmp 0xd066a
movb $0x1, -0xb22(%rbp)
movl $0x10, %edi
callq 0x71a0
movq %rax, -0xeb0(%rbp)
leaq -0xb21(%rbp), %rdi
movq %rdi, -0xea8(%rbp)
callq 0x7650
movq -0xea8(%rbp), %rdx
leaq 0x729d2(%rip), %rsi     # 0x142fab
leaq -0xb20(%rbp), %rdi
callq 0x7520
jmp 0xd05e7
movq -0xeb0(%rbp), %rdi
leaq -0xb20(%rbp), %rsi
callq 0x9c50
jmp 0xd05fc
movq -0xeb0(%rbp), %rdi
movb $0x0, -0xb22(%rbp)
leaq 0xdd7c7(%rip), %rsi     # 0x1addd8
leaq -0xc6988(%rip), %rdx    # 0x9c90
callq 0x7610
jmp 0xd068b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0xd0645
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xb20(%rbp), %rdi
callq 0x7708
leaq -0xb21(%rbp), %rdi
callq 0x73d0
testb $0x1, -0xb22(%rbp)
jne 0xd065c
jmp 0xd0668
movq -0xeb0(%rbp), %rdi
callq 0x72c0
jmp 0xd0682
movq -0xb30(%rbp), %rdi
movl -0x5c(%rbp), %esi
callq 0x7c5f0
addq $0xeb0, %rsp            # imm = 0xEB0
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x7640
nopl (%rax,%rax)