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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x468891
mov eax, dword [ebp - 4]
add esp, 0xfffffd84
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
push 0
push 0
push 0
mov eax, 0x4ba55c
xor ecx, ecx
mov edx, ebx
call fcn.0045d278
test al, al
jne 0x4688cf
cmp byte [ebp + 0x14], 0
jne 0x468b4c
push 1
push 0
mov eax, 0x4ba55c
mov ecx, esi
mov edx, ebx
call fcn.0045bc70
cmp eax, 1
je 0x468935
test eax, eax
jne 0x468b4c
cmp dword [ebp + 8], 1
jne 0x468b4c
mov edx, 0x4a0770
mov eax, ebx
call fcn.0040b9bc
test al, al
jne 0x46891c
mov edx, 0x4a0774
mov eax, ebx
call fcn.0040b9bc
test al, al
je 0x468b4c
mov eax, 0x1fc
call fcn.004117b8
push eax
push ebx
call fcn.00444944
add esp, 8
jmp 0x468b4c
cmp byte [ebp + 0xc], 0
je 0x468955
lea edx, [ebp - 0x9c]
mov eax, 0x4ba55c
call fcn.0045d1d8
cmp byte [ebp - 6], 0
jne 0x468b4c
cmp byte [ebp + 0x10], 0
je 0x4689e1
mov eax, 0x4ba55c
call fcn.0045d1d0
test eax, eax
je 0x4689e1
push 0
push 0
push 0
lea ecx, [ebp - 0x49c]
mov eax, 0x4ba55c
mov edx, ebx
call fcn.0045d278
lea edx, [ebp - 0x49c]
mov eax, ebx
call fcn.0040e6f4
test eax, eax
je 0x4689ab
lea ecx, [ebp - 0x49c]
push ecx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x468b4c
mov edx, 0x4a0778
lea eax, [ebp - 0x49c]
call fcn.0040b8a4
lea edx, [ebp - 0x49c]
mov eax, ebx
call fcn.0040e6f4
test eax, eax
je 0x4689e1
lea ecx, [ebp - 0x49c]
push ecx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
jne 0x468b4c
push 0xc30
push 0
lea eax, [ebp - 0x10cc]
push eax
call fcn.0048d2a4
add esp, 0xc
lea edx, [ebp - 0x10cc]
mov eax, ebx
call fcn.0040a580
call fcn.0040f8f0
test eax, eax
je 0x468a4b
test esi, esi
je 0x468a17
cmp word [esi], 0
jne 0x468a4b
lea edx, [ebp - 0x20cc]
push edx
push 0x800
call sub.KERNEL32.DLL_GetCurrentDirectoryW
lea eax, [ebp - 0x20cc]
call fcn.0040e8b8
test al, al
jne 0x468a4b
lea esi, [ebp - 0x18cc]
mov ecx, 0x10000000
mov edx, esi
mov eax, ebx
call fcn.0040f968
mov eax, esi
call fcn.0040e6a4
lea edx, [ebp - 0xccc]
call fcn.0040a5c8
mov ecx, dword [0x4ba764]
mov eax, 0x4ba55c
mov dword [ebp - 0x4a0], ecx
call fcn.0045d1d0
test eax, eax
je 0x468a7e
or dword [ebp - 0x4b0], 4
test edi, edi
jne 0x468abe
lea eax, [ebp - 0x256c]
call fcn.00412ecc
lea eax, [ebp - 0x2540]
call fcn.00412ecc
lea eax, [ebp - 0x2514]
call fcn.00412ecc
push 0
lea ecx, [ebp - 0x3180]
mov edx, esi
mov eax, ebx
call fcn.00411fe4
test al, al
je 0x468abe
lea edi, [ebp - 0x3180]
test edi, edi
je 0x468af2
mov eax, dword [edi + 0xc00]
mov dword [ebp - 0x4cc], eax
mov eax, dword [edi + 0xc04]
mov dword [ebp - 0x4c8], eax
mov edx, dword [edi + 0x10a8]
mov dword [ebp - 0x4b8], edx
mov edx, dword [edi + 0x10ac]
mov dword [ebp - 0x4b4], edx
inc dword [0x4bcaf4]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [ebp - 0x4c8]
add dword [0x4bcb00], eax
adc dword [0x4bcb04], edx
lea edx, [ebp - 0x10cc]
mov eax, dword [ebp + 0x18]
call fcn.00464f04
mov ebx, eax
mov eax, 0x35c
inc ebx
push ebx
call fcn.004117b8
push eax
lea edx, [ebp - 0x3280]
push edx
call fcn.004902f4
add esp, 0xc
lea edx, [ebp - 0x3280]
mov eax, 0x4b9d84
call fcn.00445478
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14