// File: /workspace/github_cpp_makefile_star2_O3/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 0x75c0
movq 0x8(%rsp), %rax
movzbl (%rsi), %ecx
cmpl $0x20, %ecx
je 0x75b0
cmpl $0x9, %ecx
jne 0x75bb
incq %rsi
movq %rsi, %rax
cmpq %rbx, %rsi
jne 0x75a3
movq %rax, 0x8(%rsp)
cmpq %rbx, %rsi
je 0x92ae
movb (%rsi), %al
movb %al, 0x8f(%rsp)
cmpb $0x23, %al
jne 0x7706
incq %rsi
movq %rsi, 0x8(%rsp)
cmpq %rbx, %rsi
je 0x75f4
movzbl (%rsi), %eax
cmpl $0x20, %eax
je 0x75da
cmpl $0x9, %eax
je 0x75da
leaq 0x68(%rsp), %r13
movl $0x2, -0x58(%r13)
xorl %eax, %eax
movb %al, -0x54(%r13)
movq %rax, -0x50(%r13)
movb $0x1, -0x48(%r13)
fldz
fstpt 0x30(%rsp)
movl $0x0, -0x28(%r13)
movq $-0x1, -0x18(%r13)
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x7656
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0x90(%rsp), %r15
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %rbx, %rdx
callq 0x4f8b
movq %r15, %rdi
callq 0x342a
testl %eax, %eax
je 0x936e
movl %eax, %r15d
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 %r13, 0x48(%rsi)
movq %rax, 0x50(%rsi)
movb %al, 0x58(%rsi)
movq %r14, %rdi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x76d4
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
leal -0x64(%r15), %eax
cmpl $0x4, %eax
jae 0x7714
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7739
movq 0x8(%rsp), %rcx
movzbl (%rax), %edx
cmpl $0x20, %edx
je 0x76f9
cmpl $0x9, %edx
jne 0x7731
incq %rax
movq %rax, %rcx
cmpq %rbx, %rax
jne 0x76ec
jmp 0x7734
movb $0x1, %al
movl %eax, 0xb4(%rsp)
jmp 0x78cd
xorl %ebp, %ebp
cmpl $0x5a, %r15d
je 0x7879
movb $0x1, %al
cmpl $0x62, %r15d
jne 0x7837
jmp 0x7879
movq %rcx, %rax
movq %rax, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0x4f8b
leaq 0x90(%rsp), %rdi
leaq 0x10(%rsp), %r12
movq %r12, %rsi
callq 0x2250
movq (%r12), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x777b
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x10a3c
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 %r13, (%rdi)
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
addq %rsi, %rdx
callq 0x10a3c
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x7818
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x7835
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21d0
xorl %eax, %eax
movl %eax, %ebp
cmpl $0x66, %r15d
jne 0x7879
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x979a
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x92ae
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x92ae
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x789a
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x8(%rsp), %rsi
cmpq %rbx, %rsi
movl %ebp, 0xb4(%rsp)
je 0x78cd
movq 0x8(%rsp), %rax
movzbl (%rsi), %ecx
cmpl $0x20, %ecx
je 0x78bd
cmpl $0x9, %ecx
jne 0x78c8
incq %rsi
movq %rsi, %rax
cmpq %rbx, %rsi
jne 0x78b0
movq %rax, 0x8(%rsp)
cmpq %rbx, %rsi
je 0x92ae
leaq 0x68(%rsp), %r13
leaq 0x8(%rsp), %rbp
xorl %r12d, %r12d
leaq 0x10(%rsp), %r15
movq %r14, (%rsp)
movzbl (%rsi), %eax
cmpl $0x27, %eax
je 0x794e
cmpl $0x22, %eax
jne 0x79c5
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x4e14
movl $0xb, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq %rax, 0x50(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x403d
movl $0x9, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq $0x0, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq %rax, 0x18(%rsp)
movb %r12b, 0x20(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x9279
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9279
movq %r15, %r14
movq %rbp, %r13
movq 0x8(%rsp), %rax
movsbl (%rax), %ebp
cmpq %rbx, %rax
je 0x7bce
movzbl %bpl, %ecx
cmpl $0x5c, %ecx
jg 0x7a77
leal -0x21(%rcx), %edx
cmpl $0x1e, %edx
ja 0x7b6e
leaq 0xb9fc(%rip), %rsi      # 0x133f8
movslq (%rsi,%rdx,4), %rcx
addq %rsi, %rcx
jmpq *%rcx
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8b31
cmpb $0x3d, (%rcx)
jne 0x8b31
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x3b, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leal -0x7b(%rcx), %edx
cmpl $0x3, %edx
ja 0x7aea
leaq 0xb9ee(%rip), %rsi      # 0x13474
movslq (%rsi,%rdx,4), %rcx
addq %rsi, %rcx
jmpq *%rcx
incq %rax
movq %rax, 0x8(%rsp)
movl $0x24, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
cmpl $0x5d, %ecx
je 0x8085
cmpl $0x5e, %ecx
jne 0x7bce
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8999
cmpb $0x3d, (%rcx)
jne 0x8999
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4f, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
cmpl $0x5b, %ecx
jne 0x7bce
incq %rax
movq %rax, 0x8(%rsp)
movl $0x22, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x87ca
leal -0x30(%rbp), %eax
cmpl $0x9, %eax
ja 0x7c08
movq %r14, %rdi
movq %r13, %rbp
movq %r14, %r15
movq %r13, %rsi
movq %rbx, %rdx
callq 0x49de
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %r13
jmp 0x79aa
movl %ebp, %edi
callq 0x2300
cmpb $0x5f, %bpl
je 0x7c1d
testl %eax, %eax
je 0x92f7
leaq 0x90(%rsp), %r15
movq %r15, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x4f8b
cmpb $0x23, 0x8f(%rsp)
jne 0x7d42
movq %r15, %rdi
callq 0x342a
testl %eax, %eax
je 0x7d42
movl %eax, %ebp
movl %eax, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x7cb4
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
cmpl $0x63, %ebp
movq %r13, %rbp
jne 0x9248
leaq 0xc8(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq $0x0, 0xc0(%rsp)
movb $0x0, 0xc8(%rsp)
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7d10
movq 0x8(%rsp), %rcx
movzbl (%rax), %edx
cmpl $0x20, %edx
je 0x7d00
cmpl $0x9, %edx
jne 0x7d0b
incq %rax
movq %rax, %rcx
cmpq %rbx, %rax
jne 0x7cf3
movq %rcx, 0x8(%rsp)
xorl %ebp, %ebp
cmpq %rbx, %rax
je 0x7ee6
cmpb $0x28, (%rax)
jne 0x7ee6
incq %rax
movq %rax, 0x8(%rsp)
cmpq %rbx, %rax
je 0x7d3e
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x7d24
cmpl $0x9, %ecx
je 0x7d24
incl %ebp
jmp 0x7d12
movq %r15, %rdi
callq 0x35a8
testl %eax, %eax
je 0x7db3
movl %eax, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
movq %r13, %rbp
je 0x9248
movq 0x68(%rsp), %rsi
jmp 0x7ed9
cmpb $0x0, 0xb4(%rsp)
movq %r13, %rbp
je 0x7e0c
leaq 0x12449(%rip), %rdi     # 0x1a210
leaq 0x90(%rsp), %rsi
callq 0x10bc4
leaq 0x1243d(%rip), %rcx     # 0x1a218
cmpq %rcx, %rax
je 0x7e0c
movq (%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq %rbp, %rdx
movq %rbx, %rcx
movl 0xdc(%rsp), %r8d
movq 0x120(%rsp), %r9
callq 0x69bb
jmp 0x9248
leaq 0xf0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0xe0(%rsp), %rdi
callq 0x10a3c
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)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x58(%rsp), %rdi
callq 0x10a3c
movq %r14, %rsi
movq (%rsp), %rdi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x7eb8
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x9248
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9248
movq %r14, %r15
movq %r14, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x4f8b
leaq 0xb8(%rsp), %rdi
movq %r15, %rsi
callq 0x2250
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7f23
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x910b
movq 0x8(%rsp), %rcx
movzbl (%rax), %edx
cmpl $0x20, %edx
je 0x7f47
cmpl $0x9, %edx
jne 0x9103
incq %rax
movq %rax, %rcx
cmpq %rbx, %rax
jne 0x7f36
jmp 0x9106
incq %rax
movq %rax, 0x8(%rsp)
movl $0x25, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
incq %rax
movq %rax, 0x8(%rsp)
movl $0x1c, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
movq %r13, %rbp
je 0x8925
cmpb $0x7c, (%rcx)
jne 0x8925
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x44, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
incq %rax
movq %rax, 0x8(%rsp)
movl $0x23, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x87ca
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x87e5
cmpb $0x3e, (%rcx)
jne 0x87e5
leaq 0x2(%rax), %rdx
cmpq %rbx, %rdx
je 0x87e5
cmpb $0x3d, (%rdx)
jne 0x87e5
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movl $0x4d, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x89f1
cmpb $0x3e, (%rcx)
jne 0x89f1
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x1a, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8a65
cmpb $0x26, (%rcx)
jne 0x8a65
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x43, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
incq %rax
movq %rax, 0x8(%rsp)
movl $0x17, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x87ca
incq %rax
movq %rax, 0x8(%rsp)
movl $0x21, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x87ca
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8ad9
cmpb $0x23, (%rcx)
jne 0x8ad9
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x7b, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
incq %rax
movq %rax, 0x8(%rsp)
movl $0x20, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x87ca
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8b89
cmpb $0x3d, (%rcx)
jne 0x8b89
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4b, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8859
cmpb $0x3c, (%rcx)
jne 0x8859
leaq 0x2(%rax), %rdx
cmpq %rbx, %rdx
je 0x8859
cmpb $0x3d, (%rdx)
jne 0x8859
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movl $0x4c, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8be1
cmpb $0x3d, (%rcx)
jne 0x8be1
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x3a, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x88cd
cmpb $0x2e, (%rcx)
jne 0x88cd
leaq 0x2(%rax), %rdx
cmpq %rbx, %rdx
je 0x88cd
cmpb $0x2e, (%rdx)
jne 0x88cd
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movl $0x19, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8c39
cmpb $0x3d, (%rcx)
jne 0x8c39
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x49, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8c91
cmpb $0x2b, (%rcx)
jne 0x8c91
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0xf, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
incq %rax
movq %rax, 0x8(%rsp)
movl $0x45, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x87ca
leaq 0x1(%rax), %rcx
cmpq %rbx, %rcx
je 0x8d05
cmpb $0x3d, (%rcx)
jne 0x8d05
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4a, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
incq %rax
movq %rax, 0x8(%rsp)
movl $0x46, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
movq %r13, %rbp
je 0x926d
movq 0x68(%rsp), %rsi
jmp 0x9265
cmpq %rbx, %rcx
movq %r13, %rbp
je 0x8d81
cmpb $0x3e, (%rcx)
jne 0x8d81
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x39, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
cmpq %rbx, %rcx
movq %r13, %rbp
je 0x8df5
cmpb $0x3c, (%rcx)
jne 0x8df5
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x38, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
movq %rcx, 0x8(%rsp)
movl $0x18, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
cmpq %rbx, %rcx
movq %r14, %r15
leaq 0x68(%rsp), %r13
je 0x8e69
cmpb $0x3d, (%rcx)
jne 0x8e69
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x50, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rcx, 0x8(%rsp)
movl $0x3d, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
cmpq %rbx, %rcx
movq %r13, %rbp
je 0x8ebf
cmpb $0x2d, (%rcx)
jne 0x8ebf
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0xe, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
cmpq %rbx, %rcx
movq %r13, %rbp
je 0x8f33
cmpb $0x3d, (%rcx)
jne 0x8f33
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x4e, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
movq %rcx, 0x8(%rsp)
movl $0x7a, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
movq %rcx, 0x8(%rsp)
movl $0x1d, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
movq %rcx, 0x8(%rsp)
movl $0x33, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
movq %rcx, 0x8(%rsp)
movl $0x3c, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
movq %rcx, 0x8(%rsp)
movl $0x1f, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
jmp 0x8d58
cmpq %rbx, %rcx
movq %r13, %rbp
je 0x8f8b
cmpb $0x3d, (%rcx)
jne 0x8f8b
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x47, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
movq %rcx, 0x8(%rsp)
movl $0x32, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
movq %r13, %rbp
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
movq %r15, %r13
je 0x8d75
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %r14, %r15
movq (%rsp), %r14
jmp 0x9279
cmpq %rbx, %rcx
movq %r14, %r15
leaq 0x68(%rsp), %r13
je 0x9001
cmpb $0x3d, (%rcx)
jne 0x9001
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x37, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
cmpq %rbx, %rcx
movq %r14, %r15
leaq 0x68(%rsp), %r13
je 0x9057
cmpb $0x3d, (%rcx)
jne 0x9057
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x36, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rcx, 0x8(%rsp)
movl $0x3e, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
cmpq %rbx, %rcx
movq %r14, %r15
leaq 0x68(%rsp), %r13
je 0x90ad
cmpb $0x3d, (%rcx)
jne 0x90ad
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x48, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rcx, 0x8(%rsp)
movl $0x1e, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
jmp 0x8fe1
movq %rcx, 0x8(%rsp)
movl $0xd, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %rdi
movq %r14, %r15
movq %r14, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x8d78
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x8d78
movq %rcx, 0x8(%rsp)
movl $0x35, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rcx, 0x8(%rsp)
movl $0x34, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rcx, 0x8(%rsp)
movl $0xc, 0x10(%rsp)
movb %r12b, 0x14(%rsp)
movq %r12, 0x18(%rsp)
movb $0x1, 0x20(%rsp)
fldz
fstpt 0x30(%rsp)
movl $0x0, 0x40(%rsp)
movq $-0x1, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq %r12, 0x60(%rsp)
movb %r12b, 0x68(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x10ea2
jmp 0x79a5
movq %rcx, %rax
movq %rax, 0x8(%rsp)
leaq 0x110(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x100(%rsp), %rdi
callq 0x10a3c
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)
leaq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
addq %rsi, %rdx
leaq 0x58(%rsp), %rdi
callq 0x10a3c
movq (%rsp), %rdi
movq %r14, %rsi
callq 0x10ea2
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x91bc
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x91e1
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21d0
testl %ebp, %ebp
jle 0x9220
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x92c0
cmpb $0x29, (%rax)
jne 0x92c0
incq %rax
movq %rax, 0x8(%rsp)
cmpq %rbx, %rax
je 0x9216
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0x91fc
cmpl $0x9, %ecx
je 0x91fc
leal -0x1(%rbp), %ecx
cmpl $0x1, %ebp
movl %ecx, %ebp
jg 0x91ea
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x9245
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %r13, %rbp
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x926d
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %r14, %r15
movq (%rsp), %r14
leaq 0x68(%rsp), %r13
movq 0x8(%rsp), %rsi
cmpq %rbx, %rsi
je 0x92a5
movq 0x8(%rsp), %rax
movzbl (%rsi), %ecx
cmpl $0x20, %ecx
je 0x9295
cmpl $0x9, %ecx
jne 0x92a0
incq %rsi
movq %rsi, %rax
cmpq %rbx, %rsi
jne 0x9288
movq %rax, 0x8(%rsp)
cmpq %rbx, %rsi
jne 0x78ec
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 0xaee3(%rip), %rsi      # 0x141b7
movq %rax, %rdi
callq 0x23a0
movq 0x10cf5(%rip), %rsi     # 0x19fd8
movq 0x10cd6(%rip), %rdx     # 0x19fc0
movq %r14, %rdi
callq 0x2330
jmp 0x93e4
movl $0x10, %edi
callq 0x20e0
movq %rax, %r14
leaq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
movq %rax, (%rdi)
leaq 0xaebe(%rip), %rsi      # 0x141dc
leaq 0xaed4(%rip), %rdx      # 0x141f9
callq 0x10b2e
movq 0x8(%rsp), %rax
movsbl (%rax), %edx
leaq 0x10(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xed69
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x2350
xorl %ebp, %ebp
movq 0x10c7b(%rip), %rsi     # 0x19fd8
movq 0x10c5c(%rip), %rdx     # 0x19fc0
movq %r14, %rdi
callq 0x2330
jmp 0x93e4
movl $0x10, %edi
callq 0x20e0
movq %rax, %r14
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xae09(%rip), %rsi      # 0x14197
leaq 0xae21(%rip), %rdx      # 0x141b6
leaq 0xb8(%rsp), %rdi
callq 0x10b2e
leaq 0x10(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0xee1d
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x2350
xorl %ebp, %ebp
movq 0x10c03(%rip), %rsi     # 0x19fd8
movq 0x10be4(%rip), %rdx     # 0x19fc0
movq %r14, %rdi
callq 0x2330
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9778
jmp 0x9524
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9778
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
movq %rax, %rbx
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x94c0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x94dd
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x21d0
testb %bpl, %bpl
jne 0x95ed
jmp 0x96ee
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x95ed
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x95ed
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
jmp 0x9524
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
jne 0x9785
jmp 0x9792
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x955e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x955e
movq %rax, %rbx
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x9732
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9732
jmp 0x9722
jmp 0x9722
jmp 0x96b5
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r15, %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 0x9757
movq 0xf0(%rsp), %rsi
jmp 0x974f
jmp 0x95e2
movq %rax, %rbx
jmp 0x9757
movq %rax, %rbx
movq %r14, %rdi
callq 0x2160
jmp 0x96ee
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x9619
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x963e
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x21d0
testb %bpl, %bpl
jne 0x9701
jmp 0x9792
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x9701
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x9701
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x969c
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x969c
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x96ee
movq 0x138(%rsp), %rsi
jmp 0x96e6
jmp 0x96b5
movq %rax, %rbx
jmp 0x96ee
jmp 0x96bc
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x9757
movq 0x68(%rsp), %rsi
jmp 0x974f
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x96ee
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x9767
jmp 0x9778
movq %rax, %rbx
movq %r14, %rdi
callq 0x2160
jmp 0x9792
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
jne 0x9785
jmp 0x9792
movq %rax, %rbx
jmp 0x9732
movq %rax, %rbx
movq %r14, %rdi
callq 0x2160
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x9757
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x9792
movq 0xa0(%rsp), %rsi
jmp 0x978a
jmp 0x9778
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x9792
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x2360