Function at 0x140161610
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm10
mov rsi, rcx
mov rbx, qword [0x1402fb580]
cmp dword [rbx + 0x378], 0
jbe 0x140161657
cmp dword [rbx + 0x374], 0
je 0x140161a1e
movss xmm0, dword [0x1402fb3b0]
comiss xmm0, dword [rbx + 0x380]
jb 0x140161a1e
mov eax, dword [rbx + 0x370]
test eax, eax
je 0x140161a1e
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x3a8]
jb 0x140161a1e
mov al, reloc.WS2_32.dll_WSASetLastError
mov dword [rbp + 0x6f], 0x656b7970
mov word [rbp + 0x73], WSAStartup
mov byte [rbp + 0x75], 0
movzx eax, al
mov edi, 0x811c9dc5
xor eax, edi
imul edx, eax, 0x1000193
lea rcx, [rbp + 0x70]
call fcn.1400356d0
mov rcx, qword [rbx + 0x180]
mov rdx, qword [rbx + 0x188]
cmp rcx, rdx
je 0x1401616e2
nop
cmp dword [rcx + 0x30], eax
je 0x140161a1e
add rcx, 0x50
cmp rcx, rdx
jne 0x1401616d0
cmp byte [rbx + 0x264], 0
jne 0x140161a1e
movss xmm1, dword [0x1402c1abc]
call fcn.1401c2fb0
mov rbx, rax
test rax, rax
je 0x140161a1e
cmp byte [rax + 0xa7], 0
je 0x140161a1e
mov rcx, rax
call fcn.14006a560
test al, al
jne 0x140161a1e
cmp byte [rbx + 0xa5], al
je 0x140161a1e
cmp byte [rbx + 0xa4], al
je 0x140161a1e
mov rax, qword [rsi + 0xf8]
cmp byte [rax + 0x2b0], 0
je 0x140161a1e
mov al, reloc.WS2_32.dll_WSASetLastError
mov dword [rbp - 0x79], 0x656b7970
mov dword [rbp - 0x75], 0x6e617271
mov dword [rbp - 0x71], 0x6567
movzx eax, al
xor eax, edi
imul edx, eax, 0x1000193
lea rcx, [rbp - 0x78]
call fcn.1400356d0
mov r8d, eax
lea rdx, [rbp - 0x39]
lea rcx, [rbx + 0x170]
call fcn.140066ab0
cmp byte [rax + 0x4e], 0
je 0x14016199f
cmp byte [rbx + 0x264], 0
je 0x14016199f
mov rax, qword [rsi + 0x110]
cmp byte [rax + 0x2b0], 0
je 0x14016199f
lea rcx, [rbp - 0x29]
call fcn.140036090
mov rdi, qword [0x1402fb580]
movsd xmm0, qword [rbx + 0x24c]
movss xmm2, dword [rdi + 8]
movsd qword [rbp - 0x69], xmm0
subss xmm2, xmm0
movss xmm1, dword [rdi + 0x10]
subss xmm1, dword [rbx + 0x254]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14016180a
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140161812
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x1402c19d0]
comiss xmm1, xmm0
jb 0x140161a1e
movss xmm10, dword [rdi + 0xc]
movsd xmm6, qword [rbx + 0x24c]
movss xmm7, dword [rbx + 0x254]
subss xmm7, dword [rdi + 0x10]
movsd qword [rbp - 0x69], xmm6
subss xmm6, dword [rdi + 8]
movaps xmm1, xmm6
mulss xmm1, xmm6
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14016186b
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140161873
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm6, xmm0
divss xmm7, xmm0
mulss xmm7, dword [0x1402c1a14]
mulss xmm6, dword [0x1402c1a14]
addss xmm7, dword [rdi + 0x10]
addss xmm6, dword [rdi + 8]
call fcn.14013edd0
mov r14, rax
movss dword [rbp - 0x79], xmm6
movss dword [rbp - 0x75], xmm10
movss dword [rbp - 0x71], xmm7
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x140161a1e
mov rsi, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x140161916
lea rcx, [rbp - 0x59]
call fcn.140014500
mov rdi, qword [rbp - 0x59]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rbp - 0x51], rax
lea rdx, [rbp - 0x59]
lea rcx, [rsi + 0x170]
call fcn.140066940
test al, al
jne 0x140161a1e
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x140161a1e
mov rcx, qword [0x1402fb9c0]
test rcx, rcx
jne 0x14016196e
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rbp + 0x6f], rax
mov rcx, rax
call fcn.1401d6670
mov rcx, rax
mov qword [0x1402fb9c0], rax
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbp - 0x69], xmm0
mov eax, dword [rbp - 0x71]
mov dword [rbp - 0x61], eax
lea r8, [rbp - 0x69]
lea rdx, [rbp + 0x77]
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 2]
mov rcx, r14
call fcn.14006d7b0
jmp 0x140161a1e
lea rcx, [rbp - 0x29]
call fcn.140036090
mov rax, qword [0x1402fb580]
movsd xmm0, qword [rax + 8]
movss xmm1, dword [rbx + 8]
subss xmm1, xmm0
movss xmm2, dword [rbx + 0x10]
subss xmm2, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401619e4
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401619ec
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x1402c1a14]
comiss xmm1, xmm0
jb 0x140161a1e
mov rax, qword [rsi + 0x110]
cmp byte [rax + 0x2b0], 0
jne 0x140161a1e
call fcn.14013edd0
mov r8, rbx
mov edx, 2
mov rcx, rax
call fcn.14006df00
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm10, xmmword [r11 - 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret