// File: /workspace/github_c_makefile_star2_O2/shuffle2[P]nx2elf/lz4.c
// Function: LZ4_compress_fast_continue
int LZ4_compress_fast_continue (LZ4_stream_t* LZ4_stream,
                                const char* source, char* dest,
                                int inputSize, int maxOutputSize,
                                int acceleration)
{
    const tableType_t tableType = byU32;
    LZ4_stream_t_internal* const streamPtr = &LZ4_stream->internal_donotuse;
    const char* dictEnd = streamPtr->dictSize ? (const char*)streamPtr->dictionary + streamPtr->dictSize : NULL;

    DEBUGLOG(5, "LZ4_compress_fast_continue (inputSize=%i, dictSize=%u)", inputSize, streamPtr->dictSize);

    LZ4_renormDictT(streamPtr, inputSize);   /* fix index overflow */
    if (acceleration < 1) acceleration = LZ4_ACCELERATION_DEFAULT;
    if (acceleration > LZ4_ACCELERATION_MAX) acceleration = LZ4_ACCELERATION_MAX;

    /* invalidate tiny dictionaries */
    if ( (streamPtr->dictSize < 4)     /* tiny dictionary : not enough for a hash */
      && (dictEnd != source)           /* prefix mode */
      && (inputSize > 0)               /* tolerance : don't lose history, in case next invocation would use prefix mode */
      && (streamPtr->dictCtx == NULL)  /* usingDictCtx */
      ) {
        DEBUGLOG(5, "LZ4_compress_fast_continue: dictSize(%u) at addr:%p is too small", streamPtr->dictSize, streamPtr->dictionary);
        /* remove dictionary existence from history, to employ faster prefix mode */
        streamPtr->dictSize = 0;
        streamPtr->dictionary = (const BYTE*)source;
        dictEnd = source;
    }

    /* Check overlapping input/dictionary space */
    {   const char* const sourceEnd = source + inputSize;
        if ((sourceEnd > (const char*)streamPtr->dictionary) && (sourceEnd < dictEnd)) {
            streamPtr->dictSize = (U32)(dictEnd - sourceEnd);
            if (streamPtr->dictSize > 64 KB) streamPtr->dictSize = 64 KB;
            if (streamPtr->dictSize < 4) streamPtr->dictSize = 0;
            streamPtr->dictionary = (const BYTE*)dictEnd - streamPtr->dictSize;
        }
    }

    /* prefix mode : source data follows dictionary */
    if (dictEnd == source) {
        if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset))
            return LZ4_compress_generic(streamPtr, source, dest, inputSize, NULL, maxOutputSize, limitedOutput, tableType, withPrefix64k, dictSmall, acceleration);
        else
            return LZ4_compress_generic(streamPtr, source, dest, inputSize, NULL, maxOutputSize, limitedOutput, tableType, withPrefix64k, noDictIssue, acceleration);
    }

    /* external dictionary mode */
    {   int result;
        if (streamPtr->dictCtx) {
            /* We depend here on the fact that dictCtx'es (produced by
             * LZ4_loadDict) guarantee that their tables contain no references
             * to offsets between dictCtx->currentOffset - 64 KB and
             * dictCtx->currentOffset - dictCtx->dictSize. This makes it safe
             * to use noDictIssue even when the dict isn't a full 64 KB.
             */
            if (inputSize > 4 KB) {
                /* For compressing large blobs, it is faster to pay the setup
                 * cost to copy the dictionary's tables into the active context,
                 * so that the compression loop is only looking into one table.
                 */
                LZ4_memcpy(streamPtr, streamPtr->dictCtx, sizeof(*streamPtr));
                result = LZ4_compress_generic(streamPtr, source, dest, inputSize, NULL, maxOutputSize, limitedOutput, tableType, usingExtDict, noDictIssue, acceleration);
            } else {
                result = LZ4_compress_generic(streamPtr, source, dest, inputSize, NULL, maxOutputSize, limitedOutput, tableType, usingDictCtx, noDictIssue, acceleration);
            }
        } else {  /* small data <= 4 KB */
            if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset)) {
                result = LZ4_compress_generic(streamPtr, source, dest, inputSize, NULL, maxOutputSize, limitedOutput, tableType, usingExtDict, dictSmall, acceleration);
            } else {
                result = LZ4_compress_generic(streamPtr, source, dest, inputSize, NULL, maxOutputSize, limitedOutput, tableType, usingExtDict, noDictIssue, acceleration);
            }
        }
        streamPtr->dictionary = (const BYTE*)source;
        streamPtr->dictSize = (U32)inputSize;
        return result;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movl %r9d, %r12d
