Function at 0x423390
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0x10]
mov ecx, str._version
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4233c2
test dl, dl
je 0x4233be
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4233c2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4233a2
xor eax, eax
jmp 0x4233c7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423405
call fcn.00407610
push dword [0x46b2c0]
push dword [0x46b2bc]
push dword [0x46b2b8]
push str.LifeUninstall__u._u._u_n
push 1
call fcn.004413d3
add esp, 4
push eax
call fcn.0040b390
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
mov dword [0x4aa9f8], 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jne 0x423487
push esi
call fcn.0041e120
add esp, 4
mov ecx, 0x4aa9fc
push 0
push esi
push 0
call fcn.00420990
cmp dword [0x488318], 0
jne 0x423446
mov dword [0x488318], 0
push dword [ebp - 4]
push 0x4aaa70
push 0x4882e8
push 0x488038
push 0x4ac024
call fcn.00408cc0
movzx esi, ax
add esp, 0x14
mov eax, dword [0x4aaa64]
test eax, eax
jne 0x423495
call fcn.00436111
mov dword [0x4aaa64], eax
test eax, eax
jne 0x423495
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
push 0
push eax
call fcn.00436213
test si, si
je 0x423487
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x4aaa58], 0x4aaa50
call edi
push 0x48803c
mov dword [0x4aaa5c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x488054]
push 0x48803c
mov dword [0x4aaa60], eax
mov dword [0x488054], 0x4aaa58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push dword [0x4ac028]
push 0
push 0
push 0x1e0
push 0x280
push 0
push 0
push 0x96080000
push 0x4665c0
push esi
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x423487
push dword [ebp + 0x14]
push dword [0x4aaa54]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
mov ecx, 0x4aaa54
call fcn.00420620
push dword [0x4aaa54]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ebx, dword [0x4aa9f4]
add ebx, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
mov esi, dword [0x4aaa30]
mov edi, eax
push 4
mov ecx, dword [esi + 8]
inc ecx
push ecx
push dword [esi]
call fcn.00446200
add esp, 0xc
test eax, eax
je 0x4235ad
mov dword [esi], eax
mov eax, dword [esi + 8]
push 4
inc eax
push eax
push dword [esi + 4]
call fcn.00446200
add esp, 0xc
test eax, eax
je 0x4235ad
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
lea ecx, [eax*4]
mov eax, dword [esi]
add eax, ecx
je 0x42359d
mov dword [eax], edi
mov eax, dword [esi + 4]
add eax, ecx
je 0x4235aa
mov dword [eax], 0x4aaaa0
inc dword [esi + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [sym.imp.USER32.dll_PeekMessageA]
xor edi, edi
mov esi, 1
test esi, esi
je 0x4235f4
push 0
push 0
push 0
push 0
push 0x4aaabc
call ebx
test eax, eax
jne 0x4235f4
mov eax, dword [0x4aaaa0]
mov ecx, 0x4aaaa0
push edi
call dword [eax + 8]
xor ecx, ecx
inc edi
test eax, eax
cmovne ecx, esi
mov esi, ecx
test esi, esi
jne 0x4235c5
push 0
push 0
push 0
push 0x4aaabc
call dword [sym.imp.USER32.dll_GetMessageA]
cmp eax, 0xffffffff
je 0x4235c1
test eax, eax
je 0x42366c
mov eax, dword [0x4aaaa0]
mov ecx, 0x4aaaa0
push 0x4aaabc
call dword [eax + 4]
test eax, eax
jne 0x42363a
push 0x4aaabc
call dword [sym.imp.USER32.dll_TranslateMessage]
push 0x4aaabc
call dword [sym.imp.USER32.dll_DispatchMessageA]
mov eax, dword [0x4aaac0]
cmp eax, 0x118
ja 0x42365c
je 0x4235c1
cmp eax, 0xf
je 0x4235c1
cmp eax, 0xa0
jmp 0x423661
cmp eax, 0x200
je 0x4235c1
jmp 0x4235ba
mov edi, dword [0x4aa9f4]
add edi, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x4aaa34]
test esi, esi
je 0x4236ce
cmp dword [esi + 4], 0
jle 0x42369c
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x4aaa34]
test esi, esi
je 0x4236ce
mov eax, dword [esi]
test eax, eax
je 0x4236b5
push eax
call fcn.0043f6c0
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00439dd8
add esp, 8
push edi
mov dword [0x4aaa34], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x4aaa30]
test esi, esi
je 0x423727
mov eax, dword [esi]
test eax, eax
je 0x4236fe
push eax
call fcn.0043f6c0
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x423715
push eax
call fcn.0043f6c0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.00439dd8
add esp, 8
mov esi, dword [0x4aaa28]
test esi, esi
je 0x423759
cmp dword [esi], 0
je 0x423759
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x423743
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x423736
mov esi, dword [0x4882c8]
mov ecx, dword [0x4882cc]
cmp esi, ecx
jae 0x42378a
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x423783
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x4882cc]
add esi, 4
cmp esi, ecx
jb 0x423770
mov ecx, 0x4aa9fc
call fcn.004226b0
call dword [sym.imp.ole32.dll_CoUninitialize]
cmp dword [0x4aa9f8], 0
je 0x4237a8
call fcn.00426f70
mov eax, dword [0x4aaac4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10