IopFindLegacyBusDeviceNode

_DEVICE_NODE *__stdcall IopFindLegacyBusDeviceNode(_INTERFACE_TYPE InterfaceType, UINT64 BusNumber){
  _DEVICE_NODE *v2; 
  _INTERFACE_TYPE v4; 
  _QWORD **v5; 
  _QWORD *i; 

  v2 = (_DEVICE_NODE *)*(&PnpReplaceEvent + 831);
  if( InterfaceType != PNPBus && (unsigned int)InterfaceType <= ACPIBus )
  {
    v4 = Isa;
    if( InterfaceType != Eisa )
      v4 = InterfaceType;
    v5 = (_QWORD **)((char *)&PnpReplaceEvent + 16 * v4 + 5472);
    for( i = *v5; i != v5; i = (_QWORD *)*i )
    {
      if( *((_DWORD *)i - 43) == (_DWORD)BusNumber )
        return(_DEVICE_NODE *)(i - 78);
      if( *((_DWORD *)i - 43) > (unsigned int)BusNumber )
        return v2;
    }
  }
  return v2;
}

Referenced by:

IoTranslateBusAddress
IopChildToRootTranslation
IopDuplicateDetection
IopSetupArbiterAndTranslators
PnpReleaseResourcesInternal