// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_radixsort
static void gt_contfinder_radixsort(GtContfinder contfinder,
    GtContfinderBucketInfo all)
{
  gt_contfinder_seqnum_t i;
  GtStackGtContfinderBucketInfo stack;
  GtContfinderKmercodeWithOverflow k;
  gt_contfinder_overflow_t overflow;
  GtBitsequence *bucketcontained[GT_CONTFINDER_KMERSIZE];
  gt_contfinder_seqnum_t *bucketindex[GT_CONTFINDER_KMERSIZE + 1];
  gt_contfinder_seqnum_t *bucketsize[GT_CONTFINDER_KMERSIZE + 1];
  size_t baseindex;

  for (overflow = 0; overflow <= GT_CONTFINDER_KMERSIZE; overflow++)
  {
    bucketindex[overflow] =
      gt_malloc(sizeof (gt_contfinder_seqnum_t) *
          GT_CONTFINDER_NOFBUCKETS(overflow));
    bucketsize[overflow] =
      gt_calloc(GT_CONTFINDER_NOFBUCKETS(overflow),
          sizeof (gt_contfinder_seqnum_t));
  }
  for (overflow = (gt_contfinder_overflow_t)1;
      overflow <= GT_CONTFINDER_KMERSIZE; overflow++)
  {
    GT_INITBITTAB(bucketcontained[overflow - 1],
        GT_CONTFINDER_NOFBUCKETS(overflow));
  }

  /* Loop A */
  for (i = 0; i < all.nofseqs; ++i)
  {
    k = gt_contfinder_get_code(contfinder.twobitencoding, i, 0,
        contfinder.nofseqs, contfinder.len, contfinder.seppos);
    ++bucketsize[k.overflow][k.code >> GT_MULT2(k.overflow)];
  }

  baseindex = 0;
  for (overflow = 0; overflow <= GT_CONTFINDER_KMERSIZE; overflow++)
  {
    bucketindex[overflow][0] = baseindex;
    for (i = (size_t)1; i < GT_CONTFINDER_NOFBUCKETS(overflow); ++i)
      bucketindex[overflow][i] = bucketindex[overflow][i - 1] +
        bucketsize[overflow][i - 1];
    baseindex = bucketindex[overflow][GT_CONTFINDER_NOFBUCKETS(overflow) - 1]
      + bucketsize[overflow][GT_CONTFINDER_NOFBUCKETS(overflow) - 1];
  }

  /* Loop B */
  for (i = 0; i < all.nofseqs; ++i)
  {
    k = gt_contfinder_get_code(contfinder.twobitencoding, i, 0,
        contfinder.nofseqs, contfinder.len, contfinder.seppos);
    GT_READJOINER_CONTFINDER_SET_SEQNUM(all.seqnums,
        (bucketindex[k.overflow][k.code >> GT_MULT2(k.overflow)]++)
        + all.seqnums_offset, i);
  }

  /* alloc temp buffers */
  {
    gt_contfinder_seqnum_t maxbucketsize = bucketsize[0][0];
    for (i = (size_t)1; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
      if (maxbucketsize < bucketsize[0][i])
        maxbucketsize = bucketsize[0][i];
    contfinder.oracle = gt_malloc(sizeof (gt_contfinder_kmercode_t) *
        maxbucketsize);
    contfinder.sorted = gt_malloc(sizeof (gt_contfinder_seqnum_t) *
        maxbucketsize);
    contfinder.overflows = gt_malloc(sizeof (unsigned char) * maxbucketsize);
  }

  GT_STACK_INIT(&stack, 1024UL);

  gt_contfinder_process_buckets(contfinder, all, bucketsize, &stack,
      bucketcontained);

  while (!GT_STACK_ISEMPTY(&stack))
  {
    GtContfinderBucketInfo bucket = GT_STACK_POP(&stack);

    for (overflow = 0; overflow <= GT_CONTFINDER_KMERSIZE; overflow++)
    {
      for (i = 0; i < GT_CONTFINDER_NOFBUCKETS(overflow); ++i)
      {
        bucketsize[overflow][i] = 0;
      }
    }

    /* Loop A */
    for (i = 0; i < bucket.nofseqs; ++i)
    {
      k = gt_contfinder_get_code(
          contfinder.twobitencoding, GT_READJOINER_CONTFINDER_GET_SEQNUM(
            bucket.seqnums, i + bucket.seqnums_offset), bucket.depth,
          contfinder.nofseqs, contfinder.len, contfinder.seppos);
      contfinder.oracle[i] = k.code >> GT_MULT2(k.overflow);
      contfinder.overflows[i] = k.overflow;
    }

    for (i = 0; i < bucket.nofseqs; ++i)
      ++(bucketsize[contfinder.overflows[i]][contfinder.oracle[i]]);

    baseindex = 0;
    for (overflow = 0; overflow <= GT_CONTFINDER_KMERSIZE; overflow++)
    {
      bucketindex[overflow][0] = baseindex;
      for (i = (size_t)1; i < GT_CONTFINDER_NOFBUCKETS(overflow); ++i)
        bucketindex[overflow][i] = bucketindex[overflow][i - 1] +
          bucketsize[overflow][i - 1];
      baseindex = bucketindex[overflow][GT_CONTFINDER_NOFBUCKETS(overflow) - 1];
    }

    /* Loop B */
    for (i = 0; i < bucket.nofseqs; ++i)
      contfinder.sorted[(bucketindex[contfinder.overflows[i]]
        [contfinder.oracle[i]])++] = GT_READJOINER_CONTFINDER_GET_SEQNUM(
            bucket.seqnums, i + bucket.seqnums_offset);
    for (i = 0; i < bucket.nofseqs; ++i)
      GT_READJOINER_CONTFINDER_SET_SEQNUM(bucket.seqnums,
          i + bucket.seqnums_offset, contfinder.sorted[i]);

    gt_contfinder_process_buckets(contfinder, bucket, bucketsize, &stack,
        bucketcontained);
  }

  GT_STACK_DELETE(&stack);
  gt_free(contfinder.sorted);
  gt_free(contfinder.oracle);
  gt_free(contfinder.overflows);
  for (overflow = 0; overflow <= GT_CONTFINDER_KMERSIZE; overflow++)
  {
    gt_free(bucketindex[overflow]);
    gt_free(bucketsize[overflow]);
  }
  for (overflow = 0; overflow < GT_CONTFINDER_KMERSIZE; overflow++)
  {
    gt_free(bucketcontained[overflow]);
  }
}

// Assembly:
subq $0x81a8, %rsp           # imm = 0x81A8
leaq 0x8200(%rsp), %rax
movq %rax, 0x88(%rsp)
leaq 0x81b0(%rsp), %rax
movq %rax, 0x90(%rsp)
movb $0x0, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
ja 0x27a7d9
movzbl 0x165(%rsp), %eax
movl %eax, %ecx
movl $0x4, %eax
subq %rcx, %rax
shlq %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movslq %eax, %rdi
shlq $0x2, %rdi
leaq 0x3052e5(%rip), %rsi    # 0x57fa42
movl $0x27c, %edx            # imm = 0x27C
callq 0xe80f0
movq %rax, %rcx
movzbl 0x165(%rsp), %eax
movq %rcx, 0x110(%rsp,%rax,8)
movzbl 0x165(%rsp), %eax
movl %eax, %ecx
movl $0x4, %eax
subq %rcx, %rax
shlq %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movslq %eax, %rdi
movl $0x4, %esi
leaq 0x30529b(%rip), %rdx    # 0x57fa42
movl $0x27f, %ecx            # imm = 0x27F
callq 0xe83c0
movq %rax, %rcx
movzbl 0x165(%rsp), %eax
movq %rcx, 0xe0(%rsp,%rax,8)
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27a71f
movb $0x1, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
ja 0x27a8e0
movzbl 0x165(%rsp), %eax
movl %eax, %ecx
movl $0x4, %eax
subq %rcx, %rax
shlq %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
sarl $0x6, %eax
cmpl $0x0, %eax
jne 0x27a828
movl $0x1, %eax
movq %rax, 0x80(%rsp)
jmp 0x27a85a
movzbl 0x165(%rsp), %eax
movl %eax, %ecx
movl $0x4, %eax
subq %rcx, %rax
shlq %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
sarl $0x6, %eax
cltq
addq $0x1, %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xd0(%rsp), %rsi
shlq $0x3, %rsi
xorl %eax, %eax
movl %eax, %edi
leaq 0x3051c1(%rip), %rdx    # 0x57fa42
movl $0x285, %ecx            # imm = 0x285
callq 0xe8540
movq %rax, %rcx
movzbl 0x165(%rsp), %eax
subl $0x1, %eax
cltq
movq %rcx, 0x140(%rsp,%rax,8)
movzbl 0x165(%rsp), %eax
subl $0x1, %eax
cltq
movq 0x140(%rsp,%rax,8), %rdi
movq 0xd0(%rsp), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x19360
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27a7e1
movl $0x0, 0x81a4(%rsp)
movq 0x88(%rsp), %rcx
movl 0x81a4(%rsp), %eax
cmpl 0x10(%rcx), %eax
jae 0x27a989
movq 0x90(%rsp), %rax
movq (%rax), %rdi
movl 0x81a4(%rsp), %esi
movl 0xc(%rax), %ecx
movq 0x18(%rax), %r8
movq 0x20(%rax), %r9
xorl %eax, %eax
movl %eax, %edx
callq 0x27b6e0
movw %ax, 0xce(%rsp)
movw 0xce(%rsp), %ax
movw %ax, 0x166(%rsp)
movzbl 0x167(%rsp), %eax
movq 0xe0(%rsp,%rax,8), %rax
movzbl 0x166(%rsp), %edx
movzbl 0x167(%rsp), %ecx
shll %ecx
sarl %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27a8eb
movq $0x0, 0xd8(%rsp)
movb $0x0, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
ja 0x27ab02
movq 0xd8(%rsp), %rax
movl %eax, %ecx
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movl %ecx, (%rax)
movl $0x1, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
movzbl 0x165(%rsp), %ecx
movl %ecx, %edx
movl $0x4, %ecx
subq %rdx, %rcx
shlq %rcx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
cmpl %ecx, %eax
jae 0x27aa6d
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movl (%rax,%rcx,4), %edx
movzbl 0x165(%rsp), %eax
movq 0xe0(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
addl (%rax,%rcx,4), %edx
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27a9d6
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movzbl 0x165(%rsp), %ecx
movl %ecx, %edx
movl $0x4, %ecx
subq %rdx, %rcx
shlq %rcx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
movzbl 0x165(%rsp), %ecx
movq 0xe0(%rsp,%rcx,8), %rcx
movq %rcx, 0x78(%rsp)
movzbl 0x165(%rsp), %ecx
movl %ecx, %edx
movl $0x4, %ecx
subq %rdx, %rcx
shlq %rcx
movl $0x1, %edx
shll %cl, %edx
movq 0x78(%rsp), %rcx
subl $0x1, %edx
movslq %edx, %rdx
addl (%rcx,%rdx,4), %eax
movl %eax, %eax
movq %rax, 0xd8(%rsp)
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27a99d
movl $0x0, 0x81a4(%rsp)
movq 0x88(%rsp), %rcx
movl 0x81a4(%rsp), %eax
cmpl 0x10(%rcx), %eax
jae 0x27abcf
movq 0x90(%rsp), %rax
movq (%rax), %rdi
movl 0x81a4(%rsp), %esi
movl 0xc(%rax), %ecx
movq 0x18(%rax), %r8
movq 0x20(%rax), %r9
xorl %eax, %eax
movl %eax, %edx
callq 0x27b6e0
movq 0x88(%rsp), %rsi
movw %ax, 0xcc(%rsp)
movw 0xcc(%rsp), %ax
movw %ax, 0x166(%rsp)
movl 0x81a4(%rsp), %edx
movq (%rsi), %rax
movzbl 0x167(%rsp), %ecx
movq 0x110(%rsp,%rcx,8), %rdi
movzbl 0x166(%rsp), %r8d
movzbl 0x167(%rsp), %ecx
shll %ecx
sarl %cl, %r8d
movl %r8d, %ecx
movslq %ecx, %r8
movl (%rdi,%r8,4), %ecx
movl %ecx, %r9d
addl $0x1, %r9d
movl %r9d, (%rdi,%r8,4)
movl %ecx, %ecx
addq 0x8(%rsi), %rcx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27ab0d
movq 0xe0(%rsp), %rax
movl (%rax), %eax
movl %eax, 0xc8(%rsp)
movl $0x1, 0x81a4(%rsp)
cmpl $0x100, 0x81a4(%rsp) # imm = 0x100
jae 0x27ac41
movl 0xc8(%rsp), %eax
movq 0xe0(%rsp), %rcx
movl 0x81a4(%rsp), %edx
cmpl (%rcx,%rdx,4), %eax
jae 0x27ac2c
movq 0xe0(%rsp), %rax
movl 0x81a4(%rsp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, 0xc8(%rsp)
jmp 0x27ac2e
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27abeb
movl 0xc8(%rsp), %eax
movl %eax, %edi
shlq $0x0, %rdi
leaq 0x304ded(%rip), %rsi    # 0x57fa42
movl $0x2ac, %edx            # imm = 0x2AC
callq 0xe80f0
movq %rax, %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x30(%rax)
movl 0xc8(%rsp), %eax
movl %eax, %edi
shlq $0x2, %rdi
leaq 0x304dc0(%rip), %rsi    # 0x57fa42
movl $0x2ae, %edx            # imm = 0x2AE
callq 0xe80f0
movq %rax, %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x28(%rax)
movl 0xc8(%rsp), %eax
movl %eax, %edi
shlq $0x0, %rdi
leaq 0x304d93(%rip), %rsi    # 0x57fa42
movl $0x2af, %edx            # imm = 0x2AF
callq 0xe80f0
movq %rax, %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x38(%rax)
movq $0x400, 0x180(%rsp) # imm = 0x400
movq $0x400, 0x188(%rsp) # imm = 0x400
movq 0x180(%rsp), %rax
movq %rax, 0x168(%rsp)
movq $0x0, 0x178(%rsp)
movq $0x0, 0x170(%rsp)
leaq 0x168(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x8190(%rsp)
movq $0x0, 0x8198(%rsp)
cmpq $0x0, 0x8198(%rsp)
je 0x27ad96
movq $0x0, 0x8198(%rsp)
movq $0x0, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
cmpq 0x180(%rsp), %rax
jae 0x27ad94
movq 0x8198(%rsp), %rax
movq 0x8190(%rsp), %rdi
movq 0xc0(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rdi
callq *%rax
movq 0xc0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xc0(%rsp)
jmp 0x27ad4b
jmp 0x27ad96
movq 0x90(%rsp), %rcx
movq 0x88(%rsp), %rax
leaq 0xe0(%rsp), %rdi
leaq 0x140(%rsp), %rdx
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movq %rsp, %rax
movups %xmm1, 0x60(%rax)
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x168(%rsp), %rsi
callq 0x27c4f0
movq 0x178(%rsp), %rdx
xorl %eax, %eax
movl $0x1, %ecx
cmpq $0x0, %rdx
cmovel %ecx, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x27ae22
jmp 0x27b2d0
movq 0x8190(%rsp), %rax
movq 0x178(%rsp), %rcx
addq $-0x1, %rcx
movq %rcx, 0x178(%rsp)
shlq $0x5, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0xa0(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0xa8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0xb0(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0xb8(%rsp)
movb $0x0, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
ja 0x27af06
movl $0x0, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
movzbl 0x165(%rsp), %ecx
movl %ecx, %edx
movl $0x4, %ecx
subq %rdx, %rcx
shlq %rcx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
cmpl %ecx, %eax
jae 0x27aeef
movzbl 0x165(%rsp), %eax
movq 0xe0(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
movl $0x0, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27ae95
jmp 0x27aef1
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27ae7c
movl $0x0, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
cmpl 0xb0(%rsp), %eax
jae 0x27afd8
movq 0x90(%rsp), %rax
movq (%rax), %rdi
movq 0xa0(%rsp), %rcx
movl 0x81a4(%rsp), %edx
addq 0xa8(%rsp), %rdx
movl (%rcx,%rdx,4), %esi
movq 0xb8(%rsp), %rdx
movl 0xc(%rax), %ecx
movq 0x18(%rax), %r8
movq 0x20(%rax), %r9
callq 0x27b6e0
movw %ax, %cx
movq 0x90(%rsp), %rax
movw %cx, 0x9e(%rsp)
movw 0x9e(%rsp), %cx
movw %cx, 0x166(%rsp)
movzbl 0x166(%rsp), %edx
movzbl 0x167(%rsp), %ecx
shll %ecx
sarl %cl, %edx
movl %edx, %ecx
movb %cl, %sil
movq 0x30(%rax), %rcx
movl 0x81a4(%rsp), %edx
movb %sil, (%rcx,%rdx)
movb 0x167(%rsp), %dl
movq 0x38(%rax), %rax
movl 0x81a4(%rsp), %ecx
movb %dl, (%rax,%rcx)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27af11
movl $0x0, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
cmpl 0xb0(%rsp), %eax
jae 0x27b03d
movq 0x90(%rsp), %rcx
movq 0x38(%rcx), %rax
movl 0x81a4(%rsp), %edx
movzbl (%rax,%rdx), %eax
movq 0xe0(%rsp,%rax,8), %rax
movq 0x30(%rcx), %rcx
movl 0x81a4(%rsp), %edx
movzbl (%rcx,%rdx), %ecx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27afe3
movq $0x0, 0xd8(%rsp)
movb $0x0, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
ja 0x27b175
movq 0xd8(%rsp), %rax
movl %eax, %ecx
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movl %ecx, (%rax)
movl $0x1, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
movzbl 0x165(%rsp), %ecx
movl %ecx, %edx
movl $0x4, %ecx
subq %rdx, %rcx
shlq %rcx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
cmpl %ecx, %eax
jae 0x27b121
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movl (%rax,%rcx,4), %edx
movzbl 0x165(%rsp), %eax
movq 0xe0(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
addl (%rax,%rcx,4), %edx
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movl 0x81a4(%rsp), %ecx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27b08a
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rax
movzbl 0x165(%rsp), %ecx
movl %ecx, %edx
movl $0x4, %ecx
subq %rdx, %rcx
shlq %rcx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
movq %rax, 0xd8(%rsp)
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27b051
movl $0x0, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
cmpl 0xb0(%rsp), %eax
jae 0x27b207
movq 0x90(%rsp), %rcx
movq 0xa0(%rsp), %rax
movl 0x81a4(%rsp), %edx
addq 0xa8(%rsp), %rdx
movl (%rax,%rdx,4), %edx
movq 0x28(%rcx), %rax
movq 0x38(%rcx), %rsi
movl 0x81a4(%rsp), %edi
movzbl (%rsi,%rdi), %esi
movq 0x110(%rsp,%rsi,8), %rsi
movq 0x30(%rcx), %rcx
movl 0x81a4(%rsp), %edi
movzbl (%rcx,%rdi), %ecx
movl %ecx, %edi
movl (%rsi,%rdi,4), %ecx
movl %ecx, %r8d
addl $0x1, %r8d
movl %r8d, (%rsi,%rdi,4)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27b180
movl $0x0, 0x81a4(%rsp)
movl 0x81a4(%rsp), %eax
cmpl 0xb0(%rsp), %eax
jae 0x27b265
movq 0x90(%rsp), %rax
movq 0x28(%rax), %rax
movl 0x81a4(%rsp), %ecx
movl (%rax,%rcx,4), %edx
movq 0xa0(%rsp), %rax
movl 0x81a4(%rsp), %ecx
addq 0xa8(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movl 0x81a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81a4(%rsp)
jmp 0x27b212
movq 0x90(%rsp), %rcx
leaq 0xe0(%rsp), %rdi
leaq 0x140(%rsp), %rdx
movups 0xa0(%rsp), %xmm0
movups 0xb0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x60(%rax)
movups %xmm0, 0x50(%rax)
movups 0x40(%rcx), %xmm0
movups %xmm0, 0x40(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups 0x30(%rcx), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x168(%rsp), %rsi
callq 0x27c4f0
jmp 0x27adfb
movq 0x168(%rsp), %rax
cmpq 0x180(%rsp), %rax
jbe 0x27b307
movq 0x8190(%rsp), %rdi
leaq 0x304751(%rip), %rsi    # 0x57fa42
movl $0x2e8, %edx            # imm = 0x2E8
callq 0xe88c0
movq $0x0, 0x8190(%rsp)
movq 0x90(%rsp), %rax
movq 0x28(%rax), %rdi
leaq 0x304728(%rip), %rsi    # 0x57fa42
movl $0x2e9, %edx            # imm = 0x2E9
callq 0xe88c0
movq 0x90(%rsp), %rax
movq 0x30(%rax), %rdi
leaq 0x30470b(%rip), %rsi    # 0x57fa42
movl $0x2ea, %edx            # imm = 0x2EA
callq 0xe88c0
movq 0x90(%rsp), %rax
movq 0x38(%rax), %rdi
leaq 0x3046ee(%rip), %rsi    # 0x57fa42
movl $0x2eb, %edx            # imm = 0x2EB
callq 0xe88c0
movb $0x0, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
ja 0x27b3c8
movzbl 0x165(%rsp), %eax
movq 0x110(%rsp,%rax,8), %rdi
leaq 0x3046b7(%rip), %rsi    # 0x57fa42
movl $0x2ee, %edx            # imm = 0x2EE
callq 0xe88c0
movzbl 0x165(%rsp), %eax
movq 0xe0(%rsp,%rax,8), %rdi
leaq 0x304696(%rip), %rsi    # 0x57fa42
movl $0x2ef, %edx            # imm = 0x2EF
callq 0xe88c0
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27b366
movb $0x0, 0x165(%rsp)
movzbl 0x165(%rsp), %eax
cmpq $0x4, %rax
jae 0x27b411
movzbl 0x165(%rsp), %eax
movq 0x140(%rsp,%rax,8), %rdi
leaq 0x30464d(%rip), %rsi    # 0x57fa42
movl $0x2f3, %edx            # imm = 0x2F3
callq 0xe88c0
movb 0x165(%rsp), %al
addb $0x1, %al
movb %al, 0x165(%rsp)
jmp 0x27b3d0
addq $0x81a8, %rsp           # imm = 0x81A8
retq
nopl (%rax)