HalpPciGetMmConfigPhysicalAddress

INT64 __fastcall HalpPciGetMmConfigPhysicalAddress(INT16 a1, UINT8 a2, UINT8 a3){
  int v3; 
  UINT8 *i; 
  v3 = 0;
  if( !HalpPciMcfgTableCount )
    return 0i64;
  for( i = (UINT8 *)(HalpPciMcfgTable + 54); a1 != *((_WORD *)i - 1) || a2 < *i || a2 > i[1]; i += 16 )
  {
    if( ++v3 >= (unsigned int)HalpPciMcfgTableCount )
      return 0i64;
  }
  return *(_QWORD *)(i - 10) + (((a3 >> 5) + 8 * ((a3 & 0x1F) + 32i64 * a2)) << 12);
}

Referenced by:

HalpPciAccessMmConfigSpace