Function at 0x14002ae68
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov qword [rsp + 0x108], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rsi, rcx
lea rbx, [rcx + 0x320]
mov qword [r11 - 0x68], rbx
xor r13d, r13d
cmp rbx, r13
je 0x14002aec5
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsp + 0x60], r13
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + 0xe8]
mov edi, eax
cmp eax, r13d
jge 0x14002af28
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Failed_to_get_available_features__0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, r13
je 0x14002af13
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rbx, r13
je 0x14002af21
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
jmp 0x14002bca8
mov dword [rsp + 0x30], r13d
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x38]
mov edi, eax
cmp eax, r13d
jge 0x14002af86
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_Count_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, r13
je 0x14002af71
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rbx, r13
je 0x14002af7f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
jmp 0x14002bca8
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x70], r13
mov rcx, qword [rsi + 0x200]
mov rax, qword [rcx]
lea rdx, [rsp + 0x80]
call qword [rax + 0x38]
mov edi, eax
cmp eax, r13d
jge 0x14002b00c
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_Name_on_tuner_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, r13
je 0x14002aff7
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rbx, r13
je 0x14002b005
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
jmp 0x14002bca8
mov r9, qword [rsi + 0x200]
mov rcx, r13
mov qword [rsp + 0x40], rcx
cmp r9, r13
je 0x14002b039
mov rax, qword [r9]
lea r8, [rsp + 0x40]
lea rdx, [0x1400596c0]
mov rcx, r9
call qword [rax]
mov rcx, qword [rsp + 0x40]
cmp rcx, r13
jne 0x14002b0a5
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Failed_to_get_IMSVidDevice2_interface_from_m_pTuner.
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, r13
je 0x14002b061
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, r13
je 0x14002b08d
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rbx, r13
je 0x14002b09b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x8000ffff
jmp 0x14002bca8
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax + 0x18]
mov edi, eax
cmp eax, r13d
jge 0x14002b125
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_DevicePath_on_tuner_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, r13
je 0x14002b0e4
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, r13
je 0x14002b110
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rbx, r13
je 0x14002b11e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
jmp 0x14002bca8
movsxd rcx, dword [rsp + 0x30]
mov r12d, 4
mov rax, r12
mul rcx
lea rbp, [r12 - 5]
cmovo rax, rbp
mov rcx, rax
call fcn.1400025a0
mov rdi, rax
mov qword [rsp + 0xa8], rax
movsxd rcx, dword [rsp + 0x30]
mov rax, r12
mul rcx
cmovo rax, rbp
mov rcx, rax
call fcn.1400025a0
mov qword [rsp + 0xa0], rax
movsxd rcx, dword [rsp + 0x30]
mov rax, r12
mul rcx
cmovo rax, rbp
mov rcx, rax
call fcn.1400025a0
mov qword [rsp + 0xb0], rax
mov r12d, r13d
mov r14d, r13d
mov r15d, r13d
mov dword [rsp + 0x38], r13d
mov ebp, r13d
mov ecx, 3
cmp dword [rsp + 0x30], r13d
jle 0x14002b50b
mov r13, rax
mov r15, qword [rsp + 0xa0]
mov rbx, rdi
and qword [rsp + 0x68], 0
mov word [rsp + 0x88], cx
mov dword [rsp + 0x90], ebp
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x88]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xe0]
call qword [rax + 0x48]
mov edi, eax
lea rcx, [rsp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0x68]
test edi, edi
js 0x14002b4e0
test rcx, rcx
je 0x14002b4e0
mov rax, qword [rcx]
lea rdx, [rsp + 0x110]
call qword [rax + 0x70]
test eax, eax
js 0x14002b4ce
lea rax, [rsp + 0x110]
lea rcx, [0x140059568]
mov rdx, qword [rax]
cmp rdx, qword [rcx]
jne 0x14002b273
mov rdx, qword [rax + 8]
cmp rdx, qword [rcx + 8]
jne 0x14002b273
xor eax, eax
jmp 0x14002b278
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14002b4ce
and qword [rsp + 0x48], 0
and qword [rsp + 0x50], 0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
call qword [rax + 0x38]
test eax, eax
jns 0x14002b2ed
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_Name_on_tuner_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
cmp rcx, rax
je 0x14002b338
mov rdi, rcx
xor ecx, ecx
mov qword [rsp + 0x40], rcx
test rax, rax
je 0x14002b325
mov r9, qword [rax]
lea r8, [rsp + 0x40]
lea rdx, [0x1400596c0]
mov rcx, rax
call qword [r9]
mov rcx, qword [rsp + 0x40]
test rdi, rdi
je 0x14002b338
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
jne 0x14002b36e
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x18]
test eax, eax
jns 0x14002b3ca
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_DevicePath_on_tuner_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
lea rdx, [0x140060d80]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.msvcrt.dll_wcscspn]
movsxd r8, eax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.msvcrt.dll__wcsnicmp]
test eax, eax
jne 0x14002b434
cmp r12d, dword [rsp + 0x30]
jge 0x14002b434
mov dword [rbx], ebp
inc r12d
add rbx, 4
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
mov r8d, 4
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.msvcrt.dll__wcsnicmp]
test eax, eax
jne 0x14002b48c
cmp r14d, dword [rsp + 0x30]
jge 0x14002b48c
mov dword [r15], ebp
inc r14d
add r15, 4
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
mov eax, dword [rsp + 0x38]
cmp eax, dword [rsp + 0x30]
jge 0x14002b4a4
mov dword [r13], ebp
inc eax
mov dword [rsp + 0x38], eax
add r13, 4
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b4eb
test rcx, rcx
je 0x14002b4eb
mov rax, qword [rcx]
call qword [rax + 0x10]
inc ebp
cmp ebp, dword [rsp + 0x30]
mov ecx, 3
jl 0x14002b1bf
lea rbx, [rsi + 0x320]
mov r15d, dword [rsp + 0x38]
xor r13d, r13d
mov rdi, r13
movsxd rax, r12d
movsxd r13, r14d
test r14d, r14d
jle 0x14002b56c
mov r14, qword [rsp + 0xa8]
lea rbp, [r14 + rax*4]
mov rbx, qword [rsp + 0xa0]
cmp r12d, dword [rsp + 0x30]
jl 0x14002b54e
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_pathArray_too_big
mov ecx, 1
call fcn.140001110
jmp 0x14002b55b
mov eax, dword [rbx + rdi*4]
mov dword [rbp], eax
inc r12d
add rbp, 4
inc rdi
cmp rdi, r13
jl 0x14002b52d
lea rbx, [rsi + 0x320]
jmp 0x14002b574
mov r14, qword [rsp + 0xa8]
xor edi, edi
movsxd rax, r12d
movsxd r13, r15d
test r15d, r15d
jle 0x14002b5c6
lea rbp, [r14 + rax*4]
mov r15, qword [rsp + 0xb0]
cmp r12d, dword [rsp + 0x30]
jl 0x14002b5ae
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_pathArray_too_big
mov ecx, 1
call fcn.140001110
jmp 0x14002b5bc
mov eax, dword [r15 + rdi*4]
mov dword [rbp], eax
inc r12d
add rbp, 4
inc rdi
cmp rdi, r13
jl 0x14002b58d
jmp 0x14002b5ce
mov r15, qword [rsp + 0xb0]
and qword [rsp + 0x58], 0
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
call qword [rax + 0x130]
mov edi, eax
test eax, eax
js 0x14002bc2e
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002bc2e
and dword [rsp + 0x78], 0
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
call qword [rax + 0x38]
mov ebp, eax
test eax, eax
jns 0x14002b696
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_Count_on_FeaturesActive_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002b644
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14002b655
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002b681
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x14002b68f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebp
jmp 0x14002bca8
xor r13d, r13d
movsxd r12, r12d
test r12, r12
jle 0x14002bbb0
mov eax, dword [r14 + r13*4]
and qword [rsp + 0x38], 0
mov ecx, 3
mov word [rsp + 0x88], cx
mov dword [rsp + 0x90], eax
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x88]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0xe0]
call qword [rax + 0x48]
mov edi, eax
lea rcx, [rsp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov r11, qword [rsp + 0x38]
test edi, edi
js 0x14002b9a5
test r11, r11
je 0x14002b9a5
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rdx, r11
call qword [rax + 0x50]
test eax, eax
jns 0x14002b752
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002b9b3
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b9b3
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x58]
call qword [rax + 0x138]
test eax, eax
jns 0x14002b784
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002b9b3
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b9b3
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov ebp, eax
test eax, eax
jns 0x14002b8ac
and qword [rsp + 0x50], 0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x38]
test eax, eax
js 0x14002b7ff
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14002b7ff
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_Build_0x_x___s_with_encoder__s
mov ecx, 1
call fcn.140001110
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x138]
mov eax, 3
mov word [rsp + 0x88], ax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x90], eax
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x88]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0x110]
call qword [rax + 0x58]
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x58]
call qword [rax + 0x138]
nop
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002b9b3
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b9b3
mov rdi, qword [rsi + 0x1c8]
mov rax, qword [rsp + 0x38]
cmp rdi, rax
je 0x14002b8f9
and qword [rsi + 0x1c8], 0
test rax, rax
je 0x14002b8e6
mov r9, qword [rax]
lea r8, [rsi + 0x1c8]
lea rdx, [0x1400596e8]
mov rcx, rax
call qword [r9]
mov rax, qword [rsp + 0x38]
test rdi, rdi
je 0x14002b8f9
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
cmp qword [rsi + 0x1c8], 0
jne 0x14002b9c4
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x138]
mov eax, 3
mov word [rsp + 0x88], ax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x90], eax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x88]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [rax + 0x58]
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x58]
call qword [rax + 0x138]
mov ebp, 0x80004002
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002b9b3
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002b9b3
test r11, r11
je 0x14002b9b3
mov rax, qword [r11]
mov rcx, r11
call qword [rax + 0x10]
inc r13
cmp r13, r12
jge 0x14002bbb0
jmp 0x14002b6a5
and qword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
je 0x14002ba10
mov rdi, rcx
xor ecx, ecx
mov qword [rsp + 0x40], rcx
test rax, rax
je 0x14002b9fd
mov r9, qword [rax]
lea r8, [rsp + 0x40]
lea rdx, [0x1400596c0]
mov rcx, rax
call qword [r9]
mov rcx, qword [rsp + 0x40]
test rdi, rdi
je 0x14002ba10
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
jne 0x14002baca
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x138]
mov eax, 3
mov word [rsp + 0x88], ax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x90], eax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x88]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [rax + 0x58]
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x58]
call qword [rax + 0x138]
mov ebp, 0x80004002
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002bbb0
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002bbb0
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
call qword [rax + 0x18]
test eax, eax
jns 0x14002bb1b
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Failed_to_get_device_path_0x_x
mov ecx, 4
call fcn.140001110
xor ebp, ebp
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002bbb0
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002bbb0
mov rbp, qword [rsp + 0x48]
mov rdi, qword [rsi + 0xd0]
xor eax, eax
test rbp, rbp
setne al
test eax, eax
jne 0x14002bb3e
mov ecx, 0x80004005
call fcn.140029690
int3
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax + rax + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbp
mov r9d, 1
xor r8d, r8d
lea rdx, str.PrefEncoder
mov rcx, qword [rdi + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
test eax, eax
je 0x14002bb94
xor ebp, ebp
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002bbb0
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14002bbb0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002bbb0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, r14
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
mov rcx, r15
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002bbdf
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14002bbf0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002bc1c
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x14002bc2a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebp
jmp 0x14002bca8
mov r9d, eax
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CAnalogRecorder__d_::BuildGraphWithEncoder:_Cannot_get_FeaturesActive_0x_x
mov ecx, 1
call fcn.140001110
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002bc5b
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14002bc6c
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002bc98
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x14002bca6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.140001170
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret