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

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x50
cmp qword [0x1400cdab0], 0
lea rax, [0x14003d960]
mov qword [rsp + 0x68], rbp
mov rbx, rcx
lea rbp, [0x14003d740]
mov qword [rsp + 0x70], rdi
cmovne rbp, rax
cmp dword [rcx + 8], 0
ja 0x14003dcac
cmp dword [rcx + 0x20], 0
ja 0x14003dcac
cmp qword [rcx + 0x50], 0
jne 0x14003dcac
movsd xmm0, qword [0x1400cd558]
xor esi, esi
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x14003dc40
jne 0x14003dc40
xor eax, eax
mov qword [rcx + 0x40], rax
jmp 0x14003de3b
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x14003dc5a
xor eax, eax
mov qword [rbx + 0x40], rax
jmp 0x14003de3b
movsd xmm1, qword [0x1400b2ee0]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x60]
xor ecx, ecx
mulsd xmm0, qword [0x1400cd558]
mulsd xmm0, qword [0x1400b2ec0]
comisd xmm0, xmm1
jb 0x14003dc9b
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14003dc9b
movabs rdi, 0x8000000000000000
mov rcx, rdi
cvttsd2si rax, xmm0
add rax, rcx
mov qword [rbx + 0x40], rax
jmp 0x14003de3b
movaps xmmword [rsp + 0x40], xmm6
movabs rdi, 0x8000000000000000
movsd xmm6, qword [0x1400b2ee0]
mov esi, 1
movaps xmmword [rsp + 0x30], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x20], xmm8
movsd xmm8, qword [0x1400b2ec0]
nop
cmp dword [rbx + 0x30], 0
jne 0x14003de2b
movsd xmm0, qword [0x1400cd558]
ucomisd xmm0, xmm7
jp 0x14003dcfe
jne 0x14003dcfe
xor eax, eax
jmp 0x14003dd45
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x14003dd11
xor eax, eax
jmp 0x14003dd45
xorps xmm0, xmm0
xor ecx, ecx
cvtsi2sd xmm0, qword [rsp + 0x60]
mulsd xmm0, qword [0x1400cd558]
mulsd xmm0, xmm8
comisd xmm0, xmm6
jb 0x14003dd3d
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14003dd3d
mov rcx, rdi
cvttsd2si rax, xmm0
add rax, rcx
mov rcx, rbx
mov qword [rbx + 0x40], rax
call fcn.140044dd0
mov rcx, rbx
call fcn.14003ca70
mov rax, qword [rbx + 0x70]
mov qword [rbx + 0x88], rax
test rax, rax
je 0x14003dd92
nop dword [rax]
mov rdx, qword [rbx + 0x88]
mov rcx, rdx
mov rax, qword [rdx + 0x68]
mov qword [rbx + 0x88], rax
call qword [rdx + reloc.WS2_32.dll_WSASetLastError]
cmp qword [rbx + 0x88], 0
jne 0x14003dd70
mov rax, qword [rbx + 0x60]
mov qword [rbx + 0x78], rax
test rax, rax
je 0x14003ddb9
nop
mov rdx, qword [rbx + 0x78]
mov rcx, rdx
mov rax, qword [rdx + 0x68]
mov qword [rbx + 0x78], rax
call qword [rdx + reloc.WS2_32.dll_WSASetLastError]
cmp qword [rbx + 0x78], 0
jne 0x14003dda0
mov rcx, rbx
call fcn.14003d6d0
mov edx, eax
mov rcx, rbx
call rbp
mov rax, qword [rbx + 0x68]
mov qword [rbx + 0x80], rax
test rax, rax
je 0x14003de02
nop dword [rax + rax]
mov rdx, qword [rbx + 0x80]
mov rcx, rdx
mov rax, qword [rdx + 0x68]
mov qword [rbx + 0x80], rax
call qword [rdx + reloc.WS2_32.dll_WSASetLastError]
cmp qword [rbx + 0x80], 0
jne 0x14003dde0
mov rcx, rbx
call fcn.14003c810
cmp dword [rbx + 8], 0
ja 0x14003dce0
cmp dword [rbx + 0x20], 0
ja 0x14003dce0
cmp qword [rbx + 0x50], 0
jne 0x14003dce0
xor esi, esi
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x20]
cmp dword [rbx + 0x30], 0
mov eax, esi
mov rdi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
je 0x14003de54
mov dword [rbx + 0x30], 0
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rsi
ret