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

Disassembly:
push edi
push esi
push ebx
add esp, 0xffffff80
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [0x4132b0], eax
test eax, eax
je 0x40ca97
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x4132a8], eax
test eax, eax
push ecx
je 0x40ca97
xor edi, edi
mov dword [esp], edi
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
test eax, eax
push edx
je 0x40ca88
mov dword [esp + 4], 0x5a
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x4132b4], eax
push ecx
push ecx
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [esp], ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
push esi
xor edx, edx
mov dword [esp + 8], str.TortoClassicAppearanceConfig
mov dword [esp], edx
mov dword [esp + 4], 1
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
sub esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40cabe
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.00408210
test eax, eax
je 0x40cb1e
lea edx, [esp + 0x20]
xor eax, eax
mov edi, edx
mov ecx, 0xb
rep stosd dword es:[edi], eax
lea ebx, [esp + 0x50]
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], ecx
mov edi, ebx
mov ecx, 0xc
lea esi, [esp + 0x4c]
rep stosd dword es:[edi], eax
mov edx, dword [0x4132a8]
mov dword [esp], esi
mov dword [esp + 0x18], 0x34
mov dword [esp + 0x1c], 0x2000105
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 0x64
mov dword [esp + 0x2c], 0x29
mov dword [esp + 0x3c], 0x40c880
mov dword [esp + 0x4c], 0x34
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], 0xc8
mov dword [esp + 0x64], 0x40a390
call dword [sym.imp.COMCTL32.dll_CreatePropertySheetPageA]
test eax, eax
push edi
je 0x40ca5b
mov edx, dword [esp + 0x30]
lea ecx, [edx + 1]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x38]
mov dword [ecx + edx*4], eax
lea eax, [esp + 0x18]
mov dword [esp], eax
call dword [sym.imp.COMCTL32.dll_PropertySheetA]
test eax, eax
push esi
js 0x40cb43
setne bl
and ebx, 0xff
call fcn.004082b0
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [0x4132b4], 0x60
jmp 0x40c983
xor eax, eax
xor edx, edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0x3e
mov dword [esp], edx
call fcn.00401750
mov ebx, 2
jmp 0x40ca7f
xor eax, eax
mov dword [esp + 0xc], str.Appearance_Properties
mov dword [esp + 8], 0x8002
mov dword [esp + 4], eax
mov dword [esp], eax
mov ebx, dword [sym.imp.USER32.dll_FindWindowExA]
call ebx
sub esp, 0x10
test eax, eax
je 0x40caf7
mov dword [esp], eax
mov ebx, 4
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push eax
jmp 0x40ca7f
xor eax, eax
mov dword [esp + 0xc], str.Propiedades_de_Apariencia
mov dword [esp + 8], 0x8002
mov dword [esp + 4], eax
mov dword [esp], eax
call ebx
sub esp, 0x10
test eax, eax
jne 0x40cae6
jmp 0x40c9b2
xor eax, eax
mov dword [esp + 8], 0x3c
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], 0x3d
mov dword [esp], eax
call fcn.00401750
jmp 0x40cab7
xor ecx, ecx
xor ebx, ebx
mov dword [esp], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0x3d
call fcn.00401750
mov ebx, 2
jmp 0x40ca7a