Function at 0x41e88e
Capabilities:
Get common file path

Disassembly:
push 0x2ec
mov eax, 0x47194f
call fcn.0044ed82
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 0x47b79c
lea ecx, [ebp + 0xc]
call fcn.0040760a
test eax, eax
jl 0x41eb0a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x228], esp
push 0x47b798
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 0x41e911
mov eax, dword [eax + 4]
jmp 0x41e914
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 0x41e96b
push dword [ebp - 0x2f8]
call fcn.0044e64c
pop ecx
lea eax, [ebp - 0x22c]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488f
mov ecx, eax
call fcn.0040785c
mov esi, eax
lea eax, [ebp - 0x220]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488f
mov ecx, eax
call fcn.0040787e
mov edi, eax
lea eax, [ebp - 0x250]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488f
mov ecx, eax
call fcn.0040785c
push 0x454029
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.0041bca1
add esp, 0x20
lea eax, [ebp - 0x218]
push eax
xor esi, esi
push esi
push esi
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488f
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.0041b09c
add esp, 0x1c
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x41eafc
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.0042488f
push str.PROGRAMFILES
mov ecx, eax
call fcn.00407679
test eax, eax
jne 0x41ea96
push esi
push 0x47b790
lea ecx, [ebp - 0x21c]
call fcn.0040760a
test eax, eax
jl 0x41ea96
push 0x477c34
push 0x47b784
lea ecx, [ebp - 0x21c]
call fcn.004076e0
lea ecx, [ebp - 0x21c]
call fcn.004097cc
mov ecx, eax
call fcn.00409468
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp + 0xc]
call fcn.004078a5
push 2
lea ecx, [ebp - 0x248]
call fcn.0042488f
cmp dword [eax + 0x18], 0x10
jb 0x41eabd
mov eax, dword [eax + 4]
jmp 0x41eac0
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.0044ee05
ret