Function at 0x14002f800
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x60
mov rax, qword [0x140332240]
xor rax, rsp
mov qword [rsp + 0x50], rax
lea rcx, [0x140359100]
mov rbx, r8
mov r15, rdx
call fcn.14002f050
mov rdx, rbx
lea rcx, [0x140359100]
mov rbp, rax
call fcn.14002f050
mov ecx, dword [rbp + 0x28]
lea rsi, [rbp + 0x28]
mov r11, rax
lea rdi, [rax + 0x28]
cmp ecx, 0xffffffff
jne 0x14002fa80
cmp dword [rdi], ecx
jne 0x14002fa3b
mov r8, qword [0x1403592c0]
movabs rsi, 0xcbf29ce484222325
mov r9, qword [0x1403592e8]
movabs rdi, 0x100000001b3
mov r10, qword [0x1403592d0]
mov edx, dword [0x14035935c]
nop dword [rax]
movzx eax, byte [0x14035935d]
movzx ecx, dl
xor rcx, rsi
imul rcx, rdi
xor rcx, rax
movzx eax, byte [0x14035935e]
imul rcx, rdi
xor rcx, rax
movzx eax, byte [0x14035935f]
imul rcx, rdi
xor rax, rcx
imul rax, rdi
and rax, r9
add rax, rax
mov rcx, qword [r10 + rax*8 + 8]
cmp rcx, r8
je 0x14002f8f0
mov rax, qword [r10 + rax*8]
cmp edx, dword [rcx + 0x10]
je 0x14002f8f2
nop dword [rax]
cmp rcx, rax
je 0x14002f8f0
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x14002f8e0
jmp 0x14002f8f2
xor ecx, ecx
test rcx, rcx
mov rax, r8
cmovne rax, rcx
cmp rax, r8
je 0x14002f90b
inc edx
mov dword [0x14035935c], edx
jmp 0x14002f890
mov dword [rbp + 0x28], edx
lea r8, [0x14035935c]
mov eax, dword [0x14035935c]
lea rdx, [rsp + 0x30]
lea rcx, [0x1403592b8]
mov dword [r11 + 0x28], eax
call fcn.14002f5d0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14002f94c
mov eax, dword [rbx]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14002f954
mov r8, rbx
call fcn.140031610
lea r8, [0x14035935c]
lea rdx, [rsp + 0x30]
lea rcx, [0x1403592b8]
call fcn.14002f5d0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14002f989
mov eax, dword [r15]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14002f991
mov r8, r15
call fcn.140031610
mov r10, qword [0x1403592c0]
mov r11, qword [0x1403592e8]
mov rbx, qword [0x1403592d0]
mov r8d, dword [0x14035935c]
nop dword [rax]
inc r8d
mov eax, r8d
mov dword [0x14035935c], r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, rsi
mov r9d, r8d
imul rax, rdi
xor rdx, rax
mov eax, r8d
imul rdx, rdi
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
mov eax, r8d
imul rdx, rdi
shr rax, 0x18
xor rdx, rax
imul rdx, rdi
and rdx, r11
add rdx, rdx
mov rax, qword [rbx + rdx*8 + 8]
cmp rax, r10
je 0x14002fa21
mov rcx, qword [rbx + rdx*8]
cmp r9d, dword [rax + 0x10]
je 0x14002fa23
cmp rax, rcx
je 0x14002fa21
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14002fa10
jmp 0x14002fa23
xor eax, eax
test rax, rax
mov rcx, r10
cmovne rcx, rax
cmp rcx, r10
jne 0x14002f9b0
jmp 0x14002fc4b
mov eax, dword [rdi]
lea rdx, [rsp + 0x30]
mov r8, rdi
mov dword [rsi], eax
lea rcx, [0x1403592b8]
call fcn.14002f5d0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14002fa73
mov eax, dword [r15]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14002fc4b
mov r8, r15
call fcn.140031610
jmp 0x14002fc4b
cmp dword [rdi], 0xffffffff
lea rdx, [rsp + 0x30]
mov r8, rsi
jne 0x14002fac7
mov dword [rdi], ecx
lea rcx, [0x1403592b8]
call fcn.14002f5d0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14002faba
mov eax, dword [rbx]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14002fc4b
mov r8, rbx
call fcn.140031610
jmp 0x14002fc4b
mov qword [rsp + 0x90], r13
lea rcx, [0x1403592b8]
mov qword [rsp + 0xa8], r14
call fcn.14002f5d0
mov r8, rdi
lea rdx, [rsp + 0x40]
lea rcx, [0x1403592b8]
mov r13, qword [rax]
call fcn.14002f5d0
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x1403592b8]
mov r14, qword [rax]
call fcn.14002f5d0
mov rcx, qword [rax]
mov eax, dword [r15]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx], eax
jne 0x14002fb6e
mov rbp, qword [r14 + 0x20]
mov rdi, qword [r14 + 0x18]
cmp rdi, rbp
je 0x14002fb4d
nop dword [rax]
mov ebx, dword [rsi]
lea rcx, [0x140359100]
mov rdx, rdi
call fcn.14002f050
add rdi, 4
mov dword [rax + 0x28], ebx
cmp rdi, rbp
jne 0x14002fb30
mov r9, qword [r14 + 0x20]
lea rcx, [r13 + 0x18]
mov r8, qword [r14 + 0x18]
mov rdx, qword [r13 + 0x20]
sub r9, r8
sar r9, 2
call fcn.14002f0e0
jmp 0x14002fc3b
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x1403592b8]
call fcn.14002f5d0
mov r8, rsi
lea rdx, [rsp + 0x20]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x20]
lea rcx, [0x1403592b8]
call fcn.14002f5d0
mov r8d, dword [r15]
mov rdx, rbx
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
call fcn.14026c260
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x1403592b8]
mov rbp, rax
call fcn.14002f5d0
mov rcx, qword [rax]
cmp rbp, qword [rcx + 0x20]
je 0x14002fc3b
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x1403592b8]
call fcn.14002f5d0
lea rdx, [rbp + 4]
mov rcx, rbp
mov rbx, qword [rax]
mov r8, qword [rbx + 0x20]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
add qword [rbx + 0x20], 0xfffffffffffffffc
lea rdx, [rsp + 0x20]
mov eax, dword [rdi]
lea rcx, [0x1403592b8]
mov r8, rdi
mov dword [rsi], eax
call fcn.14002f5d0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14002fc33
mov eax, dword [r15]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14002fc3b
mov r8, r15
call fcn.140031610
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14026cac0
add rsp, 0x60
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret