// File: /workspace/github_cpp_makefile_star2_O1/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 $0x48, %rsp
movq %rdx, 0x30(%rsp)
movl %esi, %ebp
movq %rdi, 0x38(%rsp)
movl %ecx, %esi
callq 0x19bd2
movq %rax, %r12
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
cmpl $0x0, 0x1c(%rax)
movl %ebp, %r13d
jle 0x1b4b6
movq %r12, %rax
addq $0x50, %rax
movq %rax, 0x40(%rsp)
xorl %r14d, %r14d
xorl %ebx, %ebx
cmpl $0x7, %ebp
ja 0x1b48c
leaq 0x26647(%rip), %rcx     # 0x417fc
movslq (%rcx,%r13,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9abe
testb %al, %al
je 0x1b288
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movq 0x50(%r12), %rax
movq %r14, %r15
shlq $0x5, %r15
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9b3e
testb %al, %al
je 0x1b430
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9be2
testb %al, %al
je 0x1b44b
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9be2
jmp 0x1b48e
movq 0x50(%r12), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9b3e
testb %al, %al
jne 0x1b48c
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movq 0x50(%r12), %rcx
movq %r14, %rdx
shlq $0x5, %rdx
movq 0x8(%rcx,%rdx), %rax
movq 0x10(%rcx,%rdx), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
testl %ecx, %ecx
je 0x1b48c
xorl %edx, %edx
cmpq $0x0, (%rax,%rdx,8)
jne 0x1b46d
incq %rdx
cmpl %edx, %ecx
jne 0x1b324
jmp 0x1b48c
movq 0x50(%r12), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9abe
testb %al, %al
jne 0x1b48c
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movq 0x50(%r12), %rax
movq %r14, %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9be2
testb %al, %al
je 0x1b48c
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movq 0x50(%r12), %rcx
movq %r14, %rdx
shlq $0x5, %rdx
movq 0x8(%rcx,%rdx), %rax
movq 0x10(%rcx,%rdx), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
testl %ecx, %ecx
je 0x1b40e
xorl %edx, %edx
cmpq $0x0, (%rax,%rdx,8)
jne 0x1b48c
incq %rdx
cmpl %edx, %ecx
jne 0x1b3fc
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movq 0x50(%r12), %rax
leaq (%rax,%r15), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
callq 0x9b3e
xorb $0x1, %al
jmp 0x1b48e
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
jne 0x1b47e
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
movl %r14d, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x1b4a5
movl %r14d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x18(%rsp)
incl %ebx
xorl %eax, %eax
testb %al, %al
jne 0x1b4b8
incq %r14
movslq 0x1c(%r12), %rax
cmpq %rax, %r14
jl 0x1b1a5
jmp 0x1b4b8
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x1d178
jmp 0x1b48a
xorl %ebx, %ebx
cmpl $0x7, %ebp
ja 0x1ba33
leaq 0x26354(%rip), %rax     # 0x4181c
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b513
movq %r13, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b54e
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b54e
movq %r13, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b4f3
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b5b3
movq %r13, %rdi
movl $0x4, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b5f1
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b5f1
movq %r13, %rdi
movl $0x4, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b590
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b656
movq %r13, %rdi
movl $0x2, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b694
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b694
movq %r13, %rdi
movl $0x2, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b633
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b6f9
movq %r13, %rdi
movl $0x3, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b737
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b737
movq %r13, %rdi
movl $0x3, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b6d6
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b79c
movq %r13, %rdi
movl $0x7, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b7da
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b7da
movq %r13, %rdi
movl $0x7, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b779
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %rdi
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b841
movl $0x1, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b87c
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b87c
movl $0x1, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
movl %ebp, %r13d
cmpq %r15, %rcx
jbe 0x1b8c9
movl (%rax,%r15,4), %ecx
movl (%rax,%r13,4), %eax
decl %eax
cmpl %eax, %ecx
je 0x1b8c9
incl %ecx
movq 0x20(%r12), %rax
movl (%rax,%rcx,4), %ecx
cmpl $-0x1, %ecx
je 0x1b8c9
movq 0x38(%rsp), %rdi
movl $0x1, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
movq %r13, %r15
cmpq %r13, %rcx
movq 0x38(%rsp), %rdi
ja 0x1b81c
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b937
movq %r13, %rdi
movl $0x5, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1b975
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b975
movq %r13, %rdi
movl $0x5, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b914
jmp 0x1ba33
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r13
je 0x1ba33
movl $0x1, %ebp
xorl %r15d, %r15d
movl (%rax,%r15,4), %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1b9da
movq %r13, %rdi
movl $0x6, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
decq %rcx
cmpq %r15, %rcx
jne 0x1ba18
movl (%rax,%r15,4), %eax
incl %eax
movq 0x20(%r12), %rcx
movl (%rcx,%rax,4), %ecx
cmpl $-0x1, %ecx
je 0x1ba18
movq %r13, %rdi
movl $0x6, %esi
movq %r14, %rdx
callq 0x1b152
addl %eax, %ebx
movl %ebp, %r15d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
incl %ebp
cmpq %r15, %rcx
ja 0x1b9b7
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1ba4a
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
jmp 0x1ba7b
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1ba95
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x53a0
movq %rbx, %rdi
callq 0x56e0
nop