Function at 0x41d898
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcdc
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
lea edi, [ebp - 0x1d8]
xor eax, eax
push ebp
push 0x41dd05
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004029c0
mov eax, 0xff
call fcn.004026d0
mov dword [0x41fa7c], eax
push 0xff
mov eax, dword [0x41fa7c]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea eax, [ebp - 0x1dc]
mov edx, dword [0x41fa7c]
call fcn.004044e8
lea eax, [ebp - 0x1dc]
mov edx, 0x41dd1c
call fcn.004045b8
mov edx, dword [ebp - 0x1dc]
mov eax, edi
call fcn.00402cec
mov eax, edi
call fcn.00402a88
call fcn.004027e4
mov edx, 0x41dd30
mov eax, edi
call fcn.004048f4
call fcn.00402da8
call fcn.004027e4
mov eax, edi
call fcn.00402db4
call fcn.004027e4
mov esi, 3
mov eax, 6
call fcn.00402ed8
mov ebx, eax
test ebx, ebx
jne 0x41d97d
lea eax, [ebp - 8]
mov edx, 0x41dd4c
call fcn.00404390
cmp ebx, 1
jne 0x41d98f
lea eax, [ebp - 8]
mov edx, 0x41dd5c
call fcn.00404390
cmp ebx, 2
jne 0x41d9a1
lea eax, [ebp - 8]
mov edx, 0x41dd6c
call fcn.00404390
cmp ebx, 3
jne 0x41d9b3
lea eax, [ebp - 8]
mov edx, 0x41dd7c
call fcn.00404390
cmp ebx, 4
jne 0x41d9c5
lea eax, [ebp - 8]
mov edx, 0x41dd8c
call fcn.00404390
cmp ebx, 5
jne 0x41d9d7
lea eax, [ebp - 8]
mov edx, 0x41dd9c
call fcn.00404390
mov eax, 4
call fcn.00402ed8
mov ebx, eax
test ebx, ebx
jne 0x41d9f4
lea eax, [ebp - 0xc]
mov edx, 0x41ddac
call fcn.00404390
cmp ebx, 1
jne 0x41da06
lea eax, [ebp - 0xc]
mov edx, 0x41ddb8
call fcn.00404390
cmp ebx, 2
jne 0x41da18
lea eax, [ebp - 0xc]
mov edx, 0x41ddc4
call fcn.00404390
cmp ebx, 3
jne 0x41da52
lea eax, [ebp - 0x2e0]
mov edx, dword [0x41fa7c]
call fcn.004030d4
lea edx, [ebp - 0x2e0]
lea eax, [ebp - 0x1e0]
call fcn.00404554
mov edx, dword [ebp - 0x1e0]
lea eax, [ebp - 0xc]
mov ecx, 0x41ddd0
call fcn.004045fc
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2e4]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e8]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x2e8]
mov cl, 2
call fcn.00402e0c
lea edx, [ebp - 0x2e8]
lea eax, [ebp - 0x2f0]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x2f0]
mov cl, 3
call fcn.00402e0c
lea edx, [ebp - 0x2f0]
lea eax, [ebp - 0x2f8]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x2f8]
mov cl, 4
call fcn.00402e0c
lea edx, [ebp - 0x2f8]
lea eax, [ebp - 0x300]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x300]
mov cl, 5
call fcn.00402e0c
lea edx, [ebp - 0x300]
lea eax, [ebp - 0x308]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x308]
mov cl, 6
call fcn.00402e0c
lea edx, [ebp - 0x308]
lea eax, [ebp - 0x310]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x310]
mov cl, 7
call fcn.00402e0c
lea edx, [ebp - 0x310]
lea eax, [ebp - 0x31c]
call fcn.00402e3c
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x2ec]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x2ec]
lea eax, [ebp - 0x31c]
mov cl, 8
call fcn.00402e0c
lea edx, [ebp - 0x31c]
lea eax, [ebp - 4]
call fcn.00404554
push dword [ebp - 0xc]
lea eax, [ebp - 0x320]
push eax
mov eax, 8
call fcn.00402ed8
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404808
push dword [ebp - 0x320]
mov eax, 0x19
call fcn.00402ed8
mov edx, eax
add edx, 0x61
lea eax, [ebp - 0x324]
call fcn.004044d8
push dword [ebp - 0x324]
push dword [ebp - 8]
lea eax, [ebp - 4]
mov edx, 4
call fcn.00404670
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.00402cec
mov eax, edi
call fcn.00402a88
call fcn.004027e4
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.004048f4
call fcn.00402da8
call fcn.004027e4
mov eax, edi
call fcn.00402db4
call fcn.004027e4
dec esi
jne 0x41d960
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41dd0c
lea eax, [ebp - 0x324]
mov edx, 2
call fcn.0040431c
lea eax, [ebp - 0x1e0]
mov edx, 2
call fcn.0040431c
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040431c
ret