// File: /workspace/github_cpp_makefile_star2_O2/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, 0x20(%rsp)
movl %edx, %ebp
movq %rdi, %rbx
movq %rsi, 0x28(%rsp)
movq %rsi, %rdi
movl %r8d, %esi
callq 0x1586c
movq %rax, %r12
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0x10(%rbx)
leaq 0x30(%rsp), %rax
movaps %xmm0, (%rax)
andq $0x0, 0x10(%rax)
xorl %r14d, %r14d
movl %ebp, %r13d
movslq 0x1c(%r12), %rax
cmpq %rax, %r14
jge 0x175b8
cmpl $0x7, %ebp
ja 0x175b0
leaq 0x20977(%rip), %rcx     # 0x37c00
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 0x20(%rsp), %rsi
callq 0x85ea
testb %al, %al
je 0x1754b
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x866e
testb %al, %al
je 0x17595
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x865a
testb %al, %al
je 0x1754b
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x8664
testb %al, %al
je 0x175b0
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rdx
movq %r14, %rsi
shlq $0x5, %rsi
leaq (%rdx,%rsi), %rax
movq 0x8(%rdx,%rsi), %rcx
movq 0x10(%rdx,%rsi), %rdx
subq %rcx, %rdx
shrq $0x3, %rdx
movl %edx, %edx
xorl %esi, %esi
cmpq %rsi, %rdx
je 0x175b0
cmpq $0x0, (%rcx,%rsi,8)
leaq 0x1(%rsi), %rsi
je 0x1741f
movl (%rax), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x8650
testb %al, %al
je 0x175b0
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x8700
testb %al, %al
je 0x175b0
movq 0x50(%r12), %rax
movl (%rax,%r15), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rdx
movq %r14, %rsi
shlq $0x5, %rsi
leaq (%rdx,%rsi), %rax
movq 0x8(%rdx,%rsi), %rcx
movq 0x10(%rdx,%rsi), %rdx
subq %rcx, %rdx
shrq $0x3, %rdx
movl %edx, %edx
xorl %esi, %esi
cmpq %rsi, %rdx
je 0x1756b
cmpq $0x0, (%rcx,%rsi,8)
leaq 0x1(%rsi), %rsi
je 0x17539
jmp 0x175b0
movq 0x50(%r12), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x8700
jmp 0x175ac
movl (%rax), %eax
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x185ce
movl %r14d, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x185ce
jmp 0x175b0
movq 0x50(%r12), %rax
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x20(%rsp), %rsi
callq 0x8664
testb %al, %al
jne 0x175b8
incq %r14
jmp 0x1726b
cmpl $0x7, %ebp
ja 0x17e77
leaq 0x20658(%rip), %rax     # 0x37c20
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17666
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
xorl %edx, %edx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17648
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x1762b
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x176ca
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x176ca
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
xorl %edx, %edx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x176bd
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x176a0
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x175de
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17768
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x4
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x1774a
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x1772d
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x177cd
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x177cd
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x4
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x177c0
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x177a3
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x176df
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1786b
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x2
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x1784d
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17830
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x178d0
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x178d0
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x2
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x178c3
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x178a6
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x177e2
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x1796e
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x3
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17950
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17933
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x179d3
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x179d3
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x3
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x179c6
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x179a9
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x178e5
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17a71
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x7
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17a53
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17a36
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x17ad6
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x17ad6
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x7
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17ac9
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17aac
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x179e8
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17b74
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x1
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17b56
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17b39
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x17bed
movl (%rax,%r14,4), %esi
incl %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17bed
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x1
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17bcc
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17baf
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jbe 0x17c57
movl (%rax,%r14,4), %ecx
incl %r14d
movl (%rax,%r14,4), %eax
decl %eax
cmpl %eax, %ecx
je 0x17aeb
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x17aeb
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x1
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17c5f
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17c3a
incl %r14d
jmp 0x17aeb
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
jmp 0x17aeb
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17d07
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x5
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17ce9
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17ccc
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x17d6c
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x17d6c
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x5
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17d5f
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17d42
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x17c7e
xorl %r14d, %r14d
leaq 0x8(%rsp), %r15
leaq 0x4(%rsp), %r13
movl %r14d, %r14d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r14, %rcx
jbe 0x17e77
movl (%rax,%r14,4), %esi
movq 0x20(%r12), %rdx
cmpl $-0x1, (%rdx,%rsi,4)
je 0x17e0a
movl (%rdx), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x6
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17dec
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17dcf
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r14, %rcx
jne 0x17e6f
movl (%rax,%r14,4), %ecx
incl %ecx
movq 0x20(%r12), %rax
cmpl $-0x1, (%rax,%rcx,4)
je 0x17e6f
movl (%rax), %r8d
movq %r15, %rdi
movq 0x28(%rsp), %rsi
pushq $0x6
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x17222
movq 0x8(%rsp), %rbp
movq 0x10(%rsp), %r15
cmpq %r15, %rbp
je 0x17e62
movl (%rbp), %eax
movl %eax, 0x4(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x17fbe
addq $0x4, %rbp
jmp 0x17e45
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x18566
incl %r14d
jmp 0x17d81
leaq 0x30(%rsp), %rdi
callq 0x18566
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17ed7
jmp 0x17efa
movq %rax, %r14
jmp 0x17f07
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
jmp 0x17efa
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x18566
leaq 0x30(%rsp), %rdi
callq 0x18566
movq %rbx, %rdi
callq 0x18566
movq %r14, %rdi
callq 0x56f0
nop