// File: /workspace/github_cpp_makefile_star2_O1/Fohlen[P]cubescript-standalone/command.cpp
// Function: callcommand(ident*, tagval*, int, bool)
static inline void callcommand(ident *id, tagval *args, int numargs, bool lookup = false)
{
    int i = -1, fakeargs = 0;
    bool rep = false;
    for(const char *fmt = id->args; *fmt; fmt++) switch(*fmt)
    {
        case 'i': if(++i >= numargs) { if(rep) break; args[i].setint(0); fakeargs++; } else forceint(args[i]); break;
        case 'b': if(++i >= numargs) { if(rep) break; args[i].setint(INT_MIN); fakeargs++; } else forceint(args[i]); break;
        case 'f': if(++i >= numargs) { if(rep) break; args[i].setfloat(0.0f); fakeargs++; } else forcefloat(args[i]); break;
        case 's': if(++i >= numargs) { if(rep) break; args[i].setstr(newstring("")); fakeargs++; } else forcestr(args[i]); break;
        case 't': if(++i >= numargs) { if(rep) break; args[i].setnull(); fakeargs++; } break;
        case 'e':
            if(++i >= numargs)
            {
                if(rep) break;
                static uint buf[2] = { CODE_START + 0x100, CODE_EXIT };
                args[i].setcode(buf);
                fakeargs++;
            }
            else
            {
                vector<uint> buf;
                buf.reserve(64);
                compilemain(buf, numargs <= i ? "" : args[i].getstr());
                freearg(args[i]);
                args[i].setcode(buf.getbuf()+1);
                buf.disown();
            }
            break;
        case 'r': if(++i >= numargs) { if(rep) break; args[i].setident(dummyident); fakeargs++; } else forceident(args[i]); break;
        case '$': if(++i < numargs) freearg(args[i]); args[i].setident(id); break;
        case 'N': if(++i < numargs) freearg(args[i]); args[i].setint(lookup ? -1 : i-fakeargs); break;
        case 'C': { i = max(i+1, numargs); vector<char> buf; ((comfun1)id->fun)(conc(buf, args, i, true)); goto cleanup; }
        case 'V': i = max(i+1, numargs); ((comfunv)id->fun)(args, i); goto cleanup;
        case '1': case '2': case '3': case '4': if(i+1 < numargs) { fmt -= *fmt-'0'+1; rep = true; } break;
    }
    #define ARG(n) (id->argmask&(1<<n) ? (void *)args[n].s : (void *)&args[n].i)
    #define CALLCOM(n) \
        switch(n) \
        { \
            case 0: ((comfun)id->fun)(); break; \
            case 1: ((comfun1)id->fun)(ARG(0)); break; \
            case 2: ((comfun2)id->fun)(ARG(0), ARG(1)); break; \
            case 3: ((comfun3)id->fun)(ARG(0), ARG(1), ARG(2)); break; \
            case 4: ((comfun4)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3)); break; \
            case 5: ((comfun5)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4)); break; \
            case 6: ((comfun6)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5)); break; \
            case 7: ((comfun7)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5), ARG(6)); break; \
            case 8: ((comfun8)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5), ARG(6), ARG(7)); break; \
            case 9: ((comfun9)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8)); break; \
            case 10: ((comfun10)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8), ARG(9)); break; \
            case 11: ((comfun11)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8), ARG(9), ARG(10)); break; \
            case 12: ((comfun12)id->fun)(ARG(0), ARG(1), ARG(2), ARG(3), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8), ARG(9), ARG(10), ARG(11)); break; \
        }
    ++i;
    CALLCOM(i)
