// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/assembly_stats_calculator.c
// Function: calcNstats
static void calcNstats(GtUword key, GtUint64 value,
                        void *data)
{
  Nstats *nstats = data;
  unsigned int i;
  nstats->current_len += (key * value);
  nstats->current_num += value;
  for (i = 0; i < (unsigned int) NOF_LIMITS; i++)
  {
    if ((GtUint64) key > nstats->limit[i])
      nstats->larger_than_limit[i] = nstats->current_num;
  }
  if (nstats->third_quartile == 0 && nstats->current_num >= nstats->fourth_num)
  {
    nstats->third_quartile = (GtUint64) key;
  }
  if (nstats->median == 0 && nstats->current_num >= nstats->half_num)
  {
    nstats->median = (GtUint64) key;
  }
  if (nstats->first_quartile == 0 && nstats->current_num >=
      nstats->three_fourth_num)
  {
    nstats->first_quartile = (GtUint64) key;
  }
  for (i = 0; i < nstats->nofstats; i++)
  {
    if (!nstats->done[i] && (nstats->current_len >= nstats->min[i]))
    {
      nstats->done[i] = true;
      nstats->nvalue[i] = key;
      nstats->lvalue[i] = (GtUword) nstats->current_num;
    }
  }
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq -0x18(%rsp), %rax
movq %rax, -0x20(%rsp)
movq -0x8(%rsp), %rcx
imulq -0x10(%rsp), %rcx
movq -0x20(%rsp), %rax
addq 0x60(%rax), %rcx
movq %rcx, 0x60(%rax)
movq -0x10(%rsp), %rcx
movq -0x20(%rsp), %rax
addq 0x68(%rax), %rcx
movq %rcx, 0x68(%rax)
movl $0x0, -0x24(%rsp)
cmpl $0x5, -0x24(%rsp)
jae 0x133633
movq -0x8(%rsp), %rax
movq -0x20(%rsp), %rcx
movl -0x24(%rsp), %edx
cmpq 0xb0(%rcx,%rdx,8), %rax
jbe 0x133624
movq -0x20(%rsp), %rax
movq 0x68(%rax), %rdx
movq -0x20(%rsp), %rax
movl -0x24(%rsp), %ecx
movq %rdx, 0x88(%rax,%rcx,8)
jmp 0x133626
movl -0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rsp)
jmp 0x1335eb
movq -0x20(%rsp), %rax
cmpq $0x0, 0x130(%rax)
jne 0x133667
movq -0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq -0x20(%rsp), %rcx
cmpq 0x78(%rcx), %rax
jb 0x133667
movq -0x8(%rsp), %rcx
movq -0x20(%rsp), %rax
movq %rcx, 0x130(%rax)
movq -0x20(%rsp), %rax
cmpq $0x0, 0xd8(%rax)
jne 0x13369e
movq -0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq -0x20(%rsp), %rcx
cmpq 0x80(%rcx), %rax
jb 0x13369e
movq -0x8(%rsp), %rcx
movq -0x20(%rsp), %rax
movq %rcx, 0xd8(%rax)
movq -0x20(%rsp), %rax
cmpq $0x0, 0x70(%rax)
jne 0x1336cf
movq -0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq -0x20(%rsp), %rcx
cmpq 0x138(%rcx), %rax
jb 0x1336cf
movq -0x8(%rsp), %rcx
movq -0x20(%rsp), %rax
movq %rcx, 0x70(%rax)
movl $0x0, -0x24(%rsp)
movl -0x24(%rsp), %eax
movq -0x20(%rsp), %rcx
cmpl 0x230(%rcx), %eax
jae 0x133764
movq -0x20(%rsp), %rax
movl -0x24(%rsp), %ecx
testb $0x1, 0x50(%rax,%rcx)
jne 0x133752
movq -0x20(%rsp), %rax
movq 0x60(%rax), %rax
movq -0x20(%rsp), %rcx
movl -0x24(%rsp), %edx
cmpq 0xe0(%rcx,%rdx,8), %rax
jb 0x133752
movq -0x20(%rsp), %rax
movl -0x24(%rsp), %ecx
movb $0x1, 0x50(%rax,%rcx)
movq -0x8(%rsp), %rdx
movq -0x20(%rsp), %rax
movl -0x24(%rsp), %ecx
movq %rdx, 0x140(%rax,%rcx,8)
movq -0x20(%rsp), %rax
movq 0x68(%rax), %rdx
movq -0x20(%rsp), %rax
movl -0x24(%rsp), %ecx
movq %rdx, 0x190(%rax,%rcx,8)
jmp 0x133754
movl -0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rsp)
jmp 0x1336d7
retq
nopw %cs:(%rax,%rax)