PopDirectedDripsStartDisengageTimer
INT64 __fastcall PopDirectedDripsStartDisengageTimer(INT64 a1){
UINT64 v1;
INT64 *v2;
unsigned __int8 v3;
unsigned __int64 v4;
char v5;
INT64 result;
_EXT_SET_PARAMETERS_V0 Parameters;
v2 = &qword_140C24AB0 + 20 * (int)a1;
KeAcquireSpinLockRaiseToDpc((UINT64 *)v2 + 1, v1);
*(_QWORD *)&Parameters.Version = 0i64;
v4 = v3;
Parameters.NoWakeTolerance = -1i64;
KeCancelTimer2((_KTIMER2 *)(v2 + 3), 0i64);
if( !v5 && ++*((_DWORD *)v2 + 5) == 1 )
PopDirectedDripsSetDisengageReason(*(_DWORD *)v2);
KeSetTimer2((_KTIMER2 *)(v2 + 3), -10000000i64 * *((unsigned int *)v2 + 1), 0i64, &Parameters);
++*((_DWORD *)v2 + 4);
KxReleaseSpinLock((UINT64 *)v2 + 1);
result = (unsigned int)KiIrqlFlags;
__writecr8(v4);
return result;
}Referenced by:
PoFxNotifySurprisePowerOn
PopRequestCompletion