Function at 0x1400fdf50
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, 0xc8
mov rdi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx + 0xb8]
mov rcx, qword [rcx + 0xc0]
cmp rax, rcx
je 0x1400fe16d
mov rsi, rdx
mov rdx, rcx
sub rdx, rax
shr rdx, 7
cmp edx, r8d
jne 0x1400fe64b
cmp qword [rdi + 0x80], 0
je 0x1400fe14a
cmp qword [rdi + 0x68], 0
je 0x1400fe14a
mov rax, qword [rdi + 0xa8]
test rax, rax
je 0x1400fe632
mov rcx, qword [rax + 0xc0]
sub rcx, qword [rax + 0xb8]
cmp rcx, 0x80
jne 0x1400fe14a
movzx r14d, byte [rdi + 0x78]
test r14b, r14b
jne 0x1400fe192
mov byte [rdi + 0x78], 1
mov ebx, 5
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x40], rax
movzx eax, byte [rsi + 8]
test al, al
jne 0x1400fe092
mov rax, qword [fcn.140118b20]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1400fe572
mov qword [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x50]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400fe763
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsi + 8]
cmp al, 1
je 0x1400fe6b7
test rsi, rsi
je 0x1400fe6a4
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x1400fe638
lea r15, [rdi + 0x68]
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
mov rcx, qword [r15]
xor edx, edx
cmp rax, rcx
setns dl
movabs r13, 0x7fffffffffffffff
add rdx, r13
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x1c9c37f
jg 0x1400fe129
movabs rcx, 0x8000000000000001
mov r12d, ebx
lea r8, [rax + rcx]
mov rdx, qword [rdi + r12*8 + 0x20]
cmp r8, 1
jbe 0x1400fe681
lea rcx, [rdx + rax]
sar rcx, 0x3f
movabs r8, 0x8000000000000000
xor r8, rcx
add rdx, rax
cmovo rdx, r8
mov qword [rdi + r12*8 + 0x20], rdx
cmp rdx, 0x186a0
jge 0x1400fe51d
cmp qword [rdi + 0xa8], 0
je 0x1400fe635
movzx eax, byte [0x1402c58f9]
test al, al
setne bl
jne 0x1400fe6c4
mov byte [rdi + 0xa0], bl
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x68], rax
mov r14, qword [rdi + 0xc0]
cmp qword [rdi + 0xb8], r14
je 0x1400fe61f
cmp dword [r14 - 0x38], 0
mov dword [r14 - 0x38], 1
je 0x1400fe19c
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140191d80
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 3
jmp 0x1400fe000
cmp qword [r14 - 0x78], 0
jne 0x1400fe66b
cmp qword [r14 - 0x70], 0
jne 0x1400fe66e
lea rdi, [r14 - 0x80]
cmp qword [rdi], 0
jne 0x1400fe3be
mov eax, dword [0x1402cbbc8]
mov ecx, dword [0x1402c2670]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400fe4c2
mov rax, qword [r14 - 0x30]
test rax, rax
je 0x1400fe671
cmp byte [0x1402cbbc4], 1
jne 0x1400fe259
cmp byte [rax + 0x18], 0
jne 0x1400fe674
movsd xmm0, qword [0x140277b80]
mov rax, qword [r14 - 0x48]
mov rcx, qword [r14 - 0x40]
mov qword [r14 - 0x48], 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 - 0x40], rdx
add rdx, rcx
shr rdx, 0xb
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x140277b78]
ucomisd xmm0, xmm1
ja 0x1400fe316
mov qword [rsp + 0x38], 0xa
movzx eax, byte [0x1402c585a]
test al, al
jne 0x1400fe78a
mov rsi, qword [r14 - 0x10]
inc rsi
mov qword [r14 - 0x10], rsi
mov eax, dword [0x1402cc8b0]
mov ecx, dword [0x1402c2670]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400fe2e7
cmp dword [r14 - 0x18], 0
je 0x1400fe2e2
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
movabs r9, 0x100000000
or r9, rax
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x58], 0
mov rdx, qword [r14 - 0x20]
mov qword [rsp + 0x20], rsi
lea rcx, [0x1402cbf28]
lea r8, [rsp + 0x50]
call fcn.1400010f0
jmp 0x1400fe16d
xor r9d, r9d
jmp 0x1400fe2b9
lea rcx, [0x1402cc8b0]
call fcn.14018f730
cmp dword [0x1402cc8b0], 0xffffffff
jne 0x1400fe29d
lea rcx, [0x1402cbf28]
call fcn.1400012a0
lea rcx, [0x1402cc8b0]
call fcn.14018f6c4
jmp 0x1400fe29d
mov al, byte [rsi + 8]
test al, al
jne 0x1400fe396
mov rax, qword [fcn.140118b20]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1400fe5ff
lea rbx, [rsp + 0x50]
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 0x1400fe8a8
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x50], rax
mov al, byte [rsi + 8]
cmp al, 1
je 0x1400fe80b
test rsi, rsi
je 0x1400fe6a4
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x1400fe638
mov rax, qword [rsi]
mov qword [r14 - 0x78], rax
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.14000a4a0
mov rax, qword [rbx]
mov qword [r14 - 0x70], rax
jmp 0x1400fe259
mov al, byte [rsi + 8]
test al, al
jne 0x1400fe43e
mov rax, qword [fcn.140118b20]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1400fe60f
lea rbx, [rsp + 0x50]
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 0x1400fe8cf
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x50], rax
mov al, byte [rsi + 8]
cmp al, 1
je 0x1400fe818
test rsi, rsi
je 0x1400fe6a4
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x1400fe638
mov rbx, qword [rsi]
mov rax, qword [r14 - 0x80]
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
movabs r15, 0x8000000000000001
cmovo rbx, rdx
lea rdx, str.Scheduling.ThreadController.IdleDuration
mov rcx, rdi
mov r8, rbx
mov r9, rbx
call fcn.1400030a0
mov qword [r14 - 0x80], 0
lea rcx, [rbx + r15]
mov rax, qword [r14 - 0x68]
cmp rcx, 2
jb 0x1400fe825
lea rcx, [rax + rbx]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rbx
cmovo rax, rcx
mov rbx, rax
mov qword [r14 - 0x68], rbx
jmp 0x1400fe1c0
lea rcx, [0x1402cbbc8]
call fcn.14018f730
cmp dword [0x1402cbbc8], 0xffffffff
jne 0x1400fe1e5
mov eax, dword [0x1402c5c6c]
mov ecx, dword [0x1402c2670]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400fe582
mov al, byte [0x1402c5c68]
mov byte [0x1402cbbc4], al
lea rcx, [0x1402cbbc8]
call fcn.14018f6c4
jmp 0x1400fe1e5
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x14028e4a0]
cvttsd2si ebp, xmm0
mov rcx, qword [rdi + 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, ebx
mov r8d, ebp
call qword [0x1402a3e88]
movsxd rax, ebp
imul rax, rax, 0x3e8
mov rcx, qword [rdi + r12*8 + 0x20]
xor edx, edx
cmp rcx, rax
setns dl
add rdx, r13
sub rcx, rax
cmovo rcx, rdx
mov qword [rdi + r12*8 + 0x20], rcx
jmp 0x1400fe11b
lea rcx, [rsp + 0x50]
call qword [0x1402a3e88]
jmp 0x1400fe06f
lea rcx, [0x1402c5c6c]
call fcn.14018f730
cmp dword [0x1402c5c6c], 0xffffffff
jne 0x1400fe500
xorpd xmm0, xmm0
lea rbx, [rsp + 0x50]
movupd xmmword [rbx + 0x1f], xmm0
movapd xmmword [rbx + 0x10], xmm0
movapd xmmword [rbx], xmm0
mov rax, qword [0x14028e408]
mov qword [rbx + 0x2f], rax
mov rax, qword [0x14028e40d]
mov qword [rbx + 0x34], rax
movupd xmmword [rbx + 0x3c], xmm0
movupd xmmword [rbx + 0x4c], xmm0
movupd xmmword [rbx + 0x5c], xmm0
mov byte [rbx + 0x6c], 0
mov rcx, rbx
xor edx, edx
call fcn.140044b20
mov al, byte [rbx + 0x2d]
mov byte [0x1402c5c68], al
lea rcx, [0x1402c5c6c]
call fcn.14018f6c4
jmp 0x1400fe500
lea rcx, [rsp + 0x50]
call qword [0x1402a3e88]
jmp 0x1400fe374
lea rcx, [rsp + 0x50]
call qword [0x1402a3e88]
jmp 0x1400fe41c
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude_vector:622:_assertion__empty___failed:_back___called_on_an_empty_vector_n
call fcn.1401ceb00
int3
int3
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401ceb00
lea rbx, [rdi + 0xb8]
add rcx, 0xffffffffffffff80
mov rdx, rsi
call fcn.140209b30
mov rcx, rbx
call fcn.140209b90
jmp 0x1400fe14a
int3
int3
int3
movsd xmm0, qword [0x140264f48]
jmp 0x1400fe20d
lea r8, [rdx + rcx]
cmp r8, 2
setae r8b
cmp rdx, rax
sete al
or al, r8b
je 0x1400fe8f6
dec rcx
jmp 0x1400fe568
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401ceb00
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x1400fe092
cmp byte [rdi + 0xa0], 0
jne 0x1400fe6e4
mov qword [rsp + 0x38], 0xa9
mov al, byte [0x1402c58f9]
test al, al
jne 0x1400fe840
lea rcx, str.NativeTask
lea rax, str.ApplicationTask
test r14b, r14b
cmovne rax, rcx
mov qword [rsp + 0x48], 0xa9
mov cl, byte [0x1402c58f9]
test cl, cl
jne 0x1400fe7cd
mov qword [rsp + 0x48], 0xa9
mov al, byte [0x1402c58f9]
test al, al
je 0x1400fe13b
cmp byte [rdi + 0x98], 0
je 0x1400fe638
movzx ecx, al
lea r9, [rdi + 0x88]
lea r8, [rsp + 0x50]
mov qword [r8], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
call fcn.14020a2c0
jmp 0x1400fe13b
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400fe06a
movzx ebx, al
lea r15, [rsp + 0x50]
mov qword [r15], rdi
lea rdi, [rsp + 0x48]
mov rcx, rsi
mov rdx, rdi
call fcn.1401090f0
lea rax, str.ThreadController_active
lea r8, [rsp + 0x40]
mov qword [r8], rax
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x38]
mov ecx, ebx
mov r9, rdi
call fcn.140209f90
jmp 0x1400fe271
cmp byte [rdi + 0x98], 0
je 0x1400fe638
movzx ecx, cl
lea rdx, [rdi + 0x88]
lea r8, [rsp + 0x50]
mov qword [r8], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x48]
mov r9d, 1
call fcn.140013790
jmp 0x1400fe710
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x1400fe396
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x1400fe43e
add r15, rax
cmp r15, 2
setae cl
cmp rax, rbx
sete al
or al, cl
jne 0x1400fe4b9
int3
mov rcx, 0xfffffffffff0bdc0
add rcx, qword [rdi + 0x68]
movabs rdx, 0x8000000000000000
cmovno rdx, rcx
mov qword [rsp + 0x50], rdx
cmp byte [rdi + 0x98], 0
je 0x1400fe638
movzx ecx, al
lea rax, [rdi + 0x88]
lea rdx, str.MessagePumpPhases
lea r8, [rsp + 0x48]
mov qword [r8], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x38]
mov r9d, 3
call fcn.140013790
jmp 0x1400fe6e4
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400fe36f
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400fe417
int3