// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq.c
// Function: gt_encseq_loader_load
GtEncseq* gt_encseq_loader_load(GtEncseqLoader *el, const char *indexname,
                                GtError *err)
{
  GtEncseq *encseq = NULL;
  gt_assert(el && indexname);

  if (el->autodiscover) {
    char buf[BUFSIZ];
    (void) snprintf(buf, BUFSIZ, "%s%s", indexname, GT_DESTABFILESUFFIX);
    if (gt_file_exists(buf))
      el->destab = true;
    (void) snprintf(buf, BUFSIZ, "%s%s", indexname, GT_SDSTABFILESUFFIX);
    if (gt_file_exists(buf))
      el->sdstab = true;
    (void) snprintf(buf, BUFSIZ, "%s%s", indexname, GT_SSPTABFILESUFFIX);
    if (gt_file_exists(buf))
      el->ssptab = true;
    (void) snprintf(buf, BUFSIZ, "%s%s", indexname, GT_OISTABFILESUFFIX);
    if (gt_file_exists(buf))
      el->oistab = true;
    (void) snprintf(buf, BUFSIZ, "%s%s", indexname, GT_MD5TABFILESUFFIX);
    if (gt_file_exists(buf))
      el->md5tab = true;
  }
  gt_log_log("loading encseq %s with des: %d, sds: %d, ssp: %d, ois: %d, "
             "md5: %d, mirr: %d",
             indexname, el->destab, el->sdstab, el->ssptab, el->oistab,
             el->md5tab, el->mirrored);

  encseq = gt_encseq_new_from_index(indexname,
                                    el->destab,
                                    el->sdstab,
                                    el->ssptab,
                                    el->oistab,
                                    el->md5tab,
                                    el->logger,
                                    err);
  if (encseq && el->mirrored) {
    if (gt_encseq_mirror(encseq, err) != 0) {
      gt_encseq_delete(encseq);
      encseq = NULL;
    }
  }
  return encseq;
}

// Assembly:
subq $0x2038, %rsp           # imm = 0x2038
movq %rdi, 0x2030(%rsp)
movq %rsi, 0x2028(%rsp)
movq %rdx, 0x2020(%rsp)
movq $0x0, 0x2018(%rsp)
cmpq $0x0, 0x2030(%rsp)
je 0x121cc1
cmpq $0x0, 0x2028(%rsp)
jne 0x121cf9
movq 0x92310(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3c394(%rip), %rsi     # 0x15e066
leaq 0x65a0b(%rip), %rdx     # 0x1876e4
leaq 0x65a14(%rip), %rcx     # 0x1876f4
leaq 0x63977(%rip), %r8      # 0x18565e
movl $0x224c, %r9d           # imm = 0x224C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x121cfb
movq 0x2030(%rsp), %rax
testb $0x1, 0x6(%rax)
je 0x121e5d
leaq 0x10(%rsp), %rdi
movq 0x2028(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
leaq 0x544fc(%rip), %rdx     # 0x176222
leaq 0x6296b(%rip), %r8      # 0x184698
movb $0x0, %al
callq 0xb9d0
leaq 0x10(%rsp), %rdi
callq 0x84330
testb $0x1, %al
jne 0x121d44
jmp 0x121d4f
movq 0x2030(%rsp), %rax
movb $0x1, (%rax)
leaq 0x10(%rsp), %rdi
movq 0x2028(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
leaq 0x544ba(%rip), %rdx     # 0x176222
leaq 0x6291f(%rip), %r8      # 0x18468e
movb $0x0, %al
callq 0xb9d0
leaq 0x10(%rsp), %rdi
callq 0x84330
testb $0x1, %al
jne 0x121d86
jmp 0x121d92
movq 0x2030(%rsp), %rax
movb $0x1, 0x3(%rax)
leaq 0x10(%rsp), %rdi
movq 0x2028(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
leaq 0x54477(%rip), %rdx     # 0x176222
leaq 0x62927(%rip), %r8      # 0x1846d9
movb $0x0, %al
callq 0xb9d0
leaq 0x10(%rsp), %rdi
callq 0x84330
testb $0x1, %al
jne 0x121dc9
jmp 0x121dd5
movq 0x2030(%rsp), %rax
movb $0x1, 0x1(%rax)
leaq 0x10(%rsp), %rdi
movq 0x2028(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
leaq 0x54434(%rip), %rdx     # 0x176222
leaq 0x62894(%rip), %r8      # 0x184689
movb $0x0, %al
callq 0xb9d0
leaq 0x10(%rsp), %rdi
callq 0x84330
testb $0x1, %al
jne 0x121e0c
jmp 0x121e18
movq 0x2030(%rsp), %rax
movb $0x1, 0x2(%rax)
leaq 0x10(%rsp), %rdi
movq 0x2028(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
leaq 0x543f1(%rip), %rdx     # 0x176222
leaq 0x6285b(%rip), %r8      # 0x184693
movb $0x0, %al
callq 0xb9d0
leaq 0x10(%rsp), %rdi
callq 0x84330
testb $0x1, %al
jne 0x121e4f
jmp 0x121e5b
movq 0x2030(%rsp), %rax
movb $0x1, 0x4(%rax)
jmp 0x121e5d
movq 0x2028(%rsp), %rsi
movq 0x2030(%rsp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %edx
movq 0x2030(%rsp), %rax
movb 0x3(%rax), %al
andb $0x1, %al
movzbl %al, %ecx
movq 0x2030(%rsp), %rax
movb 0x1(%rax), %al
andb $0x1, %al
movzbl %al, %r8d
movq 0x2030(%rsp), %rax
movb 0x2(%rax), %al
andb $0x1, %al
movzbl %al, %r9d
movq 0x2030(%rsp), %rax
movb 0x4(%rax), %al
andb $0x1, %al
movzbl %al, %r10d
movq 0x2030(%rsp), %rax
movb 0x5(%rax), %al
andb $0x1, %al
movzbl %al, %eax
leaq 0x6583c(%rip), %rdi     # 0x18770a
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x0, %al
callq 0xc930
movq 0x2028(%rsp), %rdi
movq 0x2030(%rsp), %rax
movb (%rax), %sil
movq 0x2030(%rsp), %rax
movb 0x3(%rax), %dl
movq 0x2030(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x2030(%rsp), %rax
movb 0x2(%rax), %r8b
movq 0x2030(%rsp), %rax
movb 0x4(%rax), %r9b
movq 0x2030(%rsp), %rax
movq 0x8(%rax), %r10
movq 0x2020(%rsp), %rax
andb $0x1, %sil
andb $0x1, %dl
andb $0x1, %cl
andb $0x1, %r8b
andb $0x1, %r9b
movzbl %sil, %esi
movzbl %dl, %edx
movzbl %cl, %ecx
movzbl %r8b, %r8d
movzbl %r9b, %r9d
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x124f40
movq %rax, 0x2018(%rsp)
cmpq $0x0, 0x2018(%rsp)
je 0x121fba
movq 0x2030(%rsp), %rax
testb $0x1, 0x5(%rax)
je 0x121fba
movq 0x2018(%rsp), %rdi
movq 0x2020(%rsp), %rsi
callq 0x125ee0
cmpl $0x0, %eax
je 0x121fb8
movq 0x2018(%rsp), %rdi
callq 0x118250
movq $0x0, 0x2018(%rsp)
jmp 0x121fba
movq 0x2018(%rsp), %rax
addq $0x2038, %rsp           # imm = 0x2038
retq
nopw (%rax,%rax)