Function at 0x407f40
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43ed4e
mov eax, dword fs:[0]
push eax
sub esp, 0x330
mov eax, dword [0x45d070]
xor eax, esp
mov dword [esp + 0x328], eax
push ebx
push esi
push edi
mov eax, dword [0x45d070]
xor eax, esp
push eax
lea eax, [esp + 0x340]
mov dword fs:[0], eax
mov edi, ecx
call dword [sym.imp.ouilibx.dll_public_virtual:_void___thiscall_OUI::COVWnd::OnInitialUpdate_void_]
xor eax, eax
push 0x206
push eax
mov word [esp + 0x134], ax
lea eax, [esp + 0x136]
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51]
add esp, 0xc
test al, 1
jne 0x407fc6
or eax, 1
push 0x4427b0
mov dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51], eax
call fcn.0043be9d
add esp, 4
push sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
push str._sNPSWF32_14_0_0_145.dll
lea eax, [esp + 0x134]
push 0x208
push eax
call fcn.00401810
add esp, 0x10
lea eax, [esp + 0x12c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x408034
call sub.libcef.dll_cef_shutdown
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push 9
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.not_exist
mov word [ecx], ax
call fcn.00405db0
mov dword [esp + 0x360], 0
jmp 0x408237
lea eax, [esp + 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi + 0x74], eax
cmp eax, 0xffffffff
je 0x408206
mov ecx, edi
call fcn.0040bc90
test al, al
je 0x408206
lea eax, [edi + 0x40]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.0040cc30
mov dword [esp + 0x348], 2
mov esi, dword [esp + 0x18]
test esi, esi
sete al
test al, al
jne 0x4081ef
mov ecx, edi
call dword [sym.imp.ouilibx.dll_public:_struct_HWND____const___thiscall_OUI::COVWnd::GetSafeHwnd_void_]
mov dword [esp + 0x14], eax
test eax, eax
je 0x4081ef
mov ecx, edi
call fcn.00407000
mov ebx, eax
test ebx, ebx
je 0x4081ef
lea ecx, [esp + 0x2c]
mov dword [ebx + 0x64], edi
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::CORect::constructor_void_]
push 1
mov ecx, edi
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::COVWnd::IsWindowVisible_bool_const]
test al, al
je 0x4080e1
lea ecx, [esp + 0x2c]
call dword [sym.imp.ouilibx.dll_public:_struct_tagRECT____thiscall_OUI::CORect::operator_struct_tagRECT__void_]
push eax
mov ecx, edi
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::COVWnd::GetClientRect_struct_tagRECT__]
push 0x38
lea eax, [esp + 0x44]
push 0
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
mov dword [esp + 0x78], 0
mov dword [esp + 0x3c], vtable.CefWindowInfo.0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
sub eax, ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], ecx
sub eax, edx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x50], 0x56010000
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x128], 0
call fcn.0040c300
mov byte [esp + 0x348], 4
mov byte [esp + 0x124], 0
mov byte [esp + 0xfe], 1
test esi, esi
jne 0x408170
push 0x80004003
call fcn.0042f280
mov eax, dword [esi]
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
call dword [eax + 0x18]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x34c], 5
call dword [sym.imp.ouilibx.dll_public:_wchar_t____thiscall_OUI::COString::GetBuffer_int_]
push eax
lea ecx, [esp + 0x20]
call fcn.0040bf10
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, esp
push ebx
mov byte [esp + 0x358], 6
call fcn.0040c3a0
lea eax, [esp + 0x48]
push eax
call fcn.0042f7d0
add esp, 0x10
lea ecx, [esp + 0x1c]
call fcn.0040c000
lea ecx, [esp + 0x28]
mov byte [esp + 0x348], 4
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
lea ecx, [esp + 0x7c]
call fcn.0040c340
lea ecx, [esp + 0x3c]
call fcn.00406380
mov dword [esp + 0x348], 0xffffffff
test esi, esi
je 0x40824c
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x40824c
mov eax, dword [edi + 0x74]
test eax, eax
je 0x408214
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call sub.libcef.dll_cef_shutdown
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.init_failed
call fcn.00405eb0
mov dword [esp + 0x360], 1
call fcn.0040fb40
mov dword [esp + 0x360], 0xffffffff
call fcn.00411f80
mov ecx, dword [esp + 0x340]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.0043bd5c
mov esp, ebp
pop ebp
ret