Function at 0x401000
Capabilities:
Check mutex on windows
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x214
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x210], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x9c40
push 0
push 0x406980
call sub.MSVCR90.dll_memset
mov esi, dword [ebp + 0x10]
add esp, 0xc
mov dword [esp + 0xc], 0
mov dword [0x406454], ebx
mov ecx, str._Commit
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401070
test dl, dl
je 0x40106c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401070
add eax, 2
add ecx, 2
test dl, dl
jne 0x401050
xor eax, eax
jmp 0x401075
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401083
call fcn.004014a0
jmp 0x40133f
mov ecx, str._Uninstall
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4010b0
test dl, dl
je 0x4010ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4010b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x401090
xor eax, eax
jmp 0x4010b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4010c3
call fcn.00401580
jmp 0x40133f
mov ecx, 0x404308
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4010f0
test dl, dl
je 0x4010ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4010f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4010d0
xor eax, eax
jmp 0x4010f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40112a
call fcn.004014a0
push 0
push 0
test eax, eax
je 0x401118
push str.Register_successed_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40133f
push str.Fail_to_Registered_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40133f
mov ecx, 0x404334
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401151
test dl, dl
je 0x40114d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401151
add eax, 2
add ecx, 2
test dl, dl
jne 0x401131
xor eax, eax
jmp 0x401156
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40118b
call fcn.00401580
push 0
push 0
test eax, eax
je 0x401179
push str.Unregister_successed_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40133f
push str.Fail_to_unregistered_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40133f
push str.FG6SystemEvent
mov edi, 1
push edi
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4011b1
mov dword [esp + 0xc], edi
test esi, esi
je 0x4011bc
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [esp + 0xc], edi
jne 0x4011cc
call fcn.00401360
jmp 0x40133f
push 0x406448
push 0x4105cc
call fcn.00401d80
add esp, 8
test eax, eax
jne 0x4011ea
mov dword [0x4105d8], edi
jmp 0x401209
movzx ecx, word [0x4105cc]
mov eax, 2
push ecx
mov word [0x406444], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [0x406446], ax
push 0x6d
push ebx
call dword [sym.imp.USER32.dll_LoadMenuA]
mov dword [0x4105dc], eax
test eax, eax
jne 0x40122e
push eax
push eax
push 0x404378
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40133f
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x84
push ebx
call esi
push 0x87
push ebx
mov dword [0x4105e0], eax
call esi
push 0x88
push ebx
mov dword [0x4105e4], eax
call esi
push 0x89
push ebx
mov dword [0x4105e8], eax
call esi
push 0x8a
push ebx
mov dword [0x4105ec], eax
call esi
push str.comctl32.dll
mov dword [0x4105f0], eax
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 0x800
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4012ad
push str.InitCommonControlsEx
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4012ad
lea edx, [esp + 0x10]
push edx
call eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0
push 0x4016f0
push eax
mov eax, dword [0x406454]
push 0x81
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov ecx, dword [0x4105d4]
lea edx, [esp + 0x18]
push edx
push 2
mov dword [0x4105c4], edi
mov dword [esp + 0x20], 0x1fc
mov dword [esp + 0x28], 0x111
mov dword [esp + 0x24], ecx
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
mov eax, dword [0x4105dc]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
test esi, esi
je 0x401310
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [0x40655c]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov edx, dword [0x4105e0]
mov esi, dword [sym.imp.USER32.dll_DestroyIcon]
push edx
call esi
mov eax, dword [0x4105e4]
push eax
call esi
mov ecx, dword [0x4105e8]
push ecx
call esi
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00402d9c
mov esp, ebp
pop ebp
ret 0x10