Function at 0x1400a39b0
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, 0x68
mov rdi, rcx
mov rax, qword [0x140231040]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0xb8]
mov rcx, qword [rcx + 0xc0]
cmp rax, rcx
je 0x1400a3b4a
mov rsi, rdx
mov rdx, rcx
sub rdx, rax
shr rdx, 3
imul eax, edx, 0xc4ec4ec5
cmp eax, r8d
jne 0x1400a3f87
cmp qword [rdi + 0x78], 0
je 0x1400a3b23
mov rax, qword [rdi + 0x60]
test rax, rax
je 0x1400a3b23
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x1400a3f81
mov rdx, qword [rcx + 0xc0]
sub rdx, qword [rcx + 0xb8]
cmp rdx, 0x68
jne 0x1400a3b23
movzx r15d, byte [rdi + 0x70]
test r15b, r15b
jne 0x1400a3b69
mov byte [rdi + 0x70], 1
mov ebx, 5
lea r14, [rdi + 0x60]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x40], rcx
cmp byte [rsi + 8], 0
je 0x1400a3b73
mov rcx, qword [rsi]
xor edx, edx
cmp rcx, rax
setns dl
movabs r13, 0x7fffffffffffffff
add rdx, r13
mov qword [rsp + 0x40], rcx
sub rcx, rax
cmovo rcx, rdx
cmp rcx, 0x1c9c37f
jg 0x1400a3b02
movabs r8, 0x8000000000000001
mov r12d, ebx
lea rax, [rcx + r8]
mov rdx, qword [rdi + r12*8 + 0x18]
cmp rax, 1
jbe 0x1400a3fad
lea rax, [rdx + rcx]
sar rax, 0x3f
movabs r8, 0x8000000000000000
xor r8, rax
add rdx, rcx
cmovo rdx, r8
mov qword [rdi + r12*8 + 0x18], rdx
cmp rdx, 0x186a0
jge 0x1400a3eec
cmp qword [rdi + 0xa0], 0
je 0x1400a3f84
movzx eax, byte [0x14024362a]
test al, al
setne bl
jne 0x1400a3fea
mov byte [rdi + 0x98], bl
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x60], rax
mov r14, qword [rdi + 0xc0]
cmp qword [rdi + 0xb8], r14
je 0x1400a3f6e
cmp dword [r14 - 0x40], 0
mov dword [r14 - 0x40], 1
je 0x1400a3bf2
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14012d2c0
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 3
jmp 0x1400a3a5c
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a3f3e
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 0x1400a40d1
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x50], rax
cmp byte [rsi + 8], 0
jne 0x1400a3fdd
test rsi, rsi
je 0x1400a3fca
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
mov byte [rsi + 8], 1
mov rax, qword [r14]
jmp 0x1400a3a7c
cmp qword [r14 - 0x60], 0
jne 0x1400a3fa7
cmp qword [r14 - 0x58], 0
jne 0x1400a3faa
lea rdi, [r14 - 0x68]
mov rax, qword [rdi]
test rax, rax
jne 0x1400a3e70
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 0x1400a3eb7
cmp byte [0x140247ea4], 0
je 0x1400a3c9a
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 0x1400a3dcf
mov qword [rsp + 0x40], 0xa
movzx eax, byte [0x14024358a]
test al, al
jne 0x1400a4089
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 0x1400a3d28
cmp dword [r14 - 0x20], 0
je 0x1400a3d23
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 - 0x28]
mov qword [rsp + 0x20], rsi
lea rcx, [0x140249ab8]
lea r8, [rsp + 0x50]
call fcn.1400016d0
jmp 0x1400a3b4a
xor r9d, r9d
jmp 0x1400a3cfa
lea rcx, [0x14024a440]
call fcn.14012ad90
cmp dword [0x14024a440], 0xffffffff
jne 0x1400a3cde
lea rcx, [0x140249ab8]
call fcn.140001b80
lea rcx, [0x14024a440]
call fcn.14012ad24
jmp 0x1400a3cde
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a3f4e
lea rdi, [rsp + 0x50]
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 0x1400a4150
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x50], rax
cmp byte [rsi + 8], 0
jne 0x1400a4136
test rsi, rsi
je 0x1400a3fca
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
jmp 0x1400a3dd8
cmp byte [rsi + 8], 0
je 0x1400a3d57
mov rax, qword [rsi]
mov qword [r14 - 0x60], rax
lea rdi, [rsp + 0x50]
mov rcx, rdi
call fcn.140009270
mov rax, qword [rdi]
mov qword [r14 - 0x58], rax
jmp 0x1400a3c9a
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400a3f5e
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 0x1400a4177
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x50], rax
cmp byte [rsi + 8], 0
jne 0x1400a4143
test rsi, rsi
je 0x1400a3fca
mov r8, qword [rsp + 0x50]
mov qword [rsi], r8
mov byte [rsi + 8], 1
mov rax, qword [rdi]
jmp 0x1400a3e7d
cmp byte [rsi + 8], 0
je 0x1400a3df5
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 0x1400a3c18
lea rcx, [0x140247ea8]
call fcn.14012ad90
cmp dword [0x140247ea8], 0xffffffff
jne 0x1400a3c3d
call fcn.14000ff90
mov byte [0x140247ea4], al
lea rcx, [0x140247ea8]
call fcn.14012ad24
jmp 0x1400a3c3d
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x140219010]
cvttsd2si ebp, xmm0
mov rcx, qword [rdi + 0x78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, ebx
mov r8d, ebp
call qword [0x1402233e0]
movsxd rax, ebp
imul rcx, rax, 0x3e8
mov rax, qword [rdi + r12*8 + 0x18]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r13
sub rax, rcx
cmovo rax, rdx
mov qword [rdi + r12*8 + 0x18], rax
jmp 0x1400a3af4
lea rcx, [rsp + 0x50]
call qword [0x1402233e0]
jmp 0x1400a3bcb
lea rcx, [rsp + 0x50]
call qword [0x1402233e0]
jmp 0x1400a3dae
lea rcx, [rsp + 0x50]
call qword [0x1402233e0]
jmp 0x1400a3e4c
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
lea rbx, [rdi + 0xb8]
add rcx, 0xffffffffffffff98
mov rdx, rsi
call fcn.14019d7e0
mov rcx, rbx
call fcn.14019d840
jmp 0x1400a3b23
int3
int3
lea rax, [r8 - 1]
cmp rdx, rcx
je 0x1400a3f34
add rdx, r8
cmp rdx, 1
ja 0x1400a3f34
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 rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x1400a3bea
cmp byte [rdi + 0x98], 0
jne 0x1400a400a
mov qword [rsp + 0x38], 0xaa
mov al, byte [0x14024362a]
test al, al
jne 0x1400a419e
test r15b, r15b
lea rcx, str.ApplicationTask
lea rax, str.NativeTask
cmove rax, rcx
mov qword [rsp + 0x48], 0xaa
mov cl, byte [0x14024362a]
test cl, cl
jne 0x1400a40f8
mov qword [rsp + 0x48], 0xaa
mov al, byte [0x14024362a]
test al, al
je 0x1400a3b14
cmp byte [rdi + 0x90], 0
je 0x1400a4202
movzx ecx, al
lea r9, [rdi + 0x80]
lea r8, [rsp + 0x50]
mov qword [r8], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
call fcn.14019df20
jmp 0x1400a3b14
mov r15, qword [r14 - 0x10]
test r15, r15
je 0x1400a4215
movzx edi, al
lea rbx, [rsp + 0x50]
mov rcx, rsi
mov rdx, rbx
call fcn.1400a75f0
lea rax, str.ThreadController_active
lea r8, [rsp + 0x48]
mov qword [r8], rax
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x40]
mov ecx, edi
mov r9, rbx
call fcn.14019dbf0
jmp 0x1400a3cb2
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a3bc6
cmp byte [rdi + 0x90], 0
je 0x1400a4202
movzx ecx, cl
lea rdx, [rdi + 0x80]
lea r8, [rsp + 0x50]
mov qword [r8], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x48]
mov r9d, 1
call fcn.140033b30
jmp 0x1400a4036
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
jmp 0x1400a3dd8
mov r8, qword [rsp + 0x50]
mov qword [rsi], r8
jmp 0x1400a3e6b
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a3da9
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400a3e47
mov rcx, 0xfffffffffff0bdc0
add rcx, qword [rdi + 0x60]
movabs rdx, 0x8000000000000000
cmovno rdx, rcx
mov qword [rsp + 0x50], rdx
cmp byte [rdi + 0x90], 0
je 0x1400a4202
movzx ecx, al
lea rax, [rdi + 0x80]
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.140033b30
jmp 0x1400a400a
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
int3