// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/script_filter.c
// Function: gt_script_filter_validate
bool gt_script_filter_validate(GtScriptFilter *script_filter, GtError *err)
{
  const char *result;

#ifndef NDEBUG
  GT_UNUSED int stack_size;
#endif
  gt_assert(script_filter);
  gt_error_check(err);

#ifndef NDEBUG
  stack_size = lua_gettop(script_filter->L);
#endif

  result = gt_script_filter_get_name(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'name' not found");
    return false;
  }
  result = gt_script_filter_get_description(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'description' not found");
    return false;
  }
  result = gt_script_filter_get_short_description(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'short_descr' not found");
    return false;
  }
  result = gt_script_filter_get_author(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'author' not found");
    return false;
  }
  result = gt_script_filter_get_email(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'email' not found");
    return false;
  }
  result = gt_script_filter_get_version(script_filter, err);
  if (result == gt_symbol("undefined")) {
    gt_error_set(err, "metadata 'version' not found");
    return false;
  }

  lua_getglobal(script_filter->L, "filter");
  if (lua_isnil(script_filter->L, -1)) {
    gt_error_set(err, "function 'filter' is not defined");
    lua_pop(script_filter->L, 1);
    return false;
  }
  return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x171d3b
movq %rsi, %rbx
movq %rdi, %r14
testq %rsi, %rsi
je 0x171ba5
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0x171d40
movq (%r14), %rdi
callq 0x2235ac
leaq 0x210bc2(%rip), %rsi    # 0x38275f
movq %r14, %rdi
movq %rbx, %rdx
jmp 0x171bb9
movq (%r14), %rdi
callq 0x2235ac
leaq 0x210bab(%rip), %rsi    # 0x38275f
movq %r14, %rdi
xorl %edx, %edx
callq 0x171996
movq %rax, %r15
leaq 0x1eb774(%rip), %rdi    # 0x35d33c
callq 0x11c5ff
cmpq %rax, %r15
je 0x171cee
leaq 0x21e918(%rip), %rsi    # 0x3904f5
movq %r14, %rdi
movq %rbx, %rdx
callq 0x171996
movq %rax, %r15
leaq 0x1eb74a(%rip), %rdi    # 0x35d33c
callq 0x11c5ff
cmpq %rax, %r15
je 0x171cf7
leaq 0x2205f5(%rip), %rsi    # 0x3921fc
movq %r14, %rdi
movq %rbx, %rdx
callq 0x171996
movq %rax, %r15
leaq 0x1eb720(%rip), %rdi    # 0x35d33c
callq 0x11c5ff
cmpq %rax, %r15
je 0x171d00
leaq 0x2205d7(%rip), %rsi    # 0x392208
movq %r14, %rdi
movq %rbx, %rdx
callq 0x171996
movq %rax, %r15
leaq 0x1eb6f6(%rip), %rdi    # 0x35d33c
callq 0x11c5ff
cmpq %rax, %r15
je 0x171d09
leaq 0x2205b4(%rip), %rsi    # 0x39220f
movq %r14, %rdi
movq %rbx, %rdx
callq 0x171996
movq %rax, %r15
leaq 0x1eb6cc(%rip), %rdi    # 0x35d33c
callq 0x11c5ff
cmpq %rax, %r15
je 0x171d12
leaq 0x25d704(%rip), %rsi    # 0x3cf389
movq %r14, %rdi
movq %rbx, %rdx
callq 0x171996
movq %rax, %r15
leaq 0x1eb6a2(%rip), %rdi    # 0x35d33c
callq 0x11c5ff
cmpq %rax, %r15
je 0x171d1b
movq (%r14), %rdi
leaq 0x1e6aa7(%rip), %rdx    # 0x358755
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x224a06
movq (%r14), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x223a4b
movb $0x1, %bpl
testl %eax, %eax
jne 0x171d2e
leaq 0x22061a(%rip), %rsi    # 0x3922ed
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfcb67
movq (%r14), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x2235b9
jmp 0x171d2e
leaq 0x220548(%rip), %rsi    # 0x39223d
jmp 0x171d22
leaq 0x220559(%rip), %rsi    # 0x392257
jmp 0x171d22
leaq 0x220571(%rip), %rsi    # 0x392278
jmp 0x171d22
leaq 0x220589(%rip), %rsi    # 0x392299
jmp 0x171d22
leaq 0x22059c(%rip), %rsi    # 0x3922b5
jmp 0x171d22
leaq 0x2205ae(%rip), %rsi    # 0x3922d0
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfcb67
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x538b3
callq 0x5387a