HalpInterruptPowerChange

VOID __stdcall HalpInterruptPowerChange(_REGISTERED_INTERRUPT_CONTROLLER *Controller, INT64 Active){
  unsigned int Flags; 
  unsigned int v4; 
  NTSTATUS v5; 
  NTSTATUS v6; 

  Flags = Controller->Flags;
  if( (_BYTE)Active )
  {
    v4 = Flags & 0xFFFFFFFB;
    Controller->Flags = v4;
    if( (v4 & 2) == 0 )
    {
      v5 = HalpInterruptInitializeController(Controller);
      if( v5 < 0 )
        KeBugCheckEx(0x5Cu, (PVOID)0x204, (PVOID)*(&CmpDummyThreadEvent + 1789), Controller, (PVOID)v5);
      v6 = HalpInterruptRestoreController(Controller, 0i64);
      if( v6 < 0 )
        KeBugCheckEx(0x5Cu, (PVOID)0x204, (PVOID)*(&CmpDummyThreadEvent + 1789), Controller, (PVOID)v6);
    }
  }
  else
  {
    Controller->Flags = Flags & 0xFFFFFFFA | 4;
  }
}

Referenced by:

HalpInterruptPowerComponentActiveCallback
HalpInterruptPowerComponentIdleCallback
HalpInterruptPowerCriticalTransitionCallback