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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r10, qword [r8 + 0x18]
mov rbp, rcx
mov r15, qword [r8 + 0x10]
mov rdi, r9
mov r14, r8
mov rcx, r8
cmp r10, 0x10
jb 0x14005824e
mov rcx, qword [r8]
xor r8d, r8d
movabs r9, 0xcbf29ce484222325
test r15, r15
je 0x140058284
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
inc r8
xor r9, rax
imul r9, rdx
cmp r8, r15
jb 0x140058270
mov rsi, qword [rbp + 0x30]
mov rax, qword [rbp + 0x18]
and rsi, r9
mov rbx, qword [rbp + 8]
add rsi, rsi
mov r13, qword [rax + rsi*8]
cmp rbx, r13
je 0x1400582ea
mov rbx, qword [rax + rsi*8 + 8]
mov rbx, qword [rbx]
cmp rbx, r13
je 0x1400582ea
nop dword [rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
jb 0x1400582c3
mov rdx, qword [rbx + 0x10]
mov rcx, r14
cmp r10, 0x10
jb 0x1400582cf
mov rcx, qword [r14]
cmp r15, qword [rbx + 0x20]
jne 0x1400582e5
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14005833c
mov r10, qword [r14 + 0x18]
cmp rbx, r13
jne 0x1400582b0
mov rax, qword [rdi]
cmp rbx, rax
je 0x14005831f
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 [rbp + 0x18]
mov rax, qword [rdx + rsi*8]
cmp rax, qword [rbp + 8]
jne 0x140058372
mov qword [rdx + rsi*8], rdi
mov rax, qword [rbp + 0x18]
mov qword [rax + rsi*8 + 8], rdi
jmp 0x1400583a1
mov rdx, qword [rdi + 8]
lea rcx, [rbp + 8]
mov rax, qword [rdi]
mov qword [rdx], rax
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
mov rdx, rdi
dec qword [rbp + 0x10]
call fcn.14005d0c0
mov rax, qword [rsp + 0x68]
mov qword [rax], rbx
mov byte [rax + 8], 0
jmp 0x14005844c
cmp rax, rbx
jne 0x14005837d
mov qword [rdx + rsi*8], rdi
jmp 0x1400583a1
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + rsi*8 + 8], rcx
cmp rcx, rdi
je 0x1400583a1
mov rdx, qword [rbp + 0x18]
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi*8 + 8], rcx
mov rax, qword [rbp + 0x10]
xorps xmm0, xmm0
mov rdx, qword [rbp + 0x38]
movss xmm2, dword [0x140087830]
cvtsi2ss xmm0, rax
test rax, rax
jns 0x1400583c2
addss xmm0, xmm2
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
test rdx, rdx
jns 0x1400583d3
addss xmm1, xmm2
divss xmm0, xmm1
comiss xmm0, dword [rbp]
jbe 0x140058440
cmp rdx, 0x200
jae 0x1400583f0
lea rdx, [rdx*8]
jmp 0x140058402
movabs rax, 0xfffffffffffffff
cmp rdx, rax
jae 0x140058402
add rdx, rdx
mov rcx, rbp
call fcn.140050470
mov rsi, qword [rbp + 8]
cmp qword [rsi], rsi
je 0x140058440
mov rsi, qword [rsi + 8]
nop word [rax + rax]
mov rbx, qword [rbp + 8]
lea rdx, [rsp + 0x20]
mov rcx, rbp
mov rbx, qword [rbx]
mov r9, rbx
lea r8, [rbx + 0x10]
call fcn.140058210
cmp rbx, rsi
jne 0x140058420
mov rax, qword [rsp + 0x68]
mov qword [rax], rdi
mov byte [rax + 8], 1
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret