Function at 0x401030
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x402490
mov eax, dword fs:[0]
push eax
sub esp, 0x4b0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x4ac], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x4bc]
mov dword fs:[0], eax
xor eax, eax
push 0x208
push eax
lea ecx, [esp + 0x2b6]
push ecx
mov word [esp + 0x2b8], ax
call fcn.0040244e
xor edx, edx
push 0x208
push edx
lea eax, [esp + 0xb6]
push eax
mov word [esp + 0xb8], dx
call fcn.0040244e
add esp, 0x18
push str.FrameLayout.XML
lea ecx, [esp + 0x18]
call dword [0x4030d4]
lea ecx, [esp + 0x14]
push ecx
push 5
lea edx, [esp + 0x8c]
mov dword [esp + 0x4cc], 0
mov esi, dword [sym.imp.EgisUtility.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_ProductUtility::GetPath_enum_ProductUtility::PathType__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push edx
lea ecx, [esp + 0x18]
call esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x4c4], 2
call dword [0x4030d8]
cmp dword [esp + 0x9c], 8
mov eax, dword [esp + 0x88]
jae 0x401105
lea eax, [esp + 0x88]
mov edi, dword [0x4030f8]
push eax
lea eax, [esp + 0x2b0]
push 0x104
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x10]
call dword [sym.imp.EgisUtility.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_ProductUtility::GetUserDefaultLang_void_]
push eax
push 6
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x4d0], 3
call esi
lea ecx, [esp + 0x30]
mov byte [esp + 0x4c4], 5
call dword [0x4030d8]
cmp dword [esp + 0x80], 8
mov eax, dword [esp + 0x6c]
jae 0x401167
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0xa4]
push 0x104
push eax
call edi
mov esi, dword [0x403164]
add esp, 0xc
lea ecx, [esp + 0x2ac]
push ecx
call esi
test eax, eax
je 0x401214
lea edx, [esp + 0xa0]
push edx
call esi
test eax, eax
je 0x401214
push 0
call sub.FrameUtility.dll_public:_static_class_XApp____cdecl_XApp::GetInstance_struct_HINSTANCE____
add esp, 4
test eax, eax
jne 0x4011c1
call sub.FrameUtility.dll_public:_static_int___cdecl_XApp::InitInstance_void_
push 0
call sub.FrameUtility.dll_public:_static_class_XApp____cdecl_XApp::GetInstance_struct_HINSTANCE____
add esp, 4
test eax, eax
je 0x40120d
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x2b0]
push edx
mov ecx, eax
call sub.LibFrame.dll_public:_int___thiscall_CFrameMgr::LoadFile_wchar_t_const___wchar_t_const__
test eax, eax
je 0x40120d
lea ecx, [esp + 0x68]
mov byte [esp + 0x4c4], 2
call dword [0x4030d8]
lea ecx, [esp + 0x84]
mov dword [esp + 0x4c4], 0xffffffff
call dword [0x4030d8]
mov eax, 1
jmp 0x401285
call sub.FrameUtility.dll_public:_static_void___cdecl_XApp::DeleteInstance_void_
jmp 0x401259
push 0
push 0
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call dword [sym.imp.EgisUtility.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_ProductUtility::GetName_enum_ProductUtility::NameType__bool_]
cmp dword [eax + 0x18], 8
jb 0x40123a
mov eax, dword [eax + 4]
jmp 0x40123d
add eax, 4
push 0x10
push eax
push str.Program_operation_error._Please_restart_the_computer_and_try_again._If_the_problem_persists__please_close_all_running_programs_and_reinstall_the_product.
push 0
call sub.FrameUtility.dll_MessageBoxW
add esp, 0x10
lea ecx, [esp + 0x4c]
call dword [0x4030d8]
lea ecx, [esp + 0x68]
mov byte [esp + 0x4c4], 2
call dword [0x4030d8]
lea ecx, [esp + 0x84]
mov dword [esp + 0x4c4], 0xffffffff
call dword [0x4030d8]
xor eax, eax
mov ecx, dword [esp + 0x4bc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x4ac]
xor ecx, esp
call fcn.00401bec
add esp, 0x4bc
ret