Function at 0x403296
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x42a18b
call sub.MSVCRT.dll__EH_prolog
sub esp, 0xc8
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x4c], esi
lea eax, [ebp - 0x28]
mov ebx, 0x441ef8
xor edi, edi
push eax
mov ecx, ebx
mov dword [ebp - 4], edi
call fcn.00403dcd
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
mov byte [ebp - 4], 1
call fcn.00403de8
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
mov byte [ebp - 4], 2
call fcn.00403db2
push 0x439734
push eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 3
push eax
call sub.MFC42.DLL_operator_2
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CStdioFile::CStdioFile
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CException::CException
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString_3
or dword [ebp - 0x38], 0xffffffff
push edi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x44], 0x42ebb8
mov dword [ebp - 0x3c], edi
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::Empty
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::Empty
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x64]
push eax
push 0x5001
push dword [ebp - 0x28]
call sub.MFC42.DLL_CStdioFile::Open
lea eax, [ebp - 0x2c]
mov ecx, 0x441778
push eax
call fcn.0041075a
mov byte [ebp - 4], 0xc
lea ecx, [esi + 4]
push eax
mov dword [ebp - 0x1c], ecx
call sub.MFC42.DLL_CString::operator_2
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString
mov al, byte [0x441758]
push 0x13
mov byte [ebp - 0xd4], al
pop ecx
xor eax, eax
lea edi, [ebp - 0xd3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 8
mov esi, 0x439744
pop ecx
stosb byte es:[edi], al
push 0x439764
lea eax, [ebp - 0xd4]
push 0x50
push eax
lea eax, [ebp - 0x84]
lea edi, [ebp - 0x84]
push eax
push str.DDC_ENTERPRISE_SERVER
rep movsd dword es:[edi], dword [esi]
push 0x439790
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x20]
push eax
call sub.MFC42.DLL_CString::operator_1
push dword [ebp - 0x20]
lea eax, [ebp - 0x10]
push 0x439798
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [ebp - 0x64]
push dword [ebp - 0x10]
call sub.MFC42.DLL_CStdioFile::WriteString
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x10]
push dword [esi]
push 0x4397a4
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [ebp - 0x64]
push dword [ebp - 0x10]
call sub.MFC42.DLL_CStdioFile::WriteString
mov eax, dword [ebp - 0x1c]
push dword [eax]
lea eax, [ebp - 0x10]
push 0x4397a8
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [ebp - 0x64]
push dword [ebp - 0x10]
call sub.MFC42.DLL_CStdioFile::WriteString
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push 0x4397ac
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [ebp - 0x64]
push dword [ebp - 0x10]
call sub.MFC42.DLL_CStdioFile::WriteString
lea eax, [ebp - 0x10]
push 0x4397b0
push eax
call sub.MFC42.DLL_CString::Format
pop ecx
pop ecx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CStdioFile::WriteString
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CStdioFile::Close
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
call sub.MFC42.DLL_CString::CString_3
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
mov byte [ebp - 4], 0xe
call fcn.00403e06
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_CString::operator_2
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
push 0x4397b8
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::operator_1
push 0x4397bc
lea ecx, [ebp - 0x14]
call fcn.00429136
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.00403dcd
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x10
call fcn.00428fd4
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
push 0x4397c0
lea ecx, [ebp - 0x14]
call fcn.00429136
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::CString_3
cmp byte [esi + 8], 0
push 0
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x11
push dword [ebp - 0x18]
push dword [ebp - 0x18]
je 0x40354f
push 0
jmp 0x403551
push 4
call dword [sym.imp.MSVCRT.dll__spawnl]
add esp, 0x14
test eax, eax
je 0x40357c
push eax
lea eax, [ebp - 0x24]
push str.BAD_Return_from_FTP_Spawn:__d
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 0
push 0
push dword [ebp - 0x24]
call sub.MFC42.DLL_AfxMessageBox_1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 0x44], 0x42ebb8
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x44], 0x42eba0
mov byte [ebp - 4], 7
call fcn.00429130
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
and byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
push 1
pop eax
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4