PpmPerfApplyHiddenProcessorState

CHAR __stdcall PpmPerfApplyHiddenProcessorState(INT64 a1, INT64 a2, INT64 a3, INT64 a4){
  char v4; 
  bool v6; 
  CHAR result; 
  int v8; 
  INT64 v9; 

  v4 = a3;
  v6 = *(_BYTE *)(a1 + 358) || *(_BYTE *)(a1 + 353) != 0xFD && (_BYTE)a3;
  result = *(_DWORD *)(a2 + 104) != *(_DWORD *)(a1 + 548);
  if( (_BYTE)a3 )
  {
    *(_DWORD *)(a2 + 104) = 0;
    result = 1;
  }
  if( result )
  {
    v8 = *(_DWORD *)(a2 + 72);
    v9 = a2 + 64;
    *(_DWORD *)(a2 + 112) = v8;
    LOBYTE(a4) = a3;
    LOBYTE(a3) = v6;
    *(_DWORD *)(a2 + 108) = *(_DWORD *)(v9 + 12);
    *(_OWORD *)v9 = *(_OWORD *)(a1 + 552);
    *(_OWORD *)(v9 + 16) = *(_OWORD *)(a1 + 568);
    *(_QWORD *)(v9 + 32) = *(_QWORD *)(a1 + 584);
    result = (*(__int64(__fastcall **)(_QWORD, INT64, INT64, INT64))(a1 + 296))(*(_QWORD *)(a2 + 8), v9, a3, a4);
  }
  if( *(_DWORD *)(a2 + 16) == 1 && !v4 )
    PpmEventProcessorPerfStateChange(*(_KPRCB **)a2, (_PROC_PERF_DOMAIN *)v6);
  return result;
}

Referenced by:

PpmPerfApplyProcessorStates