Function at 0x41398d
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 0x413c37
lea edi, [eax + 0xe0]
mov ebx, dword [edi + 0xc]
lea esi, [esp + 0x18]
call fcn.004215db
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0xc]
mov ebx, dword [edi + 0xf0]
add edi, 0xe0
lea esi, [esp + 0x30]
call fcn.004215db
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x413a17
cmp eax, dword [esp + 0x30]
je 0x413a1c
call fcn.00476877
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
je 0x413aef
lea esi, [esp + 0x18]
call fcn.0041f511
mov ebx, eax
cmp ebx, edi
je 0x413a67
push 0x10
push ebx
push str.Q360SafeMonClass
call fcn.00477e6d
add esp, 0xc
test eax, eax
jne 0x413a67
mov dword [esp + 0x14], 1
call fcn.0041f511
push 0x68
pop ecx
mov esi, eax
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
jmp 0x413abb
lea esi, [esp + 0x18]
call fcn.0041f511
mov esi, dword [esp + 0x2c]
push eax
mov edi, esi
call fcn.00413d89
test eax, eax
jne 0x413abb
mov edi, ebx
call fcn.00413e1e
cmp dword [esp + 0x20], 0
je 0x413abb
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 0x413aeb
call fcn.00476877
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x10]
jb 0x413ad8
call fcn.00476877
add dword [esp + 0x1c], 0x1a0
inc dword [esp + 0x28]
xor edi, edi
jmp 0x413a09
mov eax, dword [eax]
jmp 0x413aca
cmp dword [esp + 0x14], edi
je 0x413c37
push edi
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [esp + 0x20], eax
cmp eax, edi
jne 0x413b3f
cmp dword [esp + 0x10], edi
je 0x413c37
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x413c37
push edi
push edi
push 0x344d
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x413c37
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x38]
push eax
push str.Exit_program_begin__Name___s_n
call fcn.00414705
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 0x413bd6
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 0x413bc3
push str.waiting_for_update_timeout
push esi
call dword [eax + 0x6c]
cmp dword [esp + 0x10], edi
je 0x413bcc
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x413bcc
push edi
push edi
push 0x344e
push dword [esp + 0x1c]
call ebx
jmp 0x413bcc
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 0x413bf7
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x413bf7
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.00414705
pop ecx
pop ecx
mov ecx, dword [esp + 0x1dc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004755ea
mov esp, ebp
pop ebp
ret 0x10