// File: /workspace/github_cpp_makefile_star2_O1/joncampbell123[P]haxcc/haxpp.cpp
// Function: parse_tokens(std::vector<token, std::allocator<token>>&, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void parse_tokens(token_string &tokens,const string::iterator lib,const string::iterator lie,const int32_t lineno,const string &source) {
    auto li = lib;

    (void)lineno;
    (void)source;

    bool macro_expand = true;
    bool is_pp = false;

    /* initial whitespace skip */
    parse_skip_whitespace(li,lie);
    if (li == lie) return;

    /* li != lie */
    if (*li == '#') {
        /* preprocessor handling */
        li++;
        parse_skip_whitespace(li,lie);
        /* expect identifier, or else */
        tokens.push_back(token::PREPROC);
        is_pp = true;

        {
            string ident = parse_identifier(li,lie); /* will throw exception otherwise */
            enum token::token_t tk;

            if ((tk=is_pp_keyword(ident)) != token::NONE) {
                tokens.push_back(tk);

                switch (tk) {
                    case token::IFDEF:
                    case token::IFNDEF:
                    case token::DEFINE:
                    case token::UNDEF:
                        parse_skip_whitespace(li,lie);
                        ident = parse_identifier(li,lie);
                        tokens.push_back(move(token(token::IDENTIFIER,ident)));
                        macro_expand = false;
                        break;
                    case token::ENDIF:
                    case token::ELSE:
                        macro_expand = false;
                        break;
                    default:
                        break;
                };

                if (tk == token::DEFINE) {
                    parse_tokens_define(tokens,li,lie,lineno,source);
                    return;
                }
            }
            else {
                throw invalid_argument(string("Invalid preprocessor directive ") + ident);
            }
        }

        parse_skip_whitespace(li,lie);
    }

    /* general parsing. expects code to skip whitespace after doing it's part */
    while (li != lie) {
        if (*li == '\"')
            tokens.push_back(move(parse_string(li,lie)));
        else if (*li == '\'')
            tokens.push_back(move(parse_sq_char(li,lie)));
        else if (strit_next_match_inc(li,lie,'.','.','.'))
            tokens.push_back(token::DOTDOTDOT);
        else if (strit_next_match_inc(li,lie,'.'))
            tokens.push_back(token::PERIOD);
        else if (strit_next_match_inc(li,lie,','))
            tokens.push_back(token::COMMA);
        else if (strit_next_match_inc(li,lie,'<','<','='))
            tokens.push_back(token::LEFT_SHIFT_EQUALS);
        else if (strit_next_match_inc(li,lie,'<','<'))
            tokens.push_back(token::LEFT_SHIFT);
        else if (strit_next_match_inc(li,lie,'<','='))
            tokens.push_back(token::LESS_THAN_OR_EQUAL);
        else if (strit_next_match_inc(li,lie,'<'))
            tokens.push_back(token::LESS_THAN);
        else if (strit_next_match_inc(li,lie,'>','>','='))
            tokens.push_back(token::RIGHT_SHIFT_EQUALS);
        else if (strit_next_match_inc(li,lie,'>','>'))
            tokens.push_back(token::RIGHT_SHIFT);
        else if (strit_next_match_inc(li,lie,'>','='))
            tokens.push_back(token::GREATER_THAN_OR_EQUAL);
        else if (strit_next_match_inc(li,lie,'>'))
            tokens.push_back(token::GREATER_THAN);
        else if (strit_next_match_inc(li,lie,'-','>'))
            tokens.push_back(token::PTRARROW);
        else if (strit_next_match_inc(li,lie,'-','-'))
            tokens.push_back(token::DECREMENT);
        else if (strit_next_match_inc(li,lie,'-','='))
            tokens.push_back(token::MINUS_EQUALS);
        else if (strit_next_match_inc(li,lie,'-'))
            tokens.push_back(token::MINUS);
        else if (strit_next_match_inc(li,lie,'+','+'))
            tokens.push_back(token::INCREMENT);
        else if (strit_next_match_inc(li,lie,'+','='))
            tokens.push_back(token::PLUS_EQUALS);
        else if (strit_next_match_inc(li,lie,'+'))
            tokens.push_back(token::PLUS);
        else if (strit_next_match_inc(li,lie,'=','='))
            tokens.push_back(token::EQUALS);
        else if (strit_next_match_inc(li,lie,'='))
            tokens.push_back(token::ASSIGNMENT);
        else if (strit_next_match_inc(li,lie,'~'))
            tokens.push_back(token::COMPLEMENT);
        else if (strit_next_match_inc(li,lie,'^','='))
            tokens.push_back(token::XOR_EQUALS);
        else if (strit_next_match_inc(li,lie,'^'))
            tokens.push_back(token::CARET);
        else if (strit_next_match_inc(li,lie,'?'))
            tokens.push_back(token::QUESTIONMARK);
        else if (strit_next_match_inc(li,lie,':'))
            tokens.push_back(token::COLON);
        else if (strit_next_match_inc(li,lie,'|','|'))
            tokens.push_back(token::LOGICAL_OR);
        else if (strit_next_match_inc(li,lie,'|','='))
            tokens.push_back(token::OR_EQUALS);
        else if (strit_next_match_inc(li,lie,'|'))
            tokens.push_back(token::PIPE);
        else if (strit_next_match_inc(li,lie,'!','='))
            tokens.push_back(token::NOT_EQUALS);
        else if (strit_next_match_inc(li,lie,'!'))
            tokens.push_back(token::NOT);
        else if (strit_next_match_inc(li,lie,'&','&'))
            tokens.push_back(token::LOGICAL_AND);
        else if (strit_next_match_inc(li,lie,'&','='))
            tokens.push_back(token::AND_EQUALS);
        else if (strit_next_match_inc(li,lie,'&'))
            tokens.push_back(token::AMPERSAND);
        else if (strit_next_match_inc(li,lie,'*','='))
            tokens.push_back(token::MULTIPLY_EQUALS);
        else if (strit_next_match_inc(li,lie,'*'))
            tokens.push_back(token::STAR);
        else if (strit_next_match_inc(li,lie,'/','='))
            tokens.push_back(token::DIVIDE_EQUALS);
        else if (strit_next_match_inc(li,lie,'/'))
            tokens.push_back(token::DIVISION);
        else if (strit_next_match_inc(li,lie,'%','='))
            tokens.push_back(token::MODULUS_EQUALS);
        else if (strit_next_match_inc(li,lie,'%'))
            tokens.push_back(token::MODULUS);
        else if (strit_next_match_inc(li,lie,'('))
            tokens.push_back(token::OPEN_PARENS);
        else if (strit_next_match_inc(li,lie,')'))
            tokens.push_back(token::CLOSE_PARENS);
        else if (strit_next_match_inc(li,lie,'['))
            tokens.push_back(token::OPEN_SBRACKET);
        else if (strit_next_match_inc(li,lie,']'))
            tokens.push_back(token::CLOSE_SBRACKET);
        else if (strit_next_match_inc(li,lie,'{'))
            tokens.push_back(token::OPEN_CBRACKET);
        else if (strit_next_match_inc(li,lie,'}'))
            tokens.push_back(token::CLOSE_CBRACKET);
        else if (strit_next_match_inc(li,lie,'#','#'))
            tokens.push_back(token::TOKEN_PASTE);
        else if (strit_next_match_inc(li,lie,'#'))
            tokens.push_back(token::STRINGIFY);
        else if (isdigit(*li))
            tokens.push_back(move(parse_number(li,lie)));
        else if (isidentifier_fc(*li)) {
            string ident = parse_identifier(li,lie); /* will throw exception otherwise */
            enum token::token_t tk;

            if (is_pp && (tk=is_pp_keyword(ident)) != token::NONE) {
                tokens.push_back(tk);

                if (tk == token::DEFINED) {
                    string macro;
                    int parens = 0;

                    /* macro name must be preserved, do not expand, so the test can be done properly.
                     * we allow defined x or defined(x) */
                    parse_skip_whitespace(li,lie);
                    while (strit_next_match_inc(li,lie,'(')) {
                        parens++;
                        parse_skip_whitespace(li,lie);
                    }

                    macro = parse_identifier(li,lie);
                    parse_skip_whitespace(li,lie);
                    tokens.push_back(move(token(token::IDENTIFIER,macro)));

                    while (parens > 0) {
                        if (!strit_next_match_inc(li,lie,')'))
                            throw invalid_argument("defined() with mismatched parameters");

                        parse_skip_whitespace(li,lie);
                        parens--;
                    }
                }
            }
            else if ((tk=is_keyword(ident)) != token::NONE)
                tokens.push_back(tk);
            else if (macro_expand && is_macro(ident))
                do_macro_expand(tokens,ident,li,lie,lineno,source);
            else
                tokens.push_back(move(token(token::IDENTIFIER,ident)));
        }
        else {
            throw invalid_argument(string("token parser unexpected char ") + *li);
        }

        parse_skip_whitespace(li,lie);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %r8, 0x120(%rsp)
movl %ecx, 0xdc(%rsp)
movq %rdx, %rbx
movq %rdi, %r14
movq %rsi, 0x8(%rsp)
cmpq %rdx, %rsi
je 0x769f
movzbl (%rsi), %eax
cmpl $0x20, %eax
je 0x7692
cmpl $0x9, %eax
jne 0x769f
incq %rsi
movq %rsi, 0x8(%rsp)
cmpq %rbx, %rsi
jne 0x7685
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x9382
movb (%rax), %bpl
movb $0x1, %r15b
cmpb $0x23, %bpl
jne 0x7976
incq %rax
movq %rax, 0x8(%rsp)
cmpq %rbx, %rax
je 0x76d7
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x76bd
cmpl $0x9, %ecx
je 0x76bd
leaq 0x68(%rsp), %r15
movl $0x2, -0x58(%r15)
xorl %eax, %eax
movb %al, -0x54(%r15)
movq %rax, -0x50(%r15)
movb $0x1, -0x48(%r15)
fldz
fstpt 0x30(%rsp)
movl $0x0, -0x28(%r15)
movq $-0x1, -0x18(%r15)
movq %r15, -0x10(%r15)
movq %rax, -0x8(%r15)
movb %al, (%r15)
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x7738
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0x98(%rsp), %r12
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %rbx, %rdx
callq 0x50b7
movq %r12, %rdi
callq 0x345e
testl %eax, %eax
je 0x9394
movl %eax, %r12d
leaq 0x10(%rsp), %rsi
movl %eax, (%rsi)
xorl %eax, %eax
movb %al, 0x4(%rsi)
movq %rax, 0x8(%rsi)
movb $0x1, 0x10(%rsi)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x30(%rsi)
movq $-0x1, 0x40(%rsi)
movq %r15, 0x48(%rsi)
movq %rax, 0x50(%rsi)
movb %al, 0x58(%rsi)
movq %r14, %rdi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x77b6
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
leal -0x64(%r12), %eax
cmpl $0x4, %eax
jae 0x78e2
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x77e5
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x77db
cmpl $0x9, %ecx
jne 0x77e5
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x77c9
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x50b7
leaq 0x98(%rsp), %rdi
leaq 0x10(%rsp), %r13
movq %r13, %rsi
callq 0x2250
movq (%r13), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7827
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x10ab6
leaq 0x58(%rsp), %rdi
movl $0x5, -0x48(%rdi)
movb $0x0, -0x44(%rdi)
movq $0x0, -0x40(%rdi)
movb $0x1, -0x38(%rdi)
fldz
fstpt 0x30(%rsp)
movl $0x0, -0x18(%rdi)
movq $-0x1, -0x8(%rdi)
movq %r15, (%rdi)
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
addq %rsi, %rdx
callq 0x10ab6
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x78c3
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x78f1
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x78f1
cmpl $0x5a, %r12d
je 0x78f1
movb $0x1, %r15b
cmpl $0x62, %r12d
jne 0x78f4
xorl %r15d, %r15d
cmpl $0x66, %r12d
jne 0x7934
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x97f6
leaq 0xa8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9382
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9382
leaq 0xa8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7955
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7976
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x796c
cmpl $0x9, %ecx
jne 0x7976
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x795a
movl %r15d, 0xd8(%rsp)
movb %bpl, 0x8f(%rsp)
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x9382
leaq 0x68(%rsp), %rbp
leaq 0x8(%rsp), %r12
xorl %r15d, %r15d
leaq 0x10(%rsp), %r13
movzbl (%rax), %eax
cmpl $0x27, %eax
je 0x7a0b
cmpl $0x22, %eax
jne 0x7a67
movq %r12, %rdi
movq %rbx, %rsi
callq 0x4f40
movl $0xb, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %rax, 0x50(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq %r12, %rdi
movq %rbx, %rsi
callq 0x4071
movl $0x9, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq $0x0, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %rax, 0x18(%rsp)
movb %r15b, 0x20(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7ae8
cmpb $0x2e, (%rax)
jne 0x7ae8
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7ae8
cmpb $0x2e, (%rcx)
jne 0x7ae8
leaq 0x2(%rax), %rcx
cmpq %rbx, %rcx
je 0x7ae8
cmpb $0x2e, (%rcx)
jne 0x7ae8
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movl $0x19, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7b4c
cmpb $0x2e, (%rax)
jne 0x7b4c
incq %rax
movq %rax, 0x8(%rsp)
movl $0x18, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7bb0
cmpb $0x2c, (%rax)
jne 0x7bb0
incq %rax
movq %rax, 0x8(%rsp)
movl $0x17, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7c31
cmpb $0x3c, (%rax)
jne 0x7c31
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7c31
cmpb $0x3c, (%rcx)
jne 0x7c31
leaq 0x2(%rax), %rcx
cmpq %rbx, %rcx
je 0x7c31
cmpb $0x3d, (%rcx)
jne 0x7c31
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movl $0x4c, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7ca4
cmpb $0x3c, (%rax)
jne 0x7ca4
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7ca4
cmpb $0x3c, (%rcx)
jne 0x7ca4
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x38, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7d17
cmpb $0x3c, (%rax)
jne 0x7d17
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7d17
cmpb $0x3d, (%rcx)
jne 0x7d17
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x36, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7d7b
cmpb $0x3c, (%rax)
jne 0x7d7b
incq %rax
movq %rax, 0x8(%rsp)
movl $0x34, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7dfc
cmpb $0x3e, (%rax)
jne 0x7dfc
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7dfc
cmpb $0x3e, (%rcx)
jne 0x7dfc
leaq 0x2(%rax), %rcx
cmpq %rbx, %rcx
je 0x7dfc
cmpb $0x3d, (%rcx)
jne 0x7dfc
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movl $0x4d, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7e6f
cmpb $0x3e, (%rax)
jne 0x7e6f
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7e6f
cmpb $0x3e, (%rcx)
jne 0x7e6f
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x39, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7ee2
cmpb $0x3e, (%rax)
jne 0x7ee2
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7ee2
cmpb $0x3d, (%rcx)
jne 0x7ee2
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x37, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7f46
cmpb $0x3e, (%rax)
jne 0x7f46
incq %rax
movq %rax, 0x8(%rsp)
movl $0x35, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7fb9
cmpb $0x2d, (%rax)
jne 0x7fb9
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x7fb9
cmpb $0x3e, (%rcx)
jne 0x7fb9
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x1a, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x802c
cmpb $0x2d, (%rax)
jne 0x802c
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x802c
cmpb $0x2d, (%rcx)
jne 0x802c
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0xe, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x809f
cmpb $0x2d, (%rax)
jne 0x809f
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x809f
cmpb $0x3d, (%rcx)
jne 0x809f
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x48, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8103
cmpb $0x2d, (%rax)
jne 0x8103
incq %rax
movq %rax, 0x8(%rsp)
movl $0xc, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8176
cmpb $0x2b, (%rax)
jne 0x8176
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8176
cmpb $0x2b, (%rcx)
jne 0x8176
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0xf, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x81e9
cmpb $0x2b, (%rax)
jne 0x81e9
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x81e9
cmpb $0x3d, (%rcx)
jne 0x81e9
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x47, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x824d
cmpb $0x2b, (%rax)
jne 0x824d
incq %rax
movq %rax, 0x8(%rsp)
movl $0xd, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x82c0
cmpb $0x3d, (%rax)
jne 0x82c0
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x82c0
cmpb $0x3d, (%rcx)
jne 0x82c0
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x3a, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8324
cmpb $0x3d, (%rax)
jne 0x8324
incq %rax
movq %rax, 0x8(%rsp)
movl $0x3c, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8388
cmpb $0x7e, (%rax)
jne 0x8388
incq %rax
movq %rax, 0x8(%rsp)
movl $0x1c, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x83fb
cmpb $0x5e, (%rax)
jne 0x83fb
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x83fb
cmpb $0x3d, (%rcx)
jne 0x83fb
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4f, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x845f
cmpb $0x5e, (%rax)
jne 0x845f
incq %rax
movq %rax, 0x8(%rsp)
movl $0x3d, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x84c3
cmpb $0x3f, (%rax)
jne 0x84c3
incq %rax
movq %rax, 0x8(%rsp)
movl $0x45, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8527
cmpb $0x3a, (%rax)
jne 0x8527
incq %rax
movq %rax, 0x8(%rsp)
movl $0x46, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x859a
cmpb $0x7c, (%rax)
jne 0x859a
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x859a
cmpb $0x7c, (%rcx)
jne 0x859a
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x44, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x860d
cmpb $0x7c, (%rax)
jne 0x860d
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x860d
cmpb $0x3d, (%rcx)
jne 0x860d
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x50, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8671
cmpb $0x7c, (%rax)
jne 0x8671
incq %rax
movq %rax, 0x8(%rsp)
movl $0x3e, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x86e4
cmpb $0x21, (%rax)
jne 0x86e4
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x86e4
cmpb $0x3d, (%rcx)
jne 0x86e4
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x3b, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8748
cmpb $0x21, (%rax)
jne 0x8748
incq %rax
movq %rax, 0x8(%rsp)
movl $0x1d, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x87bb
cmpb $0x26, (%rax)
jne 0x87bb
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x87bb
cmpb $0x26, (%rcx)
jne 0x87bb
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x43, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x882e
cmpb $0x26, (%rax)
jne 0x882e
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x882e
cmpb $0x3d, (%rcx)
jne 0x882e
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4e, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8892
cmpb $0x26, (%rax)
jne 0x8892
incq %rax
movq %rax, 0x8(%rsp)
movl $0x1e, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8905
cmpb $0x2a, (%rax)
jne 0x8905
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8905
cmpb $0x3d, (%rcx)
jne 0x8905
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x49, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8969
cmpb $0x2a, (%rax)
jne 0x8969
incq %rax
movq %rax, 0x8(%rsp)
movl $0x1f, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x89dc
cmpb $0x2f, (%rax)
jne 0x89dc
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x89dc
cmpb $0x3d, (%rcx)
jne 0x89dc
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4a, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8a40
cmpb $0x2f, (%rax)
jne 0x8a40
incq %rax
movq %rax, 0x8(%rsp)
movl $0x32, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8ab3
cmpb $0x25, (%rax)
jne 0x8ab3
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8ab3
cmpb $0x3d, (%rcx)
jne 0x8ab3
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4b, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8b17
cmpb $0x25, (%rax)
jne 0x8b17
incq %rax
movq %rax, 0x8(%rsp)
movl $0x33, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8b7b
cmpb $0x28, (%rax)
jne 0x8b7b
incq %rax
movq %rax, 0x8(%rsp)
movl $0x20, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8bdf
cmpb $0x29, (%rax)
jne 0x8bdf
incq %rax
movq %rax, 0x8(%rsp)
movl $0x21, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8c43
cmpb $0x5b, (%rax)
jne 0x8c43
incq %rax
movq %rax, 0x8(%rsp)
movl $0x22, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8ca7
cmpb $0x5d, (%rax)
jne 0x8ca7
incq %rax
movq %rax, 0x8(%rsp)
movl $0x23, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8d0b
cmpb $0x7b, (%rax)
jne 0x8d0b
incq %rax
movq %rax, 0x8(%rsp)
movl $0x24, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8d6f
cmpb $0x7d, (%rax)
jne 0x8d6f
incq %rax
movq %rax, 0x8(%rsp)
movl $0x25, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8de2
cmpb $0x23, (%rax)
jne 0x8de2
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8de2
cmpb $0x23, (%rcx)
jne 0x8de2
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x7b, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8e43
cmpb $0x23, (%rax)
jne 0x8e43
incq %rax
movq %rax, 0x8(%rsp)
movl $0x7a, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
jmp 0x8e6f
movq 0x8(%rsp), %rax
movsbl (%rax), %eax
movq %rax, %rcx
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0x8eba
movq %r13, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x4b0a
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8e86
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8ea7
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x8e9d
cmpl $0x9, %ecx
jne 0x8ea7
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x8e8b
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
jne 0x79a6
jmp 0x9382
movq %rcx, %rdi
movq %rcx, 0x90(%rsp)
callq 0x2300
cmpb $0x5f, 0x90(%rsp)
je 0x8edc
testl %eax, %eax
je 0x940f
leaq 0x98(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x50b7
cmpb $0x23, 0x8f(%rsp)
jne 0x8fd6
leaq 0x98(%rsp), %rdi
callq 0x345e
movl %eax, 0x90(%rsp)
testl %eax, %eax
je 0x8fd6
movl 0x90(%rsp), %eax
movl %eax, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8f7b
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
cmpl $0x63, 0x90(%rsp)
jne 0x935c
leaq 0xc8(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq $0x0, 0xc0(%rsp)
movb $0x0, 0xc8(%rsp)
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x9164
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x8fcc
cmpl $0x9, %ecx
jne 0x9164
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x8fb2
leaq 0x98(%rsp), %rdi
callq 0x35dc
testl %eax, %eax
je 0x9043
movl %eax, 0x10(%rsp)
movb %r15b, 0x14(%rsp)
movq %r15, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq %r15, 0x60(%rsp)
movb %r15b, 0x68(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x935c
movq 0x68(%rsp), %rsi
jmp 0x9354
cmpb $0x0, 0xd8(%rsp)
je 0x9098
leaq 0x111bc(%rip), %rdi     # 0x1a210
leaq 0x98(%rsp), %rsi
callq 0x10c44
leaq 0x111b0(%rip), %rcx     # 0x1a218
cmpq %rcx, %rax
je 0x9098
movq %r14, %rdi
leaq 0x98(%rsp), %rsi
movq %r12, %rdx
movq %rbx, %rcx
movl 0xdc(%rsp), %r8d
movq 0x120(%rsp), %r9
callq 0x6adb
jmp 0x935c
leaq 0xf0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
addq %rsi, %rdx
leaq 0xe0(%rsp), %rdi
callq 0x10ab6
movl $0x5, 0x10(%rsp)
movb $0x0, 0x14(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x58(%rsp), %rdi
callq 0x10ab6
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x913e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x935c
movq 0xf0(%rsp), %rsi
jmp 0x9354
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x91b2
movq $0x0, 0x90(%rsp)
cmpb $0x28, (%rax)
jne 0x91be
incq %rax
movq %rax, 0x8(%rsp)
cmpq %rbx, %rax
je 0x9199
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x917f
cmpl $0x9, %ecx
je 0x917f
movq 0x90(%rsp), %rcx
incl %ecx
movq %rcx, 0x90(%rsp)
cmpq %rbx, %rax
jne 0x917a
jmp 0x91be
movq $0x0, 0x90(%rsp)
movq %r13, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x50b7
leaq 0xb8(%rsp), %rdi
movq %r13, %rsi
callq 0x2250
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x91f8
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x9219
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x920f
cmpl $0x9, %ecx
jne 0x9219
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x91fd
leaq 0x110(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x100(%rsp), %rdi
callq 0x10ab6
movl $0x5, 0x10(%rsp)
movb $0x0, 0x14(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %rbp, 0x58(%rsp)
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
addq %rsi, %rdx
leaq 0x58(%rsp), %rdi
callq 0x10ab6
movq %r14, %rdi
movq %r13, %rsi
callq 0x10f1a
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x92bf
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x92e4
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21d0
cmpl $0x0, 0x90(%rsp)
jle 0x9337
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x9486
cmpb $0x29, (%rax)
jne 0x9486
incq %rax
movq %rax, 0x8(%rsp)
cmpq %rbx, %rax
je 0x931f
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x9305
cmpl $0x9, %ecx
je 0x9305
movq 0x90(%rsp), %rdx
leal -0x1(%rdx), %ecx
cmpl $0x1, %edx
movq %rcx, 0x90(%rsp)
jg 0x92f3
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x935c
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x8e86
movq 0xa8(%rsp), %rsi
jmp 0x8e7e
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x20e0
movq %rax, %r14
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xad53(%rip), %rsi      # 0x14107
leaq 0xad6b(%rip), %rdx      # 0x14126
leaq 0xb8(%rsp), %rdi
callq 0x10bb4
leaq 0x10(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0xee95
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x2350
xorl %ebp, %ebp
movq 0x10bdd(%rip), %rsi     # 0x19fd8
movq 0x10bbe(%rip), %rdx     # 0x19fc0
movq %r14, %rdi
callq 0x2330
jmp 0x94b8
movl $0x10, %edi
callq 0x20e0
movq %rax, %r14
leaq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
movq %rax, (%rdi)
leaq 0xad16(%rip), %rsi      # 0x1414c
leaq 0xad2c(%rip), %rdx      # 0x14169
callq 0x10bb4
movq 0x8(%rsp), %rax
movsbl (%rax), %edx
leaq 0x10(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xede1
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x2350
xorl %ebp, %ebp
movq 0x10b63(%rip), %rsi     # 0x19fd8
movq 0x10b44(%rip), %rdx     # 0x19fc0
movq %r14, %rdi
callq 0x2330
jmp 0x94b8
movl $0x10, %edi
callq 0x20e0
movq %rax, %r14
leaq 0xac8d(%rip), %rsi      # 0x14127
movq %rax, %rdi
callq 0x23a0
movq 0x10b2f(%rip), %rsi     # 0x19fd8
movq 0x10b10(%rip), %rdx     # 0x19fc0
movq %r14, %rdi
callq 0x2330
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x94df
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x94df
movq %rax, %rbx
movb $0x1, %bpl
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x951b
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x951b
jmp 0x9579
movq %rax, %rbx
movq %r14, %rdi
callq 0x2160
jmp 0x957c
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x97ee
movq %r14, %rdi
callq 0x2160
jmp 0x97ee
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x9550
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9550
movq %rax, %rbx
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x957c
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x957c
jmp 0x9579
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x95fc
movq 0xc8(%rsp), %rsi
jmp 0x95f4
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x95ba
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x95ba
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x95fc
movq 0xf0(%rsp), %rsi
jmp 0x95f4
jmp 0x95db
movq %rax, %rbx
jmp 0x95fc
jmp 0x95e2
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x95fc
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
jmp 0x97ae
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
movq %rax, %rbx
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x96ff
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x96ff
movq %rax, %rbx
movb $0x1, %bpl
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x973a
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x973a
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x9781
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x97a2
movq %r14, %rdi
callq 0x2160
jmp 0x97a2
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x9768
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9768
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x97a2
movq 0x138(%rsp), %rsi
jmp 0x979a
jmp 0x9781
movq %rax, %rbx
jmp 0x97a2
jmp 0x97d4
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x97a2
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0xa8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x97ee
movq 0xa8(%rsp), %rsi
jmp 0x97e6
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
jne 0x97e1
jmp 0x97ee
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
jmp 0x97d4
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x97ee
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x2360