HalpValidateInterface

INT64 __fastcall HalpValidateInterface(_SECONDARY_INTERRUPT_PROVIDER_INTERFACE *SecondaryIcInterface){
  INT64 result; 
  char v2; 
  unsigned int GsivBase; 
  v2 = 0;
  if( SecondaryIcInterface->Version == 1 )
  {
    if( SecondaryIcInterface->Reserved1 )
    {
      if( SecondaryIcInterface->Reserved2 )
      {
        if( SecondaryIcInterface->Reserved3 )
        {
          if( SecondaryIcInterface->Reserved4 )
          {
            if( SecondaryIcInterface->Reserved5 )
            {
              if( SecondaryIcInterface->DriverObject )
              {
                result = SecondaryIcInterface->GsivSize;
                if( (_WORD)result )
                {
                  GsivBase = SecondaryIcInterface->GsivBase;
                  if( GsivBase >= SecondaryGsivRangeStart
                    && GsivBase + (unsigned int)result <= SecondaryGsivRangeSize + SecondaryGsivRangeStart )
                  {
                    v2 = 1;
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  LOBYTE(result) = v2;
  return result;
}

Referenced by:

HalpRegisterSecondaryIcInterface