Function at 0x1400b6750
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, 0x88
mov rax, qword [0x14022c040]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0xb8]
mov r15, qword [rcx + 0xc0]
cmp rax, r15
je 0x1400b6949
mov rsi, rdx
mov rdi, rcx
cmp qword [rcx + 0x80], 0
je 0x1400b6931
cmp qword [rdi + 0x68], 0
je 0x1400b6931
mov rcx, qword [rdi + 0xa8]
test rcx, rcx
je 0x1400b6d24
mov rdx, qword [rcx + 0xc0]
sub rdx, qword [rcx + 0xb8]
cmp rdx, 0x80
jne 0x1400b6931
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], rax
movzx eax, byte [rsi + 8]
test al, al
jne 0x1400b6868
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400b6cf2
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x70]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400b6de9
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0x70], rax
movzx eax, byte [rsi + 8]
cmp al, 1
je 0x1400b6d52
test rsi, rsi
je 0x1400b6d02
mov rax, qword [rsp + 0x70]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x1400b6d02
lea r14, [rdi + 0x68]
mov r15, qword [rsi]
mov qword [rsp + 0x60], r15
mov rax, qword [r14]
xor edx, edx
cmp r15, rax
setns dl
movabs r12, 0x7fffffffffffffff
add rdx, r12
mov rcx, r15
sub rcx, rax
cmovo rcx, rdx
cmp rcx, 0x1c9c37f
jg 0x1400b6902
movabs rax, 0x8000000000000001
lea r8, [rcx + rax]
mov rdx, qword [rdi + 0x50]
cmp r8, 1
jbe 0x1400b6d32
lea rax, [rdx + rcx]
sar rax, 0x3f
movabs r8, 0x8000000000000000
xor r8, rax
add rdx, rcx
cmovo rdx, r8
mov qword [rdi + 0x50], rdx
cmp rdx, 0x186a0
jge 0x1400b6c9c
mov qword [rdi + 0x70], r15
cmp qword [rdi + 0xa8], 0
je 0x1400b6d27
movzx eax, byte [0x14023e02c]
test al, al
setne bl
jne 0x1400b6d5f
mov byte [rdi + 0xa0], bl
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x68], rax
mov rax, qword [rdi + 0xb8]
mov r15, qword [rdi + 0xc0]
cmp rax, r15
je 0x1400b6d02
cmp dword [r15 - 0x38], 0
mov dword [r15 - 0x38], 0
jne 0x1400b6977
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
cmp rcx, qword [0x14022c040]
je 0x1400b6963
call fcn.1401363f0
int3
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x140245628]
mov ecx, dword [0x14023adf0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400b69fb
cmp dword [r15 - 0x18], 0
je 0x1400b6d2a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
movabs r9, 0x100000000
or r9, rax
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x78], 0
mov rdx, qword [r15 - 0x20]
lea rcx, [0x140244ca0]
lea r8, [rsp + 0x70]
call fcn.140003d00
cmp qword [r15 - 0x78], 0
jne 0x1400b6a2d
mov qword [rsp + 0x60], 0xb
movzx eax, byte [0x14023df8b]
test al, al
je 0x1400b6949
jmp 0x1400b6e10
lea rcx, [0x140245628]
call fcn.140133c60
cmp dword [0x140245628], 0xffffffff
jne 0x1400b6998
lea rcx, [0x140244ca0]
call fcn.140003660
lea rcx, [0x140245628]
call fcn.140133eb0
jmp 0x1400b6998
mov al, byte [rsi + 8]
test al, al
jne 0x1400b6aad
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400b6d04
lea rdi, [rsp + 0x70]
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 0x1400b7206
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0x70], rax
mov al, byte [rsi + 8]
cmp al, 1
je 0x1400b6eee
test rsi, rsi
je 0x1400b6d02
mov rax, qword [rsp + 0x70]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x1400b6d02
lea r12, [r15 - 0x80]
mov rdi, qword [rsi]
mov r14, qword [r15 - 0x78]
lea rbx, [rsp + 0x70]
mov rcx, rbx
call fcn.140008c30
mov r13, qword [rbx]
mov rax, qword [r15 - 0x70]
xor ecx, ecx
cmp r13, rax
setns cl
movabs rbp, 0x7fffffffffffffff
add rcx, rbp
sub r13, rax
cmovo r13, rcx
xor eax, eax
cmp rdi, r14
setns al
add rax, rbp
mov qword [rsp + 0x50], rdi
mov rbx, rdi
mov qword [rsp + 0x48], r14
sub rbx, r14
movabs rdi, 0x8000000000000001
cmovo rbx, rax
cmp rbx, r13
mov r14, r13
cmovl r14, rbx
lea rdx, str.Scheduling.ThreadController.ActiveIntervalDuration
mov qword [rsp + 0x38], r12
mov rcx, r12
mov r8, rbx
mov r9, rbx
call fcn.1400048b0
lea rax, [r14 + rdi]
mov qword [rsp + 0x40], rax
cmp rax, 2
jb 0x1400b6e50
xor eax, eax
cmp rbx, r14
setns al
add rax, rbp
mov r8, rbx
sub r8, r14
cmovo r8, rax
lea rdx, str.Scheduling.ThreadController.ActiveIntervalOffCpuDuration
mov r12, qword [rsp + 0x38]
mov rcx, r12
mov r9, rbx
call fcn.1400048b0
lea rdx, str.Scheduling.ThreadController.ActiveIntervalOnCpuDuration
mov rcx, r12
mov r8, r14
mov r9, rbx
call fcn.1400048b0
mov rax, qword [rsp + 0x48]
cmp qword [rsp + 0x50], rax
je 0x1400b6e43
mov rax, r14
shr rax, 0x3f
movabs rdx, 0x8000000000000001
lea rcx, [rdx + rax]
add rcx, 0xfffffffffffffffe
imul rax, r14, 0x64
cmovo rax, rcx
lea rcx, [rax + rdx]
cmp rcx, 2
jb 0x1400b6e75
cqo
idiv rbx
mov rcx, qword [rsp + 0x38]
mov edx, eax
mov r8, rbx
call fcn.140006840
mov rax, qword [r15 - 0x30]
test rax, rax
je 0x1400b6e4d
cmp byte [rax + 0x18], 1
je 0x1400b6f08
add r15, 0xffffffffffffff88
xorpd xmm0, xmm0
movupd xmmword [r15], xmm0
mov al, byte [rsi + 8]
test al, al
jne 0x1400b6c88
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400b6d14
lea rbx, [rsp + 0x70]
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 0x1400b722d
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0x70], rax
mov al, byte [rsi + 8]
cmp al, 1
je 0x1400b6efb
test rsi, rsi
je 0x1400b6d02
mov rax, qword [rsp + 0x70]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x1400b6d02
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
jmp 0x1400b69de
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x140215390]
cvttsd2si ebx, xmm0
mov rcx, qword [rdi + 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 6
mov r8d, ebx
call qword [0x14021e390]
movsxd rax, ebx
imul rcx, rax, 0x3e8
mov rax, qword [rdi + 0x50]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r12
sub rax, rcx
cmovo rax, rdx
mov qword [rdi + 0x50], rax
jmp 0x1400b68f0
lea rcx, [rsp + 0x70]
call qword [0x14021e390]
jmp 0x1400b6845
ud2
lea rcx, [rsp + 0x70]
call qword [0x14021e390]
jmp 0x1400b6a8b
lea rcx, [rsp + 0x70]
call qword [0x14021e390]
jmp 0x1400b6c66
int3
int3
xor r9d, r9d
jmp 0x1400b69b8
lea r8, [rdx + rax]
cmp r8, 2
setae r8b
cmp rdx, rcx
sete cl
or cl, r8b
je 0x1400b725d
dec rax
jmp 0x1400b6ce9
mov rcx, qword [rsp + 0x70]
mov qword [rsi], rcx
jmp 0x1400b6868
cmp byte [rdi + 0xa0], 0
jne 0x1400b6d7f
mov qword [rsp + 0x58], 0xac
mov al, byte [0x14023e02c]
test al, al
jne 0x1400b719e
mov qword [rsp + 0x68], 0xac
mov al, byte [0x14023e02c]
test al, al
jne 0x1400b6ea9
mov qword [rsp + 0x68], 0xac
mov al, byte [0x14023e02c]
test al, al
je 0x1400b6914
cmp byte [rdi + 0x98], 0
je 0x1400b6d02
movzx ecx, al
lea r9, [rdi + 0x88]
lea r8, [rsp + 0x70]
mov qword [r8], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x68]
call fcn.14019c750
jmp 0x1400b6914
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400b6840
movzx edi, al
lea rbx, [rsp + 0x70]
mov rcx, rsi
mov rdx, rbx
call fcn.140126280
lea r8, [rsp + 0x68]
mov qword [r8], 0
lea rdx, [rsp + 0x60]
mov ecx, edi
mov r9, rbx
call fcn.14019c6e0
jmp 0x1400b6949
mov eax, 0x64
jmp 0x1400b6bd5
int3
cmp rbx, r13
jle 0x1400b7260
mov r8, r14
shr r8, 0x3f
not r8
movabs rax, 0x8000000000000001
add r8, rax
jmp 0x1400b6b65
movabs rcx, 0x8000000000000001
add rcx, rbx
cmp rcx, 1
jbe 0x1400b7263
xor rax, rbx
shr rax, 0x3f
movabs rcx, 0x8000000000000001
add rax, rcx
add rax, 0xfffffffffffffffe
jmp 0x1400b6bd5
cmp byte [rdi + 0x98], 0
je 0x1400b6d02
movzx ecx, al
lea rax, [rdi + 0x88]
lea rdx, str.IdleWork
lea r8, [rsp + 0x70]
mov qword [r8], rdx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x68]
mov r9d, 1
call fcn.14002ef10
jmp 0x1400b6d96
mov rcx, qword [rsp + 0x70]
mov qword [rsi], rcx
jmp 0x1400b6aad
mov rcx, qword [rsp + 0x70]
mov qword [rsi], rcx
jmp 0x1400b6c88
movabs rax, 0x8000000000000001
lea rcx, [rbx + rax]
mov rax, qword [r15 - 0x60]
cmp rcx, 2
jae 0x1400b6f46
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 2
setae cl
cmp rax, rbx
sete al
or al, cl
mov rax, rbx
jne 0x1400b6f5a
jmp 0x1400b7254
lea rcx, [rax + rbx]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rbx
cmovo rax, rcx
mov qword [r15 - 0x60], rax
mov rcx, qword [r15 - 0x58]
cmp qword [rsp + 0x40], 1
jbe 0x1400b6f96
xor edx, edx
cmp rbx, r14
setns dl
add rdx, rbp
sub rbx, r14
cmovo rbx, rdx
lea rdx, [rcx + r14]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, r14
cmovo rcx, rdx
mov qword [r15 - 0x58], rcx
jmp 0x1400b6fdc
movabs rdx, 0x8000000000000001
add rdx, rcx
cmp rdx, 2
setae dl
cmp rcx, r14
sete cl
or cl, dl
je 0x1400b7266
mov qword [r15 - 0x58], r14
cmp rbx, r13
jle 0x1400b7269
shr r14, 0x3f
not r14
movabs rcx, 0x8000000000000001
add r14, rcx
mov rbx, r14
movabs rcx, 0x8000000000000001
lea rdx, [rbx + rcx]
mov rcx, qword [r15 - 0x50]
cmp rdx, 2
jae 0x1400b7017
movabs rdx, 0x8000000000000001
add rdx, rcx
cmp rdx, 2
setae dl
cmp rcx, rbx
sete cl
or cl, dl
jne 0x1400b702e
jmp 0x1400b7257
lea rdx, [rcx + rbx]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rbx
cmovo rcx, rdx
mov rbx, rcx
mov qword [r15 - 0x50], rbx
mov rbx, qword [r15 - 0x68]
movabs rcx, 0x8000000000000001
add rcx, rbx
cmp rcx, 2
jae 0x1400b7066
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 1
ja 0x1400b707a
cmp rax, rbx
je 0x1400b707a
jmp 0x1400b725a
lea rcx, [rax + rbx]
sar rcx, 0x3f
btc rcx, 0x3f
add rbx, rax
cmovo rbx, rcx
cmp rbx, 0xf4241
jl 0x1400b6bfb
mov rcx, rax
shr rcx, 0x3f
movabs rdx, 0x8000000000000001
add rcx, rdx
add rcx, 0xfffffffffffffffe
imul rax, rax, 0x64
cmovo rax, rcx
lea rcx, [rax + rdx]
cmp rcx, 2
jb 0x1400b728d
cqo
idiv rbx
movsxd rcx, eax
cmp rcx, rax
jne 0x1400b7275
lea rdx, str.Scheduling.ThreadController.ActiveVsWallTimePercentage
mov rcx, qword [rsp + 0x38]
mov r8d, eax
call fcn.14019bfe0
mov rax, qword [r15 - 0x58]
mov rcx, rax
shr rcx, 0x3f
movabs rdx, 0x8000000000000001
add rcx, rdx
add rcx, 0xfffffffffffffffe
imul rax, rax, 0x64
cmovo rax, rcx
lea rcx, [rax + rdx]
cmp rcx, 2
jb 0x1400b72bd
cqo
idiv rbx
movsxd rcx, eax
cmp rcx, rax
jne 0x1400b727d
lea rdx, str.Scheduling.ThreadController.ActiveOnCpuVsWallTimePercentage
mov rcx, qword [rsp + 0x38]
mov r8d, eax
call fcn.14019bfe0
mov rax, qword [r15 - 0x50]
mov rcx, rax
shr rcx, 0x3f
movabs rdx, 0x8000000000000001
add rcx, rdx
add rcx, 0xfffffffffffffffe
imul rax, rax, 0x64
cmovo rax, rcx
lea rcx, [rax + rdx]
cmp rcx, 2
jb 0x1400b72ed
cqo
idiv rbx
lea rdi, [r15 - 0x68]
movsxd rcx, eax
cmp rcx, rax
jne 0x1400b7285
lea rdx, str.Scheduling.ThreadController.ActiveOffCpuVsWallTimePercentage
mov rcx, qword [rsp + 0x38]
mov r8d, eax
call fcn.14019bfe0
xorpd xmm0, xmm0
movupd xmmword [rdi + 0x10], xmm0
movupd xmmword [rdi], xmm0
jmp 0x1400b6bfb
mov rcx, 0xfffffffffff0bdc0
add rcx, qword [rdi + 0x68]
movabs rdx, 0x8000000000000000
cmovno rdx, rcx
mov qword [rsp + 0x70], rdx
cmp byte [rdi + 0x98], 0
je 0x1400b6d02
movzx ecx, al
lea rax, [rdi + 0x88]
lea rdx, str.MessagePumpPhases
lea r8, [rsp + 0x68]
mov qword [r8], rdx
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x58]
mov r9d, 3
call fcn.14002ef10
jmp 0x1400b6d7f
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400b6a86
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400b6c61
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
movabs rcx, 0x8000000000000001
add rcx, rbx
cmp rcx, 1
jbe 0x1400b726c
xor rax, rbx
shr rax, 0x3f
movabs rcx, 0x8000000000000001
add rax, rcx
add rax, 0xfffffffffffffffe
jmp 0x1400b70ba
movabs rcx, 0x8000000000000001
add rcx, rbx
cmp rcx, 1
jbe 0x1400b726f
xor rax, rbx
shr rax, 0x3f
movabs rcx, 0x8000000000000001
add rax, rcx
add rax, 0xfffffffffffffffe
jmp 0x1400b7111
movabs rcx, 0x8000000000000001
add rcx, rbx
cmp rcx, 1
jbe 0x1400b7272
xor rax, rbx
shr rax, 0x3f
movabs rcx, 0x8000000000000001
add rax, rcx
add rax, 0xfffffffffffffffe
jmp 0x1400b7168