Function at 0x140012480
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 rdi, rcx
mov rbx, r8
xorps xmm0, xmm0
lea rcx, str.apiVersion
movups xmmword [rbp - 0x10], xmm0
mov r12, rdx
mov dword [rbp - 0x10], 0xa
mov r15d, 0x405
lea r8, [rbp - 0x10]
mov word [rbp - 2], r15w
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
movabs rsi, 0xffff000000000000
and rax, rsi
mov r13, r9
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.14000af80
mov ecx, dword [rbx]
movabs r14, 0xffffffffffff
mov rax, qword [rbx + 8]
shl rcx, 5
and rax, r14
add rcx, rax
cmp qword [rbp + 0x50], rcx
je 0x140012b1c
xorps xmm0, xmm0
lea rcx, str.robustBufferAccess
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r15w
lea r8, [rbp - 0x10]
mov rax, qword [rbp - 8]
lea rdx, [rbp + 0x50]
and rax, rsi
mov dword [rbp - 0x10], 0x12
or rax, rcx
mov rcx, r13
mov qword [rbp - 8], rax
call fcn.14000af80
mov ecx, dword [r13]
mov rax, qword [r13 + 8]
shl rcx, 5
and rax, r14
add rcx, rax
cmp qword [rbp + 0x50], rcx
je 0x140012b1c
mov edx, 0x30
mov rcx, rdi
lea r8d, [rdx - 0x20]
call fcn.140010970
mov rdi, rax
test rax, rax
je 0x140012594
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], r15w
lea rdx, [rbp + 0x50]
mov rax, qword [rbp - 8]
and rax, rsi
mov dword [rbp - 0x10], 0xa
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.14000af80
mov ecx, dword [rbx]
lea rsi, [0x1401bc408]
mov rax, qword [rbx + 8]
and rax, r14
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x1400125f8
add rax, 0x10
jmp 0x140012605
xorps xmm0, xmm0
mov rax, rsi
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x10]
mov dword [rdi + 0x2c], eax
lea rdx, [rbp + 0x50]
xorps xmm0, xmm0
movabs rcx, 0xffff000000000000
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r15w
mov rax, qword [rbp - 8]
and rax, rcx
mov dword [rbp - 0x10], 0x12
lea rcx, str.applicationVersion
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.14000af80
mov ecx, dword [rbx]
mov rax, qword [rbx + 8]
and rax, r14
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x14001266b
add rax, 0x10
jmp 0x140012678
xorps xmm0, xmm0
mov rax, rsi
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x10]
mov dword [rdi + 0x18], eax
lea rdx, [rbp + 0x50]
xorps xmm0, xmm0
movabs rcx, 0xffff000000000000
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], r15w
mov r15d, 0xd
mov rax, qword [rbp - 8]
and rax, rcx
mov dword [rbp - 0x10], r15d
lea rcx, str.engineVersion
or rax, rcx
mov rcx, rbx
mov qword [rbp - 8], rax
call fcn.14000af80
mov ecx, dword [rbx]
mov rax, qword [rbx + 8]
and rax, r14
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x1400126e1
add rax, 0x10
jmp 0x1400126ee
xorps xmm0, xmm0
mov rax, rsi
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x10]
mov dword [rdi + 0x28], eax
lea rdx, [rbp + 0x50]
xorps xmm0, xmm0
mov eax, 0x405
movups xmmword [rbp - 0x10], xmm0
mov word [rbp - 2], ax
movabs rcx, 0xffff000000000000
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.14000af80
and r14, qword [rbx + 8]
mov ecx, dword [rbx]
shl rcx, 5
add r14, rcx
cmp qword [rbp + 0x50], r14
je 0x14001287d
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.14000af80
mov rax, qword [rbp + 0x50]
cmp rax, r14
je 0x1400127a5
add rax, 0x10
jmp 0x1400127b2
xorps xmm0, xmm0
mov rax, rsi
movups xmmword [0x1401bc408], xmm0
mov ecx, 0x1000
test word [rax + 0xe], cx
je 0x1400127c9
movsx eax, byte [rax + 0xd]
mov r14d, r15d
sub r14d, eax
jmp 0x1400127cc
mov r14d, dword [rax]
mov rcx, qword [rbp + 0x40]
lea edx, [r14 + 1]
call fcn.14000d570
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.14000af80
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 0x14001284b
lea rdx, [rax + 0x10]
jmp 0x140012858
xorps xmm0, xmm0
mov rdx, rsi
movups xmmword [0x1401bc408], xmm0
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x14001286a
mov rdx, qword [rdx + 8]
and rdx, r8
mov r8d, r14d
mov rcx, r12
call fcn.1400ee610
mov qword [rdi + 0x10], r12
mov r12, qword [rbp + 0x48]
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.14000af80
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 0x140012a0e
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.14000af80
mov rax, qword [rbp + 0x50]
cmp rax, r14
je 0x14001293d
add rax, 0x10
jmp 0x14001294a
xorps xmm0, xmm0
mov rax, rsi
movups xmmword [0x1401bc408], xmm0
mov ecx, 0x1000
test word [rax + 0xe], cx
je 0x14001295e
movsx eax, byte [rax + 0xd]
sub r15d, eax
jmp 0x140012961
mov r15d, dword [rax]
mov rcx, qword [rbp + 0x40]
lea edx, [r15 + 1]
call fcn.14000d570
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.14000af80
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 0x1400129e0
lea rdx, [rax + 0x10]
jmp 0x1400129ed
xorps xmm0, xmm0
mov rdx, rsi
movups xmmword [0x1401bc408], xmm0
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x1400129ff
mov rdx, qword [rdx + 8]
and rdx, r8
mov r8d, r15d
mov rcx, r14
call fcn.1400ee610
mov qword [rdi + 0x20], r14
mov rcx, qword [rbp + 0x40]
mov edx, 0xf0
mov r8d, 0x10
call fcn.140010970
mov rbx, rax
test rax, rax
je 0x140012a3b
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0xec
call fcn.1400eee20
xorps xmm0, xmm0
mov dword [rbx], 0x3b9bb078
movups xmmword [rbp - 0x10], xmm0
mov eax, 0x405
mov dword [rbp - 0x10], 0x12
mov word [rbp - 2], ax
lea r8, [rbp - 0x10]
mov rax, qword [rbp - 8]
lea rdx, [rbp + 0x50]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.robustBufferAccess
or rax, rcx
mov rcx, r13
mov qword [rbp - 8], rax
call fcn.14000af80
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 0x140012ab2
lea rsi, [rax + 0x10]
jmp 0x140012abc
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
mov r11d, dword [rsi]
mov rcx, rdi
mov dword [rbx + 0x10], r11d
call fcn.140010b60
mov r10, qword [r12]
movabs r8, 0xaf63bd4c8601b7df
mov edx, eax
mov ecx, r11d
xor rdx, r8
shr rax, 0x20
xor rcx, r8
mov r9, rbx
movabs r8, 0x100000001b3
imul rdx, r8
xor rdx, rax
mov eax, ecx
imul rdx, r8
shr rcx, 0x20
xor rdx, rax
imul rdx, r8
mov r8, rdi
xor rdx, rcx
mov rcx, r12
call qword [r10 + 8]
jmp 0x140012b36
mov rax, qword [r12]
xor r9d, r9d
xor r8d, r8d
movabs rdx, 0x4d25767f9dce13f5
mov rcx, r12
call qword [rax + 8]
mov rbx, qword [rsp + 0x88]
mov al, 1
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret