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

Disassembly:
push 0x84
mov eax, 0x49a7ca
call fcn.00497232
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
xor eax, eax
mov dword [ebp - 0x18], ebx
inc eax
push 0x4beffc
push dword [ebp + 8]
mov byte [ebp - 4], al
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.MSVCR120.dll__wfopen_s]
add esp, 0xc
cmp dword [ebp - 0x18], ebx
jne 0x46893c
xor eax, eax
lea esi, [eax + 1]
jmp 0x46899a
lea ecx, [ebp - 0x90]
call fcn.00442cc3
push ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 2
call fcn.00442e91
test al, al
je 0x468987
push 0x4a00ac
lea ecx, [ebp - 0x90]
call fcn.004425a2
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.004694c6
test eax, eax
jne 0x4689b7
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR120.dll_fclose]
pop ecx
xor eax, eax
inc eax
mov esi, eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], al
call fcn.00442057
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.0045f6ac
lea ecx, [ebp + 8]
call fcn.0045e73f
mov eax, esi
call fcn.00497200
ret 0xc
push str.CrashGUID
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.00443a26
lea ecx, [ebp - 0x10]
call fcn.004694c6
mov esi, dword [ebp + 0x10]
push 8
pop edi
test eax, eax
je 0x468a1d
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x10]
call fcn.00443a05
mov ecx, eax
call fcn.004694e7
test eax, eax
je 0x468a1d
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x10]
call fcn.00443a05
mov ecx, eax
call fcn.004694e7
mov eax, dword [eax + 0x20]
add eax, edi
je 0x468a1d
push eax
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [esi + 4]
call fcn.0045e774
push 0x4a00c4
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.00443a26
lea ecx, [ebp + 0x10]
call fcn.004694c6
test eax, eax
je 0x468a66
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0x10]
call fcn.00443a05
mov ecx, eax
call fcn.004694e7
mov eax, dword [eax + 0x20]
add eax, edi
je 0x468a66
push eax
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [esi + 8]
call fcn.0045e774
push 0x4a00cc
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.00443a26
lea ecx, [ebp + 0x10]
call fcn.004694c6
test eax, eax
je 0x468ab3
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0x10]
call fcn.00443a05
mov ecx, eax
call fcn.004694e7
test eax, eax
je 0x468ab3
mov eax, dword [eax + 0x20]
add eax, edi
je 0x468ab3
push eax
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [esi + 0xc]
call fcn.0045e774
push 0x4a00d8
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.00443a26
lea ecx, [ebp + 0x10]
call fcn.004694c6
test eax, eax
je 0x468b00
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0x10]
call fcn.00443a05
mov ecx, eax
call fcn.004694e7
test eax, eax
je 0x468b00
mov eax, dword [eax + 0x20]
add eax, edi
je 0x468b00
push eax
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [esi + 0x10]
call fcn.0045e774
push 0x4a00e4
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.00443a26
lea ecx, [ebp + 0x10]
call fcn.004694c6
test eax, eax
je 0x468b4d
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0x10]
call fcn.00443a05
mov ecx, eax
call fcn.004694e7
test eax, eax
je 0x468b4d
mov eax, dword [eax + 0x20]
add eax, edi
je 0x468b4d
push eax
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [esi + 0x1c]
call fcn.0045e774
cmp dword [ebp + 0xc], 0
je 0x468d7a
lea eax, [ebp + 8]
push eax
lea ecx, [ebp + 0xc]
call fcn.0045e6a5
push 0x5c
push dword [ebp + 8]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCR120.dll_wcsrchr]
pop ecx
pop ecx
test eax, eax
je 0x468ba5
sub eax, dword [ebp + 8]
sar eax, 1
js 0x468ba5
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp + 8]
call fcn.004609a6
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 4
call fcn.0045f6df
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.0045e73f
xor eax, eax
lea ecx, [ebp + 0xc]
inc eax
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0046933f
mov edi, 0x49f800
push edi
push dword [eax]
call dword [sym.imp.MSVCR120.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
lea ecx, [ebp - 0x10]
setne bl
call fcn.0045e73f
test bl, bl
je 0x468bdf
push edi
lea ecx, [ebp + 0xc]
call fcn.0045f7e1
push str.FileList
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.00443a26
lea ecx, [ebp - 0x2c]
call fcn.004694c6
test eax, eax
jne 0x468c18
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR120.dll_fclose]
pop ecx
lea ecx, [ebp + 0xc]
call fcn.0045e73f
xor eax, eax
inc eax
xor ebx, ebx
jmp 0x46898a
push str.FileItem
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00443a26
jmp 0x468d60
push str.name
lea ecx, [ebp + 0x10]
call fcn.004694c6
mov ecx, eax
call fcn.00442933
push 0x4a0074
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x30], eax
call fcn.004694c6
mov ecx, eax
call fcn.00442933
push str.optional
lea ecx, [ebp + 0x10]
mov ebx, eax
call fcn.004694c6
mov ecx, eax
call fcn.00442933
mov edi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x468d49
push eax
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [ebp - 0x10]
call fcn.0045f630
lea ecx, [ebp - 0x48]
call fcn.004662a2
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x48]
call fcn.0045f6df
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00466f64
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 7
call fcn.0045f6df
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.0045e73f
test ebx, ebx
je 0x468ce6
push ebx
lea ecx, [ebp - 0x28]
call fcn.0046b60f
push eax
lea ecx, [ebp - 0x40]
call fcn.0045e774
and dword [ebp - 0x3c], 0
test edi, edi
je 0x468d09
push 0x4a008c
push edi
call sub.MSVCR120.dll_strcmp
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
test eax, eax
push 1
pop eax
cmove ecx, eax
mov dword [ebp - 0x38], ecx
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x468d35
test al, 0x10
jne 0x468d35
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [esi + 0x98]
call fcn.00466a9d
mov ecx, eax
call fcn.0046687b
lea ecx, [ebp - 0x48]
call fcn.004665ae
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.0045e73f
lea ecx, [ebp + 0x10]
call fcn.004694c6
push str.FileItem
mov ecx, eax
call fcn.00442667
mov dword [ebp + 0x10], eax
lea ecx, [ebp + 0x10]
call fcn.004694c6
test eax, eax
jne 0x468c2e
lea ecx, [ebp + 0xc]
call fcn.0045e73f
xor ebx, ebx
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR120.dll_fclose]
xor eax, eax
mov esi, ebx
pop ecx
inc eax
jmp 0x46898c