// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/gff3_visitor.c
// Function: gff3_visitor_meta_node
static int gff3_visitor_meta_node(GtNodeVisitor *nv, GtMetaNode *mn,
                                  GT_UNUSED GtError *err)
{
  GtGFF3Visitor *gff3_visitor;
  const char *data;
  gt_error_check(err);
  gff3_visitor = gff3_visitor_cast(nv);
  gt_assert(nv && mn);
  if (!gff3_visitor->version_string_shown) {
    if (strncmp(gt_meta_node_get_directive(mn), GT_GFF_VERSION_DIRECTIVE,
                strlen(GT_GFF_VERSION_DIRECTIVE)) == 0
          || strncmp(gt_meta_node_get_directive(mn), GT_GVF_VERSION_DIRECTIVE,
                     strlen(GT_GVF_VERSION_DIRECTIVE)) == 0) {
      gff3_visitor->version_string_shown = true;
    } else {
      gff3_version_string(nv);
    }
  }
  data = gt_meta_node_get_data(mn);
  if (!gff3_visitor->outstr) {
    if (data) {
      gt_file_xprintf(gff3_visitor->outfp, "##%s %s\n",
                      gt_meta_node_get_directive(mn), data);
    } else {
      gt_file_xprintf(gff3_visitor->outfp, "##%s\n",
                      gt_meta_node_get_directive(mn));
    }
  } else {
    gt_str_append_cstr(gff3_visitor->outstr, "##");
    gt_str_append_cstr(gff3_visitor->outstr, gt_meta_node_get_directive(mn));
    if (data) {
      gt_str_append_char(gff3_visitor->outstr, ' ');
      gt_str_append_cstr(gff3_visitor->outstr, data);
    }
    gt_str_append_char(gff3_visitor->outstr, '\n');
  }
  return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %r15
testq %rdx, %rdx
je 0x23fd8
movq %rdx, %rdi
callq 0xc103
testb %al, %al
jne 0x24129
callq 0x238d4
movq %rax, %rdi
movq %r15, %rsi
callq 0x2603e
testq %r15, %r15
je 0x240fb
testq %r14, %r14
je 0x240fb
movq %rax, %rbx
cmpb $0x0, 0x10(%rax)
jne 0x2404d
movq %r14, %rdi
callq 0x257cc
leaq 0xab97f(%rip), %rsi     # 0xcf991
pushq $0xb
popq %rdx
movq %rax, %rdi
callq 0xb2a0
testl %eax, %eax
je 0x24049
movq %r14, %rdi
callq 0x257cc
leaq 0xab96f(%rip), %rsi     # 0xcf99f
pushq $0xb
popq %rdx
movq %rax, %rdi
callq 0xb2a0
testl %eax, %eax
je 0x24049
movq %r15, %rdi
callq 0x24334
jmp 0x2404d
movb $0x1, 0x10(%rbx)
movq %r14, %rdi
callq 0x25812
movq %rax, %r15
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x240af
leaq 0xabc74(%rip), %rsi     # 0xcfcdc
callq 0x13dd3
movq 0x40(%rbx), %r12
movq %r14, %rdi
callq 0x257cc
movq %r12, %rdi
movq %rax, %rsi
callq 0x13dd3
testq %r15, %r15
je 0x240a1
movq 0x40(%rbx), %rdi
pushq $0x20
popq %rsi
callq 0x140b1
movq 0x40(%rbx), %rdi
movq %r15, %rsi
callq 0x13dd3
movq 0x40(%rbx), %rdi
pushq $0xa
popq %rsi
callq 0x140b1
jmp 0x240ed
movq 0x38(%rbx), %rbx
movq %r14, %rdi
callq 0x257cc
testq %r15, %r15
je 0x240d9
leaq 0xad94c(%rip), %rsi     # 0xd1a13
movq %rbx, %rdi
movq %rax, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x542da
jmp 0x240ed
leaq 0xad93c(%rip), %rsi     # 0xd1a1c
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x542da
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x109eb6(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa5f5a(%rip), %rsi     # 0xca066
leaq 0xad8f7(%rip), %rdx     # 0xd1a0a
leaq 0xad8d9(%rip), %rcx     # 0xd19f3
leaq 0xad693(%rip), %r8      # 0xd17b4
movl $0x192, %r9d            # imm = 0x192
jmp 0x24155
movq 0x109e88(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa5f2c(%rip), %rsi     # 0xca066
leaq 0xa6518(%rip), %rdx     # 0xca659
leaq 0xad8ab(%rip), %rcx     # 0xd19f3
leaq 0xad665(%rip), %r8      # 0xd17b4
movl $0x190, %r9d            # imm = 0x190
xorl %eax, %eax
callq 0xb8c0
callq 0xb300