PopUmpoProcessPowerMessage

INT64 __fastcall PopUmpoProcessPowerMessage(INT64 a1){
  INT64 result; 
  int v2; 
  switch( *(_DWORD *)a1 )
  {
    case 4:
      PopSetNewPolicyValue(a1 + 8);
      if( (int)result < 0 )
        return result;
      break;
    case 7:
      if( *(_BYTE *)(a1 + 20) && *(_DWORD *)(a1 + 12) == 18 )
        PfPowerActionNotify(5i64, 1i64, 0i64);
      break;
    case 8:
      PopProcessPowerRequestOverrideQueryResponse((INT64 *)(a1 + 8));
      break;
    case 0xA:
      if( *(_BYTE *)(a1 + 8) )
      {
        PopAcquirePowerRequestPushLock(1);
        PopPowerRequestNotificationsEnabled = 1;
        PopPowerRequestNotificationsFlush(&PopPowerRequestObjectList);
        PopPowerRequestNotificationsFlush(&PopSpecialPowerRequestObjectList);
        PopReleaseRwLock((UINT64)&PopPowerRequestLock);
      }
      PopPowerRequestOverrideInitialize();
      break;
    case 0xE:
      v2 = *(_DWORD *)(a1 + 8);
      PopAcquirePolicyLock();
      dword_140C231D0 = v2;
      if( byte_140C231F1 )
      {
        PopIdleCancelAoAcDozeS4Timer(4i64);
        PopIdleArmAoAcDozeS4Timer();
      }
      PopReleasePolicyLock();
      break;
  }
  return 0i64;
}

Referenced by:

PopUmpoProcessMessage