Function at 0x422c70
Capabilities:
Accept command line arguments
Check if file exists
Create thread
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x3f4
mov eax, dword [0x48100c]
xor eax, esp
mov dword [esp + 0x3f0], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0
push 0x471394
mov dword [esp + 0x70], edi
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
je 0x422cdb
push 9
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x422cdb
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3f0]
xor ecx, esp
call fcn.004310db
mov esp, ebp
pop ebp
ret 0x10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x258
lea eax, [esp + 0x18c]
push 0
push eax
call fcn.00435d50
add esp, 0xc
lea eax, [esp + 0x14c]
lea ecx, [esp + 0x188]
push eax
call fcn.004148e0
lea ecx, [esp + 0xa0]
call fcn.0040a9a0
lea ecx, [esp + 0xa8]
call fcn.0040a9a0
lea ecx, [esp + 0xb0]
call fcn.0040a9a0
lea ecx, [esp + 0xb8]
call fcn.0040a9a0
lea ecx, [esp + 0xc0]
call fcn.0040a9a0
lea ecx, [esp + 0xc8]
call fcn.0040a9a0
lea ecx, [esp + 0xd0]
call fcn.0040a9a0
lea ecx, [esp + 0xd8]
call fcn.0040a9a0
lea eax, [esp + 0x14c]
mov dword [esp + 0x78], 0x7f
mov dword [esp + 0x70], eax
lea ecx, [esp + 0xd8]
lea eax, [esp + 0x188]
mov dword [esp + 0x7c], 0
push 0x4713b0
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
call fcn.0040aa50
push 0x4713c4
lea ecx, [esp + 0xbc]
call fcn.0040aa50
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0
xor edx, edx
mov ecx, str.HKCUSoftwareUVK
movups xmmword [esp + 0x8c], xmm0
call fcn.0040e730
test al, al
je 0x422e0c
mov edx, str.HKLM64SOFTWAREUVK___Ultra_virus_killer
mov ecx, str.HKCUSoftwareUVK
call fcn.0040e300
xor edx, edx
mov ecx, str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstallUVK
call fcn.0040e730
test al, al
je 0x422e2b
mov edx, str.HKLM64SOFTWAREMicrosoftWindowsCurrentVersionUninstallUVK___Ultra_virus_killer
mov ecx, str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstallUVK
call fcn.0040e300
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
call fcn.00412620
push 0x20019
push str.HKLM64SOFTWAREMicrosoftWindowsCurrentVersionUninstallUVK___Ultra_virus_killer
lea ecx, [esp + 0x134]
mov byte [esp + 0x74], al
mov dword [esp + 0x134], 0
call fcn.0040d3d0
push 0x20019
push str.HKLM64SOFTWAREUVK___Ultra_virus_killer
lea ecx, [esp + 0x118]
mov dword [esp + 0x118], 0
call fcn.0040d3d0
xorps xmm0, xmm0
lea ecx, [esp + 0x138]
movq qword [esp + 0x138], xmm0
call fcn.0040a9a0
lea eax, [esp + 0xa0]
mov byte [esp + 0x3b], 0
push eax
push str.InstallLocation
lea ecx, [esp + 0x134]
call fcn.0040d580
lea ecx, [esp + 0xa0]
call fcn.0040ab30
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x422f04
lea ecx, [esp + 0xa0]
call fcn.0040abf0
push eax
call ebx
test eax, eax
je 0x422f04
push 0
push 1
push 1
push 0
push str.UVK
lea ecx, [esp + 0xb4]
call fcn.0040b580
test eax, eax
je 0x422f04
mov byte [esp + 0x3b], 1
jmp 0x422f8c
lea ecx, [esp + 0xa0]
call fcn.0040aae0
xorps xmm0, xmm0
lea ecx, [esp + 0x124]
movq qword [esp + 0x124], xmm0
call fcn.0040a9a0
push dword [esp + 0x6c]
lea edx, [esp + 0x128]
lea ecx, [esp + 0x13c]
call fcn.00412a10
lea ecx, [esp + 0x138]
call fcn.0040ad30
test al, al
jne 0x422f80
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.UVK___Ultra_Virus_Killer
lea ecx, [esp + 0x164]
call fcn.0040abf0
push eax
lea ecx, [esp + 0xd0]
call fcn.0040ab90
lea ecx, [esp + 0x124]
call fcn.0040aad0
push 0x400
push 0
push 0x400
lea ecx, [esp + 0xdc]
call fcn.0040ae60
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0xcc]
call fcn.0040aa60
push 0
lea ecx, [esp + 0xcc]
call fcn.0040acf0
xorps xmm0, xmm0
lea ecx, [esp + 0x144]
movq qword [esp + 0x144], xmm0
call fcn.0040a9a0
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.key.uvkey
lea ecx, [esp + 0xf4]
call fcn.0040abf0
push eax
lea ecx, [esp + 0xd8]
call fcn.0040ab90
lea ecx, [esp + 0xa8]
call fcn.0040abf0
push eax
call ebx
test eax, eax
jne 0x423052
push ecx
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push str.key.uvkey
lea ecx, [esp + 0xcc]
call fcn.0040abf0
push eax
lea ecx, [esp + 0xd8]
call fcn.0040ab90
call fcn.0040f640
lea ecx, [esp + 0xa8]
call fcn.0040abf0
push eax
call ebx
test eax, eax
je 0x423073
lea ecx, [esp + 0x70]
call fcn.004248b0
sub esp, 0x1c
lea ecx, [esp + 0xe4]
xorps xmm0, xmm0
movq qword [esp + 0x138], xmm0
push 0
push 0
push 0
push str.UVKSettings.ini
call fcn.0040abf0
push eax
lea ecx, [esp + 0x14c]
call fcn.0040aa10
cmp dword [esp + 0x80], 0
je 0x423185
lea ecx, [esp + 0x11c]
call fcn.0040abf0
push eax
call ebx
test eax, eax
je 0x423185
lea ecx, [esp + 0x11c]
call fcn.0040abf0
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 1
push str.DesktopShortcut
push str.Preferences
call esi
test eax, eax
jne 0x4230f5
and dword [esp + 0x78], 0xffffffef
lea ecx, [esp + 0x11c]
call fcn.0040abf0
push eax
push 1
push str.ContextMenu
push str.Preferences
call esi
test eax, eax
jne 0x423119
and dword [esp + 0x78], 0xfffffffb
lea ecx, [esp + 0x11c]
call fcn.0040abf0
push eax
push 1
push str.AssociateUVKScripts
push str.Preferences
call esi
test eax, eax
jne 0x42313d
and dword [esp + 0x78], 0xfffffff7
lea ecx, [esp + 0x11c]
call fcn.0040abf0
push eax
push 1
push str.AutoUpdate
push str.Preferences
call esi
test eax, eax
jne 0x423161
and dword [esp + 0x78], 0xffffffdf
lea ecx, [esp + 0x11c]
call fcn.0040abf0
push eax
push 1
push str.ShowTooltips
push str.Preferences
call esi
test eax, eax
jne 0x423185
and dword [esp + 0x78], 0xffffffbf
mov ecx, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x108], esi
xor edi, edi
call fcn.0040c740
cmp eax, 1
jle 0x4231b6
lea eax, [esp + 0x108]
push eax
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, dword [esp + 0x108]
mov edi, eax
xorps xmm0, xmm0
lea ecx, [esp + 0xf0]
movq qword [esp + 0xf0], xmm0
call fcn.0040a9a0
test edi, edi
je 0x423529
test esi, esi
je 0x423522
xor esi, esi
cmp dword [esp + 0x108], esi
jle 0x423522
nop dword [eax]
push dword [edi + esi*4]
lea ecx, [esp + 0xf4]
call fcn.0040aa50
push 0x4716e8
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4236d6
push 0x4716f0
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4236d6
push 0x4716f8
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x423509
push str._Silent
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x423509
push 0x471718
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234fc
push str._Auto
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234fc
cmp byte [esp + 0x3b], al
jne 0x42338a
push 0x471730
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4232cd
push str._Installdir
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
je 0x42338a
mov eax, dword [esp + 0x108]
dec eax
cmp esi, eax
jge 0x42338a
push ecx
push dword [edi + esi*4 + 4]
xorps xmm0, xmm0
lea ecx, [esp + 0x100]
movq qword [esp + 0x100], xmm0
call fcn.0040a9e0
lea ecx, [esp + 0xf8]
call fcn.0040ad80
lea ecx, [esp + 0xf8]
call fcn.0040abf0
mov ecx, eax
call fcn.004126f0
test al, al
jne 0x42332e
lea ecx, [esp + 0xf8]
call fcn.0040aad0
jmp 0x423514
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.UVK___Ultra_Virus_Killer
lea ecx, [esp + 0x124]
call fcn.0040abf0
push eax
lea ecx, [esp + 0xd0]
call fcn.0040ab90
push 0
push 0
push 0x46fd20
push 0x4701e0
lea ecx, [esp + 0xb0]
call fcn.0040bc80
lea ecx, [esp + 0xf8]
call fcn.0040aad0
jmp 0x423514
push 0x471760
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234f5
push str._NoRP
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234f5
push 0x471778
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234ee
push str._NoDShct
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234ee
push 0x4717a0
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234e7
push str._NoCMenu
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234e7
push 0x4717c8
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234e0
push str._NoAU
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234e0
push 0x4717e0
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234d9
push str._NoRun
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
jne 0x4234d9
push ecx
lea ecx, [esp + 0xf4]
call fcn.0040ac50
test al, al
je 0x423514
push str..uvkey
lea ecx, [esp + 0xf4]
call fcn.0040aa90
test al, al
je 0x423514
push dword [edi + esi*4]
call ebx
test eax, eax
je 0x423514
push dword [edi + esi*4]
lea ecx, [esp + 0xac]
call fcn.0040aa50
lea ecx, [esp + 0x70]
call fcn.004248b0
test al, al
jne 0x423514
lea ecx, [esp + 0xa8]
call fcn.0040aae0
jmp 0x423514
and dword [esp + 0x78], 0xfffffffd
jmp 0x423514
and dword [esp + 0x78], 0xffffffdf
jmp 0x423514
and dword [esp + 0x78], 0xfffffffb
jmp 0x423514
and dword [esp + 0x78], 0xffffffef
jmp 0x423514
and dword [esp + 0x78], 0xfffffffe
jmp 0x423514
mov dword [esp + 0x88], 1
jmp 0x423514
mov dword [esp + 0x84], 1
inc esi
cmp esi, dword [esp + 0x108]
jl 0x4231f0
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xorps xmm0, xmm0
lea ecx, [esp + 0x114]
movq qword [esp + 0x114], xmm0
call fcn.0040a9a0
xorps xmm0, xmm0
lea ecx, [esp + 0x124]
movq qword [esp + 0x124], xmm0
call fcn.0040a9a0
push 0
push 0x200
lea ecx, [esp + 0xc8]
call fcn.0040ae60
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.UVKSetup
lea ecx, [esp + 0xf0]
call fcn.0040b830
push 0
push 0
push 0x46fd20
push 0x4701e0
lea ecx, [esp + 0xd0]
call fcn.0040bc80
lea ecx, [esp + 0xc0]
call fcn.0040abf0
mov ecx, eax
call fcn.00412710
cmp dword [esp + 0x84], 0
je 0x4236f2
and dword [esp + 0x78], 0xfffffffe
lea ecx, [esp + 0xb8]
sub esp, 0x1c
xorps xmm0, xmm0
movq qword [esp + 0x11c], xmm0
push 0
push 0
push 0
push str._progress
call fcn.0040abf0
push eax
lea ecx, [esp + 0x130]
call fcn.0040aa10
sub esp, 8
lea ecx, [esp + 0x108]
call fcn.0040abf0
push eax
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x198]
call fcn.0041a440
push ecx
mov ecx, dword [esp + 0x90]
push 1
call fcn.00415bf0
lea eax, [esp + 0x140]
mov dword [esp + 0xec], 0
push eax
push 0
lea eax, [esp + 0x78]
push eax
push fcn.00424db0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov esi, eax
lea eax, [esp + 0xec]
push eax
push esi
call edi
test eax, eax
je 0x4236ca
mov ebx, dword [sym.imp.KERNEL32.dll_SleepEx]
nop word [eax + eax]
mov edx, dword [esp + 0xec]
cmp edx, 0x103
jne 0x4237a2
mov dl, 1
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
jne 0x4236bb
push 1
push 0xa
call ebx
lea eax, [esp + 0xec]
push eax
push esi
call edi
test eax, eax
jne 0x423690
mov edx, dword [esp + 0xec]
jmp 0x4237a2
lea ecx, [esp + 0x70]
call fcn.00426fd0
push ecx
xor edx, edx
lea ecx, [esp + 0x74]
call fcn.00424850
mov esi, eax
jmp 0x424782
cmp dword [esp + 0x88], 0
je 0x42370d
lea eax, [esp + 0x70]
push eax
call fcn.00424db0
mov esi, eax
jmp 0x42476a
mov esi, dword [sym.imp.USER32.dll_FindWindowW]
push 0
push str.UVK_Ultra_GUI
call esi
test eax, eax
jne 0x423734
push str.__UVK
push str.AutoIt_v3_GUI
call esi
test eax, eax
je 0x4237cb
push 9
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x4237cb
sub esp, 0x1c
lea ecx, [esp + 0xd4]
xorps xmm0, xmm0
movq qword [esp + 0x11c], xmm0
push 0
push 0
push str.The_setup_process_will_close_it._r_n_r_nContinue_
push str._is_currently_running._r_n_r_n
call fcn.0040abf0
push eax
lea ecx, [esp + 0x130]
call fcn.0040aa10
push ecx
push 0xa0
push 1
lea ecx, [esp + 0x10c]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x198]
call fcn.0041a120
test eax, eax
jne 0x4237bf
xor edx, edx
push ecx
lea ecx, [esp + 0x74]
call fcn.00424850
lea ecx, [esp + 0x100]
mov esi, eax
call fcn.0040aad0
jmp 0x42476a
lea ecx, [esp + 0x100]
call fcn.0040aad0
lea ecx, [esp + 0xb8]
call fcn.0040ad30
test al, al
je 0x4237ec
push 0x4713c4
lea ecx, [esp + 0xbc]
call fcn.0040aa50
sub esp, 0x1c
lea ecx, [esp + 0xd4]
xorps xmm0, xmm0
movq qword [esp + 0x11c], xmm0
push 0
push 0
push 0
push str._Setup
call fcn.0040abf0
push eax
lea ecx, [esp + 0x130]
call fcn.0040aa10
cmp dword [esp + 0x7c], 2
jne 0x4238b8
lea ecx, [esp + 0xb0]
call fcn.0040abf0
push eax
call ebx
test eax, eax
je 0x4238b8
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.BrandIco.ico
lea ecx, [esp + 0xec]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x144]
call fcn.0040ab90
movaps xmm0, xmmword [0x474ee0]
lea eax, [esp + 0x3e0]
push ecx
push eax
lea ecx, [esp + 0x11c]
mov dword [esp + 0x3f8], 0x100
movups xmmword [esp + 0x3e8], xmm0
call fcn.0040abf0
lea ecx, [esp + 0xb8]
mov esi, eax
call fcn.0040abf0
mov edx, esi
mov ecx, eax
call fcn.004228d0
cmp dword [esp + 0x7c], 2
mov dword [esp + 0x10c], 0
jne 0x4238d8
cmp dword [esp + 0x80], 0
jne 0x423b2a
lea eax, [esp + 0x10c]
push eax
push str.EulaAccepted
lea ecx, [esp + 0x118]
call fcn.0040d6c0
test al, al
je 0x423903
cmp dword [esp + 0x10c], 1
je 0x423b2a
push ecx
call fcn.00417960
push ecx
push 0
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1d1
push 0x258
lea ecx, [esp + 0x120]
call fcn.0040abf0
push eax
push 0x471394
lea ecx, [esp + 0x1b0]
call fcn.00414a00
mov esi, dword [esp + 0x68]
lea ecx, [esp + 0x188]
sub esp, 0x10
push esi
call fcn.00415930
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.License.htm
lea ecx, [esp + 0xec]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x144]
call fcn.0040ab90
lea ecx, [esp + 0x114]
call fcn.0040abf0
push eax
push 0xa
push 0xc8
push esi
call fcn.0041b010
push 0
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x400
push eax
push 0
push 0x400
lea ecx, [esp + 0x134]
call fcn.0040ae60
push eax
lea ecx, [esp + 0x120]
call fcn.0040abf0
push eax
call dword [sym.imp.SHLWAPI.dll_UrlCreateFromPathW]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.UVK.png
lea ecx, [esp + 0xec]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x144]
call fcn.0040ab90
lea ecx, [esp + 0x114]
call fcn.0040abf0
push eax
push 0x470878
push 0x66
push esi
call fcn.0041b010
sub esp, 0x18
lea ecx, [esp + 0x13c]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x1a4]
call fcn.00417680
push ecx
mov dword [esp], 0x41500000
lea ecx, [esp + 0x18c]
push str.Continue_installation
push 0x1e
push 0x78
push 0x1ae
push 0x78
push 0x67
mov edx, str.I_Accept
call fcn.00413f70
push ecx
mov dword [esp], 0x41500000
lea ecx, [esp + 0x18c]
push str.Cancel_installation
push 0x1e
push 0x78
push 0x1ae
push 0x168
push 0x68
mov edx, str.I_Decline
mov esi, eax
call fcn.00413f70
push ecx
push 5
lea ecx, [esp + 0x190]
mov edi, eax
call fcn.00415bf0
push 0x80
push esi
lea ecx, [esp + 0x190]
call fcn.00419020
xor dl, dl
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
je 0x423afe
nop word [eax + eax]
mov eax, dword [esp + 0x14c]
cmp eax, 0xfffffffb
je 0x423c56
cmp eax, edi
je 0x423c56
cmp eax, esi
je 0x423afe
xor dl, dl
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
jne 0x423ad0
push ecx
lea eax, [esp + 0x110]
mov dword [esp + 0x110], 1
push eax
push 4
push str.EulaAccepted
push str.HKLM64SOFTWAREUVK___Ultra_virus_killer
lea ecx, [esp + 0x124]
call fcn.0040d9b0
push ecx
push 0
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1d1
push 0x258
lea ecx, [esp + 0x120]
call fcn.0040abf0
push eax
push 0x471394
lea ecx, [esp + 0x1b0]
call fcn.00414a00
mov edi, dword [esp + 0x68]
push ecx
push 0x1d1
push 0x258
push ecx
push 0x65
push edi
call fcn.0041ae40
mov esi, eax
sub esp, 0x18
mov ecx, esi
call fcn.0040f040
push 0
push 0
push esi
lea ecx, [esp + 0x194]
call fcn.00415750
test esi, esi
je 0x423b9d
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push ecx
push 0x10000001
push 0x1c
push 0x244
push 0xa
push 0xa
lea ecx, [esp + 0xd0]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x1a4]
call fcn.00418150
movsd xmm0, qword [0x474e68]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
push 0x320
push ecx
lea ecx, [esp + 0x1a4]
call fcn.00418d90
push 0xffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x190]
call fcn.00418c50
lea ecx, [esp + 0xb0]
call fcn.0040abf0
push eax
call ebx
test eax, eax
je 0x423c7b
push 0x10
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov esi, eax
test esi, esi
je 0x423c75
xorps xmm0, xmm0
lea ecx, [esp + 0xb0]
movups xmmword [esi], xmm0
call fcn.0040abf0
lea ecx, [esp + 0x68]
mov dword [esi], vtable.Gdiplus::Bitmap.0
push ecx
push eax
mov dword [esp + 0x70], 0
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromFile]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esi + 4], eax
jmp 0x423c77
push ecx
xor edx, edx
lea ecx, [esp + 0x74]
call fcn.00424850
lea ecx, [esp + 0x100]
mov esi, eax
call fcn.0040aad0
jmp 0x42476a
xor esi, esi
test esi, esi
jne 0x423c91
push ecx
push 0xbe
push 0xbe
push ecx
push 0x64
push edi
call fcn.0041ae40
mov esi, eax
sub esp, 0x1c
lea ecx, [esp + 0x1a4]
call fcn.00418200
sub esp, 8
lea ecx, [esp + 0x190]
push eax
call fcn.00414eb0
mov edx, esi
mov ecx, eax
call fcn.0040fe20
test esi, esi
je 0x423cc5
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push ecx
push 0xffffffffffffffff
push 0x12
push 0x82
push 0x154
push 0x127
push str.Select_install_folder:
lea ecx, [esp + 0x1a4]
call fcn.00418150
push ecx
push 0x10000001
push 0x19
push 0x64
push 0x46
push 0x17c
push str.Options:
lea ecx, [esp + 0x1a4]
call fcn.00418150
movsd xmm0, qword [0x474e60]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
push 0
push ecx
lea ecx, [esp + 0x1a4]
call fcn.00418d90
push 0xffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x190]
call fcn.00418c50
push ecx
push 0x10000001
push 0x28
push 0x10e
push 0x18b
push 0x122
push 0x46ec74
lea ecx, [esp + 0x1a4]
call fcn.00418150
sub esp, 0x18
lea ecx, [esp + 0xb8]
mov ebx, eax
call fcn.0040abf0
push eax
lea ecx, [esp + 0x1a4]
call fcn.004180b0
push ecx
mov dword [esp], 0x41500000
lea ecx, [esp + 0x18c]
push str.Start_installing_the_application
push 0x23
push 0x96
push 0x14a
push 0x3c
push 0x69
mov edx, str.Install_now
mov dword [esp + 0x5c], eax
call fcn.00413f70
push ecx
mov dword [esp], 0x41500000
lea ecx, [esp + 0x18c]
push str.Cancel_the_installation
push 0x1e
push 0x6e
push 0x17c
push 0x50
push 0x6a
mov edx, str.Cancel
mov dword [esp + 0x88], eax
call fcn.00413f70
sub esp, 0xc
mov dword [esp + 0x50], eax
mov edx, 1
call fcn.0040ece0
push eax
lea ecx, [esp + 0x6c]
call fcn.004147d0
sub esp, 0xc
xor edx, edx
call fcn.0040ece0
push eax
lea ecx, [esp + 0x40]
call fcn.004147d0
movsd xmm1, qword [0x474e50]
lea ecx, [esp + 0x188]
sub esp, 0xc
push 0x320
call fcn.00415ac0
mov edi, dword [esp + 0x3c]
sub esp, 8
test byte [esp + 0x80], 1
mov eax, 0
mov esi, dword [esp + 0x70]
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0xc8
push 0x78
push ecx
push edi
push esi
push str._Create_system_restore_point
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
sub esp, 8
mov dword [esp + 0x3e8], eax
test byte [esp + 0x80], 2
mov eax, 0
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0xd2
push 0x96
push ecx
push edi
push esi
push str._Run_the_application_after_install
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
sub esp, 8
mov dword [esp + 0x3ec], eax
test byte [esp + 0x80], 4
mov eax, 0
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0x96
push 0xb4
push ecx
push edi
push esi
push str._Install_context_menu
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
sub esp, 8
mov dword [esp + 0x3f0], eax
test byte [esp + 0x80], 8
mov eax, 0
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0xf0
push 0xd2
push ecx
push edi
push esi
push str._Associate_with_.uvk_and_.uvksr_files
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
sub esp, 8
mov dword [esp + 0x3f4], eax
test byte [esp + 0x80], 0x10
mov eax, 0
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0xb4
push 0xf0
push ecx
push edi
push esi
push str._Create_desktop_shortcut
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
sub esp, 8
mov dword [esp + 0x3f8], eax
test byte [esp + 0x80], 0x20
mov eax, 0
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0x82
push 0x10e
push ecx
push edi
push esi
push str._Use_AutoUpdate
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
sub esp, 8
mov dword [esp + 0x3fc], eax
test byte [esp + 0x80], 0x40
mov eax, 0
sete al
lea eax, [eax*4 + 4]
push eax
push ecx
push 0x6e
push 0x12c
push ecx
push edi
push esi
push str._Use_tooltips
lea ecx, [esp + 0x1b0]
call fcn.00417dc0
movsd xmm1, qword [0x474e50]
lea ecx, [esp + 0x188]
sub esp, 0xc
mov dword [esp + 0x404], eax
push 0x190
call fcn.00415ac0
push ecx
mov dword [esp], 0x41500000
lea ecx, [esp + 0x18c]
push str.Choose_the_installation_folder_for_the_application.
push 0x19
push 0x46
push 0x165
push 0x201
push 0x6b
mov edx, 0x471cc0
call fcn.00413f70
mov esi, eax
lea ecx, [esp + 0x130]
xorps xmm0, xmm0
mov dword [esp + 0x48], esi
movq qword [esp + 0x130], xmm0
call fcn.0040a9a0
sub esp, 0xc
lea ecx, [esp + 0x13c]
push 0x471cc8
call fcn.0040bfb0
sub esp, 0x28
lea ecx, [esp + 0x158]
push 0
push 0x471cd0
call fcn.0040bb40
push ecx
push 0x10000001
push 0x12
push 0x64
push 0xa
push 0x1f4
lea ecx, [esp + 0x148]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x1a4]
call fcn.00418150
push 0xffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x190]
call fcn.00418c50
cmp byte [esp + 0x3b], 0
je 0x424118
push ecx
push str.The_application_is_already_installed_in_this_pc._r_nThe_install_folder_path_cannot_be_changed.
push ebx
lea ecx, [esp + 0x194]
call fcn.00419400
push 0x40
push esi
lea ecx, [esp + 0x190]
call fcn.00419020
mov edi, dword [esp + 0x40]
push ecx
push edi
lea ecx, [esp + 0x190]
call fcn.00418a90
push 0x40
push edi
lea ecx, [esp + 0x190]
call fcn.00419020
jmp 0x42411c
mov edi, dword [esp + 0x40]
push ecx
push 5
lea ecx, [esp + 0x190]
call fcn.00415bf0
push 0x80
push dword [esp + 0x70]
lea ecx, [esp + 0x190]
call fcn.00419020
mov dword [esp + 0x4c], str.Whether_to_create_a_system_restore_point_before_installing.
xor esi, esi
mov dword [esp + 0x50], str.Whether_to_run_the_application_after_install_complete.
mov dword [esp + 0x54], str.Whether_to_create_the__Force_delete__and__File_information__context_menu_items._r_nThis_option_can_be_changed_later_in_the_applications_interface.
mov dword [esp + 0x58], str.Whether_to_associate_the_application_after_with_.uvk_and_.uvksr_files._r_nThis_option_can_be_changed_later_in_the_applications_interface.
mov dword [esp + 0x5c], str.Whether_to_create_a_shortcut_to_the_application_in_the_desktop._r_nThis_option_can_be_changed_later_in_the_applications_interface.
mov dword [esp + 0x60], str.Whether_to_search_for_updates_when_the_application_is_launched._r_nThis_option_can_be_changed_later_in_the_applications_interface.
mov dword [esp + 0x64], str.Whether_to_use_tooltips_in_thee_applications_interface._r_nThis_option_can_be_changed_later_in_the_applications_interface.
nop word [eax + eax]
push 0x1f4
push ecx
push dword [esp + esi + 0x54]
lea ecx, [esp + 0x194]
push dword [esp + esi + 0x3ec]
call fcn.004198a0
add esi, 4
cmp esi, 0x1c
jl 0x424180
xor dl, dl
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
je 0x42473e
mov ebx, dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x14c]
cmp eax, 0xfffffffb
je 0x424704
cmp eax, dword [esp + 0x44]
je 0x424704
cmp eax, dword [esp + 0x48]
jne 0x42436a
xorps xmm0, xmm0
lea ecx, [esp + 0xe4]
movq qword [esp + 0xe4], xmm0
call fcn.0040a9a0
xorps xmm0, xmm0
lea ecx, [esp + 0xf8]
movq qword [esp + 0xf8], xmm0
call fcn.0040a9a0
push 0x104
push 0
push 0x104
lea ecx, [esp + 0x104]
call fcn.0040ae60
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
push 3
lea ecx, [esp + 0xfc]
call fcn.0040b4a0
push 0
lea ecx, [esp + 0x18c]
call fcn.00414eb0
push eax
lea ecx, [esp + 0x13c]
call fcn.0040abf0
push eax
push ecx
lea ecx, [esp + 0x104]
call fcn.0040abf0
push eax
lea ecx, [esp + 0xf4]
call fcn.004121b0
test al, al
jne 0x42429c
lea ecx, [esp + 0xf8]
call fcn.0040aad0
jmp 0x42463c
lea ecx, [esp + 0xe4]
call fcn.0040ad30
test al, al
jne 0x42428b
lea ecx, [esp + 0xe4]
call fcn.0040abf0
mov ecx, eax
call fcn.004126f0
test al, al
je 0x42428b
lea ecx, [esp + 0xe4]
call fcn.0040ab30
dec eax
lea ecx, [esp + 0xe4]
push eax
call fcn.0040aac0
cmp word [eax], 0x5c
jne 0x4242f1
push 1
lea ecx, [esp + 0xe8]
call fcn.0040b4e0
push 0
push 1
push 1
push 0
push str.UVK
lea ecx, [esp + 0xf8]
call fcn.0040b580
test eax, eax
jne 0x42432a
push ecx
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push str.UVK___Ultra_Virus_Killer
lea ecx, [esp + 0x114]
call fcn.0040b830
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0xa4]
call fcn.0040aa60
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040abf0
push eax
push edi
lea ecx, [esp + 0x194]
call fcn.00419400
lea ecx, [esp + 0xf8]
call fcn.0040aad0
jmp 0x42463c
cmp eax, dword [esp + 0x6c]
jne 0x424648
mov edi, 1
mov dword [esp + 0x78], 0
xor esi, esi
nop dword [eax]
nop word [eax + eax]
push ecx
push dword [esp + esi*4 + 0x3e4]
lea ecx, [esp + 0x190]
call fcn.00419cb0
test eax, eax
je 0x4243ac
or dword [esp + 0x78], edi
inc esi
add edi, edi
cmp esi, 7
jl 0x424390
sub esp, 0x1c
lea ecx, [esp + 0xd4]
xorps xmm0, xmm0
movq qword [esp + 0x100], xmm0
push 0
push 0
push 0
push str._install_progress
call fcn.0040abf0
push eax
lea ecx, [esp + 0x114]
call fcn.0040aa10
sub esp, 8
lea ecx, [esp + 0xec]
call fcn.0040abf0
push eax
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x198]
call fcn.0041a440
push ecx
mov ecx, dword [esp + 0x90]
push 1
call fcn.00415bf0
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
lea eax, [esp + 0x140]
push eax
push 0
lea eax, [esp + 0x78]
mov dword [esp + 0xf4], 0
push eax
push fcn.00424db0
push 0
push 0
call edi
mov esi, eax
lea eax, [esp + 0xec]
push eax
push esi
call ebx
test eax, eax
je 0x424498
nop word [eax + eax]
cmp dword [esp + 0xec], 0x103
jne 0x424498
mov dl, 1
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
jne 0x424489
push 1
push 5
call dword [sym.imp.KERNEL32.dll_SleepEx]
lea eax, [esp + 0xec]
push eax
push esi
call ebx
test eax, eax
jne 0x424460
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0xec]
cmp eax, 1
jne 0x4245de
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.Do_you_wish_to_intall_the_application_anyway_
push str.The_system_restore_point_could_not_be_created._r_n_r_n
lea ecx, [esp + 0x114]
call fcn.0040ab90
push ecx
push 0x8c
push 1
lea ecx, [esp + 0xf0]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x198]
call fcn.0041a120
push ecx
test eax, eax
je 0x424667
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str._install_progress
lea ecx, [esp + 0xe4]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x114]
call fcn.0040ab90
sub esp, 8
lea ecx, [esp + 0xec]
call fcn.0040abf0
push eax
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x198]
call fcn.0041a440
push ecx
mov ecx, dword [esp + 0x90]
push 1
call fcn.00415bf0
and dword [esp + 0x78], 0xfffffffe
lea eax, [esp + 0x140]
push eax
push 0
lea eax, [esp + 0x78]
push eax
push fcn.00424db0
push 0
push 0
call edi
mov esi, eax
lea eax, [esp + 0xec]
push eax
push esi
call ebx
test eax, eax
je 0x42463c
nop dword [eax]
cmp dword [esp + 0xec], 0x103
jne 0x42463c
mov dl, 1
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
jne 0x4245cd
push 1
push 5
call dword [sym.imp.KERNEL32.dll_SleepEx]
lea eax, [esp + 0xec]
push eax
push esi
call ebx
test eax, eax
jne 0x4245a0
jmp 0x42463c
cmp eax, 2
jne 0x42466e
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.Please_specify_a_different_folder_or_ensure_the_setup_can_create_the_current_one.
push str._could_not_create_the_specified_install_folder._r_n_r_n
lea ecx, [esp + 0xe4]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x114]
call fcn.0040ab90
push ecx
push 0xa0
push 0
lea ecx, [esp + 0xf0]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x198]
call fcn.0041a120
lea ecx, [esp + 0xe4]
call fcn.0040aad0
xor dl, dl
lea ecx, [esp + 0x14c]
call fcn.00413c70
test eax, eax
je 0x42473e
mov edi, dword [esp + 0x40]
jmp 0x4241d0
mov edx, 1
jmp 0x4246eb
test byte [esp + 0x78], 2
jne 0x4246e8
push 1
lea ecx, [esp + 0xbc]
call fcn.0040abf0
push eax
lea ecx, [esp + 0xec]
call fcn.0040ab50
push 5
lea ecx, [esp + 0xe8]
call fcn.0040b4e0
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.Press_OK_to_close_this_window.
push str._was_successfully_installed._r_n_r_n
lea ecx, [esp + 0x114]
call fcn.0040b830
push ecx
push 0x8c
push 0
lea ecx, [esp + 0xf0]
call fcn.0040abf0
push eax
lea ecx, [esp + 0x198]
call fcn.0041a120
xor edx, edx
push ecx
lea ecx, [esp + 0x74]
call fcn.00424850
lea ecx, [esp + 0xe4]
mov esi, eax
call fcn.0040aad0
jmp 0x424712
push ecx
xor edx, edx
lea ecx, [esp + 0x74]
call fcn.00424850
mov esi, eax
lea ecx, [esp + 0x130]
call fcn.0040aad0
lea ecx, [esp + 0x3c]
call fcn.004147e0
lea ecx, [esp + 0x68]
call fcn.004147e0
lea ecx, [esp + 0x100]
call fcn.0040aad0
jmp 0x42476a
lea ecx, [esp + 0x130]
call fcn.0040aad0
lea ecx, [esp + 0x3c]
call fcn.004147e0
lea ecx, [esp + 0x68]
call fcn.004147e0
lea ecx, [esp + 0x100]
call fcn.0040aad0
xor esi, esi
lea ecx, [esp + 0x124]
call fcn.0040aad0
lea ecx, [esp + 0x114]
call fcn.0040aad0
lea ecx, [esp + 0xf0]
call fcn.0040aad0
lea ecx, [esp + 0x11c]
call fcn.0040aad0
lea ecx, [esp + 0x144]
call fcn.0040aad0
lea ecx, [esp + 0x138]
call fcn.0040aad0
lea ecx, [esp + 0x110]
call fcn.0040d450
lea ecx, [esp + 0x12c]
call fcn.0040d450
lea ecx, [esp + 0xd8]
call fcn.0040aad0
lea ecx, [esp + 0xd0]
call fcn.0040aad0
lea ecx, [esp + 0xc8]
call fcn.0040aad0
lea ecx, [esp + 0xc0]
call fcn.0040aad0
lea ecx, [esp + 0xb8]
call fcn.0040aad0
lea ecx, [esp + 0xb0]
call fcn.0040aad0
lea ecx, [esp + 0xa8]
call fcn.0040aad0
lea ecx, [esp + 0xa0]
call fcn.0040aad0
lea ecx, [esp + 0x188]
call fcn.00417620
mov ecx, dword [esp + 0x3fc]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004310db
mov esp, ebp
pop ebp
ret 0x10