// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/match/eis-blockcomp.c
// Function: cacheFetchSuperBlock
static struct superBlock *
cacheFetchSuperBlock(const struct blockCompositionSeq *seqIdx,
                     GtUword superBlockNum, struct seqCache *sBlockCache)
{
  size_t cachePos = pos2CachePos(sBlockCache, superBlockNum);
  if (inSeqCache(sBlockCache, superBlockNum))
    return (struct superBlock *)sBlockCache->entriesPtr[cachePos];
  else
  {
    struct superBlock *sb =
      (struct superBlock *)sBlockCache->entriesPtr[cachePos];
    return fetchSuperBlock(seqIdx, superBlockNum, sb);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rcx
movq %rsi, %rax
xorl %edx, %edx
divq (%rcx)
movq 0x8(%rcx), %rax
movq 0x10(%rcx), %rcx
movq (%rcx,%rdx,8), %rbx
cmpq %rsi, (%rax,%rdx,8)
je 0x30cf2a
movq %rsi, %r15
movq %rdi, %r14
movl 0xb0(%rdi), %r13d
movl 0xb4(%rdi), %eax
movq %r13, %rcx
imulq %rsi, %rcx
imulq %rcx, %rax
cmpq 0x10(%rdi), %rax
ja 0x30cfa7
movq 0x28(%r14), %rax
testq %rbx, %rbx
je 0x30cc94
testq %rax, %rax
je 0x30cddb
movq %rbx, %r12
jmp 0x30cd66
movl $0x18, %edi
testq %rax, %rax
jne 0x30cd3b
movl 0xc0(%r14), %eax
addl 0xe0(%r14), %eax
addl 0xb8(%r14), %eax
movl 0x68(%r14), %ecx
imull %r13d, %ecx
addl %eax, %ecx
movq 0x90(%r14), %rax
addq %rcx, %rax
addq $0x7, %rax
movq %rax, %rcx
shrq $0x3, %rcx
andl $0x7, %eax
cmpq $0x1, %rax
sbbq $-0x1, %rcx
movq 0x88(%r14), %rdx
leaq 0x18(%rcx), %rsi
xorl %edi, %edi
testb $0x3, %cl
setne %dil
movabsq $0x7ffffffffffffffc, %rax # imm = 0x7FFFFFFFFFFFFFFC
imull 0x6c(%r14), %r13d
andq %rax, %rsi
leaq (%rdx,%r13), %rcx
addq $0x7, %rcx
movq %rcx, %rdx
shrq $0x3, %rdx
andl $0x7, %ecx
cmpq $0x1, %rcx
sbbq $-0x1, %rdx
addq %rsi, %rdx
leaq (%rdx,%rdi,4), %rcx
xorl %edx, %edx
testb $0x7, %cl
setne %dl
addq $-0x4, %rax
andq %rcx, %rax
leaq (%rax,%rdx,8), %rdi
leaq 0xd3c8e(%rip), %rsi     # 0x3e09d0
movl $0x2ea, %edx            # imm = 0x2EA
callq 0x104226
movq %rax, %r12
movq 0x28(%r14), %rax
movl 0xb0(%r14), %r13d
testq %rax, %rax
je 0x30ce04
movq %r12, %rbx
movl 0xc0(%r14), %edx
movl 0xe0(%r14), %ecx
leal (%rcx,%rdx), %esi
addl 0xb8(%r14), %esi
imull 0x68(%r14), %r13d
addl %esi, %r13d
addq 0x90(%r14), %r13
imulq %r15, %r13
movq %r13, %rdi
shrq $0x3, %rdi
addq %rax, %rdi
movq %rdi, 0x10(%r12)
andl $0x7, %r13d
movl %r13d, 0x4(%r12)
addq %rcx, %r13
movq %r13, %rsi
callq 0x2f37dc
movq 0x28(%r14), %rcx
addq 0x38(%r14), %rcx
subq 0x30(%r14), %rcx
movq %rax, %rdx
shrq $0x3, %rdx
addq %rcx, %rdx
movq %rdx, 0x8(%r12)
andl $0x7, %eax
movl %eax, (%r12)
jmp 0x30cf2a
movl 0xc0(%r14), %ecx
movq 0x90(%r14), %rax
addl 0xe0(%r14), %ecx
addl 0xb8(%r14), %ecx
imull 0x68(%r14), %r13d
addl %ecx, %r13d
movq %rbx, %r12
jmp 0x30ce72
leaq 0x18(%r12), %rax
movq %rax, 0x10(%r12)
movl 0xc0(%r14), %eax
addl 0xe0(%r14), %eax
addl 0xb8(%r14), %eax
imull 0x68(%r14), %r13d
addl %eax, %r13d
movq 0x90(%r14), %rax
leaq (%rax,%r13), %rcx
addq $0x7, %rcx
movq %rcx, %rdx
shrq $0x3, %rdx
andl $0x7, %ecx
cmpq $0x1, %rcx
sbbq $-0x1, %rdx
leaq 0x18(%rdx), %rcx
xorl %esi, %esi
testb $0x3, %dl
setne %sil
movabsq $0x7ffffffffffffffc, %rdx # imm = 0x7FFFFFFFFFFFFFFC
andq %rcx, %rdx
addq %r12, %rdx
leaq (%rdx,%rsi,4), %rcx
movq %rcx, 0x8(%r12)
addq %rax, %r13
imulq %r13, %r15
movq 0x18(%r14), %rdi
movq %r15, %rsi
shrq $0x3, %rsi
addq 0x30(%r14), %rsi
movq %rdi, (%rsp)
xorl %edx, %edx
callq 0x17cf0
testl %eax, %eax
jne 0x30cf0f
addq $0x7, %r13
movq %r13, %rbp
shrq $0x3, %rbp
andl $0x7, %r13d
cmpq $0x1, %r13
sbbq $-0x1, %rbp
movq 0x10(%r12), %rdi
movl $0x1, %esi
movq %rbp, %rdx
movq (%rsp), %r13
movq %r13, %rcx
callq 0x17b40
cmpq %rbp, %rax
jne 0x30cf0f
andl $0x7, %r15d
movl %r15d, 0x4(%r12)
movq 0x10(%r12), %rdi
movl 0xc0(%r14), %edx
movl 0xe0(%r14), %eax
addq %rax, %r15
movq %r15, %rsi
callq 0x2f37dc
movq %rax, %r15
movq %rax, %rsi
shrq $0x3, %rsi
addq 0x38(%r14), %rsi
movq %r13, %rdi
xorl %edx, %edx
callq 0x17cf0
testl %eax, %eax
je 0x30cf3c
testq %rbx, %rbx
jne 0x30cf28
leaq 0xd3ab5(%rip), %rsi     # 0x3e09d0
movq %r12, %rdi
movl $0x2f2, %edx            # imm = 0x2F2
callq 0x1045eb
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testq %rbx, %rbx
setne %bpl
andl $0x7, %r15d
movl %r15d, (%r12)
movq 0x8(%r12), %rdi
movl 0xb0(%r14), %eax
imull 0x6c(%r14), %eax
movq 0x88(%r14), %rcx
addq %rcx, %rax
addq $0x7, %rax
movq %rax, %rdx
shrq $0x3, %rdx
andl $0x7, %eax
cmpq $0x1, %rax
sbbq $-0x1, %rdx
movl $0x1, %esi
movq %r13, %rcx
callq 0x17b40
movq %r13, %rdi
callq 0x17f00
xorl %ebx, %ebx
testl %eax, %eax
sete %al
cmoveq %r12, %rbx
orb %bpl, %al
je 0x30cf14
jmp 0x30cf2a
callq 0x900a5