http://bugs.winehq.org/show_bug.cgi?id=20331
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2009-10-12 07:11:15 --- What is considered low addresses depend on the preloader allocations. You can play with the WINEPRELOADRESERVE variable if you want to change that range.
The rest of the memory is under control of the kernel, that's required for Unix libraries to be able to allocate memory. I don't quite understand why you have to depend on the order of allocation to determine the available memory (and of course that may break on Windows too, cf. the registry key you mentioned).