Function at 0x401490
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x445c76
mov eax, dword fs:[0]
push eax
sub esp, 0x258
mov eax, dword [0x45a0f0]
xor eax, esp
mov dword [esp + 0x250], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45a0f0]
xor eax, esp
push eax
lea eax, [esp + 0x26c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x27c]
push str.CEA1BF3E_6490_47a9_81C7_B5D1DFD4D18C
xor ebx, ebx
push ebx
push ebx
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
cmp eax, ebx
je 0x401521
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x401521
push str.FHLWND
push 0x450bc8
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
cmp esi, ebx
je 0x40151a
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
xor eax, eax
jmp 0x40178d
mov dword [esp + 0x34], vtable.WTL::CMessageLoop.0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x274], ebx
mov edi, dword [0x45ec9c]
lea ecx, [esp + 0x34]
add edi, 0x10
push edi
mov dword [esp + 0x34], ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [0x45ed3c]
lea edx, [esp + 0x30]
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00402b20
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x6c]
push ecx
call fcn.00411ff0
mov byte [esp + 0x274], 1
mov edx, dword [0x45e044]
push 0x4535fc
mov eax, 0xa
push 0x6c
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x130]
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1f0], 1
call fcn.0041d9d0
mov ecx, dword [esp + 0x134]
add esp, 0x10
push 0x24
push 0x1a
push 0x10
push 0x1a
push ebx
push ecx
lea ecx, [esp + 0x84]
call fcn.0041b080
mov edx, dword [0x45e044]
push 0x4535fc
push 0x6a
push edx
lea eax, [esp + 0x134]
mov esi, 0x249
push eax
lea edi, [esi + 0x14]
mov ebp, 0x1f
call fcn.0041d9d0
mov eax, 0x33
lea ecx, [esi + 0x19]
mov dword [esp + 0x22c], eax
mov eax, 0x20
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x230], eax
mov eax, dword [ecx]
mov dword [esp + 0x220], esi
add esp, 0x10
mov edx, 0x3c
mov esi, 0x1df
mov dword [esp + 0x214], ebp
mov dword [esp + 0x218], edi
mov dword [esp + 0x224], edx
mov dword [esp + 0x22c], esi
cmp eax, ebx
je 0x401684
push eax
lea ecx, [esp + 0x1c4]
call fcn.004054e0
mov edx, dword [0x45e044]
push 0x4535fc
push 0x6e
push edx
lea eax, [esp + 0x138]
mov esi, 0xbc
push eax
lea edi, [esi + 0xe]
call fcn.0041d9d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, 1
mov dword [esp + 0x254], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x8c], eax
add esp, 0xc
mov eax, esp
mov dword [esp + 0x23c], esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x240], edi
mov dword [esp + 0x84], ecx
mov dword [eax], ebx
push ecx
mov eax, esp
lea edx, [esp + 0x20]
lea esi, [esp + 0x74]
mov dword [eax], edx
call fcn.00401ee0
mov ecx, esi
cmp eax, ebx
je 0x4017b5
call fcn.0041ae80
mov eax, dword [esp + 0x70]
push str.FHLWND
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [esp + 0x70]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
lea edi, [esp + 0x34]
call fcn.00402a80
mov esi, eax
call fcn.00402930
lea ecx, [esp + 0x6c]
mov byte [esp + 0x274], bl
call fcn.00412150
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x401772
push eax
call fcn.0042de79
add esp, 4
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
cmp eax, ebx
je 0x40178b
push eax
call fcn.0042de79
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x26c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x250]
xor ecx, esp
call fcn.0042d98b
add esp, 0x264
ret
mov byte [esp + 0x274], bl
call fcn.00412150
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x4017d6
push eax
call fcn.0042de79
add esp, 4
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
cmp eax, ebx
je 0x4017ef
push eax
call fcn.0042de79
add esp, 4
xor eax, eax
jmp 0x40178d