HalpDmaIndexToTranslationEntry

__int64 __fastcall HalpDmaIndexToTranslationEntry(__int64 a1, unsigned int a2, _QWORD *a3){
  __int64 *v3; 
  unsigned int v4; 
  v3 = *(__int64 **)(a1 + 40);
  while( 1 )
  {
    if( !v3 )
      return 0i64;
    v4 = *((_DWORD *)v3 + 2);
    if( a2 < v4 )
      break;
    v3 = (__int64 *)*v3;
    a2 -= v4;
  }
  if( a3 )
    *a3 = v3;
  return v3[2] + 72i64 * a2;
}

Referenced by:

HalpDmaAllocateScatterPagesFromContiguousPoolAtHighLevelV2
HalpDmaAllocateScatterPagesFromContiguousPoolAtHighLevelV3
HalpDmaAllocateScatterPagesFromContiguousPoolV2
HalpDmaAllocateScatterPagesFromContiguousPoolV3
HalpDmaLinkContiguousTranslations