Function at 0x140104c50
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x48
cmp byte [0x140217e7c], 0
je 0x140104feb
mov edx, dword [0x140217e90]
mov ecx, dword [0x140217e94]
mov qword [rsp + 0x40], rdi
xor dil, dil
mov qword [rsp + 0x50], rbx
test edx, edx
jne 0x140104c86
test ecx, ecx
je 0x140104db1
mov r8, qword [0x140217ee8]
mov r11d, dword [r8 + 0x5f20]
mov eax, r11d
imul eax, ecx
add eax, edx
cmp eax, 0xffffffff
jle 0x140104cdc
mov r9, qword [r8 + 0x5f2c]
movsxd r10, eax
mov rax, qword [r8 + 0x5f34]
sub rax, r9
sar rax, 3
cmp r10, rax
jae 0x140104cdc
cmp edx, 0xffffffff
jle 0x140104cdc
cmp edx, r11d
jge 0x140104cdc
cmp ecx, 0xffffffff
jle 0x140104cdc
cmp ecx, dword [r8 + 0x5f24]
jge 0x140104cdc
mov rax, qword [r9 + r10*8]
jmp 0x140104cde
xor eax, eax
movzx eax, word [rax]
cmp eax, dword [reloc.WS2_32.dll_closesocket]
jne 0x140104db1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, qword [0x140217e98]
mov rbx, rax
jb 0x140104fe1
movsxd rcx, dword [0x14020b188]
mov r8d, dword [0x140217e94]
add rcx, rax
mov edx, dword [0x140217e90]
mov qword [0x140217e98], rcx
mov rcx, qword [0x140217ee8]
call fcn.140110a50
mov rcx, qword [0x140217ee8]
movss xmm2, dword [rcx + 0x5fd1]
cvttss2si eax, xmm2
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp eax, dword [0x140217e90]
jne 0x140104d97
movss xmm1, dword [rcx + 0x5fd5]
cvttss2si eax, xmm1
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp eax, dword [0x140217e94]
jne 0x140104d97
mulss xmm1, dword [0x1401b6cf0]
mov edx, reloc.WS2_32.dll_select
xor ecx, ecx
mulss xmm2, dword [0x1401b6cf0]
cvttss2si r9d, xmm1
cvttss2si r8d, xmm2
call fcn.140111510
mov dil, 1
movsxd rax, dword [0x14020b188]
add rax, rbx
mov qword [0x140217e98], rax
test dil, dil
je 0x140104fe1
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 [0x140217ee8]
movabs r14, 0x624dd2f1a9fbe77
mov rsi, rax
mov rbp, rax
sub rsi, qword [0x140217ea0]
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 0x140104fd2
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 0x140104f95
nop
mov ecx, dword [r9 + 0x5f20]
mov eax, ecx
imul eax, edi
add eax, ebx
cmp eax, 0xffffffff
jle 0x140104f86
mov r8, qword [r9 + 0x5f2c]
movsxd rdx, eax
mov rax, qword [r9 + 0x5f34]
sub rax, r8
sar rax, 3
cmp rdx, rax
jae 0x140104f86
cmp ebx, 0xffffffff
jle 0x140104f86
cmp ebx, ecx
jge 0x140104f86
cmp edi, 0xffffffff
jle 0x140104f86
cmp edi, dword [r9 + 0x5f24]
jge 0x140104f86
mov r8, qword [r8 + rdx*8]
test r8, r8
je 0x140104f86
movzx edx, word [r8]
cmp edx, dword [reloc.WS2_32.dll_closesocket]
jne 0x140104f86
test dl, 1
je 0x140104f86
movzx r10d, dl
mov eax, edx
xor r10, r15
shr rax, 8
imul r10, r12
xor r10, rax
mov rax, qword [0x140217668]
imul r10, r13
and r10, qword [0x140217680]
add r10, r10
mov rcx, qword [rax + r10*8 + 8]
cmp rcx, qword [0x140217658]
je 0x140104f25
mov rax, qword [rax + r10*8]
cmp edx, dword [rcx + 0x10]
je 0x140104f27
cmp rcx, rax
je 0x140104f25
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x140104f15
jmp 0x140104f27
xor ecx, ecx
mov rax, qword [0x140217658]
test rcx, rcx
cmovne rax, rcx
mov r10d, dword [rax + 0x1b0]
mov rax, qword [r8 + 0x7e]
test rax, rax
je 0x140104f63
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 0x140104f6c
mov ecx, dword [r8 + 0x79]
add ecx, esi
cmp ecx, r10d
jb 0x140104f86
mov r8d, edi
mov edx, ebx
mov rcx, r9
call fcn.140105730
test al, al
jne 0x140104fa6
mov r9, qword [0x140217ee8]
inc ebx
cmp ebx, dword [r9 + 0x5f20]
jl 0x140104e50
inc edi
cmp edi, dword [r9 + 0x5f24]
jl 0x140104e40
jmp 0x140104fc3
movsxd rax, dword [0x14020b188]
add rax, rbp
mov dword [0x140217e94], edi
mov qword [0x140217e98], rax
mov dword [0x140217e90], 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