// File: /workspace/github_c_makefile_star2_O0/endeav0r[P]hvm/src/lexer.c
// Function: lexer
struct _token * lexer (const char * text)
{
    int i     = 0;
    int j, k  = 0;
    int line  = 1;
    char buf[64];

    struct _lexer lexer;
    lexer.first = NULL;
    lexer.last  = NULL;

    while (text[i] != '\0') {
        if (    (text[i] == ' ')
             || (text[i] == '\t')) {
            i++;
            continue;
        }

        if (text[i] == '\n') {
            lexer_append(&lexer, token_create(TOK_NEWLINE, NULL, line));
            i++;
            line++;
            continue;
        }

        if (text[i] == ',') {
            lexer_append(&lexer, token_create(TOK_COMMA, NULL, line));
            i++;
            continue;
        }

        if (text[i] == ';') {
            while (text[i] != '\n')
                i++;
            continue;
        }

        #define MATCHTOK(TOKSTR, TOKVAL) \
        if (strncmp(&(text[i]), #TOKSTR, strlen(#TOKSTR)) == 0) { \
            if (    ((text[i+strlen(#TOKSTR)] < 'a') || (text[i+strlen(#TOKSTR)] > 'z')) \
                 && ((text[i+strlen(#TOKSTR)] < '0') || (text[i+strlen(#TOKSTR)] > '9')) \
                 && (text[i+strlen(#TOKSTR)] != '_')) { \
                lexer_append(&lexer, token_create(TOKVAL, #TOKSTR, line)); \
                i += strlen(#TOKSTR); \
                continue; \
            } \
        }

        MATCHTOK(r0,      REG_0)
        MATCHTOK(r1,      REG_1)
        MATCHTOK(r2,      REG_2)
        MATCHTOK(r3,      REG_3)
        MATCHTOK(r4,      REG_4)
        MATCHTOK(r5,      REG_5)
        MATCHTOK(r6,      REG_6)
        MATCHTOK(r7,      REG_7)
        MATCHTOK(rsp,     REG_SP)
        MATCHTOK(rbp,     REG_BP)
        MATCHTOK(rip,     REG_IP)
        MATCHTOK(mov,     OP_MOV)
        MATCHTOK(cmp,     OP_CMP)
        MATCHTOK(add,     OP_ADD)
        MATCHTOK(sub,     OP_SUB)
        MATCHTOK(mul,     OP_MUL)
        MATCHTOK(div,     OP_DIV)
        MATCHTOK(mod,     OP_MOD)
        MATCHTOK(and,     OP_AND)
        MATCHTOK(or,      OP_OR)
        MATCHTOK(xor,     OP_XOR)
        MATCHTOK(jmp,     OP_JMP)
        MATCHTOK(je,      OP_JE)
        MATCHTOK(jne,     OP_JNE)
        MATCHTOK(jle,     OP_JLE)
        MATCHTOK(jl,      OP_JL)
        MATCHTOK(jge,     OP_JGE)
        MATCHTOK(jg,      OP_JG)
        MATCHTOK(call,    OP_CALL)
        MATCHTOK(ret,     OP_RET)
        MATCHTOK(loadb,   OP_LOADB)
        MATCHTOK(load,    OP_LOAD)
        MATCHTOK(storb,   OP_STORB)
        MATCHTOK(stor,    OP_STOR)
        MATCHTOK(in,      OP_IN)
        MATCHTOK(out,     OP_OUT)
        MATCHTOK(push,    OP_PUSH)
        MATCHTOK(pop,     OP_POP)
        MATCHTOK(hlt,     OP_HLT)
        MATCHTOK(syscall, OP_SYSCALL)
        MATCHTOK(nop,     OP_NOP)

        // numbers
        if (((text[i] >= '0') && (text[i] <= '9')) || (text[i] == '-')) {
            if ((text[i + 1] == 'x') && (text[i] != '-')) {
                for (j = i + 2;
                     (    ((text[j] >= '0') && (text[j] <= '9'))
                       || ((text[j] >= 'a') && (text[j] <= 'f')));
                     j++) {}
            }
            else {
                for (j = i + 1;
                     ((text[j] >= '0') && (text[j] <= '9'));
                     j++) {}
            }
            // catch #x case
            if (text[j - 1] != 'x') {
                strncpy(buf, &(text[i]), j - i < 64 ? j - i : 64);
                buf[j - i] = '\0'; // weird strncpy not copy null-terminator
                buf[63] = '\0';
                lexer_append(&lexer, token_create(TOK_NUMBER, buf, line));
                i = j;
                continue;
            }
        }

        // labels
        if ((text[i] >= 'a') && (text[i] <= 'z')) {
            for (j = i + 1; 
                       ((text[j] >= 'a') && (text[j] <= 'z'))
                    || ((text[j] >= '0') && (text[j] <= '9'))
                    || (text[j] == '_');
                 j++) {}
            for (k = j; (text[k] == ' ') || (text[k] == '\t'); k++) {}
            strncpy(buf, &(text[i]), j - i < 64 ? j - i : 64);
            buf[j - i] = '\0';
            buf[63] = '\0';
            if (text[k] == ':') {
                lexer_append(&lexer, token_create(TOK_LABELDEC, buf, line));
                i = k + 1;
            }
            else {
                lexer_append(&lexer, token_create(TOK_LABEL, buf, line));
                i = j;
            }
            continue;
        }

        // strings
        if (text[i] == '"') {
            char * tmpstr = (char *) malloc(4096);
            j = i + 1;
            k = 0;
            while (text[j] != '"') {
                if (text[j] == '\\') {
                    j++;
                    if (text[j] == 'n')
                        tmpstr[k++] = '\n';
                    else if (text[j] == 't')
                        tmpstr[k++] = '\t';
                    else
                        tmpstr[k++] = text[j];
                }
                else
                    tmpstr[k++] = text[j];
                j++;
            }
            tmpstr[k] = '\0';
            lexer_append(&lexer, token_create(TOK_STRING, tmpstr, line));
            i = j + 1;
            free(tmpstr);
            continue;
        }


        fprintf(stderr, "invalid input to lexer, line %d (char=0x%02x)\n",
                line, text[i]);

        return NULL;
    }

    if (lexer.last == NULL)
        return NULL;

    if (lexer.last->type != TOK_NEWLINE)
        lexer_append(&lexer, token_create(TOK_NEWLINE, NULL, line));

    return lexer.first;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x1, -0x20(%rbp)
movq $0x0, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x568f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x344b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x9, %eax
jne 0x3456
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3414
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
jne 0x349b
movl -0x20(%rbp), %edx
movl $0x70, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x3414
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x34d7
movl -0x20(%rbp), %edx
movl $0x71, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3414
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x350b
jmp 0x34ea
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x3506
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x34ea
jmp 0x3414
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x6057(%rip), %rsi      # 0x9574
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x35b9
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3554
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x35b7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3578
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x35b7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x35b7
movl -0x20(%rbp), %edx
xorl %edi, %edi
leaq 0x5fde(%rip), %rsi      # 0x9574
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x35b9
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5fac(%rip), %rsi      # 0x9577
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x366a
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3602
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3668
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3626
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3668
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3668
movl -0x20(%rbp), %edx
movl $0x1, %edi
leaq 0x5f30(%rip), %rsi      # 0x9577
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x366a
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5efe(%rip), %rsi      # 0x957a
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x371b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x36b3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3719
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x36d7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3719
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3719
movl -0x20(%rbp), %edx
movl $0x2, %edi
leaq 0x5e82(%rip), %rsi      # 0x957a
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x371b
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5e50(%rip), %rsi      # 0x957d
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x37cc
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3764
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x37ca
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3788
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x37ca
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x37ca
movl -0x20(%rbp), %edx
movl $0x3, %edi
leaq 0x5dd4(%rip), %rsi      # 0x957d
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x37cc
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5da2(%rip), %rsi      # 0x9580
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x387d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3815
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x387b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3839
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x387b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x387b
movl -0x20(%rbp), %edx
movl $0x4, %edi
leaq 0x5d26(%rip), %rsi      # 0x9580
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x387d
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5cf4(%rip), %rsi      # 0x9583
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x392e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x38c6
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x392c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x38ea
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x392c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x392c
movl -0x20(%rbp), %edx
movl $0x5, %edi
leaq 0x5c78(%rip), %rsi      # 0x9583
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x392e
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5c46(%rip), %rsi      # 0x9586
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x39df
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3977
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x39dd
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x399b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x39dd
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x39dd
movl -0x20(%rbp), %edx
movl $0x6, %edi
leaq 0x5bca(%rip), %rsi      # 0x9586
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x39df
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5b98(%rip), %rsi      # 0x9589
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3a90
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3a28
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3a8e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3a4c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3a8e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3a8e
movl -0x20(%rbp), %edx
movl $0xa, %edi
leaq 0x5b1c(%rip), %rsi      # 0x9589
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3a90
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5aea(%rip), %rsi      # 0x958c
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3b41
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3ad9
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3b3f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3afd
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3b3f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3b3f
movl -0x20(%rbp), %edx
movl $0x9, %edi
leaq 0x5a6e(%rip), %rsi      # 0x958c
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3b41
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5a3d(%rip), %rsi      # 0x9590
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3bf2
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3b8a
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3bf0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3bae
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3bf0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3bf0
movl -0x20(%rbp), %edx
movl $0x8, %edi
leaq 0x59c1(%rip), %rsi      # 0x9590
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3bf2
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5990(%rip), %rsi      # 0x9594
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3ca3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3c3b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3ca1
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3c5f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3ca1
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3ca1
movl -0x20(%rbp), %edx
movl $0x7, %edi
leaq 0x5914(%rip), %rsi      # 0x9594
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3ca3
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5942(%rip), %rsi      # 0x95f7
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3d54
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3cec
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3d52
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3d10
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3d52
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3d52
movl -0x20(%rbp), %edx
movl $0x51, %edi
leaq 0x58c6(%rip), %rsi      # 0x95f7
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3d54
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5895(%rip), %rsi      # 0x95fb
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3e05
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3d9d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3e03
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3dc1
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3e03
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3e03
movl -0x20(%rbp), %edx
movl $0x53, %edi
leaq 0x5819(%rip), %rsi      # 0x95fb
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3e05
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5781(%rip), %rsi      # 0x9598
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3eb6
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3e4e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3eb4
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3e72
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3eb4
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3eb4
movl -0x20(%rbp), %edx
movl $0x10, %edi
leaq 0x5705(%rip), %rsi      # 0x9598
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3eb6
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x56d4(%rip), %rsi      # 0x959c
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x3f67
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3eff
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x3f65
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3f23
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x3f65
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x3f65
movl -0x20(%rbp), %edx
movl $0x12, %edi
leaq 0x5658(%rip), %rsi      # 0x959c
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x3f67
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5627(%rip), %rsi      # 0x95a0
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4018
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x3fb0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4016
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x3fd4
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4016
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4016
movl -0x20(%rbp), %edx
movl $0x14, %edi
leaq 0x55ab(%rip), %rsi      # 0x95a0
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4018
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x557a(%rip), %rsi      # 0x95a4
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x40c9
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4061
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x40c7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4085
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x40c7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x40c7
movl -0x20(%rbp), %edx
movl $0x16, %edi
leaq 0x54fe(%rip), %rsi      # 0x95a4
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x40c9
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x54cd(%rip), %rsi      # 0x95a8
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x417a
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4112
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4178
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4136
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4178
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4178
movl -0x20(%rbp), %edx
movl $0x18, %edi
leaq 0x5451(%rip), %rsi      # 0x95a8
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x417a
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5420(%rip), %rsi      # 0x95ac
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x422b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x41c3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4229
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x41e7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4229
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4229
movl -0x20(%rbp), %edx
movl $0x1a, %edi
leaq 0x53a4(%rip), %rsi      # 0x95ac
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x422b
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x53a1(%rip), %rsi      # 0x95de
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x42dc
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4274
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x42da
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4298
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x42da
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x42da
movl -0x20(%rbp), %edx
movl $0x1c, %edi
leaq 0x5325(%rip), %rsi      # 0x95de
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x42dc
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x52c2(%rip), %rsi      # 0x95b0
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x438d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4325
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x438b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4349
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x438b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x438b
movl -0x20(%rbp), %edx
movl $0x1e, %edi
leaq 0x5246(%rip), %rsi      # 0x95b0
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x438d
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5215(%rip), %rsi      # 0x95b4
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x443e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x43d6
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x443c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x43fa
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x443c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x443c
movl -0x20(%rbp), %edx
movl $0x20, %edi
leaq 0x5199(%rip), %rsi      # 0x95b4
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x443e
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5168(%rip), %rsi      # 0x95b8
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x44ef
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4487
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x44ed
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x44ab
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x44ed
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x44ed
movl -0x20(%rbp), %edx
movl $0x21, %edi
leaq 0x50ec(%rip), %rsi      # 0x95b8
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x44ef
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x50ba(%rip), %rsi      # 0x95bb
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x45a0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4538
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x459e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x455c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x459e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x459e
movl -0x20(%rbp), %edx
movl $0x22, %edi
leaq 0x503e(%rip), %rsi      # 0x95bb
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x45a0
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x5010(%rip), %rsi      # 0x95c2
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4651
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x45e9
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x464f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x460d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x464f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x464f
movl -0x20(%rbp), %edx
movl $0x24, %edi
leaq 0x4f94(%rip), %rsi      # 0x95c2
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4651
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4f5c(%rip), %rsi      # 0x95bf
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4702
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x469a
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4700
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x46be
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4700
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4700
movl -0x20(%rbp), %edx
movl $0x23, %edi
leaq 0x4ee0(%rip), %rsi      # 0x95bf
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4702
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4eb5(%rip), %rsi      # 0x95c9
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x47b3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x474b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x47b1
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x476f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x47b1
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x47b1
movl -0x20(%rbp), %edx
movl $0x26, %edi
leaq 0x4e39(%rip), %rsi      # 0x95c9
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x47b3
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4e01(%rip), %rsi      # 0x95c6
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4864
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x47fc
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4862
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4820
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4862
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4862
movl -0x20(%rbp), %edx
movl $0x25, %edi
leaq 0x4d85(%rip), %rsi      # 0x95c6
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4864
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4d90(%rip), %rsi      # 0x9606
movl $0x4, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4915
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x48ad
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4913
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x48d1
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4913
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4913
movl -0x20(%rbp), %edx
movl $0x27, %edi
leaq 0x4d14(%rip), %rsi      # 0x9606
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4915
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4ca6(%rip), %rsi      # 0x95cd
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x49c6
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x495e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x49c4
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4982
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x49c4
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x49c4
movl -0x20(%rbp), %edx
movl $0x29, %edi
leaq 0x4c2a(%rip), %rsi      # 0x95cd
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x49c6
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4bfe(%rip), %rsi      # 0x95d6
movl $0x5, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4a77
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4a0f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4a75
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4a33
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4a75
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4a75
movl -0x20(%rbp), %edx
movl $0x32, %edi
leaq 0x4b82(%rip), %rsi      # 0x95d6
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x5, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4a77
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4b48(%rip), %rsi      # 0x95d1
movl $0x4, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4b28
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4ac0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4b26
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4ae4
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4b26
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4b26
movl -0x20(%rbp), %edx
movl $0x30, %edi
leaq 0x4acc(%rip), %rsi      # 0x95d1
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4b28
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4aa7(%rip), %rsi      # 0x95e1
movl $0x5, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4bd9
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4b71
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4bd7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4b95
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4bd7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x5(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4bd7
movl -0x20(%rbp), %edx
movl $0x36, %edi
leaq 0x4a2b(%rip), %rsi      # 0x95e1
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x5, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4bd9
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x49f1(%rip), %rsi      # 0x95dc
movl $0x4, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4c8a
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4c22
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4c88
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4c46
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4c88
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4c88
movl -0x20(%rbp), %edx
movl $0x34, %edi
leaq 0x4975(%rip), %rsi      # 0x95dc
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4c8a
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x494b(%rip), %rsi      # 0x95e7
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4d3b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4cd3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4d39
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4cf7
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4d39
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x2(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4d39
movl -0x20(%rbp), %edx
movl $0x40, %edi
leaq 0x48cf(%rip), %rsi      # 0x95e7
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x2, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4d3b
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x489d(%rip), %rsi      # 0x95ea
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4dec
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4d84
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4dea
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4da8
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4dea
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4dea
movl -0x20(%rbp), %edx
movl $0x41, %edi
leaq 0x4821(%rip), %rsi      # 0x95ea
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4dec
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x47f0(%rip), %rsi      # 0x95ee
movl $0x4, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4e9d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4e35
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4e9b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4e59
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4e9b
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x4(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4e9b
movl -0x20(%rbp), %edx
movl $0x42, %edi
leaq 0x4774(%rip), %rsi      # 0x95ee
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4e9d
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4744(%rip), %rsi      # 0x95f3
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4f4e
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4ee6
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4f4c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4f0a
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4f4c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4f4c
movl -0x20(%rbp), %edx
movl $0x44, %edi
leaq 0x46c8(%rip), %rsi      # 0x95f3
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4f4e
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x469f(%rip), %rsi      # 0x95ff
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x4fff
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x4f97
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x4ffd
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x4fbb
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x4ffd
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x4ffd
movl -0x20(%rbp), %edx
movl $0x60, %edi
leaq 0x4623(%rip), %rsi      # 0x95ff
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x4fff
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x45f2(%rip), %rsi      # 0x9603
movl $0x7, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x50b0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x7(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x5048
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x7(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x50ae
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x7(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x506c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x7(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x50ae
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x7(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x50ae
movl -0x20(%rbp), %edx
movl $0x61, %edi
leaq 0x4576(%rip), %rsi      # 0x9603
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x7, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x50b0
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
leaq 0x4549(%rip), %rsi      # 0x960b
movl $0x3, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x5161
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x50f9
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x515f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x511d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x515f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl 0x3(%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x515f
movl -0x20(%rbp), %edx
movl $0x90, %edi
leaq 0x44cd(%rip), %rsi      # 0x960b
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movslq -0x14(%rbp), %rax
addq $0x3, %rax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x5161
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x5183
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x5198
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2d, %eax
jne 0x533c
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x78, %eax
jne 0x523c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2d, %eax
je 0x523c
movl -0x14(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x51f3
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x39, %ecx
movb %al, -0x79(%rbp)
jle 0x5224
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x61, %ecx
movb %al, -0x7a(%rbp)
jl 0x521e
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x66, %eax
setle %al
movb %al, -0x7a(%rbp)
movb -0x7a(%rbp), %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x522d
jmp 0x523a
jmp 0x522f
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x51cc
jmp 0x5288
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x7b(%rbp)
jl 0x5270
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x7b(%rbp)
movb -0x7b(%rbp), %al
testb $0x1, %al
jne 0x5279
jmp 0x5286
jmp 0x527b
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x5245
jmp 0x5288
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x78, %eax
je 0x533a
leaq -0x60(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
cmpl $0x40, %eax
jge 0x52d8
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
movl %eax, -0x94(%rbp)
jmp 0x52e5
movl $0x40, %eax
movl %eax, -0x94(%rbp)
jmp 0x52e5
movq -0x88(%rbp), %rsi
movq -0x90(%rbp), %rdi
movl -0x94(%rbp), %eax
movslq %eax, %rdx
callq 0x2080
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
cltq
movb $0x0, -0x60(%rbp,%rax)
movb $0x0, -0x21(%rbp)
leaq -0x60(%rbp), %rsi
movl -0x20(%rbp), %edx
movl $0x72, %edi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movl -0x18(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x3414
jmp 0x533c
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x5518
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x7a, %eax
jg 0x5518
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x5399
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x7a, %ecx
movb %al, -0x95(%rbp)
jle 0x53db
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x53c3
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x39, %ecx
movb %al, -0x95(%rbp)
jle 0x53db
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5f, %eax
sete %al
movb %al, -0x95(%rbp)
movb -0x95(%rbp), %al
testb $0x1, %al
jne 0x53e7
jmp 0x53f7
jmp 0x53e9
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x536f
movl -0x18(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x96(%rbp)
je 0x542e
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x9, %eax
sete %al
movb %al, -0x96(%rbp)
movb -0x96(%rbp), %al
testb $0x1, %al
jne 0x543a
jmp 0x5447
jmp 0x543c
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x53fd
leaq -0x60(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
cmpl $0x40, %eax
jge 0x547d
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
movl %eax, -0xac(%rbp)
jmp 0x548a
movl $0x40, %eax
movl %eax, -0xac(%rbp)
jmp 0x548a
movq -0xa0(%rbp), %rsi
movq -0xa8(%rbp), %rdi
movl -0xac(%rbp), %eax
movslq %eax, %rdx
callq 0x2080
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
cltq
movb $0x0, -0x60(%rbp,%rax)
movb $0x0, -0x21(%rbp)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x3a, %eax
jne 0x54f0
leaq -0x60(%rbp), %rsi
movl -0x20(%rbp), %edx
movl $0x73, %edi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x5513
leaq -0x60(%rbp), %rsi
movl -0x20(%rbp), %edx
movl $0x74, %edi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movl -0x18(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x3414
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
jne 0x565e
movl $0x1000, %edi           # imm = 0x1000
callq 0x21f0
movq %rax, -0x78(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
je 0x561e
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
jne 0x55f0
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6e, %eax
jne 0x55a3
movq -0x78(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movb $0xa, (%rax,%rcx)
jmp 0x55ee
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x74, %eax
jne 0x55cc
movq -0x78(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x1c(%rbp)
movslq %ecx, %rcx
movb $0x9, (%rax,%rcx)
jmp 0x55ec
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x78(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
jmp 0x55ee
jmp 0x5610
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x78(%rbp), %rax
movl -0x1c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x554b
movq -0x78(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x78(%rbp), %rsi
movl -0x20(%rbp), %edx
movl $0x75, %edi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movq -0x78(%rbp), %rdi
callq 0x2040
jmp 0x3414
movq 0x6993(%rip), %rax      # 0xbff8
movq (%rax), %rdi
movl -0x20(%rbp), %edx
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
leaq 0x3fb7(%rip), %rsi      # 0x9635
movb $0x0, %al
callq 0x21c0
movq $0x0, -0x8(%rbp)
jmp 0x56ce
cmpq $0x0, -0x68(%rbp)
jne 0x56a0
movq $0x0, -0x8(%rbp)
jmp 0x56ce
movq -0x68(%rbp), %rax
cmpl $0x70, (%rax)
je 0x56c6
movl -0x20(%rbp), %edx
movl $0x70, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0x56e0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3390
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax,%rax)