// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/gff3_parser.c
// Function: parse_gff3_feature_line
static int parse_gff3_feature_line(GtGFF3Parser *parser,
                                   GtQueue *genome_nodes,
                                   GtCstrTable *used_types, char *line,
                                   size_t line_length, GtStr *filenamestr,
                                   unsigned int line_number, GtError *err)
{
  GtGenomeNode *gn = NULL, *feature_node = NULL;
  GtSplitter *splitter;
  GtStr *seqid_str = NULL;
  GtStrand gt_strand_value;
  float score_value;
  GtPhase phase_value;
  GtRange range;
  char *seqid = NULL, *source = NULL, *type = NULL, *start = NULL,
       *end = NULL, *score = NULL, *strand = NULL, *phase = NULL,
       *attributes = NULL, **tokens;
  const char *filename;
  bool score_is_defined, is_child = false;
  int had_err = 0;

  gt_error_check(err);

  filename = gt_str_get(filenamestr);

  /* create splitter */
  splitter = gt_splitter_new();

  /* parse */
  gt_splitter_split(splitter, line, line_length, '\t');
  if (gt_splitter_size(splitter) != 9) {
    if (parser->tidy && gt_splitter_size(splitter) == 10) {
      gt_warning("line %u in file \"%s\" does not contain 9 tab (\\t) "
                 "separated fields, dropping 10th field",
                 line_number, filename);
    }
    else {
      gt_error_set(err, "line %u in file \"%s\" does not contain 9 tab (\\t) "
                        "separated fields", line_number, filename);
      had_err = -1;
    }
  }
  if (!had_err) {
    tokens = gt_splitter_get_tokens(splitter);
    seqid      = tokens[0];
    source     = tokens[1];
    type       = tokens[2];
    start      = tokens[3];
    end        = tokens[4];
    score      = tokens[5];
    strand     = tokens[6];
    phase      = tokens[7];
    attributes = tokens[8];
  }

  if (!had_err && parser->tidy && (start[0] == '.' || end[0] == '.')) {
    gt_warning("feature \"%s\" on line %u in file \"%s\" has undefined "
               "range, discarding feature", type, line_number, filename);
    gt_splitter_delete(splitter);
    return 0;
  }

  /* parse the feature type */
  if (!had_err) {
    if (parser->type_checker &&
        !gt_type_checker_is_valid(parser->type_checker, type)) {
      gt_error_set(err, "type \"%s\" on line %u in file \"%s\" is not a valid "
                   "one", type, line_number, filename);
      had_err = -1;
    }
    else if (!gt_cstr_table_get(used_types, type))
      gt_cstr_table_add(used_types, type);
  }

  /* parse the range */
  if (!had_err) {
    if (parser->strict)
      had_err = gt_parse_range(&range, start, end, line_number, filename, err);
    else if (parser->tidy) {
      had_err = gt_parse_range_tidy(&range, start, end, line_number, filename,
                                    err);
    }
    else {
      had_err = gt_parse_range_correct_neg(&range, start, end, line_number,
                                           filename, err);
    }
  }
  if (!had_err && range.start == 0) {
      gt_error_set(err, "illegal feature start 0 on line %u in file \"%s\" "
                   "(GFF3 files are 1-based)", line_number, filename);
      had_err = -1;
  }
  if (!had_err) {
    had_err = add_offset_if_necessary(&range, parser, seqid, filename,
                                      line_number, err);
  }

  /* parse the score */
  if (!had_err) {
    had_err = gt_parse_score(&score_is_defined, &score_value, score,
                             line_number, filename, err);
  }

  /* parse the strand */
  if (!had_err) {
    had_err = gt_parse_strand(&gt_strand_value, strand, line_number, filename,
                              err);
  }

  /* parse the phase */
  if (!had_err)
    had_err = gt_parse_phase(&phase_value, phase, line_number, filename, err);

  if (!had_err)
    chomp_seqid(seqid, filename, line_number);

  /* get seqid */
  if (!had_err) {
    had_err = get_seqid_str(&seqid_str, seqid, range, parser, filename,
                            line_number, err);
  }
  /* verify seqid */
  if (!had_err)
    had_err = verify_seqid(seqid_str, filename, line_number, err);

  /* create the feature */
  if (!had_err) {
    feature_node = gt_feature_node_new(seqid_str, type, range.start, range.end,
                                       gt_strand_value);
    gt_genome_node_set_origin(feature_node, filenamestr, line_number);
  }

  /* set source */
  if (!had_err) {
    set_source((GtFeatureNode*) feature_node, source,
               parser->source_to_str_mapping);
  }

  /* parse the attributes */
  if (!had_err) {
    had_err = parse_attributes(attributes, feature_node, &is_child, parser,
                               seqid, genome_nodes, filename, line_number, err);
  }

  if (!had_err && score_is_defined)
    gt_feature_node_set_score((GtFeatureNode*) feature_node, score_value);
  if (!had_err && phase_value != GT_PHASE_UNDEFINED)
    gt_feature_node_set_phase((GtFeatureNode*) feature_node, phase_value);

  if (!had_err)
    gn = is_child ? NULL : feature_node;
  else if (!is_child)
    gt_genome_node_delete(feature_node);

  if (!had_err && gn)
    gt_queue_add(genome_nodes, gn);

  /* free */
  gt_str_delete(seqid_str);
  gt_splitter_delete(splitter);

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq %r9, %r15
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r13
movq %rsi, 0xa8(%rsp)
movq %rdi, 0x20(%rsp)
movq 0x128(%rsp), %rbp
testq %rbp, %rbp
je 0x201b0
movq %rbp, %rdi
callq 0xc103
testb %al, %al
jne 0x21e5c
movq %r15, 0x78(%rsp)
movq %r15, %rdi
callq 0x143d2
movq %rax, 0x10(%rsp)
callq 0x124cc
movq %rax, %r15
pushq $0x9
popq %rcx
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x124e1
movq %r15, %rdi
callq 0x127fd
pushq $-0x1
popq %r14
cmpq $0x9, %rax
jne 0x2025c
movq %rbp, %r12
movq %r15, %r14
movq %r15, %rdi
callq 0x12725
movq (%rax), %rbp
movq 0x8(%rax), %rdx
movq 0x10(%rax), %r8
movq 0x18(%rax), %rbx
movq 0x20(%rax), %r15
movq 0x28(%rax), %r9
movq 0x30(%rax), %rdi
movq 0x38(%rax), %rsi
movq 0x40(%rax), %rcx
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x2029c
cmpb $0x2e, (%rbx)
je 0x20234
cmpb $0x2e, (%r15)
jne 0x2029c
leaq 0xb009c(%rip), %rdi     # 0xd02d7
movq %r8, %rsi
movl 0x120(%rsp), %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x161b0
movq %r14, %rdi
xorl %r14d, %r14d
jmp 0x204f2
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x20331
movq %r15, %rdi
callq 0x127fd
cmpq $0xa, %rax
jne 0x20331
leaq 0xaffba(%rip), %rdi     # 0xd023e
movl 0x120(%rsp), %esi
movq 0x10(%rsp), %rdx
xorl %eax, %eax
callq 0x161b0
jmp 0x201ed
movq %r9, 0x8(%rsp)
movq %rdi, 0x30(%rsp)
movq %rsi, 0x40(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x60(%rsp)
movq 0x40(%rax), %rdi
testq %rdi, %rdi
movq %r8, 0x38(%rsp)
movq %r14, 0x58(%rsp)
je 0x202dd
movq %r8, %rsi
callq 0x293b8
movq 0x38(%rsp), %r8
testb %al, %al
je 0x203a5
movq %r13, %rdi
movq %r8, %rsi
callq 0x5018a
testq %rax, %rax
jne 0x202fa
movq %r13, %rdi
movq 0x38(%rsp), %rsi
callq 0x500bc
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1b(%rax)
jne 0x20376
leaq 0x90(%rsp), %rdi
movq %rbx, %rsi
movq %r15, %rdx
movl 0x120(%rsp), %ebx
movl %ebx, %ecx
movq 0x10(%rsp), %r8
movq %r8, %r15
movq %r12, %r9
callq 0x1194c
jmp 0x203df
movq %r15, 0x58(%rsp)
leaq 0xaff58(%rip), %rsi     # 0xd0295
movq $0x0, 0x60(%rsp)
movq %rbp, %r12
movq %rbp, %rdi
movl 0x120(%rsp), %ebx
movl %ebx, %edx
movq 0x10(%rsp), %rcx
movq %rcx, %r15
xorl %eax, %eax
callq 0xc007
xorl %r13d, %r13d
xorl %edx, %edx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %eax, %eax
xorl %ebp, %ebp
jmp 0x203fb
cmpb $0x1, 0x1c(%rax)
movq 0x10(%rsp), %r8
leaq 0x90(%rsp), %rdi
movq %rbx, %rsi
movq %r15, %rdx
movl 0x120(%rsp), %ebx
movl %ebx, %ecx
movq %r8, %r15
movq %r12, %r9
jne 0x203da
callq 0x11c26
jmp 0x203df
leaq 0xaff78(%rip), %rsi     # 0xd0324
movq %r12, %rdi
movq %r8, %rdx
movl 0x120(%rsp), %ebx
movl %ebx, %ecx
movq 0x10(%rsp), %r8
movq %r8, %r15
xorl %eax, %eax
callq 0xc007
movq 0x38(%rsp), %rcx
pushq $-0x1
popq %r14
movq 0x18(%rsp), %rax
jmp 0x203ec
callq 0x11c3a
movq %rax, %r14
movq 0x18(%rsp), %rax
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %r13
movq 0x30(%rsp), %rdx
movq 0x8(%rsp), %rsi
testl %r14d, %r14d
jne 0x2042c
cmpq $0x0, 0x90(%rsp)
jne 0x2042c
leaq 0xaff47(%rip), %rsi     # 0xd0359
xorl %ebp, %ebp
movq %r12, %rdi
movl %ebx, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %r14
jmp 0x204d7
testl %r14d, %r14d
jne 0x204d5
movq %rsi, 0x8(%rsp)
movq %rdx, 0x30(%rsp)
movq %rcx, 0x38(%rsp)
movq %rax, 0x18(%rsp)
movl %ebx, %r8d
leaq 0x90(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rbp, %rdx
movq %r15, %rcx
movq %r12, %r9
callq 0x2285c
testl %eax, %eax
je 0x20470
movq %rax, %r14
jmp 0x204d5
movq %rbp, 0x40(%rsp)
leaq 0x4f(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
movq 0x8(%rsp), %rdx
movl %ebx, %ecx
movq %r15, %r8
movq %r12, %r9
callq 0x11c4d
testl %eax, %eax
jne 0x204d2
leaq 0xbc(%rsp), %rdi
movq 0x30(%rsp), %rsi
movl %ebx, %edx
movq %r15, %rcx
movq %r12, %r8
callq 0x11d5c
testl %eax, %eax
jne 0x204d2
leaq 0xb4(%rsp), %rdi
movq %r13, %rsi
movl %ebx, %edx
movq %r15, %rcx
movq %r12, %r8
callq 0x11e7d
testl %eax, %eax
je 0x2050c
movl %eax, %r14d
xorl %ebp, %ebp
xorl %r12d, %r12d
movq 0x58(%rsp), %r15
movq %rbp, %rdi
callq 0x1d1e3
movq %r12, %rdi
callq 0x152db
movq %r15, %rdi
callq 0x1283e
movl %r14d, %eax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r15, %r13
movq 0x40(%rsp), %rdi
movq %r15, %rsi
movl %ebx, %edx
callq 0x1f0ad
movaps 0x90(%rsp), %xmm0
movaps %xmm0, 0x80(%rsp)
testq %r12, %r12
movq 0x58(%rsp), %r15
je 0x20548
movq %r12, %rdi
callq 0xc103
testb %al, %al
jne 0x21e94
movq 0x20(%rsp), %r12
movq 0x8(%r12), %rdi
movq 0x40(%rsp), %r14
movq %r14, %rsi
callq 0x55ef6
testq %rax, %rax
je 0x205fc
movq %rax, %rbx
cmpb $0x1, 0x1a(%r12)
jne 0x205f2
cmpb $0x0, 0x1d(%rbx)
jne 0x205f2
movq %rbx, %rdi
addq $0x8, %rdi
leaq 0x80(%rsp), %rsi
callq 0x5d1b5
testb %al, %al
jne 0x205f2
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1a(%rax)
jne 0x205f2
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
movups 0x8(%rbx), %xmm0
movl 0x18(%rbx), %eax
subq $0x20, %rsp
movl %eax, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0xafdea(%rip), %rsi     # 0xd03b0
xorl %ebp, %ebp
movq 0x148(%rsp), %rdi
movl 0x140(%rsp), %r8d
movq %r13, %r9
xorl %eax, %eax
callq 0xc007
addq $0x20, %rsp
pushq $-0x1
popq %r14
xorl %r12d, %r12d
jmp 0x204df
movl 0x120(%rsp), %r14d
jmp 0x20636
pushq $-0x1
popq %rdx
movq %r14, %rdi
xorl %esi, %esi
movl 0x120(%rsp), %r14d
movl %r14d, %ecx
callq 0x2294a
movq %rax, %rbx
movb $0x1, 0x1c(%rax)
movq 0x8(%r12), %r12
movq (%rax), %rdi
callq 0x143d2
movq %r12, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x55f31
movq (%rbx), %rdi
callq 0x146aa
movq %rax, %r12
movq %rax, %rdi
movq %r13, %rsi
movl %r14d, %edx
movq 0x128(%rsp), %rcx
callq 0x226f1
testl %eax, %eax
je 0x20666
pushq $-0x1
popq %r14
xorl %ebp, %ebp
jmp 0x204df
movq 0x90(%rsp), %rdx
movq 0x98(%rsp), %rcx
movl 0xbc(%rsp), %r8d
movq %r12, %rdi
movq 0x38(%rsp), %rsi
callq 0x18cbb
movq %rax, %r13
movq %rax, %rdi
movq 0x78(%rsp), %rsi
movl %r14d, %edx
callq 0x1c17a
movq 0x18(%rsp), %rbp
testq %rbp, %rbp
je 0x21ec2
testq %r13, %r13
je 0x21ec2
movq 0x20(%rsp), %rax
movq 0x10(%rax), %r14
testq %r14, %r14
je 0x21ec2
movq %r14, %rdi
movq %rbp, %rsi
callq 0x55ef6
testq %rax, %rax
je 0x206dc
movq %rax, %rbx
jmp 0x20706
movq %rbp, %rdi
callq 0x13da9
movq %rax, %rbx
movq %rax, %rdi
callq 0x143d2
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x55f31
testq %rbx, %rbx
je 0x21f52
movq %r13, %rdi
movq %rbx, %rsi
callq 0x188ae
movq 0x128(%rsp), %rdi
testq %rdi, %rdi
je 0x2072b
callq 0xc103
testb %al, %al
jne 0x21f21
movq %r13, 0x18(%rsp)
movq 0x60(%rsp), %rbx
testq %rbx, %rbx
je 0x21ef0
callq 0x124cc
movq %rax, %r14
callq 0x124cc
movq %rax, 0x78(%rsp)
callq 0x124cc
movq %rax, 0x70(%rsp)
movq %rbx, %rdi
callq 0xb260
pushq $0x3b
popq %rcx
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x124e1
xorl %ebp, %ebp
movq $0x0, 0x38(%rsp)
movq $0x0, 0xc8(%rsp)
movq $0x0, 0x60(%rsp)
movq %r14, 0x30(%rsp)
movq 0x10(%rsp), %r13
movq %rbp, %rbx
testl %ebx, %ebx
jne 0x212af
movq %r14, %rdi
callq 0x127fd
movq 0x38(%rsp), %rsi
cmpq %rax, %rsi
jae 0x211df
movq %r14, %rdi
callq 0x12765
movq %rax, %rbx
movb (%rax), %al
cmpb $0x2e, %al
jne 0x2080b
movq %r14, %rdi
callq 0x127fd
cmpq $0x2, %rax
movl 0x120(%rsp), %edx
jb 0x211df
movq 0x128(%rsp), %rdi
leaq 0xafc7d(%rip), %rsi     # 0xd0474
movq %r13, %rcx
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %rax
movl %eax, %ebp
jmp 0x211d5
movq %rbx, %rcx
incq %rcx
cmpb $0x20, %al
jne 0x20819
movb (%rcx), %al
jmp 0x2080e
movzbl %al, %eax
testl %eax, %eax
jne 0x20827
xorl %ebp, %ebp
jmp 0x211d5
movq 0x78(%rsp), %rbp
movq %rbp, %rdi
callq 0x127af
movq %rbx, %rdi
callq 0xb260
movq %rbp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
pushq $0x3d
popq %rcx
callq 0x124e1
movq %rbp, %rdi
callq 0x127fd
cmpq $0x2, %rax
jne 0x20960
movq %rbp, %rdi
xorl %esi, %esi
callq 0x12765
movq %rax, %rbx
decq %rbx
cmpb $0x20, 0x1(%rbx)
leaq 0x1(%rbx), %rbx
je 0x2086f
movq %rbp, %rdi
pushq $0x1
popq %rsi
callq 0x12765
movq %rax, %rbp
movq %rbx, 0x8(%rsp)
movsbq (%rbx), %r14
testq %r14, %r14
movl 0x120(%rsp), %ebx
je 0x209a5
cmpb $0x0, (%rbp)
je 0x209d9
callq 0xb6e0
movq (%rax), %rax
testb $0x1, 0x1(%rax,%r14,2)
movq 0x8(%rsp), %rbx
jne 0x20a07
movq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0x18818
testq %rax, %rax
movq %rbp, 0x50(%rsp)
je 0x20ba8
movq %rax, %rbx
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
movq 0x30(%rsp), %r14
jne 0x20cf7
leaq 0xafda6(%rip), %rdi     # 0xd06a2
movq 0x8(%rsp), %rbp
movq %rbp, %rsi
movl 0x120(%rsp), %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x161b0
movq %rbx, %rdi
callq 0x13da9
movq %rax, %rbx
movq %rax, %rdi
pushq $0x2c
popq %rsi
callq 0x140b1
movq %rbx, %rdi
movq 0x50(%rsp), %rsi
callq 0x13dd3
movq %rbx, %rdi
callq 0x143d2
movq 0x18(%rsp), %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x1967b
movq %rbx, %rdi
movq %rbp, %rbx
callq 0x152db
jmp 0x20bc2
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x21380
movq 0x78(%rsp), %rdi
callq 0x127fd
cmpq $0x1, %rax
jne 0x21380
xorl %ebp, %ebp
leaq 0xafb45(%rip), %rdi     # 0xd04d1
movq %rbx, %rsi
movl 0x120(%rsp), %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x161b0
jmp 0x211d5
movq 0x20(%rsp), %rax
cmpb $0x0, 0x1c(%rax)
je 0x20b63
movq %rbp, %r14
xorl %ebp, %ebp
leaq 0xafb55(%rip), %rdi     # 0xd0515
movq %r14, %rsi
movl %ebx, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x161b0
cmpb $0x0, (%r14)
jne 0x211d0
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x20b77
xorl %ebp, %ebp
leaq 0xafb93(%rip), %rdi     # 0xd0584
movq 0x8(%rsp), %rsi
movl %ebx, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x161b0
jmp 0x211d0
movq %rbp, %rbx
movq 0x20(%rsp), %rax
movb 0x1f(%rax), %al
movb %al, 0x28(%rsp)
cmpb $0x49, %r14b
jne 0x20a36
movq 0x8(%rsp), %rax
cmpb $0x44, 0x1(%rax)
jne 0x20a36
movq 0x8(%rsp), %rax
cmpb $0x0, 0x2(%rax)
je 0x20ba1
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
leaq 0xafde9(%rip), %rsi     # 0xd082e
callq 0xb880
testl %eax, %eax
je 0x20ba1
movq %rbp, %rdi
leaq 0xafdd7(%rip), %rsi     # 0xd0833
callq 0xb880
testl %eax, %eax
je 0x20ba1
movq %rbp, %rdi
leaq 0xafca3(%rip), %rsi     # 0xd0716
callq 0xb880
testl %eax, %eax
je 0x20ba1
movq 0x8(%rsp), %rdi
leaq 0xafcf8(%rip), %rsi     # 0xd0784
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafcfb(%rip), %rsi     # 0xd07a0
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafd7b(%rip), %rsi     # 0xd0839
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafd6f(%rip), %rsi     # 0xd0846
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafc9b(%rip), %rsi     # 0xd078b
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafc89(%rip), %rsi     # 0xd0792
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafd29(%rip), %rsi     # 0xd084b
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafd1c(%rip), %rsi     # 0xd0857
callq 0xb880
testl %eax, %eax
je 0x20d84
movq 0x8(%rsp), %rdi
leaq 0xafbc9(%rip), %rsi     # 0xd071d
callq 0xb880
testl %eax, %eax
setne %al
jmp 0x20d86
movq 0x128(%rsp), %rdi
leaq 0xaf9df(%rip), %rsi     # 0xd0551
movq %rbp, %rdx
jmp 0x20b8b
movq 0x128(%rsp), %rdi
leaq 0xafa3c(%rip), %rsi     # 0xd05c2
movq 0x8(%rsp), %rdx
movl %ebx, %ecx
movq %r13, %r8
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %rax
movl %eax, %ebp
jmp 0x211d0
xorl %eax, %eax
jmp 0x20d8b
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rbx
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x1a57d
movq 0x30(%rsp), %r14
cmpb $0x49, (%rbx)
jne 0x20bd7
cmpb $0x44, 0x1(%rbx)
jne 0x20bd7
cmpb $0x0, 0x2(%rbx)
je 0x210cb
movq %rbx, %rdi
leaq 0xafb35(%rip), %rsi     # 0xd0716
callq 0xb880
xorl %ebp, %ebp
testl %eax, %eax
movq %rbx, %rax
movl 0x120(%rsp), %ebx
je 0x20d21
movq %r12, 0x28(%rsp)
movq %rax, %r14
movq %rax, %rdi
leaq 0xafb11(%rip), %rsi     # 0xd071d
callq 0xb880
testl %eax, %eax
je 0x20d33
movq 0x128(%rsp), %r12
movq %r14, %rdi
leaq 0xafb59(%rip), %rsi     # 0xd0784
callq 0xb880
movq %r15, %r13
testl %eax, %eax
je 0x20fbc
movq %r14, %rdi
leaq 0xafb46(%rip), %rsi     # 0xd078b
callq 0xb880
testl %eax, %eax
je 0x20f93
movq %r14, %rdi
leaq 0xafb36(%rip), %rsi     # 0xd0792
callq 0xb880
testl %eax, %eax
je 0x20f93
movq 0x20(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x211c3
movq 0x8(%rsp), %rdi
leaq 0xafb1b(%rip), %rsi     # 0xd07a0
callq 0xb880
testl %eax, %eax
jne 0x211c3
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x1c3c4
movq %rax, 0x80(%rsp)
movq %rdx, 0x88(%rsp)
movq 0x20(%rsp), %rax
movq 0x40(%rax), %r14
leaq 0xafae5(%rip), %rdi     # 0xd07a4
callq 0x15a03
movq %rax, %r15
movq %rbx, %rdi
callq 0x19528
movq %r14, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x294af
testb %al, %al
je 0x21114
movq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0x64e62
jmp 0x21121
movq 0x128(%rsp), %rdi
leaq 0xaf9da(%rip), %rsi     # 0xd06e0
movq 0x8(%rsp), %rdx
movl 0x120(%rsp), %ecx
movq %r13, %r8
xorl %eax, %eax
callq 0xc007
jmp 0x20801
movq 0x50(%rsp), %rax
movq %rax, 0xc8(%rsp)
jmp 0x211d5
movq 0x50(%rsp), %rbx
movq %rbx, %rdi
leaq 0xd3d10(%rip), %rsi     # 0xf4a52
callq 0xb880
testl %eax, %eax
je 0x210dc
movq 0x128(%rsp), %rdi
leaq 0xaf9cb(%rip), %rsi     # 0xd0729
movq %rbx, %rdx
leaq 0xaf9b5(%rip), %rcx     # 0xd071d
movl 0x120(%rsp), %r8d
movq %r13, %r9
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %rax
movl %eax, %ebp
jmp 0x210de
xorl %eax, %eax
movq 0x10(%rsp), %r13
movq %rbx, %rbp
movb 0x28(%rsp), %cl
testb %cl, %cl
je 0x20f46
testb %al, %al
movq 0x8(%rsp), %rbx
je 0x208c3
movq %rbx, %rdi
leaq 0xafab0(%rip), %rsi     # 0xd0861
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafaa2(%rip), %rsi     # 0xd086a
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa99(%rip), %rsi     # 0xd0878
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa8e(%rip), %rsi     # 0xd0884
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa84(%rip), %rsi     # 0xd0891
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa7c(%rip), %rsi     # 0xd08a0
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa73(%rip), %rsi     # 0xd08ae
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa68(%rip), %rsi     # 0xd08ba
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xaf9e2(%rip), %rsi     # 0xd084b
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xaf9d7(%rip), %rsi     # 0xd0857
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa2a(%rip), %rsi     # 0xd08c1
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa1e(%rip), %rsi     # 0xd08cc
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa17(%rip), %rsi     # 0xd08dc
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa0e(%rip), %rsi     # 0xd08ea
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xafa04(%rip), %rsi     # 0xd08f7
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xaf9f8(%rip), %rsi     # 0xd0902
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xaf9f3(%rip), %rsi     # 0xd0914
callq 0xb880
testl %eax, %eax
je 0x208c3
movq %rbx, %rdi
leaq 0xaf9ed(%rip), %rsi     # 0xd0925
callq 0xb880
testl %eax, %eax
jne 0x20f53
jmp 0x208c3
testb %al, %al
movq 0x8(%rsp), %rbx
je 0x208c3
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x210ad
leaq 0xaf68e(%rip), %rdi     # 0xd05f7
movq %rbx, %rsi
movl 0x120(%rsp), %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x161b0
callq 0xb0f0
movq (%rax), %rax
movsbq (%rbx), %rcx
movb (%rax,%rcx,4), %al
movb %al, (%rbx)
jmp 0x208c3
movq 0x20(%rsp), %rax
movq 0x48(%rax), %rdi
testq %rdi, %rdi
je 0x211c3
movq 0x50(%rsp), %rsi
movq %r12, %rdx
callq 0x2978d
movzbl %al, %ebp
decl %ebp
jmp 0x211c3
xorl %ebp, %ebp
movq 0x50(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq 0x10(%rsp), %r9
pushq %r12
pushq %rbx
callq 0x1e9e8
addq $0x10, %rsp
testl %eax, %eax
je 0x211c3
movq 0x20(%rsp), %rcx
cmpb $0x1, 0x1c(%rcx)
jne 0x2110d
movq %r12, %rbx
movq %r12, %rdi
callq 0xc146
callq 0x1532c
movq %rax, %r12
pushq $0x10
popq %rdi
callq 0x4b380
movq %rax, %rbp
pushq $0x4
popq %rdi
callq 0x4b380
movq %rax, %r15
movq 0x50(%rsp), %rdi
pushq $0x1
popq %rsi
movq %r12, %rdx
movq %rbp, 0x8(%rsp)
movq %rbp, %rcx
movq %rax, %r8
movq 0x10(%rsp), %r9
pushq %rbx
movl 0x128(%rsp), %eax
pushq %rax
callq 0x1ef1a
popq %rcx
popq %rdx
movq %rax, %rbp
testl %eax, %eax
jne 0x2108e
callq 0x13d5c
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
movq 0x8(%rsp), %rdx
movq %r15, %rcx
callq 0x1ef52
movq %rbx, %rdi
callq 0x143d2
movq 0x18(%rsp), %rdi
leaq 0xaf706(%rip), %rsi     # 0xd0784
movq %rax, %rdx
callq 0x1967b
movq %rbx, %rdi
callq 0x152db
movq %r15, %rdi
callq 0x4c19d
movq 0x8(%rsp), %rdi
callq 0x4c19d
movq %r12, %rdi
callq 0x1583a
jmp 0x211c3
movq 0x128(%rsp), %rdi
leaq 0xaf589(%rip), %rsi     # 0xd0645
movq %rbx, %rdx
movl 0x120(%rsp), %ecx
jmp 0x20b8d
xorl %ebp, %ebp
movq 0x50(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x211d5
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x40(%rsp), %rsi
callq 0x55ef6
testq %rax, %rax
je 0x2213c
cmpb $0x1, 0x1d(%rax)
je 0x2210b
movb $0x1, 0x1d(%rax)
jmp 0x211c6
movl %eax, %ebp
jmp 0x211c3
movq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0x64adc
movq %rax, %rbx
testq %rax, %rax
je 0x211a6
leaq 0x80(%rsp), %rdi
callq 0x5d05e
movq %rax, %r15
movq %rbx, %rdi
callq 0x64eb0
xorl %ebp, %ebp
cmpq %rax, %r15
je 0x211bb
movq %rbx, %rdi
callq 0x64eb0
movq %rax, %r14
movq 0x18(%rsp), %rdi
callq 0x19528
movq %rax, %r15
leaq 0x80(%rsp), %rdi
callq 0x5d05e
movq %rax, %r10
movq %r12, %rdi
leaq 0xaf638(%rip), %rsi     # 0xd07b2
leaq 0xaf61f(%rip), %rdx     # 0xd07a0
movl 0x120(%rsp), %ecx
movq 0x10(%rsp), %r8
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %r15
callq 0xc007
addq $0x10, %rsp
pushq $-0x1
popq %rax
movl %eax, %ebp
jmp 0x211bb
movq %r12, %rdi
callq 0xc103
pushq $-0x1
popq %rcx
movl %ecx, %ebp
testb %al, %al
je 0x22326
movq %rbx, %rdi
callq 0x64f35
movq %r13, %r15
movq 0x10(%rsp), %r13
movq 0x28(%rsp), %r12
movq 0x30(%rsp), %r14
incq 0x38(%rsp)
jmp 0x2079d
movq $0x0, 0x38(%rsp)
cmpq $0x0, 0x60(%rsp)
je 0x212bc
cmpq $0x0, 0x128(%rsp)
movq 0x18(%rsp), %rbp
je 0x21219
movq 0x128(%rsp), %rdi
callq 0xc103
testb %al, %al
jne 0x21fb4
movq 0x20(%rsp), %r14
testq %r14, %r14
je 0x21f83
movq (%r14), %rdi
movq 0x60(%rsp), %rsi
callq 0x64687
testq %rax, %rax
je 0x212ce
movq %rax, %rbx
movq %rax, %rdi
callq 0x1c2d8
cmpl 0x50(%r14), %eax
jae 0x21305
movq %rbx, %rdi
callq 0x1c2d8
movl %eax, %r10d
movq 0x20(%rsp), %rax
movl 0x50(%rax), %r11d
subq $0x8, %rsp
leaq 0xaea6a(%rip), %rbx     # 0xcfcdb
leaq 0xaf6e3(%rip), %rsi     # 0xd095b
leaq 0xaf494(%rip), %rdx     # 0xd0713
movq 0x130(%rsp), %rdi
movq 0x68(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq %r13, %r9
xorl %r13d, %r13d
xorl %eax, %eax
pushq %r11
pushq %rbx
pushq %r10
callq 0xc007
addq $0x20, %rsp
jmp 0x2136e
xorl %r13d, %r13d
movq 0x18(%rsp), %rbp
jmp 0x21376
movl $0x0, 0x8(%rsp)
movq 0x18(%rsp), %rbp
jmp 0x214ad
movq (%r14), %rdi
movq 0x60(%rsp), %rsi
movq %rbp, %rdx
callq 0x646d0
cmpb $0x0, 0x1b(%r14)
jne 0x212f8
movq 0x38(%r14), %rdi
movq 0x60(%rsp), %rsi
callq 0x2673d
movq 0x20(%rsp), %r14
movl $0x0, 0x8(%rsp)
jmp 0x214a3
movq %rbp, %rdi
callq 0x1c31a
movq %rax, %r14
movq %rbx, %rdi
callq 0x1c31a
movq %r14, %rdi
movq %rax, %rsi
callq 0x14573
testl %eax, %eax
je 0x213ae
movq %rbx, %rdi
callq 0x1c2d8
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xaf69a(%rip), %rsi     # 0xd09db
leaq 0xaf3cb(%rip), %rdx     # 0xd0713
movq 0x130(%rsp), %rdi
movq 0x68(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq %r13, %r9
xorl %r13d, %r13d
xorl %eax, %eax
pushq %r10
callq 0xc007
popq %rax
popq %rcx
pushq $-0x1
popq %rbx
movq 0x30(%rsp), %r14
movq 0x70(%rsp), %rdi
jmp 0x21de3
leaq 0xaf14a(%rip), %rsi     # 0xd04d1
movq 0x128(%rsp), %rdi
movq %rbx, %rdx
movl 0x120(%rsp), %ecx
movq %r13, %r8
xorl %r13d, %r13d
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %rbx
jmp 0x212b2
movq %r12, 0x28(%rsp)
movq %r15, %r12
leaq 0xaf359(%rip), %rsi     # 0xd0716
movq %rbx, %rdi
callq 0x18818
movq %rax, %r14
movq %rbx, %rdi
callq 0x19959
testb %al, %al
jne 0x2219e
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x60(%rsp), %rsi
callq 0x64782
testq %rax, %rax
je 0x21415
movq %rax, %r15
movq %rax, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rsi
callq 0x22c16
movq %r15, %rdi
movq %r14, %rsi
callq 0x19245
movb $0x1, %al
movl %eax, 0x8(%rsp)
jmp 0x21481
movq %rbx, %rdi
callq 0x198d7
testb %al, %al
je 0x21468
testq %r14, %r14
je 0x222f5
movq %rbx, %rdi
callq 0x19b8f
cmpq %rbx, %rax
je 0x21479
movq 0x10cb7a(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa8c1e(%rip), %rsi     # 0xca066
leaq 0xaf60a(%rip), %rdx     # 0xd0a59
leaq 0xaf4d8(%rip), %rcx     # 0xd092e
leaq 0xae033(%rip), %r8      # 0xcf490
movl $0x243, %r9d            # imm = 0x243
jmp 0x21e88
movq %rbx, %rdi
callq 0x199db
testq %r14, %r14
je 0x21b46
movl $0x0, 0x8(%rsp)
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x19a6c
movq %r12, %r15
movq 0x10(%rsp), %r13
movq 0x20(%rsp), %r14
movq 0x28(%rsp), %r12
movb $0x1, 0x18(%r14)
movq 0x30(%rsp), %r14
movq %rbp, %rdi
callq 0x198d7
testb %al, %al
je 0x21bcb
movq %rbp, %rdi
callq 0x19b8f
movq %rax, %r14
leaq 0xaf244(%rip), %rsi     # 0xd0713
movq %rbp, %rdi
callq 0x18818
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x128(%rsp)
je 0x214fc
movq 0x128(%rsp), %rdi
callq 0xc103
testb %al, %al
jne 0x220a9
testq %r14, %r14
je 0x21fe5
movq %rbp, %rdi
callq 0x19959
testb %al, %al
jne 0x22016
movq %r14, %rdi
callq 0x19959
testb %al, %al
jne 0x22047
movq %rbp, %rdi
callq 0x1c31a
movq %rax, %rbx
movq %r14, %rdi
callq 0x1c31a
movq %rbx, %rdi
movq %rax, %rsi
callq 0x14573
testl %eax, %eax
jne 0x22078
movq %rbp, %rdi
callq 0x197b1
movq %rax, %rbx
movq %r14, %rdi
callq 0x197b1
movq %rbx, %rdi
movq %rax, %rsi
callq 0xb880
testl %eax, %eax
je 0x215b2
movq %r14, %rdi
callq 0x1c2d8
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xaf788(%rip), %rsi     # 0xd0d0b
leaq 0xaf189(%rip), %rdx     # 0xd0713
movq 0x130(%rsp), %rdi
movq 0x48(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq %r13, %r9
xorl %eax, %eax
pushq %r10
callq 0xc007
popq %rax
popq %rcx
pushq $-0x1
popq %rbx
jmp 0x21623
movq %r12, 0x28(%rsp)
movq %r15, 0x58(%rsp)
movq %rbp, %rdi
callq 0x19528
movq %rax, %rbx
movq %r14, %rdi
callq 0x19528
cmpq %rax, %rbx
je 0x21632
movq %r14, %rdi
callq 0x1c2d8
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xaf78f(%rip), %rsi     # 0xd0d79
leaq 0xaf122(%rip), %rdx     # 0xd0713
movq 0x130(%rsp), %rdi
movq 0x48(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq 0x18(%rsp), %r9
xorl %eax, %eax
pushq %r10
callq 0xc007
popq %rax
popq %rcx
pushq $-0x1
popq %rbx
movq 0x58(%rsp), %r15
movq 0x28(%rsp), %r12
movq 0x30(%rsp), %r14
movq 0x70(%rsp), %rdi
jmp 0x21dde
movq %rbp, %rdi
callq 0x18f89
movl %eax, %ebx
movq %r14, %rdi
callq 0x18f89
cmpl %eax, %ebx
je 0x21679
movq %r14, %rdi
callq 0x1c2d8
leaq 0xaf78e(%rip), %rdi     # 0xd0de5
leaq 0xaf0b5(%rip), %rsi     # 0xd0713
movq 0x40(%rsp), %rdx
movl 0x120(%rsp), %ecx
movq 0x10(%rsp), %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x161b0
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x18828
movq %rax, %r15
movq %r14, %rdi
callq 0x18828
movq %rax, 0xc0(%rsp)
movq %rbx, %rdi
movq %r15, 0x50(%rsp)
movq %r15, %rsi
movq %r14, %rdx
movq 0x40(%rsp), %rcx
movq 0x10(%rsp), %r8
movq 0x128(%rsp), %r9
callq 0x22dce
pushq $-0x1
popq %rcx
movq %rcx, 0x38(%rsp)
testl %eax, %eax
jne 0x21ba0
movq %r14, %rdi
movq 0xc0(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x40(%rsp), %rcx
movq 0x10(%rsp), %r8
movq 0x128(%rsp), %r9
callq 0x22dce
testl %eax, %eax
jne 0x21ba0
pushq $-0x1
popq %rax
movq %rax, 0x38(%rsp)
xorl %r15d, %r15d
xorl %r13d, %r13d
testl %r13d, %r13d
jne 0x21ba0
movq 0x50(%rsp), %rdi
callq 0x157f4
cmpq %rax, %r15
jae 0x21b97
movq 0x50(%rsp), %rdi
movq %r15, %rsi
callq 0x1555e
movq %rax, %rbx
movq %rax, %rdi
leaq 0xaf043(%rip), %rsi     # 0xd0784
callq 0xb880
testl %eax, %eax
je 0x21886
movq %rbx, %rdi
leaq 0xaefbe(%rip), %rsi     # 0xd0716
callq 0xb880
testl %eax, %eax
je 0x21778
movq %rbx, %rdi
leaq 0xaf0c3(%rip), %rsi     # 0xd082e
callq 0xb880
testl %eax, %eax
jne 0x219b3
cmpq $0x0, 0x128(%rsp)
je 0x21798
movq 0x128(%rsp), %rdi
callq 0xc103
testb %al, %al
jne 0x22293
cmpq $0x0, 0x20(%rsp)
je 0x221cf
testq %rbx, %rbx
je 0x221cf
movq %r14, %rdi
movq %rbx, %rsi
callq 0x18818
movq %rax, %r12
movq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0x18818
movq %rax, %r13
testq %r12, %r12
setne %al
testq %r13, %r13
setne %cl
testb %cl, %al
je 0x219bb
movq %r13, %rdi
movq %r12, %rsi
callq 0xb880
testl %eax, %eax
je 0x219b3
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x21814
movq %rbx, %rdi
leaq 0xaef0f(%rip), %rsi     # 0xd0716
callq 0xb880
testl %eax, %eax
je 0x21a4f
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
callq 0x1c2d8
movl %eax, 0x6c(%rsp)
movq %rbp, %rdi
callq 0x1c285
movq %rax, %r12
movq %r14, %rdi
callq 0x1c2d8
movl %eax, %r13d
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x18818
movq %rax, %rbp
movq %r14, %rdi
movq %rbx, %rsi
callq 0x18818
movq %rax, %r10
movq 0x128(%rsp), %rdi
leaq 0xaf82c(%rip), %rsi     # 0xd1092
leaq 0xaeea6(%rip), %rdx     # 0xd0713
movq 0x40(%rsp), %rcx
movl 0x6c(%rsp), %r8d
movq %r12, %r9
xorl %eax, %eax
pushq %r10
pushq %rbp
pushq %r13
jmp 0x21a22
cmpq $0x0, 0x128(%rsp)
je 0x218a6
movq 0x128(%rsp), %rdi
callq 0xc103
testb %al, %al
jne 0x222c4
movq 0x18(%rsp), %rdi
leaq 0xaeed2(%rip), %rbx     # 0xd0784
movq %rbx, %rsi
callq 0x18818
movq %rax, %rbp
movq %r14, %rdi
movq %rbx, %rsi
callq 0x18818
movq %rax, %r13
callq 0x13d5c
movq %rax, %rbx
callq 0x13d5c
movq %rax, %r12
movq %rbp, %rdi
leaq 0x80(%rsp), %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
leaq 0xb61ea(%rip), %r9      # 0xd7adf
pushq $0x0
pushq $0x0
callq 0x1e9e8
addq $0x10, %rsp
testl %eax, %eax
jne 0x22200
movq %r13, %rdi
leaq 0xe0(%rsp), %rsi
movq %r12, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
leaq 0xb61bb(%rip), %r9      # 0xd7adf
pushq $0x0
pushq $0x0
callq 0x1e9e8
addq $0x10, %rsp
testl %eax, %eax
jne 0x22231
movq %rbx, %rdi
movq %r12, %rsi
callq 0x14573
testl %eax, %eax
je 0x21a34
movq 0x18(%rsp), %r13
movq %r13, %rdi
callq 0x1c2d8
movl %eax, %ebp
movq %r13, %rdi
callq 0x1c285
movq %rax, %r13
movq %r14, %rdi
callq 0x1c2d8
movl %eax, %r10d
movq 0x128(%rsp), %rdi
leaq 0xaf5d4(%rip), %rsi     # 0xd0f54
leaq 0xaed8c(%rip), %rdx     # 0xd0713
movq 0x40(%rsp), %rcx
movl %ebp, %r8d
movq %r13, %r9
xorl %eax, %eax
pushq %r10
leaq 0xaede7(%rip), %r10     # 0xd0784
pushq %r10
callq 0xc007
addq $0x10, %rsp
pushq $-0x1
popq %rax
movl %eax, %r13d
jmp 0x21a37
xorl %r13d, %r13d
jmp 0x21a47
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
callq 0x1c2d8
movl %eax, 0x6c(%rsp)
movq %rbp, %rdi
callq 0x1c285
movq %rax, %rbp
movq %r14, %rdi
callq 0x1c2d8
testq %r13, %r13
leaq 0xaf69f(%rip), %rcx     # 0xd1088
cmoveq %rcx, %r13
movl %eax, %r10d
testq %r12, %r12
cmoveq %rcx, %r12
movq 0x128(%rsp), %rdi
leaq 0xaf5fd(%rip), %rsi     # 0xd1003
leaq 0xaed06(%rip), %rdx     # 0xd0713
movq 0x40(%rsp), %rcx
movl 0x6c(%rsp), %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq %r12
pushq %r13
pushq %r10
pushq %rbx
callq 0xc007
addq $0x20, %rsp
pushq $-0x1
popq %rax
movl %eax, %r13d
jmp 0x21a47
xorl %r13d, %r13d
movq %r12, %rdi
callq 0x152db
movq %rbx, %rdi
callq 0x152db
incq %r15
jmp 0x2170b
cmpq $0x0, 0x40(%rsp)
je 0x22357
movq 0x20(%rsp), %rax
movq (%rax), %rbx
testq %rbx, %rbx
je 0x22357
movq 0x18(%rsp), %r12
movq %r12, %rdi
callq 0x1c2d8
movl %eax, 0x6c(%rsp)
movq %r12, %rdi
callq 0x1c285
movq %rax, 0xd0(%rsp)
movq %r14, %rdi
callq 0x1c2d8
movq %rax, 0xd8(%rsp)
movq %r12, %rdi
leaq 0xaec6f(%rip), %r13     # 0xd0716
movq %r13, %rsi
callq 0x18818
movq %rax, %rbp
movq %r14, %rdi
movq %r13, %rsi
callq 0x18818
movq %rax, %r10
subq $0x8, %rsp
xorl %r13d, %r13d
leaq 0xaf69a(%rip), %rdi     # 0xd1168
leaq 0xaec3e(%rip), %rsi     # 0xd0713
movq 0x48(%rsp), %rdx
movl 0x74(%rsp), %ecx
movq 0xd8(%rsp), %r8
leaq 0xaec29(%rip), %r9      # 0xd0716
xorl %eax, %eax
pushq %r10
pushq %rbp
pushq 0xf0(%rsp)
callq 0x161b0
addq $0x20, %rsp
movq %r12, %rdi
callq 0x19b47
movq %r14, %rdi
leaq 0xaec02(%rip), %rsi     # 0xd0716
callq 0x18818
movq %rbx, %rdi
movq %rax, %rsi
callq 0x64687
movq %rax, %rdi
movq %r14, %rsi
callq 0x1aefc
cmpq $0x1, %rax
jne 0x21a47
movq %r14, %rdi
callq 0x19b47
jmp 0x21a47
movq %rbx, %rdi
callq 0x18efa
movq %rax, %r14
movq 0x20(%rsp), %rax
movq (%rax), %rdx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x22a51
movq %rbx, %rdi
movq %r14, %rsi
movq 0xa8(%rsp), %rdx
callq 0x22b7d
movq %r14, %rdi
movq 0x18(%rsp), %r15
movq %r15, %rsi
callq 0x19245
movq %r14, %rdi
movq %r15, %rsi
callq 0x22c16
jmp 0x2140d
movq $0x0, 0x38(%rsp)
movq 0x50(%rsp), %rdi
callq 0x1583a
movq 0xc0(%rsp), %rdi
callq 0x1583a
movq 0x58(%rsp), %r15
movq 0x28(%rsp), %r12
movq 0x18(%rsp), %rbp
movq 0x30(%rsp), %r14
cmpl $0x0, 0x38(%rsp)
sete %al
movq 0xc8(%rsp), %r13
testq %r13, %r13
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x21d12
movq %r12, 0x28(%rsp)
movq %r15, 0x58(%rsp)
movq 0x128(%rsp), %rdi
testq %rdi, %rdi
je 0x21c10
callq 0xc103
testb %al, %al
jne 0x2216d
callq 0x124cc
movq %rax, %rbx
movq %r13, %rdi
callq 0xb260
pushq $0x2c
popq %rcx
movq %rbx, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x124e1
movq %rbx, %rdi
callq 0x127fd
testq %rax, %rax
je 0x220da
xorl %r15d, %r15d
xorl %r14d, %r14d
xorl %r13d, %r13d
movl $0x0, 0x38(%rsp)
movq 0x20(%rsp), %r12
movq %rbx, %rdi
callq 0x127fd
cmpq %rax, %r13
jae 0x21d21
movq %rbx, %rdi
movq %r13, %rsi
callq 0x12765
movq %rax, %rbp
movq (%r12), %rdi
movq %rax, %rsi
callq 0x64687
movb 0x1b(%r12), %cl
testq %rax, %rax
je 0x21ca7
testb %cl, %cl
jne 0x21d0a
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rdi
movq %rbp, %rsi
callq 0x26832
orb %al, %r15b
jmp 0x21d0a
testb %cl, %cl
je 0x21cf2
subq $0x8, %rsp
movq 0x130(%rsp), %rdi
leaq 0xaf585(%rip), %rsi     # 0xd1243
leaq 0xaea51(%rip), %rdx     # 0xd0716
movq %rbp, %rcx
movl 0x128(%rsp), %r8d
movq 0x18(%rsp), %r9
xorl %eax, %eax
leaq 0xaea35(%rip), %r10     # 0xd0713
pushq %r10
callq 0xc007
addq $0x10, %rsp
pushq $-0x1
popq %rax
movl %eax, 0x38(%rsp)
jmp 0x21d0a
testq %r14, %r14
jne 0x21cff
callq 0x1532c
movq %rax, %r14
movq %r14, %rdi
movq %rbp, %rsi
callq 0x15407
incq %r13
jmp 0x21c58
movq 0x70(%rsp), %rdi
movq 0x38(%rsp), %rbx
jmp 0x21dde
cmpl $0x0, 0x38(%rsp)
je 0x21d36
pushq $-0x1
popq %r13
movq 0x18(%rsp), %rbp
jmp 0x21db7
testq %r14, %r14
setne %al
orb %r15b, %al
testb $0x1, %al
je 0x21d7a
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1b(%rax)
je 0x22262
movq 0x20(%rsp), %r15
movq 0x38(%r15), %rdi
movq 0x18(%rsp), %rbp
movq %rbp, %rsi
movq 0x60(%rsp), %rdx
movq %r14, %rcx
callq 0x26621
movb $0x1, 0x18(%r15)
xorl %r13d, %r13d
jmp 0x21db1
movq 0x20(%rsp), %rax
movzbl 0x1b(%rax), %ecx
movl 0x50(%rax), %r8d
movq (%rax), %rdx
movq 0x40(%rax), %r9
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
pushq 0x128(%rsp)
pushq 0xb0(%rsp)
callq 0x22f40
popq %rcx
popq %rdx
movl %eax, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
callq 0x1283e
movq %r14, %rdi
callq 0x1583a
movq 0x58(%rsp), %r15
movq 0x28(%rsp), %r12
movq 0x30(%rsp), %r14
movq 0x70(%rsp), %rdi
movq %r13, %rbx
movl 0x8(%rsp), %r13d
callq 0x1283e
movq 0x78(%rsp), %rdi
callq 0x1283e
movq %r14, %rdi
callq 0x1283e
testl %ebx, %ebx
je 0x21e0f
movq %rbx, %r14
testb %r13b, %r13b
je 0x204df
jmp 0x204e7
cmpb $0x1, 0x4f(%rsp)
jne 0x21e27
movss 0xb8(%rsp), %xmm0
movq %rbp, %rdi
callq 0x19615
movl 0xb4(%rsp), %esi
cmpl $0x3, %esi
je 0x21e3b
movq %rbp, %rdi
callq 0x18944
xorl %r14d, %r14d
testb %r13b, %r13b
jne 0x204e7
movq 0xa8(%rsp), %rdi
movq %rbp, %rsi
callq 0x5b055
jmp 0x204e7
movq 0x10c155(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa81f9(%rip), %rsi     # 0xca066
leaq 0xa87e5(%rip), %rdx     # 0xca659
leaq 0xae3ab(%rip), %rcx     # 0xd0226
leaq 0xad60e(%rip), %r8      # 0xcf490
movl $0x5fd, %r9d            # imm = 0x5FD
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
movq 0x10c11d(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa81c1(%rip), %rsi     # 0xca066
leaq 0xa87ad(%rip), %rdx     # 0xca659
leaq 0xae4ef(%rip), %rcx     # 0xd03a2
leaq 0xad5d6(%rip), %r8      # 0xcf490
movl $0x1a6, %r9d            # imm = 0x1A6
jmp 0x21e88
movq 0x10c0ef(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa8193(%rip), %rsi     # 0xca066
leaq 0xae559(%rip), %rdx     # 0xd0433
leaq 0xabc4c(%rip), %rcx     # 0xcdb2d
leaq 0xad5a8(%rip), %r8      # 0xcf490
movl $0x5d1, %r9d            # imm = 0x5D1
jmp 0x21e88
movq 0x10c0c1(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa8165(%rip), %rsi     # 0xca066
leaq 0xac28b(%rip), %rdx     # 0xce193
leaq 0xae554(%rip), %rcx     # 0xd0463
leaq 0xad57a(%rip), %r8      # 0xcf490
movl $0x4c8, %r9d            # imm = 0x4C8
jmp 0x21e88
movq 0x10c090(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa8134(%rip), %rsi     # 0xca066
leaq 0xa8720(%rip), %rdx     # 0xca659
leaq 0xae523(%rip), %rcx     # 0xd0463
leaq 0xad549(%rip), %r8      # 0xcf490
movl $0x4c7, %r9d            # imm = 0x4C7
jmp 0x21e88
movq 0x10c05f(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa8103(%rip), %rsi     # 0xca066
leaq 0xd2836(%rip), %rdx     # 0xf47a0
leaq 0xabbbc(%rip), %rcx     # 0xcdb2d
leaq 0xad518(%rip), %r8      # 0xcf490
movl $0x5d7, %r9d            # imm = 0x5D7
jmp 0x21e88
movq 0x10c02e(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa80d2(%rip), %rsi     # 0xca066
leaq 0xae9a3(%rip), %rdx     # 0xd093e
leaq 0xae98c(%rip), %rcx     # 0xd092e
leaq 0xad4e7(%rip), %r8      # 0xcf490
movl $0x20e, %r9d            # imm = 0x20E
jmp 0x21e88
movq 0x10bffd(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa80a1(%rip), %rsi     # 0xca066
leaq 0xa868d(%rip), %rdx     # 0xca659
leaq 0xae95b(%rip), %rcx     # 0xd092e
leaq 0xad4b6(%rip), %r8      # 0xcf490
movl $0x20d, %r9d            # imm = 0x20D
jmp 0x21e88
movq 0x10bfcc(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa8070(%rip), %rsi     # 0xca066
leaq 0xaec45(%rip), %rdx     # 0xd0c42
leaq 0xaec1f(%rip), %rcx     # 0xd0c23
leaq 0xad485(%rip), %r8      # 0xcf490
movl $0x432, %r9d            # imm = 0x432
jmp 0x21e88
movq 0x10bf9b(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa803f(%rip), %rsi     # 0xca066
leaq 0xaec25(%rip), %rdx     # 0xd0c53
leaq 0xaebee(%rip), %rcx     # 0xd0c23
leaq 0xad454(%rip), %r8      # 0xcf490
movl $0x433, %r9d            # imm = 0x433
jmp 0x21e88
movq 0x10bf6a(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa800e(%rip), %rsi     # 0xca066
leaq 0xaec28(%rip), %rdx     # 0xd0c87
leaq 0xaebbd(%rip), %rcx     # 0xd0c23
leaq 0xad423(%rip), %r8      # 0xcf490
movl $0x434, %r9d            # imm = 0x434
jmp 0x21e88
movq 0x10bf39(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7fdd(%rip), %rsi     # 0xca066
leaq 0xaec2b(%rip), %rdx     # 0xd0cbb
leaq 0xaeb8c(%rip), %rcx     # 0xd0c23
leaq 0xad3f2(%rip), %r8      # 0xcf490
movl $0x437, %r9d            # imm = 0x437
jmp 0x21e88
movq 0x10bf08(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7fac(%rip), %rsi     # 0xca066
leaq 0xa8598(%rip), %rdx     # 0xca659
leaq 0xaeb5b(%rip), %rcx     # 0xd0c23
leaq 0xad3c1(%rip), %r8      # 0xcf490
movl $0x431, %r9d            # imm = 0x431
jmp 0x21e88
movq 0x10bed7(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7f7b(%rip), %rsi     # 0xca066
leaq 0xaf12f(%rip), %rdx     # 0xd1221
leaq 0xaf114(%rip), %rcx     # 0xd120d
leaq 0xad390(%rip), %r8      # 0xcf490
movl $0x364, %r9d            # imm = 0x364
jmp 0x21e88
movq 0x10bea6(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7f4a(%rip), %rsi     # 0xca066
leaq 0xae64f(%rip), %rdx     # 0xd0772
leaq 0xae339(%rip), %rcx     # 0xd0463
leaq 0xad35f(%rip), %r8      # 0xcf490
movl $0x55c, %r9d            # imm = 0x55C
jmp 0x21e88
movq 0x10be75(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7f19(%rip), %rsi     # 0xca066
leaq 0xadb83(%rip), %rdx     # 0xcfcd7
leaq 0xae308(%rip), %rcx     # 0xd0463
leaq 0xad32e(%rip), %r8      # 0xcf490
movl $0x55b, %r9d            # imm = 0x55B
jmp 0x21e88
movq 0x10be44(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7ee8(%rip), %rsi     # 0xca066
leaq 0xa84d4(%rip), %rdx     # 0xca659
leaq 0xaf081(%rip), %rcx     # 0xd120d
leaq 0xad2fd(%rip), %r8      # 0xcf490
movl $0x35f, %r9d            # imm = 0x35F
jmp 0x21e88
movq 0x10be13(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7eb7(%rip), %rsi     # 0xca066
leaq 0xabcdf(%rip), %rdx     # 0xcde95
leaq 0xae771(%rip), %rcx     # 0xd092e
leaq 0xad2cc(%rip), %r8      # 0xcf490
movl $0x229, %r9d            # imm = 0x229
jmp 0x21e88
movq 0x10bde2(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7e86(%rip), %rsi     # 0xca066
leaq 0xaedf4(%rip), %rdx     # 0xd0fdb
leaq 0xaedd5(%rip), %rcx     # 0xd0fc3
leaq 0xad29b(%rip), %r8      # 0xcf490
movl $0x402, %r9d            # imm = 0x402
jmp 0x21e88
movq 0x10bdb1(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7e55(%rip), %rsi     # 0xca066
leaq 0xa83fb(%rip), %rdx     # 0xca613
leaq 0xaed1c(%rip), %rcx     # 0xd0f3b
leaq 0xad26a(%rip), %r8      # 0xcf490
movl $0x3cc, %r9d            # imm = 0x3CC
jmp 0x21e88
movq 0x10bd80(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7e24(%rip), %rsi     # 0xca066
leaq 0xa83ca(%rip), %rdx     # 0xca613
leaq 0xaeceb(%rip), %rcx     # 0xd0f3b
leaq 0xad239(%rip), %r8      # 0xcf490
movl $0x3d0, %r9d            # imm = 0x3D0
jmp 0x21e88
movq 0x10bd4f(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7df3(%rip), %rsi     # 0xca066
leaq 0xad3d1(%rip), %rdx     # 0xcf64b
leaq 0xaef8c(%rip), %rcx     # 0xd120d
leaq 0xad208(%rip), %r8      # 0xcf490
movl $0x386, %r9d            # imm = 0x386
jmp 0x21e88
movq 0x10bd1e(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7dc2(%rip), %rsi     # 0xca066
leaq 0xa83ae(%rip), %rdx     # 0xca659
leaq 0xaed11(%rip), %rcx     # 0xd0fc3
leaq 0xad1d7(%rip), %r8      # 0xcf490
movl $0x401, %r9d            # imm = 0x401
jmp 0x21e88
movq 0x10bced(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7d91(%rip), %rsi     # 0xca066
leaq 0xa837d(%rip), %rdx     # 0xca659
leaq 0xaec58(%rip), %rcx     # 0xd0f3b
leaq 0xad1a6(%rip), %r8      # 0xcf490
movl $0x3c3, %r9d            # imm = 0x3C3
jmp 0x21e88
movq 0x10bcbc(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7d60(%rip), %rsi     # 0xca066
leaq 0xae741(%rip), %rdx     # 0xd0a4e
leaq 0xae61a(%rip), %rcx     # 0xd092e
leaq 0xad175(%rip), %r8      # 0xcf490
movl $0x242, %r9d            # imm = 0x242
jmp 0x21e88
movq 0x10bc8b(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7d2f(%rip), %rsi     # 0xca066
leaq 0xce9fb(%rip), %rdx     # 0xf0d39
leaq 0xae11e(%rip), %rcx     # 0xd0463
leaq 0xad144(%rip), %r8      # 0xcf490
movl $0x596, %r9d            # imm = 0x596
jmp 0x21e88
movq 0x10bc5a(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0xa7cfe(%rip), %rsi     # 0xca066
leaq 0xaeda9(%rip), %rdx     # 0xd1118
leaq 0xaedc9(%rip), %rcx     # 0xd113f
leaq 0xad113(%rip), %r8      # 0xcf490
movl $0x3e7, %r9d            # imm = 0x3E7
jmp 0x21e88