Function at 0x1400ea500
Capabilities:
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, 0xf8
movapd xmmword [rsp + 0xe0], xmm8
movapd xmmword [rsp + 0xd0], xmm7
movapd xmmword [rsp + 0xc0], xmm6
mov rax, qword [0x14022c040]
xor rax, rsp
mov qword [rsp + 0xb8], rax
lea r12, [rcx + 0x10]
test rdx, rdx
jle 0x1400eac46
mov rbx, rdx
mov rsi, rcx
movapd xmm0, xmmword [0x1401fa990]
movapd xmmword [rsp + 0x50], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x90], rax
movapd xmmword [rsp + 0x80], xmm0
movapd xmmword [rsp + 0x70], xmm0
movapd xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x90], 0
cmp byte [rcx + 0x18], 0
je 0x1400ea856
movabs r15, 0x7fffffffffffffff
cmp rbx, r15
je 0x1400ea6e4
movabs r13, 0x8637bd05af7
mov rax, qword [0x14022e6d0]
lea rbp, [0x140124260]
cmp rax, rbp
jne 0x1400eacbd
lea rdi, [rsp + 0x30]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, r13
jge 0x1400eae6f
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov r14, rax
mov rcx, rbx
cmp rcx, r15
je 0x1400ea68c
mov rax, rcx
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov rax, rdx
shr rax, 4
imul rdx, rax, 0x3e8
cmp rdx, rcx
adc rax, 0
mov rcx, rax
shr rcx, 0x20
xor edx, edx
neg rcx
sbb edx, edx
or edx, eax
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400ea7cb
mov dil, 1
cmp byte [rsi + 0x18], 0
je 0x1400ea693
cmp byte [rsp + 0x90], 1
je 0x1400ea9b8
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
cmp rcx, qword [0x14022c040]
je 0x1400ea6ae
call fcn.1401363f0
int3
mov edx, 0xffffffff
jmp 0x1400ea649
mov qword [rsp + 0xa8], 0x16e
mov al, byte [0x14023e0ee]
test al, al
je 0x1400ea664
jmp 0x1400eaf26
mov eax, edi
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0xffffffff
jmp 0x1400ea743
mov r14, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
movabs r13, 0x8637bd05af7
movabs rbp, 0x7fffffffffffffff
movabs rbx, 0x20c49ba5e353f7cf
mov rcx, r15
cmp rcx, r15
je 0x1400ea6dd
mov rax, rcx
shr rax, 3
mul rbx
mov rax, rdx
shr rax, 4
imul rdx, rax, 0x3e8
cmp rdx, rcx
adc rax, 0
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov rcx, qword [r12]
call r14
test eax, eax
je 0x1400ea65b
cmp eax, 0x102
jne 0x1400eafad
mov rax, qword [0x14022e6d0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400eae3d
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
cmp rax, r13
jge 0x1400eafe0
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
xor edx, edx
cmp rbp, rax
setns dl
add rdx, rbp
mov rcx, rbp
sub rcx, rax
cmovo rcx, rdx
xor edi, edi
cmp rax, r15
jne 0x1400ea70c
jmp 0x1400ea664
mov rax, qword [0x14022e6d0]
cmp rax, rbp
jne 0x1400eae24
lea rdi, [rsp + 0x30]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, r13
jge 0x1400eaf71
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
lea rdx, [r14 + rbx]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, r14
add rcx, rbx
cmovo rcx, rdx
xor edx, edx
cmp rcx, rax
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
xor edi, edi
sub rcx, rax
cmovo rcx, r8
jg 0x1400ea60b
jmp 0x1400ea664
mov rcx, r14
call fcn.1400037d0
jmp 0x1400ea8b8
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
lea rdi, [rsp + 0x30]
mov rcx, rdi
mov r9d, 0x40
call fcn.1400d5a00
cmp byte [rsp + 0x90], 1
je 0x1400eaeb6
movabs r15, 0xfffffffc00000000
mov eax, dword [0x14023adf0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x168]
mov rax, r14
and rax, r15
cmp rax, qword [0x14022e648]
je 0x1400ea84c
mov qword [rsp + 0x50], r14
mov eax, dword [0x14023adf0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r13, [rax + 0x170]
mov r14, qword [r13]
and r15, r14
mov rax, r14
cmp r15, qword [0x14022e648]
je 0x1400eaea5
lea rcx, [rsp + 0x50]
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r13
mov qword [r13], rcx
mov qword [rcx + 0x18], rax
test r14, r14
jne 0x1400ea97f
xor eax, eax
mov byte [rsp + 0x70], al
xor eax, eax
mov byte [rsp + 0x78], al
mov byte [rsp + 0x88], al
mov ecx, dword [0x14023adf0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp byte [rcx + 0x190], al
je 0x1400ea985
test r14, r14
jne 0x1400eabb1
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400ea958
cmp qword [rsp + 0x58], 0
jne 0x1400ea958
xor edx, edx
call fcn.1400a5d40
mov qword [rsp + 0xa0], 0xb
mov al, byte [0x14023df8b]
test al, al
jne 0x1400eaef4
mov byte [rsp + 0x90], 1
jmp 0x1400ea5a0
mov al, byte [r14 + 0x20]
jmp 0x1400ea90a
mov eax, dword [0x140244ac0]
mov ecx, dword [0x14023adf0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400eac74
cmp byte [0x140244abc], 0
jne 0x1400ea93f
jmp 0x1400eacd6
mov qword [rsp + 0xb0], 0xb
mov al, byte [0x14023df8b]
test al, al
jne 0x1400eaecd
call fcn.140133b34
mov ebp, dword [rax]
call fcn.140133b34
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsp + 0x50]
test r14, r14
je 0x1400eaa85
cmp qword [rsp + 0x58], 0
jne 0x1400eaa85
cmp byte [r14 + 0x19], 1
jne 0x1400eaa85
mov rbx, qword [r14 + 0x28]
add rbx, 0x68
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400eac38
mov qword [r14 + 0x20], 0
cmp byte [r14 + 0x3b], 0
jne 0x1400eaa75
mov rax, qword [r14 + 0x28]
cmp byte [r14 + 0x39], 1
je 0x1400eabf0
dec dword [rax + 0x130]
cmp byte [r14 + 0x19], 0
je 0x1400eaea3
cmp byte [r14 + 0x18], 0
jne 0x1400eaa75
mov rcx, qword [r14 + 0x28]
cmp byte [r14 + 0x3a], 1
je 0x1400eaf67
dec dword [rcx + 0x134]
mov word [r14 + 0x39], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.140133b34
mov dword [rax], ebp
cmp byte [rsp + 0x88], 1
jne 0x1400eaaab
mov rbx, qword [rsp + 0x80]
test rbx, rbx
jne 0x1400eab07
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400eaabd
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
movabs rsi, 0xfffffffc00000000
mov rcx, qword [rsp + 0x58]
mov rax, rcx
and rax, rsi
cmp rax, qword [0x14022e648]
je 0x1400eae99
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x50]
and rsi, rcx
cmp rsi, qword [0x14022e648]
jne 0x1400ea672
call fcn.140003910
jmp 0x1400ea672
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400eae56
lea rsi, [rsp + 0x30]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400eafb9
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0xb0], rax
mov r12, qword [rsp + 0x78]
xor ecx, ecx
cmp rax, r12
setns cl
movabs r13, 0x7fffffffffffffff
add rcx, r13
mov r14, rax
sub r14, r12
cmovo r14, rcx
cmp r14, 0xf4240
jge 0x1400eace0
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x1400eaaab
lock dec dword [rsi]
jne 0x1400eaaab
jmp 0x1400eaf98
cmp byte [r14 + 0x38], 1
jne 0x1400ea93f
mov r15, qword [r14 + 0x30]
mov qword [r14 + 0x30], 0
test r15, r15
je 0x1400ea93f
lock dec dword [r15]
jne 0x1400ea93f
mov rcx, r15
call fcn.140010e70
mov rcx, r15
call fcn.140133b2c
jmp 0x1400ea93f
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x1400eac1a
cmp qword [rax + 0x120], rdx
jae 0x1400eac28
mov word [rax + 0xb8], 0
jmp 0x1400eaa4e
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400eaa4e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400eaa2a
mov rcx, qword [r12]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
test eax, eax
jne 0x1400eac63
test esi, esi
sete dil
jmp 0x1400ea672
cmp esi, 0x102
je 0x1400eac58
mov ecx, esi
call fcn.140192b70
jmp 0x1400eac58
lea rcx, [0x140244ac0]
call fcn.140133c60
cmp dword [0x140244ac0], 0xffffffff
jne 0x1400ea9aa
mov rcx, qword [0x14023e368]
test rcx, rcx
je 0x1400eaca5
lea rdx, str.enable_background_thread_pool
call fcn.140110500
mov byte [0x140244abc], 1
lea rcx, [0x140244ac0]
call fcn.140133eb0
jmp 0x1400ea9aa
lea rdi, [rsp + 0xb0]
mov rcx, rdi
call qword [0x14021e390]
mov r14, qword [rdi]
jmp 0x1400ea608
mov r14, qword [rsp + 0x58]
jmp 0x1400ea936
mov ecx, 0x3938700
add rcx, qword [rbx + 0x1f0]
cmovo rcx, r13
cmp rcx, rax
jle 0x1400eb02e
mov rax, qword [rbx + 0x1f0]
xor edx, edx
cmp r12, rax
setns dl
add rdx, r13
mov rcx, r12
sub rcx, rax
cmovo rcx, rdx
lea rdx, [r15 + rcx]
add rdx, 2
cmp rdx, 2
jb 0x1400eb015
cvtsi2sd xmm0, rcx
movsd xmm8, qword [0x14020a7d0]
divsd xmm0, xmm8
call fcn.140169850
xor esi, esi
movsd xmm6, qword [0x14020a7d8]
ucomisd xmm0, xmm6
mov eax, 0x7fffffff
cmovb eax, esi
movsd xmm7, qword [0x14020a7e0]
ucomisd xmm7, xmm0
mov r12d, 0x7fffffff
maxsd xmm0, xmm6
cvttsd2si ebp, xmm0
cmovb ebp, eax
lea rax, [r15 + r14]
add rax, 2
cmp rax, 2
jae 0x1400ead8a
movsd xmm0, qword [0x14020a7e8]
jmp 0x1400ead97
xorps xmm0, xmm0
cvtsi2sd xmm0, r14
divsd xmm0, xmm8
call fcn.140169900
ucomisd xmm0, xmm6
cmovb r12d, esi
ucomisd xmm7, xmm0
maxsd xmm0, xmm6
cvttsd2si r14d, xmm0
cmovb r14d, r12d
mov r15, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add r14d, ebp
cmp r14d, 0x3c
mov r13d, 0x3c
cmovl r13d, r14d
lea rsi, [rbx + 8]
mov rcx, rsi
call r15
test al, al
je 0x1400eb007
cmp ebp, r13d
jge 0x1400eadfe
movsxd rax, ebp
movsxd rcx, r13d
inc qword [rbx + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x1400eadf1
mov rcx, rsi
call r12
cmp r14d, 0x3d
jl 0x1400eab92
mov rbx, qword [rbx + 0x1f8]
sub r14d, r13d
xor ebp, ebp
test rbx, rbx
jne 0x1400eadc3
jmp 0x1400eab92
lea rdi, [rsp + 0xb0]
mov rcx, rdi
call qword [0x14021e390]
mov rax, qword [rdi]
jmp 0x1400ea80c
lea rdi, [rsp + 0xb0]
mov rcx, rdi
call qword [0x14021e390]
mov rax, qword [rdi]
jmp 0x1400ea7a6
lea rsi, [rsp + 0xb0]
mov rcx, rsi
call qword [0x14021e390]
mov rax, qword [rsi]
jmp 0x1400eab61
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r14, rax
add r14, r8
jmp 0x1400ea608
call fcn.140003910
jmp 0x1400eaadf
ud2
mov rcx, r14
call fcn.1400037d0
mov rax, qword [r13]
jmp 0x1400ea8ee
lea r14, [rsp + 0x50]
mov rcx, r14
call fcn.1400d83b0
mov byte [r14 + 0x40], 0
jmp 0x1400ea885
movzx ecx, al
lea r8, [rsp + 0x30]
mov qword [r8], 0
lea rdx, [rsp + 0xb0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400ea9d2
movzx ecx, al
lea r9, [rsp + 0xb0]
mov qword [r9], rdi
lea rax, str.ScopedBlockingCallWithBaseSyncPrimitives
lea r8, [rsp + 0xa8]
mov qword [r8], rax
lea rdx, [rsp + 0xa0]
call fcn.140189b80
jmp 0x1400ea972
movzx ecx, al
xor r12, qword [0x14023c540]
lea rax, [rsp + 0x30]
mov qword [rax], r12
lea rdx, str.WaitableEvent::Wait_Complete
lea r8, [rsp + 0xb0]
mov qword [r8], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xa8]
mov r9d, 3
call fcn.140017800
jmp 0x1400ea664
call fcn.14019f050
jmp 0x1400eaa75
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ea80c
mov rcx, rsi
call fcn.140010e70
mov rcx, rsi
call fcn.140133b2c
jmp 0x1400eaaab
mov ecx, eax
call fcn.140192b70
jmp 0x1400ea75d
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400eab59
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ea7a6
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400eade6
xor ecx, ecx
cmp rax, r12
setg cl
lea rax, [0x14020a7c0]
movsd xmm0, qword [rax + rcx*8]
jmp 0x1400ead2c
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov rdx, rax
call fcn.140063d60
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400eacf9
lock dec dword [rsi]
jne 0x1400eacf9
mov rcx, rsi
call fcn.140010e70
mov rcx, rsi
call fcn.140133b2c
jmp 0x1400eacf9