Function at 0x140102a90
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x48
cmp byte [0x140212e7b], 0
je 0x140102e2b
mov edx, dword [0x140212e7c]
mov ecx, dword [0x140212e90]
mov qword [rsp + 0x40], rdi
xor dil, dil
mov qword [rsp + 0x50], rbx
test edx, edx
jne 0x140102ac6
test ecx, ecx
je 0x140102bf1
mov r8, qword [0x140212ee8]
mov r11d, dword [r8 + 0x5f20]
mov eax, r11d
imul eax, ecx
add eax, edx
cmp eax, 0xffffffff
jle 0x140102b1c
mov r9, qword [r8 + 0x5f2c]
movsxd r10, eax
mov rax, qword [r8 + 0x5f34]
sub rax, r9
sar rax, 3
cmp r10, rax
jae 0x140102b1c
cmp edx, 0xffffffff
jle 0x140102b1c
cmp edx, r11d
jge 0x140102b1c
cmp ecx, 0xffffffff
jle 0x140102b1c
cmp ecx, dword [r8 + 0x5f24]
jge 0x140102b1c
mov rax, qword [r9 + r10*8]
jmp 0x140102b1e
xor eax, eax
movzx eax, word [rax]
cmp eax, dword [reloc.WS2_32.dll_closesocket]
jne 0x140102bf1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, qword [0x140212e98]
mov rbx, rax
jb 0x140102e21
movsxd rcx, dword [0x140206188]
mov r8d, dword [0x140212e90]
add rcx, rax
mov edx, dword [0x140212e7c]
mov qword [0x140212e98], rcx
mov rcx, qword [0x140212ee8]
call fcn.14010e000
mov rcx, qword [0x140212ee8]
movss xmm2, dword [rcx + 0x5fd1]
cvttss2si eax, xmm2
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp eax, dword [0x140212e7c]
jne 0x140102bd7
movss xmm1, dword [rcx + 0x5fd5]
cvttss2si eax, xmm1
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp eax, dword [0x140212e90]
jne 0x140102bd7
mulss xmm1, dword [0x1401b2ba0]
mov edx, reloc.WS2_32.dll_select
xor ecx, ecx
mulss xmm2, dword [0x1401b2ba0]
cvttss2si r9d, xmm1
cvttss2si r8d, xmm2
call fcn.14010eac0
mov dil, 1
movsxd rax, dword [0x140206188]
add rax, rbx
mov qword [0x140212e98], rax
test dil, dil
je 0x140102e21
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov r9, qword [0x140212ee8]
movabs r14, 0x624dd2f1a9fbe77
mov rsi, rax
mov rbp, rax
sub rsi, qword [0x140212ea0]
mov rax, r14
mul rsi
xor edi, edi
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 9
cmp dword [r9 + 0x5f24], edi
jle 0x140102e12
mov qword [rsp + 0x38], r12
movabs r12, 0x100000001b3
mov qword [rsp + 0x30], r13
movabs r13, 0x8a97b0004e7feab
mov qword [rsp + 0x20], r15
movabs r15, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
xor ebx, ebx
cmp dword [r9 + 0x5f20], ebx
jle 0x140102dd5
nop
mov ecx, dword [r9 + 0x5f20]
mov eax, ecx
imul eax, edi
add eax, ebx
cmp eax, 0xffffffff
jle 0x140102dc6
mov r8, qword [r9 + 0x5f2c]
movsxd rdx, eax
mov rax, qword [r9 + 0x5f34]
sub rax, r8
sar rax, 3
cmp rdx, rax
jae 0x140102dc6
cmp ebx, 0xffffffff
jle 0x140102dc6
cmp ebx, ecx
jge 0x140102dc6
cmp edi, 0xffffffff
jle 0x140102dc6
cmp edi, dword [r9 + 0x5f24]
jge 0x140102dc6
mov r8, qword [r8 + rdx*8]
test r8, r8
je 0x140102dc6
movzx edx, word [r8]
cmp edx, dword [reloc.WS2_32.dll_closesocket]
jne 0x140102dc6
test dl, 1
je 0x140102dc6
movzx r10d, dl
mov eax, edx
xor r10, r15
shr rax, 8
imul r10, r12
xor r10, rax
mov rax, qword [0x140212668]
imul r10, r13
and r10, qword [0x140212680]
add r10, r10
mov rcx, qword [rax + r10*8 + 8]
cmp rcx, qword [0x140212658]
je 0x140102d65
mov rax, qword [rax + r10*8]
cmp edx, dword [rcx + 0x10]
je 0x140102d67
cmp rcx, rax
je 0x140102d65
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x140102d55
jmp 0x140102d67
xor ecx, ecx
mov rax, qword [0x140212658]
test rcx, rcx
cmovne rax, rcx
mov r10d, dword [rax + 0x1b0]
mov rax, qword [r8 + 0x7e]
test rax, rax
je 0x140102da3
mov r8, rbp
sub r8, rax
mov rax, r14
mul r8
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 9
cmp r8d, r10d
jmp 0x140102dac
mov ecx, dword [r8 + 0x79]
add ecx, esi
cmp ecx, r10d
jb 0x140102dc6
mov r8d, edi
mov edx, ebx
mov rcx, r9
call fcn.140103570
test al, al
jne 0x140102de6
mov r9, qword [0x140212ee8]
inc ebx
cmp ebx, dword [r9 + 0x5f20]
jl 0x140102c90
inc edi
cmp edi, dword [r9 + 0x5f24]
jl 0x140102c80
jmp 0x140102e03
movsxd rax, dword [0x140206188]
add rax, rbp
mov dword [0x140212e90], edi
mov qword [0x140212e98], rax
mov dword [0x140212e7c], ebx
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
add rsp, 0x48
ret