Function at 0x1400175ec
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp - 0x11], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140062860]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rdx
mov qword [rbp - 0x19], rdx
lea rdx, [0x1400414a0]
call fcn.14002ed0c
mov r15d, eax
mov rdx, rbx
lea rcx, str.Start:_Idle_Task____s_n
call fcn.140003cb0
lea r13, [0x140060048]
lea r12, [0x14004e110]
mov rcx, qword [0x140060048]
cmp rcx, r13
je 0x140017678
test byte [rcx + 0x1c], 4
je 0x140017678
mov edx, 0xb
mov r9, rbx
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140008ba4
mov ecx, 0x18
call fcn.1400346e0
mov rdi, rax
mov qword [rbp - 0x39], rax
xor esi, esi
mov dword [rax + 8], esi
lea rax, vtable.CMpIdleNotifierCallback.0
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
xor r9d, r9d
xor r8d, r8d
lea r14d, [rsi + 1]
mov edx, r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x1400176c3
xor ecx, ecx
call fcn.14002d738
jmp 0x1400176c5
mov eax, esi
test eax, eax
js 0x140017a45
lock add dword [rdi + 8], r14d
mov qword [rbp - 9], rdi
mov qword [rbp - 0x49], rsi
mov qword [rbp - 0x21], rsi
mov dword [rbp - 0x39], 0x510311c6
mov dword [rbp - 0x35], 0x4c47076b
mov dword [rbp - 0x31], 0xf8116092
mov dword [rbp - 0x2d], 0x67ba0eae
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp + 7], xmm0
call qword [sym.imp.mpclient.dll_MpClientUtilExportFunctions]
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x21]
mov rax, qword [rax + 0x108]
call qword [0x14003b4b0]
mov ebx, eax
test eax, eax
js 0x140017742
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
mov r9, qword [rbp - 0x19]
mov r8, rdi
lea rdx, [rbp - 0x49]
mov rax, qword [rax + 0x18]
call qword [0x14003b4b0]
mov ebx, eax
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x140017758
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14003b4b0]
test ebx, ebx
js 0x140017a50
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x14003b4b0]
mov ebx, eax
test eax, eax
js 0x140017a92
mov rcx, qword [0x140060048]
cmp rcx, r13
je 0x14001779e
test byte [rcx + 0x1c], 4
je 0x14001779e
mov edx, 0xe
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400012d0
mov r12, qword [rbp - 0x49]
mov r14d, esi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, eax
mov ebx, 0xea60
mov dword [rbp - 0x29], ebx
call qword [sym.imp.mpclient.dll_MpClientUtilExportFunctions]
lea r8, [rbp - 0x29]
mov edx, ebx
lea rcx, str.MpCmdRun_IdleTaskWaitTimeout
mov rax, qword [rax + 0xa0]
call qword [0x14003b4b0]
mov esi, dword [rbp - 0x29]
cmp r15d, 0xffffffff
je 0x1400177fb
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, r13d
cmp r15d, eax
jbe 0x1400179d9
mov ecx, r15d
sub ecx, eax
cmp esi, ecx
cmova esi, ecx
mov edx, esi
mov rcx, qword [rdi + 0x10]
call fcn.14002d800
test al, al
je 0x14001786a
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax + 0x30]
call qword [0x14003b4b0]
mov ebx, eax
test eax, eax
js 0x140017827
test eax, eax
je 0x14001787c
jmp 0x1400177d9
mov rax, qword [0x140060048]
lea rsi, [0x140060048]
cmp rax, rsi
je 0x140017862
test byte [rax + 0x1c], 1
je 0x140017862
lfence
mov edx, 0xa
mov r9d, ebx
lea r8, [0x14004e110]
mov rcx, qword [0x140060048]
mov rcx, qword [rcx + 0x10]
call fcn.1400012f0
mov r14d, 2
jmp 0x140017885
lea rcx, str.Idle_Task___service_shutdown_n
call fcn.140003cb0
mov r14d, 1
xor ebx, ebx
lea rsi, [0x140060048]
test ebx, ebx
js 0x1400179ff
cmp r14d, 1
je 0x1400178e1
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [0x14003b4b0]
mov ebx, eax
test eax, eax
js 0x140017993
lea rcx, str.Service_stopped._Exiting_Idle_Task
call fcn.140003cb0
mov rcx, qword [0x140060048]
cmp rcx, rsi
je 0x1400178e1
test byte [rcx + 0x1c], 4
je 0x1400178e1
mov edx, 0x11
lea r8, [0x14004e110]
mov rcx, qword [rcx + 0x10]
call fcn.1400012d0
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
call qword [0x14003b4b0]
mov rbx, qword [rbp - 0x19]
mov rdx, rbx
lea rcx, str.End:_Idle_Task____s_n
call fcn.140003cb0
mov rcx, qword [0x140060048]
cmp rcx, rsi
je 0x140017930
test byte [rcx + 0x1c], 4
je 0x140017930
mov edx, 0x12
mov r9, rbx
lea r8, [0x14004e110]
mov rcx, qword [rcx + 0x10]
call fcn.140008ba4
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x140017947
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14003b4b0]
nop
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
sub eax, 1
jg 0x14001796c
lfence
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x14003b4b0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140034650
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lfence
mov rcx, qword [0x140060048]
cmp rcx, rsi
je 0x1400179c0
test byte [rcx + 0x1c], 1
je 0x1400179c0
mov edx, 0x10
mov r9d, ebx
lea r8, [0x14004e110]
mov rcx, qword [rcx + 0x10]
call fcn.1400012f0
mov edx, ebx
lea rcx, str.ERROR:_StopIdle_Failed__X_n
call fcn.140003cb0
lfence
mov ecx, ebx
call fcn.14002e5b4
int3
lfence
mov eax, 0x10624dd3
mul r15d
shr edx, 6
lea rcx, str.Idle_Task___timeout__u_n
call fcn.140003cb0
mov ebx, 0x800705b4
lea rsi, [0x140060048]
lfence
mov rcx, qword [0x140060048]
cmp rcx, rsi
je 0x140017a2c
test byte [rcx + 0x1c], 1
je 0x140017a2c
mov edx, 0xf
mov r9d, ebx
lea r8, [0x14004e110]
mov rcx, qword [rcx + 0x10]
call fcn.1400012f0
mov edx, ebx
lea rcx, str.ERROR:_WaitForCompletion_Failed__X_n
call fcn.140003cb0
lfence
mov ecx, ebx
call fcn.14002e5b4
nop
lfence
mov ecx, eax
call fcn.14002e5b4
nop
lfence
mov rcx, qword [0x140060048]
cmp rcx, r13
je 0x140017a79
test byte [rcx + 0x1c], r14b
je 0x140017a79
mov edx, 0xc
mov r9d, ebx
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400012f0
mov edx, ebx
lea rcx, str.ERROR:_Creating_Idle_Notifier_Context_Failed__X_n
call fcn.140003cb0
lfence
mov ecx, ebx
call fcn.14002e5b4
int3
lfence
mov rcx, qword [0x140060048]
cmp rcx, r13
je 0x140017abb
test byte [rcx + 0x1c], r14b
je 0x140017abb
mov edx, 0xd
mov r9d, ebx
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400012f0
mov edx, ebx
lea rcx, str.ERROR:_StartIdle_Failed__X_n
call fcn.140003cb0
lfence
mov ecx, ebx
call fcn.14002e5b4
int3