Function at 0x140022070
Capabilities:
Print debug messages

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov qword [r11 - 0xa8], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14005d030]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rdi, rcx
mov qword [rsp + 0x88], rcx
xor r14d, r14d
mov dword [rsp + 0x68], r14d
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [r11 - 0xa0], r14
mov dword [r11 - 0x98], r14d
mov qword [r11 - 0x90], r14
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea r8d, [r14 + 0x41]
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionMMDevicesAudioRender_
lea rcx, [rsp + 0x48]
call fcn.140015710
mov r15d, 1
mov dword [rsp + 0x68], r15d
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdi + r8*2], 0
jne 0x140022113
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400151b0
mov r8d, 0xb
lea rdx, str.Properties
lea rcx, [rsp + 0x48]
call fcn.1400151b0
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
mov qword [rsp + 0x70], r14
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test eax, eax
jne 0x140022196
mov esi, r14d
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xa0], r14d
mov dword [rsp + 0x68], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400221dd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400221d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400226f9
call fcn.140024800
test esi, esi
je 0x140022225
lea r13, vtable.std::exception.0
mov qword [rsp + 0x48], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea rax, str.DtsService::CodecSupport::Failed_to_read_registry_key_from_path
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], 1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.1400263a0
mov qword [rsp + 0x48], r13
lea rcx, [rsp + 0x50]
call fcn.140026430
nop
mov byte [rsp + 0x40], 0
movzx r8d, byte [0x14005da88]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x98]
call fcn.140022850
mov r12d, eax
mov dword [rsp + 0x80], eax
mov rsi, qword [rsp + 0x98]
test rsi, rsi
je 0x14002226f
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, r14
mov qword [rsp + 0x98], r14
mov dword [rsp + 0xa0], r14d
cmp r12d, 3
jne 0x1400224a5
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea r8d, [r12 + 0x3e]
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionMMDevicesAudioRender_
lea rcx, [rsp + 0x48]
call fcn.140015710
mov dword [rsp + 0x68], 8
mov r8, rbx
inc r8
cmp word [rdi + r8*2], 0
jne 0x1400222b3
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400151b0
mov r8d, 0xd
lea rdx, str.FxProperties
lea rcx, [rsp + 0x48]
call fcn.1400151b0
lea r13, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae r13, qword [rsp + 0x48]
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x140022372
cmp qword [rax], 0
je 0x14002236c
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400223c6
lea rdx, str.RegOpenKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140022398
mov qword [rsp + 0x30], r14
mov rdx, qword [rsp + 0xa8]
mov rdx, qword [rdx]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, r13
mov rcx, 0xffffffff80000002
call rax
jmp 0x140022395
cmp dword [rax + 8], 0
je 0x140022398
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, r13
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov r15d, eax
test r15d, r15d
jne 0x1400223c6
mov r15d, r14d
test rsi, rsi
je 0x1400223b1
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15d, eax
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0xa0], r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140022408
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022403
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400226ff
call fcn.140024800
test r15d, r15d
jne 0x140022461
mov byte [rsp + 0x40], r15b
movzx r8d, byte [0x14005da88]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x98]
call fcn.140022850
mov r12d, eax
mov dword [rsp + 0x80], eax
mov rsi, qword [rsp + 0x98]
test rsi, rsi
je 0x140022457
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, r14
mov qword [rsp + 0x98], r14
mov dword [rsp + 0xa0], r14d
jmp 0x1400224a5
lea r15, vtable.std::exception.0
mov qword [rsp + 0x48], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea rax, str.DtsService::CodecSupport::Failed_to_read_registry_key_from_path
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], 1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.1400263a0
mov qword [rsp + 0x48], r15
lea rcx, [rsp + 0x50]
call fcn.140026430
nop
jmp 0x1400224c6
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xc0], xmm1
mov r8d, 0x23
lea rdx, str.DtsService::CodecSupport::_endpoint
lea rcx, [rsp + 0xb0]
call fcn.140015710
nop
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x140022500
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0xb0]
call fcn.1400151b0
mov r8d, 0xd
lea rdx, str.Formfacotr
lea rcx, [rsp + 0xb0]
call fcn.1400151b0
lea r9, [rsp + 0xfa]
mov r8d, r12d
test r12d, r12d
jns 0x140022590
neg r8d
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140022550
add r9, 0xfffffffffffffffe
mov eax, 0x2d
mov word [r9], ax
jmp 0x1400225c0
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140022590
lea r8, [rsp + 0xfa]
mov rdx, r9
lea rcx, [rsp + 0x48]
call fcn.1400162e0
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
lea rcx, [rsp + 0xb0]
call fcn.1400151b0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002263c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022637
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022705
call fcn.140024800
lea rcx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 8
cmovae rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0xc8]
cmp rdx, 8
jb 0x1400226a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002269c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002270b
call fcn.140024800
movdqa xmm0, xmmword [0x140053c70]
movdqu xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xb0], r14w
test rsi, rsi
je 0x1400226c9
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, r12d
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400247e0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14002bf94
nop
call fcn.14002bf94
nop
call fcn.14002bf94
nop
call fcn.14002bf94
int3