// File: /workspace/github_c_makefile_star2_O1/goodpaul6[P]generic/script.c
// Function: get_token
static int get_token(char reset)
{
	static int last = ' ';
	
	if(reset)
	{
		last = ' ';
		return 0;
	}
	
	while(isspace(last))
	{
		if(last == '\n') ++g_line;
		last = get_char();
	}
	
	// TODO: check for buffer overflow	
	if(isalpha(last) || last == '_' || last == '#')
	{
		int i = 0;
		while(isalnum(last) || last == '_' || last == '#')
		{
			g_lexeme[i++] = last;
			last = get_char();
		}
		g_lexeme[i] = '\0';
		
		if(g_lexeme[0] == '#') return TOK_DIRECTIVE;
		
		if (strcmp(g_lexeme, "atomic") == 0) return TOK_ATOMIC;
		if(strcmp(g_lexeme, "using") == 0) return TOK_USING;
		if(strcmp(g_lexeme, "static") == 0) return TOK_STATIC;
		if(strcmp(g_lexeme, "null") == 0) return TOK_NULL;
		if(strcmp(g_lexeme, "new") == 0) return TOK_NEW;
		if(strcmp(g_lexeme, "union") == 0) return TOK_UNION;
		if(strcmp(g_lexeme, "struct") == 0) return TOK_STRUCT;
		if(strcmp(g_lexeme, "extern") == 0) return TOK_EXTERN;
		if(strcmp(g_lexeme, "true") == 0) return TOK_TRUE;
		if(strcmp(g_lexeme, "false") == 0) return TOK_FALSE;
		if(strcmp(g_lexeme, "while") == 0) return TOK_WHILE;
		if (strcmp(g_lexeme, "for") == 0) return TOK_FOR;
		if(strcmp(g_lexeme, "else") == 0) return TOK_ELSE;
		if(strcmp(g_lexeme, "if") == 0) return TOK_IF;
		if(strcmp(g_lexeme, "return") == 0) return TOK_RETURN;
		if(strcmp(g_lexeme, "func") == 0) return TOK_FUNC;
		if(strcmp(g_lexeme, "var") == 0) return TOK_VAR;
		if(strcmp(g_lexeme, "read") == 0) return TOK_READ;
		if(strcmp(g_lexeme, "write") == 0) return TOK_WRITE;
		if(strcmp(g_lexeme, "len") == 0) return TOK_LEN;
		
		return TOK_IDENT;
	}
	
	if(isdigit(last))
	{
		int i = 0;
		while(isdigit(last) || last == '-' || last == '.')
		{
			g_lexeme[i++] = last;
			last = get_char();
		}
		g_lexeme[i] = '\0';
		
		return TOK_NUMBER;
	}
	
	if(last == '"')
	{
		last = get_char();
		
		int i = 0;
		while(last != '"')
		{
			if (last == '\\')
			{
				last = get_char();
				switch (last)
				{
					case 'n': last = '\n'; break;
					case 't': last = '\t'; break;
					case '0': last = '\0'; break;
					case 'b': last = '\b'; break;
					case 'r': last = '\r'; break;
					case '\'': last = '\''; break;
					case '"': last = '"'; break;
					case '\\': last = '\\'; break;
					case '\n':
					case '\r':
					{
						while (isspace(last)) 
						{
							if (last == '\n') 
								++g_line;

							last = get_char();
						}
					} break;
					default:
						error_exit("invalid escape sequence char %c\n", last);
						break;
				}
			}

			g_lexeme[i++] = last;
			last = get_char();
		}
		last = get_char();
		
		g_lexeme[i] = '\0';
		
		return TOK_STRING;
	}
	
	if(last == '\'')
	{
		last = get_char();
		if (last == '\\')
		{
			last = get_char();
			switch (last)
			{
				case 'n': last = '\n'; break;
				case 't': last = '\t'; break;
				case '0': last = '\0'; break;
				case 'b': last = '\b'; break;
				case 'r': last = '\r'; break;
				case '\'': last = '\''; break;
				case '"': last = '"'; break;
				case '\\': last = '\\'; break;
				case '\n':
				case '\r':
				{
					while (isspace(last))
					{
						if (last == '\n')
							++g_line;

						last = get_char();
					}
				} break;
			}
		}
		g_lexeme[0] = last;
		g_lexeme[1] = '\0';
		last = get_char();
		if(last != '\'') error_exit_p("Expected ' after %c\n", g_lexeme[0]);
		last = get_char();
		
		return TOK_CHAR; 
	}
	
	if(last == EOF)
		return TOK_EOF;
	
	int last_char = last;
	last = get_char();
	
	if(last_char == '!')
	{
		if(last == '=')
		{
			last = get_char();
			return TOK_NOTEQUAL;
		}
		
		return TOK_NOT;
	}
	
	if(last_char == '&' && last == '&')
	{
		last = get_char();
		return TOK_LAND;
	}
	
	if(last_char == '|' && last == '|')
	{
		last = get_char();
		return TOK_LOR;
	}
	
	if(last_char == '/' && last == '/')
	{
		last = get_char();
		while(last != '\n' || last == EOF) last = get_char();
		return get_token(0);
	}
	
	if(last_char == '.') return TOK_DOT;
	
	if(last_char == ';') return TOK_SEMICOLON;
	
	if(last_char == '[') return TOK_OPENSQUARE;
	if(last_char == ']') return TOK_CLOSESQUARE;
	
	if(last_char == '(') return TOK_OPENPAREN;
	if(last_char == ')') return TOK_CLOSEPAREN;
	
	if(last_char == '{') return TOK_OPENCURLY;
	if(last_char == '}') return TOK_CLOSECURLY;
	
	if(last_char == ':') return TOK_COLON;
	
	if(last_char == ',') return TOK_COMMA;
	
	if(last_char == '+') return TOK_PLUS;
	if(last_char == '-') return TOK_MINUS;
	if(last_char == '*') return TOK_MUL;
	if(last_char == '/') return TOK_DIV;
	if (last_char == '%') return TOK_MOD;
	
	// NOTE: order of checking these is important
	if(last_char == '=' && last == '=')
	{
		last = get_char();
		return TOK_EQUALS;
	}
	
	if(last_char == '<' && last == '=')
	{
		last = get_char();
		return TOK_LTE;
	}
	if(last_char == '>' && last == '=')
	{
		last = get_char();
		return TOK_GTE;
	}
	
	if(last_char == '=') return TOK_ASSIGN;
	if(last_char == '<') return TOK_LT;
	if(last_char == '>') return TOK_GT;
	
	error_exit_p("Unexpected character '%c'\n", last_char);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
testb %dil, %dil
jne 0xa4ce
callq 0x2260
movq (%rax), %rcx
movslq 0xc072(%rip), %rsi      # 0x16158
movzwl (%rcx,%rsi,2), %r8d
btl $0xd, %r8d
jae 0xa13e
movq 0xc137(%rip), %rdx      # 0x16230
movl 0xc049(%rip), %edi      # 0x16148
cmpl $0xa, %esi
jne 0xa10c
incl %edi
movl %edi, 0xc03c(%rip)      # 0x16148
testq %rdx, %rdx
je 0xa124
movsbl (%rdx), %esi
testl %esi, %esi
je 0xa124
incq %rdx
movq %rdx, 0xc10e(%rip)      # 0x16230
jmp 0xa129
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movslq %esi, %r8
movzwl (%rcx,%r8,2), %r8d
btl $0xd, %r8d
jb 0xa0ff
movl %esi, 0xc01a(%rip)      # 0x16158
btl $0xa, %r8d
jb 0xa249
cmpl $0x5f, %esi
je 0xa249
cmpl $0x23, %esi
je 0xa249
btl $0xb, %r8d
jb 0xa4df
cmpl $-0x1, %esi
je 0xa50c
cmpl $0x27, %esi
je 0xa66a
cmpl $0x22, %esi
je 0xa516
movq 0xc0a8(%rip), %rax      # 0x16230
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testq %rax, %rax
je 0xa1a5
movsbl (%rax), %edx
testl %edx, %edx
je 0xa1a5
incq %rax
movq %rax, 0xc08d(%rip)      # 0x16230
movl %edx, %ecx
movl %ecx, 0xbfad(%rip)      # 0x16158
cmpl $0x21, %esi
je 0xa73b
movl %esi, %eax
xorl $0x26, %eax
movl %ecx, %edx
xorl $0x26, %edx
orl %eax, %edx
je 0xa77d
movl %esi, %eax
xorl $0x7c, %eax
movl %ecx, %edx
xorl $0x7c, %edx
orl %eax, %edx
je 0xa7b1
cmpl $0x2f, %esi
jne 0xa7e5
cmpl $0x2f, %ecx
jne 0xa7e5
movq 0xc03f(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xa20e
movsbl (%rcx), %edx
testl %edx, %edx
je 0xa20e
incq %rcx
movq %rcx, 0xc024(%rip)      # 0x16230
movl %edx, %eax
cmpl $0xa, %eax
je 0xa23c
movq 0xc016(%rip), %rcx      # 0x16230
testq %rcx, %rcx
je 0xa232
movsbl (%rcx), %eax
testl %eax, %eax
je 0xa232
incq %rcx
movq %rcx, 0xc000(%rip)      # 0x16230
jmp 0xa237
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0xa, %eax
jne 0xa21a
movl %eax, 0xbf16(%rip)      # 0x16158
xorl %edi, %edi
jmp 0xa0ce
movl 0xbf09(%rip), %edi      # 0x16158
movq 0xbfda(%rip), %rsi      # 0x16230
xorl %edx, %edx
leaq 0xc101(%rip), %rcx      # 0x16360
movq (%rax), %r8
movslq %edi, %r9
movzwl (%r8,%r9,2), %r8d
testb $0x8, %r8b
jne 0xa27a
cmpl $0x5f, %edi
je 0xa27a
cmpl $0x23, %edi
jne 0xa2a6
movb %dil, (%rdx,%rcx)
testq %rsi, %rsi
je 0xa296
movsbl (%rsi), %edi
testl %edi, %edi
je 0xa296
incq %rsi
movq %rsi, 0xbf9c(%rip)      # 0x16230
jmp 0xa29b
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl %edi, 0xbeb7(%rip)      # 0x16158
incq %rdx
jmp 0xa25f
movl %edx, %eax
movb $0x0, (%rax,%rcx)
movl $0x1, %eax
cmpb $0x23, 0xc0a8(%rip)     # 0x16360
je 0xaae2
movl $0x6d6f7461, %eax       # imm = 0x6D6F7461
xorl 0xc097(%rip), %eax      # 0x16360
movl $0x63696d, %ecx         # imm = 0x63696D
xorl 0xc08f(%rip), %ecx      # 0x16363
orl %eax, %ecx
je 0xa4d8
movl $0x6e697375, %eax       # imm = 0x6E697375
xorl 0xc079(%rip), %eax      # 0x16360
movzwl 0xc076(%rip), %ecx      # 0x16364
xorl $0x67, %ecx
orl %eax, %ecx
je 0xa882
movl $0x74617473, %eax       # imm = 0x74617473
xorl 0xc05c(%rip), %eax      # 0x16360
movl $0x636974, %ecx         # imm = 0x636974
xorl 0xc054(%rip), %ecx      # 0x16363
orl %eax, %ecx
je 0xa8ad
movl $0x6c6c756e, %eax       # imm = 0x6C6C756E
xorl 0xc03e(%rip), %eax      # 0x16360
movzbl 0xc03b(%rip), %ecx      # 0x16364
orl %eax, %ecx
je 0xa8e5
movl 0xc029(%rip), %ecx      # 0x16360
movl $0x5, %eax
cmpl $0x77656e, %ecx         # imm = 0x77656E
je 0xaae2
movl $0x6f696e75, %eax       # imm = 0x6F696E75
xorl 0xc00d(%rip), %eax      # 0x16360
movzwl 0xc00a(%rip), %edx      # 0x16364
xorl $0x6e, %edx
orl %eax, %edx
je 0xaa51
movl $0x75727473, %eax       # imm = 0x75727473
xorl 0xbff0(%rip), %eax      # 0x16360
movl $0x746375, %edx         # imm = 0x746375
xorl 0xbfe8(%rip), %edx      # 0x16363
orl %eax, %edx
je 0xaae4
movl $0x65747865, %eax       # imm = 0x65747865
xorl 0xbfd2(%rip), %eax      # 0x16360
movl $0x6e7265, %edx         # imm = 0x6E7265
xorl 0xbfca(%rip), %edx      # 0x16363
orl %eax, %edx
je 0xaaeb
movl $0x65757274, %eax       # imm = 0x65757274
xorl 0xbfb4(%rip), %eax      # 0x16360
movzbl 0xbfb1(%rip), %edx      # 0x16364
orl %eax, %edx
je 0xaaf2
movl $0x736c6166, %eax       # imm = 0x736C6166
xorl 0xbf9a(%rip), %eax      # 0x16360
movzwl 0xbf97(%rip), %edx      # 0x16364
xorl $0x65, %edx
orl %eax, %edx
je 0xaaf9
movl $0x6c696877, %eax       # imm = 0x6C696877
xorl 0xbf7d(%rip), %eax      # 0x16360
movzwl 0xbf7a(%rip), %edx      # 0x16364
xorl $0x65, %edx
orl %eax, %edx
je 0xab3a
movl $0xd, %eax
cmpl $0x726f66, %ecx         # imm = 0x726F66
je 0xaae2
movl $0x65736c65, %eax       # imm = 0x65736C65
xorl 0xbf4f(%rip), %eax      # 0x16360
movzbl 0xbf4c(%rip), %edx      # 0x16364
orl %eax, %edx
je 0xabb3
movl $0x6669, %eax           # imm = 0x6669
xorl 0xbf35(%rip), %eax      # 0x16360
movzbl 0xbf30(%rip), %edx      # 0x16362
orw %ax, %dx
je 0xabbd
movl $0x75746572, %eax       # imm = 0x75746572
xorl 0xbf1a(%rip), %eax      # 0x16360
movl $0x6e7275, %edx         # imm = 0x6E7275
xorl 0xbf12(%rip), %edx      # 0x16363
orl %eax, %edx
je 0xabc7
movl $0x636e7566, %eax       # imm = 0x636E7566
xorl 0xbefc(%rip), %eax      # 0x16360
movzbl 0xbef9(%rip), %edx      # 0x16364
orl %eax, %edx
je 0xabd1
movl $0x12, %eax
cmpl $0x726176, %ecx         # imm = 0x726176
je 0xaae2
movl $0x64616572, %eax       # imm = 0x64616572
xorl 0xbed1(%rip), %eax      # 0x16360
movzbl 0xbece(%rip), %edx      # 0x16364
orl %eax, %edx
je 0xabdb
movl $0x74697277, %eax       # imm = 0x74697277
xorl 0xbeb7(%rip), %eax      # 0x16360
movzwl 0xbeb4(%rip), %edx      # 0x16364
xorl $0x65, %edx
orl %eax, %edx
je 0xabe5
xorl %eax, %eax
cmpl $0x6e656c, %ecx         # imm = 0x6E656C
setne %al
addl $0x15, %eax
jmp 0xaae2
movl $0x20, 0xbc80(%rip)     # 0x16158
xorl %eax, %eax
jmp 0xaae2
movslq 0xbc72(%rip), %rcx      # 0x16158
leal -0x2d(%rcx), %edx
cmpl $0x2, %edx
jb 0xa814
movq (%rax), %rdx
movzwl (%rdx,%rcx,2), %edx
andl $0x800, %edx            # imm = 0x800
jne 0xa814
xorl %eax, %eax
jmp 0xa86d
movl $0x32, %eax
jmp 0xaae2
movq 0xbd13(%rip), %rcx      # 0x16230
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xa53a
movsbl (%rcx), %edx
testl %edx, %edx
je 0xa53a
incq %rcx
movq %rcx, 0xbcf8(%rip)      # 0x16230
movl %edx, %esi
movq 0xbcef(%rip), %rdi      # 0x16230
movl 0xbc00(%rip), %r8d      # 0x16148
xorl %edx, %edx
leaq 0xbe0f(%rip), %rcx      # 0x16360
cmpl $0x5c, %esi
je 0xa588
cmpl $0x22, %esi
je 0xa6fb
movb %sil, (%rdx,%rcx)
incq %rdx
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
testq %rdi, %rdi
je 0xa551
movsbl (%rdi), %r9d
testl %r9d, %r9d
je 0xa551
incq %rdi
movq %rdi, 0xbcad(%rip)      # 0x16230
movl %r9d, %esi
jmp 0xa551
testq %rdi, %rdi
je 0xa5a0
movsbl (%rdi), %esi
testl %esi, %esi
je 0xa5a0
incq %rdi
movq %rdi, 0xbc92(%rip)      # 0x16230
jmp 0xa5a5
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
cmpl $0x5b, %esi
jg 0xa5c6
cmpl $0x21, %esi
jle 0xa5ec
cmpl $0x22, %esi
je 0xa55f
cmpl $0x27, %esi
je 0xa55f
cmpl $0x30, %esi
jne 0xabef
xorl %esi, %esi
jmp 0xa55f
cmpl $0x6d, %esi
jle 0xa63a
cmpl $0x6e, %esi
je 0xa660
cmpl $0x72, %esi
je 0xa656
cmpl $0x74, %esi
jne 0xabef
movl $0x9, %esi
jmp 0xa55f
cmpl $0xa, %esi
je 0xa5fa
cmpl $0xd, %esi
jne 0xabef
movq (%rax), %r9
movslq %esi, %r10
testb $0x20, 0x1(%r9,%r10,2)
je 0xa55f
cmpl $0xa, %esi
jne 0xa61b
incl %r8d
movl %r8d, 0xbb2d(%rip)      # 0x16148
testq %rdi, %rdi
je 0xa633
movsbl (%rdi), %esi
testl %esi, %esi
je 0xa633
incq %rdi
movq %rdi, 0xbbff(%rip)      # 0x16230
jmp 0xa5fd
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
jmp 0xa5fd
cmpl $0x5c, %esi
je 0xa55f
cmpl $0x62, %esi
jne 0xabef
movl $0x8, %esi
jmp 0xa55f
movl $0xd, %esi
jmp 0xa55f
movl $0xa, %esi
jmp 0xa55f
movq 0xbbbf(%rip), %rdx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rdx, %rdx
je 0xa68e
movsbl (%rdx), %esi
testl %esi, %esi
je 0xa68e
incq %rdx
movq %rdx, 0xbba4(%rip)      # 0x16230
movl %esi, %eax
movl %eax, 0xbac4(%rip)      # 0x16158
cmpl $0x5c, %eax
jne 0xaa6d
movq 0xbb8c(%rip), %rdx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rdx, %rdx
je 0xa6c1
movsbl (%rdx), %esi
testl %esi, %esi
je 0xa6c1
incq %rdx
movq %rdx, 0xbb71(%rip)      # 0x16230
movl %esi, %eax
movl %eax, 0xba91(%rip)      # 0x16158
cmpl $0x5b, %eax
jg 0xa8b7
cmpl $0x21, %eax
jle 0xa90b
cmpl $0x22, %eax
je 0xaa67
cmpl $0x27, %eax
je 0xaa67
cmpl $0x30, %eax
jne 0xaa6d
xorl %eax, %eax
jmp 0xaa67
movl %esi, 0xba57(%rip)      # 0x16158
movq 0xbb28(%rip), %rsi      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rsi, %rsi
je 0xa725
movsbl (%rsi), %edi
testl %edi, %edi
je 0xa725
incq %rsi
movq %rsi, 0xbb0d(%rip)      # 0x16230
movl %edi, %eax
movl %eax, 0xba2d(%rip)      # 0x16158
movl %edx, %eax
movb $0x0, (%rax,%rcx)
movl $0x22, %eax
jmp 0xaae2
movl $0x23, %eax
cmpl $0x3d, %ecx
jne 0xaae2
movq 0xbae0(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xa76d
movsbl (%rcx), %edx
testl %edx, %edx
je 0xa76d
incq %rcx
movq %rcx, 0xbac5(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb9e5(%rip)      # 0x16158
movl $0x31, %eax
jmp 0xaae2
movq 0xbaac(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xa7a1
movsbl (%rcx), %edx
testl %edx, %edx
je 0xa7a1
incq %rcx
movq %rcx, 0xba91(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb9b1(%rip)      # 0x16158
movl $0x2e, %eax
jmp 0xaae2
movq 0xba78(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xa7d5
movsbl (%rcx), %edx
testl %edx, %edx
je 0xa7d5
incq %rcx
movq %rcx, 0xba5d(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb97d(%rip)      # 0x16158
movl $0x2f, %eax
jmp 0xaae2
cmpl $0x5a, %esi
jg 0xa88c
leal -0x28(%rsi), %eax
cmpl $0x13, %eax
ja 0xa9f1
leaq 0x4bf7(%rip), %rdx      # 0xf3f8
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movl $0x19, %eax
jmp 0xaae2
movq 0xba15(%rip), %rsi      # 0x16230
xorl %edx, %edx
leaq 0xbb3c(%rip), %rdi      # 0x16360
movb %cl, (%rdx,%rdi)
testq %rsi, %rsi
je 0xa83f
movsbl (%rsi), %ecx
testl %ecx, %ecx
je 0xa83f
incq %rsi
movq %rsi, 0xb9f3(%rip)      # 0x16230
jmp 0xa844
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
leal -0x2d(%rcx), %r8d
incq %rdx
cmpl $0x2, %r8d
jb 0xa824
movq (%rax), %r8
movslq %ecx, %r9
movzwl (%r8,%r9,2), %r8d
andl $0x800, %r8d            # imm = 0x800
jne 0xa824
movl %ecx, 0xb8ed(%rip)      # 0x16158
movl %edx, %eax
leaq 0xbaec(%rip), %rcx      # 0x16360
movb $0x0, (%rax,%rcx)
movl $0x21, %eax
jmp 0xaae2
movl $0x2, %eax
jmp 0xaae2
cmpl $0x7a, %esi
jg 0xa8ef
cmpl $0x5b, %esi
je 0xa9dd
cmpl $0x5d, %esi
jne 0xa9f1
movl $0x18, %eax
jmp 0xaae2
movl $0x3, %eax
jmp 0xaae2
cmpl $0x6d, %eax
jle 0xa971
cmpl $0x6e, %eax
je 0xaa5b
cmpl $0x72, %eax
je 0xaa62
cmpl $0x74, %eax
jne 0xaa6d
movl $0x9, %eax
jmp 0xaa67
movl $0x4, %eax
jmp 0xaae2
cmpl $0x7b, %esi
je 0xa9e7
cmpl $0x7d, %esi
jne 0xa9f1
movl $0x1c, %eax
jmp 0xaae2
cmpl $0xa, %eax
je 0xa919
cmpl $0xd, %eax
jne 0xaa6d
movslq 0xb838(%rip), %rax      # 0x16158
testb $0x20, 0x1(%rcx,%rax,2)
je 0xaa6d
movq 0xb8fe(%rip), %rdx      # 0x16230
movl 0xb810(%rip), %esi      # 0x16148
cmpl $0xa, %eax
jne 0xa945
incl %esi
movl %esi, 0xb803(%rip)      # 0x16148
testq %rdx, %rdx
je 0xa95d
movsbl (%rdx), %eax
testl %eax, %eax
je 0xa95d
incq %rdx
movq %rdx, 0xb8d5(%rip)      # 0x16230
jmp 0xa962
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movslq %eax, %rdi
testb $0x20, 0x1(%rcx,%rdi,2)
jne 0xa938
jmp 0xaa67
cmpl $0x5c, %eax
je 0xaa67
cmpl $0x62, %eax
jne 0xaa6d
movl $0x8, %eax
jmp 0xaa67
movl $0x1f, %eax
jmp 0xaae2
movl $0x27, %eax
jmp 0xaae2
movl $0x1d, %eax
jmp 0xaae2
movl $0x26, %eax
jmp 0xaae2
movl $0x25, %eax
jmp 0xaae2
movl $0x20, %eax
jmp 0xaae2
movl $0x1e, %eax
jmp 0xaae2
movl $0x1a, %eax
jmp 0xaae2
movl $0x17, %eax
jmp 0xaae2
movl $0x1b, %eax
jmp 0xaae2
movl $0x28, %eax
cmpl $0x2f, %esi
je 0xaae2
movl $0x29, %eax
cmpl $0x25, %esi
je 0xaae2
movl %esi, %eax
xorl $0x3d, %eax
xorl $0x3d, %ecx
orl %ecx, %eax
jne 0xab00
movq 0xb80c(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xaa41
movsbl (%rcx), %edx
testl %edx, %edx
je 0xaa41
incq %rcx
movq %rcx, 0xb7f1(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb711(%rip)      # 0x16158
movl $0x30, %eax
jmp 0xaae2
movl $0x7, %eax
jmp 0xaae2
movl $0xa, %eax
jmp 0xaa67
movl $0xd, %eax
movl %eax, 0xb6eb(%rip)      # 0x16158
movl 0xb6e5(%rip), %eax      # 0x16158
movb %al, 0xb8e7(%rip)       # 0x16360
movb $0x0, 0xb8e1(%rip)      # 0x16361
movq 0xb7a9(%rip), %rdx      # 0x16230
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testq %rdx, %rdx
je 0xaaa4
movsbl (%rdx), %esi
testl %esi, %esi
je 0xaaa4
incq %rdx
movq %rdx, 0xb78e(%rip)      # 0x16230
movl %esi, %ecx
movl %ecx, 0xb6ae(%rip)      # 0x16158
cmpl $0x27, %ecx
jne 0xac03
movq 0xb776(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xaad7
movsbl (%rcx), %edx
testl %edx, %edx
je 0xaad7
incq %rcx
movq %rcx, 0xb75b(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb67b(%rip)      # 0x16158
movl $0x9, %eax
popq %rbp
retq
movl $0x6, %eax
jmp 0xaae2
movl $0x8, %eax
jmp 0xaae2
movl $0xa, %eax
jmp 0xaae2
movl $0xb, %eax
jmp 0xaae2
movl %esi, %eax
xorl $0x3c, %eax
orl %ecx, %eax
jne 0xab41
movq 0xb720(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xab2d
movsbl (%rcx), %edx
testl %edx, %edx
je 0xab2d
incq %rcx
movq %rcx, 0xb705(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb625(%rip)      # 0x16158
movl $0x2c, %eax
jmp 0xaae2
movl $0xc, %eax
jmp 0xaae2
movl %esi, %eax
xorl $0x3e, %eax
orl %ecx, %eax
jne 0xab7e
movq 0xb6df(%rip), %rcx      # 0x16230
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rcx, %rcx
je 0xab6e
movsbl (%rcx), %edx
testl %edx, %edx
je 0xab6e
incq %rcx
movq %rcx, 0xb6c4(%rip)      # 0x16230
movl %edx, %eax
movl %eax, 0xb5e4(%rip)      # 0x16158
movl $0x2d, %eax
jmp 0xaae2
movl %esi, %eax
andl $-0x2, %eax
cmpl $0x3d, %esi
movl $0x24, %ecx
movl $0x2a, %edx
cmovel %ecx, %edx
cmpl $0x3c, %eax
movl $0x2b, %eax
cmovel %edx, %eax
leal -0x3c(%rsi), %ecx
cmpl $0x3, %ecx
jb 0xaae2
leaq 0x6271(%rip), %rdi      # 0x10e22
jmp 0xac0d
movl $0xe, %eax
jmp 0xaae2
movl $0xf, %eax
jmp 0xaae2
movl $0x10, %eax
jmp 0xaae2
movl $0x11, %eax
jmp 0xaae2
movl $0x13, %eax
jmp 0xaae2
movl $0x14, %eax
jmp 0xaae2
movl %esi, 0xb563(%rip)      # 0x16158
leaq 0x61f0(%rip), %rdi      # 0x10dec
xorl %eax, %eax
callq 0x384e
movsbl %al, %esi
leaq 0x6200(%rip), %rdi      # 0x10e0d
xorl %eax, %eax
callq 0x88df