Function at 0x14004f080
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov rax, qword [0x1401cca00]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rbx, rcx
mov edi, edx
mov ecx, dword [rcx + 0x40]
lea eax, [rcx - 7]
cmp eax, 2
jbe 0x14004f2fc
test ecx, ecx
je 0x14004f2fc
mov rcx, rbx
call fcn.14004ecc0
mov ecx, edi
mov byte [rbp - 0x28], 0xff
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 0x25], eax
mov edx, 0x44
mov eax, dword [rbx + 0x40]
mov ecx, 0x84
sub eax, 5
cmp eax, 1
cmova ecx, edx
mov byte [rbp - 0x29], cl
lea ecx, [rdx + 0x1c]
call qword [0x14023b720]
xor edi, edi
test rax, rax
jne 0x14004f102
call qword [0x14023b730]
jmp 0x14004f130
movups xmm0, xmmword [rbp - 0x29]
mov rdx, rax
mov rcx, rbx
movups xmm1, xmmword [rbp - 0x19]
mov dword [rax + 0x20], edi
movups xmmword [rax + 0x28], xmm0
mov word [rax + 0x24], di
movups xmm0, xmmword [rbp - 9]
mov qword [rax + 0x58], rdi
movups xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x48], xmm0
call fcn.14004f320
mov eax, dword [rbx + 0x40]
sub eax, 5
cmp eax, 1
jbe 0x14004f2da
mov qword [rsp + 0xc0], rsi
mov rsi, qword [rbx + 0x10]
cmp dword [rsi + 0x2b84], edi
je 0x14004f15d
cmp dword [rsi + 0x68], 8
jne 0x14004f2c8
cmp dword [0x1402739e0], edi
jne 0x14004f1fb
mov qword [rsp + 0xc8], r14
lea rcx, [rbp + 0x2f]
mov r14d, 1
mov dword [0x1402739e0], r14d
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1402739e4], eax
test eax, eax
je 0x14004f1b2
lea rcx, [0x140273bf8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp + 0x2f]
divsd xmm0, qword [0x1401ab170]
jmp 0x14004f1eb
lea rdx, [rbp + 0x17]
mov dword [rbp + 7], 0x107b2
lea rcx, [rbp + 7]
mov qword [rbp + 0xd], r14
mov word [rbp + 0x15], di
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov ecx, dword [rbp + 0x1b]
mov eax, dword [rbp + 0x17]
movsd xmm0, qword [0x1401ab0f8]
shl rcx, 0x20
or rcx, rax
mov qword [0x140273bf8], rcx
mov r14, qword [rsp + 0xc8]
movsd qword [0x140273c00], xmm0
cmp dword [0x1402739e4], edi
je 0x14004f213
lea rcx, [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0x27]
jmp 0x14004f22a
lea rcx, [rbp + 0x1f]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [rbp + 0x23]
mov ecx, dword [rbp + 0x1f]
shl rax, 0x20
or rax, rcx
sub rax, qword [0x140273bf8]
xorps xmm0, xmm0
movabs r9, 0x431bde82d7b634db
cvtsi2sd xmm0, rax
mov rax, r9
divsd xmm0, qword [0x140273c00]
cvttsd2si rcx, xmm0
imul rcx
mov qword [rbp + 0x27], rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0xf4240
sub ecx, eax
imul eax, ecx, 0x3e8
movsxd r8, eax
movsxd rax, edx
imul rcx, rax, 0x3b9aca00
add r8, rcx
lock xadd qword [0x1402739e8], rdi
test rdi, rdi
jne 0x14004f2ad
lea rcx, [r8 - 0xf4240]
xor eax, eax
lock cmpxchg qword [0x1402739e8], rcx
mov rdi, rax
cmove rdi, rcx
sub r8, rdi
mov rax, r9
mul r8
mov rcx, rsi
shr rdx, 0x12
mov dword [rsi + 0xa0], edx
call fcn.14004e5e0
mov rcx, rbx
call fcn.14004ef00
mov rsi, qword [rsp + 0xc0]
jmp 0x14004f2fc
cmp dword [rbx + 0x58], edi
je 0x14004f2ea
mov rax, qword [rbx + 0x10]
dec qword [rax + 0x2b60]
mov rax, qword [rbx + 0x10]
dec qword [rax + 0x2b58]
mov dword [rbx + 0x40], 7
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140162570
add rsp, 0x90
pop rdi
pop rbx
pop rbp
ret