Function at 0x42a7b3
Capabilities:
Check for time delay via gettickcount
Create directory
Create process on windows
Get common file path
Terminate process

Disassembly:
push 0x620
mov eax, 0x5a3319
call fcn.0058141a
mov ebx, ecx
mov dword [ebp - 0x3c0], ebx
xor edi, edi
push edi
call fcn.00450de8
mov esi, dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov dword [esp], 0x6240d4
call esi
push 0x6240ec
call esi
push ecx
push ecx
call fcn.00429310
push 0x208
lea eax, [ebp - 0x380]
push edi
push eax
call fcn.005838b0
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x380]
add esp, 0x14
push eax
push edi
push edi
push 0x23
push edi
call esi
lea eax, [ebp - 0x380]
push str.Stardock_
push eax
call fcn.0058bda4
lea eax, [ebp - 0x380]
push eax
call fcn.0058c362
lea eax, [ebp - 0x380]
push str.MP2
push eax
call fcn.0058bda4
lea eax, [ebp - 0x380]
push eax
call fcn.0058c362
add esp, 0x18
lea eax, [ebp - 0x380]
push eax
push edi
push edi
push 0x23
push edi
call esi
lea eax, [ebp - 0x380]
push str.StardockRegistrations
push eax
call fcn.0058bda4
lea eax, [ebp - 0x380]
push eax
call fcn.0058c362
add esp, 0xc
lea ecx, [ebp - 0x3ec]
call fcn.0044f3d5
lea eax, [ebp - 0x3ec]
mov dword [ebp - 4], edi
push eax
mov ecx, ebx
call fcn.00450021
push str.DWRITE.DLL
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
neg eax
mov edx, str.TextFix
push ecx
sbb eax, eax
mov ecx, str.Tiles
push str.Tiles.ini
neg eax
push edi
mov dword [0x61886c], eax
call fcn.004386d9
dec eax
neg eax
sbb eax, eax
and dword [0x61886c], eax
lea eax, [ebp - 0x3d4]
push eax
mov ecx, 0x6b5bbc
call fcn.00406c84
mov eax, dword [0x6b5bbc]
add eax, 0xfffffff0
push eax
call fcn.00403e98
add eax, 0x10
pop ecx
mov dword [ebp - 0x3b4], eax
xor ebx, ebx
lea ecx, [ebp - 0x3b4]
inc ebx
mov byte [ebp - 4], bl
call fcn.0042697d
mov edx, str.START
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42a939
call fcn.0042a510
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x42af91
mov edx, 0x5f3cd8
lea ecx, [ebp - 0x3b4]
call fcn.00406825
mov ecx, dword [0x623fe0]
test al, al
mov edx, str.STARTAB
cmovne ecx, ebx
mov dword [0x623fe0], ecx
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42a978
call fcn.0042a4c6
jmp 0x42af91
mov edx, str.INSTALLEVENT
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42a996
call fcn.0042a681
jmp 0x42af91
mov edx, str.REMOVEEVENT
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42a9b4
call fcn.0042a63b
jmp 0x42af91
mov edx, str.STOP2
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42aa2b
push 0x168
lea eax, [ebp - 0x178]
push edi
push eax
call fcn.005838b0
add esp, 0xc
lea eax, [ebp - 0x178]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
call fcn.00429f5e
push 5
push 0x5e66b6
test eax, eax
lea eax, [ebp - 0x178]
push str.STOP
push eax
je 0x42aa1a
push str.open
jmp 0x42aa1f
push str.runas
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x42af91
mov edx, str.STOP
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42aa49
call fcn.0042a55a
jmp 0x42af91
mov edx, str.STOPSTART
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42aa77
call fcn.0042a55a
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
call fcn.0042a510
jmp 0x42af91
lea eax, [ebp - 0x3f4]
push eax
call fcn.0058b8b4
lea eax, [ebp - 0x3f4]
push eax
call fcn.0058c636
pop ecx
pop ecx
call fcn.0042b3ce
mov esi, eax
test esi, esi
jne 0x42acaa
push str.SetWindowRgnEx
push str.USER32.DLL
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test eax, eax
je 0x42ac4b
push 0x80000000
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x3b8], eax
test eax, eax
je 0x42ac4b
push 0x80000000
push 0x5e6198
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
test eax, eax
je 0x42aafb
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x42ac3b
mov edx, str.Multiplicity_does_not_appear_to_be_fully_installed_on_this_computer.
lea ecx, [ebp - 0x3b0]
call fcn.00429b1a
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 8
jb 0x42ab17
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x3bc]
call fcn.0040820c
push edi
push ebx
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 4
call fcn.00403bb4
push 0x5e6be4
lea ecx, [ebp - 0x3bc]
call fcn.00406942
mov edx, str.Would_you_like_to_install_it_
lea ecx, [ebp - 0x398]
call fcn.00429b1a
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
jb 0x42ab60
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x3bc]
call fcn.00406b53
push edi
push ebx
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 4
call fcn.00403bb4
mov edx, str.Incorrect_installation_detected
lea ecx, [ebp - 0x398]
call fcn.00429b1a
cmp dword [eax + 0x14], 8
jb 0x42ab95
mov eax, dword [eax]
push 0x24
push eax
push dword [ebp - 0x3bc]
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
lea ecx, [ebp - 0x398]
push edi
push 1
sete bl
call fcn.00403bb4
test bl, bl
je 0x42ac29
push 0x168
lea eax, [ebp - 0x178]
push edi
push eax
call fcn.005838b0
add esp, 0xc
lea ecx, [ebp - 0x178]
call fcn.00438852
lea eax, [ebp - 0x178]
push str.multisrv.exe
push eax
call fcn.00589e70
pop ecx
pop ecx
push 5
push edi
push str._install
lea eax, [ebp - 0x178]
push eax
push str.runas
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ebx, edi
cmp ebx, 0xc
jge 0x42ac29
call fcn.0042b3ce
push 0x1f4
mov esi, eax
inc ebx
call dword [sym.imp.KERNEL32.DLL_Sleep]
test esi, esi
je 0x42ac0d
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404048
push dword [ebp - 0x3b8]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test esi, esi
jne 0x42acaa
push 0x168
lea eax, [ebp - 0x178]
push edi
push eax
call fcn.005838b0
add esp, 0xc
lea eax, [ebp - 0x178]
push 0xff
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
call fcn.00429f5e
push 5
push edi
test eax, eax
lea eax, [ebp - 0x178]
push str.START
push eax
je 0x42ac99
push str.open
jmp 0x42ac9e
push str.runas
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x42aed5
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov esi, str.RESTARTSTUFF
lea ecx, [ebp - 0x3b4]
mov edx, esi
call fcn.00406825
mov ebx, 0x5e7de4
test al, al
jne 0x42ace4
mov edx, str.RESTARTSTUFF1
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42ad83
call fcn.0042a55a
mov edx, esi
lea ecx, [ebp - 0x3b4]
call fcn.00406825
mov edx, str.AllowSecondaryKVM
mov ecx, ebx
push ebx
test al, al
je 0x42ad09
push 0x5e66b0
jmp 0x42ad0e
push 0x5e66b4
call fcn.0042b829
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
call ebx
push 0x80000000
push edi
push edi
mov dword [ebp - 0x3b8], eax
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
test esi, esi
je 0x42ad66
push 0x80000000
push 0x5e6198
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
test eax, eax
je 0x42ad5f
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call ebx
sub eax, dword [ebp - 0x3b8]
cmp eax, 0x7530
jb 0x42ad30
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call fcn.0042a4c6
call ebx
mov esi, eax
call ebx
sub eax, esi
cmp eax, 0x7530
jae 0x42ad83
call fcn.0042b3ce
test eax, eax
je 0x42ad6b
mov edx, str.LOCK
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42addc
push ecx
push 0x5e66b0
call fcn.0042a33f
push 0x5e6198
push str.32770
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42add4
push edi
push edi
push 0x5f3e84
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push eax
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
inc edi
jmp 0x42aed5
mov edx, str.UNLOCK
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42adf8
push ecx
push 0x5e66b4
jmp 0x42ad9d
mov esi, edi
push str.KVM_FOCUS
call dword [sym.imp.KERNEL32.DLL_GlobalFindAtomA]
movzx eax, ax
test ax, ax
je 0x42ae1d
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalDeleteAtom]
inc esi
cmp esi, 0x12c
jl 0x42adfa
mov edx, str.AUDIO
lea ecx, [ebp - 0x3b4]
call fcn.00406825
mov ecx, dword [0x623ecc]
test al, al
push 1
pop ebx
cmovne ecx, ebx
mov edx, str.REGISTER
mov dword [0x623ecc], ecx
lea ecx, [ebp - 0x3b4]
call fcn.00406825
test al, al
je 0x42ae7f
push ecx
lea ecx, [ebp - 0x49c]
call fcn.00428a8a
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 6
call fcn.00448ae5
lea ecx, [ebp - 0x49c]
call fcn.00428ae2
mov edi, ebx
jmp 0x42aed5
mov esi, str.ACTIVATE
lea ecx, [ebp - 0x3b4]
mov edx, esi
call fcn.00406825
test al, al
jne 0x42ae7b
push 8
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp - 0x3b4]
call fcn.0040686d
mov edx, esi
mov byte [ebp - 4], 7
mov ecx, eax
call fcn.00406825
mov bl, al
xor eax, eax
inc eax
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x3b8]
add ecx, 0xfffffff0
call fcn.00404048
test bl, bl
je 0x42aef5
xor eax, eax
lea edi, [eax + 1]
mov ecx, dword [ebp - 0x3b4]
add ecx, 0xfffffff0
call fcn.00404048
lea ecx, [ebp - 0x3ec]
call fcn.0044f59f
mov eax, edi
jmp 0x42afac
push 0x5e6198
push str.32770
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42af3b
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x42af2e
push 9
push esi
call dword [sym.imp.USER32.dll_ShowWindowAsync]
push 0x64
call dword [sym.imp.KERNEL32.DLL_Sleep]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call fcn.0058bc3e
mov ecx, 0x5e7de4
mov edx, str.AllowSecondaryKVM
push ecx
push edi
call fcn.00434e91
dec eax
neg eax
push ecx
sbb eax, eax
lea ecx, [ebp - 0x62c]
inc eax
mov dword [0x624018], eax
call fcn.0042d0a3
mov eax, dword [ebp - 0x3c0]
lea ecx, [ebp - 0x62c]
mov byte [ebp - 4], 8
mov dword [eax + 0x20], ecx
call fcn.00448ae5
lea ecx, [ebp - 0x52c]
call fcn.0043e6b5
lea ecx, [ebp - 0x62c]
call fcn.00448581
mov ecx, dword [ebp - 0x3b4]
lea ecx, [ecx - 0x10]
call fcn.00404048
lea ecx, [ebp - 0x3ec]
call fcn.0044f59f
xor eax, eax
call fcn.005813c4
ret