Function at 0x18088281
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
movzx ecx, byte [0x180fb8d9]
sub esp, 0x68
push ebx
push esi
neg ecx
push edi
sbb ecx, ecx
mov edi, 0x180fbb80
and ecx, edi
mov ebx, eax
je 0x180882cb
xor esi, esi
inc esi
push esi
push 8
mov dword [ebp - 0x1c], ecx
call fcn.18001d8a
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push str._Waiting_for_other_instances_to_exit_
push eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], 8
call fcn.18001000
pop ecx
pop ecx
lea esi, [ebp - 0x64]
call fcn.18064a9e
mov eax, dword [ebx + 0x10]
sub eax, dword [ebx + 0xc]
and dword [ebp - 8], 0
sar eax, 2
test eax, eax
jbe 0x180883fa
movzx esi, byte [0x180fb8d9]
neg esi
sbb esi, esi
and esi, edi
je 0x1808833d
cmp dword [ebp - 8], eax
jb 0x18088301
call fcn.1809e0d9
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 8]
lea eax, [eax + ecx*4]
push 2
push 2
mov ecx, esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2c], esi
call fcn.18001d8a
push 2
mov dword [ebp - 0x28], eax
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
push dword [eax]
lea eax, [ebp - 0x2c]
push str._Waiting_for_process___u_
push eax
call fcn.18001000
add esp, 0xc
mov eax, dword [ebx + 0x10]
sub eax, dword [ebx + 0xc]
sar eax, 2
cmp dword [ebp - 8], eax
jb 0x18088350
call fcn.1809e0d9
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0xc]
shl ecx, 2
add eax, ecx
push dword [eax]
push 0
push 0x100401
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
jne 0x18088529
call fcn.1800fc86
movzx edi, byte [0x180fb8d9]
neg edi
sbb edi, edi
and edi, 0x180fbb80
mov dword [ebp - 0x10], eax
je 0x180883e0
mov eax, dword [ebx + 0x10]
sub eax, dword [ebx + 0xc]
sar eax, 2
cmp dword [ebp - 8], eax
jb 0x180883a0
call fcn.1809e0d9
mov eax, dword [ebp - 8]
mov esi, dword [ebx + 0xc]
push 0xfffffffffffffffe
shl eax, 2
push 2
mov ecx, edi
add esi, eax
mov dword [ebp - 0x3c], edi
call fcn.18001d8a
push dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
push dword [esi]
lea eax, [ebp - 0x3c]
push str._::OpenProcess_failed___u__0x_08x_
push eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x30], 2
call fcn.18001000
add esp, 0x10
mov edi, 0x180fbb80
mov eax, dword [ebx + 0x10]
sub eax, dword [ebx + 0xc]
inc dword [ebp - 8]
sar eax, 2
cmp dword [ebp - 8], eax
jb 0x180882e8
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x58]
test eax, 0xfffffffc
je 0x1808889e
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
je 0x18088440
push 2
pop esi
push esi
push esi
mov dword [ebp - 0x3c], ecx
call fcn.18001d8a
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push str._Calling_::WaitForMultipleObjects_
push eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
call fcn.18001000
pop ecx
pop ecx
call fcn.18040f9b
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp byte [ecx + 1], al
mov dword [ebp - 0x10], edx
sete al
sub esi, dword [ebp - 0x58]
sar esi, 2
dec eax
and eax, 0x20f58
add eax, 0xafc8
push eax
push 1
lea eax, [ebp - 0x64]
call fcn.1800663a
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
lea ebx, [ebp - 0x14]
mov dword [ebp - 8], eax
call fcn.18058191
push edx
push eax
mov esi, 0x180fc088
call fcn.1805731a
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
push 2
pop ebx
je 0x180884c9
push ebx
push ebx
mov dword [ebp - 0x3c], ecx
call fcn.18001d8a
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push str._::WaitForMultipleObjects_returned_
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.18001000
pop ecx
pop ecx
cmp dword [ebp - 8], 0xffffffff
jne 0x1808853d
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
mov esi, eax
je 0x18088510
push 0xfffffffffffffffe
push ebx
mov dword [ebp - 0x3c], ecx
call fcn.18001d8a
push esi
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push str._::WaitForMultipleObjects_failed___u_
push eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x30], ebx
call fcn.18001000
add esp, 0xc
test esi, esi
jle 0x18088707
and esi, 0xffff
or esi, 0x80070000
jmp 0x18088705
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x64]
call fcn.18006580
jmp 0x180883e5
cmp dword [ebp - 8], 0
je 0x180888a1
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
je 0x18088585
push 0xfffffffffffffffe
push 8
pop esi
push esi
mov dword [ebp - 0x3c], ecx
call fcn.18001d8a
push dword [ebp - 8]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push str._Other_DropboxUpdate.exe_instances_failed_to_shutdown_in_time___u_
push eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x30], esi
call fcn.18001000
add esp, 0xc
movzx ecx, byte [0x180fb8d9]
mov eax, dword [ebp + 8]
and dword [eax + 0xc], 0
neg ecx
sbb ecx, ecx
and ecx, edi
je 0x180885be
push ebx
push ebx
mov dword [ebp - 0x3c], ecx
call fcn.18001d8a
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push str._Listing_processes_that_did_not_exit._This_may_be_incomplete_if_processes_exited_after_WaitForMultipleObjects_returned._
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.18001000
pop ecx
pop ecx
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x58]
and dword [ebp - 8], 0
sar eax, 2
test eax, eax
jbe 0x180886f6
mov edi, dword [ebp - 8]
lea esi, [ebp - 0x64]
call fcn.1800a9bb
push 0
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x180886d9
call fcn.1800a9bb
push dword [eax]
call fcn.1801365b
mov edi, eax
pop ecx
movzx ecx, byte [0x180fb8d9]
test edi, edi
jne 0x18088683
neg ecx
sbb ecx, ecx
mov edi, 0x180fbb80
and ecx, edi
je 0x1808864c
push 0xffffffffffffffff
push 2
pop esi
push esi
mov dword [ebp - 0x3c], ecx
call fcn.18001d8a
or dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x3c]
push str.__Process::GetProcessIdFromHandle_failed___u_
push eax
call fcn.18001000
add esp, 0xc
jmp 0x1808864f
push 2
pop esi
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
je 0x180886d9
push esi
push esi
mov dword [ebp - 0x2c], ecx
call fcn.18001d8a
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push str.__Process_did_not_exit__unknown_
push eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
call fcn.18001000
pop ecx
pop ecx
jmp 0x180886d9
neg ecx
sbb ecx, ecx
and ecx, 0x180fbb80
je 0x180886b7
push 2
pop esi
push esi
push esi
mov dword [ebp - 0x4c], ecx
call fcn.18001d8a
push edi
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push str.__Process_did_not_exit___u_
push eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
call fcn.18001000
add esp, 0xc
and dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
push edi
call fcn.18086b99
pop ecx
test eax, eax
mov eax, dword [ebp - 0x10]
pop ecx
jl 0x180886d4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
call fcn.18086d26
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x58]
inc dword [ebp - 8]
sar eax, 2
cmp dword [ebp - 8], eax
jb 0x180885d3
push 2
mov edi, 0x180fbb80
pop ebx
mov esi, 0x180f7fc8
call fcn.180572c2
mov esi, 0x80040707
test esi, esi
jge 0x180888a1
mov eax, dword [ebp - 0x54]
and dword [ebp + 8], 0
mov ecx, eax
sub ecx, dword [ebp - 0x58]
sar ecx, 2
test ecx, ecx
jbe 0x180887b1
mov edi, dword [ebp + 8]
lea esi, [ebp - 0x64]
call fcn.1800a9bb
push 0xffffffffffffffff
push dword [eax]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x18088792
call fcn.1800a9bb
push dword [eax]
call fcn.1801365b
pop ecx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, 0x180fbb80
mov ebx, eax
je 0x18088792
push 0xffffffffffffffff
push 2
pop esi
push esi
mov dword [ebp - 0x4c], ecx
call fcn.18001d8a
or dword [ebp - 0x44], 0xffffffff
push ebx
push edi
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push str._::TerminateProcess_failed___u___u_
push eax
mov dword [ebp - 0x40], esi
call fcn.18001000
add esp, 0x10
mov eax, dword [ebp - 0x54]
inc dword [ebp + 8]
mov ecx, eax
sub ecx, dword [ebp - 0x58]
sar ecx, 2
cmp dword [ebp + 8], ecx
jb 0x18088724
push 2
mov edi, 0x180fbb80
pop ebx
sub eax, dword [ebp - 0x58]
push 0x1f4
sar eax, 2
mov esi, eax
push 1
lea eax, [ebp - 0x64]
call fcn.1800663a
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov esi, eax
test esi, esi
je 0x18088818
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
mov dword [ebp + 8], eax
je 0x18088818
push 0xffffffffffffffff
push ebx
mov dword [ebp - 0x4c], ecx
call fcn.18001d8a
push dword [ebp + 8]
or dword [ebp - 0x44], 0xffffffff
push esi
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push str._Wait_failed___u___u_
push eax
mov dword [ebp - 0x40], ebx
call fcn.18001000
add esp, 0x10
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x58]
xor edi, edi
sar eax, 2
test eax, eax
jbe 0x1808888d
lea esi, [ebp - 0x64]
call fcn.1800a9bb
push dword [eax]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1808887f
call fcn.1800fc86
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, 0x180fbb80
mov ebx, eax
je 0x1808887f
push 0xffffffffffffffff
push 2
pop esi
push esi
mov dword [ebp - 0x4c], ecx
call fcn.18001d8a
or dword [ebp - 0x44], 0xffffffff
push ebx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push str._CloseHandle_failed__0x_08x_
push eax
mov dword [ebp - 0x40], esi
call fcn.18001000
add esp, 0xc
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x58]
inc edi
sar eax, 2
cmp edi, eax
jb 0x18088827
lea esi, [ebp - 0x64]
call fcn.180376b4
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 4
push 2
pop ebx
movzx ecx, byte [0x180fb8d9]
neg ecx
sbb ecx, ecx
and ecx, edi
je 0x18088818
push 3
pop esi
push esi
push ebx
mov dword [ebp - 0x4c], ecx
call fcn.18001d8a
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push str._Wait_for_all_processes_to_exit_succeeded_
push eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], ebx
call fcn.18001000
pop ecx
pop ecx
jmp 0x18088818