Function at 0x41e5b2
Capabilities:
Get common file path

Disassembly:
push 0x2ec
mov eax, 0x47150a
call fcn.0044ea77
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x230], esi
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
push esi
push 0x47a71c
lea ecx, [ebp + 0xc]
call fcn.004075b2
test eax, eax
jl 0x41e82e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x228], esp
push 0x47a718
call fcn.004038a6
mov byte [ebp - 4], 2
push dword [ebp + 0xc]
lea ecx, [ebp - 0x2f8]
call fcn.004023df
mov byte [ebp - 4], 3
push dword [eax]
lea ecx, [ebp - 0x274]
call fcn.004038a6
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 0x10
jb 0x41e635
mov eax, dword [eax + 4]
jmp 0x41e638
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x21c], esp
push eax
call fcn.004038a6
mov byte [ebp - 4], 5
lea eax, [ebp - 0x248]
push eax
mov byte [ebp - 4], 7
call fcn.00407177
add esp, 0x3c
mov byte [ebp - 4], 9
push esi
push ebx
lea ecx, [ebp - 0x274]
call fcn.00402a7d
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x2f4]
cmp dword [ebp - 0x2f8], eax
je 0x41e68f
push dword [ebp - 0x2f8]
call fcn.0044e341
pop ecx
lea eax, [ebp - 0x22c]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.00424583
mov ecx, eax
call fcn.00407804
mov esi, eax
lea eax, [ebp - 0x220]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.00424583
mov ecx, eax
call fcn.00407826
mov edi, eax
lea eax, [ebp - 0x250]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.00424583
mov ecx, eax
call fcn.00407804
push 0x453c29
push dword [esi + 4]
push dword [esi]
push dword [edi + 4]
push dword [edi]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x258]
push eax
call fcn.0041b9c5
add esp, 0x20
lea eax, [ebp - 0x218]
push eax
xor esi, esi
push esi
push esi
push ebx
lea ecx, [ebp - 0x248]
call fcn.00424583
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x228], esp
push eax
call fcn.00403697
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
call fcn.0041adc0
add esp, 0x1c
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x41e820
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00403cf0
mov byte [ebp - 4], 0xc
push ebx
lea ecx, [ebp - 0x248]
call fcn.00424583
push str.PROGRAMFILES
mov ecx, eax
call fcn.00407621
test eax, eax
jne 0x41e7ba
push esi
push 0x47a710
lea ecx, [ebp - 0x21c]
call fcn.004075b2
test eax, eax
jl 0x41e7ba
push 0x476c24
push 0x47a704
lea ecx, [ebp - 0x21c]
call fcn.00407688
lea ecx, [ebp - 0x21c]
call fcn.00409536
mov ecx, eax
call fcn.004091d2
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp + 0xc]
call fcn.0040784d
push 2
lea ecx, [ebp - 0x248]
call fcn.00424583
cmp dword [eax + 0x18], 0x10
jb 0x41e7e1
mov eax, dword [eax + 4]
jmp 0x41e7e4
add eax, 4
push eax
lea ecx, [ebp - 0x228]
call fcn.0040364f
mov byte [ebp - 4], 0xd
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp + 0xc]
push eax
call fcn.00403044
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x228]
call fcn.004028d3
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x21c]
call fcn.004028d3
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x248]
call fcn.00406dd8
mov ecx, dword [ebp - 0x224]
lea eax, [ebp + 0xc]
push eax
call fcn.00402e10
mov dword [ebp - 0x230], ebx
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.004028d3
mov eax, dword [ebp - 0x224]
call fcn.0044eafa
ret