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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rax, qword [0x140231040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0xc0]
cmp qword [rcx + 0xb8], rax
je 0x1400a4390
mov rsi, rdx
mov rdi, rcx
mov eax, dword [rax - 0x40]
test eax, eax
je 0x1400a43aa
cmp eax, 2
je 0x1400a48b8
cmp qword [rdi + 0x78], 0
je 0x1400a4369
mov rcx, qword [rdi + 0x60]
test rcx, rcx
je 0x1400a4369
mov rax, qword [rdi + 0xa0]
test rax, rax
je 0x1400a48ac
mov rdx, qword [rax + 0xc0]
sub rdx, qword [rax + 0xb8]
cmp rdx, 0x68
jne 0x1400a4369
lea r14, [rdi + 0x60]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x38], rax
cmp byte [rsi + 8], 0
je 0x1400a4407
mov rax, qword [rsi]
xor edx, edx
cmp rax, rcx
setns dl
movabs r15, 0x7fffffffffffffff
add rdx, r15
mov qword [rsp + 0x38], rax
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x1c9c37f
jg 0x1400a4348
movabs r8, 0x8000000000000001
lea rcx, [rax + r8]
mov rdx, qword [rdi + 0x28]
cmp rcx, 1
jbe 0x1400a48f1
lea rcx, [rdx + rax]
sar rcx, 0x3f
movabs r8, 0x8000000000000000
xor r8, rcx
add rdx, rax
cmovo rdx, r8
mov qword [rdi + 0x28], rdx
cmp rdx, 0x186a0
jge 0x1400a4806
cmp qword [rdi + 0xa0], 0
je 0x1400a48af
movzx eax, byte [0x14024362a]
test al, al
setne bl
jne 0x1400a492e
mov byte [rdi + 0x98], bl
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x60], rax
mov r14, qword [rdi + 0xc0]
cmp qword [rdi + 0xb8], r14
je 0x1400a4899
cmp dword [r14 - 0x40], 0
mov dword [r14 - 0x40], 2
je 0x1400a4486
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14012d2c0
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
cmp qword [rdi + 0x78], 0
je 0x1400a4369
mov rax, qword [rdi + 0xa0]
test rax, rax
je 0x1400a49b8
mov rcx, qword [rax + 0xc0]
sub rcx, qword [rax + 0xb8]
cmp rcx, 0x68
jne 0x1400a4369
cmp byte [rsi + 8], 0
je 0x1400a45c0
mov rax, qword [rsi]
mov qword [rdi + 0x58], rax
mov qword [rdi + 0x60], rax
mov qword [rsp + 0x40], 0xaa
movzx eax, byte [0x14024362a]
test al, al
je 0x1400a4369
jmp 0x1400a4a2a
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a4859
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x48]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400a4a03
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x48], rax
cmp byte [rsi + 8], 0
jne 0x1400a4921
test rsi, rsi
je 0x1400a490e
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov rcx, qword [r14]
jmp 0x1400a42c8
cmp qword [r14 - 0x60], 0
jne 0x1400a48b2
cmp qword [r14 - 0x58], 0
jne 0x1400a48b5
lea rdi, [r14 - 0x68]
mov rax, qword [rdi]
test rax, rax
jne 0x1400a478a
mov eax, dword [0x140247ea8]
mov ecx, dword [0x1402403d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a47d1
cmp byte [0x140247ea4], 0
je 0x1400a452e
mov rax, qword [r14 - 0x50]
mov rcx, qword [r14 - 0x48]
mov qword [r14 - 0x50], rcx
mov rdx, rax
shl rdx, 0x17
xor rdx, rax
mov rax, rcx
shr rax, 0x1a
xor rax, rcx
xor rax, rdx
shr rdx, 0x11
xor rdx, rax
mov qword [r14 - 0x48], rdx
add rdx, rcx
shr rdx, 0xb
cvtsi2sd xmm0, rdx
mulsd xmm0, qword [0x140205c20]
movsd xmm1, qword [0x140205c28]
ucomisd xmm1, xmm0
ja 0x1400a46e9
mov qword [rsp + 0x38], 0xa
movzx eax, byte [0x14024358a]
test al, al
jne 0x1400a49bb
mov rsi, qword [r14 - 0x18]
inc rsi
mov qword [r14 - 0x18], rsi
mov eax, dword [0x14024a440]
mov ecx, dword [0x1402403d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a463b
cmp dword [r14 - 0x20], 0
je 0x1400a45bb
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
movabs r9, 0x100000000
or r9, rax
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x50], 0
mov rdx, qword [r14 - 0x28]
mov qword [rsp + 0x20], rsi
lea rcx, [0x140249ab8]
lea r8, [rsp + 0x48]
call fcn.1400016d0
jmp 0x1400a4390
xor r9d, r9d
jmp 0x1400a4592
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a4869
lea rbx, [rsp + 0x48]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400a4a7d
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x48], rax
cmp byte [rsi + 8], 0
jne 0x1400a4a70
test rsi, rsi
je 0x1400a490e
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
mov byte [rsi + 8], 1
jmp 0x1400a43e2
lea rcx, [0x14024a440]
call fcn.14012ad90
cmp dword [0x14024a440], 0xffffffff
jne 0x1400a4576
lea rcx, [0x140249ab8]
call fcn.140001b80
lea rcx, [0x14024a440]
call fcn.14012ad24
jmp 0x1400a4576
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a4879
lea rdi, [rsp + 0x48]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400a4b12
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x48], rax
cmp byte [rsi + 8], 0
jne 0x1400a4aa4
test rsi, rsi
je 0x1400a490e
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
mov byte [rsi + 8], 1
jmp 0x1400a46f2
cmp byte [rsi + 8], 0
je 0x1400a4671
mov rax, qword [rsi]
mov qword [r14 - 0x60], rax
lea rdi, [rsp + 0x48]
mov rcx, rdi
call fcn.140009270
mov rax, qword [rdi]
mov qword [r14 - 0x58], rax
jmp 0x1400a452e
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a4889
lea rbx, [rsp + 0x48]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400a4b39
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x48], rax
cmp byte [rsi + 8], 0
jne 0x1400a4ab1
test rsi, rsi
je 0x1400a490e
mov r8, qword [rsp + 0x48]
mov qword [rsi], r8
mov byte [rsi + 8], 1
mov rax, qword [rdi]
jmp 0x1400a4797
cmp byte [rsi + 8], 0
je 0x1400a470f
mov r8, qword [rsi]
xor ecx, ecx
cmp r8, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub r8, rax
cmovo r8, rdx
lea rdx, str.Scheduling.ThreadController.IdleDuration
mov rcx, rdi
mov r9, r8
call fcn.140002e20
mov qword [rdi], 0
jmp 0x1400a44ac
lea rcx, [0x140247ea8]
call fcn.14012ad90
cmp dword [0x140247ea8], 0xffffffff
jne 0x1400a44d1
call fcn.14000ff90
mov byte [0x140247ea4], al
lea rcx, [0x140247ea8]
call fcn.14012ad24
jmp 0x1400a44d1
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x140219010]
cvttsd2si ebx, xmm0
mov rcx, qword [rdi + 0x78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 2
mov r8d, ebx
call qword [0x1402233e0]
movsxd rax, ebx
imul rax, rax, 0x3e8
mov rcx, qword [rdi + 0x28]
xor edx, edx
cmp rcx, rax
setns dl
add rdx, r15
sub rcx, rax
cmovo rcx, rdx
mov qword [rdi + 0x28], rcx
jmp 0x1400a433a
lea rcx, [rsp + 0x48]
call qword [0x1402233e0]
jmp 0x1400a445f
lea rcx, [rsp + 0x48]
call qword [0x1402233e0]
jmp 0x1400a4617
lea rcx, [rsp + 0x48]
call qword [0x1402233e0]
jmp 0x1400a46c8
lea rcx, [rsp + 0x48]
call qword [0x1402233e0]
jmp 0x1400a4766
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_vector:622:_assertion__empty___failed:_back___called_on_an_empty_vector_n
call fcn.140164a90
int3
int3
int3
int3
lea rcx, [rdi + 0xb8]
lea rax, [rdi + 0xb0]
lea r8, [rsp + 0x40]
mov byte [r8], 1
lea rdx, [rsp + 0x48]
mov dword [rdx], 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9, rdi
call fcn.14019d8a0
jmp 0x1400a4390
lea rcx, [r8 - 1]
cmp rdx, rax
je 0x1400a4850
add rdx, r8
cmp rdx, 1
ja 0x1400a4850
int3
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.140164a90
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
jmp 0x1400a447e
cmp byte [rdi + 0x98], 0
jne 0x1400a494e
mov qword [rsp + 0x30], 0xaa
mov al, byte [0x14024362a]
test al, al
jne 0x1400a4b60
mov qword [rsp + 0x40], 0xaa
mov al, byte [0x14024362a]
test al, al
jne 0x1400a4abe
mov qword [rsp + 0x40], 0xaa
mov al, byte [0x14024362a]
test al, al
je 0x1400a435a
cmp byte [rdi + 0x90], 0
je 0x1400a4aff
movzx ecx, al
lea r9, [rdi + 0x80]
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
call fcn.14019df20
jmp 0x1400a435a
int3
mov r15, qword [r14 - 0x10]
test r15, r15
je 0x1400a4bc8
movzx edi, al
lea rbx, [rsp + 0x48]
mov rcx, rsi
mov rdx, rbx
call fcn.1400a75f0
lea rax, str.ThreadController_active
lea r8, [rsp + 0x40]
mov qword [r8], rax
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x38]
mov ecx, edi
mov r9, rbx
call fcn.14019dbf0
jmp 0x1400a4546
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a445a
cmp byte [rdi + 0x90], 0
je 0x1400a4aff
lea rdx, [rdi + 0x58]
movzx ecx, al
lea rax, [rdi + 0x80]
lea r8, [rsp + 0x48]
mov qword [r8], 0
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
mov r9d, 2
call fcn.14005db10
jmp 0x1400a4369
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
jmp 0x1400a43e2
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a4612
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
jmp 0x1400a46f2
mov r8, qword [rsp + 0x48]
mov qword [rsi], r8
jmp 0x1400a4785
cmp byte [rdi + 0x90], 0
je 0x1400a4aff
movzx ecx, al
lea rax, [rdi + 0x80]
lea rdx, str.PumpOverhead
lea r8, [rsp + 0x48]
mov qword [r8], rdx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
mov r9d, 1
call fcn.140033b30
jmp 0x1400a4965
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcincludeoptional:806:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.140164a90
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a46c3
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a4761
mov rcx, 0xfffffffffff0bdc0
add rcx, qword [rdi + 0x60]
movabs rdx, 0x8000000000000000
cmovno rdx, rcx
mov qword [rsp + 0x48], rdx
cmp byte [rdi + 0x90], 0
je 0x1400a4aff
movzx ecx, al
lea rax, [rdi + 0x80]
lea rdx, str.MessagePumpPhases
lea r8, [rsp + 0x40]
mov qword [r8], rdx
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
mov r9d, 3
call fcn.140033b30
jmp 0x1400a494e
int3