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

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1800cd700]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r10d, r8d
mov rdi, rdx
mov r11, rcx
mov rbx, qword [0x1800ce1f8]
add rbx, rcx
mov r8, qword [0x1800ce200]
add r8, rcx
mov r9d, 2
cmp byte [r8], 0
jne 0x180047de4
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 0x180047e28
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 0x180047e10
lea rax, [r8 + 2]
movzx eax, byte [rax]
mov ecx, 4
sub rcx, rax
cmp rcx, 4
jae 0x180047e54
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x28]
not al
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 4
jb 0x180047e40
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 [0x1800ce1f8]
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 0x180047ea0
movabs rax, 0x2374c594f5e76f06
cmp rdx, rax
jne 0x180047ecd
lea eax, [r10 - 0x1d]
cmp eax, 7
jbe 0x180047efc
jmp 0x180047f24
movabs rax, 0xf9bdf861cccd5fd1
cmp rdx, rax
jne 0x180047ee7
lea eax, [r10 - 0x1a]
cmp eax, 6
jbe 0x180047efc
jmp 0x180047f24
movabs rax, 0xb4d052affec8dc8e
cmp rdx, rax
jne 0x180047f06
cmp r10d, 0x10
jne 0x180047f24
mov byte [r9 + 0x9c], 0
jmp 0x180047f67
movabs rcx, 0x2f2959b508f215d2
movabs rax, 0xecc3c7c77aebb7ea
cmp rdx, rcx
je 0x180047f47
cmp rdx, rax
je 0x180047f47
cmp byte [r9 + 0x9c], 0xff
je 0x180047f67
movabs rax, 0xeb5bc0df5355fba6
cmp rdx, rax
je 0x180047f67
mov byte [r9 + 0x9c], 0xff
jmp 0x180047f67
cmp r10d, 7
jne 0x180047fe8
cmp rdx, rcx
je 0x180047ffb
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x180047f67
mov qword [r9 + 8], rax
mov ecx, dword [0x1800ce1dc]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800ce390], ecx
jle 0x180047fc4
lea rcx, [0x1800ce390]
call fcn.1800a3364
cmp dword [0x1800ce390], 0xffffffff
jne 0x180047fc4
mov rax, qword [0x1800cd768]
mov rdx, qword [rax + 8]
add rdx, qword [0x1800ce210]
mov qword [0x1800ce388], rdx
lea rcx, [0x1800ce390]
call fcn.1800a32f8
mov dl, 1
mov rcx, rbx
call qword [0x1800ce388]
nop
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1800a2e10
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
cmp r10d, 6
jne 0x180047f5a
cmp rdx, rax
jne 0x180047f5a
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x180048008
mov qword [r9 + 8], rax
mov r8d, r10d
mov rdx, rdi
mov rcx, r9
call fcn.180048020
jmp 0x180047fd0