PnprQuiesce

INT64 __fastcall PnprQuiesce(){
  DEVICE_OBJECT *v0; 
  int v1; 
  UINT64 v2; 
  int v3; 
  int v4; 
  v1 = 0;
  if( (*(_DWORD *)(PnprContext + 64) & 0x20) != 0 )
  {
    PnprLockPagesForReplace((DEVICE_OBJECT *)PnprContext, v0);
    goto LABEL_9;
  }
  KeSetEvent((PRKEVENT)(PnprContext + 20760), 0);
  KeWaitForSingleObject((PVOID)(PnprContext + 20784), Executive, 0, 0, 0i64);
  v2 = PnprContext;
  v1 = *(_DWORD *)(PnprContext + 20856);
  if( v1 >= 0 )
  {
LABEL_9:
    PnprQuiesceProcessors();
    return(unsigned int)v1;
  }
  v3 = *(_DWORD *)(PnprContext + 20984);
  if( !v3 )
    v3 = 1899;
  *(_DWORD *)(PnprContext + 20984) = v3;
  v4 = *(_DWORD *)(v2 + 20988);
  if( !v4 )
    v4 = 1;
  *(_DWORD *)(v2 + 20988) = v4;
  return(unsigned int)v1;
}

Referenced by:

PnprEndMirroring