PopPublishAndPurgePowerRequestStats

NTSTATUS __stdcall PopPublishAndPurgePowerRequestStats(PVOID Buffer){
  __int64 v1; 
  __int64 v3; 
  __int64 v4; 
  unsigned int v5; 
  _QWORD *v6; 
  INT64 v7; 
  __int64 v8; 
  __int64 v9; 
  const WCHAR *v10; 
  NTSTATUS result; 
  bool v12; 
  char v13; 
  unsigned __int64 v14; 
  int v15; 
  _BOOL4 v16; 
  UINT64 Seed; 
  unsigned __int64 v18; 
  __int64 v19; 
  __int128 v20; 
  __int128 v21; 
  __int128 v22; 
  _EVENT_DATA_DESCRIPTOR v23; 
  __int128 *v24; 
  __int64 v25; 
  int *v26; 
  __int64 v27; 
  __int64 v28; 
  int v29; 
  int v30; 
  __int128 *v31; 
  __int64 v32; 
  unsigned __int64 *v33; 
  __int64 v34; 
  __int64 *v35; 
  __int64 v36; 
  _EVENT_DATA_DESCRIPTOR v37; 
  const char *v38; 
  int v39; 
  int v40; 
  char v41[16]; 
  unsigned __int64 *v42; 
  __int64 v43; 
  _BOOL4 *v44; 
  __int64 v45; 
  __int64 *v46; 
  __int64 v47; 
  __int64 v48; 

  v48 = v1;
  v14 = 0i64;
  v3 = *((_QWORD *)Buffer + 2);
  v4 = -1i64;
  v21 = 0i64;
  do
    ++v4;
  while( *(_WORD *)(v3 + 2 * v4) );
  v13 = v1;
  v23.Ptr = (unsigned __int64)&v13;
  v15 = v4;
  v28 = v3;
  v26 = &v15;
  *(_QWORD *)&v23.Size = 1i64;
  v27 = 4i64;
  v29 = 2 * v4;
  v30 = 0;
  v5 = 0;
  v20 = (unsigned int)RtlRandomEx(&Seed);
  v22 = v20;
  v31 = &v22;
  v32 = 16i64;
  do
  {
    LODWORD(v6) = PopGetStopWatchByRequestType((INT64)Buffer, v5);
    v7 = (INT64)v6;
    if( v6 )
    {
      v12 = 0;
      v14 = 0i64;
      PoQueryStopWatch(v6, (__int64 *)&v14, &v12);
      PoResetStopWatch(v7);
      if( *(&stru_140C00F40 + 1194) > 5u )
      {
        v9 = -1i64;
        do
          ++v9;
        while( aSleepstudyBloc[v9] );
        v10 = (const WCHAR *)*((_QWORD *)Buffer + 2);
        v38 = "SleepStudy Blocker Event";
        v39 = v9 + 1;
        v40 = 0;
        tlgCreate1Sz_wchar_t((__int64)v41, v10);
        v43 = 8i64;
        v45 = 4i64;
        v47 = 8i64;
        v42 = &v18;
        v16 = v12;
        v44 = &v16;
        v19 = v48;
        v46 = &v19;
        v18 = v14 / 0xA / 0xF4240;
        tlgWriteTransfer_EtwWriteTransfer(
          (__int64)&stru_140C00F40 + 4776,
          (unsigned __int8 *)&word_140028DB6,
          0i64,
          0i64,
          7u,
          &v37);
      }
      if( v14 )
      {
        v25 = 16i64;
        v24 = &v21;
        v34 = 8i64;
        v33 = &v14;
        v21 = 0i64;
        LODWORD(v21) = -1428313379;
        v35 = &v48;
        BYTE4(v21) = 6;
        v36 = 8i64;
        PopDiagTraceSleepStudyBlocker(v8, &v23);
      }
    }
    ++v5;
  }
  while( v5 < 4 );
  result = _InterlockedExchangeAdd((volatile signed __int32 *)Buffer, 0);
  if( result <= 0 )
    return PopAvlDeleteStatsForPowerRequest(Buffer);
  return result;
}

Referenced by:

PopStatsNotifyPowerRequestCsState