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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov esi, edx
mov rdi, rcx
xor r14d, r14d
mov dword [rbp - 0x50], r14d
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov dword [rbp - 0x50], 1
mov dword [rbp + 0x38], edx
lea rcx, [rbp - 0x40]
call fcn.14005c5b4
nop
movabs r12, 0xcbf29ce484222325
mov rcx, r12
mov edx, r14d
movabs r15, 0x100000001b3
movzx eax, byte [rbp + rdx + 0x38]
xor rcx, rax
imul rcx, r15
inc rdx
cmp rdx, 4
jb 0x14005c96f
mov rax, qword [rbp - 0x10]
and rax, rcx
add rax, rax
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rcx + rax*8 + 8]
mov rdx, qword [rbp - 0x38]
cmp rbx, rdx
je 0x14005cb02
mov r8, qword [rcx + rax*8]
jmp 0x14005c9b7
cmp rbx, r8
je 0x14005cb02
mov rbx, qword [rbx + 8]
cmp esi, dword [rbx + 0x10]
jne 0x14005c9aa
jmp 0x14005cafd
lea r8, [rbx + 0x18]
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14005c9f7
mov eax, dword [r8]
mov dword [rdx], eax
mov eax, dword [r8 + 4]
mov dword [rdx + 4], eax
lea rcx, [rdx + 8]
mov qword [rdx + 0x18], r14
mov qword [rdx + 0x20], r14
lea rdx, [r8 + 8]
call fcn.140034c5c
add qword [rdi + 8], 0x28
jmp 0x14005c9ff
mov rcx, rdi
call fcn.14005d59c
cmp esi, dword [rbx + 0x1c]
je 0x14005cb10
mov esi, dword [rbx + 0x1c]
mov dword [rbp + 0x38], esi
mov rcx, r12
mov rdx, r14
movzx eax, byte [rbx + rdx + 0x10]
xor rcx, rax
imul rcx, r15
inc rdx
cmp rdx, 4
jb 0x14005ca14
and rcx, qword [rbp - 0x10]
add rcx, rcx
mov rdx, qword [rbp - 0x28]
cmp qword [rdx + rcx*8 + 8], rbx
jne 0x14005ca56
cmp qword [rdx + rcx*8], rbx
jne 0x14005ca4b
mov rax, qword [rbp - 0x38]
mov qword [rdx + rcx*8], rax
jmp 0x14005ca4f
mov rax, qword [rbx + 8]
mov qword [rdx + rcx*8 + 8], rax
jmp 0x14005ca63
cmp qword [rdx + rcx*8], rbx
jne 0x14005ca63
mov rax, qword [rbx]
mov qword [rdx + rcx*8], rax
mov rcx, qword [rbx]
dec qword [rbp - 0x30]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rdx, qword [rbx + 0x38]
cmp rdx, 8
jb 0x14005ca94
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx + 0x20]
call fcn.1400331fc
mov qword [rbx + 0x30], r14
mov qword [rbx + 0x38], 7
mov word [rbx + 0x20], r14w
mov edx, 0x40
mov rcx, rbx
call fcn.1400331fc
mov rcx, r12
mov rdx, r14
movzx eax, byte [rbp + rdx + 0x38]
xor rcx, rax
imul rcx, r15
inc rdx
cmp rdx, 4
jb 0x14005cab8
mov rax, qword [rbp - 0x10]
and rax, rcx
add rax, rax
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rcx + rax*8 + 8]
mov rdx, qword [rbp - 0x38]
cmp rbx, rdx
je 0x14005cb02
mov r8, qword [rcx + rax*8]
jmp 0x14005caf8
cmp rbx, r8
je 0x14005cb02
mov rbx, qword [rbx + 8]
cmp esi, dword [rbx + 0x10]
jne 0x14005caef
test rbx, rbx
jne 0x14005cb05
mov rbx, rdx
cmp rbx, rdx
jne 0x14005c9c1
jmp 0x14005cb14
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
call fcn.1400331fc
mov qword [rbp - 0x28], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x38]
call fcn.14005d23c
mov rax, rdi
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret