InbvPortGetByte

UINT8 __stdcall InbvPortGetByte(UINT64 BlFileId, UINT8 *Input){
  if( (unsigned int)BlFileId < 4 && *((_QWORD *)&Ports + 5 * (unsigned int)BlFileId) )
  {
    if( *((_BYTE *)&Ports + 40 * (unsigned int)BlFileId + 33) )
    {
      *Input = *((_BYTE *)&Ports + 40 * (unsigned int)BlFileId + 32);
      *((_BYTE *)&Ports + 40 * (unsigned int)BlFileId + 33) = 0;
      return 1;
    }
    if( !(*(unsigned int(__fastcall **)(char *, UINT8 *))(*(&SbiVmbusArrivalEvent + 3) + 16i64))(
            (char *)&Ports + 40 * (unsigned int)BlFileId,
            Input) )
      return 1;
  }
  return 0;
}

Referenced by:

HdlspDispatch
HdlspGetLine