Function at 0x401957
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Terminate process

Disassembly:
push 0xa74
mov eax, 0x441284
call fcn.0040fe0b
push 0x64
pop edx
push 0x70
pop ecx
push 0x2a
pop edi
push 0x24
pop eax
push 0x41
mov word [0x45d776], ax
pop eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
push 0x24
mov word [0x45d77a], ax
pop eax
push 0x25
mov word [0x45d780], ax
pop eax
push 0x33
mov word [0x45d786], ax
pop eax
mov word [0x45d788], ax
push 0x63
pop eax
mov word [0x45d78a], ax
push 0x3a
pop eax
mov word [0x45d774], di
mov word [0x45d77e], di
mov word [0x45d784], di
mov word [0x45d78c], di
mov edi, 0x45d770
mov word [0x45d78e], ax
xor eax, eax
mov word [0x45d772], cx
mov word [0x45d778], cx
mov word [0x45d77c], cx
mov ecx, edi
mov word [0x45d770], dx
mov word [0x45d782], dx
mov word [0x45d790], ax
call fcn.004010ba
push edi
xor edi, edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x401a26
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push esi
lea ecx, [ebp - 0x640]
call fcn.00403271
lea eax, [ebp - 0xa18]
push eax
lea ecx, [ebp - 0x640]
call fcn.0040325d
mov edi, eax
lea ecx, [ebp - 0x640]
lea eax, [ebp - 0xa1c]
push eax
call fcn.00403241
mov esi, eax
lea ecx, [ebp - 0x640]
lea eax, [ebp - 0xa20]
push eax
call fcn.0040325d
push dword [edi]
mov edx, fcn.0042a87e
lea ecx, [ebp - 0xa24]
push dword [esi]
push dword [eax]
call fcn.00404b60
sub esp, 0xc
lea eax, [ebp - 0x640]
mov ecx, esp
push eax
call fcn.004032a2
sub esp, 0x18
mov ecx, esp
push 0x451ec8
call fcn.00403271
lea ecx, [ebp - 0x658]
call fcn.004013ac
add esp, 0x30
and dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.0040cc8c
or dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.00402c24
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00426850
add esp, 0xc
push 9
pop eax
push 0x1d
mov word [0x45d7b8], ax
pop eax
push 0x16
mov word [0x45d7ba], ax
pop eax
push 4
mov word [0x45d7bc], ax
pop eax
push 5
mov word [0x45d7be], ax
pop eax
push 0x17
mov word [0x45d7c0], ax
pop eax
push 0xa
mov word [0x45d7c2], ax
pop eax
push 0x13
mov word [0x45d7c4], ax
pop eax
push 0xc
mov word [0x45d7c6], ax
pop eax
push 0x28
mov word [0x45d7c8], ax
pop eax
push 0x2a
pop ecx
mov word [0x45d7ca], ax
mov word [0x45d7cc], cx
push 0x24
pop eax
push 0x29
mov word [0x45d7ce], ax
mov esi, 0x45d7b8
pop eax
push 0x39
mov word [0x45d7d0], ax
pop eax
push 0x33
mov word [0x45d7d2], ax
pop eax
mov word [0x45d7d6], ax
mov word [0x45d7d8], ax
xor eax, eax
push 0x3e
mov word [0x45d7d4], cx
mov ecx, esi
pop edi
mov word [0x45d7da], di
mov word [0x45d7dc], ax
call fcn.004010ba
lea eax, [ebp - 0x628]
push esi
push eax
call fcn.0042a8ae
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00426850
add esp, 0x14
mov word [0x45d806], di
mov esi, 0x45d804
mov ecx, esi
push 0x13
pop eax
push 0x37
mov word [0x45d804], ax
pop eax
push 0x3a
mov word [0x45d808], ax
pop eax
push 0x3c
mov word [0x45d80a], ax
pop eax
mov word [0x45d80c], ax
push 0x33
pop eax
mov word [0x45d80e], ax
push 0x34
pop eax
mov word [0x45d810], ax
xor eax, eax
mov word [0x45d812], ax
call fcn.004010ba
lea eax, [ebp - 0x420]
push esi
push eax
call fcn.0042a8ae
push 0x208
xor edi, edi
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.00426850
add esp, 0x14
mov esi, 0x45d824
mov ecx, esi
push 0x67
pop eax
mov word [0x45d824], ax
xor eax, eax
mov word [0x45d826], ax
call fcn.004010ba
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0042a8ae
lea eax, [ebp - 0x218]
push eax
lea edx, [ebp - 0x420]
lea ecx, [ebp - 0x628]
call fcn.00402bcd
add esp, 0xc
lea ecx, [ebp - 0xa34]
push 0x40155a
call fcn.00404bb3
push 0x4016e3
lea ecx, [ebp - 0xa2c]
call fcn.00404bb3
push 0x30
pop esi
push esi
lea eax, [ebp - 0xa80]
push edi
push eax
call fcn.00426850
add esp, 0xc
mov dword [ebp - 0xa80], esi
lea eax, [ebp - 0xa80]
mov dword [ebp - 0xa6c], ebx
mov esi, str.Main
mov dword [ebp - 0xa78], 0x4023ba
mov dword [ebp - 0xa58], esi
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push edi
push ebx
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push esi
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, 0x3b8
mov esi, eax
push edi
lea eax, [ebp - 0xa10]
push 0
push eax
call fcn.00426850
add esp, 0xc
mov dword [ebp - 0xa0c], esi
mov dword [ebp - 0xa10], edi
mov dword [ebp - 0xa00], 0x400
push 3
pop esi
push 0x85
push ebx
mov dword [ebp - 0x6f0], esi
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x9fc], eax
xor ebx, ebx
lea eax, [ebp - 0xa10]
mov dword [ebp - 0xa04], esi
push eax
push ebx
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x401d66
lea eax, [ebp - 0xa50]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0xa50]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
push ebx
lea eax, [ebp - 0xa50]
push eax
call esi
test eax, eax
jne 0x401d4c
mov esi, dword [ebp - 0xa48]
cmp dword [ebp - 0xa28], ebx
jne 0x401dba
cmp dword [ebp - 0xa30], ebx
jne 0x401dba
lea ecx, [ebp - 0x658]
mov dword [ebp - 4], 1
call fcn.0040cce7
lea ecx, [ebp - 0x640]
mov dword [ebp - 4], 2
call fcn.0040cce7
mov eax, esi
call fcn.0040fdc6
ret 0x10
call fcn.0042a386
int3