// File: /workspace/github_c_makefile_star2_O3/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, %r12
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %rbp
movq %rsi, %r13
movq %rdi, 0x20(%rsp)
movq 0x128(%rsp), %rdi
testq %rdi, %rdi
je 0x4463f
callq 0x34fea
testb %al, %al
jne 0x45ed6
movq %r12, %rdi
callq 0x3bb5d
movq %rax, 0x18(%rsp)
callq 0x39f34
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl $0x9, %ecx
callq 0x39f4f
movq %r15, %rdi
callq 0x3a16c
cmpq $0x9, %rax
jne 0x446ec
movq %r13, 0xa0(%rsp)
movq %r15, 0x28(%rsp)
movq %r15, %rdi
callq 0x3a121
movq (%rax), %rcx
movq 0x8(%rax), %rsi
movq 0x10(%rax), %r13
movq 0x18(%rax), %rbx
movq 0x20(%rax), %r14
movq 0x28(%rax), %r15
movq 0x30(%rax), %r8
movq 0x38(%rax), %rdi
movq 0x40(%rax), %rdx
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x4472c
cmpb $0x2e, (%rbx)
je 0x446c3
cmpb $0x2e, (%r14)
jne 0x4472c
leaq 0xa2c1d(%rip), %rdi     # 0xe72e7
xorl %ebp, %ebp
movq %r13, %rsi
movl 0x120(%rsp), %edx
movq 0x18(%rsp), %rcx
xorl %eax, %eax
callq 0x3d110
movq 0x28(%rsp), %rdi
jmp 0x44968
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x447b5
movq %r15, %rdi
callq 0x3a16c
cmpq $0xa, %rax
jne 0x447b5
leaq 0xa2b3a(%rip), %rdi     # 0xe724e
movl 0x120(%rsp), %esi
movq 0x18(%rsp), %rdx
xorl %eax, %eax
callq 0x3d110
jmp 0x44675
movq %r8, 0x40(%rsp)
movq %rdi, 0x10(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x8(%rsp)
movq %rcx, 0x38(%rsp)
movq 0x40(%rax), %rdi
testq %rdi, %rdi
je 0x4475e
movq %r13, %rsi
callq 0x4b511
testb %al, %al
je 0x4481a
movq %rbp, %rdi
movq %r13, %rsi
callq 0x72fc5
testq %rax, %rax
jne 0x44779
movq %rbp, %rdi
movq %r13, %rsi
callq 0x72f66
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1b(%rax)
jne 0x447e6
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movl 0x120(%rsp), %ebx
movl %ebx, %ecx
movq 0x18(%rsp), %r14
movq %r14, %r8
movq 0x128(%rsp), %r9
callq 0x396d8
jmp 0x44870
leaq 0xa2ae9(%rip), %rsi     # 0xe72a5
xorl %r12d, %r12d
movq 0x128(%rsp), %rdi
movl 0x120(%rsp), %edx
movq 0x18(%rsp), %rcx
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
xorl %ebx, %ebx
jmp 0x44955
cmpb $0x1, 0x1c(%rax)
jne 0x44844
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movl 0x120(%rsp), %ebx
movl %ebx, %ecx
movq 0x18(%rsp), %r14
movq %r14, %r8
movq 0x128(%rsp), %r9
callq 0x39967
jmp 0x44870
leaq 0xa2b13(%rip), %rsi     # 0xe7334
xorl %r12d, %r12d
movq 0x128(%rsp), %rdi
movq %r13, %rdx
movl 0x120(%rsp), %ecx
movq 0x18(%rsp), %r8
xorl %eax, %eax
callq 0x34f1f
jmp 0x4489f
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movl 0x120(%rsp), %ebx
movl %ebx, %ecx
movq 0x18(%rsp), %r14
movq %r14, %r8
movq 0x128(%rsp), %r9
callq 0x3997f
movl %eax, %ebp
testl %eax, %eax
jne 0x448a9
cmpq $0x0, 0x80(%rsp)
jne 0x448a9
leaq 0xa2ae1(%rip), %rsi     # 0xe7369
xorl %r12d, %r12d
movq 0x128(%rsp), %rdi
movl %ebx, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x4494e
testl %ebp, %ebp
jne 0x4494b
movl %ebx, %r8d
leaq 0x80(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq %r14, %rcx
movq 0x128(%rsp), %rbx
movq %rbx, %r9
callq 0x466f3
testl %eax, %eax
jne 0x44949
leaq 0x4f(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
movq %r15, %rdx
movl 0x120(%rsp), %ecx
movq %r14, %r8
movq %rbx, %r9
callq 0x39994
testl %eax, %eax
jne 0x44949
movq %rbx, %r15
leaq 0xb4(%rsp), %rdi
movq 0x40(%rsp), %rsi
movl 0x120(%rsp), %ebx
movl %ebx, %edx
movq %r14, %rcx
movq %r15, %r8
callq 0x39a45
testl %eax, %eax
jne 0x44949
leaq 0xac(%rsp), %rdi
movq 0x10(%rsp), %rsi
movl %ebx, %edx
movq %r14, %rcx
movq %r15, %r8
callq 0x39b0e
testl %eax, %eax
je 0x44981
movl %eax, %ebp
xorl %r12d, %r12d
xorl %ebx, %ebx
movq 0x28(%rsp), %r15
movq %r12, %rdi
callq 0x4210c
movq %rbx, %rdi
callq 0x3c87b
movq %r15, %rdi
callq 0x3a17c
movl %ebp, %eax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x38(%rsp), %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x436ba
movaps 0x80(%rsp), %xmm0
movaps %xmm0, 0x70(%rsp)
testq %r15, %r15
je 0x449b2
movq %r15, %rdi
callq 0x34fea
testb %al, %al
jne 0x462d0
movq 0x20(%rsp), %r15
movq 0x8(%r15), %rdi
movq 0x38(%rsp), %rbp
movq %rbp, %rsi
callq 0x775ed
testq %rax, %rax
je 0x44a5e
movq %rax, %rbx
cmpb $0x1, 0x1a(%r15)
jne 0x44ac6
cmpb $0x0, 0x1d(%rbx)
movq 0x128(%rsp), %r15
jne 0x44ad7
movq %rbx, %rdi
addq $0x8, %rdi
leaq 0x70(%rsp), %rsi
callq 0x7e261
testb %al, %al
jne 0x44ad7
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1a(%rax)
jne 0x44ad7
movq 0x70(%rsp), %rdx
movq 0x78(%rsp), %rcx
movups 0x8(%rbx), %xmm0
movl 0x18(%rbx), %eax
subq $0x20, %rsp
movl %eax, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0xa2983(%rip), %rsi     # 0xe73c0
xorl %r12d, %r12d
movq %r15, %rdi
movl 0x140(%rsp), %r8d
movq %r14, %r9
xorl %eax, %eax
callq 0x34f1f
addq $0x20, %rsp
jmp 0x4489f
leaq 0xa1a3b(%rip), %rdx     # 0xe64a0
movl $0x1, %edi
movl $0x20, %esi
movl $0x55, %ecx
callq 0x359a6
movq %rax, %rbx
movq %rbp, %rdi
callq 0x3b785
movq %rax, (%rbx)
movq $0x0, 0x8(%rbx)
movq $-0x1, 0x10(%rbx)
movl 0x120(%rsp), %ebp
movl %ebp, 0x18(%rbx)
movb $0x1, 0x1c(%rbx)
movq 0x8(%r15), %r14
movq %rax, %rdi
callq 0x3bb5d
movq %r14, %rdi
movq 0x18(%rsp), %r14
movq %rax, %rsi
movq %rbx, %rdx
callq 0x77628
jmp 0x44acd
movl 0x120(%rsp), %ebp
movq 0x128(%rsp), %r15
jmp 0x44ade
movl 0x120(%rsp), %ebp
movq (%rbx), %rdi
callq 0x3bcaf
movq %rax, %rbx
movq %rax, %rdi
movq %r14, %rsi
movl %ebp, %edx
movq %r15, %rcx
callq 0x465d5
testl %eax, %eax
je 0x44b0a
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
xorl %r12d, %r12d
jmp 0x44950
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
movl 0xb4(%rsp), %r8d
movq %rbx, 0x50(%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x3f280
movq %rax, %rdi
movq %r12, %rsi
movq %rax, %r12
movl %ebp, %edx
callq 0x41500
movq 0x30(%rsp), %r13
testq %r13, %r13
je 0x462d5
testq %r12, %r12
je 0x462d5
movq 0x20(%rsp), %rax
movq 0x10(%rax), %r14
testq %r14, %r14
je 0x462d5
movq %r14, %rdi
movq %r13, %rsi
callq 0x775ed
testq %rax, %rax
je 0x44b80
movq %rax, %rbx
jmp 0x44baa
movq %r13, %rdi
callq 0x3b785
movq %rax, %rbx
movq %rax, %rdi
callq 0x3bb5d
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x77628
testq %rbx, %rbx
je 0x462e4
movq 0x18(%rsp), %r14
movq %r12, %rdi
movq %rbx, %rsi
callq 0x3ef41
testq %r15, %r15
je 0x44bcf
movq %r15, %rdi
callq 0x34fea
testb %al, %al
jne 0x462df
movq 0x8(%rsp), %rbx
testq %rbx, %rbx
je 0x462da
callq 0x39f34
movq %rax, %r13
callq 0x39f34
movq %rax, %r15
callq 0x39f34
movq %rax, 0xd8(%rsp)
movq %rbx, %rdi
callq 0xb260
movq %r13, %rdi
movq %rbx, %rsi
movq %rax, %rdx
movl $0x3b, %ecx
callq 0x39f4f
movq $0x0, 0x58(%rsp)
movq $0x0, 0x98(%rsp)
xorl %ebx, %ebx
movq %r12, 0x8(%rsp)
movq %r13, 0x40(%rsp)
movq %r15, 0x30(%rsp)
movq %r13, %rdi
callq 0x3a16c
cmpq %rax, %rbx
jae 0x4560b
movq %r13, %rdi
movq %rbx, %r13
movq %rbx, %rsi
callq 0x3a130
movq %rax, %rbx
movb (%rax), %al
cmpb $0x2e, %al
je 0x455cb
movq %rbx, %rcx
incq %rcx
cmpb $0x20, %al
jne 0x44c75
movb (%rcx), %al
jmp 0x44c6a
movzbl %al, %eax
testl %eax, %eax
jne 0x44c83
xorl %ebp, %ebp
jmp 0x44e4f
movq %r15, %rdi
callq 0x3a149
movq %rbx, %rdi
callq 0xb260
movq %r15, %rdi
movq %rbx, %rsi
movq %rax, %rdx
movl $0x3d, %ecx
callq 0x39f4f
movq %r15, %rdi
callq 0x3a16c
cmpq $0x2, %rax
jne 0x44daf
movq %r15, %rdi
xorl %esi, %esi
callq 0x3a130
movq %rax, %rbx
decq %rbx
cmpb $0x20, 0x1(%rbx)
leaq 0x1(%rbx), %rbx
je 0x44cc8
movl $0x1, %esi
movq %r15, %rdi
callq 0x3a130
movq %rax, %rbp
movq %rbx, 0x10(%rsp)
movsbq (%rbx), %r14
testq %r14, %r14
movl 0x120(%rsp), %ebx
je 0x44de5
cmpb $0x0, (%rbp)
je 0x44e21
callq 0xb6e0
movq (%rax), %rax
testb $0x1, 0x1(%rax,%r14,2)
jne 0x44e67
movq %r12, %rdi
movq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x3eedc
testq %rax, %rax
je 0x44fb4
movq %rax, %rbx
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
movq 0x18(%rsp), %r8
jne 0x4587c
leaq 0xa2962(%rip), %rdi     # 0xe76b2
movq 0x10(%rsp), %r14
movq %r14, %rsi
movl 0x120(%rsp), %edx
movq %r8, %rcx
xorl %eax, %eax
callq 0x3d110
movq %rbx, %rdi
callq 0x3b785
movq %rax, %rbx
movq %rax, %rdi
movl $0x2c, %esi
callq 0x3b9df
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3b7af
movq %rbx, %rdi
callq 0x3bb5d
movq %r12, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x3f99b
movq %rbx, %rdi
callq 0x3c87b
jmp 0x44fc2
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x456e9
movq %r15, %rdi
callq 0x3a16c
cmpq $0x1, %rax
jne 0x456e9
xorl %ebp, %ebp
leaq 0xa2708(%rip), %rdi     # 0xe74e1
movq %rbx, %rsi
movl 0x120(%rsp), %edx
jmp 0x44e45
movq %rbp, %rdx
movq 0x20(%rsp), %rax
cmpb $0x0, 0x1c(%rax)
je 0x4582a
xorl %ebp, %ebp
leaq 0xa2725(%rip), %rdi     # 0xe7525
movq %rdx, %r14
movq %rdx, %rsi
movl %ebx, %edx
movq 0x18(%rsp), %rcx
xorl %eax, %eax
callq 0x3d110
cmpb $0x0, (%r14)
je 0x44e21
movq 0x18(%rsp), %r14
jmp 0x44e4f
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x4583e
xorl %ebp, %ebp
leaq 0xa275b(%rip), %rdi     # 0xe7594
movq 0x10(%rsp), %rsi
movl %ebx, %edx
movq 0x18(%rsp), %r14
movq %r14, %rcx
xorl %eax, %eax
callq 0x3d110
movq %r13, %rbx
incq %rbx
testl %ebp, %ebp
movq 0x40(%rsp), %r13
je 0x44c3b
jmp 0x456ca
movq 0x20(%rsp), %rax
movb 0x1f(%rax), %bl
cmpb $0x49, %r14b
movq 0x10(%rsp), %r14
jne 0x44e8c
cmpb $0x44, 0x1(%r14)
jne 0x44e8c
cmpb $0x0, 0x2(%r14)
je 0x450f8
movq %r14, %rdi
leaq 0xa29a8(%rip), %rsi     # 0xe783e
callq 0xb890
testl %eax, %eax
je 0x450f8
movq %r14, %rdi
leaq 0xa2996(%rip), %rsi     # 0xe7843
callq 0xb890
testl %eax, %eax
je 0x450ea
movq %r14, %rdi
leaq 0xa2862(%rip), %rsi     # 0xe7726
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa28b7(%rip), %rsi     # 0xe7794
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa28ba(%rip), %rsi     # 0xe77b0
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa293a(%rip), %rsi     # 0xe7849
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa292e(%rip), %rsi     # 0xe7856
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa285a(%rip), %rsi     # 0xe779b
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa2848(%rip), %rsi     # 0xe77a2
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa28e8(%rip), %rsi     # 0xe785b
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa28db(%rip), %rsi     # 0xe7867
callq 0xb890
testl %eax, %eax
je 0x450ea
movq 0x10(%rsp), %rdi
leaq 0xa2788(%rip), %rsi     # 0xe772d
callq 0xb890
testl %eax, %eax
setne %al
jmp 0x450ec
movq %r12, %rdi
movq %r14, %rsi
movq %rbp, %rdx
callq 0x40229
movq %rbp, %rbx
cmpb $0x49, (%r14)
jne 0x44fdd
cmpb $0x44, 0x1(%r14)
jne 0x44fdd
cmpb $0x0, 0x2(%r14)
je 0x454c7
movq %r14, %rdi
leaq 0xa273f(%rip), %rsi     # 0xe7726
callq 0xb890
xorl %ebp, %ebp
testl %eax, %eax
je 0x450dd
movq %r14, %rdi
leaq 0xa272d(%rip), %rsi     # 0xe772d
callq 0xb890
testl %eax, %eax
je 0x45326
movq %r14, %rdi
leaq 0xa277d(%rip), %rsi     # 0xe7794
callq 0xb890
testl %eax, %eax
je 0x453a0
movq %r14, %rdi
leaq 0xa276d(%rip), %rsi     # 0xe779b
callq 0xb890
testl %eax, %eax
je 0x45374
movq %r14, %rdi
leaq 0xa275d(%rip), %rsi     # 0xe77a2
callq 0xb890
testl %eax, %eax
je 0x45374
movq 0x20(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x45507
movq 0x10(%rsp), %rdi
leaq 0xa2742(%rip), %rsi     # 0xe77b0
callq 0xb890
testl %eax, %eax
jne 0x45507
movq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x415e5
movq %rax, 0x70(%rsp)
movq %rdx, 0x78(%rsp)
movq 0x20(%rsp), %rax
movq 0x40(%rax), %r12
leaq 0xa2712(%rip), %rdi     # 0xe77b4
callq 0x3cd3b
movq %rax, %r14
movq %r15, %rdi
callq 0x3f914
movq %r12, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x4b575
movq %rbx, %rdi
movq 0x128(%rsp), %rsi
testb %al, %al
je 0x4551b
callq 0x851e0
jmp 0x45520
movq %rbx, 0x98(%rsp)
jmp 0x454ce
xorl %eax, %eax
movq 0x8(%rsp), %r12
movq 0x30(%rsp), %r15
jmp 0x450fa
xorl %eax, %eax
testb %bl, %bl
je 0x452cd
testb %al, %al
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa275b(%rip), %rsi     # 0xe7871
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa274b(%rip), %rsi     # 0xe787a
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2740(%rip), %rsi     # 0xe7888
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2733(%rip), %rsi     # 0xe7894
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2727(%rip), %rsi     # 0xe78a1
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa271d(%rip), %rsi     # 0xe78b0
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2712(%rip), %rsi     # 0xe78be
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2705(%rip), %rsi     # 0xe78ca
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa267d(%rip), %rsi     # 0xe785b
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2670(%rip), %rsi     # 0xe7867
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa26c1(%rip), %rsi     # 0xe78d1
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa26b3(%rip), %rsi     # 0xe78dc
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa26aa(%rip), %rsi     # 0xe78ec
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa269f(%rip), %rsi     # 0xe78fa
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2693(%rip), %rsi     # 0xe7907
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2685(%rip), %rsi     # 0xe7912
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa267e(%rip), %rsi     # 0xe7924
callq 0xb890
testl %eax, %eax
je 0x44d19
movq 0x10(%rsp), %rdi
leaq 0xa2676(%rip), %rsi     # 0xe7935
callq 0xb890
testl %eax, %eax
jne 0x452d5
jmp 0x44d19
testb %al, %al
je 0x44d19
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x45e4c
leaq 0xa231c(%rip), %rdi     # 0xe7607
movq 0x10(%rsp), %rbx
movq %rbx, %rsi
movl 0x120(%rsp), %edx
movq 0x18(%rsp), %rcx
xorl %eax, %eax
callq 0x3d110
callq 0xb0f0
movq (%rax), %rax
movsbq (%rbx), %rcx
movb (%rax,%rcx,4), %al
movb %al, (%rbx)
movq 0x8(%rsp), %r12
movq 0x30(%rsp), %r15
jmp 0x44d19
movq %rbx, %rdi
leaq 0xc6462(%rip), %rsi     # 0x10b792
callq 0xb890
testl %eax, %eax
je 0x454db
movq 0x128(%rsp), %rdi
leaq 0xa23ed(%rip), %rsi     # 0xe7739
movq %rbx, %rdx
leaq 0xa23d7(%rip), %rcx     # 0xe772d
movl 0x120(%rsp), %r8d
movq 0x18(%rsp), %r9
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x454dd
movq 0x20(%rsp), %rax
movq 0x48(%rax), %rdi
testq %rdi, %rdi
je 0x45507
movq %rbx, %rsi
movq 0x128(%rsp), %rdx
callq 0x4b765
movzbl %al, %ebp
decl %ebp
jmp 0x45507
subq $0x30, %rsp
movq 0x158(%rsp), %rax
movq %rax, 0x28(%rsp)
movl 0x150(%rsp), %eax
movl %eax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x430e9
addq $0x30, %rsp
testl %eax, %eax
je 0x45507
movq 0x20(%rsp), %rcx
cmpb $0x1, 0x1c(%rcx)
jne 0x45ecc
movq 0x128(%rsp), %r12
movq %r12, %rdi
callq 0x34ffc
callq 0x3c8cc
movq %rax, %rbp
movl $0x10, %edi
callq 0x6ef7c
movq %rax, %r14
movl $0x4, %edi
callq 0x6ef7c
movq %rax, %r15
movq %rbx, %rdi
movl $0x1, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r12
movl 0x128(%rsp), %eax
pushq %rax
pushq 0x28(%rsp)
pushq %r15
pushq %r14
movq %rbp, %rbx
pushq %rbp
callq 0x430e9
addq $0x30, %rsp
movl %eax, %ebp
testl %eax, %eax
jne 0x454ad
callq 0x3b728
movq %rax, %r12
movq %rax, %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x43585
movq %r12, %rdi
callq 0x3bb5d
movq 0x8(%rsp), %rdi
leaq 0xa22f7(%rip), %rsi     # 0xe7794
movq %rax, %rdx
callq 0x3f99b
movq %r12, %rdi
callq 0x3c87b
movq %r15, %rdi
callq 0x6f768
movq %r14, %rdi
callq 0x6f768
movq %rbx, %rdi
callq 0x3cc00
jmp 0x45507
xorl %ebp, %ebp
movq %rbx, 0x58(%rsp)
movq %r13, %rbx
movq 0x18(%rsp), %r14
jmp 0x44e52
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x38(%rsp), %rsi
callq 0x775ed
testq %rax, %rax
je 0x462ee
cmpb $0x1, 0x1d(%rax)
je 0x462f3
movb $0x1, 0x1d(%rax)
movq 0x18(%rsp), %r14
movq 0x8(%rsp), %r12
movq 0x30(%rsp), %r15
jmp 0x44e4f
callq 0x84ebc
movq %rax, %rbx
testq %rax, %rax
je 0x455a4
leaq 0x70(%rsp), %rdi
callq 0x7e19f
movq %rax, %r14
movq %rbx, %rdi
callq 0x851fd
xorl %ebp, %ebp
cmpq %rax, %r14
je 0x455be
movq %rbx, %rdi
callq 0x851fd
movq %rax, %r14
movq 0x8(%rsp), %rdi
callq 0x3f914
movq %rax, %r15
leaq 0x70(%rsp), %rdi
callq 0x7e19f
movq %rax, %r10
movq 0x128(%rsp), %rdi
leaq 0xa224a(%rip), %rsi     # 0xe77c2
leaq 0xa2231(%rip), %rdx     # 0xe77b0
movl 0x120(%rsp), %ecx
movq 0x18(%rsp), %r8
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %r15
callq 0x34f1f
addq $0x10, %rsp
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x455be
movq 0x128(%rsp), %rdi
callq 0x34fea
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testb %al, %al
je 0x46343
movq %rbx, %rdi
callq 0x8521c
jmp 0x45507
movq 0x40(%rsp), %r13
movq %r13, %rdi
callq 0x3a16c
cmpq $0x2, %rax
movl 0x120(%rsp), %edx
jb 0x4560b
leaq 0xa1e98(%rip), %rsi     # 0xe7484
movq 0x128(%rsp), %rdi
movq %r14, %rcx
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x456cd
xorl %ebp, %ebp
cmpq $0x0, 0x58(%rsp)
je 0x456dc
movq 0x128(%rsp), %rdi
testq %rdi, %rdi
je 0x45633
callq 0x34fea
testb %al, %al
jne 0x462f8
movq 0x20(%rsp), %rbx
testq %rbx, %rbx
je 0x462e9
movq (%rbx), %rdi
movq 0x58(%rsp), %rsi
callq 0x84c6c
testq %rax, %rax
je 0x4570d
movq %rax, %r14
movq %rax, %rdi
callq 0x41592
cmpl 0x50(%rbx), %eax
jae 0x45745
movq %r14, %rdi
callq 0x41592
movl %eax, %r10d
movq 0x20(%rsp), %rax
movl 0x50(%rax), %r11d
subq $0x8, %rsp
leaq 0xa1661(%rip), %rbx     # 0xe6ceb
leaq 0xa22da(%rip), %rsi     # 0xe796b
leaq 0xa208b(%rip), %rdx     # 0xe7723
xorl %r14d, %r14d
movq 0x130(%rsp), %rdi
movq 0x60(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
pushq %r11
pushq %rbx
pushq %r10
callq 0x34f1f
addq $0x20, %rsp
jmp 0x457b0
xorl %r14d, %r14d
movq 0x28(%rsp), %r15
movq 0x50(%rsp), %rbx
jmp 0x46253
movl $0x0, 0x38(%rsp)
jmp 0x458f7
leaq 0xa1df1(%rip), %rsi     # 0xe74e1
movq 0x128(%rsp), %rdi
movq %rbx, %rdx
movl 0x120(%rsp), %ecx
movq %r14, %r8
xorl %r14d, %r14d
jmp 0x4585c
movq (%rbx), %rdi
movq 0x58(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x84c84
cmpb $0x0, 0x1b(%rbx)
jne 0x45738
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rdi
movq 0x58(%rsp), %rsi
callq 0x493e6
movl $0x0, 0x38(%rsp)
jmp 0x458e9
movq 0x8(%rsp), %rdi
callq 0x415a1
movq %rax, %rbx
movq %r14, %rdi
callq 0x415a1
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3bc02
testl %eax, %eax
je 0x457c4
movq %r14, %rdi
callq 0x41592
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xa226c(%rip), %rsi     # 0xe79eb
leaq 0xa1f9d(%rip), %rdx     # 0xe7723
xorl %r14d, %r14d
movq 0x130(%rsp), %rdi
movq 0x60(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
pushq %r10
callq 0x34f1f
addq $0x10, %rsp
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x28(%rsp), %r15
movq 0x8(%rsp), %r12
jmp 0x4586d
leaq 0xa1f5b(%rip), %rsi     # 0xe7726
movq %r14, %rdi
callq 0x3eedc
movq %rax, %rbx
movq %r14, %rdi
callq 0x3faf4
testb %al, %al
jne 0x46320
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x58(%rsp), %rsi
callq 0x84ce0
testq %rax, %rax
je 0x4589c
movq %rax, %r15
movq %rax, %rdi
movq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x46943
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3f6eb
movb $0x1, %al
movl %eax, 0x38(%rsp)
jmp 0x458dc
leaq 0xa1d30(%rip), %rsi     # 0xe7561
xorl %r14d, %r14d
movq 0x128(%rsp), %rdi
jmp 0x45855
leaq 0xa1d8d(%rip), %rsi     # 0xe75d2
xorl %r14d, %r14d
movq 0x128(%rsp), %rdi
movq 0x10(%rsp), %rdx
movl %ebx, %ecx
movq 0x18(%rsp), %r8
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x28(%rsp), %r15
movq 0x50(%rsp), %rbx
movq 0x40(%rsp), %r13
jmp 0x46253
leaq 0xa1e6d(%rip), %rsi     # 0xe76f0
movq 0x128(%rsp), %rdi
movq 0x10(%rsp), %rdx
movl 0x120(%rsp), %ecx
jmp 0x45705
movq %r14, %rdi
callq 0x3facd
testb %al, %al
je 0x458c3
testq %rbx, %rbx
je 0x46348
movq %r14, %rdi
callq 0x3fc0c
cmpq %r14, %rax
je 0x458d4
callq 0x122e6
movq %r14, %rdi
callq 0x3fb1b
testq %rbx, %rbx
je 0x45e7b
movl $0x0, 0x38(%rsp)
movq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0x3fb79
movq 0x20(%rsp), %rax
movb $0x1, 0x18(%rax)
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x3facd
testb %al, %al
je 0x46040
movq %r12, %rdi
callq 0x3fc0c
movq %rax, %r15
leaq 0xa1e0a(%rip), %rsi     # 0xe7723
movq %r12, %rdi
callq 0x3eedc
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x128(%rsp)
je 0x45946
movq 0x128(%rsp), %rdi
callq 0x34fea
testb %al, %al
jne 0x46311
testq %r15, %r15
je 0x462fd
movq 0x8(%rsp), %rdi
callq 0x3faf4
testb %al, %al
jne 0x46302
movq %r15, %rdi
callq 0x3faf4
testb %al, %al
jne 0x46307
movq 0x8(%rsp), %rdi
callq 0x415a1
movq %rax, %rbx
movq %r15, %rdi
callq 0x415a1
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3bc02
testl %eax, %eax
jne 0x4630c
movq 0x8(%rsp), %rdi
callq 0x3fa40
movq %rax, %rbx
movq %r15, %rdi
callq 0x3fa40
movq %rbx, %rdi
movq %rax, %rsi
callq 0xb890
testl %eax, %eax
je 0x459d5
movq %r15, %rdi
callq 0x41592
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xa2348(%rip), %rsi     # 0xe7d1b
jmp 0x45a05
movq 0x8(%rsp), %rdi
callq 0x3f914
movq %rax, %rbx
movq %r15, %rdi
callq 0x3f914
cmpq %rax, %rbx
je 0x45a3d
movq %r15, %rdi
callq 0x41592
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xa2384(%rip), %rsi     # 0xe7d89
leaq 0xa1d17(%rip), %rdx     # 0xe7723
movq 0x130(%rsp), %rdi
movq 0x18(%rsp), %rcx
movl 0x128(%rsp), %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
pushq %r10
callq 0x34f1f
addq $0x10, %rsp
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x4623a
movq 0x8(%rsp), %rdi
callq 0x3f462
movl %eax, %ebx
movq %r15, %rdi
callq 0x3f462
cmpl %eax, %ebx
je 0x45a86
movq %r15, %rdi
callq 0x41592
leaq 0xa2391(%rip), %rdi     # 0xe7df5
leaq 0xa1cb8(%rip), %rsi     # 0xe7723
movq 0x10(%rsp), %rdx
movl 0x120(%rsp), %ecx
movq 0x18(%rsp), %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x3d110
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x3eeec
movq %rax, %r12
movq %r15, %rdi
callq 0x3eeec
movq %rax, 0xb8(%rsp)
movq %rbx, %rdi
movq %r12, 0x68(%rsp)
movq %r12, %rsi
movq %r15, %rdx
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %r8
movq 0x128(%rsp), %r9
callq 0x46a14
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x46029
movq %r15, %rdi
movq 0xb8(%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %r8
movq 0x128(%rsp), %r9
callq 0x46a14
testl %eax, %eax
jne 0x46029
movq 0x68(%rsp), %rdi
callq 0x3cbed
testq %rax, %rax
je 0x45e45
xorl %r13d, %r13d
movq 0x68(%rsp), %rdi
movq %r13, %rsi
callq 0x3ca6f
movq %rax, %r12
movq %rax, %rdi
leaq 0xa1c5d(%rip), %rsi     # 0xe7794
callq 0xb890
testl %eax, %eax
je 0x45d0c
movq %r12, %rdi
leaq 0xa1bd8(%rip), %rsi     # 0xe7726
callq 0xb890
testl %eax, %eax
je 0x45b6e
movq %r12, %rdi
leaq 0xa1cdd(%rip), %rsi     # 0xe783e
callq 0xb890
testl %eax, %eax
jne 0x45e2f
cmpq $0x0, 0x128(%rsp)
je 0x45b8e
movq 0x128(%rsp), %rdi
callq 0x34fea
testb %al, %al
jne 0x46339
cmpq $0x0, 0x20(%rsp)
je 0x4632a
testq %r12, %r12
je 0x4632a
movq %r15, %rdi
movq %r12, %rsi
callq 0x3eedc
movq %rax, %r14
movq 0x8(%rsp), %rdi
movq %r12, %rsi
callq 0x3eedc
movq %rax, %rbx
testq %r14, %r14
je 0x45f49
testq %rbx, %rbx
je 0x45f49
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb890
testl %eax, %eax
je 0x45e2f
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x45edb
movq %r12, %rdi
leaq 0xa1b27(%rip), %rsi     # 0xe7726
callq 0xb890
testl %eax, %eax
jne 0x45edb
cmpq $0x0, 0x10(%rsp)
je 0x4634d
movq 0x20(%rsp), %rax
movq (%rax), %rbx
testq %rbx, %rbx
je 0x4634d
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x41592
movl %eax, 0x60(%rsp)
movq %r12, %rdi
callq 0x41572
movq %rax, 0xc8(%rsp)
movq %r15, %rdi
callq 0x41592
movq %rax, 0xd0(%rsp)
movq %r12, %rdi
leaq 0xa1ac2(%rip), %rsi     # 0xe7726
callq 0x3eedc
movq %rax, 0xc0(%rsp)
movq %r15, %rdi
leaq 0xa1aab(%rip), %rsi     # 0xe7726
callq 0x3eedc
movq %rax, %r10
subq $0x8, %rsp
leaq 0xa24ea(%rip), %rdi     # 0xe8178
leaq 0xa1a8e(%rip), %rsi     # 0xe7723
movq 0x18(%rsp), %rdx
movl 0x68(%rsp), %ecx
movq 0xd0(%rsp), %r8
leaq 0xa1a79(%rip), %r9      # 0xe7726
xorl %eax, %eax
pushq %r10
pushq 0xd0(%rsp)
pushq 0xe8(%rsp)
callq 0x3d110
addq $0x20, %rsp
movq %r12, %rdi
callq 0x3fbf4
movq %r15, %rdi
leaq 0xa1a4c(%rip), %rsi     # 0xe7726
callq 0x3eedc
movq %rbx, %rdi
movq %rax, %rsi
callq 0x84c6c
movq %rax, %rdi
movq %r15, %rsi
callq 0x408cf
cmpq $0x1, %rax
jne 0x45e2f
movq %r15, %rdi
callq 0x3fbf4
jmp 0x45e2f
cmpq $0x0, 0x128(%rsp)
je 0x45d2c
movq 0x128(%rsp), %rdi
callq 0x34fea
testb %al, %al
jne 0x4633e
movq 0x8(%rsp), %rdi
leaq 0xa1a5c(%rip), %rbx     # 0xe7794
movq %rbx, %rsi
callq 0x3eedc
movq %rax, 0x60(%rsp)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3eedc
movq %rax, %r14
callq 0x3b728
movq %rax, %rbx
callq 0x3b728
movq %rax, %r12
subq $0x30, %rsp
xorl %eax, %eax
movq %rax, 0x28(%rsp)
leaq 0xa8dc2(%rip), %rcx     # 0xeeb37
movq %rcx, 0x18(%rsp)
movq %rax, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movl $0x0, 0x20(%rsp)
movq 0x90(%rsp), %rdi
xorl %esi, %esi
leaq 0xa0(%rsp), %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x430e9
addq $0x30, %rsp
testl %eax, %eax
jne 0x4632f
subq $0x30, %rsp
xorl %eax, %eax
movq %rax, 0x28(%rsp)
leaq 0xa8d6b(%rip), %rcx     # 0xeeb37
movq %rcx, 0x18(%rsp)
movq %rax, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movl $0x0, 0x20(%rsp)
movq %r14, %rdi
xorl %esi, %esi
leaq 0x110(%rsp), %rdx
movq %r12, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x430e9
addq $0x30, %rsp
testl %eax, %eax
jne 0x46334
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3bc02
testl %eax, %eax
jne 0x45fbc
movq %r12, %rdi
callq 0x3c87b
movq %rbx, %rdi
callq 0x3c87b
incq %r13
movq 0x68(%rsp), %rdi
callq 0x3cbed
cmpq %rax, %r13
jb 0x45b1d
xorl %ebp, %ebp
jmp 0x46029
leaq 0xa1802(%rip), %rsi     # 0xe7655
xorl %r14d, %r14d
movq 0x128(%rsp), %rdi
movq 0x10(%rsp), %rdx
movl 0x120(%rsp), %ecx
movq 0x18(%rsp), %r8
xorl %eax, %eax
callq 0x34f1f
jmp 0x457b0
movq %r14, %rdi
callq 0x3f3e8
movq %rax, %rbx
movq 0x20(%rsp), %rax
movq (%rax), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x46893
movq %r14, %rdi
movq %rbx, %rsi
movq 0xa0(%rsp), %rdx
callq 0x46906
movq %rbx, %rdi
movq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x3f6eb
movq %rbx, %rdi
movq %r15, %rsi
callq 0x46943
jmp 0x4581f
xorl %r14d, %r14d
movl %eax, %ebp
jmp 0x457b5
callq 0x1211e
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x41592
movl %eax, 0x60(%rsp)
movq %r13, %rdi
callq 0x41572
movq %rax, %r14
movq %r15, %rdi
callq 0x41592
movl %eax, %ebx
movq %r13, %rdi
movq %r12, %rsi
callq 0x3eedc
movq %rax, %r13
movq %r15, %rdi
movq %r12, %rsi
callq 0x3eedc
movq %rax, %r10
leaq 0xa217e(%rip), %rsi     # 0xe80a2
leaq 0xa17f8(%rip), %rdx     # 0xe7723
movq 0x128(%rsp), %rdi
movq 0x10(%rsp), %rcx
movl 0x60(%rsp), %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %r13
pushq %rbx
jmp 0x45faf
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x41592
movl %eax, 0x60(%rsp)
movq %r13, %rdi
callq 0x41572
movq %rax, %r13
movq %r15, %rdi
callq 0x41592
testq %rbx, %rbx
leaq 0xa2121(%rip), %r11     # 0xe8098
cmoveq %r11, %rbx
movl %eax, %r10d
testq %r14, %r14
cmovneq %r14, %r11
leaq 0xa2087(%rip), %rsi     # 0xe8013
leaq 0xa1790(%rip), %rdx     # 0xe7723
movq 0x128(%rsp), %rdi
movq 0x10(%rsp), %rcx
movl 0x60(%rsp), %r8d
movq %r13, %r9
xorl %eax, %eax
pushq %r11
pushq %rbx
pushq %r10
pushq %r12
callq 0x34f1f
addq $0x20, %rsp
jmp 0x46029
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x41592
movl %eax, %r14d
movq %r13, %rdi
callq 0x41572
movq %rax, %r13
movq %r15, %rdi
callq 0x41592
movl %eax, %r10d
leaq 0xa1f7b(%rip), %rsi     # 0xe7f64
leaq 0xa1733(%rip), %rdx     # 0xe7723
movq 0x128(%rsp), %rdi
movq 0x10(%rsp), %rcx
movl %r14d, %r8d
movq %r13, %r9
xorl %eax, %eax
pushq %r10
leaq 0xa1786(%rip), %r10     # 0xe7794
pushq %r10
callq 0x34f1f
addq $0x10, %rsp
movq %r12, %rdi
callq 0x3c87b
movq %rbx, %rdi
callq 0x3c87b
movq 0x68(%rsp), %rdi
callq 0x3cc00
movq 0xb8(%rsp), %rdi
callq 0x3cc00
testl %ebp, %ebp
sete %al
cmpq $0x0, 0x98(%rsp)
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x4623a
cmpq $0x0, 0x128(%rsp)
je 0x4607c
movq 0x128(%rsp), %rdi
callq 0x34fea
testb %al, %al
jne 0x4631b
callq 0x39f34
movq %rax, %r14
movq 0x98(%rsp), %rbx
movq %rbx, %rdi
callq 0xb260
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
movl $0x2c, %ecx
callq 0x39f4f
movq %r14, %rdi
callq 0x3a16c
testq %rax, %rax
je 0x46316
movq %r14, %rdi
callq 0x3a16c
testq %rax, %rax
je 0x461a5
movl $0x0, 0x10(%rsp)
xorl %r13d, %r13d
xorl %r15d, %r15d
xorl %ebx, %ebx
movq 0x20(%rsp), %r12
movq %r14, %rdi
movq %r13, %rsi
callq 0x3a130
movq %rax, %rbp
movq (%r12), %rdi
movq %rax, %rsi
callq 0x84c6c
movb 0x1b(%r12), %cl
testq %rax, %rax
je 0x4611b
testb %cl, %cl
jne 0x4617f
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rdi
movq %rbp, %rsi
callq 0x49448
orb %al, %bl
jmp 0x4617f
testb %cl, %cl
je 0x46167
subq $0x8, %rsp
movq 0x130(%rsp), %rdi
leaq 0xa2121(%rip), %rsi     # 0xe8253
leaq 0xa15ed(%rip), %rdx     # 0xe7726
movq %rbp, %rcx
movl 0x128(%rsp), %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
leaq 0xa15d1(%rip), %r10     # 0xe7723
pushq %r10
callq 0x34f1f
addq $0x10, %rsp
movl $0xffffffff, 0x10(%rsp) # imm = 0xFFFFFFFF
jmp 0x4617f
testq %r15, %r15
jne 0x46174
callq 0x3c8cc
movq %rax, %r15
movq %r15, %rdi
movq %rbp, %rsi
callq 0x3c9a5
incq %r13
movq %r14, %rdi
callq 0x3a16c
cmpq %rax, %r13
jb 0x460de
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x0, 0x10(%rsp)
jne 0x4622a
jmp 0x461aa
xorl %r15d, %r15d
xorl %ebx, %ebx
testq %r15, %r15
jne 0x461f4
testb $0x1, %bl
jne 0x461f4
movq 0x20(%rsp), %rax
movzbl 0x1b(%rax), %ecx
movl 0x50(%rax), %r8d
movq (%rax), %rdx
movq 0x40(%rax), %r9
movq 0x8(%rsp), %rdi
movq %r14, %rsi
pushq 0x128(%rsp)
pushq 0xa8(%rsp)
callq 0x46b29
addq $0x10, %rsp
movl %eax, %ebp
movb $0x1, %al
movl %eax, 0x38(%rsp)
xorl %r15d, %r15d
jmp 0x4622a
movq 0x20(%rsp), %rax
cmpb $0x1, 0x1b(%rax)
je 0x46325
movq 0x20(%rsp), %rbx
movq 0x38(%rbx), %rdi
movq 0x8(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq %r15, %rcx
callq 0x49315
movb $0x1, 0x18(%rbx)
xorl %ebp, %ebp
movb $0x1, %al
movl %eax, 0x38(%rsp)
movq %r14, %rdi
callq 0x3a17c
movq %r15, %rdi
callq 0x3cc00
movq 0x28(%rsp), %r15
movq 0x8(%rsp), %r12
movq 0x50(%rsp), %rbx
movq 0x40(%rsp), %r13
movl 0x38(%rsp), %r14d
movq 0xd8(%rsp), %rdi
callq 0x3a17c
movq 0x30(%rsp), %rdi
callq 0x3a17c
movq %r13, %rdi
callq 0x3a17c
testl %ebp, %ebp
je 0x46284
testb %r14b, %r14b
je 0x44955
jmp 0x4495d
cmpb $0x1, 0x4f(%rsp)
jne 0x4629c
movss 0xb0(%rsp), %xmm0
movq %r12, %rdi
callq 0x3f968
movl 0xac(%rsp), %esi
cmpl $0x3, %esi
je 0x462b0
movq %r12, %rdi
callq 0x3efa4
xorl %ebp, %ebp
testb %r14b, %r14b
jne 0x4495d
movq 0xa0(%rsp), %rdi
movq %r12, %rsi
callq 0x7c47f
jmp 0x4495d
callq 0x12157
callq 0x12190
callq 0x126e8
callq 0x121c9
callq 0x12721
callq 0x12391
callq 0x12274
callq 0x1223b
callq 0x122ad
callq 0x126af
callq 0x12676
callq 0x1263d
callq 0x12403
callq 0x123ca
callq 0x12604
callq 0x12592
callq 0x12358
callq 0x125cb
callq 0x12475
callq 0x12520
callq 0x12559
callq 0x1243c
callq 0x124e7
callq 0x12202
callq 0x1231f
callq 0x124ae