Function at 0x405c7c
Capabilities:
Create directory

Disassembly:
mov eax, 0x40e548
call fcn.0040d790
sub esp, 0x110
push ebx
push esi
mov esi, ecx
push edi
push 0x416b40
and dword [esi + 0x354], 0
lea ebx, [esi + 0x330]
mov ecx, ebx
call fcn.0040d3e0
and byte [ebp - 0x11c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x11b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0x104
lea eax, [ebp - 0x11c]
push edi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x405eb2
lea eax, [ebp - 0x11c]
push eax
push 0x415164
push ebx
call sub.MFC42.DLL_CString::Format
push edi
lea eax, [ebp - 0x11c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
mov ecx, ebx
push 0x5c
call sub.MFC42.DLL_CString::ReverseFind
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call sub.MFC42.DLL_CString::Left
and dword [ebp - 4], 0
push eax
mov ecx, ebx
call sub.MFC42.DLL_CString::operator_1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0040d3c8
push 0x4157f4
lea eax, [ebp - 0x14]
push ebx
push eax
call sub.MFC42.DLL_operator
push 0x415494
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 1
push eax
call sub.MFC42.DLL_operator
lea edi, [esi + 0x31c]
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0040d3c8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0040d3c8
push dword [edi]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
jne 0x405dac
push dword [edi]
call dword [sym.imp.MSVCRT.dll__mkdir]
test eax, eax
pop ecx
je 0x405dac
push 0
push 0
push 0x4157e0
mov ecx, esi
call sub.MFC42.DLL_CWnd::MessageBoxA
jmp 0x405eb2
push 0x4157f4
lea eax, [ebp - 0x10]
push ebx
push eax
call sub.MFC42.DLL_operator
push str.SunAgent.db
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 3
push eax
call sub.MFC42.DLL_operator
lea edi, [esi + 0x32c]
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.0040d3c8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0040d3c8
push edi
lea ecx, [esi + 0x430]
call fcn.00402b9c
test eax, eax
jne 0x405e47
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString
push dword [edi]
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 5
push 0x41579c
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 0
push 0
push dword [ebp - 0x18]
call sub.MFC42.DLL_AfxMessageBox
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040d3c8
jmp 0x405eb2
push dword [0x416d34]
mov edi, str._s_s.ini
lea eax, [esi + 0x324]
push dword [ebx]
push edi
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea eax, [esi + 0x328]
push dword [0x416d2c]
push dword [ebx]
push edi
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
call fcn.00409c9e
push 1
mov ecx, esi
call fcn.00405b88
mov ecx, esi
call fcn.004058c4
cmp dword [esi + 0x310], 0
je 0x405eb6
mov ecx, esi
call fcn.00409ac8
test eax, eax
je 0x405eb2
mov ecx, esi
call fcn.00405ec8
test eax, eax
jne 0x405eb6
xor eax, eax
jmp 0x405eb9
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret