PpmProfileAcDcUpdate

VOID __stdcall PpmProfileAcDcUpdate(){
  __int64 v0; 
  __int64 v1; 
  __int64 v2; 
  _QWORD *v3; 
  __int64 v4; 
  _PPM_POLICY_SETTINGS_MASK UpdateMask; 

  v0 = *(&stru_140C23628 + 441);
  v1 = 0i64;
  PpmAcquireLock((_PPM_LOCK *)((char *)&stru_140C23628 + 1048));
  PopAcquireRwLockExclusive((_POP_RW_LOCK *)((char *)&stru_140C23628 + 984));
  v2 = 2i64;
  v3 = (_QWORD *)(*(&stru_140C00F40 + 365) + 40i64);
  do
  {
    v4 = *v3 | v3[342];
    ++v3;
    v1 |= v4;
    --v2;
  }
  while( v2 );
  UpdateMask.Value = v1 & 0x1CFFFFD8030FC0i64;
  PpmCompareAndApplyPolicySettings(
    &UpdateMask,
    (_PPM_ENGINE_SETTINGS *)(*(&stru_140C00F40 + 365) + 2776i64 + (-(__int64)((_DWORD)v0 != 0) & 0xFFFFFFFFFFFFF550ui64)),
    (_PPM_ENGINE_SETTINGS *)(2736 * v0 + *(&stru_140C00F40 + 365) + 40i64));
}

Referenced by:

PopBatteryApplyCompositeState