Function at 0x140030690
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 [r11 - 0x80], 0xfffffffffffffffe
mov rax, qword [0x14009b038]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r15, r9
mov r13d, r8d
mov rsi, rdx
mov r14, 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.14002d630
test al, al
jne 0x14003072f
mov r8, qword [r14 + 0x18]
cmp r8, 8
jb 0x140030701
inc r8
mov rdx, qword [r14]
call fcn.1400107d0
xor ebp, ebp
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], 7
mov word [r14], bp
mov r8, qword [rsi + 0x18]
cmp r8, 8
jb 0x140030728
inc r8
mov rdx, qword [rsi]
call fcn.1400107d0
xor al, al
jmp 0x140030abb
mov rdi, qword [r15]
xor ebp, ebp
cmp rdi, qword [r15 + 8]
je 0x140030a7e
movabs rax, 0xcbf29ce484222325
lea r11, [0x14009e580]
mov r12d, dword [rsp + 0x130]
nop word [rax + rax]
movabs rbx, 0x100000001b3
movzx ecx, byte [rdi]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdi + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdi + 2]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdi + 3]
xor rcx, rax
imul rcx, rbx
and rcx, qword [0x14009e620]
mov rax, rcx
add rax, rax
mov r8, qword [0x14009e608]
mov rax, qword [r8 + rax*8]
add rcx, rcx
lea r10, [rcx*8 + 8]
mov r9, qword [r8 + rcx*8]
mov rdx, qword [0x14009e5f8]
cmp r9, rdx
jne 0x1400307cd
mov rcx, rdx
jmp 0x1400307d4
mov rcx, qword [r10 + r8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1400307f2
mov ecx, dword [rdi]
cmp ecx, dword [rax + 0x10]
je 0x1400307e5
mov rax, qword [rax]
jmp 0x1400307c3
cmovne rax, rdx
cmp rax, rdx
jne 0x140030973
mov qword [rsp + 0x40], r11
mov rcx, r11
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14003080d
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
movzx ecx, byte [rdi]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdi + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdi + 2]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdi + 3]
xor rcx, rax
imul rcx, rbx
and rcx, qword [0x14009e620]
mov rax, rcx
add rax, rax
mov r8, qword [0x14009e608]
mov rax, qword [r8 + rax*8]
add rcx, rcx
lea r10, [rcx*8 + 8]
mov r9, qword [r8 + rcx*8]
mov rdx, qword [0x14009e5f8]
cmp r9, rdx
jne 0x14003087a
mov rcx, rdx
jmp 0x140030881
mov rcx, qword [r10 + r8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14003089f
mov ecx, dword [rdi]
cmp ecx, dword [rax + 0x10]
je 0x140030892
mov rax, qword [rax]
jmp 0x140030870
cmovne rax, rdx
cmp rax, rdx
jne 0x140030959
mov eax, dword [rdi]
cmp eax, 2
jne 0x1400308fc
mov ecx, 0x228
call fcn.140062824
mov rbx, rax
mov qword [rsp + 0x90], rax
xor edx, edx
mov r8d, 0x228
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.14002e000
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rdx, rdi
call fcn.140031a60
mov rcx, qword [rax]
mov qword [rax], rbx
test rcx, rcx
je 0x1400308fa
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x18]
nop
jmp 0x140030959
cmp eax, 3
jne 0x140030a22
mov ecx, 0x120
call fcn.140062824
mov rbx, rax
mov qword [rsp + 0x98], rax
xor edx, edx
mov r8d, 0x120
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.14002fb90
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rdx, rdi
call fcn.140031a60
mov rcx, qword [rax]
mov qword [rax], rbx
test rcx, rcx
je 0x140030959
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x18]
nop
lea rcx, [0x14009e580]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
test eax, eax
je 0x140030973
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov rdx, rdi
call fcn.140031a60
mov rbx, qword [rax]
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], bp
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140010290
nop
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], 7
mov word [rsp + 0x68], bp
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.140010290
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9d, r13d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x68]
mov rcx, rbx
call qword [rax]
movzx ebx, al
add rdi, 4
cmp rdi, qword [r15 + 8]
lea r11, [0x14009e580]
movabs rax, 0xcbf29ce484222325
jne 0x140030760
jmp 0x140030a7e
lea rcx, [0x14009e580]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
test eax, eax
je 0x140030a3c
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov r8, qword [r14 + 0x18]
cmp r8, 8
jb 0x140030a51
inc r8
mov rdx, qword [r14]
call fcn.1400107d0
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], 7
mov word [r14], bp
mov r8, qword [rsi + 0x18]
cmp r8, 8
jb 0x140030728
inc r8
mov rdx, qword [rsi]
call fcn.1400107d0
xor al, al
jmp 0x140030abb
mov r8, qword [r14 + 0x18]
cmp r8, 8
jb 0x140030a93
inc r8
mov rdx, qword [r14]
call fcn.1400107d0
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], 7
mov word [r14], bp
mov r8, qword [rsi + 0x18]
cmp r8, 8
jb 0x140030ab8
inc r8
mov rdx, qword [rsi]
call fcn.1400107d0
movzx eax, bl
mov qword [rsi + 0x10], rbp
mov qword [rsi + 0x18], 7
mov word [rsi], bp
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140062800
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret