x86BiosReadIoSpace

UINT32 __stdcall x86BiosReadIoSpace(UINT64 a1, INT64 a2){
  unsigned __int16 v2; 
  UINT32 result; 

  if( byte_140C50710 )
  {
    if( (unsigned __int16)(a2 - 3320) <= 3u )
      return x86BiosReadPciAddressPort((unsigned int)a1, a2 - 3320);
    if( dword_140C50714 < 0 && (unsigned __int16)(a2 - 3324) <= 3u )
      return x86BiosReadPciDataPort((unsigned int)a1, a2 - 3324);
  }
  if( (unsigned __int16)(a2 - 112) <= 1u )
    return x86BiosReadCmosPort((unsigned int)a1, a2, (unsigned int)a1);
  v2 = qword_140C4A4B0 + a2;
  if( (_DWORD)a1 )
  {
    if( (_DWORD)a1 == 3 )
    {
      return __indword(v2);
    }
    else
    {
      LOWORD(result) = __inword(v2);
      return(unsigned __int16)result;
    }
  }
  else
  {
    LOBYTE(result) = __inbyte(v2);
    return(unsigned __int8)result;
  }
}

Referenced by:

XmInOp
XmInsOp