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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x65b8
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 - 0x3e9b]
push esi
push edi
mov esi, 0x3e7
mov dword [ebp - 0x65b4], ecx
push esi
push 0
push eax
mov byte [ebp - 0x3e9c], 0
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x3ab4], 0
lea eax, [ebp - 0x3ab3]
push esi
push 0
push eax
call fcn.006390b0
mov esi, str.profiles.txt
lea edi, [ebp - 0x18]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x415f33
lea eax, [ebp - 0x3ab4]
push eax
xor eax, eax
push eax
push eax
push 0x26
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x415f25
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
movsx ebx, byte [ebp - 0x3ab4]
mov eax, str._c:mailcomdb_s
jmp 0x415f38
mov eax, 0x6c643c
lea ecx, [ebp - 0x18]
push ecx
push ebx
push eax
lea eax, [ebp - 0x3e9c]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x3e9c]
xor ebx, ebx
mov dword [ebp - 0x65b0], ebx
push 0x6c63d0
push eax
lea eax, [ebp - 0x65b0]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x415f12
cmp dword [ebp - 0x65b0], ebx
je 0x415f12
mov esi, 0x3e7
mov byte [ebp - 0x7ec], bl
push esi
lea eax, [ebp - 0x7eb]
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x2efc], bl
lea eax, [ebp - 0x2efb]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x13a4], bl
lea eax, [ebp - 0x13a3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xfbc], bl
lea eax, [ebp - 0xfbb]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xbd4], bl
lea eax, [ebp - 0xbd3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x32e4], bl
lea eax, [ebp - 0x32e3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1f5c], bl
lea eax, [ebp - 0x1f5b]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1b74], bl
lea eax, [ebp - 0x1b73]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x178c], bl
lea eax, [ebp - 0x178b]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x36cc], bl
lea eax, [ebp - 0x36cb]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x2b14], bl
lea eax, [ebp - 0x2b13]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x272c], bl
push esi
push ebx
lea eax, [ebp - 0x272b]
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x2344], bl
lea eax, [ebp - 0x2343]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
lea eax, [ebp - 0x65ac]
mov esi, 0x2710
push dword [ebp - 0x65b0]
push esi
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
je 0x4164db
lea eax, [ebp - 0x65ac]
mov byte [ebp - 0xbd4], bl
push eax
mov byte [ebp - 0xfbc], bl
mov byte [ebp - 0x13a4], bl
mov byte [ebp - 0x2efc], bl
mov byte [ebp - 0x178c], bl
mov byte [ebp - 0x1b74], bl
mov byte [ebp - 0x1f5c], bl
mov byte [ebp - 0x32e4], bl
mov byte [ebp - 0x2344], bl
mov byte [ebp - 0x272c], bl
mov byte [ebp - 0x2b14], bl
mov byte [ebp - 0x36cc], bl
call fcn.00643470
pop ecx
test eax, eax
je 0x41614a
lea eax, [ebp - 0x65ac]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, esi
jae 0x4164ef
mov byte [ebp + eax - 0x65ac], bl
lea ecx, [ebp - 0x65ac]
call fcn.004047e7
lea ebx, [ebp - 0x65ac]
mov eax, ebx
push 0x5e
push eax
call fcn.006393d0
xor edi, edi
jmp 0x4162d0
mov eax, esi
sub eax, ebx
push eax
push ebx
lea eax, [ebp - 0x404]
push 0x3e8
push eax
call fcn.00650b7d
lea ecx, [ebp - 0x404]
call fcn.004047e7
lea eax, [ebp - 0x404]
inc edi
push eax
lea ebx, [esi + 1]
call fcn.00643470
add esp, 0x14
cmp eax, 1
jb 0x4162c8
cmp edi, 0xb
jg 0x416256
je 0x416247
lea eax, [edi - 1]
sub eax, 1
je 0x416238
sub eax, 1
je 0x416226
sub eax, 3
je 0x416214
sub eax, 1
je 0x416202
sub eax, 1
je 0x4161f0
sub eax, 1
jne 0x4162c8
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x13a4]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0xfbc]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x272c]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x2efc]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0xbd4]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x2344]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x36cc]
jmp 0x4162ba
mov eax, edi
sub eax, 0xc
je 0x4162ad
sub eax, 8
je 0x41629e
sub eax, 1
je 0x41628f
sub eax, 1
je 0x416280
sub eax, 1
jne 0x4162c8
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x1f5c]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x32e4]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x1b74]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x178c]
jmp 0x4162ba
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x2b14]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
push 0x5e
push ebx
call fcn.006393d0
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x41616c
lea eax, [ebp - 0x13a4]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x41637d
lea eax, [ebp - 0xbd4]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x41632b
lea eax, [ebp - 0xbd4]
push eax
lea eax, [ebp - 0xfbc]
push eax
push str._s:_s
lea eax, [ebp - 0x7ec]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x416346
lea eax, [ebp - 0xfbc]
push eax
lea eax, [ebp - 0x7ec]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
mov ebx, dword [ebp - 0x65b4]
lea eax, [ebp - 0x13a4]
push 0xffffffffffffffff
push 0x6c5bb9
push eax
lea eax, [ebp - 0x2efc]
mov ecx, ebx
push eax
lea eax, [ebp - 0x7ec]
push eax
push str.POP3
push 0x10a
push 2
call fcn.0043ee6b
jmp 0x416383
mov ebx, dword [ebp - 0x65b4]
lea eax, [ebp - 0x1f5c]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x41641c
lea eax, [ebp - 0x178c]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x4163d2
lea eax, [ebp - 0x178c]
push eax
lea eax, [ebp - 0x1b74]
push eax
push str._s:_s
lea eax, [ebp - 0x7ec]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x4163ed
lea eax, [ebp - 0x1b74]
push eax
lea eax, [ebp - 0x7ec]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
push 0xffffffffffffffff
push 0x6c5bb9
lea eax, [ebp - 0x1f5c]
mov ecx, ebx
push eax
lea eax, [ebp - 0x32e4]
push eax
lea eax, [ebp - 0x7ec]
push eax
push str.IMAP
push 0x10a
push 2
call fcn.0043ee6b
lea eax, [ebp - 0x2b14]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x4164b5
lea eax, [ebp - 0x2344]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x41646b
lea eax, [ebp - 0x2344]
push eax
lea eax, [ebp - 0x272c]
push eax
push str._s:_s
lea eax, [ebp - 0x7ec]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x416486
lea eax, [ebp - 0x272c]
push eax
lea eax, [ebp - 0x7ec]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
push 0xffffffffffffffff
push 0x6c5bb9
lea eax, [ebp - 0x2b14]
mov ecx, ebx
push eax
lea eax, [ebp - 0x36cc]
push eax
lea eax, [ebp - 0x7ec]
push eax
push str.SMTP
push 0x10a
push 2
call fcn.0043ee6b
push dword [ebp - 0x65b0]
mov esi, 0x2710
lea eax, [ebp - 0x65ac]
push esi
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
je 0x4164db
xor ebx, ebx
jmp 0x4160d4
push dword [ebp - 0x65b0]
call fcn.00649273
xor eax, eax
pop ecx
inc eax
jmp 0x415f14
call fcn.00612782
int3