PopInitSystemSleeperThread
NTSTATUS __stdcall PopInitSystemSleeperThread(
POWER_STATE_HANDLER_TYPE PowerStateHandlerType,
POP_SLEEPER_HANDOFF *SleeperHandoff){
NTSTATUS result;
__int128 v4;
__int64 v5;
int v6;
int v7;
__int128 v8;
VOID *Handle;
DWORD1(v4) = 0;
v7 = 0;
Handle = 0i64;
SleeperHandoff[18] = PowerStateHandlerType;
KeInitializeEvent((INT64)SleeperHandoff, 1, 0);
KeInitializeEvent((INT64)(SleeperHandoff + 6), 1, 0);
KeInitializeEvent((INT64)(SleeperHandoff + 12), 1, 0);
*((_QWORD *)&v4 + 1) = 0i64;
v5 = 0i64;
LODWORD(v4) = 48;
v6 = 512;
v8 = 0i64;
result = PsCreateSystemThreadEx(
(__int64)&Handle,
0,
&v4,
0i64,
0i64,
PopTransitionToSleep,
(INT64)SleeperHandoff,
0i64,
0i64);
if( result >= 0 )
{
ZwClose((_HANDLE)Handle);
KeWaitForSingleObject((UINT64)SleeperHandoff, 0, 0, 0, 0i64);
return 0;
}
return result;
}Referenced by:
PopTransitionSystemPowerStateEx