http://bugs.winehq.org/show_bug.cgi?id=7663
------- Additional Comments From dmitry@codeweavers.com 2007-08-03 18:22 ------- 000b:Call ntdll.RtlAllocateHeap(010a0000,00000000,00000105) ret=0082a2a9 000b:Ret ntdll.RtlAllocateHeap() retval=01163010 ret=0082a2a9 000b:Call kernel32.SetCurrentDirectoryA(01163010 "") ret=00798df0 trace:file:RtlDosPathNameToNtPathName_U (L"",0x33f5e8,(nil),(nil)) 000b:Ret kernel32.SetCurrentDirectoryA() retval=00000000 ret=00798df0
01163010 is a pointer retuned by RtlAllocateHeap(MAX_PATH+1) call just before the SetCurrentDirectoryA call, but looks like for some reason the app doesn't initialize the string.
The app calls GetCommandLineA first, perhaps it expects to find full start up path there?