Function at 0x4e1048
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x4b
push 0
push 0
dec ecx
jne 0x4e1051
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov ebx, ecx
mov esi, edx
mov edi, eax
xor eax, eax
push ebp
push 0x4e14cc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
call fcn.00405d6c
mov word [ebp - 0x20a], 0
push 0
push esi
lea eax, [ebp - 0x20a]
push eax
push edi
call sub.shell32.dll_SHGetSpecialFolderPathW
test eax, eax
je 0x4e10ab
mov eax, ebx
lea edx, [ebp - 0x20a]
mov ecx, 0x105
call fcn.00405f7c
mov eax, dword [ebx]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x4e10c2
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jg case.0x4e10de.27
add esi, 0xffffffe6
cmp esi, 0x11
ja case.0x4e10de.27
movzx esi, byte [esi + 0x4e10e5]
jmp dword [esi*4 + 0x4e10f7]
lea edx, [ebp - 0x214]
mov eax, 0x4e14e8
call fcn.00415fac
mov eax, dword [ebp - 0x214]
mov edx, ebx
call fcn.0040c760
cmp dword [ebx], 0
jne case.0x4e10de.27
push 0x4e1500
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x218]
call fcn.00415874
mov eax, dword [ebp - 0x218]
mov edx, ebx
call fcn.0040dc60
mov eax, dword [0x55e2dc]
cmp dword [eax], 5
jle 0x4e118e
push dword [ebx]
push 0x4e1528
lea eax, [ebp - 0x21c]
call fcn.004e0fc0
push dword [ebp - 0x21c]
mov eax, ebx
mov edx, 3
call fcn.00406334
jmp case.0x4e10de.27
push dword [ebx]
push 0x4e1544
lea eax, [ebp - 0x220]
call fcn.004e0fc0
push dword [ebp - 0x220]
mov eax, ebx
mov edx, 3
call fcn.00406334
jmp case.0x4e10de.27
call fcn.004e0ef4
test al, al
je 0x4e11df
lea edx, [ebp - 0x224]
mov eax, 0x4e1584
call fcn.00415fac
mov eax, dword [ebp - 0x224]
mov edx, ebx
call fcn.0040c760
jmp 0x4e11fc
lea edx, [ebp - 0x228]
mov eax, 0x4e15b4
call fcn.00415fac
mov eax, dword [ebp - 0x228]
mov edx, ebx
call fcn.0040c760
cmp dword [ebx], 0
jne case.0x4e10de.27
push 0x4e1500
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x22c]
call fcn.00415874
mov eax, dword [ebp - 0x22c]
mov edx, ebx
call fcn.0040dc60
call fcn.004e0ef4
test al, al
je 0x4e1241
mov eax, ebx
mov edx, 0x4e15dc
call fcn.00406190
jmp case.0x4e10de.27
mov eax, ebx
mov edx, 0x4e1614
call fcn.00406190
jmp case.0x4e10de.27
call fcn.004e0ef4
test al, al
je 0x4e127a
lea edx, [ebp - 0x230]
mov eax, 0x4e1640
call fcn.00415fac
mov eax, dword [ebp - 0x230]
mov edx, ebx
call fcn.0040c760
jmp 0x4e1297
lea edx, [ebp - 0x234]
mov eax, 0x4e167c
call fcn.00415fac
mov eax, dword [ebp - 0x234]
mov edx, ebx
call fcn.0040c760
cmp dword [ebx], 0
jne case.0x4e10de.27
push 0x4e1500
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x238]
call fcn.00415874
mov eax, dword [ebp - 0x238]
mov edx, ebx
call fcn.0040dc60
call fcn.004e0ef4
test al, al
je 0x4e12dc
mov eax, ebx
mov edx, 0x4e16b0
call fcn.00406190
jmp case.0x4e10de.27
mov eax, ebx
mov edx, 0x4e1700
call fcn.00406190
jmp case.0x4e10de.27
lea edx, [ebp - 0x23c]
mov eax, 0x4e1744
call fcn.00415fac
mov eax, dword [ebp - 0x23c]
mov edx, ebx
call fcn.0040c760
cmp dword [ebx], 0
jne case.0x4e10de.27
push 0x4e1500
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x240]
call fcn.00415874
mov eax, dword [ebp - 0x240]
mov edx, ebx
call fcn.0040dc60
mov eax, dword [0x55e2dc]
cmp dword [eax], 5
jle 0x4e136d
push dword [ebx]
push 0x4e1528
lea eax, [ebp - 0x244]
call fcn.004e0fc0
push dword [ebp - 0x244]
push 0x4e1760
mov eax, ebx
mov edx, 4
call fcn.00406334
jmp case.0x4e10de.27
push dword [ebx]
push 0x4e1544
lea eax, [ebp - 0x248]
call fcn.004e0fc0
push dword [ebp - 0x248]
push 0x4e1790
mov eax, ebx
mov edx, 4
call fcn.00406334
jmp case.0x4e10de.27
lea edx, [ebp - 0x24c]
mov eax, 0x4e17c0
call fcn.00415fac
mov eax, dword [ebp - 0x24c]
mov edx, ebx
call fcn.0040c760
cmp dword [ebx], 0
jne case.0x4e10de.27
push 0x4e1500
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x250]
call fcn.00415874
mov eax, dword [ebp - 0x250]
mov edx, ebx
call fcn.0040dc60
mov eax, dword [0x55e2dc]
cmp dword [eax], 5
jle 0x4e141b
push dword [ebx]
push 0x4e1528
lea eax, [ebp - 0x254]
call fcn.004e0fc0
push dword [ebp - 0x254]
push 0x4e17e8
mov eax, ebx
mov edx, 4
call fcn.00406334
jmp case.0x4e10de.27
push dword [ebx]
push 0x4e1544
lea eax, [ebp - 0x258]
call fcn.004e0fc0
push dword [ebp - 0x258]
push 0x4e1814
mov eax, ebx
mov edx, 4
call fcn.00406334
jmp case.0x4e10de.27
lea edx, [ebp - 0x25c]
mov eax, 0x4e1864
call fcn.00415fac
mov eax, dword [ebp - 0x25c]
mov edx, ebx
call fcn.0040c760
cmp dword [ebx], 0
jne case.0x4e10de.27
push 0x4e1500
call sub.kernel32.dll_GetModuleHandleW_2
lea edx, [ebp - 0x260]
call fcn.00415874
mov eax, dword [ebp - 0x260]
mov edx, ebx
call fcn.0040dc60
mov eax, dword [0x55e2dc]
cmp dword [eax], 5
jle 0x4e14a2
mov eax, ebx
mov edx, 0x4e1888
call fcn.00406190
jmp case.0x4e10de.27
mov eax, ebx
mov edx, 0x4e18b0
call fcn.00406190
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e14d3
lea eax, [ebp - 0x260]
mov edx, 0x14
call fcn.00405d64
ret