HvlDmaAttachDeviceDomain

NTSTATUS __fastcall HvlDmaAttachDeviceDomain(_BYTE *a1){
  __int64 v1; 
  INT16 v3; 
  UINT16 v4; 
  UINT64 v5; 
  _QWORD a2[2]; 
  BOOL v7; 
  int v8; 
  __int64 v9; 
  a2[1] = 0i64;
  a2[0] = -1i64;
  v7 = *(_BYTE *)(v1 + 4) != 0;
  v8 = *(_DWORD *)v1;
  if( *(_DWORD *)a1 == 1 )
  {
    v9 = 0x4000000000000000i64;
    LOWORD(v9) = *((_WORD *)a1 + 6);
    WORD1(v9) = *((_WORD *)a1 + 4);
    goto LABEL_7;
  }
  if( *(_DWORD *)a1 != 4 )
    return -1073741637;
  if( *((_QWORD *)a1 + 1) > 0x3FFFFFFFFFFFFFFFui64 )
    return -1073741811;
  v9 = *((_QWORD *)a1 + 1);
LABEL_7:
  while( 1 )
  {
    LODWORD(v5) = 0;
    v3 = HvcallFastExtended(65714i64, a2, 0x20ui64, 0i64, v5);
    if( !HvlpHvStatusIsInsufficientMemory(v3) )
      break;
    if( HvlpHandleInsufficientMemory() < 0 )
      return -1073741670;
  }
  return HvlpHvToNtStatus(v4);
}

Referenced by:

No references.