Function at 0x140039940
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x140063010]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r15, r9
mov r13d, r8d
mov r14, rdx
mov rbp, rcx
mov qword [r11 - 0x68], rcx
mov qword [r11 - 0x60], rdx
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x38], rax
xor bl, bl
call fcn.140036b20
test al, al
je 0x140039c69
mov rsi, qword [r15]
cmp rsi, qword [r15 + 8]
je 0x140039c7e
movabs rax, 0xcbf29ce484222325
lea rdi, [0x140066590]
mov r12d, dword [rsp + 0x130]
nop word [rax + rax]
movabs rbx, 0x100000001b3
movzx ecx, byte [rsi]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rsi + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rsi + 2]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rsi + 3]
xor rcx, rax
imul rcx, rbx
and rcx, qword [0x140066610]
mov rax, rcx
add rax, rax
mov r8, qword [0x1400665f8]
mov rax, qword [r8 + rax*8]
add rcx, rcx
lea r10, [rcx*8 + 8]
mov r9, qword [r8 + rcx*8]
mov rdx, qword [0x1400665e8]
cmp r9, rdx
jne 0x140039a3d
mov rcx, rdx
jmp 0x140039a44
mov rcx, qword [r10 + r8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140039a62
mov ecx, dword [rsi]
cmp ecx, dword [rax + 0x10]
je 0x140039a55
mov rax, qword [rax]
jmp 0x140039a33
cmovne rax, rdx
cmp rax, rdx
jne 0x140039bd9
mov qword [rsp + 0x40], rdi
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140039a7d
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
movzx ecx, byte [rsi]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rsi + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rsi + 2]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rsi + 3]
xor rcx, rax
imul rcx, rbx
and rcx, qword [0x140066610]
mov rax, rcx
add rax, rax
mov r8, qword [0x1400665f8]
mov rax, qword [r8 + rax*8]
add rcx, rcx
lea r10, [rcx*8 + 8]
mov r9, qword [r8 + rcx*8]
mov rdx, qword [0x1400665e8]
cmp r9, rdx
jne 0x140039aea
mov rcx, rdx
jmp 0x140039af1
mov rcx, qword [r10 + r8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140039b0f
mov ecx, dword [rsi]
cmp ecx, dword [rax + 0x10]
je 0x140039b02
mov rax, qword [rax]
jmp 0x140039ae0
cmovne rax, rdx
cmp rax, rdx
jne 0x140039bc3
mov eax, dword [rsi]
cmp eax, 1
jne 0x140039b69
mov ecx, 0x228
call fcn.14003e0d4
mov rbx, rax
mov qword [rsp + 0x50], rax
xor edx, edx
mov r8d, 0x228
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.140037380
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rdx, rsi
call fcn.14003a960
mov rcx, qword [rax]
mov qword [rax], rbx
test rcx, rcx
je 0x140039b67
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x18]
nop
jmp 0x140039bc3
cmp eax, 3
jne 0x140039c53
mov ecx, 0x120
call fcn.14003e0d4
mov rbx, rax
mov qword [rsp + 0x58], rax
xor edx, edx
mov r8d, 0x120
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.140038f30
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rdx, rsi
call fcn.14003a960
mov rcx, qword [rax]
mov qword [rax], rbx
test rcx, rcx
je 0x140039bc3
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x18]
nop
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
test eax, eax
je 0x140039bd9
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rdx, rsi
call fcn.14003a960
mov rdi, qword [rax]
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.140005390
mov rbx, rax
mov rdx, rbp
lea rcx, [rsp + 0x80]
call fcn.140005390
mov r10, qword [rdi]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9d, r13d
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call qword [r10]
movzx ebx, al
add rsi, 4
cmp rsi, qword [r15 + 8]
lea rdi, [0x140066590]
movabs rax, 0xcbf29ce484222325
jne 0x1400399d0
jmp 0x140039c7e
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
test eax, eax
je 0x140039c69
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov rcx, rbp
call fcn.140005440
nop
mov rcx, r14
call fcn.140005440
xor al, al
jmp 0x140039c92
mov rcx, rbp
call fcn.140005440
nop
mov rcx, r14
call fcn.140005440
movzx eax, bl
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14003e0b0
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret