Function at 0x1800d48c0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
mov r15, r9
mov r14, r8
mov rsi, rdx
test r8, r8
je 0x1800d49ae
test rdx, rdx
je 0x1800d49ae
xor edi, edi
vxorps xmm6, xmm6, xmm6
cmp byte [0x180268ba1], dil
je 0x1800d4a14
mov qword [rbp - 0x69], rdi
mov qword [rbp - 0x61], rdi
mov dword [rbp - 0x59], edi
mov qword [rbp - 0x51], rdi
mov rax, qword [0x1802622f0]
mov byte [rsp + 0x20], 1
lea r9, [rbp - 0x69]
mov r8, rdx
lea rdx, str.set_blockbackstab_once
vxorps xmm0, xmm0, xmm0
call rax
vcvttss2si eax, xmm0
test eax, eax
je 0x1800d49d9
cmp dword [rbp - 0x59], edi
je 0x1800d49d9
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
test rax, rax
je 0x1800d49dd
lea rcx, [rax + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
test al, al
je 0x1800d49d9
mov dword [rbp - 0x59], edi
mov eax, dword [rbp - 0x5d]
mov rcx, qword [rbp - 0x69]
cmp eax, 0xffffffff
je 0x1800d499a
test rcx, rcx
je 0x1800d4997
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, edi
mov qword [rbp - 0x69], rcx
mov eax, dword [rbp - 0x5d]
mov dword [rbp - 0x61], edi
mov qword [rbp - 0x51], rcx
cmp eax, 0xffffffff
je 0x1800d49ae
test rcx, rcx
je 0x1800d49ae
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor al, al
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rbp - 0x69]
mov dword [rbp - 0x59], edi
mov eax, dword [rbp - 0x5d]
cmp eax, 0xffffffff
je 0x1800d4a00
test rcx, rcx
je 0x1800d49fd
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
mov qword [rbp - 0x69], rcx
mov eax, dword [rbp - 0x5d]
mov dword [rbp - 0x61], edi
mov qword [rbp - 0x51], rcx
cmp eax, 0xffffffff
je 0x1800d4a14
test rcx, rcx
je 0x1800d4a14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x48]
mov rbx, rax
mov rcx, r14
call fcn.1800caf30
vmovss xmm0, dword [rbx + 4]
vsubss xmm7, xmm0, dword [rax + 4]
vmovss xmm1, dword [rbx]
vsubss xmm8, xmm1, dword [rax]
vmulss xmm2, xmm8, xmm8
vmulss xmm0, xmm7, xmm7
vaddss xmm1, xmm2, xmm0
vaddss xmm3, xmm1, xmm6
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm3
ja 0x1800d4a5b
vsqrtss xmm4, xmm3, xmm3
jmp 0x1800d4a68
vmovaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vmovaps xmm4, xmm0
vucomiss xmm4, xmm6
jp 0x1800d4a74
je 0x1800d49ae
vaddss xmm1, xmm4, dword [0x18023ba3c]
vmovss xmm0, dword [0x18023bc20]
vdivss xmm2, xmm0, xmm1
vmulss xmm0, xmm8, xmm2
vmovss dword [rbp - 0x39], xmm0
vmulss xmm1, xmm2, xmm7
vmovss dword [rbp - 0x35], xmm1
vmulss xmm0, xmm2, xmm6
vmovss dword [rbp - 0x31], xmm0
vmovss xmm1, dword [0x18023bb60]
vdivss xmm2, xmm1, xmm4
vaddss xmm0, xmm2, dword [0x18023ba90]
vmovss dword [rbp + 0x67], xmm0
vaddss xmm1, xmm2, dword [0x18023bbc0]
vmovss dword [rbp + 0x77], xmm1
vmovss xmm0, dword [0x18023bf28]
vmovss dword [rbp - 0x41], xmm0
mov qword [rbp - 0x29], r15
lea rax, [rbp - 0x39]
mov qword [rbp - 0x21], rax
lea rax, [rbp + 0x67]
mov qword [rbp - 0x19], rax
lea rax, [rbp + 0x77]
mov qword [rbp - 0x11], rax
lea rax, [rbp - 0x41]
mov qword [rbp - 9], rax
mov rax, qword [rsi + 0x10]
lea rcx, [rsi + 0x10]
call qword [rax + 0x48]
mov edx, eax
mov dword [rbp - 0x49], edx
shr eax, 8
movzx r8d, al
movzx eax, dl
movabs r14, 0xcbf29ce484222325
xor rax, r14
movabs rbx, 0x100000001b3
imul rax, rbx
xor r8, rax
imul r8, rbx
mov eax, edx
shr eax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, rbx
mov eax, edx
shr rax, 0x18
xor r8, rax
imul r8, rbx
and r8, qword [0x180268410]
add r8, r8
mov rcx, qword [0x1802683f8]
mov rax, qword [rcx + r8*8 + 8]
cmp rax, qword [0x1802683e8]
je 0x1800d4b90
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x1800d4b93
nop word [rax + rax]
cmp rax, rcx
je 0x1800d4b90
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x1800d4b80
jmp 0x1800d4b93
mov rax, rdi
test rax, rax
je 0x1800d4bb6
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x69]
lea rcx, [0x1802683e0]
call fcn.1800e2140
mov rcx, qword [rax]
vmovss xmm7, dword [rcx + 0x18]
jmp 0x1800d4bba
vmovaps xmm7, xmm6
cmp byte [0x180268b21], 0
jne 0x1800d4bcd
vmovss dword [rbp - 0x65], xmm7
jmp 0x1800d4cb2
cmp byte [0x180268c21], 0
je 0x1800d4bfa
vmovss dword [rbp - 0x69], xmm6
vmovss dword [rbp - 0x65], xmm7
vmovss dword [rbp - 0x61], xmm6
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.1800d4ce0
test al, al
je 0x1800d49ae
mov rax, qword [rsi + 0x10]
lea rcx, [rsi + 0x10]
call qword [rax + 0x48]
mov r8d, eax
mov dword [rbp - 0x49], r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r14
imul rax, rbx
xor rdx, rax
imul rdx, rbx
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbx
and rdx, qword [0x180268450]
add rdx, rdx
mov rcx, qword [0x180268438]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [0x180268428]
je 0x1800d4c82
mov rcx, qword [rcx + rdx*8]
cmp r8d, dword [rax + 0x10]
je 0x1800d4c7f
nop dword [rax + rax]
cmp rax, rcx
je 0x1800d4c82
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x1800d4c70
mov rdi, rax
test rdi, rdi
je 0x1800d4ca5
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x69]
lea rcx, [0x180268420]
call fcn.1800e2140
mov rcx, qword [rax]
vmovss xmm0, dword [rcx + 0x18]
jmp 0x1800d4ca9
vmovaps xmm0, xmm6
vaddss xmm0, xmm7, xmm0
vmovss dword [rbp - 0x65], xmm0
vmovss dword [rbp - 0x69], xmm6
vmovss dword [rbp - 0x61], xmm6
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.1800d4ce0
test al, al
je 0x1800d49ae
mov al, 1
jmp 0x1800d49b0