// File: /workspace/github_cpp_makefile_star2_O3/Konano[P]UselessDatabase/Index.cpp
// Function: Index::queryRecords(enumOp, Anys&, int)
std::vector<uint> Index::queryRecords(enumOp op, Anys& data, int now_index){
    BtreeNode* now = Index::convert_buf_to_BtreeNode(now_index);

    std::vector<uint> ans;
    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.push_back(now->record[i].record_id);
                    temp.push_back(i);
                }
                else if(now->record[i].key > data){
                    flag = true;
                }
                break;
            }
            case OP_NEQ:{
                if(now->record[i].key != data){
                    ans.push_back(now->record[i].record_id);
                    temp.push_back(i);
                }
                break;
            }
            case OP_LE:{
                if(now->record[i].key <= data){
                    ans.push_back(now->record[i].record_id);
                    temp.push_back(i);
                }
                else if(now->record[i].key > data){
                    flag = true;
                }
                break;
            }
            case OP_GE:{
                if(now->record[i].key >= data){
                    ans.push_back(now->record[i].record_id);
                    temp.push_back(i);
                }
                break;
            }
            case OP_LS:{
                if(now->record[i].key < data){
                    ans.push_back(now->record[i].record_id);
                    temp.push_back(i);
                }
                else if(now->record[i].key >= data){
                    flag = true;
                }
                break;
            }
            case OP_GT:{
                if(now->record[i].key > data){
                    ans.push_back(now->record[i].record_id);
                    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.push_back(now->record[i].record_id);
                    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.push_back(now->record[i].record_id);
                    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){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_NEQ:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i < temp.size() - 1 && temp[i] != temp[i + 1] - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_LE:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_GE:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_LS:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_GT:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_NL:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_NNL:{
            for(uint i = 0;i < temp.size();i ++){
                if(now->child[temp[i]] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i]]);
                    for (auto it: temp)ans.push_back(it);
                }
                if(i == temp.size() - 1 && now->child[temp[i] + 1] != -1){
                    std::vector<uint> temp =  queryRecords(op,data,now->child[temp[i] + 1]);
                    for (auto it: temp)ans.push_back(it);
                }
            }
            break;
        }
        case OP_IN:{
            //UnReachable
            break;
        }
    }

    return ans;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rcx, 0x38(%rsp)
