// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/match/firstcodes.c
// Function: storefirstcodes_getencseqkmers_twobitencoding
int storefirstcodes_getencseqkmers_twobitencoding(const GtEncseq *encseq,
                                                  unsigned int kmersize,
                                                  unsigned int numofparts,
                                                  GtUword maximumspace,
                                                  unsigned int minmatchlength,
                                                  bool withsuftabcheck,
                                                  bool onlyaccumulation,
                                                  bool onlyallfirstcodes,
                                                  GT_UNUSED
                                                  unsigned int addbscache_depth,
                                                  GtUword phase2extra,
                    GT_UNUSED bool radixsmall,      /* set to true */
                    GT_UNUSED unsigned int radixparts, /* set to 2U */
                                                  GtFirstcodesintervalprocess
                                                    itvprocess,
                                                 GtFirstcodesintervalprocess_end
                                                     itvprocess_end,
                                                  void *itvprocessdatatab,
                                                  GtLogger *logger,
                                                  GtError *err)
{
  GtTimer *timer = NULL;
  GtFirstcodesinfo fci;
  size_t suftab_size = 0;
  unsigned int part, threadcount;
  GtUword maxbucketsize, suftabentries = 0, largest_width,
                totallength = gt_encseq_total_length(encseq),
                maxseqlength = gt_encseq_max_seq_length(encseq);
  GtSfxmappedrangelist *sfxmrlist = NULL;
  GtSuftabparts *suftabparts = NULL;
  GtShortreadsortworkinfo **srswtab = NULL;
  const GtReadmode readmode = GT_READMODE_FORWARD;
  bool haserr = false;
#ifdef GT_THREADS_ENABLED
  const unsigned int threads = gt_jobs;
#else
  const unsigned int threads = 1U;
#endif

  if (maxseqlength < (GtUword) minmatchlength)
  {
    return 0;
  }
  if (gt_firstcodes_init(&fci,
                         encseq,
                         kmersize,
                         withsuftabcheck,
                         minmatchlength,
                         err) != 0)
  {
    haserr = true;
  }
  if (!haserr)
  {
    sfxmrlist = gt_Sfxmappedrangelist_new();
    if (gt_showtime_enabled())
    {
      timer = gt_timer_new_with_progress_description("to collect initial "
                                                     "prefixes");
      gt_timer_start(timer);
    }
    gt_firstcodes_collectcodes(&fci,
                               encseq,
                               readmode,
                               kmersize,
                               minmatchlength,
                               addbscache_depth,
                               onlyallfirstcodes,
                               logger,
                               timer);
    if (fci.differentcodes > 0 && onlyallfirstcodes)
    {
      gt_free(fci.allfirstcodes);
      fci.allfirstcodes = NULL;
      gt_marksubstring_delete(fci.buf.markprefix,true);
      gt_marksubstring_delete(fci.buf.marksuffix,true);
      gt_firstcodes_countocc_delete(fci.fcsl,&fci.tab);
      gt_firstcodes_binsearchcache_delete(fci.binsearchcache,fci.fcsl);
      gt_firstcodes_spacelog_delete(fci.fcsl);
      gt_seqnumrelpos_delete(fci.buf.snrp);
      gt_Sfxmappedrangelist_delete(sfxmrlist);
      fci.binsearchcache = NULL;
      if (timer != NULL)
      {
        gt_timer_delete(timer);
      }
      return 0;
    }
    fci.flushcount = 0;
    fci.codebuffer_total = 0;
    if (gt_firstcodes_allocspace(&fci,
                                 numofparts,
                                 maximumspace,
                                 phase2extra,
                                 err) != 0)
    {
      haserr = true;
    }
  }
  fci.buf.nextfree = 0;
  if (!haserr)
  {
    gt_firstcodes_accumulatecounts_run(&fci,
                                       encseq,
                                       kmersize,
                                       minmatchlength,
                                       logger,
                                       timer);
    suftabentries = fci.firstcodehits + fci.numofsequences;
    if (timer != NULL)
    {
      gt_timer_show_progress(timer,"to compute partial sums",stdout);
    }
    maxbucketsize = gt_firstcodes_partialsums(fci.fcsl,&fci.tab,
                                              fci.allfirstcodes,suftabentries);
    gt_firstcodes_restore_from_differences(&fci);
    gt_logger_log(logger,"maximum space after computing partial sums: %.2f MB",
                  GT_MEGABYTES(gt_firstcodes_spacelog_total(fci.fcsl)));
    gt_logger_log(logger,"maxbucketsize="GT_WU"",maxbucketsize);
    gt_firstcodes_map_sections(&fci,sfxmrlist);
    if (numofparts == 0 || maximumspace > 0)
    {
      int retval = gt_firstcodes_auto_parts(&fci,
                                            sfxmrlist,
                                            numofparts,
                                            &maximumspace,
                                            maxbucketsize,
                                            kmersize,
                                            totallength,
                                            maxseqlength,
                                            suftabentries,
                                            phase2extra,
                                            err);
      if (retval < 0)
      {
        haserr = true;
      } else
      {
        numofparts = (unsigned int) retval;
      }
    }
  }
  if (!haserr)
  {
    gt_assert(numofparts > 0);
    suftabparts = gt_suftabparts_new(numofparts,
                                     NULL,
                                     (GtCodetype) 1,
                                     (GtCodetype) 0,
                                     &fci.tab,
                                     sfxmrlist,
                                     suftabentries,
                                     0,
                                     logger);
    gt_assert(suftabparts != NULL);
    gt_suftabparts_showallrecords(suftabparts,true);
    gt_assert(fci.allfirstcodes[fci.differentcodes - 1] ==
              gt_firstcodes_idx2code(&fci,
                                     gt_suftabparts_maxindex_last(suftabparts))
             );
    gt_Sfxmappedrangelist_delete(sfxmrlist);
    sfxmrlist = NULL;
    gt_firstcodes_samples_delete(fci.fcsl,&fci.tab);
    gt_assert(fci.buf.nextfree == 0);
    gt_firstcodes_handle_tmp(&fci,suftabparts);
    largest_width = gt_suftabparts_largest_width(suftabparts);
    fci.spmsuftab = gt_spmsuftab_new(largest_width,
                                     totallength,
                                     fci.bitsforposref,
                                     logger);
    suftab_size = gt_spmsuftab_requiredspace(largest_width,totallength,
                                             fci.bitsforposref);
    GT_FCI_ADDWORKSPACE(fci.fcsl,"suftab",suftab_size);
    fci.buf.flush_function = gt_firstcodes_insertsuffixes_flush;
    srswtab = gt_malloc(sizeof (*srswtab) * threads);
    for (threadcount = 0; threadcount < threads; threadcount++)
    {
      srswtab[threadcount]
        = gt_shortreadsort_new(maxbucketsize,maxseqlength - kmersize,
                               readmode,true,false);
    }
    GT_FCI_ADDWORKSPACE(fci.fcsl,"shortreadsort",
                        threads * gt_shortreadsort_size(true,maxbucketsize,
                                                        maxseqlength-kmersize));
    gt_firstcodes_allocsize_for_insertion(&fci,
                                          maximumspace,
                                          suftabparts,
                                          phase2extra);
    if (!onlyaccumulation)
    {
      fci.radixsort_codepos = gt_radixsort_new_ulongpair(fci.buf.allocated);
      GT_FCI_ADDWORKSPACE(fci.fcsl,"radixsort_codepos",
                          gt_radixsort_size(fci.radixsort_codepos));
      fci.buf.spaceGtUwordPair
        = gt_radixsort_space_ulongpair(fci.radixsort_codepos);
    }
    fci.codebuffer_total = 0;
    fci.flushcount = 0;
    for (part = 0; !haserr && !onlyaccumulation &&
                   part < gt_suftabparts_numofparts(suftabparts); part++)
    {
      if (gt_firstcodes_process_part(&fci,
                                     encseq,
                                     readmode,
                                     kmersize,
                                     minmatchlength,
                                     suftabparts,
                                     part,
                                     maximumspace,
                                     threads,
                                     suftabentries,
                                     withsuftabcheck,
                                     srswtab,
                                     itvprocess,
                                     itvprocess_end,
                                     itvprocessdatatab,
                                     logger,
                                     timer,
                                     err) != 0)
      {
        haserr = true;
      }
    }
  }
  if (timer != NULL)
  {
    gt_timer_show_progress(timer, "cleaning up",stdout);
  }
  if (!haserr)
  {
    GT_FCI_SUBTRACTWORKSPACE(fci.fcsl,"shortreadsort");
  }
  if (!haserr && !onlyaccumulation && srswtab != NULL)
  {
    GtUword sumofstoredvalues = 0;

    for (threadcount=0; threadcount<threads; threadcount++)
    {
      sumofstoredvalues +=
        gt_shortreadsort_sumofstoredvalues(srswtab[threadcount]);
    }
    gt_logger_log(logger,"average short read depth is %.2f",
                      (double) sumofstoredvalues/fci.firstcodeposhits);
  }
  if (!haserr)
  {
    if (!onlyaccumulation)
    {
      gt_assert(fci.flushcount > 0);
      gt_logger_log(logger,"firstcodeposhits="GT_WU" (%.3f%% of all suffixes), "
                           "%u rounds (avg length "GT_WU")",
                           fci.firstcodeposhits,
                           100.0 * (double) fci.firstcodeposhits/totallength,
                           fci.flushcount,
                           fci.codebuffer_total/fci.flushcount);
      gt_assert(fci.firstcodeposhits == suftabentries);
    } else
    {
      gt_firstcode_delete_before_end(&fci);
    }
  }
  if (srswtab != NULL)
  {
    for (threadcount=0; threadcount<threads; threadcount++)
    {
      gt_shortreadsort_delete(srswtab[threadcount]);
    }
    gt_free(srswtab);
  }
  if (haserr)
  {
    gt_firstcode_delete_before_end(&fci);
    gt_free(fci.allfirstcodes);
    fci.allfirstcodes = NULL;
    gt_Sfxmappedrangelist_delete(sfxmrlist);
    fci.buf.spaceGtUword = NULL;
    gt_radixsort_delete(fci.radixsort_code);
  }
  gt_suftabparts_delete(suftabparts);
  gt_firstcodes_countocc_delete(fci.fcsl,&fci.tab);
  gt_firstcodes_tab_delete(fci.fcsl,&fci.tab);
  if (fci.spmsuftab != NULL)
  {
    gt_spmsuftab_delete(fci.spmsuftab);
    GT_FCI_SUBTRACTWORKSPACE(fci.fcsl,"suftab");
    fci.spmsuftab = NULL;
  }
  gt_Sfxmappedrange_delete(fci.mappedleftborder);
  if (fci.mappedallfirstcodes == NULL && fci.allfirstcodes != NULL)
  {
    GT_FCI_SUBTRACTSPLITSPACE(fci.fcsl,"allfirstcodes");
  }
  gt_Sfxmappedrange_delete(fci.mappedallfirstcodes);
  gt_seqnumrelpos_delete(fci.buf.snrp);
  gt_firstcodes_spacelog_stop_diff(fci.fcsl);
  GT_FCI_SUBTRACTWORKSPACE(fci.fcsl,"encseq");
  gt_firstcodes_spacelog_delete(fci.fcsl);
  if (timer != NULL)
  {
    gt_timer_show_progress_final(timer, stdout);
    gt_timer_delete(timer);
  }
  return haserr ? -1 : 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2e8, %rsp            # imm = 0x2E8
movl %r9d, 0xac(%rsp)
movl %r8d, %ebx
movq %rcx, %r15
movl %edx, 0x68(%rsp)
movl %esi, %ebp
movq %rdi, %r13
callq 0xe7b9c
movq %rax, %r14
movq %r13, %rdi
callq 0xebd5d
movl %ebx, 0xa8(%rsp)
movl %ebx, %r12d
xorl %ebx, %ebx
movq %rax, 0xb8(%rsp)
cmpq %r12, %rax
jb 0x1ab34e
leaq 0x30f2d7(%rip), %rax    # 0x4b9e18
movl (%rax), %eax
movq %rax, 0xa0(%rsp)
movq %r13, %rdi
callq 0xebd5d
movq %rax, %rbx
movq %r13, 0x98(%rsp)
movq %r13, %rdi
callq 0xe7b9c
movq %rax, %xmm1
punpckldq 0x19cd6d(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19cd75(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
callq 0x17610
addsd 0x1ab2b4(%rip), %xmm0   # 0x355e48
callq 0x17d40
cvttsd2si %xmm0, %rax
cmpl $0x8, %eax
jb 0x1aabba
addl $-0x8, %eax
cmpl $0x9, %eax
movl $0x8, %esi
cmovael %eax, %esi
movl %esi, 0x12c(%rsp)
jmp 0x1aabd7
movl %ebp, %eax
shrl %eax
cmpl $0x8, %eax
movl $0x8, %esi
cmovbl %eax, %esi
movl %esi, 0x12c(%rsp)
movl %esi, %edx
cmpl $0x4, %ebp
jb 0x1aabda
leal -0x1(%rsi), %edx
movl %edx, 0x128(%rsp)
leal (%rdx,%rsi), %eax
cmpl %ebp, %eax
movq %r14, 0x280(%rsp)
jbe 0x1aac1e
movl %edx, %eax
movl %ebp, %edx
shrl %edx
testb $0x1, %al
jne 0x1aac0c
movl %edx, 0x12c(%rsp)
movl %edx, 0x128(%rsp)
movl %edx, %esi
jmp 0x1aac1e
movl %edx, 0x128(%rsp)
movl %ebp, %esi
subl %edx, %esi
movl %esi, 0x12c(%rsp)
movl %ebp, 0x74(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x1faff3(%rip), %rdi    # 0x3a5c24
xorl %r15d, %r15d
xorl %eax, %eax
callq 0x103d72
movq %rbx, %rax
subq %r12, %rax
cmovaeq %rax, %r15
movq %r15, %rdi
callq 0x105e91
movl %eax, %r12d
movl %eax, %edi
movq 0x98(%rsp), %r14
movq %r14, %rsi
callq 0x1e2bc4
movq %rax, %r13
movq %rax, 0x1c8(%rsp)
movb $0x0, 0x1d8(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x1a0(%rsp)
movq %r14, %rdi
callq 0xe7bac
movq %rax, 0xe8(%rsp)
testq %rax, %rax
je 0x1acc5a
movq %rax, %r15
leaq -0x1(%rax), %rdi
callq 0x105e91
movl %eax, %ebp
leal (%r12,%rbp), %r14d
cmpl $0x41, %r14d
jb 0x1aace9
movq %r13, %rdi
callq 0x1e2c02
movq $0x0, 0x1c8(%rsp)
leaq 0x1fafa7(%rip), %rsi    # 0x3a5c75
movq 0x370(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
movl %ebp, %r8d
movl %r12d, %r9d
xorl %eax, %eax
callq 0xfcb67
callq 0x316800
movq %rax, %rbx
movq %rax, 0x178(%rsp)
movq $0x0, 0x118(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x138(%rsp)
movupd %xmm0, 0x148(%rsp)
movupd %xmm0, 0x158(%rsp)
movupd %xmm0, 0x1b8(%rsp)
movq 0x98(%rsp), %rdi
callq 0xf64eb
movq %rax, (%rsp)
leaq 0x1facef(%rip), %rdx    # 0x3a5a34
leaq 0x1dc4b1(%rip), %r8     # 0x3871fd
movq %rbx, %rdi
movl $0x2e6, %esi            # imm = 0x2E6
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x316945
cmpb $0x0, 0xac(%rsp)
je 0x1aad76
movq %rbx, %rdi
callq 0x316833
cmpl $0x40, %r14d
jbe 0x1aad81
xorl %r12d, %r12d
jmp 0x1aadc2
shlq $0x3, %r15
leaq 0x1faca8(%rip), %r13    # 0x3a5a34
movq %r15, %rdi
movq %r13, %rsi
movl $0x2ef, %edx            # imm = 0x2EF
callq 0x104226
movq %rax, %r12
movq %r15, (%rsp)
leaq 0x19faa3(%rip), %r8     # 0x34a84d
movq %rbx, %rdi
movl $0x2f0, %esi            # imm = 0x2F0
movq %r13, %rdx
movl $0x1, %ecx
xorl %r9d, %r9d
callq 0x316945
xorl %ebp, %ebp
cmpl $0x41, %r14d
setae %r15b
leaq 0x1e0(%rsp), %rbx
movq %r12, -0x78(%rbx)
movq %rbx, %rdi
callq 0x317b59
xorpd %xmm0, %xmm0
movapd %xmm0, -0x110(%rbx)
movq $0x0, -0x100(%rbx)
movl %r14d, -0xb0(%rbx)
cmpl $0x40, %r14d
jbe 0x1aafc6
movq $0x0, 0x190(%rsp)
movb $0x1, %bpl
xorl %r13d, %r13d
xorl %r12d, %r12d
movq $0x0, 0x60(%rsp)
leaq 0xd0(%rsp), %rbx
movq %rbx, %rdi
callq 0x1acf18
movq 0x98(%rbx), %rdi
leaq 0x1fabf0(%rip), %rsi    # 0x3a5a34
movl $0x5f5, %edx            # imm = 0x5F5
callq 0x1045eb
xorl %r14d, %r14d
movq %r14, 0x98(%rbx)
movq %r12, %rdi
callq 0x1ef5a6
movq %r14, 0xf0(%rbx)
movq 0x68(%rbx), %rdi
callq 0x10f61d
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x60(%rsp), %rdi
callq 0x1efe4a
movq 0x178(%rsp), %rdi
leaq 0x1e0(%rsp), %r14
movq %r14, %rsi
callq 0x317aa4
movq 0x178(%rsp), %rdi
movq %r14, %rsi
callq 0x317b11
movq 0x148(%rsp), %rdi
testq %rdi, %rdi
je 0x1aaef0
callq 0x1febde
movq 0x178(%rsp), %rdi
xorl %r14d, %r14d
movq %r14, (%rsp)
leaq 0x1fab65(%rip), %rdx    # 0x3a5a34
leaq 0x23708f(%rip), %r8     # 0x3e1f65
movl $0x601, %esi            # imm = 0x601
xorl %ecx, %ecx
movl $0x1, %r9d
callq 0x316945
movq %r14, 0x148(%rsp)
movq 0x150(%rsp), %rdi
callq 0x1ef400
movq 0x158(%rsp), %rdi
testq %rdi, %rdi
jne 0x1aaf4a
cmpq $0x0, 0x168(%rsp)
je 0x1aaf4a
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
leaq 0x1fab08(%rip), %rdx    # 0x3a5a34
leaq 0x19f91a(%rip), %r8     # 0x34a84d
movl $0x607, %esi            # imm = 0x607
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x316945
movq 0x158(%rsp), %rdi
callq 0x1ef400
movq 0x1c8(%rsp), %rdi
callq 0x1e2c02
movq 0x178(%rsp), %rdi
callq 0x316841
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
leaq 0x1faab4(%rip), %rdx    # 0x3a5a34
leaq 0x1dc276(%rip), %r8     # 0x3871fd
movl $0x60c, %esi            # imm = 0x60C
xorl %ecx, %ecx
movl $0x1, %r9d
callq 0x316945
movq 0x178(%rsp), %rdi
callq 0x3168f6
testb %bpl, %bpl
jne 0x1ab34e
movq 0x30df22(%rip), %rax    # 0x4b8ed8
movq (%rax), %rsi
movq %r13, %rdi
callq 0x11cf39
jmp 0x1ab346
movl %r15d, 0x58(%rsp)
callq 0x1ef47b
movq %rax, %r13
callq 0x119160
testb %al, %al
je 0x1aaff5
leaq 0x1faa35(%rip), %rdi    # 0x3a5a18
callq 0x11c986
movq %rax, %r15
movq %rax, %rdi
callq 0x11c9e3
jmp 0x1aaff8
xorl %r15d, %r15d
movq 0x98(%rsp), %r12
movq %r13, 0x88(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%rsp)
leaq 0xd0(%rsp), %rbx
movq %rbx, (%rsp)
leaq 0x2074(%rip), %r9       # 0x1ad099
movq %r12, %rdi
xorl %esi, %esi
movl 0x74(%rsp), %edx
movl 0xa8(%rsp), %ecx
movl $0x1, %r8d
callq 0x1f73f9
movq 0x10(%rbx), %rdx
movq %rdx, 0x18(%rbx)
leaq 0x1fac7b(%rip), %rsi    # 0x3a5cca
movq 0x368(%rsp), %rdi
xorl %eax, %eax
callq 0x103fe1
testq %r15, %r15
je 0x1ab0a5
movq 0x30de6e(%rip), %r14    # 0x4b8ed8
movq (%r14), %rdx
leaq 0x1fac73(%rip), %rsi    # 0x3a5ce7
movq %r15, %rdi
callq 0x11cc90
movq 0xe8(%rsp), %rsi
movq 0x168(%rsp), %rdi
callq 0x10f85a
movq (%r14), %rdx
leaq 0x1fac65(%rip), %rsi    # 0x3a5d00
movq %r15, %rdi
callq 0x11cc90
jmp 0x1ab0ba
movq 0xe8(%rsp), %rsi
movq 0x168(%rsp), %rdi
callq 0x10f85a
movq %r15, 0x78(%rsp)
movq %r12, %rdi
callq 0xebcb6
cmpl $0x4, %eax
jne 0x1acc64
movl 0x12c(%rsp), %ecx
movl $0x4, %edi
movl 0x74(%rsp), %r14d
movl %r14d, %esi
xorl %edx, %edx
callq 0x1b7cb8
movq %rax, 0x1a0(%rsp)
movq %rax, %rdi
callq 0x1b7e2e
addl $0x6, %eax
movl %eax, 0x124(%rsp)
movq 0x178(%rsp), %r12
movq 0x1a0(%rsp), %rdi
callq 0x1b7e37
movq %rax, (%rsp)
leaq 0x1fa90f(%rip), %r15    # 0x3a5a34
leaq 0x1fac15(%rip), %r8     # 0x3a5d41
movq %r12, %rdi
movl $0x324, %esi            # imm = 0x324
movq %r15, %rdx
movl $0x1, %ecx
xorl %r9d, %r9d
callq 0x316945
movl 0x128(%rsp), %ecx
movl $0x4, %edi
movl %r14d, %esi
movl $0x1, %edx
callq 0x1b7cb8
movq %rax, 0x1a8(%rsp)
movq 0x178(%rsp), %r12
movq %rax, %rdi
callq 0x1b7e37
movq %rax, (%rsp)
leaq 0x1fabcc(%rip), %r8     # 0x3a5d4c
movq %r12, %rdi
movl $0x328, %esi            # imm = 0x328
movq %r15, %rdx
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x316945
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x1acc69
movl 0x330(%rsp), %eax
movb 0x328(%rsp), %r14b
leaq 0x118(%rsp), %r15
movq (%rdi), %rcx
movq %rcx, 0x58(%r15)
movq -0x30(%r15), %rcx
movq 0x60(%r15), %rsi
movq 0x88(%r15), %r8
movq 0x90(%r15), %r9
movq 0x368(%rsp), %rdx
movq %rdx, 0x18(%rsp)
movzbl %r14b, %edx
movl %edx, 0x10(%rsp)
movl %eax, 0x8(%rsp)
movq %r15, (%rsp)
leaq 0x1e0(%rsp), %rdx
callq 0x316cc4
movq %rax, -0x10(%r15)
testq %rax, %rax
movq 0xa0(%rsp), %r12
je 0x1ab289
cmpq 0xe8(%rsp), %rax
jae 0x1ab289
movq 0x168(%rsp), %rdi
shlq $0x3, %rax
leaq 0x1fa7fc(%rip), %r15    # 0x3a5a34
movq %rax, %rsi
movq %r15, %rdx
movl $0x339, %ecx            # imm = 0x339
callq 0x104461
movq %rax, 0x168(%rsp)
movq 0x108(%rsp), %rax
movq 0x178(%rsp), %rdi
shlq $0x3, %rax
movq %rax, (%rsp)
leaq 0x19f5de(%rip), %r8     # 0x34a84d
movl $0x33c, %esi            # imm = 0x33C
movq %r15, %rdx
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x316945
movq 0x108(%rsp), %rax
testq %rax, %rax
sete %cl
xorb $0x1, %r14b
orb %cl, %r14b
movq 0x78(%rsp), %r13
jne 0x1ab362
movq 0x168(%rsp), %rdi
leaq 0x1fa784(%rip), %rsi    # 0x3a5a34
movl $0x52d, %edx            # imm = 0x52D
callq 0x1045eb
xorl %ebx, %ebx
movq %rbx, 0x168(%rsp)
movq 0x1a0(%rsp), %rdi
movl $0x1, %esi
callq 0x1b7d90
movq 0x1a8(%rsp), %rdi
movl $0x1, %esi
callq 0x1b7d90
movq 0x178(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0x317aa4
movq 0x118(%rsp), %rdi
movq 0x178(%rsp), %rsi
callq 0x314157
movq 0x178(%rsp), %rdi
callq 0x3168f6
movq 0x1c8(%rsp), %rdi
callq 0x1e2c02
movq 0x88(%rsp), %rdi
callq 0x1ef5a6
movq %rbx, 0x118(%rsp)
testq %r13, %r13
je 0x1ab34e
movq %r13, %rdi
callq 0x11d054
movl %ebx, %eax
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r13, %r15
movq 0x338(%rsp), %r13
movl $0x0, 0x120(%rsp)
movq $0x0, 0xf0(%rsp)
movq 0x80(%rsp), %r14
testq %r14, %r14
je 0x1ab3e9
movq 0x178(%rsp), %rdi
callq 0x316846
movq %rax, %r15
addq %r13, %r15
movq 0x178(%rsp), %rdi
callq 0x316846
cmpq %r14, %r15
jae 0x1ab415
addq %r13, %rax
movq %r14, %rdi
subq %rax, %rdi
callq 0x10f82e
movq 0x108(%rsp), %rdi
shrq $0x4, %rdi
cmpq %rdi, %rax
cmovaq %rax, %rdi
movq %rdi, 0x198(%rsp)
movq 0x78(%rsp), %rcx
jmp 0x1ab509
movabsq $-0x3333333333333333, %r14 # imm = 0xCCCCCCCCCCCCCCCD
cmpl $0x0, 0x68(%rsp)
je 0x1ab4df
mulq %r14
movq %rdx, %rdi
shrq $0x2, %rdi
movq %rdi, 0x198(%rsp)
jmp 0x1ab506
movq %rax, %xmm1
movq 0x19c4be(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x19c4c2(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x19c4ba(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %r13, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %r14, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x1fa961(%rip), %rsi    # 0x3a5dec
movq 0x370(%rsp), %rdi
movb $0x3, %al
callq 0xfcb67
movq $0x0, 0x190(%rsp)
movb $0x1, %al
movl %eax, 0x58(%rsp)
movq $0x0, 0xb0(%rsp)
movq $0x0, 0x60(%rsp)
movq $0x0, 0x90(%rsp)
movq 0x78(%rsp), %r13
movq 0x88(%rsp), %r14
jmp 0x1ac9d8
movq 0x178(%rsp), %rdi
callq 0x316846
mulq %r14
movq %rdx, %rdi
shrq $0x2, %rdi
callq 0x10f82e
movq %rax, %rdi
movq %rax, 0x198(%rsp)
movq %r15, %rcx
cmpq $0xf, %rdi
ja 0x1ab520
movq $0x10, 0x198(%rsp)
movl $0x10, %edi
movq $0x0, 0x190(%rsp)
testq %rcx, %rcx
je 0x1ab55b
movq 0x30d9a0(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x1fa90b(%rip), %rsi    # 0x3a5e4d
movq %rcx, %rdi
callq 0x11cc90
movq 0x198(%rsp), %rdi
testq %rdi, %rdi
je 0x1acc78
leaq 0x180(%rsp), %r15
callq 0x10f3a1
movq %rax, -0x48(%r15)
movq %rax, %rdi
callq 0x10fe5e
movq %rax, 0x40(%r15)
movq -0x48(%r15), %rdi
movq -0x8(%r15), %r12
callq 0x10f615
movq %rax, (%rsp)
leaq 0x1fa4a4(%rip), %rdx    # 0x3a5a34
leaq 0x1fa905(%rip), %r8     # 0x3a5e9c
movq %r12, %rdi
movl $0x37f, %esi            # imm = 0x37F
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x316945
movq %rbx, 0x50(%r15)
leaq 0x1b12(%rip), %rax      # 0x1ad0cc
movq %rax, 0x30(%r15)
movq -0x8(%r15), %rdi
callq 0x316846
movq %rax, %xmm1
punpckldq 0x19c30c(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19c314(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x19c310(%rip), %xmm0   # 0x347900
leaq 0x1fa8b4(%rip), %rsi    # 0x3a5eab
movq 0x368(%rsp), %r14
movq %r14, %rdi
movb $0x1, %al
callq 0x103fe1
movq 0x98(%rsp), %r12
movq %r12, %rdi
movl 0x74(%rsp), %esi
movl 0xa8(%rsp), %edx
movq %r15, %rcx
callq 0x311c98
movq %rbx, %rdi
callq 0x1ad0cc
movq -0x90(%r15), %rbx
movq %rbx, %xmm0
punpckldq 0x19c29d(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x19c2a5(%rip), %xmm0   # 0x3478f0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
mulsd 0x19e181(%rip), %xmm1   # 0x3497e0
movapd %xmm1, 0x270(%rsp)
movq %r12, %rdi
callq 0xe7b9c
movq %rax, %xmm0
punpckldq 0x19c263(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x19c26b(%rip), %xmm0   # 0x3478f0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd 0x270(%rsp), %xmm0
divsd %xmm1, %xmm0
leaq 0x1fa834(%rip), %rsi    # 0x3a5ed9
movq %r14, %rdi
movq %rbx, %rdx
movb $0x1, %al
callq 0x103fe1
movq -0xb0(%r15), %rbx
movq 0x78(%rsp), %r14
testq %rbx, %rbx
je 0x1ab775
cmpl $0x0, 0x120(%rsp)
je 0x1acc7d
movq %rbx, %xmm0
movq 0x19c1fe(%rip), %xmm1   # 0x3478e0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x19c202(%rip), %xmm1   # 0x3478f0
subpd %xmm1, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
mulsd 0x19e0da(%rip), %xmm1   # 0x3497e0
movapd %xmm1, 0x270(%rsp)
movq %r12, %rdi
callq 0xe7b9c
movq %rax, %xmm0
punpckldq 0x19c1bc(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x19c1c4(%rip), %xmm0   # 0x3478f0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd 0x270(%rsp), %xmm0
divsd %xmm1, %xmm0
movl 0x120(%rsp), %ecx
movq 0xf0(%rsp), %rax
xorl %edx, %edx
divq %rcx
leaq 0x1fa7bb(%rip), %rsi    # 0x3a5f1b
movq 0x368(%rsp), %rdi
movq %rbx, %rdx
movq %rax, %r8
movb $0x1, %al
callq 0x103fe1
movq 0x138(%rsp), %rdi
callq 0x10f61d
xorl %eax, %eax
movq %rax, 0x138(%rsp)
movq 0x178(%rsp), %rdi
movq %rax, (%rsp)
leaq 0x1fa295(%rip), %rdx    # 0x3a5a34
leaq 0x1fa6f6(%rip), %r8     # 0x3a5e9c
movl $0x397, %esi            # imm = 0x397
xorl %ecx, %ecx
movl $0x1, %r9d
callq 0x316945
movq 0xe8(%rsp), %rax
addq 0xd0(%rsp), %rax
movq %rax, 0xb0(%rsp)
testq %r14, %r14
je 0x1ab7ee
movq 0x30d6fc(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x1fa265(%rip), %rsi    # 0x3a5a4b
movq %r14, %rdi
callq 0x11cc90
movq 0x168(%rsp), %rdx
movq 0x178(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
movq 0xb0(%rsp), %rcx
callq 0x3173fd
movq %rax, %rbx
movq 0x168(%rsp), %rax
movq 0x170(%rsp), %rcx
movq %rcx, (%rax)
cmpq $0x2, 0x108(%rsp)
movq 0xa0(%rsp), %r12
jb 0x1ab863
movl $0x1, %ecx
movq 0x238(%rsp), %rdx
andq (%rax,%rcx,8), %rdx
addq -0x8(%rax,%rcx,8), %rdx
movq %rdx, (%rax,%rcx,8)
incq %rcx
cmpq 0x108(%rsp), %rcx
jb 0x1ab841
leaq 0xd0(%rsp), %r15
movq 0xa8(%r15), %rdi
callq 0x316846
movq %rax, %xmm1
punpckldq 0x19c05c(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19c064(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x19c060(%rip), %xmm0   # 0x347900
leaq 0x1fa1bc(%rip), %rsi    # 0x3a5a63
movq 0x368(%rsp), %r14
movq %r14, %rdi
movb $0x1, %al
callq 0x103fe1
leaq 0x1fa1d7(%rip), %rsi    # 0x3a5a97
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x103fe1
movq 0xd0(%r15), %rdi
callq 0x1b7e32
leaq 0x1fa461(%rip), %rdi    # 0x3a5d41
leaq 0x18a5(%rip), %rcx      # 0x1ad18c
movq %rax, %rsi
xorl %edx, %edx
movq %r15, %r8
callq 0x1eee48
movq %rax, 0x90(%r15)
movq 0x88(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x1ef4a2
movq 0x38(%r15), %rsi
testq %rsi, %rsi
je 0x1ab974
leaq 0x19ef2f(%rip), %rdi    # 0x34a84d
movl $0x1, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x1eee48
movq %rax, 0x158(%rsp)
movq %r14, %rdi
movq %rax, %rsi
callq 0x1ef4a2
movq 0x108(%rsp), %rsi
incq %rsi
leaq 0x1c3668(%rip), %rdi    # 0x36efba
movl $0x2, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x1eee48
movq %rax, 0x150(%rsp)
movq %r14, %rdi
movq %rax, %rsi
callq 0x1ef4a2
movl 0x68(%rsp), %edx
testl %edx, %edx
setne %al
cmpq $0x0, 0x80(%rsp)
sete %cl
testb %cl, %al
jne 0x1ab9a1
testl %edx, %edx
je 0x1ab9b1
cmpq $0x0, 0x80(%rsp)
jne 0x1aba01
callq 0x63c39
xorl %ebp, %ebp
movq 0x78(%rsp), %r13
movl 0x58(%rsp), %ecx
jmp 0x1abaef
cmpq $0x0, 0x80(%rsp)
jne 0x1aba01
movq 0x178(%rsp), %rdi
callq 0x316852
movq %rax, %r15
movl 0x74(%rsp), %eax
movq 0xb8(%rsp), %rdx
subq %rax, %rdx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1f5190
addq 0x338(%rsp), %r15
addq %r15, %rax
addq $0x4000, %rax           # imm = 0x4000
movq %rax, 0x80(%rsp)
movq 0x150(%rsp), %r15
testq %r15, %r15
je 0x1aba31
leaq 0x1e0(%rsp), %r14
movq %r14, %rdi
callq 0x317949
leaq -0x1(%rax), %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x1ef0f6
movq %rax, %r15
jmp 0x1aba3c
xorl %r15d, %r15d
leaq 0x1e0(%rsp), %r14
movq 0x178(%rsp), %rdi
callq 0x316846
addq 0x338(%rsp), %r15
addq %rax, %r15
movl 0x130(%rsp), %eax
movq 0x370(%rsp), %rcx
movq %rcx, 0x20(%rsp)
movq 0xb0(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movl %eax, (%rsp)
movl $0x0, 0x18(%rsp)
movq $0x0, 0x8(%rsp)
movq %r15, %rdi
movq 0x80(%rsp), %rsi
xorl %edx, %edx
movq %r14, %rcx
movq 0x88(%rsp), %r14
movq %r14, %r8
movq 0x280(%rsp), %r9
callq 0x1eff1f
testl %eax, %eax
js 0x1abac1
movq 0x78(%rsp), %r13
jne 0x1abacb
callq 0x63c72
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x78(%rsp), %r13
testl %eax, %eax
movl 0x58(%rsp), %ecx
movb %cl, %bpl
movl $0x1, %ecx
cmovnsl %ebp, %ecx
movl 0x68(%rsp), %edx
cmovnsl %eax, %edx
movl %edx, 0x68(%rsp)
movq 0x80(%rsp), %rbp
movl %ecx, 0x58(%rsp)
testb %cl, %cl
je 0x1abb11
movq $0x0, 0x60(%rsp)
movq $0x0, 0x90(%rsp)
jmp 0x1ac9d8
movl 0x68(%rsp), %edi
testl %edi, %edi
je 0x1acc82
movq 0x368(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0xb0(%rsp), %rax
movq %rax, (%rsp)
movq $0x0, 0x8(%rsp)
movl $0x1, %edx
xorl %esi, %esi
xorl %ecx, %ecx
leaq 0x1e0(%rsp), %r8
movq %r14, %r9
callq 0x1ef8a9
testq %rax, %rax
je 0x1acc87
movq %rax, %r12
movq %rax, %rdi
movl $0x1, %esi
callq 0x1ef5e4
leaq 0xd0(%rsp), %r14
movq 0x38(%r14), %rax
movq 0x98(%r14), %rcx
movq -0x8(%rcx,%rax,8), %r15
movq %r12, %rdi
callq 0x1efe85
movq %r14, %rdi
movq %rax, %rsi
callq 0x1accb9
cmpq %rax, %r15
jne 0x1acc8c
movq 0x88(%rsp), %rdi
callq 0x1ef5a6
movq 0x178(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0x317a43
cmpq $0x0, 0x190(%rsp)
jne 0x1acc91
movq %r12, 0x60(%rsp)
movq %rbp, 0x80(%rsp)
movq 0x150(%rsp), %r14
testq %r14, %r14
je 0x1acc96
leaq 0x1e0(%rsp), %rbp
movq %rbp, %rdi
callq 0x317b87
movq %rax, %r15
movq %rbp, %rdi
callq 0x317b7d
movq %rax, %r12
movq %rbp, %rdi
callq 0x317949
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %rax, %rcx
movl $0x1, %r8d
callq 0x1ef045
movq 0x60(%rsp), %rdi
callq 0x1eff10
cmpl $0x2, %eax
jb 0x1abd31
cmpq $0x0, 0x168(%rsp)
movq 0xa0(%rsp), %r12
movq 0x78(%rsp), %r15
je 0x1acca5
movq 0x158(%rsp), %rdi
testq %rdi, %rdi
je 0x1accaa
leaq 0x168(%rsp), %r14
movq %r14, %rsi
xorl %edx, %edx
callq 0x1eef1f
movq 0x10(%r14), %rdi
movq $0x0, (%rsp)
leaq 0x1f9d9e(%rip), %rdx    # 0x3a5a34
leaq 0x19ebb0(%rip), %r8     # 0x34a84d
movl $0x402, %esi            # imm = 0x402
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x316945
cmpq $0x0, (%r14)
jne 0x1accaf
movq 0x1a0(%rsp), %rdi
xorl %esi, %esi
callq 0x1b7e3b
movq 0x160(%rsp), %r14
testq %r14, %r14
je 0x1accb4
movq 0x1a0(%rsp), %rdi
callq 0x1b7e5a
movq %r14, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x1ef030
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
leaq 0x1f9d2d(%rip), %rdx    # 0x3a5a34
leaq 0x1fa033(%rip), %r8     # 0x3a5d41
movl $0x40a, %esi            # imm = 0x40A
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x316945
movq 0x1a0(%rsp), %rdi
movl $0x1, %esi
callq 0x1b7e3b
jmp 0x1abd6b
movq 0x158(%rsp), %rdi
callq 0x1ef400
xorl %r14d, %r14d
movq %r14, 0x158(%rsp)
movq 0x160(%rsp), %rdi
callq 0x1ef400
movq %r14, 0x160(%rsp)
movq 0xa0(%rsp), %r12
movq 0x78(%rsp), %r15
movq 0x60(%rsp), %rdi
callq 0x1efef0
movq %rax, %r14
movl 0x130(%rsp), %edx
movq %rax, %rdi
movq 0x280(%rsp), %rbp
movq %rbp, %rsi
movq 0x368(%rsp), %rcx
callq 0x1feacc
movq %rax, 0x148(%rsp)
movl 0x130(%rsp), %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x1febb2
movq 0x178(%rsp), %rdi
movq %rax, (%rsp)
leaq 0x1f9c6d(%rip), %r14    # 0x3a5a34
leaq 0x236197(%rip), %r8     # 0x3e1f65
movl $0x591, %esi            # imm = 0x591
movq %r14, %rdx
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x316945
leaq 0xeef(%rip), %rax       # 0x1accdc
movq %rax, 0x1b0(%rsp)
leaq (,%r12,8), %rdi
movq %rdi, 0x2a0(%rsp)
movq %r14, %rsi
movl $0x593, %edx            # imm = 0x593
callq 0x104226
movq %rax, %rbp
movl 0x74(%rsp), %eax
movq 0xb8(%rsp), %r13
movq %rax, 0x298(%rsp)
subq %rax, %r13
testq %r12, %r12
je 0x1abe56
xorl %r14d, %r14d
movq %rbx, %rdi
movq %r13, %rsi
xorl %edx, %edx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x1f5256
movq %rax, (%rbp,%r14,8)
incq %r14
cmpq %r14, %r12
jne 0x1abe34
movq %rbp, 0x90(%rsp)
movq 0x178(%rsp), %r14
movl $0x1, %edi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x1f5190
imulq %r12, %rax
movq %rax, (%rsp)
leaq 0x1f9baf(%rip), %rdx    # 0x3a5a34
leaq 0x1fc964(%rip), %r8     # 0x3a87f0
movq %r14, %rdi
movl $0x59c, %esi            # imm = 0x59C
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x316945
movq 0x80(%rsp), %rbp
testq %rbp, %rbp
je 0x1abef6
movq 0x178(%rsp), %rdi
callq 0x31684e
movq %rax, %rbx
movq 0x60(%rsp), %rdi
callq 0x1eff00
movq 0x338(%rsp), %rcx
addq %rax, %rcx
addq %rbx, %rcx
movq %rbp, %rdi
subq %rcx, %rdi
movq %r15, %r13
jbe 0x1abf0e
callq 0x10f836
movq %rax, %rdi
movq %rax, 0x198(%rsp)
jmp 0x1abf22
movq 0x198(%rsp), %rdi
shrq %rdi
movq %rdi, 0x198(%rsp)
movq %r15, %r13
jmp 0x1abf61
movq 0x198(%rsp), %rdi
shrq $0x2, %rdi
movq %rdi, 0x198(%rsp)
movq 0xe8(%rsp), %rcx
addq 0xf0(%rsp), %rcx
movq %rcx, %rax
xorl %edx, %edx
divq %rdi
cmpq $0x191, %rax            # imm = 0x191
jb 0x1abf61
shrq $0x4, %rcx
movabsq $0xa3d70a3d70a3d71, %rdx # imm = 0xA3D70A3D70A3D71
movq %rcx, %rax
mulq %rdx
movq %rdx, %rdi
movq %rdx, 0x198(%rsp)
cmpb $0x0, 0x320(%rsp)
jne 0x1abfc7
callq 0x10f5e0
movq %rax, 0x140(%rsp)
movq 0x178(%rsp), %rbx
movq %rax, %rdi
callq 0x10f615
movq %rax, (%rsp)
leaq 0x1f9aa1(%rip), %rdx    # 0x3a5a34
leaq 0x1f9bc8(%rip), %r8     # 0x3a5b62
movq %rbx, %rdi
movl $0x5a5, %esi            # imm = 0x5A5
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x316945
movq 0x140(%rsp), %rdi
callq 0x10fe75
movq %rax, 0x1b8(%rsp)
leaq 0x180(%rsp), %rax
movq $0x0, -0x90(%rax)
movsd 0xb0(%rsp), %xmm0
unpcklps 0x19b8f6(%rip), %xmm0   # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x19b8fe(%rip), %xmm0   # 0x3478f0
movl $0x0, -0x60(%rax)
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x2d0(%rsp)
leal -0x1(%r12), %eax
movq %rax, 0x68(%rsp)
movq %r12, %rax
shlq $0x7, %rax
leaq (%rax,%r12,8), %rax
movq %rax, 0x290(%rsp)
xorl %r14d, %r14d
movl 0x58(%rsp), %eax
movl %eax, %ecx
movl $0x0, 0x5c(%rsp)
leaq 0x1e0(%rsp), %rbx
cmpb $0x0, 0x320(%rsp)
jne 0x1ac9d8
movl %ecx, 0xc4(%rsp)
movq 0x60(%rsp), %rdi
callq 0x1eff10
cmpl %eax, 0x5c(%rsp)
jae 0x1ac9cd
testq %r13, %r13
je 0x1ac08b
movq 0x30ce5f(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
movq %r13, %rdi
leaq 0x1fa19f(%rip), %rsi    # 0x3a6225
callq 0x11cc90
movq %r13, %r15
movl 0x5c(%rsp), %ebp
movl %ebp, %edi
movq 0x60(%rsp), %r13
movq %r13, %rsi
callq 0x1efec9
movq %rax, 0x110(%rsp)
movq %rax, %xmm1
punpckldq 0x19b82a(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19b832(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x19d70e(%rip), %xmm0   # 0x3497e0
divsd 0x2d0(%rsp), %xmm0
movq 0x368(%rsp), %rdi
leaq 0x1fa15b(%rip), %rsi    # 0x3a6245
movl %ebp, %edx
movb $0x1, %al
callq 0x103fe1
movl %ebp, %edi
movq %r13, %rsi
callq 0x1ef78e
movq %rax, 0xf8(%rsp)
movl %ebp, %edi
movq %r13, %rsi
callq 0x1ef7b6
movq %rax, 0x100(%rsp)
movq 0x158(%rsp), %rdi
testq %rdi, %rdi
je 0x1ac190
movq 0xf8(%rsp), %rsi
movq %rax, %rdx
callq 0x1ef1ac
movq %rax, 0x168(%rsp)
movq 0x178(%rsp), %rbx
movq 0x158(%rsp), %rdi
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
callq 0x1ef0f6
movq %rax, (%rsp)
movq %rbx, %rdi
leaq 0x1e0(%rsp), %rbx
movl $0x465, %esi            # imm = 0x465
leaq 0x1f98b8(%rip), %rdx    # 0x3a5a34
movl $0x1, %ecx
leaq 0x19e6c5(%rip), %r8     # 0x34a84d
xorl %r9d, %r9d
callq 0x316945
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x1acc5f
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
callq 0x1ef1ac
movq %rbx, %rdi
movq %rax, %rsi
callq 0x317b82
movq 0x178(%rsp), %rbx
movq 0x150(%rsp), %rdi
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
callq 0x1ef0f6
movq %rax, (%rsp)
movq %rbx, %rdi
movl $0x470, %esi            # imm = 0x470
leaq 0x1f983b(%rip), %r13    # 0x3a5a34
movq %r13, %rdx
movl $0x1, %ecx
leaq 0x1c2db2(%rip), %r8     # 0x36efba
xorl %r9d, %r9d
callq 0x316945
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x1ac28a
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
callq 0x1ef1ac
movq 0x1a0(%rsp), %rdi
movq %rax, %rsi
callq 0x1b7e5f
movq 0x178(%rsp), %rbx
movq 0x160(%rsp), %rdi
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
callq 0x1ef0f6
movq %rax, (%rsp)
movq %rbx, %rdi
movl $0x47c, %esi            # imm = 0x47C
movq %r13, %rdx
movl $0x1, %ecx
leaq 0x1f9abf(%rip), %r8     # 0x3a5d41
xorl %r9d, %r9d
callq 0x316945
movq 0x178(%rsp), %rdi
callq 0x316846
movq %rax, %xmm1
punpckldq 0x19b63c(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19b644(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x19b640(%rip), %xmm0   # 0x347900
movq 0x368(%rsp), %rdi
leaq 0x1f9fbc(%rip), %rsi    # 0x3a628b
movl 0x5c(%rsp), %ebp
movl %ebp, %edx
movb $0x1, %al
callq 0x103fe1
movq 0xf8(%rsp), %rsi
leaq 0xd0(%rsp), %r13
movq %r13, %rdi
callq 0x1accb9
movq %rax, 0x180(%rsp)
movq 0x100(%rsp), %rsi
movq %r13, %rdi
callq 0x1accb9
movq %rax, 0x188(%rsp)
movq 0x148(%rsp), %rbx
movl %ebp, %edi
movq 0x60(%rsp), %rsi
callq 0x1efea1
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1fec0a
movq 0x98(%rsp), %rdi
movl 0x74(%rsp), %esi
movl 0xa8(%rsp), %edx
leaq 0x180(%rsp), %rcx
callq 0x314354
movq %r13, %rdi
callq 0x1accdc
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x1ac39a
callq 0x1ef188
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
movl $0x48c, %esi            # imm = 0x48C
leaq 0x1f96ab(%rip), %rdx    # 0x3a5a34
xorl %ecx, %ecx
leaq 0x1f99af(%rip), %r8     # 0x3a5d41
xorl %r9d, %r9d
callq 0x316945
movq 0x158(%rsp), %rdi
testq %rdi, %rdi
movq 0x80(%rsp), %rbp
je 0x1ac3e1
callq 0x1ef188
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
movl $0x491, %esi            # imm = 0x491
leaq 0x1f9664(%rip), %rdx    # 0x3a5a34
xorl %ecx, %ecx
leaq 0x19e474(%rip), %r8     # 0x34a84d
xorl %r9d, %r9d
callq 0x316945
movq 0x60(%rsp), %rdi
callq 0x1eff10
decl %eax
cmpl 0x5c(%rsp), %eax
jne 0x1ac400
leaq 0xd0(%rsp), %rdi
callq 0x1acf18
testq %r15, %r15
je 0x1ac41e
movq 0x30cacc(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
movq %r15, %rdi
leaq 0x1f9e95(%rip), %rsi    # 0x3a62ae
callq 0x11cc90
testq %rbp, %rbp
je 0x1ac489
movq 0x178(%rsp), %rdi
callq 0x316846
cmpq %rbp, %rax
jae 0x1ac489
movq 0x178(%rsp), %rdi
callq 0x316846
movq %rbp, %rcx
subq %rax, %rcx
movq %rcx, 0xc8(%rsp)
movq %rcx, %xmm1
punpckldq 0x19b483(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19b48b(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x19b487(%rip), %xmm0   # 0x347900
leaq 0x1f9e4a(%rip), %rdi    # 0x3a62ca
movb $0x1, %al
callq 0x103d72
jmp 0x1ac495
movq $0x0, 0xc8(%rsp)
cmpl $0x2, %r12d
jb 0x1ac881
movq 0x148(%rsp), %rax
movq %rax, 0x2c0(%rsp)
movq 0x1c8(%rsp), %rax
movq %rax, 0x2b8(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x270(%rsp)
movq 0x100(%rsp), %r13
movl 0x5c(%rsp), %ebp
movl %ebp, %edi
movq 0x60(%rsp), %r15
movq %r15, %rsi
callq 0x1efec9
movq %rax, %rbx
movl %ebp, %edi
movq %r15, %rsi
movq 0x270(%rsp), %r15
callq 0x1ef762
movq %rax, 0x2b0(%rsp)
movq %r13, 0x88(%rsp)
cmpq %r13, %r15
jae 0x1acc73
movq %rbx, 0x2a8(%rsp)
movq %rbx, %rax
xorl %edx, %edx
divq %r12
movq %rdx, %rbx
movq %rax, 0x2c8(%rsp)
movq 0x2a0(%rsp), %rdi
leaq 0x1f94f2(%rip), %rsi    # 0x3a5a34
movl $0x1af, %edx            # imm = 0x1AF
callq 0x104226
movq %rax, %r13
leaq 0x1e0(%rsp), %rdi
movq %r15, %rsi
callq 0x317965
movq %rax, %rbp
xorl %r15d, %r15d
movq %r13, 0x288(%rsp)
addq 0x2c8(%rsp), %rbp
subl $0x1, %ebx
cmovbl %r14d, %ebx
movq %rbx, 0xb8(%rsp)
sbbq $-0x1, %rbp
movq 0x68(%rsp), %rcx
movq %rcx, %rax
cmpq %rcx, %r15
je 0x1ac62f
movq 0x270(%rsp), %rbx
testq %r15, %r15
je 0x1ac5ae
movq -0x8(%r13,%r15,8), %rbx
incq %rbx
leaq 0x1(%rbx), %rcx
movq %r15, %rax
cmpq 0x88(%rsp), %rcx
jae 0x1ac62f
movq 0x88(%rsp), %r12
movq %r12, %r14
leaq (%r12,%rbx), %r13
shrq %r13
leaq 0x1e0(%rsp), %rdi
movq %r13, %rsi
callq 0x317965
cmpq %rbp, %rax
je 0x1ac603
ja 0x1ac5f3
movq %r13, %rbx
incq %rbx
movq %r14, %r13
jmp 0x1ac5fa
leaq -0x1(%r13), %r12
movq %r13, %r14
leaq 0x1(%rbx), %rax
cmpq %r12, %rax
jb 0x1ac5ca
movq 0x288(%rsp), %rax
movq %r13, (%rax,%r15,8)
cmpq 0x88(%rsp), %r13
movq %rax, %r13
movq 0xa0(%rsp), %r12
movl $0x0, %r14d
jbe 0x1ac63c
jmp 0x1acc55
movq 0x88(%rsp), %rcx
movq %rcx, (%r13,%rax,8)
incq %r15
cmpq %r12, %r15
movq 0xb8(%rsp), %rbx
jne 0x1ac56d
movq 0x290(%rsp), %rdi
leaq 0x1f93d5(%rip), %rsi    # 0x3a5a34
movl $0x218, %edx            # imm = 0x218
callq 0x104226
movq %rax, %rbp
xorl %r14d, %r14d
movq %rax, 0xb8(%rsp)
xorl %r12d, %r12d
xorl %r15d, %r15d
leaq 0x1e0(%rsp), %rbx
movq 0x90(%rsp), %rax
movq (%rax,%r14,8), %rax
movq %rax, (%rbp)
movq 0x98(%rsp), %rax
movq %rax, 0x8(%rbp)
movq 0x2c0(%rsp), %rax
movq %rax, 0x18(%rbp)
movq 0x2b8(%rsp), %rax
movq %rax, 0x20(%rbp)
movq %rbx, 0x28(%rbp)
movq 0x270(%rsp), %rsi
testq %r14, %r14
je 0x1ac6d2
movq -0x8(%r13,%r14,8), %rsi
incq %rsi
movq %rsi, 0x38(%rbp)
movq (%r13,%r14,8), %rax
movq %rax, 0x40(%rbp)
movl $0x0, 0x10(%rbp)
movl 0xac(%rsp), %eax
movb %al, 0x58(%rbp)
movq 0xc8(%rsp), %rax
movq %rax, 0x50(%rbp)
movq 0x298(%rsp), %rax
movq %rax, 0x30(%rbp)
movq 0x350(%rsp), %rax
movq %rax, 0x60(%rbp)
movq 0x358(%rsp), %rax
movq %rax, 0x68(%rbp)
movq 0x360(%rsp), %rax
testq %rax, %rax
je 0x1ac733
movq (%rax,%r14,8), %rax
jmp 0x1ac735
xorl %eax, %eax
movq %rax, 0x70(%rbp)
movq $0x0, 0x78(%rbp)
movq %rbx, %rdi
callq 0x317965
movq %rax, %r13
movq 0x2b0(%rsp), %rax
cmpq 0x68(%rsp), %r14
jae 0x1ac76a
movq 0x40(%rbp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x317965
movq %rax, 0x48(%rbp)
movq %rax, %rdx
subq %r13, %rdx
jbe 0x1acc50
movq 0x38(%rbp), %rcx
movq 0x40(%rbp), %r8
movq %rdx, 0x8(%rsp)
movq %rax, (%rsp)
movq 0x368(%rsp), %rdi
leaq 0x1f9b94(%rip), %rsi    # 0x3a632e
movl %r14d, %edx
movq %r13, %r9
xorl %eax, %eax
callq 0x103fe1
subq %r13, %r15
addq 0x48(%rbp), %r15
leaq 0xd1f(%rip), %rdi       # 0x1ad4d4
movq %rbp, %rsi
xorl %edx, %edx
callq 0x11c738
movq %rax, 0x80(%rbp)
testq %rax, %rax
sete %al
orb %al, %r12b
incq %r14
addq $0x88, %rbp
cmpq %r14, 0xa0(%rsp)
movq 0x288(%rsp), %r13
jne 0x1ac685
cmpq 0x2a8(%rsp), %r15
sete %al
orb %r12b, %al
testb $0x1, %al
je 0x1acc6e
xorl %ebx, %ebx
movq 0x78(%rsp), %r13
xorl %r14d, %r14d
movq 0xb8(%rsp), %r15
testb $0x1, %r12b
jne 0x1ac82a
movq 0x80(%r15,%rbx), %rdi
callq 0x11c7d7
movq 0x80(%r15,%rbx), %rdi
callq 0x11c93d
addq $0x88, %rbx
cmpq %rbx, 0x290(%rsp)
jne 0x1ac817
movq %r15, %rdi
leaq 0x1f91e2(%rip), %rbx    # 0x3a5a34
movq %rbx, %rsi
movl $0x255, %edx            # imm = 0x255
callq 0x1045eb
movq 0x288(%rsp), %rdi
movq %rbx, %rsi
movl $0x256, %edx            # imm = 0x256
callq 0x1045eb
leaq 0x1e0(%rsp), %rbx
jmp 0x1ac95f
movq 0x90(%rsp), %rax
movq (%rax), %r15
movq 0x148(%rsp), %rbx
movq 0x1c8(%rsp), %r14
movq 0xf8(%rsp), %r12
movq 0x100(%rsp), %r13
movl 0x5c(%rsp), %edi
movq 0x60(%rsp), %rsi
callq 0x1ef762
movq 0x360(%rsp), %rcx
testq %rcx, %rcx
je 0x1ac8cc
movq (%rcx), %rcx
jmp 0x1ac8ce
xorl %ecx, %ecx
movzbl 0xac(%rsp), %edx
movl %edx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq 0xc8(%rsp), %rcx
movq %rcx, 0x18(%rsp)
movq %rax, 0x10(%rsp)
movq %r13, 0x8(%rsp)
movq 0x370(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x358(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x350(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x298(%rsp), %rax
movq %rax, 0x20(%rsp)
movq %r12, (%rsp)
movq %r15, %rdi
movq 0x98(%rsp), %rsi
xorl %edx, %edx
movq %rbx, %rcx
movq %r14, %r8
leaq 0x1e0(%rsp), %rbx
movq %rbx, %r9
callq 0x1ad1df
testl %eax, %eax
setne %r12b
movq 0x78(%rsp), %r13
xorl %r14d, %r14d
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x1ac99e
callq 0x1ef188
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
movl $0x4e0, %esi            # imm = 0x4E0
leaq 0x1f90a7(%rip), %rdx    # 0x3a5a34
xorl %ecx, %ecx
leaq 0x1c2624(%rip), %r8     # 0x36efba
xorl %r9d, %r9d
callq 0x316945
movl 0xc4(%rsp), %ecx
movzbl %cl, %ecx
testb $0x1, %r12b
movl $0x1, %eax
cmovnel %eax, %ecx
incl 0x5c(%rsp)
testb $0x1, %cl
movq 0xa0(%rsp), %r12
je 0x1ac044
movl %ecx, %eax
jmp 0x1ac9d4
movl 0xc4(%rsp), %eax
movl %eax, 0x58(%rsp)
testq %r13, %r13
sete %bpl
je 0x1ac9fc
movq 0x30c4f0(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x1f9182(%rip), %rsi    # 0x3a5b74
movq %r13, %rdi
callq 0x11cc90
jmp 0x1ac9ff
xorl %r13d, %r13d
movb $0x1, %bl
testb $0x1, 0x58(%rsp)
jne 0x1acbcc
movq 0x178(%rsp), %rdi
movq $0x0, (%rsp)
leaq 0x1f9011(%rip), %rdx    # 0x3a5a34
leaq 0x1fbdc6(%rip), %r8     # 0x3a87f0
movl $0x5cb, %esi            # imm = 0x5CB
xorl %ecx, %ecx
movl $0x1, %r9d
callq 0x316945
cmpb $0x0, 0x320(%rsp)
jne 0x1acafb
cmpq $0x0, 0x90(%rsp)
je 0x1acafb
testq %r12, %r12
je 0x1acab9
movb %bpl, 0x68(%rsp)
movq %r13, %r15
movq %r14, %r13
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x90(%rsp), %rbp
movq (%rbp,%rbx,8), %rdi
callq 0x1f5428
addq %rax, %r14
incq %rbx
cmpq %rbx, %r12
jne 0x1aca76
movq %r14, %xmm1
punpckldq 0x19ae48(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19ae50(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq %r13, %r14
movq %r15, %r13
movb 0x68(%rsp), %bpl
jmp 0x1acabd
xorpd %xmm0, %xmm0
movsd 0xd8(%rsp), %xmm1
unpcklps 0x19ae13(%rip), %xmm1   # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x19ae1b(%rip), %xmm1   # 0x3478f0
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
leaq 0x1f9094(%rip), %rsi    # 0x3a5b80
movq 0x368(%rsp), %rdi
movb $0x1, %al
callq 0x103fe1
cmpb $0x0, 0x320(%rsp)
je 0x1acb1d
leaq 0xd0(%rsp), %rdi
callq 0x1acf18
movl 0x58(%rsp), %eax
movl %eax, %ebx
jmp 0x1acbcc
movl 0x120(%rsp), %ecx
testq %rcx, %rcx
je 0x1acc9b
movq 0xd8(%rsp), %r8
movq %r8, %xmm1
movq 0x19ad9e(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x19ada2(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x19cc7a(%rip), %xmm0   # 0x3497e0
movq 0xf0(%rsp), %rax
movq 0x280(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
xorl %edx, %edx
divq %rcx
leaq 0x1f9019(%rip), %rsi    # 0x3a5bb4
movq 0x368(%rsp), %rdi
movq %r8, %rdx
movq %rax, %r8
movb $0x1, %al
callq 0x103fe1
movl 0x58(%rsp), %eax
movl %eax, %ebx
movq 0xb0(%rsp), %rax
cmpq %rax, 0xd8(%rsp)
jne 0x1acca0
cmpq $0x0, 0x90(%rsp)
je 0x1acc2d
movb %bpl, 0x68(%rsp)
movq %r13, %r15
movq %r14, %r13
testq %r12, %r12
movq 0x90(%rsp), %rbp
je 0x1acc04
xorl %r14d, %r14d
movq (%rbp,%r14,8), %rdi
callq 0x1f542d
incq %r14
cmpq %r14, %r12
jne 0x1acbf2
leaq 0x1f8e29(%rip), %rsi    # 0x3a5a34
movq %rbp, %rdi
movl $0x5f0, %edx            # imm = 0x5F0
callq 0x1045eb
testb $0x1, %bl
je 0x1acc3a
movq %r13, %r12
movq %r15, %r13
movb 0x68(%rsp), %bpl
jmp 0x1aae26
testb $0x1, %bl
je 0x1acc49
movq %r14, %r12
jmp 0x1aae26
xorl %ebx, %ebx
movq %r15, %r13
movb 0x68(%rsp), %bpl
jmp 0x1aae75
xorl %ebx, %ebx
jmp 0x1aae75
callq 0x63dc8
callq 0x63d8f
callq 0x64074
callq 0x63e3a
callq 0x63b8e
callq 0x6403b
callq 0x63e01
callq 0x63d56
callq 0x63bc7
callq 0x63c00
callq 0x63f90
callq 0x63f57
callq 0x63cab
callq 0x63ce4
callq 0x63f1e
callq 0x64002
callq 0x63fc9
callq 0x63ee5
callq 0x63eac
callq 0x63d1d
callq 0x63e73