// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/instruction/instruction.cpp
// Function: CastToI::evaluate(object_t const*, std::vector<std::pair<token_t, function_t>, std::allocator<std::pair<token_t, function_t>>>&) const
const symbol_t CastToI::evaluate(const object_t *scope, trace_t &stack_trace) const
{
	const symbol_t evalA = a->evaluate(scope, stack_trace);
	const parameter_t convert = b->evaluate(scope, stack_trace).getTypeName(&token, stack_trace);

	switch (evalA.getValueType())
	{
	case value_type_enum::NUMBER:
		switch (convert.getBase().back())
		{
		case value_type_enum::NUMBER:
			return evalA;
		case value_type_enum::STRING:
			return symbol_t::String(evalA.toString(&token, stack_trace));
		case value_type_enum::BOOLEAN_D:
			return symbol_t::Boolean(evalA.getNumber(&token, stack_trace).getLong() != 0);
		default:
			break;
		}
		break;
	case value_type_enum::STRING:
		switch (convert.getBase().back())
		{
		case value_type_enum::NUMBER:
			try
			{
				const std::string s = evalA.getString(&token, stack_trace);
				if (s.length() > 2 && s[0] == '0' && isalpha(s[1]))
				{
					switch (s[1])
					{
					case 'b':
					case 'B':
						return symbol_t::Number(number_t::Long(std::stoll(s.substr(2), nullptr, 2)));
					default:
						return symbol_t::Number(number_t::Long(std::stoll(s, nullptr, 0)));
					}
				}
				return symbol_t::Number(number_t::Double(std::stold(s)));
			}
			catch (const std::invalid_argument &e)
			{
				throw rossa_error_t(util::format(_FAILURE_STR_TO_NUM_, {evalA.getString(&token, stack_trace)}), token, stack_trace);
			}
		case value_type_enum::STRING:
			return evalA;
		case value_type_enum::BOOLEAN_D:
			return symbol_t::Boolean(evalA.getString(&token, stack_trace) == KEYWORD_TRUE);
		case value_type_enum::ARRAY:
		{
			std::string str = evalA.getString(&token, stack_trace);
			std::vector<symbol_t> nv;
			int last = 0;
			int c, i, ix, q, s;
			for (q = 0, i = 0, ix = str.size(); i < ix; i++, q++)
			{
				c = static_cast<unsigned char>(str[i]);
				if (c >= 0 && c <= 127)
				{
					i += 0;
					s = 1;
				}
				else if ((c & 0xE0) == 0xC0)
				{
					i += 1;
					s = 2;
				}
				else if ((c & 0xF0) == 0xE0)
				{
					i += 2;
					s = 3;
				}
				else if ((c & 0xF8) == 0xF0)
				{
					i += 3;
					s = 4;
				}
				else
				{
					nv.clear();
					for (size_t i = 0; i < str.size(); i++)
						nv.push_back(symbol_t::String(std::string(1, str[i])));
					return symbol_t::Array(nv);
				}
				nv.push_back(symbol_t::String(str.substr(last, s)));
				last = i + 1;
			}
			return symbol_t::Array(nv);
		}
		case value_type_enum::TYPE_NAME:
		{
			const std::string s = evalA.getString(&token, stack_trace);
			if (s == KEYWORD_NUMBER)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::NUMBER}));
			if (s == KEYWORD_STRING)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::STRING}));
			if (s == KEYWORD_BOOLEAN)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::BOOLEAN_D}));
			if (s == KEYWORD_ARRAY)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::ARRAY}));
			if (s == KEYWORD_DICTIONARY)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::DICTIONARY}));
			if (s == KEYWORD_FUNCTION)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::FUNCTION}));
			if (s == KEYWORD_OBJECT)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::OBJECT}));
			if (s == KEYWORD_TYPE)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::TYPE_NAME}));
			if (s == KEYWORD_NIL_NAME)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::NIL}));
			if (s == KEYWORD_POINTER)
				return symbol_t::TypeName(parameter_t({}, {value_type_enum::POINTER}));
			// TODO
			// return symbol_t::TypeName(ROSSA_HASH(evalA.getString(&token, stack_trace)));
		}
		default:
			break;
		}
		break;
	case value_type_enum::BOOLEAN_D:
		switch (convert.getBase().back())
		{
		case value_type_enum::NUMBER:
			return symbol_t::Number(number_t::Long(evalA.getBool(&token, stack_trace) ? 1 : 0));
		case value_type_enum::STRING:
			return symbol_t::String(evalA.getBool(&token, stack_trace) ? "true" : "false");
		case value_type_enum::BOOLEAN_D:
			return evalA;
		default:
			break;
		}
		break;
	case value_type_enum::ARRAY:
		switch (convert.getBase().back())
		{
		case value_type_enum::STRING:
			return symbol_t::String(evalA.toString(&token, stack_trace));
		case value_type_enum::ARRAY:
			return evalA;
		case value_type_enum::DICTIONARY:
		{
			const std::vector<symbol_t> v = evalA.getVector(&token, stack_trace);
			std::map<const std::string, const symbol_t> nd;
			for (size_t i = 0; i < v.size(); i++)
				nd.insert({std::to_string(i), v[i]});
			return symbol_t::Dictionary(nd);
		}
		default:
			break;
		}
		break;
	case value_type_enum::DICTIONARY:
		switch (convert.getBase().back())
		{
		case value_type_enum::STRING:
			return symbol_t::String(evalA.toString(&token, stack_trace));
		case value_type_enum::ARRAY:
		{
			const std::map<const std::string, const symbol_t> dict = evalA.getDictionary(&token, stack_trace);
			std::vector<symbol_t> nv;
			for (auto &&e : dict)
			{
				std::vector<symbol_t> l = {symbol_t::String(e.first), e.second};
				nv.push_back(symbol_t::Array(l));
			}
			return symbol_t::Array(nv);
		}
		case value_type_enum::DICTIONARY:
			return evalA;
		default:
			break;
		}
		break;
	case value_type_enum::OBJECT:
	{
		if (convert == evalA.getAugValueType())
			return evalA;
		const hash_ull fname = ROSSA_HASH("->" + convert.toString());
		object_t *o = evalA.getObject(&token, stack_trace);
		if (o->hasValue(fname))
			return o->getVariable(fname, &token, stack_trace).call({}, &token, stack_trace);
		break;
	}
	case value_type_enum::TYPE_NAME:
		switch (convert.getBase().back())
		{
		case value_type_enum::STRING:
			return symbol_t::String("Type::" + evalA.getTypeName(&token, stack_trace).toString());
		case value_type_enum::TYPE_NAME:
			return evalA;
		default:
			break;
		}
		break;
	case value_type_enum::NIL:
		switch (convert.getBase().back())
		{
		case value_type_enum::STRING:
			return symbol_t::String(KEYWORD_NIL);
		default:
			break;
		}
		break;
	default:
		break;
	}

	const hash_ull fname = ROSSA_HASH("->" + convert.toString());
	return scope->getVariable(fname, &token, stack_trace).call({evalA}, &token, stack_trace);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x128, %rsp            # imm = 0x128
