Function at 0x45b1a2
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e622f
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
push ebx
push esi
push edi
mov eax, dword [0x57b750]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x10], ebx
lea edi, [ebx + 0xa4]
mov dword [esp + 0x44], edi
call fcn.0040e246
cmp dword [0x585834], 0x1ceee1
sete al
cmp dword [0x583bb4], 1
mov byte [0x5858b8], al
jle 0x45b20b
push 0x1000
jmp 0x45b210
push 0x400
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
lea edi, [esp + 0x90]
stosd dword es:[edi], eax
mov ecx, ebx
mov dword [esp + 0x8c], 8
mov dword [esp + 0x90], 0xff
call fcn.004a5084
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0
call fcn.004a97af
mov dword [esp], 0x5858e8
call fcn.0045bddd
call fcn.00473e3d
imul eax, eax, 0x1c
mov esi, 0x585504
add eax, esi
push dword [eax]
xor edi, edi
inc edi
push edi
call fcn.004bc49d
call fcn.00473e3d
imul eax, eax, 0x1c
add eax, esi
push dword [eax]
push 2
call fcn.004bc49d
call fcn.00473e3d
imul eax, eax, 0x1c
add eax, esi
push dword [eax]
push 3
call fcn.004bc49d
call fcn.00473e3d
imul eax, eax, 0x1c
add eax, esi
push dword [eax]
push 4
call fcn.004bc49d
call fcn.00473e3d
imul eax, eax, 0x1c
add eax, esi
push dword [eax]
push 5
call fcn.004bc49d
call fcn.00473e3d
imul eax, eax, 0x1c
add eax, esi
push dword [eax]
xor esi, esi
push esi
call fcn.004bc49d
add esp, 0x30
call fcn.004a9db9
call fcn.004a5762
mov eax, dword [eax + 0x40]
mov dword [eax + 0x3c], 0x2000
call fcn.004a5762
mov eax, dword [eax + 0x40]
mov dword [eax + 0x2c], esi
call fcn.004a5762
mov eax, dword [eax + 0x40]
push 0x523938
push ecx
mov dword [eax + 0x28], esi
mov ecx, esp
mov dword [esp + 0x20], esp
mov esi, str.RESOURCESTRING
push esi
call fcn.004024df
and dword [esp + 0xf0], 0
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push str.IDS_LANGUAGE
call fcn.004024df
or dword [esp + 0xf4], 0xffffffff
lea eax, [esp + 0x30]
push eax
call fcn.004068e2
mov dword [esp + 0xe8], edi
lea edi, [esp + 0x24]
call fcn.00415c5a
call fcn.00473e3d
xor edi, edi
inc edi
cmp dword [0x583bb4], edi
mov dword [ebx + 0x1e0], eax
jle 0x45b370
push 0x800
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebx + 0x12c]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [esp + 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x45b39e
cmp eax, 5
je 0x45b39e
mov byte [ebx + 0x130], 0
jmp 0x45b3ac
mov byte [ebx + 0x130], 1
mov byte [ebx + 0x149], 1
cmp dword [esp + 0x4c], 0
je 0x45b3bd
push dword [esp + 0x4c]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov al, byte [ebx + 0x130]
test al, al
je 0x45b517
call fcn.00499991
push eax
lea ecx, [esp + 0x5c]
call fcn.004727f7
push 0x523938
push ecx
mov byte [esp + 0xf0], 2
mov ecx, esp
mov dword [esp + 0x20], esp
push esi
call fcn.004024df
push ecx
mov byte [esp + 0xf4], 3
mov ecx, esp
mov dword [esp + 0x40], esp
push str.AFX_IDS_APP_TITLE
call fcn.004024df
lea eax, [esp + 0x94]
push eax
mov byte [esp + 0xf8], 2
call fcn.004068e2
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xec], 4
call fcn.0040257e
mov byte [esp + 0xe8], 2
mov ecx, dword [esp + 0x88]
add ecx, 0xfffffff0
call fcn.004027b0
mov esi, dword [esp + 0x58]
push esi
push str.32770
call dword [sym.imp.USER32.dll_FindWindowW]
mov ebx, eax
mov eax, dword [0x583bbc]
push dword [eax + 4]
lea ecx, [esp + 0x2c]
call fcn.004024df
push ebx
mov byte [esp + 0xec], 5
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45b4f1
push str.scan
lea ecx, [esp + 0x2c]
call fcn.0040f54b
test eax, eax
jne 0x45b4d9
push eax
push eax
push 0x8097
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.004027b0
lea ecx, [esi - 0x10]
call fcn.004027b0
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.004027b0
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call dword [sym.imp.USER32.dll_GetLastActivePopup]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x45b4a1
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.004027b0
lea ecx, [esi - 0x10]
call fcn.004027b0
xor esi, esi
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.004027b0
mov eax, esi
jmp 0x45b4c3
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00406a3d
push dword [eax]
mov ecx, ebx
call fcn.004a9e4d
call fcn.0040abb8
inc dword [0x5848a8]
push 0x584874
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0x6c]
mov dword [esp + 0x84], SysReAllocString
call fcn.0040a64a
mov byte [esp + 0xe8], 0xb
call fcn.00499991
push eax
lea ecx, [esp + 0x24]
call fcn.004727f7
mov byte [esp + 0xe8], 0xc
call fcn.00499991
push eax
lea ecx, [esp + 0x3c]
call fcn.004727f7
mov ebx, 0x526398
push ebx
lea ecx, [esp + 0x54]
mov byte [esp + 0xec], 0xd
call fcn.004024df
push str.User_Name
lea ecx, [esp + 0x34]
mov byte [esp + 0xec], 0xe
call fcn.004024df
push 0x54ba60
lea ecx, [esp + 0x30]
mov byte [esp + 0xec], 0xf
call fcn.004024df
push 0
mov byte [esp + 0xec], 0x10
push dword [esp + 0x54]
mov dword [esp + 0x70], 0x20019
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0040a666
test eax, eax
je 0x45b6b0
push dword [esp + 0x30]
mov eax, esi
push eax
call fcn.0040a6d7
test eax, eax
je 0x45b61b
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x34]
mov edi, esi
call fcn.0040a788
xor edi, edi
inc edi
push dword [esp + 0x2c]
lea eax, [esp + 0x6c]
push eax
call fcn.0040a6d7
test eax, eax
je 0x45b642
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
lea edi, [esp + 0x70]
call fcn.0040a788
xor edi, edi
inc edi
mov esi, str.TELNO
push esi
lea eax, [esp + 0x6c]
push eax
call fcn.0040a6d7
test eax, eax
je 0x45b66d
mov eax, dword [esp + 0x10]
add eax, 0x1f0
push eax
push esi
lea edi, [esp + 0x70]
call fcn.0040a788
xor edi, edi
inc edi
lea esi, [esp + 0x68]
call fcn.0040a6c4
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
je 0x45b6b0
push edi
push ecx
lea eax, [esp + 0x28]
mov dword [esp + 0x44], esp
mov ecx, esp
push eax
call fcn.0040228a
mov ecx, dword [esp + 0x4c]
call fcn.0040e2f7
test eax, eax
je 0x45b6b0
cmp dword [0x585834], 0x1ceee1
sete byte [0x5858b8]
cmp byte [0x5858b8], 0
je 0x45b754
lea eax, [esp + 0x64]
push eax
lea esi, [esp + 0xb0]
mov dword [esp + 0x68], SysReAllocString
call fcn.0040a64a
push ebx
lea ecx, [esp + 0x58]
mov byte [esp + 0xec], 0x11
call fcn.004024df
push edi
mov byte [esp + 0xec], 0x12
push dword [esp + 0x58]
mov dword [esp + 0xb4], 0x2001f
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0040a666
test eax, eax
je 0x45b728
lea eax, [esp + 0x60]
push eax
push str.REGVER_UNINSTALL
mov eax, esi
mov dword [esp + 0x68], edi
call fcn.0040a861
call fcn.0040a6c4
call fcn.0045b09a
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004027b0
lea esi, [esp + 0xac]
call fcn.0040a6c4
mov ecx, dword [esp + 0xb4]
add ecx, 0xfffffff0
call fcn.004027b0
and dword [esp + 0x40], 0
cmp dword [0x585834], 0x27cb5
jne 0x45b769
mov dword [esp + 0x40], edi
lea eax, [esp + 0x3c]
push eax
lea esi, [esp + 0xc8]
mov dword [esp + 0x40], SysReAllocString
call fcn.0040a64a
push edi
push ebx
mov byte [esp + 0xf0], 0x13
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0xd0], 0x2001f
call fcn.0040a666
test eax, eax
je 0x45b7bb
lea eax, [esp + 0x40]
push eax
push str.Expired
mov eax, esi
call fcn.0040a861
call fcn.0040a6c4
lea esi, [esp + 0xc4]
mov byte [esp + 0xe8], 0x10
call fcn.0040a6c4
mov ecx, dword [esp + 0xcc]
add ecx, 0xfffffff0
call fcn.004027b0
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov ebx, dword [esp + 0x10]
mov esi, ebx
call fcn.0045810d
call fcn.00458494
push ebx
call fcn.0045c156
push ebx
call fcn.0045c410
push 0x68
call fcn.004985b0
pop ecx
mov dword [esp + 0x44], eax
mov byte [esp + 0xe8], 0x14
test eax, eax
je 0x45b825
mov esi, eax
call fcn.004160d9
jmp 0x45b827
xor eax, eax
mov byte [esp + 0xe8], 0x10
lea ecx, [ebx + 0xf4]
mov dword [ecx], eax
mov dword [eax], edi
mov ecx, dword [ecx]
call fcn.004181d6
call fcn.00499991
push eax
lea ecx, [esp + 0x20]
call fcn.004727f7
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe8], 0x15
call fcn.004025dd
mov eax, dword [0x583bb4]
cmp eax, edi
jle 0x45b909
mov esi, edi
push 0x525554
lea ecx, [esp + 0x38]
call fcn.004024df
mov edi, eax
mov byte [esp + 0xe8], 0x16
mov eax, dword [0x583bbc]
push dword [eax + esi*4]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0040210c
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0xf4], 0x17
call fcn.004020b5
add esp, 0xc
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xec], 0x18
call fcn.0040257e
mov ecx, dword [esp + 0x5c]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [esp + 0x84]
add ecx, 0xfffffff0
call fcn.004027b0
mov byte [esp + 0xe8], 0x15
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.004027b0
inc esi
cmp esi, dword [0x583bb4]
jl 0x45b86f
call fcn.0049a417
mov eax, dword [eax + 8]
mov byte [esp + 0xe8], 0x10
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
mov dword [0x5848e4], eax
call fcn.004027b0
mov eax, dword [0x583bbc]
push dword [eax + 4]
lea ecx, [esp + 0x18]
call fcn.004024df
mov esi, 0x523938
push esi
push 0x526790
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0xf4], 0x19
call fcn.00415abb
push esi
push 0x5231f8
lea eax, [esp + 0x1c]
push eax
call fcn.00415abb
push esi
push 0x5267d0
lea eax, [esp + 0x1c]
push eax
call fcn.00415abb
lea edi, [esp + 0x14]
call fcn.00415c5a
mov ebx, edi
call fcn.0040f5c6
mov ebx, eax
call fcn.0040f613
push str.delaylaunch
mov ecx, edi
call fcn.0040f54b
test eax, eax
jne 0x45ba57
and dword [esp + 0x48], eax
lea eax, [esp + 0x18]
push eax
lea esi, [esp + 0x98]
mov dword [esp + 0x1c], SysReAllocString
call fcn.0040a64a
push 1
push 0x526398
mov byte [esp + 0xf0], 0x1a
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0xa0], 0x20019
call fcn.0040a666
test eax, eax
je 0x45ba1e
mov esi, str.delaylaunchMins
push esi
lea eax, [esp + 0x98]
push eax
call fcn.0040a6d7
test eax, eax
je 0x45ba12
lea eax, [esp + 0x48]
push eax
push esi
lea eax, [esp + 0x9c]
push eax
call fcn.0040a880
lea esi, [esp + 0x94]
call fcn.0040a6c4
mov eax, dword [esp + 0x48]
imul eax, eax, 0xea60
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea esi, [esp + 0x94]
mov byte [esp + 0xe8], 0x19
call fcn.0040a6c4
mov ecx, dword [esp + 0x9c]
add ecx, 0xfffffff0
call fcn.004027b0
jmp 0x45bc22
push str.openregister
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45ba79
mov esi, dword [esp + 0x10]
mov byte [esi + 0x1ed], 1
jmp 0x45bc26
push str.startedafteroptimization
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45ba9b
mov eax, dword [esp + 0x10]
mov byte [eax + 0x111], 1
jmp 0x45bbf6
push str.arovistascan
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45babd
mov eax, dword [esp + 0x10]
mov byte [eax + 0x13e], 1
jmp 0x45bbf6
push str.arovistadefrag
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45badf
mov eax, dword [esp + 0x10]
mov byte [eax + 0x13f], 1
jmp 0x45bbf6
push str.arovistaoneclick
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bb01
mov eax, dword [esp + 0x10]
mov byte [eax + 0x140], 1
jmp 0x45bbf6
push str.arovistafullbackup
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bb23
mov eax, dword [esp + 0x10]
mov byte [eax + 0x141], 1
jmp 0x45bbf6
push str.arovistafullbackuprestore
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bb45
mov eax, dword [esp + 0x10]
mov byte [eax + 0x142], 1
jmp 0x45bbf6
push str.arovistapartialbackuprestore
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bb67
mov eax, dword [esp + 0x10]
mov byte [eax + 0x143], 1
jmp 0x45bbf6
push str.arovistaschedule
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bb86
mov eax, dword [esp + 0x10]
mov byte [eax + 0x144], 1
jmp 0x45bbf6
push str.default
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bbac
mov eax, dword [esp + 0x10]
mov byte [eax + 0xec], 0
mov byte [eax + 0x146], 1
jmp 0x45bbf6
push str.50peroffer
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bbd9
mov eax, dword [esp + 0x10]
mov byte [eax + 0x1e4], 1
mov byte [eax + 0x15c], 1
mov byte [eax + 0xec], 0
jmp 0x45bbf6
push str.startedafter50pernopt
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bbfa
mov eax, dword [esp + 0x10]
mov byte [eax + 0x1ec], 1
mov esi, eax
jmp 0x45bc26
push 0x54bc90
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bc22
mov eax, dword [esp + 0x10]
push 0x1e5c9
mov byte [eax + 0x145], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x10]
call fcn.00407002
xor ebx, ebx
test eax, eax
jne 0x45bc5b
mov byte [esi + 0x13e], bl
mov byte [esi + 0x13f], bl
mov byte [esi + 0x140], bl
mov byte [esi + 0x141], bl
mov byte [esi + 0x142], bl
mov byte [esi + 0x143], bl
mov byte [esi + 0x144], bl
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebx
je 0x45bcaf
cmp byte [esi + 0x145], bl
jne 0x45bcaf
push str.scan
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bc94
mov byte [esi + 0x134], 1
mov byte [esi + 0x15c], 1
mov byte [esi + 0xec], bl
jmp 0x45bcb6
push str.updatecheck
lea ecx, [esp + 0x18]
call fcn.0040f54b
test eax, eax
jne 0x45bcb6
mov byte [esi + 0x132], 1
jmp 0x45bc85
mov byte [esi + 0xec], 1
mov al, byte [esi + 0x1e4]
test al, al
je 0x45bcc6
mov byte [esi + 0xec], bl
push 0x51c0
call fcn.004985b0
pop ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0xe8], 0x1b
cmp eax, ebx
je 0x45bce9
push eax
call fcn.0045f1f1
jmp 0x45bceb
xor eax, eax
push ecx
mov byte [esp + 0xec], 0x19
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Main_DLG_Created
mov dword [esi + 0xf0], eax
call fcn.004024df
call fcn.0045c866
mov eax, dword [esi + 0xf0]
mov dword [esi + 0x20], eax
pop ecx
mov byte [eax + 0x8ec], bl
mov ecx, dword [esi + 0xf0]
call fcn.0046238a
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Splash_Window_Shown
call fcn.004024df
call fcn.0045c866
pop ecx
mov ecx, dword [esi + 0xf0]
mov eax, dword [ecx]
push ebx
push 0x18a
call dword [eax + 0x13c]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Main_Dialog_created
call fcn.004024df
call fcn.0045c866
pop ecx
mov ecx, dword [esi + 0xf0]
push ebx
call fcn.0049a6cb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.004027b0
lea esi, [esp + 0x68]
call fcn.0040a6c4
mov ecx, dword [esp + 0x70]
add ecx, 0xfffffff0
call fcn.004027b0
xor esi, esi
inc esi
jmp 0x45b507