Function at 0x407150
Capabilities:
Accept command line arguments
Check mutex and terminate process on windows
Check mutex on windows
Enumerate processes
Terminate process
Terminate process by name

Disassembly:
push 0xffffffffffffffff
push 0x58e833
mov eax, dword fs:[0]
push eax
sub esp, 0x568
mov eax, dword [0x5f4760]
xor eax, esp
mov dword [esp + 0x560], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f4760]
xor eax, esp
push eax
lea eax, [esp + 0x57c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x58c]
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov cx, word [0x5d3050]
mov dl, byte [0x5d3052]
lea ebx, [esp + 0x1c]
mov ebp, eax
mov word [esp + 0x1c], cx
mov byte [esp + 0x1e], dl
call fcn.00491270
mov esi, eax
test esi, esi
je 0x4075cf
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
cmp byte [esi], 0
je 0x4075cf
push 0xf
push str.notifybinderror
push esi
call fcn.004b7c02
add esp, 0xc
test eax, eax
je 0x40720e
push str.uninst
push esi
call edi
test eax, eax
je 0x407308
push esi
call ebx
mov esi, eax
test esi, esi
jne 0x4071d3
jmp 0x4075cf
mov ecx, str._main___notifybinderror
call fcn.004930a0
call fcn.00406f90
test al, al
jne 0x4072ef
push str.GlobalEntpublish_info_bind_error_1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ebx, eax
lea eax, [esp + 0x14]
push eax
mov ecx, ebp
call fcn.00402fe0
xor edi, edi
mov dword [esp + 0x584], edi
mov ecx, dword [esp + 0x14]
xor esi, esi
cmp dword [ecx - 0xc], edi
jl 0x4072b3
push 0x5d3094
push ecx
call fcn.004a4912
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x407285
sub eax, ecx
test eax, eax
jle 0x407285
lea ecx, [eax + ebp + 3]
push ecx
call fcn.004a3636
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, eax
cmp dword [ecx - 0xc], edi
jl 0x4072b3
push 0x5d3098
push ecx
call fcn.004a4912
add esp, 8
test eax, eax
je 0x4072b3
sub eax, dword [esp + 0x14]
test eax, eax
jle 0x4072b3
lea edx, [eax + ebp + 3]
push edx
call fcn.004a3636
add esp, 4
mov edi, eax
push esi
push edi
or ecx, 0xffffffff
call fcn.0040fe10
add esp, 8
test ebx, ebx
je 0x4072cb
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x584], 0xffffffff
lea eax, [esp + 0x14]
push eax
call fcn.00403090
mov ecx, dword [esp + 0x24]
mov dword [ecx], 1
jmp 0x4075cf
mov ecx, str._main___notifybinderror_already_popup
call fcn.004930a0
mov ecx, dword [esp + 0x24]
mov dword [ecx], 1
jmp 0x4075cf
mov ecx, str._main___uninst
call fcn.004930a0
call fcn.00496d10
push 0x208
lea edx, [esp + 0x370]
push 0
push edx
call fcn.004add60
add esp, 0xc
push 0x208
lea eax, [esp + 0x370]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x584], 1
cmp esi, 0xffffffff
je 0x407575
lea ecx, [esp + 0x244]
push ecx
push esi
mov dword [esp + 0x24c], 0x128
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x407567
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x28], eax
mov bl, 4
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x24c]
je 0x40754f
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x26c]
call fcn.00402fe0
mov byte [esp + 0x584], 2
mov ecx, dword [esp + 0x18]
push 0x5d3114
push ecx
call fcn.004a4b4f
add esp, 8
test eax, eax
je 0x4073f7
mov edx, dword [esp + 0x18]
push str.360EntPublish_d.exe
push edx
call fcn.004a4b4f
add esp, 8
test eax, eax
jne 0x40753d
mov eax, dword [esp + 0x24c]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.00407030
mov byte [esp + 0x58c], 3
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x374]
push edx
push eax
call fcn.004a4b4f
add esp, 0x10
test eax, eax
jne 0x40752b
mov ecx, dword [esp + 0x24c]
push ecx
push eax
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
mov dword [esp + 0x34], esi
mov byte [esp + 0x584], bl
test esi, esi
je 0x4074a9
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [esp + 0x14]
push 3
lea edx, [esp + 0x44]
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x44], edx
call fcn.004084d0
mov byte [esp + 0x584], 5
mov ecx, dword [esp + 0x24c]
mov edi, dword [esp + 0x3c]
push ecx
call ebp
push eax
push edi
push str._main__term__s__ok_u_pid_u_
call fcn.004916b0
add esp, 0x10
mov byte [esp + 0x584], bl
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
jmp 0x407509
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x144]
push 3
mov dword [esp + 0x144], eax
push ecx
lea eax, [esp + 0x148]
call fcn.004084d0
mov byte [esp + 0x584], 6
mov edx, dword [esp + 0x24c]
mov edi, dword [esp + 0x140]
push edx
call ebp
push eax
push edi
push str._main__term__s__err_u_pid_u_
call fcn.004916b0
add esp, 0x10
mov byte [esp + 0x584], bl
mov eax, dword [esp + 0x140]
lea ecx, [esp + 0x144]
cmp eax, ecx
je 0x407514
push eax
call fcn.004a4132
add esp, 4
mov byte [esp + 0x584], 3
test esi, esi
je 0x407527
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x20]
mov byte [esp + 0x584], 2
lea edx, [esp + 0x14]
push edx
call fcn.00403090
mov byte [esp + 0x584], 1
lea eax, [esp + 0x18]
push eax
call fcn.00403090
lea ecx, [esp + 0x244]
push ecx
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40739d
jmp 0x407589
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._main__term1_err_u
jmp 0x407581
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._main__term2_err_u
call fcn.004916b0
add esp, 8
mov dword [esp + 0x584], 0xffffffff
test esi, esi
je 0x40759f
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00497b70
push 0x103
lea edx, [esp + 0x370]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x36c]
call fcn.00401c80
mov eax, dword [esp + 0x24]
mov dword [eax], 1
mov ecx, dword [esp + 0x57c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x560]
xor ecx, esp
call fcn.004a314d
add esp, 0x574
ret