IommupHvGetDeviceCapabilities

__int64 __fastcall IommupHvGetDeviceCapabilities(__int64 a1, _QWORD *a2, _QWORD *a3){
  bool v4; 
  __int64 result; 
  unsigned int v7; 
  __int64 v8; 
  unsigned int v9; 

  v4 = *(_DWORD *)a1 == 1;
  v8 = 0i64;
  v9 = 0;
  if( !v4 )
    return 3221225659i64;
  HIWORD(v7) = *(_WORD *)(a1 + 8);
  LOWORD(v7) = *(_WORD *)(a1 + 12);
  result = ((__int64(__fastcall *)(_QWORD, __int64 *))qword_140C4A220)(v7, &v8);
  if( (int)result < 0 )
    return result;
  if( (v8 & 1) == 0 || HIDWORD(v8) < *(&CmpDummyThreadEvent + 1032) )
    return 3221225659i64;
  *a2 = v7;
  *a3 = *(&CmpDummyThreadEvent + 517) + ((unsigned __int64)v9 << 6);
  return 0i64;
}

Referenced by:

IommuMapDevice