// File: /workspace/github_cpp_makefile_star2_O1/Eronana[P]strawberry/src/lexer.cpp
// Function: Lexer::next()
Token Lexer::next()
{
    if (!fp) return createToken(TOKEN_ERROR, 0, "No source file.");
    Token comment_error, t;
    if (!skipComment(comment_error)) return comment_error;
    skipWhiteSpace();
    int c, i;
    if ((c = lookHead()) == CHAR_EOF) return createToken(TOKEN_EOF, 0);
    switch (c)
    {
    case '+':
        switch (lookHead(1))
        {
        case '+':
            return createToken(TOKEN_INCREMENT, 2);
        case '=':
            return createToken(TOKEN_ADD_ASSIGN, 2);
        default:
            return createToken(TOKEN_ADD);
        }
    case '-':
        switch (lookHead(1))
        {
        case '-':
            return createToken(TOKEN_DECREMENT, 2);
        case '=':
            return createToken(TOKEN_SUB_ASSIGN, 2);
        default:
            return createToken(TOKEN_SUB);
        }
    case '*':
        if (lookHead(1) == '=') return createToken(TOKEN_MUL_ASSIGN, 2);
        return createToken(TOKEN_MUL);
    case '/':
        if (lookHead(1) == '=') return createToken(TOKEN_DIV_ASSIGN, 2);
        return createToken(TOKEN_DIV);
    case '%':
        if (lookHead(1) == '=') return createToken(TOKEN_MOD_ASSIGN, 2);
        return createToken(TOKEN_MOD);
    case '(':
        return createToken(TOKEN_LEFT_PAREN);
    case ')':
        return createToken(TOKEN_RIGHT_PAREN);
    case '[':
        return createToken(TOKEN_LEFT_SQUARE_BARCKET);
    case ']':
        return createToken(TOKEN_RIGHT_SQUARE_BARCKET);
    case '{':
        return createToken(TOKEN_LEFT_BARCKET);
    case '}':
        return createToken(TOKEN_RIGHT_BARCKET);
    case '|':
        switch (lookHead(1))
        {
        case '|':
            return createToken(TOKEN_LOGIC_OR, 2);
        case '=':
            return createToken(TOKEN_BITWISE_OR_ASSIGN, 2);
        default:
            return createToken(TOKEN_BITWISE_OR);
        }
    case '&':
        switch (lookHead(1))
        {
        case '&':
            return createToken(TOKEN_LOGIC_AND, 2);
        case '=':
            return createToken(TOKEN_BITWISE_AND_ASSIGN, 2);
        default:
            return createToken(TOKEN_BITWISE_AND);
        }
    case '~':
        return createToken(TOKEN_BITWISE_NOT);
    case '^':
        if (lookHead(1) == '=') return createToken(TOKEN_BITWISE_XOR_ASSIGN, 2);
        return createToken(TOKEN_BITWISE_XOR);
    case '!':
        if (lookHead(1) == '=') return createToken(TOKEN_INEQUAL, 2);
        return createToken(TOKEN_NEGATION);
    case '=':
        if (lookHead(1) == '=') return createToken(TOKEN_EQUAL, 2);
        return createToken(TOKEN_ASSIGN);
    case '>':
        if (lookHead(1) == '>')
        {
            if (lookHead(2) == '=') return createToken(TOKEN_RIGHT_SHIFT_ASSIGN, 3);
            return createToken(TOKEN_RIGHT_SHIFT, 2);
        }
        else if (lookHead(1) == '=') return createToken(TOKEN_GREATER_EQUAL, 2);
        return createToken(TOKEN_GREATER);
    case '<':
        if (lookHead(1) == '<')
        {
            if (lookHead(2) == '=') return createToken(TOKEN_LEFT_SHIFT_ASSIGN, 3);
            return createToken(TOKEN_LEFT_SHIFT, 2);
        }
        else if (lookHead(1) == '=') return createToken(TOKEN_LESS_EQUAL, 2);
        return createToken(TOKEN_LESS);
    case ';':
        return createToken(TOKEN_SEMICOLON);
    case ',':
        return createToken(TOKEN_COMMA);
    case ':':
        return createToken(TOKEN_COLON);
    case '?':
        return createToken(TOKEN_QUESTIONMARK);
    case '\'':
    case '"':
        for (i = 1; (lookHead(i) != c || lookHead(i - 1) == '\\') && lookHead(i) != '\n' && lookHead(i) != CHAR_EOF; i++);
        if (lookHead(i) == '\n') return createToken(TOKEN_ERROR, i, "Unterminated string literal in new line");
        if (lookHead(i) == CHAR_EOF) return createToken(TOKEN_ERROR, i, "Unterminated string literal in EOF");
        return createToken(TOKEN_STRING_LITERAL, i + 1);
    default:
        if (isIdentifierHead(c))
        {
            for (i = 1; isIdentifier(lookHead(i)); i++);
            t = createToken(TOKEN_IDENTIFIER, i);
            if (t.raw == "true" || t.raw == "false") t.type = TOKEN_BOOL_LITERAL;
            if (t.raw == "null") t.type = TOKEN_NULL_LITERAL;
            return t;
        }
        if (c == '0')
            switch (lookHead(1))
            {
            case 'b':
            case 'B':
                for (i = 2; isBin(lookHead(i)); i++);
                return createToken(TOKEN_BIN_INTEGER_LITERAL, i);
            case 'x':
            case 'X':
                for (i = 2; isHex(lookHead(i)); i++);
                return createToken(TOKEN_HEX_INTEGER_LITERAL, i);
            case '.':
                break;
            default:
                for (i = 1; isOct(lookHead(i)); i++);
                return createToken(TOKEN_OCT_INTEGER_LITERAL, i);
            }
        if (c == '.')
        {
            if (isNumber(lookHead(1)))
            {
                for (i = 1; isNumber(lookHead(i)); i++);
                if (lookHead(i) == 'F' || lookHead(i) == 'f') return createToken(TOKEN_FLOAT_LITERAL, i + 1);
                return createToken(TOKEN_FLOAT_LITERAL, i);
            }
            else
                return createToken(TOKEN_DOT);
        }
        if (isNumber(c))
        {
            for (i = 1; isNumber(lookHead(i)); i++);
            if (lookHead(i) != '.')
            {
                if (lookHead(i) == 'F' || lookHead(i) == 'f') return createToken(TOKEN_FLOAT_LITERAL, i + 1);
                return createToken(TOKEN_DEC_INTEGER_LITERAL, i);
            }
            for (i++; isNumber(lookHead(i)); i++);
            if (lookHead(i) == 'F' || lookHead(i) == 'f') i++;
            return createToken(TOKEN_FLOAT_LITERAL, i);
        }
        return createToken(TOKEN_ERROR, 1, "Unexcepted symbol");
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, (%rsi)
je 0x1c4be
leaq 0x28(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x48(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0x78(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x98(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x1c01e
testb %al, %al
je 0x1c50b
movq %r14, %rdi
callq 0x1bf9c
movq %r14, %rdi
xorl %esi, %esi
callq 0x1bd26
movl %eax, %ebp
movzbl %al, %eax
movl $0x1, %r15d
cmpl $0x5c, %eax
jg 0x1c5ac
leal -0x21(%rax), %ecx
cmpl $0x1e, %ecx
ja 0x1c674
leaq 0x4cb0(%rip), %rdx      # 0x2110c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x2, %r15d
leal -0x1(%r15), %r12d
movq %r14, %rdi
movl %r12d, %esi
callq 0x1bd26
cmpb %bpl, %al
jne 0x1c493
leal -0x2(%r15), %esi
movq %r14, %rdi
callq 0x1bd26
cmpb $0x5c, %al
jne 0x1c609
movq %r14, %rdi
movl %r12d, %esi
callq 0x1bd26
cmpb $0xa, %al
je 0x1c609
movq %r14, %rdi
movl %r12d, %esi
callq 0x1bd26
cmpb $-0x1, %al
je 0x1c609
incl %r15d
jmp 0x1c46b
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4f5f(%rip), %rsi      # 0x2142d
leaq 0x4f67(%rip), %rdx      # 0x2143c
leaq 0x8(%rsp), %rdi
callq 0xb1a2
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1bf62
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1cb58
movq 0x18(%rsp), %rsi
jmp 0x1cb50
movl 0x10(%rsp), %eax
movl %eax, 0x8(%rbx)
movq 0x8(%rsp), %rax
movq %rax, (%rbx)
leaq 0x20(%rbx), %rax
movq %rax, 0x10(%rbx)
movq 0x18(%rsp), %rcx
leaq 0x28(%rsp), %rdx
cmpq %rdx, %rcx
je 0x1c540
movq %rcx, 0x10(%rbx)
movq 0x28(%rsp), %rax
movq %rax, 0x20(%rbx)
jmp 0x1c546
movups (%rdx), %xmm0
movups %xmm0, (%rax)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rbx)
movq %rdx, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
movb $0x0, 0x28(%rsp)
leaq 0x40(%rbx), %rax
movq %rax, 0x30(%rbx)
movq 0x38(%rsp), %rcx
cmpq %r13, %rcx
je 0x1c583
movq %rcx, 0x30(%rbx)
movq 0x48(%rsp), %rax
movq %rax, 0x40(%rbx)
jmp 0x1c58b
movups (%r13), %xmm0
movups %xmm0, (%rax)
movq 0x40(%rsp), %rax
movq %rax, 0x38(%rbx)
movq %r13, 0x38(%rsp)
movq $0x0, 0x40(%rsp)
movb $0x0, 0x48(%rsp)
jmp 0x1cae4
cmpl $0x7a, %eax
jle 0x1c5d7
leal -0x7b(%rax), %ecx
cmpl $0x3, %ecx
ja 0x1c660
leaq 0x4bc4(%rip), %rax      # 0x21188
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x12, %edx
jmp 0x1cad6
cmpl $0x5d, %eax
je 0x1c6c8
cmpl $0x5e, %eax
jne 0x1c6d2
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl $0x1c, %edx
jmp 0x1c834
movq %r14, %rdi
movl %r12d, %esi
callq 0x1bd26
cmpb $0xa, %al
jne 0x1c954
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e0e(%rip), %rsi      # 0x2143d
leaq 0x4e2e(%rip), %rdx      # 0x21464
leaq 0xa8(%rsp), %rdi
callq 0xb1a2
leaq 0xa8(%rsp), %r8
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
movl %r12d, %ecx
callq 0x1bf62
jmp 0x1cd43
cmpl $0xff, %eax
jne 0x1c6d2
xorl %r15d, %r15d
movl $0x1, %edx
jmp 0x1cad6
cmpl $0x5b, %eax
jne 0x1c6d2
movl $0x10, %edx
jmp 0x1cad6
movl $0x13, %edx
jmp 0x1cad6
movl $0x1a, %edx
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
movl $0x2, %r15d
cmpb $0x7c, %al
je 0x1cb6d
movzbl %al, %eax
cmpl $0x3d, %eax
jne 0x1cb77
movl $0x15, %edx
jmp 0x1cad6
movl $0x11, %edx
jmp 0x1cad6
cmpb $0x5f, %bpl
je 0x1c9b0
movl %ebp, %ecx
andb $-0x21, %cl
addb $-0x41, %cl
cmpb $0x19, %cl
jbe 0x1c9b0
cmpb $0x2e, %bpl
je 0x1cc95
cmpl $0x30, %eax
jne 0x1ccd7
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
movzbl %al, %eax
cmpl $0x57, %eax
jle 0x1cc51
cmpl $0x58, %eax
je 0x1c730
cmpl $0x62, %eax
je 0x1cc5f
cmpl $0x78, %eax
jne 0x1ce1a
movl $0x2, %r15d
movabsq $0x3f0000003f, %r12     # imm = 0x3F0000003F
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
leal -0x30(%rax), %ecx
cmpb $0xa, %cl
jb 0x1c76c
movzbl %al, %eax
addl $-0x41, %eax
cmpl $0x25, %eax
ja 0x1cc85
btq %rax, %r12
jae 0x1cc85
incl %r15d
jmp 0x1c740
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
cmpb $0x3e, %al
jne 0x1ca9d
movq %r14, %rdi
movl $0x2, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl $0x22, %edx
jmp 0x1c8b1
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl $0x20, %edx
jmp 0x1c834
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl %r15d, %edx
xorl $0xb, %edx
jmp 0x1cad3
movl $0xf, %edx
jmp 0x1cad6
movl $0x2a, %edx
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl %r15d, %edx
xorl $0x9, %edx
jmp 0x1cad3
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl $0x1e, %edx
subl %r15d, %edx
jmp 0x1cad3
movl $0x2c, %edx
jmp 0x1cad6
movl $0x2d, %edx
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
movl $0x2, %r15d
cmpb $0x2d, %al
je 0x1cb87
movzbl %al, %eax
cmpl $0x3d, %eax
jne 0x1cba5
movl $0x6, %edx
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
cmpb $0x3c, %al
jne 0x1cab9
movq %r14, %rdi
movl $0x2, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl $0x26, %edx
subl %r15d, %edx
orl $0x2, %r15d
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
movl $0x2, %r15d
cmpb $0x2b, %al
je 0x1cb91
movzbl %al, %eax
cmpl $0x3d, %eax
jne 0x1cbb5
movl $0x3, %edx
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
movl %r15d, %edx
xorl $0xd, %edx
jmp 0x1cad3
movl $0xe, %edx
jmp 0x1cad6
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
movl $0x2, %r15d
cmpb $0x26, %al
je 0x1cb9b
movzbl %al, %eax
cmpl $0x3d, %eax
jne 0x1cbc5
movl $0x18, %edx
jmp 0x1cad6
movl $0x29, %edx
jmp 0x1cad6
movq %r14, %rdi
movl %r12d, %esi
callq 0x1bd26
movl $0x2f, %edx
cmpb $-0x1, %al
jne 0x1cad6
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4ae6(%rip), %rsi      # 0x21465
leaq 0x4b01(%rip), %rdx      # 0x21487
leaq 0xa8(%rsp), %rdi
callq 0xb1a2
leaq 0xa8(%rsp), %r8
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
movl %r12d, %ecx
callq 0x1bf62
jmp 0x1cd43
leaq 0x68(%rsp), %r15
movl $0x1, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x1bd26
leal -0x30(%rax), %ecx
cmpb $0xa, %cl
jb 0x1c9d8
cmpb $0x5f, %al
je 0x1c9d8
andb $-0x21, %al
addb $-0x41, %al
cmpb $0x19, %al
ja 0x1c9dc
incl %ebp
jmp 0x1c9ba
leaq 0xa8(%rsp), %rdi
movq %r14, %rsi
movl $0x2e, %edx
movl %ebp, %ecx
callq 0x1be84
leaq 0x58(%rsp), %rdi
leaq 0xa8(%rsp), %r14
movq %r14, %rsi
callq 0x1cec0
movq %r14, %rdi
callq 0x7cb0
leaq 0x398c(%rip), %rsi      # 0x203a3
movq %r15, %rdi
callq 0x60d0
testl %eax, %eax
je 0x1ca36
leaq 0x397e(%rip), %rsi      # 0x203a8
movq %r15, %rdi
callq 0x60d0
testl %eax, %eax
jne 0x1ca3e
movl $0x34, 0x58(%rsp)
leaq 0x3997(%rip), %rsi      # 0x203dc
movq %r15, %rdi
callq 0x60d0
testl %eax, %eax
jne 0x1ca59
movl $0x35, 0x58(%rsp)
movl 0x60(%rsp), %eax
movl %eax, 0x8(%rbx)
movq 0x58(%rsp), %rax
movq %rax, (%rbx)
leaq 0x20(%rbx), %rax
movq %rax, 0x10(%rbx)
movq 0x68(%rsp), %rcx
leaq 0x78(%rsp), %rdx
cmpq %rdx, %rcx
leaq 0x98(%rsp), %rsi
je 0x1cbd5
movq %rcx, 0x10(%rbx)
movq 0x78(%rsp), %rax
movq %rax, 0x20(%rbx)
jmp 0x1cbdb
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
leal 0x23(%r15), %edx
jmp 0x1cad3
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
xorl %r15d, %r15d
cmpb $0x3d, %al
sete %r15b
leal 0x27(%r15), %edx
incl %r15d
movq %rbx, %rdi
movq %r14, %rsi
movl %r15d, %ecx
callq 0x1be84
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1cb09
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6230
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1cb25
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6230
movq 0x38(%rsp), %rdi
cmpq %r13, %rdi
je 0x1cb3c
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x6230
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x1cb58
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x6230
movq %rbx, %rax
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x14, %edx
jmp 0x1cad6
movl $0x1, %r15d
movl $0x16, %edx
jmp 0x1cad6
movl $0x5, %edx
jmp 0x1cad6
movl $0x2, %edx
jmp 0x1cad6
movl $0x17, %edx
jmp 0x1cad6
movl $0x1, %r15d
movl $0x7, %edx
jmp 0x1cad6
movl $0x1, %r15d
movl $0x4, %edx
jmp 0x1cad6
movl $0x1, %r15d
movl $0x19, %edx
jmp 0x1cad6
movups (%rdx), %xmm0
movups %xmm0, (%rax)
movq 0x70(%rsp), %rax
movq %rax, 0x18(%rbx)
movq %rdx, 0x68(%rsp)
movq $0x0, 0x70(%rsp)
movb $0x0, 0x78(%rsp)
leaq 0x40(%rbx), %rax
movq %rax, 0x30(%rbx)
movq 0x88(%rsp), %rcx
cmpq %rsi, %rcx
je 0x1cc1e
movq %rcx, 0x30(%rbx)
movq 0x98(%rsp), %rax
movq %rax, 0x40(%rbx)
jmp 0x1cc24
movups (%rsi), %xmm0
movups %xmm0, (%rax)
movq 0x90(%rsp), %rax
movq %rax, 0x38(%rbx)
movq %rsi, 0x88(%rsp)
movq $0x0, 0x90(%rsp)
movb $0x0, 0x98(%rsp)
jmp 0x1cae4
cmpl $0x2e, %eax
je 0x1cc8f
cmpl $0x42, %eax
jne 0x1ce1a
movl $0x2, %r15d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
andb $-0x2, %al
cmpb $0x30, %al
jne 0x1cc7b
incl %r15d
jmp 0x1cc65
movl $0x30, %edx
jmp 0x1cad6
movl $0x33, %edx
jmp 0x1cad6
cmpb $0x2e, %bpl
jne 0x1ccd7
movl $0x1, %r15d
movq %r14, %rdi
movl $0x1, %esi
callq 0x1bd26
addb $-0x30, %al
movl $0x2b, %edx
cmpb $0x9, %al
ja 0x1cad6
movl $0x1, %r15d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
addb $-0x30, %al
cmpb $0x9, %al
ja 0x1cdb2
incl %r15d
jmp 0x1ccbd
addb $-0x30, %bpl
cmpb $0x9, %bpl
ja 0x1cd02
movl $0x2, %r12d
leal -0x1(%r12), %r15d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
addb $-0x30, %al
cmpb $0x9, %al
ja 0x1cd69
incl %r12d
jmp 0x1cce7
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4773(%rip), %rsi      # 0x21488
leaq 0x477d(%rip), %rdx      # 0x21499
leaq 0xa8(%rsp), %rdi
callq 0xb1a2
leaq 0xa8(%rsp), %r8
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x1bf62
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1cae4
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x6230
jmp 0x1cae4
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
cmpb $0x2e, %al
jne 0x1cde6
movq %r14, %rdi
movl %r12d, %esi
callq 0x1bd26
addb $-0x30, %al
incl %r12d
cmpb $0xa, %al
jb 0x1cd78
leal -0x1(%r12), %r15d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
cmpb $0x46, %al
je 0x1ce0d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
movl $0x36, %edx
jmp 0x1ce05
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
cmpb $0x46, %al
je 0x1cdd9
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
movl $0x36, %edx
cmpb $0x66, %al
jne 0x1cad6
incl %r15d
movl $0x36, %edx
jmp 0x1cad6
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
cmpb $0x46, %al
je 0x1ce0d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
movl $0x32, %edx
cmpb $0x66, %al
jne 0x1cad6
movl $0x36, %edx
movl %r12d, %r15d
jmp 0x1cad6
movl $0x1, %r15d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1bd26
andb $-0x8, %al
cmpb $0x30, %al
jne 0x1ce36
incl %r15d
jmp 0x1ce20
movl $0x31, %edx
jmp 0x1cad6
jmp 0x1ce4a
jmp 0x1cea1
jmp 0x1ce4a
jmp 0x1cea1
jmp 0x1cea1
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1cea4
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x6230
jmp 0x1cea4
jmp 0x1cea1
jmp 0x1cea1
jmp 0x1cea1
jmp 0x1cea1
jmp 0x1cea1
jmp 0x1cea1
jmp 0x1cea1
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1ceb8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6230
jmp 0x1ceb8
movq %rax, %rbx
jmp 0x1ceb8
jmp 0x1cea1
jmp 0x1cea1
jmp 0x1cea1
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x7cb0
leaq 0x8(%rsp), %rdi
callq 0x7cb0
movq %rbx, %rdi
callq 0x6450