Function at 0x40ec4a
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
xor ebx, ebx
cmp byte [ebp + 8], bl
je 0x40ec5e
call dword [sym.imp.p_GetCurrentProcess]
jmp 0x40ec63
mov eax, dword [sym.imp.p_GetCurrentThread]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 4]
push ecx
cmp byte [ebp + 8], bl
je 0x40ec7b
push 0x28
push eax
call dword [sym.imp.base_constructor_iterator_OpenProcessToken]
jmp 0x40ec86
push 1
push 0x28
push eax
call dword [sym.imp.base_constructor_iterator_OpenThreadToken]
cmp dword [ebp - 4], 0xffffffff
jne 0x40ec93
xor eax, eax
jmp 0x40ee87
push edi
push 0x16c
call fcn.00420d75
mov edi, eax
pop ecx
cmp edi, ebx
jne 0x40ecac
xor eax, eax
jmp 0x40ee86
push 0x1e
pop ecx
mov dword [edi], ecx
lea eax, [edi + 0xc]
mov dword [eax], 2
add eax, 0xc
dec ecx
jne 0x40ecb4
push esi
mov esi, dword [sym.imp.base_constructor_iterator_LookupPrivilegeValueW]
lea eax, [edi + 4]
push eax
push str.SeCreateTokenPrivilege
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 0x42f634
push ebx
call esi
push ebx
push ebx
push 0x16c
push edi
push ebx
push dword [ebp - 4]
call dword [sym.imp.base_constructor_iterator_AdjustTokenPrivileges]
push edi
mov esi, eax
call fcn.004209ff
pop ecx
mov eax, esi
pop esi
pop edi
pop ebx
leave
ret