Function at 0x180057f50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x180074010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r10d, r8d
mov rdi, rdx
mov r11, rcx
mov rbx, qword [0x180074fd8]
add rbx, rcx
mov r8, qword [0x1800750e0]
add r8, rcx
mov r9d, 2
cmp byte [r8], 0
jne 0x180057fd4
mov word [r8 + 1], 1
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rsp + 0x28], rax
mov byte [r8 + 4], al
movzx eax, byte [rsp + 0x29]
mov edx, r9d
mov byte [r8 + 5], al
movzx ecx, byte [rsp + rdx + 0x28]
inc edx
mov byte [r8 + 6], cl
movzx eax, byte [rsp + rdx + 0x28]
mov byte [r8 + 7], al
mov byte [r8 + 8], 0
mov byte [r8], 1
mov rcx, r8
mov dword [rsp + 0x20], r10d
mov eax, dword [r8 + 4]
mov dword [rsp + 0x28], eax
movzx edx, byte [r8 + 1]
lea rax, [r9 + rcx]
test dl, dl
je 0x180058018
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + rcx + 0x28]
not eax
xor dword [rsp + rcx + 0x20], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x180058000
lea rax, [r8 + 2]
movzx eax, byte [rax]
mov ecx, 4
sub rcx, rax
cmp rcx, 4
jae 0x180058044
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x28]
not al
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 4
jb 0x180058030
movzx eax, byte [r8 + 8]
inc al
and eax, 3
mov ecx, eax
mov eax, dword [rsp + 0x20]
mov dword [r8 + rcx*4 + 0xc], eax
mov byte [r8 + 8], cl
mov dword [rbx + 0x38], r10d
mov r9, qword [0x180074fd8]
add r9, r11
mov r8, qword [r9 + 0x18]
movabs rdx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r11
test cl, cl
jne 0x180058090
movabs rax, 0x2374c594f5e76f06
cmp rdx, rax
jne 0x1800580bd
lea eax, [r10 - 0x1d]
cmp eax, 7
jbe 0x1800580ec
jmp 0x180058114
movabs rax, 0xf9bdf861cccd5fd1
cmp rdx, rax
jne 0x1800580d7
lea eax, [r10 - 0x1a]
cmp eax, 6
jbe 0x1800580ec
jmp 0x180058114
movabs rax, 0xb4d052affec8dc8e
cmp rdx, rax
jne 0x1800580f6
cmp r10d, 0x10
jne 0x180058114
mov byte [r9 + 0x9c], 0
jmp 0x180058157
movabs rcx, 0x2f2959b508f215d2
movabs rax, 0xecc3c7c77aebb7ea
cmp rdx, rcx
je 0x180058137
cmp rdx, rax
je 0x180058137
cmp byte [r9 + 0x9c], 0xff
je 0x180058157
movabs rax, 0xeb5bc0df5355fba6
cmp rdx, rax
je 0x180058157
mov byte [r9 + 0x9c], 0xff
jmp 0x180058157
cmp r10d, 7
jne 0x1800581d7
cmp rdx, rcx
je 0x1800581ea
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x180058157
mov qword [r9 + 8], rax
mov ecx, dword [0x180074fb8]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180076588], ecx
jle 0x1800581b3
lea rcx, [0x180076588]
call fcn.18005bab0
cmp dword [0x180076588], 0xffffffff
jne 0x1800581b3
mov rax, qword [0x180074080]
mov rdx, qword [rax]
add rdx, qword [0x1800750e8]
mov qword [0x180076580], rdx
lea rcx, [0x180076588]
call fcn.18005ba50
mov dl, 1
mov rcx, rbx
call qword [0x180076580]
nop
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18005b400
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
cmp r10d, 6
jne 0x18005814a
cmp rdx, rax
jne 0x18005814a
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x1800581f7
mov qword [r9 + 8], rax
mov r8d, r10d
mov rdx, rdi
mov rcx, r9
call fcn.180058210
jmp 0x1800581bf