Function at 0x44512f
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc44
mov eax, dword [0x7aca10]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
lea ecx, [ebp - 0x524]
push edi
xor ebx, ebx
push esi
mov dword [ebp - 0xb1c], ebx
call fcn.00403cd0
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x5fc]
push eax
call fcn.0044a248
pop ecx
pop ecx
xor edi, edi
lea ecx, [ebp - 0x524]
push edi
push 1
call fcn.004053d0
lea eax, [ebp - 0x5fc]
push eax
call fcn.00441977
pop ecx
test al, al
je 0x4451c1
lea eax, [ebp - 0x5fc]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.00449337
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x5fc]
call fcn.004068d0
push edi
push 1
lea ecx, [ebp - 0x524]
call fcn.00401d30
lea eax, [ebp - 0x5fc]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.0044a1ec
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 8
jb 0x4451e0
mov ecx, dword [ecx]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi], ax
lea esi, [esi + 2]
test ax, ax
jne 0x4451e0
push edi
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push 2
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea ecx, [ebp - 0xb94]
call fcn.00407b40
push 0
push 0
call fcn.00408c60
call fcn.00408cf0
mov esi, eax
lea eax, [ebp - 0x5e4]
push eax
mov dword [ebp - 0xb0c], esi
call fcn.0044e0ed
add esp, 0xc
lea ecx, [ebp - 0xb3c]
call fcn.004030b0
and dword [ebp - 0xb3c], ebx
lea eax, [ebp - 0xb3c]
xor edi, edi
mov dword [ebp - 0xb38], str.setup.log
inc edi
push eax
mov dword [ebp - 0xb30], edi
call fcn.004030d0
xor eax, eax
push eax
push edi
push eax
push eax
call fcn.004032d0
add esp, 0x14
lea ecx, [ebp - 0x5b4]
call fcn.0040c290
lea eax, [ebp - 0x5b4]
push eax
push 6
call fcn.0040f9d0
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xb28], eax
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0xb24], eax
mov dword [ebp - 0xb20], eax
lea eax, [ebp - 0xb28]
push eax
call fcn.0040c3a0
mov eax, dword [ebp - 0xb24]
mov ecx, dword [ebp - 0xb28]
sub eax, ecx
push 0x18
cdq
add ecx, 0xffffffe8
pop edi
idiv edi
imul eax, eax, 0x18
add eax, ecx
lea ecx, [ebp - 0x65c]
push eax
call fcn.00403d30
xor eax, eax
mov byte [ebp - 0xb18], bl
mov edi, 0x100
mov word [ebp - 0xb17], ax
push edi
push eax
lea eax, [ebp - 0x304]
push eax
call fcn.004ab350
push edi
lea eax, [ebp - 0x104]
push 0
push eax
call fcn.004ab350
push edi
xor edi, edi
lea eax, [ebp - 0x204]
push edi
push eax
call fcn.004ab350
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.004104f0
add esp, 0x2c
cmp dword [eax + 0x14], 0x10
jb 0x44533e
mov eax, dword [eax]
lea ecx, [ebp - 0x204]
push ecx
lea ecx, [ebp - 0x104]
push ecx
lea ecx, [ebp - 0x304]
push ecx
lea ecx, [ebp - 0xb18]
push ecx
push eax
call fcn.004ae511
add esp, 0x14
lea ecx, [ebp - 0x524]
push edi
push 1
call fcn.00401d30
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x584]
call fcn.00401c90
push 1
push edi
lea eax, [ebp - 0xb08]
mov byte [ebp - 0xb08], 0x40
push eax
lea ecx, [ebp - 0x584]
call fcn.00412800
mov edx, eax
or edi, 0xffffffff
cmp edx, edi
jle 0x445502
mov ecx, dword [ebp - 0x574]
dec ecx
cmp edx, ecx
ja 0x445502
cmp dword [ebp - 0x570], 0x10
lea eax, [ebp - 0x584]
cmovae eax, dword [ebp - 0x584]
mov al, byte [eax + edx + 1]
cmp al, 0x41
jne 0x445502
cmp dword [ebp - 0x570], 0x10
lea eax, [ebp - 0x584]
lea ecx, [ebp - 0x554]
cmovae eax, dword [ebp - 0x584]
add eax, 2
add eax, edx
push eax
call fcn.00401c90
mov eax, dword [ebp - 0x544]
lea ecx, [ebp - 0x528]
cmp eax, 4
mov dword [ebp - 0x528], eax
lea edx, [ebp - 0xb2c]
mov dword [ebp - 0xb2c], 4
cmovle edx, ecx
cmp dword [ebp - 0x540], 0x10
lea ecx, [ebp - 0x554]
cmovae ecx, dword [ebp - 0x554]
mov eax, dword [edx]
mov byte [ecx + eax], bl
lea eax, [ebp - 0x554]
and dword [ebp - 0xb14], ebx
cmp dword [ebp - 0x540], 0x10
cmovae eax, dword [ebp - 0x554]
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0xb14]
push eax
lea eax, [ebp - 0x52c]
push eax
call fcn.00411210
pop ecx
pop ecx
cmp dword [ebp - 0xb14], ebx
jle 0x4454f3
mov edx, 0x3e8
lea ecx, [ebp - 0xb14]
cmp dword [ebp - 0xb14], edx
lea eax, [ebp - 0x528]
mov dword [ebp - 0x528], edx
cmovle eax, ecx
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb14], eax
call fcn.00449a5a
pop ecx
cmp eax, dword [ebp - 0xb14]
jl 0x4454f3
push 0x4de93c
lea ecx, [ebp - 0x524]
call fcn.00401c90
lea eax, [ebp - 0x524]
push eax
call fcn.00408cf0
mov ecx, eax
call fcn.004093a0
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.00401d30
push 0
push 1
lea ecx, [ebp - 0x554]
call fcn.00401d30
and dword [ebp - 0x58c], ebx
lea eax, [ebp - 0x524]
push 0xc
push eax
mov dword [ebp - 0x588], 0xf
mov byte [ebp - 0x59c], bl
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x52c]
call fcn.0040a030
lea eax, [ebp - 0x52c]
mov ecx, esi
push eax
lea eax, [ebp - 0x674]
push eax
call fcn.004091b0
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.00401d30
cmp dword [ebp - 0x664], ebx
je 0x44576b
lea eax, [ebp - 0x530]
xor ebx, ebx
push eax
push ecx
push ecx
mov esi, esp
mov dword [ebp - 0x530], ebx
mov eax, str._param
mov dword [ebp - 0x52c], ebx
mov dword [ebp - 0x528], ebx
push eax
mov dword [esi], eax
call fcn.004015d0
push ecx
mov dword [esi + 4], eax
mov ecx, esp
lea eax, [ebp - 0x674]
push eax
call fcn.0040a030
call fcn.00412d30
add esp, 0x14
lea ecx, [ebp - 0xb10]
push dword [ebp - 0x530]
call fcn.0040a030
lea eax, [ebp - 0xb10]
push eax
lea eax, [ebp - 0x614]
push eax
call fcn.00410510
xor eax, eax
mov dword [ebp - 0x630], 7
pop ecx
mov word [ebp - 0x644], ax
mov eax, dword [ebp - 0x52c]
pop ecx
mov ecx, dword [ebp - 0x530]
sub eax, ecx
push 0x18
pop esi
cdq
idiv esi
xor esi, esi
mov dword [ebp - 0x634], ebx
inc esi
cmp eax, esi
jbe 0x445641
lea eax, [ecx + 0x18]
push eax
lea ecx, [ebp - 0xb10]
call fcn.0040a030
lea eax, [ebp - 0xb10]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.00410510
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x644]
call fcn.0040a110
push ebx
push esi
lea ecx, [ebp - 0x524]
call fcn.004053d0
push ecx
push ecx
lea eax, [ebp - 0x614]
mov ecx, esp
push eax
call fcn.0040a000
lea ecx, [ebp - 0x524]
call fcn.0040c2b0
push eax
call fcn.0040dda0
mov bl, al
pop ecx
neg bl
lea ecx, [ebp - 0x524]
sbb bl, bl
call fcn.00403c60
lea eax, [ebp - 0x59c]
push eax
lea eax, [ebp - 0x614]
add bl, 1
je 0x4456a6
push eax
call fcn.0046843a
pop ecx
pop ecx
push edi
xor ebx, ebx
lea eax, [ebp - 0x5b4]
push ebx
push eax
lea ecx, [ebp - 0x614]
call fcn.00405600
jmp 0x4456d0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0040a000
lea ecx, [ebp - 0x524]
call fcn.0040c2b0
push eax
call fcn.0040ea40
pop ecx
pop ecx
lea ecx, [ebp - 0x524]
call fcn.00403c60
xor ebx, ebx
cmp dword [ebp - 0x58c], 0x1000
jae 0x445706
push ebx
push esi
lea ecx, [ebp - 0x644]
call fcn.004053d0
push ebx
push esi
lea ecx, [ebp - 0x614]
call fcn.004053d0
lea ecx, [ebp - 0x530]
call fcn.00412fa0
jmp 0x4460a2
call fcn.0044f195
lea ecx, [ebp - 0x6f4]
call fcn.0044119d
push edi
push ebx
lea eax, [ebp - 0x614]
push eax
lea ecx, [ebp - 0x6ec]
call fcn.00405600
push edi
push ebx
lea eax, [ebp - 0x59c]
push eax
lea ecx, [ebp - 0x6d4]
call fcn.00401e90
push edi
push ebx
lea eax, [ebp - 0x644]
push eax
lea ecx, [ebp - 0x6a4]
call fcn.00405600
lea eax, [ebp - 0x6f4]
push eax
call fcn.0044ee77
pop ecx
call fcn.0044f225
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 1
call fcn.00450952
mov ecx, eax
call fcn.0045097c
test al, al
jne 0x445786
xor ebx, ebx
mov edi, ebx
jmp 0x4460a2
push 0x4de948
mov ecx, esi
call fcn.00409100
test al, al
jne 0x445aac
lea eax, [ebp - 0x524]
push 0x12
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x52c]
call fcn.0040a030
lea eax, [ebp - 0x52c]
mov ecx, esi
push eax
call fcn.00409070
push 0
push 1
lea ecx, [ebp - 0x524]
mov bl, al
call fcn.00401d30
test bl, bl
je 0x445ac5
sub esp, 0x18
mov ecx, esp
push str.run_first
call fcn.00401c90
call fcn.0044d690
add esp, 0x18
xor ebx, ebx
mov edi, ebx
push ebx
push str.E0A1A9DC_D75C_4EB4_8124_06C532CFA119
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
jne 0x4459a5
lea ecx, [ebp - 0x53c]
call fcn.0040c290
lea eax, [ebp - 0x53c]
push eax
call fcn.0040de20
mov dword [esp], 0x208
lea eax, [ebp - 0x50c]
push ebx
push eax
call fcn.004ab350
add esp, 0xc
lea ecx, [ebp - 0x50c]
cmp dword [ebp - 0x528], 8
lea eax, [ebp - 0x53c]
cmovae eax, dword [ebp - 0x53c]
push 0x104
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
push ecx
push ecx
mov esi, esp
lea eax, [ebp - 0x50c]
push eax
mov dword [esi], eax
call fcn.00402920
pop ecx
lea ecx, [ebp - 0x554]
mov dword [esi + 4], eax
call fcn.0040c2b0
push ecx
push ecx
mov esi, esp
mov eax, str.deDq4d9D0.tmp
push eax
mov dword [esi], eax
call fcn.00402920
pop ecx
mov dword [esi + 4], eax
lea ecx, [ebp - 0x554]
lea eax, [ebp - 0x56c]
push eax
call fcn.0040cbe0
push eax
lea ecx, [ebp - 0x554]
call fcn.0040c330
lea ecx, [ebp - 0x56c]
call fcn.00403c60
mov ecx, 0x4de9c4
lea eax, [ebp - 0x554]
push ecx
push eax
push ecx
lea eax, [ebp - 0x56c]
push eax
call fcn.0040aba0
add esp, 0xc
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.00440ec3
add esp, 0xc
lea ecx, [ebp - 0x56c]
push ebx
push 1
call fcn.004053d0
cmp dword [ebp - 0x510], 8
lea eax, [ebp - 0x524]
cmovae eax, dword [ebp - 0x524]
push eax
lea eax, [ebp - 0x56c]
push str._i__s__ls
push eax
call fcn.00414e30
mov esi, eax
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x445930
mov esi, dword [esi]
push 1
call fcn.004498e2
movzx eax, al
push eax
push 0x4de9c8
push esi
call fcn.00449383
add esp, 0x10
lea ecx, [ebp - 0x56c]
push ebx
push 1
call fcn.004053d0
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x554]
push 1
push eax
call fcn.0040d830
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
lea ecx, [ebp - 0x554]
call fcn.00403c60
lea ecx, [ebp - 0x53c]
call fcn.00403c60
inc edi
cmp edi, 3
jb 0x4457f8
jmp 0x445764
push 0x4de948
lea ecx, [ebp - 0x524]
call fcn.00401c90
lea eax, [ebp - 0x524]
push eax
call fcn.00408cf0
mov ecx, eax
call fcn.004093a0
push ebx
push 1
lea ecx, [ebp - 0x524]
call fcn.00401d30
mov ecx, dword [ebp - 0xb0c]
lea eax, [ebp - 0x524]
push ebx
push eax
call fcn.00409980
cmp dword [ebp - 0x510], 8
lea eax, [ebp - 0x524]
lea ecx, [ebp - 0x554]
cmovae eax, dword [ebp - 0x524]
push eax
call fcn.00403cd0
push ebx
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
cmp dword [ebp - 0x5a0], 8
lea ecx, [ebp - 0x5b4]
push 2
cmovae ecx, dword [ebp - 0x5b4]
lea edx, [ebp - 0xb04]
pop edi
movzx eax, word [ecx]
add ecx, edi
mov word [edx], ax
add edx, edi
test ax, ax
jne 0x445a34
cmp dword [ebp - 0x540], 8
lea ecx, [ebp - 0x554]
lea edx, [ebp - 0x8fc]
cmovae ecx, dword [ebp - 0x554]
movzx eax, word [ecx]
add ecx, edi
mov word [edx], ax
add edx, edi
test ax, ax
jne 0x445a5d
lea eax, [ebp - 0xb04]
mov dword [ebp - 0x530], ebx
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0x530]
push eax
push ebx
push 0x4a
push esi
mov dword [ebp - 0x52c], 0x410
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 1
lea ecx, [ebp - 0x554]
call fcn.004053d0
jmp 0x445764
sub esp, 0x18
mov ecx, esp
push str.run_first
call fcn.00401c90
call fcn.0044d690
add esp, 0x18
jmp 0x445acb
mov ebx, dword [ebp - 0xb1c]
cmp dword [ebp - 0x5d4], 0
je 0x445b0d
lea eax, [ebp - 0x56c]
push 0x10
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xb10]
call fcn.0040a030
lea eax, [ebp - 0xb10]
xor ebx, ebx
push eax
mov ecx, esi
inc ebx
call fcn.00409070
test al, al
jne 0x445b0d
mov byte [ebp - 0xb08], bl
jmp 0x445b14
mov byte [ebp - 0xb08], 0
test bl, 1
je 0x445b2b
push 0
push 1
lea ecx, [ebp - 0x56c]
and ebx, 0xfffffffe
call fcn.00401d30
cmp byte [ebp - 0xb08], 0
je 0x445b80
lea eax, [ebp - 0x5e4]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.0044a1ec
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x56c]
push 0x10
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.00409410
push 0
push 1
lea ecx, [ebp - 0x56c]
call fcn.00401d30
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
lea eax, [ebp - 0x524]
push 0x10
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xb10]
call fcn.0040a030
lea eax, [ebp - 0xb10]
push eax
lea eax, [ebp - 0x56c]
push eax
call fcn.00408cf0
mov ecx, eax
call fcn.004091b0
push eax
lea ecx, [ebp - 0x5e4]
call fcn.004068d0
push 0
push 1
lea ecx, [ebp - 0x56c]
call fcn.00401d30
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.00401d30
lea eax, [ebp - 0x5e4]
push eax
call fcn.0044d92c
pop ecx
test bl, 4
je 0x445c00
lea ecx, [ebp - 0xc44]
and ebx, 0xfffffffb
call fcn.00403350
test bl, 2
je 0x445c17
push 0
push 1
lea ecx, [ebp - 0x56c]
and ebx, 0xfffffffd
call fcn.004053d0
push str.REG_UNINSTALL_PATH
lea ecx, [ebp - 0x524]
call fcn.00403cd0
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x5cc]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044bda1
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
lea eax, [ebp - 0x56c]
or ebx, 8
push 0x15
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xb10]
call fcn.0040a030
lea eax, [ebp - 0xb10]
mov ecx, esi
push eax
call fcn.00409070
test al, al
jne 0x445cac
cmp dword [ebp - 0x5b8], 8
lea eax, [ebp - 0x5cc]
lea ecx, [ebp - 0xb08]
cmovae eax, dword [ebp - 0x5cc]
push eax
call fcn.00441681
mov byte [ebp - 0xb08], 1
test al, al
jne 0x445cb3
mov byte [ebp - 0xb08], 0
push 0
and ebx, 0xfffffff7
lea ecx, [ebp - 0x56c]
push 1
mov dword [ebp - 0xb1c], ebx
call fcn.00401d30
cmp byte [ebp - 0xb08], 0
je 0x445cfb
lea eax, [ebp - 0x56c]
push 0x15
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.004093a0
push 0
push 1
lea ecx, [ebp - 0x56c]
call fcn.00401d30
call fcn.004494b9
test al, al
jne 0x445db0
lea ecx, [ebp - 0xb64]
call fcn.00410a00
lea eax, [ebp - 0xb64]
mov byte [ebp - 0xb64], 0
push eax
lea eax, [ebp - 0xb10]
push esi
push eax
call fcn.00410f20
add esp, 0xc
mov ecx, eax
call fcn.00410820
lea ecx, [ebp - 0xb10]
mov bl, al
call fcn.00410810
test bl, bl
je 0x445d5b
lea ecx, [ebp - 0xb64]
call fcn.00401590
xor ebx, ebx
jmp 0x446094
lea eax, [ebp - 0x56c]
push 0x15
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xb10]
call fcn.0040a030
lea eax, [ebp - 0xb10]
mov ecx, esi
push eax
call fcn.00409070
mov bl, al
lea ecx, [ebp - 0x56c]
push 0
neg bl
push 1
sbb bl, bl
call fcn.00401d30
lea ecx, [ebp - 0xb64]
add bl, 1
jne 0x445d4f
call fcn.00401590
mov ebx, dword [ebp - 0xb1c]
push str.CurDate
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push 0x44a2fb
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push str.CurDateShort
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push 0x44a37f
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push str.FirstInstallTime
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push 0x44a427
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push str.UninstFirstInstallTime
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push 0x44a580
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push str.UpdateTime
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push fcn.0044a5eb
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push str.InstallCount
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push 0x44a492
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push 0x4de8a4
lea ecx, [ebp - 0x524]
call fcn.00403cd0
push ecx
push ecx
mov eax, esp
push 0x44a6ef
push eax
call fcn.00440f54
pop ecx
pop ecx
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c2ee
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push 0x4ddef4
lea ecx, [ebp - 0x554]
call fcn.00403cd0
push str.IS_INSTALL_SUCCESS
lea ecx, [ebp - 0x524]
call fcn.00403cd0
lea eax, [ebp - 0x554]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044c3a9
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push 0
push 1
lea ecx, [ebp - 0x554]
call fcn.004053d0
push str.APPNAME
lea ecx, [ebp - 0x524]
call fcn.00403cd0
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x62c]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044bda1
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
push 0x4deac8
call fcn.00402920
pop ecx
push eax
push 0x4deac8
lea ecx, [ebp - 0x62c]
call fcn.004066a0
cmp dword [ebp - 0x618], 8
lea eax, [ebp - 0x62c]
cmovae eax, dword [ebp - 0x62c]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0xb0c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x44611e
test bl, 0x10
je 0x446078
lea ecx, [ebp - 0xc44]
call fcn.00403350
push dword [ebp - 0xb0c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
lea ecx, [ebp - 0x62c]
push ebx
push 1
call fcn.004053d0
push ebx
push 1
lea ecx, [ebp - 0x5cc]
call fcn.004053d0
push ebx
push 1
lea ecx, [ebp - 0x674]
call fcn.00401d30
push ebx
push 1
lea ecx, [ebp - 0x59c]
call fcn.00401d30
push ebx
push 1
lea ecx, [ebp - 0x584]
call fcn.00401d30
push ebx
push 1
lea ecx, [ebp - 0x65c]
call fcn.004053d0
lea ecx, [ebp - 0xb28]
call fcn.00409ef0
lea ecx, [ebp - 0x5b4]
call fcn.00403c60
push ebx
push 1
lea ecx, [ebp - 0x5e4]
call fcn.00401d30
lea ecx, [ebp - 0xb94]
call fcn.00407bc0
push ebx
push 1
lea ecx, [ebp - 0x5fc]
call fcn.00401d30
mov eax, edi
jmp 0x4462c1
call fcn.00442a91
push str.FILE_VERSION
lea ecx, [ebp - 0x524]
call fcn.00403cd0
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x68c]
push eax
call fcn.0044bdc8
mov ecx, eax
call fcn.0044bda1
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.004053d0
sub esp, 0x18
lea ecx, [ebp - 0x68c]
mov eax, esp
push ecx
push eax
call fcn.004104b0
sub esp, 0x10
lea ecx, [ebp - 0x65c]
mov eax, esp
push ecx
push eax
call fcn.004104b0
pop ecx
pop ecx
call fcn.00443479
add esp, 0x30
test al, al
je 0x4461c6
lea eax, [ebp - 0x56c]
or ebx, 0x20
push 0x13
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xb10]
call fcn.0040a030
lea eax, [ebp - 0xb10]
mov ecx, esi
push eax
call fcn.00409070
mov byte [ebp - 0xb08], 1
test al, al
je 0x4461cd
mov byte [ebp - 0xb08], 0
test bl, 0x20
je 0x4461e4
xor ebx, ebx
lea ecx, [ebp - 0x56c]
push ebx
push 1
call fcn.00401d30
jmp 0x4461e6
xor ebx, ebx
cmp byte [ebp - 0xb08], 0
je 0x446215
lea eax, [ebp - 0x56c]
push 0x13
push eax
call fcn.00449535
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.004093a0
push ebx
push 1
lea ecx, [ebp - 0x56c]
call fcn.00401d30
call fcn.00441c60
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebx
push 1
lea ecx, [ebp - 0x68c]
call fcn.004053d0
push ebx
push 1
lea ecx, [ebp - 0x62c]
call fcn.004053d0
push ebx
push 1
lea ecx, [ebp - 0x5cc]
call fcn.004053d0
push ebx
push 1
lea ecx, [ebp - 0x674]
call fcn.00401d30
push ebx
push 1
lea ecx, [ebp - 0x59c]
call fcn.00401d30
push ebx
push 1
lea ecx, [ebp - 0x584]
call fcn.00401d30
push ebx
push 1
lea ecx, [ebp - 0x65c]
call fcn.004053d0
lea ecx, [ebp - 0xb28]
call fcn.00409ef0
lea ecx, [ebp - 0x5b4]
call fcn.00403c60
push ebx
push 1
lea ecx, [ebp - 0x5e4]
call fcn.00401d30
lea ecx, [ebp - 0xb94]
call fcn.00407bc0
push ebx
push 1
lea ecx, [ebp - 0x5fc]
call fcn.00401d30
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a7ad5
mov esp, ebp
pop ebp
ret 0x10