Function at 0x415cb0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x444d6a
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x467060]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push esi
push edi
mov eax, dword [0x467060]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], 0
mov ebx, dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogNoMask]
push str.CInstMainDlg::Install__Begin_
call ebx
mov eax, dword [0x469f34]
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
jne 0x415d51
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x208], 0
test eax, eax
je 0x415d3f
mov ecx, eax
call fcn.0040dc50
jmp 0x415d41
xor eax, eax
mov dword [esp + 0x208], 0xffffffff
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x415dd8
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0xa
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov dword [esp + 0x230], 1
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov dword [esp + 0x230], 0xffffffff
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
call fcn.0040c640
push ecx
lea ecx, [esp + 0x168]
call fcn.0040ed40
lea ecx, [esp + 0x164]
call fcn.0040eec0
mov dword [esp + 0x208], 2
call fcn.004108a0
push str.CInstMainDlg::Install__CopyiSafeFoder:_end_
call ebx
mov eax, dword [0x469f34]
add esp, 4
test eax, eax
jne 0x415e4b
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 3
test eax, eax
je 0x415e3c
mov ecx, eax
call fcn.0040dc50
jmp 0x415e3e
xor eax, eax
mov byte [esp + 0x208], 2
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x415ecc
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x1e
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 4
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 2
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
call fcn.0040a450
push str.CInstMainDlg::Install__InstallFont:_end_
call ebx
mov eax, dword [0x469f34]
add esp, 4
test eax, eax
jne 0x415f16
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 5
test eax, eax
je 0x415f07
mov ecx, eax
call fcn.0040dc50
jmp 0x415f09
xor eax, eax
mov byte [esp + 0x208], 2
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x415f97
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x28
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 6
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 2
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push 0x10
xor eax, eax
push 0x449fac
lea ecx, [esp + 0x64]
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
call fcn.00405570
lea eax, [esp + 0x5c]
push eax
mov edx, 0x44aca8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x20c], 7
call fcn.0040d280
add esp, 4
push str..lnk
mov edx, eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0x20c], 8
call fcn.00404870
add esp, 4
cmp dword [esp + 0x2c], 8
mov eax, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
jb 0x416014
push dword [esp + 0x18]
call eax
mov eax, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], cx
mov byte [esp + 0x208], 0xb
cmp dword [esp + 0x70], 8
jb 0x416043
push dword [esp + 0x5c]
call eax
add esp, 4
xor eax, eax
mov word [esp + 0x5c], ax
mov eax, dword [0x469f34]
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], 0
test eax, eax
jne 0x416095
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0xc
test eax, eax
je 0x416086
mov ecx, eax
call fcn.0040dc50
jmp 0x416088
xor eax, eax
mov byte [esp + 0x208], 0xb
mov dword [0x469f34], eax
lea ecx, [eax + 0x78]
lea edx, [esp + 0xa4]
call fcn.00406210
push str.CInstMainDlg::Install__createShortCut:_end_
call ebx
mov eax, dword [0x469f34]
add esp, 4
test eax, eax
jne 0x4160e9
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0xd
test eax, eax
je 0x4160da
mov ecx, eax
call fcn.0040dc50
jmp 0x4160dc
xor eax, eax
mov byte [esp + 0x208], 0xb
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x41616f
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x32
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 0xe
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 0xb
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
mov eax, dword [0x469f34]
test eax, eax
jne 0x4161a5
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0xf
test eax, eax
je 0x416196
mov ecx, eax
call fcn.0040dc50
jmp 0x416198
xor eax, eax
mov byte [esp + 0x208], 0xb
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x4161fe
push 0
push 0x467898
push 0x4671a4
push 0
push str.IDC_INSTALL_PLUGIN_CHK
mov ecx, esi
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COVWnd____thiscall_OUI::COVDialog::GetDlgItem_wchar_t_const__]
push eax
call sub.MSVCR110.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je 0x4161f9
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVCheckBox::GetCheck_void_const]
test eax, eax
jle 0x4161f9
push str.CInstMainDlg::Install__InstallPlugin_
call ebx
add esp, 4
call fcn.0040dde0
lea ecx, [eax + 0x78]
call fcn.0040ce40
mov eax, dword [0x469f34]
test eax, eax
jne 0x416234
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x10
test eax, eax
je 0x416225
mov ecx, eax
call fcn.0040dc50
jmp 0x416227
xor eax, eax
mov byte [esp + 0x208], 0xb
mov dword [0x469f34], eax
cmp dword [eax + 0x8c], 8
lea ecx, [eax + 0x78]
jb 0x416242
mov ecx, dword [ecx]
call fcn.0040c030
push str.CInstMainDlg::Install__RegisterRKScanShellDLL:_end_
call ebx
mov eax, dword [0x469f34]
add esp, 4
test eax, eax
jne 0x41628c
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x11
test eax, eax
je 0x41627d
mov ecx, eax
call fcn.0040dc50
jmp 0x41627f
xor eax, eax
mov byte [esp + 0x208], 0xb
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x41630d
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x3c
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 0x12
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 0xb
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
lea ecx, [esp + 0xbc]
call fcn.00405bb0
mov byte [esp + 0x208], 0x13
mov eax, dword [0x469f34]
test eax, eax
jne 0x41635c
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x14
test eax, eax
je 0x41634d
mov ecx, eax
call fcn.0040dc50
jmp 0x41634f
xor eax, eax
mov byte [esp + 0x208], 0x13
mov dword [0x469f34], eax
lea edx, [eax + 0x78]
lea ecx, [esp + 0xbc]
call fcn.004078a0
push str.CInstMainDlg::Install__writeUninstallInfo:_end_
call ebx
add esp, 4
lea ecx, [esp + 0xbc]
call fcn.004085a0
push str.CInstMainDlg::Install__writePtidInfo:_end_
call ebx
mov eax, dword [0x469f34]
add esp, 4
test eax, eax
jne 0x4163c6
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x15
test eax, eax
je 0x4163b7
mov ecx, eax
call fcn.0040dc50
jmp 0x4163b9
xor eax, eax
mov byte [esp + 0x208], 0x13
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x416447
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x46
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 0x16
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 0x13
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
lea ecx, [esp + 0x8c]
call fcn.0041f3f0
mov byte [esp + 0x208], 0x17
cmp dword [esp + 0xa0], 8
lea eax, [esp + 0x8c]
cmovae eax, dword [esp + 0x8c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4164e1
mov eax, dword [0x469f00]
test al, 1
jne 0x41649b
or eax, 1
push 0x4486c0
mov dword [0x469f00], eax
call fcn.00441527
add esp, 4
cmp dword [esp + 0xa0], 8
lea ecx, [esp + 0x8c]
cmovae ecx, dword [esp + 0x8c]
call fcn.004332f0
cmp dword [esp + 0xa0], 8
lea edx, [esp + 0x8c]
cmovae edx, dword [esp + 0x8c]
xor ecx, ecx
test al, al
setne cl
push ecx
push edx
push str.CInstMainDlg::Install__DeleteFolder:__s__bRet___d_
call ebx
add esp, 0xc
mov eax, dword [0x469f34]
test eax, eax
jne 0x41651c
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x18
test eax, eax
je 0x41650d
mov ecx, eax
call fcn.0040dc50
jmp 0x41650f
xor eax, eax
mov byte [esp + 0x208], 0x17
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x4165a2
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x50
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 0x19
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 0x17
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
mov eax, dword [0x469f34]
test eax, eax
jne 0x4165d8
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x1a
test eax, eax
je 0x4165c9
mov ecx, eax
call fcn.0040dc50
jmp 0x4165cb
xor eax, eax
mov byte [esp + 0x208], 0x17
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x41665e
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x415c50
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0x64
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417dc0
mov byte [esp + 0x230], 0x1b
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 0x17
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
mov eax, dword [0x469f34]
test eax, eax
jne 0x416694
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x1c
test eax, eax
je 0x416685
mov ecx, eax
call fcn.0040dc50
jmp 0x416687
xor eax, eax
mov byte [esp + 0x208], 0x17
mov dword [0x469f34], eax
cmp byte [eax + 0xb1], 0
je 0x4166b1
call fcn.0040abd0
push str.CInstMainDlg::Install__ClearIconCache:_end_
call ebx
mov eax, dword [0x469f34]
add esp, 4
test eax, eax
jne 0x4166e7
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x208], 0x1d
test eax, eax
je 0x4166d8
mov ecx, eax
call fcn.0040dc50
jmp 0x4166da
xor eax, eax
mov byte [esp + 0x208], 0x17
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x416a29
mov ebx, dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::constructor_void_]
lea ecx, [esp + 0x50]
mov dword [esp + 0x4c], 0
call ebx
mov dword [esp + 0x54], 0xffffffff
lea ecx, [esp + 0x4c]
mov byte [esp + 0x208], 0x1e
call fcn.00411fd0
mov eax, dword [0x469f34]
test eax, eax
jne 0x41675c
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x208], 0x1f
test eax, eax
je 0x41674d
mov ecx, eax
call fcn.0040dc50
jmp 0x41674f
xor eax, eax
mov byte [esp + 0x208], 0x1e
mov dword [0x469f34], eax
xor ecx, ecx
push 0xffffffffffffffff
push ecx
mov word [esp + 0x7c], cx
push eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], 0
call fcn.00405a00
mov byte [esp + 0x208], 0x20
mov eax, dword [0x469f34]
test eax, eax
jne 0x4167cc
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x208], 0x21
test eax, eax
je 0x4167bd
mov ecx, eax
call fcn.0040dc50
jmp 0x4167bf
xor eax, eax
mov byte [esp + 0x208], 0x20
mov dword [0x469f34], eax
cmp dword [eax + 0x58], 0
je 0x4167fb
push 1
push 0x44a070
lea ecx, [esp + 0x7c]
call fcn.00404020
call fcn.0040dde0
push 0xffffffffffffffff
add eax, 0x48
push 0
push eax
lea ecx, [esp + 0x80]
call fcn.00405470
lea ecx, [esp + 0x48]
call ebx
mov byte [esp + 0x208], 0x22
cmp dword [0x467720], 0
jne 0x416827
push str.http:__www.uninstallmaster.com_installed.html
lea ecx, [esp + 0x34]
call fcn.00405670
mov ebx, 1
jmp 0x416858
xor eax, eax
push 0xffffffffffffffff
push eax
push 0x467710
lea ecx, [esp + 0x24]
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
call fcn.00405a00
lea eax, [esp + 0x18]
mov ebx, 2
push eax
lea ecx, [esp + 0x60]
call fcn.00405400
mov dword [esp + 0x208], 0x24
test bl, 2
je 0x4168a0
and ebx, 0xfffffffd
cmp dword [esp + 0x2c], 8
jb 0x416889
push dword [esp + 0x18]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
mov byte [esp + 0x208], 0x25
test bl, 1
je 0x4168d8
cmp dword [esp + 0x44], 8
jb 0x4168c1
push dword [esp + 0x30]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
push 1
push 0
push 0x44e864
lea ecx, [esp + 0x68]
call fcn.00404140
cmp eax, 0xffffffff
lea eax, [esp + 0x14]
lea ecx, [esp + 0x4c]
push eax
je 0x41692f
call fcn.00412080
mov byte [esp + 0x208], 0x26
cmp dword [esp + 0x88], 8
lea edx, [esp + 0x74]
cmovae edx, dword [esp + 0x74]
cmp dword [esp + 0x70], 8
push edx
push dword [eax]
lea ecx, [esp + 0x64]
cmovae ecx, dword [esp + 0x64]
push ecx
push 0x44e868
jmp 0x416964
call fcn.00412080
mov byte [esp + 0x208], 0x27
cmp dword [esp + 0x88], 8
lea edx, [esp + 0x74]
cmovae edx, dword [esp + 0x74]
cmp dword [esp + 0x70], 8
push edx
push dword [eax]
lea ecx, [esp + 0x64]
cmovae ecx, dword [esp + 0x64]
push ecx
push str._s_uid_sc_s
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.ouilibx.dll_public:_int___cdecl_OUI::COString::Format_wchar_t_const__]
add esp, 0x14
lea ecx, [esp + 0x14]
mov byte [esp + 0x208], 0x25
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
push 0
lea ecx, [esp + 0x4c]
call dword [sym.imp.ouilibx.dll_public:_wchar_t____thiscall_OUI::COString::GetBuffer_int_]
mov ebx, dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogNoMask]
push eax
push str.CInstMainDlg::Install__OpenLinkURL:__s_
call ebx
add esp, 8
cmp dword [esp + 0x70], 8
jb 0x4169b5
push dword [esp + 0x5c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
mov byte [esp + 0x208], 0x20
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
cmp dword [esp + 0x88], 8
jb 0x4169f5
push dword [esp + 0x74]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov byte [esp + 0x208], 0x17
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
mov eax, dword [0x469f34]
test eax, eax
jne 0x416a5f
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x208], 0x28
test eax, eax
je 0x416a50
mov ecx, eax
call fcn.0040dc50
jmp 0x416a52
xor eax, eax
mov byte [esp + 0x208], 0x17
mov dword [0x469f34], eax
lea ecx, [eax + 0x78]
call fcn.0040c3f0
mov eax, dword [0x469f34]
test eax, eax
jne 0x416aa2
push 0xe4
call edi
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x208], 0x29
test eax, eax
je 0x416a93
mov ecx, eax
call fcn.0040dc50
jmp 0x416a95
xor eax, eax
mov byte [esp + 0x208], 0x17
mov dword [0x469f34], eax
cmp byte [eax + 0xad], 0
jne 0x416b18
push 0
push 1
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x38], esp
sub esp, 0x14
mov eax, esp
mov dword [esp + 0x88], 0x417810
mov dword [esp + 0x8c], 0
movq xmm0, qword [esp + 0x88]
movq qword [eax], xmm0
mov dword [esp + 0x90], esi
movq xmm0, qword [esp + 0x90]
movq qword [eax + 8], xmm0
call fcn.00417e30
mov byte [esp + 0x230], 0x2a
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
mov byte [esp + 0x230], 0x17
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COUIManager::AddUIHandler_class_boost::function_void____cdecl___void____bool__void__]
push str.CInstMainDlg::Install__End_
call ebx
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [esp + 0xa0], 8
jb 0x416b3e
push dword [esp + 0x8c]
call ebx
add esp, 4
xor eax, eax
lea ecx, [esp + 0xbc]
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
call fcn.00408480
cmp dword [esp + 0xb8], 8
jb 0x416b80
push dword [esp + 0xa4]
call ebx
add esp, 4
xor eax, eax
lea ecx, [esp + 0x164]
mov dword [esp + 0xb8], 7
mov dword [esp + 0xb4], 0
mov word [esp + 0xa4], ax
call fcn.0040ef40
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.004413e6
mov esp, ebp
pop ebp
ret