// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/tir_stream.c
// Function: gt_tir_stream_next
static int gt_tir_stream_next(GtNodeStream *ns, GT_UNUSED GtGenomeNode **gn,
                              GtError *err)
{
  GtTIRStream *tir_stream;
  int had_err = 0;
  gt_error_check(err);
  tir_stream = gt_node_stream_cast(gt_tir_stream_class(), ns);

  /* generate and check seeds */
   if (tir_stream->state == GT_TIR_STREAM_STATE_START) {
    if (!had_err && gt_enumeratemaxpairs(tir_stream->ssar,
                      (unsigned int) tir_stream->min_seed_length,
                      gt_tir_store_seeds,
                      &tir_stream->seedinfo,
                      err) != 0) {
      had_err = -1;
    }

    /* extend seeds to TIRs and check TIRs */
    if (!had_err && gt_tir_searchforTIRs(tir_stream,
                                         tir_stream->encseq, err) != 0) {
      had_err = -1;
    }

    GT_FREEARRAY(&tir_stream->seedinfo.seed, Seed);
    tir_stream->state = GT_TIR_STREAM_STATE_REGIONS;
  }

  /* stream out the region nodes */
  if (!had_err && tir_stream->state == GT_TIR_STREAM_STATE_REGIONS) {
    bool skip = false;

    /* check whether index is valid */
    if (tir_stream->cur_elem_index < tir_stream->num_of_tirs) {
      GtUword seqnum, seqlength;
      GtGenomeNode *rn;
      GtStr *seqid;
      seqnum = tir_stream->tir_pairs[tir_stream->cur_elem_index]->contignumber;

      /* if first time we do this */
      if (tir_stream->prev_seqnum == GT_UNDEF_UWORD) {
        /* use current seqnum */
        tir_stream->prev_seqnum = seqnum;
      } else {
        /* else get seqnum of next contig */
        while (tir_stream->prev_seqnum == seqnum) {
          tir_stream->cur_elem_index++;

          /* do not go on if index is out of bounds */
          if (tir_stream->cur_elem_index >= tir_stream->num_of_tirs) {
            skip = true;
            break;
          }
          seqnum =
                tir_stream->tir_pairs[tir_stream->cur_elem_index]->contignumber;
        }
      }

      /* create node */
      if (!skip) {
        tir_stream->prev_seqnum = seqnum;
        seqlength = gt_encseq_seqlength(tir_stream->encseq, seqnum);
        seqid = gt_str_new();

        if (gt_encseq_has_md5_support(tir_stream->encseq)
              && tir_stream->output_md5) {
          GtMD5Tab *md5_tab = NULL;
          md5_tab = gt_encseq_get_md5_tab(tir_stream->encseq, err);
          if (!md5_tab) {
            had_err = -1;
            gt_str_delete(seqid);
          }
          if (!had_err) {
            gt_str_append_cstr(seqid, GT_MD5_SEQID_PREFIX);
            gt_str_append_cstr(seqid, gt_md5_tab_get(md5_tab, seqnum));
            gt_str_append_char(seqid, GT_MD5_SEQID_SEPARATOR);
          }
          gt_md5_tab_delete(md5_tab);
        }

        if (!had_err) {
          if (gt_encseq_has_description_support(tir_stream->encseq)
                && tir_stream->output_seqids) {
            GtUword desclength = 0UL, i = 0UL;
            const char *desc;
            desc = gt_encseq_description(tir_stream->encseq,
                                         &desclength, seqnum);
            while (*(desc+i) != ' ' && i != desclength)
              i++;
            gt_str_append_cstr_nt(seqid, desc, i);
          } else {
            gt_str_append_cstr(seqid, "seq");
            gt_str_append_uword(seqid, seqnum);
          }
          rn = gt_region_node_new(seqid, 1, seqlength);
          gt_str_delete(seqid);
          *gn = rn;
          tir_stream->cur_elem_index++;
        }
      } else {
        /* skipping */
        tir_stream->cur_elem_index = 0;
        tir_stream->state = GT_TIR_STREAM_STATE_COMMENTS;
        *gn = NULL;
      }
    } else {
      /* no valid index */
      tir_stream->cur_elem_index = 0;
      tir_stream->state = GT_TIR_STREAM_STATE_COMMENTS;
      *gn = NULL;
    }
  }

  /* then stream out the comment nodes */
  if (!had_err && tir_stream->state == GT_TIR_STREAM_STATE_COMMENTS)
  {
    bool skip = false;
    if (tir_stream->cur_elem_index < tir_stream->num_of_tirs) {
      const char *description;
      GtUword description_len, seqnum;
      GtGenomeNode *cn;

      seqnum = tir_stream->tir_pairs[tir_stream->cur_elem_index]->contignumber;

      /* for the first time */
      if (tir_stream->prev_seqnum == GT_UNDEF_WORD) {
        /* use current seqnum */
        tir_stream->prev_seqnum = seqnum;
      } else {
        /* else get seqnum of next contig */
        while (tir_stream->prev_seqnum == seqnum) {
          tir_stream->cur_elem_index++;

          if (tir_stream->cur_elem_index >= tir_stream->num_of_tirs) {
            skip = true;
            break;
          }
          seqnum =
                tir_stream->tir_pairs[tir_stream->cur_elem_index]->contignumber;
        }
      }

      /* create a new comment node */
      if (!skip) {
        char description_string[BUFSIZ];
        tir_stream->prev_seqnum = seqnum;

        /* get description and descriptionlength of current contig */
        description = gt_encseq_description(tir_stream->encseq,
                                            &description_len, seqnum);

       (void) strncpy(description_string, description,
                      (size_t) (description_len * sizeof (char)));
        description_string[description_len] = '\0';

        /* make a new comment node */
        cn = gt_comment_node_new(description_string);

        *gn = cn;
        tir_stream->cur_elem_index++;
      } else {
        /* skipping */
        tir_stream->cur_elem_index = 0;
        tir_stream->state = GT_TIR_STREAM_STATE_FEATURES;
        *gn = NULL;
      }
    } else {
      /* no valid index */
      tir_stream->cur_elem_index = 0;
      tir_stream->state = GT_TIR_STREAM_STATE_FEATURES;
      *gn = NULL;
    }
  }

  /* finally stream out the features */
  if (!had_err && tir_stream->state == GT_TIR_STREAM_STATE_FEATURES) {
    if (tir_stream->cur_elem_index < tir_stream->num_of_tirs) {
      GtStr *seqid, *source;
      GtGenomeNode *node, GT_UNUSED *parent;
      const TIRPair *pair =
                tir_stream->tir_pairs[tir_stream->cur_elem_index];
      GtUword seqstartpos;
      char buf[BUFSIZ];

      gt_assert(!pair->skip);
      gt_assert(pair->tsd_length > 0);

      seqstartpos = gt_encseq_seqstartpos(tir_stream->encseq,
                                          pair->contignumber);
      seqid = gt_str_new();
      source = gt_str_new_cstr("TIRvish");

      if (gt_encseq_has_md5_support(tir_stream->encseq)
            && tir_stream->output_md5) {
        GtMD5Tab *md5_tab = NULL;
        md5_tab = gt_encseq_get_md5_tab(tir_stream->encseq, err);
        if (!md5_tab) {
          had_err = -1;
          gt_str_delete(seqid);
        }
        if (!had_err) {
          gt_str_append_cstr(seqid, GT_MD5_SEQID_PREFIX);
          gt_str_append_cstr(seqid, gt_md5_tab_get(md5_tab,
                                                   pair->contignumber));
          gt_str_append_char(seqid, GT_MD5_SEQID_SEPARATOR);
        }
        gt_md5_tab_delete(md5_tab);
      }

      if (!had_err && gt_encseq_has_description_support(tir_stream->encseq)
            && tir_stream->output_seqids) {
        GtUword desclength = 0UL, i = 0UL;
        const char *desc;
        desc = gt_encseq_description(tir_stream->encseq,
                                     &desclength, pair->contignumber);
        while (*(desc+i) != ' ' && i != desclength)
          i++;
        gt_str_append_cstr_nt(seqid, desc, i);
      } else {
        gt_str_append_cstr(seqid, "seq");
        gt_str_append_uword(seqid, pair->contignumber);
      }

      /* repeat region */
      node = gt_feature_node_new(seqid, gt_ft_repeat_region,
                                 pair->left_tir_start - seqstartpos -
                                   pair->tsd_length + 1,
                                 pair->right_transformed_end - seqstartpos
                                   + pair->tsd_length + 1,
                                 GT_STRAND_UNKNOWN);
      gt_feature_node_set_source((GtFeatureNode*) node, source);
      *gn = node;
      parent = node;

      /* target site duplication */

      if (tir_stream->min_TSD_length > 1U) {
        node = gt_feature_node_new(seqid,
                       gt_ft_target_site_duplication,
                       pair->left_tir_start - seqstartpos + 1
                         - pair->tsd_length,
                       pair->left_tir_start - seqstartpos,
                       GT_STRAND_UNKNOWN);
        gt_feature_node_set_source((GtFeatureNode*) node, source);
        gt_feature_node_add_child((GtFeatureNode*) parent,
                      (GtFeatureNode*) node);

        node = gt_feature_node_new(seqid,
                       gt_ft_target_site_duplication,
                       pair->right_transformed_end - seqstartpos + 2,
                       pair->right_transformed_end - seqstartpos + 1
                       + pair->tsd_length,
                       GT_STRAND_UNKNOWN);
        gt_feature_node_set_source((GtFeatureNode*) node, source);
        gt_feature_node_add_child((GtFeatureNode*) parent,
                      (GtFeatureNode*) node);
      }

      /* terminal inverted repeat element */

      node = gt_feature_node_new(seqid, gt_ft_terminal_inverted_repeat_element,
                                 pair->left_tir_start - seqstartpos + 1,
                                 pair->right_transformed_end - seqstartpos +1,
                                 GT_STRAND_UNKNOWN);
      gt_feature_node_set_source((GtFeatureNode*) node, source);
      gt_feature_node_add_child((GtFeatureNode*) parent, (GtFeatureNode*)node);
      (void) snprintf(buf, BUFSIZ-1, "%.2f", pair->similarity);
      gt_feature_node_set_attribute((GtFeatureNode*) node,
                                    "tir_similarity",
                                    buf);
      parent = node;

      /* left terminal inverted repeat */

      node = gt_feature_node_new(seqid, gt_ft_terminal_inverted_repeat,
                                 pair->left_tir_start - seqstartpos + 1,
                                 pair->left_tir_end - seqstartpos + 1,
                                 GT_STRAND_UNKNOWN);
      gt_feature_node_set_source((GtFeatureNode*)node, source);
      gt_feature_node_add_child((GtFeatureNode*)parent, (GtFeatureNode*)node);

      /* right terminal inverted repeat */

      node = gt_feature_node_new(seqid, gt_ft_terminal_inverted_repeat,
                                pair->right_transformed_start - seqstartpos + 1,
                                pair->right_transformed_end - seqstartpos + 1,
                                GT_STRAND_UNKNOWN);
      gt_feature_node_set_source((GtFeatureNode*)node, source);
      gt_feature_node_add_child((GtFeatureNode*)parent, (GtFeatureNode*)node);

      /* clean up and get next pair */
      gt_str_delete(seqid);
      gt_str_delete(source);
      tir_stream->cur_elem_index++;
    } else {
      *gn = NULL;
    }
  }
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20d8, %rsp           # imm = 0x20D8
movq %rdx, %r14
movq %rsi, 0x18(%rsp)
movq %rdi, %rbx
testq %rdx, %rdx
je 0x127d8f
movq %r14, %rdi
callq 0x89eb7
testb %al, %al
jne 0x128fe3
movq %r14, 0x28(%rsp)
callq 0x127ca0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x102c81
movq %rax, %rbp
movl 0x90(%rax), %r8d
pushq $-0x1
popq %rax
cmpl $0x1, %r8d
movq %rbp, 0x20(%rsp)
je 0x12885b
testl %r8d, %r8d
jne 0x128a06
movq 0x18(%rbp), %rdi
movl 0xb8(%rbp), %esi
leaq 0x20(%rbp), %rbx
leaq 0x16b5(%rip), %rdx      # 0x129493
movq %rbx, %rcx
movq 0x28(%rsp), %r8
callq 0x14eb32
testl %eax, %eax
jne 0x12881c
movl %eax, 0x5c(%rsp)
movq %rbx, 0x68(%rsp)
movq 0x10(%rbp), %rbx
callq 0x1916d4
movq %rax, 0x40(%rsp)
callq 0x1916d4
movq %rax, 0x38(%rsp)
pushq $0x64
popq %rdi
callq 0x15f460
movq %rax, 0x60(%rsp)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x127e38
callq 0x89eb7
testb %al, %al
jne 0x129103
movq %rbp, %rdi
addq $0xe0, %rdi
callq 0x1b7511
movq %rax, 0x50(%rsp)
xorl %r14d, %r14d
pushq $0x1
popq %rsi
movq %rbx, (%rsp)
cmpq 0x30(%rbp), %r14
jae 0x128571
movq %rbx, %rdi
callq 0x7055e
movq %rax, %r13
movq %r14, 0x10(%rsp)
imulq $0x28, %r14, %rax
movq 0x20(%rbp), %r14
movq %rbp, %r12
movq 0x38(%rbp), %rbp
movq 0x18(%r14,%rax), %rbx
cmpq %rbx, %rbp
jb 0x128e8c
addq %rax, %r14
movq 0x10(%r12), %rdi
movq 0x20(%r14), %rsi
callq 0x74d9c
movq %rax, %r15
movq 0x10(%r12), %rdi
movq 0x20(%r14), %rsi
callq 0x75173
decq %r13
subq %rbx, %rbp
jne 0x127ecf
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
andq $0x0, 0x80(%rsp)
jmp 0x128034
movq %rax, %r12
addq %r15, %r12
movq (%r14), %r9
movq %r9, %rax
subq %r15, %rax
jbe 0x127f6b
movq %r13, %rdx
subq %r12, %rdx
movq 0x8(%r14), %rcx
subq %rdx, %rcx
jbe 0x127f6b
cmpq %rcx, %rax
movq %rcx, %rdx
cmovbq %rax, %rdx
cmpq %rcx, %rbp
movq %rbp, %rbx
cmovaq %rdx, %rbx
cmpq %rax, %rbp
cmovaq %rdx, %rbx
subq %rbx, %r9
xorl %edi, %edi
xorl %esi, %esi
movq 0x40(%rsp), %rdx
movq (%rsp), %rcx
movq %rbx, %r8
callq 0x191910
movq 0x8(%r14), %r9
subq %rbx, %r9
xorl %edi, %edi
xorl %esi, %esi
movq 0x38(%rsp), %rdx
movq (%rsp), %rcx
movq %rbx, %r8
callq 0x191910
movq 0x20(%rsp), %rax
movslq 0xf0(%rax), %r9
xorl %edi, %edi
leaq 0x70(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x40(%rsp), %rcx
movq 0x38(%rsp), %r8
callq 0x1b76b0
jmp 0x127f7e
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
andq $0x0, 0x80(%rsp)
movq 0x18(%r14), %rax
movq (%r14), %r9
addq %rax, %r9
subq %r9, %r12
jbe 0x128034
movq %r13, %rcx
subq %r15, %rcx
addq 0x8(%r14), %rax
subq %rax, %rcx
jbe 0x128034
cmpq %rcx, %r12
movq %rcx, %rax
cmovbq %r12, %rax
cmpq %rcx, %rbp
movq %rbp, %rbx
cmovaq %rax, %rbx
cmpq %r12, %rbp
cmovaq %rax, %rbx
pushq $0x1
popq %r12
movl %r12d, %edi
xorl %esi, %esi
movq 0x40(%rsp), %r15
movq %r15, %rdx
movq (%rsp), %rbp
movq %rbp, %rcx
movq %rbx, %r8
callq 0x191910
movq 0x18(%r14), %r9
addq 0x8(%r14), %r9
movl %r12d, %edi
xorl %esi, %esi
movq 0x38(%rsp), %r12
movq %r12, %rdx
movq %rbp, %rcx
movq %rbx, %r8
callq 0x191910
movq 0x20(%rsp), %rbp
movslq 0xf0(%rbp), %r9
pushq $0x1
popq %rdi
leaq 0xa0(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r15, %rcx
movq %r12, %r8
callq 0x1b76b0
movq 0xa0(%rsp), %rax
addq $-0x2, %rax
jmp 0x128052
xorpd %xmm0, %xmm0
movapd %xmm0, 0xa0(%rsp)
andq $0x0, 0xb0(%rsp)
pushq $-0x2
popq %rax
movq 0x20(%rsp), %rbp
addq 0x18(%r14), %rax
addq 0x78(%rsp), %rax
cmpq 0xc0(%rbp), %rax
jb 0x12855d
cmpq 0xc8(%rbp), %rax
ja 0x12855d
movq 0x80(%rbp), %rax
cmpq %rax, 0x88(%rbp)
jae 0x12808b
movq 0x78(%rbp), %rsi
jmp 0x1280b8
addq $0x100, %rax            # imm = 0x100
movq %rax, 0x80(%rbp)
movq 0x78(%rbp), %rdi
imulq $0x50, %rax, %rsi
leaq 0x20eb3c(%rip), %rdx    # 0x336be3
movl $0x244, %ecx            # imm = 0x244
callq 0x93472
movq %rax, %rsi
movq %rax, 0x78(%rbp)
testq %rsi, %rsi
je 0x128f1f
movq 0x88(%rbp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x88(%rbp)
imulq $0x50, %rax, %r15
movq 0x20(%r14), %rbx
movq %rbx, (%rsi,%r15)
andq $0x0, 0x38(%rsi,%r15)
movq (%r14), %rax
movq %rax, %rcx
subq 0x70(%rsp), %rcx
movq %rcx, 0x8(%rsi,%r15)
movq 0x18(%r14), %rcx
addq %rcx, %rax
decq %rax
addq 0xa0(%rsp), %rax
movq %rax, 0x10(%rsi,%r15)
movq 0x8(%r14), %rax
addq %rax, %rcx
decq %rcx
subq 0x78(%rsp), %rax
movq %rax, 0x18(%rsi,%r15)
addq 0xa8(%rsp), %rcx
movq %rcx, 0x20(%rsi,%r15)
movq %r13, %rdx
subq %rcx, %rdx
movq %rdx, 0x40(%rsi,%r15)
subq %rax, %r13
movq %r13, 0x48(%rsi,%r15)
andq $0x0, 0x28(%rsi,%r15)
movb $0x0, 0x30(%rsi,%r15)
incq 0x98(%rbp)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x128170
movq %rsi, %r14
callq 0x89eb7
movq %r14, %rsi
testb %al, %al
jne 0x129014
addq %r15, %rsi
movq %rsi, 0x8(%rsp)
movq (%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x74d9c
movq %rax, %rbp
movq %r14, %rdi
movq %rbx, %rsi
callq 0x75173
movq 0x8(%rsp), %r11
movq 0x8(%r11), %r13
movq %r13, %rdx
subq %rbp, %rdx
jb 0x128f81
movq 0x10(%r11), %rcx
cmpq %rcx, %r13
leaq 0x20ea2b(%rip), %r8     # 0x336be3
ja 0x128fb2
movq 0x18(%r11), %rsi
cmpq 0x20(%r11), %rsi
ja 0x128f50
movq 0x20(%rsp), %rdi
movq 0x118(%rdi), %rsi
movq %r13, %r15
subq %rsi, %r15
cmpq %rsi, %rdx
cmovbq %rbp, %r15
addq %rsi, %r13
cmpq %rcx, %r13
cmovaeq %rcx, %r13
movq 0x40(%r11), %rcx
movq 0x48(%r11), %r14
movq %r14, %r12
subq %rsi, %r12
cmpq %r12, %rcx
cmovaq %rcx, %r12
addq %rbp, %rax
decq %rax
movq %rdi, %rbp
addq %rsi, %r14
cmpq %rax, %r14
cmovaeq %rax, %r14
cmpq $0x2, 0x108(%rdi)
jb 0x12845c
movq %r13, %rbp
subq %r15, %rbp
incq %rbp
movq %r8, %rdx
movq %r14, %rbx
subq %r12, %rbx
incq %rbx
movq %rbp, %rdi
pushq $0x1
popq %rsi
movl $0x1a1, %ecx            # imm = 0x1A1
callq 0x9334a
movq %rax, 0x48(%rsp)
movq %rbx, %rdi
pushq $0x1
popq %rsi
leaq 0x20e987(%rip), %rdx    # 0x336be3
movl $0x1a2, %ecx            # imm = 0x1A2
callq 0x9334a
movq (%rsp), %rdi
movq 0x48(%rsp), %rsi
movq %r15, %rdx
movq %r13, %rcx
movq %rax, %r13
callq 0x721ca
movq (%rsp), %rdi
movq %r13, 0x30(%rsp)
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x721ca
leaq 0xe0(%rsp), %rax
andq $0x0, 0x10(%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, (%rax)
cmpq %r12, %r15
jae 0x129045
movq %r15, 0xd0(%rsp)
movq %r12, 0xd8(%rsp)
movq (%rsp), %rdi
movq %rdi, 0xf8(%rsp)
movq 0x20(%rsp), %r15
movl 0x108(%r15), %r14d
callq 0x754dd
movq 0x48(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
movq %r15, %rbp
movq 0x30(%rsp), %r15
movq %r15, %rdx
movq %rbx, %rcx
movl %r14d, %r8d
movq %rax, %r9
pushq 0x28(%rsp)
pushq $0x0
leaq 0xe0(%rsp), %rax
pushq %rax
leaq 0x13a5(%rip), %rax      # 0x1296b9
pushq %rax
callq 0x14ff8d
addq $0x20, %rsp
movl %eax, %ebx
movq %r12, %rdi
leaq 0x20e8b9(%rip), %r14    # 0x336be3
movq %r14, %rsi
movl $0x1bb, %edx            # imm = 0x1BB
callq 0x936f9
movq %r15, %rdi
movq %r14, %rsi
movl $0x1bc, %edx            # imm = 0x1BC
callq 0x936f9
movq 0xe0(%rsp), %rdi
testl %ebx, %ebx
movq 0x8(%rsp), %r11
jne 0x128441
movq 0x8(%r11), %rcx
movq 0x20(%r11), %rax
movq 0xf0(%rsp), %rsi
leaq 0x18(%rdi), %r8
movq %rsi, %r9
pushq $-0x1
popq %r11
xorl %r10d, %r10d
movq %rcx, %rdx
subq $0x1, %r9
jb 0x1283f6
movq (%r8), %rbx
cmpq 0x108(%rbp), %rbx
jb 0x1283f0
cmpq 0x110(%rbp), %rbx
jae 0x1283f0
movq -0x18(%r8), %r14
movq 0x8(%rsp), %r15
movq 0x48(%r15), %r13
movq -0x8(%r8), %r15
addq %r14, %r15
movq %r13, %rbp
subq %r15, %rbp
negq %rbp
subq %r15, %r13
leaq -0x1(%r14,%rbx), %r12
cmovbq %rbp, %r13
movq %r12, %rbp
subq %rcx, %rbp
negq %rbp
subq %rcx, %r12
cmovbq %rbp, %r12
movq 0x20(%rsp), %rbp
addq %r13, %r12
cmpq %r11, %r12
jae 0x1283f0
addq %rbx, %r14
decq %r15
movq %r15, %rax
movq %r12, %r11
movq %rbx, %r10
movq %r14, %rdx
addq $0x28, %r8
jmp 0x12837d
testq %rsi, %rsi
je 0x12840e
movq 0x8(%rsp), %r11
movq %rdx, 0x8(%r11)
movq %rax, 0x48(%r11)
movq %r10, 0x38(%r11)
jmp 0x12841f
movq 0x8(%rsp), %r11
movb $0x1, 0x30(%r11)
movq 0x48(%r11), %rax
movq %rcx, %rdx
cmpq 0x40(%r11), %rax
ja 0x12842a
movb $0x1, 0x30(%r11)
cmpq %rdx, 0x10(%r11)
ja 0x128435
movb $0x1, 0x30(%r11)
cmpq $0x0, 0x38(%r11)
jne 0x128441
movb $0x1, 0x30(%r11)
testq %rdi, %rdi
leaq 0x20e798(%rip), %rsi    # 0x336be3
je 0x12845c
movl $0x1c2, %edx            # imm = 0x1C2
callq 0x936f9
movq 0x8(%rsp), %r11
cmpb $0x0, 0x30(%r11)
jne 0x12855d
movq 0x8(%r11), %r9
movq 0x10(%r11), %rbx
subq %r9, %rbx
jbe 0x128558
movq 0x20(%r11), %r14
subq 0x18(%r11), %r14
jbe 0x128558
pushq $0x1
popq %r12
movl %r12d, %edi
xorl %esi, %esi
movq 0x40(%rsp), %r15
movq %r15, %rdx
movq (%rsp), %r13
movq %r13, %rcx
movq %rbx, %r8
callq 0x191910
movq 0x8(%rsp), %rax
movq 0x18(%rax), %r9
movl %r12d, %edi
xorl %esi, %esi
movq 0x38(%rsp), %r12
movq %r12, %rdx
movq %r13, %rcx
movq %r14, %r8
callq 0x191910
movq 0x60(%rsp), %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x15f4de
movq %rax, %xmm0
movq 0x1bf3fc(%rip), %xmm2   # 0x2e78e0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movapd 0x1bf400(%rip), %xmm3   # 0x2e78f0
subpd %xmm3, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
cmpq %r14, %rbx
cmovaq %rbx, %r14
movq %r14, %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm3, %xmm0
movapd %xmm0, %xmm2
unpckhpd %xmm0, %xmm2            # xmm2 = xmm2[1],xmm0[1]
addsd %xmm0, %xmm2
divsd %xmm2, %xmm1
movsd 0x1bdcfc(%rip), %xmm0   # 0x2e6228
subsd %xmm1, %xmm0
mulsd 0x1c12a8(%rip), %xmm0   # 0x2e97e0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x28(%rax)
movsd 0xf8(%rbp), %xmm1
callq 0x955e2
movq 0x8(%rsp), %r11
testb %al, %al
je 0x12855d
movb $0x1, 0x30(%r11)
movq 0x10(%rsp), %r14
incq %r14
pushq $0x1
popq %rsi
movq (%rsp), %rbx
jmp 0x127e56
movq 0x78(%rbp), %rdi
testq %rdi, %rdi
je 0x128593
movq 0x88(%rbp), %rsi
leaq 0x1100(%rip), %rcx      # 0x129688
pushq $0x50
popq %rdx
callq 0x17ed0
pushq $0x1
popq %rsi
movb 0x100(%rbp), %al
movb 0x101(%rbp), %dil
movl %edi, %ecx
orb %al, %cl
testb $0x1, %cl
je 0x1285b2
xorb $0x1, %dil
orb %al, %dil
jmp 0x1285c1
cmpb $0x1, 0x102(%rbp)
jne 0x128756
xorl %edi, %edi
movq 0x78(%rbp), %r9
testq %r9, %r9
je 0x128756
pushq $0x50
popq %r14
movb 0x102(%rbp), %al
movb %al, 0x48(%rsp)
movq 0x8(%r9), %r13
movq 0x48(%r9), %r12
movq %r9, %r8
movq %r9, %r10
movl %edi, 0x8(%rsp)
cmpq 0x88(%rbp), %rsi
jae 0x128756
movq 0x78(%rbp), %rax
cmpb $0x0, 0x30(%rax,%r14)
jne 0x12874a
leaq (%rax,%r14), %rbx
movq 0x8(%rax,%r14), %rcx
movq 0x48(%rax,%r14), %rdx
cmpq %rdx, %r13
ja 0x12864b
cmpq %rcx, %r12
jb 0x12864b
cmpq %rcx, %r13
ja 0x129076
leaq (%rax,%r14), %r15
addq $0x30, %r15
cmpq %r12, %rdx
cmovaq %rdx, %r12
testb $0x1, %dil
je 0x12865f
movb $0x1, 0x30(%r9)
jmp 0x128741
movq %rdx, %r12
movq %rcx, %r13
movq %rbx, %r9
movq %rbx, %r8
movq %rbx, %r10
jmp 0x12874a
movq %r9, 0x10(%rsp)
movq %rsi, (%rsp)
cmpb $0x0, 0x48(%rsp)
je 0x1286e0
movq %r8, 0x30(%rsp)
movq 0x20(%r10), %rdx
subq 0x8(%r10), %rdx
movq %rdx, %xmm1
movq 0x1bf257(%rip), %xmm3   # 0x2e78e0
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
movapd 0x1bf25b(%rip), %xmm4   # 0x2e78f0
subpd %xmm4, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq 0x20(%rax,%r14), %rax
subq %rcx, %rax
movq %rax, %xmm2
punpckldq %xmm3, %xmm2    # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
subpd %xmm4, %xmm2
movapd %xmm2, %xmm1
unpckhpd %xmm2, %xmm1            # xmm1 = xmm1[1],xmm2[1]
addsd %xmm2, %xmm1
movq %r10, %rbp
callq 0x955e2
testb %al, %al
jne 0x128707
movq (%rsp), %rsi
movq 0x10(%rsp), %r9
movq %rbp, %r10
jmp 0x12871a
movq %r10, 0x30(%rsp)
movsd 0x28(%r8), %xmm0
movsd 0x28(%rax,%r14), %xmm1
movq %r8, %rbp
callq 0x955e2
testb %al, %al
jne 0x128725
movq (%rsp), %rsi
movq %rbp, %r8
jmp 0x128733
addq $0x30, %rbp
movq %rbp, %r15
movq %rbx, %r10
movq (%rsp), %rsi
movq 0x10(%rsp), %r9
movl 0x8(%rsp), %edi
movq 0x30(%rsp), %r8
jmp 0x128741
addq $0x30, %rbp
movq %rbp, %r15
movq %rbx, %r8
movq (%rsp), %rsi
movq 0x10(%rsp), %r9
movl 0x8(%rsp), %edi
movq 0x30(%rsp), %r10
movb $0x1, (%r15)
movq 0x20(%rsp), %rbp
incq %rsi
addq $0x50, %r14
jmp 0x1285ee
movq 0x78(%rbp), %rax
imulq $0x50, 0x88(%rbp), %rcx
addq %rax, %rcx
xorl %ebx, %ebx
cmpq %rcx, %rax
jae 0x128786
testq %rax, %rax
je 0x128ebd
movzbl 0x30(%rax), %edx
xorq $0x1, %rdx
addq %rdx, %rbx
addq $0x50, %rax
jmp 0x128767
testq %rbx, %rbx
je 0x1287de
leaq (,%rbx,8), %rdi
leaq 0x20e449(%rip), %rsi    # 0x336be3
movl $0x125, %edx            # imm = 0x125
callq 0x93160
movq 0x78(%rbp), %rsi
xorl %ecx, %ecx
imulq $0x50, 0x88(%rbp), %rdx
movq %rsi, %rdi
leaq (%rsi,%rdx), %r8
cmpq %r8, %rdi
jae 0x1287e0
testq %rdi, %rdi
je 0x128eee
cmpb $0x0, 0x30(%rdi)
jne 0x1287d8
movq %rdi, (%rax,%rcx,8)
incq %rcx
movq 0x78(%rbp), %rsi
addq $0x50, %rdi
jmp 0x1287b5
xorl %eax, %eax
movq %rbx, 0x98(%rbp)
movq %rax, 0x70(%rbp)
movq 0x50(%rsp), %rdi
callq 0x1b7634
movq 0x40(%rsp), %rdi
callq 0x191a01
movq 0x38(%rsp), %rdi
callq 0x191a01
movq 0x60(%rsp), %rdi
callq 0x15f4a6
movq 0x68(%rsp), %rbx
movl 0x5c(%rsp), %eax
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x128846
leaq 0x20e3b8(%rip), %rsi    # 0x336be3
movl $0x2a6, %edx            # imm = 0x2A6
movl %eax, %r14d
callq 0x936f9
movl %r14d, %eax
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0x10(%rbx)
movl $0x1, 0x90(%rbp)
testl %eax, %eax
pushq $-0x1
popq %rax
jne 0x128e7a
movq 0x98(%rbp), %r8
movq 0xa0(%rbp), %rcx
cmpq %r8, %rcx
jae 0x1288a3
movq 0x70(%rbp), %rdx
movq 0xa8(%rbp), %rsi
movq (%rdx,%rcx,8), %rdi
movq (%rdi), %r13
cmpq $-0x1, %rsi
je 0x1288c5
incq %rcx
cmpq %r13, %rsi
jne 0x1288c5
movq %rcx, 0xa0(%rbp)
cmpq %r8, %rcx
jae 0x1288a3
movq (%rdx,%rcx,8), %rdi
movq (%rdi), %r13
jmp 0x128886
andq $0x0, 0xa0(%rbp)
movl $0x2, 0x90(%rbp)
movq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
xorl %ecx, %ecx
jmp 0x128a1e
movq %r13, 0xa8(%rbp)
movq 0x10(%rbp), %rdi
movq %r13, %rsi
movl %eax, %r15d
callq 0x75173
movq %rax, %r12
callq 0xacb84
movq %rax, %r14
movq 0x10(%rbp), %rdi
callq 0x76655
testb %al, %al
je 0x128960
cmpb $0x1, 0x104(%rbp)
jne 0x128960
movq 0x10(%rbp), %rdi
movq 0x28(%rsp), %rsi
callq 0x765c8
movq %rax, %rbx
testq %rax, %rax
je 0x128944
leaq 0x1e3bc0(%rip), %rsi    # 0x30c4d9
movq %r14, %rdi
callq 0xacbfb
movq %rbx, %rdi
movq %r13, %rsi
callq 0x971ea
movq %r14, %rdi
movq %rax, %rsi
callq 0xacbfb
pushq $0x3a
popq %rsi
movq %r14, %rdi
callq 0xaced9
jmp 0x12894c
movq %r14, %rdi
callq 0xae103
movq %rbx, %rdi
callq 0x9714b
testq %rbx, %rbx
movl %r15d, %eax
je 0x128e7a
movq 0x10(%rbp), %rdi
callq 0x7609a
testb %al, %al
je 0x1289bd
cmpb $0x1, 0x103(%rbp)
jne 0x1289bd
leaq 0xd0(%rsp), %rbx
andq $0x0, (%rbx)
movq 0x10(%rbp), %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x75b24
xorl %ecx, %ecx
subq (%rbx), %rcx
pushq $-0x1
popq %rsi
leaq 0x1(%rsi), %rdx
cmpb $0x20, 0x1(%rax,%rsi)
je 0x1289b0
addq %rcx, %rsi
cmpq $-0x1, %rsi
movq %rdx, %rsi
jne 0x128999
movq %r14, %rdi
movq %rax, %rsi
callq 0xacd9e
jmp 0x1289d7
leaq 0x1ca736(%rip), %rsi    # 0x2f30fa
movq %r14, %rdi
callq 0xacbfb
movq %r14, %rdi
movq %r13, %rsi
callq 0xace26
pushq $0x1
popq %rsi
movq %r14, %rdi
movq %r12, %rdx
callq 0x1110cc
movq %rax, %rbx
movq %r14, %rdi
callq 0xae103
movq 0x18(%rsp), %rax
movq %rbx, (%rax)
incq 0xa0(%rbp)
movl 0x90(%rbp), %r8d
cmpl $0x2, %r8d
jne 0x128af9
movq 0x98(%rbp), %r8
movq 0xa0(%rbp), %rcx
cmpq %r8, %rcx
jae 0x128a96
movq 0x70(%rbp), %rsi
movq 0xa8(%rbp), %rdi
movq (%rsi,%rcx,8), %rax
movq (%rax), %rdx
movq %rdi, %rax
negq %rax
jno 0x128ab5
movq %rdx, 0xa8(%rbp)
movq 0x10(%rbp), %rdi
leaq 0x70(%rsp), %rbx
movq %rbx, %rsi
callq 0x75b24
movq (%rbx), %rbx
leaq 0xd0(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x17350
movb $0x0, 0xd0(%rsp,%rbx)
movq %r14, %rdi
callq 0x299478
movq 0x18(%rsp), %rcx
movq %rax, (%rcx)
incq 0xa0(%rbp)
movl 0x90(%rbp), %r8d
jmp 0x128af9
andq $0x0, 0xa0(%rbp)
movl $0x3, 0x90(%rbp)
movq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
xorl %ecx, %ecx
jmp 0x128b13
pushq $0x3
popq %r8
incq %rcx
cmpq %rdx, %rdi
jne 0x128a3d
movq %rcx, 0xa0(%rbp)
cmpq 0x98(%rbp), %rcx
jae 0x128ade
movq (%rsi,%rcx,8), %rdx
movq (%rdx), %rdx
jmp 0x128ab9
andq $0x0, 0xa0(%rbp)
movl $0x3, 0x90(%rbp)
movq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
xorl %eax, %eax
cmpl $0x3, %r8d
jne 0x128e7a
movq 0x98(%rbp), %r8
movq 0xa0(%rbp), %rcx
cmpq %r8, %rcx
jae 0x128bc0
movq 0x70(%rbp), %rax
movq (%rax,%rcx,8), %rbx
cmpb $0x1, 0x30(%rbx)
je 0x1290a7
cmpq $0x0, 0x38(%rbx)
je 0x1290d5
movq 0x10(%rbp), %rdi
movq (%rbx), %rsi
callq 0x74d9c
movq %rax, %r15
callq 0xacb84
movq %rax, %r13
leaq 0x1d506a(%rip), %rdi    # 0x2fdbc1
callq 0xacbd1
movq %rax, %r12
movq 0x10(%rbp), %rdi
callq 0x76655
testb %al, %al
je 0x128be8
cmpb $0x1, 0x104(%rbp)
jne 0x128be8
movq %r12, %r14
movq 0x10(%rbp), %rdi
movq 0x28(%rsp), %rsi
callq 0x765c8
movq %rax, %r12
testq %rax, %rax
je 0x128bd0
leaq 0x1e3944(%rip), %rsi    # 0x30c4d9
movq %r13, %rdi
callq 0xacbfb
movq (%rbx), %rsi
movq %r12, %rdi
callq 0x971ea
movq %r13, %rdi
movq %rax, %rsi
callq 0xacbfb
pushq $0x3a
popq %rsi
movq %r13, %rdi
callq 0xaced9
jmp 0x128bd8
movq 0x18(%rsp), %rax
andq $0x0, (%rax)
xorl %eax, %eax
jmp 0x128e7a
movq %r13, %rdi
callq 0xae103
movq %r12, %rdi
callq 0x9714b
testq %r12, %r12
movq %r14, %r12
je 0x128c57
movq 0x10(%rbp), %rdi
callq 0x7609a
xorl %ecx, %ecx
testb %al, %al
je 0x128c5a
cmpb $0x1, 0x103(%rbp)
jne 0x128c5a
movq %r12, %r14
leaq 0xd0(%rsp), %r12
andq $0x0, (%r12)
movq 0x10(%rbp), %rdi
movq (%rbx), %rdx
movq %r12, %rsi
callq 0x75b24
xorl %ecx, %ecx
subq (%r12), %rcx
pushq $-0x1
popq %rsi
leaq 0x1(%rsi), %rdx
cmpb $0x20, 0x1(%rax,%rsi)
je 0x128c3f
addq %rcx, %rsi
cmpq $-0x1, %rsi
movq %rdx, %rsi
jne 0x128c28
movq %r13, %rdi
movq %rax, %rsi
callq 0xacd9e
movl $0x0, 0x10(%rsp)
movq %r14, %r12
jmp 0x128c78
pushq $-0x1
popq %rcx
movl %ecx, 0x10(%rsp)
leaq 0x1ca495(%rip), %rsi    # 0x2f30fa
movq %r13, %rdi
callq 0xacbfb
movq (%rbx), %rsi
movq %r13, %rdi
callq 0xace26
movq 0x8(%rbx), %rax
movq 0x38(%rbx), %rcx
leaq (%r15,%rcx), %rdx
negq %rdx
addq %rax, %rdx
incq %rdx
movq 0x48(%rbx), %rax
subq %r15, %rcx
addq %rax, %rcx
incq %rcx
leaq 0x20e01d(%rip), %rsi    # 0x336cbe
pushq $0x3
popq %r8
movq %r13, %rdi
callq 0xd9acb
movq %r13, (%rsp)
movq %r15, %r13
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0xd96be
movq 0x18(%rsp), %rax
movq %r15, (%rax)
cmpq $0x2, 0x108(%rbp)
jb 0x128d61
movq 0x8(%rbx), %rcx
subq %r13, %rcx
movq %rcx, %rdx
subq 0x38(%rbx), %rdx
incq %rdx
leaq 0x20dfdc(%rip), %rsi    # 0x336ccc
pushq $0x3
popq %r8
movq (%rsp), %rbp
movq %rbp, %rdi
callq 0xd9acb
movq %r12, %r14
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
callq 0xd96be
movq %r15, %rdi
movq %r12, %rsi
callq 0xda055
movq 0x38(%rbx), %rax
movq 0x48(%rbx), %rdx
subq %r13, %rdx
leaq (%rdx,%rax), %rcx
incq %rcx
addq $0x2, %rdx
movq %rbp, %rdi
leaq 0x20df90(%rip), %rsi    # 0x336ccc
pushq $0x3
popq %r8
callq 0xd9acb
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
callq 0xd96be
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %r12
callq 0xda055
movq 0x8(%rbx), %rdx
movq 0x48(%rbx), %rcx
subq %r13, %rdx
incq %rdx
subq %r13, %rcx
incq %rcx
leaq 0x1d4e24(%rip), %rsi    # 0x2fdba0
pushq $0x3
popq %r8
movq (%rsp), %r14
movq %r14, %rdi
callq 0xd9acb
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0xd96be
movq %r15, %rdi
movq %rbp, %rsi
callq 0xda055
movsd 0x28(%rbx), %xmm0
leaq 0x1ee920(%rip), %rdx    # 0x3176d1
leaq 0xd0(%rsp), %r15
movl $0x1fff, %esi           # imm = 0x1FFF
movq %r15, %rdi
movb $0x1, %al
callq 0x17bf0
leaq 0x20df15(%rip), %rsi    # 0x336ce4
movq %rbp, %rdi
movq %r15, %rdx
callq 0xda48b
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rcx
subq %r13, %rdx
incq %rdx
subq %r13, %rcx
incq %rcx
leaq 0x20defe(%rip), %rsi    # 0x336cf3
movq %r14, %rdi
pushq $0x3
popq %r8
callq 0xd9acb
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0xd96be
movq %rbp, %rdi
movq %r15, %rsi
callq 0xda055
movq 0x40(%rbx), %rdx
movq 0x48(%rbx), %rcx
subq %r13, %rdx
incq %rdx
subq %r13, %rcx
incq %rcx
movq %r14, %rdi
leaq 0x20debb(%rip), %rsi    # 0x336cf3
pushq $0x3
popq %r8
callq 0xd9acb
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0xd96be
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xda055
movq %r14, %rdi
callq 0xae103
movq %r12, %rdi
callq 0xae103
movq 0x20(%rsp), %rax
incq 0xa0(%rax)
movl 0x10(%rsp), %eax
addq $0x20d8, %rsp           # imm = 0x20D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x30f0d5(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc176(%rip), %rsi    # 0x2e5013
leaq 0x20deb2(%rip), %rdx    # 0x336d56
leaq 0x20de96(%rip), %rcx    # 0x336d41
leaq 0x20dd31(%rip), %r8     # 0x336be3
movl $0x1e4, %r9d            # imm = 0x1E4
jmp 0x12912f
movq 0x30f0a4(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc145(%rip), %rsi    # 0x2e5013
leaq 0x20e026(%rip), %rdx    # 0x336efb
leaq 0x20e02a(%rip), %rcx    # 0x336f06
leaq 0x20dd00(%rip), %r8     # 0x336be3
movl $0x120, %r9d            # imm = 0x120
jmp 0x12912f
movq 0x30f073(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc114(%rip), %rsi    # 0x2e5013
leaq 0x20dff5(%rip), %rdx    # 0x336efb
leaq 0x20dff9(%rip), %rcx    # 0x336f06
leaq 0x20dccf(%rip), %r8     # 0x336be3
movl $0x129, %r9d            # imm = 0x129
jmp 0x12912f
movq 0x30f042(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc0e3(%rip), %rsi    # 0x2e5013
leaq 0x20de53(%rip), %rdx    # 0x336d8a
leaq 0x20de03(%rip), %rcx    # 0x336d41
leaq 0x20dc9e(%rip), %r8     # 0x336be3
movl $0x244, %r9d            # imm = 0x244
jmp 0x12912f
movq 0x30f011(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc0b2(%rip), %rsi    # 0x2e5013
leaq 0x20dec8(%rip), %rdx    # 0x336e30
leaq 0x20de4c(%rip), %rcx    # 0x336dbb
leaq 0x20dc6d(%rip), %r8     # 0x336be3
movl $0x183, %r9d            # imm = 0x183
jmp 0x12912f
movq 0x30efe0(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc081(%rip), %rsi    # 0x2e5013
leaq 0x20de39(%rip), %rdx    # 0x336dd2
leaq 0x20de1b(%rip), %rcx    # 0x336dbb
leaq 0x20dc3c(%rip), %r8     # 0x336be3
movl $0x181, %r9d            # imm = 0x181
jmp 0x12912f
movq 0x30efaf(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc050(%rip), %rsi    # 0x2e5013
leaq 0x20de33(%rip), %rdx    # 0x336dfd
leaq 0x20ddea(%rip), %rcx    # 0x336dbb
leaq 0x20dc0b(%rip), %r8     # 0x336be3
movl $0x182, %r9d            # imm = 0x182
jmp 0x12912f
movq 0x30ef7e(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bc01f(%rip), %rsi    # 0x2e5013
leaq 0x1bc1c4(%rip), %rdx    # 0x2e51bf
leaq 0x20dc88(%rip), %rcx    # 0x336c8a
leaq 0x20dbda(%rip), %r8     # 0x336be3
movl $0x293, %r9d            # imm = 0x293
jmp 0x12912f
movq 0x30ef4d(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bbfee(%rip), %rsi    # 0x2e5013
leaq 0x1bc193(%rip), %rdx    # 0x2e51bf
leaq 0x20dd88(%rip), %rcx    # 0x336dbb
leaq 0x20dba9(%rip), %r8     # 0x336be3
movl $0x17a, %r9d            # imm = 0x17A
jmp 0x12912f
movq 0x30ef1c(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bbfbd(%rip), %rsi    # 0x2e5013
leaq 0x20de08(%rip), %rdx    # 0x336e65
leaq 0x20dd57(%rip), %rcx    # 0x336dbb
leaq 0x20db78(%rip), %r8     # 0x336be3
movl $0x1aa, %r9d            # imm = 0x1AA
jmp 0x12912f
movq 0x30eeeb(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bbf8c(%rip), %rsi    # 0x2e5013
leaq 0x20de42(%rip), %rdx    # 0x336ed0
leaq 0x20de24(%rip), %rcx    # 0x336eb9
leaq 0x20db47(%rip), %r8     # 0x336be3
movl $0xf2, %r9d
jmp 0x12912f
movq 0x30eeba(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bbf5b(%rip), %rsi    # 0x2e5013
leaq 0x20dbde(%rip), %rdx    # 0x336c9d
leaq 0x20dbc4(%rip), %rcx    # 0x336c8a
leaq 0x20db16(%rip), %r8     # 0x336be3
movl $0x346, %r9d            # imm = 0x346
jmp 0x12912f
movq 0x30ee8c(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bbf2d(%rip), %rsi    # 0x2e5013
leaq 0x20dbbc(%rip), %rdx    # 0x336ca9
leaq 0x20db96(%rip), %rcx    # 0x336c8a
leaq 0x20dae8(%rip), %r8     # 0x336be3
movl $0x347, %r9d            # imm = 0x347
jmp 0x12912f
movq 0x30ee5e(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1bbeff(%rip), %rsi    # 0x2e5013
leaq 0x1bc0a4(%rip), %rdx    # 0x2e51bf
leaq 0x20dc1f(%rip), %rcx    # 0x336d41
leaq 0x20daba(%rip), %r8     # 0x336be3
movl $0x1da, %r9d            # imm = 0x1DA
xorl %eax, %eax
callq 0x17a50
callq 0x17390