Function at 0x10016250
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10054c50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb4
push 0x68b60a9c
lea ecx, [ebp - 0x76]
call fcn.1001f2d0
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x76]
call fcn.10031ec0
cmp dword [ebp - 0x40], 0
jne 0x100162a4
jmp 0x100165cc
push 0x62108dbc
lea ecx, [ebp - 0x8f]
call fcn.1001f350
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10082c4c], eax
lea ecx, [ebp - 0x8f]
call fcn.100175c0
mov eax, 0x983ceb52
push eax
lea ecx, [ebp - 0xa1]
call fcn.1001f3d0
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10082644], eax
lea ecx, [ebp - 0xa1]
call fcn.10031f50
cmp dword [0x10082c4c], 0
je 0x10016325
cmp dword [0x10082644], 0
jne 0x1001632a
jmp 0x100165cc
mov dword [ebp - 0x38], 0x10000
mov eax, dword [ebp - 0x38]
push eax
call fcn.1003c123
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x1001634b
jmp 0x100165cc
push 0
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x24]
push edx
push 0x10
call dword [0x10082c4c]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xc0000004
jne 0x10016391
mov eax, dword [ebp - 0x38]
shl eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call fcn.1003f46d
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x1001638f
jmp 0x100165cc
jmp 0x1001634b
cmp dword [ebp - 0x3c], 0
jge 0x100163a8
mov eax, dword [ebp - 0x24]
push eax
call fcn.1003c0e9
add esp, 4
jmp 0x100165cc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.100161d0
add esp, 4
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.100176d0
mov byte [ebp - 4], 1
mov dword [ebp - 0x44], 0
jmp 0x100163e2
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
lea ecx, [ebp - 0x1c]
call fcn.10017920
cmp dword [ebp - 0x44], eax
jae 0x10016439
mov eax, dword [ebp - 0x44]
push eax
lea ecx, [ebp - 0x1c]
call fcn.10001e10
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x10016437
mov dword [ebp - 0x4c], 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x20]
je 0x10016437
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x34]
call fcn.10017940
jmp 0x100163d9
mov dword [ebp - 0x50], 0
jmp 0x1001644b
mov ecx, dword [ebp - 0x50]
add ecx, 1
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
cmp eax, dword [edx]
jae 0x1001659d
mov ecx, dword [ebp - 0x50]
shl ecx, 4
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x64], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x60], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x5c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], 0
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x34]
call fcn.10017d60
push eax
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0xa8]
push edx
lea ecx, [ebp - 0x34]
call fcn.10017d60
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xac]
push ecx
lea ecx, [ebp - 0x34]
call fcn.10008040
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xb0]
push eax
call fcn.100026f0
add esp, 0x10
mov ecx, eax
call fcn.100026a0
movzx ecx, al
test ecx, ecx
je 0x100164de
jmp 0x10016442
movzx edx, byte [ebp - 0x60]
cmp edx, 7
jne 0x10016598
mov eax, dword [ebp - 0x64]
push eax
push 0
push 0x450
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x10016598
push 0
push 0
push 0x400
lea ecx, [ebp - 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
movzx edx, word [ebp - 0x5e]
push edx
mov eax, dword [ebp - 0x68]
push eax
call dword [0x10082644]
test eax, eax
jl 0x1001658e
mov ecx, dword [ebp - 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x20]
jne 0x10016584
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x64]
je 0x10016584
call fcn.10016160
cmp eax, dword [ebp - 0x64]
je 0x10016584
push 1
push 0
push 0
push 0
push 0
movzx ecx, word [ebp - 0x5e]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x10016584
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10016442
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x24]
push edx
call fcn.1003c0e9
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.10017900
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.10017900
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret