Function at 0x140002be0
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 0x140002c25
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 0x140002c49
cmp dword [rbp - 0x24], 0
jne 0x140002e21
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 0x24], eax
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r14]
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
inc rdx
cmp rdx, 8
jb 0x140002c55
mov rdx, qword [rdi + 0x30]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rdi + 0x18]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rdi + 8]
je 0x140002ca7
mov r8, qword [rcx + rdx*8]
mov rcx, qword [r14]
jmp 0x140002c9f
cmp rax, r8
je 0x140002ca7
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x140002c96
jmp 0x140002ca9
xor eax, eax
test rax, rax
cmove rax, qword [rdi + 8]
cmp rax, qword [rdi + 8]
je 0x140002cc2
mov rdx, r14
mov rcx, rdi
call fcn.1400026cc
lea rbx, [rdi + 0x40]
cmp qword [rdi + 0x10], 0x20
jb 0x140002d21
mov rax, qword [rbx]
mov rdx, qword [rax + 8]
add rdx, 0x10
mov rcx, rdi
call fcn.140002b14
mov rax, qword [rbx]
mov rsi, qword [rax + 8]
mov rcx, qword [rsi]
dec qword [rbx + 8]
mov rax, qword [rsi + 8]
mov qword [rax], rcx
mov rax, qword [rsi + 8]
mov qword [rcx + 8], rax
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140002d18
and qword [rsi + 0x18], 0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140023690]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbx]
mov r15, qword [rax]
movabs rax, 0x7ffffffffffffff
cmp qword [rbx + 8], rax
jne 0x140002d45
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], rbx
and qword [rbp - 0x18], 0
mov ecx, 0x20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x140002d68
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
int3
mov rax, qword [r14]
mov qword [rsi + 0x10], rax
mov rcx, qword [r12]
mov qword [rsi + 0x18], rcx
test rcx, rcx
je 0x140002d89
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [0x140023690]
nop
inc qword [rbx + 8]
mov rax, qword [r15 + 8]
mov qword [rsi], r15
mov qword [rsi + 8], rax
mov qword [r15 + 8], rsi
mov qword [rax], rsi
mov rax, qword [rbx]
mov rbx, qword [rax]
mov r8, r14
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140002e40
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x140002dea
or eax, 0xffffffff
lock xadd dword [rbp - 0x28], eax
cmp eax, 1
jne 0x140002dde
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x24], eax
jne 0x140002e2e
and dword [rbp - 0x24], 0
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
jmp 0x140002dbb
cmp dword [rbp - 0x24], 0
je 0x140002dfb
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x24], eax
jne 0x140002e14
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.140001f08
int3
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140001f08
int3
xor edx, edx
mov ecx, 0x131f4c5
call fcn.140001f08
int3