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

Disassembly:
push rsi
push rdi
test rdx, rdx
je 0x14001777c
not ecx
test r8, r8
je 0x14001753b
mov eax, edx
and eax, 3
je 0x14001753b
lea r11, [rdx + 1]
lea r9, [0x1401d7430]
mov r10, r8
mov al, byte [rdx]
xor al, cl
inc rdx
movzx eax, al
shr ecx, 8
xor ecx, dword [r9 + rax*4]
dec r8
cmp r10, 1
je 0x14001753b
mov eax, r11d
and eax, 3
inc r11
test rax, rax
jne 0x140017510
cmp r8, 0x20
jb 0x140017721
mov r9d, 0xff
lea r10, [0x1401d7430]
xor ecx, dword [rdx]
mov r11d, ecx
and r11d, r9d
mov eax, ecx
shr eax, 8
and eax, r9d
mov esi, dword [r10 + rax*4 + 0x800]
xor esi, dword [r10 + r11*4 + 0xc00]
mov eax, ecx
shr eax, 0x10
and eax, r9d
xor esi, dword [r10 + rax*4 + 0x400]
shr ecx, 0x18
xor esi, dword [r10 + rcx*4]
xor esi, dword [rdx + 4]
mov eax, esi
and eax, r9d
mov ecx, esi
shr ecx, 8
and ecx, r9d
mov r11d, dword [r10 + rcx*4 + 0x800]
xor r11d, dword [r10 + rax*4 + 0xc00]
mov eax, esi
shr eax, 0x10
and eax, r9d
xor r11d, dword [r10 + rax*4 + 0x400]
shr esi, 0x18
xor r11d, dword [r10 + rsi*4]
xor r11d, dword [rdx + 8]
mov esi, r11d
and esi, r9d
mov eax, r11d
shr eax, 8
and eax, r9d
mov edi, dword [r10 + rax*4 + 0x800]
xor edi, dword [r10 + rsi*4 + 0xc00]
mov ecx, r11d
shr ecx, 0x10
and ecx, r9d
xor edi, dword [r10 + rcx*4 + 0x400]
shr r11d, 0x18
xor edi, dword [r10 + r11*4]
xor edi, dword [rdx + 0xc]
mov eax, edi
and eax, r9d
mov ecx, edi
shr ecx, 8
and ecx, r9d
mov esi, dword [r10 + rcx*4 + 0x800]
xor esi, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r9d
xor esi, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor esi, dword [r10 + rdi*4]
xor esi, dword [rdx + 0x10]
mov ecx, esi
and ecx, r9d
mov eax, esi
shr eax, 8
and eax, r9d
mov edi, dword [r10 + rax*4 + 0x800]
xor edi, dword [r10 + rcx*4 + 0xc00]
mov ecx, esi
shr ecx, 0x10
and ecx, r9d
xor edi, dword [r10 + rcx*4 + 0x400]
shr esi, 0x18
xor edi, dword [r10 + rsi*4]
xor edi, dword [rdx + 0x14]
mov eax, edi
and eax, r9d
mov ecx, edi
shr ecx, 8
and ecx, r9d
mov esi, dword [r10 + rcx*4 + 0x800]
xor esi, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r9d
xor esi, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor esi, dword [r10 + rdi*4]
xor esi, dword [rdx + 0x18]
mov ecx, esi
and ecx, r9d
mov eax, esi
shr eax, 8
and eax, r9d
mov edi, dword [r10 + rax*4 + 0x800]
xor edi, dword [r10 + rcx*4 + 0xc00]
mov ecx, esi
shr ecx, 0x10
and ecx, r9d
xor edi, dword [r10 + rcx*4 + 0x400]
shr esi, 0x18
xor edi, dword [r10 + rsi*4]
xor edi, dword [rdx + 0x1c]
add rdx, 0x20
mov eax, edi
and eax, r9d
mov ecx, edi
shr ecx, 8
and ecx, r9d
mov ecx, dword [r10 + rcx*4 + 0x800]
xor ecx, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r9d
xor ecx, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor ecx, dword [r10 + rdi*4]
add r8, 0xffffffffffffffe0
cmp r8, 0x1f
ja 0x140017552
cmp r8, 4
jb 0x140017780
mov r9d, 0xff
lea r10, [0x1401d7430]
xor ecx, dword [rdx]
mov edi, ecx
and edi, r9d
mov eax, ecx
shr eax, 8
and eax, r9d
mov eax, dword [r10 + rax*4 + 0x800]
xor eax, dword [r10 + rdi*4 + 0xc00]
mov edi, ecx
shr edi, 0x10
and edi, r9d
xor eax, dword [r10 + rdi*4 + 0x400]
shr ecx, 0x18
xor eax, dword [r10 + rcx*4]
add rdx, 4
add r8, 0xfffffffffffffffc
mov ecx, eax
cmp r8, 3
ja 0x140017734
jmp 0x140017782
xor eax, eax
jmp 0x1400177a9
mov eax, ecx
test r8, r8
je 0x1400177a7
xor edi, edi
lea r9, [0x1401d7430]
mov cl, byte [rdx + rdi]
xor cl, al
movzx ecx, cl
shr eax, 8
xor eax, dword [r9 + rcx*4]
inc rdi
cmp r8, rdi
jne 0x140017790
not eax
pop rdi
pop rsi
ret