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

Disassembly:
push rdi
sub rsp, 0x80
movzx eax, word [rcx + 0x414]
mov rdi, rcx
test al, 4
jne 0x1400678e9
bt ax, 0xc
jae 0x1400678e9
mov rcx, qword [rcx + 0x10]
lea r8, [rsp + 0x20]
add rcx, 0x5c
mov edx, 0x20
call fcn.14008c540
test eax, eax
jne 0x1400678eb
movzx eax, byte [rsp + 0x21]
movzx ecx, byte [rsp + 0x20]
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x98], rbx
movzx eax, byte [rsp + 0x22]
shl eax, 8
shl ecx, 0x10
or ecx, eax
mov qword [rsp + 0xa0], rbp
movzx eax, byte [rsp + 0x23]
or ecx, eax
mov qword [rsp + 0x78], rsi
mov eax, 0xba2e8ba3
mov qword [rsp + 0x70], r12
mul ecx
mov qword [rsp + 0x68], r14
shr edx, 3
imul eax, edx, 0xb
mov qword [rsp + 0x60], r15
sub ecx, eax
mov r14d, ecx
lea rcx, [0x1401362b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
imul rbx, r14, 0x1d0
lea r15, [0x140000000]
mov ebp, dword [rbx + r15 + 0x134db0]
imul rsi, rbp, 0x98
lea eax, [rbp + 1]
mov dword [rbx + r15 + 0x134db0], eax
add rsi, rbx
lea rax, [0x140134db8]
add rsi, rax
cmp word [rdi + 0x414], 0
jl 0x1400675ea
mov rax, qword [rdi + 0x10]
movups xmm0, xmmword [rax + 0x7d]
movups xmmword [rsi + 0x29], xmm0
movups xmm1, xmmword [rax + 0x8d]
movups xmmword [rsi + 0x39], xmm1
movups xmm0, xmmword [rax + 0x9d]
jmp 0x140067607
movups xmm0, xmmword [rdi + 0x239]
movups xmmword [rsi + 0x29], xmm0
movups xmm1, xmmword [rdi + 0x249]
movups xmmword [rsi + 0x39], xmm1
movups xmm0, xmmword [rdi + 0x259]
movups xmmword [rsi + 0x49], xmm0
movzx eax, word [rdi + 0x418]
shr ax, 9
and ax, 1
mov word [rsi + 0x5a], ax
mov rax, qword [rdi + 0x10]
movups xmm0, xmmword [rax + 0x5c]
movups xmmword [rsi + 8], xmm0
movups xmm1, xmmword [rax + 0x6c]
movups xmmword [rsi + 0x18], xmm1
mov rax, qword [rdi + 0x10]
movzx ecx, byte [rax + 0x7c]
mov byte [rsi + 0x28], cl
movzx ecx, byte [rdi + 0x485]
lea eax, [rcx - 1]
cmp al, 0x1e
ja 0x14006765e
mov r8d, ecx
lea rdx, [rdi + 0x458]
lea rcx, [rsi + 0x75]
call fcn.1400d6bb0
cmp dword [0x1401362f8], 0
mov eax, dword [rdi + 0x2cc]
mov dword [rsi + 4], eax
jne 0x140067687
lea rcx, [0x140136300]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1401362f8], 1
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x90]
xor r12d, r12d
cqo
idiv qword [0x140136300]
mov dword [rsi], eax
movzx eax, byte [rdi + 0x41b]
mov byte [rsi + 0x5c], al
movzx eax, byte [rdi + 0x41c]
mov byte [rsi + 0x5d], al
inc dword [rbx + r15 + 0x134db4]
cmp dword [rbx + r15 + 0x134db0], 3
jne 0x1400676da
mov dword [rbx + r15 + 0x134db0], r12d
movzx eax, byte [rdi + 0x414]
and al, 0x30
cmp al, 0x10
jne 0x1400677cb
movzx eax, word [rdi + 0x26e]
test ax, ax
je 0x1400677cb
mov word [rsi + 0x5e], ax
lea rcx, [rsi + 0x60]
movzx r8d, word [rdi + 0x26e]
lea rdx, [rdi + 0x270]
call fcn.1400d6bb0
movzx edx, word [rdi + 0x26e]
lea r8, [rsp + 0x20]
lea rcx, [rdi + 0x270]
call fcn.14008c540
mov edi, eax
test eax, eax
jne 0x1400678ad
movzx r8d, byte [rsp + 0x20]
mov eax, 0xba2e8ba3
movzx ecx, byte [rsp + 0x21]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [rsp + 0x22]
shl ecx, 8
shl r8d, 0x10
or r8d, ecx
movzx ecx, byte [rsp + 0x23]
or r8d, ecx
mul r8d
shr edx, 3
imul eax, edx, 0xb
sub r8d, eax
mov ecx, r8d
lea rax, [r8 + r8*4]
lea r8, [rax*4]
mov edx, dword [r8 + r15 + 0x1361a0]
lea rcx, [rcx + rcx*4]
add rcx, rdx
lea eax, [rdx + 1]
mov dword [r8 + r15 + 0x1361a0], eax
mov word [r15 + rcx*4 + 0x1361a8], r14w
mov word [r15 + rcx*4 + 0x1361aa], bp
inc dword [r8 + r15 + 0x1361a4]
cmp dword [r8 + r15 + 0x1361a0], 3
jne 0x1400677d0
mov dword [r8 + r15 + 0x1361a0], r12d
jmp 0x1400677d0
mov word [rsi + 0x5e], r12w
mov ebx, r12d
cmp dword [0x1401362f8], ebx
jne 0x1400677f2
lea rcx, [0x140136300]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1401362f8], 1
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x90]
mov edi, reloc.WS2_32.dll_inet_addr
cqo
mov r10, r12
idiv qword [0x140136300]
lea esi, [rdi - 9]
mov r11, rax
nop
mov ecx, dword [r10 + r15 + 0x134db4]
mov r9d, 3
mov eax, dword [r10 + r15 + 0x134db0]
cmp ecx, r9d
cmovb r9d, ecx
sub eax, 1
cmovs eax, esi
test r9d, r9d
jle 0x14006788f
cdqe
nop word [rax + rax]
cmp rax, rsi
ja 0x14006788f
imul r8, rax, 0x98
lea ecx, [rbx + 1]
add r8, r10
mov edx, dword [r8 + r15 + 0x134dbc]
add edx, dword [r8 + r15 + 0x134db8]
cmp r11d, edx
cmovae ecx, ebx
dec r9d
mov ebx, ecx
test rax, rax
je 0x140067887
dec rax
jmp 0x14006788a
mov rax, rsi
test r9d, r9d
jg 0x140067850
add r10, 0x1d0
sub rdi, 1
jne 0x140067820
cmp ebx, dword [0x14013627c]
mov edi, r12d
jbe 0x1400678ad
mov dword [0x14013627c], ebx
lea rcx, [0x1401362b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r15, qword [rsp + 0x60]
mov eax, edi
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rdi
ret
xor eax, eax
add rsp, 0x80
pop rdi
ret