HalpHsaAllocateReservedDomainList

INT64 __fastcall HalpHsaAllocateReservedDomainList(INT64 a1, INT64 a2, UINT64 a3){
  int v3; 
  unsigned int v4; 
  INT64 *v5; 
  unsigned int v6; 
  int Memory; 
  __int64 v8; 
  int v9; 
  v3 = a2;
  v4 = a3;
  v5 = (INT64 *)(a1 + 216);
  v6 = 0;
  Memory = ExtEnvAllocateMemory(a1, (unsigned int)(16 * a3 + 8), (INT64 *)(a1 + 216));
  if( Memory >= 0 )
  {
    memset(*v5, 0i64);
    *(_DWORD *)*v5 = v4;
    if( v4 )
    {
      v8 = 0i64;
      do
      {
        v9 = v6 + v3;
        ++v6;
        v8 += 16i64;
        *(_DWORD *)(v8 + *v5 - 8) = v9;
      }
      while( v6 < v4 );
    }
  }
  return(unsigned int)Memory;
}

Referenced by:

HalpIommuProcessIvhdEntry