// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-cntlist.c
// Function: gt_cntlist_parse
int gt_cntlist_parse(const char *filename, bool alloc_cntlist,
    GtBitsequence **cntlist, GtUword *nofreads, GtError *err)
{
  int c, retval = 0;
  FILE *infp;

  gt_log_log("parse contained reads list file: %s", filename);
  infp = gt_fa_fopen(filename, "rb", err);

  if (infp == NULL)
    return -1;

  c = gt_xfgetc(infp);
  switch (c)
  {
    case EOF:
      gt_error_set(err, "%s: unexpected end of file", filename);
      retval = 1;
      break;
    case GT_CNTLIST_BIN_HEADER:
      gt_log_log("contained reads list format: BIN");
      retval = gt_cntlist_parse_bin(infp, alloc_cntlist, cntlist, nofreads,
          err);
      break;
    case GT_CNTLIST_BIT_HEADER:
      gt_log_log("contained reads list format: BIT");
      retval = gt_cntlist_parse_bit(infp, alloc_cntlist, cntlist, nofreads,
          err);
      break;
    case GT_CNTLIST_ASCII_HEADER:
      gt_xungetc(c, infp);
      gt_log_log("contained reads list format: ASCII");
      retval = gt_cntlist_parse_ascii(infp, alloc_cntlist, cntlist, nofreads,
          err);
      break;
    default:
      gt_error_set(err, "%s: unrecognized format", filename);
      retval = 1;
      break;
  }
  gt_fa_fclose(infp);

  return retval;
}

// Assembly:
subq $0x48, %rsp
movb %sil, %al
movq %rdi, 0x38(%rsp)
andb $0x1, %al
movb %al, 0x37(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq %r8, 0x18(%rsp)
movl $0x0, 0x10(%rsp)
movq 0x38(%rsp), %rsi
leaq 0x30a0f1(%rip), %rdi    # 0x57f556
movb $0x0, %al
callq 0xe7740
movq 0x38(%rsp), %rdi
movq 0x18(%rsp), %r8
leaq 0x302a68(%rip), %rsi    # 0x577ee5
leaq 0x30a0aa(%rip), %rdx    # 0x57f52e
movl $0xd9, %ecx
callq 0xd8df0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x2754a8
movl $0xffffffff, 0x44(%rsp) # imm = 0xFFFFFFFF
jmp 0x2755f6
movq 0x8(%rsp), %rdi
callq 0x1269f0
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
movl %eax, 0x4(%rsp)
subl $-0x1, %eax
je 0x2754ec
jmp 0x2754c5
movl 0x4(%rsp), %eax
testl %eax, %eax
je 0x27554a
jmp 0x2754cf
movl 0x4(%rsp), %eax
subl $0x1, %eax
je 0x275511
jmp 0x2754da
movl 0x4(%rsp), %eax
subl $0x5b, %eax
je 0x275580
jmp 0x2755c4
movq 0x18(%rsp), %rdi
movq 0x38(%rsp), %rdx
leaq 0x30a07d(%rip), %rsi    # 0x57f57a
movb $0x0, %al
callq 0xd88c0
movl $0x1, 0x10(%rsp)
jmp 0x2755e4
leaq 0x30a07d(%rip), %rdi    # 0x57f595
movb $0x0, %al
callq 0xe7740
movq 0x8(%rsp), %rdi
movb 0x37(%rsp), %al
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
movq 0x18(%rsp), %r8
andb $0x1, %al
movzbl %al, %esi
callq 0x275600
movl %eax, 0x10(%rsp)
jmp 0x2755e4
leaq 0x30a065(%rip), %rdi    # 0x57f5b6
movb $0x0, %al
callq 0xe7740
movq 0x8(%rsp), %rdi
movb 0x37(%rsp), %al
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
movq 0x18(%rsp), %r8
andb $0x1, %al
movzbl %al, %esi
callq 0x2757b0
movl %eax, 0x10(%rsp)
jmp 0x2755e4
movl 0x14(%rsp), %edi
movq 0x8(%rsp), %rsi
callq 0x126f00
leaq 0x30a042(%rip), %rdi    # 0x57f5d7
movb $0x0, %al
callq 0xe7740
movq 0x8(%rsp), %rdi
movb 0x37(%rsp), %al
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
movq 0x18(%rsp), %r8
andb $0x1, %al
movzbl %al, %esi
callq 0x275a80
movl %eax, 0x10(%rsp)
jmp 0x2755e4
movq 0x18(%rsp), %rdi
movq 0x38(%rsp), %rdx
leaq 0x30a025(%rip), %rsi    # 0x57f5fa
movb $0x0, %al
callq 0xd88c0
movl $0x1, 0x10(%rsp)
movq 0x8(%rsp), %rdi
callq 0xd9390
movl 0x10(%rsp), %eax
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nop