HalpHsapInitializeReservedDomain

INT64 __fastcall HalpHsapInitializeReservedDomain(INT64 a1, INT64 a2){
  _QWORD *v2; 
  unsigned int v3; 
  _DWORD *v6; 
  INT64 v7; 
  UINT64 v8; 
  UINT8 *a6; 
  INT64 a7; 
  INT64 v12; 
  INT64 v13; 
  INT64 result[3]; 
  int v15; 
  v2 = *(_QWORD **)(a2 + 8);
  v3 = 0;
  v6 = (_DWORD *)*v2;
  if( *(_DWORD *)*v2 == 1 )
  {
    if( *((unsigned __int16 *)v6 + 4) == *(_DWORD *)(a1 + 160) )
    {
      memset((INT64)result, 0i64);
      v7 = v2[2];
      v8 = *((unsigned __int16 *)v6 + 6);
      v15 = *(_DWORD *)a2;
      result[2] = v7;
      LODWORD(a7) = 1;
      LODWORD(a6) = 0;
      result[0] = 0x200000001i64;
      HsaUpdateDeviceTableEntry((UINT64 *)a1, v8, 0i64, 1, (INT64)result, a6, a7, v12, v13, 0i64);
    }
    else
    {
      return(unsigned int)-1073741811;
    }
  }
  return v3;
}

Referenced by:

HsaProcessDeviceExceptions