Function at 0x43187f
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x65b0
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x1783]
push esi
push edi
mov esi, 0x3e7
mov dword [ebp - 0x65ac], ecx
push esi
push 0
push eax
mov byte [ebp - 0x1784], 0
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x139c], 0
lea eax, [ebp - 0x139b]
push esi
push 0
push eax
call fcn.006390b0
mov esi, str.wcx_ftp.ini
lea edi, [ebp - 0x14]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x431956
push ecx
push 6
xor edx, edx
pop ecx
call fcn.00404481
test al, al
lea eax, [ebp - 0x139c]
pop ecx
push eax
je 0x43191f
xor eax, eax
push eax
push eax
push 0x1a
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x431930
mov eax, str._sGHISLER_s
jmp 0x43194e
xor eax, eax
push eax
push eax
push 0x26
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x431949
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
mov eax, str._sTotalCmd_s
lea ebx, [ebp - 0x139c]
jmp 0x43195b
mov eax, 0x6c643c
lea ecx, [ebp - 0x14]
push ecx
push ebx
push eax
lea eax, [ebp - 0x1784]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x1784]
xor ebx, ebx
mov dword [ebp - 0x65a8], ebx
push 0x6c63d0
push eax
lea eax, [ebp - 0x65a8]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x431936
cmp dword [ebp - 0x65a8], ebx
je 0x431936
mov esi, 0x3e7
mov byte [ebp - 0x3fc], bl
push esi
lea eax, [ebp - 0x3fb]
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xfb4], bl
lea eax, [ebp - 0xfb3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x7e4], bl
lea eax, [ebp - 0x7e3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xbcc], bl
lea eax, [ebp - 0xbcb]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
lea eax, [ebp - 0x3e94]
push dword [ebp - 0x65a8]
push 0x2710
push eax
call fcn.006494dd
mov esi, dword [ebp - 0x65ac]
mov edi, 0x6c5bb9
jmp 0x431c14
lea eax, [ebp - 0x3e94]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x431a5d
lea eax, [ebp - 0x3e94]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x431c6b
mov byte [ebp + eax - 0x3e94], bl
lea ecx, [ebp - 0x3e94]
call fcn.004047e7
lea eax, [ebp - 0x3e94]
push eax
lea eax, [ebp - 0x65a4]
push 0x2710
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x65a4]
push eax
call fcn.00643470
pop ecx
inc eax
push eax
lea eax, [ebp - 0x65a4]
push eax
call fcn.0064ffd4
lea eax, [ebp - 0x3e94]
push 0x5b
push eax
call fcn.006393d0
add esp, 0x10
test eax, eax
je 0x431b1c
lea eax, [ebp - 0x3e94]
push 0x5d
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x431b1c
lea eax, [ebp - 0x3fc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x431aff
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x3fc]
mov ecx, esi
push eax
lea eax, [ebp - 0x7e4]
push eax
lea eax, [ebp - 0xbcc]
push eax
push edi
push 0x13f
push 4
call fcn.0043ee6b
mov byte [ebp - 0x7e4], bl
mov byte [ebp - 0xbcc], bl
mov byte [ebp - 0xfb4], bl
mov byte [ebp - 0x3fc], bl
jmp 0x431bfd
lea eax, [ebp - 0x65a4]
push str.host
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x431b5c
lea eax, [ebp - 0x3e94]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0xbcc]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0xbcc]
jmp 0x431b9a
lea eax, [ebp - 0x65a4]
push 0x6c9d70
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x431ba4
lea eax, [ebp - 0x3e94]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x7e4]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0x7e4]
add esp, 0x14
call fcn.004047e7
jmp 0x431bfd
lea eax, [ebp - 0x65a4]
push 0x6c9d7c
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x431bfd
lea eax, [ebp - 0x3e94]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0xfb4]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0x14
lea ecx, [ebp - 0xfb4]
call fcn.004047e7
push ecx
lea edx, [ebp - 0x3fc]
lea ecx, [ebp - 0xfb4]
call fcn.004316da
pop ecx
push dword [ebp - 0x65a8]
lea eax, [ebp - 0x3e94]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x431a2c
push dword [ebp - 0x65a8]
call fcn.00649273
pop ecx
lea eax, [ebp - 0x3fc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x431c63
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x7e4]
push eax
lea ecx, [ebp - 0xbcc]
push ecx
push edi
push 0x13f
push 4
mov ecx, esi
call fcn.0043ee6b
xor eax, eax
inc eax
jmp 0x431938
call fcn.00612782
int3