// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/gff3_parser.c
// Function: gt_gff3_parser_parse_genome_nodes
int gt_gff3_parser_parse_genome_nodes(GtGFF3Parser *parser, int *status_code,
                                      GtQueue *genome_nodes,
                                      GtCstrTable *used_types,
                                      GtStr *filenamestr,
                                      GtUint64 *line_number,
                                      GtFile *fpin, GtError *err)
{
  size_t line_length;
  GtStr *line_buffer;
  char *line;
  const char *filename;
  int rval, had_err = 0;

  gt_error_check(err);
  gt_assert(status_code && genome_nodes && used_types);

  filename = gt_str_get(filenamestr);

  /* init */
  line_buffer = gt_str_new();

  while ((rval = gt_str_read_next_line_generic(line_buffer, fpin)) != EOF) {
    line = gt_str_get(line_buffer);
    line_length = gt_str_length(line_buffer);
    (*line_number)++;

    if (*line_number == 1) {
      had_err = parse_first_gff3_line(line, filename, genome_nodes, filenamestr,
                                      line_number, &parser->gvf_mode,
                                      parser->tidy, err);
      if (had_err == -1) /* error */
        break;
      if (had_err == 1) { /* line processed */
        gt_str_reset(line_buffer);
        had_err = 0;
        continue;
      }
      gt_assert(had_err == 0); /* line not processed */
    }
    if (line_length == 0) {
      gt_warning("skipping blank line "GT_LLU" in file \"%s\"", *line_number,
                 filename);
    }
    else if (parser->fasta_parsing || line[0] == '>') {
      parser->fasta_parsing = true;
      had_err = gff3_parser_parse_fasta_entry(genome_nodes, line, filenamestr,
                                              *line_number, fpin, err);
      break;
    }
    else if (line[0] == '#') {
      had_err = parse_meta_gff3_line(parser, genome_nodes, line, line_length,
                                     filenamestr, *line_number, err);
      if (had_err ||
          (!parser->incomplete_node && gt_queue_size(genome_nodes))) {
        break;
      }
    }
    else {
      had_err = parse_gff3_feature_line(parser, genome_nodes, used_types, line,
                                        line_length, filenamestr, *line_number,
                                        err);
      if (had_err || (!parser->incomplete_node && gt_queue_size(genome_nodes)))
        break;
    }
    gt_str_reset(line_buffer);
  }

  if (!had_err && rval == EOF && *line_number == 0) {
    if (parser->tidy) {
      gt_warning("GFF3 file \"%s\" is empty", gt_str_get(filenamestr));
    } else {
      gt_error_set(err, "GFF3 file \"%s\" is empty", gt_str_get(filenamestr));
      had_err = -1;
    }
  }

  if (!had_err && !parser->strict) {
    had_err = process_orphans(parser->orphanage, parser->feature_info,
                              parser->strict, parser->last_terminator,
                              parser->type_checker, genome_nodes, err);
  }

  if (had_err) {
    while (gt_queue_size(genome_nodes))
      gt_genome_node_delete(gt_queue_get(genome_nodes));
  }
  else if (rval == EOF && !parser->eof_emitted) {
    GtGenomeNode *eofn = gt_eof_node_new();
    gt_genome_node_set_origin(eofn, filenamestr, *line_number+1);
    gt_queue_add(genome_nodes, eofn);
    parser->eof_emitted = true;
  }

  gt_str_delete(line_buffer);
  if (gt_queue_size(genome_nodes))
    *status_code = 0; /* at least one node was created */
  else
    *status_code = EOF;
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %r9, 0x20(%rsp)
movq %r8, 0x18(%rsp)
movq %rcx, 0x40(%rsp)
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, 0x10(%rsp)
movq 0x98(%rsp), %r12
testq %r12, %r12
je 0x4374d
movq %r12, %rdi
callq 0x34fea
testb %al, %al
jne 0x445f1
movq %rbx, 0x50(%rsp)
testq %rbx, %rbx
je 0x445ec
testq %r14, %r14
je 0x445ec
cmpq $0x0, 0x40(%rsp)
je 0x445ec
movq 0x90(%rsp), %rbx
movq 0x18(%rsp), %rdi
callq 0x3bb5d
movq %rax, 0x28(%rsp)
callq 0x3b728
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3bde8
cmpl $-0x1, %eax
movq 0x10(%rsp), %rbx
je 0x44284
movq %r15, %rdi
callq 0x3bb5d
movq %rax, %rbp
movq %r15, %rdi
callq 0x3bb86
movq %rax, %r13
movq 0x20(%rsp), %rdx
movq (%rdx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, (%rdx)
testq %rax, %rax
je 0x43831
testq %r13, %r13
je 0x438d2
cmpb $0x0, 0x1d(%rbx)
jne 0x442c8
movzbl (%rbp), %eax
cmpl $0x23, %eax
je 0x438f2
cmpl $0x3e, %eax
je 0x442c8
movq 0x20(%rsp), %rax
movl (%rax), %eax
movq %rbx, %rdi
movq %r14, %rsi
movq 0x40(%rsp), %rdx
movq %rbp, %rcx
movq %r13, %r8
movq 0x18(%rsp), %r9
pushq %r12
pushq %rax
callq 0x44600
addq $0x10, %rsp
testl %eax, %eax
je 0x43a38
jmp 0x4437a
movb 0x1c(%rbx), %bl
testq %r12, %r12
je 0x43849
movq %r12, %rdi
callq 0x34fea
testb %al, %al
jne 0x445dd
cmpq $0x0, 0x28(%rsp)
je 0x445d8
testq %rbp, %rbp
je 0x445d8
movl $0xd, %edx
movq %rbp, %rdi
leaq 0xa3132(%rip), %rsi     # 0xe699f
callq 0xb2a0
testl %eax, %eax
je 0x43a61
movl $0xd, %edx
movq %rbp, %rdi
leaq 0xa3124(%rip), %rsi     # 0xe69ad
callq 0xb2a0
testl %eax, %eax
je 0x43a58
testb %bl, %bl
je 0x44450
leaq 0xa3116(%rip), %rdi     # 0xe69bb
movq 0x28(%rsp), %rsi
leaq 0xa30ee(%rip), %rdx     # 0xe699f
leaq 0xa30f5(%rip), %rcx     # 0xe69ad
movq %rdx, %r8
movl $0x3, %r9d
xorl %eax, %eax
callq 0x3d110
movq 0x10(%rsp), %rbx
jmp 0x437d2
movq 0x20(%rsp), %rax
movq (%rax), %rsi
leaq 0xa2e9d(%rip), %rdi     # 0xe677e
movq 0x28(%rsp), %rdx
xorl %eax, %eax
callq 0x3d110
jmp 0x43b42
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
testq %r12, %r12
je 0x4391e
movq %r12, %rdi
callq 0x34fea
testb %al, %al
jne 0x445e7
cmpb $0x23, (%rbp)
jne 0x445e2
movq 0x18(%rsp), %rdi
callq 0x3bb5d
cmpq $0x1, %r13
je 0x43a06
cmpb $0x23, 0x1(%rbp)
jne 0x43a06
movq %rax, (%rsp)
movq %rbp, %rdi
leaq 0xa3252(%rip), %rsi     # 0xe6b9c
callq 0xb890
testl %eax, %eax
je 0x43b70
movl $0x11, %edx
movq %rbp, %rdi
leaq 0xa323e(%rip), %rsi     # 0xe6ba4
callq 0xb2a0
testl %eax, %eax
je 0x43c42
cmpb $0x23, (%rbp)
jne 0x43b79
cmpb $0x23, 0x2(%rbp)
jne 0x43b79
cmpq $0x4, %r13
jb 0x439a7
leaq 0xa335b(%rip), %rdi     # 0xe6cef
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x3d110
movb $0x1, %bl
movq 0x10(%rsp), %r13
cmpb $0x0, 0x1b(%r13)
jne 0x439d5
movq (%r13), %rsi
movq 0x38(%r13), %rdi
movl 0x50(%r13), %edx
movq 0x40(%r13), %rcx
movq %r14, %r8
movq %r12, %r9
callq 0x46352
testl %eax, %eax
sete %bl
movb $0x0, 0x18(%r13)
cmpb $0x0, 0x19(%r13)
movq 0x8(%rsp), %r12
jne 0x439ef
movq (%r13), %rdi
callq 0x84c4c
movl %r12d, 0x50(%r13)
xorl %edi, %edi
callq 0x3c87b
testb %bl, %bl
movq %r13, %rbx
jne 0x43a38
jmp 0x444b6
incq %rbp
movq %rbp, %rdi
callq 0x849d0
movq %rax, %r12
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x41500
movq %r14, %rdi
movq %r12, %rsi
callq 0x7c47f
xorl %edi, %edi
callq 0x3c87b
cmpb $0x0, 0x18(%rbx)
jne 0x43b42
movq %r14, %rdi
callq 0x7c5d0
testq %rax, %rax
je 0x43b42
jmp 0x443c8
movq 0x10(%rsp), %rax
movb $0x1, 0x1f(%rax)
addq $0x2, %rbp
movq %rbp, %rdi
movl $0x20, %esi
callq 0xb210
testq %rax, %rax
jne 0x43a8d
movq %rbp, %rdi
movl $0x9, %esi
callq 0xb210
testq %rax, %rax
je 0x44472
movq %rax, %r12
movb $0x0, (%rax)
incq %r12
movq 0x10(%rsp), %rax
cmpb $0x0, 0x1f(%rax)
jne 0x43b0a
movq 0x20(%rsp), %rax
movl (%rax), %edx
leaq 0x30(%rsp), %rdi
movq %r12, %rsi
movq 0x28(%rsp), %rcx
movq 0x98(%rsp), %r8
callq 0x39bd7
movl %eax, %r13d
testl %eax, %eax
jne 0x43af5
cmpl $0x3, 0x30(%rsp)
je 0x43af5
testb %bl, %bl
je 0x44496
leaq 0xa2fbb(%rip), %rdi     # 0xe6a9a
movq %r12, %rsi
leaq 0xb9c8a(%rip), %rcx     # 0xfd773
movq %rcx, %rdx
xorl %eax, %eax
callq 0x3d110
jmp 0x43b0a
testl %r13d, %r13d
je 0x43b0a
cmpl $0x1, %r13d
movq 0x10(%rsp), %rbx
je 0x43b42
jmp 0x444be
movq 0x10(%rsp), %rbx
cmpb $0x1, 0x1f(%rbx)
jne 0x43b42
movq %rbp, %rdi
movq %r12, %rsi
callq 0x489ee
movq %rax, %r12
movq 0x20(%rsp), %rax
movl (%rax), %edx
movq %r12, %rdi
movq 0x18(%rsp), %rsi
callq 0x41500
movq %r14, %rdi
movq %r12, %rsi
callq 0x7c47f
movq %r15, %rdi
callq 0x3bbee
movq %r15, %rdi
movq 0x90(%rsp), %rsi
callq 0x3bde8
cmpl $-0x1, %eax
movq 0x98(%rsp), %r12
jne 0x437a8
jmp 0x44284
movb $0x1, 0x1d(%rbx)
jmp 0x43a31
movl $0xd, %edx
movq %rbp, %rdi
leaq 0xa2e17(%rip), %rsi     # 0xe699f
callq 0xb2a0
testl %eax, %eax
je 0x43d16
movl $0xd, %edx
movq %rbp, %rdi
leaq 0xa2e09(%rip), %rsi     # 0xe69ad
callq 0xb2a0
movb 0x1f(%rbx), %bl
testl %eax, %eax
je 0x440ac
movl $0x9, %edx
movq %rbp, %rdi
leaq 0xa33a6(%rip), %rsi     # 0xe6f69
callq 0xb2a0
testl %eax, %eax
je 0x43d53
movl $0x12, %edx
movq %rbp, %rdi
leaq 0xa3394(%rip), %rsi     # 0xe6f73
callq 0xb2a0
testl %eax, %eax
je 0x43d53
movl $0x14, %edx
movq %rbp, %rdi
leaq 0xa338b(%rip), %rsi     # 0xe6f86
callq 0xb2a0
testl %eax, %eax
je 0x43d53
movl $0x11, %edx
movq %rbp, %rdi
leaq 0xa3384(%rip), %rsi     # 0xe6f9b
callq 0xb2a0
testl %eax, %eax
je 0x43d53
movl $0xe, %edx
movq %rbp, %rdi
leaq 0xa337a(%rip), %rsi     # 0xe6fad
callq 0xb2a0
testl %eax, %eax
setne %al
jmp 0x43d55
movl 0x8(%rsp), %edi
leaq 0x11(%rbp), %r12
movzbl (%r12), %eax
cmpl $0x20, %eax
je 0x43c59
cmpl $0x9, %eax
jne 0x43c5e
incq %r12
jmp 0x43c4a
leaq -0x1(,%r13), %rax
addq %rbp, %rax
cmpq %rax, %r12
ja 0x444c9
movq %r12, %rsi
movq 0x8(%rsp), %rbp
jae 0x43c94
movzbl (%rsi), %ecx
cmpl $0x9, %ecx
je 0x43c94
cmpl $0x20, %ecx
je 0x43c94
incq %rsi
cmpq %rax, %rsi
jb 0x43c7c
movq %rax, %rsi
movb $0x0, (%rsi)
incq %rsi
cmpq %rax, %rsi
jae 0x43cac
movzbl (%rsi), %ecx
cmpl $0x20, %ecx
je 0x43c97
cmpl $0x9, %ecx
je 0x43c97
movq %rsi, %rdx
cmpq %rax, %rsi
ja 0x444df
movzbl (%rdx), %ecx
cmpl $0x9, %ecx
je 0x43ccd
cmpl $0x20, %ecx
je 0x43ccd
incq %rdx
cmpq %rax, %rdx
jbe 0x43cb8
movb $0x0, (%rdx)
incq %rdx
cmpq %rax, %rdx
jae 0x43ce5
movzbl (%rdx), %ecx
cmpl $0x20, %ecx
je 0x43cd0
cmpl $0x9, %ecx
je 0x43cd0
cmpq %rax, %rdx
ja 0x444e8
cmpb $0x1, 0x1b(%rbx)
movq %rdi, 0x48(%rsp)
jne 0x43d2c
leaq 0x30(%rsp), %rdi
movl %ebp, %ecx
movq (%rsp), %r8
movq 0x98(%rsp), %r9
callq 0x396d8
jmp 0x44142
cmpb $0x1, 0x1c(%rbx)
jne 0x4459c
leaq 0xa300d(%rip), %rdi     # 0xe6d34
jmp 0x440ca
cmpb $0x1, 0x1c(%rbx)
jne 0x4412a
leaq 0x30(%rsp), %rdi
movl %ebp, %ecx
movq (%rsp), %r8
movq 0x98(%rsp), %r9
callq 0x39967
jmp 0x44142
xorl %eax, %eax
testb %bl, %bl
je 0x440e2
testb %al, %al
movq 0x10(%rsp), %rbx
je 0x44105
movl $0x11, %edx
movq %rbp, %rdi
leaq 0xa3243(%rip), %rsi     # 0xe6fbc
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xe, %edx
movq %rbp, %rdi
leaq 0xa3239(%rip), %rsi     # 0xe6fce
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xe, %edx
movq %rbp, %rdi
leaq 0xa322c(%rip), %rsi     # 0xe6fdd
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xb, %edx
movq %rbp, %rdi
leaq 0xa321f(%rip), %rsi     # 0xe6fec
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xf, %edx
movq %rbp, %rdi
leaq 0xa320f(%rip), %rsi     # 0xe6ff8
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xc, %edx
movq %rbp, %rdi
leaq 0xa3203(%rip), %rsi     # 0xe7008
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x5, %edx
movq %rbp, %rdi
leaq 0xa31f4(%rip), %rsi     # 0xe7015
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x15, %edx
movq %rbp, %rdi
leaq 0xa31de(%rip), %rsi     # 0xe701b
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x1b, %edx
movq %rbp, %rdi
leaq 0xa31d8(%rip), %rsi     # 0xe7031
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x1a, %edx
movq %rbp, %rdi
leaq 0xa31d8(%rip), %rsi     # 0xe704d
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x1d, %edx
movq %rbp, %rdi
leaq 0xa31d7(%rip), %rsi     # 0xe7068
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x20, %edx
movq %rbp, %rdi
leaq 0xa31d9(%rip), %rsi     # 0xe7086
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x21, %edx
movq %rbp, %rdi
leaq 0xa31de(%rip), %rsi     # 0xe70a7
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x1f, %edx
movq %rbp, %rdi
leaq 0xa31e4(%rip), %rsi     # 0xe70c9
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x24, %edx
movq %rbp, %rdi
leaq 0xa31e8(%rip), %rsi     # 0xe70e9
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x26, %edx
movq %rbp, %rdi
leaq 0xa31f1(%rip), %rsi     # 0xe710e
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x12, %edx
movq %rbp, %rdi
leaq 0xa31fc(%rip), %rsi     # 0xe7135
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x10, %edx
movq %rbp, %rdi
leaq 0xa31f3(%rip), %rsi     # 0xe7148
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x11, %edx
movq %rbp, %rdi
leaq 0xa31e8(%rip), %rsi     # 0xe7159
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x14, %edx
movq %rbp, %rdi
leaq 0xa31de(%rip), %rsi     # 0xe716b
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x11, %edx
movq %rbp, %rdi
leaq 0xa31d7(%rip), %rsi     # 0xe7180
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x14, %edx
movq %rbp, %rdi
leaq 0xa31cd(%rip), %rsi     # 0xe7192
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x10, %edx
movq %rbp, %rdi
leaq 0xa31c6(%rip), %rsi     # 0xe71a7
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x12, %edx
movq %rbp, %rdi
leaq 0xa31bb(%rip), %rsi     # 0xe71b8
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xd, %edx
movq %rbp, %rdi
leaq 0xa31b2(%rip), %rsi     # 0xe71cb
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xe, %edx
movq %rbp, %rdi
leaq 0xa31a4(%rip), %rsi     # 0xe71d9
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0xf, %edx
movq %rbp, %rdi
leaq 0xa3197(%rip), %rsi     # 0xe71e8
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x12, %edx
movq %rbp, %rdi
leaq 0xa318b(%rip), %rsi     # 0xe71f8
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x17, %edx
movq %rbp, %rdi
leaq 0xa3182(%rip), %rsi     # 0xe720b
callq 0xb2a0
testl %eax, %eax
je 0x44105
movl $0x12, %edx
movq %rbp, %rdi
leaq 0xa3182(%rip), %rsi     # 0xe7223
callq 0xb2a0
testl %eax, %eax
jne 0x440eb
jmp 0x44105
testb %bl, %bl
je 0x44236
movq 0x10(%rsp), %rbx
cmpb $0x1, 0x1c(%rbx)
jne 0x445a8
leaq 0xa2d00(%rip), %rdi     # 0xe6dca
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x3d110
jmp 0x43a31
testb %al, %al
movq 0x10(%rsp), %rbx
je 0x44105
leaq 0xa2d62(%rip), %rdi     # 0xe6e54
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x3d110
addq $0x2, %rbp
movq %rbp, %rdi
movl $0x20, %esi
callq 0xb210
testq %rax, %rax
je 0x4422f
movb $0x0, (%rax)
incq %rax
jmp 0x44231
leaq 0x30(%rsp), %rdi
movl %ebp, %ecx
movq (%rsp), %r8
movq 0x98(%rsp), %r9
callq 0x3997f
movl %eax, %r13d
testl %eax, %eax
jne 0x44155
cmpq $0x0, 0x30(%rsp)
je 0x444f1
testl %r13d, %r13d
jne 0x44513
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
movq %r12, %rdx
movq (%rsp), %rcx
movq 0x48(%rsp), %r8
movq 0x98(%rsp), %r9
callq 0x466f3
testl %eax, %eax
jne 0x4456a
movq 0x8(%rbx), %rdi
movq %r12, %rsi
callq 0x775ed
testq %rax, %rax
je 0x441ba
movq %rax, %r13
cmpb $0x0, 0x1c(%rax)
je 0x4456f
movups 0x30(%rsp), %xmm0
movups %xmm0, 0x8(%r13)
movl %ebp, 0x18(%r13)
movb $0x0, 0x1c(%r13)
jmp 0x441eb
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq %r12, %rdi
movl %ebp, %ecx
callq 0x467b7
movq %rax, %r13
movq 0x8(%rbx), %r12
movq (%rax), %rdi
callq 0x3bb5d
movq %r12, %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0x77628
movq 0x98(%rsp), %rcx
movq (%r13), %rdi
movq (%rsp), %rsi
movl %ebp, %edx
callq 0x465d5
testl %eax, %eax
jne 0x4450d
movq (%r13), %rdi
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
callq 0x495f0
movq %rax, %r12
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movl %ebp, %edx
jmp 0x43a21
xorl %eax, %eax
movq %rbp, %rdi
jmp 0x44277
movq %rbp, %r12
addq $0x2, %r12
movq %r12, %rdi
movl $0x20, %esi
callq 0xb210
testq %rax, %rax
movq 0x10(%rsp), %rbx
jne 0x4426a
movq %r12, %rdi
movl $0x9, %esi
callq 0xb210
testq %rax, %rax
je 0x445b1
movb $0x0, (%rax)
incq %rax
movb $0x1, 0x1f(%rbx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x489ee
jmp 0x43a11
movb $0x1, %bl
movq 0x20(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x443d2
movq 0x10(%rsp), %rax
movb 0x1c(%rax), %bpl
movq 0x18(%rsp), %rdi
callq 0x3bb5d
cmpb $0x1, %bpl
jne 0x44343
leaq 0xa24eb(%rip), %rdi     # 0xe67a4
movq %rax, %rsi
xorl %eax, %eax
callq 0x3d110
jmp 0x443d2
movb $0x1, 0x1d(%rbx)
movq %r12, %rdi
movq 0x20(%rsp), %rax
movl (%rax), %r12d
testq %rdi, %rdi
je 0x442e9
callq 0x34fea
testb %al, %al
jne 0x445fb
testq %rbp, %rbp
je 0x445f6
testl %r12d, %r12d
je 0x445f6
cmpb $0x3e, (%rbp)
jne 0x4435c
callq 0x3b728
movq %rax, %r13
movq 0x90(%rsp), %rdi
callq 0x75c64
cmpl $0xc, %eax
jle 0x4432c
cmpl $0xd, %eax
je 0x44309
cmpl $0x20, %eax
je 0x44309
cmpl $0x3e, %eax
jne 0x44336
jmp 0x44382
cmpl $0xa, %eax
je 0x44309
cmpl $-0x1, %eax
je 0x44394
movsbl %al, %esi
movq %r13, %rdi
callq 0x3b9df
jmp 0x44309
leaq 0xa245a(%rip), %rsi     # 0xe67a4
movq %r12, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f1f
jmp 0x444b6
leaq 0xa27e9(%rip), %rsi     # 0xe6b4c
movq 0x98(%rsp), %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x34f1f
jmp 0x444b6
movl %eax, %r13d
jmp 0x4452c
movq 0x90(%rsp), %rdi
movl $0x3e, %esi
callq 0x75cb8
incq %rbp
movq %rbp, %rdi
movq %r13, %rsi
callq 0x49850
movq %rax, %rbp
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movl %r12d, %edx
callq 0x41500
movq %r14, %rdi
movq %rbp, %rsi
callq 0x7c47f
movq %r13, %rdi
callq 0x3c87b
xorl %ebx, %ebx
movq 0x98(%rsp), %r12
movq 0x10(%rsp), %rax
cmpb $0x0, 0x1b(%rax)
jne 0x44404
movq (%rax), %rsi
movq 0x38(%rax), %rdi
movl 0x50(%rax), %edx
movq 0x40(%rax), %rcx
movq %r14, %r8
movq %r12, %r9
callq 0x46352
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x4452c
xorl %r13d, %r13d
testb %bl, %bl
je 0x44539
movq 0x10(%rsp), %rbx
cmpb $0x0, 0x1e(%rbx)
jne 0x44539
callq 0x84b7b
movq %rax, %r12
movq 0x20(%rsp), %rax
movl (%rax), %edx
incl %edx
movq %r12, %rdi
movq 0x18(%rsp), %rsi
callq 0x41500
movq %r14, %rdi
movq %r12, %rsi
callq 0x7c47f
movb $0x1, 0x1e(%rbx)
jmp 0x44539
leaq 0xa25bc(%rip), %rsi     # 0xe6a13
leaq 0xa2541(%rip), %rcx     # 0xe699f
movq %r12, %rdi
movq 0x28(%rsp), %rdx
movq %rcx, %r8
xorl %eax, %eax
callq 0x34f1f
jmp 0x444b6
movq 0x20(%rsp), %rax
movl (%rax), %edx
leaq 0xa25c8(%rip), %rsi     # 0xe6a48
movq 0x98(%rsp), %rdi
movq 0x28(%rsp), %rcx
xorl %eax, %eax
callq 0x34f1f
jmp 0x444b6
leaq 0xa264b(%rip), %rsi     # 0xe6ae8
leaq 0xb92cf(%rip), %rcx     # 0xfd773
movq 0x98(%rsp), %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0x4452c
cmpl $-0x1, %r13d
je 0x4452c
callq 0x120e5
leaq 0xa26e6(%rip), %rsi     # 0xe6bb6
movq 0x98(%rsp), %rdi
movq 0x8(%rsp), %rdx
jmp 0x44502
leaq 0xa2705(%rip), %rsi     # 0xe6beb
jmp 0x444f8
leaq 0xa2732(%rip), %rsi     # 0xe6c21
jmp 0x444f8
leaq 0xa275d(%rip), %rsi     # 0xe6c55
movq 0x98(%rsp), %rdi
movl %ebp, %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
xorl %edi, %edi
callq 0x3c87b
jmp 0x4452c
movq %r14, %rdi
callq 0x7c56e
movq %rax, %rdi
callq 0x4210c
movq %r14, %rdi
callq 0x7c5d0
testq %rax, %rax
jne 0x4451c
movq %r15, %rdi
callq 0x3c87b
movq %r14, %rdi
callq 0x7c5d0
xorl %ecx, %ecx
cmpq $0x1, %rax
sbbl %ecx, %ecx
movq 0x50(%rsp), %rax
movl %ecx, (%rax)
movl %r13d, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %eax, %r13d
jmp 0x44513
movq (%r13), %rdi
callq 0x3bb5d
leaq 0xa271e(%rip), %rsi     # 0xe6c9d
movq 0x98(%rsp), %rdi
movq %rax, %rdx
movl %ebp, %ecx
movq (%rsp), %r8
xorl %eax, %eax
callq 0x34f1f
jmp 0x4450d
leaq 0xa279a(%rip), %rsi     # 0xe6d3d
movq %r12, %rdi
jmp 0x445c0
leaq 0xa2824(%rip), %rsi     # 0xe6dd3
jmp 0x445b8
leaq 0xa2852(%rip), %rsi     # 0xe6e0a
movq 0x98(%rsp), %rdi
movq 0x8(%rsp), %rdx
movq (%rsp), %rcx
movq %rbp, %r8
xorl %eax, %eax
callq 0x34f1f
jmp 0x4450d
callq 0x11fc8
callq 0x11f8f
callq 0x12001
callq 0x1203a
callq 0x11f56
callq 0x11f1d
callq 0x120ac
callq 0x12073