// File: /workspace/github_cpp_makefile_star2_O3/Nallantli[P]Rossa/main/rossa/node_parser/node_parser.cpp
// Function: node_parser_t::parseBaseNode(std::vector<node_scope_t, std::allocator<node_scope_t>>*)
ptr_node_t node_parser_t::parseBaseNode(std::vector<node_scope_t> *scopes)
{
	if (currentToken.type == NULL_TOK)
		logErrorN(_UNEXPECTED_TERMINATION_, currentToken);

	ptr_node_t ret;
	switch (currentToken.type)
	{
	case TOK_NUM:
		return parseNumNode(scopes);
	case TOK_IDF:
		if (currentToken.valueString == "__file__")
		{
			ret = std::make_shared<ContainerNode>(
				*scopes,
				symbol_t::String(std::filesystem::absolute(currentToken.filename).string()),
				currentToken);
			nextToken();
			return ret;
		}
		if (currentToken.valueString == "__dir__")
		{
			ret = std::make_shared<ContainerNode>(
				*scopes,
				symbol_t::String(std::filesystem::absolute(currentToken.filename.parent_path()).string()),
				currentToken);
			nextToken();
			return ret;
		}
		return parseIDNode(scopes);
	case TOK_STR_LIT:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::String(currentToken.valueString), currentToken);
		nextToken();
		return ret;
	case TOK_NIL:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t(), currentToken);
		nextToken();
		return ret;
	case TOK_TRUE:
	case TOK_FALSE:
		return parseBoolNode(scopes);
	case '@':
		return parseTypeNode(scopes);
	case TOK_NO_PARAM_LAMBDA:
		return parseNPLambdaNode(scopes);
	case TOK_LAMBDA:
		return parseLambdaNode(scopes);
	case '[':
		return parseVectorNode(scopes);
	case '{':
		return parseMapNode(scopes);
	case TOK_NIL_NAME:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::NIL})), currentToken);
		nextToken();
		return ret;
	case TOK_NUMBER:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::NUMBER})), currentToken);
		nextToken();
		return ret;
	case TOK_STRING:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::STRING})), currentToken);
		nextToken();
		return ret;
	case TOK_BOOLEAN:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::BOOLEAN_D})), currentToken);
		nextToken();
		return ret;
	case TOK_ARRAY:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::ARRAY})), currentToken);
		nextToken();
		return ret;
	case TOK_DICTIONARY:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::DICTIONARY})), currentToken);
		nextToken();
		return ret;
	case TOK_OBJECT:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::OBJECT})), currentToken);
		nextToken();
		return ret;
	case TOK_FUNCTION:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::FUNCTION})), currentToken);
		nextToken();
		return ret;
	case TOK_TYPE_NAME:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::TYPE_NAME})), currentToken);
		nextToken();
		return ret;
	case TOK_POINTER:
		ret = std::make_shared<ContainerNode>(*scopes, symbol_t::TypeName(parameter_t({}, {value_type_enum::POINTER})), currentToken);
		nextToken();
		return ret;
	default:
		return nullptr;
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd0, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x58(%rsi), %r12
movl 0xd0(%rsi), %eax
cmpl $-0x19, %eax
jle 0x2e6ae
cmpl $0x3f, %eax
jg 0x2e7cc
addl $0x18, %eax
cmpl $0x18, %eax
ja 0x2f28e
leaq 0x5518a(%rip), %rcx     # 0x8381c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x25aba
jmp 0x2f439
leal 0x2e(%rax), %ecx
cmpl $0xe, %ecx
ja 0x2e7fa
leaq 0x5511f(%rip), %rax     # 0x837e0
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0xa, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2e791
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2e7b5
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
cmpl $0x40, %eax
je 0x2f268
cmpl $0x5b, %eax
je 0x2f27b
cmpl $0x7b, %eax
jne 0x2f28e
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2fb12
jmp 0x2f439
cmpl $-0x3c, %eax
je 0x2f299
cmpl $-0x36, %eax
jne 0x2f28e
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2c75e
jmp 0x2f439
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x8, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2e8e6
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2e90a
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x6, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2e9e8
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ea0c
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x1, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2eaea
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2eb0e
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x7, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2ebec
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ec10
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x9, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2ecee
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ed12
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2562c
jmp 0x2f439
leaq 0xb0(%r14), %rsi
leaq 0x50(%rsp), %rdi
callq 0x3fdd8
leaq 0x88(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rsi
leaq 0x30(%rsp), %rdx
leaq 0x50(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x80(%rsp), %r12
movq 0x88(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x3fe06
movq %r14, %rdi
callq 0x2549e
jmp 0x2f432
leaq 0x50(%rsp), %rdi
callq 0x3f9d0
leaq 0x88(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rsi
leaq 0x30(%rsp), %rdx
leaq 0x50(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x3a492
movq 0x80(%rsp), %r12
movq 0x88(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x3fe06
movq %r14, %rdi
callq 0x2549e
jmp 0x2f432
leaq 0xb0(%r14), %r13
leaq 0x54b76(%rip), %rsi     # 0x83999
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x2f2ac
leaq 0x54b68(%rip), %rsi     # 0x839a2
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x2f365
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x25b78
jmp 0x2f439
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x4, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2ef24
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ef48
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x5, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2f026
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2f04a
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x3, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2f128
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2f14c
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
jmp 0x2f260
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x78(%rsp), %rsi
movq $-0x2, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
callq 0x36dd8
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x3d600
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3fd76
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
leaq 0xb0(%rsp), %r12
movq %r12, %rdi
callq 0x36f28
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x2f22a
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x36d84
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2f24e
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %r14, %rdi
callq 0x2549e
movq %r13, (%rbx)
jmp 0x2f435
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2da4c
jmp 0x2f439
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2f608
jmp 0x2f439
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x2f439
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2d2b0
jmp 0x2f439
leaq 0x80(%rsp), %rdi
movq %r12, %rsi
callq 0x10640
movq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %rdi
callq 0x1e698
leaq 0x10(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x3fdd8
leaq 0x38(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x30(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x10(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x30(%rsp), %r12
movq 0x38(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x3fe06
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x2f34b
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x1d5ee
movq %r14, %rdi
callq 0x2549e
jmp 0x2f432
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0x10760
leaq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x10640
movq 0x80(%rsp), %rsi
leaq 0x40(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
leaq 0x30(%rsp), %rdi
callq 0x1e698
leaq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3fdd8
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x20(%rsp), %r8
movq %r15, %rcx
movq %r12, %r9
callq 0x37986
movq 0x10(%rsp), %r12
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x3fe06
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x2f413
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x1d5ee
leaq 0x50(%rsp), %rdi
callq 0x1d5ee
movq %r14, %rdi
callq 0x2549e
movq %r12, (%rbx)
movq %r15, 0x8(%rbx)
movq %rbx, %rax
addq $0xd0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x90(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x54516(%rip), %rsi     # 0x83976
leaq 0x54531(%rip), %rdx     # 0x83998
leaq 0x80(%rsp), %rdi
callq 0x1e698
leaq 0x80(%rsp), %rdx
movq %r14, %rsi
movq %r12, %rcx
callq 0x29658
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x3fe06
jmp 0x2f499
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x2f4b5
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2f4b5
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1d5ee
jmp 0x2f4c7
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
jmp 0x2f509
jmp 0x2f576
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3fe06
jmp 0x2f4e5
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x2f501
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2f501
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1d5ee
jmp 0x2f5ed
jmp 0x2f576
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x2f5ed
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x2f5ed
jmp 0x2f576
jmp 0x2f585
jmp 0x2f585
jmp 0x2f585
jmp 0x2f585
jmp 0x2f59e
jmp 0x2f59e
jmp 0x2f59e
jmp 0x2f59e
jmp 0x2f5ba
jmp 0x2f5ba
jmp 0x2f5ba
jmp 0x2f5ba
jmp 0x2f55a
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x3fe06
jmp 0x2f5ed
jmp 0x2f5e0
jmp 0x2f5e0
jmp 0x2f5e0
jmp 0x2f5e0
jmp 0x2f576
movq %rax, %rbx
jmp 0x2f5ed
jmp 0x2f585
jmp 0x2f585
jmp 0x2f585
jmp 0x2f585
jmp 0x2f585
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x3fe06
jmp 0x2f5a1
jmp 0x2f59e
jmp 0x2f59e
jmp 0x2f59e
jmp 0x2f59e
jmp 0x2f59e
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x36e1e
jmp 0x2f5bd
jmp 0x2f5ba
jmp 0x2f5ba
jmp 0x2f5ba
jmp 0x2f5ba
jmp 0x2f5ba
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2f5e3
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
jmp 0x2f5e3
jmp 0x2f5e0
jmp 0x2f5e0
jmp 0x2f5e0
jmp 0x2f5e0
jmp 0x2f5e0
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x36d84
movq %rbx, %rdi
callq 0x106f0
movq %rax, %rbx
testq %r15, %r15
je 0x2f5ed
movq %r15, %rdi
callq 0x1e5bc
jmp 0x2f5ed
nop