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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
push ebx
push esi
push edi
mov dword [ebp - 0x208], 0
push 0x200
push 0x5a2220
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x200
push 0x5a1dc0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x53b3a4
push 0x5a1dc0
call fcn.0041bfb0
add esp, 8
test byte [ebp + 8], 4
je 0x413f53
push 0x5a2220
lea eax, [ebp - 0x408]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b3ac
lea eax, [ebp - 0x408]
push eax
call fcn.0041bfb0
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x413ed7
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 - 0x208], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b3b8
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041bfb0
add esp, 8
push 0x523ca0
call fcn.004159fe
add esp, 4
push 0
push 0xb260
push 0x523ca0
mov eax, dword [ebp - 0x208]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x204], eax
cmp dword [ebp + 0xc], 0
je 0x413f2f
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041c090
add esp, 4
mov dword [ebp - 0x208], 0
cmp dword [ebp - 0x204], 0xffffffff
jne 0x413f53
push 0x2004001
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x4141a8
test byte [ebp + 8], 8
je 0x4140b8
push 0x5a2220
lea eax, [ebp - 0x408]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b3c4
lea eax, [ebp - 0x408]
push eax
call fcn.0041bfb0
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x413fd6
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 - 0x208], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b3d4
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041bfb0
add esp, 8
push 0x200
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x53b3e4
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 0x414046
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x414046
push 0x40001
call fcn.0040435c
add esp, 4
push 0x200400e
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x4141a8
push 0x52ef00
call fcn.004159fe
add esp, 4
push 0
push 0xc256
push 0x52ef00
mov eax, dword [ebp - 0x208]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x204], eax
cmp dword [ebp + 0xc], 0
je 0x414094
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041c090
add esp, 4
cmp dword [ebp - 0x204], 0xffffffff
jne 0x4140b8
push 0x200400e
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x4141a8
push 0x5a1dc0
lea eax, [ebp - 0x408]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b3f4
lea eax, [ebp - 0x408]
push eax
call fcn.0041bfb0
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x414131
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 - 0x208], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041bfa0
add esp, 8
push 0x53b404
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041bfb0
add esp, 8
push 0
call fcn.004060d3
push eax
push 0x472738
mov eax, dword [ebp - 0x208]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.00414b28
add esp, 0x14
mov dword [ebp - 0x204], eax
cmp dword [ebp + 0xc], 0
je 0x41417d
mov eax, dword [ebp - 0x208]
push eax
call fcn.0041c090
add esp, 4
mov dword [ebp - 0x208], 0
cmp dword [ebp - 0x204], 0xffffffff
jne 0x4141a1
push 0x200401c
call fcn.004042f8
add esp, 4
mov eax, 0xffffffff
jmp 0x4141a8
xor eax, eax
jmp 0x4141a8
pop edi
pop esi
pop ebx
leave
ret