// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/gff3_parser.c
// Function: parse_target_attributes
static int parse_target_attributes(const char *values, bool tidy,
                                   GtUword *num_of_targets,
                                   GtStr *first_target_id,
                                   GtRange *first_target_range,
                                   GtStrand *first_target_strand,
                                   GtStrArray *target_ids,
                                   GtArray *target_ranges,
                                   GtArray *target_strands,
                                   const char *filename,
                                   unsigned int line_number,
                                   GtError *err)
{
  GtSplitter *splitter;
  GtUword i;
  char *targets;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(values && filename);
  targets = gt_cstr_dup(values);
  splitter = gt_splitter_new();
  gt_splitter_split(splitter, targets, strlen(targets), ',');
  if (num_of_targets)
    *num_of_targets = gt_splitter_size(splitter);
  for (i = 0; !had_err && i < gt_splitter_size(splitter); i++) {
    had_err = parse_target_attribute(gt_splitter_get_token(splitter, i), tidy,
                                     i ? NULL : first_target_id,
                                     i ? NULL : first_target_range,
                                     i ? NULL : first_target_strand,
                                     target_ids, target_ranges, target_strands,
                                     filename, line_number, err);
  }
  gt_free(targets);
  gt_splitter_delete(splitter);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0xd0, %rsp
movb %sil, %al
movq 0x118(%rsp), %rsi
movl 0x110(%rsp), %esi
movq 0x108(%rsp), %rsi
movq 0x100(%rsp), %rsi
movq 0xf8(%rsp), %rsi
movq 0xf0(%rsp), %rsi
movq %rdi, 0xc8(%rsp)
andb $0x1, %al
movb %al, 0xc7(%rsp)
movq %rdx, 0xb8(%rsp)
movq %rcx, 0xb0(%rsp)
movq %r8, 0xa8(%rsp)
movq %r9, 0xa0(%rsp)
movl $0x0, 0x84(%rsp)
cmpq $0x0, 0x118(%rsp)
je 0x291df
movq 0x118(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x291a7
jmp 0x291df
movq 0x18ae2a(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x134eae(%rip), %rsi    # 0x15e066
leaq 0x135489(%rip), %rdx    # 0x15e648
leaq 0x13a716(%rip), %rcx    # 0x1638dc
leaq 0x13a3de(%rip), %r8     # 0x1635ab
movl $0x170, %r9d            # imm = 0x170
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x291e1
jmp 0x291e3
cmpq $0x0, 0xc8(%rsp)
je 0x291f9
cmpq $0x0, 0x108(%rsp)
jne 0x29231
movq 0x18add8(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x134e5c(%rip), %rsi    # 0x15e066
leaq 0x13a6e3(%rip), %rdx    # 0x1638f4
leaq 0x13a6c4(%rip), %rcx    # 0x1638dc
leaq 0x13a38c(%rip), %r8     # 0x1635ab
movl $0x171, %r9d            # imm = 0x171
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x29233
movq 0xc8(%rsp), %rdi
callq 0x7c400
movq %rax, 0x88(%rsp)
callq 0x16a10
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x88(%rsp), %rdi
callq 0xb240
movq 0x70(%rsp), %rdi
movq 0x78(%rsp), %rsi
movq %rax, %rdx
movl $0x2c, %ecx
callq 0x16a30
cmpq $0x0, 0xb8(%rsp)
je 0x292b9
movq 0x98(%rsp), %rdi
callq 0x17010
movq %rax, %rcx
movq 0xb8(%rsp), %rax
movq %rcx, (%rax)
movq $0x0, 0x90(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x84(%rsp)
movb %al, 0x6f(%rsp)
jne 0x29301
movq 0x90(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x98(%rsp), %rdi
callq 0x17010
movq %rax, %rcx
movq 0x60(%rsp), %rax
cmpq %rcx, %rax
setb %al
movb %al, 0x6f(%rsp)
movb 0x6f(%rsp), %al
testb $0x1, %al
jne 0x2930e
jmp 0x29431
movq 0x98(%rsp), %rdi
movq 0x90(%rsp), %rsi
callq 0x16f20
movq %rax, 0x50(%rsp)
movb 0xc7(%rsp), %al
movb %al, 0x5f(%rsp)
cmpq $0x0, 0x90(%rsp)
je 0x29347
xorl %eax, %eax
movq %rax, 0x48(%rsp)
jmp 0x29354
movq 0xb0(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x90(%rsp)
je 0x29372
xorl %eax, %eax
movq %rax, 0x38(%rsp)
jmp 0x2937f
movq 0xa8(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x90(%rsp)
je 0x2939d
xorl %eax, %eax
movq %rax, 0x28(%rsp)
jmp 0x293aa
movq 0xa0(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rcx
movq 0x40(%rsp), %rdx
movq 0x50(%rsp), %rdi
movb 0x5f(%rsp), %al
movq 0x28(%rsp), %r8
movq 0xf0(%rsp), %r9
movq 0xf8(%rsp), %r10
movq 0x100(%rsp), %r11
movq 0x108(%rsp), %rbx
movl 0x110(%rsp), %ebp
movq 0x118(%rsp), %r14
movq %rsp, %rsi
movq %r14, 0x20(%rsi)
movl %ebp, 0x18(%rsi)
movq %rbx, 0x10(%rsi)
movq %r11, 0x8(%rsi)
movq %r10, (%rsi)
movzbl %al, %esi
andl $0x1, %esi
callq 0x2bb20
movl %eax, 0x84(%rsp)
movq 0x90(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x90(%rsp)
jmp 0x292c5
movq 0x88(%rsp), %rdi
leaq 0x13a16b(%rip), %rsi    # 0x1635ab
movl $0x17f, %edx            # imm = 0x17F
callq 0xdab0
movq 0x98(%rsp), %rdi
callq 0x17060
movl 0x84(%rsp), %eax
addq $0xd0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nopw (%rax,%rax)