PnprWakeProcessors

VOID __stdcall PnprWakeProcessors(){
  int MillisecondCounter; 
  UINT64 v1; 
  unsigned int v2; 
  UINT64 v3; 
  if( (*(_DWORD *)(PnprContext + 64) & 0x20) != 0 )
  {
    (*(void(__fastcall **)(_QWORD, _QWORD))(PnprContext + 20976))(*(_QWORD *)(PnprContext + 20880), 0i64);
    MillisecondCounter = PnprGetMillisecondCounter(0);
    v1 = PnprContext;
    *(_DWORD *)(PnprContext + 21020) = MillisecondCounter;
    *(_DWORD *)(v1 + 200) = 6;
  }
  KeRestoreMtrrBroadcast();
  ((void(__fastcall *)(_QWORD, _QWORD))off_140C006B0[0])(0i64, 0i64);
  KeResumeClockTimerSafe();
  ((void(__fastcall *)(__int64, _QWORD))off_140C00688[0])(2i64, *(_QWORD *)(PnprContext + 20872));
  v2 = PnprGetMillisecondCounter(0);
  v3 = PnprContext;
  *(_QWORD *)(PnprContext + 20992) = 10000 * (v2 - *(_QWORD *)(PnprContext + 20992));
  *(_DWORD *)(v3 + 200) = 7;
  _InterlockedIncrement((volatile signed __int32 *)(v3 + 188));
  if( (*(_DWORD *)(PnprContext + 64) & 0x20) != 0 )
    off_140C006E0[0]();
}

Referenced by:

PnprEndMirroring