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

Disassembly:
push 0xc4
mov eax, 0x565ab5
call fcn.00548c1e
mov edi, ecx
mov dword [ebp - 0xcc], edi
call fcn.00414782
push 0x5a6ac0
mov ecx, edi
call fcn.00422364
xor ebx, ebx
push ebx
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.00422f97
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x403012
lea ecx, [ebp - 0xd0]
call fcn.0040276c
push 0x65
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], ebx
call fcn.00403418
mov esi, dword [ebp - 0xd0]
lea eax, [esi - 0x10]
mov dword [ebp - 0xd0], eax
cmp dword [eax + 4], ebx
je 0x403007
mov eax, dword [ebp - 0xc8]
mov edi, dword [sym.imp.USER32.dll_AppendMenuA]
push ebx
push ebx
push 0x800
push dword [eax + 4]
call edi
mov eax, dword [ebp - 0xc8]
push esi
push 0x10
push ebx
push dword [eax + 4]
call edi
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
or dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.0040234c
push dword [edi + 0xd0]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0x80
push dword [edi + 0x20]
mov byte [edi + 0xdc], bl
call esi
push dword [edi + 0xd0]
push ebx
push 0x80
push dword [edi + 0x20]
call esi
push str.JiSu_Installer_Ysk
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x403063
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x403259
lea ecx, [edi + 0x1a8]
mov word [edi + 0xdc], bx
push ebx
mov byte [edi + 0xde], bl
call fcn.004223b6
lea ecx, [edi + 0x228]
push ebx
call fcn.004223b6
lea ecx, [edi + 0x2a8]
push ebx
call fcn.004223b6
push 1
push 0xfbfbfb
mov ecx, edi
call fcn.0041a7c2
movaps xmm0, xmmword [0x5a6ce0]
lea edi, [ebp - 0x30]
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0x64
mov esi, 0x5a6b18
mov dword [ebp - 0x38], 0x1000000
xor eax, eax
mov dword [ebp - 0x34], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xcc]
lea edi, [ebp - 0x27]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4c]
push eax
lea edi, [esi + 0x110]
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
mov ecx, edi
call fcn.0040417e
mov eax, ebx
test edi, edi
je 0x4030fd
mov eax, dword [edi + 4]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push eax
push 0x30
push dword [esi + 0x248]
call edi
lea eax, [esi + 0x110]
test eax, eax
jne 0x40311e
mov eax, ebx
jmp 0x403121
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [esi + 0x2c8]
call edi
movaps xmm0, xmmword [0x5a6cf0]
lea edi, [ebp - 0x6c]
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0x64
mov esi, 0x5a6b18
mov dword [ebp - 0x74], 0x1000000
xor eax, eax
mov dword [ebp - 0x70], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xcc]
lea edi, [ebp - 0x63]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x88]
push eax
lea edi, [esi + 0x118]
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
mov ecx, edi
call fcn.0040417e
mov eax, ebx
test edi, edi
je 0x40318f
mov eax, dword [edi + 4]
push 1
push eax
push 0x30
push dword [esi + 0x1c8]
call dword [sym.imp.USER32.dll_SendMessageA]
movaps xmm0, xmmword [0x5a6d00]
lea edi, [ebp - 0xa8]
movups xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0xb4], 0x64
mov esi, 0x5a6b18
mov dword [ebp - 0xb0], 0x1000000
xor eax, eax
mov dword [ebp - 0xac], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xcc]
lea edi, [ebp - 0x9f]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0xc4]
push eax
lea edi, [esi + 0x120]
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
mov ecx, edi
call fcn.0040417e
test edi, edi
je 0x40320e
mov ebx, dword [edi + 4]
push 1
push ebx
push 0x30
push dword [esi + 0x148]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x5a6b24
lea ecx, [ebp - 0xc8]
call fcn.00403471
lea ecx, [ebp - 0xc8]
xor ebx, ebx
push ecx
inc ebx
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.004033be
mov ecx, dword [ebp - 0xc8]
add ecx, 0xfffffff0
call fcn.0040234c
mov eax, ebx
call fcn.00548bc8
ret
push ebx
push ebx
push 0x5a6ae8
call fcn.004135f2
push 0xffffffffffffffff
call fcn.005500ff
int3