PoFxNotifySurprisePowerOn

VOID __stdcall PoFxNotifySurprisePowerOn(DEVICE_OBJECT *Pdo){
  DEVICE_OBJECT *v1; 
  __int64 v2; 
  __int64 v3; 
  __int64 v4; 
  v1 = Pdo;
  if( Pdo )
    Pdo = *(DEVICE_OBJECT **)(*((_QWORD *)Pdo + 39) + 40i64);
  v2 = PopFxLockDevice((__int64)Pdo, 1);
  v3 = v2;
  if( v2 )
  {
    PopPepSurprisePowerOn(*(_QWORD *)(v2 + 56));
    if( _InterlockedExchangeAdd((volatile signed __int32 *)(v3 + 244), 0xFFFFFFFF) == 1 )
      KeSetEvent((PRKEVENT)(v3 + 248), 0);
    if( v1 )
      v4 = *(_QWORD *)(*((_QWORD *)v1 + 39) + 40i64);
    else
      v4 = 0i64;
    if( v4 )
    {
      if( (*(_DWORD *)(v4 + 760) & 0x30000) != 0 )
        PopDirectedDripsStartDisengageTimer(1i64);
    }
  }
}

Referenced by:

No references.