Function at 0x1000a310
Capabilities:
Acquire debug privileges
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
push ebx
push esi
push edi
push str.CreateToolhelp32Snapshot
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
xor ebx, ebx
mov ecx, 0x49
xor eax, eax
lea edi, [ebp - 0x134]
mov dword [ebp - 0x138], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x23b]
mov byte [ebp - 0x23c], al
push 1
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.SeDebugPrivilege
mov dword [ebp - 4], ebx
stosb byte es:[edi], al
call fcn.1000a580
add esp, 8
push ebx
push 2
call esi
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x10], edi
jne 0x1000a38c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x400
push 0x40
mov dword [ebp - 0x138], 0x128
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
mov esi, 1
mov byte [ebx], 0x7d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x138]
push eax
push edi
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x1000a54f
mov ecx, dword [ebp - 0x130]
push ecx
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x1000a534
cmp eax, 4
je 0x1000a534
cmp eax, 8
je 0x1000a534
lea edx, [ebp - 0xc]
lea eax, [ebp - 4]
push edx
push 4
push eax
push edi
call fcn.1001224e
mov edx, dword [ebp - 4]
lea ecx, [ebp - 0x23c]
push 0x104
push ecx
push edx
push edi
call fcn.1001223c
lea edi, [ebp - 0x114]
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [ebp - 0x23c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 6]
lea edi, [eax + esi]
call dword [sym.imp.KERNEL32.dll_LocalSize]
cmp eax, edi
jae 0x1000a4ab
push 0x42
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
mov ebx, eax
mov eax, dword [ebp - 0x130]
lea edi, [ebp - 0x114]
mov dword [esi + ebx], eax
or ecx, 0xffffffff
xor eax, eax
add esi, 4
repne scasb al, byte es:[edi]
mov dword [ebp - 8], esi
lea esi, [ebp - 0x114]
mov edx, dword [ebp - 8]
not ecx
mov eax, ecx
lea edi, [edx + ebx]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x114]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [ebp - 0x23c]
lea esi, [ebp - 0x23c]
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov eax, ecx
lea edi, [edx + ebx]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x23c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [edx + ecx + 1]
mov dword [ebp - 8], ecx
mov esi, ecx
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x138]
push edx
push eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x1000a411
mov edi, dword [ebp - 0x10]
push 0x42
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
push 0
push str.SeDebugPrivilege
mov esi, eax
call fcn.1000a580
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret