Function at 0x1d4bc30
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x1e94008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
sub eax, 0
je 0x1d4be65
sub eax, 1
jne 0x1d4bee2
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x414]
push 0x104
push eax
push 0
mov dword [0x2058b30], esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x414]
mov dword [ebp - 0x428], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x418], 4
mov word [ebp - 0x41c], 0
mov byte [ebp - 0x41a], 0
call fcn.01d0e780
push 0x103
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01e0d270
add esp, 0xc
mov byte [ebp - 0x109], 0
lea ecx, [ebp - 0x428]
call fcn.01d0da20
push 0x103
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.01e0d270
add esp, 0xc
mov byte [ebp - 5], 0
cmp byte [ebp - 0x108], 0
lea eax, [ebp - 0x108]
je 0x1d4bd26
mov cl, byte [eax]
cmp cl, 0x2f
je 0x1d4bd1d
cmp cl, 0x5c
jne 0x1d4bd20
mov byte [eax], 0x5c
inc eax
cmp byte [eax], 0
jne 0x1d4bd11
lea ecx, [ebp - 0x20c]
call fcn.01d1a7c0
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.01e04410
add esp, 8
test eax, eax
je 0x1d4bd49
mov byte [eax], 0
mov edx, str.cstrike
lea ecx, [ebp - 0x108]
call fcn.01d3f2c0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x424], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x420], 0
mov word [ebp - 0x41c], 0
mov byte [ebp - 0x41a], 0
mov dword [ebp - 0x418], 4
call fcn.01d0d980
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea ecx, [ebp - 0x428]
mov ebx, eax
call fcn.01d0da20
cmp ebx, 0xffffffff
je 0x1d4be3d
test bl, 0x10
je 0x1d4be3d
lea eax, [ebp - 0x20c]
push str.cs.exe
push eax
call fcn.01e06197
add esp, 8
test eax, eax
je 0x1d4bdf0
lea eax, [ebp - 0x20c]
push str.hl.exe
push eax
call fcn.01e06197
add esp, 8
test eax, eax
jne 0x1d4be51
call fcn.01d37f90
mov ecx, eax
call fcn.01d37170
push esi
call fcn.01d2e340
test al, al
je 0x1d4be51
cmp dword [0x205af48], 0
jne 0x1d4bee2
mov ecx, 0x205af54
call dword [sym.imp.vstdlib_d.dll_public:_bool___thiscall_CCommandLineParam::Exists_void_const]
test al, al
jne 0x1d4bee2
push 0x1d4ac90
push 1
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov dword [0x205af48], eax
jmp 0x1d4bee2
push 0x10
push str.Fatal_Error
push str.ERROR:_Unable_to_run_the_application_outside_the_directory_of_the_game.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret 0xc
cmp byte [0x1ea8613], 0
jne 0x1d4be8e
mov byte [0x1ea8613], 1
mov byte [0x1ea8641], 0
call dword [sym.imp.WS2_32.dll_WSACleanup]
call fcn.01d495b0
mov ecx, eax
call fcn.01d49a80
call fcn.01d2e390
mov eax, dword [0x205af48]
mov byte [0x205af4c], 1
test eax, eax
je 0x1d4beb4
push eax
call dword [sym.imp.KERNEL32.dll_RemoveVectoredExceptionHandler]
mov dword [0x205af48], 0
mov ecx, dword [0x1ea8638]
test ecx, ecx
je 0x1d4becb
cmp byte [ecx + 0x44], 0
je 0x1d4becb
mov ecx, dword [ecx + 0x30]
mov eax, dword [ecx]
jmp 0x1d4bed5
mov eax, dword [0x205af68]
mov ecx, 0x205af68
call dword [eax + 4]
mov dword [0x2058b30], 0
mov ecx, dword [ebp - 4]
mov eax, 1
pop esi
xor ecx, ebp
pop ebx
call fcn.01e029b1
mov esp, ebp
pop ebp
ret 0xc