PopNetWnfLowPowerEpochCallback

INT64 __fastcall PopNetWnfLowPowerEpochCallback(INT64 a1){
  int v1; 
  LARGE_INTEGER NextDueRefreshTime; 
  EVENT_DESCRIPTOR *v3; 
  UINT64 v4; 
  unsigned int v6; 
  int v7; 
  char v8[8]; 
  v6 = 8;
  v1 = ExQueryWnfStateData(a1, &v7, v8, &v6);
  if( v1 >= 0 )
  {
    if( v6 >= 8 )
    {
      PopAcquirePolicyLock();
      if( (v8[0] & 2) != 0 )
      {
        PopNetInLpePhase = 1;
        if( PopNetIsNetworkRefreshEnabled() )
        {
          NextDueRefreshTime = PopNetGetNextDueRefreshTime();
          _InterlockedExchange(&PopNetRefreshTimerState, 1);
          PopNetArmRefreshTimer(NextDueRefreshTime.QuadPart, 1);
        }
      }
      else if( PopNetInLpePhase )
      {
        PopNetInLpePhase = 0;
        if( _InterlockedExchange(&PopNetRefreshTimerState, 0) == 1 )
        {
          KeCancelTimer2(&PopNetRefreshTimer, 0i64);
          if( PopDiagHandleRegistered )
          {
            v4 = PopDiagHandle;
            if( EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_NET_REFRESH_TIMER_DISARMED, v3) )
              EtwWrite(v4, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_NET_REFRESH_TIMER_DISARMED, 0i64, 0i64, 0i64);
          }
        }
        if( PopNetRefreshIntervalActive )
          PopNetDisengageNetworkRefresh();
      }
      PopReleasePolicyLock();
    }
    else
    {
      return 0;
    }
  }
  return(unsigned int)v1;
}

Referenced by:

No references.