UEFI loader does read modules to temporary location and once boot services are switched off, it will try to find final location for module. With fragmented memory map, it may happen, the new location is offered above 4GB memory line. Unfortunately, we can not use high addresses, because module address in multiboot 2 module tag structure is 32-bit value. If the above happens, try to re-use the location where module was loaded and skip the relocation at all. This does fix UEFI loader on Lenovo x3650 M5. Also tested on "normal" systems, where we do not see such issue with memory map.