movq %rcx, %r14
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %rbp
movq 0x90(%rsi), %rsi
movq (%rsi), %rax
leaq 0xc8(%rsp), %rdi
callq *(%rax)
movq 0xa0(%r15), %rsi
movq (%rsi), %rax
leaq 0x40(%rsp), %rdi
movq %r12, %rdx
movq %r14, %rcx
callq *(%rax)
addq $0x8, %r15
leaq 0xe0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x4132c
leaq 0x40(%rsp), %rdi
callq 0x404da
leaq 0xc8(%rsp), %rdi
callq 0x41262
addl $0x9, %eax
cmpl $0x8, %eax
ja 0x73467
leaq 0x1595c(%rip), %rcx     # 0x8838c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72a6b
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpq $-0x9, %rbx
je 0x72ffd
cmpq $-0x4, %rbx
jne 0x73467
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x4132c
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x3dcc6
leaq 0x15cec(%rip), %rsi     # 0x88799
leaq 0x90(%rsp), %rdi
leaq 0x20(%rsp), %rdx
callq 0x1d7be
leaq 0x90(%rsp), %rsi
movq %rbp, %rdi
callq 0x404ac
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72af0
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72b0b
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x3743a
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x72b2e
movq 0x68(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x40(%rsp), %rdi
callq 0x3729c
jmp 0x73832
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72b6f
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpq $-0x4, %rbx
je 0x73012
cmpq $-0x3, %rbx
je 0x72ffd
cmpq $-0x2, %rbx
jne 0x73467
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x410e2
movzbl %al, %eax
leaq 0x90(%rsp), %rdi
movq %rax, (%rdi)
callq 0x47868
leaq 0x40(%rsp), %rsi
movq %rax, (%rsi)
movl %edx, 0x8(%rsi)
movq %rbp, %rdi
callq 0x40458
jmp 0x73832
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x41268
leaq 0xe0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x3e440
movl %eax, %ebx
leaq 0x70(%rsp), %r13
movq %r13, %rdi
callq 0x3743a
movq -0x18(%r13), %rdi
testq %rdi, %rdi
je 0x72c14
movq 0x68(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x40(%rsp), %rdi
callq 0x3729c
testb %bl, %bl
jne 0x72ffd
leaq 0x90(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3dcc6
leaq 0x13f39(%rip), %rsi     # 0x86b7b
leaq 0x40(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x1d7be
leaq 0x44c9d(%rip), %rbx     # 0xb78f8
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
leaq 0x40(%rsp), %rdx
callq 0x20e41
movq 0x8(%rbx), %rsi
cmpq %rsi, %rax
je 0x73391
movq (%rbx), %r13
leaq 0x40(%rsp), %rdx
movq %r13, %rdi
callq 0x20e41
movq %rax, %rbx
subq %r13, %rbx
sarq $0x5, %rbx
jmp 0x733b4
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72cca
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpq $-0x4, %rbx
je 0x731c9
cmpq $-0x3, %rbx
je 0x73076
cmpq $-0x2, %rbx
jne 0x73467
jmp 0x72ffd
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72d1f
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpq $-0x4, %rbx
jne 0x73467
leaq 0x50(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12b4a(%rip), %rsi     # 0x85883
leaq 0x12b46(%rip), %rdx     # 0x85886
leaq 0x40(%rsp), %rdi
callq 0x1e7ca
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x404ac
jmp 0x73063
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72d8e
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpq $-0x7, %rbx
je 0x72ffd
cmpq $-0x5, %rbx
je 0x730a9
cmpq $-0x4, %rbx
jne 0x73467
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41a70
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x404ac
jmp 0x73817
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72e08
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
cmpq $-0x7, %rbx
je 0x731f3
cmpq $-0x5, %rbx
je 0x72ffd
cmpq $-0x4, %rbx
jne 0x73467
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41a70
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x404ac
jmp 0x73817
leaq 0x40(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3e0e4
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq -0x8(%rax), %rbx
testq %rdi, %rdi
je 0x72e82
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
addq $0x9, %rbx
cmpq $0x7, %rbx
ja 0x73467
leaq 0x15519(%rip), %rax     # 0x883b0
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x90(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41004
leaq 0x158d0(%rip), %rsi     # 0x88792
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x7388a
leaq 0x15905(%rip), %rsi     # 0x887e3
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x738e4
leaq 0x11602(%rip), %rsi     # 0x844fc
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x7393e
leaq 0x115e0(%rip), %rsi     # 0x844f6
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x73998
leaq 0x115d2(%rip), %rsi     # 0x84504
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x739f2
leaq 0x115c1(%rip), %rsi     # 0x8450f
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x73b44
leaq 0x157fd(%rip), %rsi     # 0x88767
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x73b9e
leaq 0x11592(%rip), %rsi     # 0x84518
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x73bf8
leaq 0x115c0(%rip), %rsi     # 0x84562
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x73c52
leaq 0x115a8(%rip), %rsi     # 0x84566
leaq 0x90(%rsp), %rdi
callq 0x10110
testl %eax, %eax
je 0x73ca9
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73467
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x73467
leaq 0xc8(%rsp), %rsi
movq %rbp, %rdi
callq 0x404c8
jmp 0x73832
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x410e2
leaq 0x1101f(%rip), %rcx     # 0x8404b
leaq 0x11169(%rip), %rsi     # 0x8419c
testb %al, %al
cmovneq %rcx, %rsi
leaq 0x50(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movzbl %al, %edx
xorq $0x5, %rdx
addq %rsi, %rdx
leaq 0x40(%rsp), %rdi
callq 0x1e7ca
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x404ac
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
jne 0x73825
jmp 0x73832
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x40b0c
movq %rax, %rdi
callq 0x479d4
testq %rax, %rax
leaq 0x40(%rsp), %rsi
setne (%rsi)
movq %rbp, %rdi
callq 0x40466
jmp 0x73832
movq %rbp, 0xd8(%rsp)
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x40cb8
leaq 0x40(%rsp), %rdi
movq %rax, %rsi
callq 0x45a18
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0x48(%rsp), %rbx
movq 0x10(%rbx), %r15
cmpq %rbx, %r15
je 0x7319b
leaq 0xa0(%rsp), %r12
leaq 0x90(%rsp), %rbp
leaq 0x8(%rsp), %r13
leaq 0x20(%r15), %rsi
movq %rbp, %r14
movq %rbp, %rdi
callq 0x404ac
leaq 0x40(%r15), %rsi
movq %r12, %r14
movq %r12, %rdi
callq 0x404c8
movl $0x2, %edx
movq %r13, %rdi
movq %rbp, %rsi
leaq 0xc0(%rsp), %rcx
callq 0x43e3c
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x90, %rdi
callq 0x404da
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x73145
movq %rbp, %rdi
movq %r13, %rsi
callq 0x40474
leaq 0x20(%rsp), %rdi
movq %rbp, %rsi
callq 0x209ac
movq %rbp, %rdi
callq 0x404da
movq %r13, %rdi
callq 0x20a84
movq %r15, %rdi
callq 0x104b0
movq %rax, %r15
cmpq %rbx, %rax
jne 0x73109
leaq 0x20(%rsp), %rsi
movq 0xd8(%rsp), %rbp
movq %rbp, %rdi
callq 0x40474
leaq 0x20(%rsp), %rdi
callq 0x20a84
leaq 0x40(%rsp), %rdi
callq 0x443fa
jmp 0x73832
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41a70
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x404ac
jmp 0x73817
movq %rbp, 0xd8(%rsp)
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x40f46
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x43f8e
leaq 0x48(%rsp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
movq 0x10(%rsp), %rax
cmpq 0x8(%rsp), %rax
je 0x73363
leaq 0x30(%rsp), %rbx
xorl %r15d, %r15d
leaq 0x20(%rsp), %r12
leaq 0x90(%rsp), %r13
leaq 0x40(%rsp), %rbp
movabsq $0x346dc5d63886594b, %r14 # imm = 0x346DC5D63886594B
movl $0x1, %esi
cmpq $0xa, %r15
jb 0x732bc
movl $0x4, %esi
movq %r15, %rcx
cmpq $0x63, %rcx
jbe 0x732b5
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x732ba
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x732bc
movq %rcx, %rax
mulq %r14
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x7327f
addl $-0x3, %esi
jmp 0x732bc
addl $-0x2, %esi
jmp 0x732bc
decl %esi
movl %esi, %esi
movq %rbx, 0x20(%rsp)
movq %r12, %rdi
xorl %edx, %edx
callq 0x104c0
movq 0x20(%rsp), %rdi
movl 0x28(%rsp), %esi
movq %r15, %rdx
callq 0x21233
movq %r15, %rdx
shlq $0x4, %rdx
addq 0x8(%rsp), %rdx
movq %r13, %rdi
movq %r12, %rsi
callq 0x774aa
movq %rbp, %rdi
movq %r13, %rsi
callq 0x465c6
leaq 0xb0(%rsp), %rdi
callq 0x404da
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x73332
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x20(%rsp), %rdi
cmpq %rbx, %rdi
je 0x73349
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x103d0
incq %r15
movq 0x10(%rsp), %rax
subq 0x8(%rsp), %rax
sarq $0x4, %rax
cmpq %rax, %r15
jb 0x7326c
leaq 0x40(%rsp), %rsi
movq 0xd8(%rsp), %rbp
movq %rbp, %rdi
callq 0x404ba
leaq 0x40(%rsp), %rdi
callq 0x443fa
leaq 0x8(%rsp), %rdi
callq 0x20a84
jmp 0x73832
leaq 0x44560(%rip), %r13     # 0xb78f8
leaq 0x40(%rsp), %rsi
movq %r13, %rdi
callq 0x20e04
movq 0x8(%r13), %rbx
subq (%r13), %rbx
sarq $0x5, %rbx
decq %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x733cf
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x733f0
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
movq %rbx, 0x20(%rsp)
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x411a4
movq %rax, %r13
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x3d498
movl %eax, %ebx
testb %al, %al
je 0x73467
leaq 0x20(%rsp), %rsi
movq %r13, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x3d502
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdx
movaps %xmm0, (%rdx)
movq $0x0, 0x10(%rdx)
movq %rbp, %rdi
movq %rax, %rsi
movq %r15, %rcx
movq %r14, %r8
callq 0x42736
leaq 0x40(%rsp), %rdi
callq 0x20a84
testb %bl, %bl
jne 0x73832
leaq 0x90(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x3dcc6
leaq 0x136f8(%rip), %rsi     # 0x86b7b
leaq 0x40(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x1d7be
leaq 0x4445c(%rip), %rbx     # 0xb78f8
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
leaq 0x40(%rsp), %rdx
callq 0x20e41
movq 0x8(%rbx), %rsi
cmpq %rsi, %rax
je 0x734d2
movq (%rbx), %r13
leaq 0x40(%rsp), %rdx
movq %r13, %rdi
callq 0x20e41
movq %rax, %rbx
subq %r13, %rbx
sarq $0x5, %rbx
jmp 0x734f5
leaq 0x4441f(%rip), %r13     # 0xb78f8
leaq 0x40(%rsp), %rsi
movq %r13, %rdi
callq 0x20e04
movq 0x8(%r13), %rbx
subq (%r13), %rbx
sarq $0x5, %rbx
decq %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73510
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73531
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x20(%rsp), %rsi
movq %rbx, (%rsi)
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x3d502
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x404c8
leaq 0x40(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x8(%rsp), %rcx
movl $0x1, %edx
callq 0x43e3c
leaq 0x40(%rsp), %rdx
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rcx
movq %r14, %r8
callq 0x42736
leaq 0x40(%rsp), %rdi
callq 0x20a84
leaq 0x90(%rsp), %rdi
callq 0x404da
jmp 0x73832
movq %rbp, 0xd8(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41004
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
movl 0x48(%rsp), %ebx
testl %ebx, %ebx
jle 0x736b3
xorl %ebp, %ebp
leaq 0x90(%rsp), %r14
leaq 0x40(%rsp), %r15
leaq 0x8(%rsp), %r12
leaq 0x20(%rsp), %r13
movslq %ebp, %rdx
movq 0x40(%rsp), %rax
movzbl (%rax,%rdx), %eax
movl $0x1, %ecx
testb %al, %al
jns 0x7365b
movl %eax, %ecx
andl $-0x20, %ecx
cmpl $0xc0, %ecx
jne 0x7362e
incl %ebp
movl $0x2, %ecx
jmp 0x7365b
movl %eax, %ecx
andl $-0x10, %ecx
cmpl $0xe0, %ecx
jne 0x73645
addl $0x2, %ebp
movl $0x3, %ecx
jmp 0x7365b
andl $-0x8, %eax
cmpl $0xf0, %eax
jne 0x73a4c
addl $0x3, %ebp
movl $0x4, %ecx
movq %r14, %rdi
movq %r15, %rsi
callq 0x10410
movq %r12, %rdi
movq %r14, %rsi
callq 0x404ac
movq %r13, %rdi
movq %r12, %rsi
callq 0x209ac
movq %r12, %rdi
callq 0x404da
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x736a9
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
incl %ebp
cmpl %ebx, %ebp
jl 0x73603
leaq 0x20(%rsp), %rsi
movq 0xd8(%rsp), %rbp
movq %rbp, %rdi
callq 0x40474
leaq 0x20(%rsp), %rdi
callq 0x20a84
jmp 0x73817
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41004
leaq 0x10955(%rip), %rsi     # 0x8404b
leaq 0x40(%rsp), %rdi
callq 0x10110
testl %eax, %eax
leaq 0x90(%rsp), %rsi
sete (%rsi)
movq %rbp, %rdi
callq 0x40466
jmp 0x73817
leaq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41004
cmpq $0x3, 0x48(%rsp)
jb 0x737e3
movq 0x40(%rsp), %rax
cmpb $0x30, (%rax)
jne 0x737e3
movsbl 0x1(%rax), %ebx
movl %ebx, %edi
callq 0x10650
testl %eax, %eax
je 0x737e3
movzbl %bl, %eax
orl $0x20, %eax
cmpl $0x62, %eax
jne 0x73b0e
leaq 0x90(%rsp), %rdi
leaq 0x40(%rsp), %rsi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x10410
leaq 0x90(%rsp), %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x77397
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
callq 0x47868
leaq 0x20(%rsp), %rsi
movq %rax, (%rsi)
movl %edx, 0x8(%rsi)
movq %rbp, %rdi
callq 0x40458
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73817
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x73817
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0x77421
fstpl 0x20(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x47848
leaq 0x90(%rsp), %rsi
movq %rax, (%rsi)
movl %edx, 0x8(%rsi)
movq %rbp, %rdi
callq 0x40458
fldz
fstp %st(0)
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73832
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x110(%rsp), %rbx
movq %rbx, %rdi
callq 0x3743a
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x7385b
movq 0x108(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0xe0(%rsp), %rdi
callq 0x3729c
leaq 0xc8(%rsp), %rdi
callq 0x404da
movq %rbp, %rax
addq $0x128, %rsp            # imm = 0x128
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x2, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x4, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x3, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x5, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x7, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
movq 0x20(%rsp), %r14
movq 0x28(%rsp), %r15
cmpq %r14, %r15
je 0x73a74
movq %r14, %rbx
movq %rbx, %rdi
callq 0x404da
addq $0x10, %rbx
cmpq %r15, %rbx
jne 0x73a5e
movq %r14, 0x28(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x736b3
xorl %r12d, %r12d
leaq 0x90(%rsp), %rbx
leaq 0x8(%rsp), %r14
leaq 0x20(%rsp), %r15
movq 0x40(%rsp), %rax
movsbl (%rax,%r12), %edx
leaq 0xa0(%rsp), %rax
movq %rax, 0x90(%rsp)
movl $0x1, %esi
movq %rbx, %rdi
callq 0x104c0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x404ac
movq %r15, %rdi
movq %r14, %rsi
callq 0x209ac
movq %r14, %rdi
callq 0x404da
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x73aff
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
incq %r12
cmpq 0x48(%rsp), %r12
jb 0x73a95
jmp 0x736b3
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x77397
leaq 0x20(%rsp), %rdi
movq %rax, (%rdi)
callq 0x47868
leaq 0x90(%rsp), %rsi
movq %rax, (%rsi)
movl %edx, 0x8(%rsi)
movq %rbp, %rdi
callq 0x40458
jmp 0x73817
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x6, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x8, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x9, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0x1, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
jmp 0x73cfe
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0xc0(%rsp), %rsi
movq $-0xa, (%rsi)
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rcx
movl $0x1, %edx
callq 0x372ea
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x3dc0c
leaq 0x40(%rsp), %rsi
movq %rbp, %rdi
callq 0x4044a
leaq 0x40(%rsp), %rdi
callq 0x37330
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x73d1f
movq 0x18(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
leaq 0x20(%rsp), %rdi
callq 0x3729c
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73832
movq 0xa0(%rsp), %rsi
jmp 0x7382a
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
jmp 0x73e7d
jmp 0x73e7d
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
movq %rdx, %r12
movq %rax, %r13
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73e83
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x73e83
jmp 0x73dca
jmp 0x73dd9
jmp 0x73df5
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x37330
jmp 0x73ddc
movq %rax, %r13
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x73df8
movq 0x18(%rsp), %rsi
subq %rdi, %rsi
callq 0x103d0
jmp 0x73df8
movq %rax, %r13
leaq 0x20(%rsp), %rdi
callq 0x3729c
jmp 0x74216
jmp 0x740c6
jmp 0x73e5a
movq %rdx, %r12
movq %rax, %r13
jmp 0x73e9e
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x740d0
jmp 0x740cb
jmp 0x740c6
movq %rax, %r13
jmp 0x7426e
jmp 0x741ae
movq %rax, %r13
leaq 0x40(%rsp), %rdi
jmp 0x741ee
jmp 0x7404e
jmp 0x73e5a
jmp 0x73e5a
movq %rax, %r13
jmp 0x7410c
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
fstp %st(0)
movq %rdx, %r12
movq %rax, %r13
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73e9e
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x103d0
cmpl $0x1, %r12d
jne 0x74287
movq %r13, %rdi
callq 0x101a0
movl $0xa8, %edi
callq 0x101e0
movq %rax, %r12
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1489e(%rip), %rsi     # 0x8876e
leaq 0x148c1(%rip), %rdx     # 0x88798
leaq 0x90(%rsp), %rdi
callq 0x1e7ca
leaq 0x20(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x41004
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0xc0(%rsp), %rcx
movl $0x1, %edx
callq 0x20c5e
leaq 0x40(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x48694
movb $0x1, %bpl
leaq 0x40(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x476dc
xorl %ebp, %ebp
leaq 0x3ed92(%rip), %rsi     # 0xb2ce0
leaq -0x3c7a1(%rip), %rdx    # 0x377b4
movq %r12, %rdi
callq 0x106d0
movq %rax, %r13
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73f83
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x73f83
movq %rax, %r13
movb $0x1, %bpl
leaq 0x8(%rsp), %rdi
callq 0x1dca2
jmp 0x73f95
movq %rax, %r13
movb $0x1, %bpl
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73fb8
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x73fb8
movq %rax, %r13
movb $0x1, %bpl
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x73fdd
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x73fdd
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x73fea
movq %r12, %rdi
callq 0x102d0
callq 0x10690
jmp 0x74287
movq %rax, %rdi
callq 0x1d76e
movq %rax, %r13
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x74025
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x74025
movq %rax, %r13
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7408a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x7408a
jmp 0x74087
jmp 0x74284
jmp 0x74156
movq %rax, %r13
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
jne 0x7411e
jmp 0x74287
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x741f8
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x37330
jmp 0x74287
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
jmp 0x74284
movq %rax, %r13
jmp 0x74102
movq %rax, %r13
jmp 0x740dd
movq %rax, %r13
leaq 0x8(%rsp), %rdi
callq 0x404da
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x74102
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x20(%rsp), %rdi
callq 0x20a84
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x74287
movq 0x50(%rsp), %rsi
jmp 0x7422f
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x20a84
jmp 0x7413a
movq %rax, %r13
leaq 0x90(%rsp), %rdi
callq 0x404da
jmp 0x74287
jmp 0x74284
jmp 0x74284
movq %rax, %r13
jmp 0x74216
jmp 0x74284
movq %rax, %r13
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x90, %rdi
callq 0x404da
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x7416b
jmp 0x7426e
movq %rax, %r13
jmp 0x7419f
movq %rax, %r13
leaq 0x90(%rsp), %rdi
callq 0x404da
leaq 0x8(%rsp), %rdi
callq 0x20a84
jmp 0x7426e
movq %rax, %r13
jmp 0x741df
movq %rax, %r13
jmp 0x741c8
movq %rax, %r13
leaq 0x90(%rsp), %rdi
callq 0x58306
movq 0x20(%rsp), %rdi
cmpq %rbx, %rdi
je 0x741df
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x40(%rsp), %rdi
callq 0x443fa
leaq 0x8(%rsp), %rdi
callq 0x20a84
jmp 0x74287
movq %rax, %r13
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x74216
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x74287
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x74287
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x404da
jmp 0x74294
movq %rax, %r13
jmp 0x74294
movq %rax, %r13
cmpq %r14, %rbp
je 0x7426e
leaq 0x90(%rsp), %rbx
addq $-0x10, %r14
movq %r14, %rdi
callq 0x404da
cmpq %rbx, %r14
jne 0x7425d
leaq 0x20(%rsp), %rdi
callq 0x20a84
leaq 0x40(%rsp), %rdi
callq 0x443fa
jmp 0x74287
movq %rax, %r13
leaq 0xe0(%rsp), %rdi
callq 0x37330
leaq 0xc8(%rsp), %rdi
callq 0x404da
movq %r13, %rdi
callq 0x106f0
nop