cleanup:
    loopk(i) freearg(args[k]);
    for(; i < numargs; i++) freearg(args[i]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %ecx, -0x54(%rbp)
movl %edx, %r15d
movq %rsi, %r14
movq %rdi, -0x30(%rbp)
movq 0x20(%rdi), %r13
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl $0x0, -0x34(%rbp)
movq $0x0, -0x40(%rbp)
movl %edx, -0x38(%rbp)
movzbl (%r13), %eax
cmpl $0x61, %eax
jle 0x11197
cmpl $0x71, %eax
jg 0x111cc
addl $-0x62, %eax
cmpl $0x7, %eax
ja 0x1168f
leaq 0x58a0(%rip), %rcx      # 0x169e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
incl %r12d
cmpl %r15d, %r12d
jge 0x11447
movslq %r12d, %rax
shlq $0x4, %rax
leaq (%r14,%rax), %rbx
movl 0x8(%r14,%rax), %eax
xorl %r15d, %r15d
decl %eax
cmpl $0x5, %eax
ja 0x115a2
leaq 0x58b2(%rip), %rcx      # 0x16a2c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq (%rbx), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r15
jmp 0x115a2
cmpl $0x42, %eax
jg 0x11214
leal -0x31(%rax), %ecx
cmpl $0x4, %ecx
jae 0x1125f
leal 0x1(%r12), %ecx
cmpl %r15d, %ecx
jge 0x1168f
movsbq %al, %rax
subq %rax, %r13
addq $0x2f, %r13
movb $0x1, %al
movq %rax, -0x40(%rbp)
jmp 0x1168f
cmpl $0x72, %eax
je 0x11380
cmpl $0x73, %eax
je 0x113e4
cmpl $0x74, %eax
jne 0x1168f
incl %r12d
cmpl %r15d, %r12d
jl 0x1168f
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rax
shlq $0x4, %rax
xorl %ecx, %ecx
movl %ecx, 0x8(%r14,%rax)
movl %ecx, (%r14,%rax)
jmp 0x114e0
cmpl $0x4e, %eax
jne 0x114e8
incl %r12d
movslq %r12d, %rbx
cmpl %r15d, %r12d
jge 0x1151e
movq %rbx, %rcx
shlq $0x4, %rcx
leaq (%r14,%rcx), %rax
movl 0x8(%r14,%rcx), %ecx
cmpl $0x5, %ecx
je 0x1150c
cmpl $0x3, %ecx
jne 0x1151e
movq (%rax), %rdi
testq %rdi, %rdi
jne 0x11519
jmp 0x1151e
cmpl $0x24, %eax
jne 0x114ff
incl %r12d
movslq %r12d, %rbx
cmpl %r15d, %r12d
jge 0x11558
movq %rbx, %rcx
shlq $0x4, %rcx
leaq (%r14,%rcx), %rax
movl 0x8(%r14,%rcx), %ecx
cmpl $0x5, %ecx
je 0x11546
cmpl $0x3, %ecx
jne 0x11558
movq (%rax), %rdi
testq %rdi, %rdi
jne 0x11553
jmp 0x11558
incl %r12d
cmpl %r15d, %r12d
jge 0x11404
movslq %r12d, %rdi
shlq $0x4, %rdi
addq %r14, %rdi
callq 0x11016
jmp 0x1168f
incl %r12d
cmpl %r15d, %r12d
jge 0x11420
movslq %r12d, %rax
shlq $0x4, %rax
leaq (%r14,%rax), %rbx
movl 0x8(%r14,%rax), %eax
xorl %r15d, %r15d
decl %eax
cmpl $0x5, %eax
ja 0x11577
leaq 0x5749(%rip), %rcx      # 0x16a44
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq (%rbx), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2050
movq %rax, %r15
jmp 0x11577
incl %r12d
cmpl %r15d, %r12d
jge 0x1146b
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movl -0x44(%rbp), %esi
addl $0x40, %esi
cmpl -0x48(%rbp), %esi
jle 0x1133f
leaq -0x50(%rbp), %rdi
callq 0x12c74
movslq %r12d, %rax
shlq $0x4, %rax
leaq (%r14,%rax), %r15
movl 0x8(%r14,%rax), %eax
decl %eax
leaq 0x5db7(%rip), %rsi      # 0x1710f
cmpl $0x5, %eax
ja 0x11640
leaq 0x56ac(%rip), %rcx      # 0x16a14
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
leaq 0x5d99(%rip), %rsi      # 0x1710f
jmpq *%rax
movq (%r15), %rsi
jmp 0x11640
incl %r12d
cmpl %r15d, %r12d
jge 0x1148e
movslq %r12d, %rax
shlq $0x4, %rax
leaq (%r14,%rax), %rbx
movl 0x8(%r14,%rax), %eax
addl $-0x3, %eax
cmpl $0x4, %eax
ja 0x116a9
leaq 0x5651(%rip), %rcx      # 0x16a00
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq (%rbx), %rdi
movl $0x20, %esi
callq 0x3e2e
movq %rax, %r15
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x113d5
callq 0x152d7
movl $0x7, 0x8(%rbx)
movq %r15, (%rbx)
jmp 0x1168b
incl %r12d
cmpl %r15d, %r12d
jge 0x114b5
movslq %r12d, %rdi
shlq $0x4, %rdi
addq %r14, %rdi
callq 0x8cd4
jmp 0x1168f
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rax
shlq $0x4, %rax
movl $0x2, 0x8(%r14,%rax)
jmp 0x1143a
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rax
shlq $0x4, %rax
movl $0x1, 0x8(%r14,%rax)
movl $0x0, (%r14,%rax)
jmp 0x114e0
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rax
shlq $0x4, %rax
movl $0x1, 0x8(%r14,%rax)
movl $0x80000000, (%r14,%rax) # imm = 0x80000000
jmp 0x114e0
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rax
shlq $0x4, %rax
movl $0x5, 0x8(%r14,%rax)
leaq 0xcdac(%rip), %rcx      # 0x1e238
jmp 0x114af
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rax
shlq $0x4, %rax
movq 0xd1ea(%rip), %rcx      # 0x1e690
movl $0x7, 0x8(%r14,%rax)
movq %rcx, (%r14,%rax)
jmp 0x114e0
testb $0x1, -0x40(%rbp)
jne 0x1168f
movslq %r12d, %rbx
shlq $0x4, %rbx
movl $0x1, %edi
callq 0x152b1
movb $0x0, (%rax)
movl $0x3, 0x8(%r14,%rbx)
movq %rax, (%r14,%rbx)
incl -0x34(%rbp)
jmp 0x1168f
cmpl $0x43, %eax
je 0x116e4
cmpl $0x56, %eax
jne 0x1168f
jmp 0x116cb
testl %eax, %eax
jne 0x1168f
jmp 0x11729
movq (%rax), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x1151e
addq $-0x4, %rdi
callq 0x152d7
movq %rbx, %rax
shlq $0x4, %rax
subl -0x34(%rbp), %ebx
cmpb $0x0, -0x54(%rbp)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmovnel %ecx, %ebx
movl $0x1, 0x8(%r14,%rax)
movl %ebx, (%r14,%rax)
jmp 0x1168f
movq (%rax), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x11558
addq $-0x4, %rdi
callq 0x152d7
shlq $0x4, %rbx
movl $0x7, 0x8(%r14,%rbx)
movq -0x30(%rbp), %rax
movq %rax, (%r14,%rbx)
jmp 0x1168f
cvttss2si (%rbx), %r15d
movl 0x8(%rbx), %eax
cmpl $0x5, %eax
je 0x1158e
cmpl $0x3, %eax
jne 0x115cb
movq (%rbx), %rdi
testq %rdi, %rdi
jne 0x1159b
jmp 0x115cb
movq (%rbx), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x115cb
addq $-0x4, %rdi
jmp 0x115c6
cvttss2si (%rbx), %r15d
movl 0x8(%rbx), %eax
cmpl $0x5, %eax
je 0x115b9
cmpl $0x3, %eax
jne 0x115cb
movq (%rbx), %rdi
testq %rdi, %rdi
jne 0x115c6
jmp 0x115cb
movq (%rbx), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x115cb
addq $-0x4, %rdi
callq 0x152d7
movl $0x1, 0x8(%rbx)
movl %r15d, (%rbx)
jmp 0x1168b
movss (%r15), %xmm0
callq 0x4d63
movq %rax, %rsi
jmp 0x11640
movl (%r15), %edx
movl 0xd1a2(%rip), %eax      # 0x1e794
incl %eax
andl $0x3, %eax
movl %eax, 0xd197(%rip)      # 0x1e794
movl %eax, %ecx
shll $0x8, %ecx
leal (%rcx,%rax,4), %eax
leaq 0xd194(%rip), %rcx      # 0x1e7a0
addq %rcx, %rax
movq %rax, -0x60(%rbp)
leaq -0x60(%rbp), %rdi
leaq 0x5723(%rip), %rsi      # 0x16d41
xorl %eax, %eax
callq 0x128d0
movl 0xd169(%rip), %eax      # 0x1e794
movq %rax, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rax,4), %rsi
leaq 0xd163(%rip), %rax      # 0x1e7a0
addq %rax, %rsi
leaq -0x50(%rbp), %rdi
movl $0x4, %edx
callq 0x50ab
movl 0x8(%r15), %eax
cmpl $0x5, %eax
je 0x11666
cmpl $0x3, %eax
jne 0x11678
movq (%r15), %rdi
testq %rdi, %rdi
jne 0x11673
jmp 0x11678
movq (%r15), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x11678
addq $-0x4, %rdi
callq 0x152d7
movq -0x50(%rbp), %rax
addq $0x4, %rax
movl $0x5, 0x8(%r15)
movq %rax, (%r15)
movl -0x38(%rbp), %r15d
incq %r13
jmp 0x1111a
movq (%rbx), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x116a9
addq $-0x4, %rdi
callq 0x152d7
movq 0xcfe0(%rip), %rax      # 0x1e690
jmp 0x116bf
movq (%rbx), %rdi
movl $0x20, %esi
callq 0x3e2e
movl $0x7, 0x8(%rbx)
movq %rax, (%rbx)
jmp 0x1168f
incl %r12d
cmpl %r15d, %r12d
cmovlel %r15d, %r12d
movq %r14, %rdi
movl %r12d, %esi
movq -0x30(%rbp), %rax
callq *0x30(%rax)
jmp 0x11725
incl %r12d
cmpl %r15d, %r12d
cmovlel %r15d, %r12d
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rdi
movaps %xmm0, (%rdi)
movq -0x30(%rbp), %rax
movq 0x30(%rax), %rbx
movq %r14, %rsi
movl %r12d, %edx
callq 0x11d51
movq %rax, %rdi
callq *%rbx
movl $0x0, -0x44(%rbp)
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x11725
callq 0x152d7
xorl %eax, %eax
jmp 0x1172b
movb $0x1, %al
testb %al, %al
je 0x11c82
incl %r12d
cmpl $0xc, %r12d
ja 0x11c82
leaq 0x5315(%rip), %rax      # 0x16a5c
movslq (%rax,%r12,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq -0x30(%rbp), %rax
callq *0x30(%rax)
xorl %r12d, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11770
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x1177b
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11786
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11791
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x1179c
movq (%r8), %r8
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x117a7
movq (%r9), %r9
leaq 0x60(%r14), %r10
testb $0x40, %al
je 0x117b2
movq (%r10), %r10
leaq 0x70(%r14), %r11
testb %al, %al
jns 0x117bd
movq (%r11), %r11
leaq 0x80(%r14), %rbx
btl $0x8, %eax
jae 0x117cd
movq (%rbx), %rbx
leaq 0x90(%r14), %r15
btl $0x9, %eax
jae 0x117dd
movq (%r15), %r15
movq -0x30(%rbp), %r12
movq 0x30(%r12), %r12
leaq 0xa0(%r14), %r13
btl $0xa, %eax
jae 0x117f7
movq (%r13), %r13
subq $0x8, %rsp
pushq %r13
pushq %r15
pushq %rbx
pushq %r11
pushq %r10
callq *%r12
addq $0x30, %rsp
movl $0xb, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11827
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11832
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x1183d
movq (%rdx), %rdx
movq -0x30(%rbp), %rcx
movq 0x30(%rcx), %r8
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11850
movq (%rcx), %rcx
callq *%r8
movl $0x4, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x1186f
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x1187a
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11885
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11890
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x1189b
movq (%r8), %r8
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x118a6
movq (%r9), %r9
leaq 0x60(%r14), %r10
testb $0x40, %al
je 0x118b1
movq (%r10), %r10
leaq 0x70(%r14), %r11
testb %al, %al
jns 0x118bc
movq (%r11), %r11
leaq 0x80(%r14), %rbx
btl $0x8, %eax
jae 0x118cc
movq (%rbx), %rbx
leaq 0x90(%r14), %r15
btl $0x9, %eax
jae 0x118dc
movq (%r15), %r15
movq %r11, -0x40(%rbp)
leaq 0xa0(%r14), %r12
movq %r10, %r11
btl $0xa, %eax
jae 0x118f4
movq (%r12), %r12
movq -0x30(%rbp), %r10
movq 0x30(%r10), %r13
leaq 0xb0(%r14), %r10
btl $0xb, %eax
jae 0x1190c
movq (%r10), %r10
pushq %r10
pushq %r12
pushq %r15
pushq %rbx
pushq -0x40(%rbp)
pushq %r11
callq *%r13
addq $0x30, %rsp
movl $0xc, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x1193b
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11946
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11951
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x1195c
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x11967
movq (%r8), %r8
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x11972
movq (%r9), %r9
leaq 0x60(%r14), %r10
testb $0x40, %al
je 0x1197d
movq (%r10), %r10
leaq 0x70(%r14), %r11
testb %al, %al
jns 0x11988
movq (%r11), %r11
movq -0x30(%rbp), %rbx
movq 0x30(%rbx), %rbx
leaq 0x80(%r14), %r15
btl $0x8, %eax
jae 0x119a0
movq (%r15), %r15
subq $0x8, %rsp
pushq %r15
pushq %r11
pushq %r10
callq *%rbx
addq $0x20, %rsp
movl $0x9, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %ecx
movq %r14, %rdi
testb $0x1, %cl
je 0x119cd
movq (%r14), %rdi
movq -0x30(%rbp), %rax
movq 0x30(%rax), %rax
leaq 0x10(%r14), %rsi
testb $0x2, %cl
je 0x119e1
movq (%rsi), %rsi
callq *%rax
movl $0x2, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x119ff
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11a0a
movq (%rsi), %rsi
movq -0x30(%rbp), %rcx
movq 0x30(%rcx), %rcx
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11a1d
movq (%rdx), %rdx
callq *%rcx
movl $0x3, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11a3b
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11a46
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11a51
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11a5c
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x11a67
movq (%r8), %r8
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x11a72
movq (%r9), %r9
movq -0x30(%rbp), %r10
movq 0x30(%r10), %r10
leaq 0x60(%r14), %r11
testb $0x40, %al
je 0x11a85
movq (%r11), %r11
subq $0x8, %rsp
pushq %r11
callq *%r10
addq $0x10, %rsp
movl $0x7, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rcx
movq 0x30(%rcx), %rax
testb $0x1, 0x28(%rcx)
movq %r14, %rdi
je 0x11ab1
movq (%r14), %rdi
callq *%rax
movl $0x1, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11acf
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11ada
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11ae5
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11af0
movq (%rcx), %rcx
movq -0x30(%rbp), %r8
movq 0x30(%r8), %r9
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x11b03
movq (%r8), %r8
callq *%r9
movl $0x5, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11b22
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11b2d
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11b38
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11b43
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x11b4e
movq (%r8), %r8
movq -0x30(%rbp), %r9
movq 0x30(%r9), %r10
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x11b61
movq (%r9), %r9
callq *%r10
movl $0x6, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11b80
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11b8b
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11b96
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11ba1
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x11bac
movq (%r8), %r8
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x11bb7
movq (%r9), %r9
leaq 0x60(%r14), %r10
testb $0x40, %al
je 0x11bc2
movq (%r10), %r10
leaq 0x70(%r14), %r11
testb %al, %al
jns 0x11bcd
movq (%r11), %r11
leaq 0x80(%r14), %rbx
btl $0x8, %eax
jae 0x11bdd
movq (%rbx), %rbx
movq -0x30(%rbp), %r15
movq 0x30(%r15), %r15
leaq 0x90(%r14), %r12
btl $0x9, %eax
jae 0x11bf6
movq (%r12), %r12
pushq %r12
pushq %rbx
pushq %r11
pushq %r10
callq *%r15
addq $0x20, %rsp
movl $0xa, %r12d
jmp 0x11c82
movq -0x30(%rbp), %rax
movl 0x28(%rax), %eax
movq %r14, %rdi
testb $0x1, %al
je 0x11c1d
movq (%r14), %rdi
leaq 0x10(%r14), %rsi
testb $0x2, %al
je 0x11c28
movq (%rsi), %rsi
leaq 0x20(%r14), %rdx
testb $0x4, %al
je 0x11c33
movq (%rdx), %rdx
leaq 0x30(%r14), %rcx
testb $0x8, %al
je 0x11c3e
movq (%rcx), %rcx
leaq 0x40(%r14), %r8
testb $0x10, %al
je 0x11c49
movq (%r8), %r8
leaq 0x50(%r14), %r9
testb $0x20, %al
je 0x11c54
movq (%r9), %r9
leaq 0x60(%r14), %r10
testb $0x40, %al
je 0x11c5f
movq (%r10), %r10
movq -0x30(%rbp), %r11
movq 0x30(%r11), %r11
leaq 0x70(%r14), %rbx
testb %al, %al
jns 0x11c72
movq (%rbx), %rbx
pushq %rbx
pushq %r10
callq *%r11
addq $0x10, %rsp
movl $0x8, %r12d
testl %r12d, %r12d
jle 0x11cc7
movl %r12d, %ebx
shlq $0x4, %rbx
xorl %r15d, %r15d
movl 0x8(%r14,%r15), %eax
cmpl $0x5, %eax
je 0x11cab
cmpl $0x3, %eax
jne 0x11cbe
movq (%r14,%r15), %rdi
testq %rdi, %rdi
jne 0x11cb9
jmp 0x11cbe
movq (%r14,%r15), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x11cbe
addq $-0x4, %rdi
callq 0x152d7
addq $0x10, %r15
cmpq %r15, %rbx
jne 0x11c91
movl -0x38(%rbp), %ebx
subl %r12d, %ebx
jle 0x11d0b
movslq %r12d, %rax
shlq $0x4, %rax
addq %rax, %r14
movl 0x8(%r14), %eax
cmpl $0x5, %eax
je 0x11cf1
cmpl $0x3, %eax
jne 0x11d03
movq (%r14), %rdi
testq %rdi, %rdi
jne 0x11cfe
jmp 0x11d03
movq (%r14), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x11d03
addq $-0x4, %rdi
callq 0x152d7
addq $0x10, %r14
decl %ebx
jne 0x11cd9
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movl $0x0, -0x44(%rbp)
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x11d49
jmp 0x11d44
jmp 0x11d31
movq %rax, %rbx
movl $0x0, -0x44(%rbp)
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x11d49
callq 0x152d7
movq %rbx, %rdi
callq 0x23a0