// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/tsv.cpp
// Function: Common_sp::TextTable::find(Common_sp::Vector<unsigned long> const&, Common_sp::StringVector const&, unsigned long) const
TextTable::RowNum TextTable::find (const Vector<ColNum> &colNums,
                                   const StringVector &targetValues,
                                   RowNum row_num_start) const
{
  ASSERT (colNums. size () == targetValues. size ());
  ASSERT (row_num_start != no_index);
  StringVector values;
  FOR_START (RowNum, i, row_num_start, rows. size ())
  {
    colNumsRow2values (colNums, i, values);
    if (values == targetValues)
      return i;
  }
  return no_index;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
callq 0xb060
andl $0x0, (%rax)
movq 0x8(%r15), %rax
subq (%r15), %rax
sarq $0x3, %rax
movq 0x8(%r14), %rcx
subq (%r14), %rcx
sarq $0x5, %rcx
cmpq %rcx, %rax
jne 0x54318
cmpq $-0x1, %rbx
je 0x543ec
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %rbp
movups %xmm0, 0x9(%rbp)
movaps %xmm0, (%rbp)
pushq $-0x1
popq %r13
movq 0x58(%r12), %rax
subq 0x50(%r12), %rax
sarq $0x5, %rax
cmpq %rax, %rbx
jae 0x542f9
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq %rbp, %rcx
callq 0x541da
movq %rbp, %rdi
movq %r14, %rsi
callq 0x20258
testb %al, %al
jne 0x542f6
incq %rbx
jmp 0x542be
movq %rbx, %r13
leaq 0x10(%rsp), %rdi
callq 0x20bee
movq %r13, %rax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6c0
testl %eax, %eax
jne 0x544c0
leaq 0xb27d(%rip), %rsi      # 0x5f5a9
leaq 0x98(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x78(%rsp), %rdi
movl $0x2af, %esi            # imm = 0x2AF
callq 0x1caa3
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x1ca3c
leaq 0x5875(%rip), %rdx      # 0x59be3
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x1b92d
leaq 0xb673(%rip), %rsi      # 0x5f9fd
leaq 0x38(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x759e(%rip), %rdx      # 0x5b93e
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1b92d
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x1ca3c
leaq 0xb696(%rip), %rdx      # 0x5fa66
leaq 0x10(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x544c0
leaq 0xb1a9(%rip), %rsi      # 0x5f5a9
leaq 0x98(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x78(%rsp), %rdi
movl $0x2b0, %esi            # imm = 0x2B0
callq 0x1caa3
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x1ca3c
leaq 0x57a1(%rip), %rdx      # 0x59be3
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x1b92d
leaq 0xb59f(%rip), %rsi      # 0x5f9fd
leaq 0x38(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x74ca(%rip), %rdx      # 0x5b93e
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1b92d
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x1ca3c
leaq 0xb5ec(%rip), %rdx      # 0x5fa90
leaq 0x10(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
jmp 0x544cc
jmp 0x544db
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x544de
movq %rax, %rbx
leaq 0xf8(%rsp), %rdi
callq 0xbb68
jmp 0x544f2
jmp 0x544ef
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0xbb68
jmp 0x54503
jmp 0x54500
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0xbb68
jmp 0x54514
jmp 0x54511
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbb68
jmp 0x54528
jmp 0x54525
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0xbb68
jmp 0x5453c
jmp 0x54539
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0xbb68
jmp 0x5454d
jmp 0x5454a
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0xbb68
jmp 0x54570
jmp 0x5455e
movq %rax, %rbx
jmp 0x54570
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x20bee
movq %rbx, %rdi
callq 0xba30