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

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
xorps xmm0, xmm0
mov rdx, qword [rcx + 0x38]
mov rbx, rcx
movss xmm2, dword [0x14007a43c]
cvtsi2ss xmm0, rax
test rax, rax
jns 0x14005c21a
addss xmm0, xmm2
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
test rdx, rdx
jns 0x14005c22b
addss xmm1, xmm2
divss xmm0, xmm1
comiss xmm0, dword [rcx]
jbe 0x14005c27b
cmp rdx, 0x200
jae 0x14005c257
lea rdx, [rdx*8]
call fcn.1400489e0
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x14005c4a0
movabs rax, 0xfffffffffffffff
cmp rdx, rax
jae 0x14005c269
add rdx, rdx
call fcn.1400489e0
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x14005c4a0
add rsp, 0x20
pop rbx
ret
push rbx
push r13
sub rsp, 0x38
mov rax, qword [rcx + 8]
lea rbx, [rcx + 8]
mov r13, rcx
cmp qword [rax], rax
je 0x14005c69a
mov rcx, qword [rax + 8]
movabs r8, 0x100000001b3
mov qword [rsp + 0x58], rbp
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x50], rcx
nop word [rax + rax]
mov rbx, qword [rbx]
mov rdi, qword [rbx]
mov r12, qword [rdi + 0x28]
lea rdx, [rdi + 0x10]
mov rbp, qword [rdi + 0x20]
cmp r12, 0x10
jb 0x14005c51c
mov rdx, qword [rdi + 0x10]
xor ecx, ecx
mov rsi, rax
test rbp, rbp
je 0x14005c543
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor rsi, rax
imul rsi, r8
cmp rcx, rbp
jb 0x14005c530
and rsi, qword [r13 + 0x30]
mov rax, qword [r13 + 0x18]
shl rsi, 4
mov r15, qword [rsi + rax]
cmp rbx, r15
je 0x14005c5a8
mov rbx, qword [rsi + rax + 8]
mov rbx, qword [rbx]
cmp rbx, r15
je 0x14005c5a8
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
jb 0x14005c583
mov rdx, qword [rbx + 0x10]
lea rcx, [rdi + 0x10]
cmp r12, 0x10
jb 0x14005c591
mov rcx, qword [rdi + 0x10]
cmp rbp, qword [rbx + 0x20]
jne 0x14005c5a3
mov r8, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14005c5fb
cmp rbx, r15
jne 0x14005c570
mov rax, qword [rdi]
cmp rbx, rax
je 0x14005c5dd
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r13 + 0x18]
add rdx, rsi
mov rax, qword [rdx]
cmp rax, qword [r13 + 8]
jne 0x14005c625
mov qword [rdx], rdi
mov rax, qword [r13 + 0x18]
mov qword [rsi + rax + 8], rdi
jmp 0x14005c651
mov rcx, qword [rdi + 8]
lea rbx, [r13 + 8]
mov rax, qword [rdi]
mov rdx, rdi
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov rcx, rbx
dec qword [rbx + 8]
call fcn.14005c2f0
jmp 0x14005c65d
cmp rax, rbx
jne 0x14005c62f
mov qword [rdx], rdi
jmp 0x14005c651
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14005c651
mov rdx, qword [r13 + 0x18]
mov rax, qword [rdx + rsi + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi + 8], rcx
mov rcx, r13
call fcn.14005c1f0
lea rbx, [r13 + 8]
movabs rax, 0xcbf29ce484222325
movabs r8, 0x100000001b3
cmp rdi, qword [rsp + 0x50]
jne 0x14005c500
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
add rsp, 0x38
pop r13
pop rbx
ret