// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_fingerprint.c
// Function: detect_collisions_on_bsc
static int detect_collisions_on_bsc(GtBioseqCol *bsc, GtError *err)
{
  GtUword filenum, seqnum;
  GtSeqInfoCache *sic;
  gt_error_check(err);
  gt_assert(bsc);
  int had_err = 0;
  sic = gt_seq_info_cache_new();
  for (filenum = 0;
       !had_err && filenum < gt_seq_col_num_of_files((GtSeqCol*) bsc);
       filenum++) {
    for (seqnum = 0;
         !had_err && seqnum < gt_seq_col_num_of_seqs((GtSeqCol*) bsc, filenum);
         seqnum++) {
      const GtSeqInfo *si_ptr;
      const char *md5;
      md5 = gt_seq_col_get_md5_fingerprint((GtSeqCol*) bsc, filenum, seqnum);
      if ((si_ptr = gt_seq_info_cache_get(sic, md5)))
        had_err = compare_md5s(bsc, si_ptr, filenum, seqnum, md5, err);
      else {
        GtSeqInfo si;
        si.filenum = filenum;
        si.seqnum = seqnum;
        gt_seq_info_cache_add(sic, md5, &si);
      }
    }
  }
  gt_seq_info_cache_delete(sic);
  return had_err;
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
cmpq $0x0, 0x68(%rsp)
je 0x3887e
movq 0x68(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x38846
jmp 0x3887e
movq 0x603753(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4dd7bc(%rip), %rsi    # 0x516013
leaq 0x4dd961(%rip), %rdx    # 0x5161bf
leaq 0x4e5974(%rip), %rcx    # 0x51e1d9
leaq 0x4e55a1(%rip), %r8     # 0x51de0d
movl $0xf8, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x38880
jmp 0x38882
cmpq $0x0, 0x70(%rsp)
jne 0x388c2
movq 0x60370f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4dd778(%rip), %rsi    # 0x516013
leaq 0x4e594c(%rip), %rdx    # 0x51e1ee
leaq 0x4e5930(%rip), %rcx    # 0x51e1d9
leaq 0x4e555d(%rip), %r8     # 0x51de0d
movl $0xf9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x388c4
movl $0x0, 0x4c(%rsp)
callq 0x1114e0
movq %rax, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x4c(%rsp)
movb %al, 0x27(%rsp)
jne 0x38912
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x70(%rsp), %rdi
callq 0x111130
movq %rax, %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
setb %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x3891f
jmp 0x38a1b
movq $0x0, 0x58(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x4c(%rsp)
movb %al, 0x17(%rsp)
jne 0x38960
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x70(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x1111c0
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
setb %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x3896d
jmp 0x38a06
movq 0x70(%rsp), %rdi
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %rdx
callq 0x111250
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x111560
movq %rax, 0x40(%rsp)
cmpq $0x0, %rax
je 0x389c9
movq 0x70(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq 0x58(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x68(%rsp), %r9
callq 0x38a30
movl %eax, 0x4c(%rsp)
jmp 0x389f1
movq 0x60(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0x1115d0
jmp 0x389f3
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x38928
jmp 0x38a08
movq 0x60(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x60(%rsp)
jmp 0x388df
movq 0x50(%rsp), %rdi
callq 0x111520
movl 0x4c(%rsp), %eax
addq $0x78, %rsp
retq
nop