// File: /workspace/github_cpp_makefile_star2_O3/Konano[P]UselessDatabase/Index.cpp
// Function: Index::queryRecordsNum(enumOp, Anys&, int)
uint Index::queryRecordsNum(enumOp op, Anys& data, int now_index){
    BtreeNode* now = Index::convert_buf_to_BtreeNode(now_index);

    uint ans = 0;
    std::vector<uint> temp;

    int i;
    for (i = 0; i < now->record_cnt; i++) {
        bool flag = false;
        switch(op){
            case OP_EQ:{
                if(now->record[i].key == data){
                    ans++;
                    temp.push_back(i);
                }
                else if(now->record[i].key > data){
                    flag = true;
                }
                break;
            }
            case OP_NEQ:{
                if(now->record[i].key != data){
                    ans++;
                    temp.push_back(i);
                }
                break;
            }
            case OP_LE:{
                if(now->record[i].key <= data){
                    ans++;
                    temp.push_back(i);
                }
                else if(now->record[i].key > data){
                    flag = true;
                }
                break;
            }
            case OP_GE:{
                if(now->record[i].key >= data){
                    ans++;
                    temp.push_back(i);
                }
                break;
            }
            case OP_LS:{
                if(now->record[i].key < data){
                    ans++;
                    temp.push_back(i);
                }
                else if(now->record[i].key >= data){
                    flag = true;
                }
                break;
            }
            case OP_GT:{
                if(now->record[i].key > data){
                    ans++;
                    temp.push_back(i);
                }
                break;
            }
            case OP_NL:{
                bool ok = true;
                for(uint j = 0;j < now->record[i].key.size();j ++){
                    if(!now->record[i].key[j].isNull()){
                        ok = false;
                        break;
                    }
                }
                if(ok){
                    ans ++;
                    temp.push_back(i);
                }
                break;
            }
            case OP_NNL:{
                bool ok = false;
                for(uint j = 0;j < now->record[i].key.size();j ++){
                    if(!now->record[i].key[j].isNull()){
                        ok = true;
                        break;
                    }
                }
                if(ok){
                    ans ++;
                    temp.push_back(i);
                }
                break;
            }
            case OP_IN:{
                //UnReachable
                break;
            }
        }
        if(flag)break;
    }

    switch(op){
        case OP_EQ:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_NEQ:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
                if(i < temp.size() - 1 && temp[i] != temp[i + 1] - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_LE:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_GE:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_LS:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_GT:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_NL:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_NNL:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i]]);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    ans += queryRecordsNum(op,data,now->child[temp[i] + 1]);
                }
            }
            break;
        }
        case OP_IN:{
            //UnReachable
            break;
        }
    }

    return ans;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, 0x28(%rsp)
