Function at 0x413a70
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1d4
mov eax, dword [0x4f3bd0]
xor eax, esp
mov dword [esp + 0x1d0], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 0x10]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 0x14]
push esi
push edi
mov dword [esp + 0x10], ecx
test eax, eax
je 0x413d1a
lea edi, [eax + 0xe0]
mov ebx, dword [edi + 0xc]
lea esi, [esp + 0x18]
call fcn.00410d0b
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0xc]
mov ebx, dword [edi + 0xf0]
add edi, 0xe0
lea esi, [esp + 0x30]
call fcn.00410d0b
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x413afa
cmp eax, dword [esp + 0x30]
je 0x413aff
call fcn.00476727
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
je 0x413bd2
lea esi, [esp + 0x18]
call fcn.00410527
mov ebx, eax
cmp ebx, edi
je 0x413b4a
push 0x10
push ebx
push str.Q360SafeMonClass
call fcn.00477d1d
add esp, 0xc
test eax, eax
jne 0x413b4a
mov dword [esp + 0x14], 1
call fcn.00410527
push 0x68
pop ecx
mov esi, eax
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
jmp 0x413b9e
lea esi, [esp + 0x18]
call fcn.00410527
mov esi, dword [esp + 0x2c]
push eax
mov edi, esi
call fcn.00413e6c
test eax, eax
jne 0x413b9e
mov edi, ebx
call fcn.00413f01
cmp dword [esp + 0x20], 0
je 0x413b9e
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xf0]
sub eax, dword [ecx + 0xec]
add ecx, 0xe0
cdq
mov ecx, 0x1a0
idiv ecx
push dword [esp + 0x24]
push dword [esp + 0x2c]
push eax
push 1
push ebx
call dword [esp + 0x34]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x413bce
call fcn.00476727
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x10]
jb 0x413bbb
call fcn.00476727
add dword [esp + 0x1c], 0x1a0
inc dword [esp + 0x28]
xor edi, edi
jmp 0x413aec
mov eax, dword [eax]
jmp 0x413bad
cmp dword [esp + 0x14], edi
je 0x413d1a
push edi
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [esp + 0x20], eax
cmp eax, edi
jne 0x413c22
cmp dword [esp + 0x10], edi
je 0x413d1a
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x413d1a
push edi
push edi
push 0x344d
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x413d1a
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x38]
push eax
push str.Exit_program_begin__Name___s_n
call fcn.004147e8
pop ecx
pop ecx
push str.Global360trayonupdatefile
push 1
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov ebx, dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esp + 0x14], eax
cmp eax, edi
je 0x413cb9
mov eax, dword [esi]
push str.waite_for_updating
push esi
call dword [eax + 0x6c]
push 0x1d4c0
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
mov eax, dword [esi]
jne 0x413ca6
push str.waiting_for_update_timeout
push esi
call dword [eax + 0x6c]
cmp dword [esp + 0x10], edi
je 0x413caf
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x413caf
push edi
push edi
push 0x344e
push dword [esp + 0x1c]
call ebx
jmp 0x413caf
push str.updating_done
push esi
call dword [eax + 0x6c]
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x10], edi
je 0x413cda
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x413cda
push edi
push edi
push 0x344d
push dword [esp + 0x1c]
call ebx
lea eax, [esp + 0x24]
push eax
push 0x1388
push 1
push dword [esp + 0x1dc]
mov dword [esp + 0x34], edi
push dword [esp + 0x1dc]
push dword [esp + 0x1dc]
push dword [esp + 0x38]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
lea eax, [esp + 0x38]
push eax
push str.Exit_program_done__Name___s_n
call fcn.004147e8
pop ecx
pop ecx
mov ecx, dword [esp + 0x1dc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047549a
mov esp, ebp
pop ebp
ret 0x10