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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r12, r8
mov r14, rdx
mov rdi, rcx
add rcx, 0x50
mov qword [rbp - 0x30], rcx
and dword [rbp - 0x28], 0
and dword [rbp - 0x24], 0
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140002479
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov eax, 1
lock xadd dword [rbp - 0x28], eax
inc eax
cmp eax, 1
jne 0x14000249d
cmp dword [rbp - 0x24], 0
jne 0x14000267a
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 0x24], eax
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
movzx eax, byte [rcx + r14]
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
inc rcx
cmp rcx, 8
jb 0x1400024a9
mov rcx, qword [rdi + 0x30]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rdi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [rdi + 8]
je 0x1400024fb
mov r8, qword [rdx + rcx*8]
mov rcx, qword [r14]
jmp 0x1400024f3
cmp rax, r8
je 0x1400024fb
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1400024ea
jmp 0x1400024fd
xor eax, eax
test rax, rax
cmove rax, qword [rdi + 8]
cmp rax, qword [rdi + 8]
je 0x140002516
mov rdx, r14
mov rcx, rdi
call fcn.140001f1c
cmp qword [rdi + 0x10], 0x20
jb 0x140002573
mov rax, qword [rdi + 0x40]
mov rdx, qword [rax + 8]
add rdx, 0x10
mov rcx, rdi
call fcn.14000236c
mov rax, qword [rdi + 0x40]
mov rbx, qword [rax + 8]
mov rcx, qword [rbx]
dec qword [rdi + 0x48]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14000256a
and qword [rbx + 0x18], 0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1400206a8]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rsi, [rdi + 0x40]
mov rax, qword [rsi]
mov r15, qword [rax]
movabs rax, 0x7ffffffffffffff
cmp qword [rsi + 8], rax
jne 0x14000259b
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rbp - 0x20], rsi
and qword [rbp - 0x18], 0
mov ecx, 0x20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x1400025be
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
int3
mov rax, qword [r14]
mov qword [rbx + 0x10], rax
mov rcx, qword [r12]
mov qword [rbx + 0x18], rcx
test rcx, rcx
je 0x1400025df
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [0x1400206a8]
nop
inc qword [rsi + 8]
mov rax, qword [r15 + 8]
mov qword [rbx], r15
mov qword [rbx + 8], rax
mov qword [r15 + 8], rbx
mov qword [rax], rbx
mov rax, qword [rsi]
mov rbx, qword [rax]
mov r8, r14
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140002694
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x140002643
or eax, 0xffffffff
lock xadd dword [rbp - 0x28], eax
cmp eax, 1
jne 0x140002634
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x24], eax
jne 0x140002687
and dword [rbp - 0x24], 0
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov eax, dword [rbp - 0x28]
jmp 0x140002614
cmp dword [rbp - 0x24], 0
je 0x140002654
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x24], eax
jne 0x14000266d
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
xor edx, edx
mov ecx, 0x131f4c3
call fcn.140001d78
int3
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140001d78
int3
xor edx, edx
mov ecx, 0x131f4c5
call fcn.140001d78
int3