Function at 0x4141ad
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4d4
push ebx
push esi
push edi
mov dword [ebp - 0x2d4], 0
mov byte [ebp - 0x2cc], 0
lea edi, [ebp - 0x2cb]
xor eax, eax
mov ecx, 0x31
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x200
push 0x5a2220
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x200
push 0x5a1dc0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x53b414
push 0x5a1dc0
call fcn.0041bfb0
add esp, 8
test byte [ebp + 8], 1
je 0x41448a
push 0x5a2220
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b41c
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfb0
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x414291
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041bdf0
add esp, 4
add eax, 0x32
push eax
call fcn.0041cee8
add esp, 8
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b42c
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfb0
add esp, 8
push 0x200
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x53b43c
lea eax, [ebp - 0x200]
push eax
call fcn.0041bfb0
add esp, 8
lea eax, [ebp - 0x200]
push eax
call fcn.00406151
add esp, 4
test eax, eax
jne 0x414301
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x414301
push 0x40001
call fcn.0040435c
add esp, 4
push 0x2004016
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x414695
push 0
push 0
call fcn.0041851c
add esp, 4
push eax
push 0x53b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 1
push 1
call fcn.0041851c
add esp, 4
push eax
push 0x54b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 2
push 2
call fcn.0041851c
add esp, 4
push eax
push 0x55b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 3
push 3
call fcn.0041851c
add esp, 4
push eax
push 0x56b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 4
push 4
call fcn.0041851c
add esp, 4
push eax
push 0x57b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 5
push 5
call fcn.0041851c
add esp, 4
push eax
push 0x58b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 6
push 6
call fcn.0041851c
add esp, 4
push eax
push 0x59b708
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
cmp dword [ebp + 0xc], 0
je 0x414466
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041c090
add esp, 4
mov dword [ebp - 0x2d4], 0
cmp dword [ebp - 0x2d0], 0xffffffff
jne 0x41448a
push 0x2004016
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x414695
test byte [ebp + 8], 2
je 0x4145a5
cmp dword [ebp + 0x10], 0
je 0x4145a5
push 0x5a2220
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b44c
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfb0
add esp, 8
push 0x53b450
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfb0
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x41453f
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041bdf0
add esp, 4
add eax, 0x32
push eax
call fcn.0041cee8
add esp, 8
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b45c
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfb0
add esp, 8
push 0x53b460
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfb0
add esp, 8
push 0
call fcn.0040606a
push eax
push 0x431d38
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
cmp dword [ebp + 0xc], 0
je 0x414581
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041c090
add esp, 4
cmp dword [ebp - 0x2d0], 0xffffffff
jne 0x4145a5
push 0x2004018
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x414695
push 0x5a1dc0
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b46c
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041bfb0
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x41461e
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041bdf0
add esp, 4
add eax, 0x32
push eax
call fcn.0041cee8
add esp, 8
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b47c
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041bfb0
add esp, 8
push 0
call fcn.004060e8
push eax
push 0x473018
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x2d0], eax
cmp dword [ebp + 0xc], 0
je 0x41466a
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041c090
add esp, 4
mov dword [ebp - 0x2d4], 0
cmp dword [ebp - 0x2d0], 0xffffffff
jne 0x41468e
push 0x200401c
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x414695
xor eax, eax
jmp 0x414695
pop edi
pop esi
pop ebx
leave
ret