Function at 0x41c840
Capabilities:
Hide graphical window
Read .ini file

Disassembly:
sub esp, 0x380
mov byte [0x42f7c4], 0
lea eax, [esp + 0x180]
push ebx
push esi
push edi
mov edi, dword [esp + 0x394]
push ebp
push eax
push 0x438c30
push edi
call fcn.0041c1e0
add esp, 0xc
mov ebp, eax
cmp ebp, 2
jne 0x41c888
lea eax, [esp + 0x90]
push 0x438c30
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x290]
mov ecx, dword [esp + 0x39c]
push eax
push 0x438c30
push ecx
call fcn.0041c1e0
add esp, 0xc
mov ebx, eax
cmp ebx, 2
jne 0x41c8bf
lea eax, [esp + 0x90]
push 0x438c30
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp ebp, 2
jne 0x41c8cd
cmp ebx, 2
je 0x41c8cd
xor ebp, ebp
jmp 0x41c8e4
cmp ebp, 1
jne 0x41ce7a
cmp ebx, 2
jne 0x41ce7a
mov ebp, 1
test ebp, ebp
jne 0x41c905
cmp ebx, 1
je 0x41c905
lea eax, [esp + 0x190]
lea ecx, [esp + 0x290]
push eax
push ecx
call fcn.00417000
add esp, 8
lea eax, [esp + 0x90]
push 0x438470
push 0x4f
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x437bd0
push 0x42f0f0
push str.HOST
push eax
call esi
test eax, eax
jne 0x41c96a
lea eax, [esp + 0x90]
push eax
push 0x437bd0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x438470
push 0
push str.FIREWALL
push str.WS_FTP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, dword [esp + 0x394]
mov dword [0x438024], eax
jmp 0x41cabc
lea eax, [esp + 0x90]
push 0x438470
push 0x4f
push 0x437cd0
push 0x42f0f0
push 0x42f888
push eax
call esi
lea eax, [esp + 0x90]
push 0x438470
push 0x6f
push 0x438c30
push 0x42f0f0
push 0x42f8c4
push eax
call esi
cmp byte [0x437cd0], 0
je 0x41c9dc
cmp byte [0x438c30], 0
je 0x41c9dc
push 0x438c30
push 0x437cd0
call fcn.004011c0
add esp, 8
push eax
push 0x437d70
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41c9e3
mov byte [0x437d70], 0
lea eax, [esp + 0x90]
push 0x438470
push 0x6f
push 0x438c30
push 0x42f0f0
push 0x42f88c
push eax
call esi
lea eax, [esp + 0x90]
push 0x438470
push 0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.FIREWALL
push eax
call edi
test eax, eax
je 0x41ca2d
mov dword [0x438024], 1
lea eax, [esp + 0x90]
push 0x438470
push 0x15
push str.PORT
push eax
call edi
push 0x438470
mov dword [0x438010], eax
lea eax, [esp + 0x94]
push 0x96
push 0x438e30
push 0x42f0f0
push str.LOCDIR
push eax
call esi
test eax, eax
je 0x41ca8e
push 0x438e30
call fcn.00416af0
mov ebx, dword [esp + 0x398]
add esp, 4
push ebx
call fcn.0041ea00
add esp, 4
jmp 0x41ca95
mov ebx, dword [esp + 0x394]
lea eax, [esp + 0x90]
push 0x438470
mov byte [0x437ee0], 0
push 0x78
push 0x437ee0
push 0x42f0f0
push str.INITCMD
push eax
call esi
cmp byte [0x437cd0], 0
je 0x41cae8
cmp byte [0x438c30], 0
je 0x41caf8
push 0x438c30
push 0x437cd0
call fcn.004011c0
add esp, 8
push eax
push 0x437d20
jmp 0x41caf2
push str.anonymous
push 0x437cd0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, 0x437cd0
mov edi, str.anonymous
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
jne 0x41cb1b
push 0x439ca0
push 0x437d20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x10]
push pe_nt_image_headers32
push eax
test ebp, ebp
jne 0x41cb30
push 0x36b8
jmp 0x41cb35
push 0x36b9
mov ecx, dword [0x438580]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push ecx
call esi
lea ecx, [esp + 0x290]
lea eax, [esp + 0x190]
lea edx, [esp + 0x10]
push ecx
push 0x437bd0
push eax
push edx
push 0x438c30
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x438c30
call fcn.0040cf50
add esp, 4
mov eax, dword [0x438018]
mov dword [0x430e80], eax
test eax, eax
mov byte [0x438c30], 0
jne 0x41cb98
mov dword [0x430e80], 0xa
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x437b80
call fcn.0040fa90
add esp, 4
mov edx, dword [0x42f330]
cmp eax, 0xffffffff
jne 0x41cbd8
mov ecx, dword [0x430e80]
dec dword [0x430e80]
test ecx, ecx
jle 0x41cbd8
mov dword [0x42f864], eax
test edx, edx
jne 0x41cbd8
push 0x7d0
call edi
jmp 0x41cb9e
mov dword [0x42f864], eax
cmp eax, 0xffffffff
je 0x41cdaa
cmp dword [0x430e18], 0
jne 0x41cbfd
push eax
call fcn.00418070
add esp, 4
mov eax, dword [0x42f864]
mov cl, byte [str.IANS]
lea edx, [esp + 0x290]
lea edi, [esp + 0x190]
push ecx
push ebp
mov dword [0x42f864], eax
push edx
push edi
push eax
call fcn.0041c660
add esp, 0x14
mov edi, eax
cmp edi, 6
jne 0x41cd0b
test ebp, ebp
jne 0x41cd0b
cmp edi, 5
je 0x41cd0b
lea eax, [esp + 0x190]
push eax
push str.CWD__s
push str.input:
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x43800c], 0x178c
je 0x41cd0b
push str.input:
mov eax, dword [0x42f864]
push eax
call fcn.00415e20
add esp, 8
mov edi, eax
cmp edi, 2
jne 0x41cd0b
push 1
push ebx
call fcn.00417970
add esp, 8
push ebx
call fcn.00414060
add esp, 4
push 0
push 0x1fa4
push 0x111
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
push 1
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
call ebp
lea eax, [esp + 0x10]
push pe_nt_image_headers32
cmp dword [0x42f7dc], 0
push eax
je 0x41ccdb
push 0x2328
jmp 0x41cce0
push 0x2348
mov ecx, dword [0x438580]
push ecx
call esi
lea eax, [esp + 0x10]
mov ecx, dword [0x437650]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 2
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x380
ret
mov eax, dword [0x42f864]
push eax
call fcn.004160f0
add esp, 4
mov dword [0x42f864], eax
mov dword [0x42f7dc], 0
lea eax, [esp + 0x10]
push pe_nt_image_headers32
push eax
cmp edi, 2
jne 0x41cd6c
push 0x36ba
mov ecx, dword [0x438580]
push ecx
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.0040cf50
add esp, 4
push 8
call fcn.0040bb30
add esp, 4
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x380
ret
push 0x36bc
mov ecx, dword [0x438580]
push ecx
call esi
lea ecx, [esp + 0x190]
push 0x437bd0
lea edx, [esp + 0x14]
push ecx
push edx
push 0x438c30
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x438c30
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x10
jmp 0x41cdf7
lea eax, [esp + 0x10]
push pe_nt_image_headers32
push eax
mov ecx, dword [0x438580]
push 0x36b7
push ecx
call esi
lea ecx, [esp + 0x10]
push 0x437bd0
push ecx
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x438c30
call ebp
add eax, 0x438c30
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x438c30
call fcn.0040cf50
add esp, 4
push 4
call fcn.0040bb30
add esp, 4
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 1
push ebx
call edi
push ebx
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
call ebp
push 0x438c30
call fcn.0040cf50
add esp, 4
cmp dword [0x431740], 0
jne 0x41ce49
push 0
push 0x438030
push 0x438c30
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x380
ret
push 1
push ebx
call edi
push ebx
call ebp
cmp dword [0x431740], 0
jne 0x41ce6d
push 0
push 0x438030
push str.Syntax:_WS_FTP__args__host:full_path__local:full_path__n________WS_FTP__args__local:full_path_host:full_path_n________WS_FTP__args___ask_n_________args____i_inifile_n__________________p_profile_n__________________u_userid_n__________________w_password_n__________________c_account_n__________________s_source_n__________________d_destination_n__________________quiet_n__________________ascii_n__________________binary
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x380
ret
cmp dword [0x431740], 0
jne 0x41cef2
lea eax, [esp + 0x10]
push pe_nt_image_headers32
push eax
mov ecx, dword [0x438580]
push 0x36bb
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
mov ecx, dword [esp + 0x39c]
push ecx
push ebx
push edi
push ebp
push str.SRC__u_:__s_nDST__u_:__s
push 0x438c30
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
mov eax, dword [0x42f7d0]
push 1
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x42f7d0]
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
push ecx
call ebp
lea ecx, [esp + 0x10]
push 0x10
push ecx
mov eax, dword [0x42f7d0]
push 0x438c30
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x380
ret