Function at 0x419e90
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x434b34
mov eax, dword fs:[0]
push eax
sub esp, 0x4d0
mov eax, dword [0x455070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x464], ecx
call fcn.0040eeb0
movzx eax, byte [eax + 0xad]
test eax, eax
jne 0x41a2c4
push 0
push 0x455684
push 0x4552e8
push 0x442534
mov ecx, dword [ebp - 0x464]
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COVWnd____thiscall_OUI::COVDialog::GetDlgItem_wchar_t_const__]
push 0
push eax
call sub.MSVCR110.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x478], eax
cmp dword [ebp - 0x478], 0
je 0x41a0fc
mov ecx, dword [ebp - 0x478]
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVCheckBox::GetCheck_void_const]
test eax, eax
je 0x419f2a
mov byte [ebp - 0x465], 1
jmp 0x419f31
mov byte [ebp - 0x465], 0
mov cl, byte [ebp - 0x465]
mov byte [ebp - 0x46b], cl
movzx edx, byte [ebp - 0x46b]
test edx, edx
jne 0x41a0fc
push str.CInstMainDlg::OnClickInstBtn_pPluginChk__false
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
lea ecx, [ebp - 0x42c]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::constructor_void_]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x428]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::constructor_void_]
mov byte [ebp - 4], 1
push str.IDS_OIVIEW_PRODUCT_TEXT
lea eax, [ebp - 0x4a4]
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString___thiscall_OUI::OSTRING_TABLE::LoadStringW_wchar_t_const__]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x480]
mov dword [ebp - 0x49c], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x49c]
push edx
lea ecx, [ebp - 0x42c]
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString____thiscall_OUI::COString::operator_class_OUI::COString_const__]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4a4]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
push str.IDS_OIVIEW_PRODUCT_CAPTION
lea eax, [ebp - 0x488]
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString___thiscall_OUI::OSTRING_TABLE::LoadStringW_wchar_t_const__]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4a8], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x4a8]
push edx
lea ecx, [ebp - 0x428]
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString____thiscall_OUI::COString::operator_class_OUI::COString_const__]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x488]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
push 0x10
lea ecx, [ebp - 0x428]
call dword [sym.imp.ouilibx.dll_public:_wchar_t_const____thiscall_OUI::COString::operator_wchar_t_const__void_const]
push eax
lea ecx, [ebp - 0x42c]
call dword [sym.imp.ouilibx.dll_public:_wchar_t_const____thiscall_OUI::COString::operator_wchar_t_const__void_const]
push eax
mov ecx, dword [ebp - 0x464]
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVDialog::MessageBoxW_wchar_t_const___wchar_t_const___unsigned_int_]
mov dword [ebp - 0x48c], eax
cmp dword [ebp - 0x48c], 1
jne 0x41a0a4
mov eax, dword [ebp - 0x464]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x464]
mov eax, dword [edx + 0x58]
call eax
mov byte [ebp - 0x469], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x428]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x42c]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov al, byte [ebp - 0x469]
jmp 0x41a608
mov byte [ebp - 0x46c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x428]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x42c]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov al, byte [ebp - 0x46c]
jmp 0x41a608
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004059f0
push eax
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::constructor_wchar_t_const__]
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COString::IsEmpty_void_const]
test eax, eax
je 0x41a160
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004059f0
push eax
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString____thiscall_OUI::COString::operator_wchar_t_const__]
mov ecx, dword [ebp - 0x424]
push ecx
push str.CInstMainDlg::OnClickInstBtn_csPathDir_s
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 8
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_wchar_t_const____thiscall_OUI::COString::operator_wchar_t_const__void_const]
push eax
call fcn.0040a960
add esp, 4
movzx edx, al
test edx, edx
jne 0x41a1ec
push 0x4426ac
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString___thiscall_OUI::OSTRING_TABLE::LoadStringW_wchar_t_const__]
mov byte [ebp - 4], 5
push 0x10
push 0
lea ecx, [ebp - 0x430]
call dword [sym.imp.ouilibx.dll_public:_wchar_t_const____thiscall_OUI::COString::operator_wchar_t_const__void_const]
push eax
mov ecx, dword [ebp - 0x464]
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVDialog::MessageBoxW_wchar_t_const___wchar_t_const___unsigned_int_]
mov byte [ebp - 0x46a], 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x430]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov al, byte [ebp - 0x46a]
jmp 0x41a608
push 0
push 0x455664
push 0x4552e8
push 0x4426dc
mov ecx, dword [ebp - 0x464]
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COVWnd____thiscall_OUI::COVContainer::GetChildWnd_wchar_t_const__]
push 0
push eax
call sub.MSVCR110.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0
jne 0x41a248
mov byte [ebp - 0x466], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov al, byte [ebp - 0x466]
jmp 0x41a608
push 0
push 0x455648
push 0x4552e8
push 0x4423e4
mov ecx, dword [ebp - 0x464]
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COVWnd____thiscall_OUI::COVContainer::GetChildWnd_wchar_t_const__]
push 0
push eax
call sub.MSVCR110.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x474], eax
push 0
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x474]
mov eax, dword [edx + 0x40]
call eax
push 1
push str.IDC_INST_SECOND_VIEW
mov ecx, dword [ebp - 0x47c]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COVViewStack::ShowViewByID_wchar_t_const___bool_]
mov ecx, dword [ebp - 0x464]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x464]
mov eax, dword [edx + 0x58]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
push 0
call fcn.00409af0
add esp, 4
mov byte [ebp - 0x46d], al
movzx ecx, byte [ebp - 0x46d]
test ecx, ecx
je 0x41a56b
push str.CInstMainDlg::OnClickInstBtn_IsInstalledtrue
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
call fcn.00409e60
mov byte [ebp - 0x468], al
xor edx, edx
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x218]
push ecx
call fcn.0040aa40
add esp, 8
lea edx, [ebp - 0x218]
push edx
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004033a0
lea eax, [ebp - 0x218]
push eax
push str.CInstMainDlg::OnClickInstBtn_iConfig::shared____sInstallPath_s
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 8
call fcn.0040eeb0
movzx ecx, byte [eax + 0xb2]
test ecx, ecx
jne 0x41a379
movzx edx, byte [ebp - 0x468]
test edx, edx
je 0x41a467
xor eax, eax
mov word [ebp - 0x420], ax
push 0x206
push 0
lea ecx, [ebp - 0x41e]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.uninstall.exe
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41a462
push str.CInstMainDlg::OnClickInstBtn__UninstOrStopAppSvc_false_:_begin_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
push 0
call fcn.0040adb0
add esp, 4
mov byte [ebp - 0x46e], al
push str.CInstMainDlg::OnClickInstBtn__UninstOrStopAppSvc_false_:_end_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
push 0
mov edx, dword [ebp - 0x464]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x464]
mov edx, dword [eax + 0x40]
call edx
push str.CInstMainDlg::OnClickInstBtn__call_uninstall.exe__popup:_begin_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
push 0
push 0
push 1
push str._popup
lea eax, [ebp - 0x420]
push eax
call fcn.00406730
mov ecx, eax
call fcn.004204a0
push str.CInstMainDlg::OnClickInstBtn__call_uninstall.exe__popup:_end_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
push 1
mov ecx, dword [ebp - 0x464]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x464]
mov eax, dword [edx + 0x40]
call eax
mov ecx, dword [ebp - 0x464]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COVDialog::BringToFront_void_]
jmp 0x41a56b
push 0x4428fc
lea ecx, [ebp - 0x4cc]
call fcn.004065b0
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x498], ecx
mov dword [ebp - 4], 6
push 0x442774
mov edx, dword [ebp - 0x498]
push edx
lea eax, [ebp - 0x448]
push eax
call fcn.0040c7a0
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4cc]
call fcn.00405b70
lea ecx, [ebp - 0x448]
call fcn.004059f0
push eax
call fcn.0040eeb0
add eax, 0x78
push eax
lea ecx, [ebp - 0x460]
push ecx
call dword [sym.imp.iImportLib.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_elex::filepath::pathcombine_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0xc
mov byte [ebp - 4], 9
push 0
push 1
push 0
push 0x442a14
lea ecx, [ebp - 0x460]
call fcn.004059f0
push eax
call fcn.00406730
mov ecx, eax
call fcn.004204a0
lea ecx, [ebp - 0x448]
call fcn.004059f0
push eax
push str.CInstMainDlg::OnClickInstBtn__call__s:_end_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 8
push 0
mov edx, dword [ebp - 0x464]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x464]
mov edx, dword [eax + 0x254]
call edx
mov byte [ebp - 0x467], 1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x460]
call fcn.00405b70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x448]
call fcn.00405b70
mov al, byte [ebp - 0x467]
jmp 0x41a608
mov dword [ebp - 0x494], fcn.004192d0
mov dword [ebp - 0x490], 0
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0x4b4], esp
push 0
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x490]
push ecx
mov edx, dword [ebp - 0x494]
push edx
lea eax, [ebp - 0x4dc]
push eax
call fcn.0041b210
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.0041b260
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x4b0], ecx
mov dword [ebp - 4], 0xa
call fcn.004066b0
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.00421150
push str.CInstMainDlg::OnClickInstBtn__AddTask:_Install_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004314a6
mov esp, ebp
pop ebp
ret 4