Function at 0x7d712460
Capabilities:
Enumerate processes via ntquerysysteminformation
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1a8
mov dword [ebp - 0x10], 0x1000
cmp dword [ebp + 0xc], 0x38
jae 0x7d712490
push 0xc0000004
call dword [sym.imp.ntext.dll_RtlNtStatusToDosError]
push eax
call sub.kernel32.dll_SetLastError
xor eax, eax
jmp 0x7d7126e1
push 0
push 0x2c
lea eax, [ebp - 0x4c]
push eax
push 0
call dword [sym.imp.ntext.dll_NtQuerySystemInformation]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x7d7124c0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ntext.dll_RtlNtStatusToDosError]
push eax
call sub.kernel32.dll_SetLastError
xor eax, eax
jmp 0x7d7126e1
push 0
push 0x138
lea edx, [ebp - 0x1a8]
push edx
push 2
call dword [sym.imp.ntext.dll_NtQuerySystemInformation]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x7d7124f6
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ntext.dll_RtlNtStatusToDosError]
push eax
call sub.kernel32.dll_SetLastError
xor eax, eax
jmp 0x7d7126e1
push 0
push 0x24
lea ecx, [ebp - 0x70]
push ecx
push 0x15
call dword [sym.imp.ntext.dll_NtQuerySystemInformation]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x7d712526
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ntext.dll_RtlNtStatusToDosError]
push eax
call sub.kernel32.dll_SetLastError
xor eax, eax
jmp 0x7d7126e1
mov eax, dword [ebp - 0x10]
push eax
push 0
call sym.kernel32.dll_LocalAlloc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x7d712552
push 0xc000009a
call dword [sym.imp.ntext.dll_RtlNtStatusToDosError]
push eax
call sub.kernel32.dll_SetLastError
xor eax, eax
jmp 0x7d7126e1
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x14]
push eax
push 5
call dword [sym.imp.ntext.dll_NtQuerySystemInformation]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x7d712571
jmp 0x7d7125c0
mov ecx, dword [ebp - 0x14]
push ecx
call sym.kernel32.dll_LocalFree
cmp dword [ebp - 4], 0xc0000004
je 0x7d71259a
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ntext.dll_RtlNtStatusToDosError]
push eax
call sub.kernel32.dll_SetLastError
xor eax, eax
jmp 0x7d7126e1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
ja 0x7d7125ad
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
jmp 0x7d7125b3
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov eax, 1
test eax, eax
jne 0x7d712526
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0xc], 0xb8
jae 0x7d7125e6
jmp 0x7d71263a
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
add eax, dword [edx + 0x4c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 8]
cmp dword [ecx], 0
je 0x7d712619
mov edx, dword [ebp - 8]
mov eax, dword [edx]
cmp eax, dword [ebp - 0xc]
jbe 0x7d71261b
jmp 0x7d71263a
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
sub edx, dword [ecx]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
add ecx, dword [eax]
mov dword [ebp - 8], ecx
mov edx, 1
test edx, edx
jne 0x7d7125db
mov eax, dword [ebp - 0x14]
push eax
call sym.kernel32.dll_LocalFree
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x178]
mov dword [ecx + 4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x174]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x170]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x40]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x17c]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x134]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp + 8]
mov dword [edx], 0x38
mov eax, dword [ebp - 0x138]
add eax, dword [ebp - 0x134]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x138]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x2c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov dword [edx + 0x34], eax
mov eax, 1
mov esp, ebp
pop ebp
ret 8