PfpLogScenarioEvent

NTSTATUS __fastcall PfpLogScenarioEvent(int a1, char a2, char a3, unsigned __int16 a4, char a5){
  __int64 v6; 
  NTSTATUS v9; 
  NTSTATUS result; 
  __int64 v11[3]; 

  v6 = a1;
  MmPerformMemoryListCommand(MemoryCaptureAndResetAccessedBits);
  v9 = PfTSetTraceWorkerPriority(16i64);
  PfGenerateTrace((PFP_LOGGING_WORKER_CONTEXT *)&stru_140C4DB30 + 1934, 1ui64);
  v11[0] = v6;
  v11[1] = a2 & 3 | (4 * (a4 | ((unsigned __int8)(a3 & 3) << 16)));
  result = PfLogEvent(
             27,
             dword_140C5001C
           + (unsigned int)((((KUSER_SHARED_DATA.TickCountMultiplier
                             * (unsigned __int64)KUSER_SHARED_DATA.ReservedTickCountOverlay[1]) << 8)
                           + ((KUSER_SHARED_DATA.TickCountMultiplier
                             * (unsigned __int64)KUSER_SHARED_DATA.TickCount.LowPart) >> 24)) >> 10),
             v11,
             0x10u);
  if( (a5 & 1) != 0 )
    result = PfGenerateTrace((PFP_LOGGING_WORKER_CONTEXT *)&stru_140C4DB30 + 1934, 0i64);
  if( v9 <= 31 )
    return PfTSetTraceWorkerPriority((unsigned int)v9);
  return result;
}

Referenced by:

PfPowerActionNotify
PfpProcessScenarioPhase