PopMonitorProcessLoop

VOID __stdcall PopMonitorProcessLoop(){
  GUID *v0; 
  __int64 Data; 
  UINT64 BufferLength; 
  _OBJECT_ATTRIBUTES v3; 
  int Src[20]; 
  _ALPC_PORT_ATTRIBUTES PortAttributes; 
  _PORT_MESSAGE ReceiveMessage; 
  int v7; 
  int v8; 

  memset(&v3, 0, sizeof(v3));
  memset(&PortAttributes, 0i64, sizeof(PortAttributes));
  while( 1 )
  {
    BufferLength = 48i64;
    if( ZwAlpcSendWaitReceivePort(
           (VOID *)PopAlpcMonitorServerPort,
           0i64,
           0i64,
           0i64,
           (PORT_MESSAGE *)&ReceiveMessage.u1.DataLength,
           &BufferLength,
           0i64,
           0i64) )
    {
      break;
    }
    if( LOBYTE(ReceiveMessage.u2.Type) == 3 )
    {
      LODWORD(Data) = v8;
      if( v7 )
      {
        if( v7 == 2 )
        {
          memset(Src, 0i64, 0x48u);
          Src[0] = 11;
          Src[2] = v8;
          PopUmpoSendPowerMessage(Src, 0x48u, 0);
        }
        else if( v7 == 3 )
        {
          v0 = &GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS;
          goto LABEL_18;
        }
      }
      else
      {
        v0 = &GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS;
LABEL_18:
        PopSetPowerSettingValueAcDc((_LPCGUID)v0, 4ui64, &Data);
      }
    }
    else if( LOBYTE(ReceiveMessage.u2.Type) > 4u )
    {
      if( LOBYTE(ReceiveMessage.u2.Type) <= 6u )
      {
        ZwClose(PopAlpcMonitorClientPort);
        PopAlpcMonitorClientPort = 0i64;
      }
      else if( LOBYTE(ReceiveMessage.u2.Type) == 10 )
      {
        if( PopAlpcMonitorClientPort )
        {
          ZwClose(PopAlpcMonitorClientPort);
          PopAlpcMonitorClientPort = 0i64;
        }
        memset(&PortAttributes, 0i64, sizeof(PortAttributes));
        PortAttributes.Flags = 0x100000;
        PortAttributes.MaxMessageLength = 256i64;
        v3.Length = 48;
        *(_OWORD *)&v3.RootDirectory = 0ui64;
        v3.Attributes = 512;
        *(_OWORD *)&v3.SecurityDescriptor = 0i64;
        if( ZwAlpcAcceptConnectPort(
               (VOID **)&PopAlpcMonitorClientPort,
               (VOID *)PopAlpcMonitorServerPort,
               0i64,
               &v3,
               &PortAttributes,
               0i64,
               &ReceiveMessage,
               0i64,
               1u) < 0 )
          ZwAlpcAcceptConnectPort(
            (VOID **)&PopAlpcMonitorClientPort,
            (VOID *)PopAlpcMonitorServerPort,
            0i64,
            &v3,
            &PortAttributes,
            0i64,
            &ReceiveMessage,
            0i64,
            0);
      }
    }
  }
}

Referenced by:

PopMonitorAlpcCallback
PopUmpoInitializeMonitorChannel