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

Disassembly:
sub esp, 0x148
mov eax, dword [0x426160]
xor eax, esp
mov dword [esp + 0x144], eax
fldz
xor eax, eax
mov word [esp + 4], ax
fstp dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
fld dword [esp + 0x18]
mov cx, word [esp + 4]
inc dword [esp + 4]
movsx edx, cx
mov dword [esp], edx
mov dword [esp + 0x10], eax
fild dword [esp]
faddp st(1)
fcomp qword [0x41f438]
fnstsw ax
test ah, 1
jne 0x402074
fld qword [0x423158]
fsub qword [0x41f430]
fstp qword [0x423158]
push esi
push edi
push 0x104
call fcn.0040b573
add esp, 4
push 0
mov esi, eax
push 2
mov dword [esp + 0x10], esi
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x402253
lea eax, [esp + 0x24]
push eax
push edi
mov dword [esp + 0x2c], 0x128
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x40224c
mov edi, esi
lea ecx, [esp + 0x48]
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_TerminateProcess]
sub edi, ecx
lea ebx, [ebx]
fld qword [0x425f20]
call fcn.0040b3c0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x4c]
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x4020e3
push esi
call fcn.0041e5d3
mov ecx, dword [esp + 0x15c]
add esp, 4
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402120
test dl, dl
je 0x40211c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402120
add eax, 2
add ecx, 2
test dl, dl
jne 0x402100
xor eax, eax
jmp 0x402125
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40219e
cmp dword [esp + 0x15c], eax
je 0x4021fc
mov edx, dword [esp + 0x30]
push edx
push eax
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x40219e
fld qword [0x4238e8]
mov ax, word [esp + 0x10]
movsx ecx, ax
mov edx, 0x60fb9550
sub edx, ecx
mov dword [esp + 0x14], edx
mov eax, 1
add dword [esp + 0x1c], eax
fild dword [esp + 0x14]
push 0xffffffffffffffff
push esi
fsubp st(1)
fstp qword [0x4238e8]
dec dword [esp + 0x18]
mov ecx, dword [0x4231f4]
sub ecx, 0x26f2dc87
mov dword [esp + 0x1c], ecx
add dword [0x4231f4], eax
call ebp
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld dword [0x4248c4]
mov eax, dword [esp + 0x20]
fsub qword [0x41f368]
mov dword [esp + 0x28], 0x128
lea edx, [esp + 0x28]
push edx
fstp dword [0x4248c4]
push eax
fld dword [0x4248c4]
fadd qword [0x425f08]
fstp qword [0x425f08]
call sub.KERNEL32.dll_Process32Next
fld dword [esp + 0x24]
mov esi, eax
fadd qword [0x41f428]
call fcn.0040b3c0
test esi, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x18], eax
jne 0x4020d0
jmp 0x402247
fld dword [0x425f58]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x425f58]
fld dword [0x425f58]
fcomp dword [0x41f420]
fnstsw ax
test ah, 0x41
jp 0x402277
mov cx, word [0x423d00]
mov edx, dword [esp + 0x14]
movsx eax, cx
lea eax, [edx + eax + 0x3841270b]
mov dword [esp + 0x14], eax
dec word [0x423d00]
fstp st(0)
inc dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
pop ebp
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0040b32e
mov ecx, dword [esp + 0x150]
mov eax, dword [esp + 0x1c]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.0040b9a5
add esp, 0x148
ret
mov eax, dword [0x423d04]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x423150]
inc dword [esp + 0x18]
add eax, 0xbaab28dc
add ecx, eax
cmp edx, ecx
jg 0x402241
fld qword [0x423900]
mov eax, dword [0x42330c]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fsubp st(1)
fsub qword [0x41f418]
fadd dword [0x425f6c]
fstp dword [0x425f6c]
fadd qword [0x423900]
fstp qword [0x423900]
jmp 0x402243