// File: /workspace/github_c_makefile_star2_O3/Aethlas[P]fflz4/./lib/lz4/lz4.c
// Function: LZ4_compress_fast_extState_fastReset
int LZ4_compress_fast_extState_fastReset(void* state, const char* src, char* dst, int srcSize, int dstCapacity, int acceleration)
{
    LZ4_stream_t_internal* ctx = &((LZ4_stream_t*)state)->internal_donotuse;
    if (acceleration < 1) acceleration = ACCELERATION_DEFAULT;

    if (dstCapacity >= LZ4_compressBound(srcSize)) {
        if (srcSize < LZ4_64Klimit) {
            const tableType_t tableType = byU16;
            LZ4_prepareTable(ctx, srcSize, tableType);
            if (ctx->currentOffset) {
                return LZ4_compress_generic(ctx, src, dst, srcSize, NULL, 0, notLimited, tableType, noDict, dictSmall, acceleration);
            } else {
                return LZ4_compress_generic(ctx, src, dst, srcSize, NULL, 0, notLimited, tableType, noDict, noDictIssue, acceleration);
            }
        } else {
            const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)src > LZ4_DISTANCE_MAX)) ? byPtr : byU32;
            LZ4_prepareTable(ctx, srcSize, tableType);
            return LZ4_compress_generic(ctx, src, dst, srcSize, NULL, 0, notLimited, tableType, noDict, noDictIssue, acceleration);
        }
    } else {
        if (srcSize < LZ4_64Klimit) {
            const tableType_t tableType = byU16;
            LZ4_prepareTable(ctx, srcSize, tableType);
            if (ctx->currentOffset) {
                return LZ4_compress_generic(ctx, src, dst, srcSize, NULL, dstCapacity, limitedOutput, tableType, noDict, dictSmall, acceleration);
            } else {
                return LZ4_compress_generic(ctx, src, dst, srcSize, NULL, dstCapacity, limitedOutput, tableType, noDict, noDictIssue, acceleration);
            }
        } else {
            const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)src > LZ4_DISTANCE_MAX)) ? byPtr : byU32;
            LZ4_prepareTable(ctx, srcSize, tableType);
            return LZ4_compress_generic(ctx, src, dst, srcSize, NULL, dstCapacity, limitedOutput, tableType, noDict, noDictIssue, acceleration);
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movl %ecx, %r14d
movq %rdx, 0x50(%rsp)
movq %rsi, %r11
cmpl $0x2, %r9d
pushq $0x1
popq %rbp
cmovll %ebp, %r9d
movl %r9d, %r15d
xorl %ecx, %ecx
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
ja 0x2915
movl $0xff, %ecx
movl %r14d, %eax
xorl %edx, %edx
divl %ecx
leal (%r14,%rax), %ecx
addl $0x10, %ecx
movzwl 0x4004(%rdi), %eax
movl %r14d, %ebx
movslq %r14d, %r12
cmpl %r8d, %ecx
movq %r11, 0x18(%rsp)
movq %rdi, 0x8(%rsp)
jle 0x2962
movslq %r8d, %r9
cmpl $0x1000a, %r14d         # imm = 0x1000A
jg 0x298a
testw %ax, %ax
je 0x29e6
movl $0x4020, %edx           # imm = 0x4020
xorl %esi, %esi
movq %r9, %rbx
callq 0x10c0
movq %rbx, %r9
movq 0x18(%rsp), %r11
jmp 0x2b1d
cmpl $0x1000a, %r14d         # imm = 0x1000A
jg 0x29bb
testw %ax, %ax
je 0x2a0a
movl $0x4020, %edx           # imm = 0x4020
xorl %esi, %esi
callq 0x10c0
movq 0x18(%rsp), %r11
jmp 0x311a
testw %ax, %ax
je 0x2a2d
xorl %ebp, %ebp
movl $0x4020, %edx           # imm = 0x4020
xorl %esi, %esi
movq %r9, %r12
callq 0x10c0
movq %r12, %r9
movq 0x18(%rsp), %r11
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
jmp 0x35d1
testw %ax, %ax
je 0x2a5d
xorl %ebp, %ebp
movl $0x4020, %edx           # imm = 0x4020
xorl %esi, %esi
callq 0x10c0
movq 0x18(%rsp), %r11
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
jmp 0x3a62
movzwl 0x4006(%rdi), %eax
cmpl $0x3, %eax
je 0x2acf
testl %eax, %eax
jne 0x2af4
movl 0x4000(%rdi), %r13d
jmp 0x3006
movzwl 0x4006(%rdi), %eax
cmpl $0x3, %eax
je 0x306f
testl %eax, %eax
jne 0x308f
movl 0x4000(%rdi), %edx
jmp 0x30b4
cmpw $0x0, 0x4006(%rdi)
je 0x2a91
andw $0x0, 0x4006(%rdi)
xorl %ebp, %ebp
movl $0x4004, %edx           # imm = 0x4004
xorl %esi, %esi
movq %r9, %r12
callq 0x10c0
movq %r12, %r9
movq 0x8(%rsp), %rdi
jmp 0x35b1
cmpw $0x0, 0x4006(%rdi)
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
je 0x2ab0
andw $0x0, 0x4006(%rdi)
xorl %ebp, %ebp
movl $0x4004, %edx           # imm = 0x4004
xorl %esi, %esi
callq 0x10c0
movq 0x8(%rsp), %rdi
jmp 0x3a4c
movl 0x4000(%rdi), %ebp
testl %ebp, %ebp
je 0x35af
addl $0x10000, %ebp          # imm = 0x10000
movl %ebp, 0x4000(%rdi)
jmp 0x35b1
movl 0x4000(%rdi), %ebp
testl %ebp, %ebp
je 0x3a4a
addl $0x10000, %ebp          # imm = 0x10000
movl %ebp, 0x4000(%rdi)
jmp 0x3a4c
movl 0x4000(%rdi), %r13d
leal (%r14,%r13), %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
setb %al
cmpl $0x1000, %r14d          # imm = 0x1000
setl %cl
testb %al, %cl
jne 0x3006
leaq 0x4006(%rdi), %rbx
movl $0x4004, %edx           # imm = 0x4004
xorl %esi, %esi
movq %r9, %r13
callq 0x10c0
movq %r13, %r9
movq 0x18(%rsp), %r11
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0xe(%rbx)
movq 0x50(%rsp), %rdx
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
ja 0x3a6b
leaq (%r11,%r12), %rdi
addq %rdx, %r9
movq 0x8(%rsp), %r10
movl %r14d, 0x4018(%r10)
movl %r14d, 0x4000(%r10)
movw $0x3, 0x4006(%r10)
cmpl $0xd, %r14d
jae 0x2b64
movq %rdx, %r8
movq %r11, %r12
jmp 0x2f75
movq %r9, (%rsp)
leaq (%r11,%r12), %r14
addq $-0xb, %r14
imull $0x9e3779b1, (%r11), %eax # imm = 0x9E3779B1
shrl $0x13, %eax
andw $0x0, (%r10,%rax,2)
leaq (%r11,%r12), %rax
addq $-0x5, %rax
movq %rax, 0x60(%rsp)
movl %r15d, %esi
shll $0x6, %esi
leaq -0xc(%rdi), %rbp
leaq -0x8(%rdi), %rax
movq %rax, 0x68(%rsp)
movq %rdi, 0x58(%rsp)
leaq -0x6(%rdi), %rax
movq %rax, 0x70(%rsp)
pushq $0x1
popq %rdi
movq %rdx, 0x30(%rsp)
movq %r11, %r12
movl %esi, 0x24(%rsp)
movq %r14, 0x38(%rsp)
leaq 0x1(%r12), %rdx
movl 0x1(%r12), %r8d
movq %rdx, %rax
movslq %edi, %rdx
addq %rax, %rdx
cmpq %r14, %rdx
ja 0x4942
movl %esi, %edi
sarl $0x6, %edi
incl %esi
imull $0x9e3779b1, %r8d, %r9d # imm = 0x9E3779B1
shrl $0x13, %r9d
movzwl (%r10,%r9,2), %ecx
movl %eax, %r10d
subl %r11d, %r10d
movl (%rdx), %r8d
movq 0x8(%rsp), %rbx
movw %r10w, (%rbx,%r9,2)
movq 0x8(%rsp), %r10
movl (%r11,%rcx), %r9d
cmpl (%rax), %r9d
jne 0x2bcc
addq %r11, %rcx
movl %eax, %edx
subl %r12d, %edx
leal -0xf(%rdx), %r9d
movq %rdx, 0x10(%rsp)
addl $0xfffffef2, %edx       # imm = 0xFFFFFEF2
movl %edx, 0x40(%rsp)
movl %eax, %edx
shlb $0x4, %dl
movl %r12d, %edi
shlb $0x4, %dil
subb %dil, %dl
xorl %edi, %edi
movl %r9d, 0x48(%rsp)
movl %r9d, %r15d
movq %rdi, %r14
movl %edx, %r8d
leaq (%rcx,%rdi), %rbx
leaq (%rax,%rdi), %r13
cmpq %r11, %rbx
jbe 0x2c7a
cmpq %r12, %r13
jbe 0x2c7a
movb -0x1(%rax,%r14), %r10b
leal -0x1(%r15), %r9d
leaq -0x1(%r14), %rdi
leal -0x10(%r8), %edx
cmpb -0x1(%rcx,%r14), %r10b
je 0x2c47
subl %r12d, %eax
leal (%r14,%rax), %esi
movq 0x10(%rsp), %rax
leaq (%rax,%r14), %rcx
movq 0x30(%rsp), %r10
leaq (%r10,%rsi), %rdi
incq %rdi
movl %ecx, %eax
xorl %edx, %edx
movl $0xff, %r9d
divl %r9d
addq %rdi, %rax
addq $0x8, %rax
xorl %edi, %edi
movq (%rsp), %r9
cmpq %r9, %rax
ja 0x3fba
movq %rsi, 0x28(%rsp)
leaq 0x1(%r10), %rdi
cmpl $0xf, %ecx
jb 0x2d63
movl 0x48(%rsp), %eax
addq %r14, %rax
movb $-0x10, (%r10)
cmpl $0xfe, %eax
jle 0x2d57
movq 0x10(%rsp), %rdx
addl $0xef, %edx
movq %rdx, 0x10(%rsp)
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
callq 0x10c0
movq 0x30(%rsp), %r10
movq (%rsp), %r9
movq 0x18(%rsp), %r11
movq 0x10(%rsp), %rax
subl %r15d, %eax
addl %r14d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
leaq (%r10,%rax), %rdi
addq $0x2, %rdi
movl 0x40(%rsp), %eax
addl %r14d, %eax
addl %edx, %eax
movq 0x28(%rsp), %r8
movb %al, (%rdi)
incq %rdi
jmp 0x2d6b
movb %r8b, (%r10)
movq 0x28(%rsp), %r8
addq %rdi, %r8
movq (%r12), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r12
cmpq %r8, %rdi
jb 0x2d6e
jmp 0x2d95
leaq 0x1(%rcx), %r8
movb $0x0, (%rcx)
movq %rcx, %r10
jmp 0x2d95
movq %rax, %r12
jmp 0x2dc1
movl %r13d, %eax
subl %ebx, %eax
movw %ax, (%r8)
leaq 0x4(%r13), %rax
leaq 0x4(%rbx), %rcx
cmpq %rax, %rbp
jbe 0x2d90
movq (%rcx), %rcx
movq (%rax), %rdx
cmpq %rdx, %rcx
jne 0x2e35
leaq 0xc(%r13), %r12
addq $0xc, %rbx
movq %rbx, %rcx
cmpq %rbp, %r12
jae 0x2deb
movl %r12d, %edx
subl %r13d, %edx
addl $-0x4, %edx
movq (%rcx), %rsi
movq (%r12), %rdi
cmpq %rdi, %rsi
jne 0x2e42
addq $0x8, %r12
addq $0x8, %rcx
addl $0x8, %edx
cmpq %rbp, %r12
jb 0x2dcf
cmpq 0x68(%rsp), %r12
jae 0x2e02
movl (%rcx), %edx
cmpl (%r12), %edx
jne 0x2e02
addq $0x4, %r12
addq $0x4, %rcx
cmpq 0x70(%rsp), %r12
jae 0x2e1b
movzwl (%rcx), %edx
cmpw (%r12), %dx
jne 0x2e1b
addq $0x2, %r12
addq $0x2, %rcx
cmpq 0x60(%rsp), %r12
jae 0x2e30
movb (%rcx), %cl
xorl %edx, %edx
cmpb (%r12), %cl
sete %dl
addq %rdx, %r12
subl %eax, %r12d
jmp 0x2e50
xorq %rcx, %rdx
bsfq %rdx, %r12
shrl $0x3, %r12d
jmp 0x2e50
xorq %rsi, %rdi
bsfq %rdi, %r12
shrl $0x3, %r12d
addl %edx, %r12d
leal 0xf0(%r12), %eax
xorl %edi, %edi
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
addq %r8, %rax
addq $0x8, %rax
cmpq %r9, %rax
ja 0x3fba
leaq 0x2(%r8), %rcx
movb (%r10), %al
cmpl $0xf, %r12d
jb 0x2eee
addb $0xf, %al
movb %al, (%r10)
leal -0xf(%r12), %ebx
orl $-0x1, (%rcx)
cmpl $0x3fc, %ebx            # imm = 0x3FC
jb 0x2ed5
movq %r8, %r15
leal -0x40b(%r12), %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r14d
movl %edx, %ebx
leaq 0x6(%r8), %rdi
shll $0x2, %r14d
leaq 0x4(%r14), %rdx
movl $0xff, %esi
callq 0x10c0
movq (%rsp), %r9
movq 0x18(%rsp), %r11
leaq (%r15,%r14), %rcx
addq $0x6, %rcx
movl %ebx, %eax
xorl %edx, %edx
movw $0xff, %si
divw %si
movzwl %ax, %eax
addq %rax, %rcx
incq %rcx
movb %dl, -0x1(%rcx)
jmp 0x2ef4
addb %r12b, %al
movb %al, (%r10)
movq 0x8(%rsp), %r10
movl %r12d, %eax
addq %rax, %r13
addq $0x4, %r13
cmpq 0x38(%rsp), %r13
jae 0x2f67
leaq -0x2(%r13), %rax
imull $0x9e3779b1, -0x2(%r13), %edx # imm = 0x9E3779B1
subl %r11d, %eax
shrl $0x13, %edx
movw %ax, (%r10,%rdx,2)
imull $0x9e3779b1, (%r13), %eax # imm = 0x9E3779B1
movl %r13d, %edx
subl %r11d, %edx
shrl $0x13, %eax
movzwl (%r10,%rax,2), %esi
leaq (%r11,%rsi), %rbx
movw %dx, (%r10,%rax,2)
movl (%r11,%rsi), %eax
cmpl (%r13), %eax
je 0x2d84
movq %rcx, 0x30(%rsp)
movq %r13, %r12
movl 0x24(%rsp), %esi
movq 0x38(%rsp), %r14
pushq $0x1
popq %rdi
jmp 0x2bc2
movq %r13, %r11
movq %rcx, %r8
movq %r13, %r12
movq 0x58(%rsp), %rdi
subq %r11, %rdi
leaq (%r8,%rdi), %rcx
movq %rdi, %r14
leaq 0xf0(%rdi), %rax
xorl %edi, %edi
movl $0xff, %esi
xorl %edx, %edx
divq %rsi
addq %rcx, %rax
incq %rax
cmpq %r9, %rax
ja 0x3fba
cmpq $0xf, %r14
jb 0x358a
leaq -0xf(%r14), %rax
movb $-0x10, (%r8)
leaq 0x1(%r8), %rdi
cmpq $0xff, %rax
jb 0x2ffc
leaq -0x10e(%r14), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rbx
leaq 0x1(%rax), %rdx
movl $0xff, %esi
movq %r8, %r15
callq 0x10c0
imulq $-0xff, %rbx, %rax
addq %r14, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%rbx,%r15), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
movq %rdi, %r8
jmp 0x3593
andl $0x0, 0x4018(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x4008(%rdi)
testl %r13d, %r13d
movq 0x50(%rsp), %rdx
je 0x2b22
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
ja 0x3a6b
leaq (%r11,%r12), %rbx
addq %rdx, %r9
movq 0x8(%rsp), %r10
movl %r14d, 0x4018(%r10)
leal (%r14,%r13), %eax
movl %eax, 0x4000(%r10)
movw $0x3, 0x4006(%r10)
cmpl $0xd, %r14d
jae 0x3fce
movq %rdx, %rsi
movq %r11, %r12
jmp 0x487f
movl 0x4000(%rdi), %edx
leal (%rdx,%r14), %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
setb %al
cmpl $0x1000, %r14d          # imm = 0x1000
setl %cl
testb %al, %cl
jne 0x30b4
leaq 0x4006(%rdi), %rbx
movl $0x4004, %edx           # imm = 0x4004
xorl %esi, %esi
callq 0x10c0
movq 0x18(%rsp), %r11
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0xe(%rbx)
jmp 0x311a
andl $0x0, 0x4018(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x4008(%rdi)
movq %rdx, (%rsp)
testl %edx, %edx
je 0x311a
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
ja 0x3a6b
leaq (%r11,%r12), %rdx
movq 0x8(%rsp), %r10
movl %r14d, 0x4018(%r10)
movq (%rsp), %rcx
leal (%rcx,%r14), %eax
movl %eax, 0x4000(%r10)
movw $0x3, 0x4006(%r10)
cmpl $0xd, %r14d
jae 0x441c
movq 0x50(%rsp), %rdi
movq %r11, %r14
jmp 0x47f2
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
ja 0x3a6b
leaq (%r11,%r12), %r13
movq 0x8(%rsp), %r10
movl %r14d, 0x4018(%r10)
movl %r14d, 0x4000(%r10)
movw $0x3, 0x4006(%r10)
cmpl $0xd, %r14d
jae 0x315b
movq 0x50(%rsp), %rbx
movq %r11, %r14
jmp 0x3509
imull $0x9e3779b1, (%r11), %eax # imm = 0x9E3779B1
shrl $0x13, %eax
andw $0x0, (%r10,%rax,2)
leaq (%r11,%r12), %rax
addq $-0xb, %rax
leaq -0x5(%r11,%r12), %rcx
movq %rcx, 0x48(%rsp)
movq %rax, %r12
movl %r15d, %esi
shll $0x6, %esi
movq %r13, %rax
addq $-0xc, %r13
leaq -0x8(%rax), %rcx
movq %rcx, 0x40(%rsp)
movq %rax, 0x28(%rsp)
addq $-0x6, %rax
movq %rax, 0x58(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r11, %r14
movl %esi, 0x24(%rsp)
movq %r12, 0x38(%rsp)
leaq 0x1(%r14), %rdx
movl 0x1(%r14), %r8d
movl %ebp, %edi
movq %rdx, %rax
movslq %edi, %rdx
addq %rax, %rdx
cmpq %r12, %rdx
ja 0x4935
movl %esi, %edi
sarl $0x6, %edi
incl %esi
imull $0x9e3779b1, %r8d, %r9d # imm = 0x9E3779B1
shrl $0x13, %r9d
movzwl (%r10,%r9,2), %ecx
movl %eax, %r10d
subl %r11d, %r10d
movl (%rdx), %r8d
movq 0x8(%rsp), %rbx
movw %r10w, (%rbx,%r9,2)
movq 0x8(%rsp), %r10
movl (%r11,%rcx), %r9d
cmpl (%rax), %r9d
jne 0x31c4
addq %r11, %rcx
movl %eax, %esi
subl %r14d, %esi
leal -0xf(%rsi), %edx
movq %rsi, (%rsp)
addl $0xfffffef2, %esi       # imm = 0xFFFFFEF2
movl %esi, 0x30(%rsp)
movl %eax, %edi
shlb $0x4, %dil
movl %r14d, %esi
shlb $0x4, %sil
subb %sil, %dil
xorl %r8d, %r8d
movl %edx, %r9d
movl %r9d, %ebx
movq %r8, %r12
movl %edi, %esi
leaq (%rcx,%r8), %rbp
leaq (%rax,%r8), %r15
cmpq %r11, %rbp
jbe 0x326f
cmpq %r14, %r15
jbe 0x326f
movb -0x1(%rax,%r12), %r10b
leal -0x1(%rbx), %r9d
leaq -0x1(%r12), %r8
leal -0x10(%rsi), %edi
cmpb -0x1(%rcx,%r12), %r10b
je 0x323d
movq (%rsp), %rax
addl %r12d, %eax
movq 0x10(%rsp), %rcx
leaq 0x1(%rcx), %rdi
cmpl $0xf, %eax
jb 0x331b
movl %edx, %eax
addq %r12, %rax
movb $-0x10, (%rcx)
cmpl $0xfe, %eax
jle 0x330b
movq (%rsp), %rdx
addl $0xef, %edx
movq %rdx, (%rsp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %ebx
movq %rcx, 0x10(%rsp)
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %ebx, %ecx
cmovgel %eax, %ebx
movl %edx, %eax
subl %ecx, %eax
addl %r12d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
callq 0x10c0
movq 0x18(%rsp), %r11
movq (%rsp), %rax
subl %ebx, %eax
addl %r12d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
movq 0x10(%rsp), %rcx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl 0x30(%rsp), %eax
addl %r12d, %eax
addl %edx, %eax
movw $0xff, %bx
movb %al, (%rdi)
incq %rdi
movq 0x8(%rsp), %r10
jmp 0x3327
movb %sil, (%rcx)
movq 0x8(%rsp), %r10
movw $0xff, %bx
movq %r15, %rax
subq %r14, %rax
movl %eax, %r12d
addq %rdi, %r12
movq (%r14), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r14
cmpq %r12, %rdi
jb 0x3333
movq 0x10(%rsp), %r9
movl %r15d, %eax
subl %ebp, %eax
movw %ax, (%r12)
leaq 0x2(%r12), %rcx
leaq 0x4(%r15), %rdx
leaq 0x4(%rbp), %rsi
cmpq %rdx, %r13
jbe 0x34df
movq (%rsi), %rax
movq (%rdx), %rsi
cmpq %rsi, %rax
jne 0x339f
leaq 0xc(%r15), %rax
addq $0xc, %rbp
movq %rbp, %rsi
cmpq %r13, %rax
jae 0x3494
movq (%rsi), %rdi
movq (%rax), %r8
cmpq %r8, %rdi
jne 0x33b5
addq $0x8, %rax
addq $0x8, %rsi
jmp 0x3381
xorq %rax, %rsi
bsfq %rsi, %rax
shrl $0x3, %eax
addq %rax, %r15
addq $0x4, %r15
jmp 0x3436
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addq %rsi, %rax
subq %rdx, %rax
movl %eax, %edx
addq %rdx, %r15
addq $0x4, %r15
cmpl $0xf, %eax
jb 0x3436
addb $0xf, (%r9)
leal -0xf(%rax), %ebp
orl $-0x1, (%rcx)
cmpl $0x3fc, %ebp            # imm = 0x3FC
jb 0x3421
addl $0xfffffbf5, %eax       # imm = 0xFFFFFBF5
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r14d
movl %edx, %ebp
leaq 0x6(%r12), %rdi
shll $0x2, %r14d
leaq 0x4(%r14), %rdx
movl $0xff, %esi
callq 0x10c0
movq 0x8(%rsp), %r10
movq 0x18(%rsp), %r11
leaq (%r12,%r14), %rcx
addq $0x6, %rcx
movl %ebp, %eax
xorl %edx, %edx
divw %bx
movzwl %ax, %eax
addq %rax, %rcx
incq %rcx
movb %dl, -0x1(%rcx)
jmp 0x3439
addb %al, (%r9)
movq 0x38(%rsp), %r12
cmpq %r12, %r15
jae 0x34fb
leaq -0x2(%r15), %rax
imull $0x9e3779b1, -0x2(%r15), %edx # imm = 0x9E3779B1
subl %r11d, %eax
shrl $0x13, %edx
movw %ax, (%r10,%rdx,2)
imull $0x9e3779b1, (%r15), %eax # imm = 0x9E3779B1
movl %r15d, %edx
subl %r11d, %edx
shrl $0x13, %eax
movzwl (%r10,%rax,2), %esi
leaq (%r11,%rsi), %rbp
movw %dx, (%r10,%rax,2)
movl (%r11,%rsi), %eax
cmpl (%r15), %eax
jne 0x34e7
leaq 0x1(%rcx), %r12
movb $0x0, (%rcx)
movq %rcx, %r9
jmp 0x334b
cmpq 0x40(%rsp), %rax
jae 0x34a9
movl (%rsi), %edi
cmpl (%rax), %edi
jne 0x34a9
addq $0x4, %rax
addq $0x4, %rsi
cmpq 0x58(%rsp), %rax
jae 0x34c0
movzwl (%rsi), %edi
cmpw (%rax), %di
jne 0x34c0
addq $0x2, %rax
addq $0x2, %rsi
cmpq 0x48(%rsp), %rax
jae 0x33c2
movb (%rsi), %sil
xorl %edi, %edi
cmpb (%rax), %sil
sete %dil
addq %rdi, %rax
jmp 0x33c2
movq %rdx, %rax
jmp 0x3381
movq %rcx, 0x10(%rsp)
movq %r15, %r14
movl 0x24(%rsp), %esi
pushq $0x1
popq %rbp
jmp 0x31ba
movq %r15, %r11
movq %rcx, %rbx
movq %r15, %r14
movq 0x28(%rsp), %r13
subq %r11, %r13
cmpq $0xf, %r13
jb 0x3566
leaq -0xf(%r13), %rax
movb $-0x10, (%rbx)
leaq 0x1(%rbx), %rdi
cmpq $0xff, %rax
jb 0x355f
leaq -0x10e(%r13), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %r15
leaq 0x1(%rax), %rdx
movl $0xff, %esi
callq 0x10c0
imulq $-0xff, %r15, %rax
addq %r13, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%r15,%rbx), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
movq %rdi, %rbx
jmp 0x356e
movl %r13d, %eax
shlb $0x4, %al
movb %al, (%rbx)
incq %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x1140
movq %rbx, %rdi
addl %r13d, %edi
jmp 0x3ef4
movl %r14d, %eax
shlb $0x4, %al
movb %al, (%r8)
incq %r8
movq %r8, %rdi
movq %r12, %rsi
movq %r14, %rdx
movq %r8, %rbx
callq 0x1140
addl %r14d, %ebx
jmp 0x3fb4
xorl %ebp, %ebp
movq 0x18(%rsp), %r11
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
xorps %xmm0, %xmm0
movups %xmm0, 0x4008(%rdi)
andl $0x0, 0x4018(%rdi)
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
ja 0x3a6b
movl %ebp, %eax
movq %r11, %r13
subq %rax, %r13
leaq (%r11,%rbx), %rsi
movq 0x50(%rsp), %rdx
addq %rdx, %r9
leaq (%r11,%rbx), %rax
addq $-0xb, %rax
leaq -0x5(%r11,%rbx), %rcx
movq %rcx, 0x68(%rsp)
movq %rax, %rbx
movq 0x8(%rsp), %r10
movl %r14d, 0x4018(%r10)
addl %ebp, %r14d
movl %r14d, 0x4000(%r10)
movw $0x2, 0x4006(%r10)
movq (%r11), %rax
imulq %r12, %rax
shrq $0x34, %rax
movl %ebp, (%r10,%rax,4)
movl %r15d, %edi
shll $0x6, %edi
leaq 0x2(%r11), %rcx
leaq -0xc(%rsi), %r15
leaq -0x8(%rsi), %rax
movq %rax, 0x70(%rsp)
movq %rsi, 0x60(%rsp)
leaq -0x6(%rsi), %rax
movq %rax, 0x78(%rsp)
movq %r11, %r14
movq %rdx, %rsi
movl %edi, 0x24(%rsp)
movq %r9, (%rsp)
movq %r13, 0x10(%rsp)
movq %rbx, 0x38(%rsp)
movq %rsi, 0x28(%rsp)
leaq 0x1(%r14), %rax
movq 0x1(%r14), %rsi
movl %edi, %edx
movq %rcx, %rdi
imulq %r12, %rsi
movq %rsi, %r8
shrq $0x34, %r8
movl (%r10,%r8,4), %ecx
movl %eax, %r9d
subl %r13d, %r9d
movq (%rdi), %rsi
movl %r9d, (%r10,%r8,4)
leal 0xffff(%rcx), %r8d
cmpl %r9d, %r8d
jb 0x36b7
movl (%r13,%rcx), %r8d
cmpl (%rax), %r8d
je 0x36d1
movl %edx, %eax
sarl $0x6, %eax
movslq %eax, %rcx
addq %rdi, %rcx
incl %edx
movq %rdi, %rax
cmpq %rbx, %rcx
jbe 0x3682
jmp 0x3efd
addq %r13, %rcx
movl %eax, %edx
subl %r14d, %edx
leal -0xf(%rdx), %r9d
movq %rdx, 0x30(%rsp)
addl $0xfffffef2, %edx       # imm = 0xFFFFFEF2
movl %edx, 0x58(%rsp)
movl %eax, %edx
shlb $0x4, %dl
movl %r14d, %edi
shlb $0x4, %dil
subb %dil, %dl
xorl %edi, %edi
movl %r9d, 0x40(%rsp)
movl %r9d, %ebp
movq %rdi, %r12
movl %edx, %r8d
leaq (%rcx,%rdi), %rbx
leaq (%rax,%rdi), %r13
cmpq %r11, %rbx
jbe 0x3736
cmpq %r14, %r13
jbe 0x3736
movb -0x1(%rax,%r12), %r10b
leal -0x1(%rbp), %r9d
leaq -0x1(%r12), %rdi
leal -0x10(%r8), %edx
cmpb -0x1(%rcx,%r12), %r10b
je 0x3702
subl %r14d, %eax
leal (%r12,%rax), %esi
movq 0x30(%rsp), %rax
leaq (%rax,%r12), %rcx
movq 0x28(%rsp), %r10
leaq (%r10,%rsi), %rdi
incq %rdi
movl %ecx, %eax
xorl %edx, %edx
movl $0xff, %r9d
divl %r9d
addq %rdi, %rax
addq $0x8, %rax
xorl %edi, %edi
movq (%rsp), %r9
cmpq %r9, %rax
ja 0x3fba
movq %rsi, 0x48(%rsp)
leaq 0x1(%r10), %rdi
cmpl $0xf, %ecx
jb 0x3815
movl 0x40(%rsp), %eax
addq %r12, %rax
movb $-0x10, (%r10)
cmpl $0xfe, %eax
jle 0x3822
movq 0x30(%rsp), %rdx
addl $0xef, %edx
movq %rdx, 0x30(%rsp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %ebp
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %ebp, %ecx
cmovgel %eax, %ebp
movl %edx, %eax
subl %ecx, %eax
addl %r12d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
callq 0x10c0
movq 0x28(%rsp), %rcx
movq (%rsp), %r9
movq 0x18(%rsp), %r11
movq 0x30(%rsp), %rax
subl %ebp, %eax
addl %r12d, %eax
movq %rax, %rsi
xorl %edx, %edx
movl $0xff, %edi
divl %edi
subl %esi, %edx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl 0x58(%rsp), %eax
addl %r12d, %eax
addl %edx, %eax
jmp 0x3825
movb %r8b, (%r10)
movq %r10, %rcx
movq 0x48(%rsp), %r10
jmp 0x382f
movq %r10, %rcx
movq 0x48(%rsp), %r10
movb %al, (%rdi)
incq %rdi
addq %rdi, %r10
movq (%r14), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r14
cmpq %r10, %rdi
jb 0x3832
movq %r13, %r14
movl %r14d, %eax
subl %ebx, %eax
movw %ax, (%r10)
leaq 0x4(%r14), %rax
leaq 0x4(%rbx), %rdx
cmpq %rax, %r15
jbe 0x3a27
movq (%rdx), %rdx
movq (%rax), %rsi
cmpq %rsi, %rdx
jne 0x38f1
leaq 0xc(%r14), %r13
addq $0xc, %rbx
movq %rbx, %rdx
cmpq %r15, %r13
jae 0x38a6
movl %r13d, %esi
subl %r14d, %esi
addl $-0x4, %esi
movq (%rdx), %rdi
movq (%r13), %r8
cmpq %r8, %rdi
jne 0x38fe
addq $0x8, %r13
addq $0x8, %rdx
addl $0x8, %esi
cmpq %r15, %r13
jb 0x388a
cmpq 0x70(%rsp), %r13
jae 0x38bd
movl (%rdx), %esi
cmpl (%r13), %esi
jne 0x38bd
addq $0x4, %r13
addq $0x4, %rdx
cmpq 0x78(%rsp), %r13
jae 0x38d6
movzwl (%rdx), %esi
cmpw (%r13), %si
jne 0x38d6
addq $0x2, %r13
addq $0x2, %rdx
cmpq 0x68(%rsp), %r13
jae 0x38ec
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%r13), %dl
sete %sil
addq %rsi, %r13
subl %eax, %r13d
jmp 0x390c
xorq %rdx, %rsi
bsfq %rsi, %r13
shrl $0x3, %r13d
jmp 0x390c
xorq %rdi, %r8
bsfq %r8, %r13
shrl $0x3, %r13d
addl %esi, %r13d
leal 0xf0(%r13), %eax
xorl %edi, %edi
xorl %edx, %edx
movl $0xff, %esi
divl %esi
addq %r10, %rax
addq $0x8, %rax
cmpq %r9, %rax
ja 0x3fba
leaq 0x2(%r10), %rsi
movb (%rcx), %al
cmpl $0xf, %r13d
jb 0x39a6
addb $0xf, %al
movb %al, (%rcx)
leal -0xf(%r13), %ebx
orl $-0x1, (%rsi)
cmpl $0x3fc, %ebx            # imm = 0x3FC
jb 0x398d
movq %r10, %rbp
leal -0x40b(%r13), %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r12d
movl %edx, %ebx
leaq 0x6(%r10), %rdi
shll $0x2, %r12d
leaq 0x4(%r12), %rdx
movl $0xff, %esi
callq 0x10c0
movq (%rsp), %r9
movq 0x18(%rsp), %r11
leaq (%r12,%rbp), %rsi
addq $0x6, %rsi
movl %ebx, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %rsi
incq %rsi
movb %dl, -0x1(%rsi)
jmp 0x39ab
addb %r13b, %al
movb %al, (%rcx)
movq 0x8(%rsp), %r10
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
movl %r13d, %eax
addq %rax, %r14
addq $0x4, %r14
cmpq 0x38(%rsp), %r14
jae 0x3f06
leaq -0x2(%r14), %rax
movq -0x2(%r14), %rcx
imulq %r12, %rcx
shrq $0x34, %rcx
movq 0x10(%rsp), %r13
subl %r13d, %eax
movl %eax, (%r10,%rcx,4)
movq (%r14), %rax
imulq %r12, %rax
shrq $0x34, %rax
movl %r14d, %ecx
subl %r13d, %ecx
movl (%r10,%rax,4), %ebx
movl %ecx, (%r10,%rax,4)
leal 0xffff(%rbx), %eax
cmpl %ecx, %eax
jb 0x3a2f
addq %r13, %rbx
movl (%rbx), %eax
cmpl (%r14), %eax
jne 0x3a2f
leaq 0x1(%rsi), %r10
movb $0x0, (%rsi)
movq %rsi, %rcx
jmp 0x3848
movq %rax, %r13
jmp 0x387c
leaq 0x2(%r14), %rcx
movq 0x38(%rsp), %rbx
cmpq %rbx, %rcx
movl 0x24(%rsp), %edi
jbe 0x3673
jmp 0x3f06
xorl %ebp, %ebp
movq 0x18(%rsp), %r11
xorps %xmm0, %xmm0
movups %xmm0, 0x4008(%rdi)
andl $0x0, 0x4018(%rdi)
cmpl $0x7e000000, %r14d      # imm = 0x7E000000
jbe 0x3a72
xorl %edi, %edi
jmp 0x3fba
movl %ebp, %eax
movq %r11, %rcx
subq %rax, %rcx
leaq (%r11,%rbx), %rsi
leaq (%r11,%rbx), %r13
addq $-0xb, %r13
leaq -0x5(%r11,%rbx), %rax
movq %rax, 0x40(%rsp)
movq 0x8(%rsp), %r10
movl %r14d, 0x4018(%r10)
addl %ebp, %r14d
movl %r14d, 0x4000(%r10)
movw $0x2, 0x4006(%r10)
movq (%r11), %rax
imulq %r12, %rax
shrq $0x34, %rax
movl %ebp, (%r10,%rax,4)
movl %r15d, %edx
movq %rcx, %r15
shll $0x6, %edx
leaq 0x2(%r11), %rcx
leaq -0xc(%rsi), %rbx
leaq -0x8(%rsi), %rax
movq %rax, 0x58(%rsp)
movq %rsi, 0x48(%rsp)
leaq -0x6(%rsi), %rax
movq %rax, 0x60(%rsp)
movq %r11, %r14
movq 0x50(%rsp), %rdi
movl %edx, 0x24(%rsp)
movq %r15, 0x30(%rsp)
movq %r13, 0x38(%rsp)
movq %rdi, 0x10(%rsp)
leaq 0x1(%r14), %rax
movq 0x1(%r14), %rsi
movq %rcx, %rdi
imulq %r12, %rsi
movq %rsi, %r8
shrq $0x34, %r8
movl (%r10,%r8,4), %ecx
movl %eax, %r9d
subl %r15d, %r9d
movq (%rdi), %rsi
movl %r9d, (%r10,%r8,4)
leal 0xffff(%rcx), %r8d
cmpl %r9d, %r8d
jb 0x3b3e
movl (%r15,%rcx), %r8d
cmpl (%rax), %r8d
je 0x3b58
movl %edx, %eax
sarl $0x6, %eax
movslq %eax, %rcx
addq %rdi, %rcx
incl %edx
movq %rdi, %rax
cmpq %r13, %rcx
jbe 0x3b0a
jmp 0x3e6d
addq %r15, %rcx
movl %eax, %esi
subl %r14d, %esi
leal -0xf(%rsi), %edx
movq %rsi, (%rsp)
addl $0xfffffef2, %esi       # imm = 0xFFFFFEF2
movl %esi, 0x28(%rsp)
movl %eax, %edi
shlb $0x4, %dil
movl %r14d, %esi
shlb $0x4, %sil
subb %sil, %dil
xorl %r8d, %r8d
movl %edx, %r9d
movl %r9d, %r15d
movq %r8, %r13
movl %edi, %esi
leaq (%rcx,%r8), %rbp
leaq (%rax,%r8), %r12
cmpq %r11, %rbp
jbe 0x3bb8
cmpq %r14, %r12
jbe 0x3bb8
movb -0x1(%rax,%r13), %r10b
leal -0x1(%r15), %r9d
leaq -0x1(%r13), %r8
leal -0x10(%rsi), %edi
cmpb -0x1(%rcx,%r13), %r10b
je 0x3b87
movq (%rsp), %rax
addl %r13d, %eax
movq 0x10(%rsp), %rcx
leaq 0x1(%rcx), %rdi
cmpl $0xf, %eax
jb 0x3c64
movl %edx, %eax
addq %r13, %rax
movb $-0x10, (%rcx)
cmpl $0xfe, %eax
jle 0x3c53
movq (%rsp), %rdx
addl $0xef, %edx
movq %rdx, (%rsp)
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 %r13d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
callq 0x10c0
movq 0x18(%rsp), %r11
movq (%rsp), %rax
subl %r15d, %eax
addl %r13d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
movq 0x10(%rsp), %rcx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl 0x28(%rsp), %eax
addl %r13d, %eax
addl %edx, %eax
movq 0x30(%rsp), %r15
movb %al, (%rdi)
incq %rdi
movq 0x8(%rsp), %r10
jmp 0x3c71
movb %sil, (%rcx)
movq 0x8(%rsp), %r10
movq 0x30(%rsp), %r15
movq %r12, %rax
subq %r14, %rax
movl %eax, %r13d
addq %rdi, %r13
movq (%r14), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r14
cmpq %r13, %rdi
jb 0x3c7d
movq 0x10(%rsp), %rcx
movq %r12, %r14
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
movl %r14d, %eax
subl %ebp, %eax
movw %ax, (%r13)
leaq 0x2(%r13), %rdi
leaq 0x4(%r14), %rdx
leaq 0x4(%rbp), %rsi
cmpq %rdx, %rbx
jbe 0x3e52
movq (%rsi), %rax
movq (%rdx), %rsi
cmpq %rsi, %rax
jne 0x3cf8
leaq 0xc(%r14), %rax
addq $0xc, %rbp
movq %rbp, %rsi
movq %rdi, %r9
cmpq %rbx, %rax
jae 0x3e07
movq (%rsi), %rdi
movq (%rax), %r8
cmpq %r8, %rdi
jne 0x3d0e
addq $0x8, %rax
addq $0x8, %rsi
jmp 0x3cda
xorq %rax, %rsi
bsfq %rsi, %rax
shrl $0x3, %eax
addq %rax, %r14
addq $0x4, %r14
jmp 0x3da3
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addq %rsi, %rax
movq %r9, %rdi
subq %rdx, %rax
movl %eax, %edx
addq %rdx, %r14
addq $0x4, %r14
cmpl $0xf, %eax
jb 0x3da3
addb $0xf, (%rcx)
leal -0xf(%rax), %r12d
orl $-0x1, (%rdi)
cmpl $0x3fc, %r12d           # imm = 0x3FC
jb 0x3d7f
addl $0xfffffbf5, %eax       # imm = 0xFFFFFBF5
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %ebp
movl %edx, %r12d
leaq 0x6(%r13), %rdi
shll $0x2, %ebp
leaq 0x4(%rbp), %rdx
movl $0xff, %esi
callq 0x10c0
movq 0x8(%rsp), %r10
movq 0x18(%rsp), %r11
leaq 0x6(,%rbp), %rdi
addq %r13, %rdi
movl %r12d, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %rdi
incq %rdi
movb %dl, -0x1(%rdi)
movabsq $-0x30e4432345000000, %r12 # imm = 0xCF1BBCDCBB000000
jmp 0x3da5
addb %al, (%rcx)
movq 0x38(%rsp), %r13
cmpq %r13, %r14
jae 0x3e72
leaq -0x2(%r14), %rax
movq -0x2(%r14), %rcx
imulq %r12, %rcx
shrq $0x34, %rcx
subl %r15d, %eax
movl %eax, (%r10,%rcx,4)
movq (%r14), %rax
imulq %r12, %rax
shrq $0x34, %rax
movl %r14d, %ecx
subl %r15d, %ecx
movl (%r10,%rax,4), %ebp
movl %ecx, (%r10,%rax,4)
leal 0xffff(%rbp), %eax
cmpl %ecx, %eax
jb 0x3e5a
addq %r15, %rbp
movl (%rbp), %eax
cmpl (%r14), %eax
jne 0x3e5a
leaq 0x1(%rdi), %r13
movb $0x0, (%rdi)
movq %rdi, %rcx
jmp 0x3ca2
cmpq 0x58(%rsp), %rax
jae 0x3e1c
movl (%rsi), %edi
cmpl (%rax), %edi
jne 0x3e1c
addq $0x4, %rax
addq $0x4, %rsi
cmpq 0x60(%rsp), %rax
jae 0x3e33
movzwl (%rsi), %edi
cmpw (%rax), %di
jne 0x3e33
addq $0x2, %rax
addq $0x2, %rsi
cmpq 0x40(%rsp), %rax
jae 0x3d1b
movb (%rsi), %sil
xorl %edi, %edi
cmpb (%rax), %sil
sete %dil
addq %rdi, %rax
jmp 0x3d1b
movq %rdx, %rax
jmp 0x3cd7
leaq 0x2(%r14), %rcx
cmpq %r13, %rcx
movl 0x24(%rsp), %edx
jbe 0x3afd
jmp 0x3e72
movq 0x10(%rsp), %rdi
movq 0x48(%rsp), %r12
subq %r14, %r12
cmpq $0xf, %r12
jb 0x3ed5
leaq -0xf(%r12), %rax
movb $-0x10, (%rdi)
movq %rdi, %rbx
incq %rdi
cmpq $0xff, %rax
jb 0x3ed1
leaq -0x10e(%r12), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %r15
leaq 0x1(%rax), %rdx
movl $0xff, %esi
callq 0x10c0
imulq $-0xff, %r15, %rax
addq %r12, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%r15,%rbx), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
jmp 0x3edd
movl %r12d, %eax
shlb $0x4, %al
movb %al, (%rdi)
incq %rdi
movq %rdi, %rbx
movq %r14, %rsi
movq %r12, %rdx
callq 0x1140
movq %rbx, %rdi
addl %r12d, %edi
subl 0x50(%rsp), %edi
jmp 0x3fba
movq (%rsp), %r9
movq 0x28(%rsp), %rsi
movq 0x60(%rsp), %rax
subq %r14, %rax
leaq (%rsi,%rax), %rcx
movq %rax, %r15
addq $0xf0, %rax
xorl %edi, %edi
movq %rsi, %r8
movl $0xff, %esi
xorl %edx, %edx
divq %rsi
addq %rcx, %rax
incq %rax
cmpq %r9, %rax
ja 0x3fba
cmpq $0xf, %r15
jb 0x3f94
leaq -0xf(%r15), %rax
movb $-0x10, (%r8)
leaq 0x1(%r8), %rdi
cmpq $0xff, %rax
jb 0x3f90
leaq -0x10e(%r15), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rbx
leaq 0x1(%rax), %rdx
movq %r8, %r12
movl $0xff, %esi
callq 0x10c0
imulq $-0xff, %rbx, %rax
addq %r15, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
jmp 0x3fa0
movl %r15d, %eax
shlb $0x4, %al
movq %r8, %rdi
movb %al, (%r8)
incq %rdi
movq %rdi, %rbx
movq %r14, %rsi
movq %r15, %rdx
callq 0x1140
addl %r15d, %ebx
subl 0x50(%rsp), %ebx
movl %ebx, %edi
movl %edi, %eax
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %r13d, %eax
movq %r11, %r14
subq %rax, %r14
leaq (%r11,%r12), %rbp
addq $-0xb, %rbp
leaq (%r11,%r12), %rax
addq $-0x5, %rax
movq %rax, 0x70(%rsp)
imull $0x9e3779b1, (%r11), %eax # imm = 0x9E3779B1
shrl $0x13, %eax
movw %r13w, (%r10,%rax,2)
movl %r15d, %edi
shll $0x6, %edi
leaq 0x2(%r11), %rcx
leaq -0xc(%rbx), %r15
leaq -0x8(%rbx), %rax
movq %rax, 0x78(%rsp)
leaq -0x6(%rbx), %rax
movq %rax, 0x80(%rsp)
movq %r11, %r12
movq %rdx, %rsi
movl %edi, 0x24(%rsp)
movq %r9, (%rsp)
movq %rbx, 0x60(%rsp)
movq %r13, 0x10(%rsp)
movq %r14, 0x30(%rsp)
movq %rbp, 0x38(%rsp)
movq %rsi, 0x48(%rsp)
leaq 0x1(%r12), %rax
movl 0x1(%r12), %esi
movl %edi, %edx
movq %rcx, %rdi
imull $0x9e3779b1, %esi, %r8d # imm = 0x9E3779B1
shrl $0x13, %r8d
movzwl (%r10,%r8,2), %ecx
movl %eax, %r9d
subl %r14d, %r9d
movl (%rdi), %esi
movw %r9w, (%r10,%r8,2)
cmpl %ecx, %r13d
ja 0x407f
movl (%r14,%rcx), %r8d
cmpl (%rax), %r8d
je 0x4099
movl %edx, %eax
sarl $0x6, %eax
movslq %eax, %rcx
addq %rdi, %rcx
incl %edx
movq %rdi, %rax
cmpq %rbp, %rcx
jbe 0x4051
jmp 0x4965
addq %r14, %rcx
movl %eax, %edx
subl %r12d, %edx
leal -0xf(%rdx), %r9d
movq %rdx, 0x28(%rsp)
addl $0xfffffef2, %edx       # imm = 0xFFFFFEF2
movl %edx, 0x68(%rsp)
movl %eax, %edx
shlb $0x4, %dl
movl %r12d, %edi
shlb $0x4, %dil
subb %dil, %dl
xorl %edi, %edi
movl %r9d, 0x58(%rsp)
movl %r9d, %ebx
movq %rdi, %r14
movl %edx, %r8d
leaq (%rcx,%rdi), %rbp
leaq (%rax,%rdi), %r13
cmpq %r11, %rbp
jbe 0x40fd
cmpq %r12, %r13
jbe 0x40fd
movb -0x1(%rax,%r14), %r10b
leal -0x1(%rbx), %r9d
leaq -0x1(%r14), %rdi
leal -0x10(%r8), %edx
cmpb -0x1(%rcx,%r14), %r10b
je 0x40ca
subl %r12d, %eax
leal (%r14,%rax), %esi
movq 0x28(%rsp), %rax
leaq (%rax,%r14), %rcx
movq 0x48(%rsp), %r10
leaq (%r10,%rsi), %rdi
incq %rdi
movl %ecx, %eax
xorl %edx, %edx
movl $0xff, %r9d
divl %r9d
addq %rdi, %rax
addq $0x8, %rax
xorl %edi, %edi
movq (%rsp), %r9
cmpq %r9, %rax
ja 0x3fba
movq %rsi, 0x40(%rsp)
leaq 0x1(%r10), %rdi
cmpl $0xf, %ecx
jb 0x41dc
movl 0x58(%rsp), %eax
addq %r14, %rax
movb $-0x10, (%r10)
cmpl $0xfe, %eax
jle 0x41e9
movq 0x28(%rsp), %rdx
addl $0xef, %edx
movq %rdx, 0x28(%rsp)
movl $0x1fd, %eax            # imm = 0x1FD
cmpl %eax, %ebx
movl $0x1fd, %ecx            # imm = 0x1FD
cmovbl %ebx, %ecx
cmovgel %eax, %ebx
movl %edx, %eax
subl %ecx, %eax
addl %r14d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
callq 0x10c0
movq 0x48(%rsp), %rcx
movq (%rsp), %r9
movq 0x18(%rsp), %r11
movq 0x28(%rsp), %rax
subl %ebx, %eax
addl %r14d, %eax
movq %rax, %rsi
xorl %edx, %edx
movl $0xff, %edi
divl %edi
subl %esi, %edx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl 0x68(%rsp), %eax
addl %r14d, %eax
addl %edx, %eax
jmp 0x41ec
movb %r8b, (%r10)
movq %r10, %rcx
movq 0x40(%rsp), %r10
jmp 0x41f6
movq %r10, %rcx
movq 0x40(%rsp), %r10
movb %al, (%rdi)
incq %rdi
addq %rdi, %r10
movq (%r12), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r12
cmpq %r10, %rdi
jb 0x41f9
movq %r13, %r12
movl %r12d, %eax
subl %ebp, %eax
movw %ax, (%r10)
leaq 0x4(%r12), %rax
leaq 0x4(%rbp), %rdx
cmpq %rax, %r15
jbe 0x43eb
movq (%rdx), %rdx
movq (%rax), %rsi
cmpq %rsi, %rdx
jne 0x42be
leaq 0xc(%r12), %r13
addq $0xc, %rbp
movq %rbp, %rdx
cmpq %r15, %r13
jae 0x4270
movl %r13d, %esi
subl %r12d, %esi
addl $-0x4, %esi
movq (%rdx), %rdi
movq (%r13), %r8
cmpq %r8, %rdi
jne 0x42cb
addq $0x8, %r13
addq $0x8, %rdx
addl $0x8, %esi
cmpq %r15, %r13
jb 0x4254
cmpq 0x78(%rsp), %r13
jae 0x4287
movl (%rdx), %esi
cmpl (%r13), %esi
jne 0x4287
addq $0x4, %r13
addq $0x4, %rdx
cmpq 0x80(%rsp), %r13
jae 0x42a3
movzwl (%rdx), %esi
cmpw (%r13), %si
jne 0x42a3
addq $0x2, %r13
addq $0x2, %rdx
cmpq 0x70(%rsp), %r13
jae 0x42b9
movb (%rdx), %dl
xorl %esi, %esi
cmpb (%r13), %dl
sete %sil
addq %rsi, %r13
subl %eax, %r13d
jmp 0x42d9
xorq %rdx, %rsi
bsfq %rsi, %r13
shrl $0x3, %r13d
jmp 0x42d9
xorq %rdi, %r8
bsfq %r8, %r13
shrl $0x3, %r13d
addl %esi, %r13d
leal 0xf0(%r13), %eax
xorl %edi, %edi
xorl %edx, %edx
movl $0xff, %esi
divl %esi
addq %r10, %rax
addq $0x8, %rax
cmpq %r9, %rax
ja 0x3fba
leaq 0x2(%r10), %rsi
movb (%rcx), %al
cmpl $0xf, %r13d
jb 0x4372
addb $0xf, %al
movb %al, (%rcx)
leal -0xf(%r13), %ebp
orl $-0x1, (%rsi)
cmpl $0x3fc, %ebp            # imm = 0x3FC
jb 0x4359
movq %r10, %rbx
leal -0x40b(%r13), %eax
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %r14d
movl %edx, %ebp
leaq 0x6(%r10), %rdi
shll $0x2, %r14d
leaq 0x4(%r14), %rdx
movl $0xff, %esi
callq 0x10c0
movq (%rsp), %r9
movq 0x18(%rsp), %r11
leaq (%rbx,%r14), %rsi
addq $0x6, %rsi
movl %ebp, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %rsi
incq %rsi
movb %dl, -0x1(%rsi)
jmp 0x4377
addb %r13b, %al
movb %al, (%rcx)
movq 0x8(%rsp), %r10
movq 0x30(%rsp), %r14
movl %r13d, %eax
addq %rax, %r12
addq $0x4, %r12
cmpq 0x38(%rsp), %r12
jae 0x4877
imull $0x9e3779b1, -0x2(%r12), %eax # imm = 0x9E3779B1
leaq -0x2(%r12), %rcx
subl %r14d, %ecx
shrl $0x13, %eax
movw %cx, (%r10,%rax,2)
imull $0x9e3779b1, (%r12), %eax # imm = 0x9E3779B1
movl %r12d, %ecx
subl %r14d, %ecx
shrl $0x13, %eax
movzwl (%r10,%rax,2), %ebp
movw %cx, (%r10,%rax,2)
cmpl %ebp, 0x10(%rsp)
ja 0x43f3
addq %r14, %rbp
movl (%rbp), %eax
cmpl (%r12), %eax
jne 0x43f3
leaq 0x1(%rsi), %r10
movb $0x0, (%rsi)
movq %rsi, %rcx
jmp 0x4210
movq %rax, %r13
jmp 0x4246
leaq 0x2(%r12), %rcx
movq 0x38(%rsp), %rbp
cmpq %rbp, %rcx
movl 0x24(%rsp), %edi
movq 0x60(%rsp), %rbx
movq 0x10(%rsp), %r13
jbe 0x4040
movq %r12, %r11
jmp 0x487f
movl %ecx, %eax
movq %r11, %rsi
subq %rax, %rsi
leaq (%r11,%r12), %r13
addq $-0xb, %r13
leaq (%r11,%r12), %rax
addq $-0x5, %rax
movq %rax, 0x58(%rsp)
movq %rsi, %r12
imull $0x9e3779b1, (%r11), %eax # imm = 0x9E3779B1
shrl $0x13, %eax
movw %cx, (%r10,%rax,2)
shll $0x6, %r15d
leaq 0x2(%r11), %rcx
leaq -0xc(%rdx), %rbx
leaq -0x8(%rdx), %rax
movq %rax, 0x60(%rsp)
movq %rdx, 0x40(%rsp)
leaq -0x6(%rdx), %rax
movq %rax, 0x68(%rsp)
movq %r11, %r14
movq 0x50(%rsp), %rdi
movl %r15d, 0x24(%rsp)
movq %rsi, 0x30(%rsp)
movq %r13, 0x38(%rsp)
movq %rdi, 0x10(%rsp)
leaq 0x1(%r14), %rax
movl 0x1(%r14), %esi
movl %r15d, %edx
movq (%rsp), %r15
movq %rcx, %rdi
imull $0x9e3779b1, %esi, %r8d # imm = 0x9E3779B1
shrl $0x13, %r8d
movzwl (%r10,%r8,2), %ecx
movl %eax, %r9d
subl %r12d, %r9d
movl (%rdi), %esi
movw %r9w, (%r10,%r8,2)
cmpl %ecx, %r15d
ja 0x44c7
movl (%r12,%rcx), %r8d
cmpl (%rax), %r8d
je 0x44e1
movl %edx, %eax
sarl $0x6, %eax
movslq %eax, %rcx
addq %rdi, %rcx
incl %edx
movq %rdi, %rax
cmpq %r13, %rcx
jbe 0x4499
jmp 0x4958
addq %r12, %rcx
movl %eax, %esi
subl %r14d, %esi
leal -0xf(%rsi), %edx
movq %rsi, 0x28(%rsp)
addl $0xfffffef2, %esi       # imm = 0xFFFFFEF2
movl %esi, 0x48(%rsp)
movl %eax, %edi
shlb $0x4, %dil
movl %r14d, %esi
shlb $0x4, %sil
subb %sil, %dil
xorl %r8d, %r8d
movl %edx, %r9d
movl %r9d, %r15d
movq %r8, %r13
movl %edi, %esi
leaq (%rcx,%r8), %rbp
leaq (%rax,%r8), %r12
cmpq %r11, %rbp
jbe 0x4542
cmpq %r14, %r12
jbe 0x4542
movb -0x1(%rax,%r13), %r10b
leal -0x1(%r15), %r9d
leaq -0x1(%r13), %r8
leal -0x10(%rsi), %edi
cmpb -0x1(%rcx,%r13), %r10b
je 0x4511
movq 0x28(%rsp), %rax
addl %r13d, %eax
movq 0x10(%rsp), %rcx
leaq 0x1(%rcx), %rdi
cmpl $0xf, %eax
jb 0x45f1
movl %edx, %eax
addq %r13, %rax
movb $-0x10, (%rcx)
cmpl $0xfe, %eax
jle 0x45e1
movq 0x28(%rsp), %rdx
addl $0xef, %edx
movq %rdx, 0x28(%rsp)
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 %r13d, %eax
xorl %edx, %edx
movl $0xff, %ecx
divl %ecx
leal 0x1(%rax), %edx
movl $0xff, %esi
callq 0x10c0
movq 0x18(%rsp), %r11
movq 0x28(%rsp), %rax
subl %r15d, %eax
addl %r13d, %eax
movq %rax, %rcx
xorl %edx, %edx
movl $0xff, %esi
divl %esi
subl %ecx, %edx
movq 0x10(%rsp), %rcx
leaq (%rcx,%rax), %rdi
addq $0x2, %rdi
movl 0x48(%rsp), %eax
addl %r13d, %eax
addl %edx, %eax
movq (%rsp), %r15
movb %al, (%rdi)
incq %rdi
movq 0x8(%rsp), %r10
jmp 0x45fd
movb %sil, (%rcx)
movq 0x8(%rsp), %r10
movq (%rsp), %r15
movq %r12, %rax
subq %r14, %rax
movl %eax, %r13d
addq %rdi, %r13
movq (%r14), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
addq $0x8, %r14
cmpq %r13, %rdi
jb 0x4609
movq 0x10(%rsp), %rcx
movq %r12, %r14
movq 0x30(%rsp), %r12
movl %r14d, %eax
subl %ebp, %eax
movw %ax, (%r13)
leaq 0x2(%r13), %rdi
leaq 0x4(%r14), %rdx
leaq 0x4(%rbp), %rsi
cmpq %rdx, %rbx
jbe 0x47d0
movq (%rsi), %rax
movq (%rdx), %rsi
cmpq %rsi, %rax
jne 0x467f
leaq 0xc(%r14), %rax
addq $0xc, %rbp
movq %rbp, %rsi
movq %rdi, %r9
cmpq %rbx, %rax
jae 0x4785
movq (%rsi), %rdi
movq (%rax), %r8
cmpq %r8, %rdi
jne 0x4695
addq $0x8, %rax
addq $0x8, %rsi
jmp 0x4661
xorq %rax, %rsi
bsfq %rsi, %rax
shrl $0x3, %eax
addq %rax, %r14
addq $0x4, %r14
jmp 0x4725
xorq %rdi, %r8
bsfq %r8, %rsi
shrl $0x3, %esi
addq %rsi, %rax
movq %r9, %rdi
subq %rdx, %rax
movl %eax, %edx
addq %rdx, %r14
addq $0x4, %r14
cmpl $0xf, %eax
jb 0x4725
addb $0xf, (%rcx)
leal -0xf(%rax), %r12d
orl $-0x1, (%rdi)
cmpl $0x3fc, %r12d           # imm = 0x3FC
jb 0x4706
addl $0xfffffbf5, %eax       # imm = 0xFFFFFBF5
xorl %edx, %edx
movl $0x3fc, %ecx            # imm = 0x3FC
divl %ecx
movl %eax, %ebp
movl %edx, %r12d
leaq 0x6(%r13), %rdi
shll $0x2, %ebp
leaq 0x4(%rbp), %rdx
movl $0xff, %esi
callq 0x10c0
movq 0x8(%rsp), %r10
movq 0x18(%rsp), %r11
leaq 0x6(,%rbp), %rdi
addq %r13, %rdi
movl %r12d, %eax
xorl %edx, %edx
movw $0xff, %cx
divw %cx
movzwl %ax, %eax
addq %rax, %rdi
incq %rdi
movb %dl, -0x1(%rdi)
movq 0x30(%rsp), %r12
jmp 0x4727
addb %al, (%rcx)
movq 0x38(%rsp), %r13
cmpq %r13, %r14
jae 0x47ea
imull $0x9e3779b1, -0x2(%r14), %eax # imm = 0x9E3779B1
leaq -0x2(%r14), %rcx
subl %r12d, %ecx
shrl $0x13, %eax
movw %cx, (%r10,%rax,2)
imull $0x9e3779b1, (%r14), %eax # imm = 0x9E3779B1
movl %r14d, %ecx
subl %r12d, %ecx
shrl $0x13, %eax
movzwl (%r10,%rax,2), %ebp
movw %cx, (%r10,%rax,2)
cmpl %ebp, %r15d
ja 0x47d8
addq %r12, %rbp
movl (%rbp), %eax
cmpl (%r14), %eax
jne 0x47d8
leaq 0x1(%rdi), %r13
movb $0x0, (%rdi)
movq %rdi, %rcx
jmp 0x4629
cmpq 0x60(%rsp), %rax
jae 0x479a
movl (%rsi), %edi
cmpl (%rax), %edi
jne 0x479a
addq $0x4, %rax
addq $0x4, %rsi
cmpq 0x68(%rsp), %rax
jae 0x47b1
movzwl (%rsi), %edi
cmpw (%rax), %di
jne 0x47b1
addq $0x2, %rax
addq $0x2, %rsi
cmpq 0x58(%rsp), %rax
jae 0x46a2
movb (%rsi), %sil
xorl %edi, %edi
cmpb (%rax), %sil
sete %dil
addq %rdi, %rax
jmp 0x46a2
movq %rdx, %rax
jmp 0x465e
leaq 0x2(%r14), %rcx
cmpq %r13, %rcx
movl 0x24(%rsp), %r15d
jbe 0x4485
movq %r14, %r11
movq 0x40(%rsp), %rdx
subq %r11, %rdx
cmpq $0xf, %rdx
jb 0x4854
leaq -0xf(%rdx), %rax
movb $-0x10, (%rdi)
movq %rdi, %rbx
incq %rdi
cmpq $0xff, %rax
jb 0x4850
leaq -0x10e(%rdx), %rax
movq %rdx, %r12
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %r15
leaq 0x1(%rax), %rdx
movl $0xff, %esi
callq 0x10c0
movq %r12, %rdx
imulq $-0xff, %r15, %rax
addq %r12, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%r15,%rbx), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
jmp 0x485b
movl %edx, %eax
shlb $0x4, %al
movb %al, (%rdi)
incq %rdi
movq %rdi, %rbx
movq %r14, %rsi
movq %rdx, %r14
callq 0x1140
movq %rbx, %rdi
addl %r14d, %edi
jmp 0x3ef4
movq %r12, %r11
movq 0x60(%rsp), %rbx
subq %r11, %rbx
leaq (%rsi,%rbx), %rcx
leaq 0xf0(%rbx), %rax
xorl %edi, %edi
movq %rsi, %r10
movl $0xff, %esi
xorl %edx, %edx
divq %rsi
addq %rcx, %rax
incq %rax
cmpq %r9, %rax
ja 0x3fba
movq %rbx, %r8
cmpq $0xf, %r8
jb 0x4909
leaq -0xf(%rbx), %rax
movb $-0x10, (%r10)
leaq 0x1(%r10), %rdi
cmpq $0xff, %rax
jb 0x4905
leaq -0x10e(%rbx), %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %r15
leaq 0x1(%rax), %rdx
movq %r10, %r14
movl $0xff, %esi
callq 0x10c0
imulq $-0xff, %r15, %rax
addq %rbx, %rax
addq $-0x10e, %rax           # imm = 0xFEF2
leaq (%r15,%r14), %rdi
addq $0x2, %rdi
movb %al, (%rdi)
jmp 0x4914
movl %ebx, %eax
shlb $0x4, %al
movq %r10, %rdi
movb %al, (%r10)
incq %rdi
movq %rdi, %r14
movq %r12, %rsi
movq %rbx, %rdx
callq 0x1140
addl %ebx, %r14d
subl 0x50(%rsp), %r14d
movl %r14d, %edi
jmp 0x3fba
movq %r14, %r11
movq 0x10(%rsp), %rbx
jmp 0x3504
movq %r12, %r11
movq (%rsp), %r9
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %r8
jmp 0x2f75
movq %r14, %r11
movq 0x10(%rsp), %rdi
jmp 0x47ed
movq %r12, %r11
movq (%rsp), %r9
movq 0x48(%rsp), %rsi
jmp 0x487f