Function at 0x1400fe3a0
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov byte [rsp + 0x2f], dl
mov ebp, r8d
mov rsi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, qword [rcx + 0x58]
mov r14, qword [rdi]
mov ebx, dword [r14 + 0x798]
test ebx, ebx
jne 0x1400fe3de
mov ebx, dword [rsi + 0x50]
mov rax, qword [rdi + 0x4c0]
mov qword [rsp + 0x30], rax
cmp byte [0x1402c8640], 1
je 0x1400fe416
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
imul rcx, rcx, 0x10624dd3
shr rcx, 0x26
imul edx, ecx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
jmp 0x1400fe44f
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x48]
mov qword [r15], rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov r8, qword [0x1402c8648]
cqo
idiv r8
mov rcx, rax
imul rax, rdx, 0xf4240
cqo
idiv r8
movsxd r12, ebx
movabs r13, 0x7fffffffffffffff
movabs rbx, 0x20c49ba5e353f6
sub rcx, qword [rsi + 0x40]
mov rdx, r13
cmp rcx, rbx
jg 0x1400fe4ad
movabs rdx, 0xffdf3b645a1cac0a
cmp rcx, rdx
jl 0x1400fe4a9
imul rcx, rcx, 0x3e8
sub eax, dword [rsi + 0x48]
cdqe
imul rax, rax, 0x10624dd3
mov rdx, rax
shr rdx, 0x3f
sar rax, 0x26
add eax, edx
movsxd rdx, eax
add rdx, rcx
jmp 0x1400fe4ad
lea rdx, [r13 + 1]
sub r12, rdx
test bpl, bpl
jne 0x1400fe590
mov ebp, dword [r14 + 0x788]
test ebp, ebp
je 0x1400fe590
cmp byte [0x1402c8640], 1
je 0x1400fe4f4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
imul rcx, rcx, 0x10624dd3
shr rcx, 0x26
imul edx, ecx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
jmp 0x1400fe52d
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x48]
mov qword [r15], rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov r8, qword [0x1402c8648]
cqo
idiv r8
mov rcx, rax
imul rax, rdx, 0xf4240
cqo
idiv r8
movsxd rdx, ebp
sub rcx, qword [rdi + 0x490]
cmp rcx, rbx
jg 0x1400fe580
movabs r8, 0xffdf3b645a1cac0a
cmp rcx, r8
mov bl, byte [rsp + 0x2f]
jl 0x1400fe57b
imul rcx, rcx, 0x3e8
sub eax, dword [rdi + 0x498]
cdqe
imul rax, rax, 0x10624dd3
mov r8, rax
shr r8, 0x3f
sar rax, 0x26
add eax, r8d
movsxd r13, eax
add r13, rcx
jmp 0x1400fe584
inc r13
jmp 0x1400fe584
mov bl, byte [rsp + 0x2f]
sub rdx, r13
cmp r12, rdx
cmovge r12, rdx
jmp 0x1400fe594
mov bl, byte [rsp + 0x2f]
mov r15, qword [rdi]
test r12, r12
jle 0x1400fe6d2
mov eax, 0x3e8
cmp r12, 0x3e8
cmovb rax, r12
xor r12d, r12d
test bl, bl
cmovne r12, rax
mov rax, qword [0x1402c1800]
mov rax, qword [rax + 0x48]
mov rcx, rdi
xor edx, edx
call qword [0x1402a4958]
mov ebp, 1
test al, al
jne 0x1400fe600
mov rcx, 0xffffffffffffffff
cmp qword [rsi + 0x30], 0
je 0x1400fe70e
mov r8, qword [rsp + 0x30]
mov rdx, 0xffffffffffffffff
mov r9, r12
call fcn.1400d6a80
mov ebp, eax
test bl, bl
je 0x1400fe6a0
mov rcx, rdi
call fcn.1400c1780
mov ecx, eax
mov eax, Ordinal_46
test ecx, ecx
jne 0x1400fe6e6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x40], rax
cmp byte [0x1402c8640], 1
je 0x1400fe65a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
imul rcx, rcx, 0x10624dd3
shr rcx, 0x26
imul edx, ecx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
jmp 0x1400fe689
lea rbx, [rsp + 0x48]
mov qword [rbx], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
mov r8, qword [0x1402c8648]
cqo
idiv r8
mov rcx, rax
imul rax, rdx, 0xf4240
cqo
idiv r8
lea rdx, [rsp + 0x38]
mov qword [rdx], rcx
mov dword [rdx + 8], eax
mov rcx, r15
call fcn.1400d1450
test eax, eax
jne 0x1400fe6e6
test ebp, ebp
je 0x1400fe6bf
cmp ebp, 0xffffffff
jne 0x1400fe6c3
lea rdx, str.select_poll_error
mov rcx, r15
call fcn.1400b6d70
mov eax, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400fe6e6
mov eax, ebp
jmp 0x1400fe6e6
mov rax, qword [rsi + 0x60]
mov rcx, rdi
call qword [0x1402a4958]
jmp 0x1400fe6e6
lea rdx, str.server_response_timeout
mov rcx, r15
call fcn.1400b6d70
mov eax, 0x1c
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
cmp rcx, qword [0x1402b3040]
je 0x1400fe6fd
call fcn.14019d280
int3
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsi], 0
je 0x1400fe722
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 8]
jb 0x1400fe600
mov rax, qword [0x1402c1800]
mov rax, qword [rax + 0x48]
mov rcx, rdi
xor edx, edx
call qword [0x1402a4958]
test al, al
jne 0x1400fe600
mov rax, qword [rsi + 0x30]
xor ecx, ecx
cmp rax, 1
mov edx, 0
sbb rdx, rdx
mov r8, qword [rsp + 0x30]
or rdx, r8
neg rax
sbb rcx, rcx
or rcx, r8
mov r8, rdx
jmp 0x1400fe5ef