Function at 0x140001050
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Create thread
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x140015008]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rdi, rcx
lea r8, str.ISR_GAMEHOOK_64
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rbx, rax
test rax, rax
je 0x1400010b6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400010b6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov r9d, 0x64
mov qword [rsp + 0x218], rsi
lea r8, [0x140016d70]
mov rcx, rdi
lea edx, [r9 + 3]
call qword [sym.imp.USER32.dll_LoadStringW]
mov r9d, 0x64
lea rbx, [0x140016ca0]
mov r8, rbx
mov rcx, rdi
lea edx, [r9 + 9]
call qword [sym.imp.USER32.dll_LoadStringW]
xor esi, esi
mov dword [rsp + 0x60], 0x50
lea rax, [0x140001330]
mov dword [rsp + 0x64], 3
mov rcx, rdi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rsi
lea edx, [rsi + 0x6b]
mov qword [rsp + 0x78], rdi
call qword [sym.imp.USER32.dll_LoadIconW]
mov edx, 0x7f00
xor ecx, ecx
mov qword [rbp - 0x80], rax
call qword [sym.imp.USER32.dll_LoadCursorW]
movdqa xmm0, xmmword [0x1400136f0]
lea edx, [rsi + 0x6c]
mov rcx, qword [rsp + 0x78]
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x60], rbx
call qword [sym.imp.USER32.dll_LoadIconW]
lea rcx, [rsp + 0x60]
mov qword [rbp - 0x58], rax
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov qword [rsp + 0x58], rsi
lea r8, [0x140016d70]
mov qword [rsp + 0x50], rdi
mov r9d, 0xcf0000
mov qword [rsp + 0x48], rsi
mov rdx, rbx
mov qword [rsp + 0x40], rsi
xor ecx, ecx
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], 0x80000000
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 0x80000000
call qword [sym.imp.USER32.dll_CreateWindowExW]
test rax, rax
je 0x1400012e2
xor edx, edx
lea rcx, [rbp - 0x20]
mov r8d, 0x104
call fcn.140002400
mov r8d, 0x104
lea rdx, [rbp - 0x20]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rbp - 0x20]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x1400011e7
test rax, rax
je 0x140001206
cmp byte [rbp + rax - 0x20], 0x5c
je 0x14000130e
sub rax, 1
jne 0x1400011f5
lea r8, [rbp - 0x20]
dec r8
nop dword [rax]
cmp byte [r8 + 1], sil
lea r8, [r8 + 1]
jne 0x140001210
movzx eax, word [0x1400136e0]
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [str.graphics_hook_filter64.dll]
movsd xmm1, qword [0x1400136d8]
movups xmmword [r8], xmm0
movsd qword [r8 + 0x10], xmm1
mov word [r8 + 0x18], ax
movzx eax, byte [0x1400136e2]
mov byte [r8 + 0x1a], al
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
lea r8, section..text
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, 0x6d
mov rcx, rdi
call qword [sym.imp.USER32.dll_LoadAcceleratorsW]
xor r9d, r9d
lea rcx, [rbp - 0x50]
xor r8d, r8d
xor edx, edx
mov rbx, rax
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x1400012df
nop dword [rax + rax]
mov rcx, qword [rbp - 0x50]
lea r8, [rbp - 0x50]
mov rdx, rbx
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x1400012c9
lea rcx, [rbp - 0x50]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x50]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
lea rcx, [rbp - 0x50]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x1400012a0
mov eax, dword [rbp - 0x40]
mov rsi, qword [rsp + 0x218]
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1400013c0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
inc rax
cmp rax, 0x104
jae 0x140001323
mov byte [rbp + rax - 0x20], sil
jmp 0x140001206
call fcn.1400014ec
int3