// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/node_parser/node_parser.cpp
// Function: node_parser_t::parseExprNode(std::vector<node_scope_t, std::allocator<node_scope_t>>*)
ptr_node_t node_parser_t::parseExprNode(std::vector<node_scope_t> *scopes)
{

	if (currentToken.type == NULL_TOK)
		return logErrorN(_UNEXPECTED_TERMINATION_, currentToken);

	switch (currentToken.type)
	{
	case ';':
		return logErrorN(_EXPECTED_EXPR_, currentToken);
	case TOK_LOAD:
		return parseLoadNode(scopes);
	case TOK_DEF:
		return parseDefineNode(scopes);
	case TOK_FOR:
		return parseForNode(scopes);
	case TOK_WHILE:
		return parseWhileNode(scopes);
	case TOK_IF:
		return parseIfElseNode(scopes);
	case TOK_EXTERN:
		return parseExternNode(scopes);
	case TOK_SWITCH:
		return parseSwitchNode(scopes);
	case TOK_TRY:
		return parseTryCatchNode(scopes);
	case TOK_STRUCT:
	case TOK_STATIC:
	case TOK_VIRTUAL:
		return parseClassNode(scopes);
	case TOK_ENUM:
	{
		nextToken();

		if (currentToken.type != TOK_IDF)
			return logErrorN(_EXPECTED_IDF_, currentToken);
		hash_ull id = ROSSA_HASH(currentToken.valueString);
		scopes->push_back({id});
		nextToken();

		number_t index = number_t::Long(0);

		if (currentToken.valueString != "{")
			return logErrorN(util::format(_EXPECTED_ERROR_, {"{"}), currentToken);
		nextToken();

		while (currentToken.type != '}')
		{
			if (currentToken.type != TOK_IDF)
				return logErrorN(_EXPECTED_IDF_, currentToken);
			hash_ull enid = ROSSA_HASH(currentToken.valueString);
			nextToken();

			std::vector<hash_ull> path;
			for (auto &k : *scopes)
				path.push_back(k.id);
			path.push_back(enid);

			if (currentToken.type != ',' && currentToken.type != '}')
			{
				if (currentToken.valueString == "=")
				{
					nextToken();
					auto marker = currentToken;
					try
					{
						object_t newScope(static_cast<hash_ull>(0));
						trace_t trace;
						index = parseEquNode(scopes)->fold(*consts)->genParser()->evaluate(&newScope, trace).getNumber(NULL, trace);
					}
					catch (const rossa_error_t &e)
					{
						return logErrorN(_CANNOT_MAKE_CONST_, marker);
					}
					if (currentToken.type == ',')
					{
						nextToken();
					}
					else if (currentToken.type != '}')
						return logErrorN(util::format(_EXPECTED_ERROR_, {"}` `,"}), currentToken);
				}
				else
					return logErrorN(util::format(_EXPECTED_ERROR_, {"}` `,"}), currentToken);
			}
			else if (currentToken.type == ',')
			{
				nextToken();
			}
			consts->push_back({path, symbol_t::Number(index)});
			index += number_t::Long(1);
		}
		nextToken();
		scopes->pop_back();
		return std::make_shared<ContainerNode>(*scopes, symbol_t(), currentToken);
	}
	case TOK_CONST:
	{
		auto marker = currentToken;
		nextToken();

		if (currentToken.type != TOK_IDF)
			return logErrorN(_EXPECTED_IDF_, currentToken);
		hash_ull id = ROSSA_HASH(currentToken.valueString);
		nextToken();

		if (currentToken.valueString != "=")
			return logErrorN(util::format(_EXPECTED_ERROR_, {"="}), currentToken);
		nextToken();

		try
		{
			object_t newScope(static_cast<hash_ull>(0));
			trace_t trace;
			auto vn = parseEquNode(scopes)->fold(*consts)->genParser()->evaluate(&newScope, trace);
			// scopes->back().var_ids.push_back({ id, vn });
			std::vector<hash_ull> path;
			for (auto &k : *scopes)
				path.push_back(k.id);
			path.push_back(id);
			consts->push_back({path, vn});
			if (currentToken.type != ';')
				return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
			nextToken();
			return std::make_shared<ContainerNode>(*scopes, vn, marker);
		}
		catch (const rossa_error_t &e)
		{
			return logErrorN(_CANNOT_MAKE_CONST_, marker);
		}
		return nullptr;
	}
	case TOK_VAR:
	{
		auto marker = currentToken;
		nextToken();
		int i = 0;
		std::vector<hash_ull> v;
		while (currentToken.type != NULL_TOK)
		{
			if (i++ > 0)
			{
				if (currentToken.type != ',')
					return logErrorN(util::format(_EXPECTED_ERROR_, {","}), currentToken);
				nextToken();
			}
			if (currentToken.type != TOK_IDF)
				return logErrorN(_EXPECTED_IDF_, currentToken);
			v.push_back(ROSSA_HASH(currentToken.valueString));
			nextToken();
			if (currentToken.type == ';')
			{
				nextToken();
				return std::make_shared<VarNode>(*scopes, v, marker);
			}
		}
		return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
	}
	case TOK_THROW:
	{
		auto marker = currentToken;
		nextToken();
		if (auto ret = parseEquNode(scopes))
		{
			if (currentToken.type != ';')
				return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
			nextToken();
			return std::make_shared<ThrowNode>(*scopes, ret, marker);
		}
		return nullptr;
	}
	case TOK_BREAK:
		nextToken();
		if (currentToken.type != ';')
			return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
		nextToken();
		return std::make_shared<BreakNode>(*scopes, currentToken);
	case TOK_CONTINUE:
		nextToken();
		if (currentToken.type != ';')
			return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
		nextToken();
		return std::make_shared<ContinueNode>(*scopes, currentToken);
	case TOK_RETURN:
		nextToken();
		if (auto ret = parseEquNode(scopes))
		{
			if (currentToken.type != ';')
				return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
			nextToken();
			return std::make_shared<ReturnNode>(*scopes, ret, currentToken);
		}
		return nullptr;
	case TOK_REFER:
		nextToken();
		if (auto ret = parseEquNode(scopes))
		{
			if (currentToken.type != ';')
				return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
			nextToken();
			return std::make_shared<ReferNode>(*scopes, ret, currentToken);
		}
		return nullptr;
	default:
		if (auto ret = parseEquNode(scopes))
		{
			if (currentToken.type != ';')
				return logErrorN(util::format(_EXPECTED_ERROR_, {";"}), currentToken);
			nextToken();
			return ret;
		}
		return nullptr;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x198, %rsp            # imm = 0x198
movq %rdx, %r13
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58(%rsi), %r15
movl 0xd0(%rsi), %eax
cmpl $-0x15, %eax
movq %rsi, 0x8(%rsp)
jg 0x26033
leal 0x33(%rax), %ecx
cmpl $0x17, %ecx
ja 0x2605f
leaq 0x5e5c5(%rip), %rax     # 0x845dc
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x362d4
jmp 0x270e6
leal 0x14(%rax), %ecx
cmpl $0xf, %ecx
ja 0x27065
leaq 0x5e5f6(%rip), %rax     # 0x8463c
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x360ea
jmp 0x270e6
cmpl $-0x3e, %eax
je 0x266a4
cmpl $-0x3a, %eax
jne 0x27076
movq %r14, %r12
movq %rbx, %rdi
callq 0x2565a
cmpl $0x3b, 0xd0(%rbx)
jne 0x2755c
movq %rbx, %rdi
callq 0x2565a
xorl %r14d, %r14d
leaq 0xc0(%rsp), %rdi
movq %r14, -0x8(%rdi)
leaq 0xb8(%rsp), %rbx
leaq 0x10(%rsp), %rdx
movq %rbx, %rsi
movq %r13, %rcx
movq %r15, %r8
callq 0x3cac4
jmp 0x26670
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x356ae
jmp 0x270e6
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x34d8a
jmp 0x270e6
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x2bc76
jmp 0x270e6
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x32fde
jmp 0x270e6
leaq 0xb8(%rsp), %rdi
movq %r15, %rsi
callq 0x1e698
leaq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x80(%rbx), %rsi
movq 0x88(%rbx), %rdx
addq %rsi, %rdx
callq 0x1e014
movups 0xa0(%rbx), %xmm0
leaq 0x110(%rsp), %rdi
movups %xmm0, -0x10(%rdi)
leaq 0x120(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0xb0(%rbx), %rsi
movq 0xb8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1e014
movq %r13, 0x148(%rsp)
movq %r14, 0x140(%rsp)
movq %r15, 0x78(%rsp)
movl 0xd0(%rbx), %eax
movl %eax, 0x130(%rsp)
movq %rbx, %rdi
callq 0x2565a
leaq 0xb0(%rbx), %r14
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %r15
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
xorl %r13d, %r13d
leaq 0x9172d(%rip), %r12     # 0xb78f8
movl 0xd0(%rbx), %eax
testl %eax, %eax
je 0x27130
subl $0x1, %r13d
jb 0x261f0
cmpl $0x2c, %eax
jne 0x27209
movq %rbx, %rdi
callq 0x2565a
cmpl $-0x2, 0xd0(%rbx)
jne 0x270fb
movq (%r12), %rdi
movq 0x8(%r12), %rsi
movq %r14, %rdx
callq 0x20e41
movq 0x8(%r12), %rsi
cmpq %rsi, %rax
je 0x26230
movq (%r12), %rbp
movq %rbp, %rdi
movq %r14, %rdx
callq 0x20e41
subq %rbp, %rax
sarq $0x5, %rax
jmp 0x2624b
movq %r12, %rdi
movq %r14, %rsi
callq 0x20e04
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x5, %rax
decq %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rsi
cmpq 0x50(%rsp), %rsi
je 0x2626a
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x48(%rsp)
jmp 0x26277
movq %r15, %rdi
leaq 0x10(%rsp), %rdx
callq 0x39756
movq %rbx, %rdi
callq 0x2565a
cmpl $0x3b, 0xd0(%rbx)
jne 0x261cb
movq %rbx, %rdi
callq 0x2565a
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x40(%rsp), %r8
leaq 0xb8(%rsp), %r9
movq 0x148(%rsp), %rcx
callq 0x3c69c
movq 0x140(%rsp), %r14
leaq 0xf0(%rsp), %rbx
movq 0x10(%rsp), %rax
movq %rax, (%r14)
xorl %eax, %eax
movq %rax, 0x8(%r14)
movq 0x18(%rsp), %rcx
movq %rax, 0x18(%rsp)
movq %rcx, 0x8(%r14)
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x26308
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x2632d
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2634a
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xb8(%rsp), %rdi
callq 0x1d736
jmp 0x270e6
movq %r14, %r12
movq %rbx, %rdi
callq 0x2565a
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x296b0
movq (%r14), %r14
testq %r14, %r14
je 0x270c8
cmpl $0x3b, 0xd0(%rbx)
jne 0x2775d
movq %rbx, %rdi
callq 0x2565a
leaq 0xc0(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xb8(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x40(%rsp), %r8
movq %r13, %rcx
movq %r15, %r9
callq 0x3cc06
jmp 0x26579
movq %r13, %rbp
movq %r14, %r12
leaq 0xb8(%rsp), %rdi
movq %r15, %r13
movq %r15, %rsi
callq 0x1e698
leaq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x80(%rbx), %rsi
movq 0x88(%rbx), %rdx
addq %rsi, %rdx
callq 0x1e014
movups 0xa0(%rbx), %xmm0
leaq 0x110(%rsp), %rdi
movups %xmm0, -0x10(%rdi)
leaq 0x120(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xb0(%rbx), %rsi
movq 0xb8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1e014
movl 0xd0(%rbx), %eax
movl %eax, 0x130(%rsp)
movq %rbx, %rdi
callq 0x2565a
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x296b0
cmpq $0x0, 0x80(%rsp)
je 0x26d3c
cmpl $0x3b, 0xd0(%rbx)
jne 0x27895
movq %rbx, %rdi
callq 0x2565a
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x80(%rsp), %r8
leaq 0xb8(%rsp), %r9
movq %rbp, %rcx
callq 0x3c814
movq 0x10(%rsp), %rax
movq %rax, (%r12)
xorl %eax, %eax
movq %rax, 0x8(%r12)
movq 0x18(%rsp), %rcx
movq %rax, 0x18(%rsp)
movq %rcx, 0x8(%r12)
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x26d56
callq 0x1e6ee
jmp 0x26d56
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x33e9e
jmp 0x270e6
movq %r14, %r12
movq %rbx, %rdi
callq 0x2565a
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x296b0
movq (%r14), %r14
testq %r14, %r14
je 0x270c8
cmpl $0x3b, 0xd0(%rbx)
jne 0x277f9
movq %rbx, %rdi
callq 0x2565a
leaq 0xc0(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xb8(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x40(%rsp), %r8
movq %r13, %rcx
movq %r15, %r9
callq 0x3cd74
movq 0xb8(%rsp), %rax
movq %rax, (%r12)
xorl %eax, %eax
movq %rax, 0x8(%r12)
movq 0xc0(%rsp), %rcx
movq %rax, 0xc0(%rsp)
movq %rcx, 0x8(%r12)
jmp 0x270c8
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x30844
jmp 0x270e6
movq %rbx, %rdi
callq 0x2565a
cmpl $-0x2, 0xd0(%rbx)
jne 0x273ec
movq %r14, 0x140(%rsp)
leaq 0xb0(%rbx), %r14
leaq 0x91314(%rip), %r12     # 0xb78f8
movq (%r12), %rdi
movq 0x8(%r12), %rsi
movq %r14, %rdx
callq 0x20e41
movq 0x8(%r12), %rsi
cmpq %rsi, %rax
movq %r14, 0x148(%rsp)
je 0x26787
movq %r14, %rdx
movq (%r12), %r14
movq %r14, %rdi
callq 0x20e41
subq %r14, %rax
sarq $0x5, %rax
jmp 0x267a2
movq %r14, %r12
movq %rbx, %rdi
callq 0x2565a
cmpl $0x3b, 0xd0(%rbx)
jne 0x2742b
movq %rbx, %rdi
callq 0x2565a
xorl %r14d, %r14d
leaq 0xc0(%rsp), %rdi
movq %r14, -0x8(%rdi)
leaq 0xb8(%rsp), %rbx
leaq 0x10(%rsp), %rdx
movq %rbx, %rsi
movq %r13, %rcx
movq %r15, %r8
callq 0x3c982
movq (%rbx), %rax
movq %rax, (%r12)
movq %r14, 0x8(%r12)
movq 0x8(%rbx), %rax
movq %r14, 0x8(%rbx)
movq %r12, %r14
movq %rax, 0x8(%r12)
jmp 0x270e6
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x367f2
jmp 0x270e6
leaq 0xb8(%rsp), %rdi
movq %r15, %rsi
callq 0x1e698
leaq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x80(%rbx), %rsi
movq 0x88(%rbx), %rdx
addq %rsi, %rdx
callq 0x1e014
movups 0xa0(%rbx), %xmm0
leaq 0x110(%rsp), %rdi
movups %xmm0, -0x10(%rdi)
leaq 0x120(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0xb0(%rbx), %rsi
movq 0xb8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1e014
movl 0xd0(%rbx), %eax
movl %eax, 0x130(%rsp)
movq %rbx, %rdi
callq 0x2565a
movq %r14, 0x140(%rsp)
movq %r15, 0x78(%rsp)
cmpl $-0x2, 0xd0(%rbx)
jne 0x275f5
leaq 0xb0(%rbx), %r14
leaq 0x911a7(%rip), %r15     # 0xb78f8
movq (%r15), %rdi
movq 0x8(%r15), %rsi
movq %r14, %rdx
callq 0x20e41
movq 0x8(%r15), %rsi
cmpq %rsi, %rax
je 0x26d8c
movq (%r15), %r15
movq %r15, %rdi
movq %r14, %rdx
callq 0x20e41
subq %r15, %rax
sarq $0x5, %rax
jmp 0x26dac
movq %r12, %rdi
movq %r14, %rsi
callq 0x20e04
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x5, %rax
decq %rax
leaq 0xb8(%rsp), %rsi
movq %rax, (%rsi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rsi)
movq $0x0, 0x18(%rsi)
movq %r13, %rdi
callq 0x21808
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
movq 0x148(%rsp), %r14
je 0x267e9
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq %r15, 0x78(%rsp)
movq %rbx, %rdi
callq 0x2565a
leaq 0xb8(%rsp), %rdi
movq $0x0, (%rdi)
callq 0x47868
movq %rax, 0x178(%rsp)
movl %edx, 0x180(%rsp)
leaq 0x5e1f4(%rip), %rsi     # 0x84a14
movq %r14, %rdi
callq 0x10110
testl %eax, %eax
jne 0x274c4
movq %rbx, %rdi
callq 0x2565a
leaq 0xa0(%rbx), %rax
movq %rax, 0x190(%rsp)
leaq 0x40(%rsp), %r14
leaq 0xb8(%rsp), %r15
movq 0x8(%rsp), %rax
movl 0xd0(%rax), %eax
cmpl $-0x2, %eax
jne 0x26c87
leaq 0x91089(%rip), %rax     # 0xb78f8
movq (%rax), %rdi
leaq 0x9107f(%rip), %rax     # 0xb78f8
movq 0x8(%rax), %rsi
movq 0x148(%rsp), %rbp
movq %rbp, %rdx
callq 0x20e41
leaq 0x91064(%rip), %r12     # 0xb78f8
movq 0x8(%r12), %rsi
cmpq %rsi, %rax
je 0x268b6
movq (%r12), %r12
movq %r12, %rdi
movq %rbp, %rdx
callq 0x20e41
subq %r12, %rax
sarq $0x5, %rax
jmp 0x268d1
movq %r12, %rdi
movq %rbp, %rsi
callq 0x20e04
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x5, %rax
decq %rax
movq %rax, 0x150(%rsp)
movq 0x8(%rsp), %rdi
callq 0x2565a
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
movq (%r13), %r12
movq %r13, %rbp
movq 0x8(%r13), %r13
cmpq %r13, %r12
je 0x26933
movq 0x48(%rsp), %rsi
cmpq 0x50(%rsp), %rsi
je 0x26922
movq (%r12), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x48(%rsp)
jmp 0x2692d
movq %r14, %rdi
movq %r12, %rdx
callq 0x3c532
addq $0x20, %r12
jmp 0x268ff
movq 0x48(%rsp), %rsi
cmpq 0x50(%rsp), %rsi
je 0x2695b
movq 0x150(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x48(%rsp)
movq %rbp, %r13
movq %r15, %r12
jmp 0x26971
movq %r14, %rdi
leaq 0x150(%rsp), %rdx
callq 0x3c532
movq %rbp, %r13
movq %r15, %r12
movq 0x8(%rsp), %rax
movl 0xd0(%rax), %eax
cmpl $0x2c, %eax
je 0x26b6b
cmpl $0x7d, %eax
je 0x26bce
movq 0x148(%rsp), %rdi
leaq 0x601ef(%rip), %rsi     # 0x86b8c
callq 0x10110
testl %eax, %eax
jne 0x272a4
movq 0x8(%rsp), %rdi
callq 0x2565a
movq %r12, %rdi
movq 0x78(%rsp), %rsi
callq 0x1e698
leaq 0xf0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x8(%rsp), %rbp
movq 0x80(%rbp), %rsi
movq 0x88(%rbp), %rdx
addq %rsi, %rdx
leaq 0xe0(%rsp), %r12
movq %r12, %rdi
callq 0x1e014
movq 0x190(%rsp), %rax
movups (%rax), %xmm0
movups %xmm0, 0x20(%r12)
leaq 0x120(%rsp), %rax
movq %rax, 0x110(%rsp)
movq 0xb0(%rbp), %rsi
movq 0xb8(%rbp), %rdx
addq %rsi, %rdx
leaq 0x110(%rsp), %rdi
callq 0x1e014
movl 0xd0(%rbp), %eax
movl %eax, 0x130(%rsp)
movq $0x0, 0x10(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x3cf06
movq %r15, %r12
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
leaq 0x158(%rsp), %rdi
movq %rbp, %rsi
movq %r13, %rdx
callq 0x296b0
movq %r13, %rbx
movq 0x158(%rsp), %rsi
movq 0x8(%rbp), %rdx
movq (%rsi), %rax
leaq 0x168(%rsp), %rdi
callq *0x18(%rax)
movq %r12, %r13
movq 0x168(%rsp), %rsi
movq (%rsi), %rax
leaq 0x80(%rsp), %rdi
callq *(%rax)
movq 0x80(%rsp), %rsi
movq (%rsi), %rax
leaq 0x98(%rsp), %r12
movq %r12, %rdi
leaq 0x58(%rsp), %rdx
leaq 0x10(%rsp), %rbp
movq %rbp, %rcx
callq *(%rax)
movq %r12, %rdi
xorl %esi, %esi
movq %rbp, %rdx
callq 0x40b0c
leaq 0x178(%rsp), %rdi
movq %rax, %rsi
callq 0x47888
movq %r12, %rdi
callq 0x404da
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x26b13
callq 0x1e6ee
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
movq %r13, %r12
je 0x26b28
callq 0x1e6ee
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
movq %rbx, %r13
je 0x26b3d
callq 0x1e6ee
leaq 0x10(%rsp), %rdi
callq 0x1d77a
leaq 0x58(%rsp), %rdi
callq 0x3d168
movq 0x8(%rsp), %rdi
movl 0xd0(%rdi), %eax
cmpl $0x2c, %eax
je 0x26b77
cmpl $0x7d, %eax
je 0x26b7c
jmp 0x27348
movq 0x8(%rsp), %rdi
callq 0x2565a
jmp 0x26bce
callq 0x2565a
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x26ba1
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x26bc6
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq %r12, %rdi
callq 0x1d736
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r12
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0x178(%rsp), %rsi
callq 0x40458
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x37730
movq %r12, %rdi
movq %r15, %rsi
callq 0x21a18
leaq 0xd0(%rsp), %rdi
callq 0x404da
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x26c2f
movq 0xc8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq %rbx, %rdi
callq 0x404da
movq $0x1, 0x10(%rsp)
movq %rbx, %rdi
callq 0x47868
movq %rax, 0xb8(%rsp)
movl %edx, 0xc0(%rsp)
leaq 0x178(%rsp), %rdi
movq %r15, %rsi
callq 0x478a8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x26854
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
jmp 0x26854
cmpl $0x7d, %eax
jne 0x271cb
movq 0x8(%rsp), %rdi
callq 0x2565a
movq 0x8(%r13), %rax
leaq -0x20(%rax), %rcx
movq %rcx, 0x8(%r13)
movq -0x18(%rax), %rdi
testq %rdi, %rdi
movq 0x78(%rsp), %r14
je 0x26cc0
movq -0x8(%rax), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x400a4
leaq 0xc0(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xb8(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movq %r13, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x3aa3e
movq 0xb8(%rsp), %rax
movq 0x140(%rsp), %r14
movq %rax, (%r14)
xorl %eax, %eax
movq %rax, 0x8(%r14)
movq 0xc0(%rsp), %rcx
movq %rax, 0xc0(%rsp)
movq %rcx, 0x8(%r14)
movq %rax, 0xb8(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x404da
jmp 0x270e6
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x26d4e
callq 0x1e6ee
xorps %xmm0, %xmm0
movups %xmm0, (%r12)
movq 0x110(%rsp), %rdi
cmpq %r14, %rdi
je 0x26d73
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe0(%rsp), %rdi
cmpq %r15, %rdi
movq %r12, %r14
jne 0x2633a
jmp 0x2634a
leaq 0x90b65(%rip), %r15     # 0xb78f8
movq %r15, %rdi
movq %r14, %rsi
callq 0x20e04
movq 0x8(%r15), %rax
subq (%r15), %rax
sarq $0x5, %rax
decq %rax
movq %rax, 0x150(%rsp)
movq %rbx, %rdi
callq 0x2565a
leaq 0x5fdc9(%rip), %rsi     # 0x86b8c
movq %r14, %rdi
callq 0x10110
testl %eax, %eax
jne 0x2762a
movq %rbx, %rdi
callq 0x2565a
leaq 0x10(%rsp), %rsi
movq $0x0, (%rsi)
leaq 0x168(%rsp), %rdi
callq 0x3cf06
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
leaq 0x98(%rsp), %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x296b0
movq 0x98(%rsp), %rsi
movq 0x8(%rbx), %rdx
movq (%rsi), %rax
leaq 0x58(%rsp), %rdi
callq *0x18(%rax)
movq 0x58(%rsp), %rsi
movq (%rsi), %rax
leaq 0x10(%rsp), %rdi
callq *(%rax)
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
leaq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rdx
leaq 0x40(%rsp), %rcx
callq *(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x26e6c
callq 0x1e6ee
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x26e7b
callq 0x1e6ee
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x26e8d
callq 0x1e6ee
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
movq $0x0, 0x90(%rsp)
movq (%r13), %r14
movq 0x8(%r13), %rbp
cmpq %rbp, %r14
je 0x26ef3
leaq 0x80(%rsp), %r15
movq 0x88(%rsp), %rsi
cmpq 0x90(%rsp), %rsi
je 0x26edf
movq (%r14), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x88(%rsp)
jmp 0x26eea
movq %r15, %rdi
movq %r14, %rdx
callq 0x3c532
addq $0x20, %r14
cmpq %rbp, %r14
jne 0x26eb9
movq 0x88(%rsp), %rsi
cmpq 0x90(%rsp), %rsi
je 0x26f1e
movq 0x150(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x88(%rsp)
jmp 0x26f33
leaq 0x80(%rsp), %rdi
leaq 0x150(%rsp), %rdx
callq 0x3c532
movq 0x8(%rbx), %r14
leaq 0x10(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x158(%rsp), %rdx
callq 0x37772
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x21a18
leaq 0x28(%rsp), %r14
movq %r14, %rdi
callq 0x404da
movq -0x18(%r14), %rdi
testq %rdi, %rdi
je 0x26f81
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpl $0x3b, 0xd0(%rbx)
movq 0x140(%rsp), %r14
jne 0x276bf
movq %rbx, %rdi
callq 0x2565a
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x158(%rsp), %r8
leaq 0xb8(%rsp), %r9
movq %r13, %rcx
callq 0x3c60e
movq 0x10(%rsp), %rax
movq %rax, (%r14)
xorl %eax, %eax
movq %rax, 0x8(%r14)
movq 0x18(%rsp), %rcx
movq %rax, 0x18(%rsp)
movq %rcx, 0x8(%r14)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x27006
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x158(%rsp), %rdi
callq 0x404da
leaq 0x40(%rsp), %rdi
callq 0x1d77a
leaq 0x168(%rsp), %rdi
callq 0x3d168
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x2704f
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe0(%rsp), %rdi
cmpq %r12, %rdi
jne 0x2633a
jmp 0x2634a
cmpl $0x3b, %eax
je 0x279c4
testl %eax, %eax
je 0x27a03
movq %r14, %r12
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x296b0
movq (%r14), %r14
testq %r14, %r14
je 0x270c8
cmpl $0x3b, 0xd0(%rbx)
jne 0x27928
movq %rbx, %rdi
callq 0x2565a
movq %r14, (%r12)
xorl %eax, %eax
movq %rax, 0x8(%r12)
movq 0x48(%rsp), %rcx
movq %rax, 0x48(%rsp)
movq %rcx, 0x8(%r12)
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x270d7
callq 0x1e6ee
testq %r14, %r14
movq %r12, %r14
jne 0x270e6
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
movq %r14, %rax
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5d91d(%rip), %rsi     # 0x84a28
leaq 0x5d929(%rip), %rdx     # 0x84a3b
leaq 0x10(%rsp), %rdi
callq 0x1e7ca
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0x68(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x80(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x178(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x48694
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5d84a(%rip), %rsi     # 0x84a28
leaq 0x5d856(%rip), %rdx     # 0x84a3b
leaq 0xb8(%rsp), %rdi
callq 0x1e7ca
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0x68(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x2c, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x80(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x178(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x48694
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movl $0x6020607d, (%r12)     # imm = 0x6020607D
movw $0x2c, 0x4(%r12)
movq $0x5, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0x68(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
movl $0x6020607d, (%r12)     # imm = 0x6020607D
movw $0x2c, 0x4(%r12)
movq $0x5, -0x8(%r12)
leaq 0x80(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x168(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x48694
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
movq %r15, %r14
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5d626(%rip), %rsi     # 0x84a28
leaq 0x5d632(%rip), %rdx     # 0x84a3b
leaq 0xb8(%rsp), %rdi
callq 0x1e7ca
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
movq %r15, %r14
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x7b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
movq %r15, %r14
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5d423(%rip), %rsi     # 0x84a28
leaq 0x5d42f(%rip), %rdx     # 0x84a3b
leaq 0x10(%rsp), %rdi
callq 0x1e7ca
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0x68(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3d, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x40(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x48694
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r12)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r12)
movq $0xe, -0x8(%r12)
movb $0x0, 0xe(%r12)
leaq 0xa8(%rsp), %r13
movq %r13, -0x10(%r13)
movw $0x3b, (%r13)
movq $0x1, -0x8(%r13)
leaq 0x178(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x13f(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x178(%rsp), %rdx
callq 0x48694
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29894
movq %r15, %r14
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
movq %r15, %r14
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
leaq 0x68(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0xa8(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x40(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x178(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x48694
leaq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r13, %rcx
callq 0x29894
movq %r15, %r14
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movabsq $0x6465746365707845, %rax # imm = 0x6465746365707845
movq %rax, (%r15)
movabsq $0x607d307b60206465, %rax # imm = 0x607D307B60206465
movq %rax, 0x6(%r15)
movq $0xe, -0x8(%r15)
movb $0x0, 0xe(%r15)
leaq 0x68(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x48694
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
movq %r15, %r14
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5d09e(%rip), %rsi     # 0x84a78
leaq 0x5d0aa(%rip), %rdx     # 0x84a8b
leaq 0xb8(%rsp), %rdi
callq 0x1e7ca
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
movq %r15, %r14
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5cf3d(%rip), %rsi     # 0x84956
leaq 0x5cf58(%rip), %rdx     # 0x84978
leaq 0xb8(%rsp), %rdi
callq 0x1e7ca
leaq 0xb8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x29894
jmp 0x27a7c
jmp 0x27aa2
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27a69
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27a69
movq %rax, %r14
leaq 0x40(%rsp), %rdi
callq 0x1dca2
jmp 0x27b80
jmp 0x27a7c
jmp 0x27aa2
movq %rax, %r14
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27aa5
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27aa5
movq %rax, %r14
leaq 0x98(%rsp), %rdi
callq 0x1dca2
jmp 0x27bc2
movq %rdx, %r15
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27ae0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27ae0
movq %rdx, %r15
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0x1dca2
jmp 0x27bff
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27b15
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27b15
movq %rax, %r14
leaq 0x40(%rsp), %rdi
callq 0x1dca2
jmp 0x27c3f
jmp 0x27b40
jmp 0x27b66
jmp 0x28181
jmp 0x281a5
jmp 0x28181
jmp 0x281a5
jmp 0x27b40
jmp 0x27b66
movq %rax, %r14
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27b69
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27b69
movq %rax, %r14
leaq 0x98(%rsp), %rdi
callq 0x1dca2
jmp 0x27c9b
jmp 0x27bbf
movq %rax, %r14
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0x27b9d
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x27cdb
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27cdb
jmp 0x27bbf
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27bd9
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27cff
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27cff
movq %rdx, %r15
movq %rax, %r14
movq 0x98(%rsp), %rdi
cmpq %r13, %rdi
je 0x27c1c
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27f47
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27f47
movq %rax, %r14
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0x27c5c
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x28245
movq 0x68(%rsp), %rsi
jmp 0x27c87
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x28245
movq 0x20(%rsp), %rsi
incq %rsi
jmp 0x28240
jmp 0x27eed
jmp 0x27c98
jmp 0x27c98
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27cb2
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2826e
movq 0x20(%rsp), %rsi
jmp 0x2819d
jmp 0x28181
jmp 0x281a5
jmp 0x27cfc
jmp 0x27cd8
movq %rax, %r14
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x28245
callq 0x1e6ee
jmp 0x28245
jmp 0x27cfc
jmp 0x27cfc
jmp 0x27cfc
movq %rax, %r14
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x2826e
callq 0x1e6ee
jmp 0x2826e
jmp 0x27f41
movq %rdx, %r15
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x20a60
jmp 0x27f47
jmp 0x27f41
movq %rdx, %r15
movq %rax, %r14
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x27d53
callq 0x1e6ee
jmp 0x27d53
movq %rdx, %r15
movq %rax, %r14
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x27d6a
callq 0x1e6ee
jmp 0x27d6a
movq %rdx, %r15
movq %rax, %r14
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x27f71
callq 0x1e6ee
jmp 0x27f71
movq %rdx, %r15
movq %rax, %r14
jmp 0x27f71
movq %rdx, %r15
movq %rax, %r14
jmp 0x27f88
jmp 0x27eed
jmp 0x27e07
jmp 0x27e29
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x404da
jmp 0x2826e
jmp 0x27eed
jmp 0x27eed
movq %rax, %r14
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x2826e
movq 0xd0(%rsp), %rsi
jmp 0x28266
movq %rax, %r14
movq 0xe0(%rsp), %rdi
cmpq %r15, %rdi
jne 0x27e17
jmp 0x27e2c
jmp 0x27e29
jmp 0x2822b
jmp 0x2822b
jmp 0x27eed
movq %rax, %r14
movq 0xe0(%rsp), %rdi
cmpq %r12, %rdi
je 0x27e2c
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27e2c
movq %rax, %r14
leaq 0xb8(%rsp), %rdi
callq 0x1d736
jmp 0x2826e
jmp 0x27f41
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27e66
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27e66
movq %rax, %r14
leaq 0x80(%rsp), %rdi
callq 0x1dca2
jmp 0x27eb0
movq %rax, %r14
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27e9e
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27e9e
movq %rax, %r14
leaq 0x98(%rsp), %rdi
callq 0x1dca2
jmp 0x27f02
movq %rax, %r14
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0x27ecd
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x2816f
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2816f
movq %rax, %r14
jmp 0x28245
jmp 0x27ffb
jmp 0x2801b
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27f19
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x28257
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x28257
movq %rax, %r14
jmp 0x2816f
movq %rdx, %r15
movq %rax, %r14
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x27f64
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x158(%rsp), %rdi
callq 0x404da
leaq 0x40(%rsp), %rdi
callq 0x1d77a
leaq 0x168(%rsp), %rdi
callq 0x3d168
cmpl $0x1, %r15d
jne 0x28245
movq %r14, %rdi
callq 0x101a0
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5cae2(%rip), %rsi     # 0x84a8c
leaq 0x5cb0b(%rip), %rdx     # 0x84abc
leaq 0x10(%rsp), %rdi
callq 0x1e7ca
leaq 0x10(%rsp), %rdx
leaq 0xb8(%rsp), %rcx
movq 0x8(%rsp), %rsi
callq 0x29894
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27ff1
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27ff1
movq %rax, %r14
callq 0x10690
jmp 0x28245
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2801e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2801e
movq %rax, %r14
leaq 0x80(%rsp), %rdi
callq 0x1dca2
jmp 0x281b0
jmp 0x281ad
movq %rdx, %r15
movq %rax, %r14
leaq 0x98(%rsp), %rdi
callq 0x404da
jmp 0x28060
movq %rdx, %r15
movq %rax, %r14
jmp 0x2808c
movq %rdx, %r15
movq %rax, %r14
jmp 0x280c7
movq %rdx, %r15
movq %rax, %r14
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x2807a
callq 0x1e6ee
jmp 0x2807a
movq %rdx, %r15
movq %rax, %r14
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x2808c
callq 0x1e6ee
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x280b3
callq 0x1e6ee
jmp 0x280b3
movq %rax, %r14
jmp 0x28139
jmp 0x28254
movq %rdx, %r15
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1d77a
leaq 0x58(%rsp), %rdi
callq 0x3d168
cmpl $0x1, %r15d
jne 0x2816f
movq %r14, %rdi
callq 0x101a0
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5c9a3(%rip), %rsi     # 0x84a8c
leaq 0x5c9cc(%rip), %rdx     # 0x84abc
leaq 0x10(%rsp), %rdi
callq 0x1e7ca
leaq 0x10(%rsp), %rdx
leaq 0xb8(%rsp), %rcx
movq 0x8(%rsp), %rsi
callq 0x29894
movq %rax, %r14
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x28139
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xb8(%rsp), %rdi
callq 0x1d736
jmp 0x28257
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2816a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2816a
movq %rax, %r14
callq 0x10690
leaq 0xb8(%rsp), %rdi
callq 0x211f6
jmp 0x28257
movq %rax, %r14
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2826e
movq 0xc8(%rsp), %rsi
incq %rsi
jmp 0x28269
movq %rax, %r14
jmp 0x2826e
movq %rax, %r14
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0x281cd
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x2822e
movq 0x68(%rsp), %rsi
jmp 0x281f0
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2822e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2822e
jmp 0x2822b
movq %rax, %rdi
callq 0x1d76e
movq %rax, %r14
leaq 0xb8(%rsp), %rdi
callq 0x20a60
jmp 0x28219
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x404da
jmp 0x28257
jmp 0x28254
jmp 0x28254
jmp 0x2822b
movq %rax, %r14
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x28245
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0xb8(%rsp), %rdi
callq 0x211f6
jmp 0x2826e
movq %rax, %r14
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2826e
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq %r14, %rdi
callq 0x106f0