Function at 0x140038cc0
Capabilities:
Resume thread

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov rdi, rcx
call fcn.140039100
mov rcx, rdi
call fcn.140030ed0
mov rcx, rdi
call fcn.140031880
cmp dword [0x1402ea828], 0
je 0x140038e15
mov ecx, 0x90
call fcn.14004a8d0
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140038d1b
mov rcx, rax
call fcn.14002a190
mov rbx, rax
jmp 0x140038d1d
xor ebx, ebx
test rbx, rbx
je 0x140038e15
lea rax, [rbp + 0x38]
mov qword [rbp + 0x40], rax
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x1400390d5
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp + 0x38], rax
lea rsi, str.SOFTWAREDolbyDolbyDigitalPlusDynamicKeys
mov rdx, rsi
lea rcx, [rbp + 0x38]
call fcn.1400050a0
test al, al
jne 0x140038d8a
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140038d70
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0x38]
call fcn.1400054e0
nop
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.14002a2d0
lea rax, [rbp + 0x40]
mov qword [rbp + 0x48], rax
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x1400390e0
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp + 0x40], rax
lea rsi, str.DD0DF94B_53A2_4A92_854E_91F42E28FD7B_1
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.1400050a0
test al, al
jne 0x140038dfa
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140038de0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.1400054e0
nop
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.14002a440
lea rcx, [rdi + 0x1030]
mov rdx, rbx
call fcn.1400286b0
mov rcx, rdi
call fcn.1400310d0
mov rcx, rdi
call fcn.140031470
mov rcx, rdi
call fcn.140031680
cmp dword [0x1402ea864], 0
je 0x140038f55
mov ecx, 0x90
call fcn.14004a8d0
mov qword [rbp + 0x48], rax
test rax, rax
je 0x140038e5a
mov rcx, rax
call fcn.14002a190
mov rbx, rax
jmp 0x140038e5c
xor ebx, ebx
test rbx, rbx
je 0x140038f55
lea rax, [rbp + 0x48]
mov qword [rbp - 0x28], rax
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x1400390eb
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp + 0x48], rax
lea rsi, str.SOFTWARERealtekAudio
mov rdx, rsi
lea rcx, [rbp + 0x48]
call fcn.1400050a0
test al, al
jne 0x140038eca
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140038eb0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0x48]
call fcn.1400054e0
nop
lea rdx, [rbp + 0x48]
mov rcx, rbx
call fcn.14002a2d0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x28], rax
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x1400390c4
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rsi, str.Hpltoggle
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.1400050a0
test al, al
jne 0x140038f3a
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140038f20
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.1400054e0
nop
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.14002a440
lea rcx, [rdi + 0x1030]
mov rdx, rbx
call fcn.1400286b0
lea rcx, [rdi + 0xc00]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r14, qword [rdi + 0xb98]
xor ebx, ebx
test r14d, r14d
je 0x140038fee
cmp ebx, dword [rdi + 0xb98]
jae 0x140038fe7
mov edx, ebx
lea rcx, [rdi + 0xb80]
call fcn.14004c12c
test rax, rax
je 0x1400390cf
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140038fe7
mov rcx, qword [rcx]
sub rcx, 0x18
call fcn.140004c20
mov rsi, rax
lea rcx, [rax + 0x18]
mov qword [rbp - 0x18], rcx
mov rcx, rax
call fcn.140004c20
add rax, 0x18
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14003a380
nop
mov eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x140038fe7
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc ebx
cmp ebx, r14d
jb 0x140038f70
lea rcx, [rdi + 0xbf0]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rdi + 0x1088], rdi
lea rsi, [rdi + 0x1030]
cmp qword [rsi + 0x40], 0
jne 0x140039024
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsi + 0x40], rax
cmp qword [rsi + 0x48], 0
jne 0x14003903f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsi + 0x48], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
lea rcx, [0x140028990]
call fcn.14005d084
mov r14, rax
test rax, rax
je 0x1400390b9
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsi + 0x38]
mov r8, rbx
mov rdx, qword [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov rcx, qword [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [rsi + 0x50], 1
add rsp, 0x70
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140005680
int3
call fcn.14004ba44
int3
mov ecx, 0x80004005
call fcn.140005680
int3
mov ecx, 0x80004005
call fcn.140005680
int3
mov ecx, 0x80004005
call fcn.140005680
int3