// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/bioseq_col.c
// Function: gt_bioseq_col_enable_match_desc_start
static void gt_bioseq_col_enable_match_desc_start(GtSeqCol *sc)
{
  GtBioseqCol *bsc;
  GtSeqInfo seq_info;
  GtUword i,j;
  char buf[BUFSIZ], fmt[32];
  gt_assert(sc);
  bsc = gt_bioseq_col_cast(sc);
  bsc->matchdescstart = true;
  (void) sprintf(fmt, "%%%ds", BUFSIZ-1);
  /* pre-cache seqids for faster search */
  if (!bsc->grep_cache)
    bsc->grep_cache = gt_seq_info_cache_new();
  for (i = 0; i < bsc->num_of_seqfiles; i++) {
    GtBioseq *bioseq = bsc->bioseqs[i];
    for (j = 0; j < gt_bioseq_number_of_sequences(bioseq); j++) {
      const char *desc = gt_bioseq_get_description(bioseq, j);
      (void) sscanf(desc, fmt, buf);
      seq_info.filenum = i;
      seq_info.seqnum = j;
      if (!gt_seq_info_cache_get(bsc->grep_cache, buf))
        gt_seq_info_cache_add(bsc->grep_cache, buf, &seq_info);
      else {
        if (!bsc->duplicates)
          bsc->duplicates = gt_hashmap_new(GT_HASH_STRING, NULL, NULL);
        gt_hashmap_add(bsc->duplicates, buf, (void*) 1);
      }
    }
  }
}

// Assembly:
subq $0x2078, %rsp           # imm = 0x2078
movq %rdi, 0x2070(%rsp)
cmpq $0x0, 0x2070(%rsp)
jne 0x10e822
movq 0xa57e7(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x4f86b(%rip), %rsi     # 0x15e066
leaq 0x7622d(%rip), %rdx     # 0x184a2f
leaq 0x76017(%rip), %rcx     # 0x184820
leaq 0x75ef3(%rip), %r8      # 0x184703
movl $0x82, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x10e824
callq 0x10e3d0
movq %rax, %rdi
movq 0x2070(%rsp), %rsi
callq 0x14a350
movq %rax, 0x2068(%rsp)
movq 0x2068(%rsp), %rax
movb $0x1, 0x28(%rax)
leaq 0x20(%rsp), %rdi
leaq 0x75fed(%rip), %rsi     # 0x184846
movl $0x1fff, %edx           # imm = 0x1FFF
movb $0x0, %al
callq 0xb0f0
movq 0x2068(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x10e888
callq 0x14ad00
movq %rax, %rcx
movq 0x2068(%rsp), %rax
movq %rcx, 0x18(%rax)
movq $0x0, 0x2050(%rsp)
movq 0x2050(%rsp), %rax
movq 0x2068(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x10ea08
movq 0x2068(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x2050(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
movq $0x0, 0x2048(%rsp)
movq 0x2048(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
callq 0x10d180
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x10e9ed
movq 0x18(%rsp), %rdi
movq 0x2048(%rsp), %rsi
callq 0x10c710
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x40(%rsp), %rdx
movb $0x0, %al
callq 0xb660
movq 0x2050(%rsp), %rax
movq %rax, 0x2058(%rsp)
movq 0x2048(%rsp), %rax
movq %rax, 0x2060(%rsp)
movq 0x2068(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x40(%rsp), %rsi
callq 0x14ad80
cmpq $0x0, %rax
jne 0x10e988
movq 0x2068(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x40(%rsp), %rsi
leaq 0x2058(%rsp), %rdx
callq 0x14adf0
jmp 0x10e9d2
movq 0x2068(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x10e9b7
movl $0x1, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x86190
movq %rax, %rcx
movq 0x2068(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x2068(%rsp), %rax
movq 0x20(%rax), %rdi
leaq 0x40(%rsp), %rsi
movl $0x1, %edx
callq 0x86510
jmp 0x10e9d4
movq 0x2048(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x2048(%rsp)
jmp 0x10e8d7
jmp 0x10e9ef
movq 0x2050(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x2050(%rsp)
jmp 0x10e894
addq $0x2078, %rsp           # imm = 0x2078
retq