// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/randomcodes-tab.c
// Function: gt_randomcodes_partialsums
GtUword gt_randomcodes_partialsums(GtFirstcodesspacelog *fcsl,
                                        GtRandomcodestab *rct,
                                        GT_UNUSED GtUword
                                                            expectedlastpartsum)
{
  GtUword idx, partsum, maxbucketsize, bitmask, samplecount = 0,
                spacewithhashmap = 0, spacewithouthashmap = 0;
  uint32_t currentcount;
  GtLeftborderOutbuffer *leftborderbuffer_all = NULL;
#if defined (_LP64) || defined (_WIN64)
  const unsigned int btp = gt_determinebitspervalue(expectedlastpartsum);
  GtUword exceedvalue = 1UL << rct->modvaluebits;
#endif
#ifdef SKDEBUG
  GtDiscDistri *countdistri = gt_disc_distri_new();
#endif

  gt_assert(rct->differentcodes < UINT32_MAX);
  gt_log_log("hashmap_addcount="GT_WU" (%.2f%%)",rct->hashmap_addcount,
                  100.0 * (double) rct->hashmap_addcount/
                                   rct->differentcodes);
  gt_log_log("hashmap_incrementcount="GT_WU" (%.2f%%)",
                  rct->hashmap_incrementcount,
                  100.0 * (double) rct->hashmap_incrementcount/
                                   rct->all_incrementcount);
  gt_log_log("hashmap_getcount="GT_WU" (%.2f%%)",
                  rct->hashmap_getcount,
                  100.0 * (double) rct->hashmap_getcount/
                                   rct->all_incrementcount);

#if defined (_LP64) || defined (_WIN64)
  if (btp <= rct->modvaluebits)
  {
    rct->bitchangepoints.allocatedGtUword = 0;
    rct->bitchangepoints.spaceGtUword = NULL;
  } else
  {
    rct->bitchangepoints.allocatedGtUword = 1UL << (btp - rct->modvaluebits);
    gt_log_log("lastpartsum="GT_WU", bitchangepoints.allocated="GT_WU"",
              expectedlastpartsum,rct->bitchangepoints.allocatedGtUword);
    rct->bitchangepoints.spaceGtUword
      = gt_malloc(sizeof (*rct->bitchangepoints.spaceGtUword)
                  * rct->bitchangepoints.allocatedGtUword);
  }
  rct->bitchangepoints.nextfreeGtUword = 0;
#endif
  currentcount = gt_randomcodes_countocc_get(rct,0);
  partsum = (GtUword) currentcount;
  maxbucketsize = (GtUword) currentcount;
#ifdef SKDEBUG
  gt_disc_distri_add(countdistri,(GtUword) currentcount);
#endif
  rct->sampleshift = 9U;
  while (true)
  {
    rct->sampledistance = 1UL << rct->sampleshift;
    if (rct->sampledistance < rct->differentcodes)
    {
      break;
    }
    rct->sampleshift--;
  }
  bitmask = rct->sampledistance - 1;
  rct->numofsamples = 1UL + 1UL + rct->differentcodes/rct->sampledistance;
  rct->leftborder_samples = gt_malloc(sizeof (*rct->leftborder_samples) *
                                      rct->numofsamples);
  GT_FCI_ADDWORKSPACE(fcsl,"leftborder_samples",
                      sizeof (*rct->leftborder_samples) * rct->numofsamples);
  GT_RANDOMCODES_ADD_SAMPLE(partsum);
  leftborderbuffer_all = gt_leftborderbuffer_new("leftborder",fcsl);
  GT_RCT_PARTIALSUM_LEFTBORDER_SET(leftborderbuffer_all,partsum);
  for (idx = 1UL; idx < rct->differentcodes; idx++)
  {
    currentcount = gt_randomcodes_countocc_get(rct,idx);
#if defined (_LP64) || defined (_WIN64)
    gt_assert(currentcount <= rct->modvaluemask);
#endif
#ifdef SKDEBUG
    gt_disc_distri_add(countdistri,(GtUword) currentcount);
#endif
    if (maxbucketsize < (GtUword) currentcount)
    {
      maxbucketsize = (GtUword) currentcount;
    }
    partsum += currentcount;
#if defined (_LP64) || defined (_WIN64)
    if (rct->bitchangepoints.allocatedGtUword > 0 && partsum >= exceedvalue)
    {
      gt_assert(idx > 0 && rct->bitchangepoints.nextfreeGtUword <
                           rct->bitchangepoints.allocatedGtUword);
      gt_assert(rct->bitchangepoints.spaceGtUword != NULL);
      rct->bitchangepoints.spaceGtUword
        [rct->bitchangepoints.nextfreeGtUword++] = idx-1;
      exceedvalue = ((GtUword) (exceedvalue >> rct->modvaluebits) + 1)
                      << rct->modvaluebits;
    }
#endif
    if ((idx & bitmask) == 0)
    {
      GT_RANDOMCODES_ADD_SAMPLE(partsum);
    }
    GT_RCT_PARTIALSUM_LEFTBORDER_SET(leftborderbuffer_all,partsum);
  }
  GT_RCT_PARTIALSUM_LEFTBORDER_SET(leftborderbuffer_all,partsum);
  rct->outfilenameleftborder
      = gt_leftborderbuffer_delete(leftborderbuffer_all,fcsl,
                                   gt_randomcodes_leftborder_entries(rct));
  if (partsum > rct->leftborder_samples[samplecount-1])
  {
    GT_RANDOMCODES_ADD_SAMPLE(partsum);
  } else
  {
    gt_assert(partsum == rct->leftborder_samples[samplecount-1]);
  }
  gt_assert(expectedlastpartsum == partsum);
  rct->numofsamples = samplecount-1;
#ifdef SKDEBUG
  gt_randomcodes_evaluate_countdistri(countdistri);
  gt_disc_distri_delete(countdistri);
#endif
  gt_assert (rct->countocc_small != NULL);
  gt_free(rct->countocc_small);
  GT_FCI_SUBTRACTWORKSPACE(fcsl,"countocc_small");
  rct->countocc_small = NULL;
  if (rct->hashmap_addcount > 0 && gt_ma_bookkeeping_enabled())
  {
    spacewithhashmap = gt_ma_get_space_current() + gt_fa_get_space_current();
  }
  gt_hashtable_delete(rct->countocc_exceptions);
  if (rct->hashmap_addcount > 0 && gt_ma_bookkeeping_enabled())
  {
    GtUword hashmapspace;

    spacewithouthashmap = gt_ma_get_space_current() + gt_fa_get_space_current();
    gt_assert(spacewithouthashmap < spacewithhashmap);
    hashmapspace = spacewithhashmap - spacewithouthashmap;
    gt_log_log("space for hashmap=%.2f ("GT_WU" bytes per entry)",
               GT_MEGABYTES(hashmapspace),hashmapspace/rct->hashmap_addcount);
  }
  rct->countocc_exceptions = NULL;
  return maxbucketsize;
}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq %rdx, 0xc0(%rsp)
movq $0x0, 0x98(%rsp)
movq $0x0, 0x90(%rsp)
movq $0x0, 0x88(%rsp)
movq $0x0, 0x78(%rsp)
movq 0xc0(%rsp), %rdi
callq 0xec660
movl %eax, 0x74(%rsp)
movq 0xc8(%rsp), %rax
movl 0x7c(%rax), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, 0x68(%rsp)
movq 0xc8(%rsp), %rax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rcx, (%rax)
jb 0x4daef1
movq 0x1610e0(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3b149(%rip), %rsi     # 0x516013
leaq 0xdf718(%rip), %rdx     # 0x5ba5e9
leaq 0xdf732(%rip), %rcx     # 0x5ba60a
leaq 0xdf66e(%rip), %r8      # 0x5ba54d
movl $0xef, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4daef3
movq 0xc8(%rsp), %rax
movq 0x18(%rax), %rsi
movq %rsi, %xmm0
movaps 0x3da25(%rip), %xmm3    # 0x518930
movaps %xmm3, 0x40(%rsp)
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x3da24(%rip), %xmm2    # 0x518940
movaps %xmm2, 0x50(%rsp)
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x3f900(%rip), %xmm1    # 0x51a838
movsd %xmm1, 0x38(%rsp)
mulsd %xmm1, %xmm0
movq (%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
leaq 0xdf6c1(%rip), %rdi     # 0x5ba625
movb $0x1, %al
movb %al, 0x37(%rsp)
callq 0xe7740
movb 0x37(%rsp), %al
movsd 0x38(%rsp), %xmm1
movaps 0x40(%rsp), %xmm3
movaps 0x50(%rsp), %xmm2
movq 0xc8(%rsp), %rcx
movq 0x20(%rcx), %rsi
movq %rsi, %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm4
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm4, %xmm0
mulsd %xmm1, %xmm0
movq 0x30(%rcx), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
leaq 0xdf675(%rip), %rdi     # 0x5ba643
callq 0xe7740
movsd 0x38(%rsp), %xmm1
movaps 0x40(%rsp), %xmm3
movaps 0x50(%rsp), %xmm2
movq 0xc8(%rsp), %rax
movq 0x28(%rax), %rsi
movq %rsi, %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm4
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm4, %xmm0
mulsd %xmm1, %xmm0
movq 0x30(%rax), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
leaq 0xdf639(%rip), %rdi     # 0x5ba667
movb $0x1, %al
callq 0xe7740
movl 0x74(%rsp), %eax
movq 0xc8(%rsp), %rcx
cmpl 0x7c(%rcx), %eax
ja 0x4db071
movq 0xc8(%rsp), %rax
movq $0x0, 0x88(%rax)
movq 0xc8(%rsp), %rax
movq $0x0, 0x80(%rax)
jmp 0x4db0f9
movl 0x74(%rsp), %eax
movq 0xc8(%rsp), %rcx
subl 0x7c(%rcx), %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x88(%rax)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rax
movq 0x88(%rax), %rdx
leaq 0xdce81(%rip), %rdi     # 0x5b7f3d
movb $0x0, %al
callq 0xe7740
movq 0xc8(%rsp), %rax
movq 0x88(%rax), %rdi
shlq $0x3, %rdi
leaq 0xdf470(%rip), %rsi     # 0x5ba54d
movl $0x108, %edx            # imm = 0x108
callq 0xe80f0
movq %rax, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x80(%rax)
movq 0xc8(%rsp), %rax
movq $0x0, 0x90(%rax)
movq 0xc8(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4dba80
movl %eax, 0x84(%rsp)
movl 0x84(%rsp), %eax
movq %rax, 0xb0(%rsp)
movl 0x84(%rsp), %eax
movq %rax, 0xa8(%rsp)
movq 0xc8(%rsp), %rax
movl $0x9, 0x38(%rax)
movq 0xc8(%rsp), %rax
movl 0x38(%rax), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xc8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0xc8(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x4db190
jmp 0x4db1a3
movq 0xc8(%rsp), %rax
movl 0x38(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x38(%rax)
jmp 0x4db151
movq 0xc8(%rsp), %rax
movq 0x10(%rax), %rax
subq $0x1, %rax
movq %rax, 0xa0(%rsp)
movq 0xc8(%rsp), %rax
movq (%rax), %rax
movq 0xc8(%rsp), %rcx
xorl %edx, %edx
divq 0x10(%rcx)
movq %rax, %rcx
addq $0x2, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x3, %rdi
leaq 0xdf34f(%rip), %rsi     # 0x5ba54d
movl $0x11f, %edx            # imm = 0x11F
callq 0xe80f0
movq %rax, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0xd0(%rsp), %rdi
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
shlq $0x3, %rax
movl $0x121, %esi            # imm = 0x121
leaq 0xdf312(%rip), %rdx     # 0x5ba54d
movl $0x1, %r9d
leaq 0xdcd24(%rip), %r8      # 0x5b7f6c
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x4bea60
movq 0x98(%rsp), %rax
movq 0xc8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x4db2a2
movq 0x160d2f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3ad98(%rip), %rsi     # 0x516013
leaq 0xdf403(%rip), %rdx     # 0x5ba685
leaq 0xdf381(%rip), %rcx     # 0x5ba60a
leaq 0xdf2bd(%rip), %r8      # 0x5ba54d
movl $0x122, %r9d            # imm = 0x122
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db2a4
movq 0xb0(%rsp), %rdx
movq 0xc8(%rsp), %rax
movq 0x58(%rax), %rax
movq 0x98(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x98(%rsp)
movq %rdx, (%rax,%rcx,8)
movq 0xd0(%rsp), %rsi
leaq 0x65a22(%rip), %rdi     # 0x540d04
callq 0x50d0b0
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x78(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x4db30a
movq 0x78(%rsp), %rdi
callq 0x50d1c0
movq 0xb0(%rsp), %rax
movq 0xc8(%rsp), %rcx
movl 0x78(%rcx), %ecx
andq %rcx, %rax
movl %eax, %edx
movq 0x78(%rsp), %rax
movq (%rax), %rax
movq 0x78(%rsp), %rsi
movq 0x8(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x8(%rsi)
movl %edx, (%rax,%rcx,4)
movq $0x1, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq 0xc8(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x4db657
movq 0xc8(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x4dba80
movl %eax, 0x84(%rsp)
movl 0x84(%rsp), %eax
movq 0xc8(%rsp), %rcx
cmpl 0x78(%rcx), %eax
jbe 0x4db3ce
movq 0x160c03(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3ac6c(%rip), %rsi     # 0x516013
leaq 0xdf2f7(%rip), %rdx     # 0x5ba6a5
leaq 0xdf255(%rip), %rcx     # 0x5ba60a
leaq 0xdf191(%rip), %r8      # 0x5ba54d
movl $0x129, %r9d            # imm = 0x129
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db3d0
movq 0xa8(%rsp), %rax
movl 0x84(%rsp), %ecx
cmpq %rcx, %rax
jae 0x4db3f3
movl 0x84(%rsp), %eax
movq %rax, 0xa8(%rsp)
movl 0x84(%rsp), %eax
addq 0xb0(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0xc8(%rsp), %rax
cmpq $0x0, 0x88(%rax)
jbe 0x4db54e
movq 0xb0(%rsp), %rax
cmpq 0x68(%rsp), %rax
jb 0x4db54e
jmp 0x4db435
cmpq $0x0, 0xb8(%rsp)
jbe 0x4db460
movq 0xc8(%rsp), %rax
movq 0x90(%rax), %rax
movq 0xc8(%rsp), %rcx
cmpq 0x88(%rcx), %rax
jb 0x4db498
movq 0x160b39(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3aba2(%rip), %rsi     # 0x516013
leaq 0xdf24f(%rip), %rdx     # 0x5ba6c7
leaq 0xdf18b(%rip), %rcx     # 0x5ba60a
leaq 0xdf0c7(%rip), %r8      # 0x5ba54d
movl $0x137, %r9d            # imm = 0x137
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db49a
jmp 0x4db49c
movq 0xc8(%rsp), %rax
cmpq $0x0, 0x80(%rax)
jne 0x4db4e6
movq 0x160aeb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3ab54(%rip), %rsi     # 0x516013
leaq 0xdf259(%rip), %rdx     # 0x5ba71f
leaq 0xdf13d(%rip), %rcx     # 0x5ba60a
leaq 0xdf079(%rip), %r8      # 0x5ba54d
movl $0x138, %r9d            # imm = 0x138
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db4e8
movq 0xb8(%rsp), %rdx
subq $0x1, %rdx
movq 0xc8(%rsp), %rax
movq 0x80(%rax), %rax
movq 0xc8(%rsp), %rsi
movq 0x90(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x90(%rsi)
movq %rdx, (%rax,%rcx,8)
movq 0x68(%rsp), %rax
movq 0xc8(%rsp), %rcx
movl 0x7c(%rcx), %ecx
shrq %cl, %rax
addq $0x1, %rax
movq 0xc8(%rsp), %rcx
movl 0x7c(%rcx), %ecx
shlq %cl, %rax
movq %rax, 0x68(%rsp)
movq 0xb8(%rsp), %rax
andq 0xa0(%rsp), %rax
cmpq $0x0, %rax
jne 0x4db5e9
jmp 0x4db56a
movq 0x98(%rsp), %rax
movq 0xc8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x4db5b8
movq 0x160a19(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3aa82(%rip), %rsi     # 0x516013
leaq 0xdf0ed(%rip), %rdx     # 0x5ba685
leaq 0xdf06b(%rip), %rcx     # 0x5ba60a
leaq 0xdefa7(%rip), %r8      # 0x5ba54d
movl $0x141, %r9d            # imm = 0x141
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db5ba
movq 0xb0(%rsp), %rdx
movq 0xc8(%rsp), %rax
movq 0x58(%rax), %rax
movq 0x98(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x98(%rsp)
movq %rdx, (%rax,%rcx,8)
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x78(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x4db607
movq 0x78(%rsp), %rdi
callq 0x50d1c0
movq 0xb0(%rsp), %rax
movq 0xc8(%rsp), %rcx
movl 0x78(%rcx), %ecx
andq %rcx, %rax
movl %eax, %edx
movq 0x78(%rsp), %rax
movq (%rax), %rax
movq 0x78(%rsp), %rsi
movq 0x8(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x8(%rsi)
movl %edx, (%rax,%rcx,4)
movq 0xb8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xb8(%rsp)
jmp 0x4db34d
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x78(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x4db675
movq 0x78(%rsp), %rdi
callq 0x50d1c0
movq 0xb0(%rsp), %rax
movq 0xc8(%rsp), %rcx
movl 0x78(%rcx), %ecx
andq %rcx, %rax
movl %eax, %edx
movq 0x78(%rsp), %rax
movq (%rax), %rax
movq 0x78(%rsp), %rsi
movq 0x8(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x8(%rsi)
movl %edx, (%rax,%rcx,4)
movq 0x78(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0xc8(%rsp), %rdi
callq 0x4dbb40
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq %rax, %rdx
callq 0x50d210
movq %rax, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x60(%rax)
movq 0xb0(%rsp), %rax
movq 0xc8(%rsp), %rcx
movq 0x58(%rcx), %rcx
movq 0x98(%rsp), %rdx
subq $0x1, %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x4db79e
jmp 0x4db71d
movq 0x98(%rsp), %rax
movq 0xc8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x4db76b
movq 0x160866(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3a8cf(%rip), %rsi     # 0x516013
leaq 0xdef3a(%rip), %rdx     # 0x5ba685
leaq 0xdeeb8(%rip), %rcx     # 0x5ba60a
leaq 0xdedf4(%rip), %r8      # 0x5ba54d
movl $0x14b, %r9d            # imm = 0x14B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db76d
movq 0xb0(%rsp), %rdx
movq 0xc8(%rsp), %rax
movq 0x58(%rax), %rax
movq 0x98(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x98(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0x4db802
jmp 0x4db7a0
movq 0xb0(%rsp), %rax
movq 0xc8(%rsp), %rcx
movq 0x58(%rcx), %rcx
movq 0x98(%rsp), %rdx
subq $0x1, %rdx
cmpq (%rcx,%rdx,8), %rax
je 0x4db7fe
movq 0x1607d3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3a83c(%rip), %rsi     # 0x516013
leaq 0xdef6b(%rip), %rdx     # 0x5ba749
leaq 0xdee25(%rip), %rcx     # 0x5ba60a
leaq 0xded61(%rip), %r8      # 0x5ba54d
movl $0x14e, %r9d            # imm = 0x14E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db800
jmp 0x4db802
jmp 0x4db804
movq 0xc0(%rsp), %rax
cmpq 0xb0(%rsp), %rax
je 0x4db84e
movq 0x160783(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3a7ec(%rip), %rsi     # 0x516013
leaq 0xdc845(%rip), %rdx     # 0x5b8073
leaq 0xdedd5(%rip), %rcx     # 0x5ba60a
leaq 0xded11(%rip), %r8      # 0x5ba54d
movl $0x150, %r9d            # imm = 0x150
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db850
movq 0x98(%rsp), %rcx
subq $0x1, %rcx
movq 0xc8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xc8(%rsp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x4db8af
movq 0x160722(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3a78b(%rip), %rsi     # 0x516013
leaq 0xdeeec(%rip), %rdx     # 0x5ba77b
leaq 0xded74(%rip), %rcx     # 0x5ba60a
leaq 0xdecb0(%rip), %r8      # 0x5ba54d
movl $0x156, %r9d            # imm = 0x156
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db8b1
movq 0xc8(%rsp), %rax
movq 0x48(%rax), %rdi
leaq 0xdec89(%rip), %rsi     # 0x5ba54d
movl $0x157, %edx            # imm = 0x157
callq 0xe88c0
movq 0xd0(%rsp), %rdi
movl $0x158, %esi            # imm = 0x158
leaq 0xdec6b(%rip), %rdx     # 0x5ba54d
xorl %ecx, %ecx
leaq 0xdc7a7(%rip), %r8      # 0x5b8092
movl $0x1, %r9d
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x4bea60
movq 0xc8(%rsp), %rax
movq $0x0, 0x48(%rax)
movq 0xc8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x4db94c
callq 0xe8ea0
testb $0x1, %al
jne 0x4db92a
jmp 0x4db94c
callq 0xe8b80
movq %rax, 0x18(%rsp)
callq 0xdbac0
movq %rax, %rcx
movq 0x18(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x90(%rsp)
movq 0xc8(%rsp), %rax
movq 0x50(%rax), %rdi
callq 0xe3360
movq 0xc8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x4dba5c
callq 0xe8ea0
testb $0x1, %al
jne 0x4db97e
jmp 0x4dba5c
callq 0xe8b80
movq %rax, 0x10(%rsp)
callq 0xdbac0
movq %rax, %rcx
movq 0x10(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rax
cmpq 0x90(%rsp), %rax
jb 0x4db9ea
movq 0x1605e7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3a650(%rip), %rsi     # 0x516013
leaq 0xdc6d7(%rip), %rdx     # 0x5b80a1
leaq 0xdec39(%rip), %rcx     # 0x5ba60a
leaq 0xdeb75(%rip), %r8      # 0x5ba54d
movl $0x164, %r9d            # imm = 0x164
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4db9ec
movq 0x90(%rsp), %rax
movq 0x88(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x60(%rsp)
movaps 0x3cf25(%rip), %xmm1    # 0x518930
movq 0x60(%rsp), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x3cf23(%rip), %xmm1    # 0x518940
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x3ceec(%rip), %xmm1    # 0x518920
divsd %xmm1, %xmm0
movq 0x60(%rsp), %rax
movq 0xc8(%rsp), %rcx
xorl %edx, %edx
divq 0x18(%rcx)
movq %rax, %rsi
leaq 0xdc673(%rip), %rdi     # 0x5b80c8
movb $0x1, %al
callq 0xe7740
movq 0xc8(%rsp), %rax
movq $0x0, 0x50(%rax)
movq 0xa8(%rsp), %rax
addq $0xd8, %rsp
retq
nopl (%rax)