Function at 0x140006f20
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push r14
push rsi
push rdi
push rbx
test rdx, rdx
je 0x14000718e
not ecx
test r8, r8
je 0x140006f57
lea rax, [0x140032a50]
test dl, 3
je 0x140006f5a
movzx ebx, byte [rdx]
inc rdx
movzx edi, cl
xor edi, ebx
shr ecx, 8
xor ecx, dword [rax + rdi*4]
dec r8
jne 0x140006f3c
xor r8d, r8d
mov rax, r8
not rax
mov rbx, 0xffffffffffffffe0
cmp rax, rbx
cmovbe rax, rbx
lea r9, [r8 + rax]
add r9, 0x20
and r9, 0xffffffffffffffe0
cmp r8, 0x20
jb 0x140007112
lea rax, [0x140032a50]
mov r10, rdx
mov r11, r8
xor ecx, dword [r10]
movzx esi, cl
movzx edi, ch
mov ebx, dword [rax + rdi*4 + 0x800]
xor ebx, dword [rax + rsi*4 + 0xc00]
mov esi, ecx
shr esi, 0x10
movzx esi, sil
xor ebx, dword [rax + rsi*4 + 0x400]
shr ecx, 0x18
xor ebx, dword [rax + rcx*4]
xor ebx, dword [r10 + 4]
movzx esi, bl
movzx ecx, bh
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + rsi*4 + 0xc00]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
xor ecx, dword [rax + rsi*4 + 0x400]
shr ebx, 0x18
xor ecx, dword [rax + rbx*4]
xor ecx, dword [r10 + 8]
movzx esi, cl
movzx edi, ch
mov ebx, dword [rax + rdi*4 + 0x800]
xor ebx, dword [rax + rsi*4 + 0xc00]
mov esi, ecx
shr esi, 0x10
movzx esi, sil
xor ebx, dword [rax + rsi*4 + 0x400]
shr ecx, 0x18
xor ebx, dword [rax + rcx*4]
xor ebx, dword [r10 + 0xc]
movzx esi, bl
movzx ecx, bh
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + rsi*4 + 0xc00]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
xor ecx, dword [rax + rsi*4 + 0x400]
shr ebx, 0x18
xor ecx, dword [rax + rbx*4]
xor ecx, dword [r10 + 0x10]
movzx esi, cl
movzx edi, ch
mov ebx, dword [rax + rdi*4 + 0x800]
xor ebx, dword [rax + rsi*4 + 0xc00]
mov esi, ecx
shr esi, 0x10
movzx esi, sil
xor ebx, dword [rax + rsi*4 + 0x400]
shr ecx, 0x18
xor ebx, dword [rax + rcx*4]
xor ebx, dword [r10 + 0x14]
movzx esi, bl
movzx ecx, bh
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + rsi*4 + 0xc00]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
xor ecx, dword [rax + rsi*4 + 0x400]
shr ebx, 0x18
xor ecx, dword [rax + rbx*4]
xor ecx, dword [r10 + 0x18]
movzx esi, cl
movzx edi, ch
mov ebx, dword [rax + rdi*4 + 0x800]
xor ebx, dword [rax + rsi*4 + 0xc00]
mov esi, ecx
shr esi, 0x10
movzx esi, sil
xor ebx, dword [rax + rsi*4 + 0x400]
shr ecx, 0x18
xor ebx, dword [rax + rcx*4]
xor ebx, dword [r10 + 0x1c]
movzx esi, bl
movzx ecx, bh
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + rsi*4 + 0xc00]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
xor ecx, dword [rax + rsi*4 + 0x400]
shr ebx, 0x18
xor ecx, dword [rax + rbx*4]
add r11, 0xffffffffffffffe0
add r10, 0x20
cmp r11, 0x1f
ja 0x140006f91
mov r10, r8
sub r10, r9
mov rax, r10
not rax
mov rbx, 0xfffffffffffffffc
cmp rax, rbx
cmovbe rax, rbx
lea r11, [r10 + rax]
add r11, 4
and r11, 0xfffffffffffffffc
cmp r10, 4
jb 0x140007192
lea rsi, [rdx + r9]
lea r14, [0x140032a50]
mov rbx, r10
xor ecx, dword [rsi]
add rsi, 4
movzx edi, cl
movzx eax, ch
mov eax, dword [r14 + rax*4 + 0x800]
xor eax, dword [r14 + rdi*4 + 0xc00]
mov edi, ecx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x18
xor eax, dword [r14 + rcx*4]
add rbx, 0xfffffffffffffffc
mov ecx, eax
cmp rbx, 3
ja 0x14000714c
jmp 0x140007194
xor eax, eax
jmp 0x1400071bd
mov eax, ecx
cmp r10, r11
je 0x1400071bb
add r9, r11
lea rcx, [0x140032a50]
movzx ebx, byte [rdx + r9]
movzx edi, al
xor edi, ebx
shr eax, 8
xor eax, dword [rcx + rdi*4]
inc r9
cmp r8, r9
jne 0x1400071a3
not eax
pop rbx
pop rdi
pop rsi
pop r14
ret