// File: /workspace/github_cpp_makefile_star2_O2/Nallantli[P]Rossa/main/rossa/tokenizer/tokenizer.cpp
// Function: getToken(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long&, unsigned long&, unsigned long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
const int getToken(
	const std::string &INPUT,
	size_t &INPUT_INDEX,
	size_t &LINE_INDEX,
	size_t &TOKEN_DIST,
	std::string &ID_STRING)
{
	static int last;
	while (isspace(last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST)))
		;

	if (isalpha(last) || last == '_')
	{
		ID_STRING = last;
		while (isalnum(peekChar(0, INPUT, INPUT_INDEX)) || peekChar(0, INPUT, INPUT_INDEX) == '_')
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			ID_STRING += last;
		}

		if (ID_STRING == KEYWORD_THEN)
			return TOK_THEN;
		else if (ID_STRING == KEYWORD_ELSE)
			return TOK_ELSE;
		else if (ID_STRING == KEYWORD_DO)
			return TOK_DO;
		else if (ID_STRING == KEYWORD_IN)
			return TOK_IN;
		else if (ID_STRING == KEYWORD_OF)
			return TOK_OF;
		else if (ID_STRING == KEYWORD_VAR)
			return TOK_VAR;
		else if (ID_STRING == KEYWORD_IF)
			return TOK_IF;
		else if (ID_STRING == KEYWORD_WHILE)
			return TOK_WHILE;
		else if (ID_STRING == KEYWORD_ELIF)
			return TOK_ELSEIF;
		else if (ID_STRING == KEYWORD_FOR)
			return TOK_FOR;
		else if (ID_STRING == KEYWORD_TRUE)
			return TOK_TRUE;
		else if (ID_STRING == KEYWORD_FALSE)
			return TOK_FALSE;
		else if (ID_STRING == KEYWORD_RETURN)
			return TOK_RETURN;
		else if (ID_STRING == KEYWORD_NIL)
			return TOK_NIL;
		else if (ID_STRING == KEYWORD_NUMBER)
			return TOK_NUMBER;
		else if (ID_STRING == KEYWORD_STRING)
			return TOK_STRING;
		else if (ID_STRING == KEYWORD_ARRAY)
			return TOK_ARRAY;
		else if (ID_STRING == KEYWORD_BOOLEAN)
			return TOK_BOOLEAN;
		else if (ID_STRING == KEYWORD_DICTIONARY)
			return TOK_DICTIONARY;
		else if (ID_STRING == KEYWORD_OBJECT)
			return TOK_OBJECT;
		else if (ID_STRING == KEYWORD_FUNCTION)
			return TOK_FUNCTION;
		else if (ID_STRING == KEYWORD_TYPE)
			return TOK_TYPE_NAME;
		else if (ID_STRING == KEYWORD_EXTERN)
			return TOK_EXTERN;
		else if (ID_STRING == KEYWORD_EXTERN_CALL)
			return TOK_EXTERN_CALL;
		else if (ID_STRING == KEYWORD_LENGTH)
			return TOK_LENGTH;
		else if (ID_STRING == KEYWORD_STRUCT)
			return TOK_STRUCT;
		else if (ID_STRING == KEYWORD_STATIC)
			return TOK_STATIC;
		else if (ID_STRING == KEYWORD_ENUM)
			return TOK_ENUM;
		else if (ID_STRING == KEYWORD_NEW)
			return TOK_NEW;
		else if (ID_STRING == KEYWORD_LOAD)
			return TOK_LOAD;
		else if (ID_STRING == KEYWORD_ALLOC)
			return TOK_ALLOC;
		else if (ID_STRING == KEYWORD_REF)
			return TOK_REF;
		else if (ID_STRING == KEYWORD_BREAK)
			return TOK_BREAK;
		else if (ID_STRING == KEYWORD_REFER)
			return TOK_REFER;
		else if (ID_STRING == KEYWORD_NIL_NAME)
			return TOK_NIL_NAME;
		else if (ID_STRING == KEYWORD_POINTER)
			return TOK_POINTER;
		else if (ID_STRING == KEYWORD_VIRTUAL)
			return TOK_VIRTUAL;
		else if (ID_STRING == KEYWORD_SWITCH)
			return TOK_SWITCH;
		else if (ID_STRING == KEYWORD_TRY)
			return TOK_TRY;
		else if (ID_STRING == KEYWORD_CATCH)
			return TOK_CATCH;
		else if (ID_STRING == KEYWORD_THROW)
			return TOK_THROW;
		else if (ID_STRING == KEYWORD_CHAR_N)
			return TOK_CHARN;
		else if (ID_STRING == KEYWORD_CHAR_S)
			return TOK_CHARS;
		else if (ID_STRING == KEYWORD_CASE)
			return TOK_CASE;
		else if (ID_STRING == KEYWORD_PARSE)
			return TOK_PARSE;
		else if (ID_STRING == KEYWORD_CONTINUE)
			return TOK_CONTINUE;
		else if (ID_STRING == KEYWORD_CALL_OP)
			return TOK_CALL_OP;
		else if (ID_STRING == KEYWORD_ANY)
			return TOK_ANY;
		else if (ID_STRING == KEYWORD_CONST)
			return TOK_CONST;
		else if (ID_STRING == KEYWORD_EACH)
			return TOK_EACH;
		else if (ID_STRING == KEYWORD_WHERE)
			return TOK_WHERE;
		else if (ID_STRING == KEYWORD_DEF)
			return TOK_DEF;
		else if (ID_STRING == "inf")
		{
			return TOK_NUM;
		}
		else if (ID_STRING == "nan")
		{
			return TOK_NUM;
		}
		else if (BINARY_OPERATORS.find(ID_STRING) != BINARY_OPERATORS.end() || UNARY_OPERATORS.find(ID_STRING) != UNARY_OPERATORS.end())
			return TOK_OPR;

		return TOK_IDF;
	}
	else if (isdigit(last) || (last == '.' && isdigit(peekChar(0, INPUT, INPUT_INDEX))))
	{
		if (last == '0' && isalpha(peekChar(0, INPUT, INPUT_INDEX)))
		{
			char base = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			std::string numStr = "";
			while (isalnum(peekChar(0, INPUT, INPUT_INDEX)))
			{
				last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
				numStr += last;
			}
			ID_STRING = "0" + std::string(1, base) + numStr;
			return TOK_NUM;
		}

		std::string numStr = std::string(1, last);
		bool flag = false;
		while (isdigit(peekChar(0, INPUT, INPUT_INDEX)) || (peekChar(0, INPUT, INPUT_INDEX) == '.' && isdigit(peekChar(1, INPUT, INPUT_INDEX))))
		{
			if (flag && peekChar(0, INPUT, INPUT_INDEX) == '.')
				break;
			if (!flag)
				flag = last == '.';
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			numStr += last;
		}

		ID_STRING = numStr;
		return TOK_NUM;
	}
	else if (last == '#')
	{
		std::string commentStr = "";
		do
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			commentStr += last;
		} while (last != EOF && last != '\n' && last != '\r');

		ID_STRING = commentStr;
		return '#';
	}
	else if (last == EOF || last == 0)
		return TOK_EOF;
	else if (BINARY_OPERATORS.find(std::string(1, last)) != BINARY_OPERATORS.end())
	{
		std::string opStr = std::string(1, last);
		while (BINARY_OPERATORS.find(opStr + peekChar(0, INPUT, INPUT_INDEX)) != BINARY_OPERATORS.end())
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			opStr += last;
		}

		ID_STRING = opStr;
		if (ID_STRING == ".")
			return TOK_INNER;
		if (ID_STRING == "..")
			return TOK_UNTILF;
		if (ID_STRING == "<>")
			return TOK_UNTILT;
		if (ID_STRING == "...")
			return TOK_VAR_ARGS;
		if (ID_STRING == "|>")
			return TOK_NO_PARAM_LAMBDA;
		if (ID_STRING == ":")
			return ':';
		return TOK_OPR;
	}
	else if (UNARY_OPERATORS.find(std::string(1, last)) != UNARY_OPERATORS.end())
	{
		std::string opStr = std::string(1, last);
		while (UNARY_OPERATORS.find(opStr + peekChar(0, INPUT, INPUT_INDEX)) != UNARY_OPERATORS.end())
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			opStr += last;
		}

		ID_STRING = opStr;
		return TOK_OPR;
	}
	else if (last == '`')
	{
		std::string value = "";
		while (true)
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			if (last == '`')
			{
				ID_STRING = value;
				return TOK_IDF;
			}
			value += last;
		}
	}
	else if (last == '"')
	{
		std::string value = "";
		while (true)
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			if (last == '"')
			{
				ID_STRING = value;
				return TOK_STR_LIT;
			}
			else if (last == '\\')
			{
				switch (last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST))
				{
				case '"':
					last = '"';
					break;
				case '\'':
					last = '\'';
					break;
				case 'n':
					last = '\n';
					break;
				case '?':
					last = '\?';
					break;
				case 'a':
					last = '\a';
					break;
				case 'b':
					last = '\b';
					break;
				case 'f':
					last = '\f';
					break;
				case 'r':
					last = '\r';
					break;
				case 't':
					last = '\t';
					break;
				case 'v':
					last = '\v';
					break;
				case '0':
					last = '\0';
					break;
				case 'x':
				{
					std::string code = std::string({nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST)});
					char hex = std::stoul(code, nullptr, 16);
					last = hex;
					break;
				}
				case 'u':
				{
					std::string code = std::string({nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST)});
					char hex = std::stoul(code, nullptr, 16);
					last = hex;
					break;
				}
				}
			}
			value += last;
		}
	}
	else if (last == '\'')
	{
		std::string value = "";
		while (true)
		{
			last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST);
			if (last == '\'')
			{
				if (value.size() < 1)
					value = std::string(1, 0);
				ID_STRING = value;
				return TOK_NUM;
			}
			else if (last == '\\')
			{
				switch (last = nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST))
				{
				case '"':
					last = '"';
					break;
				case '\'':
					last = '\'';
					break;
				case 'n':
					last = '\n';
					break;
				case '?':
					last = '\?';
					break;
				case 'a':
					last = '\a';
					break;
				case 'b':
					last = '\b';
					break;
				case 'f':
					last = '\f';
					break;
				case 'r':
					last = '\r';
					break;
				case 't':
					last = '\t';
					break;
				case 'v':
					last = '\v';
					break;
				case '0':
					last = '\0';
					break;
				case 'x':
				{
					std::string code = std::string({nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST)});
					char hex = std::stoul(code, nullptr, 16);
					last = hex;
					break;
				}
				case 'u':
				{
					std::string code = std::string({nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST), nextChar(INPUT, INPUT_INDEX, LINE_INDEX, TOKEN_DIST)});
					char hex = std::stoul(code, nullptr, 16);
					last = hex;
					break;
				}
				}
			}
			value += last;
		}
	}

	int ret = last;
	ID_STRING = last;
	return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %r8, 0x8(%rsp)
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movl %eax, %ebx
movsbl %al, %ebp
movl %ebp, 0x96437(%rip)     # 0xb6a90
movl %ebp, %edi
callq 0x10060
testl %eax, %eax
jne 0x2063d
movl %ebp, %edi
callq 0x10640
cmpb $0x5f, %bpl
je 0x20726
testl %eax, %eax
jne 0x20726
leal -0x30(%rbp), %eax
cmpl $0xa, %eax
jae 0x207c4
cmpb $0x30, %bl
jne 0x207fb
movq (%r12), %rax
xorl %edi, %edi
cmpq 0x8(%r13), %rax
jae 0x206a6
movq (%r13), %rcx
movsbl (%rcx,%rax), %edi
callq 0x10640
testl %eax, %eax
je 0x207fb
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movl %eax, %ebx
leaq 0x55ae1(%rip), %rsi     # 0x761ae
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x1c814
leaq 0x18(%rsp), %rbp
movq (%r12), %rax
xorl %edi, %edi
cmpq 0x8(%r13), %rax
jae 0x206f5
movq (%r13), %rcx
movsbl (%rcx,%rax), %edi
callq 0x103f0
testl %eax, %eax
je 0x20a28
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x96374(%rip)     # 0xb6a90
movq %rbp, %rdi
callq 0x10340
jmp 0x206e1
movq 0x8(%rsp), %rdi
movl %ebp, %esi
callq 0x106a0
movq (%r12), %rbx
movq 0x8(%r13), %rbp
xorl %edi, %edi
cmpq %rbp, %rbx
jae 0x20749
movq (%r13), %rax
movsbl (%rax,%rbx), %edi
callq 0x103f0
testl %eax, %eax
jne 0x20761
cmpq %rbp, %rbx
jae 0x20787
movq (%r13), %rax
cmpb $0x5f, (%rax,%rbx)
jne 0x20787
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x96315(%rip)     # 0xb6a90
movq 0x8(%rsp), %rdi
callq 0x10340
jmp 0x20732
leaq 0x55d86(%rip), %rsi     # 0x76514
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x207a6
pushq $-0xc
jmp 0x20aa8
leaq 0x55d6c(%rip), %rsi     # 0x76519
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x208ab
pushq $-0x6
jmp 0x20aa8
cmpb $0x23, %bl
je 0x208c9
movzbl %bl, %eax
cmpl $0x2e, %eax
jne 0x2093d
movq (%r12), %rax
cmpq 0x8(%r13), %rax
jae 0x2094c
movq (%r13), %rcx
movsbl (%rcx,%rax), %eax
addl $-0x30, %eax
cmpl $0xa, %eax
jae 0x2094c
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x18(%rsp), %rdi
pushq $0x1
popq %rsi
movl %ebp, %edx
callq 0x104b0
xorl %ebx, %ebx
leaq 0x18(%rsp), %rbp
movq (%r12), %rax
movq 0x8(%r13), %rcx
cmpq %rcx, %rax
jae 0x20897
movq (%r13), %rdx
movsbl (%rdx,%rax), %esi
movl %esi, %edi
addl $-0x30, %edi
cmpl $0xa, %edi
jae 0x20846
cmpb $0x2e, %sil
sete %al
testb %al, %bl
je 0x20867
jmp 0x20897
cmpb $0x2e, %sil
jne 0x20897
incq %rax
cmpq %rcx, %rax
jae 0x20897
movsbl (%rdx,%rax), %eax
addl $-0x3a, %eax
cmpl $-0xa, %eax
setb %al
orb %bl, %al
testb $0x1, %al
jne 0x20897
cmpl $0x2e, 0x96222(%rip)    # 0xb6a90
sete %al
orb %al, %bl
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x96203(%rip)     # 0xb6a90
movq %rbp, %rdi
callq 0x10340
jmp 0x2081a
leaq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x10220
jmp 0x20a9c
leaq 0x55c6c(%rip), %rsi     # 0x7651e
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20aed
pushq $-0xa
jmp 0x20aa8
leaq 0x558de(%rip), %rsi     # 0x761ae
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x1c814
leaq 0x18(%rsp), %rbx
movl $0x4801, %ebp           # imm = 0x4801
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x9618d(%rip)     # 0xb6a90
movq %rbx, %rdi
callq 0x10340
movl 0x9617f(%rip), %eax     # 0xb6a90
incl %eax
cmpl $0xe, %eax
ja 0x208e9
btl %eax, %ebp
jae 0x208e9
leaq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x10220
leaq 0x18(%rsp), %rdi
callq 0x101d0
pushq $0x23
jmp 0x20aa8
leal 0x1(%rbp), %eax
cmpl $0x2, %eax
jae 0x2094c
pushq $-0x1
jmp 0x20aa8
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x18(%rsp), %rdi
pushq $0x1
popq %rsi
movl %ebp, %edx
callq 0x104b0
leaq 0x960c5(%rip), %rdi     # 0xb6a30
leaq 0x18(%rsp), %rsi
callq 0x220d0
movq %rax, %rbx
leaq 0x960b9(%rip), %rbp     # 0xb6a38
leaq 0x18(%rsp), %rdi
callq 0x101d0
cmpq %rbp, %rbx
je 0x20b08
movsbl 0x960f7(%rip), %edx     # 0xb6a90
leaq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
movq %rax, (%rdi)
pushq $0x1
popq %rsi
callq 0x104b0
leaq 0x38(%rsp), %rbp
movq (%r12), %rax
cmpq 0x8(%r13), %rax
jae 0x209c6
movq (%r13), %rcx
movb (%rcx,%rax), %al
jmp 0x209c8
xorl %eax, %eax
movsbl %al, %edx
movq %rbp, %rdi
leaq 0x18(%rsp), %rsi
callq 0x21f98
leaq 0x96051(%rip), %rdi     # 0xb6a30
movq %rbp, %rsi
callq 0x220d0
movq %rax, %rbx
movq %rbp, %rdi
callq 0x101d0
leaq 0x9603f(%rip), %rax     # 0xb6a38
cmpq %rax, %rbx
je 0x20abd
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x96074(%rip)     # 0xb6a90
leaq 0x18(%rsp), %rdi
callq 0x10340
jmp 0x209b3
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
movsbl %bl, %edx
leaq 0x58(%rsp), %rdi
pushq $0x1
popq %rsi
callq 0x104b0
leaq 0x59d96(%rip), %rsi     # 0x7a7de
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x1ca9c
movq 0x8(%rsp), %r14
leaq 0x38(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x18(%rsp), %rdx
callq 0x21f79
leaq 0x38(%rsp), %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x104e0
movq %rbx, %rdi
callq 0x101d0
leaq 0x78(%rsp), %rdi
callq 0x101d0
leaq 0x58(%rsp), %rdi
callq 0x101d0
leaq 0x18(%rsp), %rdi
callq 0x101d0
pushq $-0x3
popq %rbp
movl %ebp, %eax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x10220
leaq 0x558c0(%rip), %rsi     # 0x76396
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20be4
pushq $-0x27
jmp 0x20d2d
leaq 0x55a2d(%rip), %rsi     # 0x76521
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20bfe
pushq $-0x8
jmp 0x20aa8
movsbl 0x95f81(%rip), %edx     # 0xb6a90
leaq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
movq %rax, (%rdi)
pushq $0x1
popq %rsi
callq 0x104b0
leaq 0x95f35(%rip), %rdi     # 0xb6a60
leaq 0x18(%rsp), %rsi
callq 0x220d0
movq %rax, %rbx
leaq 0x95f29(%rip), %rbp     # 0xb6a68
leaq 0x18(%rsp), %rdi
callq 0x101d0
cmpq %rbp, %rbx
je 0x20c74
movsbl 0x95f37(%rip), %edx     # 0xb6a90
leaq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
movq %rax, (%rdi)
pushq $0x1
popq %rsi
callq 0x104b0
leaq 0x38(%rsp), %rbp
movq (%r12), %rax
cmpq 0x8(%r13), %rax
jae 0x20b86
movq (%r13), %rcx
movb (%rcx,%rax), %al
jmp 0x20b88
xorl %eax, %eax
movsbl %al, %edx
movq %rbp, %rdi
leaq 0x18(%rsp), %rsi
callq 0x21f98
leaq 0x95ec1(%rip), %rdi     # 0xb6a60
movq %rbp, %rsi
callq 0x220d0
movq %rax, %rbx
movq %rbp, %rdi
callq 0x101d0
leaq 0x95eaf(%rip), %rax     # 0xb6a68
cmpq %rax, %rbx
je 0x20c18
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x95eb8(%rip)     # 0xb6a90
leaq 0x18(%rsp), %rdi
callq 0x10340
jmp 0x20b73
leaq 0x557aa(%rip), %rsi     # 0x76395
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20c38
pushq $-0x38
jmp 0x20d2d
leaq 0x5591f(%rip), %rsi     # 0x76524
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20c56
pushq $-0x24
jmp 0x20aa8
leaq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x10220
leaq 0x18(%rsp), %rdi
callq 0x101d0
pushq $-0x4
jmp 0x20aa8
leaq 0x553fa(%rip), %rsi     # 0x76039
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20ce3
pushq $-0x37
jmp 0x20d2d
leaq 0x558ca(%rip), %rsi     # 0x76527
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20cfa
pushq $-0x9
jmp 0x20aa8
movl 0x95e16(%rip), %ebp     # 0xb6a90
cmpl $0x22, %ebp
je 0x20fdb
cmpl $0x27, %ebp
je 0x20d5b
cmpl $0x60, %ebp
jne 0x2125b
leaq 0x55512(%rip), %rsi     # 0x761ae
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x1c814
leaq 0x18(%rsp), %rbx
movq 0x8(%rsp), %rbp
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %esi
movl %esi, 0x95dc1(%rip)     # 0xb6a90
cmpb $0x60, %sil
je 0x2126e
movq %rbx, %rdi
callq 0x10340
jmp 0x20cb5
leaq 0x556aa(%rip), %rsi     # 0x76394
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20d14
pushq $-0x3d
jmp 0x20d2d
leaq 0x55832(%rip), %rsi     # 0x76533
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x20d3d
pushq $-0x5
jmp 0x20aa8
leaq 0x5536b(%rip), %rsi     # 0x76086
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x212fc
pushq $-0x3c
popq %rbp
leaq 0x18(%rsp), %rdi
callq 0x101d0
jmp 0x20aa9
leaq 0x557e7(%rip), %rsi     # 0x7652b
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x2131b
pushq $-0xb
jmp 0x20aa8
leaq 0x5544c(%rip), %rsi     # 0x761ae
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x1c814
leaq 0x55744(%rip), %rbx     # 0x764bc
leaq 0x18(%rsp), %rbp
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %ecx
movl %ecx, 0x95cf9(%rip)     # 0xb6a90
cmpb $0x5c, %al
je 0x20db8
movzbl %al, %eax
cmpl $0x27, %eax
je 0x2128c
movsbl 0x95ce2(%rip), %esi     # 0xb6a90
movq %rbp, %rdi
callq 0x10340
jmp 0x20d7d
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %eax
movl %eax, 0x95cbe(%rip)     # 0xb6a90
movzbl %al, %eax
leal -0x6e(%rax), %ecx
cmpl $0xa, %ecx
jbe 0x20e24
cmpl $0x66, %eax
je 0x20fb1
cmpl $0x27, %eax
je 0x20fcc
cmpl $0x30, %eax
je 0x20fc0
cmpl $0x3f, %eax
je 0x20f84
cmpl $0x61, %eax
je 0x20fa2
cmpl $0x62, %eax
je 0x20f93
cmpl $0x22, %eax
jne 0x20da7
movl $0x22, 0x95c6e(%rip)    # 0xb6a90
jmp 0x20da7
movslq (%rbx,%rcx,4), %rax
addq %rbx, %rax
jmpq *%rax
movl $0xa, 0x95c59(%rip)     # 0xb6a90
jmp 0x20da7
movl $0xb, 0x95c4a(%rip)     # 0xb6a90
jmp 0x20da7
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movl %eax, %ebx
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
leaq 0x48(%rsp), %rcx
movq %rcx, 0x38(%rsp)
movzbl %al, %eax
shll $0x8, %eax
movzbl %bl, %ecx
orl %eax, %ecx
movw %cx, 0x48(%rsp)
movq $0x2, 0x40(%rsp)
movb $0x0, 0x4a(%rsp)
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
pushq $0x10
popq %rdx
callq 0x21fce
jmp 0x20f67
movl $0x9, 0x95bd8(%rip)     # 0xb6a90
jmp 0x20da7
movl $0xd, 0x95bc9(%rip)     # 0xb6a90
jmp 0x20da7
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movb %al, 0x17(%rsp)
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movb %al, 0x16(%rsp)
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movl %eax, %ebx
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
leaq 0x48(%rsp), %rcx
movq %rcx, 0x38(%rsp)
movzbl %al, %eax
shll $0x18, %eax
movzbl %bl, %ecx
shll $0x10, %ecx
orl %eax, %ecx
movzbl 0x16(%rsp), %eax
shll $0x8, %eax
orl %ecx, %eax
movzbl 0x17(%rsp), %ecx
orl %eax, %ecx
movl %ecx, 0x48(%rsp)
movq $0x4, 0x40(%rsp)
movb $0x0, 0x4c(%rsp)
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
pushq $0x10
popq %rdx
callq 0x21fce
movsbl %al, %eax
movl %eax, 0x95b20(%rip)     # 0xb6a90
movq %rbx, %rdi
callq 0x101d0
leaq 0x5553d(%rip), %rbx     # 0x764bc
jmp 0x20da7
movl $0x3f, 0x95b02(%rip)    # 0xb6a90
jmp 0x20da7
movl $0x8, 0x95af3(%rip)     # 0xb6a90
jmp 0x20da7
movl $0x7, 0x95ae4(%rip)     # 0xb6a90
jmp 0x20da7
movl $0xc, 0x95ad5(%rip)     # 0xb6a90
jmp 0x20da7
andl $0x0, 0x95ac9(%rip)     # 0xb6a90
jmp 0x20da7
movl $0x27, 0x95aba(%rip)    # 0xb6a90
jmp 0x20da7
leaq 0x551cc(%rip), %rsi     # 0x761ae
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x1c814
leaq 0x554f0(%rip), %rbx     # 0x764e8
leaq 0x18(%rsp), %rbp
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %ecx
movl %ecx, 0x95a79(%rip)     # 0xb6a90
cmpb $0x5c, %al
je 0x21038
movzbl %al, %eax
cmpl $0x22, %eax
je 0x212dc
movsbl 0x95a62(%rip), %esi     # 0xb6a90
movq %rbp, %rdi
callq 0x10340
jmp 0x20ffd
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movsbl %al, %eax
movl %eax, 0x95a3e(%rip)     # 0xb6a90
movzbl %al, %eax
leal -0x6e(%rax), %ecx
cmpl $0xa, %ecx
jbe 0x210a4
cmpl $0x66, %eax
je 0x21231
cmpl $0x27, %eax
je 0x2124c
cmpl $0x30, %eax
je 0x21240
cmpl $0x3f, %eax
je 0x21204
cmpl $0x61, %eax
je 0x21222
cmpl $0x62, %eax
je 0x21213
cmpl $0x22, %eax
jne 0x21027
movl $0x22, 0x959ee(%rip)    # 0xb6a90
jmp 0x21027
movslq (%rbx,%rcx,4), %rax
addq %rbx, %rax
jmpq *%rax
movl $0xa, 0x959d9(%rip)     # 0xb6a90
jmp 0x21027
movl $0xb, 0x959ca(%rip)     # 0xb6a90
jmp 0x21027
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movl %eax, %ebx
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
leaq 0x48(%rsp), %rcx
movq %rcx, 0x38(%rsp)
movzbl %al, %eax
shll $0x8, %eax
movzbl %bl, %ecx
orl %eax, %ecx
movw %cx, 0x48(%rsp)
movq $0x2, 0x40(%rsp)
movb $0x0, 0x4a(%rsp)
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
pushq $0x10
popq %rdx
callq 0x21fce
jmp 0x211e7
movl $0x9, 0x95958(%rip)     # 0xb6a90
jmp 0x21027
movl $0xd, 0x95949(%rip)     # 0xb6a90
jmp 0x21027
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movb %al, 0x17(%rsp)
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movb %al, 0x16(%rsp)
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
movl %eax, %ebx
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x205f6
leaq 0x48(%rsp), %rcx
movq %rcx, 0x38(%rsp)
movzbl %al, %eax
shll $0x18, %eax
movzbl %bl, %ecx
shll $0x10, %ecx
orl %eax, %ecx
movzbl 0x16(%rsp), %eax
shll $0x8, %eax
orl %ecx, %eax
movzbl 0x17(%rsp), %ecx
orl %eax, %ecx
movl %ecx, 0x48(%rsp)
movq $0x4, 0x40(%rsp)
movb $0x0, 0x4c(%rsp)
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
pushq $0x10
popq %rdx
callq 0x21fce
movsbl %al, %eax
movl %eax, 0x958a0(%rip)     # 0xb6a90
movq %rbx, %rdi
callq 0x101d0
leaq 0x552e9(%rip), %rbx     # 0x764e8
jmp 0x21027
movl $0x3f, 0x95882(%rip)    # 0xb6a90
jmp 0x21027
movl $0x8, 0x95873(%rip)     # 0xb6a90
jmp 0x21027
movl $0x7, 0x95864(%rip)     # 0xb6a90
jmp 0x21027
movl $0xc, 0x95855(%rip)     # 0xb6a90
jmp 0x21027
andl $0x0, 0x95849(%rip)     # 0xb6a90
jmp 0x21027
movl $0x27, 0x9583a(%rip)    # 0xb6a90
jmp 0x21027
movsbl %bpl, %esi
movq 0x8(%rsp), %rdi
callq 0x106a0
jmp 0x20aa9
leaq 0x18(%rsp), %rsi
movq %rbp, %rdi
callq 0x10220
leaq 0x18(%rsp), %rdi
callq 0x101d0
pushq $-0x2
jmp 0x20aa8
cmpq $0x0, 0x20(%rsp)
movq 0x8(%rsp), %r14
jne 0x212ca
leaq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
movq %rax, (%rdi)
pushq $0x1
popq %rsi
xorl %edx, %edx
callq 0x104b0
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rbx
movq %rbx, %rsi
callq 0x104e0
movq %rbx, %rdi
callq 0x101d0
leaq 0x18(%rsp), %rsi
movq %r14, %rdi
callq 0x10220
jmp 0x20a9c
leaq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x10220
leaq 0x18(%rsp), %rdi
callq 0x101d0
pushq $-0x12
jmp 0x20aa8
leaq 0x594b3(%rip), %rsi     # 0x7a7b6
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
pushq $0x3a
popq %rax
pushq $-0x4
popq %rbp
cmovnel %eax, %ebp
jmp 0x20d2e
leaq 0x5520f(%rip), %rsi     # 0x76531
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x21335
pushq $-0x7
jmp 0x20aa8
leaq 0x551fa(%rip), %rsi     # 0x76536
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x2134f
pushq $-0xd
jmp 0x20aa8
leaq 0x54d35(%rip), %rsi     # 0x7608b
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x21369
pushq $-0x10
jmp 0x20aa8
leaq 0x54e6c(%rip), %rsi     # 0x761dc
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x21383
pushq $-0xf
jmp 0x20aa8
leaq 0x56c79(%rip), %rsi     # 0x78003
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x2139d
pushq $-0x11
jmp 0x20aa8
leaq 0x5652b(%rip), %rsi     # 0x778cf
movq %rbx, %rdi
callq 0x1c7a0
testb %al, %al
je 0x213b7
pushq $-0x13
jmp 0x20aa8
leaq 0x593ec(%rip), %rsi     # 0x7a7aa
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x213d3
pushq $-0x15
jmp 0x20aa8
leaq 0x59421(%rip), %rsi     # 0x7a7fb
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x213ef
pushq $-0x16
jmp 0x20aa8
leaq 0x55144(%rip), %rsi     # 0x7653a
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2140b
pushq $-0x17
jmp 0x20aa8
leaq 0x5512e(%rip), %rsi     # 0x76540
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21427
pushq $-0x18
jmp 0x20aa8
leaq 0x5511a(%rip), %rsi     # 0x76548
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21443
pushq $-0x21
jmp 0x20aa8
leaq 0x59335(%rip), %rsi     # 0x7a77f
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2145f
pushq $-0x22
jmp 0x20aa8
leaq 0x550ed(%rip), %rsi     # 0x76553
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2147b
pushq $-0x23
jmp 0x20aa8
leaq 0x550da(%rip), %rsi     # 0x7655c
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21497
pushq $-0x20
jmp 0x20aa8
leaq 0x550c3(%rip), %rsi     # 0x76561
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x214b3
pushq $-0x14
jmp 0x20aa8
leaq 0x550ae(%rip), %rsi     # 0x76568
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x214cf
pushq $-0x19
jmp 0x20aa8
leaq 0x54e92(%rip), %rsi     # 0x76368
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x214eb
pushq $-0x1a
jmp 0x20aa8
leaq 0x55082(%rip), %rsi     # 0x76574
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21507
pushq $-0x1d
jmp 0x20aa8
leaq 0x5506d(%rip), %rsi     # 0x7657b
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21523
pushq $-0x1e
jmp 0x20aa8
leaq 0x55058(%rip), %rsi     # 0x76582
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2153f
pushq $-0x1c
jmp 0x20aa8
leaq 0x55041(%rip), %rsi     # 0x76587
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2155b
pushq $-0x1f
jmp 0x20aa8
leaq 0x55029(%rip), %rsi     # 0x7658b
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21577
pushq $-0x25
jmp 0x20aa8
leaq 0x55012(%rip), %rsi     # 0x76590
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21593
pushq $-0x26
jmp 0x20aa8
leaq 0x54ffc(%rip), %rsi     # 0x76596
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x215af
pushq $-0x28
jmp 0x20aa8
leaq 0x54fe4(%rip), %rsi     # 0x7659a
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x215cb
pushq $-0x2b
jmp 0x20aa8
leaq 0x54fce(%rip), %rsi     # 0x765a0
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x215e7
pushq $-0x2c
jmp 0x20aa8
leaq 0x54fb8(%rip), %rsi     # 0x765a6
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21603
pushq $-0x2d
jmp 0x20aa8
leaq 0x54fa0(%rip), %rsi     # 0x765aa
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2161f
pushq $-0x2e
jmp 0x20aa8
leaq 0x54f8c(%rip), %rsi     # 0x765b2
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2163b
pushq $-0x2f
jmp 0x20aa8
leaq 0x54f78(%rip), %rsi     # 0x765ba
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21657
pushq $-0x30
jmp 0x20aa8
leaq 0x54f63(%rip), %rsi     # 0x765c1
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21673
pushq $-0x31
jmp 0x20aa8
leaq 0x54f4b(%rip), %rsi     # 0x765c5
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2168f
pushq $-0x32
jmp 0x20aa8
leaq 0x54f35(%rip), %rsi     # 0x765cb
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x216ab
pushq $-0x33
jmp 0x20aa8
leaq 0x54f1f(%rip), %rsi     # 0x765d1
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x216c7
pushq $-0x34
jmp 0x20aa8
leaq 0x54f09(%rip), %rsi     # 0x765d7
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x216e3
pushq $-0x35
jmp 0x20aa8
leaq 0x54ef3(%rip), %rsi     # 0x765dd
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x216ff
pushq $-0x29
jmp 0x20aa8
leaq 0x54edc(%rip), %rsi     # 0x765e2
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2171b
pushq $-0x39
jmp 0x20aa8
leaq 0x54ec6(%rip), %rsi     # 0x765e8
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21737
pushq $-0x3a
jmp 0x20aa8
leaq 0x54eb3(%rip), %rsi     # 0x765f1
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x21753
pushq $-0x3b
jmp 0x20aa8
leaq 0x54ea0(%rip), %rsi     # 0x765fa
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2176f
pushq $-0x1b
jmp 0x20aa8
leaq 0x54e88(%rip), %rsi     # 0x765fe
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x2178b
pushq $-0x3e
jmp 0x20aa8
leaq 0x54e72(%rip), %rsi     # 0x76604
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x217a7
pushq $-0x2a
jmp 0x20aa8
leaq 0x54e5b(%rip), %rsi     # 0x76609
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x217c3
pushq $-0x3f
jmp 0x20aa8
leaq 0x54e45(%rip), %rsi     # 0x7660f
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
je 0x217df
pushq $-0xe
jmp 0x20aa8
leaq 0x54e2c(%rip), %rsi     # 0x76612
movq 0x8(%rsp), %rdi
callq 0x1c7a0
pushq $-0x3
popq %rbp
testb %al, %al
jne 0x20aa9
leaq 0x54e14(%rip), %rsi     # 0x76616
movq 0x8(%rsp), %rdi
callq 0x1c7a0
testb %al, %al
jne 0x20aa9
leaq 0x95215(%rip), %rdi     # 0xb6a30
movq 0x8(%rsp), %rsi
callq 0x220d0
leaq 0x9520c(%rip), %rcx     # 0xb6a38
cmpq %rcx, %rax
jne 0x20c31
leaq 0x95224(%rip), %rdi     # 0xb6a60
movq 0x8(%rsp), %rsi
callq 0x220d0
leaq 0x9521b(%rip), %rcx     # 0xb6a68
xorl %ebp, %ebp
cmpq %rcx, %rax
sete %bpl
addl %ebp, %ebp
orl $-0x4, %ebp
jmp 0x20aa9
jmp 0x218d1
jmp 0x218d1
jmp 0x218d1
jmp 0x218d1
jmp 0x218ab
jmp 0x218ab
jmp 0x218ab
jmp 0x218c2
jmp 0x218c2
jmp 0x218c2
jmp 0x218c2
jmp 0x218d1
jmp 0x218ab
jmp 0x218d1
jmp 0x218ab
jmp 0x218d1
jmp 0x218ab
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x101d0
jmp 0x21894
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
jmp 0x218ca
jmp 0x218d1
jmp 0x218ab
jmp 0x218d1
jmp 0x218ab
jmp 0x218d1
jmp 0x218ab
jmp 0x218d1
jmp 0x218d1
movq %rax, %rbx
jmp 0x218de
jmp 0x218d1
jmp 0x218d1
jmp 0x218d1
jmp 0x218d1
jmp 0x218c2
jmp 0x218d1
jmp 0x218d1
jmp 0x218d1
jmp 0x218d1
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x101d0
jmp 0x218d4
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x101d0
movq %rbx, %rdi
callq 0x106f0