PopNetInitialize
NTSTATUS __stdcall PopNetInitialize(UINT64 Phase){
UINT64 v1;
POP_NET_STANDBY_REASON v2;
int v3;
VOID **v4;
unsigned int v6;
VOID **PoolWithTag;
INT64 v8;
INT64 v9;
VOID *ExplicitScope;
INT64 ExplicitScopea;
UINT64 MatchingChangeStamp;
UINT64 CheckStamp;
INT64 CheckStampa;
char Buffer;
_SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
*(_WORD *)&IdentifierAuthority.Value[4] = 1280;
*(_DWORD *)IdentifierAuthority.Value = 0;
Buffer = 0;
if( (_DWORD)Phase )
{
if( (_DWORD)Phase == 3 )
{
if( PopNetDeferLogRequest )
PopTraceStandbyConnectivityUpdate(PopNetStandbyState, PopNetStandbyReason);
if( PopEnforceDisconnectedStandby )
{
v2 = PopNetStandbyReasonEnforced;
}
else
{
if( PopNetStandbyStateMask )
{
LABEL_10:
LODWORD(CheckStamp) = 0;
LODWORD(MatchingChangeStamp) = 0;
ZwUpdateWnfStateData(&WNF_PO_OPPORTUNISTIC_CS, &Buffer, 1ui64, 0i64, 0i64, MatchingChangeStamp, CheckStamp);
if( PopPlatformAoAc && !PopEnforceDisconnectedStandby )
ExSubscribeWnfStateChange(
(INT8 **)&IdentifierAuthority,
(INT64 *)&WNF_SEB_SYSTEM_LPE,
1i64,
0i64,
(INT64)PopNetWnfLowPowerEpochCallback,
0i64);
goto LABEL_11;
}
if( PopPlatformAoAc )
{
if( !PopNetStandbyStatePublished && PopNetStandbyState == PopNetStandbyCs )
{
LOBYTE(Phase) = 1;
PopNetPublishWnfStateUpdate(Phase, v1);
}
goto LABEL_10;
}
v2 = PopNetStandbyReasonNonCompliantNic;
}
PopNetSetConnectivityConstraint(v2);
goto LABEL_10;
}
LABEL_11:
v3 = 0;
v4 = 0i64;
goto LABEL_12;
}
v6 = RtlLengthRequiredSid(6ui64);
PoolWithTag = ExAllocatePoolWithTag(1ui64, v6, 1952796240i64);
v4 = PoolWithTag;
if( !PoolWithTag )
return -1073741801;
memset(PoolWithTag, 0i64, v6);
v3 = RtlInitializeSid(v4, &IdentifierAuthority, 6u);
if( v3 >= 0 )
{
*((_DWORD *)v4 + 2) = 80;
*((_DWORD *)v4 + 3) = 1988685059;
*((_DWORD *)v4 + 4) = 1921232356;
*((_DWORD *)v4 + 5) = 378231328;
*((_DWORD *)v4 + 6) = -1590824699;
*((_DWORD *)v4 + 7) = 890457928;
PopNetBIServiceSid = v4;
PopInitializeIRTimer(
(INT64)&PopNetEvaluationTimer,
(INT64)PopNetEvaluationTimerCallback,
v8,
(INT64)PopNetEvaluationWorkerCallback,
(INT64)ExplicitScope,
0,
CheckStamp);
PopInitializeIRTimer(
(INT64)&PopNetRefreshTimer,
(INT64)PopNetRefreshTimerCallback,
v9,
(INT64)PopNetRefreshTimerWorkerCallback,
ExplicitScopea,
5,
CheckStampa);
goto LABEL_11;
}
LABEL_12:
if( v4 )
ExFreePoolWithTag(v4, 0x74654E50u);
return v3;
}Referenced by:
PoInitSystem