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

Disassembly:
mov r8d, r8d
jmp 0x1403cd6a0
push rsi
push rbx
xor eax, eax
mov r10, rdx
test rdx, rdx
je 0x1403cd922
mov eax, ecx
lea rcx, [0x140630f00]
not eax
test r8, r8
jne 0x1403cd6d0
mov r9, r10
lea r11, [r10 + r8]
lea rdx, [0x140630f00]
jmp 0x1403cd6ec
test r10b, 3
je 0x1403cd6c0
mov dl, byte [r10]
inc r10
dec r8
xor edx, eax
shr eax, 8
movzx edx, dl
xor eax, dword [rcx + rdx*4]
jmp 0x1403cd6bb
mov rcx, r11
sub rcx, r9
cmp rcx, 0x1f
jbe 0x1403cd88c
xor eax, dword [r9]
mov ebx, eax
movzx ecx, al
mov esi, eax
movzx eax, ah
shr ebx, 0x10
shr esi, 0x18
mov eax, eax
mov ecx, dword [rdx + rcx*4 + 0xc00]
movzx ebx, bl
xor ecx, dword [rdx + rsi*4]
xor ecx, dword [r9 + 4]
xor ecx, dword [rdx + rax*4 + 0x800]
xor ecx, dword [rdx + rbx*4 + 0x400]
mov ebx, ecx
movzx eax, cl
mov esi, ecx
movzx ecx, ch
shr ebx, 0x10
shr esi, 0x18
mov ecx, ecx
mov eax, dword [rdx + rax*4 + 0xc00]
movzx ebx, bl
xor eax, dword [rdx + rsi*4]
xor eax, dword [r9 + 8]
xor eax, dword [rdx + rcx*4 + 0x800]
xor eax, dword [rdx + rbx*4 + 0x400]
mov ebx, eax
movzx ecx, al
mov esi, eax
movzx eax, ah
shr ebx, 0x10
shr esi, 0x18
mov eax, eax
mov ecx, dword [rdx + rcx*4 + 0xc00]
movzx ebx, bl
xor ecx, dword [rdx + rsi*4]
xor ecx, dword [r9 + 0xc]
xor ecx, dword [rdx + rax*4 + 0x800]
xor ecx, dword [rdx + rbx*4 + 0x400]
mov ebx, ecx
movzx eax, cl
mov esi, ecx
movzx ecx, ch
shr ebx, 0x10
shr esi, 0x18
mov ecx, ecx
mov eax, dword [rdx + rax*4 + 0xc00]
movzx ebx, bl
xor eax, dword [rdx + rsi*4]
xor eax, dword [r9 + 0x10]
xor eax, dword [rdx + rcx*4 + 0x800]
xor eax, dword [rdx + rbx*4 + 0x400]
mov ebx, eax
movzx ecx, al
mov esi, eax
movzx eax, ah
shr ebx, 0x10
shr esi, 0x18
mov eax, eax
mov ecx, dword [rdx + rcx*4 + 0xc00]
movzx ebx, bl
xor ecx, dword [rdx + rsi*4]
xor ecx, dword [r9 + 0x14]
xor ecx, dword [rdx + rax*4 + 0x800]
xor ecx, dword [rdx + rbx*4 + 0x400]
mov ebx, ecx
movzx eax, cl
mov esi, ecx
movzx ecx, ch
shr ebx, 0x10
mov ecx, ecx
shr esi, 0x18
mov eax, dword [rdx + rax*4 + 0xc00]
movzx ebx, bl
xor eax, dword [rdx + rsi*4]
xor eax, dword [r9 + 0x18]
add r9, 0x20
xor eax, dword [rdx + rcx*4 + 0x800]
xor eax, dword [rdx + rbx*4 + 0x400]
mov ebx, eax
movzx ecx, al
mov esi, eax
movzx eax, ah
shr ebx, 0x10
shr esi, 0x18
mov eax, eax
mov ecx, dword [rdx + rcx*4 + 0xc00]
movzx ebx, bl
xor ecx, dword [rdx + rsi*4]
xor ecx, dword [r9 - 4]
xor ecx, dword [rdx + rax*4 + 0x800]
xor ecx, dword [rdx + rbx*4 + 0x400]
mov ebx, ecx
movzx eax, cl
mov esi, ecx
movzx ecx, ch
shr ebx, 0x10
shr esi, 0x18
mov ecx, ecx
mov eax, dword [rdx + rax*4 + 0xc00]
movzx ebx, bl
xor eax, dword [rdx + rsi*4]
xor eax, dword [rdx + rcx*4 + 0x800]
xor eax, dword [rdx + rbx*4 + 0x400]
jmp 0x1403cd6ec
mov rdx, r8
mov r9, r8
lea r11, [0x140630f00]
and rdx, 0xffffffffffffffe0
and r9d, 0x1f
add rdx, r10
xor r10d, r10d
mov rcx, r9
sub rcx, r10
cmp rcx, 3
jbe 0x1403cd8f0
xor eax, dword [rdx + r10]
add r10, 4
mov ebx, eax
movzx ecx, al
mov esi, eax
movzx eax, ah
shr ebx, 0x10
mov eax, eax
shr esi, 0x18
mov ecx, dword [r11 + rcx*4 + 0xc00]
movzx ebx, bl
xor ecx, dword [r11 + rsi*4]
xor ecx, dword [r11 + rax*4 + 0x800]
mov eax, dword [r11 + rbx*4 + 0x400]
xor eax, ecx
jmp 0x1403cd8a7
and r8d, 3
je 0x1403cd920
and r9d, 0x1c
xor ecx, ecx
lea r10, [0x140630f00]
add rdx, r9
mov r9b, byte [rdx + rcx]
inc rcx
xor r9d, eax
shr eax, 8
movzx r9d, r9b
xor eax, dword [r10 + r9*4]
cmp r8, rcx
jne 0x1403cd906
not eax
pop rbx
pop rsi
ret