HalpInterruptLocalErrorService

CHAR __stdcall HalpInterruptLocalErrorService(){
  int v0; 
  unsigned __int64 v1; 
  __int64 v2; 
  __int64(__fastcall *v3)(__int64); 
  void(__fastcall *v4)(__int64); 
  __int64 v5; 
  v0 = 0;
  v1 = (unsigned __int8)HalpAcquireHighLevelLock(&HalpInterruptLocalUnitErrorLock);
  v2 = HalpInterruptLocalUnitErrorCount & 0x7F;
  v3 = *(__int64(__fastcall **)(__int64))(HalpInterruptController + 56);
  v4 = *(void(__fastcall **)(__int64))(HalpInterruptController + 64);
  v5 = *(_QWORD *)(HalpInterruptController + 16);
  ++HalpInterruptLocalUnitErrorCount;
  if( v3 )
    v0 = v3(v5);
  if( v4 )
    v4(v5);
  HalpInterruptLocalUnitErrorLog[v2] = v0;
  HalpInterruptLocalUnitErrorLogProcessor[v2] = *((_DWORD *)KeGetPcr() + 105);
  KxReleaseSpinLock(&HalpInterruptLocalUnitErrorLock);
  __writecr8(v1);
  return 1;
}

Referenced by:

No references.