Function at 0x1013dc4
Capabilities:
Check if file exists
Get file attributes
Identify system language via api
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x10413a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x418], ebx
mov byte [ebp - 0x108], bl
mov dword [0x1041968], ebx
cmp edi, ebx
je 0x1014259
cmp byte [edi], bl
je 0x1014259
push 0x2e
push edi
call fcn.0100bd56
mov esi, 0x104
test eax, eax
jne 0x1013e3a
push edi
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0100e041
push 0x1005044
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01007b2f
lea edi, [ebp - 0x20c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x428]
push eax
call fcn.01012f87
mov eax, dword [ebp - 0x41c]
add eax, edi
mov dword [ebp - 0x420], eax
cmp byte [eax], bl
je 0x1014259
mov eax, dword [ebp - 0x428]
cmp byte [edi + eax], bl
jne 0x10140fa
mov eax, dword [ebp - 0x424]
mov al, byte [edi + eax]
cmp al, 0x5c
je 0x10140fa
cmp al, 0x2f
je 0x10140fa
test dword [ebp + 0xc], 0x800
jne 0x10140c5
xor eax, eax
inc eax
mov word [0x10414ec], ax
mov dword [ebp - 0x418], ebx
mov eax, 0x100
cmp word [0x10414ec], ax
ja 0x10140d3
cmp dword [ebp - 0x418], ebx
jne 0x10140d3
mov eax, dword [0x10414ec]
and eax, dword [ebp + 0xc]
movzx ebx, ax
mov dword [ebp - 0x420], ebx
cmp bx, 1
jne 0x1013f97
test dword [ebp + 0xc], 0x8000
je 0x1014056
call fcn.01011d7f
mov dword [ebp - 0x424], eax
test eax, eax
jne 0x1013f1d
cmp dword [0x1041768], eax
je 0x1014056
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
je 0x1014050
mov eax, dword [0x1041768]
test eax, eax
jne 0x1013f45
mov eax, dword [ebp - 0x424]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
push 3
push esi
push ebx
push eax
call fcn.0101354d
mov eax, dword [ebp - 0x41c]
add eax, edi
push eax
push esi
push ebx
call fcn.01007b2f
push ebx
call fcn.01012e56
push ebx
mov dword [ebp - 0x418], eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x418]
call fcn.01012f0b
test eax, eax
jne 0x10141d8
lea eax, [ebp - 0x418]
push eax
call fcn.01012ee8
mov ebx, dword [ebp - 0x420]
mov eax, 0x80
cmp bx, ax
jne 0x1013fb3
xor eax, eax
cmp dword [0x1041760], 2
setne al
push eax
jmp 0x101403a
cmp bx, 0x20
jne 0x101401a
push esi
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.010139c9
test eax, eax
lea eax, [ebp - 0x108]
push eax
jne 0x1014013
push edi
call fcn.010137b1
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x101400c
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x108]
push eax
push esi
push 0
push edi
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathA]
test eax, eax
je 0x10140c5
lea eax, [ebp - 0x108]
push eax
call fcn.01012e56
jmp 0x1014041
cmp bx, 0x10
jne 0x1014032
mov eax, dword [ebp - 0x41c]
push 0
add eax, edi
push eax
call fcn.01013abe
jmp 0x1014041
cmp bx, 0x40
jne 0x1014049
push 0
mov ecx, edi
call fcn.010135f2
mov dword [ebp - 0x418], eax
jmp 0x10140c5
test bx, bx
je 0x10140c5
jmp 0x1014056
mov ebx, dword [ebp - 0x420]
push ebx
lea eax, [ebp - 0x108]
call fcn.0101329c
test eax, eax
je 0x10140c5
mov eax, dword [ebp - 0x41c]
add eax, edi
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, esi
sub ecx, eax
push ecx
lea eax, [ebp - 0x108]
push eax
call fcn.01007b2f
lea eax, [ebp - 0x108]
push eax
call fcn.01012e56
mov dword [ebp - 0x418], eax
test eax, eax
jne 0x10140af
mov dword [0x1041968], 1
jmp 0x10140c5
push eax
call fcn.01012f0b
test eax, eax
jne 0x10140c5
lea eax, [ebp - 0x418]
push eax
call fcn.01012ee8
shl word [0x10414ec], 1
xor ebx, ebx
jmp 0x1013ebc
cmp dword [0x1041968], ebx
jne 0x10141d8
cmp dword [ebp - 0x418], ebx
jne 0x10141d8
mov dword [0x1041968], 3
jmp 0x10141d8
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov bx, ax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
cmp ax, bx
je 0x10141ef
cmp dword [ebp - 0x41c], 0
je 0x10141ef
cmp dword [ebp - 0x41c], 0xeb
jge 0x10141ef
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
push eax
push 0x1004a78
lea eax, [ebp - 0x414]
push esi
push eax
call fcn.01007bcb
add esp, 0x10
push dword [ebp - 0x420]
lea eax, [ebp - 0x414]
push esi
push eax
call fcn.01007b2f
push dword [ebp - 0x41c]
lea eax, [ebp - 0x310]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, esi
sub ecx, eax
push ecx
lea eax, [ebp - 0x310]
push eax
call fcn.01008af4
push esi
lea eax, [ebp - 0x310]
push eax
call fcn.01013047
lea eax, [ebp - 0x414]
push eax
push esi
lea eax, [ebp - 0x310]
push eax
call fcn.01007b2f
push esi
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea eax, [ebp - 0x20c]
push eax
call fcn.01012e56
push eax
mov dword [ebp - 0x418], eax
call fcn.01012f0b
test eax, eax
je 0x10141e3
mov eax, dword [ebp - 0x418]
jmp 0x1014265
lea eax, [ebp - 0x418]
push eax
call fcn.01012ee8
push edi
call fcn.01012e56
mov edi, eax
push edi
call fcn.01012f0b
test eax, eax
jne 0x1014255
test edi, edi
je 0x1014217
push 0x1004a6c
push edi
call dword [sym.imp.msvcrt.dll_strstr]
pop ecx
pop ecx
test eax, eax
jne 0x1014255
push edi
call fcn.01007110
push dword [ebp - 0x420]
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0100e041
push dword [ebp + 0xc]
lea eax, [ebp - 0x108]
push eax
call fcn.01013dc4
mov edi, eax
push edi
call fcn.01012f0b
test eax, eax
jne 0x1014255
mov dword [0x1041968], 3
mov eax, edi
jmp 0x1014265
xor eax, eax
mov dword [0x1041968], 6
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0103d1ec
leave
ret 8