Function at 0x1400020b8
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
mov rbp, rsp
sub rsp, 0x30
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
add rcx, 0x50
mov qword [rbp - 0x10], rcx
and dword [rbp - 8], 0
and dword [rbp - 4], 0
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400020f9
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov eax, 1
lock xadd dword [rbp - 8], eax
inc eax
cmp eax, 1
jne 0x14000211d
cmp dword [rbp - 4], 0
jne 0x1400022e3
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 4], eax
movabs r9, 0xcbf29ce484222325
mov rcx, r9
xor edx, edx
movabs r12, 0x100000001b3
movzx eax, byte [rdx + rsi]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, 8
jb 0x140002136
mov rdx, qword [rbx + 0x30]
mov r8, rdx
and r8, rcx
mov r11, qword [rbx + 0x18]
add r8, r8
mov rax, qword [r11 + r8*8 + 8]
cmp rax, qword [rbx + 8]
je 0x140002180
mov r10, qword [r11 + r8*8]
mov rcx, qword [rsi]
jmp 0x140002178
cmp rax, r10
je 0x140002180
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x14000216f
jmp 0x140002182
xor eax, eax
test rax, rax
cmove rax, qword [rbx + 8]
cmp rax, qword [rbx + 8]
jne 0x1400021f2
mov byte [rdi + 8], 0
jmp 0x1400021c0
or eax, 0xffffffff
lock xadd dword [rbp - 8], eax
cmp eax, 1
jne 0x1400021b6
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 4], eax
jne 0x1400022d6
and dword [rbp - 4], 0
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov eax, dword [rbp - 8]
test eax, eax
jne 0x140002196
cmp dword [rbp - 4], 0
je 0x1400021dc
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 4], eax
jne 0x1400022f0
mov rax, rdi
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rbp
ret
xor ecx, ecx
movzx eax, byte [rcx + rsi]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, 8
jb 0x1400021f4
and rdx, r9
add rdx, rdx
mov r10, qword [r11 + rdx*8 + 8]
cmp r10, qword [rbx + 8]
je 0x14000223b
mov rcx, qword [r11 + rdx*8]
mov rax, qword [rsi]
jmp 0x14000222b
cmp r10, rcx
je 0x140002233
mov r10, qword [r10 + 8]
cmp rax, qword [r10 + 0x10]
jne 0x140002222
jmp 0x140002236
xor r10d, r10d
test r10, r10
jne 0x14000223f
mov r10, qword [rbx + 8]
mov rax, qword [rbx + 0x40]
mov r11, qword [rax]
mov rax, qword [r10 + 0x18]
cmp rax, r11
je 0x14000227d
mov rcx, qword [rax]
cmp rax, rcx
je 0x14000227d
cmp r11, rcx
je 0x14000227d
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r11
mov rdx, qword [r11 + 8]
mov qword [rdx], rax
mov qword [r11 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov rax, qword [r10 + 0x18]
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x140002299
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [0x1400206a8]
mov qword [rdi], rbx
mov byte [rdi + 8], 1
mov eax, dword [rbp - 8]
test eax, eax
je 0x1400021c7
or eax, 0xffffffff
lock xadd dword [rbp - 8], eax
cmp eax, 1
jne 0x1400022c7
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 4], eax
jne 0x1400022d6
and dword [rbp - 4], 0
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov eax, dword [rbp - 8]
jmp 0x1400022a3
xor edx, edx
mov ecx, 0x131f4c5
call fcn.140001d78
int3
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140001d78
int3
xor edx, edx
mov ecx, 0x131f4c3
call fcn.140001d78
int3