PiIommuBlockDevice

INT64 __fastcall PiIommuBlockDevice(INT64 a1){
  INT64 result; 
  if( (*(_BYTE *)(a1 + 16) & 2) == 0 )
    return 0i64;
  result = ((__int64(__fastcall *)(_QWORD))off_140C009C0[0])(*(_QWORD *)(a1 + 8));
  if( (int)result >= 0 )
  {
    if( *(_QWORD *)(a1 + 32) )
      result = off_140C009C0[0]();
    if( (int)result >= 0 )
      *(_BYTE *)(a1 + 16) &= ~2u;
  }
  *(_QWORD *)(a1 + 8) = 0i64;
  *(_QWORD *)(a1 + 32) = 0i64;
  return result;
}

Referenced by:

PiDmaGuardProcessPostRemove