// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_matchtool.c
// Function: gt_matchtool_arguments_check
static int gt_matchtool_arguments_check(GT_UNUSED int rest_argc,
                                          void *tool_arguments,
                                          GtError *err)
{
  GtMatchtoolArguments *arguments = tool_arguments;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(arguments);

  if (strcmp(gt_str_get(arguments->type), "OPENMATCH") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTOUT") == 0) {
    if (gt_str_length(arguments->matchfile) == 0) {
      gt_error_set(err, "types OPENMATCH and BLASTOUT require the "
                        "option -matchfile");
      had_err = -1;
    }
  }
  if (strcmp(gt_str_get(arguments->type), "BLASTALLP") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTALLN") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTP") == 0 ||
      strcmp(gt_str_get(arguments->type), "SW") == 0 ||
      strcmp(gt_str_get(arguments->type), "LAST") == 0 ||
      strcmp(gt_str_get(arguments->type), "BLASTN") == 0) {
    if (gt_str_length(arguments->db) == 0
        || gt_str_length(arguments->query) == 0) {
      gt_error_set(err, "types BLASTALLP, BLASTALLN, BLASTP, BLASTN, LAST, SW "
                        "require the options -db and -query");
      had_err = -1;
    }
  }

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rsi, %r14
testq %rdx, %rdx
je 0x327a7
movq %rbx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x32915
testq %r14, %r14
je 0x328e7
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bddcb(%rip), %rsi    # 0x2f058a
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x327e6
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bddba(%rip), %rsi    # 0x2f0594
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
jne 0x327f4
movq 0x8(%r14), %rdi
callq 0xad289
testq %rax, %rax
je 0x327f8
xorl %ebp, %ebp
jmp 0x3280c
leaq 0x2be00f(%rip), %rsi    # 0x2f080e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %rbp
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bdd82(%rip), %rsi    # 0x2f059d
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x328b0
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bdd6d(%rip), %rsi    # 0x2f05a7
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x328b0
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bdd5c(%rip), %rsi    # 0x2f05b1
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x328b0
movq (%r14), %rdi
callq 0xad1fa
cmpb $0x53, (%rax)
jne 0x3287a
cmpb $0x57, 0x1(%rax)
jne 0x3287a
cmpb $0x0, 0x2(%rax)
je 0x328b0
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bdd36(%rip), %rsi    # 0x2f05bf
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x328b0
movq (%r14), %rdi
callq 0xad1fa
leaq 0x2bdd14(%rip), %rsi    # 0x2f05b8
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
jne 0x328e0
movq 0x18(%r14), %rdi
callq 0xad289
testq %rax, %rax
je 0x328cc
movq 0x10(%r14), %rdi
callq 0xad289
testq %rax, %rax
jne 0x328e0
pushq $-0x1
popq %rbp
leaq 0x2bdf73(%rip), %rsi    # 0x2f0849
movq %rbx, %rdi
xorl %eax, %eax
callq 0x89dbb
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
movq 0x40567a(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2b271b(%rip), %rsi    # 0x2e5013
leaq 0x315d54(%rip), %rdx    # 0x348653
leaq 0x2bdeeb(%rip), %rcx    # 0x2f07f1
leaq 0x2bdc45(%rip), %r8     # 0x2f0552
movl $0x9c, %r9d
jmp 0x32941
movq 0x40564c(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2b26ed(%rip), %rsi    # 0x2e5013
leaq 0x2b2892(%rip), %rdx    # 0x2e51bf
leaq 0x2bdebd(%rip), %rcx    # 0x2f07f1
leaq 0x2bdc17(%rip), %r8     # 0x2f0552
movl $0x9b, %r9d
xorl %eax, %eax
callq 0x17a50
callq 0x17390