PopInitializeHighPerfPowerRequest

NTSTATUS __stdcall PopInitializeHighPerfPowerRequest(){
  int *v0; 
  __int64 v1; 
  int v2; 
  int KernelPowerRequest; 
  _COUNTED_REASON_CONTEXT Context; 
  _DIAGNOSTIC_CONTEXT *ReturnContext; 

  *(&stru_140C23628 + 558) = 275;
  *(&stru_140C23628 + 271) = 8i64;
  *(&stru_140C23628 + 282) = PpmHighPerfRequestExpiration;
  v0 = PpmHighPerfDuration;
  ReturnContext = 0i64;
  *(&stru_140C23628 + 273) = (char *)&stru_140C23628 + 2176;
  v1 = 4i64;
  *(&stru_140C23628 + 272) = (char *)&stru_140C23628 + 2176;
  *(&stru_140C23628 + 269) = 0i64;
  *(&stru_140C23628 + 283) = 0i64;
  *(&stru_140C23628 + 286) = 0i64;
  *(&stru_140C23628 + 281) = 0i64;
  *(&stru_140C23628 + 274) = 0i64;
  *(&stru_140C23628 + 557) = 0;
  *(&stru_140C23628 + 1112) = 0;
  do
  {
    v2 = 300000;
    if( (unsigned int)*v0 < 0x493E0 )
      v2 = *v0;
    *v0++ = v2;
    --v1;
  }
  while( v1 );
  Context.Version = 0;
  Context.Flags = 1;
  memset(&Context.ResourceFileName, 0, 32);
  RtlInitUnicodeString(&Context.ResourceFileName, L"Power Manager");
  KernelPowerRequest = PoCaptureReasonContext(&Context, 0, 0i64, 1u, 0i64, &ReturnContext);
  if( KernelPowerRequest >= 0 )
  {
    KernelPowerRequest = PopCreateKernelPowerRequest((VOID **)&stru_140C23628 + 287, ReturnContext);
    if( KernelPowerRequest < 0 )
      PoDestroyReasonContext(ReturnContext);
  }
  return KernelPowerRequest;
}

Referenced by:

PoInitSystem