Function at 0x14001d650
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov r12, rcx
mov rbx, r8
xorps xmm0, xmm0
lea rcx, str.apiVersion
movups xmmword [rbp - 0x10], xmm0
mov rdi, rdx
mov dword [rbp - 0x10], 0xa
mov r14d, 0x405
lea r8, [rbp - 0x10]
mov word [rbp - 2], r14w
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs r15, 0xffff000000000000
and rax, r15
mov r13, r9
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov ecx, dword [rbx]
movabs rsi, 0xffffffffffff
mov rax, qword [rbx + 8]
shl rcx, 5
and rax, rsi
add rcx, rax
cmp qword [rbp + 0x50], rcx
je 0x14001de0c
xorps xmm0, xmm0
lea rcx, str.robustBufferAccess
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r14w
lea r8, [rbp - 0x10]
mov rax, qword [rbp - 8]
lea rdx, [rbp + 0x50]
and rax, r15
mov dword [rbp - 0x10], 0x12
or rax, rcx
mov rcx, r13
mov qword [rbp - 8], rax
call fcn.140015810
mov ecx, dword [r13]
mov rax, qword [r13 + 8]
shl rcx, 5
and rax, rsi
add rcx, rax
cmp qword [rbp + 0x50], rcx
je 0x14001de0c
mov edx, 0x30
mov rcx, r12
lea r8d, [rdx - 0x20]
call fcn.14001b3f0
mov rsi, rax
test rax, rax
je 0x14001d764
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov dword [rax], 0
lea rcx, str.apiVersion
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r14w
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
and rax, r15
mov dword [rbp - 0x10], 0xa
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov ecx, dword [rbx]
lea rdi, [0x140202c68]
mov rax, qword [rbx + 8]
movabs rdx, 0xffffffffffff
and rax, rdx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001d7d2
add rax, 0x10
jmp 0x14001d7df
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [0x140202c68], xmm0
mov eax, dword [rax]
lea rcx, str.applicationVersion
mov dword [rsi + 0x2c], eax
lea r8, [rbp - 0x10]
xorps xmm0, xmm0
lea rdx, [rbp + 0x50]
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r14w
mov rax, qword [rbp - 8]
and rax, r15
mov dword [rbp - 0x10], 0x12
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov ecx, dword [rbx]
movabs rdx, 0xffffffffffff
mov rax, qword [rbx + 8]
and rax, rdx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001d845
add rax, 0x10
jmp 0x14001d852
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [0x140202c68], xmm0
mov eax, dword [rax]
lea rcx, str.engineVersion
mov dword [rsi + 0x18], eax
lea r8, [rbp - 0x10]
xorps xmm0, xmm0
lea rdx, [rbp + 0x50]
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r14w
mov rax, qword [rbp - 8]
and rax, r15
mov r15d, 0xd
or rax, rcx
mov dword [rbp - 0x10], r15d
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov ecx, dword [rbx]
movabs rdx, 0xffffffffffff
mov rax, qword [rbx + 8]
and rax, rdx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001d8bb
add rax, 0x10
jmp 0x14001d8c8
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [0x140202c68], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x10]
mov dword [rsi + 0x28], eax
lea rdx, [rbp + 0x50]
xorps xmm0, xmm0
movabs rcx, 0xffff000000000000
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r14w
mov rax, qword [rbp - 8]
and rax, rcx
mov dword [rbp - 0x10], 0xf
lea rcx, str.applicationName
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov rax, qword [rbx + 8]
movabs rdx, 0xffffffffffff
mov r14d, dword [rbx]
and rax, rdx
shl r14, 5
add r14, rax
cmp qword [rbp + 0x50], r14
je 0x14001da60
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
mov eax, 0x405
mov dword [rbp - 0x10], 0xf
mov word [rbp - 2], ax
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.applicationName
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov rax, qword [rbp + 0x50]
cmp rax, r14
je 0x14001d989
add rax, 0x10
jmp 0x14001d996
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [0x140202c68], xmm0
mov ecx, 0x1000
test word [rax + 0xe], cx
je 0x14001d9ad
movsx eax, byte [rax + 0xd]
mov r14d, r15d
sub r14d, eax
jmp 0x14001d9b0
mov r14d, dword [rax]
lea edx, [r14 + 1]
mov rcx, r12
call fcn.140018110
mov r12, rax
lea r8, [rbp - 0x10]
xorps xmm0, xmm0
lea rdx, [rbp + 0x50]
movups xmmword [rbp - 0x10], xmm0
mov eax, 0x405
mov dword [rbp - 0x10], 0xf
mov word [rbp - 2], ax
movabs rax, 0xffff000000000000
mov rcx, qword [rbp - 8]
and rcx, rax
lea rax, str.applicationName
or rcx, rax
mov qword [rbp - 8], rcx
mov rcx, rbx
call fcn.140015810
mov ecx, dword [rbx]
movabs r8, 0xffffffffffff
mov rax, qword [rbx + 8]
and rax, r8
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001da2e
lea rdx, [rax + 0x10]
jmp 0x14001da3b
xorps xmm0, xmm0
mov rdx, rdi
movups xmmword [0x140202c68], xmm0
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x14001da4d
mov rdx, qword [rdx + 8]
and rdx, r8
mov r8d, r14d
mov rcx, r12
call fcn.140118d20
mov qword [rsi + 0x10], r12
mov r12, qword [rbp + 0x40]
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
mov eax, 0x405
mov dword [rbp - 0x10], 0xa
mov word [rbp - 2], ax
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.engineName
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov rax, qword [rbx + 8]
movabs rdx, 0xffffffffffff
mov r14d, dword [rbx]
and rax, rdx
shl r14, 5
add r14, rax
cmp qword [rbp + 0x50], r14
je 0x14001dbf0
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
mov eax, 0x405
mov dword [rbp - 0x10], 0xa
mov word [rbp - 2], ax
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.engineName
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.140015810
mov rax, qword [rbp + 0x50]
cmp rax, r14
je 0x14001db20
add rax, 0x10
jmp 0x14001db2d
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [0x140202c68], xmm0
mov ecx, 0x1000
test word [rax + 0xe], cx
je 0x14001db41
movsx eax, byte [rax + 0xd]
sub r15d, eax
jmp 0x14001db44
mov r15d, dword [rax]
lea edx, [r15 + 1]
mov rcx, r12
call fcn.140018110
mov r14, rax
lea r8, [rbp - 0x10]
xorps xmm0, xmm0
lea rdx, [rbp + 0x50]
movups xmmword [rbp - 0x10], xmm0
mov eax, 0x405
mov dword [rbp - 0x10], 0xa
mov word [rbp - 2], ax
movabs rax, 0xffff000000000000
mov rcx, qword [rbp - 8]
and rcx, rax
lea rax, str.engineName
or rcx, rax
mov qword [rbp - 8], rcx
mov rcx, rbx
call fcn.140015810
mov ecx, dword [rbx]
movabs r8, 0xffffffffffff
mov rax, qword [rbx + 8]
and rax, r8
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001dbc2
lea rdx, [rax + 0x10]
jmp 0x14001dbcf
xorps xmm0, xmm0
mov rdx, rdi
movups xmmword [0x140202c68], xmm0
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x14001dbe1
mov rdx, qword [rdx + 8]
and rdx, r8
mov r8d, r15d
mov rcx, r14
call fcn.140118d20
mov qword [rsi + 0x20], r14
mov edx, pe_nt_image_headers64
mov r8d, 0x10
mov rcx, r12
call fcn.14001b3f0
mov rbx, rax
test rax, rax
je 0x14001dc1c
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0xec
call fcn.140119530
xorps xmm0, xmm0
mov dword [rbx], 0x3b9bb078
movups xmmword [rbp - 0x10], xmm0
lea rcx, str.robustBufferAccess
mov dword [rbp - 0x10], 0x12
mov r15d, 0x405
lea r8, [rbp - 0x10]
mov word [rbp - 2], r15w
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs r14, 0xffff000000000000
and rax, r14
or rax, rcx
mov rcx, r13
mov qword [rbp - 8], rax
call fcn.140015810
mov ecx, dword [r13]
movabs rdx, 0xffffffffffff
mov rax, qword [r13 + 8]
and rax, rdx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001dc95
add rax, 0x10
jmp 0x14001dca2
xorps xmm0, xmm0
mov rax, rdi
movups xmmword [0x140202c68], xmm0
mov eax, dword [rax]
lea rcx, str.pNext
mov dword [rbx + 0x10], eax
lea r8, [rbp - 0x10]
xorps xmm0, xmm0
lea rdx, [rbp + 0x50]
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r15w
mov rax, qword [rbp - 8]
and rax, r14
mov dword [rbp - 0x10], 5
or rax, rcx
mov rcx, r13
mov qword [rbp - 8], rax
call fcn.140015810
mov rax, qword [r13 + 8]
movabs rdx, 0xffffffffffff
mov r14d, dword [r13]
and rax, rdx
shl r14, 5
add r14, rax
cmp qword [rbp + 0x50], r14
je 0x14001dd73
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r15w
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs rcx, 0xffff000000000000
and rax, rcx
mov dword [rbp - 0x10], 5
lea rcx, str.pNext
or rax, rcx
mov rcx, r13
mov qword [rbp - 8], rax
call fcn.140015810
mov rax, qword [rbp + 0x50]
cmp rax, r14
je 0x14001dd52
lea rdi, [rax + 0x10]
jmp 0x14001dd5c
xorps xmm0, xmm0
movups xmmword [0x140202c68], xmm0
lea r8, [rbx + 8]
mov rdx, rdi
mov rcx, r12
call fcn.140027a50
test al, al
je 0x14001de27
mov rcx, rsi
call fcn.14001b5e0
mov r14, rax
mov rcx, rbx
cmp dword [rcx], 0x3b9bb078
je 0x14001dda1
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14001dd81
movabs rdi, 0xaf63bd4c8601b7df
mov rcx, rdi
jmp 0x14001ddb1
mov ecx, dword [rcx + 0x10]
movabs rdi, 0xaf63bd4c8601b7df
xor rcx, rdi
mov qword [rbp + 0x50], rcx
lea rdx, [rbp + 0x50]
xor ecx, ecx
mov r8, rbx
call fcn.14001bd40
mov r11, qword [rbp + 0x48]
movabs r8, 0x100000001b3
mov rax, qword [rbp + 0x50]
mov r9, rbx
mov ecx, eax
mov edx, r14d
mov r10, qword [r11]
xor rdx, rdi
imul rdx, r8
shr r14, 0x20
xor rdx, r14
shr rax, 0x20
imul rdx, r8
xor rdx, rcx
mov rcx, r11
imul rdx, r8
mov r8, rsi
xor rdx, rax
call qword [r10 + 8]
jmp 0x14001de25
mov rax, qword [rdi]
xor r9d, r9d
xor r8d, r8d
movabs rdx, 0x4d25767f9dce13f5
mov rcx, rdi
call qword [rax + 8]
mov al, 1
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret