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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x30
call fcn.14024eae0
sub rsp, rax
mov r14, r8
mov rsi, rdx
mov rdi, rcx
mov r9d, dword [r8]
mov dword [rsp + 0x60], r9d
movabs r11, 0xcbf29ce484222325
mov rcx, r11
xor edx, edx
movabs r10, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x60]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, 4
jb 0x140201bd1
movzx r8d, byte [r8 + 4]
mov eax, r8d
xor rax, r11
imul rax, r10
imul r12, rcx, 0x18d
xor r12, rax
mov rcx, qword [rdi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rdi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
lea r15, [rdi + 8]
mov rbp, qword [r15]
cmp rax, rbp
je 0x140201c5e
mov rdx, qword [rdx + rcx*8]
cmp r9d, dword [rax + 0x10]
jne 0x140201c32
cmp r8b, byte [rax + 0x14]
jne 0x140201c32
xor cl, cl
jmp 0x140201c34
mov cl, 1
test cl, cl
je 0x140201c4a
cmp rax, rdx
je 0x140201c43
mov rax, qword [rax + 8]
jmp 0x140201c22
mov rbp, rax
xor eax, eax
jmp 0x140201c4d
mov rbp, qword [rax]
test rax, rax
je 0x140201c5e
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x140201def
movabs rax, 0x492492492492492
cmp qword [rdi + 0x10], rax
jne 0x140201c7c
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x20], r15
and qword [rsp + 0x28], 0
mov ecx, 0x38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x140201ca1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
int3
mov qword [rsp + 0x28], rbx
mov rax, qword [r14]
mov qword [rbx + 0x10], rax
and qword [rbx + 0x18], 0
and qword [rbx + 0x20], 0
and qword [rbx + 0x28], 0
mov byte [rbx + 0x30], 0
mov rcx, qword [rdi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x140201cd4
cvtsi2ss xmm0, rcx
jmp 0x140201ce9
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rdi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x140201cfc
cvtsi2ss xmm1, rcx
jmp 0x140201d11
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rdi]
seta al
test al, al
je 0x140201d9e
mov rcx, rdi
call fcn.1401c5df0
mov rax, qword [rdi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rdi + 0x18]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [r15]
cmp rcx, rdx
jne 0x140201d4f
mov qword [rsp + 0x20], rdx
and qword [rsp + 0x28], 0
jmp 0x140201d8e
mov rdx, qword [r8 + rax*8]
mov r8d, dword [rbx + 0x10]
cmp r8d, dword [rcx + 0x10]
jne 0x140201d69
mov al, byte [rcx + 0x14]
cmp byte [rbx + 0x14], al
jne 0x140201d69
xor al, al
jmp 0x140201d6b
mov al, 1
test al, al
je 0x140201d81
cmp rcx, rdx
je 0x140201d7a
mov rcx, qword [rcx + 8]
jmp 0x140201d57
mov qword [rsp + 0x20], rcx
jmp 0x140201d47
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbp + 8]
inc qword [rdi + 0x10]
mov qword [rbx], rbp
mov qword [rbx + 8], rdx
mov qword [rdx], rbx
mov qword [rbp + 8], rbx
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r15]
jne 0x140201dd1
mov qword [rcx + rax*8], rbx
jmp 0x140201de3
cmp r8, rbp
jne 0x140201ddc
mov qword [rcx + rax*8], rbx
jmp 0x140201de8
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140201de8
mov qword [rcx + rax*8 + 8], rbx
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret