What is the exact purpose of Local.dll? I was able to reconstruct the DLL with resources but no code:
https://github.com/xboi209/Local
None.
It appears to be only used for localized data that is more convenient to store as resource (instead of storing inside mpq), so the main .exe can be kept same for all localizations. One of the its resources is used to set the default locale for files read from mpqs.
None.
I'm aware that it contains resources for localization but it seems that it also contains executable code as well which is what I'm interested in.
None.
The executable code seems to be just the C runtime library initialization code that was automatically included when blizzard compiled the dll. Bw only uses the handle for loading resources and the dll doesn't even export any functions or variables. Storm.dll contains similar initialization code, maybe you can compare them to see if there are any differences between them?
-Though for proper comparision you would need to use older version of storm, local hasn't changed since 1.00 (or even beta) and it might have different compiler/runtime version
None.