// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_radixsort_eqlen
static void gt_contfinder_radixsort_eqlen(GtContfinder contfinder,
    GtContfinderBucketInfo all)
{
  size_t i;
  GtStackGtContfinderBucketInfo stack;
  gt_contfinder_seqnum_t bucketindex[GT_CONTFINDER_NOFBUCKETS(0)];
#ifndef S_SPLINT_S
  gt_contfinder_seqnum_t bucketsize[GT_CONTFINDER_NOFBUCKETS(0)] = {};
#endif
  GtContfinderBucketInfo subbucket;

  /* Loop A */
  for (i = 0; i < all.nofseqs; ++i)
    ++bucketsize[gt_contfinder_get_code(contfinder.twobitencoding, i, 0,
        contfinder.nofseqs, contfinder.len, NULL).code];

  bucketindex[0] = 0;
  for (i = (size_t)1; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
    bucketindex[i] = bucketindex[i - 1] + bucketsize[i - 1];

  /* Loop B */
  for (i = 0; i < all.nofseqs; ++i)
    GT_READJOINER_CONTFINDER_SET_SEQNUM(all.seqnums, (bucketindex[
        gt_contfinder_get_code(contfinder.twobitencoding, i, 0,
          contfinder.nofseqs, contfinder.len, NULL).code]++) +
        all.seqnums_offset, i);

  if (contfinder.len <= GT_CONTFINDER_KMERSIZE)
  {
    subbucket.depth = 0;
    subbucket.seqnums = all.seqnums;
    subbucket.seqnums_offset = all.seqnums_offset;
    for (i = 0; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
    {
      subbucket.nofseqs = bucketsize[i];
      if (subbucket.nofseqs > (size_t)1)
        gt_contfinder_mark_as_contained(contfinder, subbucket, true);
      subbucket.seqnums_offset += subbucket.nofseqs;
    }
    return;
  }

  /* alloc oracle and sorted */
  {
    gt_contfinder_seqnum_t maxbsize = bucketsize[0];
    for (i = (size_t)1; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
      if (maxbsize < bucketsize[i])
        maxbsize = bucketsize[i];
    contfinder.oracle = gt_malloc(sizeof (gt_contfinder_kmercode_t) * maxbsize);
    contfinder.sorted = gt_malloc(sizeof (gt_contfinder_seqnum_t) * maxbsize);
  }

  GT_STACK_INIT(&stack, 1024UL);

  subbucket.depth = GT_CONTFINDER_KMERSIZE;
  subbucket.seqnums = all.seqnums;
  subbucket.seqnums_offset = all.seqnums_offset;
  for (i = 0; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
  {
    subbucket.nofseqs = bucketsize[i];
    if (subbucket.nofseqs > (size_t)1)
    {
      if (subbucket.nofseqs <= GT_CONTFINDER_INSERTION_SORT_MAX)
        gt_contfinder_insertion_sort(contfinder, subbucket);
      else
      {
        GT_STACK_PUSH(&stack, subbucket);
      }
    }
    subbucket.seqnums_offset += subbucket.nofseqs;
  }

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

    memset(bucketsize, 0, sizeof (bucketsize));

    /* Loop A */
    for (i = 0; i < bucket.nofseqs; ++i)
    {
      gt_contfinder_seqnum_t ith_seqnum =
        GT_READJOINER_CONTFINDER_GET_SEQNUM(bucket.seqnums, i +
            bucket.seqnums_offset);
      contfinder.oracle[i] = gt_contfinder_get_code(contfinder.twobitencoding,
          ith_seqnum, bucket.depth, contfinder.nofseqs, contfinder.len,
          NULL).code;
    }

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

    bucketindex[0] = 0;
    for (i = (size_t)1; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
      bucketindex[i] = bucketindex[i - 1] + bucketsize[i - 1];

    /* Loop B */
    for (i = 0; i < bucket.nofseqs; ++i)
      contfinder.sorted[bucketindex[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]);

    subbucket.depth = bucket.depth + GT_CONTFINDER_KMERSIZE;
    subbucket.seqnums = bucket.seqnums;
    subbucket.seqnums_offset = bucket.seqnums_offset;
    if (subbucket.depth < contfinder.len)
    {
      for (i = 0; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
      {
        subbucket.nofseqs = bucketsize[i];
        if (subbucket.nofseqs > (size_t)1)
        {
          if (subbucket.nofseqs <= GT_CONTFINDER_INSERTION_SORT_MAX)
            gt_contfinder_insertion_sort(contfinder, subbucket);
          else
          {
            GT_STACK_PUSH(&stack, subbucket);
          }
        }
        subbucket.seqnums_offset += subbucket.nofseqs;
      }
    }
    else
    {
      for (i = 0; i < GT_CONTFINDER_NOFBUCKETS(0); ++i)
      {
        subbucket.nofseqs = bucketsize[i];
        if (subbucket.nofseqs > (size_t)1)
          gt_contfinder_mark_as_contained(contfinder, subbucket, true);
        subbucket.seqnums_offset += subbucket.nofseqs;
      }
    }
  }

  GT_STACK_DELETE(&stack);
  gt_free(contfinder.sorted);
  gt_free(contfinder.oracle);
}

// Assembly:
subq $0x8978, %rsp           # imm = 0x8978
leaq 0x89d0(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x8980(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0x130(%rsp), %rdi
xorl %esi, %esi
movl $0x400, %edx            # imm = 0x400
callq 0x19360
movq $0x0, 0x8970(%rsp)
movq 0x98(%rsp), %rcx
movq 0x8970(%rsp), %rax
movl 0x10(%rcx), %ecx
cmpq %rcx, %rax
jae 0x2798ef
movq 0xa0(%rsp), %rax
movq (%rax), %rdi
movq 0x8970(%rsp), %rcx
movl %ecx, %esi
movl 0xc(%rax), %ecx
movq 0x18(%rax), %r8
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %rdx
callq 0x27b6e0
movw %ax, 0x10e(%rsp)
movzbl 0x10e(%rsp), %eax
movl 0x130(%rsp,%rax,4), %ecx
addl $0x1, %ecx
movl %ecx, 0x130(%rsp,%rax,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x279877
movl $0x0, 0x530(%rsp)
movq $0x1, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x27995f
movq 0x8970(%rsp), %rax
subq $0x1, %rax
movl 0x530(%rsp,%rax,4), %ecx
movq 0x8970(%rsp), %rax
subq $0x1, %rax
addl 0x130(%rsp,%rax,4), %ecx
movq 0x8970(%rsp), %rax
movl %ecx, 0x530(%rsp,%rax,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x279906
movq $0x0, 0x8970(%rsp)
movq 0x98(%rsp), %rcx
movq 0x8970(%rsp), %rax
movl 0x10(%rcx), %ecx
cmpq %rcx, %rax
jae 0x279a36
movq 0x98(%rsp), %rcx
movq 0xa0(%rsp), %rax
movq 0x8970(%rsp), %rdx
movl %edx, 0x8c(%rsp)
movq (%rcx), %rcx
movq %rcx, 0x90(%rsp)
movq (%rax), %rdi
movq 0x8970(%rsp), %rcx
movl %ecx, %esi
movl 0xc(%rax), %ecx
movq 0x18(%rax), %r8
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %rdx
callq 0x27b6e0
movq 0x98(%rsp), %rsi
movl 0x8c(%rsp), %edx
movw %ax, %cx
movq 0x90(%rsp), %rax
movw %cx, 0x10c(%rsp)
movzbl 0x10c(%rsp), %ecx
movl %ecx, %edi
movl 0x530(%rsp,%rdi,4), %ecx
movl %ecx, %r8d
addl $0x1, %r8d
movl %r8d, 0x530(%rsp,%rdi,4)
movl %ecx, %ecx
addq 0x8(%rsi), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27996b
movq 0xa0(%rsp), %rax
cmpq $0x4, 0x18(%rax)
ja 0x279b3d
movq 0x98(%rsp), %rax
movq $0x0, 0x128(%rsp)
movq (%rax), %rcx
movq %rcx, 0x110(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x118(%rsp)
movq $0x0, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x279b38
movq 0x8970(%rsp), %rax
movl 0x130(%rsp,%rax,4), %eax
movl %eax, 0x120(%rsp)
movl 0x120(%rsp), %eax
cmpq $0x1, %rax
jbe 0x279b08
movq 0xa0(%rsp), %rcx
movups 0x110(%rsp), %xmm0
movups 0x120(%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)
movl $0x1, %edi
callq 0x27ba70
movl 0x120(%rsp), %eax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x279a80
jmp 0x27a6e8
movl 0x130(%rsp), %eax
movl %eax, 0x108(%rsp)
movq $0x1, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x279bab
movl 0x108(%rsp), %eax
movq 0x8970(%rsp), %rcx
cmpl 0x130(%rsp,%rcx,4), %eax
jae 0x279b93
movq 0x8970(%rsp), %rax
movl 0x130(%rsp,%rax,4), %eax
movl %eax, 0x108(%rsp)
jmp 0x279b95
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x279b57
movl 0x108(%rsp), %eax
movl %eax, %edi
shlq $0x0, %rdi
leaq 0x305e83(%rip), %rsi    # 0x57fa42
movl $0x1da, %edx            # imm = 0x1DA
callq 0xe80f0
movq %rax, %rcx
movq 0xa0(%rsp), %rax
movq %rcx, 0x30(%rax)
movl 0x108(%rsp), %eax
movl %eax, %edi
shlq $0x2, %rdi
leaq 0x305e56(%rip), %rsi    # 0x57fa42
movl $0x1db, %edx            # imm = 0x1DB
callq 0xe80f0
movq %rax, %rcx
movq 0xa0(%rsp), %rax
movq %rcx, 0x28(%rax)
movq $0x400, 0x950(%rsp) # imm = 0x400
movq $0x400, 0x958(%rsp) # imm = 0x400
movq 0x950(%rsp), %rax
movq %rax, 0x938(%rsp)
movq $0x0, 0x948(%rsp)
movq $0x0, 0x940(%rsp)
leaq 0x938(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x8960(%rsp)
movq $0x0, 0x8968(%rsp)
cmpq $0x0, 0x8968(%rsp)
je 0x279cd3
movq $0x0, 0x8968(%rsp)
movq $0x0, 0x100(%rsp)
movq 0x100(%rsp), %rax
cmpq 0x950(%rsp), %rax
jae 0x279cd1
movq 0x8968(%rsp), %rax
movq 0x8960(%rsp), %rdi
movq 0x100(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x100(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x100(%rsp)
jmp 0x279c88
jmp 0x279cd3
movq 0x98(%rsp), %rax
movq $0x4, 0x128(%rsp)
movq (%rax), %rcx
movq %rcx, 0x110(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x118(%rsp)
movq $0x0, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x279fb0
movq 0x8970(%rsp), %rax
movl 0x130(%rsp,%rax,4), %eax
movl %eax, 0x120(%rsp)
movl 0x120(%rsp), %eax
cmpq $0x1, %rax
jbe 0x279f80
movl 0x120(%rsp), %eax
cmpq $0x1f, %rax
ja 0x279da3
movq 0xa0(%rsp), %rcx
movups 0x110(%rsp), %xmm0
movups 0x120(%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)
callq 0x27bd50
jmp 0x279f7e
movq 0x948(%rsp), %rax
cmpq 0x938(%rsp), %rax
jne 0x279f05
movq $0x20, 0xf8(%rsp)
movq 0xf8(%rsp), %rax
movq 0x938(%rsp), %rcx
addq 0x958(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0xf0(%rsp)
movq 0x938(%rsp), %rax
cmpq 0x950(%rsp), %rax
jne 0x279e07
xorl %eax, %eax
movq %rax, 0x80(%rsp)
jmp 0x279e17
movq 0x8960(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rdi
movq 0xf0(%rsp), %rsi
leaq 0x305c14(%rip), %rdx    # 0x57fa42
movl $0x1ec, %ecx            # imm = 0x1EC
callq 0xe8540
movq %rax, 0x8960(%rsp)
movq 0x938(%rsp), %rax
cmpq 0x950(%rsp), %rax
jne 0x279e7c
movq 0x8960(%rsp), %rdi
leaq 0x938(%rsp), %rsi
addq $0x28, %rsi
movq 0xf8(%rsp), %rdx
imulq 0x950(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x8968(%rsp)
je 0x279eed
movq $0x0, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
cmpq 0x958(%rsp), %rax
jae 0x279eeb
movq 0x8968(%rsp), %rax
movq 0x8960(%rsp), %rdi
movq 0x938(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rdi
movq 0xe8(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rdi
callq *%rax
movq 0xe8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe8(%rsp)
jmp 0x279e93
jmp 0x279eed
movq 0x958(%rsp), %rax
addq 0x938(%rsp), %rax
movq %rax, 0x938(%rsp)
movq 0x8960(%rsp), %rax
movq 0x948(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x948(%rsp)
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x110(%rsp), %rcx
movq %rcx, (%rax)
movq 0x118(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x120(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x128(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0x940(%rsp), %rax
cmpq 0x948(%rsp), %rax
jae 0x279f7c
movq 0x948(%rsp), %rax
movq %rax, 0x940(%rsp)
jmp 0x279f7e
jmp 0x279f80
movl 0x120(%rsp), %eax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x279d0a
jmp 0x279fb2
movq 0x948(%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 0x279fd9
jmp 0x27a677
movq 0x8960(%rsp), %rax
movq 0x948(%rsp), %rcx
addq $-0x1, %rcx
movq %rcx, 0x948(%rsp)
shlq $0x5, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0xc8(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0xd0(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0xd8(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0xe0(%rsp)
leaq 0x130(%rsp), %rdi
xorl %esi, %esi
movl $0x400, %edx            # imm = 0x400
callq 0x19360
movq $0x0, 0x8970(%rsp)
movq 0x8970(%rsp), %rax
movl 0xd8(%rsp), %ecx
cmpq %rcx, %rax
jae 0x27a0f2
movq 0xa0(%rsp), %rax
movq 0xc8(%rsp), %rcx
movq 0x8970(%rsp), %rdx
addq 0xd0(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
movl %ecx, 0xc4(%rsp)
movq (%rax), %rdi
movl 0xc4(%rsp), %esi
movq 0xe0(%rsp), %rdx
movl 0xc(%rax), %ecx
movq 0x18(%rax), %r8
xorl %eax, %eax
movl %eax, %r9d
callq 0x27b6e0
movw %ax, %cx
movq 0xa0(%rsp), %rax
movw %cx, 0xc2(%rsp)
movb 0xc2(%rsp), %dl
movq 0x30(%rax), %rax
movq 0x8970(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a04b
movq $0x0, 0x8970(%rsp)
movq 0x8970(%rsp), %rax
movl 0xd8(%rsp), %ecx
cmpq %rcx, %rax
jae 0x27a151
movq 0xa0(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x8970(%rsp), %rcx
movzbl (%rax,%rcx), %eax
movl 0x130(%rsp,%rax,4), %ecx
addl $0x1, %ecx
movl %ecx, 0x130(%rsp,%rax,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a0fe
movl $0x0, 0x530(%rsp)
movq $0x1, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x27a1c1
movq 0x8970(%rsp), %rax
subq $0x1, %rax
movl 0x530(%rsp,%rax,4), %ecx
movq 0x8970(%rsp), %rax
subq $0x1, %rax
addl 0x130(%rsp,%rax,4), %ecx
movq 0x8970(%rsp), %rax
movl %ecx, 0x530(%rsp,%rax,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a168
movq $0x0, 0x8970(%rsp)
movq 0x8970(%rsp), %rax
movl 0xd8(%rsp), %ecx
cmpq %rcx, %rax
jae 0x27a248
movq 0xa0(%rsp), %rcx
movq 0xc8(%rsp), %rax
movq 0x8970(%rsp), %rdx
addq 0xd0(%rsp), %rdx
movl (%rax,%rdx,4), %edx
movq 0x28(%rcx), %rax
movq 0x30(%rcx), %rcx
movq 0x8970(%rsp), %rsi
movzbl (%rcx,%rsi), %ecx
movl %ecx, %esi
movl 0x530(%rsp,%rsi,4), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x530(%rsp,%rsi,4)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a1cd
movq $0x0, 0x8970(%rsp)
movq 0x8970(%rsp), %rax
movl 0xd8(%rsp), %ecx
cmpq %rcx, %rax
jae 0x27a2b0
movq 0xa0(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8970(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0xc8(%rsp), %rax
movq 0x8970(%rsp), %rcx
addq 0xd0(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a254
movq 0xa0(%rsp), %rcx
movq 0xe0(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x128(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0x110(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x128(%rsp), %rax
cmpq 0x18(%rcx), %rax
jae 0x27a5ac
movq $0x0, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x27a5a7
movq 0x8970(%rsp), %rax
movl 0x130(%rsp,%rax,4), %eax
movl %eax, 0x120(%rsp)
movl 0x120(%rsp), %eax
cmpq $0x1, %rax
jbe 0x27a577
movl 0x120(%rsp), %eax
cmpq $0x1f, %rax
ja 0x27a3a3
movq 0xa0(%rsp), %rcx
movups 0x110(%rsp), %xmm0
movups 0x120(%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)
callq 0x27bd50
jmp 0x27a575
movq 0x948(%rsp), %rax
cmpq 0x938(%rsp), %rax
jne 0x27a4fc
movq $0x20, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq 0x938(%rsp), %rcx
addq 0x958(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0xb0(%rsp)
movq 0x938(%rsp), %rax
cmpq 0x950(%rsp), %rax
jne 0x27a404
xorl %eax, %eax
movq %rax, 0x78(%rsp)
jmp 0x27a411
movq 0x8960(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rdi
movq 0xb0(%rsp), %rsi
leaq 0x30561d(%rip), %rdx    # 0x57fa42
movl $0x222, %ecx            # imm = 0x222
callq 0xe8540
movq %rax, 0x8960(%rsp)
movq 0x938(%rsp), %rax
cmpq 0x950(%rsp), %rax
jne 0x27a473
movq 0x8960(%rsp), %rdi
leaq 0x938(%rsp), %rsi
addq $0x28, %rsi
movq 0xb8(%rsp), %rdx
imulq 0x950(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x8968(%rsp)
je 0x27a4e4
movq $0x0, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0x958(%rsp), %rax
jae 0x27a4e2
movq 0x8968(%rsp), %rax
movq 0x8960(%rsp), %rdi
movq 0x938(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rdi
movq 0xa8(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rdi
callq *%rax
movq 0xa8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xa8(%rsp)
jmp 0x27a48a
jmp 0x27a4e4
movq 0x958(%rsp), %rax
addq 0x938(%rsp), %rax
movq %rax, 0x938(%rsp)
movq 0x8960(%rsp), %rax
movq 0x948(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x948(%rsp)
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x110(%rsp), %rcx
movq %rcx, (%rax)
movq 0x118(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x120(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x128(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0x940(%rsp), %rax
cmpq 0x948(%rsp), %rax
jae 0x27a573
movq 0x948(%rsp), %rax
movq %rax, 0x940(%rsp)
jmp 0x27a575
jmp 0x27a577
movl 0x120(%rsp), %eax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a30a
jmp 0x27a672
movq $0x0, 0x8970(%rsp)
cmpq $0x100, 0x8970(%rsp) # imm = 0x100
jae 0x27a670
movq 0x8970(%rsp), %rax
movl 0x130(%rsp,%rax,4), %eax
movl %eax, 0x120(%rsp)
movl 0x120(%rsp), %eax
cmpq $0x1, %rax
jbe 0x27a640
movq 0xa0(%rsp), %rcx
movups 0x110(%rsp), %xmm0
movups 0x120(%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)
movl $0x1, %edi
callq 0x27ba70
movl 0x120(%rsp), %eax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x8970(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8970(%rsp)
jmp 0x27a5b8
jmp 0x27a672
jmp 0x279fb2
movq 0x938(%rsp), %rax
cmpq 0x950(%rsp), %rax
jbe 0x27a6ae
movq 0x8960(%rsp), %rdi
leaq 0x3053aa(%rip), %rsi    # 0x57fa42
movl $0x234, %edx            # imm = 0x234
callq 0xe88c0
movq $0x0, 0x8960(%rsp)
movq 0xa0(%rsp), %rax
movq 0x28(%rax), %rdi
leaq 0x305381(%rip), %rsi    # 0x57fa42
movl $0x235, %edx            # imm = 0x235
callq 0xe88c0
movq 0xa0(%rsp), %rax
movq 0x30(%rax), %rdi
leaq 0x305364(%rip), %rsi    # 0x57fa42
movl $0x236, %edx            # imm = 0x236
callq 0xe88c0
addq $0x8978, %rsp           # imm = 0x8978
retq