Function at 0x41b270
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c0
mov eax, dword [0x4713e0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov ecx, 9
mov esi, str.does_not_exist
lea edi, [ebp - 0x54]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 0xa
mov esi, str.This_File_certainly_does_not_exist_4711
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x14]
movsx ecx, byte [eax]
test ecx, ecx
je 0x41b2ba
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x964], edx
jmp 0x41b2c4
mov dword [ebp - 0x964], str.the_target_directory
mov eax, dword [ebp - 0x964]
push eax
push 0x468e78
lea ecx, [ebp - 0x958]
push ecx
call fcn.00439aa0
add esp, 0xc
cmp dword [ebp + 0x10], 0
je 0x41b2f4
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 0xc]
mov byte [ecx + eax], 0
lea edx, [ebp - 0x158]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x41b31d
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x158]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41b370
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0x158]
test ecx, ecx
je 0x41b35f
lea edx, [ebp - 0x158]
push edx
call fcn.004393f0
add esp, 4
movsx eax, byte [ebp + eax - 0x159]
cmp eax, 0x5c
je 0x41b35f
push 0x468e7c
lea ecx, [ebp - 0x158]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x58
push 0
lea ecx, [ebp - 0x9c0]
push ecx
call fcn.0043a830
add esp, 0xc
mov dword [ebp - 0x9c0], 0x58
mov edx, dword [ebp + 8]
mov dword [ebp - 0x9bc], edx
lea eax, [ebp - 0x958]
mov dword [ebp - 0x990], eax
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x9a4], ecx
mov dword [ebp - 0x9a0], 0x104
lea edx, [ebp - 0x54]
mov dword [ebp - 0x9b4], edx
mov dword [ebp - 0x98c], 0x80024
mov dword [ebp - 0x97c], 0x41b4c0
lea eax, [ebp - 0x158]
push eax
push str.Call_GetOpenFileName__s_r_n
call fcn.004145f0
add esp, 8
lea ecx, [ebp - 0x9c0]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0x960], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x95c], eax
mov edx, dword [ebp - 0x95c]
push edx
mov eax, dword [ebp - 0x960]
push eax
push str.GetOpenFileName__d__LE__d_r_n
call fcn.004145f0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x41b441
mov ecx, dword [ebp - 0x95c]
push ecx
push str.GetOpenFileName_returns__d_r_n
call fcn.00426800
add esp, 8
cmp dword [ebp - 0x960], 0
jne 0x41b44e
xor eax, eax
jmp 0x41b4a4
push 0x5c
lea edx, [ebp - 0x158]
push edx
call fcn.0043a8c0
add esp, 8
mov dword [ebp - 0x968], eax
cmp dword [ebp - 0x968], 0
je 0x41b477
mov eax, dword [ebp - 0x968]
mov byte [eax], 0
lea ecx, [ebp - 0x158]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, dword [ebp + 0x10]
jge 0x41b49a
lea edx, [ebp - 0x158]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439b24
mov esp, ebp
pop ebp
ret