Function at 0x14003b2f0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x60
mov rax, qword [0x140353240]
xor rax, rsp
mov qword [rsp + 0x50], rax
lea rcx, [0x14037d160]
mov rbx, r8
mov r15, rdx
call fcn.14003ab40
mov rdx, rbx
lea rcx, [0x14037d160]
mov rbp, rax
call fcn.14003ab40
mov ecx, dword [rbp + 0x28]
lea rsi, [rbp + 0x28]
mov r11, rax
lea rdi, [rax + 0x28]
cmp ecx, 0xffffffff
jne 0x14003b570
cmp dword [rdi], ecx
jne 0x14003b52b
mov r8, qword [0x14037d320]
movabs rsi, 0xcbf29ce484222325
mov r9, qword [0x14037d348]
movabs rdi, 0x100000001b3
mov r10, qword [0x14037d330]
mov edx, dword [0x14037d3bc]
nop dword [rax]
movzx eax, byte [0x14037d3bd]
movzx ecx, dl
xor rcx, rsi
imul rcx, rdi
xor rcx, rax
movzx eax, byte [0x14037d3be]
imul rcx, rdi
xor rcx, rax
movzx eax, byte [0x14037d3bf]
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 0x14003b3e0
mov rax, qword [r10 + rax*8]
cmp edx, dword [rcx + 0x10]
je 0x14003b3e2
nop dword [rax]
cmp rcx, rax
je 0x14003b3e0
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x14003b3d0
jmp 0x14003b3e2
xor ecx, ecx
test rcx, rcx
mov rax, r8
cmovne rax, rcx
cmp rax, r8
je 0x14003b3fb
inc edx
mov dword [0x14037d3bc], edx
jmp 0x14003b380
mov dword [rbp + 0x28], edx
lea r8, [0x14037d3bc]
mov eax, dword [0x14037d3bc]
lea rdx, [rsp + 0x30]
lea rcx, [0x14037d318]
mov dword [r11 + 0x28], eax
call fcn.14003b0c0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14003b43c
mov eax, dword [rbx]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14003b444
mov r8, rbx
call fcn.14003d110
lea r8, [0x14037d3bc]
lea rdx, [rsp + 0x30]
lea rcx, [0x14037d318]
call fcn.14003b0c0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14003b479
mov eax, dword [r15]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14003b481
mov r8, r15
call fcn.14003d110
mov r10, qword [0x14037d320]
mov r11, qword [0x14037d348]
mov rbx, qword [0x14037d330]
mov r8d, dword [0x14037d3bc]
nop dword [rax]
inc r8d
mov eax, r8d
mov dword [0x14037d3bc], 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 0x14003b511
mov rcx, qword [rbx + rdx*8]
cmp r9d, dword [rax + 0x10]
je 0x14003b513
cmp rax, rcx
je 0x14003b511
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14003b500
jmp 0x14003b513
xor eax, eax
test rax, rax
mov rcx, r10
cmovne rcx, rax
cmp rcx, r10
jne 0x14003b4a0
jmp 0x14003b73b
mov eax, dword [rdi]
lea rdx, [rsp + 0x30]
mov r8, rdi
mov dword [rsi], eax
lea rcx, [0x14037d318]
call fcn.14003b0c0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14003b563
mov eax, dword [r15]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14003b73b
mov r8, r15
call fcn.14003d110
jmp 0x14003b73b
cmp dword [rdi], 0xffffffff
lea rdx, [rsp + 0x30]
mov r8, rsi
jne 0x14003b5b7
mov dword [rdi], ecx
lea rcx, [0x14037d318]
call fcn.14003b0c0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14003b5aa
mov eax, dword [rbx]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14003b73b
mov r8, rbx
call fcn.14003d110
jmp 0x14003b73b
mov qword [rsp + 0x90], r13
lea rcx, [0x14037d318]
mov qword [rsp + 0xa8], r14
call fcn.14003b0c0
mov r8, rdi
lea rdx, [rsp + 0x40]
lea rcx, [0x14037d318]
mov r13, qword [rax]
call fcn.14003b0c0
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x14037d318]
mov r14, qword [rax]
call fcn.14003b0c0
mov rcx, qword [rax]
mov eax, dword [r15]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx], eax
jne 0x14003b65e
mov rbp, qword [r14 + 0x20]
mov rdi, qword [r14 + 0x18]
cmp rdi, rbp
je 0x14003b63d
nop dword [rax]
mov ebx, dword [rsi]
lea rcx, [0x14037d160]
mov rdx, rdi
call fcn.14003ab40
add rdi, 4
mov dword [rax + 0x28], ebx
cmp rdi, rbp
jne 0x14003b620
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.14003abd0
jmp 0x14003b72b
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x14037d318]
call fcn.14003b0c0
mov r8, rsi
lea rdx, [rsp + 0x20]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x20]
lea rcx, [0x14037d318]
call fcn.14003b0c0
mov r8d, dword [r15]
mov rdx, rbx
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
call fcn.140285b50
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x14037d318]
mov rbp, rax
call fcn.14003b0c0
mov rcx, qword [rax]
cmp rbp, qword [rcx + 0x20]
je 0x14003b72b
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [0x14037d318]
call fcn.14003b0c0
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, [0x14037d318]
mov r8, rdi
mov dword [rsi], eax
call fcn.14003b0c0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14003b723
mov eax, dword [r15]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x14003b72b
mov r8, r15
call fcn.14003d110
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402863b0
add rsp, 0x60
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret