Function at 0x401750
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42d555
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push esi
push edi
mov eax, dword [0x43e028]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov edi, 8
mov dword [ebp - 0x24], 0
cmp dword [ebp + 0x1c], edi
jae 0x401797
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call dword [0x43042c]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x40192d
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x1c], edi
jae 0x4017c6
lea eax, [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40192d
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x1c], edi
jae 0x4017e0
lea eax, [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x40192d
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x18], esp
push edx
mov dword [ebp - 0x20], eax
call dword [0x4302e4]
call fcn.00401a90
test eax, eax
je 0x40181a
mov eax, dword [ebp - 0x14]
push str.r__ccsUTF_8
push eax
lea ecx, [ebp - 0x20]
push ecx
jmp 0x40184f
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x18], esp
push edx
call dword [0x4302e4]
call fcn.00401b50
test eax, eax
je 0x401842
mov eax, dword [ebp - 0x14]
push str.r__ccsUTF_16LE
push eax
lea ecx, [ebp - 0x20]
push ecx
jmp 0x40184f
mov edx, dword [ebp - 0x14]
push 0x4305a4
push edx
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.MSVCR100.dll__wfopen_s]
add esp, 0xc
test eax, eax
jne 0x401922
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x401922
push eax
lea ecx, [ebp - 0x40]
call dword [0x4302e8]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
mov edi, dword [sym.imp.mfc100u.dll_CStdioFile::ReadString]
push ecx
lea ecx, [ebp - 0x40]
call edi
test eax, eax
je 0x4018c8
mov edi, edi
push 0x4305a8
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x40]
call edi
test eax, eax
jne 0x4018a0
push 0
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
mov ecx, eax
lea edi, [ecx + 2]
jmp 0x4018e0
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4018e0
sub ecx, edi
sar ecx, 1
push ecx
call fcn.00401590
lea ecx, [ebp - 0x40]
call dword [sym.imp.mfc100u.dll_CStdioFile::Close]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc100u.dll_CStdioFile::CStdioFile]
mov edi, 8
cmp dword [esi + 0x10], 0
mov esi, 1
jne 0x401930
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp dword [ebp + 0x1c], edi
jb 0x401954
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.mfc100u.dll_delete]
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c