Function at 0x40ee90
Capabilities:
Check mutex on windows
Create process on windows

Disassembly:
push 0x4dc
mov eax, 0x4275c6
call fcn.004181ad
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x42e9a0
push ebx
push ebx
mov dword [ebp - 0x4ac], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x4b4], eax
test eax, eax
je 0x40f1ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40f1ee
mov dword [ebp - 4], ebx
call fcn.004018ab
mov esi, eax
lea eax, [ebp - 0x44]
push ecx
push eax
mov dword [ebp - 0x4b0], esi
lea ecx, [esi + 0x80]
call fcn.00406886
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.004062d8
lea eax, [ebp - 0x4cc]
push eax
call fcn.00406a00
lea ecx, [esi + 0xb0]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x4cc]
cmp ecx, eax
je 0x40ef2a
push 0xffffffffffffffff
push ebx
push eax
call fcn.004061df
lea edx, [ebp - 0x4cc]
mov ecx, 0x42e090
call fcn.00407efd
push ebx
push 1
lea ecx, [ebp - 0x4cc]
mov byte [ebp - 4], bl
call fcn.004062d8
call fcn.0040c74b
push dword [ebp - 0x4ac]
mov edi, eax
mov ecx, edi
call fcn.0040c7b1
mov dword [ebp - 0x4a8], ebx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, esi
call fcn.00402770
test eax, eax
jne 0x40f1f8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [edi + 0x28]
call fcn.0040d8e0
push ebx
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.004062d8
cmp byte [edi + 0x29], 0
je 0x40efbc
mov ecx, edi
call fcn.0040c82b
mov ecx, edi
call fcn.0040c866
jmp 0x40f1d2
push ecx
push dword [ebp - 0x4ac]
lea ecx, [ebp - 0x4a4]
call fcn.00411d9a
lea eax, [ebp - 0x4a4]
mov byte [ebp - 4], 3
push eax
movzx eax, word [ebp - 0x498]
push 0x40ed27
push dword [ebp - 0x494]
push eax
push dword [ebp - 0x49c]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [ebp - 0x4a0], eax
test eax, eax
jne 0x40f08d
mov esi, str.LastError:
mov dword [ebp - 0x18], 7
push esi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
call fcn.0041454e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00406681
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.0040709d
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.00403413
push ebx
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.004065b8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push ecx
cmovae eax, dword [ebp - 0x2c]
push eax
push str.Failed_to_create_the_main_window
push 3
push ecx
mov ecx, dword [ebp - 0x4b0]
call fcn.004028b5
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.004065b8
jmp 0x40f1c4
push 7
push ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
push 1
push dword [ebp - 0x4a0]
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x4e8]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x40f19e
lea eax, [ebp - 0x4e8]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
cmp dword [ebp - 0x4e4], 0x101
jne 0x40f18c
cmp dword [ebp - 0x4e0], 0x70
jne 0x40f18c
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 6
push eax
call fcn.0040957e
mov ecx, eax
call fcn.0040ee77
push eax
mov edx, 0x42f8c8
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x74]
call fcn.0040c492
pop ecx
push 0x42f8c4
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.0040e9ae
pop ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402eab
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.004065b8
push ebx
push 1
lea ecx, [ebp - 0x74]
call fcn.004065b8
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.004065b8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 1
cmovae eax, dword [ebp - 0x2c]
push ebx
push eax
push str.explorer.exe
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push ebx
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.004065b8
lea eax, [ebp - 0x4e8]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x40f0a6
push 0x7f02
push ebx
call dword [sym.imp.USER32.dll_LoadCursorW]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, edi
call fcn.0040c866
push esi
mov dword [edi + 4], ebx
call dword [sym.imp.USER32.dll_DestroyCursor]
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], bl
call fcn.00411e8e
lea ecx, [edi + 0x28]
call fcn.0040e448
mov esi, dword [ebp - 0x4b4]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
call fcn.004180ff
ret 0x10
mov eax, dword [ebp - 0x4a8]
cmp eax, 3
jbe 0x40f25c
push 0x42e950
push ebx
push dword [ebp - 0x4ac]
lea ecx, [ebp - 0x28c]
call fcn.0041366c
cmp byte [edi + 0x29], 0
jne 0x40f273
lea eax, [ebp - 0x28c]
push eax
movzx eax, word [ebp - 0x280]
push 0x40ed27
push dword [ebp - 0x27c]
push eax
push dword [ebp - 0x284]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 1
je 0x40f273
lea ecx, [ebp - 0x28c]
call fcn.0041373a
mov eax, dword [ebp - 0x4a8]
push ebx
inc eax
lea ecx, [ebp - 0x2c]
push 1
mov dword [ebp - 0x4a8], eax
call fcn.004062d8
jmp 0x40ef65
lea ecx, [ebp - 0x28c]
call fcn.0041373a
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.004062d8
jmp 0x40f1ee