Function at 0x417b90
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x44a5d6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
push edi
push 0x208
call sub.MFC71U.DLL_SerializeElements
add esp, 4
lea ecx, [esp + 0xc]
mov esi, eax
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_8]
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 0
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_8]
push 0x104
push esi
mov bl, 1
push 0
mov byte [esp + 0x2c], bl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::operator_5]
push 0x5c
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_COleMessageFilter::XMessageFilter::RetryRejectedCall]
test eax, eax
jl 0x417c34
inc eax
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_CToolBar::Layout]
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], 2
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::operator_4]
lea ecx, [esp + 0x14]
mov byte [esp + 0x20], bl
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
mov esi, dword [esp + 0x28]
push esi
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.0040ab20
add esp, 0xc
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 3
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::operator_4]
lea ecx, [esp + 0x28]
mov byte [esp + 0x20], bl
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
test eax, eax
je 0x417cb7
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::operator_4]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
pop edi
pop esi
mov al, bl
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 4
push 0x4511d8
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00411e00
push esi
push eax
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x38], 4
call fcn.0040ab20
add esp, 0x18
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 5
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::operator_4]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
lea ecx, [esp + 0x14]
mov byte [esp + 0x20], bl
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
call edi
test eax, eax
je 0x417d4f
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::operator_4]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
pop edi
pop esi
mov al, bl
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 4
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT_2]
mov ecx, dword [esp + 0x18]
pop edi
pop esi
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 4