HalpTimerWatchdogStart
NTSTATUS __stdcall HalpTimerWatchdogStart(){
void *v0;
void *v1;
void *v2;
_KDPC *v3;
NTSTATUS result;
__int64 v5;
INT64 a5;
v3 = (_KDPC *)HalpWatchdogTimer;
if( HalpWatchdogTimer )
{
if( dword_140C4A338 < 0 || (result = dword_140C4A338 - 1, dword_140C4A338 = result, result < 0) )
{
HalpTimerGetInternalData((_KDPC *)HalpWatchdogTimer, v0, v1, v2);
((void(__fastcall *)(__int64))v3[1].SystemArgument1)(v5);
qword_140C4A350 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
result = HalpSetTimer(v3, 3ui64, qword_140C4A330, 1, (INT64)&a5);
if( result >= 0 )
{
byte_140C4A348 = 1;
HalpTimerWatchdogWakeSetDueTime();
}
}
}
return result;
}Referenced by:
HalpTimerInitializeSystemWatchdog