Function at 0x40ea22
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push ecx
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 4]
push ecx
push 0x28
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
cmp dword [ebp - 4], 0xffffffff
jne 0x40ea47
xor eax, eax
leave
ret
push ebx
push edi
push 0x16c
call fcn.004220a9
mov edi, eax
xor ebx, ebx
pop ecx
cmp edi, ebx
jne 0x40ea63
xor eax, eax
jmp 0x40ec3d
push 0x1e
pop ecx
mov dword [edi], ecx
lea eax, [edi + 0xc]
mov dword [eax], 2
add eax, 0xc
dec ecx
jne 0x40ea6b
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
lea eax, [edi + 4]
push eax
push 0x435df0
push ebx
call esi
lea eax, [edi + 0x10]
push eax
push str.SeAssignPrimaryTokenPrivilege
push ebx
call esi
lea eax, [edi + 0x1c]
push eax
push str.SeLockMemoryPrivilege
push ebx
call esi
lea eax, [edi + 0x28]
push eax
push str.SeIncreaseQuotaPrivilege
push ebx
call esi
lea eax, [edi + 0x34]
push eax
push str.SeUnsolicitedInputPrivilege
push ebx
call esi
lea eax, [edi + 0x40]
push eax
push str.SeMachineAccountPrivilege
push ebx
call esi
lea eax, [edi + 0x4c]
push eax
push str.SeTcbPrivilege
push ebx
call esi
lea eax, [edi + 0x58]
push eax
push str.SeSecurityPrivilege
push ebx
call esi
lea eax, [edi + 0x64]
push eax
push str.SeTakeOwnershipPrivilege
push ebx
call esi
lea eax, [edi + 0x70]
push eax
push str.SeLoadDriverPrivilege
push ebx
call esi
lea eax, [edi + 0x7c]
push eax
push str.SeSystemProfilePrivilege
push ebx
call esi
lea eax, [edi + 0x88]
push eax
push str.SeSystemtimePrivilege
push ebx
call esi
lea eax, [edi + 0x94]
push eax
push str.SeProfileSingleProcessPrivilege
push ebx
call esi
lea eax, [edi + 0xa0]
push eax
push str.SeIncreaseBasePriorityPrivilege
push ebx
call esi
lea eax, [edi + 0xac]
push eax
push str.SeCreatePagefilePrivilege
push ebx
call esi
lea eax, [edi + 0xb8]
push eax
push str.SeCreatePermanentPrivilege
push ebx
call esi
lea eax, [edi + 0xc4]
push eax
push str.SeBackupPrivilege
push ebx
call esi
lea eax, [edi + 0xd0]
push eax
push str.SeRestorePrivilege
push ebx
call esi
lea eax, [edi + 0xdc]
push eax
push str.SeShutdownPrivilege
push ebx
call esi
lea eax, [edi + 0xe8]
push eax
push str.SeDebugPrivilege
push ebx
call esi
lea eax, [edi + 0xf4]
push eax
push str.SeAuditPrivilege
push ebx
call esi
lea eax, [edi + 0x100]
push eax
push str.SeSystemEnvironmentPrivilege
push ebx
call esi
lea eax, [edi + 0x10c]
push eax
push str.SeChangeNotifyPrivilege
push ebx
call esi
lea eax, [edi + 0x118]
push eax
push str.SeRemoteShutdownPrivilege
push ebx
call esi
lea eax, [edi + 0x124]
push eax
push str.SeUndockPrivilege
push ebx
call esi
lea eax, [edi + 0x130]
push eax
push str.SeSyncAgentPrivilege
push ebx
call esi
lea eax, [edi + 0x13c]
push eax
push str.SeEnableDelegationPrivilege
push ebx
call esi
lea eax, [edi + 0x148]
push eax
push str.SeManageVolumePrivilege
push ebx
call esi
lea eax, [edi + 0x154]
push eax
push str.SeImpersonatePrivilege
push ebx
call esi
lea eax, [edi + 0x160]
push eax
push str.SeCreateGlobalPrivilege
push ebx
call esi
push ebx
push ebx
push 0x16c
push edi
push ebx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
push edi
mov esi, eax
call fcn.0042209e
pop ecx
mov eax, esi
pop esi
pop edi
pop ebx
leave
ret