HalpInterruptInitDiscard

NTSTATUS __stdcall HalpInterruptInitDiscard(_LOADER_PARAMETER_BLOCK *LoaderBlock){
  NTSTATUS result; 
  INT64 v3[2]; 

  qword_140C49C40 = 0i64;
  HalpDefaultPcIoSpace = (__int64)HalpAddressUsageList;
  HalpAddressUsageList = &HalpDefaultPcIoSpace;
  *(_OWORD *)v3 = 0i64;
  if( byte_140C4A318 )
  {
    HviGetHardwareFeatures((INT64)v3);
    if( (v3[0] & 0x4000) != 0 )
      *(&stru_140CF2E80 + 6616) = 1;
  }
  result = HalpInitializeInterrupts(LoaderBlock);
  if( result >= 0 )
  {
    off_140C00770[0] = (__int64(__fastcall *)())HalpMaskInterrupt;
    off_140C00778[0] = (__int64(__fastcall *)())HalpUnmaskInterrupt;
    off_140C00810[0] = (__int64(__fastcall *)())HalpInterruptRequestInterrupt;
    off_140C00818[0] = (__int64(__fastcall *)())HalpInterruptEnumerateUnmaskedInterrupts;
    off_140C00AD8 = (__int64(__fastcall *)(int, int, int, int, UINT16, _TRANSLATOR_INTERFACE *, UINT64 *))HaliGetInterruptTranslator;
    off_140C00768[0] = (__int64(__fastcall *)())HalpSecondaryInterruptQueryPrimaryInformation;
    off_140C00780[0] = (__int64(__fastcall *)())HalpIsInterruptTypeSecondary;
    off_140C00788 = (__int64(__fastcall *)())HalpAllocateGsivForSecondaryInterrupt;
    off_140C008E0[0] = (__int64(__fastcall *)())HalpInterruptVectorDataToGsiv;
    off_140C008E8[0] = (__int64(__fastcall *)())HalpInterruptGetHighestPriorityInterrupt;
    return 0;
  }
  return result;
}

Referenced by:

HalpInterruptInitSystem