// File: /workspace/github_c_makefile_star2_O2/icebert[P]pblat/jkOwnLib/ffSeedExtend.c
// Function: ffSeedExtInMem
struct ssBundle *ffSeedExtInMem(struct genoFind *gf, struct dnaSeq *qSeq, Bits *qMaskBits, 
	int qOffset, struct lm *lm, int minScore, boolean isRc)
/* Do seed and extend type alignment */
{
struct ssBundle *bunList = NULL, *bun;
int hitCount;
struct gfClump *clumpList, *clump;
struct gfRange *rangeList = NULL, *range;
struct dnaSeq *tSeq;

clumpList = gfFindClumpsWithQmask(gf, qSeq, qMaskBits, qOffset, lm, &hitCount);
for (clump = clumpList; clump != NULL; clump = clump->next)
    clumpToExactRange(clump, qSeq, gf->tileSize, 0, NULL, &rangeList);
slSort(&rangeList, gfRangeCmpTarget);
rangeList = gfRangesBundle(rangeList, ffIntronMax);
for (range = rangeList; range != NULL; range = range->next)
    {
    range->qStart += qOffset;
    range->qEnd += qOffset;
    tSeq = range->tSeq;
    AllocVar(bun);
    bun->qSeq = qSeq;
    bun->genoSeq = tSeq;
    bun->ffList = gfRangesToFfItem(range->components, qSeq);
    bun->isProt = FALSE;
    bun->avoidFuzzyFindKludge = TRUE;
    ssStitch(bun, ffCdna, 16, 10);
    refineBundle(gf, qSeq, qMaskBits, qOffset, tSeq, lm, bun, isRc);
    slAddHead(&bunList, bun);
    }
gfRangeFreeList(&rangeList);
gfClumpFreeList(&clumpList);
return bunList;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x198, %rsp            # imm = 0x198
movq %r8, 0x28(%rsp)
movl 0x1d0(%rsp), %r13d
andq $0x0, 0xf8(%rsp)
leaq 0x17c(%rsp), %r9
movq %rdi, 0x50(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, 0x128(%rsp)
movl %ecx, 0x3c(%rsp)
callq 0xbd26
movq %rax, %rbx
movq %rax, 0x170(%rsp)
leaq 0xa0(%rsp), %rbp
testq %rbx, %rbx
je 0x13fa5
movq 0x50(%rsp), %rax
movl 0xc(%rax), %r14d
movq 0x10(%rbx), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x78(%rsp)
testq %rax, %rax
jne 0x13d91
leaq 0x68e1d(%rip), %rdi     # 0x7cb9b
leaq 0x697cb(%rip), %rsi     # 0x7d550
movl $0xdc, %edx
xorl %eax, %eax
callq 0x223fb
movq %rbx, 0xf0(%rsp)
leaq 0x28(%rbx), %r12
xorl %eax, %eax
xorl %ecx, %ecx
xorl %esi, %esi
xorl %edx, %edx
xorl %r13d, %r13d
xorl %r15d, %r15d
xorl %edi, %edi
movq $0x0, 0x40(%rsp)
movq $0x0, 0xe0(%rsp)
movq $0x0, 0x70(%rsp)
movq %r14, 0x30(%rsp)
movq (%r12), %r12
testq %r12, %r12
je 0x13dec
movl 0x8(%r12), %r13d
movl 0xc(%r12), %r15d
movq 0x10(%rsp), %r8
subl 0x18(%r8), %r15d
testb $0x1, %dil
je 0x13f6a
testq %r12, %r12
je 0x13e09
cmpl %esi, %r13d
jne 0x13e09
cmpl %edx, %r15d
je 0x13f7d
movq 0x8(%rsp), %r8
movq 0x10(%r8), %rdi
movslq %eax, %r14
leaq (%rdi,%r14), %rax
movq %rax, 0xa0(%rsp)
movq 0x78(%rsp), %r9
movq 0x10(%r9), %rax
movq %rbp, %rbx
movslq %ecx, %rbp
leaq (%rax,%rbp), %rcx
movq %rcx, 0x80(%rsp)
movslq %esi, %rcx
addq %rdi, %rcx
movq %rcx, 0x60(%rsp)
movslq %edx, %rcx
addq %rax, %rcx
movq %rcx, 0x100(%rsp)
movl 0x18(%r8), %edi
subl %esi, %edi
movl 0x18(%r9), %esi
subl %edx, %esi
leaq 0x60(%rsp), %rdx
leaq 0x100(%rsp), %rcx
callq 0x1523c
movl %r14d, %edi
movq 0x30(%rsp), %r14
movl %ebp, %esi
movq %rbx, %rdx
leaq 0x80(%rsp), %rcx
callq 0x151f2
movq 0xa0(%rsp), %rbp
movq %rbp, %rax
xorq 0x40(%rsp), %rax
movq 0x80(%rsp), %rdx
movq %rdx, %rcx
xorq 0x70(%rsp), %rcx
orq %rax, %rcx
movq 0x60(%rsp), %rbx
movq %rbx, %rax
xorq 0xe0(%rsp), %rax
orq %rcx, %rax
je 0x13f6a
pushq $0x48
popq %rdi
movq %rdx, 0x70(%rsp)
callq 0x28bb0
movq %rax, %r14
movq 0x8(%rsp), %rax
movl 0x10(%rax), %eax
movl %ebp, %ecx
subl %eax, %ecx
movl %ecx, 0x8(%r14)
movl %ebx, %ecx
subl %eax, %ecx
movl %ecx, 0xc(%r14)
movq %rbp, 0x40(%rsp)
movq 0x78(%rsp), %rbp
movq 0x8(%rbp), %rdi
callq 0x1c306
movq %rax, 0x10(%r14)
movq %rbp, 0x18(%r14)
movl 0x10(%rbp), %eax
movq 0x70(%rsp), %rdx
movl %edx, %ecx
subl %eax, %ecx
movl %ecx, 0x20(%r14)
movl 0x100(%rsp), %ecx
subl %eax, %ecx
movl %ecx, 0x24(%r14)
movl %ebx, %eax
movq 0x40(%rsp), %rcx
subl %ecx, %eax
movl %eax, 0x30(%r14)
andl $0x0, 0x34(%r14)
andq $0x0, 0x38(%r14)
movq 0xf8(%rsp), %rax
movq %rax, (%r14)
movq %r14, 0xf8(%rsp)
movq 0x30(%rsp), %r14
movq %rcx, 0x40(%rsp)
movq %rbx, 0xe0(%rsp)
movq %rdx, 0x70(%rsp)
movl %r13d, %eax
movl %r15d, %ecx
testq %r12, %r12
leaq 0xa0(%rsp), %rbp
je 0x13f8d
leal (%r15,%r14), %edx
leal (%r14,%r13), %esi
movb $0x1, %dil
jmp 0x13dd0
movq 0xf0(%rsp), %rbx
movq (%rbx), %rbx
movl 0x1d0(%rsp), %r13d
jmp 0x13d4e
leaq -0x67f5(%rip), %rsi     # 0xd7b7
leaq 0xf8(%rsp), %r14
movq %r14, %rdi
callq 0x1c5ab
movq (%r14), %rdi
leaq 0xa0baa(%rip), %rax     # 0xb4b70
movl (%rax), %esi
callq 0xd8b7
movq %rax, (%r14)
movq 0x28(%rsp), %r14
movd 0x3c(%rsp), %xmm0
pshufd $0x50, %xmm0, %xmm0     # xmm0 = xmm0[0,0,1,1]
movdqa %xmm0, 0x180(%rsp)
movq $0x0, 0x110(%rsp)
testq %rax, %rax
je 0x150b3
movq 0x8(%rax), %xmm0
paddd 0x180(%rsp), %xmm0
movq %xmm0, 0x8(%rax)
movq 0x18(%rax), %r15
pushq $0x48
popq %rdi
movq %rax, %rbx
callq 0x28bb0
movq %rax, %r12
movq 0x8(%rsp), %rsi
movq %rsi, 0x10(%rax)
movq %r15, 0x18(%rax)
movq %rbx, 0xc8(%rsp)
movq 0x28(%rbx), %rdi
callq 0xdfa8
leaq 0x8(%r12), %rbx
movq %rax, 0x8(%r12)
andl $0x0, 0x30(%r12)
movl $0x1, 0x40(%r12)
movq %r12, 0x140(%rsp)
movq %r12, %rdi
pushq $0x1
popq %rsi
pushq $0x10
popq %rdx
pushq $0xa
popq %rcx
callq 0x121d7
movq %r15, 0x20(%rsp)
movq 0x8(%r15), %rsi
movq 0x50(%rsp), %rdi
callq 0xcfb4
movq %rbx, %rcx
movq %rax, 0x130(%rsp)
movq %rbx, 0x18(%rsp)
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x1414f
movq 0x8(%rbx), %r14
movq 0x8(%rsp), %rax
movq 0x10(%rax), %r15
movslq 0x18(%rax), %r12
addq %r15, %r12
movq 0x20(%rsp), %rax
movq 0x10(%rax), %r13
movslq 0x18(%rax), %rbp
addq %r13, %rbp
leaq 0x10(%r14), %rdx
movl 0x10(%r14), %edi
movl 0x20(%r14), %esi
subl %r15d, %edi
leaq 0x20(%r14), %rcx
subl %r13d, %esi
callq 0x1527b
movq %r14, 0x10(%rsp)
movq %r14, %rcx
movq 0x8(%r14), %r14
leaq 0x18(%rcx), %rdx
movl %r12d, %edi
subl 0x18(%rcx), %edi
movl %ebp, %esi
subl 0x28(%rcx), %esi
addq $0x28, %rcx
callq 0x152e7
testq %r14, %r14
je 0x14127
leaq 0x10(%r14), %rdx
movl 0x10(%r14), %edi
movl 0x20(%r14), %esi
subl %r15d, %edi
leaq 0x20(%r14), %rcx
subl %r13d, %esi
callq 0x1527b
jmp 0x140e6
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rbx)
movq 0x28(%rsp), %r14
movl 0x1d0(%rsp), %r13d
leaq 0xa0(%rsp), %rbp
movq 0x18(%rsp), %rcx
jmp 0x14096
movq 0x140(%rsp), %rdi
pushq $0x1
popq %rsi
movq %rcx, %rbx
pushq $0x10
popq %rcx
movl %ecx, %edx
callq 0x121d7
movq %rbx, %rcx
movq 0xc8(%rsp), %rax
movq (%rcx), %rcx
testq %rcx, %rcx
je 0x15090
movq 0x8(%rcx), %rbx
andq $0x0, 0x80(%rsp)
testq %rbx, %rbx
movq %rcx, 0x18(%rsp)
je 0x143e6
movq 0x50(%rsp), %rax
movl 0xc(%rax), %r12d
pxor %xmm0, %xmm0
movdqa %xmm0, 0xb0(%rsp)
movdqa %xmm0, 0xa0(%rsp)
andq $0x0, 0xc0(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movl 0x10(%rbx), %edx
subl %ecx, %edx
cmpl %edx, %r12d
jg 0x14259
cmpl $0xc8, %edx
jg 0x14259
movl 0x20(%rbx), %eax
movq 0x20(%rsp), %rsi
subl 0x10(%rsi), %eax
cmpl %eax, %r12d
jg 0x14259
leaq 0xa0979(%rip), %rsi     # 0xb4b70
movl (%rsi), %esi
cmpl %eax, %esi
cmovgel %eax, %esi
movq %rcx, 0xb0(%rsp)
movl %edx, 0xb8(%rsp)
movl %eax, %r10d
subl %esi, %r10d
movq 0x50(%rsp), %rdi
movq %rbp, %rsi
movq 0x128(%rsp), %rdx
movl 0x3c(%rsp), %ecx
movq %r14, %r8
movq 0x130(%rsp), %r9
pushq %rax
pushq %r10
callq 0xcb24
addq $0x10, %rsp
movq %rax, %rdi
movl %r12d, %esi
movq %rbp, %rdx
movq 0x20(%rsp), %rcx
leaq 0x80(%rsp), %r8
callq 0x15352
movq %rbx, 0x10(%rsp)
movq %rbx, %rax
movq 0x8(%rbx), %rbx
testq %rbx, %rbx
je 0x14304
movq 0x18(%rax), %rdx
movl 0x10(%rbx), %esi
subl %edx, %esi
cmpl %esi, %r12d
jg 0x1425e
cmpl $0xc8, %esi
jg 0x1425e
movq 0x28(%rax), %rax
movl 0x20(%rbx), %r10d
subl %eax, %r10d
cmpl %r10d, %r12d
jg 0x1425e
movq 0x8(%rsp), %rcx
movl 0x10(%rcx), %edi
movl %edx, %ecx
subl %edi, %ecx
movq 0x20(%rsp), %r15
subl 0x10(%r15), %eax
movq %rdx, 0xb0(%rsp)
movl %esi, 0xb8(%rsp)
addl 0x3c(%rsp), %ecx
addl %eax, %r10d
movq 0x50(%rsp), %rdi
movq %rbp, %rsi
movq 0x128(%rsp), %rdx
movq %r14, %r8
movq 0x130(%rsp), %r9
pushq %r10
pushq %rax
callq 0xcb24
addq $0x10, %rsp
movq %rax, %rdi
movl %r12d, %esi
movq %rbp, %rdx
movq %r15, %rcx
leaq 0x80(%rsp), %r8
callq 0x15352
jmp 0x1425e
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rsi
movl 0x18(%rcx), %edx
addl %esi, %edx
movq 0x18(%rax), %rdi
subl %edi, %edx
cmpl %edx, %r12d
jg 0x143b8
cmpl $0xc7, %edx
jg 0x143b8
movq 0x28(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x10(%rcx), %r8
movl 0x18(%rcx), %r10d
addl %r8d, %r10d
subl %eax, %r10d
cmpl %r10d, %r12d
jg 0x143b8
leaq 0xa0820(%rip), %rcx     # 0xb4b70
movl (%rcx), %ecx
cmpl %r10d, %ecx
cmovll %ecx, %r10d
movl %edi, %ecx
subl %esi, %ecx
subl %r8d, %eax
movq %rdi, 0xb0(%rsp)
movl %edx, 0xb8(%rsp)
addl 0x3c(%rsp), %ecx
addl %eax, %r10d
movq 0x50(%rsp), %rdi
movq %rbp, %rsi
movq 0x128(%rsp), %rdx
movq %r14, %r8
movq 0x130(%rsp), %r9
pushq %r10
pushq %rax
callq 0xcb24
addq $0x10, %rsp
movq %rax, %rdi
movl %r12d, %esi
movq %rbp, %rdx
movq 0x20(%rsp), %rcx
leaq 0x80(%rsp), %r8
callq 0x15352
movq 0x80(%rsp), %rdi
callq 0x236b0
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rax, %rcx
callq 0x153fb
movq %rax, %r14
movq 0x18(%rsp), %rcx
jmp 0x143e9
xorl %r14d, %r14d
movq %r14, 0x8(%rcx)
andq $0x0, 0xa0(%rsp)
xorl %eax, %eax
movq %rcx, %rbx
callq 0x17244
testq %r14, %r14
je 0x144d7
movq %rax, %r15
movl 0x10(%r14), %edx
movl 0x20(%r14), %ecx
movq 0x8(%rsp), %rax
subl 0x10(%rax), %edx
movq 0x20(%rsp), %rax
subl 0x10(%rax), %ecx
movq %r15, %rdi
movq %r14, %rsi
movq %rbp, %r8
callq 0x150e7
movq %r14, %rsi
movq 0x8(%rsi), %r12
testq %r12, %r12
je 0x14484
movl 0x10(%r12), %ebp
movl 0x20(%r12), %r13d
subl 0x18(%rsi), %ebp
subl 0x28(%rsi), %r13d
movq %r15, %rdi
movl %ebp, %edx
movl %r13d, %ecx
leaq 0xa0(%rsp), %r8
callq 0x15158
movq %r15, %rdi
movq %r12, %rsi
movl %ebp, %edx
leaq 0xa0(%rsp), %rbp
movl %r13d, %ecx
movq %rbp, %r8
callq 0x150e7
movq %r12, %rsi
jmp 0x14435
movq 0x8(%rsp), %rbx
movl 0x10(%rbx), %edx
addl 0x18(%rbx), %edx
subl 0x18(%rsi), %edx
movq 0x20(%rsp), %r12
movl 0x10(%r12), %ecx
addl 0x18(%r12), %ecx
subl 0x28(%rsi), %ecx
movq %r15, %rdi
movq %rbp, %r8
callq 0x15158
movq 0xa0(%rsp), %rcx
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x153fb
movq %rax, %r14
movl 0x1d0(%rsp), %r13d
movq 0x18(%rsp), %rcx
jmp 0x144dd
xorl %r14d, %r14d
movq %rbx, %rcx
movq %r14, 0x8(%rcx)
movq 0x50(%rsp), %rax
movl 0xc(%rax), %ebx
andq $0x0, 0xa0(%rsp)
testq %r14, %r14
je 0x145df
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdx
movq 0x10(%r14), %rsi
movq 0x20(%r14), %rcx
movl %r13d, %r8d
pushq $0x1
popq %r9
pushq %rbx
pushq $0x0
callq 0x13764
addq $0x10, %rsp
movq %r14, %r12
movq %rax, 0x80(%rsp)
movq %rbp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x1317c
movq 0x8(%r12), %r15
movq 0x18(%r12), %rdi
testq %r15, %r15
je 0x14576
movq 0x28(%r12), %rdx
movq 0x10(%r15), %rsi
movq 0x20(%r15), %rcx
movl %r13d, %r8d
xorl %r9d, %r9d
pushq %rbx
pushq $0x0
callq 0x13764
addq $0x10, %rsp
movq %r15, %r12
jmp 0x1452b
movq 0x8(%rsp), %r15
movslq 0x18(%r15), %rsi
addq 0x10(%r15), %rsi
movq 0x28(%r12), %rdx
movq 0x20(%rsp), %r12
movslq 0x18(%r12), %rcx
addq 0x10(%r12), %rcx
movl %r13d, %r8d
xorl %r9d, %r9d
pushq %rbx
pushq $0x1
callq 0x13764
popq %rcx
popq %rdx
movq %rax, 0x80(%rsp)
movq %rbp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x1317c
movq 0xa0(%rsp), %rcx
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x153fb
movq %rax, %rbx
movq 0x18(%rsp), %rcx
jmp 0x145e1
xorl %ebx, %ebx
movq %rcx, %r12
movq %rbx, 0x8(%rcx)
movq %rbx, %rdi
callq 0x23671
testl %eax, %eax
movq 0x28(%rsp), %r14
je 0x14d3f
movl %eax, %r15d
movq %rbx, %rdi
movl %eax, %esi
callq 0x1347b
testl %eax, %eax
je 0x1461c
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0x13352
movq %rax, %rbx
movq %rbx, 0x118(%rsp)
movl %r15d, 0xe0(%rsp)
testq %rbx, %rbx
je 0x14d30
movq %rbx, %rbp
movq 0x8(%rbx), %rbx
testq %rbx, %rbx
je 0x14d30
movq 0x10(%rbx), %rdx
movq 0x18(%rbp), %rax
movl %edx, %ecx
movq %rax, 0x138(%rsp)
subl %eax, %ecx
leal -0x1(%rcx), %eax
cmpl $0x5, %eax
ja 0x1462c
movq 0x20(%rbx), %rsi
movq 0x28(%rbp), %r14
movl %esi, %eax
subl %r14d, %eax
movq %rax, 0xd8(%rsp)
cmpl $0x1e, %eax
jl 0x1462c
cmpl $0x1, %ecx
jne 0x146aa
incq %r14
movq %r14, %rdi
callq 0x212bb
movq 0x28(%rbp), %rdi
cmpl %r15d, %eax
jne 0x14ac3
incq %rdi
movq %rdi, 0x28(%rbp)
addq $0x18, %rbp
pushq $0x1
jmp 0x14ade
movq %rsi, 0x148(%rsp)
movq %rdx, 0x120(%rsp)
movq %rbx, 0x48(%rsp)
movq %rbp, 0xd0(%rsp)
pushq $0xc
popq %rax
subl %ecx, %eax
cltd
pushq $-0x2
popq %rsi
idivl %esi
movq 0xd8(%rsp), %rdx
subl %ecx, %edx
movq %rdx, 0xd8(%rsp)
movslq %eax, %r15
movq 0x138(%rsp), %rbx
leaq (%rbx,%r15), %rax
movq %rax, 0x150(%rsp)
leaq (%r14,%r15), %rax
movq %rax, 0x30(%rsp)
xorl %r13d, %r13d
xorl %eax, %eax
callq 0x17244
movq (%rbx,%r15), %rcx
movq %rcx, 0x100(%rsp)
movl 0x8(%rbx,%r15), %ecx
movq %rax, %r9
movl %ecx, 0x108(%rsp)
movb $0x0, 0x10c(%rsp)
movq %rax, %r10
addq $0x8, %r10
movq %r15, 0x158(%rsp)
leaq (%r14,%r15), %rax
incq %rax
movq %rax, 0x70(%rsp)
movl $0x0, 0xec(%rsp)
pushq $-0x1
popq %rax
movl %eax, 0x58(%rsp)
movl $0x0, 0x40(%rsp)
leaq 0x80(%rsp), %r12
movq %r10, 0xf0(%rsp)
cmpq $0x3, %r13
je 0x14991
leaq 0x68e05(%rip), %rax     # 0x7d58c
movq %r13, 0x160(%rsp)
movslq (%rax,%r13,4), %rcx
pushq $0xc
popq %r13
subq %rcx, %r13
movq 0xd8(%rsp), %rax
movq %rcx, 0x168(%rsp)
addl %ecx, %eax
movslq %eax, %r14
addq 0x30(%rsp), %r14
movq %r13, 0x10(%rsp)
xorl %ebp, %ebp
movq %r13, 0x78(%rsp)
cmpq %r13, %rbp
jg 0x14981
movq %r9, %r15
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
movq 0x30(%rsp), %rsi
movq %rbp, %rdx
callq 0x6570
leaq (%rsp,%rbp), %rdi
addq $0x60, %rdi
leaq (%r14,%rbp), %rsi
movq 0x10(%rsp), %rdx
callq 0x6570
movb $0x0, 0x60(%rsp,%r13)
subq $0x40, %rsp
pxor %xmm0, %xmm0
movdqu %xmm0, 0x30(%rsp)
movq %r12, 0x28(%rsp)
movq %r13, %rcx
leaq 0xe0(%rsp), %r13
movq %r13, 0x20(%rsp)
leaq 0x9c(%rsp), %rax
movq %rax, 0x18(%rsp)
movl %ecx, (%rsp)
movl $0x19, 0x10(%rsp)
movl $0x1, 0x8(%rsp)
pushq $0x1
popq %rdi
movq %r15, %rsi
pushq $0x2
popq %rdx
leaq 0x140(%rsp), %rcx
pushq $0xc
popq %r8
movq %rbx, %r9
callq 0x15d70
addq $0x40, %rsp
testl %eax, %eax
je 0x148ef
movl 0x5c(%rsp), %esi
movq %r15, %rdi
movq %r13, %rdx
movq %r12, %rcx
callq 0x16bad
movq 0x70(%rsp), %rcx
movsbq -0x1(%rcx,%rbp), %r8
movsbq (%rcx,%rbp), %rdi
movsbq -0x2(%r14,%rbp), %rsi
movq %r14, %r11
movsbq -0x1(%r14,%rbp), %rcx
cmpl $0x0, 0xe0(%rsp)
movq %r15, %r9
js 0x148f9
shlq $0xa, %r8
movq 0xf0(%rsp), %r10
movl 0x19c(%r10,%r8), %edx
cmpb $0x63, %dil
movq 0x78(%rsp), %r13
je 0x148d2
shlq $0xa, %rdi
addl 0x1d0(%r10,%rdi), %edx
movq %r11, %r14
shlq $0xa, %rsi
addl 0x184(%r10,%rsi), %edx
shlq $0xa, %rcx
addl 0x19c(%r10,%rcx), %edx
jmp 0x1493f
movq %r15, %r9
movq 0x78(%rsp), %r13
jmp 0x14974
shlq $0xa, %r8
shlq $0xa, %rdi
movq 0xf0(%rsp), %r10
movl 0x1d0(%r10,%rdi), %edx
addl 0x18c(%r10,%r8), %edx
cmpb $0x67, %sil
movq 0x78(%rsp), %r13
je 0x14930
shlq $0xa, %rsi
addl 0x184(%r10,%rsi), %edx
movq %r11, %r14
shlq $0xa, %rcx
addl 0x18c(%r10,%rcx), %edx
movl 0x18d94(%r9), %ecx
leal (%rcx,%rcx,2), %esi
cmpl %esi, %edx
movl $0x0, %esi
cmovll %esi, %ecx
addl %edx, %eax
addl %ecx, %eax
cmpl 0x40(%rsp), %eax
jle 0x14974
movq 0x168(%rsp), %rcx
movl %ecx, 0xec(%rsp)
movl %ebp, 0x58(%rsp)
movl %eax, 0x40(%rsp)
incq %rbp
decq 0x10(%rsp)
jmp 0x147c0
movq 0x160(%rsp), %r13
incq %r13
jmp 0x14776
cmpl $0x0, 0x40(%rsp)
jle 0x14aa4
movslq 0xec(%rsp), %r12
pushq $0xc
popq %r15
subq %r12, %r15
movq 0xd8(%rsp), %rbp
addl %r12d, %ebp
movslq 0x58(%rsp), %r14
leaq 0x60(%rsp), %rdi
movq %r9, %r13
movq 0x30(%rsp), %rbx
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6570
leaq (%rsp,%r14), %rdi
addq $0x60, %rdi
movslq %ebp, %rsi
addq %rbx, %rsi
addq %r14, %rsi
movl %r15d, %eax
subl %r14d, %eax
movslq %eax, %rdx
callq 0x6570
negq %r12
movb $0x0, 0x6c(%rsp,%r12)
subq $0x40, %rsp
pxor %xmm0, %xmm0
movdqu %xmm0, 0x30(%rsp)
leaq 0xc0(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0xe0(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0x9c(%rsp), %rax
movq %rax, 0x18(%rsp)
movl %r15d, (%rsp)
movl $0x19, 0x10(%rsp)
movl $0x1, 0x8(%rsp)
pushq $0x1
popq %rdi
movq %r13, %rsi
pushq $0x2
popq %rdx
leaq 0x140(%rsp), %rcx
pushq $0xc
popq %r8
leaq 0xa0(%rsp), %r9
callq 0x15d70
addq $0x40, %rsp
movq 0xd0(%rsp), %rsi
movq 0x150(%rsp), %rdx
cmpq %rdx, 0x10(%rsi)
ja 0x14a93
leaq 0xc(%rdx), %r14
movq 0x48(%rsp), %rax
cmpq %r14, 0x18(%rax)
jae 0x14b27
pushq $0x2
popq %rdi
leaq 0x68acb(%rip), %rsi     # 0x7d568
xorl %eax, %eax
callq 0x3c521
movl 0x1d0(%rsp), %r13d
movq 0x18(%rsp), %r12
movl 0xe0(%rsp), %r15d
movq 0x48(%rsp), %rbx
jmp 0x1462c
movq 0x20(%rbx), %rsi
decq %rsi
callq 0x212bb
cmpl %r15d, %eax
jne 0x14ae8
leaq 0x10(%rbx), %rbp
decq 0x20(%rbx)
pushq $-0x1
popq %rax
addq %rax, (%rbp)
jmp 0x1462c
movq 0x18(%rbp), %rax
movq 0x28(%rbp), %r14
movq 0x10(%rbx), %rcx
movq %rbx, 0x48(%rsp)
movq 0x20(%rbx), %rdx
movq %rcx, 0x120(%rsp)
movq %rax, 0x138(%rsp)
subl %eax, %ecx
movq %rdx, 0x148(%rsp)
subl %r14d, %edx
movq %rdx, 0xd8(%rsp)
jmp 0x146bf
movq 0x18(%rsi), %rax
movl %eax, %ecx
subl %edx, %ecx
movslq %ecx, %rcx
subq %rcx, %rax
movq %rax, 0x18(%rsi)
subq %rcx, 0x28(%rsi)
movq 0x48(%rsp), %rdx
movq 0x10(%rdx), %rax
movl %eax, %ecx
subl %r14d, %ecx
movslq %ecx, %rcx
subq %rcx, %rax
movq %rax, 0x10(%rdx)
subq %rcx, 0x20(%rdx)
xorl %r15d, %r15d
movq %rsi, %rax
xorl %ebp, %ebp
xorl %r12d, %r12d
movq 0x120(%rsp), %rsi
movslq 0x5c(%rsp), %rbx
cmpq %rbx, %r15
jge 0x14c26
cmpl 0x58(%rsp), %r12d
je 0x14c29
cmpb $0x2d, 0x80(%rsp,%r15)
jne 0x14b94
incl %ebp
jmp 0x14ba2
cmpb $0x2d, 0xa0(%rsp,%r15)
jne 0x14ba6
incl %r12d
xorl %eax, %eax
jmp 0x14c1e
testq %rax, %rax
je 0x14bb5
movq 0x18(%rax), %rcx
movq 0x28(%rax), %rdx
jmp 0x14c0b
pushq $0x38
popq %rdi
callq 0x28bb0
movq 0x120(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movq %rdx, (%rax)
movq 0x48(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rax, 0x8(%rdx)
movq %rax, (%rcx)
movslq %ebp, %rcx
addq 0x150(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq %rcx, 0x10(%rax)
movslq %r12d, %rdx
addq 0x30(%rsp), %rdx
movq %rdx, 0x28(%rax)
movq %rdx, 0x20(%rax)
movq %rax, 0xd0(%rsp)
incl %ebp
incl %r12d
incq %rcx
movq %rcx, 0x18(%rax)
incq %rdx
movq %rdx, 0x28(%rax)
incq %r15
jmp 0x14b6c
xorl %r15d, %r15d
movslq %r15d, %r15
movq 0x148(%rsp), %rcx
addq 0x158(%rsp), %rcx
subq %rsi, %rcx
movq 0x138(%rsp), %rax
leaq (%rax,%rcx), %rdi
addq $0xc, %rdi
xorl %ebp, %ebp
xorl %r13d, %r13d
movq 0x48(%rsp), %rax
leaq 0x9f(%rsp), %rcx
addq %rbx, %rcx
leaq 0x7f(%rsp), %rdx
addq %rbx, %rdx
xorl %r12d, %r12d
leaq (%rbx,%r12), %rsi
cmpq %r15, %rsi
jle 0x14aa4
cmpb $0x2d, (%rdx,%r12)
je 0x14c91
cmpb $0x2d, (%rcx,%r12)
jne 0x14ca0
decq %r12
xorl %eax, %eax
jmp 0x14c6f
incl %ebp
addq %r12, %rbx
decq %rbx
subl %r12d, %r13d
xorl %eax, %eax
jmp 0x14c59
testq %rax, %rax
je 0x14caf
movq 0x10(%rax), %rcx
movq 0x20(%rax), %rdx
jmp 0x14d0f
movq %r14, 0x10(%rsp)
movq %rdi, %r14
pushq $0x38
popq %rdi
callq 0x28bb0
movq %r14, %rdi
movq 0x10(%rsp), %r14
movq 0xd0(%rsp), %rdx
movq %rdx, (%rax)
movq 0x48(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq %rax, 0x8(%rdx)
movq %rax, (%rcx)
movslq %ebp, %rdx
movq %r14, %rcx
subq %rdx, %rcx
movq %rcx, 0x18(%rax)
movq %rcx, 0x10(%rax)
movslq %r13d, %rsi
movq %rdi, %rdx
subq %rsi, %rdx
addq %r12, %rdx
movq %rdx, 0x28(%rax)
movq %rdx, 0x20(%rax)
movq %rax, 0xd0(%rsp)
addq %r12, %rbx
decq %rbx
incl %ebp
subl %r12d, %r13d
incl %r13d
decq %rcx
movq %rcx, 0x10(%rax)
decq %rdx
movq %rdx, 0x20(%rax)
jmp 0x14c59
movq 0x28(%rsp), %r14
leaq 0xa0(%rsp), %rbp
jmp 0x14d47
movq %rbx, 0x118(%rsp)
movq 0x118(%rsp), %rcx
movq %rcx, 0x8(%r12)
andq $0x0, 0xa0(%rsp)
movq %rcx, %rax
testq %rcx, %rcx
je 0x14f25
movq 0x8(%rax), %rbx
testq %rbx, %rbx
je 0x14daa
movq 0x18(%rax), %rdi
movq 0x28(%rax), %rdx
movq 0x10(%rbx), %rsi
movq 0x20(%rbx), %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x13b1b
movq %rax, 0x80(%rsp)
movq %rbp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x1317c
movq %rbx, %rax
jmp 0x14d69
movq 0xa0(%rsp), %rcx
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x118(%rsp), %rdx
callq 0x153fb
movq %rax, 0x8(%r12)
testq %rax, %rax
je 0x14f25
movb $0x1, %cl
movq %rcx, 0x10(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, %r15
movq %r15, %rbx
movq 0x8(%r15), %r15
testq %r15, %r15
je 0x14f2a
movl 0x10(%r15), %r14d
subl 0x18(%rbx), %r14d
leal -0x1(%r14), %eax
cmpl $0x8, %eax
ja 0x14de6
movl 0x20(%r15), %r12d
subl 0x28(%rbx), %r12d
leal -0x1(%r12), %eax
cmpl $0x8, %eax
ja 0x14de6
movl %r14d, %eax
subl %r12d, %eax
movl %eax, %ecx
negl %ecx
cmovsl %eax, %ecx
cmpl $0x3, %ecx
ja 0x14de6
xorl %eax, %eax
callq 0x17244
movq %rax, %r13
movq 0x18(%rbx), %rcx
movq 0x28(%rbx), %r9
subq $0x40, %rsp
pxor %xmm0, %xmm0
movdqu %xmm0, 0x30(%rsp)
movq %rbp, 0x28(%rsp)
leaq 0xc0(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0xa0(%rsp), %rax
movq %rax, 0x18(%rsp)
movl %r12d, (%rsp)
movl $0x14, 0x10(%rsp)
movl $0x1, 0x8(%rsp)
pushq $0x1
popq %rdi
movq %r13, %rsi
pushq $0x3
popq %rdx
movl %r14d, %r8d
callq 0x15d70
addq $0x40, %rsp
testl %eax, %eax
je 0x14ed6
movl %r12d, %edi
movl %r14d, %esi
callq 0x23878
movl %eax, %ebp
imull 0x1858c(%r13), %ebp
negl %ebp
movl 0x60(%rsp), %esi
movq %r13, %rdi
leaq 0x80(%rsp), %rdx
leaq 0xa0(%rsp), %rcx
callq 0x16bad
cmpl %ebp, %eax
leaq 0xa0(%rsp), %rbp
jge 0x14ee3
movl 0x1d0(%rsp), %r13d
jmp 0x14de6
movl 0x60(%rsp), %edi
movq 0x18(%rbx), %r8
movq 0x28(%rbx), %r9
movq $0x0, 0x10(%rsp)
leaq 0x80(%rsp), %rsi
movq %rbp, %rdx
xorl %ecx, %ecx
callq 0x23743
movq %rax, %r14
movq %rax, %rdi
callq 0x236a3
movq %r14, 0x8(%rbx)
movq %rbx, (%r14)
movq %r15, 0x8(%rax)
movq %rax, (%r15)
jmp 0x14ed6
xorl %r15d, %r15d
jmp 0x14f5c
testb $0x1, 0x10(%rsp)
je 0x14f42
movq 0x28(%rsp), %r14
movq 0x18(%rsp), %r12
movq 0x30(%rsp), %r15
jmp 0x14f5c
movq 0x30(%rsp), %rdi
pushq $0x1
popq %rsi
callq 0x13696
movq %rax, %r15
movq 0x28(%rsp), %r14
movq 0x18(%rsp), %r12
movq %r15, 0x8(%r12)
movq %r15, %rdi
callq 0x23671
movl %eax, %ebp
movq %r15, %rdi
callq 0x23733
cmpl $0x2, %eax
jl 0x15072
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x14fe6
movq 0x10(%r15), %rdi
movq 0x20(%r15), %rsi
movl 0x18(%r15), %edx
subl %edi, %edx
callq 0x23837
movl %eax, %r14d
movq 0x10(%r15), %rdi
movl %r13d, %r12d
movl 0x18(%r15), %r13d
movl %r13d, %esi
subl %edi, %esi
callq 0x13c83
subl %eax, %r14d
movq 0x28(%r15), %rdx
movq 0x20(%rbx), %rcx
movl %ecx, %edi
subl %edx, %edi
movl 0x10(%rbx), %esi
subl %r13d, %esi
movl %r12d, %r13d
movl %ebp, %r8d
callq 0x154af
cmpl %r14d, %eax
jl 0x14fe6
movq %r15, %rdi
callq 0x28c2d
andq $0x0, (%rbx)
movq %rbx, %r15
jmp 0x14f7c
movq %r15, %rdi
callq 0x236a3
cmpq %r15, %rax
je 0x1506d
movq %rax, %r14
movq (%r14), %rbx
testq %rbx, %rbx
je 0x1505e
movq 0x10(%r14), %rdi
movq 0x20(%r14), %rsi
movl 0x18(%r14), %edx
subl %edi, %edx
callq 0x23837
movl %eax, %r12d
movq 0x10(%r14), %r13
movl 0x18(%r14), %esi
subl %r13d, %esi
movq %r13, %rdi
callq 0x13c83
subl %eax, %r12d
movq 0x28(%rbx), %rdx
movq 0x20(%r14), %rcx
movl %ecx, %edi
subl %edx, %edi
movl 0x18(%rbx), %eax
subl %eax, %r13d
movl %r13d, %esi
movl %ebp, %r8d
callq 0x154af
cmpl %r12d, %eax
jl 0x1505e
movq %r14, %rdi
callq 0x28c2d
andq $0x0, 0x8(%rbx)
movq %rbx, %r14
jmp 0x14ff6
movq 0x28(%rsp), %r14
movl 0x1d0(%rsp), %r13d
jmp 0x15072
movq 0x28(%rsp), %r14
movq 0xc8(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %r15, 0x8(%rcx)
leaq 0xa0(%rsp), %rbp
jmp 0x14172
movq 0x110(%rsp), %rcx
movq 0x140(%rsp), %rdx
movq %rcx, (%rdx)
movq (%rax), %rax
movq %rdx, 0x110(%rsp)
jmp 0x13ff5
leaq 0xf8(%rsp), %rdi
callq 0xd77e
leaq 0x170(%rsp), %rdi
callq 0xba5e
movq 0x110(%rsp), %rax
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq