Function at 0x40adf0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a0
mov eax, dword [0x433074]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push str.textify_app
push 1
push 0
mov dword [ebp - 0x478], ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
test esi, esi
je 0x40ae99
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40ae99
push 0
push 0x427e78
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
test edi, edi
je 0x40ae92
lea eax, [ebp - 0x478]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x478]
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
push str._exit_if_running
call fcn.00409670
add esp, 4
push 0
push 0
test al, al
je 0x40ae86
push 0x8004
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
xor ebx, ebx
jmp 0x40b092
push 0x8002
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
xor ebx, ebx
jmp 0x40b092
lea eax, [ebp - 0x4a0]
push eax
push 0x8002
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetClassInfoW]
call ebx
mov edi, dword [sym.imp.USER32.dll_RegisterClassW]
lea eax, [ebp - 0x4a0]
push eax
mov dword [ebp - 0x47c], 0x427e78
call edi
lea eax, [ebp - 0x4a0]
push eax
push 0x8002
push dword [ebp - 0x478]
call ebx
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x47c], 0x427ec4
push eax
call edi
push str._hidewnd
call fcn.00409670
mov edi, dword [sym.imp.USER32.dll_RegisterWindowMessageW]
add esp, 4
mov bl, al
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
push str.TaskbarCreated
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x474], 0x427e3c
mov dword [ebp - 0x450], 0
mov byte [ebp - 0x404], 0
mov byte [ebp - 0x3d0], 0
call edi
push 0x427e78
mov dword [ebp - 0x3cc], eax
call edi
push 0x3bc
mov dword [ebp - 0x3c8], eax
lea eax, [ebp - 0x3c4]
push 0
push eax
call fcn.004163d0
mov eax, dword [ebp - 0x460]
add esp, 0xc
mov dword [ebp - 8], 0
test eax, eax
jne 0x40afaa
call fcn.00414814
mov dword [ebp - 0x460], eax
test eax, eax
jne 0x40afaa
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
or ebx, 0xffffffff
jmp 0x40b01a
push 0
push 0
push eax
call fcn.00414916
lea eax, [ebp - 0x474]
mov dword [ebp - 0x46c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x433004
mov dword [ebp - 0x468], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x43301c]
mov dword [ebp - 0x464], eax
lea eax, [ebp - 0x46c]
push 0x433004
mov dword [0x43301c], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
test bl, bl
setne al
push eax
push 0x406590
push 0
push 0x81
push dword [0x433da8]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov ebx, eax
cmp byte [ebp - 0x3d0], 0
je 0x40b02e
lea ecx, [ebp - 0x400]
call fcn.00406e40
cmp byte [ebp - 0x404], 0
je 0x40b042
lea ecx, [ebp - 0x44c]
call fcn.004030b0
mov eax, dword [ebp - 0x450]
test eax, eax
je 0x40b053
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [ebp - 0x460]
test eax, eax
je 0x40b063
push eax
call fcn.004148c0
push dword [ebp - 0x478]
mov edi, dword [sym.imp.USER32.dll_UnregisterClassW]
push 0x427e78
call edi
push dword [ebp - 0x478]
push 0x427ec4
call edi
test esi, esi
je 0x40b099
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test esi, esi
je 0x40b099
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00414c7c
mov esp, ebp
pop ebp
ret