// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/xrf_abbr_parse_tree.c
// Function: gt_xrf_abbr_parse_tree_tag_line
static int gt_xrf_abbr_parse_tree_tag_line(GtIO *xrf_abbr_file, GtStr *tag,
                                           GtStr *value, GtError *err)
{
  int had_err = 0;
  gt_error_check(err);
  gt_log_log("tag");
  gt_assert(xrf_abbr_file && tag && value);
  do {
    had_err = gt_xrf_abbr_parse_tree_proc_any_char(xrf_abbr_file, tag,
                                                   false, err);
  } while (!had_err && gt_xrf_abbr_parse_tree_any_char(xrf_abbr_file, false));
  if (!had_err)
    had_err = gt_io_expect(xrf_abbr_file, XRF_SEPARATOR_CHAR, err);
  while (!had_err && gt_io_peek(xrf_abbr_file) == XRF_BLANK_CHAR)
    gt_io_next(xrf_abbr_file);
  if (!had_err) {
    do {
      had_err = gt_xrf_abbr_parse_tree_proc_any_char(xrf_abbr_file, value,
                                                     true, err);
    } while (!had_err && gt_xrf_abbr_parse_tree_any_char(xrf_abbr_file, true));
  }
  if (!had_err) {
    if (gt_io_peek(xrf_abbr_file) == XRF_COMMENT_CHAR)
      had_err = gt_xrf_abbr_parse_tree_comment_line(xrf_abbr_file, err);
    else
      had_err = gt_io_expect(xrf_abbr_file, GT_END_OF_LINE, err);
  }
  if (!had_err && !gt_xrf_abbr_parse_tree_valid_label(gt_str_get(tag))) {
    gt_warning("file \"%s\": line "GT_WU": unknown label \"%s\"",
                gt_io_get_filename(xrf_abbr_file),
                gt_io_get_line_number(xrf_abbr_file),
                gt_str_get(tag));
  }
  gt_log_log("parsed line %s/%s", gt_str_get(tag), gt_str_get(value));
  return had_err;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movq %rcx, 0x28(%rsp)
movl $0x0, 0x24(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0xaa290
movq 0x28(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xaa258
jmp 0xaa290
movq 0x109d79(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb3dfd(%rip), %rsi     # 0x15e066
leaq 0xb43d8(%rip), %rdx     # 0x15e648
leaq 0xc90c5(%rip), %rcx     # 0x17333c
leaq 0xc8ef1(%rip), %r8      # 0x17316f
movl $0x111, %r9d            # imm = 0x111
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xaa292
leaq 0xbc5da(%rip), %rdi     # 0x166873
movb $0x0, %al
callq 0xc930
cmpq $0x0, 0x40(%rsp)
je 0xaa2b8
cmpq $0x0, 0x38(%rsp)
je 0xaa2b8
cmpq $0x0, 0x30(%rsp)
jne 0xaa2f0
movq 0x109d19(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb3d9d(%rip), %rsi     # 0x15e066
leaq 0xc908c(%rip), %rdx     # 0x17335c
leaq 0xc9065(%rip), %rcx     # 0x17333c
leaq 0xc8e91(%rip), %r8      # 0x17316f
movl $0x113, %r9d            # imm = 0x113
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xaa2f2
jmp 0xaa2f4
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x28(%rsp), %rcx
xorl %edx, %edx
callq 0xaa4c0
movl %eax, 0x24(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x24(%rsp)
movb %al, 0x23(%rsp)
jne 0xaa32b
movq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0xaa190
movb %al, 0x23(%rsp)
movb 0x23(%rsp), %al
testb $0x1, %al
jne 0xaa2f4
cmpl $0x0, 0x24(%rsp)
jne 0xaa352
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rdx
movl $0x3a, %esi
callq 0xe1c90
movl %eax, 0x24(%rsp)
jmp 0xaa354
xorl %eax, %eax
cmpl $0x0, 0x24(%rsp)
movb %al, 0x22(%rsp)
jne 0xaa378
movq 0x40(%rsp), %rdi
callq 0xe1a90
movsbl %al, %eax
cmpl $0x20, %eax
sete %al
movb %al, 0x22(%rsp)
movb 0x22(%rsp), %al
testb $0x1, %al
jne 0xaa382
jmp 0xaa38e
movq 0x40(%rsp), %rdi
callq 0xe1b10
jmp 0xaa354
cmpl $0x0, 0x24(%rsp)
jne 0xaa3de
jmp 0xaa397
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rcx
movl $0x1, %edx
callq 0xaa4c0
movl %eax, 0x24(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x24(%rsp)
movb %al, 0x21(%rsp)
jne 0xaa3d4
movq 0x40(%rsp), %rdi
movl $0x1, %esi
callq 0xaa190
movb %al, 0x21(%rsp)
movb 0x21(%rsp), %al
testb $0x1, %al
jne 0xaa397
jmp 0xaa3de
cmpl $0x0, 0x24(%rsp)
jne 0xaa426
movq 0x40(%rsp), %rdi
callq 0xe1a90
movsbl %al, %eax
cmpl $0x21, %eax
jne 0xaa40c
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xa9990
movl %eax, 0x24(%rsp)
jmp 0xaa424
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rdx
movl $0xa, %esi
callq 0xe1c90
movl %eax, 0x24(%rsp)
jmp 0xaa426
cmpl $0x0, 0x24(%rsp)
jne 0xaa486
movq 0x38(%rsp), %rdi
callq 0x19940
movq %rax, %rdi
callq 0xaa6e0
testb $0x1, %al
jne 0xaa486
movq 0x40(%rsp), %rdi
callq 0xe1bd0
movq %rax, 0x10(%rsp)
movq 0x40(%rsp), %rdi
callq 0xe1b80
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
callq 0x19940
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %rax, %rcx
leaq 0xc8efb(%rip), %rdi     # 0x17337a
movb $0x0, %al
callq 0x1c550
movq 0x38(%rsp), %rdi
callq 0x19940
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x19940
movq 0x8(%rsp), %rsi
movq %rax, %rdx
leaq 0xc8ef4(%rip), %rdi     # 0x1733a2
movb $0x0, %al
callq 0xc930
movl 0x24(%rsp), %eax
addq $0x48, %rsp
retq
nop