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

Disassembly:
push rbx
mov eax, ecx
not eax
test r8, r8
je 0x14000c067
test dl, 3
je 0x14000bde8
lea rcx, [0x14001d560]
jmp 0x14000bdc5
test dl, 3
je 0x14000bde8
movzx r9d, byte [rdx]
add rdx, 1
xor r9d, eax
shr eax, 8
movzx r9d, r9b
xor eax, dword [rcx + r9*4]
sub r8, 1
jne 0x14000bdc0
not eax
pop rbx
ret
cmp r8, 0x1f
jbe 0x14000bfc8
lea rcx, [r8 - 0x20]
and rcx, 0xffffffffffffffe0
lea r9, [rdx + rcx + 0x20]
lea rcx, [0x14001d560]
nop word cs:[rax + rax]
xor eax, dword [rdx]
mov r10d, eax
mov r11d, eax
movzx ebx, al
movzx eax, ah
shr r10d, 0x10
shr r11d, 0x18
mov ebx, dword [rcx + rbx*4 + 0xc00]
movzx r10d, r10b
xor ebx, dword [rcx + r11*4]
xor ebx, dword [rdx + 4]
xor ebx, dword [rcx + rax*4 + 0x800]
xor ebx, dword [rcx + r10*4 + 0x400]
mov r10d, ebx
mov r11d, ebx
movzx eax, bl
movzx ebx, bh
shr r10d, 0x10
shr r11d, 0x18
mov eax, dword [rcx + rax*4 + 0xc00]
movzx r10d, r10b
xor eax, dword [rcx + r11*4]
xor eax, dword [rdx + 8]
xor eax, dword [rcx + rbx*4 + 0x800]
xor eax, dword [rcx + r10*4 + 0x400]
mov r10d, eax
mov r11d, eax
movzx ebx, al
movzx eax, ah
shr r10d, 0x10
shr r11d, 0x18
mov ebx, dword [rcx + rbx*4 + 0xc00]
movzx r10d, r10b
xor ebx, dword [rcx + r11*4]
xor ebx, dword [rdx + 0xc]
xor ebx, dword [rcx + rax*4 + 0x800]
xor ebx, dword [rcx + r10*4 + 0x400]
mov r10d, ebx
mov r11d, ebx
movzx eax, bl
movzx ebx, bh
shr r10d, 0x10
shr r11d, 0x18
mov eax, dword [rcx + rax*4 + 0xc00]
movzx r10d, r10b
xor eax, dword [rcx + r11*4]
xor eax, dword [rdx + 0x10]
xor eax, dword [rcx + rbx*4 + 0x800]
xor eax, dword [rcx + r10*4 + 0x400]
mov r10d, eax
mov r11d, eax
movzx ebx, al
movzx eax, ah
shr r10d, 0x10
shr r11d, 0x18
mov ebx, dword [rcx + rbx*4 + 0xc00]
movzx r10d, r10b
xor ebx, dword [rcx + r11*4]
xor ebx, dword [rdx + 0x14]
xor ebx, dword [rcx + rax*4 + 0x800]
xor ebx, dword [rcx + r10*4 + 0x400]
mov r10d, ebx
mov r11d, ebx
movzx eax, bl
movzx ebx, bh
shr r10d, 0x10
shr r11d, 0x18
mov eax, dword [rcx + rax*4 + 0xc00]
add rdx, 0x20
movzx r10d, r10b
xor eax, dword [rcx + r11*4]
xor eax, dword [rdx - 8]
xor eax, dword [rcx + rbx*4 + 0x800]
xor eax, dword [rcx + r10*4 + 0x400]
mov r10d, eax
mov r11d, eax
movzx ebx, al
movzx eax, ah
shr r10d, 0x10
shr r11d, 0x18
mov ebx, dword [rcx + rbx*4 + 0xc00]
movzx r10d, r10b
xor ebx, dword [rcx + r11*4]
xor ebx, dword [rdx - 4]
xor ebx, dword [rcx + rax*4 + 0x800]
xor ebx, dword [rcx + r10*4 + 0x400]
mov r10d, ebx
mov r11d, ebx
movzx eax, bl
movzx ebx, bh
shr r10d, 0x10
shr r11d, 0x18
mov eax, dword [rcx + rax*4 + 0xc00]
movzx r10d, r10b
xor eax, dword [rcx + r11*4]
xor eax, dword [rcx + rbx*4 + 0x800]
xor eax, dword [rcx + r10*4 + 0x400]
cmp rdx, r9
jne 0x14000be10
and r8d, 0x1f
cmp r8, 3
jbe 0x14000c06b
lea rcx, [r8 - 4]
shr rcx, 2
lea rbx, [rdx + rcx*4 + 4]
lea rcx, [0x14001d560]
nop word cs:[rax + rax]
xor eax, dword [rdx]
add rdx, 4
mov r11d, eax
movzx r10d, al
mov r9d, eax
movzx eax, ah
mov eax, dword [rcx + rax*4 + 0x800]
shr r11d, 0x10
shr r9d, 0x18
mov r10d, dword [rcx + r10*4 + 0xc00]
movzx r11d, r11b
xor r10d, dword [rcx + r9*4]
xor eax, r10d
xor eax, dword [rcx + r11*4 + 0x400]
cmp rdx, rbx
jne 0x14000bff0
and r8d, 3
test r8, r8
je 0x14000bde1
add r8, rbx
lea rcx, [0x14001d560]
movzx edx, byte [rbx]
add rbx, 1
xor edx, eax
shr eax, 8
movzx edx, dl
xor eax, dword [rcx + rdx*4]
cmp rbx, r8
jne 0x14000c049
not eax
jmp 0x14000bde3
mov eax, ecx
pop rbx
ret
mov rbx, rdx
jmp 0x14000c036
test rdx, rdx
je 0x14000c270
mov r8d, r8d
jmp 0x14000bda0
xor eax, eax
ret