// File: /workspace/github_cpp_makefile_star2_O1/pranavmodx[P]modlang/src/lexer.cpp
// Function: Lexer::nextToken()
Token Lexer::nextToken()
{
	Token token;

	skipWhitespace();

	switch (curChar)
	{
	case '=':
		if (peekChar() == '=')
		{
			token = Token(EQ, "==");
			readChar();
		}
		else
			token = Token(ASSIGN, curChar);

		readChar();
		break;

	case '!':
		if (peekChar() == '=')
		{
			token = Token(NEQ, "!=");
			readChar();
		}
		else
			token = Token(BANG, curChar);

		readChar();
		break;

	case '<':
		if (peekChar() == '=')
		{
			token = Token(LTEQ, "<=");
			readChar();
		}
		else
			token = Token(LT, curChar);

		readChar();
		break;

	case '>':
		if (peekChar() == '=')
		{
			token = Token(GTEQ, ">=");
			readChar();
		}
		else
			token = Token(GT, curChar);

		readChar();
		break;

	case '+':
		token = Token(PLUS, curChar);
		readChar();
		break;

	case '-':
		token = Token(MINUS, curChar);
		readChar();
		break;

	case '*':
		token = Token(ASTERISK, curChar);
		readChar();
		break;

	case '/':
		token = Token(SLASH, curChar);
		readChar();
		break;

	case '%':
		token = Token(MODULO, curChar);
		readChar();
		break;

	case ',':
		token = Token(COMMA, curChar);
		readChar();
		break;

	case ';':
		token = Token(SEMICOLON, curChar);
		readChar();
		break;

	case ':':
		token = Token(COLON, curChar);
		readChar();
		break;

	case '(':
		token = Token(LPAREN, curChar);
		readChar();
		break;

	case ')':
		token = Token(RPAREN, curChar);
		readChar();
		break;

	case '{':
		token = Token(LBRACE, curChar);
		readChar();
		break;

	case '}':
		token = Token(RBRACE, curChar);
		readChar();
		break;

	case '[':
		token = Token(LBRACKET, curChar);
		readChar();
		break;

	case ']':
		token = Token(RBRACKET, curChar);
		readChar();
		break;

	case '"':
		token = Token(STRING, readString());
		readChar();
		break;

	case 0:
		token = Token(END, "");
		readChar();
		break;

	default:
		if (isLetter(curChar))
		{
			token.literal = readIdentifier();
			token.type = LookupIdentifier(token.literal);
			return token;
		}
		else if (isDigit(curChar))
		{
			token.type = INTEGER;
			token.literal = readNumber();
			return token;
		}
		else
		{
			token = Token(ILLEGAL, curChar);
			readChar();
		}
		break;
	}

	return token;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x448, %rsp            # imm = 0x448
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
xorl %eax, %eax
movq %rax, 0x8(%rdi)
movb %al, 0x10(%rdi)
leaq 0x20(%rdi), %r15
leaq 0x30(%rdi), %rcx
movq %rcx, 0x20(%rdi)
movq %rax, 0x28(%rdi)
movb %al, 0x30(%rdi)
movb 0x28(%rsi), %r8b
movq (%rsi), %rax
movq 0x8(%rsi), %rcx
movl 0x24(%rsi), %edx
movslq %edx, %rsi
movabsq $0x100002600, %rdi      # imm = 0x100002600
cmpb $0x20, %r8b
ja 0x5222
movzbl %r8b, %r8d
btq %r8, %rdi
jae 0x5222
cmpq %rsi, %rcx
jbe 0x520c
movb (%rax,%rsi), %r8b
jmp 0x520f
xorl %r8d, %r8d
movb %r8b, 0x28(%r14)
movl %edx, 0x20(%r14)
incq %rsi
incl %edx
movl %edx, 0x24(%r14)
jmp 0x51f1
movzbl 0x28(%r14), %edx
cmpl $0x5a, %edx
jg 0x535c
leal -0x21(%rdx), %esi
cmpl $0x1d, %esi
ja 0x54ed
leaq 0x1eb1(%rip), %rdi      # 0x70f4
movslq (%rdi,%rsi,4), %rsi
addq %rdi, %rsi
jmpq *%rsi
movslq 0x24(%r14), %rdx
cmpq %rdx, %rcx
jbe 0x6446
cmpb $0x3d, (%rax,%rdx)
jne 0x6446
leaq 0x3b8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x5b52(%rip), %rsi      # 0xadc8
movq 0x5b53(%rip), %rdx      # 0xadd0
addq %rsi, %rdx
leaq 0x3a8(%rsp), %rdi
callq 0x4986
leaq 0x398(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x1ed5(%rip), %rsi      # 0x7175
leaq 0x1ed0(%rip), %rdx      # 0x7177
leaq 0x388(%rsp), %rdi
callq 0x4442
leaq 0x8(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
leaq 0x388(%rsp), %rdx
callq 0x6d5c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5306
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5321
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x388(%rsp), %rdi
cmpq %rbp, %rdi
je 0x533e
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x3a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6162
movq 0x3b8(%rsp), %rsi
jmp 0x615a
cmpl $0x7a, %edx
jg 0x5429
cmpl $0x5b, %edx
je 0x617e
cmpl $0x5d, %edx
jne 0x55ea
leaq 0xf8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x5b5e(%rip), %rsi      # 0xaee8
movq 0x5b5f(%rip), %rdx      # 0xaef0
addq %rsi, %rdx
leaq 0xe8(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x53f0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x540b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0xf8(%rsp), %rsi
jmp 0x66d1
cmpl $0x7b, %edx
je 0x6230
cmpl $0x7d, %edx
jne 0x55ea
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x5a5a(%rip), %rsi      # 0xaea8
movq 0x5a5b(%rip), %rdx      # 0xaeb0
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x54b4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x54cf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x138(%rsp), %rsi
jmp 0x66d1
testl %edx, %edx
jne 0x55ea
leaq 0xb8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x56c0(%rip), %rsi      # 0xabc8
movq 0x56c1(%rip), %rdx      # 0xabd0
addq %rsi, %rdx
leaq 0xa8(%rsp), %rdi
callq 0x4986
leaq 0x98(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x1b2e(%rip), %rdx      # 0x7060
leaq 0x88(%rsp), %rdi
movq %rdx, %rsi
callq 0x4442
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x6d5c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5594
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x55af
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x88(%rsp), %rdi
cmpq %rbp, %rdi
je 0x55cc
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0xb8(%rsp), %rsi
jmp 0x66d1
movsbl %dl, %ebp
movl %ebp, %edi
callq 0x21c0
cmpb $0x5f, %bpl
je 0x65aa
testl %eax, %eax
jne 0x65aa
addl $-0x30, %ebp
cmpl $0x9, %ebp
ja 0x6665
leaq 0x55ef(%rip), %rsi      # 0xac08
movq %rbx, %rdi
callq 0x2090
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0x6cfa
leaq 0x8(%rsp), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0x2180
movq (%r14), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x66fe
movq 0x18(%rsp), %rsi
jmp 0x6646
movslq 0x24(%r14), %rdx
cmpq %rdx, %rcx
jbe 0x62e2
cmpb $0x3d, (%rax,%rdx)
jne 0x62e2
leaq 0x358(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x56e5(%rip), %rsi      # 0xad68
movq 0x56e6(%rip), %rdx      # 0xad70
addq %rsi, %rdx
leaq 0x348(%rsp), %rdi
callq 0x4986
leaq 0x338(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x1abf(%rip), %rsi      # 0x716c
leaq 0x1aba(%rip), %rdx      # 0x716e
leaq 0x328(%rsp), %rdi
callq 0x4442
leaq 0x8(%rsp), %rdi
leaq 0x348(%rsp), %rsi
leaq 0x328(%rsp), %rdx
callq 0x6d5c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5713
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x572e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x328(%rsp), %rdi
cmpq %rbp, %rdi
je 0x574b
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x348(%rsp), %rdi
cmpq %r13, %rdi
je 0x6162
movq 0x358(%rsp), %rsi
jmp 0x615a
leaq 0x238(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x556c(%rip), %rsi      # 0xace8
movq 0x556d(%rip), %rdx      # 0xacf0
addq %rsi, %rdx
leaq 0x228(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x57e2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57fd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x228(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x238(%rsp), %rsi
jmp 0x66d1
leaq 0x218(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x54da(%rip), %rsi      # 0xad08
movq 0x54db(%rip), %rdx      # 0xad10
addq %rsi, %rdx
leaq 0x208(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5894
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58af
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x208(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x218(%rsp), %rsi
jmp 0x66d1
movslq 0x24(%r14), %rdx
cmpq %rdx, %rcx
jbe 0x6394
cmpb $0x3d, (%rax,%rdx)
jne 0x6394
leaq 0x2f8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x5491(%rip), %rsi      # 0xad88
movq 0x5492(%rip), %rdx      # 0xad90
addq %rsi, %rdx
leaq 0x2e8(%rsp), %rdi
callq 0x4986
leaq 0x2d8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x184e(%rip), %rsi      # 0x716f
leaq 0x1849(%rip), %rdx      # 0x7171
leaq 0x2c8(%rsp), %rdi
callq 0x4442
leaq 0x8(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
leaq 0x2c8(%rsp), %rdx
callq 0x6d5c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5987
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x59a2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x2c8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x59bf
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x2e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6162
movq 0x2f8(%rsp), %rsi
jmp 0x615a
leaq 0x258(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x52d8(%rip), %rsi      # 0xacc8
movq 0x52d9(%rip), %rdx      # 0xacd0
addq %rsi, %rdx
leaq 0x248(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5a56
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5a71
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x248(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x258(%rsp), %rsi
jmp 0x66d1
leaq 0xd8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x5186(%rip), %rsi      # 0xac28
movq 0x5187(%rip), %rdx      # 0xac30
addq %rsi, %rdx
leaq 0xc8(%rsp), %rdi
callq 0x4986
leaq 0x428(%rsp), %rdi
movq %r14, %rsi
callq 0x6c02
leaq 0x8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0x428(%rsp), %rdx
callq 0x6d5c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5b1b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b36
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x438(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b57
movq 0x438(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0xc8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0xd8(%rsp), %rsi
jmp 0x66d1
leaq 0x178(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x52e0(%rip), %rsi      # 0xae68
movq 0x52e1(%rip), %rdx      # 0xae70
addq %rsi, %rdx
leaq 0x168(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x168(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5bee
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5c09
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x168(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x178(%rsp), %rsi
jmp 0x66d1
leaq 0x278(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x504e(%rip), %rsi      # 0xac88
movq 0x504f(%rip), %rdx      # 0xac90
addq %rsi, %rdx
leaq 0x268(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5ca0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5cbb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x268(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x278(%rsp), %rsi
jmp 0x66d1
leaq 0x198(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x515c(%rip), %rsi      # 0xae48
movq 0x515d(%rip), %rdx      # 0xae50
addq %rsi, %rdx
leaq 0x188(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5d52
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5d6d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x188(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x198(%rsp), %rsi
jmp 0x66d1
leaq 0x1d8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x506a(%rip), %rsi      # 0xae08
movq 0x506b(%rip), %rdx      # 0xae10
addq %rsi, %rdx
leaq 0x1c8(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5e04
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5e1f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x1c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x1d8(%rsp), %rsi
jmp 0x66d1
leaq 0x1f8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4f98(%rip), %rsi      # 0xade8
movq 0x4f99(%rip), %rdx      # 0xadf0
addq %rsi, %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5eb6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5ed1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x1e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x1f8(%rsp), %rsi
jmp 0x66d1
leaq 0x1b8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4f26(%rip), %rsi      # 0xae28
movq 0x4f27(%rip), %rdx      # 0xae30
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5f68
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5f83
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x1a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x1b8(%rsp), %rsi
jmp 0x66d1
leaq 0x298(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4cb4(%rip), %rsi      # 0xac68
movq 0x4cb5(%rip), %rdx      # 0xac70
addq %rsi, %rdx
leaq 0x288(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x601a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6035
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x288(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x298(%rsp), %rsi
jmp 0x66d1
movslq 0x24(%r14), %rdx
cmpq %rdx, %rcx
jbe 0x64f8
cmpb $0x3d, (%rax,%rdx)
jne 0x64f8
leaq 0x418(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4d2b(%rip), %rsi      # 0xada8
movq 0x4d2c(%rip), %rdx      # 0xadb0
addq %rsi, %rdx
leaq 0x408(%rsp), %rdi
callq 0x4986
leaq 0x3f8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x10cb(%rip), %rsi      # 0x7172
leaq 0x10c6(%rip), %rdx      # 0x7174
leaq 0x3e8(%rsp), %rdi
callq 0x4442
leaq 0x8(%rsp), %rdi
leaq 0x408(%rsp), %rsi
leaq 0x3e8(%rsp), %rdx
callq 0x6d5c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x610d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6128
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x3e8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6145
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x408(%rsp), %rdi
cmpq %r13, %rdi
je 0x6162
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x2130
movl 0x24(%r14), %eax
movslq %eax, %rcx
cmpq %rcx, 0x8(%r14)
jbe 0x6653
movq (%r14), %rdx
movb (%rdx,%rcx), %cl
jmp 0x6655
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4d37(%rip), %rsi      # 0xaec8
movq 0x4d38(%rip), %rdx      # 0xaed0
addq %rsi, %rdx
leaq 0x108(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x61f7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6212
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x118(%rsp), %rsi
jmp 0x66d1
leaq 0x158(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4c45(%rip), %rsi      # 0xae88
movq 0x4c46(%rip), %rdx      # 0xae90
addq %rsi, %rdx
leaq 0x148(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x62a9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x62c4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x148(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x158(%rsp), %rsi
jmp 0x66d1
leaq 0x318(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4a33(%rip), %rsi      # 0xad28
movq 0x4a34(%rip), %rdx      # 0xad30
addq %rsi, %rdx
leaq 0x308(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x635b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6376
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x308(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x318(%rsp), %rsi
jmp 0x66d1
leaq 0x2b8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x49a1(%rip), %rsi      # 0xad48
movq 0x49a2(%rip), %rdx      # 0xad50
addq %rsi, %rdx
leaq 0x2a8(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x640d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6428
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x2a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x2b8(%rsp), %rsi
jmp 0x66d1
leaq 0x378(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x484f(%rip), %rsi      # 0xaca8
movq 0x4850(%rip), %rdx      # 0xacb0
addq %rsi, %rdx
leaq 0x368(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x64bf
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x64da
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x368(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x378(%rsp), %rsi
jmp 0x66d1
leaq 0x3d8(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x473d(%rip), %rsi      # 0xac48
movq 0x473e(%rip), %rdx      # 0xac50
addq %rsi, %rdx
leaq 0x3c8(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2180
leaq 0x28(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2180
movq (%r12), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6571
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x658c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x3c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x3d8(%rsp), %rsi
jmp 0x66d1
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0x6c66
leaq 0x8(%rsp), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0x2180
movq (%r14), %rdi
leaq 0x18(%rsp), %r12
cmpq %r12, %rdi
je 0x65e1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
leaq 0x78(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x20(%rbx), %rsi
movq 0x28(%rbx), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x4986
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x44d4
leaq 0x8(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2180
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x6633
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x66fe
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x66fe
xorl %ecx, %ecx
movb %cl, 0x28(%r14)
movl %eax, 0x20(%r14)
incl %eax
movl %eax, 0x24(%r14)
jmp 0x66d9
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x4533(%rip), %rsi      # 0xaba8
movq 0x4534(%rip), %rdx      # 0xabb0
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x4986
movsbl 0x28(%r14), %edx
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x6df6
leaq 0x8(%rsp), %r12
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2180
leaq 0x28(%rsp), %rsi
movq %r15, %rdi
callq 0x2180
movq %r12, %rdi
callq 0x6dc0
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x66d9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2130
movl 0x24(%r14), %eax
movslq %eax, %rcx
cmpq %rcx, 0x8(%r14)
jbe 0x66ee
movq (%r14), %rdx
movb (%rdx,%rcx), %cl
jmp 0x66f0
xorl %ecx, %ecx
movb %cl, 0x28(%r14)
movl %eax, 0x20(%r14)
incl %eax
movl %eax, 0x24(%r14)
movq %rbx, %rax
addq $0x448, %rsp            # imm = 0x448
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq 0x3e8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x679e
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x679e
movq %rax, %r14
movq 0x2c8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x67bf
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x67bf
movq %rax, %r14
movq 0x328(%rsp), %rdi
cmpq %rbp, %rdi
je 0x67e0
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x67e0
movq %rax, %r14
movq 0x388(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6801
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x6801
movq %rax, %r14
movq 0x408(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x418(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x2e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x2f8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x348(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x358(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x3a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x3b8(%rsp), %rsi
jmp 0x6b71
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x58(%rsp), %rsi
jmp 0x6b71
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
movq %rax, %r14
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x6b92
movq 0x78(%rsp), %rsi
jmp 0x6b71
jmp 0x6b8f
jmp 0x6b8f
movq %rax, %r14
movq 0x3c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x3d8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x368(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x378(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x2a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x2b8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x308(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x318(%rsp), %rsi
jmp 0x6b71
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
movq %rax, %r14
movq 0x88(%rsp), %rdi
cmpq %rbp, %rdi
je 0x693f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x693f
movq %rax, %r14
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0xb8(%rsp), %rsi
jmp 0x6b71
jmp 0x6b8f
movq %rax, %r14
movq 0x148(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x158(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x118(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x138(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0xf8(%rsp), %rsi
jmp 0x6b71
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
movq %rax, %r14
leaq 0x438(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6b0e
movq 0x438(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x6b0e
movq %rax, %r14
movq 0x288(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x298(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x1a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x1b8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x1e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x1f8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x1c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x1d8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x188(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x198(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x268(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x278(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x168(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x178(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0xc8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0xd8(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x248(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x258(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x208(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x218(%rsp), %rsi
jmp 0x6b71
movq %rax, %r14
movq 0x228(%rsp), %rdi
cmpq %r13, %rdi
je 0x6b92
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x6b92
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
jmp 0x6b8f
movq %rax, %r14
movq %rbx, %rdi
callq 0x6dc0
movq %r14, %rdi
callq 0x21e0