Function at 0x140022c70
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
mov r14, r8
mov rsi, rdx
mov rdi, rcx
mov r9d, dword [0x140107ef8]
mov rax, qword gs:[0x58]
mov ecx, 0x28
mov r10, qword [rax + r9*8]
movss xmm7, dword [0x140095c4c]
mov eax, dword [rcx + r10]
cmp dword [0x140107e40], eax
jg 0x140022ecf
call fcn.140038080
mov rbp, rax
mov rcx, rsi
call fcn.140037d30
mov r8d, eax
mov dword [rsp + 0xa8], r8d
movzx edx, al
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r9, 0x100000001b3
imul rdx, r9
movzx ecx, byte [rsp + 0xa9]
xor rdx, rcx
imul rdx, r9
movzx eax, byte [rsp + 0xaa]
xor rdx, rax
imul rdx, r9
movzx eax, byte [rsp + 0xab]
xor rdx, rax
imul rdx, r9
mov rax, qword [0x140107e30]
and rax, rdx
add rax, rax
mov r9, qword [0x140107e18]
mov rcx, qword [r9 + rax*8 + 8]
mov rdx, qword [0x140107e08]
cmp rcx, rdx
je 0x140022d71
mov rax, qword [r9 + rax*8]
cmp r8d, dword [rcx + 0x10]
je 0x140022d73
nop dword [rax + rax]
cmp rcx, rax
je 0x140022d71
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x140022d60
jmp 0x140022d73
xor ecx, ecx
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
xorps xmm6, xmm6
cmp rax, rdx
jne 0x140022dab
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x20]
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0x28]
lea rcx, [0x140107e00]
call fcn.14001dcc0
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0x38]
lea rcx, [0x140107e00]
call fcn.14001da80
mov rbx, qword [rax]
add rbx, 0x14
mov edx, 2
mov rcx, qword [rdi + 8]
call fcn.140021580
mov rcx, rsi
call fcn.140020110
test al, al
je 0x140022ea5
xor edx, edx
mov rcx, qword [rdi + 8]
call fcn.140021580
movss xmm1, dword [rbx]
comiss xmm7, xmm1
jbe 0x140022e15
movss xmm0, dword [rbp + 0x10]
mulss xmm0, dword [0x140097148]
addss xmm0, xmm1
movaps xmm1, xmm0
movss dword [rbx], xmm0
mov dword [rsp + 0x24], 0x3f800000
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
comiss xmm6, xmm1
cmovbe rcx, rbx
lea rax, [rsp + 0x24]
comiss xmm1, xmm7
cmovbe rax, rcx
mov eax, dword [rax]
mov dword [rbx], eax
xor ecx, ecx
call fcn.140038610
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x28], xmm0
movss xmm0, dword [rbx]
subss xmm0, dword [0x140096838]
mulss xmm0, dword [0x140097074]
call fcn.140075d00
addss xmm0, xmm7
mulss xmm0, dword [0x140096838]
movss dword [rsp + 0x34], xmm0
lea rdx, [rsp + 0x28]
xor ecx, ecx
call fcn.14003fd60
mov rcx, r14
call fcn.140061ca0
mov ecx, 1
call fcn.14003f730
call fcn.14003f660
call fcn.140061e80
jmp 0x140022eab
mov dword [rbx], 0
call fcn.14003f660
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
lea rcx, [0x140107e40]
call fcn.140064094
cmp dword [0x140107e40], 0xffffffff
jne 0x140022cc6
mov ecx, 0x18
call fcn.1400646f8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140107e08], rax
mov qword [0x140107e18], 0
xorps xmm0, xmm0
movdqa xmmword [0x140107e20], xmm0
mov qword [0x140107e30], 7
mov qword [0x140107e38], 8
mov dword [0x140107e00], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x140107e18]
call fcn.14001e710
nop
lea rcx, [0x140094980]
call fcn.140064a20
nop
lea rcx, [0x140107e40]
call fcn.140064034
jmp 0x140022cc6