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