Function at 0x4018e0
Capabilities:
Enumerate processes
Terminate process
Terminate process by name

Disassembly:
sub esp, 0x14c
mov eax, dword [0x426120]
xor eax, esp
mov dword [esp + 0x148], eax
fldz
push esi
mov dword [esp + 8], 0
xor eax, eax
push edi
mov dword [esp + 0x20], 0
fstp dword [esp + 8]
mov word [esp + 0x14], ax
push 0x104
mov dword [esp + 0x14], eax
call fcn.0040b0eb
dec dword [0x4252ec]
fld qword [0x425f58]
mov cx, word [0x423a14]
fsubr qword [0x41f3f0]
mov edx, dword [0x4252ec]
mov esi, eax
movsx eax, cx
lea eax, [edx + eax + 0x59e4451f]
mov dword [esp + 0x20], eax
add esp, 4
mov dword [esp + 0x24], esi
fild dword [esp + 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x401972
fld dword [esp + 8]
fsub qword [0x41f3e8]
fstp dword [esp + 8]
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x401b2b
lea ecx, [esp + 0x28]
push ecx
push edi
mov dword [esp + 0x30], 0x128
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x401b14
push ebp
mov ebp, esi
lea edx, [esp + 0x50]
sub ebp, edx
mov edi, 1
lea eax, [esp + 0x50]
mov cl, byte [eax]
mov byte [eax + ebp], cl
add eax, edi
test cl, cl
jne 0x4019b6
push esi
call fcn.0041e2b3
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
mov edx, 0x12a487ec
add esp, 4
fadd dword [esp + 0xc]
mov ecx, dword [0x425304]
add dword [esp + 0x10], edi
sub edx, ecx
fsub qword [0x41f3e0]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fcompp
fnstsw ax
fld dword [esp + 0xc]
fadd qword [0x41f350]
fstp dword [esp + 0xc]
test ah, 5
jp 0x401a1e
fld dword [esp + 0xc]
fadd qword [0x41f3d8]
fstp dword [esp + 0xc]
mov ecx, dword [esp + 0x15c]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a47
test dl, dl
je 0x401a43
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a47
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a27
xor eax, eax
jmp 0x401a4c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401aea
cmp dword [esp + 0x160], eax
je 0x401b0b
mov eax, dword [esp + 0x10]
mov ecx, 0xc0e7868c
sub ecx, eax
add ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
dec dword [esp + 0x10]
mov edx, dword [esp + 0x34]
push edx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x401ad4
add dword [esp + 0x14], edi
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld dword [esp + 0xc]
mov eax, dword [0x425fe8]
mov dword [esp + 0x1c], eax
fisub dword [esp + 0x1c]
fsub qword [0x41f3d0]
call fcn.0040b5b0
mov dword [esp + 0x24], eax
add dword [0x425fe8], edi
fld dword [esp + 0xc]
fsub qword [0x41f350]
fstp dword [esp + 0xc]
mov ecx, dword [0x42521c]
mov esi, dword [esp + 0x28]
imul ecx, ecx, 0x8f0b3ac6
mov dword [0x42521c], ecx
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x2c]
push edx
push eax
mov dword [esp + 0x34], 0x128
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x4019b2
jmp 0x401b0f
add dword [esp + 0x14], edi
mov edi, dword [esp + 0x20]
pop ebp
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx ecx, word [esp + 0x14]
sub ecx, 0x155f8970
mov word [esp + 0x14], cx
push esi
call fcn.0040b00e
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.0040b694
add esp, 0x14c
ret