// File: 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
movq %rsp, %rbp
subq $0x1100, %rsp           # imm = 0x1100
movq %rdi, -0xe28(%rbp)
movq %rdi, %rax
movq %rax, -0xe20(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xe18(%rbp)
addq $0x90, %rdi
callq 0x2d300
movq %rax, %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x30(%rbp), %rdi
callq *%rax
movq -0xe18(%rbp), %rdi
addq $0xa0, %rdi
callq 0x2d300
movq %rax, %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x88(%rbp), %rdi
callq *%rax
jmp 0x12e279
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x78(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x88540
jmp 0x12e29a
leaq -0x88(%rbp), %rdi
callq 0x86dc0
leaq -0x30(%rbp), %rdi
callq 0x883e0
movl %eax, -0xe2c(%rbp)
jmp 0x12e2b7
movl -0xe2c(%rbp), %eax
addl $0x9, %eax
movl %eax, %ecx
movq %rcx, -0xe38(%rbp)
subl $0x8, %eax
ja 0x130d1f
movq -0xe38(%rbp), %rax
leaq 0x26b0c(%rip), %rcx     # 0x154dec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x131017
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x86dc0
jmp 0x131017
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x13100e
leaq -0xb0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x12e34c
leaq -0xb0(%rbp), %rdi
movq %rdi, -0xe48(%rbp)
callq 0x136940
movq -0xe48(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xe40(%rbp)
callq 0x57de0
movq -0xe40(%rbp), %rax
subq $-0x4, %rax
je 0x12e3cb
jmp 0x12e384
movq -0xe40(%rbp), %rax
subq $-0x3, %rax
je 0x12e43f
jmp 0x12e397
movq -0xe40(%rbp), %rax
subq $-0x2, %rax
jne 0x12e49a
jmp 0x12e3aa
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x12e3bc
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0xd8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x88fe0
jmp 0x12e3ec
movq -0xe28(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x86d20
jmp 0x12e401
leaq -0xd8(%rbp), %rdi
callq 0x11360
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq -0xe18(%rbp), %rsi
addq $0x8, %rsi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x87a00
movq %rax, -0xe50(%rbp)
jmp 0x12e460
movq -0xe50(%rbp), %rdi
callq 0x9c780
movq -0xe28(%rbp), %rdi
testq %rax, %rax
setne -0xd9(%rbp)
leaq -0xd9(%rbp), %rsi
callq 0x86c20
jmp 0x12e48b
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
jmp 0x12e49c
jmp 0x130d21
leaq -0xf8(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x12e4b3
leaq -0xf8(%rbp), %rdi
movq %rdi, -0xe68(%rbp)
callq 0x136940
movq -0xe68(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xe60(%rbp)
callq 0x57de0
movq -0xe60(%rbp), %rax
addq $0x9, %rax
movq %rax, -0xe58(%rbp)
subq $0x7, %rax
ja 0x12fed3
movq -0xe58(%rbp), %rax
leaq 0x2690a(%rip), %rcx     # 0x154e10
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x118(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x880d0
jmp 0x12e530
leaq -0x118(%rbp), %rdi
callq 0x11840
cmpq $0x2, %rax
jbe 0x12e721
leaq -0x118(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x11630
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0x12e721
leaq -0x118(%rbp), %rdi
movl $0x1, %esi
callq 0x11630
movsbl (%rax), %edi
callq 0x118e0
cmpl $0x0, %eax
je 0x12e721
leaq -0x118(%rbp), %rdi
movl $0x1, %esi
callq 0x11630
movsbl (%rax), %eax
orl $0x20, %eax
subl $0x62, %eax
je 0x12e5bc
jmp 0x12e6a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12e7b4
leaq -0x150(%rbp), %rdi
leaq -0x118(%rbp), %rsi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x115b0
jmp 0x12e5dd
xorl %eax, %eax
movl %eax, %esi
leaq -0x150(%rbp), %rdi
movl $0x2, %edx
callq 0x570a0
movq %rax, -0xe70(%rbp)
jmp 0x12e5fb
movq -0xe70(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x9c540
movq -0xe28(%rbp), %rdi
movl %edx, -0x158(%rbp)
movq %rax, -0x160(%rbp)
movl -0x158(%rbp), %eax
movl %eax, -0x120(%rbp)
movq -0x160(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq -0x128(%rbp), %rsi
callq 0x86bf0
jmp 0x12e651
leaq -0x150(%rbp), %rdi
callq 0x11360
movl $0x1, -0xb4(%rbp)
jmp 0x12e797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12e7a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x11360
jmp 0x12e7a8
xorl %edx, %edx
movl %edx, %esi
leaq -0x118(%rbp), %rdi
callq 0x570a0
movq %rax, -0xe78(%rbp)
jmp 0x12e6bf
movq -0xe78(%rbp), %rax
movq %rax, -0x178(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x9c540
movq -0xe28(%rbp), %rdi
movl %edx, -0x180(%rbp)
movq %rax, -0x188(%rbp)
movl -0x180(%rbp), %eax
movl %eax, -0x168(%rbp)
movq -0x188(%rbp), %rax
movq %rax, -0x170(%rbp)
leaq -0x170(%rbp), %rsi
callq 0x86bf0
jmp 0x12e715
movl $0x1, -0xb4(%rbp)
jmp 0x12e797
xorl %eax, %eax
movl %eax, %esi
leaq -0x118(%rbp), %rdi
callq 0x136980
fstpt -0xe84(%rbp)
jmp 0x12e739
fldt -0xe84(%rbp)
fstpl -0x1a0(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x9c510
movq -0xe28(%rbp), %rdi
movl %edx, -0x1a8(%rbp)
movq %rax, -0x1b0(%rbp)
movl -0x1a8(%rbp), %eax
movl %eax, -0x190(%rbp)
movq -0x1b0(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x198(%rbp), %rsi
callq 0x86bf0
jmp 0x12e78d
movl $0x1, -0xb4(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x11360
jmp 0x130fec
leaq -0x118(%rbp), %rdi
callq 0x11360
movl -0x94(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x13100e
movq -0x90(%rbp), %rdi
callq 0x11220
movq %rax, -0x1b8(%rbp)
movb $0x1, -0x252(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0xe98(%rbp)
leaq -0x1f9(%rbp), %rdi
movq %rdi, -0xe90(%rbp)
callq 0x119d0
movq -0xe90(%rbp), %rdx
leaq 0x269bb(%rip), %rsi     # 0x1551ce
leaq -0x1f8(%rbp), %rdi
callq 0x24740
jmp 0x12e821
movq -0xe18(%rbp), %rdx
leaq -0x248(%rbp), %rdi
movq %rdi, -0x250(%rbp)
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x30(%rbp), %rsi
callq 0x880d0
jmp 0x12e849
leaq -0x248(%rbp), %rax
movq %rax, -0x228(%rbp)
movq $0x1, -0x220(%rbp)
leaq -0x251(%rbp), %rdi
movq %rdi, -0xea0(%rbp)
callq 0x26e30
movq -0xea0(%rbp), %rcx
movq -0x228(%rbp), %rsi
movq -0x220(%rbp), %rdx
leaq -0x218(%rbp), %rdi
callq 0x2d6a0
jmp 0x12e898
leaq -0x1d8(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
leaq -0x218(%rbp), %rdx
callq 0x9e250
jmp 0x12e8b4
movq -0xe98(%rbp), %rdi
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x1d8(%rbp), %rsi
callq 0x9c360
jmp 0x12e8d8
movq -0xe98(%rbp), %rdi
movb $0x0, -0x252(%rbp)
leaq 0xb2393(%rip), %rsi     # 0x1e0c80
leaq -0xd3f54(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0x131034
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x12e910
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12ea4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
movq -0x250(%rbp), %rax
leaq -0x248(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xea8(%rbp)
je 0x12e993
movq -0xea8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xeb0(%rbp)
callq 0x11360
movq -0xeb0(%rbp), %rax
leaq -0x248(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xea8(%rbp)
jne 0x12e962
jmp 0x12ea42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12e9ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12e9de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x11360
leaq -0x218(%rbp), %rdi
callq 0x25b00
leaq -0x251(%rbp), %rdi
callq 0x279c0
leaq -0x248(%rbp), %rax
movq %rax, -0xec0(%rbp)
addq $0x20, %rax
movq %rax, -0xeb8(%rbp)
movq -0xeb8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xec8(%rbp)
callq 0x11360
movq -0xec0(%rbp), %rcx
movq -0xec8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xeb8(%rbp)
jne 0x12ea0f
jmp 0x12ea42
leaq -0x1f8(%rbp), %rdi
callq 0x11360
leaq -0x1f9(%rbp), %rdi
callq 0x11600
testb $0x1, -0x252(%rbp)
jne 0x12ea65
jmp 0x12ea71
movq -0xe98(%rbp), %rdi
callq 0x11420
callq 0x11910
jmp 0x12ea78
jmp 0x13100e
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x278(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x880d0
jmp 0x12ea9e
leaq 0x215ca(%rip), %rsi     # 0x15006f
leaq -0x278(%rbp), %rdi
callq 0x24630
movb %al, -0xec9(%rbp)
jmp 0x12eab9
movq -0xe28(%rbp), %rdi
movb -0xec9(%rbp), %al
andb $0x1, %al
movb %al, -0x253(%rbp)
leaq -0x253(%rbp), %rsi
callq 0x86c20
jmp 0x12eadc
leaq -0x278(%rbp), %rdi
callq 0x11360
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x298(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x880d0
jmp 0x12eb3b
leaq -0x2b0(%rbp), %rdi
callq 0x2cc30
movl $0x0, -0x2b4(%rbp)
movl $0x0, -0x2c4(%rbp)
movl $0x0, -0x2bc(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x113e0
movl %eax, -0x2c0(%rbp)
movl -0x2bc(%rbp), %eax
cmpl -0x2c0(%rbp), %eax
jge 0x12eef8
movslq -0x2bc(%rbp), %rsi
leaq -0x298(%rbp), %rdi
callq 0x11ac0
movq %rax, -0xed8(%rbp)
jmp 0x12eba5
movq -0xed8(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x2b8(%rbp)
cmpl $0x0, -0x2b8(%rbp)
jl 0x12ebfc
cmpl $0x7f, -0x2b8(%rbp)
jg 0x12ebfc
movl -0x2bc(%rbp), %eax
addl $0x0, %eax
movl %eax, -0x2bc(%rbp)
movl $0x1, -0x2c8(%rbp)
jmp 0x12ee21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12ef34
movl -0x2b8(%rbp), %eax
andl $0xe0, %eax
cmpl $0xc0, %eax
jne 0x12ec2c
movl -0x2bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2bc(%rbp)
movl $0x2, -0x2c8(%rbp)
jmp 0x12ee1f
movl -0x2b8(%rbp), %eax
andl $0xf0, %eax
cmpl $0xe0, %eax
jne 0x12ec5c
movl -0x2bc(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x2bc(%rbp)
movl $0x3, -0x2c8(%rbp)
jmp 0x12ee1d
movl -0x2b8(%rbp), %eax
andl $0xf8, %eax
cmpl $0xf0, %eax
jne 0x12ec8c
movl -0x2bc(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x2bc(%rbp)
movl $0x4, -0x2c8(%rbp)
jmp 0x12ee1b
leaq -0x2b0(%rbp), %rdi
callq 0x1369c0
movq $0x0, -0x2d0(%rbp)
movq -0x2d0(%rbp), %rax
movq %rax, -0xee0(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x113e0
movq %rax, %rcx
movq -0xee0(%rbp), %rax
cmpq %rcx, %rax
jae 0x12edf7
movq -0x2d0(%rbp), %rsi
leaq -0x298(%rbp), %rdi
callq 0x11ac0
movq %rax, -0xee8(%rbp)
jmp 0x12ecec
movq -0xee8(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0xef4(%rbp)
leaq -0x301(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
callq 0x119d0
movl -0xef4(%rbp), %edx
movq -0xef0(%rbp), %rcx
leaq -0x300(%rbp), %rdi
movl $0x1, %esi
callq 0x28900
jmp 0x12ed2f
leaq -0x2e0(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x86d20
jmp 0x12ed44
leaq -0x2b0(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x2cc50
jmp 0x12ed59
leaq -0x2e0(%rbp), %rdi
callq 0x86dc0
leaq -0x300(%rbp), %rdi
callq 0x11360
leaq -0x301(%rbp), %rdi
callq 0x11600
movq -0x2d0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2d0(%rbp)
jmp 0x12eca3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12ede6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12edda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x86dc0
leaq -0x300(%rbp), %rdi
callq 0x11360
leaq -0x301(%rbp), %rdi
callq 0x11600
jmp 0x12ef34
movq -0xe28(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x86c50
jmp 0x12ee0c
movl $0x1, -0xb4(%rbp)
jmp 0x12ef17
jmp 0x12ee1d
jmp 0x12ee1f
jmp 0x12ee21
movslq -0x2b4(%rbp), %rdx
movslq -0x2c8(%rbp), %rcx
leaq -0x338(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x115b0
jmp 0x12ee44
leaq -0x318(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x86d20
jmp 0x12ee59
leaq -0x2b0(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x2cc50
jmp 0x12ee6e
leaq -0x318(%rbp), %rdi
callq 0x86dc0
leaq -0x338(%rbp), %rdi
callq 0x11360
movl -0x2bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2b4(%rbp)
movl -0x2bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2bc(%rbp)
movl -0x2c4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c4(%rbp)
jmp 0x12eb77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12eeea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x86dc0
leaq -0x338(%rbp), %rdi
callq 0x11360
jmp 0x12ef34
movq -0xe28(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x86c50
jmp 0x12ef0d
movl $0x1, -0xb4(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x2cf10
leaq -0x298(%rbp), %rdi
callq 0x11360
jmp 0x130fec
leaq -0x2b0(%rbp), %rdi
callq 0x2cf10
leaq -0x298(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0x358(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x880d0
jmp 0x12ef72
leaq 0x26279(%rip), %rsi     # 0x1551f2
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xef5(%rbp)
jmp 0x12ef8d
movb -0xef5(%rbp), %al
testb $0x1, %al
jne 0x12ef9c
jmp 0x12f10d
xorps %xmm0, %xmm0
movaps %xmm0, -0x3c0(%rbp)
movq $0x0, -0x3b0(%rbp)
leaq -0x3c0(%rbp), %rdi
callq 0x57bc0
movq $-0x2, -0x3f0(%rbp)
leaq -0x3f0(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq $0x1, -0x3e0(%rbp)
leaq -0x3f1(%rbp), %rdi
movq %rdi, -0xf00(%rbp)
callq 0x57c40
movq -0xf00(%rbp), %rcx
movq -0x3e8(%rbp), %rsi
movq -0x3e0(%rbp), %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x57c60
jmp 0x12f017
leaq -0x3a0(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
leaq -0x3d8(%rbp), %rdx
callq 0x801d0
jmp 0x12f033
movq -0xe28(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x86bc0
jmp 0x12f048
leaq -0x3a0(%rbp), %rdi
callq 0x57da0
leaq -0x3d8(%rbp), %rdi
callq 0x57de0
leaq -0x3f1(%rbp), %rdi
callq 0x57ce0
leaq -0x3c0(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fed5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f0f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f0e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x57da0
leaq -0x3d8(%rbp), %rdi
callq 0x57de0
leaq -0x3f1(%rbp), %rdi
callq 0x57ce0
leaq -0x3c0(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x2612f(%rip), %rsi     # 0x155243
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf01(%rbp)
jmp 0x12f128
movb -0xf01(%rbp), %al
testb $0x1, %al
jne 0x12f137
jmp 0x12f291
xorps %xmm0, %xmm0
movaps %xmm0, -0x460(%rbp)
movq $0x0, -0x450(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x57bc0
movq $-0x4, -0x490(%rbp)
leaq -0x490(%rbp), %rax
movq %rax, -0x488(%rbp)
movq $0x1, -0x480(%rbp)
leaq -0x491(%rbp), %rdi
movq %rdi, -0xf10(%rbp)
callq 0x57c40
movq -0xf10(%rbp), %rcx
movq -0x488(%rbp), %rsi
movq -0x480(%rbp), %rdx
leaq -0x478(%rbp), %rdi
callq 0x57c60
jmp 0x12f1b2
leaq -0x440(%rbp), %rdi
leaq -0x460(%rbp), %rsi
leaq -0x478(%rbp), %rdx
callq 0x801d0
jmp 0x12f1ce
movq -0xe28(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0x86bc0
jmp 0x12f1e3
leaq -0x440(%rbp), %rdi
callq 0x57da0
leaq -0x478(%rbp), %rdi
callq 0x57de0
leaq -0x491(%rbp), %rdi
callq 0x57ce0
leaq -0x460(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f268
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x440(%rbp), %rdi
callq 0x57da0
leaq -0x478(%rbp), %rdi
callq 0x57de0
leaq -0x491(%rbp), %rdi
callq 0x57ce0
leaq -0x460(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x214f8(%rip), %rsi     # 0x150790
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf11(%rbp)
jmp 0x12f2ac
movb -0xf11(%rbp), %al
testb $0x1, %al
jne 0x12f2bb
jmp 0x12f415
xorps %xmm0, %xmm0
movaps %xmm0, -0x500(%rbp)
movq $0x0, -0x4f0(%rbp)
leaq -0x500(%rbp), %rdi
callq 0x57bc0
movq $-0x3, -0x530(%rbp)
leaq -0x530(%rbp), %rax
movq %rax, -0x528(%rbp)
movq $0x1, -0x520(%rbp)
leaq -0x531(%rbp), %rdi
movq %rdi, -0xf20(%rbp)
callq 0x57c40
movq -0xf20(%rbp), %rcx
movq -0x528(%rbp), %rsi
movq -0x520(%rbp), %rdx
leaq -0x518(%rbp), %rdi
callq 0x57c60
jmp 0x12f336
leaq -0x4e0(%rbp), %rdi
leaq -0x500(%rbp), %rsi
leaq -0x518(%rbp), %rdx
callq 0x801d0
jmp 0x12f352
movq -0xe28(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
callq 0x86bc0
jmp 0x12f367
leaq -0x4e0(%rbp), %rdi
callq 0x57da0
leaq -0x518(%rbp), %rdi
callq 0x57de0
leaq -0x531(%rbp), %rdi
callq 0x57ce0
leaq -0x500(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f3f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f3ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0x57da0
leaq -0x518(%rbp), %rdi
callq 0x57de0
leaq -0x531(%rbp), %rdi
callq 0x57ce0
leaq -0x500(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x2136e(%rip), %rsi     # 0x15078a
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf21(%rbp)
jmp 0x12f430
movb -0xf21(%rbp), %al
testb $0x1, %al
jne 0x12f43f
jmp 0x12f599
xorps %xmm0, %xmm0
movaps %xmm0, -0x5a0(%rbp)
movq $0x0, -0x590(%rbp)
leaq -0x5a0(%rbp), %rdi
callq 0x57bc0
movq $-0x5, -0x5d0(%rbp)
leaq -0x5d0(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq $0x1, -0x5c0(%rbp)
leaq -0x5d1(%rbp), %rdi
movq %rdi, -0xf30(%rbp)
callq 0x57c40
movq -0xf30(%rbp), %rcx
movq -0x5c8(%rbp), %rsi
movq -0x5c0(%rbp), %rdx
leaq -0x5b8(%rbp), %rdi
callq 0x57c60
jmp 0x12f4ba
leaq -0x580(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
leaq -0x5b8(%rbp), %rdx
callq 0x801d0
jmp 0x12f4d6
movq -0xe28(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0x86bc0
jmp 0x12f4eb
leaq -0x580(%rbp), %rdi
callq 0x57da0
leaq -0x5b8(%rbp), %rdi
callq 0x57de0
leaq -0x5d1(%rbp), %rdi
callq 0x57ce0
leaq -0x5a0(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f57c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f570
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x580(%rbp), %rdi
callq 0x57da0
leaq -0x5b8(%rbp), %rdi
callq 0x57de0
leaq -0x5d1(%rbp), %rdi
callq 0x57ce0
leaq -0x5a0(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x211f8(%rip), %rsi     # 0x150798
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf31(%rbp)
jmp 0x12f5b4
movb -0xf31(%rbp), %al
testb $0x1, %al
jne 0x12f5c3
jmp 0x12f71d
xorps %xmm0, %xmm0
movaps %xmm0, -0x640(%rbp)
movq $0x0, -0x630(%rbp)
leaq -0x640(%rbp), %rdi
callq 0x57bc0
movq $-0x7, -0x670(%rbp)
leaq -0x670(%rbp), %rax
movq %rax, -0x668(%rbp)
movq $0x1, -0x660(%rbp)
leaq -0x671(%rbp), %rdi
movq %rdi, -0xf40(%rbp)
callq 0x57c40
movq -0xf40(%rbp), %rcx
movq -0x668(%rbp), %rsi
movq -0x660(%rbp), %rdx
leaq -0x658(%rbp), %rdi
callq 0x57c60
jmp 0x12f63e
leaq -0x620(%rbp), %rdi
leaq -0x640(%rbp), %rsi
leaq -0x658(%rbp), %rdx
callq 0x801d0
jmp 0x12f65a
movq -0xe28(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0x86bc0
jmp 0x12f66f
leaq -0x620(%rbp), %rdi
callq 0x57da0
leaq -0x658(%rbp), %rdi
callq 0x57de0
leaq -0x671(%rbp), %rdi
callq 0x57ce0
leaq -0x640(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f6f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x57da0
leaq -0x658(%rbp), %rdi
callq 0x57de0
leaq -0x671(%rbp), %rdi
callq 0x57ce0
leaq -0x640(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x2107f(%rip), %rsi     # 0x1507a3
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf41(%rbp)
jmp 0x12f738
movb -0xf41(%rbp), %al
testb $0x1, %al
jne 0x12f747
jmp 0x12f8a1
xorps %xmm0, %xmm0
movaps %xmm0, -0x6e0(%rbp)
movq $0x0, -0x6d0(%rbp)
leaq -0x6e0(%rbp), %rdi
callq 0x57bc0
movq $-0x6, -0x710(%rbp)
leaq -0x710(%rbp), %rax
movq %rax, -0x708(%rbp)
movq $0x1, -0x700(%rbp)
leaq -0x711(%rbp), %rdi
movq %rdi, -0xf50(%rbp)
callq 0x57c40
movq -0xf50(%rbp), %rcx
movq -0x708(%rbp), %rsi
movq -0x700(%rbp), %rdx
leaq -0x6f8(%rbp), %rdi
callq 0x57c60
jmp 0x12f7c2
leaq -0x6c0(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
leaq -0x6f8(%rbp), %rdx
callq 0x801d0
jmp 0x12f7de
movq -0xe28(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x86bc0
jmp 0x12f7f3
leaq -0x6c0(%rbp), %rdi
callq 0x57da0
leaq -0x6f8(%rbp), %rdi
callq 0x57de0
leaq -0x711(%rbp), %rdi
callq 0x57ce0
leaq -0x6e0(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f884
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f878
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x57da0
leaq -0x6f8(%rbp), %rdi
callq 0x57de0
leaq -0x711(%rbp), %rdi
callq 0x57ce0
leaq -0x6e0(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x2591f(%rip), %rsi     # 0x1551c7
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf51(%rbp)
jmp 0x12f8bc
movb -0xf51(%rbp), %al
testb $0x1, %al
jne 0x12f8cb
jmp 0x12fa25
xorps %xmm0, %xmm0
movaps %xmm0, -0x780(%rbp)
movq $0x0, -0x770(%rbp)
leaq -0x780(%rbp), %rdi
callq 0x57bc0
movq $-0x8, -0x7b0(%rbp)
leaq -0x7b0(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq $0x1, -0x7a0(%rbp)
leaq -0x7b1(%rbp), %rdi
movq %rdi, -0xf60(%rbp)
callq 0x57c40
movq -0xf60(%rbp), %rcx
movq -0x7a8(%rbp), %rsi
movq -0x7a0(%rbp), %rdx
leaq -0x798(%rbp), %rdi
callq 0x57c60
jmp 0x12f946
leaq -0x760(%rbp), %rdi
leaq -0x780(%rbp), %rsi
leaq -0x798(%rbp), %rdx
callq 0x801d0
jmp 0x12f962
movq -0xe28(%rbp), %rdi
leaq -0x760(%rbp), %rsi
callq 0x86bc0
jmp 0x12f977
leaq -0x760(%rbp), %rdi
callq 0x57da0
leaq -0x798(%rbp), %rdi
callq 0x57de0
leaq -0x7b1(%rbp), %rdi
callq 0x57ce0
leaq -0x780(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fa08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12f9fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x760(%rbp), %rdi
callq 0x57da0
leaq -0x798(%rbp), %rdi
callq 0x57de0
leaq -0x7b1(%rbp), %rdi
callq 0x57ce0
leaq -0x780(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x20d80(%rip), %rsi     # 0x1507ac
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf61(%rbp)
jmp 0x12fa40
movb -0xf61(%rbp), %al
testb $0x1, %al
jne 0x12fa4f
jmp 0x12fba9
xorps %xmm0, %xmm0
movaps %xmm0, -0x820(%rbp)
movq $0x0, -0x810(%rbp)
leaq -0x820(%rbp), %rdi
callq 0x57bc0
movq $-0x9, -0x850(%rbp)
leaq -0x850(%rbp), %rax
movq %rax, -0x848(%rbp)
movq $0x1, -0x840(%rbp)
leaq -0x851(%rbp), %rdi
movq %rdi, -0xf70(%rbp)
callq 0x57c40
movq -0xf70(%rbp), %rcx
movq -0x848(%rbp), %rsi
movq -0x840(%rbp), %rdx
leaq -0x838(%rbp), %rdi
callq 0x57c60
jmp 0x12faca
leaq -0x800(%rbp), %rdi
leaq -0x820(%rbp), %rsi
leaq -0x838(%rbp), %rdx
callq 0x801d0
jmp 0x12fae6
movq -0xe28(%rbp), %rdi
leaq -0x800(%rbp), %rsi
callq 0x86bc0
jmp 0x12fafb
leaq -0x800(%rbp), %rdi
callq 0x57da0
leaq -0x838(%rbp), %rdi
callq 0x57de0
leaq -0x851(%rbp), %rdi
callq 0x57ce0
leaq -0x820(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fb8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fb80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x800(%rbp), %rdi
callq 0x57da0
leaq -0x838(%rbp), %rdi
callq 0x57de0
leaq -0x851(%rbp), %rdi
callq 0x57ce0
leaq -0x820(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x20c46(%rip), %rsi     # 0x1507f6
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf71(%rbp)
jmp 0x12fbc4
movb -0xf71(%rbp), %al
testb $0x1, %al
jne 0x12fbd3
jmp 0x12fd2d
xorps %xmm0, %xmm0
movaps %xmm0, -0x8c0(%rbp)
movq $0x0, -0x8b0(%rbp)
leaq -0x8c0(%rbp), %rdi
callq 0x57bc0
movq $-0x1, -0x8f0(%rbp)
leaq -0x8f0(%rbp), %rax
movq %rax, -0x8e8(%rbp)
movq $0x1, -0x8e0(%rbp)
leaq -0x8f1(%rbp), %rdi
movq %rdi, -0xf80(%rbp)
callq 0x57c40
movq -0xf80(%rbp), %rcx
movq -0x8e8(%rbp), %rsi
movq -0x8e0(%rbp), %rdx
leaq -0x8d8(%rbp), %rdi
callq 0x57c60
jmp 0x12fc4e
leaq -0x8a0(%rbp), %rdi
leaq -0x8c0(%rbp), %rsi
leaq -0x8d8(%rbp), %rdx
callq 0x801d0
jmp 0x12fc6a
movq -0xe28(%rbp), %rdi
leaq -0x8a0(%rbp), %rsi
callq 0x86bc0
jmp 0x12fc7f
leaq -0x8a0(%rbp), %rdi
callq 0x57da0
leaq -0x8d8(%rbp), %rdi
callq 0x57de0
leaq -0x8f1(%rbp), %rdi
callq 0x57ce0
leaq -0x8c0(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fd10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fd04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x8a0(%rbp), %rdi
callq 0x57da0
leaq -0x8d8(%rbp), %rdi
callq 0x57de0
leaq -0x8f1(%rbp), %rdi
callq 0x57ce0
leaq -0x8c0(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
leaq 0x20ac6(%rip), %rsi     # 0x1507fa
leaq -0x358(%rbp), %rdi
callq 0x24630
movb %al, -0xf81(%rbp)
jmp 0x12fd48
movb -0xf81(%rbp), %al
testb $0x1, %al
jne 0x12fd57
jmp 0x12feab
xorps %xmm0, %xmm0
movaps %xmm0, -0x960(%rbp)
movq $0x0, -0x950(%rbp)
leaq -0x960(%rbp), %rdi
callq 0x57bc0
movq $-0xa, -0x990(%rbp)
leaq -0x990(%rbp), %rax
movq %rax, -0x988(%rbp)
movq $0x1, -0x980(%rbp)
leaq -0x991(%rbp), %rdi
movq %rdi, -0xf90(%rbp)
callq 0x57c40
movq -0xf90(%rbp), %rcx
movq -0x988(%rbp), %rsi
movq -0x980(%rbp), %rdx
leaq -0x978(%rbp), %rdi
callq 0x57c60
jmp 0x12fdd2
leaq -0x940(%rbp), %rdi
leaq -0x960(%rbp), %rsi
leaq -0x978(%rbp), %rdx
callq 0x801d0
jmp 0x12fdee
movq -0xe28(%rbp), %rdi
leaq -0x940(%rbp), %rsi
callq 0x86bc0
jmp 0x12fe03
leaq -0x940(%rbp), %rdi
callq 0x57da0
leaq -0x978(%rbp), %rdi
callq 0x57de0
leaq -0x991(%rbp), %rdi
callq 0x57ce0
leaq -0x960(%rbp), %rdi
callq 0x57be0
movl $0x1, -0xb4(%rbp)
jmp 0x12feb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fe91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x12fe85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x940(%rbp), %rdi
callq 0x57da0
leaq -0x978(%rbp), %rdi
callq 0x57de0
leaq -0x991(%rbp), %rdi
callq 0x57ce0
leaq -0x960(%rbp), %rdi
callq 0x57be0
jmp 0x12fed5
movl $0x0, -0xb4(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x11360
movl -0xb4(%rbp), %eax
testl %eax, %eax
jne 0x130fec
jmp 0x12fed1
jmp 0x12fed3
jmp 0x12fee6
leaq -0x358(%rbp), %rdi
callq 0x11360
jmp 0x13100e
jmp 0x130d21
leaq -0x9b0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x12fefd
leaq -0x9b0(%rbp), %rdi
movq %rdi, -0xfa0(%rbp)
callq 0x136940
movq -0xfa0(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xf98(%rbp)
callq 0x57de0
movq -0xf98(%rbp), %rax
subq $-0x4, %rax
je 0x12ffe9
jmp 0x12ff39
movq -0xf98(%rbp), %rax
subq $-0x3, %rax
je 0x1300d9
jmp 0x12ff4c
movq -0xf98(%rbp), %rax
subq $-0x2, %rax
jne 0x1300fa
jmp 0x12ff5f
movq -0xe18(%rbp), %rsi
addq $0x8, %rsi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x881f0
movb %al, -0xfa1(%rbp)
jmp 0x12ff7f
movb -0xfa1(%rbp), %al
movzbl %al, %eax
andl $0x1, %eax
movq %rax, -0x9c8(%rbp)
leaq -0x9c8(%rbp), %rdi
callq 0x9c540
movq -0xe28(%rbp), %rdi
movl %edx, -0x9d0(%rbp)
movq %rax, -0x9d8(%rbp)
movl -0x9d0(%rbp), %eax
movl %eax, -0x9b8(%rbp)
movq -0x9d8(%rbp), %rax
movq %rax, -0x9c0(%rbp)
leaq -0x9c0(%rbp), %rsi
callq 0x86bf0
jmp 0x12ffda
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq -0xe18(%rbp), %rsi
addq $0x8, %rsi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x881f0
movb %al, -0xfa2(%rbp)
jmp 0x130009
movb -0xfa2(%rbp), %dl
leaq 0x20059(%rip), %rcx     # 0x15006f
leaq 0x201a3(%rip), %rax     # 0x1501c0
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0xfb8(%rbp)
leaq -0x9f9(%rbp), %rdi
movq %rdi, -0xfb0(%rbp)
callq 0x119d0
movq -0xfb8(%rbp), %rsi
movq -0xfb0(%rbp), %rdx
leaq -0x9f8(%rbp), %rdi
callq 0x24740
jmp 0x13005a
movq -0xe28(%rbp), %rdi
leaq -0x9f8(%rbp), %rsi
callq 0x86d20
jmp 0x13006f
leaq -0x9f8(%rbp), %rdi
callq 0x11360
leaq -0x9f9(%rbp), %rdi
callq 0x11600
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x1300c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x9f8(%rbp), %rdi
callq 0x11360
leaq -0x9f9(%rbp), %rdi
callq 0x11600
jmp 0x13100e
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x1300eb
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
jmp 0x1300fc
jmp 0x130d21
leaq -0xa18(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x130113
leaq -0xa18(%rbp), %rdi
movq %rdi, -0xfc8(%rbp)
callq 0x136940
movq -0xfc8(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xfc0(%rbp)
callq 0x57de0
movq -0xfc0(%rbp), %rax
subq $-0x7, %rax
je 0x13020a
jmp 0x13014f
movq -0xfc0(%rbp), %rax
subq $-0x5, %rax
je 0x1301e9
jmp 0x130162
movq -0xfc0(%rbp), %rax
subq $-0x4, %rax
jne 0x1303dc
jmp 0x130175
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0xa38(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x88fe0
jmp 0x130196
movq -0xe28(%rbp), %rdi
leaq -0xa38(%rbp), %rsi
callq 0x86d20
jmp 0x1301ab
leaq -0xa38(%rbp), %rdi
callq 0x11360
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xa38(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x1301fb
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq -0xe18(%rbp), %rsi
addq $0x8, %rsi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x87fe0
movq %rax, -0xfd0(%rbp)
jmp 0x13022b
movq -0xfd0(%rbp), %rsi
leaq -0xa50(%rbp), %rdi
callq 0x8c650
jmp 0x130240
leaq -0xa80(%rbp), %rdi
callq 0x8c490
movq $0x0, -0xa88(%rbp)
movq -0xa88(%rbp), %rax
movq %rax, -0xfd8(%rbp)
leaq -0xa50(%rbp), %rdi
callq 0x30a90
movq %rax, %rcx
movq -0xfd8(%rbp), %rax
cmpq %rcx, %rax
jae 0x130383
movq -0xa88(%rbp), %rsi
leaq -0xad8(%rbp), %rdi
callq 0x2d470
jmp 0x130299
movq -0xa88(%rbp), %rsi
leaq -0xa50(%rbp), %rdi
callq 0x24e40
movq %rax, %rdx
leaq -0xab8(%rbp), %rdi
leaq -0xad8(%rbp), %rsi
callq 0x1369e0
jmp 0x1302c4
leaq -0xa80(%rbp), %rdi
leaq -0xab8(%rbp), %rsi
callq 0x8c550
movb %dl, -0xfe1(%rbp)
movq %rax, -0xfe0(%rbp)
jmp 0x1302e6
movb -0xfe1(%rbp), %al
movq -0xfe0(%rbp), %rcx
movq %rcx, -0xae8(%rbp)
movb %al, -0xae0(%rbp)
leaq -0xab8(%rbp), %rdi
callq 0x8c5f0
leaq -0xad8(%rbp), %rdi
callq 0x11360
movq -0xa88(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xa88(%rbp)
jmp 0x130257
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x1303bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130375
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xab8(%rbp), %rdi
callq 0x8c5f0
leaq -0xad8(%rbp), %rdi
callq 0x11360
jmp 0x1303bf
movq -0xe28(%rbp), %rdi
leaq -0xa80(%rbp), %rsi
callq 0x86d50
jmp 0x130398
movl $0x1, -0xb4(%rbp)
leaq -0xa80(%rbp), %rdi
callq 0x8c530
leaq -0xa50(%rbp), %rdi
callq 0x2cf10
jmp 0x130fec
leaq -0xa80(%rbp), %rdi
callq 0x8c530
leaq -0xa50(%rbp), %rdi
callq 0x2cf10
jmp 0x13100e
jmp 0x1303de
jmp 0x130d21
leaq -0xb00(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x1303f5
leaq -0xb00(%rbp), %rdi
movq %rdi, -0xff8(%rbp)
callq 0x136940
movq -0xff8(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xff0(%rbp)
callq 0x57de0
movq -0xff0(%rbp), %rax
subq $-0x7, %rax
je 0x13081e
jmp 0x130431
movq -0xff0(%rbp), %rax
subq $-0x5, %rax
je 0x1304cb
jmp 0x130444
movq -0xff0(%rbp), %rax
subq $-0x4, %rax
jne 0x13083f
jmp 0x130457
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0xb20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x88fe0
jmp 0x130478
movq -0xe28(%rbp), %rdi
leaq -0xb20(%rbp), %rsi
callq 0x86d20
jmp 0x13048d
leaq -0xb20(%rbp), %rdi
callq 0x11360
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb20(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq -0xe18(%rbp), %rsi
addq $0x8, %rsi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x87c10
movq %rax, -0x1000(%rbp)
jmp 0x1304ec
movq -0x1000(%rbp), %rsi
leaq -0xb50(%rbp), %rdi
callq 0x954c0
jmp 0x130501
leaq -0xb68(%rbp), %rdi
callq 0x2cc30
leaq -0xb50(%rbp), %rax
movq %rax, -0xb70(%rbp)
movq -0xb70(%rbp), %rdi
callq 0x9a740
movq %rax, -0xb78(%rbp)
movq -0xb70(%rbp), %rdi
callq 0x9a770
movq %rax, -0xb80(%rbp)
leaq -0xb78(%rbp), %rdi
leaq -0xb80(%rbp), %rsi
callq 0x9a7a0
testb $0x1, %al
jne 0x13055d
jmp 0x1307b3
leaq -0xb78(%rbp), %rdi
callq 0x9a7d0
movq %rax, -0xb88(%rbp)
leaq -0xbd0(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
movq -0xb88(%rbp), %rsi
callq 0x86d20
jmp 0x13058c
leaq -0xbc0(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
movq -0xb88(%rbp), %rsi
addq $0x20, %rsi
callq 0x86d80
jmp 0x1305ac
leaq -0xbd0(%rbp), %rax
movq %rax, -0xbb0(%rbp)
movq $0x2, -0xba8(%rbp)
leaq -0xbd9(%rbp), %rdi
movq %rdi, -0x1008(%rbp)
callq 0x2e2f0
movq -0x1008(%rbp), %rcx
movq -0xbb0(%rbp), %rsi
movq -0xba8(%rbp), %rdx
leaq -0xba0(%rbp), %rdi
callq 0x8c330
jmp 0x1305fb
leaq -0xbd9(%rbp), %rdi
callq 0x304d0
leaq -0xbd0(%rbp), %rax
movq %rax, -0x1018(%rbp)
addq $0x20, %rax
movq %rax, -0x1010(%rbp)
movq -0x1010(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1020(%rbp)
callq 0x86dc0
movq -0x1018(%rbp), %rcx
movq -0x1020(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1010(%rbp)
jne 0x130620
leaq -0xbf0(%rbp), %rdi
leaq -0xba0(%rbp), %rsi
callq 0x86c50
jmp 0x130666
leaq -0xb68(%rbp), %rdi
leaq -0xbf0(%rbp), %rsi
callq 0x2cc50
jmp 0x13067b
leaq -0xbf0(%rbp), %rdi
callq 0x86dc0
leaq -0xba0(%rbp), %rdi
callq 0x2cf10
leaq -0xb78(%rbp), %rdi
callq 0x9a800
jmp 0x130541
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
movq -0xbd8(%rbp), %rax
leaq -0xbd0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1028(%rbp)
je 0x130701
movq -0x1028(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1030(%rbp)
callq 0x86dc0
movq -0x1030(%rbp), %rax
leaq -0xbd0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1028(%rbp)
jne 0x1306d0
jmp 0x130801
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xbd9(%rbp), %rdi
callq 0x304d0
leaq -0xbd0(%rbp), %rax
movq %rax, -0x1040(%rbp)
addq $0x20, %rax
movq %rax, -0x1038(%rbp)
movq -0x1038(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x1048(%rbp)
callq 0x86dc0
movq -0x1040(%rbp), %rcx
movq -0x1048(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1038(%rbp)
jne 0x13073d
jmp 0x130801
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x1307a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xbf0(%rbp), %rdi
callq 0x86dc0
leaq -0xba0(%rbp), %rdi
callq 0x2cf10
jmp 0x130801
movq -0xe28(%rbp), %rdi
leaq -0xb68(%rbp), %rsi
callq 0x86c50
jmp 0x1307c8
movl $0x1, -0xb4(%rbp)
leaq -0xb68(%rbp), %rdi
callq 0x2cf10
leaq -0xb50(%rbp), %rdi
callq 0x8c530
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb68(%rbp), %rdi
callq 0x2cf10
leaq -0xb50(%rbp), %rdi
callq 0x8c530
jmp 0x13100e
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x130830
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
jmp 0x130841
jmp 0x130d21
leaq -0xc38(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x88400
jmp 0x130858
leaq -0x78(%rbp), %rdi
leaq -0xc38(%rbp), %rsi
callq 0x80c90
movb %al, -0x1049(%rbp)
jmp 0x130870
leaq -0xc38(%rbp), %rdi
callq 0x57da0
movb -0x1049(%rbp), %al
testb $0x1, %al
jne 0x130888
jmp 0x1308cc
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x13089a
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xc38(%rbp), %rdi
callq 0x57da0
jmp 0x13100e
leaq -0xc80(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80310
jmp 0x1308de
leaq 0x1f722(%rip), %rsi     # 0x150007
leaq -0xc60(%rbp), %rdi
leaq -0xc80(%rbp), %rdx
callq 0x24f40
jmp 0x1308fa
leaq 0xb5197(%rip), %rdi     # 0x1e5a98
leaq -0xc60(%rbp), %rsi
callq 0x2cb10
movq %rax, -0x1058(%rbp)
jmp 0x130916
leaq -0xc60(%rbp), %rdi
callq 0x11360
leaq -0xc80(%rbp), %rdi
callq 0x11360
movq -0x1058(%rbp), %rax
movq -0xe18(%rbp), %rsi
movq %rax, -0xc40(%rbp)
addq $0x8, %rsi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x882f0
movq %rax, -0x1060(%rbp)
jmp 0x13095d
movq -0x1060(%rbp), %rax
movq %rax, -0xc88(%rbp)
movq -0xc88(%rbp), %rdi
leaq -0xc40(%rbp), %rsi
callq 0x7dd00
movb %al, -0x1061(%rbp)
jmp 0x130986
movb -0x1061(%rbp), %al
testb $0x1, %al
jne 0x130995
jmp 0x130a94
movq -0xe18(%rbp), %rdx
movq -0xc88(%rbp), %rdi
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0xc40(%rbp), %rsi
callq 0x7ddd0
movq %rax, -0x1070(%rbp)
jmp 0x1309c0
xorps %xmm0, %xmm0
movaps %xmm0, -0xca0(%rbp)
movq $0x0, -0xc90(%rbp)
leaq -0xca0(%rbp), %rdi
movq %rdi, -0x1078(%rbp)
callq 0x2cc30
movq -0xe18(%rbp), %rcx
movq -0xe28(%rbp), %rdi
movq -0x1070(%rbp), %rsi
movq -0x1078(%rbp), %rdx
addq $0x8, %rcx
movq -0x20(%rbp), %r8
callq 0x89e20
jmp 0x130a13
leaq -0xca0(%rbp), %rdi
callq 0x2cf10
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130a60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xc60(%rbp), %rdi
callq 0x11360
leaq -0xc80(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xca0(%rbp), %rdi
callq 0x2cf10
jmp 0x13100e
jmp 0x130d21
leaq -0xcb8(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x130aab
leaq -0xcb8(%rbp), %rdi
movq %rdi, -0x1088(%rbp)
callq 0x136940
movq -0x1088(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x1080(%rbp)
callq 0x57de0
movq -0x1080(%rbp), %rax
subq $-0x9, %rax
je 0x130bf7
jmp 0x130ae7
movq -0x1080(%rbp), %rax
subq $-0x4, %rax
jne 0x130c18
jmp 0x130afa
movq -0xe18(%rbp), %rdx
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0xd40(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x88540
jmp 0x130b1b
leaq -0xcf8(%rbp), %rdi
leaq -0xd40(%rbp), %rsi
callq 0x80310
jmp 0x130b30
leaq 0x246c2(%rip), %rsi     # 0x1551f9
leaq -0xcd8(%rbp), %rdi
leaq -0xcf8(%rbp), %rdx
callq 0x24f40
jmp 0x130b4c
movq -0xe28(%rbp), %rdi
leaq -0xcd8(%rbp), %rsi
callq 0x86d20
jmp 0x130b61
leaq -0xcd8(%rbp), %rdi
callq 0x11360
leaq -0xcf8(%rbp), %rdi
callq 0x11360
leaq -0xd40(%rbp), %rdi
callq 0x57da0
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130be6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130bda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xcd8(%rbp), %rdi
callq 0x11360
leaq -0xcf8(%rbp), %rdi
callq 0x11360
leaq -0xd40(%rbp), %rdi
callq 0x57da0
jmp 0x13100e
movq -0xe28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x130c09
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
jmp 0x130c1a
jmp 0x130d21
leaq -0xd58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80840
jmp 0x130c31
leaq -0xd58(%rbp), %rdi
movq %rdi, -0x1098(%rbp)
callq 0x136940
movq -0x1098(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x1090(%rbp)
callq 0x57de0
movq -0x1090(%rbp), %rax
subq $-0x4, %rax
jne 0x130d1b
jmp 0x130c6d
leaq -0xd79(%rbp), %rdi
movq %rdi, -0x10a0(%rbp)
callq 0x119d0
movq -0x10a0(%rbp), %rdx
leaq 0x21541(%rip), %rsi     # 0x1521cf
leaq -0xd78(%rbp), %rdi
callq 0x24740
jmp 0x130c9c
movq -0xe28(%rbp), %rdi
leaq -0xd78(%rbp), %rsi
callq 0x86d20
jmp 0x130cb1
leaq -0xd78(%rbp), %rdi
callq 0x11360
leaq -0xd79(%rbp), %rdi
callq 0x11600
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130d0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xd78(%rbp), %rdi
callq 0x11360
leaq -0xd79(%rbp), %rdi
callq 0x11600
jmp 0x13100e
jmp 0x130d1d
jmp 0x130d21
jmp 0x130d21
leaq -0xdc8(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x80310
jmp 0x130d33
leaq 0x1f2cd(%rip), %rsi     # 0x150007
leaq -0xda8(%rbp), %rdi
leaq -0xdc8(%rbp), %rdx
callq 0x24f40
jmp 0x130d4f
leaq 0xb4d42(%rip), %rdi     # 0x1e5a98
leaq -0xda8(%rbp), %rsi
callq 0x2cb10
movq %rax, -0x10a8(%rbp)
jmp 0x130d6b
leaq -0xda8(%rbp), %rdi
callq 0x11360
leaq -0xdc8(%rbp), %rdi
callq 0x11360
movq -0x10a8(%rbp), %rax
movq -0xe18(%rbp), %rdx
movq %rax, -0xd88(%rbp)
movq -0x18(%rbp), %rdi
addq $0x8, %rdx
movq -0x20(%rbp), %rcx
leaq -0xd88(%rbp), %rsi
callq 0x7ddd0
movq %rax, -0x10b0(%rbp)
jmp 0x130db9
leaq -0xe00(%rbp), %rdi
movq %rdi, -0xe08(%rbp)
leaq -0x30(%rbp), %rsi
callq 0x86d80
jmp 0x130dd2
leaq -0xe00(%rbp), %rax
movq %rax, -0xdf0(%rbp)
movq $0x1, -0xde8(%rbp)
leaq -0xe09(%rbp), %rdi
movq %rdi, -0x10b8(%rbp)
callq 0x2e2f0
movq -0x10b8(%rbp), %rcx
movq -0xdf0(%rbp), %rsi
movq -0xde8(%rbp), %rdx
leaq -0xde0(%rbp), %rdi
callq 0x8c330
jmp 0x130e21
movq -0x10b0(%rbp), %rsi
movq -0xe28(%rbp), %rdi
movq -0xe18(%rbp), %rcx
addq $0x8, %rcx
movq -0x20(%rbp), %r8
leaq -0xde0(%rbp), %rdx
callq 0x89e20
jmp 0x130e4c
leaq -0xde0(%rbp), %rdi
callq 0x2cf10
leaq -0xe09(%rbp), %rdi
callq 0x304d0
leaq -0xe00(%rbp), %rax
movq %rax, -0x10c8(%rbp)
addq $0x10, %rax
movq %rax, -0x10c0(%rbp)
movq -0x10c0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x10d0(%rbp)
callq 0x86dc0
movq -0x10c8(%rbp), %rcx
movq -0x10d0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10c0(%rbp)
jne 0x130e7d
movl $0x1, -0xb4(%rbp)
jmp 0x130fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130eef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xda8(%rbp), %rdi
callq 0x11360
leaq -0xdc8(%rbp), %rdi
callq 0x11360
jmp 0x13100e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
movq -0xe08(%rbp), %rax
leaq -0xe00(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x10d8(%rbp)
je 0x130f5d
movq -0x10d8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x10e0(%rbp)
callq 0x86dc0
movq -0x10e0(%rbp), %rax
leaq -0xe00(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x10d8(%rbp)
jne 0x130f2c
jmp 0x13100e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x130f94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xde0(%rbp), %rdi
callq 0x2cf10
leaq -0xe09(%rbp), %rdi
callq 0x304d0
leaq -0xe00(%rbp), %rax
movq %rax, -0x10f0(%rbp)
addq $0x10, %rax
movq %rax, -0x10e8(%rbp)
movq -0x10e8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x10f8(%rbp)
callq 0x86dc0
movq -0x10f0(%rbp), %rcx
movq -0x10f8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10e8(%rbp)
jne 0x130fb9
jmp 0x13100e
leaq -0x78(%rbp), %rdi
callq 0x57da0
leaq -0x30(%rbp), %rdi
callq 0x86dc0
movq -0xe20(%rbp), %rax
addq $0x1100, %rsp           # imm = 0x1100
popq %rbp
retq
leaq -0x78(%rbp), %rdi
callq 0x57da0
leaq -0x30(%rbp), %rdi
callq 0x86dc0
movq -0x90(%rbp), %rdi
callq 0x119c0
movq %rax, %rdi
callq 0x24b70
nopw %cs:(%rax,%rax)