Function at 0x444850
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b8580
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x630490]
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
mov edi, ecx
mov dword [ebp - 4], 0
lea ecx, [ebp + 8]
mov ebx, dword [ebp + 0x1c]
mov edx, 0x603f76
mov eax, dword [edi]
cmp ebx, 0x10
mov esi, dword [ebp + 8]
cmovae ecx, esi
mov dword [edi + 4], eax
push 0
call fcn.00405ec0
add esp, 4
test eax, eax
jne 0x4448b6
cmp dword [ebp + 0x18], eax
setne al
test eax, eax
sete al
test al, al
jne 0x444aa1
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.00425670
push 0
push 2
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x28c], eax
push ecx
push eax
mov dword [ebp - 0x288], 0x22c
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x444a6c
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x58]
call fcn.004255c0
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00425670
mov byte [ebp - 4], 3
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
mov esi, ebx
cmovae edx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
cmp ecx, ebx
cmovb esi, ecx
test esi, esi
je 0x4449a3
sub esi, 4
jb 0x444961
lea ecx, [ecx]
mov ecx, dword [eax]
cmp ecx, dword [edx]
jne 0x444966
add eax, 4
add edx, 4
sub esi, 4
jae 0x444950
cmp esi, 0xfffffffc
je 0x44499a
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x444993
cmp esi, 0xfffffffd
je 0x44499a
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x444993
cmp esi, 0xfffffffe
je 0x44499a
mov cl, byte [eax + 2]
cmp cl, byte [edx + 2]
jne 0x444993
cmp esi, 0xffffffff
je 0x44499a
mov al, byte [eax + 3]
cmp al, byte [edx + 3]
je 0x44499a
sbb eax, eax
or eax, 1
jmp 0x44499c
xor eax, eax
test eax, eax
jne 0x4449b5
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
jae 0x4449ac
or eax, 0xffffffff
jmp 0x4449b3
xor eax, eax
cmp ecx, ebx
setne al
test eax, eax
sete al
test al, al
je 0x444a17
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x280]
cmp ecx, eax
jae 0x4449f7
mov ecx, dword [edi]
lea edx, [ebp - 0x280]
cmp ecx, edx
ja 0x4449f7
mov esi, edx
sub esi, ecx
sar esi, 2
cmp eax, dword [edi + 8]
jne 0x4449e9
push ecx
mov ecx, edi
call fcn.0040e950
mov ecx, dword [edi + 4]
mov eax, dword [edi]
test ecx, ecx
je 0x444a13
mov eax, dword [eax + esi*4]
jmp 0x444a11
cmp eax, dword [edi + 8]
jne 0x444a04
push ecx
mov ecx, edi
call fcn.0040e950
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x444a13
mov eax, dword [ebp - 0x280]
mov dword [ecx], eax
add dword [edi + 4], 4
lea eax, [ebp - 0x288]
push eax
push dword [ebp - 0x28c]
call dword [sym.imp.KERNEL32.dll_Process32NextW]
cmp dword [ebp - 0x14], 0x10
mov esi, eax
jb 0x444a3d
push dword [ebp - 0x28]
call fcn.0044f461
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x44], 0x10
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
jb 0x444a64
push dword [ebp - 0x58]
call fcn.0044f461
add esp, 4
test esi, esi
jne 0x444900
push dword [ebp - 0x28c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2c], 0x10
jb 0x444a89
push dword [ebp - 0x40]
call fcn.0044f461
add esp, 4
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
cmp ebx, 0x10
jb 0x444aaf
push esi
call fcn.0044f461
add esp, 4
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.00577343
mov esp, ebp
pop ebp
ret