PopPowerRequestInit
INT64 __fastcall PopPowerRequestInit(){
WCHAR v0;
int v1;
struct _UNICODE_STRING DestinationString;
__int16 result;
char result_2;
int v6;
__int128 v7;
int v8;
int v9;
int v10;
void(__fastcall *v11)(__int64, void *, __int64, __int64);
VOID(__stdcall *v12)(PVOID);
qword_140C24D18 = 0i64;
PopPowerRequestLock = 0i64;
DestinationString = 0i64;
PopPowerRequestSpinLock = 0i64;
PopPowerRequestObjectCount = 0i64;
PopSpecialPowerRequestObjectCount = 0i64;
memset((INT64)&result, 0i64);
RtlInitUnicodeString(&DestinationString, L"PowerRequest", v0);
result_2 |= 0x14u;
v11 = PopClosePowerRequestObject;
result = 120;
v12 = PopDeletePowerRequestObject;
v9 = 512;
v10 = 152;
v6 = 402;
v7 = PopPowerRequestMapping;
v8 = 2031616;
v1 = ObCreateObjectType(&DestinationString, (__int64)&result, 0i64, (__int64)&PopPowerRequestObjectType);
if( v1 >= 0 )
{
PopCallbackWorkItem.Parameter = 0i64;
PopCallbackWorkItem.WorkerRoutine = (void(__fastcall *)(void *))PopPowerRequestCallbackWorker;
PopCallbackWorkItem.List.Flink = 0i64;
qword_140C24DD8 = (__int64)&PopPowerRequestObjectList;
PopPowerRequestObjectList = (INT64)&PopPowerRequestObjectList;
qword_140C24DC8 = (__int64)&PopSpecialPowerRequestObjectList;
PopSpecialPowerRequestObjectList = (INT64)&PopSpecialPowerRequestObjectList;
qword_140C24DB8 = (__int64)&PopPowerRequestCallbacks;
PopPowerRequestCallbacks = (__int64)&PopPowerRequestCallbacks;
RtlInitializeGenericTableAvl(
&PopPowerRequestTable,
PopPowerRequestCompare,
(PRTL_AVL_ALLOCATE_ROUTINE)PopPowerRequestAllocate,
PopPowerRequestFree,
0i64);
PopExecutionRequiredTimer = 8i64;
qword_140C24C50 = 0i64;
qword_140C24C70 = (__int64)&qword_140C24C68;
qword_140C24C68 = (__int64)&qword_140C24C68;
PopExecutionRequiredTimeoutDpc.DeferredRoutine = (void(__fastcall *)(_KDPC *, void *, void *, void *))PopExecutionRequiredTimeoutCallback;
PopExecutionRequiredTimeoutWorker.WorkerRoutine = (void(__fastcall *)(void *))PopExecutionRequiredTimeoutWorkerRoutine;
PopExecutionRequiredContext = 0i64;
qword_140C24C78 = 0i64;
dword_140C24C9C = 0;
word_140C24C98 = 0;
PopExecutionRequiredTimeoutDpc.TargetInfoAsUlong = 275;
PopExecutionRequiredTimeoutDpc.DeferredContext = 0i64;
PopExecutionRequiredTimeoutDpc.DpcData = 0i64;
PopExecutionRequiredTimeoutDpc.ProcessorHistory = 0i64;
PopExecutionRequiredTimeoutWorker.Parameter = 0i64;
PopExecutionRequiredTimeoutWorker.List.Flink = 0i64;
PopStatsInitPowerRequestLibrary();
}
return(unsigned int)v1;
}Referenced by:
PoInitSystem