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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd
push 0
push 0
dec ecx
jne 0x4531d4
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov ebx, 0x457c34
xor eax, eax
push ebp
push 0x453959
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x45392a
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x453916
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x455db8], 1
push 0x457e4c
push 0
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
call fcn.00406ea4
test eax, eax
je 0x453242
push 0x457e50
mov eax, dword [0x457e4c]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
mov eax, 0x457e48
mov edx, 0x457e50
mov ecx, 0x105
call fcn.00404714
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453990
mov eax, 0x457c2c
mov edx, 4
call fcn.00404824
mov eax, dword [0x457c2c]
call fcn.00408a14
push 0x457e4c
push 0x1a
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
call fcn.00406ea4
test eax, eax
je 0x4532ab
push 0x457e50
mov eax, dword [0x457e4c]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
mov eax, 0x457e48
mov edx, 0x457e50
mov ecx, 0x105
call fcn.00404714
push dword [0x457e48]
push 0x4539a0
push 0x45397c
push 0x453990
mov eax, 0x457c30
mov edx, 4
call fcn.00404824
mov eax, dword [0x457c30]
call fcn.00408a14
push 0x457e4c
push 2
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
call fcn.00406ea4
test eax, eax
je 0x453314
push 0x457e50
mov eax, dword [0x457e4c]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
mov eax, 0x457e48
mov edx, 0x457e50
mov ecx, 0x105
call fcn.00404714
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x45397c
push 0x453990
mov eax, ebx
mov edx, 6
call fcn.00404824
mov eax, dword [ebx]
call fcn.00408a14
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x4539d4
push 0x45397c
push 0x453990
mov eax, ebx
mov edx, 6
call fcn.00404824
mov eax, dword [ebx]
call fcn.00408a14
push dword [0x457e48]
push 0x453970
push 0x45397c
mov eax, ebx
mov edx, 3
call fcn.00404824
mov eax, dword [ebx]
call fcn.00452cb8
mov dl, 1
mov eax, dword [0x4296b4]
call fcn.004297b4
mov dword [0x457c38], eax
mov edx, 0x80000002
mov eax, dword [0x457c38]
call fcn.00429854
xor ecx, ecx
mov edx, 0x4539e4
mov eax, dword [0x457c38]
call fcn.004298bc
test al, al
je 0x4533f3
mov edx, 0x45397c
mov eax, dword [0x457c38]
call fcn.004299e0
xor eax, eax
push ebp
push 0x453846
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x453a1c
call fcn.00452fc4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x453850
push 0x457e4c
push 0x26
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
call fcn.00406ea4
test eax, eax
je 0x45343f
push 0x457e50
mov eax, dword [0x457e4c]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
mov eax, 0x457e48
mov edx, 0x457e50
mov ecx, 0x105
call fcn.00404714
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 8]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a30
lea eax, [ebp - 0xc]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0xc]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a40
lea eax, [ebp - 0x10]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x10]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a50
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x14]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a68
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x18]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a78
lea eax, [ebp - 0x1c]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x1c]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a8c
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x20]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453aa4
lea eax, [ebp - 0x24]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x24]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a30
lea eax, [ebp - 0x28]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x28]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a40
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x2c]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a50
lea eax, [ebp - 0x30]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x30]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a68
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x34]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a78
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x38]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453a8c
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x3c]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
push 0x453970
push 0x453aa4
lea eax, [ebp - 0x40]
mov edx, 5
call fcn.00404824
mov eax, dword [ebp - 0x40]
call fcn.00452cb8
push 0x3e8
call sub.kernel32.dll_Sleep_1
lea eax, [ebp - 0x44]
mov ecx, 0x453ab4
mov edx, dword [0x457e48]
call fcn.004047b0
mov eax, dword [ebp - 0x44]
call fcn.00408a14
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x48]
call fcn.00452a90
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x4c]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x50]
call fcn.00408a14
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x54]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x54]
call fcn.00452a90
push 0x1f4
call sub.kernel32.dll_Sleep_1
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x58]
call fcn.00452cb8
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x5c]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x5c]
call fcn.004088e8
test al, al
je 0x453845
push dword [0x457e48]
push 0x453970
push 0x45397c
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.00404824
mov eax, dword [ebp - 0x60]
call fcn.00402a98
call fcn.0040286c
ret