PpmIdleCaptureCsVetoAccounting

NTSTATUS __stdcall PpmIdleCaptureCsVetoAccounting(UINT8 ScenarioInstanceId, UINT64 PlatformStateIndex, INT64 Pause){
  NTSTATUS result; 
  __int64 v4; 
  unsigned __int8 v5; 
  __int64 v6; 
  unsigned int v7; 
  unsigned __int64 i; 
  __int64 v9; 
  unsigned int v10; 
  unsigned __int64 v11; 
  __int64 v12; 
  char v13; 
  int v14; 
  UINT64 v15; 
  __int128 v16; 
  _EVENT_DATA_DESCRIPTOR v17; 
  GUID *v18; 
  __int64 v19; 
  int *v20; 
  __int64 v21; 
  __int64 v22; 
  int v23; 
  int v24; 
  __int128 *v25; 
  __int64 j; 
  unsigned __int64 v27; 
  __int64 v28; 
  UINT64 *v29; 
  __int64 v30; 

  v15 = PopWnfCsEnterScenarioId;
  result = PpmPlatformStates;
  v4 = (unsigned int)PlatformStateIndex;
  v13 = 0;
  v14 = 0;
  v16 = 0i64;
  if( PpmPlatformStates && *(_DWORD *)(PpmPlatformStates + 4) )
  {
    v5 = KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 122);
    v6 = PpmPlatformStates;
    v7 = 0;
    for( i = v5; v7 < *(_DWORD *)PpmPlatformStates; ++v7 )
    {
      PpmIdleCsVetoAccountingUpdateBlock((_PPM_VETO_ACCOUNTING *)(384i64 * v7 + v6 + 80), 4u, 0);
      v6 = PpmPlatformStates;
    }
    if( (_DWORD)v4 != -1 )
    {
      v13 = v15;
      v17.Ptr = (unsigned __int64)&v13;
      v18 = &GUID_SLEEPSTUDY_BLOCKER_PARENT_PREVETO;
      v9 = v6 + 384 * v4;
      WORD2(v16) = v4;
      v25 = &v16;
      v10 = 0;
      LODWORD(v16) = -1429427508;
      *(_QWORD *)&v17.Size = 1i64;
      v19 = 16i64;
      for( j = 16i64; v10 < *(_DWORD *)(v9 + 108); ++v10 )
      {
        v11 = *(_QWORD *)(v9 + 112) + ((unsigned __int64)v10 << 6);
        if( *(_QWORD *)(v11 + 56) )
        {
          DWORD2(v16) = *(_DWORD *)(v11 + 16);
          v14 = *(unsigned __int16 *)(*(&stru_140CF2E80 + 972) + 16i64 * v10 + 8) >> 1;
          v20 = &v14;
          v21 = 4i64;
          v12 = *(unsigned __int16 *)(*(&stru_140CF2E80 + 972) + 16i64 * v10 + 8);
          v22 = *(_QWORD *)(*(&stru_140CF2E80 + 972) + 16i64 * v10 + 16);
          v29 = &v15;
          v23 = v12;
          v24 = 0;
          v27 = v11 + 56;
          v28 = 8i64;
          v30 = 8i64;
          PopDiagTraceSleepStudyBlocker(v12, &v17);
        }
      }
    }
    KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 122);
    result = KiIrqlFlags;
    __writecr8(i);
  }
  return result;
}

Referenced by:

PopCaptureSleepStudyStatistics