Function at 0x1400be590
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x350
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
mov rax, qword [0x1402f2018]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rax, qword [rcx + 0x28]
cmp byte [rax + 0x2b0], 0
je 0x1400be9d6
cmp byte [rcx + 0xb], 0
je 0x1400be9d6
call fcn.14013e9d0
mov rsi, qword [rax]
mov r13, qword [rax + 8]
cmp rsi, r13
je 0x1400be9d6
movss xmm9, dword [0x1402c1ad4]
movss xmm11, dword [0x1402c1930]
movss xmm10, dword [0x1402c1b18]
movss xmm7, dword [0x1402c1b34]
movss xmm8, dword [0x1402c1880]
mov rax, qword [0x1402fb580]
mov ecx, dword [rax + 0x1c]
cmp dword [rsi + 0x1c], ecx
je 0x1400be9c6
cmp byte [rsi + 0xa7], 0
je 0x1400be9c6
mov rcx, rsi
call fcn.14006a560
test al, al
jne 0x1400be9c6
cmp byte [rsi + 0xa5], al
je 0x1400be9c6
cmp byte [rsi + 0xa4], al
je 0x1400be9c6
mov rax, qword [0x1402fb580]
movsd xmm0, qword [rax + 8]
movss xmm1, dword [rsi + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, xmm0
movss xmm2, dword [rsi + 0x10]
subss xmm2, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400be6cc
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1400be6d4
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm9, xmm0
jbe 0x1400be9c6
mov rax, qword [0x1402fb580]
movsxd rcx, dword [rax + 0x3d8]
test ecx, ecx
jne 0x1400bea24
xorps xmm6, xmm6
lea rax, [rsi + 0x28]
comiss xmm6, dword [rax]
jb 0x1400be9c6
movaps xmm0, xmmword [0x1402f21f0]
movups xmmword [rbp - 0x70], xmm0
mov eax, dword [0x1402f2200]
mov dword [rbp - 0x60], eax
mov eax, dword [reloc.WS2_32.dll_connect]
mov dword [rbp - 0x5c], eax
movzx eax, byte [reloc.WS2_32.dll_accept]
mov byte [rbp - 0x58], al
movsd xmm0, qword [0x1402f220c]
movsd qword [rbp - 0x54], xmm0
mov eax, dword [0x1402f2214]
mov dword [rbp - 0x4c], eax
mov eax, dword [0x1402f2218]
mov dword [rbp - 0x48], eax
movzx eax, byte [0x1402f221c]
mov byte [rbp - 0x44], al
mov eax, dword [0x1402f2220]
mov dword [rbp - 0x40], eax
movsd xmm0, qword [0x1402f2224]
movsd qword [rbp - 0x3c], xmm0
mov eax, dword [0x1402f222c]
mov dword [rbp - 0x34], eax
mov rax, qword [0x1402f2230]
mov qword [rbp - 0x30], rax
movsd xmm0, qword [0x1402f2238]
movsd qword [rbp - 0x28], xmm0
mov eax, dword [0x1402f2240]
mov dword [rbp - 0x20], eax
movsd xmm0, qword [0x1402f2244]
movsd qword [rbp - 0x1c], xmm0
mov eax, dword [0x1402f224c]
mov dword [rbp - 0x14], eax
movss xmm0, dword [0x1402f2250]
movss dword [rbp - 0x10], xmm0
lea rdx, [0x1402f2258]
lea rcx, [rbp - 8]
call fcn.140031c00
mov eax, dword [0x1402f22a8]
mov dword [rbp + 0x48], eax
movzx eax, byte [0x1402f22ac]
mov byte [rbp + 0x4c], al
movss xmm0, dword [0x1402f22b0]
movss dword [rbp + 0x50], xmm0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x30], rsi
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0xc0]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp + 0x20]
call fcn.140034070
nop
cmp dword [rbp + 0x1d8], 5
jl 0x1400be9a2
movss xmm5, dword [0x1402fba30]
movss xmm3, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm1, dword [rbp + 0x1c8]
movss xmm0, dword [rbp + 0x1c4]
movss xmm2, dword [rbp + 0x1c0]
ucomiss xmm2, xmm5
jp 0x1400be868
jne 0x1400be868
ucomiss xmm0, xmm3
jp 0x1400be868
jne 0x1400be868
ucomiss xmm1, xmm4
jp 0x1400be868
je 0x1400be889
comiss xmm2, xmm7
jbe 0x1400be889
comiss xmm0, xmm7
jbe 0x1400be889
comiss xmm1, xmm7
jbe 0x1400be889
comiss xmm8, xmm2
jbe 0x1400be889
comiss xmm8, xmm0
jbe 0x1400be889
comiss xmm8, xmm1
ja 0x1400be8a2
ucomiss xmm2, xmm5
jp 0x1400be8a2
jne 0x1400be8a2
ucomiss xmm0, xmm3
jp 0x1400be8a2
jne 0x1400be8a2
ucomiss xmm1, xmm4
jp 0x1400be8a2
je 0x1400be9a2
call fcn.14013edd0
mov r15, rax
movsd xmm6, qword [rbp + 0x1c0]
mov r12d, dword [rbp + 0x1c8]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x1400be9a2
mov r14, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x1400be927
lea rcx, [rsp + 0x68]
call fcn.140014500
mov rdi, qword [rsp + 0x68]
mov rdx, qword [0x1402fe790]
mov rbx, qword [0x1402fe798]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x68]
lea rcx, [r14 + 0x170]
call fcn.140066940
test al, al
jne 0x1400be9a2
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x1400be9a2
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x1400be976
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rbp + 0x58], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rbp - 0x80], xmm6
mov dword [rbp - 0x78], r12d
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r15
call fcn.14006d7b0
nop
lea rcx, [rbp + 0x188]
call fcn.140034070
lea rcx, [rbp + 0xd8]
call fcn.140033e60
lea rcx, [rbp + 0xc0]
call fcn.140033e60
add rsi, 0x5e0
cmp rsi, r13
jne 0x1400be642
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1402283f0
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov dword [rsp + 0x40], 0x432f0000
mov dword [rsp + 0x44], 0x43898000
mov dword [rsp + 0x48], 0x43bb8000
mov dword [rsp + 0x30], 0x42dc0000
mov dword [rsp + 0x34], 0x43020000
mov dword [rsp + 0x38], 0x43160000
mov rax, rcx
movss xmm2, dword [rsp + rcx*4 + 0x2c]
mov rcx, qword [0x1402fb580]
mulss xmm2, dword [rcx + 0x60]
divss xmm2, xmm11
addss xmm2, dword [rsp + rax*4 + 0x3c]
mov rdx, rsi
call fcn.14006ee10
movaps xmm6, xmm0
mov eax, dword [rsi + 0x20]
shr eax, 0xc
test al, 1
je 0x1400be6f7
mov rbx, qword [0x1402fb580]
movdqa xmm1, xmmword [0x1402c2cd0]
movdqu xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x60], 0x736b63
mov byte [rsp + 0x64], 0
movd eax, xmm1
test al, al
jne 0x1400beabe
mov eax, 0x811c9dc5
jmp 0x1400bead6
movzx eax, al
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x51]
call fcn.1400356d0
mov r8d, eax
lea rdx, [rbp + 0x70]
lea rcx, [rbx + 0x170]
call fcn.140066ab0
mov ebx, dword [rax + 0x38]
lea rcx, [rbp + 0x80]
call fcn.140036090
lea rax, [rsi + 0x28]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
comiss xmm0, dword [rax]
jb 0x1400be6fb
movaps xmm6, xmm10
jmp 0x1400be6fb