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

Disassembly:
sub esp, 0x144
mov eax, dword [0x4260f0]
xor eax, esp
mov dword [esp + 0x140], eax
fldz
push ebp
xor eax, eax
mov dword [esp + 0xc], 0
fstp dword [esp + 8]
push esi
mov word [esp + 8], ax
push 0x104
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
call fcn.0040b759
add esp, 4
push 0
mov esi, eax
push 2
mov dword [esp + 0x24], esi
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebp, eax
test ebp, ebp
je 0x402ab5
mov cx, word [esp + 8]
movsx edx, cx
mov dword [esp + 8], edx
mov dword [esp + 0x20], 0x128
fild dword [esp + 8]
fld dword [esp + 0xc]
fsub qword [0x41f480]
fsub qword [0x41f478]
fsubp st(1)
call fcn.0040b550
mov word [esp + 8], ax
lea eax, [esp + 0x20]
push eax
push ebp
call sub.KERNEL32.dll_Process32First
add dword [0x423e5c], 0x230bb89f
test eax, eax
je 0x402a74
push edi
mov edi, esi
lea ecx, [esp + 0x48]
sub edi, ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
lea eax, [esp + 0x48]
fadd dword [0x425db0]
fld dword [esp + 0x10]
fsubp st(1)
fsubr dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fsub qword [0x41f348]
fstp dword [esp + 0x10]
dec dword [esp + 0x14]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x4028f0
push esi
call fcn.0041e7f3
mov ecx, dword [esp + 0x158]
add esp, 4
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402930
test dl, dl
je 0x40292c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402930
add eax, 2
add ecx, 2
test dl, dl
jne 0x402910
xor eax, eax
jmp 0x402935
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402a1a
mov eax, dword [0x4253d4]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fsub qword [0x425e58]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
mov dword [esp + 0xc], edx
fsubp st(1)
fild dword [esp + 0xc]
fcompp
fnstsw ax
fld qword [0x425e58]
fadd qword [0x41f348]
fstp qword [0x425e58]
test ah, 0x41
jp 0x40299a
mov eax, dword [esp + 0x18]
add eax, 0x61bffb0f
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
cmp dword [esp + 0x158], 0
je 0x402a65
mov ecx, dword [esp + 0x2c]
push ecx
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x4029d1
inc dword [esp + 0x1c]
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld qword [0x425fe0]
mov esi, dword [esp + 0x20]
fsub qword [0x41f470]
fcomp qword [0x41f468]
fnstsw ax
fld qword [0x425fe0]
fadd qword [0x41f348]
fstp qword [0x425fe0]
test ah, 0x44
jp 0x402a12
mov dx, word [0x425d18]
movsx eax, dx
add dword [0x424690], eax
jmp 0x402a1a
add dword [esp + 0x14], 0x8bbcbbb9
or eax, 0xffffffff
add dword [esp + 0x14], eax
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea edx, [ecx + eax + 0x2d9ccc8f]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
lea eax, [esp + 0x24]
push eax
push ebp
fmul qword [0x425fb8]
mov dword [esp + 0x2c], 0x128
fstp qword [0x425fb8]
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x4028b3
jmp 0x402a73
inc dword [esp + 0x1c]
mov ecx, 0x4c44
mov word [esp + 0xc], cx
pop edi
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld dword [esp + 0xc]
fsub qword [0x41f348]
fstp dword [esp + 0xc]
mov dx, word [0x42580c]
movsx eax, dx
add eax, 0x6664df36
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fld dword [esp + 0xc]
fsubp st(1)
fsubr dword [esp + 0xc]
fstp dword [esp + 0xc]
dec word [0x42580c]
push esi
call fcn.0040b5fb
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x1c]
add esp, 4
pop esi
pop ebp
xor ecx, esp
call fcn.0040bbd4
add esp, 0x144
ret