// File: /workspace/github_cpp_makefile_star2_O2/Nallantli[P]Rossa/main/rossa/node_parser/node_parser.cpp
// Function: node_parser_t::parseSwitchNode(std::vector<node_scope_t, std::allocator<node_scope_t>>*)
ptr_node_t node_parser_t::parseSwitchNode(std::vector<node_scope_t> *scopes)
{
	nextToken();
	std::map<ptr_node_t, size_t> cases;
	std::vector<ptr_node_t> gotos;

	scopes->push_back({ROSSA_HASH("<SWI@" + std::to_string(scope_i++) + ">")});
	auto switchs = parseEquNode(scopes);
	if (!switchs)
		return logErrorN(util::format(_EXPECTED_AFTER_, {KEYWORD_SWITCH}), currentToken);
	if (currentToken.type != TOK_OF)
		return logErrorN(util::format(_EXPECTED_ERROR_, {KEYWORD_OF}), currentToken);
	nextToken();
	if (currentToken.type != '{')
		return logErrorN(util::format(_EXPECTED_ERROR_, {"{"}), currentToken);
	nextToken();

	while (currentToken.type != NULL_TOK && currentToken.type != '}')
	{
		if (currentToken.type != TOK_CASE)
			return logErrorN(util::format(_EXPECTED_ERROR_, {KEYWORD_CASE}), currentToken);
		nextToken();

		std::vector<ptr_node_t> keys;

		size_t i = 0;
		while (currentToken.type != NULL_TOK)
		{
			if (i++ > 0)
			{
				if (currentToken.type != ',')
					return logErrorN(util::format(_EXPECTED_ERROR_, {","}), currentToken);
				nextToken();
			}
			auto c = parseUnitNode(scopes);
			if (!c)
				return logErrorN(_FAILURE_PARSE_CODE_, currentToken);
			keys.push_back(c);
			if (currentToken.type == TOK_DO)
				break;
		}

		if (currentToken.type != TOK_DO)
			return logErrorN(util::format(_EXPECTED_ERROR_, {KEYWORD_DO}), currentToken);
		nextToken();

		if (currentToken.type != '{')
		{
			auto eq = parseEquNode(scopes);

			if (!eq)
				return logErrorN(_FAILURE_PARSE_CODE_, currentToken);

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

			gotos.push_back(eq);
		}
		else
		{
			nextToken();
			std::vector<ptr_node_t> body;
			while (currentToken.type != NULL_TOK)
			{
				if (currentToken.type == '}')
					break;
				if (auto e = parseExprNode(scopes))
					body.push_back(e);
				else
					return logErrorN(_FAILURE_PARSE_CODE_, currentToken);
			}
			if (currentToken.type != '}')
				return logErrorN(util::format(_EXPECTED_ERROR_, {"}"}), currentToken);
			nextToken();

			if (body.size() == 1)
				gotos.push_back(body[0]);
			else
				gotos.push_back(std::make_shared<VectorNode>(*scopes, body, true, currentToken));
		}

		for (auto &c : keys)
			cases[c] = gotos.size();

		if (currentToken.type == NULL_TOK)
			return logErrorN(util::format(_EXPECTED_ERROR_, {"}"}), currentToken);
	}
	nextToken();
	auto ret = std::make_shared<SwitchNode>(*scopes, switchs, cases, gotos, currentToken);

	if (currentToken.type == TOK_ELSE)
	{
		nextToken();
		if (currentToken.type != '{')
			return logErrorN(util::format(_EXPECTED_ERROR_, {"{"}), currentToken);
		nextToken();
		std::vector<ptr_node_t> elses;
		while (currentToken.type != NULL_TOK)
		{
			if (currentToken.type == '}')
				break;

			if (auto e = parseExprNode(scopes))
				elses.push_back(e);
			else
				return logErrorN(_FAILURE_PARSE_CODE_, currentToken);
		}
		if (currentToken.type != '}')
			return logErrorN(util::format(_EXPECTED_ERROR_, {"}"}), currentToken);
		nextToken();
		ret->setElse(std::make_shared<VectorNode>(*scopes, elses, true, currentToken));
	}

	scopes->pop_back();
	return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, 0x110(%rsp)
movq %rsi, %rdi
callq 0x22e24
leaq 0x120(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorps %xmm0, %xmm0
andq $0x0, 0xf0(%rsp)
movaps %xmm0, 0xe0(%rsp)
movq (%rbx), %rsi
leaq 0x1(%rsi), %rax
movq %rax, (%rbx)
leaq 0xa0(%rsp), %rdi
callq 0x2ecd6
leaq 0x4c5ed(%rip), %rsi     # 0x76a2f
leaq 0x60(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x1ca9c
leaq 0x4bf13(%rip), %rdx     # 0x7636e
leaq 0x20(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x1ca7d
leaq 0x8c497(%rip), %rdi     # 0xb6908
leaq 0x20(%rsp), %rsi
callq 0x1efb0
leaq 0x48(%rsp), %r14
movq %rax, -0x8(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
andq $0x0, 0x10(%r14)
leaq 0x40(%rsp), %rsi
movq %r12, %rdi
callq 0x1fe52
movq %r14, %rdi
callq 0x1f5c4
leaq 0x20(%rsp), %rdi
callq 0x101d0
leaq 0x60(%rsp), %rdi
callq 0x101d0
leaq 0xa0(%rsp), %rdi
callq 0x101d0
leaq 0x100(%rsp), %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x25798
cmpq $0x0, 0x100(%rsp)
movq %rbx, 0x18(%rsp)
je 0x2ad1b
leaq 0x58(%rbx), %rax
movq %rax, 0x10(%rsp)
cmpl $-0x24, 0xd0(%rbx)
jne 0x2ad91
movq %rbx, %rdi
callq 0x22e24
cmpl $0x7b, 0xd0(%rbx)
jne 0x2ae08
movq %rbx, %rdi
callq 0x22e24
leaq 0x28(%rsp), %r13
leaq 0x20(%rsp), %r14
movl 0xd0(%rbx), %eax
cmpl $-0x29, %eax
jne 0x2a7a4
movq %rbx, %rdi
callq 0x22e24
xorps %xmm0, %xmm0
movaps %xmm0, 0xa0(%rsp)
andq $0x0, 0xb0(%rsp)
xorl %ebp, %ebp
movl 0xd0(%rbx), %eax
testl %eax, %eax
je 0x2a951
subq $0x1, %rbp
jb 0x2a57c
cmpl $0x2c, %eax
jne 0x2a9ed
movq %rbx, %rdi
callq 0x22e24
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x2780a
cmpq $0x0, 0x20(%rsp)
je 0x2a9c5
leaq 0xa0(%rsp), %rdi
movq %r14, %rsi
callq 0x2e880
movl 0xd0(%rbx), %r15d
leaq 0x28(%rsp), %rdi
callq 0x1d786
cmpl $-0xa, %r15d
jne 0x2a557
cmpl $-0xa, 0xd0(%rbx)
jne 0x2a951
movq %rbx, %rdi
callq 0x22e24
leaq 0x80(%rsp), %r15
cmpl $0x7b, 0xd0(%rbx)
jne 0x2a645
movq %rbx, %rdi
callq 0x22e24
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
andq $0x0, 0x90(%rsp)
movl 0xd0(%rbx), %eax
cmpl $0x7d, %eax
je 0x2a6a3
testl %eax, %eax
je 0x2aa61
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x23390
cmpq $0x0, 0x20(%rsp)
je 0x2aad2
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e880
movq %r13, %rdi
callq 0x1d786
jmp 0x2a5ff
leaq 0xc0(%rsp), %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x25798
cmpq $0x0, 0xc0(%rsp)
je 0x2ac80
cmpl $0x3b, 0xd0(%rbx)
jne 0x2acaa
movq %rbx, %rdi
callq 0x22e24
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2e880
leaq 0xc8(%rsp), %rdi
callq 0x1d786
jmp 0x2a730
movq %rbx, %rdi
callq 0x22e24
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rax
subq %rsi, %rax
cmpq $0x10, %rax
jne 0x2a6d3
leaq 0xe0(%rsp), %rdi
callq 0x2e880
jmp 0x2a728
movb $0x1, 0x60(%rsp)
movq %r14, %rdi
movq %r12, %rsi
movq %r15, %rdx
leaq 0x60(%rsp), %rcx
movq 0x10(%rsp), %r8
callq 0x2e811
movaps 0x20(%rsp), %xmm0
movaps %xmm0, 0x40(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x30406
leaq 0x48(%rsp), %rdi
callq 0x1d786
leaq 0x28(%rsp), %rdi
callq 0x1d786
movq %r15, %rdi
callq 0x2e838
movq 0xa0(%rsp), %rbp
movq 0xa8(%rsp), %r15
cmpq %r15, %rbp
je 0x2a780
movq %r12, %rbx
movq 0xe0(%rsp), %r12
movq 0xe8(%rsp), %r13
leaq 0x118(%rsp), %rdi
movq %rbp, %rsi
callq 0x2efe8
subq %r12, %r13
sarq $0x4, %r13
movq %r13, (%rax)
addq $0x10, %rbp
movq %rbx, %r12
movq 0x18(%rsp), %rbx
jmp 0x2a740
cmpl $0x0, 0xd0(%rbx)
je 0x2ab95
leaq 0xa0(%rsp), %rdi
callq 0x2e838
leaq 0x28(%rsp), %r13
jmp 0x2a52a
testl %eax, %eax
je 0x2a7b1
cmpl $0x7d, %eax
jne 0x2ac09
movq %rbx, %rdi
callq 0x22e24
leaq 0xc0(%rsp), %rdi
leaq 0x100(%rsp), %rdx
leaq 0x118(%rsp), %rcx
leaq 0xe0(%rsp), %r8
movq %r12, %rsi
movq 0x10(%rsp), %r9
callq 0x2f037
cmpl $-0x6, 0xd0(%rbx)
jne 0x2a8e8
movq %rbx, %rdi
callq 0x22e24
cmpl $0x7b, 0xd0(%rbx)
jne 0x2ae7f
movq %rbx, %rdi
callq 0x22e24
leaq 0xa0(%rsp), %r15
andq $0x0, 0x10(%r15)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
leaq 0x28(%rsp), %r14
leaq 0x20(%rsp), %r13
movl 0xd0(%rbx), %eax
cmpl $0x7d, %eax
je 0x2a870
testl %eax, %eax
je 0x2aafa
movq %r13, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x23390
cmpq $0x0, 0x20(%rsp)
je 0x2ab6b
movq %r15, %rdi
movq %r13, %rsi
callq 0x2e880
movq %r14, %rdi
callq 0x1d786
jmp 0x2a82e
movq %rbx, %rdi
callq 0x22e24
movq 0xc0(%rsp), %rbx
leaq 0x60(%rsp), %rcx
movb $0x1, (%rcx)
leaq 0x20(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
movq %r12, %rsi
movq 0x10(%rsp), %r8
callq 0x2e811
leaq 0x48(%rsp), %r15
leaq 0x28(%rsp), %r14
movaps -0x8(%r14), %xmm0
movaps %xmm0, -0x8(%r15)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8(%r14)
leaq 0x40(%rsp), %rsi
movq %rbx, %rdi
callq 0x57506
movq %r15, %rdi
callq 0x1d786
movq %r14, %rdi
callq 0x1d786
leaq 0xa0(%rsp), %rdi
callq 0x2e838
movq %r12, %rdi
callq 0x2eb8e
leaq 0xc8(%rsp), %rdi
movaps -0x8(%rdi), %xmm0
andq $0x0, (%rdi)
movq 0x110(%rsp), %rbx
movups %xmm0, (%rbx)
andq $0x0, -0x8(%rdi)
callq 0x1d786
leaq 0x108(%rsp), %rdi
callq 0x1d786
leaq 0xe0(%rsp), %rdi
callq 0x2e838
leaq 0x118(%rsp), %rdi
callq 0x2fcf4
movq %rbx, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4bf4c(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0x4bbad(%rip), %rsi     # 0x7651e
leaq 0x60(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xe(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bf6e(%rip), %rsi     # 0x7693a
leaq 0x40(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x1c814
leaq 0x40(%rsp), %rdx
movq %rbx, %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4beb0(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0x4c0f7(%rip), %rsi     # 0x76b04
leaq 0x60(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xe(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4be3c(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0x4fe43(%rip), %rsi     # 0x7a8c1
leaq 0x60(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1c814
leaq 0xc0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xf(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4be61(%rip), %rsi     # 0x7693a
leaq 0x40(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x1c814
leaq 0x40(%rsp), %rdx
movq %rbx, %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bda3(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0x4fdaa(%rip), %rsi     # 0x7a8c1
leaq 0x60(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1c814
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xf(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bdc8(%rip), %rsi     # 0x7693a
leaq 0x40(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x1c814
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bd08(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0x4fd0c(%rip), %rsi     # 0x7a8c1
leaq 0x60(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xe(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bc94(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rdx
callq 0x1c814
leaq 0x4b9b4(%rip), %rsi     # 0x765dd
leaq 0x60(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xd(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bcb3(%rip), %rsi     # 0x7693a
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rdx
callq 0x1c814
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bbf3(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0x4b46b(%rip), %rsi     # 0x76132
leaq 0x60(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1c814
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xf(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4bd13(%rip), %rsi     # 0x76a35
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rdx
callq 0x1c814
leaq 0x4b87f(%rip), %rsi     # 0x765ba
leaq 0x60(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xd(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x3f724
movq 0x18(%rsp), %rsi
leaq 0x58(%rsi), %rcx
leaq 0x40(%rsp), %rdx
callq 0x25932
leaq 0x4bb0c(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rdx
callq 0x1c814
leaq 0x4b773(%rip), %rsi     # 0x76524
leaq 0x60(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xd(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4ba95(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rdx
callq 0x1c814
leaq 0x4bc2d(%rip), %rsi     # 0x76a55
leaq 0x60(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x1c814
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xd(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
leaq 0x4ba1e(%rip), %rsi     # 0x768a4
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rdx
callq 0x1c814
leaq 0x4bbb6(%rip), %rsi     # 0x76a55
leaq 0x60(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0x1c814
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0xe(%rsp), %rcx
callq 0x1f298
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x3f724
leaq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
callq 0x25932
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2af05
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x1cea0
jmp 0x2af17
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2af44
jmp 0x2afc0
jmp 0x2afcf
jmp 0x2afc0
jmp 0x2afcf
jmp 0x2afc0
jmp 0x2afcf
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x101d0
jmp 0x2b178
jmp 0x2b078
jmp 0x2b078
jmp 0x2b078
jmp 0x2b021
jmp 0x2b0aa
jmp 0x2b0aa
jmp 0x2b0aa
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2af88
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1cea0
jmp 0x2aff1
movq %rax, %rbx
movq %r15, %rdi
callq 0x1d786
jmp 0x2b15e
jmp 0x2b168
jmp 0x2b168
jmp 0x2b18a
jmp 0x2b18a
jmp 0x2b18a
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2afd2
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x1cea0
jmp 0x2b07b
jmp 0x2b1a8
jmp 0x2b1b7
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2b08f
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b012
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1cea0
jmp 0x2b099
movq %rax, %rbx
jmp 0x2b178
jmp 0x2b18a
jmp 0x2b070
movq %rax, %rbx
movq %r14, %rdi
callq 0x1f5c4
jmp 0x2b040
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x101d0
jmp 0x2b04f
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2b05e
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x101d0
jmp 0x2b26f
movq %rax, %rbx
jmp 0x2b26f
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2b0ad
jmp 0x2b1da
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0x2b0e7
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2b0f3
jmp 0x2b18a
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x101d0
jmp 0x2b262
jmp 0x2b21a
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x1d786
leaq 0x28(%rsp), %rdi
jmp 0x2b213
jmp 0x2b1fe
jmp 0x2b147
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b14a
jmp 0x2b147
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x101d0
jmp 0x2b16b
jmp 0x2b18a
jmp 0x2b243
jmp 0x2b243
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b15e
jmp 0x2b15b
jmp 0x2b168
jmp 0x2b21a
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b138
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x1cea0
jmp 0x2b19a
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
jmp 0x2b250
jmp 0x2b1a8
jmp 0x2b1b7
movq %rax, %rbx
movq %r14, %rdi
callq 0x1d786
jmp 0x2b16b
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x2e838
leaq 0xc8(%rsp), %rdi
callq 0x1d786
jmp 0x2b262
movq %rax, %rbx
jmp 0x2b262
jmp 0x2b243
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2b1cc
jmp 0x2b1da
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b1ba
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1cea0
jmp 0x2b1dd
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x101d0
jmp 0x2b21d
jmp 0x2b1fe
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x101d0
jmp 0x2b201
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b210
jmp 0x2b20d
jmp 0x2b21a
jmp 0x2b243
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x101d0
jmp 0x2b255
movq %rax, %rbx
movq %r13, %rdi
callq 0x1d786
jmp 0x2b21d
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x2e838
jmp 0x2b255
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x101d0
jmp 0x2b24b
jmp 0x2b248
jmp 0x2b243
jmp 0x2b243
jmp 0x2b243
movq %rax, %rbx
jmp 0x2b255
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x1d786
leaq 0xa0(%rsp), %rdi
callq 0x2e838
leaq 0x108(%rsp), %rdi
callq 0x1d786
leaq 0xe0(%rsp), %rdi
callq 0x2e838
leaq 0x118(%rsp), %rdi
callq 0x2fcf4
movq %rbx, %rdi
callq 0x106f0
nop