Function at 0x42a640
Capabilities:
Compare security identifiers
Find taskbar

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x548a55
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x5b0008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x5be08c]
xor esi, esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 0xe20], esi
jne 0x42a6a5
lea eax, [ebp - 0x20]
push eax
push 0xf01ff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
jmp 0x42a6e9
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x42a6ef
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], esi
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42a6ef
push eax
push 0
push 0x2000000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x42a6ef
lea eax, [ebp - 0x20]
push eax
push 0x2000000
push esi
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
mov ebx, dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
push ecx
push 0
push 0
push 2
push eax
mov dword [ebp - 0x18], 0
mov word [ebp - 0x14], 0x500
call ebx
test eax, eax
jne 0x42a7c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x42a7c7
mov edi, dword [ebp - 0x1c]
lea ecx, [edi + 8]
cmp edi, ecx
sbb eax, eax
test ecx, eax
je 0x42a7c7
cmp edi, ecx
sbb eax, eax
and eax, ecx
cmp eax, 0x400
ja 0x42a77d
cmp edi, ecx
sbb eax, eax
and eax, ecx
call fcn.00547220
mov esi, esp
test esi, esi
je 0x42a7c7
mov dword [esi], 0xcccc
jmp 0x42a798
cmp edi, ecx
sbb eax, eax
and eax, ecx
push eax
call fcn.0051f3c3
mov esi, eax
add esp, 4
test esi, esi
je 0x42a79b
mov dword [esi], 0xdddd
add esi, 8
mov edi, dword [ebp - 0x1c]
test esi, esi
je 0x42a7c7
lea eax, [ebp - 0x1c]
push eax
push edi
push esi
push 2
push dword [ebp - 0x20]
call ebx
test eax, eax
jne 0x42a7fa
add esi, 0xfffffff8
cmp dword [esi], 0xdddd
jne 0x42a7c7
push esi
call fcn.0051d799
add esp, 4
xor bl, bl
lea ecx, [ebp - 0x34]
call fcn.0042a8f0
lea ecx, [ebp - 0x40]
call fcn.0042a8f0
mov al, bl
lea esp, [ebp - 0x50]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00519459
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x24]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x42a7b3
xor ebx, ebx
xor edi, edi
cmp dword [esi], ebx
jbe 0x42a850
lea ebx, [esi + 4]
nop dword [eax]
push dword [ebp - 0x24]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x42a84b
inc edi
add ebx, 8
cmp edi, dword [esi]
jb 0x42a830
xor ebx, ebx
jmp 0x42a850
mov ebx, 1
add esi, 0xfffffff8
cmp dword [esi], 0xdddd
jne 0x42a864
push esi
call fcn.0051d799
add esp, 4
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
jmp 0x42a7c9