Function at 0x40c770
Capabilities:
Enumerate threads
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x4b41e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_FindWindowExW]
mov ebx, ecx
push 0
push 0
push 0
push 0
call edi
mov esi, eax
test esi, esi
je 0x40c7d7
nop dword [eax + eax]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x40c7c8
cmp dword [ebp - 8], ebx
jne 0x40c7c8
push 0
push 0
push 2
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push esi
push 0
call edi
mov esi, eax
test esi, esi
jne 0x40c7a0
mov ecx, dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp ebx, 5
jae 0x40c7ea
cmp ebx, 4
sete al
jmp 0x40c829
push ebx
push 0
push 0x100000
call ecx
mov esi, eax
test esi, esi
je 0x40cacd
cmp esi, 0xffffffff
je 0x40cacd
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
push esi
sete byte [ebp - 0x25]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x25]
mov ecx, dword [sym.imp.KERNEL32.dll_OpenProcess]
test al, al
je 0x40cacd
push ebx
push 0
push 1
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
call ecx
xor edi, edi
mov dword [ebp - 0x2c], edi
mov esi, eax
mov dword [ebp - 0x34], esi
test esi, esi
je 0x40c8e7
cmp esi, 0xffffffff
je 0x40c8ed
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
push 0x14
call dword [sym.imp.KERNEL32.dll_SleepEx]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or esi, 0xffffffff
mov dword [ebp - 0x34], esi
cmp ebx, 5
jae 0x40c88e
cmp ebx, 4
sete al
jmp 0x40c8c6
push ebx
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x40c8e3
cmp edi, 0xffffffff
je 0x40c8e3
push 0
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
push edi
sete byte [ebp - 0x25]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x25]
mov edi, dword [ebp - 0x2c]
test al, al
je 0x40c8e3
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x1e
jge 0x40c8ed
push ebx
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
jmp 0x40c84b
mov bl, 1
jmp 0x40c905
or esi, 0xffffffff
mov dword [ebp - 0x34], esi
push ebx
push 4
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov edi, eax
test edi, edi
jne 0x40c948
mov dword [ebp - 0x30], 0xffffffff
xor bl, bl
mov eax, dword [ebp - 0x30]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x40c91a
test eax, eax
je 0x40c91a
push eax
call edi
mov eax, dword [ebp - 0x38]
cmp eax, 0xffffffff
je 0x40c929
test eax, eax
je 0x40c929
push eax
call edi
cmp esi, 0xffffffff
je 0x40c935
test esi, esi
je 0x40c935
push esi
call edi
pop edi
pop esi
mov al, bl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00469e65
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x30], edi
cmp edi, 0xffffffff
je 0x40c903
lea eax, [ebp - 0x24]
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
mov dword [ebp - 0x30], edi
push eax
push edi
movups xmmword [ebp - 0x24], xmm0
movq qword [ebp - 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x40c9d6
mov dword [ebp - 0x30], edi
or edi, 0xffffffff
mov esi, dword [ebp - 0x30]
nop
cmp dword [ebp - 0x18], ebx
jne 0x40c9c1
push dword [ebp - 0x1c]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov dword [ebp - 0x2c], eax
cmp edi, 0xffffffff
je 0x40c9a8
test edi, edi
je 0x40c9a8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2c]
mov edi, eax
test eax, eax
jne 0x40c9b3
or edi, 0xffffffff
jmp 0x40c9c1
cmp edi, 0xffffffff
je 0x40c9c1
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
lea eax, [ebp - 0x24]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Thread32Next]
test eax, eax
jne 0x40c980
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x38], edi
cmp ebx, 5
jae 0x40c9e3
cmp ebx, 4
sete al
jmp 0x40ca20
push ebx
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x40c8e3
cmp edi, 0xffffffff
je 0x40c8e3
push 0
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
push edi
sete byte [ebp - 0x25]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x25]
test al, al
je 0x40c8e3
mov dword [ebp - 0x2c], 0
nop
push ebx
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
cmp esi, 0xffffffff
je 0x40ca4d
test esi, esi
je 0x40ca4d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x40ca79
mov esi, edi
cmp edi, 0xffffffff
je 0x40ca7c
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
push 0x14
call dword [sym.imp.KERNEL32.dll_SleepEx]
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x1e
jge 0x40ca7c
jmp 0x40ca30
or esi, 0xffffffff
cmp ebx, 5
jae 0x40ca8c
cmp ebx, 4
setne bl
jmp 0x40c905
push ebx
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x40c8e3
cmp edi, 0xffffffff
je 0x40c8e3
push 0
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ebx, 0x102
setne bl
jmp 0x40c905
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00469e65
mov esp, ebp
pop ebp
ret