HalpHvMapDeviceMsiRange

NTSTATUS __stdcall HalpHvMapDeviceMsiRange(INT64 a1, INT64 a2, INT64 *a3, CHAR a4, INT64 a5, UINT64 a6){
  unsigned int v6; 
  INT64 v7; 
  NTSTATUS v8; 
  int v9; 
  INT64 v10; 
  __int16 v11; 
  INT64 v13; 
  __int128 v14; 
  __int64 v15; 
  int v16; 
  int v17; 
  int v18; 
  __int64 v19; 
  int v20; 

  v6 = 0;
  v13 = 0i64;
  v14 = 0i64;
  HalpHvBuildDeviceId(a1, a3, a4, (INT64)&v13);
  v7 = v13;
  v18 = *(_DWORD *)(a5 + 4);
  v17 = 0;
  v19 = 0i64;
  v20 = 0;
  v15 = 0i64;
  v16 = a6;
  v8 = ((__int64(__fastcall *)(INT64, __int64 *, INT64, __int128 *))qword_140C4A168)(v13, &v15, a5 + 24, &v14);
  if( v8 >= 0 && (_DWORD)a6 )
  {
    v9 = DWORD2(v14);
    v10 = a5 + 48;
    do
    {
      *(_QWORD *)(v10 - 4) = 0i64;
      *(_DWORD *)(v10 + 4) = 0;
      v11 = WORD6(v14) + v6++;
      *(_WORD *)(v10 + 4) = v11;
      *(_DWORD *)v10 = v9;
      *(_QWORD *)(v10 + 16) = v7;
      v10 += 88i64;
    }
    while( v6 < (unsigned int)a6 );
  }
  return v8;
}

Referenced by:

HalpInterruptRemap