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

Disassembly:
sub esp, 0x148
mov eax, dword [0x424fd0]
xor eax, esp
mov dword [esp + 0x144], eax
fldz
push ebx
fst dword [esp + 0xc]
push ebp
fldz
push esi
fstp qword [esp + 0x20]
push edi
xor edi, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
fstp dword [esp + 0x10]
mov eax, dword [0x4220f4]
sub eax, 0xd79fa90
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
lea ebp, [edi + 1]
fadd dword [0x422180]
fcomp qword [0x41e440]
fnstsw ax
fld1
test ah, 0x44
jnp 0x401f2b
add word [0x423cdc], bp
mov cx, word [0x423cdc]
movsx edx, cx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd qword [0x423ae8]
fsub qword [0x41e438]
fld dword [esp + 0x10]
fsub qword [0x41e430]
fcompp
fnstsw ax
fld qword [0x423ae8]
fadd st(1)
fstp qword [0x423ae8]
test ah, 1
jne 0x401f0e
fld dword [esp + 0x10]
fmul qword [0x423d00]
fstp dword [esp + 0x10]
fsubr qword [0x423d00]
fstp qword [0x423d00]
jmp 0x401f2d
mov ax, word [0x423af4]
fstp st(0)
movsx ecx, ax
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x401f2d
fstp st(0)
push 0x104
call fcn.0040ab13
add esp, 4
push edi
mov esi, eax
push 2
mov dword [esp + 0x1c], esi
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebx, eax
cmp ebx, edi
je 0x402208
lea edx, [esp + 0x2c]
push edx
push ebx
mov dword [esp + 0x34], 0x128
call sub.KERNEL32.dll_Process32First
cmp eax, edi
je 0x40213b
mov edi, esi
lea eax, [esp + 0x50]
sub edi, eax
lea eax, [esp + 0x50]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edi + eax], cl
add eax, ebp
test cl, cl
jne 0x401f80
fld dword [0x41e428]
push esi
fstp dword [0x423adc]
call fcn.0041dc83
mov ecx, dword [esp + 0x160]
add esp, 4
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401fd0
test dl, dl
je 0x401fcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401fd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x401fb0
xor eax, eax
jmp 0x401fd5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4020f6
mov cx, word [0x4221e4]
mov edx, dword [esp + 0x1c]
movsx eax, cx
imul edx, eax
mov dword [esp + 0x1c], edx
add word [0x4221e4], bp
cmp dword [esp + 0x160], 0
je 0x402113
mov eax, dword [esp + 0x34]
push eax
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x4020f2
dec dword [esp + 0x1c]
mov cx, word [0x423fe4]
mov edx, dword [esp + 0x1c]
movsx eax, cx
add edx, eax
cmp edx, 0xd99c08f0
jle 0x402049
fld dword [esp + 0x18]
fmul qword [0x41e420]
fstp dword [esp + 0x18]
fld qword [0x422db0]
add dword [esp + 0x20], ebp
fld1
push 0xffffffffffffffff
fsub st(1), st(0)
push esi
fxch st(1)
fstp qword [0x422db0]
fadd qword [esp + 0x2c]
fstp qword [esp + 0x2c]
fld qword [0x422db0]
fadd qword [0x41e418]
fld qword [esp + 0x2c]
faddp st(1)
fsubr dword [esp + 0x20]
fstp dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
fld qword [0x422128]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x422128]
fld qword [0x422128]
fsub qword [0x41e410]
fsub qword [esp + 0x24]
fcomp qword [0x41e408]
fnstsw ax
fld qword [esp + 0x24]
fsub st(1)
fstp qword [esp + 0x24]
test ah, 0x44
jnp 0x4020e9
fadd qword [0x4221c8]
fstp qword [0x4221c8]
fld qword [0x4221c8]
fadd qword [0x41e400]
fadd dword [0x422e54]
fstp dword [0x422e54]
jmp 0x4020eb
fstp st(0)
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x2c]
push eax
push ebx
mov dword [esp + 0x34], 0x128
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x401f75
jmp 0x40213b
fld qword [0x422de0]
add dword [esp + 0x20], ebp
fsub qword [0x41e368]
fstp qword [0x422de0]
fld dword [0x424610]
fsub qword [0x422de0]
fstp dword [0x424610]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x424668]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x422ec8]
fadd qword [0x41e3f8]
fadd dword [esp + 0x10]
fcompp
fnstsw ax
fld dword [0x422ec8]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x422ec8]
add dword [0x424668], ebp
test ah, 5
jp 0x4021f4
dec dword [0x423d1c]
mov eax, dword [0x423d1c]
mov dx, word [str.v__t]
add word [str.v__t], bp
movsx ecx, dx
add eax, 0x2a17c3fb
cmp ecx, eax
jg 0x4021d2
fld dword [esp + 0x10]
fsub st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fsub qword [0x41e3f0]
fadd dword [esp + 0x10]
fsubp st(1)
fstp dword [esp + 0x18]
fsubr dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x402208
mov edx, dword [0x423c94]
fld qword [0x422f18]
fstp st(0)
fld dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
fstp st(0)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
jmp 0x402208
fstp st(0)
fld dword [0x423d2c]
fmul qword [0x41e3e8]
fstp dword [0x423d2c]
push esi
call fcn.0040afca
mov ecx, dword [esp + 0x158]
mov eax, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040b058
add esp, 0x148
ret