Function at 0x41e620
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x434f96
mov eax, dword fs:[0]
push eax
sub esp, 0xdac
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 - 0xc48], ecx
mov ecx, dword [ebp - 0xc48]
call fcn.0041f0e0
xor eax, eax
mov word [ebp - 0x470], ax
push 0x206
push 0
lea ecx, [ebp - 0x46e]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push 0x104
lea edx, [ebp - 0x470]
push edx
call fcn.0040aa40
add esp, 8
lea eax, [ebp - 0x470]
push eax
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004033a0
call fcn.0040eeb0
movzx ecx, byte [eax + 0xaf]
test ecx, ecx
jne 0x41e752
mov dword [ebp - 0xc90], fcn.004054e0
mov dword [ebp - 0xc8c], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xd10], esp
push 0
push 5
mov edx, dword [ebp - 0xc48]
push edx
mov eax, dword [ebp - 0xc8c]
push eax
mov ecx, dword [ebp - 0xc90]
push ecx
lea edx, [ebp - 0xd88]
push edx
call fcn.0041b180
add esp, 4
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.0041f2f0
mov dword [ebp - 0xc80], eax
mov ecx, dword [ebp - 0xc80]
mov dword [ebp - 0xcec], ecx
mov dword [ebp - 4], 0
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
xor edx, edx
mov word [ebp - 0x268], dx
push 0x206
push 0
lea eax, [ebp - 0x266]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.OIViewsvc.exe
lea ecx, [ebp - 0x470]
push ecx
lea edx, [ebp - 0x268]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41e7b9
push 0
push 0
push 1
push str._stop__svc:_OIViewsvc_
lea ecx, [ebp - 0x268]
push ecx
call fcn.00406730
mov ecx, eax
call fcn.004204a0
call fcn.0040eeb0
movzx edx, byte [eax + 0xaf]
test edx, edx
jne 0x41e865
mov dword [ebp - 0xc9c], fcn.004054e0
mov dword [ebp - 0xc98], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xcc4], esp
push 0
push 0xa
mov eax, dword [ebp - 0xc48]
push eax
mov ecx, dword [ebp - 0xc98]
push ecx
mov edx, dword [ebp - 0xc9c]
push edx
lea eax, [ebp - 0xda8]
push eax
call fcn.0041b180
add esp, 4
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.0041f2f0
mov dword [ebp - 0xcb0], eax
mov ecx, dword [ebp - 0xcb0]
mov dword [ebp - 0xce4], ecx
mov dword [ebp - 4], 1
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0040eeb0
add eax, 0x78
push eax
call fcn.0040af60
add esp, 4
push 0x4441f0
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00411780
mov ecx, eax
call fcn.004135c0
call fcn.0040eeb0
movzx edx, byte [eax + 0xaf]
test edx, edx
jne 0x41e952
mov dword [ebp - 0xcac], fcn.004054e0
mov dword [ebp - 0xca8], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xcc8], esp
push 0
push 0x1e
mov eax, dword [ebp - 0xc48]
push eax
mov ecx, dword [ebp - 0xca8]
push ecx
mov edx, dword [ebp - 0xcac]
push edx
lea eax, [ebp - 0xd48]
push eax
call fcn.0041b180
add esp, 4
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.0041f2f0
mov dword [ebp - 0xc74], eax
mov ecx, dword [ebp - 0xc74]
mov dword [ebp - 0xccc], ecx
mov dword [ebp - 4], 2
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push 1
lea ecx, [ebp - 0xb84]
call fcn.0040f470
lea ecx, [ebp - 0xb84]
call fcn.0040f800
mov dword [ebp - 4], 3
lea ecx, [ebp - 0xb84]
call fcn.00410d30
push str.CInstMainDlg::Install__CopyiSafeFoder:_end_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
call fcn.0040eeb0
movzx edx, byte [eax + 0xaf]
test edx, edx
jne 0x41ea30
mov dword [ebp - 0xcb8], fcn.004054e0
mov dword [ebp - 0xcb4], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xd0c], esp
push 0
push 0x28
mov eax, dword [ebp - 0xc48]
push eax
mov ecx, dword [ebp - 0xcb4]
push ecx
mov edx, dword [ebp - 0xcb8]
push edx
lea eax, [ebp - 0xd58]
push eax
call fcn.0041b180
add esp, 4
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.0041f2f0
mov dword [ebp - 0xc94], eax
mov ecx, dword [ebp - 0xc94]
mov dword [ebp - 0xcd4], ecx
mov byte [ebp - 4], 4
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov byte [ebp - 4], 3
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push 0x104
lea edx, [ebp - 0x470]
push edx
call fcn.0040aa40
add esp, 8
call fcn.0040eeb0
movzx eax, byte [eax + 0xaf]
test eax, eax
jne 0x41eaea
mov dword [ebp - 0xc50], fcn.004054e0
mov dword [ebp - 0xc4c], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xcf4], esp
push 0
push 0x32
mov ecx, dword [ebp - 0xc48]
push ecx
mov edx, dword [ebp - 0xc4c]
push edx
mov eax, dword [ebp - 0xc50]
push eax
lea ecx, [ebp - 0xd78]
push ecx
call fcn.0041b180
add esp, 4
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, esi
call fcn.0041f2f0
mov dword [ebp - 0xc7c], eax
mov ecx, dword [ebp - 0xc7c]
mov dword [ebp - 0xcdc], ecx
mov byte [ebp - 4], 5
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov byte [ebp - 4], 3
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push str.CInstMainDlg::Install__createShortCut:_end_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
call fcn.0040eeb0
movzx edx, byte [eax + 0xaf]
test edx, edx
jne 0x41eb9e
mov dword [ebp - 0xc60], fcn.004054e0
mov dword [ebp - 0xc5c], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xd04], esp
push 0
push 0x3c
mov eax, dword [ebp - 0xc48]
push eax
mov ecx, dword [ebp - 0xc5c]
push ecx
mov edx, dword [ebp - 0xc60]
push edx
lea eax, [ebp - 0xd98]
push eax
call fcn.0041b180
add esp, 4
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.0041f2f0
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0xc54]
mov dword [ebp - 0xcfc], ecx
mov byte [ebp - 4], 6
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov byte [ebp - 4], 3
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
lea ecx, [ebp - 0xc44]
call fcn.00407760
mov byte [ebp - 4], 7
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xcc0], esp
push 0x444300
call fcn.004065b0
mov dword [ebp - 0xc58], eax
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0xcd0], edx
mov byte [ebp - 4], 8
call fcn.0040eeb0
add eax, 0x78
push eax
mov byte [ebp - 4], 7
call fcn.00408f10
add esp, 0x1c
push str.CInstMainDlg::Install__writeUninstallInfo:_end_
call dword [sym.imp.iImportLib.dll_ISAFE_WriteProgramLogNoMask]
add esp, 4
call fcn.0040eeb0
movzx eax, byte [eax + 0xaf]
test eax, eax
jne 0x41eca1
mov dword [ebp - 0xc88], fcn.004054e0
mov dword [ebp - 0xc84], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xcd8], esp
push 0
push 0x50
mov ecx, dword [ebp - 0xc48]
push ecx
mov edx, dword [ebp - 0xc84]
push edx
mov eax, dword [ebp - 0xc88]
push eax
lea ecx, [ebp - 0xdb8]
push ecx
call fcn.0041b180
add esp, 4
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, esi
call fcn.0041f2f0
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0xc64]
mov dword [ebp - 0xce0], ecx
mov byte [ebp - 4], 9
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov byte [ebp - 4], 7
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push 1
lea ecx, [ebp - 0xa94]
call fcn.00406880
push 0xffffffffffffffff
lea ecx, [ebp - 0xa94]
call fcn.00412690
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa94]
call fcn.00412700
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0xaac]
call fcn.00403270
mov byte [ebp - 4], 0xb
call fcn.0040eeb0
add eax, 0x48
mov ecx, eax
call fcn.00406660
movzx edx, al
test edx, edx
jne 0x41ed19
push 0x4441ec
lea ecx, [ebp - 0xaac]
call fcn.0040e930
call fcn.0040eeb0
add eax, 0x48
push eax
lea ecx, [ebp - 0xaac]
call fcn.0040e950
xor eax, eax
mov word [ebp - 0xa88], ax
push 0x206
push 0
lea ecx, [ebp - 0xa86]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
call fcn.0040eeb0
add eax, 0x78
push eax
lea ecx, [ebp - 0xadc]
call fcn.00403270
mov byte [ebp - 4], 0xc
push str.oiviewsvc.exe
lea ecx, [ebp - 0xadc]
call fcn.004059f0
push eax
lea edx, [ebp - 0xa88]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41edf2
push 0x14
lea ecx, [ebp - 0x60]
push ecx
call fcn.00406730
mov ecx, eax
call fcn.0041fd90
xor edx, edx
mov word [ebp - 0x880], dx
push 0x206
push 0
lea eax, [ebp - 0x87e]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.GlobalOIVIEWCD068E7A_A36B_8DD4_60C2_F3FC6A15D374Svc
lea ecx, [ebp - 0x60]
push ecx
push str._run__svc:_OiViewsvc___svcdisp:_OiView_service___svcdesc:_OiView_service___oem:ov__oemver:_s__softuid:_s
push 0x208
lea edx, [ebp - 0x880]
push edx
call fcn.00401000
add esp, 0x14
push 0
push 0
push 1
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x268]
push ecx
call fcn.00406730
mov ecx, eax
call fcn.004204a0
push 1
push str.OiViewsvc
call fcn.00406730
mov ecx, eax
call fcn.004205b0
movzx edx, al
test edx, edx
je 0x41ef38
push 0x14
lea eax, [ebp - 0x38]
push eax
call fcn.00406730
mov ecx, eax
call fcn.0041fd90
xor ecx, ecx
mov word [ebp - 0x678], cx
push 0x206
push 0
lea edx, [ebp - 0x676]
push edx
call sub.MSVCR110.dll_memset
add esp, 0xc
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0xac4]
call fcn.00403270
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xac4]
call fcn.00406660
movzx eax, al
test eax, eax
je 0x41ee8c
lea ecx, [ebp - 0x38]
push ecx
push 0x444500
push str._action:_s__oem:ov__version:_s
push 0x208
lea edx, [ebp - 0x678]
push edx
call fcn.00401000
add esp, 0x14
jmp 0x41eeba
lea ecx, [ebp - 0xac4]
call fcn.004059f0
push eax
lea eax, [ebp - 0x38]
push eax
push str.GlobalVIVIEW_UPGRADE_CD068E7A_A36B_8DD4_60C2_F3FC6A15D374
push str._action:_s__oem:ov__version:_s__ptid:__s_
push 0x208
lea ecx, [ebp - 0x678]
push ecx
call fcn.00401000
add esp, 0x18
lea edx, [ebp - 0x678]
push edx
lea ecx, [ebp - 0xd28]
call fcn.004065b0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0xd28]
lea ecx, [ebp - 0xaf4]
call fcn.00420b70
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xd28]
call fcn.00405b70
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xce8], esp
lea eax, [ebp - 0xaf4]
push eax
call fcn.00406610
mov dword [ebp - 0xcf0], eax
push str..pipeGlobalOIVIEW251196C8_21EC_4CE3_BF26_ED255D27C52FOiViewsvc_
call fcn.00424910
add esp, 0x1c
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xaf4]
call fcn.00406f00
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xac4]
call fcn.00405b70
call fcn.0040eeb0
movzx ecx, byte [eax + 0xaf]
test ecx, ecx
jne 0x41f06b
mov dword [ebp - 0xc6c], fcn.004054e0
mov dword [ebp - 0xc68], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xcf8], esp
push 0
push 0x64
mov edx, dword [ebp - 0xc48]
push edx
mov eax, dword [ebp - 0xc68]
push eax
mov ecx, dword [ebp - 0xc6c]
push ecx
lea edx, [ebp - 0xd38]
push edx
call fcn.0041b180
add esp, 4
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.0041f2f0
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0xc70]
mov dword [ebp - 0xd00], ecx
mov byte [ebp - 4], 0x11
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov byte [ebp - 4], 0xc
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
mov dword [ebp - 0xca4], 0x41f1f0
mov dword [ebp - 0xca0], 0
push 0
push 1
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xd08], esp
push 0
mov edx, dword [ebp - 0xc48]
push edx
mov eax, dword [ebp - 0xca0]
push eax
mov ecx, dword [ebp - 0xca4]
push ecx
lea edx, [ebp - 0xd68]
push edx
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.0041f330
mov dword [ebp - 0xc78], eax
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0xcbc], ecx
mov byte [ebp - 4], 0x12
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov byte [ebp - 4], 0xc
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xadc]
call fcn.00405b70
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xaac]
call fcn.00405b70
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xa94]
call fcn.004126c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc44]
call fcn.004094d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb84]
call fcn.0040f8f0
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