x86BiosWritePciAddressPort

NTSTATUS __stdcall x86BiosWritePciAddressPort(INT64 a1, UINT16 a2, INT64 a3){
  NTSTATUS result; 
  int v4; 
  int v5; 

  if( byte_140C50710 )
  {
    result = a2 + (_DWORD)a1;
    if( result > 3 )
      LODWORD(a1) = 3 - a2;
    if( (_DWORD)a1 )
    {
      v4 = a1 - 1;
      if( v4 )
      {
        v5 = v4 - 1;
        if( v5 )
        {
          if( v5 == 1 )
            dword_140C50714 = a3;
        }
        else
        {
          result = a2;
          *(_WORD *)((char *)&dword_140C50714 + a2) = a3;
          HIBYTE(dword_140C50714) = BYTE2(a3);
        }
      }
      else
      {
        result = a2;
        *(_WORD *)((char *)&dword_140C50714 + a2) = a3;
      }
    }
    else
    {
      result = a2;
      *((_BYTE *)&dword_140C50714 + a2) = a3;
    }
    dword_140C50714 &= 0xFFFFFFFC;
  }
  return result;
}

Referenced by:

x86BiosWriteIoSpace