Function at 0x18094a0f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0xc], ecx
movzx ecx, byte [0x1827e6e4]
push ebx
push esi
neg ecx
push edi
sbb ecx, ecx
push 7
pop edx
and ecx, 0x1827e000
je 0x18094a57
xor eax, eax
mov dword [ebp - 0x28], ecx
inc eax
mov dword [ebp - 0x24], edx
push eax
push edx
mov dword [ebp - 0x20], eax
call fcn.18008c56
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x28]
push str._Waiting_for_other_instances_to_exit_
push eax
call fcn.18006ca0
pop ecx
pop ecx
xor ebx, ebx
mov eax, ebx
mov edi, ebx
mov dword [ebp - 8], eax
mov esi, ebx
mov dword [ebp - 0x1c], eax
mov edx, ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 4], edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
mov dword [ebp - 4], ebx
sar eax, 2
test eax, eax
je 0x18094c50
push dword [ecx + edx*4]
push ebx
push 0x100401
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
jne 0x18094aa2
call fcn.18016093
jmp 0x18094ac6
mov dword [ebp - 8], eax
cmp edi, esi
je 0x18094ab3
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x20], edi
jmp 0x18094ac6
lea eax, [ebp - 8]
push eax
push edi
lea ecx, [ebp - 0x24]
call fcn.1800d6cb
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
inc edx
mov dword [ebp - 4], edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x18094a88
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 4], edi
cmp esi, edi
je 0x18094c50
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x18]
mov edx, esi
push dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, edi
sub eax, esi
sar eax, 2
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.1800c9d0
pop ecx
lea ecx, [ebp - 0x20]
mov dword [ebp + 0xc], eax
call fcn.1805a248
push edx
push eax
mov ecx, 0x1827e580
call fcn.18019417
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x18094b56
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x18094c02
movzx eax, ax
or eax, 0x80070000
jmp 0x18094c00
test eax, eax
je 0x18094c50
movzx ecx, byte [0x1827e6e4]
neg ecx
sbb ecx, ecx
and ecx, 0x1827e000
je 0x18094b9f
push 7
pop edx
push 0xfffffffffffffffe
pop eax
push eax
push edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
call fcn.18008c56
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x28]
push str._Other_Omaha_Update_instances_failed_to_shutdown_in_time___u_
push eax
call fcn.18006ca0
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], ebx
cmp dword [ebp + 8], ebx
jbe 0x18094bf1
mov edi, ebx
push ebx
push dword [esi + edi*4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x18094be8
mov ecx, dword [esi + edi*4]
call fcn.18013cca
test eax, eax
je 0x18094be8
lea edx, [ebp + 0xc]
mov dword [ebp + 0xc], ebx
mov ecx, eax
call fcn.18093bd0
mov ecx, dword [ebp + 0xc]
test eax, eax
js 0x18094be3
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], ecx
call fcn.18093ce7
inc edi
cmp edi, dword [ebp + 8]
jb 0x18094bac
mov edi, dword [ebp - 4]
mov ecx, 0x18273f78
call fcn.18019d30
mov eax, 0x80040707
test eax, eax
jns 0x18094c50
mov eax, dword [ebp + 8]
test eax, eax
je 0x18094c37
mov edi, eax
push 0xffffffffffffffff
push dword [esi + ebx*4]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x18094c2a
mov ecx, dword [esi + ebx*4]
call fcn.18013cca
call dword [sym.imp.KERNEL32.dll_GetLastError]
inc ebx
cmp ebx, edi
jb 0x18094c0d
mov edi, dword [ebp - 4]
xor ebx, ebx
mov eax, dword [ebp + 8]
push 0x1f4
mov edx, esi
mov ecx, eax
call fcn.1800c9d0
pop ecx
test eax, eax
je 0x18094c50
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub edi, esi
sar edi, 2
test edi, edi
je 0x18094c70
push dword [esi + ebx*4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x18094c6b
call fcn.18016093
inc ebx
cmp ebx, edi
jb 0x18094c59
test esi, esi
je 0x18094c85
mov eax, dword [ebp - 8]
sub eax, esi
and eax, 0xfffffffc
push eax
push esi
call fcn.1800a157
pop ecx
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 8