HalpQueryPrimaryInterruptInformation

NTSTATUS __stdcall HalpQueryPrimaryInterruptInformation(INT64 *a1, INT64 a2){
  NTSTATUS v3; 
  unsigned int v4; 
  char v5; 
  _LIST_ENTRY *SecondaryIcEntry; 
  INT64 v7; 

  if( !byte_140C50754 )
    return -1073741637;
  v4 = *((_DWORD *)a1 + 14);
  HalpIsInterruptTypeSecondary(*(unsigned int *)a1, v4);
  if( !v5 )
    return -1073741811;
  SecondaryIcEntry = HalpFindSecondaryIcEntry(v4);
  v7 = (INT64)SecondaryIcEntry;
  if( !SecondaryIcEntry )
    return -1073700575;
  v3 = ((__int64(__fastcall *)(_LIST_ENTRY *, _QWORD, INT64))SecondaryIcEntry[5].Blink)(
         SecondaryIcEntry[2].Flink,
         v4,
         a2);
  if( v3 == -1073741802 )
    v3 = 0;
  HalpReleaseSecondaryIcEntryShared(v7, 1);
  return v3;
}

Referenced by:

HalpSecondaryInterruptQueryPrimaryInformation