Function at 0x4346fa
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4670
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 - 0x1f53]
push esi
push edi
mov esi, 0x3e7
mov dword [ebp - 0x466c], ecx
push esi
push 0
push eax
mov byte [ebp - 0x1f54], 0
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1b6c], 0
lea eax, [ebp - 0x1b6b]
push esi
push 0
push eax
call fcn.006390b0
mov esi, str.ESTdb2.dat
lea edi, [ebp - 0x14]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x4347ab
lea eax, [ebp - 0x1b6c]
push eax
xor eax, eax
push eax
push eax
push 0x1a
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x43479e
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._sEstsoftALFTP_s
lea ebx, [ebp - 0x1b6c]
jmp 0x4347b0
mov eax, 0x6c643c
lea ecx, [ebp - 0x14]
mov edi, 0x3e8
push ecx
push ebx
push eax
lea eax, [ebp - 0x1f54]
push edi
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x1f54]
xor ebx, ebx
mov dword [ebp - 0x4668], ebx
push 0x6c63d0
push eax
lea eax, [ebp - 0x4668]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x43478b
cmp dword [ebp - 0x4668], ebx
je 0x43478b
lea esi, [edi - 1]
mov byte [ebp - 0xbcc], bl
push esi
lea eax, [ebp - 0xbcb]
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1784], bl
lea eax, [ebp - 0x1783]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x139c], bl
lea eax, [ebp - 0x139b]
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 - 0x3fc], bl
lea eax, [ebp - 0x3fb]
push esi
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
lea eax, [ebp - 0x4664]
push dword [ebp - 0x4668]
push 0x2710
push eax
call fcn.006494dd
mov esi, dword [ebp - 0x466c]
jmp 0x434b21
lea eax, [ebp - 0x4664]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x4348da
lea eax, [ebp - 0x4664]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x434bca
mov byte [ebp + eax - 0x4664], bl
lea ecx, [ebp - 0x4664]
call fcn.004047e7
lea eax, [ebp - 0x4664]
push 0x5b
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x4349c2
lea eax, [ebp - 0x4664]
push 0x5d
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x4349c2
lea eax, [ebp - 0xbcc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43499f
lea eax, [ebp - 0x3fc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43495c
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x7e4]
push eax
push str._s:_s
lea eax, [ebp - 0xfb4]
push edi
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x434973
lea eax, [ebp - 0x7e4]
push eax
lea eax, [ebp - 0xfb4]
push edi
push eax
call fcn.006494f3
add esp, 0xc
push 0xffffffffffffffff
mov ecx, 0x6c5bb9
lea eax, [ebp - 0xbcc]
push ecx
push eax
lea eax, [ebp - 0x139c]
push eax
lea eax, [ebp - 0xfb4]
push eax
push ecx
push 0x159
push 4
mov ecx, esi
call fcn.0043ee6b
mov byte [ebp - 0x3fc], bl
mov byte [ebp - 0x139c], bl
mov byte [ebp - 0x7e4], bl
mov byte [ebp - 0x1784], bl
mov byte [ebp - 0xbcc], bl
jmp 0x434b0a
push str.url
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4664]
push str.url
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x434a0e
lea eax, [ebp - 0x4664]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x7e4]
push edi
push eax
call fcn.006494f3
lea ecx, [ebp - 0x7e4]
jmp 0x434a9e
push str.port
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4664]
push str.port
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x434a57
lea eax, [ebp - 0x4664]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x3fc]
push edi
push eax
call fcn.006494f3
lea ecx, [ebp - 0x3fc]
jmp 0x434a9e
push 0x6cc058
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4664]
push 0x6cc058
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x434aa8
lea eax, [ebp - 0x4664]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x139c]
push edi
push eax
call fcn.006494f3
lea ecx, [ebp - 0x139c]
add esp, 0x14
call fcn.004047e7
jmp 0x434b0a
push str.encrypt_pw
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4664]
push str.encrypt_pw
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x434b0a
lea eax, [ebp - 0x4664]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x1784]
push edi
push eax
call fcn.006494f3
add esp, 0x14
lea ecx, [ebp - 0x1784]
call fcn.004047e7
push ecx
lea edx, [ebp - 0xbcc]
lea ecx, [ebp - 0x1784]
call fcn.00434641
pop ecx
push dword [ebp - 0x4668]
lea eax, [ebp - 0x4664]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x4348a9
push dword [ebp - 0x4668]
call fcn.00649273
pop ecx
lea eax, [ebp - 0xbcc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x434bc2
lea eax, [ebp - 0x3fc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x434b7f
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x7e4]
push eax
push str._s:_s
lea eax, [ebp - 0xfb4]
push edi
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x434b96
lea eax, [ebp - 0x7e4]
push eax
lea eax, [ebp - 0xfb4]
push edi
push eax
call fcn.006494f3
add esp, 0xc
push 0xffffffffffffffff
mov edx, 0x6c5bb9
lea eax, [ebp - 0xbcc]
push edx
push eax
lea eax, [ebp - 0x139c]
push eax
lea ecx, [ebp - 0xfb4]
push ecx
push edx
push 0x159
push 4
mov ecx, esi
call fcn.0043ee6b
xor eax, eax
inc eax
jmp 0x43478d
call fcn.00612782
int3