// File: /workspace/github_c_makefile_star2_O0/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
subq $0x30, %rsp
movb %dil, %al
movb %al, -0x5(%rbp)
cmpb $0x0, -0x5(%rbp)
je 0xca8a
movl $0x20, 0xd93a(%rip)     # 0x1a3b8
movl $0x0, -0x4(%rbp)
jmp 0xd58b
jmp 0xca8c
callq 0x2230
movq (%rax), %rax
movslq 0xd91d(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0xcace
cmpl $0xa, 0xd908(%rip)      # 0x1a3b8
jne 0xcac1
movl 0xd678(%rip), %eax      # 0x1a130
addl $0x1, %eax
movl %eax, 0xd66f(%rip)      # 0x1a130
callq 0xd5f0
movl %eax, 0xd8ec(%rip)      # 0x1a3b8
jmp 0xca8c
callq 0x2230
movq (%rax), %rax
movslq 0xd8db(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0xcb01
cmpl $0x5f, 0xd8c6(%rip)     # 0x1a3b8
je 0xcb01
cmpl $0x23, 0xd8bd(%rip)     # 0x1a3b8
jne 0xce7c
movl $0x0, -0xc(%rbp)
callq 0x2230
movq (%rax), %rax
movslq 0xd8a1(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %ecx
andl $0x8, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x19(%rbp)
jne 0xcb43
movb $0x1, %al
cmpl $0x5f, 0xd887(%rip)     # 0x1a3b8
movb %al, -0x19(%rbp)
je 0xcb43
cmpl $0x23, 0xd87b(%rip)     # 0x1a3b8
sete %al
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %al
testb $0x1, %al
jne 0xcb4c
jmp 0xcb79
movl 0xd866(%rip), %eax      # 0x1a3b8
movb %al, %dl
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movslq %eax, %rcx
leaq 0xda57(%rip), %rax      # 0x1a5c0
movb %dl, (%rax,%rcx)
callq 0xd5f0
movl %eax, 0xd841(%rip)      # 0x1a3b8
jmp 0xcb08
movslq -0xc(%rbp), %rcx
leaq 0xda3c(%rip), %rax      # 0x1a5c0
movb $0x0, (%rax,%rcx)
movsbl 0xda31(%rip), %eax      # 0x1a5c0
cmpl $0x23, %eax
jne 0xcba0
movl $0x1, -0x4(%rbp)
jmp 0xd58b
leaq 0xda19(%rip), %rdi      # 0x1a5c0
leaq 0x8123(%rip), %rsi      # 0x14cd1
callq 0x2130
cmpl $0x0, %eax
jne 0xcbc4
movl $0x0, -0x4(%rbp)
jmp 0xd58b
leaq 0xd9f5(%rip), %rdi      # 0x1a5c0
leaq 0x8108(%rip), %rsi      # 0x14cda
callq 0x2130
cmpl $0x0, %eax
jne 0xcbe8
movl $0x2, -0x4(%rbp)
jmp 0xd58b
leaq 0xd9d1(%rip), %rdi      # 0x1a5c0
leaq 0x80ea(%rip), %rsi      # 0x14ce0
callq 0x2130
cmpl $0x0, %eax
jne 0xcc0c
movl $0x3, -0x4(%rbp)
jmp 0xd58b
leaq 0xd9ad(%rip), %rdi      # 0x1a5c0
leaq 0x80cd(%rip), %rsi      # 0x14ce7
callq 0x2130
cmpl $0x0, %eax
jne 0xcc30
movl $0x4, -0x4(%rbp)
jmp 0xd58b
leaq 0xd989(%rip), %rdi      # 0x1a5c0
leaq 0x80ae(%rip), %rsi      # 0x14cec
callq 0x2130
cmpl $0x0, %eax
jne 0xcc54
movl $0x5, -0x4(%rbp)
jmp 0xd58b
leaq 0xd965(%rip), %rdi      # 0x1a5c0
leaq 0x8095(%rip), %rsi      # 0x14cf7
callq 0x2130
cmpl $0x0, %eax
jne 0xcc78
movl $0x7, -0x4(%rbp)
jmp 0xd58b
leaq 0xd941(%rip), %rdi      # 0x1a5c0
leaq 0x806a(%rip), %rsi      # 0x14cf0
callq 0x2130
cmpl $0x0, %eax
jne 0xcc9c
movl $0x6, -0x4(%rbp)
jmp 0xd58b
leaq 0xd91d(%rip), %rdi      # 0x1a5c0
leaq 0x8053(%rip), %rsi      # 0x14cfd
callq 0x2130
cmpl $0x0, %eax
jne 0xccc0
movl $0x8, -0x4(%rbp)
jmp 0xd58b
leaq 0xd8f9(%rip), %rdi      # 0x1a5c0
leaq 0x8040(%rip), %rsi      # 0x14d0e
callq 0x2130
cmpl $0x0, %eax
jne 0xcce4
movl $0xa, -0x4(%rbp)
jmp 0xd58b
leaq 0xd8d5(%rip), %rdi      # 0x1a5c0
leaq 0x8021(%rip), %rsi      # 0x14d13
callq 0x2130
cmpl $0x0, %eax
jne 0xcd08
movl $0xb, -0x4(%rbp)
jmp 0xd58b
leaq 0xd8b1(%rip), %rdi      # 0x1a5c0
leaq 0x8003(%rip), %rsi      # 0x14d19
callq 0x2130
cmpl $0x0, %eax
jne 0xcd2c
movl $0xc, -0x4(%rbp)
jmp 0xd58b
leaq 0xd88d(%rip), %rdi      # 0x1a5c0
leaq 0x7fe5(%rip), %rsi      # 0x14d1f
callq 0x2130
cmpl $0x0, %eax
jne 0xcd50
movl $0xd, -0x4(%rbp)
jmp 0xd58b
leaq 0xd869(%rip), %rdi      # 0x1a5c0
leaq 0x7fc5(%rip), %rsi      # 0x14d23
callq 0x2130
cmpl $0x0, %eax
jne 0xcd74
movl $0xe, -0x4(%rbp)
jmp 0xd58b
leaq 0xd845(%rip), %rdi      # 0x1a5c0
leaq 0x7fa6(%rip), %rsi      # 0x14d28
callq 0x2130
cmpl $0x0, %eax
jne 0xcd98
movl $0xf, -0x4(%rbp)
jmp 0xd58b
leaq 0xd821(%rip), %rdi      # 0x1a5c0
leaq 0x7f85(%rip), %rsi      # 0x14d2b
callq 0x2130
cmpl $0x0, %eax
jne 0xcdbc
movl $0x10, -0x4(%rbp)
jmp 0xd58b
leaq 0xd7fd(%rip), %rdi      # 0x1a5c0
leaq 0x7a40(%rip), %rsi      # 0x1480a
callq 0x2130
cmpl $0x0, %eax
jne 0xcde0
movl $0x11, -0x4(%rbp)
jmp 0xd58b
leaq 0xd7d9(%rip), %rdi      # 0x1a5c0
leaq 0x7f44(%rip), %rsi      # 0x14d32
callq 0x2130
cmpl $0x0, %eax
jne 0xce04
movl $0x12, -0x4(%rbp)
jmp 0xd58b
leaq 0xd7b5(%rip), %rdi      # 0x1a5c0
leaq 0x7f24(%rip), %rsi      # 0x14d36
callq 0x2130
cmpl $0x0, %eax
jne 0xce28
movl $0x13, -0x4(%rbp)
jmp 0xd58b
leaq 0xd791(%rip), %rdi      # 0x1a5c0
leaq 0x7f05(%rip), %rsi      # 0x14d3b
callq 0x2130
cmpl $0x0, %eax
jne 0xce4c
movl $0x14, -0x4(%rbp)
jmp 0xd58b
leaq 0xd76d(%rip), %rdi      # 0x1a5c0
leaq 0x7ee7(%rip), %rsi      # 0x14d41
callq 0x2130
cmpl $0x0, %eax
jne 0xce70
movl $0x15, -0x4(%rbp)
jmp 0xd58b
movl $0x16, -0x4(%rbp)
jmp 0xd58b
callq 0x2230
movq (%rax), %rax
movslq 0xd52d(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xcf33
movl $0x0, -0x10(%rbp)
callq 0x2230
movq (%rax), %rax
movslq 0xd505(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %ecx
andl $0x800, %ecx            # imm = 0x800
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x1a(%rbp)
jne 0xcee2
movb $0x1, %al
cmpl $0x2d, 0xd4e8(%rip)     # 0x1a3b8
movb %al, -0x1a(%rbp)
je 0xcee2
cmpl $0x2e, 0xd4dc(%rip)     # 0x1a3b8
sete %al
movb %al, -0x1a(%rbp)
movb -0x1a(%rbp), %al
testb $0x1, %al
jne 0xceeb
jmp 0xcf18
movl 0xd4c7(%rip), %eax      # 0x1a3b8
movb %al, %dl
movl -0x10(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x10(%rbp)
movslq %eax, %rcx
leaq 0xd6b8(%rip), %rax      # 0x1a5c0
movb %dl, (%rax,%rcx)
callq 0xd5f0
movl %eax, 0xd4a2(%rip)      # 0x1a3b8
jmp 0xcea4
movslq -0x10(%rbp), %rcx
leaq 0xd69d(%rip), %rax      # 0x1a5c0
movb $0x0, (%rax,%rcx)
movl $0x21, -0x4(%rbp)
jmp 0xd58b
cmpl $0x22, 0xd47e(%rip)     # 0x1a3b8
jne 0xd116
callq 0xd5f0
movl %eax, 0xd46d(%rip)      # 0x1a3b8
movl $0x0, -0x14(%rbp)
cmpl $0x22, 0xd45f(%rip)     # 0x1a3b8
je 0xd0f0
cmpl $0x5c, 0xd452(%rip)     # 0x1a3b8
jne 0xd0c0
callq 0xd5f0
movl %eax, 0xd441(%rip)      # 0x1a3b8
movl 0xd43b(%rip), %eax      # 0x1a3b8
movl %eax, -0x20(%rbp)
subl $0xa, %eax
je 0xd064
jmp 0xcf8b
movl -0x20(%rbp), %eax
subl $0xd, %eax
je 0xd064
jmp 0xcf99
movl -0x20(%rbp), %eax
subl $0x22, %eax
je 0xd04c
jmp 0xcfa7
movl -0x20(%rbp), %eax
subl $0x27, %eax
je 0xd040
jmp 0xcfb5
movl -0x20(%rbp), %eax
subl $0x30, %eax
je 0xd016
jmp 0xcfbf
movl -0x20(%rbp), %eax
subl $0x5c, %eax
je 0xd058
jmp 0xcfcd
movl -0x20(%rbp), %eax
subl $0x62, %eax
je 0xd025
jmp 0xcfd7
movl -0x20(%rbp), %eax
subl $0x6e, %eax
je 0xcff8
jmp 0xcfe1
movl -0x20(%rbp), %eax
subl $0x72, %eax
je 0xd034
jmp 0xcfeb
movl -0x20(%rbp), %eax
subl $0x74, %eax
je 0xd007
jmp 0xd0aa
movl $0xa, 0xd3b6(%rip)      # 0x1a3b8
jmp 0xd0be
movl $0x9, 0xd3a7(%rip)      # 0x1a3b8
jmp 0xd0be
movl $0x0, 0xd398(%rip)      # 0x1a3b8
jmp 0xd0be
movl $0x8, 0xd389(%rip)      # 0x1a3b8
jmp 0xd0be
movl $0xd, 0xd37a(%rip)      # 0x1a3b8
jmp 0xd0be
movl $0x27, 0xd36e(%rip)     # 0x1a3b8
jmp 0xd0be
movl $0x22, 0xd362(%rip)     # 0x1a3b8
jmp 0xd0be
movl $0x5c, 0xd356(%rip)     # 0x1a3b8
jmp 0xd0be
jmp 0xd066
callq 0x2230
movq (%rax), %rax
movslq 0xd343(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0xd0a8
cmpl $0xa, 0xd32e(%rip)      # 0x1a3b8
jne 0xd09b
movl 0xd09e(%rip), %eax      # 0x1a130
addl $0x1, %eax
movl %eax, 0xd095(%rip)      # 0x1a130
callq 0xd5f0
movl %eax, 0xd312(%rip)      # 0x1a3b8
jmp 0xd066
jmp 0xd0be
movl 0xd308(%rip), %esi      # 0x1a3b8
leaq 0x7e02(%rip), %rdi      # 0x14eb9
movb $0x0, %al
callq 0x3990
jmp 0xd0c0
movl 0xd2f2(%rip), %eax      # 0x1a3b8
movb %al, %dl
movl -0x14(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
movslq %eax, %rcx
leaq 0xd4e3(%rip), %rax      # 0x1a5c0
movb %dl, (%rax,%rcx)
callq 0xd5f0
movl %eax, 0xd2cd(%rip)      # 0x1a3b8
jmp 0xcf52
callq 0xd5f0
movl %eax, 0xd2bd(%rip)      # 0x1a3b8
movslq -0x14(%rbp), %rcx
leaq 0xd4ba(%rip), %rax      # 0x1a5c0
movb $0x0, (%rax,%rcx)
movl $0x22, -0x4(%rbp)
jmp 0xd58b
cmpl $0x27, 0xd29b(%rip)     # 0x1a3b8
jne 0xd2cb
callq 0xd5f0
movl %eax, 0xd28a(%rip)      # 0x1a3b8
cmpl $0x5c, 0xd283(%rip)     # 0x1a3b8
jne 0xd278
callq 0xd5f0
movl %eax, 0xd272(%rip)      # 0x1a3b8
movl 0xd26c(%rip), %eax      # 0x1a3b8
movl %eax, -0x24(%rbp)
subl $0xa, %eax
je 0xd230
jmp 0xd15a
movl -0x24(%rbp), %eax
subl $0xd, %eax
je 0xd230
jmp 0xd168
movl -0x24(%rbp), %eax
subl $0x22, %eax
je 0xd218
jmp 0xd176
movl -0x24(%rbp), %eax
subl $0x27, %eax
je 0xd20c
jmp 0xd184
movl -0x24(%rbp), %eax
subl $0x30, %eax
je 0xd1e5
jmp 0xd18e
movl -0x24(%rbp), %eax
subl $0x5c, %eax
je 0xd224
jmp 0xd19c
movl -0x24(%rbp), %eax
subl $0x62, %eax
je 0xd1f4
jmp 0xd1a6
movl -0x24(%rbp), %eax
subl $0x6e, %eax
je 0xd1c7
jmp 0xd1b0
movl -0x24(%rbp), %eax
subl $0x72, %eax
je 0xd200
jmp 0xd1ba
movl -0x24(%rbp), %eax
subl $0x74, %eax
je 0xd1d6
jmp 0xd276
movl $0xa, 0xd1e7(%rip)      # 0x1a3b8
jmp 0xd276
movl $0x9, 0xd1d8(%rip)      # 0x1a3b8
jmp 0xd276
movl $0x0, 0xd1c9(%rip)      # 0x1a3b8
jmp 0xd276
movl $0x8, 0xd1ba(%rip)      # 0x1a3b8
jmp 0xd276
movl $0xd, 0xd1ae(%rip)      # 0x1a3b8
jmp 0xd276
movl $0x27, 0xd1a2(%rip)     # 0x1a3b8
jmp 0xd276
movl $0x22, 0xd196(%rip)     # 0x1a3b8
jmp 0xd276
movl $0x5c, 0xd18a(%rip)     # 0x1a3b8
jmp 0xd276
jmp 0xd232
callq 0x2230
movq (%rax), %rax
movslq 0xd177(%rip), %rcx      # 0x1a3b8
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0xd274
cmpl $0xa, 0xd162(%rip)      # 0x1a3b8
jne 0xd267
movl 0xced2(%rip), %eax      # 0x1a130
addl $0x1, %eax
movl %eax, 0xcec9(%rip)      # 0x1a130
callq 0xd5f0
movl %eax, 0xd146(%rip)      # 0x1a3b8
jmp 0xd232
jmp 0xd276
jmp 0xd278
movl 0xd13a(%rip), %eax      # 0x1a3b8
movb %al, 0xd33c(%rip)       # 0x1a5c0
movb $0x0, 0xd336(%rip)      # 0x1a5c1
callq 0xd5f0
movl %eax, 0xd122(%rip)      # 0x1a3b8
cmpl $0x27, 0xd11b(%rip)     # 0x1a3b8
je 0xd2b4
movsbl 0xd31a(%rip), %esi      # 0x1a5c0
leaq 0x7c2d(%rip), %rdi      # 0x14eda
movb $0x0, %al
callq 0xa0e0
callq 0xd5f0
movl %eax, 0xd0f9(%rip)      # 0x1a3b8
movl $0x9, -0x4(%rbp)
jmp 0xd58b
cmpl $-0x1, 0xd0e6(%rip)     # 0x1a3b8
jne 0xd2e0
movl $0x32, -0x4(%rbp)
jmp 0xd58b
movl 0xd0d2(%rip), %eax      # 0x1a3b8
movl %eax, -0x18(%rbp)
callq 0xd5f0
movl %eax, 0xd0c4(%rip)      # 0x1a3b8
cmpl $0x21, -0x18(%rbp)
jne 0xd326
cmpl $0x3d, 0xd0b7(%rip)     # 0x1a3b8
jne 0xd31a
callq 0xd5f0
movl %eax, 0xd0aa(%rip)      # 0x1a3b8
movl $0x31, -0x4(%rbp)
jmp 0xd58b
movl $0x23, -0x4(%rbp)
jmp 0xd58b
cmpl $0x26, -0x18(%rbp)
jne 0xd34c
cmpl $0x26, 0xd085(%rip)     # 0x1a3b8
jne 0xd34c
callq 0xd5f0
movl %eax, 0xd078(%rip)      # 0x1a3b8
movl $0x2e, -0x4(%rbp)
jmp 0xd58b
cmpl $0x7c, -0x18(%rbp)
jne 0xd372
cmpl $0x7c, 0xd05f(%rip)     # 0x1a3b8
jne 0xd372
callq 0xd5f0
movl %eax, 0xd052(%rip)      # 0x1a3b8
movl $0x2f, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2f, -0x18(%rbp)
jne 0xd3cc
cmpl $0x2f, 0xd039(%rip)     # 0x1a3b8
jne 0xd3cc
callq 0xd5f0
movl %eax, 0xd02c(%rip)      # 0x1a3b8
movb $0x1, %al
cmpl $0xa, 0xd023(%rip)      # 0x1a3b8
movb %al, -0x25(%rbp)
jne 0xd3a7
cmpl $-0x1, 0xd017(%rip)     # 0x1a3b8
sete %al
movb %al, -0x25(%rbp)
movb -0x25(%rbp), %al
testb $0x1, %al
jne 0xd3b0
jmp 0xd3bd
callq 0xd5f0
movl %eax, 0xcffd(%rip)      # 0x1a3b8
jmp 0xd38c
xorl %edi, %edi
callq 0xca60
movl %eax, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2e, -0x18(%rbp)
jne 0xd3de
movl $0x20, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3b, -0x18(%rbp)
jne 0xd3f0
movl $0x1e, -0x4(%rbp)
jmp 0xd58b
cmpl $0x5b, -0x18(%rbp)
jne 0xd402
movl $0x17, -0x4(%rbp)
jmp 0xd58b
cmpl $0x5d, -0x18(%rbp)
jne 0xd414
movl $0x18, -0x4(%rbp)
jmp 0xd58b
cmpl $0x28, -0x18(%rbp)
jne 0xd426
movl $0x19, -0x4(%rbp)
jmp 0xd58b
cmpl $0x29, -0x18(%rbp)
jne 0xd438
movl $0x1a, -0x4(%rbp)
jmp 0xd58b
cmpl $0x7b, -0x18(%rbp)
jne 0xd44a
movl $0x1b, -0x4(%rbp)
jmp 0xd58b
cmpl $0x7d, -0x18(%rbp)
jne 0xd45c
movl $0x1c, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3a, -0x18(%rbp)
jne 0xd46e
movl $0x1d, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2c, -0x18(%rbp)
jne 0xd480
movl $0x1f, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2b, -0x18(%rbp)
jne 0xd492
movl $0x25, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2d, -0x18(%rbp)
jne 0xd4a4
movl $0x26, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2a, -0x18(%rbp)
jne 0xd4b6
movl $0x27, -0x4(%rbp)
jmp 0xd58b
cmpl $0x2f, -0x18(%rbp)
jne 0xd4c8
movl $0x28, -0x4(%rbp)
jmp 0xd58b
cmpl $0x25, -0x18(%rbp)
jne 0xd4da
movl $0x29, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3d, -0x18(%rbp)
jne 0xd500
cmpl $0x3d, 0xced1(%rip)     # 0x1a3b8
jne 0xd500
callq 0xd5f0
movl %eax, 0xcec4(%rip)      # 0x1a3b8
movl $0x30, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3c, -0x18(%rbp)
jne 0xd523
cmpl $0x3d, 0xceab(%rip)     # 0x1a3b8
jne 0xd523
callq 0xd5f0
movl %eax, 0xce9e(%rip)      # 0x1a3b8
movl $0x2c, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3e, -0x18(%rbp)
jne 0xd546
cmpl $0x3d, 0xce88(%rip)     # 0x1a3b8
jne 0xd546
callq 0xd5f0
movl %eax, 0xce7b(%rip)      # 0x1a3b8
movl $0x2d, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3d, -0x18(%rbp)
jne 0xd555
movl $0x24, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3c, -0x18(%rbp)
jne 0xd564
movl $0x2a, -0x4(%rbp)
jmp 0xd58b
cmpl $0x3e, -0x18(%rbp)
jne 0xd573
movl $0x2b, -0x4(%rbp)
jmp 0xd58b
movl -0x18(%rbp), %esi
leaq 0x7972(%rip), %rdi      # 0x14eef
movb $0x0, %al
callq 0xa0e0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)