HsaBuildInterruptRemappingEntry

INT64 __fastcall HsaBuildInterruptRemappingEntry(INT64 a1, INT64 a2, INT64 a3){
  INT64 result; 
  unsigned int v4; 
  INT64 v5; 
  result = 0i64;
  *(_QWORD *)(a3 + 16) = 0i64;
  if( *(_DWORD *)(a1 + 176) )
  {
    *(_QWORD *)(a3 + 16) = 0x2000000000000001i64;
    _BitScanForward(&v4, *(_DWORD *)(a2 + 20));
    result = (2i64 * (v4 & 0xF)) | 0x2000000000000001i64;
    *(_QWORD *)(a3 + 16) = result;
    v5 = result | *(_QWORD *)a2 & 0xFFFFFFFFFFFC0i64 | 0x400000000000000i64;
  }
  else
  {
    v5 = 0x1000000000000020i64;
  }
  *(_QWORD *)(a3 + 16) = v5;
  return result;
}

Referenced by:

HsaBuildDeviceTableEntry
HsaUpdateRemappingTableInDeviceTableEntry