HalpInterruptOfflineProcessor

VOID __fastcall __noreturn HalpInterruptOfflineProcessor(volatile INT32 *a1){
  ULONG_PTR v1; 
  void(__fastcall *v3)(__int64, __int128 *); 
  __int64 v4; 
  __int128 v5; 
  __int64 v6; 
  v1 = HalpInterruptController;
  v5 = 0i64;
  v6 = 0i64;
  KeGetCurrentIrql();
  __writecr8(0xFui64);
  v3 = *(void(__fastcall **)(__int64, __int128 *))(v1 + 80);
  if( v3 )
  {
    v4 = *(_QWORD *)(v1 + 16);
    LODWORD(v5) = 4;
    v3(v4, &v5);
  }
  _InterlockedDecrement((volatile signed __int32 *)HalpInterruptProcessorsStarted);
  _InterlockedIncrement(a1);
  __halt();
}

Referenced by:

HalpDpOfflineProcessorForReplace