Where are you finding the HardwareID starting with ‘edgebus’ ? Is it on the ‘Port-1C’ key, or ‘PORT_0’ key, or somewhere else?
You also don’t need to check ‘which’ registry. There’s no 32-bit redirection under HKLM\System, they all return the same thing.
I think you probably need the end of your query to be
keys whose (value "HardwareID" of it as string as lowercase starts with "edgebus\") of keys of key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer" of it) of registry
In this structure
key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer" of it) of registry
gets us to
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer"
keys of key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer" of it) of registry
gets us to
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer\Port-1C" (and every other child of EdgeSer )
Run these in the debugger, one at a time, so you can get a feel for the values returned by each before you start trying to add filtering
Q: pathnames of keys "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer" of registry
Q: pathnames of keys of keys "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer" of registry
Q: pathnames of keys of keys of keys "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\EdgeSer" of registry