// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq_options.c
// Function: gt_encseq_options_check
static int gt_encseq_options_check(void *oip, GtError *err)
{
  int had_err = 0;
  GtEncseqOptions *oi = (GtEncseqOptions*) oip;
  gt_assert(oi != NULL);
  gt_error_check(err);

  if (oi->withdb) {
    gt_assert(oi->db != NULL);
    /* set default indexname  */
    if (oi->optiondb != NULL
          && gt_str_array_size(oi->db) == 0UL) {
      if (gt_option_is_set(oi->optiondb)) {
        gt_error_set(err, "missing argument to option -db");
        had_err = -1;
      }
    } else {
      if (oi->optionindexname != NULL
            && !gt_option_is_set(oi->optionindexname)) {
        if (gt_str_array_size(oi->db) > 1UL) {
          gt_error_set(err,"if more than one input file is given, then "
                           "option -indexname is mandatory");
          had_err = -1;
        } else {
          char *basenameptr;
          basenameptr = gt_basename(gt_str_array_get(oi->db, 0));
          gt_str_set(oi->indexname, basenameptr);
          gt_free(basenameptr);
        }
      }
    }
  }
  if (!had_err) {
    if (!oi->des && oi->sds) {
      gt_error_set(err, "option \"-sds yes\" requires \"-des yes\"");
      had_err = -1;
    }
  }
  if (!had_err) {
    if (oi->optionplain != NULL && gt_option_is_set(oi->optionplain)) {
      if (oi->optiondna != NULL && !gt_option_is_set(oi->optiondna) &&
          oi->optionprotein != NULL && !gt_option_is_set(oi->optionprotein) &&
          oi->optionsmap != NULL && !gt_option_is_set(oi->optionsmap)) {
        gt_error_set(err,"if option -plain is used, then any of the options "
                         "-dna, -protein, or -smap is mandatory");
        had_err = -1;
      }
    }
  }
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x144890
movq 0x6f779(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x197fd(%rip), %rsi     # 0x15e066
leaq 0x4784f(%rip), %rdx     # 0x18c0bf
leaq 0x47853(%rip), %rcx     # 0x18c0ca
leaq 0x46e6b(%rip), %r8      # 0x18b6e9
movl $0x82, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x144892
jmp 0x144894
cmpq $0x0, 0x18(%rsp)
je 0x1448e4
movq 0x18(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x1448ac
jmp 0x1448e4
movq 0x6f725(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x197a9(%rip), %rsi     # 0x15e066
leaq 0x19d84(%rip), %rdx     # 0x15e648
leaq 0x477ff(%rip), %rcx     # 0x18c0ca
leaq 0x46e17(%rip), %r8      # 0x18b6e9
movl $0x83, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1448e6
movq 0x8(%rsp), %rax
testb $0x1, 0xda(%rax)
je 0x144a3d
jmp 0x1448fa
movq 0x8(%rsp), %rax
cmpq $0x0, 0xc8(%rax)
jne 0x144941
movq 0x6f6c8(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1974c(%rip), %rsi     # 0x15e066
leaq 0x477c1(%rip), %rdx     # 0x18c0e2
leaq 0x477a2(%rip), %rcx     # 0x18c0ca
leaq 0x46dba(%rip), %r8      # 0x18b6e9
movl $0x86, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x144943
movq 0x8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x14499a
movq 0x8(%rsp), %rax
movq 0xc8(%rax), %rdi
callq 0x1b720
cmpq $0x0, %rax
jne 0x14499a
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x149a0
testb $0x1, %al
jne 0x14497a
jmp 0x144995
movq 0x18(%rsp), %rdi
leaq 0x4776b(%rip), %rsi     # 0x18c0f1
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x144a3b
movq 0x8(%rsp), %rax
cmpq $0x0, 0x28(%rax)
je 0x144a39
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x149a0
testb $0x1, %al
jne 0x144a39
movq 0x8(%rsp), %rax
movq 0xc8(%rax), %rdi
callq 0x1b720
cmpq $0x1, %rax
jbe 0x1449f0
movq 0x18(%rsp), %rdi
leaq 0x47731(%rip), %rsi     # 0x18c110
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x144a37
movq 0x8(%rsp), %rax
movq 0xc8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1b320
movq %rax, %rdi
callq 0x787e0
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rsi
callq 0x190b0
movq (%rsp), %rdi
leaq 0x46cbc(%rip), %rsi     # 0x18b6e9
movl $0x99, %edx
callq 0xdab0
jmp 0x144a39
jmp 0x144a3b
jmp 0x144a3d
cmpl $0x0, 0x14(%rsp)
jne 0x144a7d
movq 0x8(%rsp), %rax
testb $0x1, 0xd0(%rax)
jne 0x144a7b
movq 0x8(%rsp), %rax
testb $0x1, 0xd2(%rax)
je 0x144a7b
movq 0x18(%rsp), %rdi
leaq 0x476ee(%rip), %rsi     # 0x18c15a
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x144a7d
cmpl $0x0, 0x14(%rsp)
jne 0x144b34
movq 0x8(%rsp), %rax
cmpq $0x0, 0x78(%rax)
je 0x144b32
movq 0x8(%rsp), %rax
movq 0x78(%rax), %rdi
callq 0x149a0
testb $0x1, %al
jne 0x144aaf
jmp 0x144b32
movq 0x8(%rsp), %rax
cmpq $0x0, 0x70(%rax)
je 0x144b30
movq 0x8(%rsp), %rax
movq 0x70(%rax), %rdi
callq 0x149a0
testb $0x1, %al
jne 0x144b30
movq 0x8(%rsp), %rax
cmpq $0x0, 0x80(%rax)
je 0x144b30
movq 0x8(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x149a0
testb $0x1, %al
jne 0x144b30
movq 0x8(%rsp), %rax
cmpq $0x0, 0x88(%rax)
je 0x144b30
movq 0x8(%rsp), %rax
movq 0x88(%rax), %rdi
callq 0x149a0
testb $0x1, %al
jne 0x144b30
movq 0x18(%rsp), %rdi
leaq 0x4765f(%rip), %rsi     # 0x18c180
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x144b32
jmp 0x144b34
movl 0x14(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)