movl %esi, %ebp
movq %rdi, 0x30(%rsp)
movl %ecx, %esi
callq 0x19412
movq %rax, %r12
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
cmpl $0x0, 0x1c(%rax)
movl %ebp, %r13d
jle 0x1ad16
xorl %ebx, %ebx
leaq 0x25dfb(%rip), %r14     # 0x407ec
movl $0x0, 0x8(%rsp)
cmpl $0x7, %ebp
ja 0x1acf2
movslq (%r14,%r13,4), %rax
addq %r14, %rax
jmpq *%rax
movq 0x50(%r12), %rax
movq %rbx, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9996
testb %al, %al
je 0x1aacd
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movq 0x50(%r12), %rax
movq %rbx, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9a04
testb %al, %al
je 0x1ac92
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movq 0x50(%r12), %rax
movq %rbx, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9aa6
testb %al, %al
je 0x1acb2
movq 0x50(%r12), %rax
movq %rbx, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9aa6
testb %al, %al
je 0x1acf2
jmp 0x1ad1e
movq 0x50(%r12), %rax
movq %rbx, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9a04
testb %al, %al
jne 0x1acf2
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movq 0x50(%r12), %rcx
movq %rbx, %rdx
shlq $0x5, %rdx
movq 0x8(%rcx,%rdx), %rax
movq 0x10(%rcx,%rdx), %rcx
subq %rax, %rcx
movabsq $0x7fffffff8, %rdx      # imm = 0x7FFFFFFF8
testq %rdx, %rcx
je 0x1acf2
shrq $0x3, %rcx
movl %ecx, %ecx
xorl %edx, %edx
cmpq $0x0, (%rax,%rdx,8)
jne 0x1acd3
incq %rdx
cmpq %rdx, %rcx
jne 0x1ab7a
jmp 0x1acf2
movq 0x50(%r12), %rax
movq %rbx, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9996
testb %al, %al
jne 0x1acf2
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movq 0x50(%r12), %rax
movq %rbx, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9aa6
testb %al, %al
je 0x1acf2
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movq 0x50(%r12), %rcx
movq %rbx, %rdx
shlq $0x5, %rdx
movq 0x8(%rcx,%rdx), %rax
movq 0x10(%rcx,%rdx), %rcx
subq %rax, %rcx
movabsq $0x7fffffff8, %rdx      # imm = 0x7FFFFFFF8
testq %rdx, %rcx
je 0x1ac71
shrq $0x3, %rcx
movl %ecx, %ecx
xorl %edx, %edx
cmpq $0x0, (%rax,%rdx,8)
jne 0x1acf2
incq %rdx
cmpq %rdx, %rcx
jne 0x1ac5e
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movq 0x50(%r12), %rax
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x28(%rsp), %rsi
callq 0x9a04
testb %al, %al
jne 0x1acf2
jmp 0x1ade2
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1ace3
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movl %ebx, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x1ad05
movl %ebx, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x18(%rsp)
incl 0x8(%rsp)
incq %rbx
movslq 0x1c(%r12), %rax
cmpq %rax, %rbx
jl 0x1a9f9
jmp 0x1ad1e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1ca80
jmp 0x1acee
movl $0x0, 0x8(%rsp)
cmpl $0x7, %ebp
ja 0x1b31d
leaq 0x25ade(%rip), %rax     # 0x4080c
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
movl $0x1, %ebp
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1ad8a
movq %r13, %rdi
xorl %esi, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1add3
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1add3
movq %r13, %rdi
xorl %esi, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1ad60
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
je 0x1b322
movl $0x1, %ebp
xorl %r14d, %r14d
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1ae38
movq %r13, %rdi
movl $0x4, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1ae84
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1ae84
movq %r13, %rdi
movl $0x4, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1ae0b
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
movl $0x1, %ebp
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1aeed
movq %r13, %rdi
movl $0x2, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1af39
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1af39
movq %r13, %rdi
movl $0x2, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1aec0
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
movl $0x1, %ebp
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1afa2
movq %r13, %rdi
movl $0x3, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1afee
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1afee
movq %r13, %rdi
movl $0x3, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1af75
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
movl $0x1, %ebp
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b057
movq %r13, %rdi
movl $0x7, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1b0a3
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b0a3
movq %r13, %rdi
movl $0x7, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1b02a
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b107
movq %r13, %rdi
movl $0x1, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rsi
cmpq %r14, %rsi
jne 0x1b158
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %r8
movl (%r8,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b158
movq %r13, %rdi
movl $0x1, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rsi
cmpq %r14, %rsi
jbe 0x1b1a5
movl (%rdi,%r14,4), %ecx
incl %r14d
movl (%rdi,%r14,4), %esi
decl %esi
cmpl %esi, %ecx
je 0x1b1a8
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b1a8
movq %r13, %rdi
movl $0x1, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
jmp 0x1b1a8
incl %r14d
cmpq %r14, %rdx
ja 0x1b0da
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
movl $0x1, %ebp
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b20c
movq %r13, %rdi
movl $0x5, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1b258
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b258
movq %r13, %rdi
movl $0x5, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1b1df
jmp 0x1b326
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
cmpq %rdi, %rax
movl 0x8(%rsp), %ebx
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
je 0x1b326
movl $0x1, %ebp
xorl %r14d, %r14d
movl (%rdi,%r14,4), %ecx
movq 0x20(%r12), %rdx
movl (%rdx,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b2c1
movq %r13, %rdi
movl $0x6, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
leaq -0x1(%rdx), %rcx
cmpq %r14, %rcx
jne 0x1b30d
movl (%rdi,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rsi
movl (%rsi,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b30d
movq %r13, %rdi
movl $0x6, %esi
movq %r15, %rdx
callq 0x1a9a6
addl %eax, %ebx
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, %rdx
subq %rdi, %rdx
sarq $0x2, %rdx
movl %ebp, %r14d
incl %ebp
cmpq %r14, %rdx
ja 0x1b294
jmp 0x1b326
movq 0x10(%rsp), %rdi
movl 0x8(%rsp), %ebx
testq %rdi, %rdi
je 0x1b338
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
movl %ebx, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
jmp 0x1b369
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1b383
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
movq %rbx, %rdi
callq 0x56e0
nop