HalpInterruptRequestSecondaryInterrupt

NTSTATUS __stdcall HalpInterruptRequestSecondaryInterrupt(UINT64 Gsiv){
  unsigned int v1; 
  _LIST_ENTRY *SecondaryIcEntry; 
  INT64 v3; 
  NTSTATUS v5; 
  int v6; 

  v1 = Gsiv;
  if( !byte_140C50754 || !((unsigned __int8(__fastcall *)(_QWORD, _QWORD))off_140C00780[0])(0i64, (unsigned int)Gsiv) )
    return -1073741811;
  SecondaryIcEntry = HalpFindSecondaryIcEntry(v1);
  v3 = (INT64)SecondaryIcEntry;
  if( !SecondaryIcEntry )
    return -1073700575;
  v6 = -1;
  if( BYTE4(SecondaryIcEntry[v1 - LODWORD(SecondaryIcEntry[1].Flink) + 10].Blink) )
    v5 = ((__int64(__fastcall *)(_LIST_ENTRY *, _QWORD, int *))SecondaryIcEntry[6].Flink)(
           SecondaryIcEntry[2].Flink,
           v1,
           &v6);
  else
    v5 = -1073741823;
  HalpReleaseSecondaryIcEntryShared(v3, 1);
  if( v5 < 0 || v6 == -1 )
    return v5;
  else
    return off_140C00810[0]();
}

Referenced by:

HalpInterruptRequestInterrupt