Function at 0x407173
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov eax, dword [0x50c7b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
xor edi, edi
push edi
push edi
call fcn.00438520
pop ecx
pop ecx
push str.start
lea ecx, [ebp - 0x4c]
call fcn.00402297
lea eax, [ebp - 0x4c]
push eax
call fcn.00438060
mov ecx, eax
call fcn.00438480
lea ecx, [ebp - 0x4c]
mov bl, al
call fcn.0040403b
test bl, bl
je 0x4073a0
push str.8BD70AA1_A8B6_4010_9F37_C6B5C7661EF6
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4075c8
test esi, esi
je 0x4075c8
push 0x4d29f8
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x407236
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
push 0x4d2b14
push str.Software360360se6chrome
push reloc.WS2_32.dll_accept
call fcn.004276d0
add esp, 0x10
cmp dword [ebp - 8], 1
jne 0x407236
push ebx
push 1
push 0xce9
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], ebx
push eax
push str.tray_enable_app
mov edi, str.Software360360se6chrome
push edi
push reloc.WS2_32.dll_accept
call fcn.004276d0
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xb4], ebx
push eax
push str.enableappdesktop
push edi
push reloc.WS2_32.dll_accept
call fcn.004276d0
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], ebx
push eax
push str.tray_app_recently_showed
push edi
push reloc.WS2_32.dll_accept
call fcn.004276d0
add esp, 0x30
cmp dword [ebp - 0xb0], 0
jne 0x4072b4
cmp dword [ebp - 0xb4], 0
jne 0x4072b4
cmp dword [ebp - 0xb8], 1
jne 0x407394
push str.__show
lea ecx, [ebp - 0x4c]
call fcn.004022ea
push str.start
lea ecx, [ebp - 0x34]
call fcn.00402297
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00438060
mov ecx, eax
call fcn.00438280
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4072ec
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00432e30
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00404800
add esp, 0x14
lea ecx, [ebp - 0x4c]
push eax
call fcn.004043d8
lea ecx, [ebp - 0x94]
call fcn.00404061
lea ecx, [ebp - 0xac]
call fcn.00404061
lea ecx, [ebp - 0x64]
call fcn.0040403b
lea ecx, [ebp - 0x34]
call fcn.0040403b
push str.__tr
lea ecx, [ebp - 0x7c]
call fcn.004022ea
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0040482c
add esp, 0xc
lea ecx, [ebp - 0x7c]
push eax
call fcn.004043d8
lea ecx, [ebp - 0x64]
call fcn.00404061
lea eax, [ebp - 0x7c]
push eax
call fcn.0042846a
pop ecx
lea ecx, [ebp - 0x7c]
call fcn.00404061
lea ecx, [ebp - 0x4c]
call fcn.00404061
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4075c8
push 0x8007
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [ebp + 8]
mov ecx, 0x510210
push edi
push eax
push edi
mov dword [0x510204], eax
mov dword [0x510208], eax
call fcn.00405561
call fcn.0042a35e
mov ecx, eax
call fcn.0042add4
call fcn.0042d322
call fcn.00429a61
push str.seappservice
call fcn.00429a78
pop ecx
call fcn.00426a48
mov ecx, eax
call fcn.00427fe3
push str.__type
push esi
call fcn.0049f7b0
pop ecx
pop ecx
test eax, eax
je 0x40740d
call fcn.0040670b
jmp 0x4075c8
call fcn.00406893
push 0x4d3494
lea ecx, [ebp - 0x34]
call fcn.00402297
lea eax, [ebp - 0x34]
push eax
call fcn.00438060
mov ecx, eax
call fcn.00438480
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.0040403b
test bl, bl
je 0x407442
call fcn.004065f9
push 0x4d3498
lea ecx, [ebp - 0x34]
call fcn.00402297
lea eax, [ebp - 0x34]
push eax
call fcn.00438060
mov ecx, eax
call fcn.00438480
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.0040403b
test bl, bl
je 0x40759e
push str.07BBD1C1_420F_4BE5_B8A4_CB644C2330B9
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x407541
call fcn.00426a48
mov ecx, eax
call fcn.00425d10
lea eax, [ebp - 0x64]
push eax
call fcn.00426a48
mov ecx, eax
call fcn.00425a19
lea ecx, [ebp - 0x64]
call fcn.00404061
call fcn.00426a48
mov ecx, eax
call fcn.00428994
test al, al
je 0x40753a
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x64]
push 0x4d34ec
push eax
call fcn.00427afb
pop ecx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00401c6d
add esp, 0xc
lea ecx, [ebp - 0x64]
call fcn.00404061
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.0042ce2c
pop ecx
test eax, eax
je 0x40752d
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
push 1
cmovae eax, dword [ebp - 0x1c]
push edi
push 0x4d18d0
push eax
push str.open
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x1c]
call fcn.00404061
jmp 0x4075c8
call fcn.0040688e
jmp 0x407597
push 0x4d351c
lea ecx, [ebp - 0x34]
call fcn.00402297
lea eax, [ebp - 0x34]
push eax
call fcn.00438060
mov ecx, eax
call fcn.00438480
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.0040403b
test bl, bl
je 0x407597
push edi
push str.ProgramTrayMessage_ClassName
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x407597
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0x40b
push ecx
push edi
push 0x4a
push eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0042a35e
mov ecx, eax
call fcn.0042aeaf
mov ecx, 0x510210
call fcn.00406ad9
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00496ca3
leave
ret 0x10