// File: /workspace/github_c_makefile_star2_O2/Aethlas[P]fflz4/./lib/lz4/lz4.c
// Function: LZ4_compress_forceExtDict
int LZ4_compress_forceExtDict (LZ4_stream_t* LZ4_dict, const char* source, char* dest, int srcSize)
{
    LZ4_stream_t_internal* streamPtr = &LZ4_dict->internal_donotuse;
    int result;

    LZ4_renormDictT(streamPtr, srcSize);

    if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset)) {
        result = LZ4_compress_generic(streamPtr, source, dest, srcSize, NULL, 0, notLimited, byU32, usingExtDict, dictSmall, 1);
    } else {
        result = LZ4_compress_generic(streamPtr, source, dest, srcSize, NULL, 0, notLimited, byU32, usingExtDict, noDictIssue, 1);
    }

    streamPtr->dictionary = (const BYTE*)source;
    streamPtr->dictSize = (U32)srcSize;

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movl %ecx, %ebx
movq %rdx, %r15
movq %rsi, %r13
movq %rdi, %r14
movl %ecx, %esi
callq 0x85d6
movl 0x4018(%r14), %eax
movl %eax, %r8d
cmpl $0x10000, %eax          # imm = 0x10000
setb %cl
movl 0x4000(%r14), %r12d
cmpl %eax, %r12d
seta %dl
andb %cl, %dl
movl %r12d, %eax
movq %r13, %r10
subq %rax, %r10
negq %rax
movq %rax, 0x20(%rsp)
movq 0x4008(%r14), %rax
movq %rax, 0x18(%rsp)
movslq %ebx, %rax
cmpb $0x1, %dl
jne 0x8c7c
cmpl $0x7e000000, %ebx       # imm = 0x7E000000
ja 0x8c84
leaq (%rax,%r13), %rbp
leal (%r8,%rbx), %ecx
movl %ecx, 0x4018(%r14)
leal (%r12,%rbx), %ecx
movl %ecx, 0x4000(%r14)
movw $0x2, 0x4006(%r14)
movq %r15, %rdi
movq %r13, %rsi
cmpl $0xd, %ebx
jb 0x924a
movq %rbx, 0x50(%rsp)
movl %r12d, %ecx
subl %r8d, %ecx
movl %ecx, 0x60(%rsp)
addq 0x18(%rsp), %r8
leaq (%rax,%r13), %rcx
addq $-0xb, %rcx
movq %rcx, 0x28(%rsp)
addq %r13, %rax
addq $-0x5, %rax
movq %rax, 0x8(%rsp)
movq %r8, 0x58(%rsp)
addq %r8, 0x20(%rsp)
movq (%r13), %rax
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %rax
shrq $0x34, %rax
movl %r12d, (%r14,%rax,4)
leaq -0xc(%rbp), %rbx
leaq -0x8(%rbp), %rax
movq %rax, 0x38(%rsp)
movq %rbp, 0x40(%rsp)
leaq -0x6(%rbp), %rax
movq %rax, 0x30(%rsp)
leaq 0x8(%r13), %rax
movq %rax, 0x68(%rsp)
pushq $0x40
popq %rax
pushq $0x1
popq %rcx
movq %r15, 0x48(%rsp)
movq %r15, (%rsp)
movq %r13, %rsi
movq %r13, 0x70(%rsp)
movq %r12, 0x10(%rsp)
leaq 0x1(%rsi), %r11
movq 0x1(%rsi), %rdx
movl %ecx, %r15d
addq %r11, %r15
cmpq 0x28(%rsp), %r15
ja 0x92e9
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %rdx
movq %rdx, %rdi
shrq $0x34, %rdi
movl %r11d, %ecx
subl %r10d, %ecx
movl (%r14,%rdi,4), %r9d
movq (%r15), %rdx
movl %ecx, (%r14,%rdi,4)
cmpl 0x60(%rsp), %r9d
jb 0x87f3
leal 0xffff(%r9), %edi
cmpl %ecx, %edi
jb 0x87f3
movq 0x20(%rsp), %r8
cmpl %r12d, %r9d
jb 0x87ea
movq %r10, %r8
movl (%r8,%r9), %edi
cmpl (%r11), %edi
je 0x87ff
movl %eax, %ecx
shrl $0x6, %ecx
incl %eax
movq %r15, %r11
jmp 0x8794
addq %r9, %r8
cmpl %r12d, %r9d
movq %r13, %rdx
cmovbq 0x18(%rsp), %rdx
subl %r9d, %ecx
movl %r11d, %edi
shlb $0x4, %dil
movl %esi, %eax
shlb $0x4, %al
subb %al, %dil
xorl %ebp, %ebp
movq %rbp, %r12
movl %edi, %r9d
leaq (%r8,%rbp), %rax
leaq (%r11,%rbp), %r15
cmpq %rdx, %rax
jbe 0x884f
cmpq %rsi, %r15
jbe 0x884f
movb -0x1(%r11,%r12), %r13b
leaq -0x1(%r12), %rbp
leal -0x10(%r9), %edi
cmpb -0x1(%r8,%r12), %r13b
je 0x8822
movl %r11d, %edi
subl %esi, %edi
addl %r12d, %edi
cmpl $0xf, %edi
jb 0x888c
subl %esi, %r11d
leal (%r11,%r12), %r9d
addl $-0xf, %r9d
movq (%rsp), %rdi
movb $-0x10, (%rdi)
leaq 0x2(%rdi), %r8
cmpl $0xff, %r9d
jl 0x8899
movb $-0x1, -0x1(%r8)
addl $0xffffff01, %r9d       # imm = 0xFFFFFF01
incq %r8
jmp 0x8872
movq (%rsp), %rdi
leaq 0x1(%rdi), %r8
movb %r9b, (%rdi)
jmp 0x889d
movb %r9b, -0x1(%r8)
movq %r15, %rdi
subq %rsi, %rdi
movl %edi, %r11d
addq %r8, %r11
movq (%rsi), %rdi
movq %rdi, (%r8)
addq $0x8, %r8
addq $0x8, %rsi
cmpq %r11, %r8
jb 0x88a9
movq 0x70(%rsp), %r13
movw %cx, (%r11)
cmpq 0x18(%rsp), %rdx
je 0x8924
leaq 0x4(%r15), %rcx
leaq 0x4(%rax), %rdx
cmpq %rcx, %rbx
jbe 0x8c55
movq (%rdx), %rdx
movq (%rcx), %rsi
cmpq %rsi, %rdx
jne 0x8991
leaq 0xc(%r15), %rsi
addq $0xc, %rax
movq %rax, %rdx
movl %esi, %eax
subl %r15d, %eax
addl $-0x4, %eax
cmpq %rbx, %rsi
jae 0x8b6d
movq (%rdx), %rdi
movq (%rsi), %r8
cmpq %r8, %rdi
jne 0x899d
addq $0x8, %rsi
addq $0x8, %rdx
addl $0x8, %eax
jmp 0x88ff
movq 0x58(%rsp), %rcx
subq %rax, %rcx
addq %r15, %rcx
movq 0x8(%rsp), %rdx
cmpq %rdx, %rcx
cmovaq %rdx, %rcx
leaq 0x4(%r15), %rdx
leaq 0x4(%rax), %r12
leaq -0x7(%rcx), %r8
cmpq %rdx, %r8
jbe 0x8c5d
movq (%r12), %rsi
movq (%rdx), %rdi
cmpq %rdi, %rsi
jne 0x89bb
leaq 0xc(%r15), %rsi
leaq 0xc(%rax), %r12
movl %esi, %r9d
subl %r15d, %r9d
addl $-0x4, %r9d
cmpq %r8, %rsi
jae 0x8bb7
movq (%r12), %rdi
movq (%rsi), %rbp
cmpq %rbp, %rdi
jne 0x89c7
addq $0x8, %rsi
addq $0x8, %r12
addl $0x8, %r9d
jmp 0x896e
xorq %rdx, %rsi
bsfq %rsi, %rsi
shrl $0x3, %esi
jmp 0x89a9
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addl %eax, %esi
movq (%rsp), %rdx
movl %esi, %eax
addq %rax, %r15
addq $0x4, %r15
jmp 0x8a68
xorq %rsi, %rdi
bsfq %rdi, %rsi
shrl $0x3, %esi
jmp 0x89d4
xorq %rdi, %rbp
bsfq %rbp, %rsi
shrl $0x3, %esi
addl %r9d, %esi
movl %esi, %edx
addq %r15, %rdx
addq $0x4, %rdx
cmpq %rcx, %rdx
je 0x89e7
movq %rdx, %r15
jmp 0x8a64
movq %r13, %r12
movq %rcx, %rdx
cmpq %rcx, %rbx
jbe 0x8a07
movq (%r13), %rdx
movq (%rcx), %rdi
cmpq %rdi, %rdx
jne 0x8a42
leaq 0x8(%rcx), %rdx
movq 0x68(%rsp), %r12
addq 0x58(%rsp), %r15
subq %rax, %r15
movq 0x8(%rsp), %rax
cmpq %rax, %r15
cmovaeq %rax, %r15
movl %edx, %eax
subl %r15d, %eax
cmpq %rbx, %rdx
jae 0x8c08
movq (%r12), %rdi
movq (%rdx), %r8
cmpq %r8, %rdi
jne 0x8a4e
addq $0x8, %rdx
addq $0x8, %r12
addl $0x8, %eax
jmp 0x8a20
xorq %rdx, %rdi
bsfq %rdi, %rdx
shrl $0x3, %edx
jmp 0x8a5a
xorq %rdi, %r8
bsfq %r8, %rdx
shrl $0x3, %edx
addl %eax, %edx
addl %edx, %esi
movl %edx, %eax
addq %rax, %rcx
movq %rcx, %r15
movq (%rsp), %rdx
leaq 0x2(%r11), %r12
movb (%rdx), %al
cmpl $0xf, %esi
jb 0x8ad2
addb $0xf, %al
movb %al, (%rdx)
leal -0xf(%rsi), %eax
orl $-0x1, (%r12)
xorl %r8d, %r8d
cmpl $0x3fc, %eax            # imm = 0x3FC
jb 0x8a9a
orl $-0x1, 0x6(%r11,%r8)
addl $0xfffffc04, %eax       # imm = 0xFFFFFC04
addq $0x4, %r8
jmp 0x8a82
movzwl %ax, %ecx
movq %rcx, %rax
xorl %edx, %edx
movl $0xff, %edi
divq %rdi
addq %rax, %r11
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
addl %r8d, %eax
leaq (%r8,%r11), %r12
addq $0x3, %r12
movb %al, -0x1(%r12)
jmp 0x8ad7
addb %sil, %al
movb %al, (%rdx)
cmpq 0x28(%rsp), %r15
jae 0x9235
leaq -0x2(%r15), %rax
movq -0x2(%r15), %rcx
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
imulq %rdx, %rcx
shrq $0x34, %rcx
subl %r10d, %eax
movl %eax, (%r14,%rcx,4)
movq (%r15), %rdi
imulq %rdx, %rdi
shrq $0x34, %rdi
movl %r15d, %ecx
subl %r10d, %ecx
movl (%r14,%rdi,4), %esi
cmpl 0x10(%rsp), %esi
movq %r10, %rax
cmovbq 0x20(%rsp), %rax
movq %r13, %rdx
cmovbq 0x18(%rsp), %rdx
addq %rsi, %rax
movl %ecx, (%r14,%rdi,4)
leal 0xffff(%rsi), %edi
cmpl 0x60(%rsp), %esi
jb 0x8c65
cmpl %ecx, %edi
jb 0x8c65
movl (%rax), %edi
cmpl (%r15), %edi
jne 0x8c65
leaq 0x1(%r12), %r11
movb $0x0, (%r12)
subl %esi, %ecx
movq %r12, (%rsp)
jmp 0x88c1
cmpq 0x38(%rsp), %rsi
jae 0x8b82
movl (%rdx), %eax
cmpl (%rsi), %eax
jne 0x8b82
addq $0x4, %rsi
addq $0x4, %rdx
cmpq 0x30(%rsp), %rsi
jae 0x8b99
movzwl (%rdx), %eax
cmpw (%rsi), %ax
jne 0x8b99
addq $0x2, %rsi
addq $0x2, %rdx
cmpq 0x8(%rsp), %rsi
jae 0x8bac
movb (%rdx), %al
xorl %edx, %edx
cmpb (%rsi), %al
sete %dl
addq %rdx, %rsi
movq (%rsp), %rdx
subl %ecx, %esi
jmp 0x89ad
leaq -0x3(%rcx), %rdi
cmpq %rdi, %rsi
jae 0x8bd0
movl (%r12), %edi
cmpl (%rsi), %edi
jne 0x8bd0
addq $0x4, %rsi
addq $0x4, %r12
leaq -0x1(%rcx), %rdi
cmpq %rdi, %rsi
jae 0x8beb
movzwl (%r12), %edi
cmpw (%rsi), %di
jne 0x8beb
addq $0x2, %rsi
addq $0x2, %r12
cmpq %rcx, %rsi
jae 0x8c01
movb (%r12), %dil
xorl %r8d, %r8d
cmpb (%rsi), %dil
sete %r8b
addq %r8, %rsi
subl %edx, %esi
jmp 0x89d4
cmpq 0x38(%rsp), %rdx
jae 0x8c1f
movl (%r12), %eax
cmpl (%rdx), %eax
jne 0x8c1f
addq $0x4, %rdx
addq $0x4, %r12
cmpq 0x30(%rsp), %rdx
jae 0x8c38
movzwl (%r12), %eax
cmpw (%rdx), %ax
jne 0x8c38
addq $0x2, %rdx
addq $0x2, %r12
cmpq 0x8(%rsp), %rdx
jae 0x8c4e
movb (%r12), %al
xorl %edi, %edi
cmpb (%rdx), %al
sete %dil
addq %rdi, %rdx
subl %ecx, %edx
jmp 0x8a5a
movq %rcx, %rsi
jmp 0x88f7
movq %rdx, %rsi
jmp 0x8964
movq %r12, (%rsp)
movq %r15, %rsi
movq 0x10(%rsp), %r12
pushq $0x40
popq %rax
pushq $0x1
popq %rcx
jmp 0x878c
cmpl $0x7e000000, %ebx       # imm = 0x7E000000
jbe 0x8c8b
xorl %eax, %eax
jmp 0x92cc
leaq (%rax,%r13), %rbp
leal (%r8,%rbx), %ecx
movl %ecx, 0x4018(%r14)
leal (%r12,%rbx), %ecx
movl %ecx, 0x4000(%r14)
movw $0x2, 0x4006(%r14)
movq %r15, %rdi
movq %r13, %rsi
cmpl $0xd, %ebx
jb 0x9285
movq %r10, 0x28(%rsp)
movq %rbx, 0x50(%rsp)
pushq $0x40
popq %r10
pushq $0x1
popq %rdi
addq 0x18(%rsp), %r8
leaq (%rax,%r13), %rcx
addq $-0xb, %rcx
movq %rcx, 0x60(%rsp)
addq %r13, %rax
addq $-0x5, %rax
movq %rax, 0x8(%rsp)
movq %r8, 0x58(%rsp)
addq %r8, 0x20(%rsp)
movq (%r13), %rax
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %rax
shrq $0x34, %rax
movl %r12d, (%r14,%rax,4)
movq %rbp, %rax
addq $-0xc, %rbp
leaq -0x8(%rax), %rcx
movq %rcx, 0x38(%rsp)
movq %rax, 0x40(%rsp)
addq $-0x6, %rax
movq %rax, 0x30(%rsp)
leaq 0x8(%r13), %rax
movq %rax, 0x68(%rsp)
movq %r15, 0x48(%rsp)
movq %r15, (%rsp)
movq %r13, %rsi
movq %r13, 0x70(%rsp)
movq %r12, 0x10(%rsp)
leaq 0x1(%rsi), %r11
movq 0x1(%rsi), %rdx
movl %edi, %ecx
movl %r10d, %eax
movl %ecx, %r15d
addq %r11, %r15
cmpq 0x60(%rsp), %r15
ja 0x92fc
movabsq $-0x30e4432345000000, %rcx # imm = 0xCF1BBCDCBB000000
imulq %rcx, %rdx
movq %rdx, %rdi
shrq $0x34, %rdi
movl %r11d, %ecx
subl 0x28(%rsp), %ecx
movl (%r14,%rdi,4), %r9d
movq (%r15), %rdx
movl %ecx, (%r14,%rdi,4)
leal 0xffff(%r9), %edi
cmpl %ecx, %edi
jb 0x8db6
movq 0x20(%rsp), %r8
cmpl %r12d, %r9d
jb 0x8dad
movq 0x28(%rsp), %r8
movl (%r8,%r9), %edi
cmpl (%r11), %edi
je 0x8dc2
movl %eax, %ecx
shrl $0x6, %ecx
incl %eax
movq %r15, %r11
jmp 0x8d5b
addq %r9, %r8
cmpl %r12d, %r9d
movq %r13, %rdx
cmovbq 0x18(%rsp), %rdx
subl %r9d, %ecx
movl %r11d, %ebx
shlb $0x4, %bl
movl %esi, %eax
shlb $0x4, %al
subb %al, %bl
xorl %edi, %edi
movq %rdi, %r12
movl %ebx, %r9d
leaq (%r8,%rdi), %rax
leaq (%r11,%rdi), %r15
cmpq %rdx, %rax
jbe 0x8e10
cmpq %rsi, %r15
jbe 0x8e10
movb -0x1(%r11,%r12), %r13b
leaq -0x1(%r12), %rdi
leal -0x10(%r9), %ebx
cmpb -0x1(%r8,%r12), %r13b
je 0x8de3
movl %r11d, %edi
subl %esi, %edi
addl %r12d, %edi
cmpl $0xf, %edi
jb 0x8e4d
subl %esi, %r11d
leal (%r11,%r12), %r9d
addl $-0xf, %r9d
movq (%rsp), %rdi
movb $-0x10, (%rdi)
leaq 0x2(%rdi), %r8
cmpl $0xff, %r9d
jl 0x8e5a
movb $-0x1, -0x1(%r8)
addl $0xffffff01, %r9d       # imm = 0xFFFFFF01
incq %r8
jmp 0x8e33
movq (%rsp), %rdi
leaq 0x1(%rdi), %r8
movb %r9b, (%rdi)
jmp 0x8e5e
movb %r9b, -0x1(%r8)
movq %r15, %rdi
subq %rsi, %rdi
movl %edi, %r11d
addq %r8, %r11
movq (%rsi), %rdi
movq %rdi, (%r8)
addq $0x8, %r8
addq $0x8, %rsi
cmpq %r11, %r8
jb 0x8e6a
movq 0x70(%rsp), %r13
movw %cx, (%r11)
cmpq 0x18(%rsp), %rdx
je 0x8ee5
leaq 0x4(%r15), %rcx
leaq 0x4(%rax), %rdx
cmpq %rcx, %rbp
jbe 0x9211
movq (%rdx), %rdx
movq (%rcx), %rsi
cmpq %rsi, %rdx
jne 0x8f52
leaq 0xc(%r15), %rsi
addq $0xc, %rax
movq %rax, %rdx
movl %esi, %eax
subl %r15d, %eax
addl $-0x4, %eax
cmpq %rbp, %rsi
jae 0x9129
movq (%rdx), %rdi
movq (%rsi), %r8
cmpq %r8, %rdi
jne 0x8f5e
addq $0x8, %rsi
addq $0x8, %rdx
addl $0x8, %eax
jmp 0x8ec0
movq 0x58(%rsp), %rcx
subq %rax, %rcx
addq %r15, %rcx
movq 0x8(%rsp), %rdx
cmpq %rdx, %rcx
cmovaq %rdx, %rcx
leaq 0x4(%r15), %rdx
leaq 0x4(%rax), %r12
leaq -0x7(%rcx), %r8
cmpq %rdx, %r8
jbe 0x9219
movq (%r12), %rsi
movq (%rdx), %rdi
cmpq %rdi, %rsi
jne 0x8f7c
leaq 0xc(%r15), %rsi
leaq 0xc(%rax), %r12
movl %esi, %r9d
subl %r15d, %r9d
addl $-0x4, %r9d
cmpq %r8, %rsi
jae 0x9173
movq (%r12), %rdi
movq (%rsi), %rbx
cmpq %rbx, %rdi
jne 0x8f88
addq $0x8, %rsi
addq $0x8, %r12
addl $0x8, %r9d
jmp 0x8f2f
xorq %rdx, %rsi
bsfq %rsi, %rsi
shrl $0x3, %esi
jmp 0x8f6a
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addl %eax, %esi
movq (%rsp), %rdx
movl %esi, %eax
addq %rax, %r15
addq $0x4, %r15
jmp 0x9029
xorq %rsi, %rdi
bsfq %rdi, %rsi
shrl $0x3, %esi
jmp 0x8f95
xorq %rdi, %rbx
bsfq %rbx, %rsi
shrl $0x3, %esi
addl %r9d, %esi
movl %esi, %edx
addq %r15, %rdx
addq $0x4, %rdx
cmpq %rcx, %rdx
je 0x8fa8
movq %rdx, %r15
jmp 0x9025
movq %r13, %r12
movq %rcx, %rdx
cmpq %rcx, %rbp
jbe 0x8fc8
movq (%r13), %rdx
movq (%rcx), %rdi
cmpq %rdi, %rdx
jne 0x9003
leaq 0x8(%rcx), %rdx
movq 0x68(%rsp), %r12
addq 0x58(%rsp), %r15
subq %rax, %r15
movq 0x8(%rsp), %rax
cmpq %rax, %r15
cmovaeq %rax, %r15
movl %edx, %eax
subl %r15d, %eax
cmpq %rbp, %rdx
jae 0x91c4
movq (%r12), %rdi
movq (%rdx), %r8
cmpq %r8, %rdi
jne 0x900f
addq $0x8, %rdx
addq $0x8, %r12
addl $0x8, %eax
jmp 0x8fe1
xorq %rdx, %rdi
bsfq %rdi, %rdx
shrl $0x3, %edx
jmp 0x901b
xorq %rdi, %r8
bsfq %r8, %rdx
shrl $0x3, %edx
addl %eax, %edx
addl %edx, %esi
movl %edx, %eax
addq %rax, %rcx
movq %rcx, %r15
movq (%rsp), %rdx
leaq 0x2(%r11), %r12
movb (%rdx), %al
cmpl $0xf, %esi
jb 0x905b
addb $0xf, %al
movb %al, (%rdx)
leal -0xf(%rsi), %eax
orl $-0x1, (%r12)
xorl %r8d, %r8d
cmpl $0x3fc, %eax            # imm = 0x3FC
jb 0x9062
orl $-0x1, 0x6(%r11,%r8)
addl $0xfffffc04, %eax       # imm = 0xFFFFFC04
addq $0x4, %r8
jmp 0x9043
addb %sil, %al
movb %al, (%rdx)
jmp 0x9098
movzwl %ax, %ecx
movq %rcx, %rax
xorl %edx, %edx
movl $0xff, %edi
divq %rdi
addq %rax, %r11
movl %ecx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
addb %sil, %al
addb $-0xf, %al
movzbl %al, %eax
addl %r8d, %eax
leaq (%r8,%r11), %r12
addq $0x3, %r12
movb %al, -0x1(%r12)
cmpq 0x60(%rsp), %r15
jae 0x9270
leaq -0x2(%r15), %rax
movq -0x2(%r15), %rcx
movabsq $-0x30e4432345000000, %rdx # imm = 0xCF1BBCDCBB000000
imulq %rdx, %rcx
shrq $0x34, %rcx
movq 0x28(%rsp), %r8
subl %r8d, %eax
movl %eax, (%r14,%rcx,4)
movq (%r15), %rdi
imulq %rdx, %rdi
shrq $0x34, %rdi
movl %r15d, %ecx
subl %r8d, %ecx
movl (%r14,%rdi,4), %esi
cmpl 0x10(%rsp), %esi
movq %r8, %rax
cmovbq 0x20(%rsp), %rax
movq %r13, %rdx
cmovbq 0x18(%rsp), %rdx
addq %rsi, %rax
movl %ecx, (%r14,%rdi,4)
leal 0xffff(%rsi), %edi
cmpl %ecx, %edi
jb 0x9221
movl (%rax), %edi
cmpl (%r15), %edi
jne 0x9221
leaq 0x1(%r12), %r11
movb $0x0, (%r12)
subl %esi, %ecx
movq %r12, (%rsp)
jmp 0x8e82
cmpq 0x38(%rsp), %rsi
jae 0x913e
movl (%rdx), %eax
cmpl (%rsi), %eax
jne 0x913e
addq $0x4, %rsi
addq $0x4, %rdx
cmpq 0x30(%rsp), %rsi
jae 0x9155
movzwl (%rdx), %eax
cmpw (%rsi), %ax
jne 0x9155
addq $0x2, %rsi
addq $0x2, %rdx
cmpq 0x8(%rsp), %rsi
jae 0x9168
movb (%rdx), %al
xorl %edx, %edx
cmpb (%rsi), %al
sete %dl
addq %rdx, %rsi
movq (%rsp), %rdx
subl %ecx, %esi
jmp 0x8f6e
leaq -0x3(%rcx), %rdi
cmpq %rdi, %rsi
jae 0x918c
movl (%r12), %edi
cmpl (%rsi), %edi
jne 0x918c
addq $0x4, %rsi
addq $0x4, %r12
leaq -0x1(%rcx), %rdi
cmpq %rdi, %rsi
jae 0x91a7
movzwl (%r12), %edi
cmpw (%rsi), %di
jne 0x91a7
addq $0x2, %rsi
addq $0x2, %r12
cmpq %rcx, %rsi
jae 0x91bd
movb (%r12), %dil
xorl %r8d, %r8d
cmpb (%rsi), %dil
sete %r8b
addq %r8, %rsi
subl %edx, %esi
jmp 0x8f95
cmpq 0x38(%rsp), %rdx
jae 0x91db
movl (%r12), %eax
cmpl (%rdx), %eax
jne 0x91db
addq $0x4, %rdx
addq $0x4, %r12
cmpq 0x30(%rsp), %rdx
jae 0x91f4
movzwl (%r12), %eax
cmpw (%rdx), %ax
jne 0x91f4
addq $0x2, %rdx
addq $0x2, %r12
cmpq 0x8(%rsp), %rdx
jae 0x920a
movb (%r12), %al
xorl %edi, %edi
cmpb (%rdx), %al
sete %dil
addq %rdi, %rdx
subl %ecx, %edx
jmp 0x901b
movq %rcx, %rsi
jmp 0x8eb8
movq %rdx, %rsi
jmp 0x8f25
movq %r12, (%rsp)
movq %r15, %rsi
movq 0x10(%rsp), %r12
pushq $0x1
popq %rdi
jmp 0x8d4e
movq %r12, %rdi
movq %r15, %rsi
movq 0x50(%rsp), %rbx
movq 0x48(%rsp), %r15
movq 0x40(%rsp), %rbp
subq %rsi, %rbp
cmpq $0xf, %rbp
jb 0x92ab
leaq -0xf(%rbp), %rax
movb $-0x10, (%rdi)
incq %rdi
cmpq $0xff, %rax
jb 0x92b4
movb $-0x1, (%rdi)
addq $-0xff, %rax
jmp 0x925a
movq %r12, %rdi
movq %r15, %rsi
movq 0x50(%rsp), %rbx
movq 0x48(%rsp), %r15
movq 0x40(%rsp), %rbp
subq %rsi, %rbp
cmpq $0xf, %rbp
jb 0x92ab
leaq -0xf(%rbp), %rax
movb $-0x10, (%rdi)
incq %rdi
cmpq $0xff, %rax
jb 0x92b4
movb $-0x1, (%rdi)
addq $-0xff, %rax
jmp 0x9295
movl %ebp, %eax
shlb $0x4, %al
movb %al, (%rdi)
jmp 0x92b6
movb %al, (%rdi)
incq %rdi
movq %rdi, %r12
movq %rbp, %rdx
callq 0x1140
movq %r12, %rax
addl %ebp, %eax
subl %r15d, %eax
movq %r13, 0x4008(%r14)
movl %ebx, 0x4018(%r14)
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x50(%rsp), %rbx
movq 0x48(%rsp), %r15
movq (%rsp), %rdi
jmp 0x9245
movq 0x50(%rsp), %rbx
movq 0x48(%rsp), %r15
movq (%rsp), %rdi
jmp 0x9280