// File: /workspace/github_c_makefile_star2_O3/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 $0xe8, %rsp
movl %r9d, %ebx
movl %r8d, %r14d
movl %ecx, %r12d
movq %rdx, -0x90(%rbp)
movq %rsi, -0x30(%rbp)
movq %rdi, %r13
movl 0x4018(%rdi), %r15d
testq %r15, %r15
je 0x5b79
addq 0x4008(%r13), %r15
jmp 0x5b7c
xorl %r15d, %r15d
movq %r13, %rdi
movl %r12d, %esi
callq 0x11a05
cmpl $0x2, %ebx
pushq $0x1
popq %rcx
cmovll %ecx, %ebx
movl $0x10001, %eax          # imm = 0x10001
cmpl %eax, %ebx
cmovgel %eax, %ebx
movl 0x4018(%r13), %eax
cmpl $0x3, %eax
ja 0x5bd4
testl %r12d, %r12d
movq -0x30(%rbp), %r11
jle 0x5bd8
cmpq %r11, %r15
je 0x5bd8
cmpq $0x0, 0x4010(%r13)
jne 0x5bd8
andl $0x0, 0x4018(%r13)
movq %r11, 0x4008(%r13)
xorl %eax, %eax
movq %r11, %r15
jmp 0x5bd8
movq -0x30(%rbp), %r11
movslq %r12d, %rdx
addq %r11, %rdx
movq 0x4008(%r13), %r8
cmpq %r8, %rdx
movl %ebx, -0x54(%rbp)
jbe 0x5c1d
cmpq %r15, %rdx
jae 0x5c1d
movl %r15d, %esi
subl %edx, %esi
movl $0x10000, %edx          # imm = 0x10000
cmpl %edx, %esi
cmovbl %esi, %edx
xorl %eax, %eax
cmpl $0x4, %esi
cmovael %edx, %eax
movl %eax, 0x4018(%r13)
movq %r15, %r8
subq %rax, %r8
movq %r8, 0x4008(%r13)
movl %eax, %edi
movl %r12d, %ebx
movslq %r14d, %rdx
movq %rdx, -0x68(%rbp)
cmpq %r11, %r15
movq %r13, -0xb8(%rbp)
je 0x643d
movq 0x4010(%r13), %rdx
movq %rdx, -0xa8(%rbp)
testq %rdx, %rdx
movq %r12, -0xf8(%rbp)
je 0x65c6
cmpl $0x1001, %r12d          # imm = 0x1001
jl 0x6df9
movl $0x4020, %edx           # imm = 0x4020
movq %r13, %rdi
movq -0xa8(%rbp), %rsi
callq 0x2160
movq -0x30(%rbp), %r11
xorl %esi, %esi
cmpl $0x7e000000, %r12d      # imm = 0x7E000000
ja 0x8924
movq -0xb8(%rbp), %r14
movl 0x4000(%r14), %r8d
movq %r11, %r13
subq %r8, %r13
movq 0x4008(%r14), %r9
movl 0x4018(%r14), %eax
movq -0xf8(%rbp), %rsi
leal (%rax,%rsi), %ecx
movq %rax, %r10
addq %r9, %r10
leaq (%r11,%rbx), %rax
movq %rax, -0xe8(%rbp)
movq %r10, %r12
subq %r8, %r12
movq -0x90(%rbp), %rdx
addq %rdx, -0x68(%rbp)
movl %ecx, 0x4018(%r14)
leal (%r8,%rsi), %eax
movl %eax, 0x4000(%r14)
movl $0x2, 0x4004(%r14)
movq (%r11), %rax
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
imulq %r15, %rax
shrq $0x34, %rax
movl -0x54(%rbp), %edi
movl %edi, %esi
shll $0x6, %esi
incl %esi
leaq 0x2(%r11), %rcx
testq %r9, %r9
leaq -0xb(%r11,%rbx), %rdx
movq %rdx, -0x70(%rbp)
cmoveq %r9, %r12
movq %r12, -0x98(%rbp)
leaq -0x5(%r11,%rbx), %rdx
movq %rdx, -0x78(%rbp)
movl %r8d, (%r14,%rax,4)
movq %r9, -0x50(%rbp)
cmoveq %r9, %r10
movq %r10, -0x88(%rbp)
leaq -0xc(%r11,%rbx), %rax
movq %rax, -0x80(%rbp)
leaq -0x8(%r11,%rbx), %rax
movq %rax, -0xd8(%rbp)
leaq -0x6(%r11,%rbx), %rax
movq %rax, -0xc0(%rbp)
movq %r8, %rbx
leaq 0x1(%r11), %rax
leal 0x1(%r8), %r12d
leaq 0x8(%r11), %rdx
movq %rdx, -0xf0(%rbp)
movq %r11, %r9
movq -0x90(%rbp), %r8
movl %esi, %edx
movq %rbx, -0x48(%rbp)
movq %r13, -0xa8(%rbp)
movl %esi, -0xe0(%rbp)
movq %r8, -0x60(%rbp)
movq %r9, -0x38(%rbp)
movq 0x1(%r9), %rsi
movq %rcx, %r8
imulq %r15, %rsi
movq %rsi, %rcx
shrq $0x34, %rcx
movl (%r14,%rcx,4), %r9d
movq (%r8), %rsi
movl %r12d, (%r14,%rcx,4)
leal 0xffff(%r9), %ecx
cmpl %r12d, %ecx
jb 0x5de9
movq -0x98(%rbp), %rcx
cmpl %ebx, %r9d
jb 0x5de0
movq %r13, %rcx
movl (%rcx,%r9), %r10d
cmpl (%rax), %r10d
je 0x5e0c
movl %r8d, %r12d
subl %r13d, %r12d
movl %edi, %ecx
addq %r8, %rcx
leal 0x1(%rdx), %eax
shrl $0x6, %edx
movl %edx, %edi
movl %eax, %edx
movq %r8, %rax
cmpq -0x70(%rbp), %rcx
jbe 0x5dac
jmp 0x8859
addq %r9, %rcx
cmpl %ebx, %r9d
movq %r11, %r15
cmovbq -0x50(%rbp), %r15
subl %r9d, %r12d
movl %eax, %edx
movq -0x38(%rbp), %rsi
subl %esi, %edx
leal -0xf(%rdx), %edi
movq %rdx, -0x40(%rbp)
addl $0xfffffef2, %edx       # imm = 0xFFFFFEF2
movl %edx, -0xc8(%rbp)
movl %eax, %edx
shlb $0x4, %dl
shlb $0x4, %sil
subb %sil, %dl
xorl %esi, %esi
movl %edi, -0xd0(%rbp)
movl %edi, %r14d
movq %rsi, %r13
movl %edx, %r9d
leaq (%rcx,%rsi), %rbx
leaq (%rax,%rsi), %r8
cmpq %r15, %rbx
jbe 0x5e80
cmpq -0x38(%rbp), %r8
jbe 0x5e80
movb -0x1(%rax,%r13), %r10b
leal -0x1(%r14), %edi
leaq -0x1(%r13), %rsi
leal -0x10(%r9), %edx
cmpb -0x1(%rcx,%r13), %r10b
je 0x5e4c
movq %r8, -0xb0(%rbp)
subl -0x38(%rbp), %eax
leal (%rax,%r13), %edi
movq -0x40(%rbp), %rax
leaq (%rax,%r13), %rcx
movq -0x60(%rbp), %r8
leaq (%r8,%rdi), %rax
incq %rax
movq %rax, -0xa0(%rbp)
xorl %esi, %esi
movl %ecx, %eax
xorl %edx, %edx
movl $0xff, %r10d
divl %r10d
movq -0xa0(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
movq %rdi, %r10
leaq 0x1(%r8), %rdi
cmpl $0xf, %ecx
jb 0x5f83
movl -0xd0(%rbp), %eax
addq %r13, %rax
movb $-0x10, (%r8)
cmpl $0xfe, %eax
jle 0x5f78
movq -0x40(%rbp), %rdx
addl $0xef, %edx
movq %rdx, -0x40(%rbp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %r14d
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %r14d, %ecx
cmovgel %eax, %r14d
movl %edx, %eax
subl %ecx, %eax
addl %r13d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
movq %r10, -0xa0(%rbp)
callq 0x20f0
movq -0x60(%rbp), %r8
movq -0xa0(%rbp), %r10
movq -0x30(%rbp), %r11
movq -0x40(%rbp), %rax
subl %r14d, %eax
addl %r13d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
leaq (%r8,%rax), %rdi
addq $0x2, %rdi
movl -0xc8(%rbp), %eax
addl %r13d, %eax
addl %edx, %eax
movq -0x38(%rbp), %rcx
movb %al, (%rdi)
incq %rdi
jmp 0x5f8a
movb %r9b, (%r8)
movq -0x38(%rbp), %rcx
addq %rdi, %r10
movq (%rcx), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %rcx
cmpq %r10, %rdi
jb 0x5f8d
movq %r8, %rdi
movq -0xb0(%rbp), %r9
movw %r12w, (%r10)
cmpq -0x50(%rbp), %r15
je 0x601e
movq %r10, %r14
leaq 0x4(%r9), %rax
leaq 0x4(%rbx), %rdx
movq -0x80(%rbp), %r10
cmpq %rax, %r10
jbe 0x63f9
movq (%rdx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0x60c0
leaq 0xc(%r9), %rcx
addq $0xc, %rbx
movq %rbx, %rdx
cmpq %r10, %rcx
jae 0x6311
movl %ecx, %esi
movq %r9, %rbx
subl %r9d, %esi
addl $-0x4, %esi
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0x60cc
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %esi
cmpq %r10, %rcx
jb 0x5ffa
jmp 0x6314
movq -0x88(%rbp), %rax
subq %rbx, %rax
addq %r9, %rax
movq -0x78(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r9), %rdx
leaq 0x4(%rbx), %rsi
leaq -0x7(%rax), %r8
cmpq %rdx, %r8
movq -0x80(%rbp), %r14
jbe 0x6401
movq (%rsi), %rcx
movq (%rdx), %rsi
cmpq %rsi, %rcx
jne 0x60ed
leaq 0xc(%r9), %rcx
leaq 0xc(%rbx), %rsi
movq %r10, %r12
movq %r9, %r15
cmpq %r8, %rcx
jae 0x6097
movl %ecx, %r9d
subl %r15d, %r9d
addl $-0x4, %r9d
movq (%rsi), %r10
movq (%rcx), %r11
cmpq %r11, %r10
jne 0x60f9
addq $0x8, %rcx
addq $0x8, %rsi
addl $0x8, %r9d
cmpq %r8, %rcx
jb 0x607b
leaq -0x3(%rax), %r8
cmpq %r8, %rcx
jae 0x636e
movl (%rsi), %r8d
cmpl (%rcx), %r8d
movq %r15, %r9
jne 0x60b7
addq $0x4, %rcx
addq $0x4, %rsi
movq -0x30(%rbp), %r11
jmp 0x6375
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0x60db
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %esi, %ecx
movq %rbx, %r9
movq %r14, %r10
movl %ecx, %eax
leaq (%rax,%r9), %r15
addq $0x4, %r15
jmp 0x61d8
xorq %rcx, %rsi
bsfq %rsi, %rcx
shrl $0x3, %ecx
jmp 0x6110
xorq %r10, %r11
bsfq %r11, %rcx
shrl $0x3, %ecx
addl %r9d, %ecx
movq -0x30(%rbp), %r11
movq %r15, %r9
movq %r12, %r10
movl %ecx, %edx
addq %r9, %rdx
addq $0x4, %rdx
cmpq %rax, %rdx
jne 0x61d5
movq %r11, %r8
movq %rax, %rsi
cmpq %rax, %r14
jbe 0x6143
movq (%r11), %rsi
movq (%rax), %r8
cmpq %r8, %rsi
jne 0x61ae
leaq 0x8(%rax), %rsi
movq -0xf0(%rbp), %r8
movq %r10, %r15
cmpq %r14, %rsi
jae 0x6185
addq -0x88(%rbp), %r9
subq %rbx, %r9
movq %r9, %r10
movq -0x78(%rbp), %r9
cmpq %r9, %r10
cmovaeq %r9, %r10
movl %esi, %r9d
subl %r10d, %r9d
movq (%r8), %r10
movq (%rsi), %r11
cmpq %r11, %r10
jne 0x61ba
addq $0x8, %rsi
addq $0x8, %r8
addl $0x8, %r9d
cmpq %r14, %rsi
jb 0x6169
cmpq -0xd8(%rbp), %rsi
jae 0x63b4
movl (%r8), %r9d
cmpl (%rsi), %r9d
movq %r15, %r10
jne 0x63b7
addq $0x4, %rsi
addq $0x4, %r8
jmp 0x63b7
xorq %rsi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
jmp 0x61ce
xorq %r10, %r11
bsfq %r11, %rsi
shrl $0x3, %esi
addl %r9d, %esi
movq -0x30(%rbp), %r11
movq %r15, %r10
addl %esi, %ecx
movl %esi, %eax
addq %rax, %rdx
movq %rdx, %r15
leal 0xf0(%rcx), %eax
xorl %esi, %esi
xorl %edx, %edx
movl $0xff, %r8d
divl %r8d
addq %r10, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
leaq 0x2(%r10), %r8
movb (%rdi), %al
cmpl $0xf, %ecx
jb 0x626f
addb $0xf, %al
movb %al, (%rdi)
leal -0xf(%rcx), %ebx
orl $-0x1, (%r8)
cmpl $0x3fc, %ebx            # imm = 0x3FC
jb 0x6255
addl $0xfffffbf5, %ecx       # imm = 0xFFFFFBF5
movl %ecx, %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r13d
movl %edx, %ebx
leaq 0x6(%r10), %rdi
shll $0x2, %r13d
leaq 0x4(%r13), %rdx
movl $0xff, %esi
movq %r10, %r14
callq 0x20f0
movq -0x30(%rbp), %r11
leaq (%r14,%r13), %r8
addq $0x6, %r8
movl %ebx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %r8
incq %r8
movb %dl, -0x1(%r8)
jmp 0x6273
addb %cl, %al
movb %al, (%rdi)
movq -0xb8(%rbp), %r14
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
movq -0xa8(%rbp), %r13
movq %r15, %r9
cmpq -0x70(%rbp), %r15
movq -0x48(%rbp), %rsi
jae 0x8861
leaq -0x2(%r9), %rax
movq -0x2(%r9), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
subl %r13d, %eax
movl %eax, (%r14,%rcx,4)
movq (%r9), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
movl %r9d, %r12d
subl %r13d, %r12d
movl (%r14,%rcx,4), %eax
cmpl %esi, %eax
movq %r13, %rbx
cmovbq -0x98(%rbp), %rbx
movq %r11, %r15
cmovbq -0x50(%rbp), %r15
movl %r12d, (%r14,%rcx,4)
leal 0xffff(%rax), %ecx
cmpl %r12d, %ecx
jb 0x6409
addq %rax, %rbx
movl (%rbx), %ecx
cmpl (%r9), %ecx
jne 0x6409
leaq 0x1(%r8), %r10
movb $0x0, (%r8)
subl %eax, %r12d
movq %r8, %rdi
jmp 0x5faa
movq %r9, %rbx
cmpq -0xd8(%rbp), %rcx
jae 0x6330
movl (%rdx), %esi
cmpl (%rcx), %esi
movq %r14, %r10
jne 0x6333
addq $0x4, %rcx
addq $0x4, %rdx
jmp 0x6333
movq %r14, %r10
cmpq -0xc0(%rbp), %rcx
jae 0x6351
movzwl (%rdx), %esi
cmpw (%rcx), %si
movq %rbx, %r9
jne 0x6354
addq $0x2, %rcx
addq $0x2, %rdx
jmp 0x6354
movq %rbx, %r9
cmpq -0x78(%rbp), %rcx
jae 0x6367
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%rcx), %dl
sete %sil
addq %rsi, %rcx
subl %eax, %ecx
jmp 0x60de
movq -0x30(%rbp), %r11
movq %r15, %r9
leaq -0x1(%rax), %r8
cmpq %r8, %rcx
jae 0x6395
movzwl (%rsi), %r8d
cmpw (%rcx), %r8w
movq %r12, %r10
jne 0x6398
addq $0x2, %rcx
addq $0x2, %rsi
jmp 0x6398
movq %r12, %r10
cmpq %rax, %rcx
jae 0x63ad
movb (%rsi), %sil
xorl %r8d, %r8d
cmpb (%rcx), %sil
sete %r8b
addq %r8, %rcx
subl %edx, %ecx
jmp 0x6110
movq %r15, %r10
cmpq -0xc0(%rbp), %rsi
jae 0x63d8
movzwl (%r8), %r9d
cmpw (%rsi), %r9w
movq -0x30(%rbp), %r11
jne 0x63dc
addq $0x2, %rsi
addq $0x2, %r8
jmp 0x63dc
movq -0x30(%rbp), %r11
cmpq -0x78(%rbp), %rsi
jae 0x63f2
movb (%r8), %r8b
xorl %r9d, %r9d
cmpb (%rsi), %r8b
sete %r9b
addq %r9, %rsi
subl %eax, %esi
jmp 0x61ce
movq %rax, %rcx
jmp 0x5fe6
movq %rdx, %rcx
jmp 0x6066
leaq 0x1(%r9), %rax
movl %eax, %r12d
subl %r13d, %r12d
leaq 0x2(%r9), %rcx
cmpq -0x70(%rbp), %rcx
movl -0x54(%rbp), %edi
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
movq -0x48(%rbp), %rbx
movl -0xe0(%rbp), %edx
jbe 0x5da0
jmp 0x8861
cmpl $0xffff, %eax           # imm = 0xFFFF
ja 0x64bc
movl 0x4000(%r13), %ecx
movl %ecx, %edx
subl %eax, %edx
movl %edx, -0x50(%rbp)
jbe 0x64bc
xorl %esi, %esi
cmpl $0x7e000000, %r12d      # imm = 0x7E000000
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
ja 0x893f
testl %r12d, %r12d
je 0x774f
leaq (%r11,%rbx), %rsi
movq -0x90(%rbp), %rdx
addq %rdx, -0x68(%rbp)
addl %r12d, %eax
movl %eax, 0x4018(%r13)
leal (%rcx,%r12), %eax
movl %eax, 0x4000(%r13)
movl $0x2, 0x4004(%r13)
cmpl $0xd, %r12d
movq %rsi, -0x78(%rbp)
jae 0x83cd
movq %rdx, %rsi
movq -0x78(%rbp), %rax
jmp 0x652f
xorl %esi, %esi
cmpl $0x7e000000, %r12d      # imm = 0x7E000000
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
ja 0x893f
testl %r12d, %r12d
je 0x774f
movl 0x4000(%r13), %ecx
leaq (%r11,%rbx), %rsi
movq -0x90(%rbp), %rdx
addq %rdx, -0x68(%rbp)
addl %r12d, %eax
movl %eax, 0x4018(%r13)
leal (%rcx,%r12), %eax
movl %eax, 0x4000(%r13)
movl $0x2, 0x4004(%r13)
cmpl $0xd, %r12d
movq %rsi, -0xa8(%rbp)
jae 0x776a
movq %rdx, %rsi
movq -0xa8(%rbp), %rax
subq %r11, %rax
leaq (%rsi,%rax), %rcx
movq %rax, %r14
addq $0xf0, %rax
movq %rsi, %r8
xorl %esi, %esi
movl $0xff, %edi
xorl %edx, %edx
divq %rdi
addq %rcx, %rax
incq %rax
cmpq -0x68(%rbp), %rax
ja 0x893f
cmpq $0xf, %r14
jb 0x8364
leaq -0xf(%r14), %rax
movb $-0x10, (%r8)
leaq 0x1(%r8), %rdi
cmpq $0xff, %rax
jb 0x65bf
leaq -0x10e(%r14), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %r15
leaq 0x1(%rax), %rdx
movq %r8, %r12
movl $0xff, %esi
movq %r11, %rbx
callq 0x20f0
movq %rbx, %r11
imulq $-0xff, %r15, %rax
addq %r14, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%r15,%r12), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
jmp 0x8370
cmpl $0xffff, %eax           # imm = 0xFFFF
movq %r8, -0x50(%rbp)
ja 0x6f2f
movl 0x4000(%r13), %edx
movq %rdx, -0x80(%rbp)
subl %eax, %edx
movl %edx, -0xa8(%rbp)
jbe 0x6f2f
xorl %esi, %esi
cmpl $0x7e000000, %r12d      # imm = 0x7E000000
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
ja 0x8924
testl %r12d, %r12d
je 0x7735
addq %r8, %rdi
leaq (%r11,%rbx), %rcx
movq %rcx, -0xc8(%rbp)
movq %rdi, -0x78(%rbp)
movq -0x80(%rbp), %r14
subq %r14, %rdi
testq %r8, %r8
cmoveq %r8, %rdi
movq %rdi, -0x38(%rbp)
movq -0x90(%rbp), %rcx
addq %rcx, -0x68(%rbp)
addl %r12d, %eax
movl %eax, 0x4018(%r13)
leal (%r14,%r12), %eax
movl %eax, 0x4000(%r13)
movl $0x2, 0x4004(%r13)
movq %rcx, -0x60(%rbp)
movq %r11, %r9
cmpl $0xd, %r12d
jb 0x8849
movq %r11, %rax
subq %r14, %rax
movq %rax, -0x70(%rbp)
leaq (%r11,%rbx), %rax
addq $-0xb, %rax
movq %rax, -0x98(%rbp)
leaq (%r11,%rbx), %rax
addq $-0x5, %rax
movq %rax, -0x40(%rbp)
testq %r8, %r8
movq -0x78(%rbp), %rax
cmoveq %r8, %rax
movq %rax, -0x78(%rbp)
movq (%r11), %rax
imulq %r15, %rax
shrq $0x34, %rax
movl %r14d, (%r13,%rax,4)
movl -0x54(%rbp), %esi
shll $0x6, %esi
incl %esi
leaq 0x2(%r11), %rdx
leaq 0x1(%r11), %rax
leal 0x1(%r14), %r12d
movq -0xc8(%rbp), %rcx
leaq -0xc(%rcx), %rdi
movq %rdi, -0x88(%rbp)
leaq -0x8(%rcx), %rdi
movq %rdi, -0xc0(%rbp)
addq $-0x6, %rcx
movq %rcx, -0x100(%rbp)
leaq 0x8(%r11), %rcx
movq %rcx, -0xe8(%rbp)
movq %r11, %r9
movq -0x90(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movl %esi, -0xd8(%rbp)
movq %r9, -0x48(%rbp)
movq 0x1(%r9), %rdi
movl -0x54(%rbp), %r8d
movl -0xa8(%rbp), %ebx
movq %rax, %rcx
movq %rdx, %rax
imulq %r15, %rdi
movq %rdi, %rdx
shrq $0x34, %rdx
movl (%r13,%rdx,4), %r9d
movq (%rax), %rdi
movl %r12d, (%r13,%rdx,4)
cmpl %ebx, %r9d
jb 0x6766
leal 0xffff(%r9), %edx
cmpl %r12d, %edx
jb 0x6766
movq -0x38(%rbp), %rdx
cmpl %r14d, %r9d
jb 0x675d
movq -0x70(%rbp), %rdx
movl (%rdx,%r9), %r10d
cmpl (%rcx), %r10d
je 0x678c
movl %eax, %r12d
subl -0x70(%rbp), %r12d
movl %r8d, %edx
addq %rax, %rdx
leal 0x1(%rsi), %ecx
shrl $0x6, %esi
movl %esi, %r8d
movl %ecx, %esi
cmpq -0x98(%rbp), %rdx
jbe 0x6721
jmp 0x897a
addq %r9, %rdx
cmpl %r14d, %r9d
movq %r11, %r15
cmovbq -0x50(%rbp), %r15
subl %r9d, %r12d
movl %ecx, %eax
movq -0x48(%rbp), %rsi
subl %esi, %eax
leal -0xf(%rax), %edi
movq %rax, -0xa0(%rbp)
addl $0xfffffef2, %eax       # imm = 0xFFFFFEF2
movl %eax, -0xe0(%rbp)
movl %ecx, %eax
shlb $0x4, %al
shlb $0x4, %sil
subb %sil, %al
xorl %esi, %esi
movl %edi, -0xf0(%rbp)
movl %edi, %r14d
movq %rsi, %r13
movl %eax, %r9d
leaq (%rdx,%rsi), %rbx
leaq (%rcx,%rsi), %r8
cmpq %r15, %rbx
jbe 0x6802
cmpq -0x48(%rbp), %r8
jbe 0x6802
movb -0x1(%rcx,%r13), %r10b
leal -0x1(%r14), %edi
leaq -0x1(%r13), %rsi
leal -0x10(%r9), %eax
cmpb -0x1(%rdx,%r13), %r10b
je 0x67ce
movq %r8, -0xd0(%rbp)
subl -0x48(%rbp), %ecx
leal (%rcx,%r13), %edi
movq -0xa0(%rbp), %rax
leaq (%rax,%r13), %rcx
movq -0x60(%rbp), %r8
leaq (%r8,%rdi), %rax
incq %rax
movq %rax, -0xb0(%rbp)
xorl %esi, %esi
movl %ecx, %eax
xorl %edx, %edx
movl $0xff, %r10d
divl %r10d
movq -0xb0(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
movq %rdi, %r10
leaq 0x1(%r8), %rdi
cmpl $0xf, %ecx
jb 0x691c
movl -0xf0(%rbp), %eax
addq %r13, %rax
movb $-0x10, (%r8)
cmpl $0xfe, %eax
jle 0x6906
movq -0xa0(%rbp), %rdx
addl $0xef, %edx
movq %rdx, -0xa0(%rbp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %r14d
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %r14d, %ecx
cmovgel %eax, %r14d
movl %edx, %eax
subl %ecx, %eax
addl %r13d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
movq %r10, -0xb0(%rbp)
callq 0x20f0
movq -0x60(%rbp), %r8
movq -0xb0(%rbp), %r10
movq -0x30(%rbp), %r11
movq -0xa0(%rbp), %rax
subl %r14d, %eax
addl %r13d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
leaq (%r8,%rax), %rdi
addq $0x2, %rdi
movl -0xe0(%rbp), %eax
addl %r13d, %eax
addl %edx, %eax
movq -0x50(%rbp), %rsi
movq -0x88(%rbp), %r14
movq -0x48(%rbp), %rcx
movb %al, (%rdi)
incq %rdi
jmp 0x692e
movb %r9b, (%r8)
movq -0x50(%rbp), %rsi
movq -0x88(%rbp), %r14
movq -0x48(%rbp), %rcx
addq %rdi, %r10
movq (%rcx), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %rcx
cmpq %r10, %rdi
jb 0x6931
movq %r8, %rdi
movq -0xd0(%rbp), %r9
movw %r12w, (%r10)
cmpq %rsi, %r15
je 0x69bd
leaq 0x4(%r9), %rax
leaq 0x4(%rbx), %rdx
cmpq %rax, %r14
jbe 0x6db4
movq (%rdx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0x6a58
leaq 0xc(%r9), %rcx
addq $0xc, %rbx
movq %rbx, %rdx
movq %r10, %rbx
cmpq %r14, %rcx
jae 0x6cd6
movl %ecx, %esi
movq %r9, %r10
subl %r9d, %esi
addl $-0x4, %esi
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0x6a64
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %esi
cmpq %r14, %rcx
jb 0x6999
jmp 0x6cd9
movq -0x78(%rbp), %rax
subq %rbx, %rax
addq %r9, %rax
movq -0x40(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r9), %rdx
leaq 0x4(%rbx), %rsi
leaq -0x7(%rax), %r8
cmpq %rdx, %r8
jbe 0x6dbc
movq (%rsi), %rcx
movq (%rdx), %rsi
cmpq %rsi, %rcx
jne 0x6a85
leaq 0xc(%r9), %rcx
leaq 0xc(%rbx), %rsi
movq %r10, %r12
movq %r9, %r15
cmpq %r8, %rcx
jae 0x6a2f
movl %ecx, %r9d
subl %r15d, %r9d
addl $-0x4, %r9d
movq (%rsi), %r10
movq (%rcx), %r11
cmpq %r11, %r10
jne 0x6a91
addq $0x8, %rcx
addq $0x8, %rsi
addl $0x8, %r9d
cmpq %r8, %rcx
jb 0x6a13
leaq -0x3(%rax), %r8
cmpq %r8, %rcx
jae 0x6d2e
movl (%rsi), %r8d
cmpl (%rcx), %r8d
movq %r15, %r9
jne 0x6a4f
addq $0x4, %rcx
addq $0x4, %rsi
movq -0x30(%rbp), %r11
jmp 0x6d35
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0x6a76
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %esi, %ecx
movq %r10, %r9
movq %rbx, %r10
movl %ecx, %eax
leaq (%rax,%r9), %r15
addq $0x4, %r15
jmp 0x6b6d
xorq %rcx, %rsi
bsfq %rsi, %rcx
shrl $0x3, %ecx
jmp 0x6aa8
xorq %r10, %r11
bsfq %r11, %rcx
shrl $0x3, %ecx
addl %r9d, %ecx
movq -0x30(%rbp), %r11
movq %r15, %r9
movq %r12, %r10
movl %ecx, %edx
addq %r9, %rdx
addq $0x4, %rdx
cmpq %rax, %rdx
jne 0x6b6a
movq %r11, %r8
movq %rax, %rsi
cmpq %rax, %r14
jbe 0x6adb
movq (%r11), %rsi
movq (%rax), %r8
cmpq %r8, %rsi
jne 0x6b43
leaq 0x8(%rax), %rsi
movq -0xe8(%rbp), %r8
movq %r10, %r15
cmpq %r14, %rsi
jae 0x6b1a
addq -0x78(%rbp), %r9
subq %rbx, %r9
movq %r9, %r10
movq -0x40(%rbp), %r9
cmpq %r9, %r10
cmovaeq %r9, %r10
movl %esi, %r9d
subl %r10d, %r9d
movq (%r8), %r10
movq (%rsi), %r11
cmpq %r11, %r10
jne 0x6b4f
addq $0x8, %rsi
addq $0x8, %r8
addl $0x8, %r9d
cmpq %r14, %rsi
jb 0x6afe
cmpq -0xc0(%rbp), %rsi
jae 0x6d6f
movl (%r8), %r9d
cmpl (%rsi), %r9d
movq %r15, %r10
jne 0x6d72
addq $0x4, %rsi
addq $0x4, %r8
jmp 0x6d72
xorq %rsi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
jmp 0x6b63
xorq %r10, %r11
bsfq %r11, %rsi
shrl $0x3, %esi
addl %r9d, %esi
movq -0x30(%rbp), %r11
movq %r15, %r10
addl %esi, %ecx
movl %esi, %eax
addq %rax, %rdx
movq %rdx, %r15
leal 0xf0(%rcx), %eax
xorl %esi, %esi
xorl %edx, %edx
movl $0xff, %r8d
divl %r8d
addq %r10, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
leaq 0x2(%r10), %r8
movb (%rdi), %al
cmpl $0xf, %ecx
jb 0x6c21
addb $0xf, %al
movb %al, (%rdi)
leal -0xf(%rcx), %ebx
orl $-0x1, (%r8)
cmpl $0x3fc, %ebx            # imm = 0x3FC
movq -0x80(%rbp), %r14
jb 0x6bf2
addl $0xfffffbf5, %ecx       # imm = 0xFFFFFBF5
movl %ecx, %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r13d
movl %edx, %ebx
leaq 0x6(%r10), %rdi
shll $0x2, %r13d
leaq 0x4(%r13), %rdx
movl $0xff, %esi
movq %r10, %r12
callq 0x20f0
movq -0x30(%rbp), %r11
leaq (%r12,%r13), %r8
addq $0x6, %r8
movl %ebx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %r8
incq %r8
movb %dl, -0x1(%r8)
movq -0xb8(%rbp), %r13
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
movq -0x50(%rbp), %rsi
jmp 0x6c3e
addb %cl, %al
movb %al, (%rdi)
movq -0xb8(%rbp), %r13
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
movq -0x50(%rbp), %rsi
movq -0x80(%rbp), %r14
movq %r15, %r9
cmpq -0x98(%rbp), %r15
jae 0x8845
leaq -0x2(%r9), %rax
movq -0x2(%r9), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
movq -0x70(%rbp), %rbx
subl %ebx, %eax
movl %eax, (%r13,%rcx,4)
movq (%r9), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
movl %r9d, %r12d
subl %ebx, %r12d
movl (%r13,%rcx,4), %eax
cmpl %r14d, %eax
cmovbq -0x38(%rbp), %rbx
movl %r12d, (%r13,%rcx,4)
movq %r11, %r15
cmovbq %rsi, %r15
cmpl -0xa8(%rbp), %eax
jb 0x6dc4
leal 0xffff(%rax), %ecx
cmpl %r12d, %ecx
jb 0x6dc4
addq %rax, %rbx
movl (%rbx), %ecx
cmpl (%r9), %ecx
jne 0x6dc4
leaq 0x1(%r8), %r10
movb $0x0, (%r8)
subl %eax, %r12d
movq %r8, %rdi
movq -0x88(%rbp), %r14
jmp 0x694e
movq %r9, %r10
cmpq -0xc0(%rbp), %rcx
jae 0x6cf0
movl (%rdx), %esi
cmpl (%rcx), %esi
jne 0x6cf0
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0x100(%rbp), %rcx
jae 0x6d0e
movzwl (%rdx), %esi
cmpw (%rcx), %si
movq %r10, %r9
jne 0x6d11
addq $0x2, %rcx
addq $0x2, %rdx
jmp 0x6d11
movq %r10, %r9
movq %rbx, %r10
cmpq -0x40(%rbp), %rcx
jae 0x6d27
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%rcx), %dl
sete %sil
addq %rsi, %rcx
subl %eax, %ecx
jmp 0x6a76
movq -0x30(%rbp), %r11
movq %r15, %r9
leaq -0x1(%rax), %r8
cmpq %r8, %rcx
movq %r12, %r10
jae 0x6d53
movzwl (%rsi), %r8d
cmpw (%rcx), %r8w
jne 0x6d53
addq $0x2, %rcx
addq $0x2, %rsi
cmpq %rax, %rcx
jae 0x6d68
movb (%rsi), %sil
xorl %r8d, %r8d
cmpb (%rcx), %sil
sete %r8b
addq %r8, %rcx
subl %edx, %ecx
jmp 0x6aa8
movq %r15, %r10
cmpq -0x100(%rbp), %rsi
jae 0x6d93
movzwl (%r8), %r9d
cmpw (%rsi), %r9w
movq -0x30(%rbp), %r11
jne 0x6d97
addq $0x2, %rsi
addq $0x2, %r8
jmp 0x6d97
movq -0x30(%rbp), %r11
cmpq -0x40(%rbp), %rsi
jae 0x6dad
movb (%r8), %r8b
xorl %r9d, %r9d
cmpb (%rsi), %r8b
sete %r9b
addq %r9, %rsi
subl %eax, %esi
jmp 0x6b63
movq %rax, %rcx
jmp 0x6982
movq %rdx, %rcx
jmp 0x69fe
movq %r8, -0x60(%rbp)
leaq 0x1(%r9), %rax
movl %eax, %r12d
subl -0x70(%rbp), %r12d
leaq 0x2(%r9), %rdx
cmpq -0x98(%rbp), %rdx
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
movl -0xd8(%rbp), %esi
jbe 0x670f
jmp 0x8849
xorl %esi, %esi
cmpl $0x7e000000, %r12d      # imm = 0x7E000000
ja 0x8924
testl %r12d, %r12d
je 0x7735
movl 0x4000(%r13), %esi
movq -0xa8(%rbp), %rax
movq 0x4008(%rax), %rcx
movl 0x4018(%rax), %edx
movl 0x4000(%rax), %eax
addq %rcx, %rdx
movq %rdx, -0x60(%rbp)
subq %rax, %rdx
testq %rcx, %rcx
movq %rcx, -0x38(%rbp)
cmoveq %rcx, %rdx
movq %rdx, -0x48(%rbp)
leaq (%r11,%rbx), %rcx
movq %rcx, -0xe8(%rbp)
andq $0x0, 0x4010(%r13)
movq -0x90(%rbp), %rdx
addq %rdx, -0x68(%rbp)
movl %r12d, 0x4018(%r13)
movq %rsi, -0x70(%rbp)
leal (%rsi,%r12), %ecx
movl %ecx, 0x4000(%r13)
movl $0x2, 0x4004(%r13)
movq %rdx, %r8
movq %r11, %r14
cmpl $0xd, %r12d
jae 0x7bad
movq -0xe8(%rbp), %rax
subq %r14, %rax
leaq (%r8,%rax), %rcx
movq %rax, %r15
addq $0xf0, %rax
xorl %esi, %esi
movl $0xff, %edi
xorl %edx, %edx
divq %rdi
addq %rcx, %rax
incq %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
cmpq $0xf, %r15
jb 0x83a8
leaq -0xf(%r15), %rax
movb $-0x10, (%r8)
leaq 0x1(%r8), %rdi
cmpq $0xff, %rax
jb 0x6f28
leaq -0x10e(%r15), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rbx
leaq 0x1(%rax), %rdx
movl $0xff, %esi
movq %r8, %r12
callq 0x20f0
imulq $-0xff, %rbx, %rax
addq %r15, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
jmp 0x83b4
xorl %esi, %esi
cmpl $0x7e000000, %r12d      # imm = 0x7E000000
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
ja 0x8924
testl %r12d, %r12d
je 0x7735
movl 0x4000(%r13), %r14d
addq %r8, %rdi
leaq (%r11,%rbx), %rcx
movq %rcx, -0xd0(%rbp)
movq %rdi, -0x78(%rbp)
subq %r14, %rdi
testq %r8, %r8
cmoveq %r8, %rdi
movq %rdi, -0x48(%rbp)
movq -0x90(%rbp), %rcx
addq %rcx, -0x68(%rbp)
addl %r12d, %eax
movl %eax, 0x4018(%r13)
leal (%r14,%r12), %eax
movl %eax, 0x4000(%r13)
movl $0x2, 0x4004(%r13)
movq %rcx, -0x40(%rbp)
movq %r11, %r9
cmpl $0xd, %r12d
jb 0x8395
movq %r11, %rax
subq %r14, %rax
movq %rax, -0x70(%rbp)
leaq (%r11,%rbx), %rax
addq $-0xb, %rax
movq %rax, -0x98(%rbp)
leaq (%r11,%rbx), %rax
addq $-0x5, %rax
movq %rax, -0x88(%rbp)
testq %r8, %r8
movq -0x78(%rbp), %rax
cmoveq %r8, %rax
movq %rax, -0x78(%rbp)
movq (%r11), %rax
imulq %r15, %rax
shrq $0x34, %rax
movl %r14d, (%r13,%rax,4)
movl -0x54(%rbp), %r8d
shll $0x6, %r8d
incl %r8d
leaq 0x2(%r11), %rcx
leaq 0x1(%r11), %rax
leal 0x1(%r14), %r12d
movq -0xd0(%rbp), %rdx
leaq -0xc(%rdx), %rsi
movq %rsi, -0x80(%rbp)
leaq -0x8(%rdx), %rsi
movq %rsi, -0xd8(%rbp)
addq $-0x6, %rdx
movq %rdx, -0xc0(%rbp)
leaq 0x8(%r11), %rdx
movq %rdx, -0xe0(%rbp)
movq %r11, %r9
movq -0x90(%rbp), %rdx
movq %rdx, -0x40(%rbp)
movq %r14, -0xa8(%rbp)
movl %r8d, -0xe8(%rbp)
movq %r9, -0x38(%rbp)
movq 0x1(%r9), %rsi
movl -0x54(%rbp), %edi
movl %r8d, %edx
movq -0x48(%rbp), %rbx
movq %rcx, %r8
imulq %r15, %rsi
movq %rsi, %rcx
shrq $0x34, %rcx
movl (%r13,%rcx,4), %r9d
movq (%r8), %rsi
movl %r12d, (%r13,%rcx,4)
leal 0xffff(%r9), %ecx
cmpl %r12d, %ecx
jb 0x70ac
movq %rbx, %rcx
cmpl %r14d, %r9d
jb 0x70a3
movq -0x70(%rbp), %rcx
movl (%rcx,%r9), %r10d
cmpl (%rax), %r10d
je 0x70d3
movl %r8d, %r12d
subl -0x70(%rbp), %r12d
movl %edi, %ecx
addq %r8, %rcx
leal 0x1(%rdx), %eax
shrl $0x6, %edx
movl %edx, %edi
movl %eax, %edx
movq %r8, %rax
cmpq -0x98(%rbp), %rcx
jbe 0x7070
jmp 0x8968
addq %r9, %rcx
cmpl %r14d, %r9d
movq %r11, %r15
cmovbq -0x50(%rbp), %r15
subl %r9d, %r12d
movl %eax, %edx
movq -0x38(%rbp), %rsi
subl %esi, %edx
leal -0xf(%rdx), %edi
movq %rdx, -0x60(%rbp)
addl $0xfffffef2, %edx       # imm = 0xFFFFFEF2
movl %edx, -0xf0(%rbp)
movl %eax, %edx
shlb $0x4, %dl
shlb $0x4, %sil
subb %sil, %dl
xorl %esi, %esi
movl %edi, -0xc8(%rbp)
movl %edi, %r14d
movq %rsi, %r13
movl %edx, %r9d
leaq (%rcx,%rsi), %rbx
leaq (%rax,%rsi), %r8
cmpq %r15, %rbx
jbe 0x7147
cmpq -0x38(%rbp), %r8
jbe 0x7147
movb -0x1(%rax,%r13), %r10b
leal -0x1(%r14), %edi
leaq -0x1(%r13), %rsi
leal -0x10(%r9), %edx
cmpb -0x1(%rcx,%r13), %r10b
je 0x7113
movq %r8, -0xb0(%rbp)
subl -0x38(%rbp), %eax
leal (%rax,%r13), %edi
movq -0x60(%rbp), %rax
leaq (%rax,%r13), %rcx
movq -0x40(%rbp), %r8
leaq (%r8,%rdi), %rax
incq %rax
movq %rax, -0xa0(%rbp)
xorl %esi, %esi
movl %ecx, %eax
xorl %edx, %edx
movl $0xff, %r10d
divl %r10d
movq -0xa0(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
movq %rdi, %r10
leaq 0x1(%r8), %rdi
cmpl $0xf, %ecx
jb 0x7252
movl -0xc8(%rbp), %eax
addq %r13, %rax
movb $-0x10, (%r8)
cmpl $0xfe, %eax
jle 0x723f
movq -0x60(%rbp), %rdx
addl $0xef, %edx
movq %rdx, -0x60(%rbp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %r14d
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %r14d, %ecx
cmovgel %eax, %r14d
movl %edx, %eax
subl %ecx, %eax
addl %r13d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
movq %r10, -0xa0(%rbp)
callq 0x20f0
movq -0x40(%rbp), %r8
movq -0xa0(%rbp), %r10
movq -0x30(%rbp), %r11
movq -0x60(%rbp), %rax
subl %r14d, %eax
addl %r13d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
leaq (%r8,%rax), %rdi
addq $0x2, %rdi
movl -0xf0(%rbp), %eax
addl %r13d, %eax
addl %edx, %eax
movq -0x50(%rbp), %rsi
movq -0x80(%rbp), %r14
movq -0x38(%rbp), %rcx
movb %al, (%rdi)
incq %rdi
jmp 0x7261
movb %r9b, (%r8)
movq -0x50(%rbp), %rsi
movq -0x80(%rbp), %r14
movq -0x38(%rbp), %rcx
addq %rdi, %r10
movq (%rcx), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %rcx
cmpq %r10, %rdi
jb 0x7264
movq %r8, %rdi
movq -0xb0(%rbp), %r9
movw %r12w, (%r10)
cmpq %rsi, %r15
je 0x72f0
leaq 0x4(%r9), %rax
leaq 0x4(%rbx), %rdx
cmpq %rax, %r14
jbe 0x76ef
movq (%rdx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0x738e
leaq 0xc(%r9), %rcx
addq $0xc, %rbx
movq %rbx, %rdx
movq %r10, %rbx
cmpq %r14, %rcx
jae 0x7606
movl %ecx, %esi
movq %r9, %r10
subl %r9d, %esi
addl $-0x4, %esi
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0x739a
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %esi
cmpq %r14, %rcx
jb 0x72cc
jmp 0x7609
movq -0x78(%rbp), %rax
subq %rbx, %rax
addq %r9, %rax
movq -0x88(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r9), %rdx
leaq 0x4(%rbx), %rsi
leaq -0x7(%rax), %r8
cmpq %rdx, %r8
jbe 0x76f7
movq (%rsi), %rcx
movq (%rdx), %rsi
cmpq %rsi, %rcx
jne 0x73bb
leaq 0xc(%r9), %rcx
leaq 0xc(%rbx), %rsi
movq %r10, %r12
movq %r9, %r15
cmpq %r8, %rcx
jae 0x7365
movl %ecx, %r9d
subl %r15d, %r9d
addl $-0x4, %r9d
movq (%rsi), %r10
movq (%rcx), %r11
cmpq %r11, %r10
jne 0x73c7
addq $0x8, %rcx
addq $0x8, %rsi
addl $0x8, %r9d
cmpq %r8, %rcx
jb 0x7349
leaq -0x3(%rax), %r8
cmpq %r8, %rcx
jae 0x7661
movl (%rsi), %r8d
cmpl (%rcx), %r8d
movq %r15, %r9
jne 0x7385
addq $0x4, %rcx
addq $0x4, %rsi
movq -0x30(%rbp), %r11
jmp 0x7668
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0x73ac
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %esi, %ecx
movq %r10, %r9
movq %rbx, %r10
movl %ecx, %eax
leaq (%rax,%r9), %r15
addq $0x4, %r15
jmp 0x74a6
xorq %rcx, %rsi
bsfq %rsi, %rcx
shrl $0x3, %ecx
jmp 0x73de
xorq %r10, %r11
bsfq %r11, %rcx
shrl $0x3, %ecx
addl %r9d, %ecx
movq -0x30(%rbp), %r11
movq %r15, %r9
movq %r12, %r10
movl %ecx, %edx
addq %r9, %rdx
addq $0x4, %rdx
cmpq %rax, %rdx
jne 0x74a3
movq %r11, %r8
movq %rax, %rsi
cmpq %rax, %r14
jbe 0x7411
movq (%r11), %rsi
movq (%rax), %r8
cmpq %r8, %rsi
jne 0x747c
leaq 0x8(%rax), %rsi
movq -0xe0(%rbp), %r8
movq %r10, %r15
cmpq %r14, %rsi
jae 0x7453
addq -0x78(%rbp), %r9
subq %rbx, %r9
movq %r9, %r10
movq -0x88(%rbp), %r9
cmpq %r9, %r10
cmovaeq %r9, %r10
movl %esi, %r9d
subl %r10d, %r9d
movq (%r8), %r10
movq (%rsi), %r11
cmpq %r11, %r10
jne 0x7488
addq $0x8, %rsi
addq $0x8, %r8
addl $0x8, %r9d
cmpq %r14, %rsi
jb 0x7437
cmpq -0xd8(%rbp), %rsi
jae 0x76a7
movl (%r8), %r9d
cmpl (%rsi), %r9d
movq %r15, %r10
jne 0x76aa
addq $0x4, %rsi
addq $0x4, %r8
jmp 0x76aa
xorq %rsi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
jmp 0x749c
xorq %r10, %r11
bsfq %r11, %rsi
shrl $0x3, %esi
addl %r9d, %esi
movq -0x30(%rbp), %r11
movq %r15, %r10
addl %esi, %ecx
movl %esi, %eax
addq %rax, %rdx
movq %rdx, %r15
leal 0xf0(%rcx), %eax
xorl %esi, %esi
xorl %edx, %edx
movl $0xff, %r8d
divl %r8d
addq %r10, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
leaq 0x2(%r10), %r8
movb (%rdi), %al
cmpl $0xf, %ecx
jb 0x755d
addb $0xf, %al
movb %al, (%rdi)
leal -0xf(%rcx), %ebx
orl $-0x1, (%r8)
cmpl $0x3fc, %ebx            # imm = 0x3FC
movq -0xa8(%rbp), %r14
jb 0x752e
addl $0xfffffbf5, %ecx       # imm = 0xFFFFFBF5
movl %ecx, %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r13d
movl %edx, %ebx
leaq 0x6(%r10), %rdi
shll $0x2, %r13d
leaq 0x4(%r13), %rdx
movl $0xff, %esi
movq %r10, %r12
callq 0x20f0
movq -0x30(%rbp), %r11
leaq (%r12,%r13), %r8
addq $0x6, %r8
movl %ebx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %r8
incq %r8
movb %dl, -0x1(%r8)
movq -0xb8(%rbp), %r13
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
movq -0x50(%rbp), %rsi
jmp 0x757d
addb %cl, %al
movb %al, (%rdi)
movq -0xb8(%rbp), %r13
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
movq -0x50(%rbp), %rsi
movq -0xa8(%rbp), %r14
movq %r15, %r9
cmpq -0x98(%rbp), %r15
jae 0x8391
leaq -0x2(%r9), %rax
movq -0x2(%r9), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
movq -0x70(%rbp), %rbx
subl %ebx, %eax
movl %eax, (%r13,%rcx,4)
movq (%r9), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
movl %r9d, %r12d
subl %ebx, %r12d
movl (%r13,%rcx,4), %eax
cmpl %r14d, %eax
cmovbq -0x48(%rbp), %rbx
movq %r11, %r15
cmovbq %rsi, %r15
movl %r12d, (%r13,%rcx,4)
leal 0xffff(%rax), %ecx
cmpl %r12d, %ecx
jb 0x76ff
addq %rax, %rbx
movl (%rbx), %ecx
cmpl (%r9), %ecx
jne 0x76ff
leaq 0x1(%r8), %r10
movb $0x0, (%r8)
subl %eax, %r12d
movq %r8, %rdi
movq -0x80(%rbp), %r14
jmp 0x7281
movq %r9, %r10
cmpq -0xd8(%rbp), %rcx
jae 0x7620
movl (%rdx), %esi
cmpl (%rcx), %esi
jne 0x7620
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0xc0(%rbp), %rcx
jae 0x763e
movzwl (%rdx), %esi
cmpw (%rcx), %si
movq %r10, %r9
jne 0x7641
addq $0x2, %rcx
addq $0x2, %rdx
jmp 0x7641
movq %r10, %r9
movq %rbx, %r10
cmpq -0x88(%rbp), %rcx
jae 0x765a
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%rcx), %dl
sete %sil
addq %rsi, %rcx
subl %eax, %ecx
jmp 0x73ac
movq -0x30(%rbp), %r11
movq %r15, %r9
leaq -0x1(%rax), %r8
cmpq %r8, %rcx
jae 0x7688
movzwl (%rsi), %r8d
cmpw (%rcx), %r8w
movq %r12, %r10
jne 0x768b
addq $0x2, %rcx
addq $0x2, %rsi
jmp 0x768b
movq %r12, %r10
cmpq %rax, %rcx
jae 0x76a0
movb (%rsi), %sil
xorl %r8d, %r8d
cmpb (%rcx), %sil
sete %r8b
addq %r8, %rcx
subl %edx, %ecx
jmp 0x73de
movq %r15, %r10
cmpq -0xc0(%rbp), %rsi
jae 0x76cb
movzwl (%r8), %r9d
cmpw (%rsi), %r9w
movq -0x30(%rbp), %r11
jne 0x76cf
addq $0x2, %rsi
addq $0x2, %r8
jmp 0x76cf
movq -0x30(%rbp), %r11
cmpq -0x88(%rbp), %rsi
jae 0x76e8
movb (%r8), %r8b
xorl %r9d, %r9d
cmpb (%rsi), %r8b
sete %r9b
addq %r9, %rsi
subl %eax, %esi
jmp 0x749c
movq %rax, %rcx
jmp 0x72b5
movq %rdx, %rcx
jmp 0x7334
movq %r8, -0x40(%rbp)
leaq 0x1(%r9), %rax
movl %eax, %r12d
subl -0x70(%rbp), %r12d
leaq 0x2(%r9), %rcx
cmpq -0x98(%rbp), %rcx
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
movl -0xe8(%rbp), %r8d
jbe 0x705e
jmp 0x8395
testl %r14d, %r14d
jle 0x8924
movq -0x90(%rbp), %rax
movb $0x0, (%rax)
movl %ecx, %esi
jmp 0x8924
testl %r14d, %r14d
jle 0x893f
movq -0x90(%rbp), %rax
movb $0x0, (%rax)
pushq $0x1
popq %rsi
jmp 0x893f
movq %r11, %r14
subq %rcx, %r14
leaq (%r11,%rbx), %r12
addq $-0xb, %r12
leaq (%r11,%rbx), %rax
addq $-0x5, %rax
movq %rax, -0x88(%rbp)
movq %r11, %rax
subq %rdi, %rax
movq %rax, -0x70(%rbp)
movq (%r11), %rax
imulq %r15, %rax
shrq $0x34, %rax
movl %ecx, (%r13,%rax,4)
movl -0x54(%rbp), %edi
movl %edi, %eax
shll $0x6, %eax
incl %eax
leaq 0x2(%r11), %rcx
leaq -0xc(%rsi), %rbx
leaq -0x8(%rsi), %r8
movq %r8, -0x40(%rbp)
addq $-0x6, %rsi
movq %rsi, -0x60(%rbp)
movq %rdx, %rsi
movl %eax, %edx
movq %r14, -0x50(%rbp)
movq %r12, -0x98(%rbp)
movl %eax, -0xf8(%rbp)
movq %rsi, -0x48(%rbp)
leaq 0x1(%r11), %rax
movq 0x1(%r11), %rsi
movq %rcx, %r8
imulq %r15, %rsi
movq %rsi, %r9
shrq $0x34, %r9
movl (%r13,%r9,4), %ecx
movl %eax, %r10d
subl %r14d, %r10d
movq (%r8), %rsi
movl %r10d, (%r13,%r9,4)
leal 0xffff(%rcx), %r9d
cmpl %r10d, %r9d
jb 0x781b
movl (%r14,%rcx), %r9d
cmpl (%rax), %r9d
je 0x7837
movl %edi, %ecx
addq %r8, %rcx
leal 0x1(%rdx), %eax
shrl $0x6, %edx
movl %edx, %edi
movl %eax, %edx
movq %r8, %rax
cmpq %r12, %rcx
jbe 0x77e5
jmp 0x8953
addq %r14, %rcx
movl %eax, %r8d
subl %r11d, %r8d
leal -0xf(%r8), %edi
leal -0x10e(%r8), %edx
movl %edx, -0x78(%rbp)
movl %eax, %edx
shlb $0x4, %dl
movl %r11d, %esi
shlb $0x4, %sil
subb %sil, %dl
xorl %esi, %esi
movl %edi, -0x30(%rbp)
movl %edi, %r12d
movq %rsi, %r14
movl %edx, %r9d
leaq (%rcx,%rsi), %r13
leaq (%rax,%rsi), %r15
cmpq -0x70(%rbp), %r13
jbe 0x7897
cmpq %r11, %r15
jbe 0x7897
movb -0x1(%rax,%r14), %r10b
leal -0x1(%r12), %edi
leaq -0x1(%r14), %rsi
leal -0x10(%r9), %edx
cmpb -0x1(%rcx,%r14), %r10b
je 0x7862
subl %r11d, %eax
leal (%r14,%rax), %r10d
movq %r8, -0x80(%rbp)
addq %r14, %r8
movq -0x48(%rbp), %rcx
leaq (%rcx,%r10), %rax
incq %rax
movq %rax, -0x38(%rbp)
xorl %esi, %esi
movl %r8d, %eax
xorl %edx, %edx
movl $0xff, %edi
divl %edi
movq -0x38(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x893f
movq %r10, -0x38(%rbp)
leaq 0x1(%rcx), %rdi
cmpl $0xf, %r8d
jb 0x7978
movl -0x30(%rbp), %eax
addq %r14, %rax
movb $-0x10, (%rcx)
cmpl $0xfe, %eax
jle 0x796d
movq -0x80(%rbp), %rdx
addl $0xef, %edx
movq %rdx, -0x80(%rbp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %r12d
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %r12d, %ecx
cmovgel %eax, %r12d
movl %edx, %eax
subl %ecx, %eax
addl %r14d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
movq %r11, -0x30(%rbp)
callq 0x20f0
movq -0x48(%rbp), %rcx
movl $0xff, %esi
movq -0x30(%rbp), %r11
movq -0x80(%rbp), %rax
subl %r12d, %eax
addl %r14d, %eax
movq %rax, %rdi
xorl %edx, %edx
divl %esi
subl %edi, %edx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl -0x78(%rbp), %eax
addl %r14d, %eax
addl %edx, %eax
movq -0x38(%rbp), %r9
movb %al, (%rdi)
incq %rdi
jmp 0x797f
movb %r9b, (%rcx)
movq -0x38(%rbp), %r9
addq %rdi, %r9
movq (%r11), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r11
cmpq %r9, %rdi
jb 0x7982
movq %r15, %r11
movl %r11d, %eax
subl %r13d, %eax
movw %ax, (%r9)
leaq 0x4(%r11), %rax
leaq 0x4(%r13), %rdx
cmpq %rax, %rbx
jbe 0x7b83
movq (%rdx), %rdx
movq (%rax), %rsi
cmpq %rsi, %rdx
jne 0x7a3a
leaq 0xc(%r11), %r15
addq $0xc, %r13
movq %r13, %rdx
cmpq %rbx, %r15
jae 0x79f2
movl %r15d, %esi
subl %r11d, %esi
addl $-0x4, %esi
movq (%rdx), %rdi
movq (%r15), %r8
cmpq %r8, %rdi
jne 0x7a47
addq $0x8, %r15
addq $0x8, %rdx
addl $0x8, %esi
cmpq %rbx, %r15
jb 0x79d7
cmpq -0x40(%rbp), %r15
jae 0x7a07
movl (%rdx), %esi
cmpl (%r15), %esi
jne 0x7a07
addq $0x4, %r15
addq $0x4, %rdx
cmpq -0x60(%rbp), %r15
jae 0x7a1e
movzwl (%rdx), %esi
cmpw (%r15), %si
jne 0x7a1e
addq $0x2, %r15
addq $0x2, %rdx
cmpq -0x88(%rbp), %r15
jae 0x7a35
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%r15), %dl
sete %sil
addq %rsi, %r15
subl %eax, %r15d
jmp 0x7a55
xorq %rdx, %rsi
bsfq %rsi, %r15
shrl $0x3, %r15d
jmp 0x7a55
xorq %rdi, %r8
bsfq %r8, %r15
shrl $0x3, %r15d
addl %esi, %r15d
leal 0xf0(%r15), %eax
xorl %esi, %esi
xorl %edx, %edx
movl $0xff, %edi
divl %edi
addq %r9, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x893f
leaq 0x2(%r9), %rsi
movb (%rcx), %al
cmpl $0xf, %r15d
movq -0x98(%rbp), %r12
jb 0x7b02
addb $0xf, %al
movb %al, (%rcx)
leal -0xf(%r15), %r13d
orl $-0x1, (%rsi)
cmpl $0x3fc, %r13d           # imm = 0x3FC
jb 0x7ae8
leal -0x40b(%r15), %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r14d
movl %edx, %r13d
leaq 0x6(%r9), %rdi
shll $0x2, %r14d
leaq 0x4(%r14), %rdx
movl $0xff, %esi
movq %r11, %r12
movq %r9, -0x38(%rbp)
callq 0x20f0
movq %r12, %r11
movq -0x98(%rbp), %r12
movq -0x38(%rbp), %rax
leaq (%rax,%r14), %rsi
addq $0x6, %rsi
movl %r13d, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %rsi
incq %rsi
movb %dl, -0x1(%rsi)
jmp 0x7b07
addb %r15b, %al
movb %al, (%rcx)
movq -0x50(%rbp), %r14
movl %r15d, %eax
addq %rax, %r11
addq $0x4, %r11
cmpq %r12, %r11
movq -0xb8(%rbp), %rdx
jae 0x6528
leaq -0x2(%r11), %rax
movq -0x2(%r11), %rcx
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
imulq %r15, %rcx
shrq $0x34, %rcx
subl %r14d, %eax
movl %eax, (%rdx,%rcx,4)
movq (%r11), %rax
imulq %r15, %rax
shrq $0x34, %rax
movl %r11d, %ecx
subl %r14d, %ecx
movl (%rdx,%rax,4), %r13d
movl %ecx, (%rdx,%rax,4)
leal 0xffff(%r13), %eax
cmpl %ecx, %eax
jb 0x7b8b
addq %r14, %r13
movl (%r13), %eax
cmpl (%r11), %eax
jne 0x7b8b
leaq 0x1(%rsi), %r9
movb $0x0, (%rsi)
movq %rsi, %rcx
jmp 0x7998
movq %rax, %r15
jmp 0x79c9
leaq 0x2(%r11), %rcx
cmpq %r12, %rcx
movq -0xb8(%rbp), %r13
movl -0x54(%rbp), %edi
movl -0xf8(%rbp), %edx
jbe 0x77d9
jmp 0x6528
movq %r11, %r12
movq -0x70(%rbp), %rsi
subq %rsi, %r12
movl %esi, %ecx
subl %eax, %ecx
movq %rcx, -0x80(%rbp)
leaq (%r11,%rbx), %rax
addq $-0xb, %rax
movq %rax, -0x50(%rbp)
leaq (%r11,%rbx), %rax
addq $-0x5, %rax
movq %rax, -0xa0(%rbp)
movq -0x38(%rbp), %rax
testq %rax, %rax
movq -0x60(%rbp), %rcx
cmoveq %rax, %rcx
movq %rcx, -0x60(%rbp)
movq (%r11), %rax
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %rax
shrq $0x34, %rax
movl %esi, (%r13,%rax,4)
movl -0x54(%rbp), %r10d
shll $0x6, %r10d
incl %r10d
leaq 0x2(%r11), %rdx
leaq 0x1(%r11), %rax
leal 0x1(%rsi), %r15d
movq -0xe8(%rbp), %rcx
leaq -0xc(%rcx), %rsi
movq %rsi, -0x88(%rbp)
leaq -0x8(%rcx), %rsi
movq %rsi, -0x110(%rbp)
addq $-0x6, %rcx
movq %rcx, -0x108(%rbp)
leaq 0x8(%r11), %rcx
movq %rcx, -0x100(%rbp)
movq %r11, %r14
movq -0x90(%rbp), %r8
movq %r12, -0x98(%rbp)
movl %r10d, -0x40(%rbp)
movq %r8, -0xd0(%rbp)
movq 0x1(%r14), %r8
movl -0x54(%rbp), %esi
movl %r10d, %ecx
movq -0xa8(%rbp), %rbx
movq %rdx, %rdi
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
imulq %rdx, %r8
movq %r8, %r10
shrq $0x34, %r10
movl (%r13,%r10,4), %r9d
cmpl -0x70(%rbp), %r9d
jae 0x7cb7
movl (%rbx,%r10,4), %edx
movq -0x80(%rbp), %r8
leal (%rdx,%r8), %r9d
addq -0x48(%rbp), %rdx
movq -0x38(%rbp), %r12
jmp 0x7cbe
leaq (%r12,%r9), %rdx
movq %r11, %r12
movq (%rdi), %r8
movl %r15d, (%r13,%r10,4)
leal 0xffff(%r9), %r10d
cmpl %r15d, %r10d
jb 0x7cda
movl (%rdx), %r10d
cmpl (%rax), %r10d
je 0x7d08
movl %edi, %r15d
movq -0x98(%rbp), %r12
subl %r12d, %r15d
movl %esi, %edx
addq %rdi, %rdx
leal 0x1(%rcx), %eax
shrl $0x6, %ecx
movl %ecx, %esi
movl %eax, %ecx
movq %rdi, %rax
cmpq -0x50(%rbp), %rdx
jbe 0x7c7e
jmp 0x895c
subl %r9d, %r15d
movl %eax, %ecx
subl %r14d, %ecx
leal -0xf(%rcx), %edi
movq %rcx, -0xb0(%rbp)
addl $0xfffffef2, %ecx       # imm = 0xFFFFFEF2
movl %ecx, -0xc0(%rbp)
movl %eax, %ecx
shlb $0x4, %cl
movl %r14d, %esi
shlb $0x4, %sil
subb %sil, %cl
xorl %esi, %esi
movl %edi, -0xd8(%rbp)
movl %edi, %r13d
movq %rsi, %rbx
movl %ecx, %r9d
leaq (%rdx,%rsi), %rcx
leaq (%rax,%rsi), %r8
movq %rcx, -0x78(%rbp)
cmpq %r12, %rcx
jbe 0x7d74
cmpq %r14, %r8
jbe 0x7d74
movb -0x1(%rax,%rbx), %r10b
leal -0x1(%r13), %edi
leaq -0x1(%rbx), %rsi
leal -0x10(%r9), %ecx
cmpb -0x1(%rdx,%rbx), %r10b
je 0x7d3d
movq %r8, -0xc8(%rbp)
subl %r14d, %eax
leal (%rbx,%rax), %r8d
movq -0xb0(%rbp), %rax
addq %rbx, %rax
movq -0xd0(%rbp), %rcx
leaq (%rcx,%r8), %rdi
incq %rdi
xorl %esi, %esi
movq %rax, -0xf0(%rbp)
xorl %edx, %edx
movl $0xff, %r10d
divl %r10d
addq %rdi, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
movl -0x40(%rbp), %r10d
ja 0x8924
movq %r8, -0xe0(%rbp)
leaq 0x1(%rcx), %rdi
cmpl $0xf, -0xf0(%rbp)
jb 0x7e92
movl -0xd8(%rbp), %eax
addq %rbx, %rax
movb $-0x10, (%rcx)
cmpl $0xfe, %eax
jle 0x7e72
movq -0xb0(%rbp), %rdx
addl $0xef, %edx
movq %rdx, -0xb0(%rbp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %r13d
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %r13d, %ecx
cmovgel %eax, %r13d
movl %edx, %eax
subl %ecx, %eax
addl %ebx, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
callq 0x20f0
movq -0xd0(%rbp), %rcx
movl -0x40(%rbp), %r10d
movq -0x30(%rbp), %r11
movq -0xb0(%rbp), %rax
subl %r13d, %eax
addl %ebx, %eax
movq %rax, %rsi
xorl %edx, %edx
movl $0xff, %edi
divl %edi
subl %esi, %edx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl -0xc0(%rbp), %eax
addl %ebx, %eax
addl %edx, %eax
movq -0x88(%rbp), %rbx
movq -0xe0(%rbp), %r13
movq -0x78(%rbp), %r9
movq -0xc8(%rbp), %rdx
movb %al, (%rdi)
incq %rdi
jmp 0x7eae
movb %r9b, (%rcx)
movq -0x88(%rbp), %rbx
movq -0xe0(%rbp), %r13
movq -0x78(%rbp), %r9
movq -0xc8(%rbp), %rdx
addq %rdi, %r13
movq (%r14), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r14
cmpq %r13, %rdi
jb 0x7eb1
movq %rcx, %rdi
movq %rdx, %r14
movw %r15w, (%r13)
cmpq -0x38(%rbp), %r12
je 0x7f7d
leaq 0x4(%r14), %rax
leaq 0x4(%r9), %rdx
cmpq %rax, %rbx
jbe 0x8330
movq (%rdx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0x8018
leaq 0xc(%r14), %rcx
addq $0xc, %r9
movq %r9, %rdx
cmpq %rbx, %rcx
jae 0x7f30
movl %ecx, %esi
subl %r14d, %esi
addl $-0x4, %esi
movq (%rdx), %r8
movq (%rcx), %r9
cmpq %r9, %r8
jne 0x8024
addq $0x8, %rcx
addq $0x8, %rdx
addl $0x8, %esi
cmpq %rbx, %rcx
jb 0x7f11
cmpq -0x110(%rbp), %rcx
jae 0x7f47
movl (%rdx), %esi
cmpl (%rcx), %esi
jne 0x7f47
addq $0x4, %rcx
addq $0x4, %rdx
cmpq -0x108(%rbp), %rcx
jae 0x7f60
movzwl (%rdx), %esi
cmpw (%rcx), %si
jne 0x7f60
addq $0x2, %rcx
addq $0x2, %rdx
cmpq -0xa0(%rbp), %rcx
jae 0x7f76
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%rcx), %dl
sete %sil
addq %rsi, %rcx
subl %eax, %ecx
jmp 0x8030
movq -0x60(%rbp), %rax
subq %r9, %rax
addq %r14, %rax
movq -0xa0(%rbp), %rcx
cmpq %rcx, %rax
cmovaq %rcx, %rax
leaq 0x4(%r14), %rdx
leaq 0x4(%r9), %rsi
leaq -0x7(%rax), %r8
cmpq %rdx, %r8
jbe 0x8338
movq (%rsi), %rcx
movq (%rdx), %rsi
cmpq %rsi, %rcx
jne 0x803e
leaq 0xc(%r14), %rcx
leaq 0xc(%r9), %rsi
movq %r9, %r15
cmpq %r8, %rcx
jae 0x7fef
movl %ecx, %r9d
subl %r14d, %r9d
addl $-0x4, %r9d
movq (%rsi), %r10
movq (%rcx), %r11
cmpq %r11, %r10
jne 0x804a
addq $0x8, %rcx
addq $0x8, %rsi
addl $0x8, %r9d
cmpq %r8, %rcx
jb 0x7fd3
leaq -0x3(%rax), %r8
cmpq %r8, %rcx
jae 0x82c0
movl (%rsi), %r8d
cmpl (%rcx), %r8d
movq %r15, %r9
jne 0x800f
addq $0x4, %rcx
addq $0x4, %rsi
movq -0x30(%rbp), %r11
jmp 0x82c7
xorq %rcx, %rdx
bsfq %rdx, %rcx
shrl $0x3, %ecx
jmp 0x8030
xorq %r8, %r9
bsfq %r9, %rcx
shrl $0x3, %ecx
addl %esi, %ecx
movl %ecx, %eax
addq %rax, %r14
addq $0x4, %r14
jmp 0x8149
xorq %rcx, %rsi
bsfq %rsi, %rcx
shrl $0x3, %ecx
jmp 0x8062
xorq %r10, %r11
bsfq %r11, %rcx
shrl $0x3, %ecx
addl %r9d, %ecx
movq -0x30(%rbp), %r11
movl -0x40(%rbp), %r10d
movq %r15, %r9
movl %ecx, %edx
addq %r14, %rdx
addq $0x4, %rdx
cmpq %rax, %rdx
jne 0x8146
movq %r11, %r8
movq %rax, %rsi
cmpq %rax, %rbx
jbe 0x8099
movq (%r11), %rsi
movq (%rax), %r8
cmpq %r8, %rsi
jne 0x811e
leaq 0x8(%rax), %rsi
movq -0x100(%rbp), %r8
cmpq %rbx, %rsi
jae 0x80d5
addq -0x60(%rbp), %r14
subq %r9, %r14
movq -0xa0(%rbp), %r9
cmpq %r9, %r14
cmovaeq %r9, %r14
movl %esi, %r9d
subl %r14d, %r9d
movq (%r8), %r10
movq (%rsi), %r11
cmpq %r11, %r10
jne 0x812a
addq $0x8, %rsi
addq $0x8, %r8
addl $0x8, %r9d
cmpq %rbx, %rsi
jb 0x80b9
cmpq -0x110(%rbp), %rsi
jae 0x80ee
movl (%r8), %r9d
cmpl (%rsi), %r9d
jne 0x80ee
addq $0x4, %rsi
addq $0x4, %r8
cmpq -0x108(%rbp), %rsi
jae 0x8308
movzwl (%r8), %r9d
cmpw (%rsi), %r9w
movq -0x30(%rbp), %r11
movl -0x40(%rbp), %r10d
jne 0x8310
addq $0x2, %rsi
addq $0x2, %r8
jmp 0x8310
xorq %rsi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
jmp 0x813f
xorq %r10, %r11
bsfq %r11, %rsi
shrl $0x3, %esi
addl %r9d, %esi
movq -0x30(%rbp), %r11
movl -0x40(%rbp), %r10d
addl %esi, %ecx
movl %esi, %eax
addq %rax, %rdx
movq %rdx, %r14
leal 0xf0(%rcx), %eax
xorl %esi, %esi
xorl %edx, %edx
movl $0xff, %r8d
divl %r8d
addq %r13, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
leaq 0x2(%r13), %r8
movb (%rdi), %al
cmpl $0xf, %ecx
jb 0x8203
addb $0xf, %al
movb %al, (%rdi)
leal -0xf(%rcx), %ebx
orl $-0x1, (%r8)
cmpl $0x3fc, %ebx            # imm = 0x3FC
movq -0x98(%rbp), %r15
jb 0x81d8
movq %r13, %rsi
addl $0xfffffbf5, %ecx       # imm = 0xFFFFFBF5
movl %ecx, %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movq %r13, %r12
movl %eax, %r13d
movl %edx, %ebx
leaq 0x6(%rsi), %rdi
shll $0x2, %r13d
leaq 0x4(%r13), %rdx
movl $0xff, %esi
callq 0x20f0
movl -0x40(%rbp), %r10d
movq -0x30(%rbp), %r11
leaq (%r12,%r13), %r8
addq $0x6, %r8
movl %ebx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %r8
incq %r8
movb %dl, -0x1(%r8)
movq -0xb8(%rbp), %r13
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
jmp 0x821f
addb %cl, %al
movb %al, (%rdi)
movq -0xb8(%rbp), %r13
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
movq -0x98(%rbp), %r15
cmpq -0x50(%rbp), %r14
movq -0xa8(%rbp), %rsi
jae 0x6e9a
leaq -0x2(%r14), %rax
movq -0x2(%r14), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
subl %r15d, %eax
movl %eax, (%r13,%rcx,4)
movq (%r14), %rcx
imulq %rdx, %rcx
shrq $0x34, %rcx
movl (%r13,%rcx,4), %eax
cmpl -0x70(%rbp), %eax
jae 0x8276
movl (%rsi,%rcx,4), %edx
movq -0x80(%rbp), %rax
addl %edx, %eax
movq %rdx, %r9
addq -0x48(%rbp), %r9
movq %r15, %rdx
movq -0x38(%rbp), %r12
jmp 0x8280
leaq (%r15,%rax), %r9
movq %r15, %rdx
movq %r11, %r12
movl %r14d, %r15d
subl %edx, %r15d
movl %r15d, (%r13,%rcx,4)
leal 0xffff(%rax), %ecx
cmpl %r15d, %ecx
jb 0x8340
movl (%r9), %ecx
cmpl (%r14), %ecx
jne 0x8340
leaq 0x1(%r8), %r13
movb $0x0, (%r8)
subl %eax, %r15d
movq %r8, %rdi
movq -0x88(%rbp), %rbx
jmp 0x7eca
movq -0x30(%rbp), %r11
movq %r15, %r9
leaq -0x1(%rax), %r8
cmpq %r8, %rcx
jae 0x82e8
movzwl (%rsi), %r8d
cmpw (%rcx), %r8w
movl -0x40(%rbp), %r10d
jne 0x82ec
addq $0x2, %rcx
addq $0x2, %rsi
jmp 0x82ec
movl -0x40(%rbp), %r10d
cmpq %rax, %rcx
jae 0x8301
movb (%rsi), %sil
xorl %r8d, %r8d
cmpb (%rcx), %sil
sete %r8b
addq %r8, %rcx
subl %edx, %ecx
jmp 0x8062
movq -0x30(%rbp), %r11
movl -0x40(%rbp), %r10d
cmpq -0xa0(%rbp), %rsi
jae 0x8329
movb (%r8), %r8b
xorl %r9d, %r9d
cmpb (%rsi), %r8b
sete %r9b
addq %r9, %rsi
subl %eax, %esi
jmp 0x813f
movq %rax, %rcx
jmp 0x7f04
movq %rdx, %rcx
jmp 0x7fc1
leaq 0x1(%r14), %rax
movl %eax, %r15d
movq -0x98(%rbp), %r12
subl %r12d, %r15d
leaq 0x2(%r14), %rdx
cmpq -0x50(%rbp), %rdx
jbe 0x7c66
jmp 0x6e9a
movl %r14d, %eax
shlb $0x4, %al
movq %r8, %rdi
movb %al, (%r8)
incq %rdi
movq %rdi, %rbx
movq %r11, %rsi
movq %r14, %rdx
callq 0x2160
addl %r14d, %ebx
subl -0x90(%rbp), %ebx
movl %ebx, %esi
jmp 0x893f
movq %r8, -0x40(%rbp)
movq -0xd0(%rbp), %rax
subq %r9, %rax
movq -0x40(%rbp), %r8
jmp 0x886b
movl %r15d, %eax
shlb $0x4, %al
movq %r8, %rdi
movb %al, (%r8)
incq %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rdi, %rbx
callq 0x2160
addl %r15d, %ebx
jmp 0x8918
movq %r11, %r12
subq %rcx, %r12
leaq (%r11,%rbx), %rax
addq $-0xb, %rax
movq %rax, -0x70(%rbp)
leaq (%r11,%rbx), %rax
addq $-0x5, %rax
movq %rax, -0x60(%rbp)
movq %r11, %rax
subq %rdi, %rax
movq %rax, -0x98(%rbp)
movq (%r11), %rax
imulq %r15, %rax
shrq $0x34, %rax
movl %ecx, (%r13,%rax,4)
movl -0x54(%rbp), %r8d
movl %r8d, %eax
shll $0x6, %eax
incl %eax
leaq 0x2(%r11), %rcx
leaq -0xc(%rsi), %rbx
leaq -0x8(%rsi), %rdi
movq %rdi, -0xa0(%rbp)
addq $-0x6, %rsi
movq %rsi, -0xb0(%rbp)
movq %rdx, %rsi
movl -0x50(%rbp), %r14d
movq %r12, -0x38(%rbp)
movl %eax, -0x40(%rbp)
movq %rsi, -0x80(%rbp)
leaq 0x1(%r11), %rdx
movq 0x1(%r11), %rdi
movl %eax, %esi
movq %rdx, %rax
movq %rcx, %rdx
imulq %r15, %rdi
movq %rdi, %r10
shrq $0x34, %r10
movl (%r13,%r10,4), %ecx
movl %eax, %r9d
subl %r12d, %r9d
movq (%rdx), %rdi
movl %r9d, (%r13,%r10,4)
cmpl %r14d, %ecx
jb 0x848c
leal 0xffff(%rcx), %r10d
cmpl %r9d, %r10d
jb 0x848c
movl (%r12,%rcx), %r9d
cmpl (%rax), %r9d
je 0x84a8
movl %r8d, %ecx
addq %rdx, %rcx
leal 0x1(%rsi), %eax
shrl $0x6, %esi
movl %esi, %r8d
movl %eax, %esi
cmpq -0x70(%rbp), %rcx
jbe 0x844e
jmp 0x8971
addq %r12, %rcx
movl %eax, %r8d
subl %r11d, %r8d
leal -0xf(%r8), %edi
leal -0x10e(%r8), %edx
movl %edx, -0x88(%rbp)
movl %eax, %edx
shlb $0x4, %dl
movl %r11d, %esi
shlb $0x4, %sil
subb %sil, %dl
xorl %esi, %esi
movl %edi, -0xf8(%rbp)
movl %edi, %r15d
movq %rsi, %r14
movl %edx, %r9d
leaq (%rcx,%rsi), %r13
leaq (%rax,%rsi), %r12
cmpq -0x98(%rbp), %r13
jbe 0x8510
cmpq %r11, %r12
jbe 0x8510
movb -0x1(%rax,%r14), %r10b
leal -0x1(%r15), %edi
leaq -0x1(%r14), %rsi
leal -0x10(%r9), %edx
cmpb -0x1(%rcx,%r14), %r10b
je 0x84d9
subl %r11d, %eax
leal (%r14,%rax), %r10d
movq %r8, -0xa8(%rbp)
addq %r14, %r8
movq -0x80(%rbp), %rcx
leaq (%rcx,%r10), %rax
incq %rax
movq %rax, -0x30(%rbp)
xorl %esi, %esi
movl %r8d, %eax
xorl %edx, %edx
movl $0xff, %edi
divl %edi
movq -0x30(%rbp), %rdx
addq %rdx, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x893f
movq %r10, -0x48(%rbp)
leaq 0x1(%rcx), %rdi
cmpl $0xf, %r8d
jb 0x8607
movl -0xf8(%rbp), %eax
addq %r14, %rax
movb $-0x10, (%rcx)
cmpl $0xfe, %eax
jle 0x85fc
movq -0xa8(%rbp), %rdx
addl $0xef, %edx
movq %rdx, -0xa8(%rbp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %r15d
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %r15d, %ecx
cmovgel %eax, %r15d
movl %edx, %eax
subl %ecx, %eax
addl %r14d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
movq %r11, -0x30(%rbp)
callq 0x20f0
movq -0x80(%rbp), %rcx
movl $0xff, %esi
movq -0x30(%rbp), %r11
movq -0xa8(%rbp), %rax
subl %r15d, %eax
addl %r14d, %eax
movq %rax, %rdi
xorl %edx, %edx
divl %esi
subl %edi, %edx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl -0x88(%rbp), %eax
addl %r14d, %eax
addl %edx, %eax
movq -0x48(%rbp), %r9
movb %al, (%rdi)
incq %rdi
jmp 0x860e
movb %r9b, (%rcx)
movq -0x48(%rbp), %r9
addq %rdi, %r9
movq (%r11), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r11
cmpq %r9, %rdi
jb 0x8611
movq %r12, %r11
movl %r11d, %eax
subl %r13d, %eax
movw %ax, (%r9)
leaq 0x4(%r11), %rax
leaq 0x4(%r13), %rdx
cmpq %rax, %rbx
jbe 0x881c
movq (%rdx), %rdx
movq (%rax), %rsi
cmpq %rsi, %rdx
jne 0x86d4
leaq 0xc(%r11), %r12
addq $0xc, %r13
movq %r13, %rdx
cmpq %rbx, %r12
jae 0x8686
movl %r12d, %esi
subl %r11d, %esi
addl $-0x4, %esi
movq (%rdx), %rdi
movq (%r12), %r8
cmpq %r8, %rdi
jne 0x86e1
addq $0x8, %r12
addq $0x8, %rdx
addl $0x8, %esi
cmpq %rbx, %r12
jb 0x866a
cmpq -0xa0(%rbp), %r12
jae 0x869f
movl (%rdx), %esi
cmpl (%r12), %esi
jne 0x869f
addq $0x4, %r12
addq $0x4, %rdx
cmpq -0xb0(%rbp), %r12
jae 0x86ba
movzwl (%rdx), %esi
cmpw (%r12), %si
jne 0x86ba
addq $0x2, %r12
addq $0x2, %rdx
cmpq -0x60(%rbp), %r12
jae 0x86cf
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%r12), %dl
sete %sil
addq %rsi, %r12
subl %eax, %r12d
jmp 0x86ef
xorq %rdx, %rsi
bsfq %rsi, %r12
shrl $0x3, %r12d
jmp 0x86ef
xorq %rdi, %r8
bsfq %r8, %r12
shrl $0x3, %r12d
addl %esi, %r12d
leal 0xf0(%r12), %eax
xorl %esi, %esi
xorl %edx, %edx
movl $0xff, %edi
divl %edi
addq %r9, %rax
addq $0x8, %rax
cmpq -0x68(%rbp), %rax
ja 0x893f
leaq 0x2(%r9), %rsi
movb (%rcx), %al
cmpl $0xf, %r12d
jb 0x8791
addb $0xf, %al
movb %al, (%rcx)
leal -0xf(%r12), %r13d
orl $-0x1, (%rsi)
cmpl $0x3fc, %r13d           # imm = 0x3FC
jb 0x8777
leal -0x40b(%r12), %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r14d
movl %edx, %r13d
leaq 0x6(%r9), %rdi
shll $0x2, %r14d
leaq 0x4(%r14), %rdx
movl $0xff, %esi
movq %r11, %r15
movq %r9, -0x48(%rbp)
callq 0x20f0
movq %r15, %r11
movq -0x48(%rbp), %rax
leaq (%rax,%r14), %rsi
addq $0x6, %rsi
movl %r13d, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %rsi
incq %rsi
movb %dl, -0x1(%rsi)
jmp 0x8796
addb %r12b, %al
movb %al, (%rcx)
movabsq $-0x30e4432345000000, %r15 # imm = 0xCF1BBCDCBB000000
movl %r12d, %eax
addq %rax, %r11
addq $0x4, %r11
cmpq -0x70(%rbp), %r11
movq -0xb8(%rbp), %rdx
jae 0x64b6
leaq -0x2(%r11), %rax
movq -0x2(%r11), %rcx
imulq %r15, %rcx
shrq $0x34, %rcx
movq -0x38(%rbp), %r12
subl %r12d, %eax
movl %eax, (%rdx,%rcx,4)
movq (%r11), %rcx
imulq %r15, %rcx
shrq $0x34, %rcx
movl %r11d, %eax
subl %r12d, %eax
movl (%rdx,%rcx,4), %r13d
movl %eax, (%rdx,%rcx,4)
movl -0x50(%rbp), %r14d
cmpl %r14d, %r13d
jb 0x8824
leal 0xffff(%r13), %ecx
cmpl %eax, %ecx
jb 0x8824
addq %r12, %r13
movl (%r13), %eax
cmpl (%r11), %eax
jne 0x8824
leaq 0x1(%rsi), %r9
movb $0x0, (%rsi)
movq %rsi, %rcx
jmp 0x8627
movq %rax, %r12
jmp 0x865c
leaq 0x2(%r11), %rcx
cmpq -0x70(%rbp), %rcx
movq -0xb8(%rbp), %r13
movl -0x54(%rbp), %r8d
movl -0x40(%rbp), %eax
jbe 0x8440
jmp 0x64b6
movq %r8, -0x60(%rbp)
movq -0xc8(%rbp), %rax
subq %r9, %rax
movq -0x60(%rbp), %r8
jmp 0x886b
movq -0x38(%rbp), %r9
movq -0x60(%rbp), %r8
movq -0xe8(%rbp), %rax
subq %r9, %rax
leaq (%r8,%rax), %rcx
movq %rax, %r14
addq $0xf0, %rax
xorl %esi, %esi
movl $0xff, %edi
xorl %edx, %edx
divq %rdi
addq %rcx, %rax
incq %rax
cmpq -0x68(%rbp), %rax
ja 0x8924
movq %r9, %r15
cmpq $0xf, %r14
jb 0x88f8
leaq -0xf(%r14), %rax
movb $-0x10, (%r8)
leaq 0x1(%r8), %rdi
cmpq $0xff, %rax
jb 0x88ee
leaq -0x10e(%r14), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rbx
leaq 0x1(%rax), %rdx
movl $0xff, %esi
movq %r8, %r12
callq 0x20f0
imulq $-0xff, %rbx, %rax
addq %r14, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movq %r15, %rsi
movb %al, (%rdi)
movq %rdi, %r8
jmp 0x8904
movl %r14d, %eax
shlb $0x4, %al
movb %al, (%r8)
movq %r15, %rsi
incq %r8
movq %r8, %rdi
movq %r14, %rdx
movq %r8, %rbx
callq 0x2160
addl %r14d, %ebx
subl -0x90(%rbp), %ebx
movl %ebx, %esi
movq -0x30(%rbp), %r11
movq -0xb8(%rbp), %rax
movq %r11, 0x4008(%rax)
movq -0xf8(%rbp), %rcx
movl %ecx, 0x4018(%rax)
movl %esi, %eax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x48(%rbp), %rsi
jmp 0x6528
movq -0xd0(%rbp), %r8
jmp 0x6e9a
movq -0x38(%rbp), %r9
jmp 0x8395
movq -0x80(%rbp), %rsi
jmp 0x64b6
movq -0x48(%rbp), %r9
jmp 0x8849