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

Disassembly:
push 0xa74
mov eax, 0x441274
call fcn.0040fdfc
push 0x40
pop eax
push 0x63
mov word [0x45d76c], ax
mov edi, 0x45d76c
pop eax
push 0x67
mov word [0x45d76e], ax
pop eax
push 0x2a
pop ecx
push 0x24
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov word [0x45d770], ax
pop eax
push 0x42
mov word [0x45d774], ax
pop eax
push 0x41
mov word [0x45d776], ax
pop eax
push 0x64
mov word [0x45d77a], ax
pop eax
push 0x33
pop edx
mov word [0x45d77c], ax
push 0x70
pop eax
mov word [0x45d780], ax
xor eax, eax
mov word [0x45d772], cx
mov word [0x45d778], cx
mov word [0x45d782], cx
mov word [0x45d786], cx
mov ecx, edi
mov word [0x45d77e], dx
mov word [0x45d784], dx
mov word [0x45d788], 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 0x401a17
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push esi
lea ecx, [ebp - 0x640]
call fcn.00403262
lea eax, [ebp - 0xa18]
push eax
lea ecx, [ebp - 0x640]
call fcn.0040324e
mov edi, eax
lea ecx, [ebp - 0x640]
lea eax, [ebp - 0xa1c]
push eax
call fcn.00403232
mov esi, eax
lea ecx, [ebp - 0x640]
lea eax, [ebp - 0xa20]
push eax
call fcn.0040324e
push dword [edi]
mov edx, fcn.0042a86e
lea ecx, [ebp - 0xa24]
push dword [esi]
push dword [eax]
call fcn.00404b51
sub esp, 0xc
lea eax, [ebp - 0x640]
mov ecx, esp
push eax
call fcn.00403293
sub esp, 0x18
mov ecx, esp
push 0x451ec8
call fcn.00403262
lea ecx, [ebp - 0x658]
call fcn.004013ac
add esp, 0x30
and dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.0040cc7d
or dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.00402c15
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00426840
add esp, 0xc
push 9
pop eax
push 0x1d
mov word [0x45d7a8], ax
pop eax
push 0x16
mov word [0x45d7aa], ax
pop eax
push 4
mov word [0x45d7ac], ax
pop eax
push 5
mov word [0x45d7ae], ax
pop eax
push 0x17
mov word [0x45d7b0], ax
pop eax
push 0xa
mov word [0x45d7b2], ax
pop eax
push 0x13
mov word [0x45d7b4], ax
pop eax
push 0xc
mov word [0x45d7b6], ax
pop eax
push 0x28
mov word [0x45d7b8], ax
pop eax
push 0x2a
pop ecx
mov word [0x45d7ba], ax
mov word [0x45d7bc], cx
push 0x24
pop eax
push 0x29
mov word [0x45d7be], ax
mov esi, 0x45d7a8
pop eax
push 0x39
mov word [0x45d7c0], ax
pop eax
push 0x33
mov word [0x45d7c2], ax
pop eax
mov word [0x45d7c6], ax
mov word [0x45d7c8], ax
xor eax, eax
push 0x3e
mov word [0x45d7c4], cx
mov ecx, esi
pop edi
mov word [0x45d7ca], di
mov word [0x45d7cc], ax
call fcn.004010ba
lea eax, [ebp - 0x628]
push esi
push eax
call fcn.0042a89e
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00426840
add esp, 0x14
mov word [0x45d7f6], di
mov esi, 0x45d7f4
mov ecx, esi
push 0x13
pop eax
push 0x37
mov word [0x45d7f4], ax
pop eax
push 0x3a
mov word [0x45d7f8], ax
pop eax
push 0x3c
mov word [0x45d7fa], ax
pop eax
mov word [0x45d7fc], ax
push 0x33
pop eax
mov word [0x45d7fe], ax
push 0x34
pop eax
mov word [0x45d800], ax
xor eax, eax
mov word [0x45d802], ax
call fcn.004010ba
lea eax, [ebp - 0x420]
push esi
push eax
call fcn.0042a89e
push 0x208
xor edi, edi
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.00426840
add esp, 0x14
mov esi, 0x45d814
mov ecx, esi
push 0x67
pop eax
mov word [0x45d814], ax
xor eax, eax
mov word [0x45d816], ax
call fcn.004010ba
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0042a89e
lea eax, [ebp - 0x218]
push eax
lea edx, [ebp - 0x420]
lea ecx, [ebp - 0x628]
call fcn.00402bbe
add esp, 0xc
lea ecx, [ebp - 0xa34]
push 0x40155a
call fcn.00404ba4
push 0x4016e3
lea ecx, [ebp - 0xa2c]
call fcn.00404ba4
push 0x30
pop esi
push esi
lea eax, [ebp - 0xa80]
push edi
push eax
call fcn.00426840
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], 0x4023ab
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.00426840
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 0x401d57
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 0x401d3d
mov esi, dword [ebp - 0xa48]
cmp dword [ebp - 0xa28], ebx
jne 0x401dab
cmp dword [ebp - 0xa30], ebx
jne 0x401dab
lea ecx, [ebp - 0x658]
mov dword [ebp - 4], 1
call fcn.0040ccd8
lea ecx, [ebp - 0x640]
mov dword [ebp - 4], 2
call fcn.0040ccd8
mov eax, esi
call fcn.0040fdb7
ret 0x10
call fcn.0042a376
int3