Function at 0x403a60
Capabilities:
Read .ini file

Disassembly:
sub esp, 4
push ebx
push esi
push edi
push ebp
mov esi, dword [esp + 0x1c]
push 0x438470
push 0x4f
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x438790
push 0x42f0f0
push str.HOST
push esi
call edi
test eax, eax
jne 0x403aa3
lea eax, [esi + 0x50]
push esi
mov dword [esp + 0x14], 0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x403ac5
lea eax, [esi + 0x50]
push 0x438470
push 0xfa
push eax
push esi
mov byte [eax], 0
push str.HOST
push esi
call edi
mov dword [esp + 0x10], 1
lea ebp, [esi + 0x150]
push 0x438470
push 0x4f
push ebp
push 0x42f0f0
mov byte [ebp], 0
push 0x42f888
push esi
call edi
mov byte [esi + 0x1a0], 0
mov byte [0x438c30], 0
mov dword [esi + 0x49c], 0
push 0x438470
push 0x6f
push 0x438c30
push 0x42f0f0
push 0x42f88c
push esi
call edi
cmp byte [ebp], 0
je 0x403b4a
cmp byte [0x438c30], 0
je 0x403b4a
push 0x438c30
push ebp
call fcn.004011c0
add esp, 8
push eax
lea eax, [esi + 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi + 0x49c], 1
push 0x42f870
push ebp
call fcn.00429c00
add esp, 8
test eax, eax
jne 0x403bcc
cmp byte [esi + 0x1a0], 0
jne 0x403bcc
mov dword [0x42f844], 0x10e
xor ebx, ebx
cmp byte [0x439ca0], bl
jne 0x403b8f
push str.Enter_your_e_mail_address:
push 0x439ca0
call fcn.00411820
add esp, 8
test eax, eax
jne 0x403b71
push 0x439ca0
lea eax, [esi + 0x1a0]
mov dword [0x42f844], 0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x439ca0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x403bcc
push 0x439ca0
push str.MAILADDR
call fcn.00402ef0
add esp, 8
push 0x438470
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x1770
push 0x42f890
push esi
call ebx
mov dword [esi + 0x48c], eax
cmp eax, 0x1770
jb 0x403c03
call sub.wsftp32.dll_Ordinal_922
add eax, 0x176f
cmp eax, dword [esi + 0x48c]
jae 0x403c0d
mov dword [esi + 0x48c], 0x1770
lea eax, [esi + 0x240]
push 0x438470
push 0x8f
push eax
push 0x42f0f0
mov byte [eax], 0
push 0x42f8c0
push esi
call edi
mov byte [esi + 0x1f0], 0
mov byte [0x438c30], 0
push 0x438470
push 0x6f
push 0x438c30
push 0x42f0f0
push 0x42f8c4
push esi
call edi
cmp byte [ebp], 0
je 0x403c80
cmp byte [0x438c30], 0
je 0x403c80
push 0x438c30
push ebp
call fcn.004011c0
add esp, 8
push eax
lea eax, [esi + 0x1f0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x438470
push 0
push str.TIMEOFFSET
push esi
call ebx
push 0
mov dword [esi + 0x4a8], eax
push str.FIREWALL
push esi
call fcn.00402e90
add esp, 0xc
mov dword [esi + 0x4a4], eax
push 0x438470
push 0x41
push str.TIMEOUT
push esi
call ebx
push 0x438470
mov dword [esi + 0x488], eax
push 0x13
lea eax, [esi + 0x460]
push eax
push 0x42f0f0
push str.LMASK
push esi
call edi
push 0x438470
lea eax, [esi + 0x474]
push 0x13
push eax
push 0x42f0f0
push str.RMASK
push esi
call edi
lea eax, [esi + 0x2d0]
push 0x438470
push 0x8f
push eax
push 0x42f0f0
mov byte [eax], 0
push str.LOCDIR
push esi
call edi
lea eax, [esi + 0x360]
push 0x438470
push 0xfa
push eax
push 0x42f0f0
mov byte [eax], 0
push str.INITCMD
push esi
call edi
push 0x438470
push 0x15
push str.PORT
push esi
call ebx
push 1
mov dword [esi + 0x490], eax
push str.PASVMODE
push esi
call fcn.00402e90
add esp, 0xc
mov dword [esi + 0x4a0], eax
push 0x438470
push 0
push str.RETRIES
push esi
call ebx
mov dword [esi + 0x498], eax
mov eax, dword [0x42f7fc]
push eax
push str.AMODE
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f7fc], eax
mov eax, dword [0x43163c]
push eax
push str.CONVEXT
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x43163c], eax
mov eax, dword [0x42f820]
push eax
push str.DOUPDATE
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f820], eax
mov eax, dword [0x431640]
push eax
push str.FORCLOW
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x431640], eax
mov eax, dword [0x42f808]
push eax
push str.PROMPT
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f808], eax
mov eax, dword [0x42f810]
push eax
push str.STOU
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f810], eax
mov eax, dword [0x42f80c]
push eax
push str.RECU
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f80c], eax
mov eax, dword [0x42f824]
push eax
push str.SORTLBX
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f824], eax
movsx eax, byte [str.IANS]
push eax
push str.MODE
push esi
call fcn.00402e90
add esp, 0xc
mov byte [str.IANS], al
mov eax, dword [0x42f834]
push eax
push str.VLINK
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x42f834], eax
mov eax, dword [0x431644]
push eax
push str.RETAIN
push esi
call fcn.00402e90
add esp, 0xc
mov dword [0x431644], eax
mov eax, dword [esp + 0x10]
pop ebp
pop edi
pop esi
pop ebx
add esp, 4
ret