HalpInitializeSecondaryInterruptServices

NTSTATUS __stdcall HalpInitializeSecondaryInterruptServices(){
  int v0; 
  int v1; 
  UINT64 GsivValue; 

  LODWORD(GsivValue) = 0;
  *(&CmpDummyThreadEvent + 993) = (char *)&CmpDummyThreadEvent + 7936;
  *(&CmpDummyThreadEvent + 992) = (char *)&CmpDummyThreadEvent + 7936;
  *(&CmpDummyThreadEvent + 994) = 0i64;
  if( !HalpCheckSecondaryInterruptSupported() )
    return -1073741637;
  *(&CmpDummyThreadEvent + 1968) = 275;
  *(&CmpDummyThreadEvent + 997) = (char *)&CmpDummyThreadEvent + 7968;
  *(&CmpDummyThreadEvent + 996) = (char *)&CmpDummyThreadEvent + 7968;
  *(&CmpDummyThreadEvent + 987) = HalpProcessSecondarySignalList;
  *(&CmpDummyThreadEvent + 988) = 0i64;
  *(&CmpDummyThreadEvent + 991) = 0i64;
  *(&CmpDummyThreadEvent + 986) = 0i64;
  *(&CmpDummyThreadEvent + 998) = 0i64;
  *(&CmpDummyThreadEvent + 7848) = 0;
  v0 = HalpQueryMaximumGsiv(&GsivValue);
  if( v0 >= 0 )
  {
    if( (int)GsivValue + 513 < (unsigned int)GsivValue )
    {
      return -1073741823;
    }
    else
    {
      *(&CmpDummyThreadEvent + 1998) = 512;
      v1 = 1024;
      *(&CmpDummyThreadEvent + 1999) = 0;
      if( (unsigned int)(GsivValue + 1) > 0x400 )
        v1 = GsivValue + 1;
      *(&CmpDummyThreadEvent + 1963) = v1;
      HalpRecordSecondaryGsivRange();
      byte_140C50754 = 1;
    }
  }
  return v0;
}

Referenced by:

HalpPostPnpInitialize