// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_encseq2spm.c
// Function: gt_encseq2spm_arguments_check
static int gt_encseq2spm_arguments_check(int rest_argc,
                                         void *tool_arguments,
                                         GtError *err)
{
  GtEncseq2spmArguments *arguments = tool_arguments;
  bool haserr = false;

  gt_error_check(err);
  if (rest_argc != 0)
  {
    gt_error_set(err,"unnecessary arguments");
    haserr = true;
  }
  if (!haserr && gt_str_length(arguments->spmspec) > 0)
  {
    const char *spmspecstring = gt_str_get(arguments->spmspec);
    if (strcmp(spmspecstring,"show") == 0)
    {
      arguments->outputspms = true;
    } else
    {
      if (strcmp(spmspecstring,"count") == 0)
      {
        arguments->countspms = true;
      } else
      {
        gt_error_set(err,"illegal argument \"%s\" to option -spm",
                     spmspecstring);
        haserr = true;
      }
    }
  }
  if (!haserr && gt_option_is_set(arguments->refoptionmemlimit))
  {
    if (gt_option_parse_spacespec(&arguments->maximumspace,
                                  "memlimit",
                                  arguments->memlimitarg,
                                  err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && gt_option_is_set(arguments->refoptionphase2extra))
  {
    if (gt_option_parse_spacespec(&arguments->phase2extra,
                                  "phase2extra",
                                  arguments->phase2extraarg,
                                  err) != 0)
    {
      haserr = true;
    }
  }
  return haserr ? -1 : 0;
}

// Assembly:
subq $0x38, %rsp
movl %edi, 0x34(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movb $0x0, 0x17(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x2d291
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x2d259
jmp 0x2d291
movq 0x60ed40(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4e8da9(%rip), %rsi    # 0x516013
leaq 0x4e8f4e(%rip), %rdx    # 0x5161bf
leaq 0x4ee803(%rip), %rcx    # 0x51ba7b
leaq 0x4ee441(%rip), %r8     # 0x51b6c0
movl $0xfa, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2d293
cmpl $0x0, 0x34(%rsp)
je 0x2d2b2
movq 0x20(%rsp), %rdi
leaq 0x4ee7f3(%rip), %rsi    # 0x51ba99
movb $0x0, %al
callq 0xd88c0
movb $0x1, 0x17(%rsp)
testb $0x1, 0x17(%rsp)
jne 0x2d347
movq 0x18(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
jbe 0x2d347
movq 0x18(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x11dee0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x556018(%rip), %rsi    # 0x583308
callq 0x19980
cmpl $0x0, %eax
jne 0x2d305
movq 0x18(%rsp), %rax
movb $0x1, 0x3(%rax)
jmp 0x2d345
movq 0x8(%rsp), %rdi
leaq 0x55dd21(%rip), %rsi    # 0x58b032
callq 0x19980
cmpl $0x0, %eax
jne 0x2d326
movq 0x18(%rsp), %rax
movb $0x1, 0x7(%rax)
jmp 0x2d343
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x4ee778(%rip), %rsi    # 0x51baaf
movb $0x0, %al
callq 0xd88c0
movb $0x1, 0x17(%rsp)
jmp 0x2d345
jmp 0x2d347
testb $0x1, 0x17(%rsp)
jne 0x2d391
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x2d362
jmp 0x2d391
movq 0x18(%rsp), %rdi
addq $0x20, %rdi
movq 0x18(%rsp), %rax
movq 0x40(%rax), %rdx
movq 0x20(%rsp), %rcx
leaq 0x58d108(%rip), %rsi    # 0x5ba488
callq 0xf7500
cmpl $0x0, %eax
je 0x2d38f
movb $0x1, 0x17(%rsp)
jmp 0x2d391
testb $0x1, 0x17(%rsp)
jne 0x2d3db
movq 0x18(%rsp), %rax
movq 0x58(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x2d3ac
jmp 0x2d3db
movq 0x18(%rsp), %rdi
addq $0x28, %rdi
movq 0x18(%rsp), %rax
movq 0x48(%rax), %rdx
movq 0x20(%rsp), %rcx
leaq 0x4ee513(%rip), %rsi    # 0x51b8dd
callq 0xf7500
cmpl $0x0, %eax
je 0x2d3d9
movb $0x1, 0x17(%rsp)
jmp 0x2d3db
movb 0x17(%rsp), %dl
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testb $0x1, %dl
cmovnel %ecx, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)