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

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x180073028]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r10d, r8d
mov rdi, rdx
mov r11, rcx
mov rbx, qword [0x180073f98]
add rbx, rcx
mov r8, qword [0x1800740a0]
add r8, rcx
mov r9d, 2
cmp byte [r8], 0
jne 0x180058544
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 0x180058588
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 0x180058570
lea rax, [r8 + 2]
movzx eax, byte [rax]
mov ecx, 4
sub rcx, rax
cmp rcx, 4
jae 0x1800585b4
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x28]
not al
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 4
jb 0x1800585a0
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 [0x180073f98]
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 0x180058600
movabs rax, 0x2374c594f5e76f06
cmp rdx, rax
jne 0x18005862d
lea eax, [r10 - 0x1d]
cmp eax, 7
jbe 0x18005865c
jmp 0x180058684
movabs rax, 0xf9bdf861cccd5fd1
cmp rdx, rax
jne 0x180058647
lea eax, [r10 - 0x1a]
cmp eax, 6
jbe 0x18005865c
jmp 0x180058684
movabs rax, 0xb4d052affec8dc8e
cmp rdx, rax
jne 0x180058666
cmp r10d, 0x10
jne 0x180058684
mov byte [r9 + 0x9c], 0
jmp 0x1800586c7
movabs rcx, 0x2f2959b508f215d2
movabs rax, 0xecc3c7c77aebb7ea
cmp rdx, rcx
je 0x1800586a7
cmp rdx, rax
je 0x1800586a7
cmp byte [r9 + 0x9c], 0xff
je 0x1800586c7
movabs rax, 0xeb5bc0df5355fba6
cmp rdx, rax
je 0x1800586c7
mov byte [r9 + 0x9c], 0xff
jmp 0x1800586c7
cmp r10d, 7
jne 0x180058747
cmp rdx, rcx
je 0x18005875a
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x1800586c7
mov qword [r9 + 8], rax
mov ecx, dword [0x180073f74]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180075548], ecx
jle 0x180058723
lea rcx, [0x180075548]
call fcn.18005bf24
cmp dword [0x180075548], 0xffffffff
jne 0x180058723
mov rax, qword [0x180073080]
mov rdx, qword [rax]
add rdx, qword [0x1800740a8]
mov qword [0x180075540], rdx
lea rcx, [0x180075548]
call fcn.18005beb8
mov dl, 1
mov rcx, rbx
call qword [0x180075540]
nop
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18005b960
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
cmp r10d, 6
jne 0x1800586ba
cmp rdx, rax
jne 0x1800586ba
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x180058767
mov qword [r9 + 8], rax
mov r8d, r10d
mov rdx, rdi
mov rcx, r9
call fcn.180058780
jmp 0x18005872f