// File: /workspace/github_cpp_makefile_star2_O3/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 $0x1a8, %rsp            # imm = 0x1A8
movq %rdx, 0x8(%rsp)
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58(%rsi), %r15
movl 0xd0(%rsi), %eax
cmpl $-0x15, %eax
movq %rsi, (%rsp)
jg 0x25e24
leal 0x33(%rax), %ecx
cmpl $0x17, %ecx
ja 0x25e50
leaq 0x5d7d6(%rip), %rax     # 0x835dc
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x35dee
jmp 0x26e6b
leal 0x14(%rax), %ecx
cmpl $0xf, %ecx
ja 0x26e14
leaq 0x5d805(%rip), %rax     # 0x8363c
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x35c04
jmp 0x26e6b
cmpl $-0x3e, %eax
je 0x26461
cmpl $-0x3a, %eax
jne 0x26e25
movq %rbx, %rdi
callq 0x2549e
cmpl $0x3b, 0xd0(%rbx)
jne 0x272f4
movq %rbx, %rdi
callq 0x2549e
leaq 0xc8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xc0(%rsp), %rbx
leaq 0x10(%rsp), %rdx
movq %rbx, %rsi
movq 0x8(%rsp), %rcx
movq %r15, %r8
callq 0x3c4b0
jmp 0x26440
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x351ba
jmp 0x26e6b
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x3489e
jmp 0x26e6b
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x2b9a8
jmp 0x26e6b
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x32afe
jmp 0x26e6b
leaq 0xc0(%rsp), %rdi
movq %r15, %rsi
callq 0x1e566
leaq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x80(%rbx), %rsi
movq 0x88(%rbx), %rdx
addq %rsi, %rdx
callq 0x1ded4
movups 0xa0(%rbx), %xmm0
leaq 0x118(%rsp), %rdi
movups %xmm0, -0x10(%rdi)
leaq 0x128(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0xb0(%rbx), %rsi
movq 0xb8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1ded4
movq %r14, 0x150(%rsp)
movq %r15, 0x78(%rsp)
movl 0xd0(%rbx), %eax
movl %eax, 0x138(%rsp)
movq %rbx, %rdi
callq 0x2549e
leaq 0xb0(%rbx), %r14
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %r15
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
movl 0xd0(%rbx), %eax
xorl %r13d, %r13d
leaq 0x8f936(%rip), %r12     # 0xb58f8
testl %eax, %eax
je 0x26ed0
subl $0x1, %r13d
jb 0x25fe7
cmpl $0x2c, %eax
jne 0x26fa7
movq %rbx, %rdi
callq 0x2549e
movl 0xd0(%rbx), %eax
cmpl $-0x2, %eax
jne 0x26e9c
movq (%r12), %rdi
movq 0x8(%r12), %rsi
movq %r14, %rdx
callq 0x20d1b
movq 0x8(%r12), %rsi
cmpq %rsi, %rax
je 0x26023
movq (%r12), %rbp
movq %rbp, %rdi
movq %r14, %rdx
callq 0x20d1b
subq %rbp, %rax
sarq $0x5, %rax
jmp 0x2603e
movq %r12, %rdi
movq %r14, %rsi
callq 0x20cde
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 0x2605d
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x48(%rsp)
jmp 0x2606a
movq %r15, %rdi
leaq 0x10(%rsp), %rdx
callq 0x391c8
movq (%rsp), %rbx
movq %rbx, %rdi
callq 0x2549e
movl 0xd0(%rbx), %eax
cmpl $0x3b, %eax
jne 0x25fc2
movq %rbx, %rdi
callq 0x2549e
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x40(%rsp), %r8
leaq 0xc0(%rsp), %r9
movq 0x8(%rsp), %rcx
callq 0x3c09a
movq 0x150(%rsp), %r14
leaq 0xf8(%rsp), %rbx
leaq 0x128(%rsp), %r15
movaps 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x260f3
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq 0x118(%rsp), %rdi
cmpq %r15, %rdi
je 0x26110
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2612d
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xc0(%rsp), %rdi
callq 0x1d5ee
jmp 0x26e6b
movq %r14, %r12
movq %rbx, %rdi
callq 0x2549e
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x2946a
movq (%r14), %r14
testq %r14, %r14
je 0x2635d
cmpl $0x3b, 0xd0(%rbx)
jne 0x274f1
movq %rbx, %rdi
callq 0x2549e
leaq 0xc8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xc0(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x40(%rsp), %r8
movq 0x8(%rsp), %rcx
movq %r15, %r9
callq 0x3c5ec
jmp 0x26350
movq 0x8(%rsp), %rbp
movq %r14, %r12
leaq 0xc0(%rsp), %rdi
movq %r15, %r13
movq %r15, %rsi
callq 0x1e566
leaq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x80(%rbx), %rsi
movq 0x88(%rbx), %rdx
addq %rsi, %rdx
callq 0x1ded4
movups 0xa0(%rbx), %xmm0
leaq 0x118(%rsp), %rdi
movups %xmm0, -0x10(%rdi)
leaq 0x128(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xb0(%rbx), %rsi
movq 0xb8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1ded4
movl 0xd0(%rbx), %eax
movl %eax, 0x138(%rsp)
movq %rbx, %rdi
callq 0x2549e
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x2946a
cmpq $0x0, 0x80(%rsp)
je 0x26ae6
movq (%rsp), %rdi
cmpl $0x3b, 0xd0(%rdi)
jne 0x27627
callq 0x2549e
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x80(%rsp), %r8
leaq 0xc0(%rsp), %r9
movq %rbp, %rcx
callq 0x3c20c
movaps 0x10(%rsp), %xmm0
movups %xmm0, (%r12)
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x26b00
callq 0x1e5bc
jmp 0x26b00
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x33976
jmp 0x26e6b
movq %r14, %r12
movq %rbx, %rdi
callq 0x2549e
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x2946a
movq (%r14), %r14
testq %r14, %r14
je 0x2635d
cmpl $0x3b, 0xd0(%rbx)
jne 0x2758c
movq %rbx, %rdi
callq 0x2549e
leaq 0xc8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xc0(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x40(%rsp), %r8
movq 0x8(%rsp), %rcx
movq %r15, %r9
callq 0x3c754
movaps 0xc0(%rsp), %xmm0
movups %xmm0, (%r12)
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x2636c
callq 0x1e5bc
testq %r14, %r14
movq %r12, %r14
jne 0x26e6b
xorps %xmm0, %xmm0
jmp 0x26443
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x3031a
jmp 0x26e6b
movq %rbx, %rdi
callq 0x2549e
cmpl $-0x2, 0xd0(%rbx)
jne 0x27187
movq %r14, 0x150(%rsp)
leaq 0xb0(%rbx), %rbp
leaq 0x8f538(%rip), %r14     # 0xb58f8
movq (%r14), %rdi
movq 0x8(%r14), %rsi
movq %rbp, %rdx
callq 0x20d1b
movq 0x8(%r14), %rsi
cmpq %rsi, %rax
je 0x26549
movq (%r14), %r14
movq %r14, %rdi
movq %rbp, %rdx
callq 0x20d1b
subq %r14, %rax
sarq $0x5, %rax
jmp 0x26562
movq %rbx, %rdi
callq 0x2549e
cmpl $0x3b, 0xd0(%rbx)
jne 0x271c5
movq %rbx, %rdi
callq 0x2549e
leaq 0xc8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xc0(%rsp), %rbx
leaq 0x10(%rsp), %rdx
movq %rbx, %rsi
movq 0x8(%rsp), %rcx
movq %r15, %r8
callq 0x3c374
movaps (%rbx), %xmm0
movups %xmm0, (%r14)
jmp 0x26e6b
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x362d0
jmp 0x26e6b
movq 0x8(%rsp), %r13
leaq 0xc0(%rsp), %rdi
movq %r15, %rsi
callq 0x1e566
leaq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x80(%rbx), %rsi
movq 0x88(%rbx), %rdx
addq %rsi, %rdx
callq 0x1ded4
movups 0xa0(%rbx), %xmm0
leaq 0x118(%rsp), %rdi
movups %xmm0, -0x10(%rdi)
leaq 0x128(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0xb0(%rbx), %rsi
movq 0xb8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1ded4
movl 0xd0(%rbx), %eax
movl %eax, 0x138(%rsp)
movq %rbx, %rdi
callq 0x2549e
movq %r14, 0x150(%rsp)
movq %r15, 0x78(%rsp)
cmpl $-0x2, 0xd0(%rbx)
jne 0x2738c
leaq 0xb0(%rbx), %r14
leaq 0x8f3e5(%rip), %r15     # 0xb58f8
movq (%r15), %rdi
movq 0x8(%r15), %rsi
movq %r14, %rdx
callq 0x20d1b
movq 0x8(%r15), %rsi
cmpq %rsi, %rax
je 0x26b36
movq (%r15), %r15
movq %r15, %rdi
movq %r14, %rdx
callq 0x20d1b
subq %r15, %rax
sarq $0x5, %rax
jmp 0x26b56
movq %r14, %rdi
movq %rbp, %rsi
callq 0x20cde
movq 0x8(%r14), %rax
subq (%r14), %rax
sarq $0x5, %rax
decq %rax
leaq 0xc0(%rsp), %rsi
movq %rax, (%rsi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rsi)
movq $0x0, 0x18(%rsi)
movq 0x8(%rsp), %rdi
callq 0x216b8
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x265a3
movq 0xd8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq %r15, 0x78(%rsp)
movq (%rsp), %rbx
movq %rbx, %rdi
callq 0x2549e
leaq 0xc0(%rsp), %rdi
movq $0x0, (%rdi)
callq 0x47014
movq %rax, 0x180(%rsp)
movl %edx, 0x188(%rsp)
leaq 0x5d456(%rip), %rsi     # 0x83a34
movq %rbp, %rdi
callq 0x10110
testl %eax, %eax
jne 0x2725d
movq %rbx, %rdi
callq 0x2549e
leaq 0xa0(%rbx), %rax
movq %rax, 0x1a0(%rsp)
leaq 0x40(%rsp), %r15
leaq 0xc0(%rsp), %r12
movq %rbp, 0x198(%rsp)
movq (%rsp), %rax
movl 0xd0(%rax), %eax
cmpl $-0x2, %eax
jne 0x26a3a
movq %r12, %rbx
leaq 0x8f2c1(%rip), %r12     # 0xb58f8
movq (%r12), %rdi
movq 0x8(%r12), %rsi
movq %rbp, %rdx
callq 0x20d1b
movq 0x8(%r12), %rsi
cmpq %rsi, %rax
je 0x2666a
movq (%r12), %r12
movq %r12, %rdi
movq %rbp, %rdx
callq 0x20d1b
subq %r12, %rax
sarq $0x5, %rax
jmp 0x26685
movq %r12, %rdi
movq %rbp, %rsi
callq 0x20cde
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x5, %rax
decq %rax
movq %rax, 0x158(%rsp)
movq (%rsp), %rdi
callq 0x2549e
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
movq 0x8(%rsp), %r13
movq (%r13), %r12
movq 0x8(%r13), %r13
cmpq %r13, %r12
je 0x26718
movq 0x48(%rsp), %rsi
cmpq 0x50(%rsp), %rsi
je 0x266d7
movq (%r12), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x48(%rsp)
jmp 0x266e2
movq %r15, %rdi
movq %r12, %rdx
callq 0x3bf30
addq $0x20, %r12
cmpq %r13, %r12
jne 0x266b9
movq 0x48(%rsp), %rsi
cmpq 0x50(%rsp), %rsi
je 0x2671a
movq 0x158(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x48(%rsp)
movq 0x198(%rsp), %rbp
movq %rbx, %r12
jmp 0x26735
xorl %esi, %esi
movq %rbx, %r12
movq %r15, %rdi
leaq 0x158(%rsp), %rdx
callq 0x3bf30
movq 0x198(%rsp), %rbp
movq (%rsp), %rax
movl 0xd0(%rax), %eax
cmpl $0x2c, %eax
je 0x2691d
cmpl $0x7d, %eax
je 0x2697f
movq %rbp, %rdi
leaq 0x5f451(%rip), %rsi     # 0x85bac
callq 0x10110
testl %eax, %eax
jne 0x27041
movq (%rsp), %rdi
callq 0x2549e
movq %r12, %rdi
movq 0x78(%rsp), %rsi
callq 0x1e566
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq (%rsp), %r14
movq 0x80(%r14), %rsi
movq 0x88(%r14), %rdx
addq %rsi, %rdx
leaq 0xe8(%rsp), %r12
movq %r12, %rdi
callq 0x1ded4
movq 0x1a0(%rsp), %rax
movups (%rax), %xmm0
movups %xmm0, 0x20(%r12)
leaq 0x128(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0xb0(%r14), %rsi
movq 0xb8(%r14), %rdx
addq %rsi, %rdx
leaq 0x118(%rsp), %rdi
callq 0x1ded4
movl 0xd0(%r14), %eax
movl %eax, 0x138(%rsp)
movq $0x0, 0x10(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x3c8de
movq %rbx, %r12
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
leaq 0x160(%rsp), %rdi
movq %r14, %rsi
movq 0x8(%rsp), %rdx
callq 0x2946a
movq 0x160(%rsp), %rsi
movq 0x8(%r14), %rdx
movq (%rsi), %rax
leaq 0x170(%rsp), %rdi
callq *0x18(%rax)
movq 0x170(%rsp), %rsi
movq (%rsi), %rax
leaq 0x80(%rsp), %rdi
callq *(%rax)
movq 0x80(%rsp), %rsi
movq (%rsi), %rax
leaq 0xa0(%rsp), %r13
movq %r13, %rdi
leaq 0x58(%rsp), %rdx
leaq 0x10(%rsp), %r14
movq %r14, %rcx
callq *(%rax)
movq %r13, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x40416
leaq 0x180(%rsp), %rdi
movq %rax, %rsi
callq 0x47034
movq %r13, %rdi
callq 0x3fe06
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x268cc
callq 0x1e5bc
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x268de
callq 0x1e5bc
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x268f0
callq 0x1e5bc
leaq 0x10(%rsp), %rdi
callq 0x1d632
leaq 0x58(%rsp), %rdi
callq 0x3cb40
movq (%rsp), %rdi
movl 0xd0(%rdi), %eax
cmpl $0x2c, %eax
je 0x26928
cmpl $0x7d, %eax
je 0x2692d
jmp 0x270e4
movq (%rsp), %rdi
callq 0x2549e
jmp 0x2697f
callq 0x2549e
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x26952
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x26977
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x103d0
movq %r12, %rdi
callq 0x1d5ee
movq (%rsp), %rax
movq 0x8(%rax), %r14
leaq 0x10(%rsp), %r13
movq %r13, %rdi
leaq 0x180(%rsp), %rsi
callq 0x3fd84
movq %rbx, %r12
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x37220
movq %r14, %rdi
movq %r12, %rsi
callq 0x218ae
leaq 0xd8(%rsp), %rdi
callq 0x3fe06
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x269e2
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq %r13, %rdi
callq 0x3fe06
movq $0x1, 0x10(%rsp)
movq %r13, %rdi
callq 0x47014
movq %rax, 0xc0(%rsp)
movl %edx, 0xc8(%rsp)
leaq 0x180(%rsp), %rdi
movq %r12, %rsi
callq 0x47054
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2661a
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
jmp 0x2661a
cmpl $0x7d, %eax
jne 0x26f6a
movq (%rsp), %rdi
callq 0x2549e
movq 0x8(%rsp), %rdx
movq 0x8(%rdx), %rax
leaq -0x20(%rax), %rcx
movq %rcx, 0x8(%rdx)
movq -0x18(%rax), %rdi
testq %rdi, %rdi
movq 0x78(%rsp), %r14
je 0x26a77
movq -0x8(%rax), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3f9d0
leaq 0xc8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xc0(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movq 0x8(%rsp), %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x3a492
movaps 0xc0(%rsp), %xmm0
xorl %eax, %eax
movq %rax, 0xc8(%rsp)
movq 0x150(%rsp), %r14
movups %xmm0, (%r14)
movq %rax, 0xc0(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x3fe06
jmp 0x26e6b
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x26af8
callq 0x1e5bc
xorps %xmm0, %xmm0
movups %xmm0, (%r12)
movq 0x118(%rsp), %rdi
cmpq %r14, %rdi
je 0x26b1d
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe8(%rsp), %rdi
cmpq %r15, %rdi
movq %r12, %r14
jne 0x2611d
jmp 0x2612d
leaq 0x8edbb(%rip), %r15     # 0xb58f8
movq %r15, %rdi
movq %r14, %rsi
callq 0x20cde
movq 0x8(%r15), %rax
subq (%r15), %rax
sarq $0x5, %rax
decq %rax
movq %rax, 0x158(%rsp)
movq %rbx, %rdi
callq 0x2549e
leaq 0x5f03f(%rip), %rsi     # 0x85bac
movq %r14, %rdi
callq 0x10110
testl %eax, %eax
jne 0x273c0
movq %rbx, %rdi
callq 0x2549e
leaq 0x10(%rsp), %rsi
movq $0x0, (%rsi)
leaq 0x170(%rsp), %rdi
callq 0x3c8de
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movq $0x0, 0x50(%rsp)
leaq 0xa0(%rsp), %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x2946a
movq 0xa0(%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 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rdx
leaq 0x40(%rsp), %rcx
callq *(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x26c16
callq 0x1e5bc
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x26c25
callq 0x1e5bc
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x26c37
callq 0x1e5bc
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
movq $0x0, 0x90(%rsp)
movq (%r13), %r14
movq 0x8(%r13), %rbp
cmpq %rbp, %r14
je 0x26cd7
leaq 0x80(%rsp), %r15
movq 0x88(%rsp), %rsi
cmpq 0x90(%rsp), %rsi
je 0x26c89
movq (%r14), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x88(%rsp)
jmp 0x26c94
movq %r15, %rdi
movq %r14, %rdx
callq 0x3bf30
addq $0x20, %r14
cmpq %rbp, %r14
jne 0x26c63
movq 0x88(%rsp), %rsi
cmpq 0x90(%rsp), %rsi
je 0x26cd9
movq 0x158(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x88(%rsp)
movq (%rsp), %rbx
movq %r12, %r15
leaq 0x128(%rsp), %r12
jmp 0x26cfd
xorl %esi, %esi
movq (%rsp), %rbx
movq %r12, %r15
leaq 0x80(%rsp), %rdi
leaq 0x158(%rsp), %rdx
callq 0x3bf30
leaq 0x128(%rsp), %r12
movq 0x8(%rbx), %r14
leaq 0x10(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x160(%rsp), %rdx
callq 0x37262
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x218ae
leaq 0x28(%rsp), %r14
movq %r14, %rdi
callq 0x3fe06
movq -0x18(%r14), %rdi
testq %rdi, %rdi
je 0x26d4b
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpl $0x3b, 0xd0(%rbx)
movq 0x150(%rsp), %r14
jne 0x27454
movq %rbx, %rdi
callq 0x2549e
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x160(%rsp), %r8
leaq 0xc0(%rsp), %r9
movq %r13, %rcx
callq 0x3c00c
movaps 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x26dbd
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x160(%rsp), %rdi
callq 0x3fe06
leaq 0x40(%rsp), %rdi
callq 0x1d632
leaq 0x170(%rsp), %rdi
callq 0x3cb40
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0x26dfe
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0xe8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x2611d
jmp 0x2612d
cmpl $0x3b, %eax
je 0x27754
testl %eax, %eax
je 0x27792
movq %r14, %r12
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq 0x8(%rsp), %rdx
callq 0x2946a
movq (%r14), %r14
testq %r14, %r14
je 0x26e80
cmpl $0x3b, 0xd0(%rbx)
jne 0x276b9
movq %rbx, %rdi
callq 0x2549e
movq %r14, (%r12)
movq %r12, %r14
movq 0x48(%rsp), %rax
movq %rax, 0x8(%r12)
movq %r14, %rax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x26e8f
callq 0x1e5bc
xorps %xmm0, %xmm0
movq %r12, %rax
movups %xmm0, (%r12)
jmp 0x26e6e
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5cb9c(%rip), %rsi     # 0x83a48
leaq 0x5cba8(%rip), %rdx     # 0x83a5b
leaq 0x10(%rsp), %rdi
callq 0x1e698
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x80(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x180(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x47db4
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
leaq 0xd0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5cacb(%rip), %rsi     # 0x83a48
leaq 0x5cad7(%rip), %rdx     # 0x83a5b
leaq 0xc0(%rsp), %rdi
callq 0x1e698
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x2c, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x80(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x180(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x47db4
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movl $0x6020607d, (%r12)     # imm = 0x6020607D
movw $0x2c, 0x4(%r12)
movq $0x5, -0x8(%r12)
leaq 0x80(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x170(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x47db4
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
movq %r15, %r14
leaq 0xd0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5c8ab(%rip), %rsi     # 0x83a48
leaq 0x5c8b7(%rip), %rdx     # 0x83a5b
leaq 0xc0(%rsp), %rdi
callq 0x1e698
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5c6ac(%rip), %rsi     # 0x83a48
leaq 0x5c6b8(%rip), %rdx     # 0x83a5b
leaq 0x10(%rsp), %rdi
callq 0x1e698
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3d, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x40(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x47db4
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xb0(%rsp), %r13
movq %r13, -0x10(%r13)
movw $0x3b, (%r13)
movq $0x1, -0x8(%r13)
leaq 0x180(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x14f(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x180(%rsp), %rdx
callq 0x47db4
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq 0x78(%rsp), %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
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 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0x3b, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x40(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x180(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x47db4
leaq 0x10(%rsp), %rdx
movq (%rsp), %rsi
movq %r13, %rcx
callq 0x29658
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 0xa0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0x80(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x47db4
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
movq %r15, %r14
leaq 0xd0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5c32e(%rip), %rsi     # 0x83a98
leaq 0x5c33a(%rip), %rdx     # 0x83aab
leaq 0xc0(%rsp), %rdi
callq 0x1e698
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
movq %r15, %r14
leaq 0xd0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5c1ce(%rip), %rsi     # 0x83976
leaq 0x5c1e9(%rip), %rdx     # 0x83998
leaq 0xc0(%rsp), %rdi
callq 0x1e698
leaq 0xc0(%rsp), %rdx
movq (%rsp), %rsi
movq %r14, %rcx
callq 0x29658
jmp 0x2780a
jmp 0x27830
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x277f7
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x277f7
movq %rax, %r14
leaq 0x40(%rsp), %rdi
callq 0x1db60
jmp 0x2790e
jmp 0x2780a
jmp 0x27830
movq %rax, %r14
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27833
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27833
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x1db60
jmp 0x27950
movq %rdx, %r15
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2786e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2786e
movq %rdx, %r15
movq %rax, %r14
leaq 0x180(%rsp), %rdi
callq 0x1db60
jmp 0x2798d
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x278a3
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x278a3
movq %rax, %r14
leaq 0x40(%rsp), %rdi
callq 0x1db60
jmp 0x279cd
jmp 0x278ce
jmp 0x278f4
jmp 0x27f0d
jmp 0x27f31
jmp 0x27f0d
jmp 0x27f31
jmp 0x278ce
jmp 0x278f4
movq %rax, %r14
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x278f7
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x278f7
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x1db60
jmp 0x27a29
jmp 0x2794d
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2792b
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x27a69
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27a69
jmp 0x2794d
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27967
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27a8d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27a8d
movq %rdx, %r15
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x279aa
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27cd5
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27cd5
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x279ea
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x27fd1
movq 0x68(%rsp), %rsi
jmp 0x27a15
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27fd1
movq 0x20(%rsp), %rsi
incq %rsi
jmp 0x27fcc
jmp 0x27c7b
jmp 0x27a26
jmp 0x27a26
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27a40
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27ffa
movq 0x20(%rsp), %rsi
jmp 0x27f29
jmp 0x27f0d
jmp 0x27f31
jmp 0x27a8a
jmp 0x27a66
movq %rax, %r14
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x27fd1
callq 0x1e5bc
jmp 0x27fd1
jmp 0x27a8a
jmp 0x27a8a
jmp 0x27a8a
movq %rax, %r14
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x27ffa
callq 0x1e5bc
jmp 0x27ffa
jmp 0x27ccf
movq %rdx, %r15
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x2092e
jmp 0x27cd5
jmp 0x27ccf
movq %rdx, %r15
movq %rax, %r14
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x27ae1
callq 0x1e5bc
jmp 0x27ae1
movq %rdx, %r15
movq %rax, %r14
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x27af8
callq 0x1e5bc
jmp 0x27af8
movq %rdx, %r15
movq %rax, %r14
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x27cff
callq 0x1e5bc
jmp 0x27cff
movq %rdx, %r15
movq %rax, %r14
jmp 0x27cff
movq %rdx, %r15
movq %rax, %r14
jmp 0x27d16
jmp 0x27c7b
jmp 0x27b95
jmp 0x27bb7
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x3fe06
jmp 0x27ffa
jmp 0x27c7b
jmp 0x27c7b
movq %rax, %r14
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x27ffa
movq 0xd8(%rsp), %rsi
jmp 0x27ff2
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x27ba5
jmp 0x27bba
jmp 0x27bb7
jmp 0x27fb7
jmp 0x27fb7
jmp 0x27c7b
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0x27bba
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27bba
movq %rax, %r14
leaq 0xc0(%rsp), %rdi
callq 0x1d5ee
jmp 0x27ffa
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27bef
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27bef
movq %rax, %r14
leaq 0x80(%rsp), %rdi
callq 0x1db60
jmp 0x27c3e
jmp 0x27ccf
movq %rax, %r14
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27c2c
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27c2c
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x1db60
jmp 0x27c90
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x27c5b
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x27efb
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27efb
movq %rax, %r14
jmp 0x27fd1
jmp 0x27d88
jmp 0x27da8
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r12, %rdi
je 0x27ca7
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27fe3
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27fe3
movq %rax, %r14
jmp 0x27efb
movq %rdx, %r15
movq %rax, %r14
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x27cf2
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x160(%rsp), %rdi
callq 0x3fe06
leaq 0x40(%rsp), %rdi
callq 0x1d632
leaq 0x170(%rsp), %rdi
callq 0x3cb40
cmpl $0x1, %r15d
jne 0x27fd1
movq %r14, %rdi
callq 0x101a0
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5bd74(%rip), %rsi     # 0x83aac
leaq 0x5bd9d(%rip), %rdx     # 0x83adc
leaq 0x10(%rsp), %rdi
callq 0x1e698
leaq 0x10(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
movq (%rsp), %rsi
callq 0x29658
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27d7e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27d7e
movq %rax, %r14
callq 0x10690
jmp 0x27fd1
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x27dab
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27dab
movq %rax, %r14
leaq 0x80(%rsp), %rdi
callq 0x1db60
jmp 0x27f3c
jmp 0x27f39
movq %rdx, %r15
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x3fe06
jmp 0x27ddd
movq %rdx, %r15
movq %rax, %r14
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x27e0f
callq 0x1e5bc
jmp 0x27e0f
movq %rdx, %r15
movq %rax, %r14
jmp 0x27e21
movq %rdx, %r15
movq %rax, %r14
jmp 0x27e4f
movq %rax, %r14
jmp 0x27ec0
movq %rdx, %r15
movq %rax, %r14
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x27e21
callq 0x1e5bc
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x27e3b
callq 0x1e5bc
jmp 0x27e3b
movq %rdx, %r15
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1d632
leaq 0x58(%rsp), %rdi
callq 0x3cb40
cmpl $0x1, %r15d
jne 0x27efb
movq %r14, %rdi
callq 0x101a0
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5bc3b(%rip), %rsi     # 0x83aac
leaq 0x5bc64(%rip), %rdx     # 0x83adc
leaq 0x10(%rsp), %rdi
callq 0x1e698
leaq 0x10(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
movq (%rsp), %rsi
callq 0x29658
movq %rax, %r14
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x27ec0
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xc0(%rsp), %rdi
callq 0x1d5ee
jmp 0x27fe3
jmp 0x27fe0
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27ef6
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27ef6
movq %rax, %r14
callq 0x10690
leaq 0xc0(%rsp), %rdi
callq 0x2108a
jmp 0x27fe3
movq %rax, %r14
movq 0xc0(%rsp), %rdi
cmpq %r15, %rdi
je 0x27ffa
movq 0xd0(%rsp), %rsi
incq %rsi
jmp 0x27ff5
movq %rax, %r14
jmp 0x27ffa
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x27f59
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x27fba
movq 0x68(%rsp), %rsi
jmp 0x27f7c
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x27fba
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x27fba
jmp 0x27fb7
movq %rax, %rdi
callq 0x1d626
movq %rax, %r14
leaq 0xc0(%rsp), %rdi
callq 0x2092e
jmp 0x27fa5
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x3fe06
jmp 0x27fe3
jmp 0x27fe0
jmp 0x27fe0
jmp 0x27fb7
movq %rax, %r14
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x27fd1
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0xc0(%rsp), %rdi
callq 0x2108a
jmp 0x27ffa
movq %rax, %r14
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x27ffa
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
movq %r14, %rdi
callq 0x106f0