Function at 0x401230
Capabilities:
Accept command line arguments
Check mutex and terminate process on windows
Check mutex on windows
Terminate process

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov dword [esp + 8], str.TortoClassicAppearanceConfig
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
sub esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4013a8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [0x416008], eax
test eax, eax
je 0x40137a
xor eax, eax
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [section..bss], eax
push edx
test eax, eax
je 0x40137a
xor edi, edi
mov dword [esp], edi
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
push ebp
test eax, eax
je 0x4013e1
mov dword [esp + 4], 0x5a
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push ecx
push ecx
mov dword [0x41600c], eax
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [esp], ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
push esi
xor ebp, ebp
mov dword [esp + 0x1c], ebp
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [esp + 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push edx
mov ebx, eax
push edx
mov esi, dword [esp + 0x1c]
cmp esi, 1
jle 0x4013f0
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
push edi
jle 0x401353
mov eax, dword [ebx + 4]
cmp word [eax], 0x40
jne 0x401353
lea edi, [eax + 2]
mov dword [esp + 4], 0x41109c
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov dword [esp], edi
call ebp
push ecx
push ecx
test eax, eax
je 0x401481
mov dword [esp + 4], str.Advanced
mov dword [esp], edi
call ebp
push edx
push edx
test eax, eax
je 0x401440
xor ebx, ebx
xor esi, esi
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x3e9
mov dword [esp], esi
call fcn.00401770
mov eax, 3
jmp 0x40139f
xor eax, eax
xor edx, edx
mov dword [esp + 8], 0x3c
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x3e
mov dword [esp], edx
call fcn.00401770
mov eax, 2
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor eax, eax
mov dword [esp + 0xc], str.Appearance_Properties
mov ebx, dword [sym.imp.USER32.dll_FindWindowExW]
mov dword [esp + 8], 0x8002
mov dword [esp + 4], eax
mov dword [esp], eax
call ebx
sub esp, 0x10
test eax, eax
je 0x4013f9
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, 4
push ecx
jmp 0x40139f
mov dword [0x41600c], 0x60
jmp 0x4012d3
xor eax, eax
call fcn.00401090
jmp 0x40139f
xor ebp, ebp
mov dword [esp + 0xc], str.Propiedades_de_Apariencia
mov dword [esp + 8], 0x8002
mov dword [esp + 4], ebp
mov dword [esp], ebp
call ebx
sub esp, 0x10
test eax, eax
jne 0x4013d0
xor edi, edi
xor esi, esi
mov dword [esp + 8], 0x8002
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
mov dword [esp], edi
call ebx
sub esp, 0x10
test eax, eax
jne 0x4013d0
jmp 0x401268
mov eax, 1
cmp esi, 2
je 0x4013f2
mov dword [esp + 4], 0x41109c
mov dword [esp], edi
call ebp
push ecx
push ecx
test eax, eax
jne 0x401353
add ebx, 8
lea eax, [esi - 2]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00409e10
cmp eax, 3
jne 0x40139f
jmp 0x401353
xor eax, eax
jmp 0x401445