Function at 0x401be4
Capabilities:
Check mutex on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x40
push 0x406c70
push 0x386
push eax
mov dword [0x406690], eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x401108
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x401c5c
push ebx
push str.DialerClass
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x401e07
mov eax, dword [sym.imp.USER32.dll_DefDlgProcW]
mov dword [esp + 0x2c], eax
mov eax, dword [0x406690]
push 1
push eax
mov dword [esp + 0x30], 0x2808
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 0x1e
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x7f00
push ebx
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 6
mov dword [esp + 0x44], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], str.DialerClass
call dword [sym.imp.USER32.dll_RegisterClassW]
push ebx
push 0x4022f4
push ebx
push 0xc8
push dword [0x406690]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [0x406d08], eax
call fcn.00401e15
push 5
push dword [0x406d08]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x406d08]
call dword [sym.imp.USER32.dll_UpdateWindow]
push ebx
push 0x50
push 0x141
push 0xc9
push dword [0x406d08]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
call fcn.00401758
mov esi, eax
test esi, esi
je 0x401d3d
mov ecx, dword [0x406d08]
mov edx, esi
push 0x30
call fcn.004048ae
call fcn.00402133
mov eax, esi
jmp 0x401e07
xor esi, esi
inc esi
push esi
push esi
push ebx
push dword [0x406c40]
call dword [sym.imp.TAPI32.dll_lineRegisterRequestRecipient]
test eax, eax
je 0x401d6a
mov ecx, dword [0x406d08]
mov edx, eax
push 0x30
mov dword [0x406f34], ebx
call fcn.004048ae
jmp 0x401d70
mov dword [0x406f34], esi
push 0x406c70
push dword [0x406690]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebx, eax
jmp 0x401de7
mov eax, dword [0x406d08]
test eax, eax
je 0x401da9
lea ecx, [esp + 0xc]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x401dd0
mov eax, dword [0x406d08]
lea ecx, [esp + 0xc]
push ecx
push ebx
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x401dd0
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [0x40603c], 0
je 0x401de7
cmp dword [0x4063b0], 0
je 0x401de7
call fcn.0040477e
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x18]
push eax
call esi
test eax, eax
jne 0x401d8b
call fcn.00402133
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10