// File: /workspace/github_c_makefile_star2_O1/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 $0xd8, %rsp
movq %r9, %r12
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %rbx
movq %rsi, 0xa0(%rsp)
movq %rdi, %r13
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0x44e28
callq 0x3566a
testb %al, %al
jne 0x46a01
movq %r12, 0x18(%rsp)
movq %r12, %rdi
callq 0x3c40b
movq %rax, (%rsp)
callq 0x3a794
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x9, %ecx
callq 0x3a7af
movq %r12, %rdi
callq 0x3a9cc
movb $0x1, %r14b
cmpq $0x9, %rax
je 0x44eb9
cmpb $0x1, 0x1c(%r13)
jne 0x44e95
movq %r12, %rdi
callq 0x3a9cc
cmpq $0xa, %rax
jne 0x44e95
leaq 0xa241f(%rip), %rdi     # 0xe72a0
movl 0x110(%rsp), %esi
movq (%rsp), %rdx
xorl %eax, %eax
callq 0x3da84
jmp 0x44eb9
leaq 0xa245b(%rip), %rsi     # 0xe72f7
xorl %r14d, %r14d
movq 0x118(%rsp), %rdi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3559f
movq %r13, 0x8(%rsp)
testb %r14b, %r14b
movq %r12, 0xc8(%rsp)
je 0x44f16
movq %r12, %rdi
callq 0x3a981
movq (%rax), %rcx
movq %rcx, 0x28(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x60(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x50(%rsp)
movq 0x18(%rax), %r13
movq 0x20(%rax), %r15
movq 0x28(%rax), %rbp
movq 0x30(%rax), %rcx
movq %rcx, 0x38(%rsp)
movq 0x38(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x40(%rax), %rax
movq %rax, 0x48(%rsp)
jmp 0x44f54
movq $0x0, 0x28(%rsp)
movq $0x0, 0x60(%rsp)
movq $0x0, 0x50(%rsp)
xorl %r13d, %r13d
xorl %r15d, %r15d
xorl %ebp, %ebp
movq $0x0, 0x38(%rsp)
movq $0x0, 0x10(%rsp)
movq $0x0, 0x48(%rsp)
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testb %r14b, %r14b
je 0x45021
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x44fa1
cmpb $0x2e, (%r13)
je 0x44f7b
cmpb $0x2e, (%r15)
jne 0x44fa1
leaq 0xa23b7(%rip), %rdi     # 0xe7339
xorl %r12d, %r12d
movq 0x50(%rsp), %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3da84
jmp 0x463e8
testb %r14b, %r14b
je 0x45021
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rdi
testq %rdi, %rdi
movq 0x50(%rsp), %r14
je 0x44fc9
movq %r14, %rsi
callq 0x4c165
testb %al, %al
je 0x45e4b
movq %rbx, %rdi
movq %r14, %rsi
callq 0x729dd
testq %rax, %rax
jne 0x44fe4
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7297e
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1b(%rax)
jne 0x45e13
leaq 0x80(%rsp), %rdi
movq %r13, %rsi
movq %r15, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
movq 0x118(%rsp), %rbx
movq %rbx, %r9
callq 0x39f1c
jmp 0x45fdc
movq 0x118(%rsp), %rbx
testl %r12d, %r12d
jne 0x4505b
cmpq $0x0, 0x80(%rsp)
jne 0x4505b
leaq 0xa237b(%rip), %rsi     # 0xe73bb
movq %rbx, %rdi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testl %r12d, %r12d
jne 0x4508b
movl 0x110(%rsp), %eax
movl %eax, %r8d
leaq 0x80(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq (%rsp), %rcx
movq %rbx, %r9
callq 0x46e3b
movl %eax, %r12d
testl %r12d, %r12d
jne 0x450b6
leaq 0x27(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
movq %rbp, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
movq %rbx, %r9
callq 0x3a200
movl %eax, %r12d
testl %r12d, %r12d
jne 0x450de
leaq 0xb4(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
movq %rbx, %r8
callq 0x3a2b1
movl %eax, %r12d
testl %r12d, %r12d
movq 0x8(%rsp), %rbp
jne 0x4510b
leaq 0xac(%rsp), %rdi
movq 0x10(%rsp), %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
movq %rbx, %r8
callq 0x3a37a
movl %eax, %r12d
testl %r12d, %r12d
je 0x4511e
movq $0x0, 0x38(%rsp)
jmp 0x45294
movq 0x28(%rsp), %r14
movq %r14, %rdi
movq (%rsp), %rsi
movl 0x110(%rsp), %edx
callq 0x44063
movaps 0x80(%rsp), %xmm0
movaps %xmm0, 0x70(%rsp)
testq %rbx, %rbx
je 0x45158
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x46a15
movq 0x8(%rbp), %rdi
movq %r14, %rsi
callq 0x77109
testq %rax, %rax
je 0x45203
movq %rax, %rbx
xorl %r12d, %r12d
movq %rbp, %rax
movb $0x1, %bpl
cmpb $0x1, 0x1a(%rax)
jne 0x4526a
cmpb $0x0, 0x1d(%rbx)
jne 0x4526a
movq %rbx, %rdi
addq $0x8, %rdi
leaq 0x70(%rsp), %rsi
callq 0x7e11d
testb %al, %al
jne 0x4526a
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1a(%rax)
jne 0x4526a
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 0xa2239(%rip), %rsi     # 0xe7412
xorl %ebp, %ebp
movq 0x138(%rsp), %rdi
movl 0x130(%rsp), %r8d
movq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x3559f
addq $0x20, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x4526a
leaq 0xa12d6(%rip), %rdx     # 0xe64e0
movl $0x1, %edi
movl $0x20, %esi
movl $0x55, %ecx
callq 0x3601f
movq %rax, %rbx
movq %r14, %rdi
callq 0x3c03d
movq %rax, (%rbx)
movq $0x0, 0x8(%rbx)
movq $-0x1, 0x10(%rbx)
movl 0x110(%rsp), %ecx
movl %ecx, 0x18(%rbx)
movb $0x1, 0x1c(%rbx)
movq 0x8(%rbp), %r14
movq %rax, %rdi
callq 0x3c40b
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x77144
xorl %r12d, %r12d
movb $0x1, %bpl
testb %bpl, %bpl
je 0x4527e
movq (%rbx), %rdi
callq 0x3c561
movq %rax, 0x38(%rsp)
jmp 0x45287
movq $0x0, 0x38(%rsp)
movq 0x8(%rsp), %rbp
movq 0x118(%rsp), %rbx
testl %r12d, %r12d
jne 0x452b4
movq 0x38(%rsp), %rdi
movq (%rsp), %rsi
movl 0x110(%rsp), %edx
movq %rbx, %rcx
callq 0x46d1d
movl %eax, %r12d
testl %r12d, %r12d
je 0x452bd
xorl %ebx, %ebx
jmp 0x452fb
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
movl 0xb4(%rsp), %r8d
movq 0x38(%rsp), %rdi
movq 0x50(%rsp), %rsi
callq 0x3fbf0
movq %rax, %rbx
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movl 0x110(%rsp), %edx
callq 0x41e9e
testl %r12d, %r12d
je 0x45308
xorl %r13d, %r13d
jmp 0x46366
movq %rbx, 0x10(%rsp)
movq 0x60(%rsp), %r15
testq %r15, %r15
je 0x46a06
cmpq $0x0, 0x10(%rsp)
je 0x46a06
movq 0x10(%rbp), %rbx
testq %rbx, %rbx
je 0x46a06
movq %rbx, %rdi
movq %r15, %rsi
callq 0x77109
movq %rax, %r14
testq %rax, %rax
jne 0x45368
movq %r15, %rdi
callq 0x3c03d
movq %rax, %r14
movq %rax, %rdi
callq 0x3c40b
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x77144
testq %r14, %r14
je 0x46a0b
movq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x3f8b5
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0x45398
callq 0x3566a
testb %al, %al
jne 0x46a1a
movq 0x48(%rsp), %r14
testq %r14, %r14
je 0x46a10
callq 0x3a794
movq %rax, %rbx
callq 0x3a794
movq %rax, 0x60(%rsp)
callq 0x3a794
movq %rax, 0xc0(%rsp)
movq %r14, %rdi
callq 0xb260
movq %rbx, 0x50(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
movl $0x3b, %ecx
callq 0x3a7af
movq $0x0, 0x48(%rsp)
movq $0x0, 0x98(%rsp)
xorl %ebx, %ebx
movq 0x50(%rsp), %r12
movq %r12, %rdi
callq 0x3a9cc
cmpq %rax, %rbx
jae 0x45d1d
movq %r12, %rdi
movq %rbx, %rsi
callq 0x3a990
movq %rax, %r14
movb (%rax), %r15b
cmpb $0x2e, %r15b
jne 0x45466
movq %r12, %rdi
callq 0x3a9cc
xorl %r13d, %r13d
cmpq $0x2, %rax
jb 0x45a83
movq 0x118(%rsp), %rdi
leaq 0xa2089(%rip), %rsi     # 0xe74d6
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3559f
xorl %r12d, %r12d
xorl %ebp, %ebp
jmp 0x454e0
movzbl (%rax), %ecx
incq %rax
cmpl $0x20, %ecx
je 0x45466
testl %ecx, %ecx
jne 0x45480
xorl %r12d, %r12d
movb $0x1, %r13b
jmp 0x45a86
movq 0x60(%rsp), %r12
movq %r12, %rdi
callq 0x3a9a9
movq %r14, %rdi
callq 0xb260
movq %r12, %rdi
movq %r14, %rsi
movq %rax, %rdx
movl $0x3d, %ecx
callq 0x3a7af
movq %r12, %rdi
callq 0x3a9cc
cmpq $0x2, %rax
jne 0x45502
movq %r12, %rdi
xorl %esi, %esi
callq 0x3a990
movq %rax, %rbp
decq %rbp
cmpb $0x20, 0x1(%rbp)
leaq 0x1(%rbp), %rbp
je 0x454c6
movl $0x1, %esi
movq %r12, %rdi
callq 0x3a990
movq %rax, %r12
cmpb $0x2e, %r15b
jne 0x454f1
movb $0x1, %r15b
xorl %r14d, %r14d
jmp 0x45596
movb $0x1, %r14b
cmpb $0x0, (%rbp)
je 0x4556c
movb $0x1, %r15b
jmp 0x45596
cmpb $0x1, 0x1c(%rbp)
jne 0x4553a
movq %r12, %rdi
callq 0x3a9cc
cmpq $0x1, %rax
jne 0x4553a
xorl %r12d, %r12d
leaq 0xa2013(%rip), %rdi     # 0xe7533
movq %r14, %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3da84
jmp 0x45478
xorl %r13d, %r13d
movq 0x118(%rsp), %rdi
leaq 0xa1fe7(%rip), %rsi     # 0xe7533
movq %r14, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x45a86
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x455de
xorl %r15d, %r15d
leaq 0xa1ff6(%rip), %rdi     # 0xe7577
movq %r12, %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3da84
testb %r14b, %r14b
movq %r12, 0x18(%rsp)
je 0x45631
movb $0x1, %r14b
cmpb $0x0, (%r12)
jne 0x45634
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x4560a
xorl %r15d, %r15d
leaq 0xa201f(%rip), %rdi     # 0xe75e6
movq %rbp, %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3da84
jmp 0x45634
xorl %r15d, %r15d
movq 0x118(%rsp), %rdi
leaq 0xa1fc3(%rip), %rsi     # 0xe75b3
movq %r12, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
xorl %eax, %eax
callq 0x3559f
jmp 0x454e9
xorl %r15d, %r15d
movq 0x118(%rsp), %rdi
leaq 0xa2008(%rip), %rsi     # 0xe7624
movq %rbp, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
xorl %eax, %eax
callq 0x3559f
xorl %r14d, %r14d
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movb $0x1, %r13b
testb %r14b, %r14b
je 0x459eb
testb %r15b, %r15b
je 0x459ab
callq 0xb6e0
movq (%rax), %rax
movsbq (%rbp), %rcx
testb $0x1, 0x1(%rax,%rcx,2)
je 0x4585b
movq 0x8(%rsp), %rax
movb 0x1f(%rax), %r14b
movq %rbp, %rdi
callq 0x47348
cmpb $0x1, %r14b
jne 0x45819
testb %al, %al
je 0x4585b
movq %rbp, %rdi
leaq 0xa222f(%rip), %rsi     # 0xe78c3
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2221(%rip), %rsi     # 0xe78cc
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2218(%rip), %rsi     # 0xe78da
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa220d(%rip), %rsi     # 0xe78e6
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2203(%rip), %rsi     # 0xe78f3
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa21fb(%rip), %rsi     # 0xe7902
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa21f2(%rip), %rsi     # 0xe7910
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa21e7(%rip), %rsi     # 0xe791c
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2161(%rip), %rsi     # 0xe78ad
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2156(%rip), %rsi     # 0xe78b9
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa21a9(%rip), %rsi     # 0xe7923
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa219d(%rip), %rsi     # 0xe792e
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2196(%rip), %rsi     # 0xe793e
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa218d(%rip), %rsi     # 0xe794c
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2183(%rip), %rsi     # 0xe7959
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa217b(%rip), %rsi     # 0xe7964
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa217a(%rip), %rsi     # 0xe7976
callq 0xb890
testl %eax, %eax
je 0x4585b
movq %rbp, %rdi
leaq 0xa2178(%rip), %rsi     # 0xe7987
callq 0xb890
testl %eax, %eax
setne %al
testb %al, %al
je 0x4585b
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x45a48
leaq 0xa1e26(%rip), %rdi     # 0xe7659
movq %rbp, %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3da84
callq 0xb0f0
movq (%rax), %rax
movsbq (%rbp), %rcx
movb (%rax,%rcx,4), %al
movb %al, (%rbp)
movq 0x10(%rsp), %r14
movq %r14, %rdi
movq %rbp, %rsi
callq 0x3f850
testq %rax, %rax
je 0x458e8
movq %rax, %r15
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
jne 0x459b0
leaq 0xa1e7b(%rip), %rdi     # 0xe7704
movq %rbp, %rsi
movl 0x110(%rsp), %edx
movq (%rsp), %rcx
xorl %eax, %eax
callq 0x3da84
movq %r15, %rdi
callq 0x3c03d
movq %rax, %r15
movq %rax, %rdi
movl $0x2c, %esi
callq 0x3c28d
movq %r15, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rsi
callq 0x3c067
movq %r15, %rdi
callq 0x3c40b
movq 0x10(%rsp), %rdi
movq %rbp, %rsi
movq %rax, %rdx
callq 0x40300
movq %r15, %rdi
callq 0x3d1eb
jmp 0x458fb
movq %r14, %rdi
movq %rbp, %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0x40b96
movq %rbp, %rdi
leaq 0xa1e70(%rip), %rsi     # 0xe7775
callq 0xb890
testl %eax, %eax
je 0x459d6
movq %r14, %r15
movq %rbp, %rdi
leaq 0xa1e59(%rip), %rsi     # 0xe7778
callq 0xb890
testl %eax, %eax
je 0x459e0
movq %rbp, %rdi
leaq 0xa1e49(%rip), %rsi     # 0xe777f
callq 0xb890
testl %eax, %eax
je 0x459f5
movq %rbp, %rdi
leaq 0xa1e99(%rip), %rsi     # 0xe77e6
callq 0xb890
testl %eax, %eax
je 0x45aa0
movq %rbp, %rdi
leaq 0xa1e89(%rip), %rsi     # 0xe77ed
callq 0xb890
testl %eax, %eax
je 0x45a5c
movq %rbp, %rdi
leaq 0xa1e79(%rip), %rsi     # 0xe77f4
callq 0xb890
testl %eax, %eax
je 0x45a5c
movq 0x8(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x459ab
movq %rbp, %rdi
leaq 0xa1e64(%rip), %rsi     # 0xe7802
callq 0xb890
testl %eax, %eax
je 0x45c09
xorl %r12d, %r12d
jmp 0x459eb
movq 0x118(%rsp), %rdi
leaq 0xa1d83(%rip), %rsi     # 0xe7742
movq %rbp, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
xorl %eax, %eax
callq 0x3559f
jmp 0x459eb
xorl %r12d, %r12d
movq %r14, 0x48(%rsp)
jmp 0x459eb
xorl %r12d, %r12d
movq %r15, 0x98(%rsp)
movq 0x8(%rsp), %rbp
jmp 0x45a86
movq %r15, %rdi
leaq 0xc5f73(%rip), %rsi     # 0x10b972
callq 0xb890
testl %eax, %eax
movq 0x8(%rsp), %rbp
je 0x45bd4
movq 0x118(%rsp), %rdi
leaq 0xa1d6b(%rip), %rsi     # 0xe778b
movq %r15, %rdx
leaq 0xa1d55(%rip), %rcx     # 0xe777f
movl 0x110(%rsp), %r8d
movq (%rsp), %r9
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x45bd7
movq 0x118(%rsp), %rdi
leaq 0xa1c50(%rip), %rsi     # 0xe76a7
jmp 0x459bf
movq 0x8(%rsp), %rbp
movq 0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x45a83
movq %r15, %rsi
movq 0x118(%rsp), %rdx
callq 0x4c3bc
movzbl %al, %r12d
decl %r12d
jmp 0x45a86
xorl %r12d, %r12d
testb %r13b, %r13b
je 0x45d20
incq %rbx
testl %r12d, %r12d
je 0x453fc
jmp 0x45d20
subq $0x30, %rsp
movq 0x148(%rsp), %rax
movq %rax, 0x28(%rsp)
movl 0x140(%rsp), %eax
movl %eax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x43ac9
addq $0x30, %rsp
testl %eax, %eax
je 0x459eb
movq 0x8(%rsp), %rbp
cmpb $0x1, 0x1c(%rbp)
jne 0x45c01
movq 0x118(%rsp), %rdi
callq 0x3567c
callq 0x3d23c
movq %rax, %r12
movl $0x10, %edi
callq 0x6e93c
movq %rax, %rbp
movl $0x4, %edi
callq 0x6e93c
movq %rax, %r14
movq %r15, %rdi
movl $0x1, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq 0x118(%rsp)
movl 0x118(%rsp), %eax
pushq %rax
pushq 0x10(%rsp)
pushq %r14
pushq %rbp
movq %r12, 0x40(%rsp)
pushq %r12
callq 0x43ac9
addq $0x30, %rsp
movl %eax, %r12d
testl %eax, %eax
jne 0x45bb5
callq 0x3bfe0
movq %rax, %r15
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
movq %r14, %rcx
callq 0x43f2e
movq %r15, %rdi
callq 0x3c40b
movq 0x10(%rsp), %rdi
leaq 0xa1c41(%rip), %rsi     # 0xe77e6
movq %rax, %rdx
callq 0x40300
movq %r15, %rdi
callq 0x3d1eb
movq %r14, %rdi
callq 0x6f134
movq %rbp, %rdi
callq 0x6f134
movq 0x18(%rsp), %rdi
callq 0x3d573
jmp 0x459eb
xorl %r12d, %r12d
movq 0x8(%rbp), %rdi
movq 0x28(%rsp), %rsi
callq 0x77109
testq %rax, %rax
je 0x46a4c
cmpb $0x1, 0x1d(%rax)
je 0x46a47
movb $0x1, 0x1d(%rax)
jmp 0x45a86
movl %eax, %r12d
jmp 0x45a86
movq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x41f83
movq %rax, 0x70(%rsp)
movq %rdx, 0x78(%rsp)
movq 0x8(%rsp), %rbp
movq 0x40(%rbp), %rax
movq %rax, 0x30(%rsp)
leaq 0xa1bd1(%rip), %rdi     # 0xe7806
callq 0x3d6af
movq %rax, %r12
movq %r14, %rdi
callq 0x40276
movq 0x30(%rsp), %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x4c1c9
movq %r15, %rdi
movq 0x118(%rsp), %rsi
testb %al, %al
je 0x45c6b
callq 0x8568f
jmp 0x45c70
callq 0x85344
movq %rax, %r14
testq %rax, %rax
je 0x45cf5
leaq 0x70(%rsp), %rdi
callq 0x7e05b
movq %rax, %r15
movq %r14, %rdi
callq 0x856ac
xorl %r12d, %r12d
cmpq %rax, %r15
je 0x45d10
movq %r14, %rdi
callq 0x856ac
movq %rax, %r15
movq 0x10(%rsp), %rdi
callq 0x40276
movq %rax, %r12
leaq 0x70(%rsp), %rdi
callq 0x7e05b
movq %rax, %r10
movq 0x118(%rsp), %rdi
leaq 0xa1b4b(%rip), %rsi     # 0xe7814
leaq 0xa1b32(%rip), %rdx     # 0xe7802
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
movq %r15, %r9
xorl %eax, %eax
pushq %r10
pushq %r12
callq 0x3559f
addq $0x10, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x45d10
movq 0x118(%rsp), %rdi
callq 0x3566a
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testb %al, %al
je 0x46a7e
movq %r14, %rdi
callq 0x856cb
jmp 0x45a86
xorl %r12d, %r12d
xorl %r13d, %r13d
testl %r12d, %r12d
movq 0x118(%rsp), %rbx
jne 0x45efc
cmpq $0x0, 0x48(%rsp)
je 0x45efc
testq %rbx, %rbx
je 0x45d55
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x46a29
testq %rbp, %rbp
movq 0x48(%rsp), %r15
je 0x46a1f
movq (%rbp), %rdi
movq %r15, %rsi
callq 0x850e4
testq %rax, %rax
je 0x45de0
movq %rax, %rbx
movq %rax, %rdi
callq 0x41f30
cmpl 0x50(%rbp), %eax
jae 0x45e77
movq %rbx, %rdi
callq 0x41f30
movl %eax, %r10d
movl 0x50(%rbp), %r11d
subq $0x8, %rsp
leaq 0xa0f9b(%rip), %rbx     # 0xe6d3d
leaq 0xa1c14(%rip), %rsi     # 0xe79bd
leaq 0xa19c5(%rip), %rdx     # 0xe7775
xorl %r13d, %r13d
movq 0x120(%rsp), %rdi
movq %r15, %rcx
movl 0x118(%rsp), %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
pushq %r11
pushq %rbx
pushq %r10
callq 0x3559f
addq $0x20, %rsp
jmp 0x45ee4
movq (%rbp), %rdi
movq %r15, %rsi
movq 0x10(%rsp), %rdx
callq 0x850fc
xorl %r13d, %r13d
movb $0x1, %bl
cmpb $0x0, 0x1b(%rbp)
jne 0x45e0b
movq 0x38(%rbp), %rdi
movq %r15, %rsi
callq 0x4a03e
xorl %r13d, %r13d
xorl %r12d, %r12d
jmp 0x45eec
cmpb $0x1, 0x1c(%rax)
movq 0x118(%rsp), %rbx
leaq 0x80(%rsp), %rdi
movq %r13, %rsi
movq %r15, %rdx
movl 0x110(%rsp), %ecx
jne 0x45fd0
movq (%rsp), %r8
movq %rbx, %r9
callq 0x3a1d3
jmp 0x45fdc
leaq 0xa1534(%rip), %rsi     # 0xe7386
movq 0x118(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
xorl %eax, %eax
callq 0x3559f
jmp 0x45029
movq 0x10(%rsp), %rdi
callq 0x41f3f
movq %rax, %r14
movq %rbx, %rdi
callq 0x41f3f
movq %r14, %rdi
movq %rax, %rsi
callq 0x3c4b0
testl %eax, %eax
je 0x4640a
movq %rbx, %rdi
callq 0x41f30
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xa1b88(%rip), %rsi     # 0xe7a3d
leaq 0xa18b9(%rip), %rdx     # 0xe7775
xorl %r13d, %r13d
movq 0x120(%rsp), %rdi
movq %r15, %rcx
movl 0x118(%rsp), %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
pushq %r10
callq 0x3559f
addq $0x10, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
xorl %ebx, %ebx
testb %bl, %bl
je 0x45ef4
movb $0x1, 0x18(%rbp)
movq 0x118(%rsp), %rbx
testl %r12d, %r12d
jne 0x46141
movq 0x10(%rsp), %rdi
callq 0x40432
xorl %r12d, %r12d
testb %al, %al
je 0x46141
movq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x40571
movq %rax, %r15
leaq 0xa1844(%rip), %rsi     # 0xe7775
movq %r14, %rdi
callq 0x3f850
movq %rax, %rbp
testq %rbx, %rbx
je 0x45f51
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x46a56
testq %r15, %r15
je 0x46a33
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x40459
testb %al, %al
jne 0x46a38
movq %r15, %rdi
callq 0x40459
testb %al, %al
jne 0x46a3d
movq %rbx, %rdi
callq 0x41f3f
movq %rax, %r14
movq %r15, %rdi
callq 0x41f3f
movq %r14, %rdi
movq %rax, %rsi
callq 0x3c4b0
testl %eax, %eax
jne 0x46a42
movq %rbx, %rdi
callq 0x403a5
movq %rax, %r14
movq %r15, %rdi
callq 0x403a5
movq %r14, %rdi
movq %rax, %rsi
callq 0xb890
testl %eax, %eax
je 0x45fe4
leaq 0xa1d9f(%rip), %r14     # 0xe7d6d
jmp 0x46007
movq (%rsp), %r8
movq %rbx, %r9
callq 0x3a1eb
movl %eax, %r12d
jmp 0x45029
movq %rbx, %rdi
callq 0x40276
movq %rax, %r14
movq %r15, %rdi
callq 0x40276
cmpq %rax, %r14
je 0x46463
leaq 0xa1dd4(%rip), %r14     # 0xe7ddb
movq %r15, %rdi
callq 0x41f30
movl %eax, %r10d
subq $0x8, %rsp
leaq 0xa1758(%rip), %rdx     # 0xe7775
xorl %ebx, %ebx
movq 0x120(%rsp), %rdi
movq %r14, %rsi
movq %rbp, %rcx
movl 0x118(%rsp), %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
pushq %r10
callq 0x3559f
addq $0x10, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testb %bl, %bl
je 0x46139
movq 0x10(%rsp), %rdi
callq 0x3fdd2
movq %rbp, 0x30(%rsp)
movl %eax, %ebp
movq %r15, %rdi
callq 0x3fdd2
cmpl %eax, %ebp
movq 0x30(%rsp), %rbp
je 0x460a5
movq %r15, %rdi
callq 0x41f30
leaq 0xa1dc1(%rip), %rdi     # 0xe7e47
leaq 0xa16e8(%rip), %rsi     # 0xe7775
movq %rbp, %rdx
movl 0x110(%rsp), %ecx
movq (%rsp), %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x3da84
testb %bl, %bl
movq 0x118(%rsp), %rbx
je 0x46141
movq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x3f860
movq %rax, %r12
movq %r15, %rdi
callq 0x3f860
movq %rax, 0xb8(%rsp)
movq %r14, %rdi
movq %r12, %r14
movq %r12, %rsi
movq %r15, %rdx
movq %rbp, %rcx
movq (%rsp), %r8
movq %rbx, %r9
callq 0x475e0
movl %eax, %r12d
testl %eax, %eax
jne 0x46119
movq %r15, %rdi
movq 0xb8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbp, %rcx
movq (%rsp), %r8
movq %rbx, %r9
callq 0x475e0
movl %eax, %r12d
testl %r12d, %r12d
je 0x46499
movq %r14, %rdi
callq 0x3d573
movq 0xb8(%rsp), %rdi
callq 0x3d573
jmp 0x46141
movq 0x118(%rsp), %rbx
testl %r12d, %r12d
jne 0x46340
cmpq $0x0, 0x98(%rsp)
je 0x46340
testq %rbx, %rbx
je 0x4616e
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x46a2e
movl %r13d, 0x28(%rsp)
callq 0x3a794
movq %rax, %rbx
movq 0x98(%rsp), %r14
movq %r14, %rdi
callq 0xb260
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
movl $0x2c, %ecx
callq 0x3a7af
movq %rbx, %rdi
callq 0x3a9cc
testq %rax, %rax
je 0x46a24
movq %rbx, %rdi
callq 0x3a9cc
xorl %r13d, %r13d
testq %rax, %rax
je 0x462a7
movl $0x0, 0x18(%rsp)
xorl %r12d, %r12d
xorl %r14d, %r14d
xorl %r13d, %r13d
movq 0x8(%rsp), %rbp
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3a990
movq %rax, %r15
movq (%rbp), %rdi
movq %rax, %rsi
callq 0x850e4
movb 0x1b(%rbp), %cl
testq %rax, %rax
je 0x46225
testb %cl, %cl
jne 0x46289
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
movq %r15, %rsi
callq 0x4a0a0
movzbl %r13b, %r13d
testb %al, %al
movl $0x1, %eax
cmovnel %eax, %r13d
jmp 0x46289
testb %cl, %cl
je 0x46271
subq $0x8, %rsp
movq 0x120(%rsp), %rdi
leaq 0xa2069(%rip), %rsi     # 0xe82a5
leaq 0xa1535(%rip), %rdx     # 0xe7778
movq %r15, %rcx
movl 0x118(%rsp), %r8d
movq 0x8(%rsp), %r9
xorl %eax, %eax
leaq 0xa1519(%rip), %r10     # 0xe7775
pushq %r10
callq 0x3559f
addq $0x10, %rsp
movl $0xffffffff, 0x18(%rsp) # imm = 0xFFFFFFFF
jmp 0x46289
testq %r14, %r14
jne 0x4627e
callq 0x3d23c
movq %rax, %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x3d318
incq %r12
movq %rbx, %rdi
callq 0x3a9cc
cmpq %rax, %r12
jb 0x461d9
cmpl $0x0, 0x18(%rsp)
sete %al
jmp 0x462ac
movb $0x1, %al
xorl %r14d, %r14d
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testb %al, %al
movq 0x8(%rsp), %r15
je 0x4632b
testq %r14, %r14
setne %al
orb %r13b, %al
testb $0x1, %al
je 0x462f3
cmpb $0x1, 0x1b(%r15)
je 0x46a51
movq 0x38(%r15), %rdi
movq 0x10(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %r14, %rcx
callq 0x49f6d
movb $0x1, 0x18(%r15)
xorl %r12d, %r12d
jmp 0x46325
movzbl 0x1b(%r15), %ecx
movl 0x50(%r15), %r8d
movq (%r15), %rdx
movq 0x40(%r15), %r9
movq 0x10(%rsp), %rdi
movq %rbx, %rsi
pushq 0x118(%rsp)
pushq 0xa8(%rsp)
callq 0x47713
addq $0x10, %rsp
movl %eax, %r12d
movb $0x1, %al
movl %eax, 0x28(%rsp)
movq %rbx, %rdi
callq 0x3a9dc
movq %r14, %rdi
callq 0x3d573
movl 0x28(%rsp), %r13d
movq 0xc0(%rsp), %rdi
callq 0x3a9dc
movq 0x60(%rsp), %rdi
callq 0x3a9dc
movq 0x50(%rsp), %rdi
callq 0x3a9dc
movq 0x10(%rsp), %rbx
testl %r12d, %r12d
jne 0x46383
cmpb $0x1, 0x27(%rsp)
jne 0x46383
movss 0xb0(%rsp), %xmm0
movq %rbx, %rdi
callq 0x402cd
testl %r12d, %r12d
sete %al
movl 0xac(%rsp), %esi
cmpl $0x3, %esi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x463a5
movq %rbx, %rdi
callq 0x3f918
testl %r12d, %r12d
je 0x463bb
testb %r13b, %r13b
jne 0x463b7
movq %rbx, %rdi
callq 0x42ade
xorl %ebx, %ebx
jmp 0x463c4
xorl %eax, %eax
testb %r13b, %r13b
cmovneq %rax, %rbx
testl %r12d, %r12d
jne 0x463de
testq %rbx, %rbx
je 0x463de
movq 0xa0(%rsp), %rdi
movq %rbx, %rsi
callq 0x7c043
movq 0x38(%rsp), %rdi
callq 0x3d1eb
movq 0xc8(%rsp), %rdi
callq 0x3a9dc
movl %r12d, %eax
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa1367(%rip), %rsi     # 0xe7778
movq %rbx, %rdi
callq 0x3f850
movq %rax, %r14
movq %rbx, %rdi
callq 0x40459
testb %al, %al
jne 0x46a6a
movq (%rbp), %rdi
movq %r15, %rsi
callq 0x85158
testq %rax, %rax
je 0x4646a
movq %rax, %r15
movq %rax, %rdi
movq 0x10(%rsp), %r12
movq %r12, %rsi
callq 0x4750f
movq %r15, %rdi
movq %r12, %rsi
callq 0x4005b
movb $0x1, %r13b
jmp 0x46997
movb $0x1, %bl
jmp 0x46047
movq %rbx, %rdi
callq 0x40432
testb %al, %al
je 0x46982
testq %r14, %r14
je 0x46a79
movq %rbx, %rdi
callq 0x40571
cmpq %rbx, %rax
je 0x4698f
callq 0x12401
movq %r14, %rdi
callq 0x3d560
testq %rax, %rax
je 0x469ac
leaq 0xa12c7(%rip), %rbp     # 0xe7778
xorl %esi, %esi
movq %r15, 0x68(%rsp)
movq %r14, 0x58(%rsp)
movl %r13d, 0x28(%rsp)
movq %r14, %rdi
movq %rsi, 0x18(%rsp)
callq 0x3d3e2
movq %rax, %r12
movq %rax, %rdi
leaq 0xa130a(%rip), %rsi     # 0xe77e6
callq 0xb890
testl %eax, %eax
je 0x46645
movq %r12, %rdi
movq %rbp, %rsi
callq 0xb890
testl %eax, %eax
je 0x46513
movq %r12, %rdi
leaq 0xa138e(%rip), %rsi     # 0xe7890
callq 0xb890
testl %eax, %eax
je 0x46513
xorl %r12d, %r12d
jmp 0x46950
testq %rbx, %rbx
je 0x46528
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x46a6f
cmpq $0x0, 0x8(%rsp)
je 0x46a5b
testq %r12, %r12
je 0x46a5b
movq %r15, %rdi
movq %r12, %rsi
callq 0x3f850
movq %rax, %r14
movq 0x10(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x3f850
movq %r15, %rdx
movq %rax, %r15
testq %r14, %r14
setne %al
testq %r15, %r15
setne %cl
testb %cl, %al
je 0x467b1
movq %r15, %rdi
movq %r14, %rsi
callq 0xb890
testl %eax, %eax
je 0x4685a
movq 0x8(%rsp), %rax
cmpb $0x1, 0x1c(%rax)
movl 0x28(%rsp), %r13d
jne 0x465ab
movq %r12, %rdi
movq %rbp, %rsi
callq 0xb890
testl %eax, %eax
je 0x46862
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x41f30
movl %eax, 0x40(%rsp)
movq %rbx, %rdi
callq 0x41f10
movq %rax, %r14
movq 0x68(%rsp), %r15
movq %r15, %rdi
callq 0x41f30
movq %rax, 0x90(%rsp)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3f850
movq %rax, %rbx
movq %r15, %rdi
movq %r12, %rsi
callq 0x3f850
movq %rax, %r10
movq 0x118(%rsp), %rdi
leaq 0xa1aed(%rip), %rsi     # 0xe80f4
leaq 0xa1167(%rip), %rdx     # 0xe7775
movq 0x30(%rsp), %rcx
movl 0x40(%rsp), %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %rbx
movq 0x128(%rsp), %rbx
pushq 0xa0(%rsp)
pushq %r12
callq 0x3559f
addq $0x20, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x4694b
testq %rbx, %rbx
je 0x4665a
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x46a74
movq 0x10(%rsp), %rdi
leaq 0xa1180(%rip), %r14     # 0xe77e6
movq %r14, %rsi
callq 0x3f850
movq %rax, 0x40(%rsp)
movq %r15, %rdi
movq %r14, %rsi
callq 0x3f850
movq %rax, %r12
callq 0x3bfe0
movq %rax, %r14
callq 0x3bfe0
movq %rax, %r15
subq $0x30, %rsp
xorl %ebx, %ebx
movq %rbx, 0x28(%rsp)
leaq 0xa84dc(%rip), %rbp     # 0xeeb7f
movq %rbp, 0x18(%rsp)
movq %rbx, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movl $0x0, 0x20(%rsp)
movq 0x70(%rsp), %rdi
xorl %esi, %esi
leaq 0xa0(%rsp), %rdx
movq %r14, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x43ac9
addq $0x30, %rsp
testl %eax, %eax
jne 0x46a60
subq $0x30, %rsp
movq %rbx, 0x28(%rsp)
movq %rbp, 0x18(%rsp)
movq %rbx, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
movl $0x0, 0x20(%rsp)
movq %r12, %rdi
xorl %esi, %esi
leaq 0x100(%rsp), %rdx
movq %r15, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x43ac9
addq $0x30, %rsp
testl %eax, %eax
jne 0x46a65
movq %r14, %rdi
movq %r15, %rsi
callq 0x3c4b0
testl %eax, %eax
movq 0x10(%rsp), %rbx
leaq 0xa1031(%rip), %rbp     # 0xe7778
je 0x4683a
movq %rbx, %rdi
callq 0x41f30
movq %rbx, %rdi
movl %eax, %ebx
callq 0x41f10
movq %rax, %r12
movq 0x68(%rsp), %rdi
callq 0x41f30
movl %eax, %r10d
movq 0x118(%rsp), %rdi
leaq 0xa1838(%rip), %rsi     # 0xe7fb6
leaq 0xa0ff0(%rip), %rdx     # 0xe7775
movq 0x30(%rsp), %rcx
movl %ebx, %r8d
movq %r12, %r9
xorl %eax, %eax
pushq %r10
leaq 0xa104b(%rip), %r10     # 0xe77e6
pushq %r10
callq 0x3559f
addq $0x10, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x4683d
movq %rbp, %rbx
movq %rdx, %rbp
movq %r13, %rdi
callq 0x41f30
movl %eax, 0x40(%rsp)
movq %r13, %rdi
callq 0x41f10
movq %rax, %r13
movq %rbp, %rdi
movq %rbx, %rbp
callq 0x41f30
testq %r15, %r15
leaq 0xa1907(%rip), %rcx     # 0xe80ea
cmoveq %rcx, %r15
movl %eax, %r10d
testq %r14, %r14
cmoveq %rcx, %r14
movq 0x118(%rsp), %rdi
leaq 0xa1865(%rip), %rsi     # 0xe8065
leaq 0xa0f6e(%rip), %rdx     # 0xe7775
movq 0x30(%rsp), %rcx
movl 0x40(%rsp), %r8d
movq %r13, %r9
movq 0x118(%rsp), %rbx
xorl %eax, %eax
pushq %r14
pushq %r15
pushq %r10
pushq %r12
callq 0x3559f
addq $0x20, %rsp
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x46946
xorl %r12d, %r12d
movq %r15, %rdi
callq 0x3d1eb
movq %r14, %rdi
callq 0x3d1eb
movq 0x118(%rsp), %rbx
jmp 0x4694b
xorl %r12d, %r12d
jmp 0x46946
cmpq $0x0, 0x30(%rsp)
movq 0x10(%rsp), %rbx
je 0x46a83
movq 0x8(%rsp), %rax
movq (%rax), %r14
testq %r14, %r14
je 0x46a83
movq %rbx, %rdi
callq 0x41f30
movl %eax, 0x40(%rsp)
movq %rbx, %rdi
callq 0x41f10
movq %rax, %r13
movq 0x68(%rsp), %r15
movq %r15, %rdi
callq 0x41f30
movq %rax, 0x90(%rsp)
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3f850
movq %rax, %rbx
movq %r15, %rdi
movq %rbp, %rsi
callq 0x3f850
movq %rax, %r10
subq $0x8, %rsp
xorl %r12d, %r12d
leaq 0xa18f0(%rip), %rdi     # 0xe81ca
leaq 0xa0e94(%rip), %rsi     # 0xe7775
movq 0x38(%rsp), %rdx
movl 0x48(%rsp), %ecx
movq %r13, %r8
movq %rbp, %r9
xorl %eax, %eax
pushq %r10
pushq %rbx
pushq 0xa8(%rsp)
callq 0x3da84
addq $0x20, %rsp
movq 0x10(%rsp), %rdi
callq 0x40559
movq %r15, %rdi
movq %rbp, %rsi
callq 0x3f850
movq %r14, %rdi
movq %rax, %rsi
callq 0x850e4
movq %rax, %rdi
movq %r15, %rsi
callq 0x41258
cmpq $0x1, %rax
jne 0x4693e
movq %r15, %rdi
callq 0x40559
movq 0x118(%rsp), %rbx
movl 0x28(%rsp), %r13d
movq 0x58(%rsp), %r14
movq 0x18(%rsp), %rax
testl %r12d, %r12d
jne 0x46122
incq %rax
movq %r14, %rdi
movq %rax, %r15
callq 0x3d560
movq %r15, %rsi
cmpq %rax, %r15
movq 0x68(%rsp), %r15
jb 0x464c2
jmp 0x46122
movq %rbx, %rdi
callq 0x40480
testq %r14, %r14
je 0x469b4
xorl %r13d, %r13d
movq 0x10(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x404de
xorl %r12d, %r12d
movb $0x1, %bl
jmp 0x45eec
xorl %r12d, %r12d
jmp 0x46122
movq %rbx, %rdi
callq 0x3fd58
movq %rax, %r14
movq (%rbp), %rdx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x4745f
movq %rbx, %rdi
movq %r14, %rsi
movq 0xa0(%rsp), %rdx
callq 0x474d2
movq %r14, %rdi
movq 0x10(%rsp), %r12
movq %r12, %rsi
callq 0x4005b
movq %r14, %rdi
movq %r12, %rsi
callq 0x4750f
jmp 0x4645b
callq 0x12239
callq 0x122ab
callq 0x1283c
callq 0x12803
callq 0x12272
callq 0x122e4
callq 0x127ca
callq 0x126e6
callq 0x123c8
callq 0x12674
callq 0x12791
callq 0x12758
callq 0x1271f
callq 0x124e5
callq 0x12356
callq 0x1238f
callq 0x126ad
callq 0x124ac
callq 0x12557
callq 0x12602
callq 0x1263b
callq 0x12473
callq 0x1251e
callq 0x125c9
callq 0x1243a
callq 0x1231d
callq 0x12590