HvlDmaAttachDeviceDomain

NTSTATUS __fastcall HvlDmaAttachDeviceDomain(__int64 a1, __int64 a2){
  INT16 v3; 
  INT64 v4; 
  UINT64 v5; 
  int v6; 
  __int64 v7[2]; 
  _BOOL4 v8; 
  int v9; 
  __int64 v10; 

  v7[1] = 0i64;
  v7[0] = -1i64;
  v8 = *(_BYTE *)(a2 + 4) != 0;
  v9 = *(_DWORD *)a2;
  if( *(_DWORD *)a1 == 1 )
  {
    v10 = 0x4000000000000000i64;
    LOWORD(v10) = *(_WORD *)(a1 + 12);
    WORD1(v10) = *(_WORD *)(a1 + 8);
    goto LABEL_7;
  }
  if( *(_DWORD *)a1 != 4 )
    return -1073741637;
  if( *(_QWORD *)(a1 + 8) > 0x3FFFFFFFFFFFFFFFui64 )
    return -1073741811;
  v10 = *(_QWORD *)(a1 + 8);
LABEL_7:
  while( 1 )
  {
    v3 = HvcallFastExtended(65714i64, v7, 0x20u, 0i64, 0);
    if( !HvlpHvStatusIsInsufficientMemory(v3) )
      break;
    HvlpHandleInsufficientMemory(v5, v4);
    if( v6 < 0 )
      return -1073741670;
  }
  return HvlpHvToNtStatus(v5);
}

Referenced by:

No references.