Function at 0x40585e
Capabilities:
Get common file path

Disassembly:
mov eax, 0x413bea
call fcn.00412d40
sub esp, 0xc4
push ebx
push esi
push edi
mov dword [ebp - 0x24], ecx
xor ebx, ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], ebx
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString_1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString_1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString_1
push 4
mov byte [ebp - 4], 4
call sub.MFC42.DLL_operatornew
pop ecx
mov ecx, eax
mov dword [ebp - 0x34], ecx
cmp ecx, ebx
mov byte [ebp - 4], 5
je 0x4058c7
call fcn.00401000
mov esi, eax
jmp 0x4058c9
xor esi, esi
lea eax, [ebp - 0x50]
push 0x20
push eax
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.00401ae8
cmp esi, ebx
je 0x4058f5
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
lea eax, [ebp - 0xd0]
push eax
push 0x80
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x28]
push 0x41c50c
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [ebp - 0x20]
call fcn.0041294e
push ebx
push 0x3002
push dword [ebp - 0x28]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CStdioFile::Open
push 0x41c4f8
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
mov esi, 0x41c4ec
lea ecx, [ebp - 0x20]
push esi
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c4d4
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
mov edi, 0x41c4c0
lea ecx, [ebp - 0x20]
push edi
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
cmp dword [ebp - 0x48], 5
jge 0x40599e
mov ecx, dword [ebp - 0x24]
push ebx
push ebx
push 0x41c488
call sub.MFC42.DLL_CWnd::MessageBoxA
jmp 0x405b23
cmp dword [ebp - 0x48], ebx
mov dword [ebp - 0x30], ebx
jle 0x405acc
push dword [ebp - 0x30]
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x50]
push eax
call fcn.00404193
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 7
mov eax, dword [eax - 8]
cmp eax, ebx
mov dword [ebp - 0x34], eax
je 0x405ab1
mov dword [ebp - 0x2c], ebx
jle 0x405ab1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x24]
movsx eax, byte [eax + ecx]
sub eax, 0x31
je 0x405a26
dec eax
je 0x405a09
dec eax
jne 0x405a64
push 0x41c474
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c45c
jmp 0x405a41
push 0x41c448
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c430
jmp 0x405a41
push 0x41c41c
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c404
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push edi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c3f0
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c3d8
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push edi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x34]
jl 0x4059d7
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x48]
jl 0x4059aa
push 0x41c3c4
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c3ac
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push esi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push edi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c3a4
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
push 0x41c38c
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::WriteString
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CStdioFile::Close
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CStdioFile::CStdioFile
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], bl
call fcn.00412b40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4