Function at 0x41e88d
Capabilities:
Get common file path

Disassembly:
push 0x2ec
mov eax, 0x47196d
call fcn.0044ed89
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.0040760f
test eax, eax
jl 0x41eb09
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x228], esp
push 0x47b798
call fcn.004038ab
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.004038ab
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 0x10
jb 0x41e910
mov eax, dword [eax + 4]
jmp 0x41e913
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x21c], esp
push eax
call fcn.004038ab
mov byte [ebp - 4], 5
lea eax, [ebp - 0x248]
push eax
mov byte [ebp - 4], 7
call fcn.0040717c
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 0x41e96a
push dword [ebp - 0x2f8]
call fcn.0044e653
pop ecx
lea eax, [ebp - 0x22c]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488e
mov ecx, eax
call fcn.00407861
mov esi, eax
lea eax, [ebp - 0x220]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488e
mov ecx, eax
call fcn.00407883
mov edi, eax
lea eax, [ebp - 0x250]
push eax
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488e
mov ecx, eax
call fcn.00407861
push 0x454049
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.0041bca0
add esp, 0x20
lea eax, [ebp - 0x218]
push eax
xor esi, esi
push esi
push esi
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x228], esp
push eax
call fcn.0040369c
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
call fcn.0041b09b
add esp, 0x1c
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x41eafb
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00403cf5
mov byte [ebp - 4], 0xc
push ebx
lea ecx, [ebp - 0x248]
call fcn.0042488e
push str.PROGRAMFILES
mov ecx, eax
call fcn.0040767e
test eax, eax
jne 0x41ea95
push esi
push 0x47b790
lea ecx, [ebp - 0x21c]
call fcn.0040760f
test eax, eax
jl 0x41ea95
push 0x477c34
push 0x47b784
lea ecx, [ebp - 0x21c]
call fcn.004076e5
lea ecx, [ebp - 0x21c]
call fcn.004097d1
mov ecx, eax
call fcn.004094a1
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp + 0xc]
call fcn.004078aa
push 2
lea ecx, [ebp - 0x248]
call fcn.0042488e
cmp dword [eax + 0x18], 0x10
jb 0x41eabc
mov eax, dword [eax + 4]
jmp 0x41eabf
add eax, 4
push eax
lea ecx, [ebp - 0x228]
call fcn.00403654
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.00406ddd
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.0044ee0c
ret