PopNetInitialize
NTSTATUS __stdcall PopNetInitialize(UINT64 Phase){
EVENT_DESCRIPTOR *v1;
int v2;
NTSTATUS v3;
_DWORD *v4;
unsigned int v6;
_DWORD *PoolWithTag;
UINT64 v8;
INT64 v9;
INT64 v10;
INT64 v11;
INT64 v12;
INT64 v13;
INT64 v14;
struct _SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
*(_WORD *)&IdentifierAuthority.Value[4] = 1280;
*(_DWORD *)IdentifierAuthority.Value = 0;
if( (_DWORD)Phase )
{
if( (_DWORD)Phase == 3 )
{
if( PopNetDeferLogRequest )
PopTraceStandbyConnectivityUpdate(PopNetStandbyState, PopNetStandbyReason, v1);
if( PopEnforceDisconnectedStandby )
{
v2 = 2;
}
else
{
if( PopNetStandbyStateMask )
{
LABEL_10:
ZwUpdateWnfStateData();
if( PopPlatformAoAc && !PopEnforceDisconnectedStandby )
ExSubscribeWnfStateChange(
(struct _EX_RUNDOWN_REF **)&IdentifierAuthority,
(INT64 *)&WNF_SEB_SYSTEM_LPE,
1i64,
0i64,
(INT64)PopNetWnfLowPowerEpochCallback,
0i64);
goto LABEL_11;
}
if( PopPlatformAoAc )
{
if( !PopNetStandbyStatePublished && !PopNetStandbyState )
PopNetPublishWnfStateUpdate();
goto LABEL_10;
}
v2 = 6;
}
PopNetSetConnectivityConstraint(v2);
goto LABEL_10;
}
LABEL_11:
v3 = 0;
v4 = 0i64;
goto LABEL_12;
}
v6 = RtlLengthRequiredSid(6ui64);
PoolWithTag = ExAllocatePoolWithTag(PagedPool, v6, 0x74654E50ui64);
v4 = PoolWithTag;
if( !PoolWithTag )
return -1073741801;
memset((INT64)PoolWithTag, 0i64);
LOBYTE(v8) = 6;
v3 = RtlInitializeSid(v4, &IdentifierAuthority, v8);
if( v3 >= 0 )
{
v4[2] = 80;
v4[3] = 1988685059;
v4[4] = 1921232356;
v4[5] = 378231328;
v4[6] = -1590824699;
v4[7] = 890457928;
PopNetBIServiceSid = v4;
PopInitializeIRTimer(
(INT64)&PopNetEvaluationTimer,
(INT64)PopNetEvaluationTimerCallback,
v9,
(INT64)PopNetEvaluationWorkerCallback,
v11,
0,
v13);
PopInitializeIRTimer(
(INT64)&PopNetRefreshTimer,
(INT64)PopNetRefreshTimerCallback,
v10,
(INT64)PopNetRefreshTimerWorkerCallback,
v12,
5,
v14);
goto LABEL_11;
}
LABEL_12:
if( v4 )
ExFreePoolWithTag(v4, 0x74654E50u);
return v3;
}Referenced by:
PoInitSystem