// File: /workspace/github_c_makefile_star2_O2/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 0x1154e2
movq %rsi, %rbx
movq %rdi, %r14
testq %rsi, %rsi
je 0x115379
movq %rbx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x115510
movq (%r14), %rdi
callq 0x1db3c5
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1150d0
movq %rax, %r15
leaq 0x1e7f2d(%rip), %rdi    # 0x2fd2c3
callq 0xaed4b
cmpq %rax, %r15
je 0x115495
movq %r14, %rdi
movq %rbx, %rsi
callq 0x115303
movq %rax, %r15
leaq 0x1e7f0a(%rip), %rdi    # 0x2fd2c3
callq 0xaed4b
cmpq %rax, %r15
je 0x11549e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x115312
movq %rax, %r15
leaq 0x1e7ee7(%rip), %rdi    # 0x2fd2c3
callq 0xaed4b
cmpq %rax, %r15
je 0x1154a7
movq %r14, %rdi
movq %rbx, %rsi
callq 0x115321
movq %rax, %r15
leaq 0x1e7ec4(%rip), %rdi    # 0x2fd2c3
callq 0xaed4b
cmpq %rax, %r15
je 0x1154b0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x115330
movq %rax, %r15
leaq 0x1e7ea1(%rip), %rdi    # 0x2fd2c3
callq 0xaed4b
cmpq %rax, %r15
je 0x1154b9
movq %r14, %rdi
movq %rbx, %rsi
callq 0x11533f
movq %rax, %r15
leaq 0x1e7e7e(%rip), %rdi    # 0x2fd2c3
callq 0xaed4b
cmpq %rax, %r15
je 0x1154c2
movq (%r14), %rdi
leaq 0x1e330c(%rip), %rdx    # 0x2f8765
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x1dc63b
movq (%r14), %rdi
pushq $-0x1
popq %rsi
callq 0x1db731
movb $0x1, %bpl
testl %eax, %eax
jne 0x1154d5
leaq 0x21d1b1(%rip), %rsi    # 0x33262d
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %eax, %eax
callq 0x89dbb
movq (%r14), %rdi
pushq $-0x2
popq %rsi
callq 0x1db3d2
jmp 0x1154d5
leaq 0x21d0e1(%rip), %rsi    # 0x33257d
jmp 0x1154c9
leaq 0x21d0f2(%rip), %rsi    # 0x332597
jmp 0x1154c9
leaq 0x21d10a(%rip), %rsi    # 0x3325b8
jmp 0x1154c9
leaq 0x21d122(%rip), %rsi    # 0x3325d9
jmp 0x1154c9
leaq 0x21d135(%rip), %rsi    # 0x3325f5
jmp 0x1154c9
leaq 0x21d147(%rip), %rsi    # 0x332610
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %eax, %eax
callq 0x89dbb
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0x322a7f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cfb20(%rip), %rsi    # 0x2e5013
leaq 0x21d05b(%rip), %rdx    # 0x332555
leaq 0x21d062(%rip), %rcx    # 0x332563
leaq 0x21d017(%rip), %r8     # 0x33251f
movl $0xdf, %r9d
jmp 0x11553c
movq 0x322a51(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cfaf2(%rip), %rsi    # 0x2e5013
leaq 0x1cfc97(%rip), %rdx    # 0x2e51bf
leaq 0x21d034(%rip), %rcx    # 0x332563
leaq 0x21cfe9(%rip), %r8     # 0x33251f
movl $0xe0, %r9d
xorl %eax, %eax
callq 0x17a50
callq 0x17390