Function at 0x403630
Capabilities:
Compare security identifiers
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28c
mov eax, dword [0x46e224]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push 0x228
mov dword [ebp - 0x28c], eax
xor bl, bl
lea eax, [ebp - 0x280]
mov dword [ebp - 0x54], 0
push 0
push eax
call fcn.004342c0
add esp, 0xc
mov dword [ebp - 0x4c], 0
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x288], eax
cmp eax, 0xffffffff
jne 0x40369b
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00432107
mov esp, ebp
pop ebp
ret 8
push esi
push edi
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], 0x22c
push ecx
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x403837
test esi, esi
je 0x4036ce
push esi
call edi
xor esi, esi
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4036df
push eax
call edi
mov dword [ebp - 0x54], 0
lea eax, [ebp - 0x260]
push str.explorer.exe
push eax
call fcn.00439628
add esp, 8
test eax, eax
jne 0x4037d6
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je 0x4037d6
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x4c], eax
jne 0x4037d6
push dword [ebp - 0x27c]
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x4037d6
lea eax, [ebp - 0x54]
push eax
push 0xf01ff
push esi
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x4037d6
mov ebx, dword [ebp - 0x54]
lea eax, [ebp - 0x58]
push eax
push 0
push 0
push 1
push ebx
mov dword [ebp - 0x58], 0
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
jne 0x40377e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4037d6
push dword [ebp - 0x58]
call fcn.00439744
mov edi, eax
add esp, 4
test edi, edi
je 0x4037d6
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
push edi
push 1
push ebx
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x4037cd
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x44
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0x16
call dword [sym.imp.ADVAPI32.dll_CreateWellKnownSid]
lea eax, [ebp - 0x48]
push eax
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
je 0x4037fa
push edi
call fcn.00439729
add esp, 4
lea eax, [ebp - 0x284]
mov edi, esi
push eax
push dword [ebp - 0x288]
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x40381e
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4036c5
mov ecx, dword [ebp - 0x28c]
mov bl, 1
mov eax, dword [ebp - 0x27c]
push edi
mov dword [ecx], eax
call fcn.00439729
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 4
push esi
call edi
jmp 0x403837
xor bl, bl
mov esi, edi
test edi, edi
je 0x403831
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call edi
jmp 0x403837
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x403848
push ecx
call edi
mov dword [ebp - 0x54], 0
push dword [ebp - 0x288]
call edi
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00432107
mov esp, ebp
pop ebp
ret 8