// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-contfinder.c
// Function: gt_contfinder_run
void gt_contfinder_run(GtContfinder *contfinder, bool mirrored,
    bool calculate_copynum)
{
  GtContfinderBucketInfo all;

  if (contfinder->nofseqs == 0)
    return;

  GT_INITBITTAB(contfinder->contained, contfinder->logicalnofseqs);

  contfinder->nofseqs = contfinder->logicalnofseqs;

  if (mirrored)
    contfinder->logicalnofseqs <<= 1;

  GT_READJOINER_CONTFINDER_ALLOC_SEQNUMS(contfinder->seqnums,
      contfinder->logicalnofseqs);

  if (calculate_copynum)
    gt_contfinder_init_copynum(contfinder);

  all.nofseqs = contfinder->logicalnofseqs;
  all.seqnums = contfinder->seqnums;
  all.seqnums_offset = 0;
  all.depth = 0;

  if (contfinder->len > 0)
    gt_contfinder_radixsort_eqlen(*contfinder, all);
  else
    gt_contfinder_radixsort(*contfinder, all);
}

// Assembly:
subq $0xb8, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, 0xb0(%rsp)
andb $0x1, %cl
movb %cl, 0xaf(%rsp)
andb $0x1, %al
movb %al, 0xae(%rsp)
movq 0xb0(%rsp), %rax
cmpl $0x0, 0xc(%rax)
jne 0x27956a
jmp 0x279764
movq 0xb0(%rsp), %rax
movl 0x8(%rax), %eax
shrl $0x6, %eax
cmpl $0x0, %eax
jne 0x279589
movl $0x1, %eax
movq %rax, 0x78(%rsp)
jmp 0x2795a5
movq 0xb0(%rsp), %rax
movl 0x8(%rax), %eax
subl $0x1, %eax
shrl $0x6, %eax
movl %eax, %eax
addq $0x1, %rax
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rsi
shlq $0x3, %rsi
xorl %eax, %eax
movl %eax, %edi
leaq 0x306479(%rip), %rdx    # 0x57fa42
movl $0x36b, %ecx            # imm = 0x36B
callq 0xe8540
movq %rax, %rcx
movq 0xb0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xb0(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x80(%rsp), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x19360
movq 0xb0(%rsp), %rax
movl 0x8(%rax), %ecx
movq 0xb0(%rsp), %rax
movl %ecx, 0xc(%rax)
testb $0x1, 0xaf(%rsp)
je 0x279631
movq 0xb0(%rsp), %rax
movl 0x8(%rax), %ecx
shll %ecx
movl %ecx, 0x8(%rax)
movq 0xb0(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, %edi
shlq $0x2, %rdi
leaq 0x3063f9(%rip), %rsi    # 0x57fa42
movl $0x373, %edx            # imm = 0x373
callq 0xe80f0
movq %rax, %rcx
movq 0xb0(%rsp), %rax
movq %rcx, 0x48(%rax)
testb $0x1, 0xae(%rsp)
je 0x279679
movq 0xb0(%rsp), %rdi
callq 0x279770
movq 0xb0(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0x98(%rsp)
movq 0xb0(%rsp), %rax
movq 0x48(%rax), %rax
movq %rax, 0x88(%rsp)
movq $0x0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq 0xb0(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x279716
movq 0xb0(%rsp), %rcx
movups 0x88(%rsp), %xmm0
movups 0x98(%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 0x279830
jmp 0x279764
movq 0xb0(%rsp), %rcx
movups 0x88(%rsp), %xmm0
movups 0x98(%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 0x27a6f0
addq $0xb8, %rsp
retq
nopl (%rax)