// File: /workspace/github_cpp_makefile_star2_O1/Fohlen[P]cubescript-standalone/command.cpp
// Function: compilestatements(vector<unsigned int>&, char const*&, int, int)
static void compilestatements(vector<uint> &code, const char *&p, int rettype, int brak)
{
    const char *line = p;
    char *idname = NULL;
    int idlen = 0;
    ident *id = NULL;
    int numargs = 0;
    for(;;)
    {
        skipcomments(p);
        idname = NULL;
        bool more = compileword(code, p, VAL_ANY, idname, idlen);
        if(!more) goto endstatement;
        skipcomments(p);
        if(p[0] == '=') switch(p[1]) 
        { 
            case '/': 
                if(p[2] != '/') break;
            case ';': case ' ': case '\t': case '\r': case '\n': case '\0':
                p++;
                if(idname) 
                {
                    id = newident(idname, IDF_UNKNOWN);
                    if(!id || id->type != ID_ALIAS) { compilestr(code, idname, idlen, true); id = NULL; }
                    delete[] idname;
                }
                if(!(more = compilearg(code, p, VAL_ANY))) compilestr(code);
                code.add(id && idname ? (id->index < MAXARGS ? CODE_ALIASARG : CODE_ALIAS)|(id->index<<8) : CODE_ALIASU);
                goto endstatement;
        }
        numargs = 0;
        if(!idname)
        {
        noid:
            while(numargs < MAXARGS && (more = compilearg(code, p, VAL_ANY))) numargs++;
            code.add(CODE_CALLU);
        }
        else
        {
            id = idents.access(idname);
            if(!id) 
            {
                if(!checknumber(idname)) { compilestr(code, idname, idlen); delete[] idname; goto noid; }
                char *end = idname;
                int val = int(strtoul(idname, &end, 0));
                if(*end) compilestr(code, idname, idlen);
                else compileint(code, val);    
                code.add(CODE_RESULT);
            }
            else switch(id->type)
            {
                case ID_ALIAS:
                    while(numargs < MAXARGS && (more = compilearg(code, p, VAL_ANY))) numargs++;
                    code.add((id->index < MAXARGS ? CODE_CALLARG : CODE_CALL)|(id->index<<8));
                    break;
                case ID_COMMAND:
                {
                    int comtype = CODE_COM, fakeargs = 0;
                    bool rep = false;
                    for(const char *fmt = id->args; *fmt; fmt++) switch(*fmt)
                    {
                    case 's': 
                        if(more) more = compilearg(code, p, VAL_STR);
                        if(!more) 
                        {
                            if(rep) break;
                            compilestr(code, NULL, 0, true);
                            fakeargs++;
                        }
                        else if(!fmt[1])
                        {
                            int numconc = 0;
                            while(numargs + numconc < MAXARGS && (more = compilearg(code, p, VAL_STR))) numconc++;
                            if(numconc > 0) code.add(CODE_CONC|RET_STR|((numconc+1)<<8));
                        }
                        numargs++;
                        break;
                    case 'i': if(more) more = compilearg(code, p, VAL_INT); if(!more) { if(rep) break; compileint(code); fakeargs++; } numargs++; break;
                    case 'b': if(more) more = compilearg(code, p, VAL_INT); if(!more) { if(rep) break; compileint(code, INT_MIN); fakeargs++; } numargs++; break;
                    case 'f': if(more) more = compilearg(code, p, VAL_FLOAT); if(!more) { if(rep) break; compilefloat(code); fakeargs++; } numargs++; break; 
                    case 't': if(more) more = compilearg(code, p, VAL_ANY); if(!more) { if(rep) break; compilenull(code); fakeargs++; } numargs++; break;
                    case 'e': if(more) more = compilearg(code, p, VAL_CODE); if(!more) { if(rep) break; compileblock(code); fakeargs++; } numargs++; break;
                    case 'r': if(more) more = compilearg(code, p, VAL_IDENT); if(!more) { if(rep) break; compileident(code); fakeargs++; } numargs++; break;
                    case '$': compileident(code, id); numargs++; break;
                    case 'N': compileint(code, numargs-fakeargs); numargs++; break;
                    case 'C': comtype = CODE_COMC; if(more) while(numargs < MAXARGS && (more = compilearg(code, p, VAL_ANY))) numargs++; numargs = 1; goto endfmt;
                    case 'V': comtype = CODE_COMV; if(more) while(numargs < MAXARGS && (more = compilearg(code, p, VAL_ANY))) numargs++; numargs = 2; goto endfmt;
                    case '1': case '2': case '3': case '4': if(more) { fmt -= *fmt-'0'+1; rep = true; } break;
                    }
                endfmt:
                    code.add(comtype|(rettype < VAL_ANY ? rettype<<CODE_RET : 0)|(id->index<<8));
                    break;
                }
                case ID_LOCAL:
                    if(more) while(numargs < MAXARGS && (more = compilearg(code, p, VAL_IDENT))) numargs++;
                    if(more) while((more = compilearg(code, p, VAL_ANY))) code.add(CODE_POP);
                    code.add(CODE_LOCAL);
                    break;
                case ID_VAR:
                    if(!(more = compilearg(code, p, VAL_INT))) code.add(CODE_PRINT|(id->index<<8));
                    else if(!(id->flags&IDF_HEX) || !(more = compilearg(code, p, VAL_INT))) code.add(CODE_IVAR1|(id->index<<8));
                    else if(!(more = compilearg(code, p, VAL_INT))) code.add(CODE_IVAR2|(id->index<<8));
                    else code.add(CODE_IVAR3|(id->index<<8));
                    break;
                case ID_FVAR:
                    if(!(more = compilearg(code, p, VAL_FLOAT))) code.add(CODE_PRINT|(id->index<<8));
                    else code.add(CODE_FVAR1|(id->index<<8));
                    break;
                case ID_SVAR:
                    if(!(more = compilearg(code, p, VAL_STR))) code.add(CODE_PRINT|(id->index<<8));
                    else 
                    {
                        int numconc = 0;
                        while(numconc+1 < MAXARGS && (more = compilearg(code, p, VAL_ANY))) numconc++;
                        if(numconc > 0) code.add(CODE_CONC|RET_STR|((numconc+1)<<8));
                        code.add(CODE_SVAR1|(id->index<<8));
                    }
                    break;
            }        
            delete[] idname;
        }
    endstatement:
        if(more) while(compilearg(code, p, VAL_ANY)) code.add(CODE_POP); 
        p += strcspn(p, ")];/\n\0");
        int c = *p++;
        switch(c)
        {
            case '\0':
                if(c != brak) debugcodeline(line, "missing \"%c\"", brak);
                p--;
                return;

            case ')':
            case ']':
                if(c == brak) return;
                debugcodeline(line, "unexpected \"%c\"", c); 
                break;

            case '/':
                if(*p == '/') p += strcspn(p, "\n\0");
                goto endstatement;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movl %edx, -0x8c(%rbp)
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq %rax, -0xa0(%rbp)
leaq -0x70(%rbp), %rax
movq $0x0, (%rax)
leaq -0x74(%rbp), %rax
movl $0x0, (%rax)
leaq 0x9450(%rip), %r13      # 0x17095
movq $0x0, -0x68(%rbp)
movq %rsi, -0x88(%rbp)
movq (%r14), %r12
movq %r12, %rdi
movq %r13, %rsi
callq 0x2070
leaq (%r12,%rax), %rbx
movq %rbx, (%r14)
cmpb $0x2f, (%r12,%rax)
jne 0xdca7
cmpb $0x2f, 0x1(%rbx)
jne 0xdca7
movq %rbx, %rdi
leaq 0x8e59(%rip), %rsi      # 0x16ad9
callq 0x2030
movq %rax, %r12
addq %rbx, %r12
movq %r12, (%r14)
movq %r12, %rdi
movq %r13, %rsi
callq 0x2070
leaq (%r12,%rax), %rbx
movq %rbx, (%r14)
cmpb $0x2f, (%rax,%r12)
je 0xdc70
movq $0x0, -0x70(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
leaq -0x70(%rbp), %rcx
leaq -0x74(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf4ca
movb %al, -0x29(%rbp)
movq (%r14), %r12
movq %r12, %rdi
movq %r13, %rsi
callq 0x2070
leaq (%r12,%rax), %rbx
movq %rbx, (%r14)
cmpb $0x2f, (%r12,%rax)
jne 0xdd25
cmpb $0x2f, 0x1(%rbx)
jne 0xdd25
movq %rbx, %rdi
leaq 0x8ddb(%rip), %rsi      # 0x16ad9
callq 0x2030
movq %rax, %r12
addq %rbx, %r12
movq %r12, (%r14)
movq %r12, %rdi
movq %r13, %rsi
callq 0x2070
leaq (%r12,%rax), %rbx
movq %rbx, (%r14)
cmpb $0x2f, (%rax,%r12)
je 0xdcee
movq (%r14), %rax
cmpb $0x3d, (%rax)
leaq -0x40(%rbp), %r13
jne 0xde93
movzbl 0x1(%rax), %ecx
cmpq $0x3b, %rcx
ja 0xde93
movabsq $0x800000100002601, %rdx # imm = 0x800000100002601
btq %rcx, %rdx
jae 0xde83
incq %rax
movq %rax, (%r14)
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0xddeb
movl $0x20, %esi
callq 0x3e2e
testq %rax, %rax
je 0xdd7e
cmpl $0x4, (%rax)
je 0xddd9
movq -0x70(%rbp), %rbx
movslq -0x74(%rbp), %r12
movl %r12d, %eax
shll $0x8, %eax
orl $0x7, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movl %r12d, %edx
sarl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12cf0
movl %r12d, %edx
andl $0x3, %edx
movl $0x0, -0x40(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2130
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
xorl %eax, %eax
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
movq %rax, -0x68(%rbp)
je 0xddeb
callq 0x152d7
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
movl %eax, %r13d
je 0xe05a
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xe05a
movslq -0x44(%rbp), %rbx
cmpq $0x3, %rbx
jle 0xe01c
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xe043
cmpq $0x2f, %rcx
jne 0xde93
cmpb $0x2f, 0x2(%rax)
je 0xdd57
cmpq $0x0, -0x70(%rbp)
je 0xf02b
leaq 0x107bb(%rip), %rdi     # 0x1e660
leaq -0x70(%rbp), %rsi
callq 0x1266c
testq %rax, %rax
movq %rax, -0x68(%rbp)
je 0xdf44
movl (%rax), %eax
cmpq $0x5, %rax
movb -0x29(%rbp), %dl
ja 0xf4b9
leaq 0x89e3(%rip), %rcx      # 0x168b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x1, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf41f
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xf41f
movl %eax, %r13d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r12
addl $0x800000, %eax         # imm = 0x800000
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xf3ed
shll $0x8, %r12d
orl $0x46, %r12d
jmp 0xf400
movq -0x70(%rbp), %r12
movsbl (%r12), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jae 0xdfdd
movq %r12, -0x40(%rbp)
movq %r12, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x2050
movq %rax, %rbx
movq -0x40(%rbp), %rax
cmpb $0x0, (%rax)
je 0xe0b1
movq -0x70(%rbp), %rbx
movslq -0x74(%rbp), %r12
cmpq $0x3, %r12
jle 0xef0d
movl %r12d, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %r13
movq %r13, %rsi
callq 0x12c34
movl %r12d, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12cf0
movl %r12d, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xef65
movzbl %al, %eax
cmpl $0x2b, %eax
je 0xdff7
cmpl $0x2e, %eax
je 0xef7c
cmpl $0x2d, %eax
jne 0xef92
movsbl 0x1(%r12), %ecx
leal -0x30(%rcx), %eax
cmpl $0xa, %eax
jb 0xdf59
movl $0x2, %eax
cmpb $0x2e, %cl
je 0xef81
jmp 0xef92
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xe040
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xe02c
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movl %r13d, %eax
testb %al, %al
jne 0xe071
movl $0xc6, -0x40(%rbp)
movq %r15, %rdi
leaq -0x40(%rbp), %rsi
callq 0x12c34
movl $0x24, %eax
movq -0x68(%rbp), %rcx
testq %rcx, %rcx
je 0xe09a
cmpq $0x0, -0x70(%rbp)
je 0xe09a
movl 0x3c(%rcx), %eax
xorl %ecx, %ecx
cmpl $0x19, %eax
setl %cl
shll $0x8, %eax
leal (%rax,%rcx,2), %eax
addl $0x23, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
leaq -0x40(%rbp), %rsi
callq 0x12c34
movl %r13d, %eax
jmp 0xf4ca
leal 0x800000(%rbx), %eax
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xef4c
shll $0x8, %ebx
orl $0x46, %ebx
movl %ebx, -0x38(%rbp)
jmp 0xef34
xorl %r13d, %r13d
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
leaq -0x40(%rbp), %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xe1a3
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xe1a3
movslq -0x44(%rbp), %rbx
cmpq $0x3, %rbx
movb %al, -0x29(%rbp)
jle 0xe165
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xe18c
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xe189
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xe175
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movb -0x29(%rbp), %al
cmpl $0x18, %r13d
leal 0x1(%r13), %edx
setb %cl
movl %edx, %r13d
testb %cl, %al
jne 0xe0d3
movb %al, -0x29(%rbp)
movq -0x68(%rbp), %rax
movl 0x3c(%rax), %eax
xorl %ecx, %ecx
cmpl $0x19, %eax
setl %cl
shll $0x8, %eax
leal (%rax,%rcx,2), %eax
addl $0x26, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
leaq -0x40(%rbp), %rsi
jmp 0xf4b4
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x3, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xef3d
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xe284
movslq -0x44(%rbp), %r12
movl %r12d, %ecx
shll $0x8, %ecx
orl $0x7, %ecx
movl %ecx, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
movl %eax, %r13d
callq 0x12c34
movl %r12d, %edx
sarl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12cf0
movl %r12d, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %rbx, %r12
subq %rdx, %r12
leaq -0x38(%rbp), %rdi
movq %r12, %rsi
callq 0x2130
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movl %r13d, %eax
leaq -0x40(%rbp), %r13
testb %al, %al
je 0xef3d
movl $0x0, -0x50(%rbp)
movl $0x1, %ecx
movq -0x68(%rbp), %r12
movl %ecx, %r13d
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
leaq -0x40(%rbp), %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf3ac
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xe36f
movslq -0x44(%rbp), %rbx
cmpq $0x3, %rbx
movb %al, -0x29(%rbp)
jle 0xe331
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xe358
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xe355
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xe341
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movb -0x29(%rbp), %al
testb %al, %al
movq -0x68(%rbp), %r12
je 0xf3ac
leal 0x1(%r13), %ecx
movl %r13d, -0x50(%rbp)
cmpl $0x19, %ecx
jne 0xe29c
movb %al, -0x29(%rbp)
movl $0x19, %r13d
movl $0x1, %eax
jmp 0xf3b2
movq -0x68(%rbp), %rax
movq 0x20(%rax), %r8
xorl %r12d, %r12d
movl $0x0, -0x5c(%rbp)
movq $0x0, -0x80(%rbp)
movzbl (%r8), %eax
cmpl $0x61, %eax
jle 0xe468
cmpl $0x71, %eax
jg 0xe49c
addl $-0x62, %eax
cmpl $0x7, %eax
ja 0xeccc
leaq 0x84ea(%rip), %rcx      # 0x168cc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testb $0x1, %dl
je 0xec19
movq %r8, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x1, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xec15
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xec15
movq %r12, -0x58(%rbp)
movl %edx, %r13d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r12
addl $0x800000, %eax         # imm = 0x800000
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xebdf
shll $0x8, %r12d
orl $0x46, %r12d
jmp 0xebf2
cmpl $0x42, %eax
jg 0xe67f
leal -0x31(%rax), %ecx
cmpl $0x4, %ecx
jae 0xe6b8
testb $0x1, %dl
je 0xeccc
movsbq %al, %rax
subq %rax, %r8
addq $0x2f, %r8
movb $0x1, %al
movq %rax, -0x80(%rbp)
jmp 0xeccc
cmpl $0x72, %eax
je 0xe952
cmpl $0x74, %eax
je 0xea1a
cmpl $0x73, %eax
jne 0xeccc
testb $0x1, %dl
movq %r8, -0x50(%rbp)
je 0xe570
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x3, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xe56c
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xe56c
movq %r12, %r13
movslq -0x44(%rbp), %r12
movl %r12d, %eax
shll $0x8, %eax
orl $0x7, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
movb %dl, -0x29(%rbp)
callq 0x12c34
movl %r12d, %edx
sarl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12cf0
movl %r12d, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %rbx, %r12
subq %rdx, %r12
leaq -0x38(%rbp), %rdi
movq %r12, %rsi
leaq -0x38(%rbp), %r12
callq 0x2130
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %r12
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movb -0x29(%rbp), %dl
leaq -0x40(%rbp), %r13
movq -0x50(%rbp), %r8
testb $0x1, %dl
je 0xeade
cmpb $0x0, 0x1(%r8)
jne 0xecc9
xorl %eax, %eax
cmpl $0x18, %r12d
jg 0xece2
movl $0x19, %eax
subl %r12d, %eax
movl %eax, -0x90(%rbp)
leal -0x19(%r12), %eax
movl %eax, -0x94(%rbp)
xorl %r13d, %r13d
movq %r12, -0x58(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x3, %edx
leaq -0x40(%rbp), %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xecd4
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xe654
movslq -0x44(%rbp), %r12
movl %r12d, %eax
shll $0x8, %eax
orl $0x7, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
movb %dl, -0x29(%rbp)
callq 0x12c34
movl %r12d, %edx
sarl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12cf0
movl %r12d, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %rbx, %r12
subq %rdx, %r12
leaq -0x38(%rbp), %rdi
movq %r12, %rsi
movq -0x58(%rbp), %r12
callq 0x2130
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movb -0x29(%rbp), %dl
testb %dl, %dl
je 0xecd4
decl %r13d
cmpl %r13d, -0x94(%rbp)
jne 0xe5b0
leaq -0x40(%rbp), %r13
movq -0x50(%rbp), %r8
movl -0x90(%rbp), %eax
jmp 0xece2
cmpl $0x4e, %eax
jne 0xeb66
movq %r8, -0x50(%rbp)
movq %r12, %rbx
movq %r13, %r12
movb %dl, -0x29(%rbp)
movq %rbx, -0x58(%rbp)
subl -0x5c(%rbp), %ebx
leal 0x800000(%rbx), %eax
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xeb2e
shll $0x8, %ebx
orl $0x46, %ebx
jmp 0xeb40
movq %r8, -0x50(%rbp)
cmpl $0x24, %eax
jne 0xeb7d
movq -0x68(%rbp), %rax
movl 0x3c(%rax), %eax
xorl %ecx, %ecx
cmpl $0x19, %eax
setl %cl
shll $0x8, %eax
leal (%rax,%rcx,2), %eax
addl $0xd, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
movl %edx, %ebx
callq 0x12c34
movl %ebx, %edx
incl %r12d
jmp 0xeb5d
movq %r13, %rcx
testb $0x1, %dl
je 0xe772
movq %r12, %r13
movq %r8, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x38(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x2, %edx
movq %rcx, %r12
leaq -0x38(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xe768
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xe768
movl -0x38(%rbp), %ecx
movq %r15, %rdi
movl $0x2, %esi
movq %r13, -0x58(%rbp)
movl %edx, %r12d
movq %rbx, %rdx
callq 0x109d3
movq %rbx, %rdi
callq 0x152d7
movl %r12d, %edx
leaq -0x40(%rbp), %r12
movq -0x58(%rbp), %r13
movq -0x50(%rbp), %r8
movq %r12, %rcx
movq %r13, %r12
testb $0x1, %dl
je 0xeac5
movq %rcx, %r13
jmp 0xecc9
testb $0x1, %dl
je 0xebc0
movq %r8, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x1, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xebbc
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xebbc
movq %r12, -0x58(%rbp)
movl %edx, %r13d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r12
addl $0x800000, %eax         # imm = 0x800000
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xeb86
shll $0x8, %r12d
orl $0x46, %r12d
jmp 0xeb99
testb $0x1, %dl
je 0xe8cd
movq %r8, -0x50(%rbp)
movq $0x0, -0x38(%rbp)
movl $0x0, -0x98(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x5, %edx
leaq -0x38(%rbp), %rcx
leaq -0x98(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xe8c9
movq -0x38(%rbp), %rbx
testq %rbx, %rbx
je 0xe8c9
movq %r12, -0x58(%rbp)
movslq 0xc(%r15), %r12
movl $0x9, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
movb %dl, -0x29(%rbp)
callq 0x12c34
movl %r12d, %eax
shll $0x8, %eax
addl $0x201, %eax            # imm = 0x201
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movq %rbx, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0xdc02
movl $0xc4, -0x44(%rbp)
movq %r15, %rdi
leaq -0x44(%rbp), %rsi
callq 0x12c34
movl %r12d, %eax
notl %eax
addl 0xc(%r15), %eax
shll $0x8, %eax
movq (%r15), %rcx
orl %eax, (%rcx,%r12,4)
movq -0x58(%rbp), %r12
movq %rbx, %rdi
callq 0x152d7
movb -0x29(%rbp), %dl
movq -0x50(%rbp), %r8
testb $0x1, %dl
jne 0xecc9
testb $0x1, -0x80(%rbp)
jne 0xeccc
movslq 0xc(%r15), %rbx
movl $0x9, -0x40(%rbp)
movq %r15, %rdi
movq %r8, -0x50(%rbp)
movq %r13, %rsi
movq %r12, -0x58(%rbp)
movq %r13, %r12
movl %edx, %r13d
callq 0x12c34
movl %ebx, %eax
shll $0x8, %eax
addl $0x201, %eax            # imm = 0x201
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0x12c34
movl $0x4, -0x40(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0x12c34
movq -0x50(%rbp), %r8
movl %r13d, %edx
movq %r12, %r13
movq -0x58(%rbp), %r12
movl %ebx, %eax
notl %eax
addl 0xc(%r15), %eax
shll $0x8, %eax
movq (%r15), %rcx
orl %eax, (%rcx,%rbx,4)
jmp 0xecc6
testb $0x1, %dl
je 0xe9e4
movq %r8, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x7, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xe9e0
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xe9e0
movq %rbx, %rdi
movl $0x20, %esi
movq %r12, -0x58(%rbp)
movq %r13, %r12
movl %edx, %r13d
callq 0x3e2e
movl 0x3c(%rax), %eax
xorl %ecx, %ecx
cmpl $0x19, %eax
setl %cl
shll $0x8, %eax
leal (%rax,%rcx,2), %eax
addl $0xd, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movl %r13d, %edx
movq %r12, %r13
movq -0x58(%rbp), %r12
movq -0x50(%rbp), %r8
testb $0x1, %dl
jne 0xecc9
testb $0x1, -0x80(%rbp)
jne 0xeccc
movq 0xfc92(%rip), %rax      # 0x1e690
movl 0x3c(%rax), %eax
xorl %ecx, %ecx
cmpl $0x19, %eax
setl %cl
shll $0x8, %eax
leal (%rax,%rcx,2), %eax
addl $0xd, %eax
movl %eax, -0x40(%rbp)
jmp 0xecaf
testb $0x1, %dl
je 0xec9d
movq %r8, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xec95
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xec95
movslq -0x44(%rbp), %rbx
movl %edx, %r13d
cmpq $0x3, %rbx
jle 0xec53
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xec7a
testb $0x1, -0x80(%rbp)
movq %rcx, %r13
jne 0xeccc
movl $0x86, -0x40(%rbp)
jmp 0xecaf
testb $0x1, -0x80(%rbp)
jne 0xeccc
movq %r13, %rsi
movl %edx, %ebx
movl $0x7, -0x40(%rbp)
movq %r15, %rdi
callq 0x12c34
movl 0xc(%r15), %esi
cmpl 0x8(%r15), %esi
jle 0xeb0e
movq %r15, %rdi
callq 0x12c74
movl $0x0, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
incl -0x5c(%rbp)
movl %ebx, %edx
movq -0x50(%rbp), %r8
jmp 0xecc9
movl $0x45, -0x40(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0x12c34
movl %ebx, -0x40(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0x12c34
movq -0x58(%rbp), %rax
incl %eax
movb -0x29(%rbp), %dl
movq %r12, %r13
movq %rax, %r12
movq -0x50(%rbp), %r8
jmp 0xeccc
cmpl $0x43, %eax
je 0xf24e
cmpl $0x56, %eax
jne 0xeccc
jmp 0xf130
testl %eax, %eax
jne 0xeb5d
jmp 0xf36e
movl $0x45, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %r12d, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movl %r13d, %edx
leaq -0x40(%rbp), %r13
movq -0x58(%rbp), %r12
movq -0x50(%rbp), %r8
testb $0x1, %dl
jne 0xecc9
testb $0x1, -0x80(%rbp)
jne 0xeccc
movl $0x46, -0x40(%rbp)
jmp 0xecaf
movl $0x45, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %r12d, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movl %r13d, %edx
leaq -0x40(%rbp), %r13
movq -0x58(%rbp), %r12
movq -0x50(%rbp), %r8
testb $0x1, %dl
jne 0xecc9
testb $0x1, -0x80(%rbp)
jne 0xeccc
movl $0x45, -0x40(%rbp)
movq %r15, %rdi
movq %r8, -0x50(%rbp)
movq %r13, %rsi
movl %edx, %ebx
callq 0x12c34
movl $0x80000000, -0x40(%rbp) # imm = 0x80000000
movq %r15, %rdi
movq %r13, %rsi
jmp 0xecbb
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xec77
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xec63
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movl %r13d, %edx
leaq -0x40(%rbp), %r13
movq -0x58(%rbp), %r12
movq -0x50(%rbp), %r8
testb $0x1, %dl
jne 0xecc9
testb $0x1, -0x80(%rbp)
jne 0xeccc
movl $0x6, -0x40(%rbp)
movq %r15, %rdi
movq %r8, -0x50(%rbp)
movq %r13, %rsi
movl %edx, %ebx
callq 0x12c34
movq -0x50(%rbp), %r8
movl %ebx, %edx
incl -0x5c(%rbp)
incl %r12d
incq %r8
jmp 0xe3b9
negl %r13d
movl %r13d, %eax
leaq -0x40(%rbp), %r13
movq -0x50(%rbp), %r8
testl %eax, %eax
je 0xecc9
shll $0x8, %eax
addl $0x1d4, %eax            # imm = 0x1D4
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
movl %edx, %ebx
callq 0x12c34
movq -0x50(%rbp), %r8
movl %ebx, %edx
jmp 0xecc9
movq $0x0, -0x40(%rbp)
movl $0x0, -0x38(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x2, %edx
movq %r13, %rcx
leaq -0x38(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xed5a
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xed5a
movl -0x38(%rbp), %ecx
movq %r15, %rdi
movl $0x2, %esi
movl %eax, %r12d
movq %rbx, %rdx
callq 0x109d3
movq %rbx, %rdi
callq 0x152d7
movl %r12d, %eax
movb %al, -0x29(%rbp)
testb %al, %al
movq -0x68(%rbp), %rax
je 0xef44
movl 0x3c(%rax), %eax
shll $0x8, %eax
orl $0x1f, %eax
jmp 0xf4ab
xorl %r12d, %r12d
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x7, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xedef
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xedef
movq %rbx, %rdi
movl $0x20, %esi
movl %eax, %r13d
callq 0x3e2e
movl 0x3c(%rax), %eax
xorl %ecx, %ecx
cmpl $0x19, %eax
setl %cl
shll $0x8, %eax
leal (%rax,%rcx,2), %eax
addl $0xd, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movl %r13d, %eax
leaq -0x40(%rbp), %r13
cmpl $0x18, %r12d
leal 0x1(%r12), %edx
setb %cl
movl %edx, %r12d
testb %cl, %al
jne 0xed7a
testb %al, %al
je 0xeefc
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xeefc
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xeee1
movslq -0x44(%rbp), %rbx
movl %eax, %r13d
cmpq $0x3, %rbx
jle 0xee9f
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xeec6
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xeec3
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xeeaf
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movl %r13d, %eax
leaq -0x40(%rbp), %r13
testb $0x1, %al
je 0xeefc
movl $0x2, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
jmp 0xee0e
andb $0x1, %al
movb %al, -0x29(%rbp)
movl $0x2a, -0x40(%rbp)
jmp 0xf4ae
movl $0xc6, %eax
testl %r12d, %r12d
jle 0xef31
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%rbx,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %r12
jne 0xef1e
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %r13
jmp 0xef68
movb %al, -0x29(%rbp)
movq -0x68(%rbp), %rax
movl 0x3c(%rax), %eax
jmp 0xf4a5
movl $0x45, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %r13
movq %r13, %rsi
callq 0x12c34
movl %ebx, -0x38(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movl $0xc, -0x38(%rbp)
jmp 0xf4ae
movl $0x1, %eax
movsbl (%r12,%rax), %eax
addl $-0x30, %eax
cmpl $0xa, %eax
jb 0xdf59
movslq -0x74(%rbp), %rbx
cmpq $0x3, %rbx
jle 0xefe3
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x40(%rbp)
addq %rbx, %r12
subq %rdx, %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x2130
jmp 0xf00a
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xf007
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xeff3
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0xf023
callq 0x152d7
movq $0x0, -0x68(%rbp)
xorl %r13d, %r13d
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
leaq -0x40(%rbp), %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf0fe
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xf0fe
movslq -0x44(%rbp), %rbx
cmpq $0x3, %rbx
movb %al, -0x29(%rbp)
jle 0xf0c0
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2130
jmp 0xf0e7
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xf0e4
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xf0d0
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movb -0x29(%rbp), %al
cmpl $0x18, %r13d
leal 0x1(%r13), %edx
setb %cl
movl %edx, %r13d
testb %cl, %al
jne 0xf02e
movl $0x27, -0x40(%rbp)
movq %r15, %rdi
leaq -0x40(%rbp), %rsi
movl %eax, %ebx
callq 0x12c34
movl %ebx, %eax
jmp 0xf4ca
movl $0x14, %esi
movl $0x13, %ecx
testb $0x1, %dl
je 0xf378
cmpl $0x18, %r12d
jg 0xf378
movq %r12, %r14
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq -0x88(%rbp), %rsi
movl $0x4, %edx
leaq -0x40(%rbp), %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xf22e
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xf22e
movslq -0x44(%rbp), %rbx
cmpq $0x3, %rbx
movb %dl, -0x29(%rbp)
jle 0xf1f0
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %r13
movq %r13, %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2130
movq %r15, %rdi
movq %r13, %rsi
jmp 0xf21e
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xf214
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xf200
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movb -0x29(%rbp), %dl
cmpl $0x18, %r14d
leal 0x1(%r14), %eax
setl %cl
movl %eax, %r12d
testb %cl, %dl
jne 0xf14d
movl $0x13, %ecx
jmp 0xf367
movl $0x14, %esi
movl $0x12, %ecx
testb $0x1, %dl
je 0xf378
cmpl $0x18, %r12d
jg 0xf378
movq %r12, %r14
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq -0x88(%rbp), %rsi
movl $0x4, %edx
leaq -0x40(%rbp), %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %edx
testb %al, %al
je 0xf34c
movq -0x40(%rbp), %r12
testq %r12, %r12
je 0xf34c
movslq -0x44(%rbp), %rbx
cmpq $0x3, %rbx
movb %dl, -0x29(%rbp)
jle 0xf30e
movl %ebx, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %r13
movq %r13, %rsi
callq 0x12c34
movl %ebx, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x12cf0
movl %ebx, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %r12, %rbx
subq %rdx, %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2130
movq %r15, %rdi
movq %r13, %rsi
jmp 0xf33c
movl $0xc6, %eax
testl %ebx, %ebx
jle 0xf332
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%r12,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %rbx
jne 0xf31e
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %r12, %rdi
callq 0x152d7
movb -0x29(%rbp), %dl
cmpl $0x18, %r14d
leal 0x1(%r14), %eax
setl %cl
movl %eax, %r12d
testb %cl, %dl
jne 0xf26b
movl $0x12, %ecx
movl $0x14, %esi
jmp 0xf378
movl $0xc, %esi
movl $0x10, %ecx
movb %dl, -0x29(%rbp)
cmpl $0x14, %esi
movq -0x68(%rbp), %rax
je 0xf389
cmpl $0xc, %esi
jne 0xf3a0
movl 0x3c(%rax), %eax
shll $0x8, %eax
orl %ecx, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
leaq -0x40(%rbp), %rsi
callq 0x12c34
movq -0x88(%rbp), %r14
jmp 0xf4b9
movb %al, -0x29(%rbp)
movl -0x50(%rbp), %eax
testl %eax, %eax
leaq -0x40(%rbp), %rbx
je 0xf3d4
shll $0x8, %r13d
orl $0xd4, %r13d
movl %r13d, -0x40(%rbp)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12c34
movl 0x3c(%r12), %eax
shll $0x8, %eax
orl $0x19, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %rbx, %rsi
jmp 0xf4b4
movl $0x45, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %r12d, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movl %r13d, %eax
leaq -0x40(%rbp), %r13
testb %al, %al
movq -0x68(%rbp), %r12
je 0xf49d
testb $0x4, 0x38(%r12)
je 0xf767
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x1, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf708
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xf708
movl %eax, %r13d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r12
addl $0x800000, %eax         # imm = 0x800000
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xf6d2
shll $0x8, %r12d
orl $0x46, %r12d
jmp 0xf6e5
movb %al, -0x29(%rbp)
movl 0x3c(%r12), %eax
shll $0x8, %eax
orl $0x29, %eax
movl %eax, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0xf4c7
callq 0x152d7
movb -0x29(%rbp), %al
movb %al, -0x29(%rbp)
testb $0x1, %al
leaq -0x40(%rbp), %r13
je 0xf604
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf604
movl %eax, %r12d
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xf5bb
movslq -0x44(%rbp), %r13
cmpq $0x3, %r13
jle 0xf57c
movl %r13d, %eax
shll $0x8, %eax
orl $0xc5, %eax
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %r14
movq %r14, %rsi
callq 0x12c34
movl %r13d, %edx
shrl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x12cf0
movl %r13d, %edx
andl $0x3, %edx
movl $0x0, -0x38(%rbp)
addq %rbx, %r13
subq %rdx, %r13
movq %r14, %rdi
movq %r13, %rsi
callq 0x2130
movq %r15, %rdi
movq %r14, %rsi
movq -0x88(%rbp), %r14
jmp 0xf5aa
movl $0xc6, %eax
testl %r13d, %r13d
jle 0xf5a0
movl $0x8, %ecx
xorl %edx, %edx
movzbl (%rbx,%rdx), %esi
shll %cl, %esi
incq %rdx
orl %esi, %eax
addl $0x8, %ecx
cmpq %rdx, %r13
jne 0xf58d
movl %eax, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
leaq -0x40(%rbp), %r13
testb $0x1, %r12b
je 0xf604
movl $0x2, -0x40(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0x12c34
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
movl %eax, %r12d
testb %al, %al
jne 0xf50a
movq (%r14), %rbx
movq %rbx, %rdi
leaq 0x74c1(%rip), %rsi      # 0x16ad2
callq 0x2030
addq %rax, %rbx
incq %rbx
movq %rbx, (%r14)
movzbl -0x1(%rbx), %eax
movb $0x1, %r13b
xorl %r12d, %r12d
cmpl $0x2e, %eax
jg 0xf639
testl %eax, %eax
je 0xf668
cmpl $0x29, %eax
je 0xf643
jmp 0xf690
cmpl $0x2f, %eax
je 0xf69e
cmpl $0x5d, %eax
jne 0xf690
movsbl %al, %edx
cmpl -0x8c(%rbp), %edx
je 0xf68a
xorl %r12d, %r12d
movq -0xa0(%rbp), %rdi
leaq 0x7a26(%rip), %rsi      # 0x17085
xorl %eax, %eax
callq 0x1021b
jmp 0xf690
movl -0x8c(%rbp), %edx
testl %edx, %edx
je 0xf687
movq -0xa0(%rbp), %rdi
leaq 0x79f8(%rip), %rsi      # 0x17078
xorl %eax, %eax
callq 0x1021b
decq (%r14)
xorl %r12d, %r12d
xorl %r13d, %r13d
testb %r12b, %r12b
movb -0x29(%rbp), %al
jne 0xf4cd
jmp 0xf6bd
movb $0x1, %r12b
cmpb $0x2f, (%rbx)
jne 0xf68d
movq %rbx, %rdi
leaq 0x7429(%rip), %rsi      # 0x16ad9
callq 0x2030
addq %rbx, %rax
movq %rax, (%r14)
jmp 0xf68d
testb %r13b, %r13b
leaq 0x79ce(%rip), %r13      # 0x17095
jne 0xdc54
jmp 0xf7d7
movl $0x45, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %r12d, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movq -0x68(%rbp), %r12
movl %r13d, %eax
leaq -0x40(%rbp), %r13
testb %al, %al
je 0xf767
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq %r15, %rdi
movq %r14, %rsi
movl $0x1, %edx
movq %r13, %rcx
leaq -0x44(%rbp), %r8
callq 0xf7e6
testb %al, %al
je 0xf7b0
movq -0x40(%rbp), %rbx
testq %rbx, %rbx
je 0xf7b0
movl %eax, %r13d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r12
addl $0x800000, %eax         # imm = 0x800000
cmpl $0xffffff, %eax         # imm = 0xFFFFFF
ja 0xf77a
shll $0x8, %r12d
orl $0x46, %r12d
jmp 0xf78d
movb %al, -0x29(%rbp)
movl 0x3c(%r12), %eax
shll $0x8, %eax
orl $0x1b, %eax
jmp 0xf4ab
movl $0x45, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movl %r12d, -0x38(%rbp)
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
callq 0x12c34
movq %rbx, %rdi
callq 0x152d7
movq -0x68(%rbp), %r12
movl %r13d, %eax
leaq -0x40(%rbp), %r13
movb %al, -0x29(%rbp)
testb %al, %al
je 0xf7c7
movl 0x3c(%r12), %eax
shll $0x8, %eax
orl $0x1d, %eax
jmp 0xf4ab
movl 0x3c(%r12), %eax
shll $0x8, %eax
orl $0x1c, %eax
jmp 0xf4ab
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq