// File: 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 %rbp
movq %rsp, %rbp
subq $0xa90, %rsp            # imm = 0xA90
movq %rdi, -0x940(%rbp)
movq %rdi, %rax
movq %rax, -0x938(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x930(%rbp)
cmpl $0x0, 0xd0(%rax)
jne 0x47bd4
leaq -0x49(%rbp), %rdi
movq %rdi, -0x948(%rbp)
callq 0x119d0
movq -0x948(%rbp), %rdx
leaq 0x109725(%rip), %rsi    # 0x151283
leaq -0x48(%rbp), %rdi
callq 0x24740
jmp 0x47b69
movq -0x930(%rbp), %rsi
movq %rsi, %rcx
addq $0x58, %rcx
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x3f820
jmp 0x47b86
leaq -0x28(%rbp), %rdi
callq 0x24b20
leaq -0x48(%rbp), %rdi
callq 0x11360
leaq -0x49(%rbp), %rdi
callq 0x11600
jmp 0x47bd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47bc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x11360
leaq -0x49(%rbp), %rdi
callq 0x11600
jmp 0x494b8
leaq -0x70(%rbp), %rdi
callq 0x576c0
movq -0x930(%rbp), %rax
movl 0xd0(%rax), %eax
addl $0x3c, %eax
movl %eax, %ecx
movq %rcx, -0x950(%rbp)
subl $0xb7, %eax
ja 0x4947f
movq -0x950(%rbp), %rax
leaq 0x109291(%rip), %rcx    # 0x150ea0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x39090
jmp 0x47c31
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x494af
movq -0x930(%rbp), %rdi
addq $0xb0, %rdi
leaq 0x109643(%rip), %rsi    # 0x1512a6
callq 0x24630
movb %al, -0x951(%rbp)
jmp 0x47c70
movb -0x951(%rbp), %al
testb $0x1, %al
jne 0x47c7f
jmp 0x47db6
movq -0x930(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x960(%rbp)
addq $0x58, %rsi
leaq -0xe0(%rbp), %rdi
callq 0x118c0
jmp 0x47ca3
leaq -0xb8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x2d3f0
jmp 0x47cb8
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x86d20
jmp 0x47ccd
movq -0x960(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x88(%rbp), %rdi
leaq -0x98(%rbp), %rdx
callq 0x57120
jmp 0x47cf4
leaq -0x70(%rbp), %rdi
leaq -0x88(%rbp), %rsi
movq %rsi, -0x968(%rbp)
callq 0x58fc0
movq -0x968(%rbp), %rdi
callq 0x571d0
leaq -0x98(%rbp), %rdi
callq 0x86dc0
leaq -0xb8(%rbp), %rdi
callq 0x11360
leaq -0xe0(%rbp), %rdi
callq 0x24b40
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x47d49
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47da5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47d99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x86dc0
leaq -0xb8(%rbp), %rdi
callq 0x11360
leaq -0xe0(%rbp), %rdi
callq 0x24b40
jmp 0x494af
movq -0x930(%rbp), %rdi
addq $0xb0, %rdi
leaq 0x1094e4(%rip), %rsi    # 0x1512af
callq 0x24630
movb %al, -0x969(%rbp)
jmp 0x47dd8
movb -0x969(%rbp), %al
testb $0x1, %al
jne 0x47de7
jmp 0x47f59
movq -0x930(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x978(%rbp)
addq $0x58, %rsi
leaq -0x170(%rbp), %rdi
callq 0x11a70
jmp 0x47e0b
leaq -0x148(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x118c0
jmp 0x47e20
leaq -0x120(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x2d3f0
jmp 0x47e35
leaq -0x100(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x86d20
jmp 0x47e4a
movq -0x978(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0xf0(%rbp), %rdi
leaq -0x100(%rbp), %rdx
callq 0x57120
jmp 0x47e71
leaq -0x70(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x980(%rbp)
callq 0x58fc0
movq -0x980(%rbp), %rdi
callq 0x571d0
leaq -0x100(%rbp), %rdi
callq 0x86dc0
leaq -0x120(%rbp), %rdi
callq 0x11360
leaq -0x148(%rbp), %rdi
callq 0x24b40
leaq -0x170(%rbp), %rdi
callq 0x24b40
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x47ed2
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47f48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47f3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47f30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x86dc0
leaq -0x120(%rbp), %rdi
callq 0x11360
leaq -0x148(%rbp), %rdi
callq 0x24b40
leaq -0x170(%rbp), %rdi
callq 0x24b40
jmp 0x494af
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x39720
jmp 0x47f72
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x930(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x988(%rbp)
addq $0xb0, %rsi
leaq -0x190(%rbp), %rdi
callq 0x86d20
jmp 0x47fa5
movq -0x988(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x180(%rbp), %rdi
leaq -0x190(%rbp), %rdx
callq 0x57120
jmp 0x47fcc
leaq -0x70(%rbp), %rdi
leaq -0x180(%rbp), %rsi
movq %rsi, -0x990(%rbp)
callq 0x58fc0
movq -0x990(%rbp), %rdi
callq 0x571d0
leaq -0x190(%rbp), %rdi
callq 0x86dc0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x48009
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x86dc0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0x998(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x86580
jmp 0x4805b
movq -0x998(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x1a0(%rbp), %rdi
leaq -0x1b0(%rbp), %rdx
callq 0x58ff0
jmp 0x48082
leaq -0x70(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
movq %rsi, -0x9a0(%rbp)
callq 0x58fc0
movq -0x9a0(%rbp), %rdi
callq 0x571d0
leaq -0x1b0(%rbp), %rdi
callq 0x86dc0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x480bf
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x86dc0
jmp 0x494af
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x39630
jmp 0x48111
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x46e00
jmp 0x48136
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x46440
jmp 0x4815b
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x453f0
jmp 0x48180
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x494d0
jmp 0x481a5
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x930(%rbp), %rsi
movq -0x940(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x49f00
jmp 0x481ca
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq -0x18(%rbp), %rax
movq %rax, -0x9b0(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x230(%rbp)
movq $0x0, -0x220(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x57bc0
movq $-0x1, -0x260(%rbp)
leaq -0x260(%rbp), %rax
movq %rax, -0x258(%rbp)
movq $0x1, -0x250(%rbp)
leaq -0x261(%rbp), %rdi
movq %rdi, -0x9a8(%rbp)
callq 0x57c40
movq -0x9a8(%rbp), %rcx
movq -0x258(%rbp), %rsi
movq -0x250(%rbp), %rdx
leaq -0x248(%rbp), %rdi
callq 0x57c60
jmp 0x4825c
leaq -0x218(%rbp), %rdi
leaq -0x230(%rbp), %rsi
leaq -0x248(%rbp), %rdx
callq 0x801d0
jmp 0x48278
leaq -0x1d0(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x86bc0
jmp 0x4828d
movq -0x9b0(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x1c0(%rbp), %rdi
leaq -0x1d0(%rbp), %rdx
callq 0x57120
jmp 0x482b4
leaq -0x70(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
movq %rsi, -0x9b8(%rbp)
callq 0x58fc0
movq -0x9b8(%rbp), %rdi
callq 0x571d0
leaq -0x1d0(%rbp), %rdi
callq 0x86dc0
leaq -0x218(%rbp), %rdi
callq 0x57da0
leaq -0x248(%rbp), %rdi
callq 0x57de0
leaq -0x261(%rbp), %rdi
callq 0x57ce0
leaq -0x230(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x48321
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48397
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4838b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4837f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x86dc0
leaq -0x218(%rbp), %rdi
callq 0x57da0
leaq -0x248(%rbp), %rdi
callq 0x57de0
leaq -0x261(%rbp), %rdi
callq 0x57ce0
leaq -0x230(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0x9c8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x2f0(%rbp)
movq $0x0, -0x2e0(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x57bc0
movq $-0x2, -0x320(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x318(%rbp)
movq $0x1, -0x310(%rbp)
leaq -0x321(%rbp), %rdi
movq %rdi, -0x9c0(%rbp)
callq 0x57c40
movq -0x9c0(%rbp), %rcx
movq -0x318(%rbp), %rsi
movq -0x310(%rbp), %rdx
leaq -0x308(%rbp), %rdi
callq 0x57c60
jmp 0x4843a
leaq -0x2d0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
leaq -0x308(%rbp), %rdx
callq 0x801d0
jmp 0x48456
leaq -0x288(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x86bc0
jmp 0x4846b
movq -0x9c8(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x278(%rbp), %rdi
leaq -0x288(%rbp), %rdx
callq 0x57120
jmp 0x48492
leaq -0x70(%rbp), %rdi
leaq -0x278(%rbp), %rsi
movq %rsi, -0x9d0(%rbp)
callq 0x58fc0
movq -0x9d0(%rbp), %rdi
callq 0x571d0
leaq -0x288(%rbp), %rdi
callq 0x86dc0
leaq -0x2d0(%rbp), %rdi
callq 0x57da0
leaq -0x308(%rbp), %rdi
callq 0x57de0
leaq -0x321(%rbp), %rdi
callq 0x57ce0
leaq -0x2f0(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x484ff
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48575
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48569
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4855d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x86dc0
leaq -0x2d0(%rbp), %rdi
callq 0x57da0
leaq -0x308(%rbp), %rdi
callq 0x57de0
leaq -0x321(%rbp), %rdi
callq 0x57ce0
leaq -0x2f0(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0x9e0(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x3b0(%rbp)
movq $0x0, -0x3a0(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x57bc0
movq $-0x4, -0x3e0(%rbp)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq $0x1, -0x3d0(%rbp)
leaq -0x3e1(%rbp), %rdi
movq %rdi, -0x9d8(%rbp)
callq 0x57c40
movq -0x9d8(%rbp), %rcx
movq -0x3d8(%rbp), %rsi
movq -0x3d0(%rbp), %rdx
leaq -0x3c8(%rbp), %rdi
callq 0x57c60
jmp 0x48618
leaq -0x390(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
leaq -0x3c8(%rbp), %rdx
callq 0x801d0
jmp 0x48634
leaq -0x348(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x86bc0
jmp 0x48649
movq -0x9e0(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x338(%rbp), %rdi
leaq -0x348(%rbp), %rdx
callq 0x57120
jmp 0x48670
leaq -0x70(%rbp), %rdi
leaq -0x338(%rbp), %rsi
movq %rsi, -0x9e8(%rbp)
callq 0x58fc0
movq -0x9e8(%rbp), %rdi
callq 0x571d0
leaq -0x348(%rbp), %rdi
callq 0x86dc0
leaq -0x390(%rbp), %rdi
callq 0x57da0
leaq -0x3c8(%rbp), %rdi
callq 0x57de0
leaq -0x3e1(%rbp), %rdi
callq 0x57ce0
leaq -0x3b0(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x486dd
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48753
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48747
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4873b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x86dc0
leaq -0x390(%rbp), %rdi
callq 0x57da0
leaq -0x3c8(%rbp), %rdi
callq 0x57de0
leaq -0x3e1(%rbp), %rdi
callq 0x57ce0
leaq -0x3b0(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0x9f8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x470(%rbp)
movq $0x0, -0x460(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x57bc0
movq $-0x3, -0x4a0(%rbp)
leaq -0x4a0(%rbp), %rax
movq %rax, -0x498(%rbp)
movq $0x1, -0x490(%rbp)
leaq -0x4a1(%rbp), %rdi
movq %rdi, -0x9f0(%rbp)
callq 0x57c40
movq -0x9f0(%rbp), %rcx
movq -0x498(%rbp), %rsi
movq -0x490(%rbp), %rdx
leaq -0x488(%rbp), %rdi
callq 0x57c60
jmp 0x487f6
leaq -0x450(%rbp), %rdi
leaq -0x470(%rbp), %rsi
leaq -0x488(%rbp), %rdx
callq 0x801d0
jmp 0x48812
leaq -0x408(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x86bc0
jmp 0x48827
movq -0x9f8(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x3f8(%rbp), %rdi
leaq -0x408(%rbp), %rdx
callq 0x57120
jmp 0x4884e
leaq -0x70(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
movq %rsi, -0xa00(%rbp)
callq 0x58fc0
movq -0xa00(%rbp), %rdi
callq 0x571d0
leaq -0x408(%rbp), %rdi
callq 0x86dc0
leaq -0x450(%rbp), %rdi
callq 0x57da0
leaq -0x488(%rbp), %rdi
callq 0x57de0
leaq -0x4a1(%rbp), %rdi
callq 0x57ce0
leaq -0x470(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x488bb
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48931
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48925
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48919
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x86dc0
leaq -0x450(%rbp), %rdi
callq 0x57da0
leaq -0x488(%rbp), %rdi
callq 0x57de0
leaq -0x4a1(%rbp), %rdi
callq 0x57ce0
leaq -0x470(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0xa10(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x530(%rbp)
movq $0x0, -0x520(%rbp)
leaq -0x530(%rbp), %rdi
callq 0x57bc0
movq $-0x5, -0x560(%rbp)
leaq -0x560(%rbp), %rax
movq %rax, -0x558(%rbp)
movq $0x1, -0x550(%rbp)
leaq -0x561(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0x57c40
movq -0xa08(%rbp), %rcx
movq -0x558(%rbp), %rsi
movq -0x550(%rbp), %rdx
leaq -0x548(%rbp), %rdi
callq 0x57c60
jmp 0x489d4
leaq -0x510(%rbp), %rdi
leaq -0x530(%rbp), %rsi
leaq -0x548(%rbp), %rdx
callq 0x801d0
jmp 0x489f0
leaq -0x4c8(%rbp), %rdi
leaq -0x510(%rbp), %rsi
callq 0x86bc0
jmp 0x48a05
movq -0xa10(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x4b8(%rbp), %rdi
leaq -0x4c8(%rbp), %rdx
callq 0x57120
jmp 0x48a2c
leaq -0x70(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
movq %rsi, -0xa18(%rbp)
callq 0x58fc0
movq -0xa18(%rbp), %rdi
callq 0x571d0
leaq -0x4c8(%rbp), %rdi
callq 0x86dc0
leaq -0x510(%rbp), %rdi
callq 0x57da0
leaq -0x548(%rbp), %rdi
callq 0x57de0
leaq -0x561(%rbp), %rdi
callq 0x57ce0
leaq -0x530(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x48a99
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48b0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48b03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48af7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x4c8(%rbp), %rdi
callq 0x86dc0
leaq -0x510(%rbp), %rdi
callq 0x57da0
leaq -0x548(%rbp), %rdi
callq 0x57de0
leaq -0x561(%rbp), %rdi
callq 0x57ce0
leaq -0x530(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0xa28(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x5f0(%rbp)
movq $0x0, -0x5e0(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x57bc0
movq $-0x7, -0x620(%rbp)
leaq -0x620(%rbp), %rax
movq %rax, -0x618(%rbp)
movq $0x1, -0x610(%rbp)
leaq -0x621(%rbp), %rdi
movq %rdi, -0xa20(%rbp)
callq 0x57c40
movq -0xa20(%rbp), %rcx
movq -0x618(%rbp), %rsi
movq -0x610(%rbp), %rdx
leaq -0x608(%rbp), %rdi
callq 0x57c60
jmp 0x48bb2
leaq -0x5d0(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
leaq -0x608(%rbp), %rdx
callq 0x801d0
jmp 0x48bce
leaq -0x588(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x86bc0
jmp 0x48be3
movq -0xa28(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x578(%rbp), %rdi
leaq -0x588(%rbp), %rdx
callq 0x57120
jmp 0x48c0a
leaq -0x70(%rbp), %rdi
leaq -0x578(%rbp), %rsi
movq %rsi, -0xa30(%rbp)
callq 0x58fc0
movq -0xa30(%rbp), %rdi
callq 0x571d0
leaq -0x588(%rbp), %rdi
callq 0x86dc0
leaq -0x5d0(%rbp), %rdi
callq 0x57da0
leaq -0x608(%rbp), %rdi
callq 0x57de0
leaq -0x621(%rbp), %rdi
callq 0x57ce0
leaq -0x5f0(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x48c77
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48ced
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48ce1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48cd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x588(%rbp), %rdi
callq 0x86dc0
leaq -0x5d0(%rbp), %rdi
callq 0x57da0
leaq -0x608(%rbp), %rdi
callq 0x57de0
leaq -0x621(%rbp), %rdi
callq 0x57ce0
leaq -0x5f0(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0xa40(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x6b0(%rbp)
movq $0x0, -0x6a0(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x57bc0
movq $-0x8, -0x6e0(%rbp)
leaq -0x6e0(%rbp), %rax
movq %rax, -0x6d8(%rbp)
movq $0x1, -0x6d0(%rbp)
leaq -0x6e1(%rbp), %rdi
movq %rdi, -0xa38(%rbp)
callq 0x57c40
movq -0xa38(%rbp), %rcx
movq -0x6d8(%rbp), %rsi
movq -0x6d0(%rbp), %rdx
leaq -0x6c8(%rbp), %rdi
callq 0x57c60
jmp 0x48d90
leaq -0x690(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
leaq -0x6c8(%rbp), %rdx
callq 0x801d0
jmp 0x48dac
leaq -0x648(%rbp), %rdi
leaq -0x690(%rbp), %rsi
callq 0x86bc0
jmp 0x48dc1
movq -0xa40(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x638(%rbp), %rdi
leaq -0x648(%rbp), %rdx
callq 0x57120
jmp 0x48de8
leaq -0x70(%rbp), %rdi
leaq -0x638(%rbp), %rsi
movq %rsi, -0xa48(%rbp)
callq 0x58fc0
movq -0xa48(%rbp), %rdi
callq 0x571d0
leaq -0x648(%rbp), %rdi
callq 0x86dc0
leaq -0x690(%rbp), %rdi
callq 0x57da0
leaq -0x6c8(%rbp), %rdi
callq 0x57de0
leaq -0x6e1(%rbp), %rdi
callq 0x57ce0
leaq -0x6b0(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x48e55
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48ecb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48ebf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48eb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x648(%rbp), %rdi
callq 0x86dc0
leaq -0x690(%rbp), %rdi
callq 0x57da0
leaq -0x6c8(%rbp), %rdi
callq 0x57de0
leaq -0x6e1(%rbp), %rdi
callq 0x57ce0
leaq -0x6b0(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0xa58(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x770(%rbp)
movq $0x0, -0x760(%rbp)
leaq -0x770(%rbp), %rdi
callq 0x57bc0
movq $-0x6, -0x7a0(%rbp)
leaq -0x7a0(%rbp), %rax
movq %rax, -0x798(%rbp)
movq $0x1, -0x790(%rbp)
leaq -0x7a1(%rbp), %rdi
movq %rdi, -0xa50(%rbp)
callq 0x57c40
movq -0xa50(%rbp), %rcx
movq -0x798(%rbp), %rsi
movq -0x790(%rbp), %rdx
leaq -0x788(%rbp), %rdi
callq 0x57c60
jmp 0x48f6e
leaq -0x750(%rbp), %rdi
leaq -0x770(%rbp), %rsi
leaq -0x788(%rbp), %rdx
callq 0x801d0
jmp 0x48f8a
leaq -0x708(%rbp), %rdi
leaq -0x750(%rbp), %rsi
callq 0x86bc0
jmp 0x48f9f
movq -0xa58(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x6f8(%rbp), %rdi
leaq -0x708(%rbp), %rdx
callq 0x57120
jmp 0x48fc6
leaq -0x70(%rbp), %rdi
leaq -0x6f8(%rbp), %rsi
movq %rsi, -0xa60(%rbp)
callq 0x58fc0
movq -0xa60(%rbp), %rdi
callq 0x571d0
leaq -0x708(%rbp), %rdi
callq 0x86dc0
leaq -0x750(%rbp), %rdi
callq 0x57da0
leaq -0x788(%rbp), %rdi
callq 0x57de0
leaq -0x7a1(%rbp), %rdi
callq 0x57ce0
leaq -0x770(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x49033
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x490a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4909d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x49091
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x86dc0
leaq -0x750(%rbp), %rdi
callq 0x57da0
leaq -0x788(%rbp), %rdi
callq 0x57de0
leaq -0x7a1(%rbp), %rdi
callq 0x57ce0
leaq -0x770(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0xa70(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x830(%rbp)
movq $0x0, -0x820(%rbp)
leaq -0x830(%rbp), %rdi
callq 0x57bc0
movq $-0x9, -0x860(%rbp)
leaq -0x860(%rbp), %rax
movq %rax, -0x858(%rbp)
movq $0x1, -0x850(%rbp)
leaq -0x861(%rbp), %rdi
movq %rdi, -0xa68(%rbp)
callq 0x57c40
movq -0xa68(%rbp), %rcx
movq -0x858(%rbp), %rsi
movq -0x850(%rbp), %rdx
leaq -0x848(%rbp), %rdi
callq 0x57c60
jmp 0x4914c
leaq -0x810(%rbp), %rdi
leaq -0x830(%rbp), %rsi
leaq -0x848(%rbp), %rdx
callq 0x801d0
jmp 0x49168
leaq -0x7c8(%rbp), %rdi
leaq -0x810(%rbp), %rsi
callq 0x86bc0
jmp 0x4917d
movq -0xa70(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x7b8(%rbp), %rdi
leaq -0x7c8(%rbp), %rdx
callq 0x57120
jmp 0x491a4
leaq -0x70(%rbp), %rdi
leaq -0x7b8(%rbp), %rsi
movq %rsi, -0xa78(%rbp)
callq 0x58fc0
movq -0xa78(%rbp), %rdi
callq 0x571d0
leaq -0x7c8(%rbp), %rdi
callq 0x86dc0
leaq -0x810(%rbp), %rdi
callq 0x57da0
leaq -0x848(%rbp), %rdi
callq 0x57de0
leaq -0x861(%rbp), %rdi
callq 0x57ce0
leaq -0x830(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x49211
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x49287
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4927b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4926f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x7c8(%rbp), %rdi
callq 0x86dc0
leaq -0x810(%rbp), %rdi
callq 0x57da0
leaq -0x848(%rbp), %rdi
callq 0x57de0
leaq -0x861(%rbp), %rdi
callq 0x57ce0
leaq -0x830(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x18(%rbp), %rax
movq %rax, -0xa88(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8f0(%rbp)
movq $0x0, -0x8e0(%rbp)
leaq -0x8f0(%rbp), %rdi
callq 0x57bc0
movq $-0xa, -0x920(%rbp)
leaq -0x920(%rbp), %rax
movq %rax, -0x918(%rbp)
movq $0x1, -0x910(%rbp)
leaq -0x921(%rbp), %rdi
movq %rdi, -0xa80(%rbp)
callq 0x57c40
movq -0xa80(%rbp), %rcx
movq -0x918(%rbp), %rsi
movq -0x910(%rbp), %rdx
leaq -0x908(%rbp), %rdi
callq 0x57c60
jmp 0x4932a
leaq -0x8d0(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
leaq -0x908(%rbp), %rdx
callq 0x801d0
jmp 0x49346
leaq -0x888(%rbp), %rdi
leaq -0x8d0(%rbp), %rsi
callq 0x86bc0
jmp 0x4935b
movq -0xa88(%rbp), %rsi
movq -0x930(%rbp), %rcx
addq $0x58, %rcx
leaq -0x878(%rbp), %rdi
leaq -0x888(%rbp), %rdx
callq 0x57120
jmp 0x49382
leaq -0x70(%rbp), %rdi
leaq -0x878(%rbp), %rsi
movq %rsi, -0xa90(%rbp)
callq 0x58fc0
movq -0xa90(%rbp), %rdi
callq 0x571d0
leaq -0x888(%rbp), %rdi
callq 0x86dc0
leaq -0x8d0(%rbp), %rdi
callq 0x57da0
leaq -0x908(%rbp), %rdi
callq 0x57de0
leaq -0x921(%rbp), %rdi
callq 0x57ce0
leaq -0x8f0(%rbp), %rdi
callq 0x57be0
movq -0x930(%rbp), %rdi
callq 0x38fd0
jmp 0x493ef
movq -0x940(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x58f90
movl $0x1, -0x74(%rbp)
jmp 0x49496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x49465
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x49459
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4944d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x888(%rbp), %rdi
callq 0x86dc0
leaq -0x8d0(%rbp), %rdi
callq 0x57da0
leaq -0x908(%rbp), %rdi
callq 0x57de0
leaq -0x921(%rbp), %rdi
callq 0x57ce0
leaq -0x8f0(%rbp), %rdi
callq 0x57be0
jmp 0x494af
movq -0x940(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x58bf0
movl $0x1, -0x74(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x24b20
movq -0x938(%rbp), %rax
addq $0xa90, %rsp            # imm = 0xA90
popq %rbp
retq
leaq -0x70(%rbp), %rdi
callq 0x24b20
movq -0x58(%rbp), %rdi
callq 0x119c0
nopw %cs:(%rax,%rax)