// File: /workspace/github_c_makefile_star2_O3/samtools[P]htslib/sam.c
// Function: overlap_push
static int overlap_push(bam_plp_t iter, lbnode_t *node)
{
    if ( !iter->overlaps ) return 0;

    // mapped mates and paired reads only
    if ( node->b.core.flag&BAM_FMUNMAP || !(node->b.core.flag&BAM_FPROPER_PAIR) ) return 0;

    // no overlap possible, unless some wild cigar
    if ( (node->b.core.mtid >= 0 && node->b.core.tid != node->b.core.mtid)
         || (llabs(node->b.core.isize) >= 2*node->b.core.l_qseq
         && node->b.core.mpos >= node->end) // for those wild cigars
       ) return 0;

    khiter_t kitr = kh_get(olap_hash, iter->overlaps, bam_get_qname(&node->b));
    if ( kitr==kh_end(iter->overlaps) )
    {
        // Only add reads where the mate is still to arrive
        if (node->b.core.mpos >= node->b.core.pos ||
            ((node->b.core.flag & BAM_FPAIRED) && node->b.core.mpos == -1)) {
            int ret;
            kitr = kh_put(olap_hash, iter->overlaps, bam_get_qname(&node->b), &ret);
            if (ret < 0) return -1;
            kh_value(iter->overlaps, kitr) = node;
        }
    }
    else
    {
        lbnode_t *a = kh_value(iter->overlaps, kitr);
        int err = tweak_overlap_quality(&a->b, &node->b);
        kh_del(olap_hash, iter->overlaps, kitr);
        assert(a->end-1 == a->s.end);
        return err;
    }
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq 0x68(%rdi), %r8
xorl %eax, %eax
testq %r8, %r8
je 0x30cc5
movzwl 0x10(%rsi), %r9d
movl %r9d, %ecx
andl $0xa, %ecx
cmpw $0x2, %cx
jne 0x30cc5
movl 0x1c(%rsi), %ecx
testl %ecx, %ecx
js 0x3080b
cmpl %ecx, 0x8(%rsi)
jne 0x30cc5
movq %rdi, 0x60(%rsp)
movq 0x28(%rsi), %rcx
movq %rcx, %rdx
negq %rdx
cmovsq %rcx, %rdx
movslq 0x18(%rsi), %rdi
leaq (%rdi,%rdi), %rcx
cmpq %rcx, %rdx
jl 0x30839
movq 0x20(%rsi), %rcx
cmpq 0x58(%rsi), %rcx
jge 0x30cc5
movq %rdi, 0x38(%rsp)
movq 0x38(%rsi), %r10
movl (%r8), %eax
testl %eax, %eax
movq %rsi, 0x40(%rsp)
movq %r10, 0x8(%rsp)
movq %r8, 0x30(%rsp)
movl %r9d, (%rsp)
movq %rax, 0x18(%rsp)
je 0x3088a
leal -0x1(%rax), %edx
movb (%r10), %cl
testb %cl, %cl
je 0x30892
leaq 0x1(%r10), %rax
movl $0x811c9dc5, %ebp       # imm = 0x811C9DC5
movzbl %cl, %ecx
xorl %ebp, %ecx
imull $0x1000193, %ecx, %ebp  # imm = 0x1000193
movb (%rax), %cl
incq %rax
testb %cl, %cl
jne 0x30874
jmp 0x30897
xorl %r12d, %r12d
jmp 0x3091e
movl $0x811c9dc5, %ebp       # imm = 0x811C9DC5
andl %edx, %ebp
movq 0x10(%r8), %rsi
movl $0x1, %r13d
movl %ebp, %r12d
movq %rsi, 0x48(%rsp)
movl %r12d, %eax
shrl $0x4, %eax
movl (%rsi,%rax,4), %ebx
leal (%r12,%r12), %r15d
andl $0x1e, %r15d
movl %ebx, %eax
movl %r15d, %ecx
shrl %cl, %eax
testb $0x2, %al
jne 0x3090d
testb $0x1, %al
jne 0x308fd
movq 0x18(%r8), %rax
movl %r12d, %ecx
movq (%rax,%rcx,8), %rdi
movq %r10, %rsi
movq %r12, %r14
movl %edx, %r12d
callq 0x46c0
movq 0x48(%rsp), %rsi
movl %r12d, %edx
movq %r14, %r12
movq 0x30(%rsp), %r8
movq 0x8(%rsp), %r10
testl %eax, %eax
je 0x3090d
addl %r13d, %r12d
andl %edx, %r12d
incl %r13d
cmpl %ebp, %r12d
jne 0x308ab
jmp 0x30923
movl %r15d, %ecx
shrl %cl, %ebx
testb $0x3, %bl
movq 0x18(%rsp), %rax
cmovnel %eax, %r12d
cmpl %eax, %r12d
jne 0x30973
movq 0x40(%rsp), %r14
movq 0x20(%r14), %rax
cmpq (%r14), %rax
movl (%rsp), %ecx
jge 0x3094b
testb $0x1, %cl
sete %cl
cmpq $-0x1, %rax
setne %dl
xorl %eax, %eax
orb %cl, %dl
jne 0x30cc5
movl 0x8(%r8), %eax
cmpl 0xc(%r8), %eax
jb 0x30b32
movl 0x4(%r8), %eax
addl %eax, %eax
movq 0x18(%rsp), %rsi
cmpl %eax, %esi
jbe 0x30b16
decl %esi
jmp 0x30b18
movq 0x20(%r8), %rax
movl %r12d, %ecx
movq (%rax,%rcx,8), %r15
movl 0x14(%r15), %edx
movq 0x40(%rsp), %r9
movq (%r9), %rdi
movq %rdi, %rsi
subq (%r15), %rsi
setns %al
testl %edx, %edx
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x30aa7
movq %rdi, 0x48(%rsp)
movq 0x38(%r15), %rax
movzwl 0x12(%r15), %edi
movq %rax, (%rsp)
addq %rax, %rdi
movl 0x18(%r15), %ecx
movl %edx, %eax
leaq (%rdi,%rax,4), %r8
movzwl 0x12(%r9), %eax
addq %rax, %r10
movl 0x14(%r9), %eax
leaq (%r10,%rax,4), %r9
movq %r9, 0x30(%rsp)
shll $0x2, %edx
addq %rdi, %rdx
incl %ecx
sarl %ecx
movslq %ecx, %rcx
addq %rdx, %rcx
movq %rcx, 0x18(%rsp)
leal (,%rax,4), %ecx
movq %r10, 0x8(%rsp)
addq %r10, %rcx
movq 0x38(%rsp), %r9
incl %r9d
sarl %r9d
movslq %r9d, %r9
movq %rcx, 0x70(%rsp)
addq %rcx, %r9
movq %r9, 0x38(%rsp)
xorl %ebx, %ebx
xorl %ebp, %ebp
xorl %r10d, %r10d
movl (%rdi), %r9d
movl %r9d, %ecx
andl $0xf, %ecx
movl %r9d, %r14d
shrl $0x4, %r14d
cmpl $0x4, %ecx
jne 0x30a37
addq %r14, %rbp
jmp 0x30a9a
leal -0x5(%rcx), %r11d
cmpl $0x2, %r11d
jb 0x30a9a
cmpl $0x7, %ecx
setne %r11b
testb $0x7, %r9b
setne %r13b
testb %r11b, %r13b
jne 0x30a6f
movl %r14d, %r9d
movq %rsi, %rcx
subq %r9, %rcx
js 0x30cd4
addq %r9, %rbp
addq %r9, %r10
movq %rcx, %rsi
jmp 0x30a9a
cmpl $0x1, %ecx
jne 0x30a7c
movl %r14d, %ecx
addq %rcx, %rbp
jmp 0x30a9a
andl $0xe, %r9d
cmpl $0x2, %r9d
jne 0x30d89
movl %r14d, %ecx
subq %rcx, %rsi
testq %rsi, %rsi
cmovleq %rbx, %rsi
addq %rcx, %r10
addq $0x4, %rdi
cmpq %r8, %rdi
jb 0x30a1d
xorl %eax, %eax
movq 0x60(%rsp), %rcx
movq 0x68(%rcx), %rdx
cmpl %r12d, (%rdx)
je 0x30ae6
movq 0x10(%rdx), %rsi
movl %r12d, %edi
shrl $0x4, %edi
movl (%rsi,%rdi,4), %r8d
addl %r12d, %r12d
andl $0x1e, %r12d
movl %r8d, %r9d
movl %r12d, %ecx
shrl %cl, %r9d
testb $0x3, %r9b
jne 0x30ae6
btsl %r12d, %r8d
movl %r8d, (%rsi,%rdi,4)
decl 0x4(%rdx)
movq 0x58(%r15), %rcx
decq %rcx
cmpq 0x70(%r15), %rcx
je 0x30cc5
leaq 0x67dca(%rip), %rdi     # 0x988c8
leaq 0x67221(%rip), %rsi     # 0x97d26
leaq 0x67dd1(%rip), %rcx     # 0x988dd
movl $0x17aa, %edx           # imm = 0x17AA
callq 0x42f0
incl %esi
movq %r8, %rdi
callq 0x339b9
movq 0x30(%rsp), %r8
testl %eax, %eax
movq 0x8(%rsp), %r10
js 0x30c0e
movl (%r8), %r12d
leal -0x1(%r12), %edx
movb (%r10), %cl
testb %cl, %cl
je 0x30b60
leaq 0x1(%r10), %rax
movl $0x811c9dc5, %ebx       # imm = 0x811C9DC5
movzbl %cl, %ecx
xorl %ebx, %ecx
imull $0x1000193, %ecx, %ebx  # imm = 0x1000193
movb (%rax), %cl
incq %rax
testb %cl, %cl
jne 0x30b4a
jmp 0x30b65
movl $0x811c9dc5, %ebx       # imm = 0x811C9DC5
andl %edx, %ebx
movq 0x10(%r8), %rsi
movl %ebx, %eax
shrl $0x4, %eax
movl (%rsi,%rax,4), %eax
leal (%rbx,%rbx), %ecx
shrl %cl, %eax
testb $0x2, %al
je 0x30b84
movl %ebx, %r12d
jmp 0x30c41
movl $0x1, %r15d
movl %ebx, %r14d
movq %r12, 0x18(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, (%rsp)
movl %r14d, %eax
shrl $0x4, %eax
movl (%rsi,%rax,4), %r13d
leal (%r14,%r14), %ebp
andl $0x1e, %ebp
movl %r13d, %eax
movl %ebp, %ecx
shrl %cl, %eax
testb $0x2, %al
jne 0x30c18
testb $0x1, %al
jne 0x30be3
movq 0x18(%r8), %rax
movl %r14d, %ecx
movq (%rax,%rcx,8), %rdi
movq %r10, %rsi
callq 0x46c0
movl (%rsp), %edx
movq 0x48(%rsp), %rsi
movq 0x30(%rsp), %r8
movq 0x8(%rsp), %r10
testl %eax, %eax
je 0x30c18
btl %ebp, %r13d
cmovbl %r14d, %r12d
addl %r15d, %r14d
andl %edx, %r14d
incl %r15d
cmpl %ebx, %r14d
jne 0x30b9a
movb $0x1, %al
movq 0x18(%rsp), %rdx
movl %edx, %ecx
cmpl %edx, %r12d
movq 0x40(%rsp), %r14
je 0x30c34
jmp 0x30c41
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x30cc5
movl %ebp, %ecx
shrl %cl, %r13d
testb $0x2, %r13b
sete %al
movl %r12d, %ecx
movl %r14d, %ebx
movq 0x40(%rsp), %r14
movq 0x18(%rsp), %rdx
cmpl %edx, %ecx
cmovel %ebx, %ecx
testb %al, %al
cmovnel %ebx, %ecx
movl %ecx, %r12d
movl %r12d, %eax
shrl $0x4, %eax
movl (%rsi,%rax,4), %edx
leal (%r12,%r12), %ecx
andl $0x1e, %ecx
shrl %cl, %edx
testb $0x2, %dl
jne 0x30c62
testb $0x1, %dl
jne 0x30c93
movl %r12d, %edx
jmp 0x30cb2
movq 0x18(%r8), %rsi
movl %r12d, %edx
movq %r10, (%rsi,%rdx,8)
movl $0x3, %esi
shll %cl, %esi
notl %esi
movq 0x10(%r8), %rcx
andl %esi, (%rcx,%rax,4)
movq 0x4(%r8), %xmm0
pcmpeqd %xmm1, %xmm1
psubd %xmm1, %xmm0
movq %xmm0, 0x4(%r8)
jmp 0x30cb2
movq 0x18(%r8), %rsi
movl %r12d, %edx
movq %r10, (%rsi,%rdx,8)
movl $0x3, %esi
shll %cl, %esi
notl %esi
movq 0x10(%r8), %rcx
andl %esi, (%rcx,%rax,4)
incl 0x4(%r8)
movq 0x60(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x20(%rax), %rax
movq %r14, (%rax,%rdx,8)
xorl %eax, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %eax, %eax
je 0x30aa7
addq %rsi, %rbp
addq %rsi, %r10
xorl %r13d, %r13d
movq $0x0, 0x20(%rsp)
xorl %ebx, %ebx
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movl (%rcx), %r9d
movl %r9d, %ecx
andl $0xf, %ecx
movl %r9d, %eax
shrl $0x4, %eax
cmpl $0x4, %ecx
jne 0x30d13
addq %rax, %r13
jmp 0x30d6e
leal -0x5(%rcx), %r11d
cmpl $0x2, %r11d
jb 0x30d6e
cmpl $0x7, %ecx
setne %r11b
testb $0x7, %r9b
setne %r14b
testb %r11b, %r14b
jne 0x30d45
movl %eax, %ecx
movq %rbx, %r11
subq %rcx, %rbx
js 0x30dad
addq %rcx, %r13
addq %rcx, 0x20(%rsp)
jmp 0x30d6e
cmpl $0x1, %ecx
jne 0x30d4e
movl %eax, %eax
jmp 0x30d0e
andl $0xe, %r9d
cmpl $0x2, %r9d
jne 0x30d89
movl %eax, %eax
subq %rax, %rbx
testq %rbx, %rbx
movl $0x0, %ecx
cmovleq %rcx, %rbx
addq %rax, 0x20(%rsp)
movq 0x8(%rsp), %rcx
addq $0x4, %rcx
xorl %eax, %eax
cmpq 0x30(%rsp), %rcx
jb 0x30cf5
jmp 0x30aa9
leaq 0x67b75(%rip), %rsi     # 0x98905
leaq 0x67b82(%rip), %rdx     # 0x98919
movl $0x1, %edi
xorl %eax, %eax
callq 0x13de5
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x30aa9
movq (%rsp), %rbx
movsbl (%rbx), %eax
testl %eax, %eax
je 0x30dde
movb 0x1(%rbx), %cl
testb %cl, %cl
je 0x30de0
addq $0x2, %rbx
movl %eax, %r9d
shll $0x5, %r9d
subl %eax, %r9d
movsbl %cl, %eax
addl %r9d, %eax
movb (%rbx), %cl
incq %rbx
testb %cl, %cl
jne 0x30dc3
jmp 0x30de0
xorl %eax, %eax
addq %r11, %r13
addq %r11, 0x20(%rsp)
movl %eax, %ecx
shll $0xf, %ecx
notl %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0xa, %eax
xorl %ecx, %eax
leal (%rax,%rax,8), %eax
movl %eax, %ecx
shrl $0x6, %ecx
xorl %eax, %ecx
movl %ecx, %eax
shll $0xb, %eax
notl %eax
addl %ecx, %eax
movl %eax, %ecx
shrl $0x10, %ecx
xorl %eax, %ecx
andl $0x1, %ecx
movl %ecx, %eax
xorl $0x1, %eax
movl %ecx, 0x50(%rsp)
cvtsi2sd %ecx, %xmm0
movsd 0x66816(%rip), %xmm1    # 0x97640
mulsd %xmm1, %xmm0
movl %eax, 0x54(%rsp)
cvtsi2sd %eax, %xmm2
mulsd %xmm1, %xmm2
movq %r11, 0x28(%rsp)
testq %r10, %r10
js 0x30f01
movq 0x48(%rsp), %rax
subq (%r15), %rax
movq %r10, %r14
movq %rax, 0x10(%rsp)
cmpq %rax, %r14
jge 0x30efe
xorl %eax, %eax
cmpq %r8, %rdi
jae 0x30aa9
movq %r13, %rbx
movl (%rdi), %r9d
movl %r9d, %ecx
andl $0xf, %ecx
movl %r9d, %r10d
shrl $0x4, %r10d
cmpl $0x7, %ecx
setne %r11b
testb $0x7, %r9b
setne %r13b
testb %r11b, %r13b
jne 0x30ea3
decl %r10d
movslq %r10d, %rcx
cmpq %rcx, %rsi
movq %rbx, %r13
jge 0x30ed3
jmp 0x30ee0
andl $0xe, %r9d
cmpl $0x2, %r9d
movq %rbx, %r13
jne 0x30eb5
addq %r10, %r14
jmp 0x30ed3
cmpl $0x4, %ecx
je 0x30ebf
cmpl $0x1, %ecx
jne 0x30ec7
movl %r10d, %ecx
addq %rcx, %rbp
jmp 0x30ed3
leal -0x5(%rcx), %esi
cmpl $0x1, %esi
ja 0x313e4
addq $0x4, %rdi
movq $-0x1, %rsi
jmp 0x30e63
incq %rbp
incq %rsi
leaq 0x1(%r14), %r10
cmpq $-0x2, %r14
movq %r10, %r14
movq 0x10(%rsp), %rax
jg 0x30e58
jmp 0x30f01
movq %r14, %r10
movq %r12, 0x10(%rsp)
movq %r13, (%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %r9
cmpq $0x0, 0x20(%rsp)
js 0x31028
movq 0x48(%rsp), %rax
subq %r9, %rax
movq 0x20(%rsp), %r14
movq %r9, 0x58(%rsp)
movq %rax, 0x68(%rsp)
cmpq %rax, %r14
jge 0x3101e
xorl %eax, %eax
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x8(%rsp)
jae 0x3140f
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %r12
movq %rcx, 0x8(%rsp)
movl (%rcx), %r9d
movl %r9d, %ecx
andl $0xf, %ecx
movl %r9d, %r13d
shrl $0x4, %r13d
cmpl $0x7, %ecx
setne %r11b
testb $0x7, %r9b
setne %bl
testb %r11b, %bl
jne 0x30f94
decl %r13d
movslq %r13d, %rcx
movq 0x28(%rsp), %r9
cmpq %rcx, %r9
jge 0x30fa1
jmp 0x30ff0
andl $0xe, %r9d
cmpl $0x2, %r9d
jne 0x30fc7
addq %r13, %r14
movq (%rsp), %r9
movq %r9, (%rsp)
movq 0x8(%rsp), %rcx
addq $0x4, %rcx
movq $-0x1, 0x28(%rsp)
cmpq 0x30(%rsp), %rcx
jb 0x30f5a
jmp 0x30aa9
cmpl $0x4, %ecx
je 0x30fd1
cmpl $0x1, %ecx
jne 0x30fdd
movl %r13d, %ecx
movq (%rsp), %r9
addq %rcx, %r9
jmp 0x30fa5
leal -0x5(%rcx), %r9d
cmpl $0x1, %r9d
movq (%rsp), %r9
jbe 0x30fa5
jmp 0x313e4
incq (%rsp)
incq %r9
movq %r9, 0x28(%rsp)
leaq 0x1(%r14), %rax
cmpq $-0x2, %r14
movq %rax, 0x20(%rsp)
movq %rax, %r14
movq 0x58(%rsp), %r9
movq 0x68(%rsp), %rax
jg 0x30f35
jmp 0x31028
movq %r14, 0x20(%rsp)
movq 0x58(%rsp), %r9
movq (%r15), %rax
addq %r10, %rax
movq 0x48(%rsp), %rcx
cmpq %rax, %rcx
cmovleq %rax, %rcx
addq 0x20(%rsp), %r9
cmpq %r9, %rcx
cmovleq %r9, %rcx
incq %rcx
movq %rcx, 0x48(%rsp)
cmpq %r9, %rax
jne 0x3110e
movslq 0x18(%r15), %rcx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpq %rcx, %rbp
jg 0x3140f
movq 0x40(%rsp), %rcx
movslq 0x18(%rcx), %rcx
movq (%rsp), %r11
cmpq %rcx, %r11
movq 0x10(%rsp), %r12
jg 0x30aa9
movq %rbp, %rax
sarq %rax
movzbl (%rdx,%rax), %eax
leal (,%rbp,4), %ecx
notb %cl
andb $0x4, %cl
shrl %cl, %eax
movq %r11, %rcx
sarq %rcx
movq 0x70(%rsp), %r9
movzbl (%r9,%rcx), %r9d
leal (,%r11,4), %ecx
notb %cl
andb $0x4, %cl
shrl %cl, %r9d
xorl %eax, %r9d
movq 0x18(%rsp), %rax
movzbl (%rax,%rbp), %eax
testb $0xf, %r9b
je 0x31340
movq 0x38(%rsp), %rcx
movq (%rsp), %r9
movb (%rcx,%r9), %cl
cmpb %cl, %al
jbe 0x31375
cvtsi2sd %eax, %xmm3
mulsd %xmm1, %xmm3
cvttsd2si %xmm3, %eax
movq 0x18(%rsp), %rcx
movb %al, (%rcx,%rbp)
movq 0x38(%rsp), %rax
movq (%rsp), %r13
movb $0x0, (%rax,%r13)
jmp 0x313d5
jge 0x3120a
movq 0x40(%rsp), %rcx
movzwl 0x12(%rcx), %eax
addq 0x38(%rcx), %rax
cmpq %rax, 0x8(%rsp)
jbe 0x3120a
movq 0x8(%rsp), %rax
movl -0x4(%rax), %eax
andl $0xf, %eax
cmpl $0x2, %eax
jne 0x3120a
xorl %eax, %eax
movl $0x0, %ecx
cmpl $0x0, 0x50(%rsp)
je 0x31166
movq 0x18(%rsp), %rcx
movzbl (%rcx,%rbp), %ecx
xorps %xmm3, %xmm3
cvtsi2sd %ecx, %xmm3
mulsd %xmm1, %xmm3
cvttsd2si %xmm3, %ecx
movq 0x18(%rsp), %r9
movb %cl, (%r9,%rbp)
cmpq %r8, %rdi
jae 0x3140f
movl (%rdi), %r9d
movl %r9d, %ecx
andl $0xf, %ecx
movl %r9d, %ebx
shrl $0x4, %ebx
cmpl $0x7, %ecx
setne %r11b
testb $0x7, %r9b
setne %r14b
testb %r11b, %r14b
jne 0x311a7
decl %ebx
movslq %ebx, %rcx
cmpq %rcx, %rsi
jge 0x311d3
jmp 0x311e0
andl $0xe, %r9d
cmpl $0x2, %r9d
jne 0x311b6
addq %rbx, %r10
jmp 0x311d3
cmpl $0x4, %ecx
je 0x311c0
cmpl $0x1, %ecx
jne 0x311c7
movl %ebx, %ecx
addq %rcx, %rbp
jmp 0x311d3
leal -0x5(%rcx), %esi
cmpl $0x2, %esi
jae 0x313f0
addq $0x4, %rdi
movq $-0x1, %rsi
jmp 0x3116f
incq %rbp
incq %rsi
incq %r10
movq (%r15), %rax
addq %r10, %rax
movq 0x40(%rsp), %rcx
movq (%rcx), %rcx
addq 0x20(%rsp), %rcx
cmpq %rcx, %rax
jl 0x31140
jmp 0x31057
movzwl 0x12(%r15), %eax
addq 0x38(%r15), %rax
cmpq %rax, %rdi
movq (%rsp), %r13
movq 0x28(%rsp), %r11
movq 0x10(%rsp), %r12
jbe 0x30e3a
movl -0x4(%rdi), %eax
andl $0xf, %eax
cmpl $0x2, %eax
jne 0x30e3a
xorl %eax, %eax
movl $0x0, %ecx
cmpl $0x0, 0x50(%rsp)
jne 0x31264
movq 0x38(%rsp), %rcx
movq (%rsp), %r9
movzbl (%rcx,%r9), %ecx
xorps %xmm3, %xmm3
cvtsi2sd %ecx, %xmm3
mulsd %xmm1, %xmm3
cvttsd2si %xmm3, %ecx
movq 0x38(%rsp), %r9
movq (%rsp), %r11
movb %cl, (%r9,%r11)
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x8(%rsp)
jae 0x3140f
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movl (%rcx), %r9d
movl %r9d, %ecx
andl $0xf, %ecx
movl %r9d, %ebx
shrl $0x4, %ebx
cmpl $0x7, %ecx
setne %r11b
testb $0x7, %r9b
setne %r14b
testb %r11b, %r14b
jne 0x312bc
decl %ebx
movslq %ebx, %rcx
cmpq %rcx, 0x28(%rsp)
jge 0x312ed
jmp 0x3130b
andl $0xe, %r9d
cmpl $0x2, %r9d
jne 0x312cd
addq %rbx, 0x20(%rsp)
jmp 0x312ed
cmpl $0x4, %ecx
je 0x312d7
cmpl $0x1, %ecx
jne 0x312df
movl %ebx, %ecx
addq %rcx, (%rsp)
jmp 0x312ed
leal -0x5(%rcx), %r9d
cmpl $0x2, %r9d
jae 0x313f0
movq 0x8(%rsp), %rcx
addq $0x4, %rcx
movq $-0x1, 0x28(%rsp)
cmpq 0x30(%rsp), %rcx
jb 0x31286
jmp 0x3140f
incq (%rsp)
incq 0x28(%rsp)
movq 0x20(%rsp), %r9
incq %r9
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq %r9, 0x20(%rsp)
addq %r9, %rax
movq (%r15), %rcx
addq %r10, %rcx
cmpq %rcx, %rax
jl 0x31239
jmp 0x31057
movq 0x38(%rsp), %r11
movq (%rsp), %r13
movzbl (%r11,%r13), %ecx
addl %eax, %ecx
movl $0xc8, %eax
cmpl %eax, %ecx
cmovael %eax, %ecx
movl %ecx, %eax
imull 0x50(%rsp), %eax
movq 0x18(%rsp), %r9
movb %al, (%r9,%rbp)
imull 0x54(%rsp), %ecx
movb %cl, (%r11,%r13)
jmp 0x313d5
cmpb %cl, %al
jae 0x313a0
movzbl %cl, %eax
cvtsi2sd %eax, %xmm3
mulsd %xmm1, %xmm3
cvttsd2si %xmm3, %eax
movq 0x38(%rsp), %rcx
movq (%rsp), %r13
movb %al, (%rcx,%r13)
movq 0x18(%rsp), %rax
movb $0x0, (%rax,%rbp)
jmp 0x313d5
cvtsi2sd %eax, %xmm3
mulsd %xmm0, %xmm3
cvttsd2si %xmm3, %eax
movq 0x18(%rsp), %rcx
movb %al, (%rcx,%rbp)
movq 0x38(%rsp), %rcx
movq (%rsp), %r13
movzbl (%rcx,%r13), %eax
xorps %xmm3, %xmm3
cvtsi2sd %eax, %xmm3
mulsd %xmm2, %xmm3
cvttsd2si %xmm3, %eax
movb %al, (%rcx,%r13)
movq 0x28(%rsp), %r11
movq 0x10(%rsp), %r12
jmp 0x30e3a
leaq 0x67542(%rip), %rsi     # 0x9892d
jmp 0x30d90
leaq 0x67536(%rip), %rsi     # 0x9892d
leaq 0x6751b(%rip), %rdx     # 0x98919
movl $0x1, %edi
xorl %eax, %eax
callq 0x13de5
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %r12
jmp 0x30aa9