Function at 0x49e5d8
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x29
push 0
push 0
dec ecx
jne 0x49e5e0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x49e9bb
push dword fs:[eax]
mov dword fs:[eax], esp
push dword [0x4a2eac]
push 0x49e9d4
push 0x49e9e0
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404958
lea edx, [ebp - 4]
mov eax, dword [0x4a194c]
call fcn.0047eec0
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
mov ecx, 0x49e9f0
call fcn.004064fc
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov ecx, 0x49ea00
call fcn.004064fc
mov eax, dword [ebp - 0x14]
call fcn.00404a90
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x50]
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x14]
call fcn.00409590
mov eax, dword [ebp - 0x128]
call fcn.00404a90
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
mov eax, dword [ebx + 0x394]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x49e746
mov edx, 0x49ea18
mov eax, dword [ebx + 0x3c0]
call fcn.00444868
lea edx, [ebp - 0x12c]
mov eax, dword [ebx + 0x3c0]
call fcn.00444838
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebx + 0x3c4]
mov eax, dword [eax + 0x220]
call fcn.0041b6dc
mov eax, dword [0x4a1bb4]
mov eax, dword [eax]
call fcn.004641ac
mov edx, 0x55
mov eax, dword [ebx + 0x3d8]
call fcn.00480d1c
lea eax, [ebp - 0x10]
push eax
push 0x19
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
lea eax, [ebp - 0x121]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
lea eax, [ebp - 0x130]
lea edx, [ebp - 0x121]
mov ecx, 0x105
call fcn.00404848
lea eax, [ebp - 0x130]
mov edx, 0x49ea34
call fcn.004048a0
mov edx, dword [ebp - 0x130]
lea eax, [ebp - 0x18]
call fcn.00404e48
push 0
mov eax, dword [ebp - 0x18]
call fcn.00404e58
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
mov eax, dword [ebx + 0x390]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x49e926
mov edx, 0x49ea54
mov eax, dword [ebx + 0x3c0]
call fcn.00444868
lea edx, [ebp - 0x134]
mov eax, dword [ebx + 0x3c0]
call fcn.00444838
mov edx, dword [ebp - 0x134]
mov eax, dword [ebx + 0x3c4]
mov eax, dword [eax + 0x220]
call fcn.0041b6dc
mov eax, dword [0x4a1bb4]
mov eax, dword [eax]
call fcn.004641ac
mov edx, 0x5a
mov eax, dword [ebx + 0x3d8]
call fcn.00480d1c
lea eax, [ebp - 0x10]
push eax
push 0x17
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
lea eax, [ebp - 0x121]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
lea eax, [ebp - 0x138]
lea edx, [ebp - 0x121]
mov ecx, 0x105
call fcn.00404848
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x1c]
mov ecx, 0x49ea74
call fcn.004048e4
mov eax, dword [ebp - 0x1c]
call fcn.0046b668
test al, al
jne 0x49e816
mov eax, dword [0x4a1bb4]
mov eax, dword [eax]
call fcn.004641ac
mov eax, dword [ebp - 0x1c]
call fcn.0046b670
lea eax, [ebp - 0x13c]
mov ecx, 0x49ea34
mov edx, dword [ebp - 0x1c]
call fcn.004048e4
mov edx, dword [ebp - 0x13c]
lea eax, [ebp - 0x18]
call fcn.00404e48
push 0
mov eax, dword [ebp - 0x18]
call fcn.00404e58
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
mov edx, 0x49ea90
mov eax, dword [ebx + 0x3c0]
call fcn.00444868
lea edx, [ebp - 0x140]
mov eax, dword [ebx + 0x3c0]
call fcn.00444838
mov edx, dword [ebp - 0x140]
mov eax, dword [ebx + 0x3c4]
mov eax, dword [eax + 0x220]
call fcn.0041b6dc
mov eax, dword [0x4a1bb4]
mov eax, dword [eax]
call fcn.004641ac
mov edx, 0x5f
mov eax, dword [ebx + 0x3d8]
call fcn.00480d1c
push dword [0x4a2eac]
push 0x49e9d4
push 0x49eab4
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404958
mov eax, dword [ebp - 0x14]
call fcn.00404a90
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x50]
lea edx, [ebp - 0x144]
mov eax, dword [ebp - 0x14]
call fcn.00409590
mov eax, dword [ebp - 0x144]
call fcn.00404a90
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
lea eax, [ebp - 0x148]
mov ecx, 0x49eacc
mov edx, dword [ebp - 0x1c]
call fcn.004048e4
mov edx, dword [ebp - 0x148]
lea eax, [ebp - 0x18]
call fcn.00404e48
push 0
mov eax, dword [ebp - 0x18]
call fcn.00404e58
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49e9c5
lea eax, [ebp - 0x148]
mov edx, 2
call fcn.00404604
lea eax, [ebp - 0x140]
call fcn.004045e0
lea eax, [ebp - 0x13c]
mov edx, 2
call fcn.00404604
lea eax, [ebp - 0x134]
call fcn.004045e0
lea eax, [ebp - 0x130]
call fcn.004045e0
lea eax, [ebp - 0x12c]
call fcn.004045e0
lea eax, [ebp - 0x128]
call fcn.004045e0
lea eax, [ebp - 0x1c]
call fcn.004045e0
lea eax, [ebp - 0x18]
call fcn.00404cfc
lea eax, [ebp - 0x14]
call fcn.004045e0
lea eax, [ebp - 0xc]
call fcn.004064b8
lea eax, [ebp - 8]
call fcn.004064b8
lea eax, [ebp - 4]
call fcn.004064b8
ret