Function at 0x140107cd0
Capabilities:
Check mutex on windows

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x4f8]
sub rsp, 0x5e0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14044f8c0]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
mov rbx, rcx
mov dword [rsp + 0x48], 8
mov dword [rsp + 0x4c], 0x80ff
lea rcx, [rsp + 0x48]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
mov rcx, rbx
call fcn.14016eccc
call fcn.1401745a4
test eax, eax
je 0x140108126
xor ecx, ecx
call fcn.140174a88
lea rdx, str.Realtek
mov rcx, rbx
call fcn.14016a14c
mov rcx, rbx
call fcn.140108170
lea rcx, [rbp + 0x1c0]
call fcn.140144560
nop
xor edx, edx
mov r8d, 0x1ec
lea rcx, [rbp - 0x30]
call fcn.1402ef020
xor edi, edi
mov rcx, qword [rbp + 0x450]
test rcx, rcx
jne 0x140107dab
lea rcx, [rbp + 0x1c0]
call fcn.140144850
test eax, eax
je 0x140107e1b
mov rcx, qword [rbp + 0x450]
test rcx, rcx
je 0x140107e1b
mov dword [rsp + 0x40], edi
movups xmm0, xmmword [str._alsC]
movaps xmmword [rsp + 0x50], xmm0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x1ec
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r9 + 0x19]
lea rdx, [rsp + 0x50]
call fcn.14003b1f0
test eax, eax
je 0x140107e1b
test byte [rbp + 0xc0], 4
je 0x140107dff
mov ecx, 0xffffffff
call qword [sym.imp.IMM32.dll_ImmDisableIME]
cmp dword [rbp + 0xcc], edi
je 0x140107e1b
cmp dword [rbx + 0x1ec], edi
jne 0x140107e1b
cmp dword [rbx + 0x1d0], edi
je 0x140108118
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rcx, [rbx + 0x1f8]
xor r8d, r8d
lea rdx, [rsp + 0x60]
call qword [sym.imp.gdiplus.dll_GdiplusStartup]
mov ecx, 0xa10
call fcn.140153a34
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140107e63
mov rcx, rax
call fcn.140024c80
mov r14, rax
jmp 0x140107e66
mov r14, rdi
test r14, r14
je 0x140108118
mov qword [rbx + 0x40], r14
xor ecx, ecx
cmp dword [rbx + 0x1c4], ecx
je 0x140107f02
lea r9, str.Realtek_HD_Audio_CPL_for_Vista
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowExW]
mov rsi, rax
call fcn.140164860
test rax, rax
je 0x140107eb7
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x140107eb7
mov rax, qword [rax + 0x40]
jmp 0x140107eba
mov rax, rdi
cmp rsi, rax
jne 0x140107ee1
lea r9, str.Realtek_HD_Audio_CPL_for_Vista
xor r8d, r8d
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowExW]
mov rsi, rax
test rax, rax
jne 0x140107e96
jmp 0x140108032
test rsi, rsi
je 0x140108032
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, rsi
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140108032
lea r8, str.Mutex_B945EE5C_6F0A_4776_94CD_E9C1742AED5A
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140107f3f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rbx + 0x1d0], 0
je 0x140108054
mov edi, 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x50], rax
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x14010815d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea r15, str.HDAUDIO
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.1400168b0
mov rsi, 0xffffffffffffffff
test al, al
jne 0x140107fac
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [r15 + rax*2], 0
jne 0x140107f90
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.140016ad0
nop
lea rdx, [rsp + 0x40]
call fcn.140108a30
test eax, eax
jne 0x140108093
lea rax, [rsp + 0x40]
mov qword [rsp + 0x50], rax
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x140108152
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea r15, str.INTELAUDIO
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.1400168b0
test al, al
jne 0x14010801c
inc rsi
cmp word [r15 + rsi*2], 0
jne 0x140108000
mov r8d, esi
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.140016ad0
nop
lea rdx, [rsp + 0x40]
call fcn.140108a30
test eax, eax
jne 0x140108093
lea edx, [rax + 1]
call fcn.14002cd20
mov rcx, qword [rbx + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
mov edi, 1
jmp 0x140108118
mov rcx, qword [rbx + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
cmp dword [rbx + 0x1c8], 0
jne 0x140108089
test dword [rbp + 0xc0], 0x20000
jne 0x140108089
mov rcx, rbx
call fcn.140108d30
mov edi, 1
jmp 0x140108118
mov edx, edi
mov rcx, r14
call fcn.140025a10
cmp dword [rbx + 0x1d8], 0
jne 0x140108032
cmp qword [0x1404659d8], 0
jne 0x1401080c8
lea r8, str.RtkGEQuiMutex
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x1404659d8], rax
cmp dword [rbx + 0x1c8], 0
jne 0x1401080e5
test dword [rbp + 0xc0], 0x20000
jne 0x1401080e5
mov rcx, rbx
call fcn.140108d30
lea rcx, [rbp - 0x80]
call fcn.14016e0c8
lea rsi, vtable.CCplCommandLine.0
mov qword [rbp - 0x80], rsi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.14016ef2c
mov edi, 1
mov qword [rbp - 0x80], rsi
lea rcx, [rbp - 0x80]
call fcn.14016e3bc
nop
lea rcx, [rbp + 0x1c0]
call fcn.1401446c0
mov eax, edi
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.1402ecc20
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x80004005
call fcn.140012800
int3
mov ecx, 0x80004005
call fcn.140012800
int3