x86BiosWriteIoSpace

CHAR __stdcall x86BiosWriteIoSpace(INT64 a1, INT64 a2, INT64 a3){
  unsigned __int16 v3; 
  CHAR result; 

  if( !byte_140C50710 )
    goto LABEL_5;
  if( (unsigned __int16)(a2 - 3320) <= 3u )
    return x86BiosWritePciAddressPort(a1, a2 - 3320, a3);
  if( dword_140C50714 < 0 && (unsigned __int16)(a2 - 3324) <= 3u )
    return x86BiosWritePciDataPort(a1, a2 - 3324, a3);
LABEL_5:
  if( (unsigned __int16)(a2 - 112) <= 1u )
    return x86BiosWriteCmosPort(a1, a2, a3);
  v3 = qword_140C4A4B0 + a2;
  if( (_DWORD)a1 )
  {
    result = a3;
    if( (_DWORD)a1 == 3 )
      __outdword(v3, a3);
    else
      __outword(v3, a3);
  }
  else
  {
    result = a3;
    __outbyte(v3, a3);
  }
  return result;
}

Referenced by:

XmOutOp
XmOutsOp