// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/eis-voiditf.c
// Function: gt_loadvoidBWTSeqForSA
FMindex *gt_loadvoidBWTSeqForSA(const char *indexname,
                                bool withpckbt,
                                GtError *err)
{
  BWTSeq *bwtseq = NULL;
  bool haserr = false;
  GtEncseqMetadata *emd;
  GtAlphabet *alphabet;

  emd = gt_encseq_metadata_new(indexname, err);
  if (emd == NULL) {
    gt_assert(gt_error_is_set(err));
    haserr = true;
  }
  if (!haserr) {
    alphabet = gt_encseq_metadata_alphabet(emd);
    if (alphabet == NULL)
    {
      gt_assert(gt_error_is_set(err));
      haserr = true;
    }
  }
  if (!haserr)
  {
    bwtseq = gt_loadBWTSeqForSA(indexname,
                                BWT_ON_BLOCK_ENC,
                                BWTDEFOPT_MULTI_QUERY,
                                alphabet,
                                err);
    if (bwtseq == NULL)
    {
      gt_assert(gt_error_is_set(err));
      haserr = true;
    }
  }
  if (!haserr)
  {
    if (withpckbt && gt_pckbuckettable_exists(indexname))
    {
      unsigned int numofchars = gt_alphabet_num_of_chars(alphabet);
      bwtseq->pckbuckettable = gt_pckbuckettable_map(indexname,numofchars,err);
      if (bwtseq->pckbuckettable == NULL)
      {
        gt_assert(gt_error_is_set(err));
        haserr = true;
      }
    } else
    {
      bwtseq->pckbuckettable = NULL;
    }
  }
  gt_encseq_metadata_delete(emd);
  if (haserr && bwtseq != NULL)
  {
    gt_deletevoidBWTSeq((FMindex *) bwtseq);
    bwtseq = NULL;
  }
  return haserr ? NULL : (FMindex *) bwtseq;
}

// Assembly:
subq $0x48, %rsp
movb %sil, %al
movq %rdi, 0x40(%rsp)
andb $0x1, %al
movb %al, 0x3f(%rsp)
movq %rdx, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
movb $0x0, 0x27(%rsp)
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xd4e10
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x22fb20
jmp 0x22fad3
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x22fb19
movq 0x40c4b8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2e6521(%rip), %rsi    # 0x516013
leaq 0x30a48e(%rip), %rdx    # 0x539f87
leaq 0x346a7b(%rip), %rcx    # 0x57657b
leaq 0x346a1a(%rip), %r8     # 0x576521
movl $0xd0, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x22fb1b
movb $0x1, 0x27(%rsp)
testb $0x1, 0x27(%rsp)
jne 0x22fb8f
movq 0x18(%rsp), %rdi
callq 0xd6680
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x22fb8d
jmp 0x22fb40
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x22fb86
movq 0x40c44b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2e64b4(%rip), %rsi    # 0x516013
leaq 0x30a421(%rip), %rdx    # 0x539f87
leaq 0x346a0e(%rip), %rcx    # 0x57657b
leaq 0x3469ad(%rip), %r8     # 0x576521
movl $0xd7, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x22fb88
movb $0x1, 0x27(%rsp)
jmp 0x22fb8f
testb $0x1, 0x27(%rsp)
jne 0x22fc0f
movq 0x40(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x30(%rsp), %r8
movl $0x2, %edx
movl %edx, %esi
callq 0x21ee10
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x22fc0d
jmp 0x22fbc0
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x22fc06
movq 0x40c3cb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2e6434(%rip), %rsi    # 0x516013
leaq 0x30a3a1(%rip), %rdx    # 0x539f87
leaq 0x34698e(%rip), %rcx    # 0x57657b
leaq 0x34692d(%rip), %r8     # 0x576521
movl $0xe4, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x22fc08
movb $0x1, 0x27(%rsp)
jmp 0x22fc0f
testb $0x1, 0x27(%rsp)
jne 0x22fcd1
testb $0x1, 0x3f(%rsp)
je 0x22fcc2
movq 0x40(%rsp), %rdi
callq 0x262540
testb $0x1, %al
jne 0x22fc38
jmp 0x22fcc2
movq 0x10(%rsp), %rdi
callq 0x7e8c0
movl %eax, 0xc(%rsp)
movq 0x40(%rsp), %rdi
movl 0xc(%rsp), %esi
movq 0x30(%rsp), %rdx
callq 0x2625a0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0x28(%rsp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x22fcc0
jmp 0x22fc73
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x22fcb9
movq 0x40c318(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2e6381(%rip), %rsi    # 0x516013
leaq 0x30a2ee(%rip), %rdx    # 0x539f87
leaq 0x3468db(%rip), %rcx    # 0x57657b
leaq 0x34687a(%rip), %r8     # 0x576521
movl $0xf0, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x22fcbb
movb $0x1, 0x27(%rsp)
jmp 0x22fccf
movq 0x28(%rsp), %rax
movq $0x0, 0x50(%rax)
jmp 0x22fcd1
movq 0x18(%rsp), %rdi
callq 0xd6ae0
testb $0x1, 0x27(%rsp)
je 0x22fcfd
cmpq $0x0, 0x28(%rsp)
je 0x22fcfd
movq 0x28(%rsp), %rdi
callq 0x22fd20
movq $0x0, 0x28(%rsp)
testb $0x1, 0x27(%rsp)
je 0x22fd0c
xorl %eax, %eax
movq %rax, (%rsp)
jmp 0x22fd15
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
addq $0x48, %rsp
retq
nop