PopEsSnapTelemetry

VOID __stdcall PopEsSnapTelemetry(SYSTEM_BATTERY_STATE *BatteryState){
  DWORD RemainingCapacity; 
  unsigned __int128 v3; 
  __int64 v4; 
  RemainingCapacity = 0;
  v3 = ((unsigned __int64)KUSER_SHARED_DATA.TickCountMultiplier << 32)
     * (unsigned __int128)(KUSER_SHARED_DATA.TickCountQuad << 8);
  v4 = *((_QWORD *)&v3 + 1);
  if( BatteryState->BatteryPresent )
    RemainingCapacity = BatteryState->RemainingCapacity;
  if( PopEsLastStateChangeTimeStamp )
    PopTraceEsState(
      (UINT64)BatteryState,
      *((_QWORD *)&v3 + 1) - PopEsLastStateChangeTimeStamp,
      RemainingCapacity - PopEsLastBatteryCharge);
  PopEsAcOnline = BatteryState->AcOnLine;
  PopEsLastBatteryThreshold = *(_DWORD *)&EsUserAwaySetting;
  PopEsLastStateChangeTimeStamp = v4;
  PopEsLastBatteryCharge = RemainingCapacity;
  PopEsLastUserAwaySetting = EsBatteryThreshold;
}

Referenced by:

PopEsEnterSleepShutdown
PopEsUpdateState