Function at 0x46a169
Capabilities:
Check mutex on windows

Disassembly:
push ebp
push ebx
push edi
mov edx, 0xc
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x46a171
call fcn.005b13d0
mov dword [esp], 0
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
call fcn.005710ca
lea eax, [esp + 8]
push eax
call fcn.005b12d0
push edx
call fcn.005b1230
pop edx
push eax
mov edx, 0x73d9c8
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push 1
push dword [esp + 0x14]
call fcn.0059f130
pop eax
lea eax, [esp + 0xc]
push eax
call fcn.005b12d0
push dword [esp + 8]
push 0
push 0
call sub.KERNEL32.dll_CreateMutexW
mov dword [0x7c1c44], eax
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
cmp ebx, 0xb7
jne 0x46a451
mov dword [esp], 1
push 0x10000000
mov eax, 0x72b0ec
push eax
push 0
push 0
push 0
push 0
push 0
call fcn.00595707
and eax, eax
je 0x46a451
push 0
call fcn.00595cc2
push eax
push 0x4f50454e
push dword [0x7c18d8]
push 0xffff
call sub.USER32.dll_PostMessageW
call fcn.005954fa
push edx
push eax
add dword [esp], 0x2710
adc dword [esp + 4], 0
pop dword [esp + 0x10]
pop dword [esp + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x10]
call fcn.005954fa
push edx
pop edx
pop ebx
pop edi
cmp edi, edx
jg 0x46a2a2
jl 0x46a29e
cmp ebx, eax
ja 0x46a2a2
xor eax, eax
jmp 0x46a2a7
mov eax, 1
or eax, eax
je 0x46a447
push 0x64
call fcn.00595b7d
mov ebx, eax
cmp ebx, dword [0x7c18d8]
jne 0x46a442
call fcn.0059650b
mov ebx, eax
cmp ebx, 0x48574e44
jne 0x46a431
call fcn.0059651a
mov dword [esp + 0x14], eax
mov eax, str.AllowSetForegroundWindow
push eax
mov eax, str.User32.dll
push eax
call sub.KERNEL32.dll_GetModuleHandleW
push eax
call sub.KERNEL32.dll_GetProcAddress
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0
je 0x46a320
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
call sub.USER32.dll_GetWindowThreadProcessId
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.005748bd
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
call fcn.005710ca
mov edx, 0x72b6a4
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push dword [0x7c33e8]
call fcn.005a9e97
cdq
push edx
push eax
call fcn.005adc10
pop eax
mov edx, 0x72b6a4
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x4c]
cdq
push edx
push eax
call fcn.005adc10
pop eax
lea eax, [esp + 0x24]
push eax
call fcn.005b12d0
push dword [0x7c33e8]
call fcn.005a9d3a
push dword [0x7c33e8]
call fcn.005a9d4f
or eax, eax
je 0x46a3e8
mov edx, dword [esp + 0x20]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72b6a4
push edx
call fcn.005b1270
mov ebp, dword [0x7c33ec]
mov edx, dword [ebp + 8]
push edx
call fcn.005b1270
lea eax, [esp + 0x24]
push eax
call fcn.005b12d0
jmp 0x46a3a1
lea eax, [esp + 0x24]
lea ebp, [esp + 0x24]
mov dword [ebp], 0x4f4e4345
push dword [esp + 0x20]
call fcn.005ade50
mov ebx, eax
inc ebx
add ebx, ebx
mov eax, ebx
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 8], eax
lea eax, [esp + 0x24]
push eax
push 0
call fcn.00595cc2
push eax
push 0x4a
push dword [esp + 0x20]
call sub.USER32.dll_SendMessageW
jmp 0x46a442
call fcn.0059650b
mov ebx, eax
cmp ebx, 0x444f4e45
jne 0x46a442
jmp 0x46a447
jmp 0x46a283
push 0
call fcn.005955ff
mov eax, dword [esp]
jmp 0x46a458
push dword [esp + 4]
call fcn.005b1460
push dword [esp + 0x20]
call fcn.005b1460
push dword [esp + 8]
call fcn.005b1460
add esp, 0x30
pop edi
pop ebx
pop ebp
ret 4