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