Function at 0x10016000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10043e96
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2dc
lea eax, [ebp - 0x148]
push eax
push 0xf01ff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov ecx, 0xece8edfb
push ecx
lea ecx, [ebp - 0x269]
call fcn.10021430
mov dword [ebp - 0x2cc], eax
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x2cc]
push eax
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x251], al
lea ecx, [ebp - 0x269]
call fcn.10020100
movzx ecx, byte [ebp - 0x251]
test ecx, ecx
je 0x10016091
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xb0313bab
push eax
lea ecx, [ebp - 0x27b]
call fcn.100214b0
mov dword [ebp - 0x2d0], eax
lea ecx, [ebp - 0x178]
push ecx
mov edx, dword [ebp - 0x2d0]
push edx
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x26a], al
lea ecx, [ebp - 0x27b]
call fcn.1003a470
movzx eax, byte [ebp - 0x26a]
test eax, eax
je 0x100160ee
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x20c7e807
lea ecx, [ebp - 0x293]
call fcn.10021530
mov dword [ebp - 0x2d4], eax
lea edx, [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0x2d4]
push eax
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x27c], al
lea ecx, [ebp - 0x293]
call fcn.1001fef0
movzx ecx, byte [ebp - 0x27c]
test ecx, ecx
je 0x1001614a
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xa275c9c7
push eax
lea ecx, [ebp - 0x2aa]
call fcn.100215b0
mov dword [ebp - 0x2d8], eax
lea ecx, [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x2d8]
push edx
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x294], al
lea ecx, [ebp - 0x2aa]
call fcn.10012860
movzx eax, byte [ebp - 0x294]
test eax, eax
je 0x100161a7
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x24], 1
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x228], 1
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], 2
mov dword [ebp - 0x104], 1
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf8], 2
mov dword [ebp - 0x124], 1
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], 2
push 0
push 0
push 0x10
lea ecx, [ebp - 0x24]
push ecx
push 0
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x100162c6
push 0
push 0
push 0x10
lea eax, [ebp - 0x228]
push eax
push 0
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x100162c6
push 0
push 0
push 0x10
lea edx, [ebp - 0x124]
push edx
push 0
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x100162c6
push 0
push 0
push 0x10
lea ecx, [ebp - 0x104]
push ecx
push 0
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x10016380
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret