Function at 0x140017780
Capabilities:
Hash data using fnv

Disassembly:
jmp 0x140110140
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 r13, r8
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x30], 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 0x140110400
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 0x140110260
mov rax, qword [rax]
cmp r12, qword [rcx + 0x10]
je 0x140110263
cmp rcx, rax
jne 0x1401103f7
mov rcx, r14
test rcx, rcx
je 0x1401102e2
cmp rcx, qword [rdi + 0x98]
je 0x14011028c
mov rax, qword [rcx + 0x20]
cmp qword [rcx + 0x18], rax
je 0x14011028c
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 0x1401102eb
mov rdx, r13
mov rcx, rbx
call fcn.1400109b0
mov rcx, rbx
call fcn.140004660
cmp r15, rax
ja 0x140110408
mov rdx, r15
mov rcx, rbx
call fcn.140014170
nop
jmp 0x1401102ff
lea rcx, [rdi + 0x40]
call sub.MSVCP140.dll__Mtx_unlock
mov r9, r12
mov r8, r15
mov rdx, r13
mov rcx, rdi
call fcn.1400040d0
mov rbx, rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x14011042b
mov eax, dword [rdx + 8]
test eax, eax
je 0x14011042b
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x140110334
test eax, eax
je 0x14011042b
jmp 0x140110320
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x30], xmm1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.140017690
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 + 0x70]
test rbx, rbx
je 0x1401103d1
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1401103d1
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 0x1401103d1
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 0x140110251
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
lea rdx, str.size___vertexBuffer__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