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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
cmp qword [rsp + 0x10], 0
jne 0x1400089dd
xor eax, eax
jmp 0x140008c36
mov eax, dword [rsp + 8]
xor eax, 0xffffffff
mov dword [rsp + 8], eax
cmp dword [rsp + 0x18], 8
jb 0x140008bdb
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x18]
sub eax, 8
mov dword [rsp + 0x18], eax
jmp 0x1400089e8
cmp dword [rsp + 0x18], 0
je 0x140008c2f
mov rax, qword [rsp + 0x10]
movzx ecx, byte [rax]
mov eax, dword [rsp + 8]
xor eax, ecx
and eax, 0xff
movsxd rdx, eax
lea rax, [0x14007ee80]
mov ecx, dword [rsp + 8]
shr ecx, 8
mov eax, dword [rax + rdx*4]
xor eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
add rax, 1
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x18]
sub eax, 1
mov dword [rsp + 0x18], eax
cmp dword [rsp + 0x18], 0
jne 0x140008be2
mov eax, dword [rsp + 8]
xor eax, 0xffffffff
repz ret