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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
cmp qword [rsp + 0x10], 0
jne 0x180020c0d
xor eax, eax
jmp 0x180020e6e
mov eax, dword [rsp + 8]
xor eax, 0xffffffff
mov dword [rsp + 8], eax
cmp qword [rsp + 0x18], 8
jb 0x180020e0f
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x18]
sub rax, 8
mov qword [rsp + 0x18], rax
jmp 0x180020c18
cmp qword [rsp + 0x18], 0
je 0x180020e67
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
and eax, 0xff
cdqe
lea rcx, [0x18005ab50]
mov edx, dword [rsp + 8]
shr edx, 8
mov eax, dword [rcx + rax*4]
xor eax, edx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
inc rax
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x18]
dec rax
mov qword [rsp + 0x18], rax
cmp qword [rsp + 0x18], 0
jne 0x180020e17
mov eax, dword [rsp + 8]
xor eax, 0xffffffff
ret