PopInitializeHighPerfPowerRequest
INT64 __stdcall PopInitializeHighPerfPowerRequest(){
int *v0;
__int64 v1;
int v2;
int KernelPowerRequest;
UINT64 v5;
struct _UNICODE_STRING DestinationString;
__int128 v7;
PVOID P;
PpmHighPerfEndDpc.TargetInfoAsUlong = 275;
PpmHighPerfEndTimer = 8i64;
PpmHighPerfEndDpc.DeferredRoutine = (void(__fastcall *)(_KDPC *, void *, void *, void *))PpmHighPerfRequestExpiration;
v0 = PpmHighPerfDuration;
P = 0i64;
qword_140C23EB0 = (__int64)&qword_140C23EA8;
v1 = 4i64;
qword_140C23EA8 = (__int64)&qword_140C23EA8;
PpmHighPerfRequestLock = 0i64;
PpmHighPerfEndDpc.DeferredContext = 0i64;
PpmHighPerfEndDpc.DpcData = 0i64;
PpmHighPerfEndDpc.ProcessorHistory = 0i64;
qword_140C23EB8 = 0i64;
dword_140C23EDC = 0;
word_140C23ED8 = 0;
do
{
v2 = 300000;
if( (unsigned int)*v0 < 0x493E0 )
v2 = *v0;
*v0++ = v2;
--v1;
}
while( v1 );
v5 = 0x100000000i64;
DestinationString = 0i64;
v7 = 0i64;
RtlInitUnicodeString(&DestinationString, L"Power Manager", 0);
KernelPowerRequest = PoCaptureReasonContext((UINT64)&v5, 0, 0i64, 1, 0i64, (INT64 *)&P);
if( KernelPowerRequest >= 0 )
{
KernelPowerRequest = PopCreateKernelPowerRequest((VOID **)&PpmHighPerfPowerRequest, (_DIAGNOSTIC_CONTEXT *)P);
if( KernelPowerRequest < 0 )
PoDestroyReasonContext(P);
}
return(unsigned int)KernelPowerRequest;
}Referenced by:
PoInitSystem