movl %edx, %ebp
movq %rdi, %rbx
movq %rsi, 0x40(%rsp)
movq %rsi, %rdi
movl %r8d, %esi
callq 0x19412
movq %rax, %r12
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
xorl %eax, %eax
movq %rax, 0x10(%rbx)
movq %rax, 0x30(%rsp)
movaps %xmm0, 0x20(%rsp)
cmpl $0x0, 0x1c(%r12)
movl %ebp, %r13d
jle 0x1b87e
xorl %r14d, %r14d
cmpl $0x7, %ebp
ja 0x1b85c
leaq 0x2543d(%rip), %rcx     # 0x4082c
movslq (%rcx,%r13,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9996
testb %al, %al
je 0x1b4bc
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b7b7
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b7c2
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9a04
testb %al, %al
je 0x1b684
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b724
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b72f
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9aa6
testb %al, %al
je 0x1b6a8
movq 0x50(%r12), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9aa6
testb %al, %al
je 0x1b85c
jmp 0x1b87e
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9a04
testb %al, %al
jne 0x1b85c
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b786
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b791
movq 0x50(%r12), %rax
movq %r14, %rsi
shlq $0x5, %rsi
movq 0x8(%rax,%rsi), %rcx
movq 0x10(%rax,%rsi), %rdx
subq %rcx, %rdx
movabsq $0x7fffffff8, %rdi      # imm = 0x7FFFFFFF8
testq %rdi, %rdx
je 0x1b85c
addq %rsi, %rax
shrq $0x3, %rdx
movl %edx, %edx
xorl %esi, %esi
cmpq $0x0, (%rcx,%rsi,8)
jne 0x1b6d1
incq %rsi
cmpq %rsi, %rdx
jne 0x1b56d
jmp 0x1b85c
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9996
testb %al, %al
jne 0x1b85c
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b7e1
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b7ec
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9aa6
testb %al, %al
je 0x1b85c
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b80b
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b816
movq 0x50(%r12), %rax
movq %r14, %rcx
shlq $0x5, %rcx
movq 0x8(%rax,%rcx), %rdx
movq 0x10(%rax,%rcx), %rsi
subq %rdx, %rsi
movabsq $0x7fffffff8, %rdi      # imm = 0x7FFFFFFF8
testq %rdi, %rsi
je 0x1b666
shrq $0x3, %rsi
movl %esi, %esi
xorl %edi, %edi
cmpq $0x0, (%rdx,%rdi,8)
jne 0x1b85c
incq %rdi
cmpq %rdi, %rsi
jne 0x1b653
addq %rcx, %rax
movl (%rax), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b6f3
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b6fe
movq 0x50(%r12), %rax
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x38(%rsp), %rsi
callq 0x9a04
testb %al, %al
jne 0x1b85c
jmp 0x1b9fc
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b755
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b760
movl (%rax), %eax
movl %eax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b835
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b840
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
jne 0x1b850
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
movq %rbx, %rdi
movq %rsp, %rdx
callq 0x1ca80
movl %r14d, (%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
je 0x1b86f
movl %r14d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x28(%rsp)
incq %r14
movslq 0x1c(%r12), %rax
cmpq %rax, %r14
jl 0x1b3df
jmp 0x1b87e
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1ca80
jmp 0x1b85c
cmpl $0x7, %ebp
ja 0x1c4a4
leaq 0x24fbe(%rip), %rax     # 0x4084c
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1b93b
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
xorl %edx, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1b91c
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b904
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b90f
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1b8e6
movq (%rsp), %r13
testq %r13, %r13
je 0x1b931
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1b9eb
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1b9eb
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
xorl %edx, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1b9c2
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1b9aa
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1b9b5
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1b98c
movq (%rsp), %r13
testq %r13, %r13
je 0x1b9d7
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1b8b2
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1baa3
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x4, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1ba84
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1ba6c
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1ba77
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1ba4e
movq (%rsp), %r13
testq %r13, %r13
je 0x1ba99
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1bb56
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1bb56
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x4, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1bb2d
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bb15
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1bb20
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1baf7
movq (%rsp), %r13
testq %r13, %r13
je 0x1bb42
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1ba17
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1bc0e
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x2, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1bbef
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bbd7
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1bbe2
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1bbb9
movq (%rsp), %r13
testq %r13, %r13
je 0x1bc04
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1bcc1
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1bcc1
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x2, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1bc98
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bc80
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1bc8b
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1bc62
movq (%rsp), %r13
testq %r13, %r13
je 0x1bcad
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1bb82
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1bd79
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x3, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1bd5a
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bd42
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1bd4d
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1bd24
movq (%rsp), %r13
testq %r13, %r13
je 0x1bd6f
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1be2c
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1be2c
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x3, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1be03
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bdeb
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1bdf6
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1bdcd
movq (%rsp), %r13
testq %r13, %r13
je 0x1be18
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1bced
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1bee4
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x7, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1bec5
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bead
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1beb8
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1be8f
movq (%rsp), %r13
testq %r13, %r13
je 0x1beda
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1bf97
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1bf97
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x7, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1bf6e
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1bf56
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1bf61
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1bf38
movq (%rsp), %r13
testq %r13, %r13
je 0x1bf83
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1be58
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1c04f
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x1, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c030
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c018
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c023
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1bffa
movq (%rsp), %r13
testq %r13, %r13
je 0x1c045
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1c108
movl (%rdi,%r14,4), %r8d
incl %r8d
movq 0x20(%r12), %rsi
cmpl $-0x1, (%rsi,%r8,4)
je 0x1c108
movl (%rsi), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x1, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c0db
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c0c3
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c0ce
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1c0a5
movq (%rsp), %r13
testq %r13, %r13
je 0x1c0f0
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jbe 0x1c1c0
movl (%rdi,%r14,4), %edx
incl %r14d
movl (%rdi,%r14,4), %esi
decl %esi
cmpl %esi, %edx
je 0x1c1c3
incl %edx
movq 0x20(%r12), %rsi
cmpl $-0x1, (%rsi,%rdx,4)
je 0x1c1c3
movl (%rsi), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x1, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c195
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c17d
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c188
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1c15f
movq (%rsp), %r13
testq %r13, %r13
je 0x1c1aa
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
jmp 0x1c1c3
incl %r14d
cmpq %r14, %rcx
ja 0x1bfc3
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1c278
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x5, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c259
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c241
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c24c
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1c223
movq (%rsp), %r13
testq %r13, %r13
je 0x1c26e
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1c32b
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1c32b
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x5, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c302
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c2ea
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c2f5
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1c2cc
movq (%rsp), %r13
testq %r13, %r13
je 0x1c317
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1c1ec
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
cmpq %rdi, %rax
je 0x1c4a9
xorl %r14d, %r14d
leaq 0x1c(%rsp), %rbp
movl (%rdi,%r14,4), %edx
movq 0x20(%r12), %rcx
cmpl $-0x1, (%rcx,%rdx,4)
je 0x1c3e3
movl (%rcx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x6, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c3c4
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c3ac
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c3b7
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1c38e
movq (%rsp), %r13
testq %r13, %r13
je 0x1c3d9
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
leaq -0x1(%rcx), %rdx
cmpq %r14, %rdx
jne 0x1c496
movl (%rdi,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1c496
movl (%rdx), %r8d
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x6, %edx
movq 0x38(%rsp), %rcx
callq 0x1b38c
movq (%rsp), %r13
movq 0x8(%rsp), %r15
cmpq %r15, %r13
je 0x1c46d
movl (%r13), %eax
movl %eax, 0x1c(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1c455
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1c460
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x1d0aa
addq $0x4, %r13
cmpq %r15, %r13
jne 0x1c437
movq (%rsp), %r13
testq %r13, %r13
je 0x1c482
movq 0x10(%rsp), %rsi
subq %r13, %rsi
movq %r13, %rdi
callq 0x53a0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, %rcx
subq %rdi, %rcx
sarq $0x2, %rcx
incl %r14d
cmpq %r14, %rcx
ja 0x1c357
jmp 0x1c4a9
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1c4bb
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c54a
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
jmp 0x1c52f
movq %rax, %r14
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1c54d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
jmp 0x1c54d
movq %rax, %r14
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1c564
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1c578
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x53a0
movq %r14, %rdi
callq 0x56e0