Function at 0x140015210
Capabilities:
Hash data using fnv

Disassembly:
jmp 0x140106100
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x1401f4210]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r15, r9
mov r13d, r8d
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0x40], r9
xor r14d, r14d
mov rcx, qword [rsp + 0x120]
call fcn.140004b10
mov r12, rax
mov qword [rsp + 0x20], rax
mov ebx, r14d
mov qword [rsp + 0x28], rbx
lea rcx, [rdi + 0x40]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x1401063c0
movzx edx, r12b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x21]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x22]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x23]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x24]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x25]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x26]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x27]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [rdi + 0xc0]
and rcx, rdx
shl rcx, 4
mov rax, qword [rdi + 0xa8]
add rax, rcx
mov rcx, qword [rax + 8]
cmp rcx, qword [rdi + 0x98]
je 0x140106220
mov rax, qword [rax]
cmp r12, qword [rcx + 0x10]
je 0x140106223
cmp rcx, rax
jne 0x1401063b7
mov rcx, r14
test rcx, rcx
je 0x1401062a2
cmp rcx, qword [rdi + 0x98]
je 0x14010624c
mov rax, qword [rcx + 0x20]
cmp qword [rcx + 0x18], rax
je 0x14010624c
mov rbx, qword [rax - 8]
mov qword [rsp + 0x28], rbx
add rax, 0xfffffffffffffff0
mov qword [rcx + 0x20], rax
lea rcx, [rdi + 0x40]
call sub.MSVCP140.dll__Mtx_unlock
test rbx, rbx
je 0x1401062ab
mov edx, r13d
mov rcx, rbx
call fcn.140010950
mov rcx, rbx
call fcn.140005ec0
cmp r15, rax
ja 0x1401063c8
mov rdx, r15
mov rcx, rbx
call fcn.140009510
nop
jmp 0x1401062bf
lea rcx, [rdi + 0x40]
call sub.MSVCP140.dll__Mtx_unlock
mov r9, r12
mov r8, r15
mov edx, r13d
mov rcx, rdi
call fcn.140015bc0
mov rbx, rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x1401063eb
mov eax, dword [rdx + 8]
test eax, eax
je 0x1401063eb
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1401062f4
test eax, eax
je 0x1401063eb
jmp 0x1401062e0
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.14000d9c0
mov rcx, rax
mov qword [rsi], r14
mov qword [rsi + 8], r14
mov rax, qword [rax]
mov qword [rsi], rax
mov rax, qword [rcx + 8]
mov qword [rsi + 8], rax
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rsi + 0x10], rbx
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140106391
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140106391
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400c7c56.0]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140106391
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov rcx, rbx
call qword [case.0x1400c7c56.0]
nop
mov rax, rsi
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14000a9e0
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rcx + 8]
jmp 0x140106211
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
lea rdx, str.size___indexBuffer__capacity__
lea rcx, [rsp + 0x78]
call fcn.14000eaa0
lea rdx, [0x1401f31d8]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.140012620
int3