Function at 0x401ed2
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 0x407c60
push 0x386
push eax
mov dword [0x4073bc], eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x4011d0
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 0x401f4a
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 0x4020ef
mov eax, dword [sym.imp.USER32.dll_DefDlgProcW]
mov dword [esp + 0x2c], eax
mov eax, dword [0x4073bc]
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 0x402600
push ebx
push 0xc8
push dword [0x4073bc]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [0x407cf8], eax
call fcn.004020fe
push 5
push dword [0x407cf8]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x407cf8]
call dword [sym.imp.USER32.dll_UpdateWindow]
push ebx
push 0x50
push 0x141
push 0xc9
push dword [0x407cf8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
call fcn.00401a36
mov esi, eax
test esi, esi
je 0x40202b
mov ecx, dword [0x407cf8]
mov edx, esi
push 0x30
call fcn.00404c8b
call fcn.00402426
mov eax, esi
jmp 0x4020ef
xor esi, esi
inc esi
push esi
push esi
push ebx
push dword [0x407c48]
call dword [sym.imp.TAPI32.dll_lineRegisterRequestRecipient]
test eax, eax
je 0x402058
mov ecx, dword [0x407cf8]
mov edx, eax
push 0x30
mov dword [0x407f18], ebx
call fcn.00404c8b
jmp 0x40205e
mov dword [0x407f18], esi
push 0x407c60
push dword [0x4073bc]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov esi, eax
jmp 0x4020cd
mov eax, dword [0x407cf8]
test eax, eax
je 0x402091
lea ecx, [esp + 0xc]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x4020b8
mov eax, dword [0x407cf8]
lea ecx, [esp + 0xc]
push ecx
push esi
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x4020b8
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 [0x407024], ebx
je 0x4020cd
cmp dword [0x407970], ebx
je 0x4020cd
call fcn.00404b59
push ebx
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x402073
call fcn.00402426
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