movl %r8d, %ebx
movl %ecx, %r13d
movq %rdx, -0x80(%rbp)
movq %rsi, -0x48(%rbp)
movq %rdi, %r15
movl 0x4018(%rdi), %r14d
testq %r14, %r14
je 0xaad6
addq 0x4008(%r15), %r14
jmp 0xaad9
xorl %r14d, %r14d
movq %r15, %rdi
movl %r13d, %esi
callq 0xd22e
cmpl $0x2, %r12d
pushq $0x1
popq %rax
cmovll %eax, %r12d
movl $0x10001, %eax          # imm = 0x10001
cmpl %eax, %r12d
cmovgel %eax, %r12d
movl 0x4018(%r15), %eax
cmpl $0x3, %eax
ja 0xab38
testl %r13d, %r13d
movq %r13, %r8
movq -0x48(%rbp), %rdi
jle 0xab3f
cmpq %rdi, %r14
je 0xab3f
cmpq $0x0, 0x4010(%r15)
jne 0xab3f
andl $0x0, 0x4018(%r15)
movq %rdi, 0x4008(%r15)
xorl %eax, %eax
movq %rdi, %r14
jmp 0xab3f
movq %r13, %r8
movq -0x48(%rbp), %rdi
movslq %r8d, %rcx
addq %rdi, %rcx
movq 0x4008(%r15), %r13
cmpq %r13, %rcx
movl %r12d, -0x2c(%rbp)
jbe 0xab85
cmpq %r14, %rcx
jae 0xab85
movl %r14d, %edx
subl %ecx, %edx
movl $0x10000, %ecx          # imm = 0x10000
cmpl %ecx, %edx
cmovbl %edx, %ecx
xorl %eax, %eax
cmpl $0x4, %edx
cmovael %ecx, %eax
movl %eax, 0x4018(%r15)
movq %r14, %r13
subq %rax, %r13
movq %r13, 0x4008(%r15)
movq %r15, -0x38(%rbp)
movl %eax, %r10d
movl %r8d, %r12d
movslq %ebx, %rcx
movq %rcx, -0x40(%rbp)
cmpq %rdi, %r14
je 0xb257
movq -0x38(%rbp), %rcx
movq 0x4010(%rcx), %rcx
movq %rcx, -0x58(%rbp)
testq %rcx, %rcx
movq %r8, -0xd8(%rbp)
je 0xb6bc
cmpl $0x1001, %r8d           # imm = 0x1001
jl 0xbd61
movl $0x4020, %edx           # imm = 0x4020
movq -0x38(%rbp), %rdi
movq -0x58(%rbp), %rsi
movq %r8, %rbx
callq 0x2170
xorl %ecx, %ecx
cmpl $0x7e000000, %ebx       # imm = 0x7E000000
movq -0x40(%rbp), %rdi
ja 0xd16e
movq -0x38(%rbp), %rsi
movl 0x4000(%rsi), %r10d
movq -0x48(%rbp), %r9
movq %r9, %r11
subq %r10, %r11
movq 0x4008(%rsi), %rdx
movl 0x4018(%rsi), %eax
movq -0xd8(%rbp), %r8
leal (%rax,%r8), %ecx
movq %rax, %rbx
addq %rdx, %rbx
leaq (%r9,%r12), %rax
movq %rax, -0xb0(%rbp)
movq %rbx, %rax
subq %r10, %rax
testq %rdx, %rdx
cmoveq %rdx, %rbx
movq %rbx, -0x60(%rbp)
leaq -0xb(%r9,%r12), %rbx
movq %rbx, -0x68(%rbp)
leaq -0x5(%r9,%r12), %rbx
movq %rbx, -0x88(%rbp)
movq %rdx, -0x50(%rbp)
cmoveq %rdx, %rax
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdx
addq %rdx, %rdi
movq %rdi, -0x40(%rbp)
movl %ecx, 0x4018(%rsi)
leal (%r10,%r8), %eax
movl %eax, 0x4000(%rsi)
movl $0x2, 0x4004(%rsi)
movq (%r9), %rax
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %rax
shrq $0x34, %rax
movq %r10, -0x98(%rbp)
movl %r10d, (%rsi,%rax,4)
movq %r11, %r10
movl -0x2c(%rbp), %r8d
shll $0x6, %r8d
leaq (%r9,%r12), %rax
addq $-0xc, %rax
movq %rax, -0x58(%rbp)
leaq -0x8(%r9,%r12), %rax
movq %rax, -0xa8(%rbp)
leaq -0x6(%r9,%r12), %rax
movq %rax, -0xa0(%rbp)
leaq 0x8(%r9), %rax
movq %rax, -0xc0(%rbp)
pushq $0x1
popq %rcx
movq %rdx, -0x70(%rbp)
movq %r9, %rsi
movl %r8d, -0x2c(%rbp)
movq %r11, -0x90(%rbp)
leaq 0x1(%rsi), %rdi
movq 0x1(%rsi), %rdx
movl %r8d, %eax
movq -0x38(%rbp), %r11
movabsq $-0x30e4432345000000, %r14 # imm = 0xCF1BBCDCBB000000
movq -0x98(%rbp), %r12
movl %ecx, %r8d
addq %rdi, %r8
cmpq -0x68(%rbp), %r8
ja 0xd19e
imulq %r14, %rdx
movq %rdx, %rcx
shrq $0x34, %rcx
movl %edi, %r13d
subl %r10d, %r13d
movl (%r11,%rcx,4), %r9d
movq (%r8), %rdx
movl %r13d, (%r11,%rcx,4)
leal 0xffff(%r9), %ecx
cmpl %r13d, %ecx
jb 0xad6a
movq -0x78(%rbp), %rcx
cmpl %r12d, %r9d
jb 0xad5a
movq %r10, %rcx
movl (%rcx,%r9), %r10d
cmpl (%rdi), %r10d
movq -0x90(%rbp), %r10
je 0xad76
movl %eax, %ecx
shrl $0x6, %ecx
incl %eax
movq %r8, %rdi
jmp 0xad16
addq %r9, %rcx
cmpl %r12d, %r9d
movq -0x48(%rbp), %rbx
cmovbq -0x50(%rbp), %rbx
subl %r9d, %r13d
movl %edi, %eax
shlb $0x4, %al
movl %esi, %edx
shlb $0x4, %dl
subb %dl, %al
xorl %edx, %edx
movq %rdx, %r11
movl %eax, %r8d
leaq (%rcx,%rdx), %r9
leaq (%rdi,%rdx), %r12
cmpq %rbx, %r9
jbe 0xadc2
cmpq %rsi, %r12
jbe 0xadc2
movb -0x1(%rdi,%r11), %r10b
leaq -0x1(%r11), %rdx
leal -0x10(%r8), %eax
cmpb -0x1(%rcx,%r11), %r10b
je 0xad96
movl %edi, %r14d
subl %esi, %r14d
leal (%r14,%r11), %r10d
addq %r11, %r14
movq -0x70(%rbp), %rax
addq %r10, %rax
incq %rax
movq %rax, -0xb8(%rbp)
xorl %ecx, %ecx
movl %r14d, %eax
xorl %edx, %edx
movl $0xff, %r15d
divl %r15d
movq -0xb8(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
movl $0xff, %r15d
ja 0xd16e
cmpl $0xf, %r14d
jb 0xae44
subl %esi, %edi
leal (%rdi,%r11), %ecx
addl $-0xf, %ecx
movq -0x70(%rbp), %r14
movb $-0x10, (%r14)
leaq 0x2(%r14), %rax
movq -0x58(%rbp), %r11
cmpl $0xff, %ecx
jl 0xae55
movb $-0x1, -0x1(%rax)
addl $0xffffff01, %ecx       # imm = 0xFFFFFF01
incq %rax
jmp 0xae2d
movq -0x70(%rbp), %r14
leaq 0x1(%r14), %rax
movb %r8b, (%r14)
movq -0x58(%rbp), %r11
jmp 0xae58
movb %cl, -0x1(%rax)
addq %rax, %r10
movq (%rsi), %rcx
movq %rcx, (%rax)
addq $0x8, %rax
addq $0x8, %rsi
cmpq %r10, %rax
jb 0xae5b
jmp 0xaf77
leaq 0x1(%rax), %r10
movb $0x0, (%rax)
subl %ecx, %r13d
movq %rax, %r14
jmp 0xaf77
cmpq -0xa8(%rbp), %rsi
jae 0xae9c
movl (%rcx), %edx
cmpl (%rsi), %edx
jne 0xae9c
addq $0x4, %rsi
addq $0x4, %rcx
cmpq -0xa0(%rbp), %rsi
jae 0xaeb5
movzwl (%rcx), %edx
cmpw (%rsi), %dx
jne 0xaeb5
addq $0x2, %rsi
addq $0x2, %rcx
cmpq -0x88(%rbp), %rsi
jae 0xaeca
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%rsi), %cl
sete %dl
addq %rdx, %rsi
movq %r14, %r13
subl %eax, %esi
jmp 0xb06a
leaq -0x3(%rax), %rdi
cmpq %rdi, %rsi
jae 0xaeeb
movl (%rdx), %edi
cmpl (%rsi), %edi
jne 0xaeeb
addq $0x4, %rsi
addq $0x4, %rdx
leaq -0x1(%rax), %rdi
cmpq %rdi, %rsi
jae 0xaf04
movzwl (%rdx), %edi
cmpw (%rsi), %di
jne 0xaf04
addq $0x2, %rsi
addq $0x2, %rdx
cmpq %rax, %rsi
jae 0xaf16
movb (%rdx), %dl
xorl %edi, %edi
cmpb (%rsi), %dl
sete %dil
addq %rdi, %rsi
subl %ecx, %esi
jmp 0xb091
cmpq -0xa8(%rbp), %rcx
jae 0xaf34
movl (%rdx), %edi
cmpl (%rcx), %edi
jne 0xaf34
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0xa0(%rbp), %rcx
jae 0xaf4d
movzwl (%rdx), %edi
cmpw (%rcx), %di
jne 0xaf4d
addq $0x2, %rcx
addq $0x2, %rdx
cmpq -0x88(%rbp), %rcx
jae 0xaf63
movb (%rdx), %dl
xorl %edi, %edi
cmpb (%rcx), %dl
sete %dil
addq %rdi, %rcx
subl %eax, %ecx
jmp 0xb120
movq %rax, %rsi
jmp 0xafaa
movq %rcx, %rsi
jmp 0xb020
movw %r13w, (%r10)
cmpq -0x50(%rbp), %rbx
je 0xafd7
leaq 0x4(%r12), %rax
leaq 0x4(%r9), %rcx
cmpq %rax, %r11
jbe 0xaf6a
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xb04c
leaq 0xc(%r12), %rsi
addq $0xc, %r9
movq %r9, %rcx
movl %esi, %edx
subl %r12d, %edx
addl $-0x4, %edx
cmpq %r11, %rsi
jae 0xae85
movq (%rcx), %rdi
movq (%rsi), %r8
cmpq %r8, %rdi
jne 0xb05b
addq $0x8, %rsi
addq $0x8, %rcx
addl $0x8, %edx
jmp 0xafb2
movq %r14, %r13
movq -0x60(%rbp), %rax
subq %r9, %rax
addq %r12, %rax
movq -0x88(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r12), %rcx
leaq 0x4(%r9), %rdx
leaq -0x7(%rax), %rdi
cmpq %rcx, %rdi
movq -0x48(%rbp), %r14
jbe 0xaf6f
movq (%rdx), %rdx
movq (%rcx), %rsi
cmpq %rsi, %rdx
jne 0xb078
leaq 0xc(%r12), %rsi
leaq 0xc(%r9), %rdx
movl %esi, %r8d
subl %r12d, %r8d
addl $-0x4, %r8d
cmpq %rdi, %rsi
jae 0xaed4
movq (%rdx), %r11
movq (%rsi), %rbx
cmpq %rbx, %r11
jne 0xb084
addq $0x8, %rsi
addq $0x8, %rdx
addl $0x8, %r8d
jmp 0xb02a
movq %r14, %r13
xorq %rcx, %rdx
bsfq %rdx, %rsi
shrl $0x3, %esi
jmp 0xb06a
movq %r14, %r13
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addl %edx, %esi
movl %esi, %eax
addq %rax, %r12
addq $0x4, %r12
jmp 0xb12a
xorq %rdx, %rsi
bsfq %rsi, %rsi
shrl $0x3, %esi
jmp 0xb091
xorq %r11, %rbx
bsfq %rbx, %rsi
shrl $0x3, %esi
addl %r8d, %esi
movl %esi, %ecx
addq %r12, %rcx
addq $0x4, %rcx
cmpq %rax, %rcx
je 0xb0a7
movq %rcx, %r12
jmp 0xb12a
movq %r14, %rdx
movq %rax, %rcx
cmpq %rax, -0x58(%rbp)
jbe 0xb0c9
movq (%r14), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xb108
leaq 0x8(%rax), %rcx
movq -0xc0(%rbp), %rdx
addq -0x60(%rbp), %r12
subq %r9, %r12
movq -0x88(%rbp), %rdi
cmpq %rdi, %r12
cmovaeq %rdi, %r12
movl %ecx, %edi
subl %r12d, %edi
movq -0x58(%rbp), %r11
cmpq %r11, %rcx
jae 0xaf1d
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0xb114
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %edi
jmp 0xb0e7
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0xb120
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %edi, %ecx
addl %ecx, %esi
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, %r12
leal 0xf0(%rsi), %eax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0xff, %edi
divl %edi
addq %r10, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd16e
leaq 0x2(%r10), %rax
movb (%r13), %cl
cmpl $0xf, %esi
jb 0xb1b7
addb $0xf, %cl
movb %cl, (%r13)
leal -0xf(%rsi), %ecx
orl $-0x1, (%rax)
xorl %edi, %edi
movq -0x58(%rbp), %r11
cmpl $0x3fc, %ecx            # imm = 0x3FC
jb 0xb186
orl $-0x1, 0x6(%r10,%rdi)
addl $0xfffffc04, %ecx       # imm = 0xFFFFFC04
addq $0x4, %rdi
jmp 0xb16c
movzwl %cx, %ecx
movq %rcx, %rax
xorl %edx, %edx
divq %r15
addq %rax, %r10
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
leal (%rdi,%rax), %ecx
leaq (%rdi,%r10), %rax
addq $0x3, %rax
movb %cl, -0x1(%rax)
jmp 0xb1c2
addb %sil, %cl
movb %cl, (%r13)
movq -0x58(%rbp), %r11
cmpq -0x68(%rbp), %r12
movq -0x90(%rbp), %r10
jae 0xca8b
leaq -0x2(%r12), %rcx
movq -0x2(%r12), %rdx
movabsq $-0x30e4432345000000, %rdi # imm = 0xCF1BBCDCBB000000
imulq %rdi, %rdx
shrq $0x34, %rdx
subl %r10d, %ecx
movq -0x38(%rbp), %rsi
movl %ecx, (%rsi,%rdx,4)
movq (%r12), %rdx
imulq %rdi, %rdx
shrq $0x34, %rdx
movl %r12d, %r13d
subl %r10d, %r13d
movl (%rsi,%rdx,4), %ecx
cmpl -0x98(%rbp), %ecx
movq %r10, %r9
cmovbq -0x78(%rbp), %r9
movq -0x48(%rbp), %rbx
cmovbq -0x50(%rbp), %rbx
addq %rcx, %r9
movl %r13d, (%rsi,%rdx,4)
leal 0xffff(%rcx), %edx
cmpl %r13d, %edx
jb 0xb244
movl (%r9), %edx
cmpl (%r12), %edx
je 0xae73
movq %rax, -0x70(%rbp)
movq %r12, %rsi
movl -0x2c(%rbp), %r8d
pushq $0x1
popq %rcx
jmp 0xacf6
cmpl $0xffff, %eax           # imm = 0xFFFF
ja 0xb2c9
movq -0x38(%rbp), %rcx
movl 0x4000(%rcx), %edx
movl %edx, %edi
subl %eax, %edi
jbe 0xb2c9
xorl %ecx, %ecx
cmpl $0x7e000000, %r8d       # imm = 0x7E000000
ja 0xd18a
testl %r8d, %r8d
je 0xcb0c
movq -0x48(%rbp), %r11
leaq (%r11,%r12), %r9
movq -0x80(%rbp), %rcx
addq %rcx, -0x40(%rbp)
addl %r8d, %eax
movq -0x38(%rbp), %rbx
movl %eax, 0x4018(%rbx)
leal (%rdx,%r8), %eax
movl %eax, 0x4000(%rbx)
movl $0x2, 0x4004(%rbx)
cmpl $0xd, %r8d
jae 0xcca6
movq %r11, %r12
jmp 0xd084
xorl %ecx, %ecx
cmpl $0x7e000000, %r8d       # imm = 0x7E000000
ja 0xd18a
testl %r8d, %r8d
je 0xcb0c
movq -0x38(%rbp), %rbx
movl 0x4000(%rbx), %ecx
movq -0x48(%rbp), %rdx
leaq (%rdx,%r12), %r9
movq -0x80(%rbp), %r13
addq %r13, -0x40(%rbp)
addl %r8d, %eax
movl %eax, 0x4018(%rbx)
leal (%rcx,%r8), %eax
movl %eax, 0x4000(%rbx)
movl $0x2, 0x4004(%rbx)
cmpl $0xd, %r8d
jb 0xcb2d
movq %rdx, %rdi
subq %rcx, %rdi
leaq (%rdx,%r12), %r8
addq $-0xb, %r8
leaq (%rdx,%r12), %rax
addq $-0x5, %rax
movq %rax, -0x58(%rbp)
movq %rdx, %rax
subq %r10, %rax
movq %rax, -0x78(%rbp)
movq (%rdx), %rax
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
imulq %r12, %rax
shrq $0x34, %rax
movl %ecx, (%rbx,%rax,4)
movl -0x2c(%rbp), %r15d
shll $0x6, %r15d
leaq -0xc(%r9), %r11
leaq -0x8(%r9), %rax
movq %rax, -0x98(%rbp)
movq %r9, -0x50(%rbp)
leaq -0x6(%r9), %rax
movq %rax, -0x88(%rbp)
pushq $0x1
popq %rcx
movq %r13, -0x68(%rbp)
movl %r15d, -0x2c(%rbp)
leaq 0x1(%rdx), %r14
movq %rdx, -0x48(%rbp)
movq 0x1(%rdx), %rdx
movl %ecx, %eax
movl %r15d, %ecx
movl %eax, %esi
addq %r14, %rsi
cmpq %r8, %rsi
ja 0xd1d1
imulq %r12, %rdx
movq %rdx, %r9
shrq $0x34, %r9
movl (%rbx,%r9,4), %eax
movl %r14d, %r10d
subl %edi, %r10d
movq (%rsi), %rdx
movl %r10d, (%rbx,%r9,4)
leal 0xffff(%rax), %r9d
cmpl %r10d, %r9d
jb 0xb3df
movl (%rdi,%rax), %r9d
cmpl (%r14), %r9d
je 0xb3eb
movl %ecx, %eax
shrl $0x6, %eax
incl %ecx
movq %rsi, %r14
jmp 0xb3a0
addq %rdi, %rax
movl %r14d, %ecx
shlb $0x4, %cl
movq -0x48(%rbp), %rdx
shlb $0x4, %dl
subb %dl, %cl
xorl %edx, %edx
movq -0x78(%rbp), %r9
movq %rdx, %r15
movl %ecx, %r10d
leaq (%rax,%rdx), %rbx
leaq (%r14,%rdx), %r12
cmpq %r9, %rbx
jbe 0xb430
cmpq -0x48(%rbp), %r12
jbe 0xb430
movb -0x1(%r14,%r15), %sil
leaq -0x1(%r15), %rdx
leal -0x10(%r10), %ecx
cmpb -0x1(%rax,%r15), %sil
je 0xb403
movl %r14d, %esi
subl -0x48(%rbp), %esi
leal (%rsi,%r15), %r9d
addq %r15, %rsi
movq -0x68(%rbp), %rax
addq %r9, %rax
incq %rax
movq %rax, -0x90(%rbp)
xorl %ecx, %ecx
movl %esi, %eax
xorl %edx, %edx
movl $0xff, %r13d
divl %r13d
movq -0x90(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
movl $0xff, %r13d
ja 0xd18a
cmpl $0xf, %esi
jb 0xb4ae
subl -0x48(%rbp), %r14d
leal (%r14,%r15), %ecx
addl $-0xf, %ecx
movq -0x68(%rbp), %r14
movb $-0x10, (%r14)
leaq 0x2(%r14), %rax
cmpl $0xff, %ecx
jl 0xb4bb
movb $-0x1, -0x1(%rax)
addl $0xffffff01, %ecx       # imm = 0xFFFFFF01
incq %rax
jmp 0xb497
movq -0x68(%rbp), %r14
leaq 0x1(%r14), %rax
movb %r10b, (%r14)
jmp 0xb4be
movb %cl, -0x1(%rax)
addq %rax, %r9
movq -0x48(%rbp), %rdx
movq (%rdx), %rcx
movq %rcx, (%rax)
addq $0x8, %rax
addq $0x8, %rdx
cmpq %r9, %rax
jb 0xb4c5
jmp 0xb531
leaq 0x1(%rax), %r9
movb $0x0, (%rax)
movq %rax, %r14
jmp 0xb531
cmpq -0x98(%rbp), %rsi
jae 0xb4fd
movl (%rcx), %edx
cmpl (%rsi), %edx
jne 0xb4fd
addq $0x4, %rsi
addq $0x4, %rcx
cmpq -0x88(%rbp), %rsi
jae 0xb516
movzwl (%rcx), %edx
cmpw (%rsi), %dx
jne 0xb516
addq $0x2, %rsi
addq $0x2, %rcx
cmpq -0x58(%rbp), %rsi
jae 0xb528
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%rsi), %cl
sete %dl
addq %rdx, %rsi
subl %eax, %esi
jmp 0xb5a0
movq %rax, %rsi
jmp 0xb55f
movl %r12d, %eax
subl %ebx, %eax
movw %ax, (%r9)
leaq 0x4(%r12), %rax
leaq 0x4(%rbx), %rcx
cmpq %rax, %r11
jbe 0xb52c
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xb588
leaq 0xc(%r12), %rsi
addq $0xc, %rbx
movq %rbx, %rcx
movl %esi, %edx
subl %r12d, %edx
addl $-0x4, %edx
cmpq %r11, %rsi
jae 0xb4e6
movq (%rcx), %r10
movq (%rsi), %rbx
cmpq %rbx, %r10
jne 0xb594
addq $0x8, %rsi
addq $0x8, %rcx
addl $0x8, %edx
jmp 0xb567
xorq %rcx, %rdx
bsfq %rdx, %rsi
shrl $0x3, %esi
jmp 0xb5a0
xorq %r10, %rbx
bsfq %rbx, %rsi
shrl $0x3, %esi
addl %edx, %esi
leal 0xf0(%rsi), %eax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0xff, %r10d
divl %r10d
addq %r9, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd18a
leaq 0x2(%r9), %rax
movb (%r14), %cl
cmpl $0xf, %esi
jb 0xb5f9
addb $0xf, %cl
movb %cl, (%r14)
leal -0xf(%rsi), %ecx
orl $-0x1, (%rax)
xorl %r10d, %r10d
cmpl $0x3fc, %ecx            # imm = 0x3FC
jb 0xb601
orl $-0x1, 0x6(%r9,%r10)
addl $0xfffffc04, %ecx       # imm = 0xFFFFFC04
addq $0x4, %r10
jmp 0xb5df
addb %sil, %cl
movb %cl, (%r14)
jmp 0xb631
movzwl %cx, %ecx
movq %rcx, %rax
xorl %edx, %edx
divq %r13
addq %rax, %r9
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
leal (%r10,%rax), %ecx
leaq (%r10,%r9), %rax
addq $0x3, %rax
movb %cl, -0x1(%rax)
movl %esi, %ecx
addq %rcx, %r12
addq $0x4, %r12
cmpq %r8, %r12
jae 0xcb23
leaq -0x2(%r12), %rcx
movq -0x2(%r12), %rdx
movabsq $-0x30e4432345000000, %rsi # imm = 0xCF1BBCDCBB000000
imulq %rsi, %rdx
shrq $0x34, %rdx
subl %edi, %ecx
movq -0x38(%rbp), %r9
movl %ecx, (%r9,%rdx,4)
movq (%r12), %rcx
imulq %rsi, %rcx
shrq $0x34, %rcx
movl %r12d, %edx
subl %edi, %edx
movl (%r9,%rcx,4), %ebx
leal 0xffff(%rbx), %esi
addq %rdi, %rbx
movl %edx, (%r9,%rcx,4)
cmpl %edx, %esi
jb 0xb69b
movl (%rbx), %ecx
cmpl (%r12), %ecx
je 0xb4da
movq %rax, -0x68(%rbp)
movq %r12, %rdx
movq -0x38(%rbp), %rbx
movl -0x2c(%rbp), %r15d
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
pushq $0x1
popq %rcx
jmp 0xb38f
cmpl $0xffff, %eax           # imm = 0xFFFF
movq %r13, -0x58(%rbp)
ja 0xc422
movq -0x38(%rbp), %rcx
movl 0x4000(%rcx), %r15d
movl %r15d, %ecx
subl %eax, %ecx
movl %ecx, -0x90(%rbp)
jbe 0xc422
xorl %ecx, %ecx
cmpl $0x7e000000, %r8d       # imm = 0x7E000000
ja 0xd16e
testl %r8d, %r8d
je 0xcaf5
addq %r13, %r10
leaq (%rdi,%r12), %r11
movq %r10, %rcx
subq %r15, %rcx
testq %r13, %r13
cmoveq %r13, %rcx
movq %rcx, -0x98(%rbp)
movq -0x80(%rbp), %rcx
movq -0x40(%rbp), %r9
addq %rcx, %r9
addl %r8d, %eax
movq -0x38(%rbp), %rdx
movl %eax, 0x4018(%rdx)
leal (%r15,%r8), %eax
movl %eax, 0x4000(%rdx)
movl $0x2, 0x4004(%rdx)
movq %rcx, %rax
movq %rdi, %rsi
cmpl $0xd, %r8d
jb 0xd0f8
movq %r9, -0x40(%rbp)
movq %rdi, %rax
subq %r15, %rax
movq %rax, -0x68(%rbp)
leaq (%rdi,%r12), %rax
addq $-0xb, %rax
movq %rax, -0x78(%rbp)
testq %r13, %r13
cmoveq %r13, %r10
movq %r10, -0x88(%rbp)
leaq -0x5(%rdi,%r12), %rax
movq %rax, -0x60(%rbp)
movq (%rdi), %rax
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
imulq %r12, %rax
shrq $0x34, %rax
movq -0x38(%rbp), %r14
movq %r15, -0x50(%rbp)
movl %r15d, (%r14,%rax,4)
movl -0x2c(%rbp), %r15d
shll $0x6, %r15d
leaq -0xc(%r11), %r10
leaq -0x8(%r11), %rax
movq %rax, -0xa0(%rbp)
movq %r11, -0xa8(%rbp)
leaq -0x6(%r11), %rax
movq %rax, -0xc8(%rbp)
leaq 0x8(%rdi), %rax
movq %rax, -0xb0(%rbp)
pushq $0x1
popq %rdx
movq %rcx, -0x70(%rbp)
movq %rdi, %rsi
movl %r15d, -0x2c(%rbp)
movq %r10, -0xc0(%rbp)
leaq 0x1(%rsi), %rdi
movq 0x1(%rsi), %rcx
movl %r15d, %eax
movl %edx, %r8d
addq %rdi, %r8
cmpq -0x78(%rbp), %r8
ja 0xd21a
imulq %r12, %rcx
movq %rcx, %rdx
shrq $0x34, %rdx
movl %edi, %ebx
subl -0x68(%rbp), %ebx
movl (%r14,%rdx,4), %r9d
movq (%r8), %rcx
movl %ebx, (%r14,%rdx,4)
cmpl -0x90(%rbp), %r9d
jb 0xb855
leal 0xffff(%r9), %edx
cmpl %ebx, %edx
jb 0xb855
movq -0x98(%rbp), %rdx
cmpl -0x50(%rbp), %r9d
jb 0xb84c
movq -0x68(%rbp), %rdx
movl (%rdx,%r9), %r11d
cmpl (%rdi), %r11d
je 0xb861
movl %eax, %edx
shrl $0x6, %edx
incl %eax
movq %r8, %rdi
jmp 0xb7fc
addq %r9, %rdx
cmpl -0x50(%rbp), %r9d
movq -0x48(%rbp), %r8
cmovbq %r13, %r8
subl %r9d, %ebx
movl %edi, %eax
shlb $0x4, %al
movl %esi, %ecx
shlb $0x4, %cl
subb %cl, %al
xorl %ecx, %ecx
movq %rcx, %r14
movl %eax, %r13d
leaq (%rdx,%rcx), %r12
leaq (%rdi,%rcx), %r9
cmpq %r8, %r12
jbe 0xb8ad
cmpq %rsi, %r9
jbe 0xb8ad
movb -0x1(%rdi,%r14), %r11b
leaq -0x1(%r14), %rcx
leal -0x10(%r13), %eax
cmpb -0x1(%rdx,%r14), %r11b
je 0xb881
movl %edi, %r11d
subl %esi, %r11d
leal (%r11,%r14), %r15d
addq %r14, %r11
movq -0x70(%rbp), %rax
addq %r15, %rax
incq %rax
movq %rax, -0xb8(%rbp)
xorl %ecx, %ecx
movl %r11d, %eax
xorl %edx, %edx
movl $0xff, %r10d
divl %r10d
movq -0xb8(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
movq -0xc0(%rbp), %r10
ja 0xd16e
cmpl $0xf, %r11d
jb 0xb934
subl %esi, %edi
leal (%rdi,%r14), %ecx
addl $-0xf, %ecx
movq -0x70(%rbp), %r11
movb $-0x10, (%r11)
leaq 0x2(%r11), %rax
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %r13
cmpl $0xff, %ecx
jl 0xb949
movb $-0x1, -0x1(%rax)
addl $0xffffff01, %ecx       # imm = 0xFFFFFF01
incq %rax
jmp 0xb91d
movq -0x70(%rbp), %r11
leaq 0x1(%r11), %rax
movb %r13b, (%r11)
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %r13
jmp 0xb94c
movb %cl, -0x1(%rax)
addq %rax, %r15
movq (%rsi), %rcx
movq %rcx, (%rax)
addq $0x8, %rax
addq $0x8, %rsi
cmpq %r15, %rax
jb 0xb94f
jmp 0xba64
leaq 0x1(%rax), %r15
movb $0x0, (%rax)
subl %ecx, %ebx
movq %rax, %r11
jmp 0xba64
cmpq -0xa0(%rbp), %rsi
jae 0xb98f
movl (%rcx), %edx
cmpl (%rsi), %edx
jne 0xb98f
addq $0x4, %rsi
addq $0x4, %rcx
cmpq -0xc8(%rbp), %rsi
jae 0xb9a8
movzwl (%rcx), %edx
cmpw (%rsi), %dx
jne 0xb9a8
addq $0x2, %rsi
addq $0x2, %rcx
cmpq -0x60(%rbp), %rsi
jae 0xb9ba
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%rsi), %cl
sete %dl
addq %rdx, %rsi
movq %r11, %r13
subl %eax, %esi
jmp 0xbb54
leaq -0x3(%rax), %rdi
cmpq %rdi, %rsi
jae 0xb9db
movl (%rdx), %edi
cmpl (%rsi), %edi
jne 0xb9db
addq $0x4, %rsi
addq $0x4, %rdx
leaq -0x1(%rax), %rdi
cmpq %rdi, %rsi
jae 0xb9f4
movzwl (%rdx), %edi
cmpw (%rsi), %di
jne 0xb9f4
addq $0x2, %rsi
addq $0x2, %rdx
cmpq %rax, %rsi
jae 0xba06
movb (%rdx), %dl
xorl %edi, %edi
cmpb (%rsi), %dl
sete %dil
addq %rdi, %rsi
subl %ecx, %esi
jmp 0xbb7b
cmpq -0xa0(%rbp), %rcx
jae 0xba24
movl (%rdx), %edi
cmpl (%rcx), %edi
jne 0xba24
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0xc8(%rbp), %rcx
jae 0xba3d
movzwl (%rdx), %edi
cmpw (%rcx), %di
jne 0xba3d
addq $0x2, %rcx
addq $0x2, %rdx
cmpq -0x60(%rbp), %rcx
jae 0xba50
movb (%rdx), %dl
xorl %edi, %edi
cmpb (%rcx), %dl
sete %dil
addq %rdi, %rcx
subl %eax, %ecx
jmp 0xbc02
movq %rax, %rsi
jmp 0xba95
movq %rcx, %rsi
jmp 0xbb0a
movw %bx, (%r15)
cmpq %r13, %r8
je 0xbac2
leaq 0x4(%r9), %rax
leaq 0x4(%r12), %rcx
cmpq %rax, %r10
jbe 0xba57
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xbb36
leaq 0xc(%r9), %rsi
addq $0xc, %r12
movq %r12, %rcx
movl %esi, %edx
subl %r9d, %edx
addl $-0x4, %edx
cmpq %r10, %rsi
jae 0xb978
movq (%rcx), %rdi
movq (%rsi), %r8
cmpq %r8, %rdi
jne 0xbb45
addq $0x8, %rsi
addq $0x8, %rcx
addl $0x8, %edx
jmp 0xba9d
movq %r11, %r13
movq %rdi, %r14
movq -0x88(%rbp), %rax
subq %r12, %rax
addq %r9, %rax
movq -0x60(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r9), %rcx
leaq 0x4(%r12), %rdx
leaq -0x7(%rax), %rdi
cmpq %rcx, %rdi
jbe 0xba5c
movq (%rdx), %rdx
movq (%rcx), %rsi
cmpq %rsi, %rdx
jne 0xbb62
leaq 0xc(%r9), %rsi
leaq 0xc(%r12), %rdx
movl %esi, %r8d
subl %r9d, %r8d
addl $-0x4, %r8d
cmpq %rdi, %rsi
jae 0xb9c4
movq (%rdx), %r11
movq (%rsi), %rbx
cmpq %rbx, %r11
jne 0xbb6e
addq $0x8, %rsi
addq $0x8, %rdx
addl $0x8, %r8d
jmp 0xbb14
movq %r11, %r13
xorq %rcx, %rdx
bsfq %rdx, %rsi
shrl $0x3, %esi
jmp 0xbb54
movq %r11, %r13
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addl %edx, %esi
movl %esi, %eax
addq %rax, %r9
addq $0x4, %r9
jmp 0xbc0c
xorq %rdx, %rsi
bsfq %rsi, %rsi
shrl $0x3, %esi
jmp 0xbb7b
xorq %r11, %rbx
bsfq %rbx, %rsi
shrl $0x3, %esi
addl %r8d, %esi
movl %esi, %ecx
addq %r9, %rcx
addq $0x4, %rcx
cmpq %rax, %rcx
je 0xbb8e
movq %rcx, %r9
jmp 0xbc0c
movq %r14, %rdx
movq %rax, %rcx
cmpq %rax, %r10
jbe 0xbbaf
movq (%r14), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xbbea
leaq 0x8(%rax), %rcx
movq -0xb0(%rbp), %rdx
addq -0x88(%rbp), %r9
subq %r12, %r9
movq -0x60(%rbp), %rdi
cmpq %rdi, %r9
cmovaeq %rdi, %r9
movl %ecx, %edi
subl %r9d, %edi
cmpq %r10, %rcx
jae 0xba0d
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0xbbf6
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %edi
jmp 0xbbc9
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0xbc02
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %edi, %ecx
addl %ecx, %esi
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, %r9
leal 0xf0(%rsi), %eax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0xff, %edi
divl %edi
addq %r15, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd16e
leaq 0x2(%r15), %rax
movb (%r13), %cl
cmpl $0xf, %esi
jb 0xbc76
addb $0xf, %cl
movb %cl, (%r13)
leal -0xf(%rsi), %ecx
orl $-0x1, (%rax)
xorl %edi, %edi
movq -0x38(%rbp), %r8
movabsq $-0x30e4432345000000, %r11 # imm = 0xCF1BBCDCBB000000
movq -0x58(%rbp), %r13
cmpl $0x3fc, %ecx            # imm = 0x3FC
jb 0xbc91
orl $-0x1, 0x6(%r15,%rdi)
addl $0xfffffc04, %ecx       # imm = 0xFFFFFC04
addq $0x4, %rdi
jmp 0xbc5c
addb %sil, %cl
movb %cl, (%r13)
movq -0x38(%rbp), %r8
movabsq $-0x30e4432345000000, %r11 # imm = 0xCF1BBCDCBB000000
movq -0x58(%rbp), %r13
jmp 0xbcc5
movzwl %cx, %ecx
movq %rcx, %rax
xorl %edx, %edx
movl $0xff, %ebx
divq %rbx
addq %rax, %r15
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
leal (%rdi,%rax), %ecx
leaq (%rdi,%r15), %rax
addq $0x3, %rax
movb %cl, -0x1(%rax)
cmpq -0x78(%rbp), %r9
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rsi
jae 0xd0ea
leaq -0x2(%r9), %rcx
movq -0x2(%r9), %rdx
imulq %r11, %rdx
shrq $0x34, %rdx
movq -0x68(%rbp), %r12
subl %r12d, %ecx
movl %ecx, (%r8,%rdx,4)
movq (%r9), %rdx
imulq %r11, %rdx
shrq $0x34, %rdx
movl %r9d, %ebx
subl %r12d, %ebx
movl (%r8,%rdx,4), %ecx
cmpl %esi, %ecx
movq %r8, %rsi
cmovbq -0x98(%rbp), %r12
movq %rdi, %r8
cmovbq %r13, %r8
addq %rcx, %r12
movl %ebx, (%rsi,%rdx,4)
leal 0xffff(%rcx), %edx
cmpl -0x90(%rbp), %ecx
jb 0xbd40
cmpl %ebx, %edx
jb 0xbd40
movl (%r12), %edx
cmpl (%r9), %edx
je 0xb967
movq %rax, -0x70(%rbp)
movq %r9, %rsi
movq -0x38(%rbp), %r14
movl -0x2c(%rbp), %r15d
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
pushq $0x1
popq %rdx
jmp 0xb7f1
xorl %ecx, %ecx
cmpl $0x7e000000, %r8d       # imm = 0x7E000000
ja 0xd16e
testl %r8d, %r8d
movq -0x48(%rbp), %r13
je 0xcaf5
movq %r8, %rdi
movq -0x38(%rbp), %rsi
movl 0x4000(%rsi), %r11d
movq -0x58(%rbp), %rax
movq 0x4008(%rax), %rbx
movl 0x4018(%rax), %r14d
movl 0x4000(%rax), %eax
addq %rbx, %r14
movq %r14, %rcx
subq %rax, %rcx
testq %rbx, %rbx
cmoveq %rbx, %rcx
movq %rcx, -0x98(%rbp)
leaq (%r12,%r13), %r10
andq $0x0, 0x4010(%rsi)
movq -0x80(%rbp), %rdx
movq -0x40(%rbp), %r9
addq %rdx, %r9
movl %edi, 0x4018(%rsi)
leal (%r11,%r8), %ecx
movl %ecx, 0x4000(%rsi)
movl $0x2, 0x4004(%rsi)
movq %r13, %r8
cmpl $0xd, %edi
jb 0xcba1
movq %rdx, %rcx
movq %r9, -0x40(%rbp)
movq %r13, %rdx
subq %r11, %rdx
movq %rdx, -0x90(%rbp)
movl %r11d, %edx
subl %eax, %edx
movq %rdx, -0x88(%rbp)
leaq (%r12,%r13), %rax
addq $-0xb, %rax
movq %rax, -0x68(%rbp)
leaq (%r12,%r13), %rax
addq $-0x5, %rax
movq %rax, -0x70(%rbp)
testq %rbx, %rbx
movq %rbx, -0x50(%rbp)
cmoveq %rbx, %r14
movq %r14, -0xb8(%rbp)
movq (%r13), %rax
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
imulq %rdx, %rax
shrq $0x34, %rax
movq -0x38(%rbp), %r15
movq %r11, -0x78(%rbp)
movl %r11d, (%r15,%rax,4)
movl -0x2c(%rbp), %r12d
shll $0x6, %r12d
leaq -0xc(%r10), %r11
leaq -0x8(%r10), %rax
movq %rax, -0xc8(%rbp)
movq %r10, -0xa0(%rbp)
leaq -0x6(%r10), %rax
movq %rax, -0xd0(%rbp)
leaq 0x8(%r13), %rax
movq %rax, -0xa8(%rbp)
movq %rcx, -0x60(%rbp)
movq %r13, %r8
movl %r12d, -0x2c(%rbp)
movq %r11, -0xb0(%rbp)
leaq 0x1(%r8), %rdi
movq 0x1(%r8), %r10
pushq $0x1
popq %rcx
movl %r12d, %eax
movl %ecx, %edx
addq %rdi, %rdx
cmpq -0x68(%rbp), %rdx
ja 0xd1e2
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %r10
movq %r10, %r14
shrq $0x34, %r14
movl (%r15,%r14,4), %ebx
cmpl -0x78(%rbp), %ebx
jae 0xbf0a
movq -0x58(%rbp), %rcx
movl (%rcx,%r14,4), %ecx
movq -0x88(%rbp), %rsi
leal (%rcx,%rsi), %ebx
addq -0x98(%rbp), %rcx
movq -0x50(%rbp), %r9
movq -0x90(%rbp), %r10
jmp 0xbf18
movq -0x90(%rbp), %r10
leaq (%r10,%rbx), %rcx
movq %r13, %r9
movl %edi, %esi
subl %r10d, %esi
movq (%rdx), %r10
movl %esi, (%r15,%r14,4)
leal 0xffff(%rbx), %r14d
cmpl %esi, %r14d
jb 0xbf38
movl (%rcx), %r14d
cmpl (%rdi), %r14d
je 0xbf47
movl %eax, %ecx
shrl $0x6, %ecx
incl %eax
movq %rdx, %rdi
jmp 0xbeb7
subl %ebx, %esi
movl %edi, %eax
shlb $0x4, %al
movl %r8d, %edx
shlb $0x4, %dl
subb %dl, %al
xorl %edx, %edx
movq %rdx, %r14
movl %eax, %r13d
leaq (%rcx,%rdx), %r12
leaq (%rdi,%rdx), %rbx
cmpq %r9, %r12
jbe 0xbf84
cmpq %r8, %rbx
jbe 0xbf84
movb -0x1(%rdi,%r14), %r10b
leaq -0x1(%r14), %rdx
leal -0x10(%r13), %eax
cmpb -0x1(%rcx,%r14), %r10b
je 0xbf58
movl %edi, %r10d
subl %r8d, %r10d
leal (%r10,%r14), %r15d
addq %r14, %r10
movq -0x60(%rbp), %rax
addq %r15, %rax
incq %rax
movq %rax, -0xc0(%rbp)
xorl %ecx, %ecx
movl %r10d, %eax
xorl %edx, %edx
movl $0xff, %r11d
divl %r11d
movq -0xc0(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
movq -0xb0(%rbp), %r11
ja 0xd16e
cmpl $0xf, %r10d
jb 0xc00b
subl %r8d, %edi
leal (%rdi,%r14), %ecx
addl $-0xf, %ecx
movq -0x60(%rbp), %rax
movb $-0x10, (%rax)
addq $0x2, %rax
movq -0x48(%rbp), %r13
movq -0x50(%rbp), %rdx
cmpl $0xff, %ecx
jl 0xc020
movb $-0x1, -0x1(%rax)
addl $0xffffff01, %ecx       # imm = 0xFFFFFF01
incq %rax
jmp 0xbff4
movq -0x60(%rbp), %rcx
leaq 0x1(%rcx), %rax
movb %r13b, (%rcx)
movq -0x48(%rbp), %r13
movq -0x50(%rbp), %rdx
jmp 0xc023
movb %cl, -0x1(%rax)
addq %rax, %r15
movq (%r8), %rcx
movq %rcx, (%rax)
addq $0x8, %rax
addq $0x8, %r8
cmpq %r15, %rax
jb 0xc026
jmp 0xc13d
leaq 0x1(%rax), %r15
movb $0x0, (%rax)
subl %edx, %esi
movq %rax, -0x60(%rbp)
movq -0x50(%rbp), %rdx
jmp 0xc13d
cmpq -0xc8(%rbp), %rdi
jae 0xc06b
movl (%rcx), %edx
cmpl (%rdi), %edx
jne 0xc06b
addq $0x4, %rdi
addq $0x4, %rcx
cmpq -0xd0(%rbp), %rdi
jae 0xc084
movzwl (%rcx), %edx
cmpw (%rdi), %dx
jne 0xc084
addq $0x2, %rdi
addq $0x2, %rcx
cmpq -0x70(%rbp), %rdi
jae 0xc096
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%rdi), %cl
sete %dl
addq %rdx, %rdi
subl %eax, %edi
jmp 0xc220
leaq -0x3(%rax), %rsi
cmpq %rsi, %rdi
jae 0xc0b4
movl (%rdx), %esi
cmpl (%rdi), %esi
jne 0xc0b4
addq $0x4, %rdi
addq $0x4, %rdx
leaq -0x1(%rax), %rsi
cmpq %rsi, %rdi
jae 0xc0cd
movzwl (%rdx), %esi
cmpw (%rdi), %si
jne 0xc0cd
addq $0x2, %rdi
addq $0x2, %rdx
cmpq %rax, %rdi
jae 0xc0df
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%rdi), %dl
sete %sil
addq %rsi, %rdi
subl %ecx, %edi
jmp 0xc247
cmpq -0xc8(%rbp), %rcx
jae 0xc0fd
movl (%rdx), %esi
cmpl (%rcx), %esi
jne 0xc0fd
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0xd0(%rbp), %rcx
jae 0xc116
movzwl (%rdx), %esi
cmpw (%rcx), %si
jne 0xc116
addq $0x2, %rcx
addq $0x2, %rdx
cmpq -0x70(%rbp), %rcx
jae 0xc129
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%rcx), %dl
sete %sil
addq %rsi, %rcx
subl %eax, %ecx
jmp 0xc2ce
movq %rax, %rdi
jmp 0xc16e
movq %rcx, %rdi
jmp 0xc1dc
movw %si, (%r15)
cmpq %rdx, %r9
je 0xc19a
leaq 0x4(%rbx), %rax
leaq 0x4(%r12), %rcx
cmpq %rax, %r11
jbe 0xc130
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xc208
leaq 0xc(%rbx), %rdi
addq $0xc, %r12
movq %r12, %rcx
movl %edi, %edx
subl %ebx, %edx
addl $-0x4, %edx
cmpq %r11, %rdi
jae 0xc054
movq (%rcx), %rsi
movq (%rdi), %r8
cmpq %r8, %rsi
jne 0xc214
addq $0x8, %rdi
addq $0x8, %rcx
addl $0x8, %edx
jmp 0xc175
movq -0xb8(%rbp), %rax
subq %r12, %rax
addq %rbx, %rax
movq -0x70(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%rbx), %rcx
leaq 0x4(%r12), %rdx
leaq -0x7(%rax), %rsi
cmpq %rcx, %rsi
jbe 0xc135
movq (%rdx), %rdx
movq (%rcx), %rdi
cmpq %rdi, %rdx
jne 0xc22e
leaq 0xc(%rbx), %rdi
leaq 0xc(%r12), %rdx
movl %edi, %r8d
subl %ebx, %r8d
addl $-0x4, %r8d
cmpq %rsi, %rdi
jae 0xc09d
movq (%rdx), %r9
movq (%rdi), %r10
cmpq %r10, %r9
jne 0xc23a
addq $0x8, %rdi
addq $0x8, %rdx
addl $0x8, %r8d
jmp 0xc1e6
xorq %rcx, %rdx
bsfq %rdx, %rdi
shrl $0x3, %edi
jmp 0xc220
xorq %rsi, %r8
bsfq %r8, %rdi
shrl $0x3, %edi
addl %edx, %edi
movl %edi, %eax
addq %rax, %rbx
addq $0x4, %rbx
jmp 0xc2d8
xorq %rdx, %rdi
bsfq %rdi, %rdi
shrl $0x3, %edi
jmp 0xc247
xorq %r9, %r10
bsfq %r10, %rdi
shrl $0x3, %edi
addl %r8d, %edi
movl %edi, %ecx
addq %rbx, %rcx
addq $0x4, %rcx
cmpq %rax, %rcx
je 0xc25a
movq %rcx, %rbx
jmp 0xc2d8
movq %r13, %rdx
movq %rax, %rcx
cmpq %rax, %r11
jbe 0xc27c
movq (%r13), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xc2b6
leaq 0x8(%rax), %rcx
movq -0xa8(%rbp), %rdx
addq -0xb8(%rbp), %rbx
subq %r12, %rbx
movq -0x70(%rbp), %rsi
cmpq %rsi, %rbx
cmovaeq %rsi, %rbx
movl %ecx, %esi
subl %ebx, %esi
cmpq %r11, %rcx
jae 0xc0e6
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0xc2c2
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %esi
jmp 0xc295
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0xc2ce
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %esi, %ecx
addl %ecx, %edi
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, %rbx
leal 0xf0(%rdi), %eax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
addq %r15, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd16e
leaq 0x2(%r15), %rax
movq -0x60(%rbp), %rdx
movb (%rdx), %cl
cmpl $0xf, %edi
jb 0xc33e
addb $0xf, %cl
movb %cl, (%rdx)
leal -0xf(%rdi), %ecx
orl $-0x1, (%rax)
xorl %esi, %esi
movq -0x38(%rbp), %r8
movabsq $-0x30e4432345000000, %r9 # imm = 0xCF1BBCDCBB000000
cmpl $0x3fc, %ecx            # imm = 0x3FC
jb 0xc353
orl $-0x1, 0x6(%r15,%rsi)
addl $0xfffffc04, %ecx       # imm = 0xFFFFFC04
addq $0x4, %rsi
jmp 0xc324
addb %dil, %cl
movb %cl, (%rdx)
movq -0x38(%rbp), %r8
movabsq $-0x30e4432345000000, %r9 # imm = 0xCF1BBCDCBB000000
jmp 0xc388
movzwl %cx, %ecx
movq %rcx, %rax
xorl %edx, %edx
movl $0xff, %r10d
divq %r10
addq %rax, %r15
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %dil, %al
addb $-0xf, %al
movzbl %al, %eax
leal (%rsi,%rax), %ecx
leaq (%rsi,%r15), %rax
addq $0x3, %rax
movb %cl, -0x1(%rax)
cmpq -0x68(%rbp), %rbx
movq -0x48(%rbp), %r13
movq -0x90(%rbp), %rdi
jae 0xcb90
leaq -0x2(%rbx), %rcx
movq -0x2(%rbx), %rdx
imulq %r9, %rdx
shrq $0x34, %rdx
subl %edi, %ecx
movl %ecx, (%r8,%rdx,4)
movq (%rbx), %rcx
imulq %r9, %rcx
shrq $0x34, %rcx
movl (%r8,%rcx,4), %edx
cmpl -0x78(%rbp), %edx
jae 0xc3e6
movq -0x58(%rbp), %rdx
movl (%rdx,%rcx,4), %r12d
movq -0x88(%rbp), %rdx
addl %r12d, %edx
addq -0x98(%rbp), %r12
movq -0x50(%rbp), %r9
jmp 0xc3ed
leaq (%rdi,%rdx), %r12
movq %r13, %r9
movl %ebx, %esi
subl %edi, %esi
movq -0x38(%rbp), %rdi
movl %esi, (%rdi,%rcx,4)
leal 0xffff(%rdx), %ecx
cmpl %esi, %ecx
jb 0xc40e
movl (%r12), %ecx
cmpl (%rbx), %ecx
je 0xc03e
movq %rax, -0x60(%rbp)
movq %rbx, %r8
movq -0x38(%rbp), %r15
movl -0x2c(%rbp), %r12d
jmp 0xbea9
xorl %ecx, %ecx
cmpl $0x7e000000, %r8d       # imm = 0x7E000000
ja 0xd16e
testl %r8d, %r8d
je 0xcaf5
movq -0x38(%rbp), %rdx
movl 0x4000(%rdx), %ebx
addq %r13, %r10
leaq (%rdi,%r12), %r14
movq %r10, %rcx
subq %rbx, %rcx
testq %r13, %r13
cmoveq %r13, %rcx
movq %rcx, -0x98(%rbp)
movq -0x80(%rbp), %rcx
movq -0x40(%rbp), %r9
addq %rcx, %r9
addl %r8d, %eax
movl %eax, 0x4018(%rdx)
leal (%rbx,%r8), %eax
movl %eax, 0x4000(%rdx)
movl $0x2, 0x4004(%rdx)
movq %rcx, %rax
movq %rdi, %rsi
cmpl $0xd, %r8d
jb 0xcc0e
movq %r9, -0x40(%rbp)
movq %rdi, %rax
subq %rbx, %rax
movq %rax, -0x68(%rbp)
leaq (%rdi,%r12), %rax
addq $-0xb, %rax
movq %rax, -0x90(%rbp)
testq %r13, %r13
cmoveq %r13, %r10
movq %r10, -0x88(%rbp)
leaq -0x5(%rdi,%r12), %rax
movq %rax, -0x60(%rbp)
movq (%rdi), %rax
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
imulq %r12, %rax
shrq $0x34, %rax
movq -0x38(%rbp), %r11
movl %ebx, (%r11,%rax,4)
movl -0x2c(%rbp), %edx
shll $0x6, %edx
leaq -0xc(%r14), %r15
leaq -0x8(%r14), %rax
movq %rax, -0xa8(%rbp)
movq %r14, -0xb0(%rbp)
leaq -0x6(%r14), %rax
movq %rax, -0xa0(%rbp)
leaq 0x8(%rdi), %rax
movq %rax, -0xc0(%rbp)
pushq $0x1
popq %rax
movq %rcx, -0x50(%rbp)
movq %rdi, %rsi
movl %edx, %edi
movq %rbx, %r9
movl %edx, -0x2c(%rbp)
movq %rbx, -0x78(%rbp)
movq %r15, -0xb8(%rbp)
leaq 0x1(%rsi), %r14
movq 0x1(%rsi), %rdx
movl %eax, %ecx
movl %edi, %eax
movq -0x98(%rbp), %rbx
movl %ecx, %edi
addq %r14, %rdi
cmpq -0x90(%rbp), %rdi
ja 0xd1f6
imulq %r12, %rdx
movq %rdx, %rcx
shrq $0x34, %rcx
movl %r14d, %r10d
subl -0x68(%rbp), %r10d
movl (%r11,%rcx,4), %r8d
movq (%rdi), %rdx
movl %r10d, (%r11,%rcx,4)
leal 0xffff(%r8), %ecx
cmpl %r10d, %ecx
jb 0xc59e
movq %rbx, %rcx
cmpl %r9d, %r8d
jb 0xc591
movq -0x68(%rbp), %rcx
movl (%rcx,%r8), %r9d
cmpl (%r14), %r9d
movq -0x78(%rbp), %r9
je 0xc5aa
movl %eax, %ecx
shrl $0x6, %ecx
incl %eax
movq %rdi, %r14
jmp 0xc54a
addq %r8, %rcx
cmpl %r9d, %r8d
movq -0x48(%rbp), %rbx
cmovbq %r13, %rbx
subl %r8d, %r10d
movl %r14d, %eax
shlb $0x4, %al
movl %esi, %edx
shlb $0x4, %dl
subb %dl, %al
xorl %edx, %edx
movq %rdx, %r13
movl %eax, %r8d
leaq (%rcx,%rdx), %r11
leaq (%r14,%rdx), %r12
cmpq %rbx, %r11
jbe 0xc5f6
cmpq %rsi, %r12
jbe 0xc5f6
movb -0x1(%r14,%r13), %dil
leaq -0x1(%r13), %rdx
leal -0x10(%r8), %eax
cmpb -0x1(%rcx,%r13), %dil
je 0xc5ca
movl %r14d, %edi
subl %esi, %edi
leal (%rdi,%r13), %r9d
addq %r13, %rdi
movq -0x50(%rbp), %rax
addq %r9, %rax
incq %rax
movq %rax, -0x70(%rbp)
xorl %ecx, %ecx
movl %edi, %eax
xorl %edx, %edx
movl $0xff, %r15d
divl %r15d
movq -0x70(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
movq -0xb8(%rbp), %r15
ja 0xd16e
cmpl $0xf, %edi
jb 0xc674
subl %esi, %r14d
leal (%r14,%r13), %ecx
addl $-0xf, %ecx
movq -0x50(%rbp), %rax
movb $-0x10, (%rax)
addq $0x2, %rax
movq -0x48(%rbp), %r14
movq -0x58(%rbp), %r13
cmpl $0xff, %ecx
jl 0xc689
movb $-0x1, -0x1(%rax)
addl $0xffffff01, %ecx       # imm = 0xFFFFFF01
incq %rax
jmp 0xc65d
movq -0x50(%rbp), %rcx
leaq 0x1(%rcx), %rax
movb %r8b, (%rcx)
movq -0x48(%rbp), %r14
movq -0x58(%rbp), %r13
jmp 0xc68c
movb %cl, -0x1(%rax)
addq %rax, %r9
movq (%rsi), %rcx
movq %rcx, (%rax)
addq $0x8, %rax
addq $0x8, %rsi
cmpq %r9, %rax
jb 0xc68f
jmp 0xc7a3
leaq 0x1(%rax), %r9
movb $0x0, (%rax)
subl %ecx, %r10d
movq %rax, -0x50(%rbp)
jmp 0xc7a3
cmpq -0xa8(%rbp), %rsi
jae 0xc6d1
movl (%rcx), %edx
cmpl (%rsi), %edx
jne 0xc6d1
addq $0x4, %rsi
addq $0x4, %rcx
cmpq -0xa0(%rbp), %rsi
jae 0xc6ea
movzwl (%rcx), %edx
cmpw (%rsi), %dx
jne 0xc6ea
addq $0x2, %rsi
addq $0x2, %rcx
cmpq -0x60(%rbp), %rsi
jae 0xc6fc
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%rsi), %cl
sete %dl
addq %rdx, %rsi
subl %eax, %esi
jmp 0xc888
leaq -0x3(%rax), %rdi
cmpq %rdi, %rsi
jae 0xc71a
movl (%rdx), %edi
cmpl (%rsi), %edi
jne 0xc71a
addq $0x4, %rsi
addq $0x4, %rdx
leaq -0x1(%rax), %rdi
cmpq %rdi, %rsi
jae 0xc733
movzwl (%rdx), %edi
cmpw (%rsi), %di
jne 0xc733
addq $0x2, %rsi
addq $0x2, %rdx
cmpq %rax, %rsi
jae 0xc745
movb (%rdx), %dl
xorl %edi, %edi
cmpb (%rsi), %dl
sete %dil
addq %rdi, %rsi
subl %ecx, %esi
jmp 0xc8af
cmpq -0xa8(%rbp), %rcx
jae 0xc763
movl (%rdx), %edi
cmpl (%rcx), %edi
jne 0xc763
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0xa0(%rbp), %rcx
jae 0xc77c
movzwl (%rdx), %edi
cmpw (%rcx), %di
jne 0xc77c
addq $0x2, %rcx
addq $0x2, %rdx
cmpq -0x60(%rbp), %rcx
jae 0xc78f
movb (%rdx), %dl
xorl %edi, %edi
cmpb (%rcx), %dl
sete %dil
addq %rdi, %rcx
subl %eax, %ecx
jmp 0xc936
movq %rax, %rsi
jmp 0xc7d5
movq %rcx, %rsi
jmp 0xc844
movw %r10w, (%r9)
cmpq %r13, %rbx
je 0xc802
leaq 0x4(%r12), %rax
leaq 0x4(%r11), %rcx
cmpq %rax, %r15
jbe 0xc796
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xc870
leaq 0xc(%r12), %rsi
addq $0xc, %r11
movq %r11, %rcx
movl %esi, %edx
subl %r12d, %edx
addl $-0x4, %edx
cmpq %r15, %rsi
jae 0xc6ba
movq (%rcx), %rdi
movq (%rsi), %r8
cmpq %r8, %rdi
jne 0xc87c
addq $0x8, %rsi
addq $0x8, %rcx
addl $0x8, %edx
jmp 0xc7dd
movq -0x88(%rbp), %rax
subq %r11, %rax
addq %r12, %rax
movq -0x60(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r12), %rcx
leaq 0x4(%r11), %rdx
leaq -0x7(%rax), %rdi
cmpq %rcx, %rdi
jbe 0xc79b
movq (%rdx), %rdx
movq (%rcx), %rsi
cmpq %rsi, %rdx
jne 0xc896
leaq 0xc(%r12), %rsi
leaq 0xc(%r11), %rdx
movl %esi, %r8d
subl %r12d, %r8d
addl $-0x4, %r8d
cmpq %rdi, %rsi
jae 0xc703
movq (%rdx), %r10
movq (%rsi), %rbx
cmpq %rbx, %r10
jne 0xc8a2
addq $0x8, %rsi
addq $0x8, %rdx
addl $0x8, %r8d
jmp 0xc84e
xorq %rcx, %rdx
bsfq %rdx, %rsi
shrl $0x3, %esi
jmp 0xc888
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addl %edx, %esi
movl %esi, %eax
addq %rax, %r12
addq $0x4, %r12
jmp 0xc940
xorq %rdx, %rsi
bsfq %rsi, %rsi
shrl $0x3, %esi
jmp 0xc8af
xorq %r10, %rbx
bsfq %rbx, %rsi
shrl $0x3, %esi
addl %r8d, %esi
movl %esi, %ecx
addq %r12, %rcx
addq $0x4, %rcx
cmpq %rax, %rcx
je 0xc8c2
movq %rcx, %r12
jmp 0xc940
movq %r14, %rdx
movq %rax, %rcx
cmpq %rax, %r15
jbe 0xc8e3
movq (%r14), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xc91e
leaq 0x8(%rax), %rcx
movq -0xc0(%rbp), %rdx
addq -0x88(%rbp), %r12
subq %r11, %r12
movq -0x60(%rbp), %rdi
cmpq %rdi, %r12
cmovaeq %rdi, %r12
movl %ecx, %edi
subl %r12d, %edi
cmpq %r15, %rcx
jae 0xc74c
movq (%rdx), %r8
movq (%rcx), %r10
cmpq %r10, %r8
jne 0xc92a
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %edi
jmp 0xc8fd
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0xc936
xorq %r8, %r10
bsfq %r10, %rcx
shrl $0x3, %ecx
addl %edi, %ecx
addl %ecx, %esi
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, %r12
leal 0xf0(%rsi), %eax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0xff, %edi
divl %edi
addq %r9, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd16e
leaq 0x2(%r9), %rax
movq -0x50(%rbp), %rdx
movb (%rdx), %cl
cmpl $0xf, %esi
jb 0xc9a3
addb $0xf, %cl
movb %cl, (%rdx)
leal -0xf(%rsi), %ecx
orl $-0x1, (%rax)
xorl %edi, %edi
movq -0x58(%rbp), %r13
movq -0x98(%rbp), %r8
cmpl $0x3fc, %ecx            # imm = 0x3FC
jb 0xc9b5
orl $-0x1, 0x6(%r9,%rdi)
addl $0xfffffc04, %ecx       # imm = 0xFFFFFC04
addq $0x4, %rdi
jmp 0xc989
addb %sil, %cl
movb %cl, (%rdx)
movq -0x58(%rbp), %r13
movq -0x98(%rbp), %r8
jmp 0xc9ea
movzwl %cx, %ecx
movq %rcx, %rax
xorl %edx, %edx
movl $0xff, %r10d
divq %r10
addq %rax, %r9
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
leal (%rdi,%rax), %ecx
leaq (%rdi,%r9), %rax
addq $0x3, %rax
movb %cl, -0x1(%rax)
cmpq -0x90(%rbp), %r12
movq -0x78(%rbp), %r9
jae 0xcc00
leaq -0x2(%r12), %rcx
movq -0x2(%r12), %rdx
movabsq $-0x30e4432345000000, %rdi # imm = 0xCF1BBCDCBB000000
imulq %rdi, %rdx
shrq $0x34, %rdx
movq -0x68(%rbp), %r11
subl %r11d, %ecx
movq -0x38(%rbp), %rsi
movl %ecx, (%rsi,%rdx,4)
movq (%r12), %rdx
imulq %rdi, %rdx
movq -0x48(%rbp), %r14
shrq $0x34, %rdx
movl %r12d, %r10d
subl %r11d, %r10d
movl (%rsi,%rdx,4), %ecx
cmpl %r9d, %ecx
cmovbq %r8, %r11
movq %r14, %rbx
cmovbq %r13, %rbx
addq %rcx, %r11
movl %r10d, (%rsi,%rdx,4)
leal 0xffff(%rcx), %edx
cmpl %r10d, %edx
jb 0xca6b
movl (%r11), %edx
cmpl (%r12), %edx
je 0xc6a7
movq %rax, -0x50(%rbp)
movq %r12, %rsi
movq -0x38(%rbp), %r11
movl -0x2c(%rbp), %edi
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
pushq $0x1
popq %rax
jmp 0xc537
movq %rax, %rcx
movq %r12, %rsi
movq -0xb0(%rbp), %rax
subq %rsi, %rax
movq %rcx, %r14
leaq (%rcx,%rax), %rdi
movq %rax, %rbx
addq $0xf0, %rax
xorl %ecx, %ecx
movl $0xff, %r8d
xorl %edx, %edx
divq %r8
addq %rdi, %rax
incq %rax
cmpq -0x40(%rbp), %rax
ja 0xd16e
cmpq $0xf, %rbx
jb 0xd149
leaq -0xf(%rbx), %rax
movb $-0x10, (%r14)
incq %r14
cmpq $0xff, %rax
jb 0xd153
movb $-0x1, (%r14)
addq $-0xff, %rax
jmp 0xcada
testl %ebx, %ebx
jle 0xd16e
movq -0x80(%rbp), %rax
movb $0x0, (%rax)
pushq $0x1
popq %rcx
jmp 0xd16e
testl %ebx, %ebx
jle 0xd18a
movq -0x80(%rbp), %rax
movb $0x0, (%rax)
pushq $0x1
popq %rcx
jmp 0xd18a
movq %rax, %r13
movq %r12, %rdx
movq -0x50(%rbp), %r9
movq %rdx, %rsi
subq %rdx, %r9
leaq (%r9,%r13), %r8
leaq 0xf0(%r9), %rax
xorl %ecx, %ecx
movl $0xff, %edi
xorl %edx, %edx
divq %rdi
addq %r8, %rax
incq %rax
cmpq -0x40(%rbp), %rax
ja 0xd18a
movq %r13, %r14
movq %r9, %r10
movq %r9, %rdx
cmpq $0xf, %r10
jb 0xcc6d
leaq -0xf(%rdx), %rax
movb $-0x10, (%r14)
incq %r14
cmpq $0xff, %rax
jb 0xcc77
movb $-0x1, (%r14)
addq $-0xff, %rax
jmp 0xcb75
movq %rax, %rdx
movq %rbx, %r8
movq -0x40(%rbp), %r9
movq -0xa0(%rbp), %r10
subq %r8, %r10
movq %rdx, %r14
leaq (%rdx,%r10), %rsi
leaq 0xf0(%r10), %rax
xorl %ecx, %ecx
movl $0xff, %edi
xorl %edx, %edx
divq %rdi
addq %rsi, %rax
incq %rax
cmpq %r9, %rax
ja 0xd16e
movq %r10, %r11
movq %r10, %rdx
cmpq $0xf, %r11
jb 0xcc88
leaq -0xf(%rdx), %rax
movb $-0x10, (%r14)
incq %r14
cmpq $0xff, %rax
jb 0xcc92
movb $-0x1, (%r14)
addq $-0xff, %rax
jmp 0xcbe5
movq %r12, %rsi
movq -0x40(%rbp), %r9
movq -0xb0(%rbp), %r14
subq %rsi, %r14
movq %rax, %r10
leaq (%rax,%r14), %rdi
leaq 0xf0(%r14), %rax
xorl %ecx, %ecx
movl $0xff, %r8d
xorl %edx, %edx
divq %r8
addq %rdi, %rax
incq %rax
cmpq %r9, %rax
ja 0xd16e
movq %r14, %rbx
cmpq $0xf, %r14
jb 0xd060
leaq -0xf(%rbx), %rax
movq %r10, %rdi
movb $-0x10, (%r10)
incq %rdi
cmpq $0xff, %rax
jb 0xd06d
movb $-0x1, (%rdi)
addq $-0xff, %rax
jmp 0xcc53
movl %edx, %eax
shlb $0x4, %al
movb %al, (%r14)
jmp 0xcc7a
movb %al, (%r14)
incq %r14
movq %r14, %rdi
movq %rdx, %rbx
jmp 0xd1c0
movl %edx, %eax
shlb $0x4, %al
movb %al, (%r14)
jmp 0xcc95
movb %al, (%r14)
incq %r14
movq %r14, %rdi
movq %r8, %rsi
movq %rdx, %rbx
jmp 0xd15f
movq %r11, %r8
subq %rdx, %r8
leaq (%r11,%r12), %r13
addq $-0xb, %r13
leaq (%r11,%r12), %rax
addq $-0x5, %rax
movq %rax, -0x98(%rbp)
movq %r11, %rax
subq %r10, %rax
movq %rax, -0x50(%rbp)
movq (%r11), %rax
movabsq $-0x30e4432345000000, %rsi # imm = 0xCF1BBCDCBB000000
imulq %rsi, %rax
shrq $0x34, %rax
movl %edx, (%rbx,%rax,4)
movl -0x2c(%rbp), %r12d
shll $0x6, %r12d
leaq -0xc(%r9), %r15
leaq -0x8(%r9), %rax
movq %rax, -0x88(%rbp)
movq %r9, -0x58(%rbp)
leaq -0x6(%r9), %rax
movq %rax, -0x60(%rbp)
pushq $0x1
popq %rax
movq %rcx, -0x78(%rbp)
movl %r12d, -0x2c(%rbp)
movq %r13, -0x68(%rbp)
movl %edi, -0x90(%rbp)
leaq 0x1(%r11), %r14
movq %r11, %r9
movq 0x1(%r11), %rdx
movl %r12d, %ecx
movl %eax, %esi
addq %r14, %rsi
cmpq %r13, %rsi
ja 0xd20a
movabsq $-0x30e4432345000000, %rax # imm = 0xCF1BBCDCBB000000
imulq %rax, %rdx
movq %rdx, %r11
shrq $0x34, %r11
movl (%rbx,%r11,4), %eax
movl %r14d, %r10d
subl %r8d, %r10d
movq (%rsi), %rdx
movl %r10d, (%rbx,%r11,4)
cmpl %edi, %eax
jb 0xcd78
leal 0xffff(%rax), %r11d
cmpl %r10d, %r11d
jb 0xcd78
movl (%r8,%rax), %r10d
cmpl (%r14), %r10d
je 0xcd84
movl %ecx, %eax
shrl $0x6, %eax
incl %ecx
movq %rsi, %r14
jmp 0xcd2b
addq %r8, %rax
movl %r14d, %ecx
shlb $0x4, %cl
movq %r9, %rdx
shlb $0x4, %dl
subb %dl, %cl
xorl %edx, %edx
movq -0x50(%rbp), %rbx
movq %rdx, %r11
movl %ecx, %r13d
leaq (%rax,%rdx), %r10
leaq (%r14,%rdx), %r12
cmpq %rbx, %r10
jbe 0xcdc7
cmpq %r9, %r12
jbe 0xcdc7
movb -0x1(%r14,%r11), %sil
leaq -0x1(%r11), %rdx
leal -0x10(%r13), %ecx
cmpb -0x1(%rax,%r11), %sil
je 0xcd9b
movl %r14d, %esi
subl %r9d, %esi
leal (%rsi,%r11), %ebx
addq %r11, %rsi
movq -0x78(%rbp), %rax
addq %rbx, %rax
incq %rax
movq %rax, -0x48(%rbp)
xorl %ecx, %ecx
movl %esi, %eax
xorl %edx, %edx
movl $0xff, %edi
divl %edi
movq -0x48(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd18a
cmpl $0xf, %esi
jb 0xce35
subl %r9d, %r14d
leal (%r14,%r11), %ecx
addl $-0xf, %ecx
movq -0x78(%rbp), %rdi
movb $-0x10, (%rdi)
leaq 0x2(%rdi), %rax
cmpl $0xff, %ecx
jl 0xce42
movb $-0x1, -0x1(%rax)
addl $0xffffff01, %ecx       # imm = 0xFFFFFF01
incq %rax
jmp 0xce1e
movq -0x78(%rbp), %rdi
leaq 0x1(%rdi), %rax
movb %r13b, (%rdi)
jmp 0xce45
movb %cl, -0x1(%rax)
addq %rax, %rbx
movq (%r9), %rcx
movq %rcx, (%rax)
addq $0x8, %rax
addq $0x8, %r9
cmpq %rbx, %rax
jb 0xce48
jmp 0xceb7
leaq 0x1(%rax), %rbx
movb $0x0, (%rax)
movq %rax, %rdi
jmp 0xceb7
cmpq -0x88(%rbp), %rsi
jae 0xce80
movl (%rcx), %edx
cmpl (%rsi), %edx
jne 0xce80
addq $0x4, %rsi
addq $0x4, %rcx
cmpq -0x60(%rbp), %rsi
jae 0xce96
movzwl (%rcx), %edx
cmpw (%rsi), %dx
jne 0xce96
addq $0x2, %rsi
addq $0x2, %rcx
movq %rdi, %r9
cmpq -0x98(%rbp), %rsi
jae 0xceae
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%rsi), %cl
sete %dl
addq %rdx, %rsi
subl %eax, %esi
jmp 0xcf2c
movq %rax, %rsi
jmp 0xcee5
movl %r12d, %eax
subl %r10d, %eax
movw %ax, (%rbx)
leaq 0x4(%r12), %rax
leaq 0x4(%r10), %rcx
cmpq %rax, %r15
jbe 0xceb2
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0xcf0e
leaq 0xc(%r12), %rsi
addq $0xc, %r10
movq %r10, %rcx
movl %esi, %edx
subl %r12d, %edx
addl $-0x4, %edx
cmpq %r15, %rsi
jae 0xce69
movq (%rcx), %r10
movq (%rsi), %r11
cmpq %r11, %r10
jne 0xcf1d
addq $0x8, %rsi
addq $0x8, %rcx
addl $0x8, %edx
jmp 0xceed
movq %rdi, %r9
xorq %rcx, %rdx
bsfq %rdx, %rsi
shrl $0x3, %esi
jmp 0xcf2c
movq %rdi, %r9
xorq %r10, %r11
bsfq %r11, %rsi
shrl $0x3, %esi
addl %edx, %esi
leal 0xf0(%rsi), %eax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0xff, %edi
divl %edi
addq %rbx, %rax
addq $0x8, %rax
cmpq -0x40(%rbp), %rax
ja 0xd18a
leaq 0x2(%rbx), %rax
movb (%r9), %cl
cmpl $0xf, %esi
jb 0xcf8d
addb $0xf, %cl
movb %cl, (%r9)
leal -0xf(%rsi), %ecx
orl $-0x1, (%rax)
xorl %r10d, %r10d
movq -0x68(%rbp), %r13
movl -0x90(%rbp), %edi
cmpl $0x3fc, %ecx            # imm = 0x3FC
jb 0xcf9f
orl $-0x1, 0x6(%rbx,%r10)
addl $0xfffffc04, %ecx       # imm = 0xFFFFFC04
addq $0x4, %r10
jmp 0xcf73
addb %sil, %cl
movb %cl, (%r9)
movq -0x68(%rbp), %r13
movl -0x90(%rbp), %edi
jmp 0xcfd5
movzwl %cx, %ecx
movq %rcx, %rax
xorl %edx, %edx
movl $0xff, %r9d
divq %r9
addq %rax, %rbx
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
leal (%r10,%rax), %ecx
leaq (%r10,%rbx), %rax
addq $0x3, %rax
movb %cl, -0x1(%rax)
movl %esi, %ecx
addq %rcx, %r12
addq $0x4, %r12
cmpq %r13, %r12
jae 0xd07d
leaq -0x2(%r12), %rcx
movq -0x2(%r12), %rdx
movabsq $-0x30e4432345000000, %rsi # imm = 0xCF1BBCDCBB000000
imulq %rsi, %rdx
shrq $0x34, %rdx
subl %r8d, %ecx
movq -0x38(%rbp), %r11
movl %ecx, (%r11,%rdx,4)
movq (%r12), %rdx
imulq %rsi, %rdx
shrq $0x34, %rdx
movl %r12d, %ecx
subl %r8d, %ecx
movl (%r11,%rdx,4), %esi
movq %rsi, %r10
addq %r8, %r10
movl %ecx, (%r11,%rdx,4)
leal 0xffff(%rsi), %edx
cmpl %edi, %esi
jb 0xd049
cmpl %ecx, %edx
jb 0xd049
movl (%r10), %ecx
cmpl (%r12), %ecx
je 0xce5d
movq %rax, -0x78(%rbp)
movq %r12, %r11
movq -0x38(%rbp), %rbx
movl -0x2c(%rbp), %r12d
pushq $0x1
popq %rax
jmp 0xcd1d
movl %ebx, %eax
shlb $0x4, %al
movq %r10, %rdi
movb %al, (%r10)
jmp 0xd06f
movb %al, (%rdi)
incq %rdi
movq %rbx, %rdx
movq %rdi, %r14
jmp 0xd15f
movq %rax, %rcx
movq -0x58(%rbp), %r9
subq %r12, %r9
movq %rcx, %r14
leaq (%rcx,%r9), %rsi
leaq 0xf0(%r9), %rax
xorl %ecx, %ecx
movl $0xff, %edi
xorl %edx, %edx
divq %rdi
addq %rsi, %rax
incq %rax
cmpq -0x40(%rbp), %rax
ja 0xd18a
movq %r12, %r8
movq %r9, %rbx
cmpq $0xf, %r9
jb 0xd1a7
leaq -0xf(%rbx), %rax
movb $-0x10, (%r14)
incq %r14
movq %r8, %rsi
cmpq $0xff, %rax
jb 0xd1b4
movb $-0x1, (%r14)
addq $-0xff, %rax
incq %r14
jmp 0xd0cf
movq %r9, %rsi
movq -0x40(%rbp), %r9
movq -0xa8(%rbp), %r11
subq %rsi, %r11
movq %rax, %r14
leaq (%rax,%r11), %rdi
leaq 0xf0(%r11), %rax
xorl %ecx, %ecx
movl $0xff, %r8d
xorl %edx, %edx
divq %r8
addq %rdi, %rax
incq %rax
cmpq %r9, %rax
ja 0xd16e
movq %r11, %rbx
cmpq $0xf, %r11
jb 0xd149
leaq -0xf(%rbx), %rax
movb $-0x10, (%r14)
incq %r14
cmpq $0xff, %rax
jb 0xd153
movb $-0x1, (%r14)
addq $-0xff, %rax
jmp 0xd132
movl %ebx, %eax
shlb $0x4, %al
movb %al, (%r14)
jmp 0xd156
movb %al, (%r14)
incq %r14
movq %r14, %rdi
movq %rbx, %rdx
callq 0x2170
addl %ebx, %r14d
subl -0x80(%rbp), %r14d
movl %r14d, %ecx
movq -0x38(%rbp), %rax
movq -0x48(%rbp), %rdx
movq %rdx, 0x4008(%rax)
movq -0xd8(%rbp), %rdx
movl %edx, 0x4018(%rax)
movl %ecx, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x70(%rbp), %rcx
jmp 0xca91
movl %ebx, %eax
shlb $0x4, %al
movb %al, (%r14)
movq %r8, %rsi
jmp 0xd1b7
movb %al, (%r14)
incq %r14
movq %r14, %rdi
movq %rbx, %rdx
callq 0x2170
addl %ebx, %r14d
subl -0x80(%rbp), %r14d
movl %r14d, %ecx
jmp 0xd18a
movq -0x48(%rbp), %rdx
movq -0x50(%rbp), %r9
movq -0x68(%rbp), %r13
jmp 0xcb2d
movq -0x40(%rbp), %r9
movq -0xa0(%rbp), %r10
movq -0x60(%rbp), %rdx
jmp 0xcba1
movq -0x40(%rbp), %r9
movq -0xb0(%rbp), %r14
movq -0x50(%rbp), %rax
jmp 0xcc0e
movq %r9, %r12
movq -0x58(%rbp), %r9
movq -0x78(%rbp), %rcx
jmp 0xd084
movq -0x40(%rbp), %r9
movq -0xa8(%rbp), %r11
movq -0x70(%rbp), %rax
jmp 0xd0f8