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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x180073028]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r10d, r8d
mov rsi, rdx
mov rbx, rcx
mov rdi, qword [0x1800ca7d8]
add rdi, rcx
mov r8, qword [0x1800ca8c0]
add r8, rcx
lea r9, [r8 + 0x16]
cmp byte [r8 + 0x14], 0
jne 0x180057402
mov byte [r9], 0
mov word [r8 + 0x14], 0x101
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rsp + 0x28], rax
mov byte [r8], al
movzx eax, byte [rsp + 0x29]
mov edx, 2
mov byte [r8 + 1], al
movzx ecx, byte [rsp + rdx + 0x28]
inc edx
mov byte [r8 + 2], cl
movzx eax, byte [rsp + rdx + 0x28]
mov byte [r8 + 3], al
mov byte [r8 + 0x17], 0
mov dword [rsp + 0x20], r10d
mov eax, dword [r8]
mov dword [rsp + 0x28], eax
movzx eax, byte [r8 + 0x15]
test al, al
je 0x180057438
xor ecx, ecx
mov edx, eax
nop dword [rax + rax]
mov eax, dword [rsp + rcx + 0x28]
not eax
xor dword [rsp + rcx + 0x20], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x180057420
lea r9, [r8 + 0x16]
movzx eax, byte [r9]
mov ecx, 4
sub rcx, rax
cmp rcx, 4
jae 0x180057464
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x28]
not al
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 4
jb 0x180057450
movzx eax, byte [r8 + 0x17]
inc al
and eax, 3
mov ecx, eax
mov eax, dword [rsp + 0x20]
mov dword [r8 + rcx*4 + 4], eax
mov byte [r8 + 0x17], cl
mov dword [rdi + 0x38], r10d
mov r9, qword [0x1800ca7d8]
add r9, rbx
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 0x1800574b0
movabs rax, 0x2374c594f5e76f06
cmp rdx, rax
jne 0x1800574dd
lea eax, [r10 - 0x1d]
cmp eax, 7
jbe 0x18005750c
jmp 0x180057534
movabs rax, 0xf9bdf861cccd5fd1
cmp rdx, rax
jne 0x1800574f7
lea eax, [r10 - 0x1a]
cmp eax, 6
jbe 0x18005750c
jmp 0x180057534
movabs rax, 0xb4d052affec8dc8e
cmp rdx, rax
jne 0x180057516
cmp r10d, 0x10
jne 0x180057534
mov byte [r9 + 0x9c], 0
jmp 0x180057577
movabs rcx, 0x2f2959b508f215d2
movabs rax, 0xecc3c7c77aebb7ea
cmp rdx, rcx
je 0x180057557
cmp rdx, rax
je 0x180057557
cmp byte [r9 + 0x9c], 0xff
je 0x180057577
movabs rax, 0xeb5bc0df5355fba6
cmp rdx, rax
je 0x180057577
mov byte [r9 + 0x9c], 0xff
jmp 0x180057577
cmp r10d, 7
jne 0x1800575f4
cmp rdx, rcx
je 0x180057607
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x180057577
mov qword [r9 + 8], rax
mov ecx, dword [0x1800ca7b4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800cbd68], ecx
jle 0x1800575d3
lea rcx, [0x1800cbd68]
call fcn.18005aef0
cmp dword [0x1800cbd68], 0xffffffff
jne 0x1800575d3
mov rax, qword [0x1800c9a30]
mov rdx, qword [rax]
add rdx, qword [0x1800ca8c8]
mov qword [0x1800cbd60], rdx
lea rcx, [0x1800cbd68]
call fcn.18005ae90
mov dl, 1
mov rcx, rdi
call qword [0x1800cbd60]
nop
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18005a840
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
cmp r10d, 6
jne 0x18005756a
cmp rdx, rax
jne 0x18005756a
mov rax, qword [r9]
cmp rax, qword [r9 + 8]
je 0x180057614
mov qword [r9 + 8], rax
mov r8d, r10d
mov rdx, rsi
mov rcx, r9
call fcn.180057630
jmp 0x1800575df