Function at 0x4092e0
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1450
call fcn.00419810
mov eax, dword [0x42729c]
mov dword [ebp - 4], eax
push edi
cmp dword [0x4306e0], 0
je 0x4094e5
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x102c], 0
mov ax, word [0x41e348]
mov word [ebp - 0x1010], ax
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x100e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, dword [0x41e34c]
mov dword [ebp - 0x808], ecx
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x804]
rep stosd dword es:[edi], eax
mov dx, word [0x41e350]
mov word [ebp - 0x1018], dx
xor eax, eax
mov dword [ebp - 0x1016], eax
mov word [ebp - 0x1012], ax
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x810], 0x428bf0
push 0x2e
mov ecx, dword [ebp - 0x810]
push ecx
call dword [sym.imp.MSVCR71.dll_wcschr]
add esp, 8
mov dword [ebp - 0x810], eax
cmp dword [ebp - 0x810], 0
je 0x4093c1
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x102c], edx
mov eax, dword [ebp - 0x810]
add eax, 2
mov dword [ebp - 0x810], eax
jmp 0x409383
cmp dword [ebp - 0x102c], 0
je 0x409412
mov ecx, dword [ebp - 0x102c]
mov word [ecx], 0
push 0x428bf0
lea edx, [ebp - 0x1010]
push edx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
mov eax, dword [ebp - 0x102c]
add eax, 2
mov dword [ebp - 0x102c], eax
mov ecx, dword [ebp - 0x102c]
push ecx
lea edx, [ebp - 0x808]
push edx
call dword [sym.imp.MSVCR71.dll_wcscat]
add esp, 8
jmp 0x409427
push 0x428bf0
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
lea ecx, [ebp - 0x808]
push ecx
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
cmp eax, 2
jne 0x409451
push 0x41e354
lea edx, [ebp - 0x808]
push edx
call dword [sym.imp.MSVCR71.dll_wcscat]
add esp, 8
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
movzx ecx, word [ebp + eax*2 - 0x1012]
cmp ecx, 0x5f
je 0x409483
push 0x41e35c
lea edx, [ebp - 0x1018]
push edx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
lea eax, [ebp - 0x1028]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea ecx, [ebp - 0x808]
push ecx
movzx edx, word [ebp - 0x101e]
push edx
movzx eax, word [ebp - 0x1020]
push eax
movzx ecx, word [ebp - 0x1022]
push ecx
movzx edx, word [ebp - 0x1026]
push edx
movzx eax, word [ebp - 0x1028]
push eax
lea ecx, [ebp - 0x1018]
push ecx
lea edx, [ebp - 0x1010]
push edx
push 0x41e360
push 0x428bf0
call dword [sym.imp.MSVCR71.dll_swprintf]
add esp, 0x28
jmp 0x4095ff
movzx eax, word [0x4316f0]
test eax, eax
jne 0x4094fa
mov eax, 1
jmp 0x409667
mov dword [0x4306e0], 1
mov ecx, dword [0x4306e0]
mov dword [0x4316e8], ecx
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x409559
lea edx, [ebp - 0x1240]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x409550
push 0x428bf0
push 0
push 0x41e3a0
lea eax, [ebp - 0x1240]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x409557
xor eax, eax
jmp 0x409667
jmp 0x4095b2
lea ecx, [ebp - 0x1450]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x40958e
lea edx, [ebp - 0x1348]
push edx
push 0
push 0x41e3a8
lea eax, [ebp - 0x1450]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
jne 0x409595
xor eax, eax
jmp 0x409667
push 0x104
push 0x428bf0
push 0xffffffffffffffff
lea ecx, [ebp - 0x1348]
push ecx
push 0
push 1
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x428bf0
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
mov dword [ebp - 0x1030], eax
cmp dword [ebp - 0x1030], 3
jbe 0x4095ff
mov edx, dword [ebp - 0x1030]
mov word [edx*2 + 0x428bea], 0x74
mov eax, dword [ebp - 0x1030]
mov word [eax*2 + 0x428bec], 0x78
mov ecx, dword [ebp - 0x1030]
mov word [ecx*2 + 0x428bee], 0x74
push 0x428bf0
call fcn.00409b00
add esp, 4
mov dword [0x428be4], eax
cmp dword [0x428be4], 0
jne 0x40962f
push 0x3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00407b60
add esp, 8
xor eax, eax
jmp 0x409667
push 0x1000
push 0x42e6c0
push 1
call fcn.00409ba0
add esp, 0xc
push str.8.00.2039
push str.Unicode
push 0x42e6c0
mov edx, dword [0x428be4]
push edx
call dword [sym.imp.MSVCR71.dll_fwprintf]
add esp, 0x10
mov eax, 1
mov ecx, dword [ebp - 4]
call fcn.00419641
pop edi
mov esp, ebp
pop ebp
ret