Function at 0x140013df0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7b8]
sub rsp, 0x8b8
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov rax, qword [0x1403d88e8]
xor rax, rsp
mov qword [rbp + 0x7a0], rax
mov r13d, r9d
mov r12, r8
mov ebx, edx
mov rdi, rcx
xor esi, esi
mov r14d, esi
mov r15d, edx
and r15d, 0xffffff00
mov dword [rsp + 0x50], r15d
mov edx, 0x1f31d
mov ecx, r15d
call fcn.1402a7070
mov qword [rsp + 0x40], rax
shr rax, 0x20
imul ecx, eax, 0x41a7
imul eax, dword [rsp + 0x40], 0xb14
sub ecx, eax
jns 0x140013e73
add ecx, 0x7fffffff
xor edx, edx
mov eax, ecx
div dword [rdi + 0x68]
mov r8d, edx
mov rdx, qword [rdi + 0x60]
test rdx, rdx
je 0x140013eaa
mov rax, qword [rdx + r8*8]
test rax, rax
je 0x140013eaa
cmp dword [rax + 0x18], ecx
jne 0x140013e99
cmp dword [rax], r15d
je 0x140013e9f
mov rax, qword [rax + 0x10]
jmp 0x140013e8a
test rax, rax
je 0x140013eb0
mov r14, qword [rax + 8]
jmp 0x140013ead
mov rax, rsi
test rax, rax
cmove r14, rsi
test r14, r14
je 0x140013eda
mov r10, qword [r14]
mov eax, dword [rbp + 0x820]
mov dword [rsp + 0x20], eax
mov r9d, r13d
mov r8, r12
mov edx, ebx
mov rcx, r14
call qword [r10 + 0x18]
jmp 0x1400142f4
mov rax, qword [rdi + 0x90]
test rax, rax
jne 0x140013f05
lea r8, str.AudioCoreSetting.cpp
mov edx, 0x299
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x1400142f4
cmp ebx, 0x23000400
ja 0x140013fe0
je 0x140013fb5
sub ebx, 0x2300010b
je 0x140013f8e
sub ebx, 0x10a
je 0x140013f52
cmp ebx, 1
jne 0x140013efe
test dword [rax + 0x50], 0x8000
mov eax, 0xddf
mov r8d, 0xc6a
cmovne r8d, eax
mov rdx, r12
mov rcx, rdi
call fcn.1400273c0
jmp 0x1400142ef
mov ecx, dword [rax + 0x50]
test byte [rax + 0x548], 2
je 0x140013f6b
mov eax, 0x1f50
mov r8d, 0x13f0
jmp 0x140013f76
mov eax, 0xdde
mov r8d, 0xc12
bt ecx, 0xf
cmovb r8d, eax
mov rdx, r12
mov rcx, rdi
call fcn.1400273c0
jmp 0x1400142ef
mov rax, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2300010b
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, eax
mov rdx, r12
mov rcx, rdi
call fcn.1400273c0
jmp 0x1400142ef
lea rdx, [rax + 0x458]
test rdx, rdx
je 0x140013fd0
or rdi, 0xffffffffffffffff
inc rdi
cmp word [rdx + rdi*2], si
jne 0x140013fc5
mov esi, edi
mov r8d, esi
mov rcx, r12
call fcn.1400105e0
jmp 0x1400142ef
sub ebx, 0x23000401
je 0x14001416b
sub ebx, 1
je 0x140014101
cmp ebx, 0x203
jne 0x140013efe
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x68], esi
mov qword [rsp + 0x70], rsi
lea rdx, str.Sound_Blaster
or rdi, 0xffffffffffffffff
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140014020
mov r8d, eax
mov rcx, r12
call fcn.1400105e0
mov r9d, 0x20019
lea r8, str.SoftwareCreative_TechSB_Plugin_for_Dell_
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x60]
call fcn.140015610
mov rbx, qword [rsp + 0x60]
test eax, eax
jne 0x1400140d9
mov dword [rsp + 0x34], 0x800
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
xor r8d, r8d
lea rdx, str.TabName
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400140d9
mov eax, dword [rsp + 0x48]
dec eax
cmp eax, 1
ja 0x1400140d9
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x1400140b7
test al, 1
jne 0x1400140d9
shr rax, 1
cmp word [rbp + rax*2 - 0x62], 0
je 0x1400140bb
jmp 0x1400140d9
mov word [rbp - 0x60], si
lea rax, [rbp - 0x60]
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400140c0
mov r8d, edi
lea rdx, [rbp - 0x60]
mov rcx, r12
call fcn.1400105e0
test rbx, rbx
je 0x1400140ea
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, rsi
test rbx, rbx
je 0x1400142ef
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400142ef
lea rcx, [rax + 0x278]
lea rdx, [rsp + 0x40]
call fcn.1400e5cb0
nop
mov rax, qword [rdi + 0x90]
mov rcx, qword [rax + 0x538]
test rcx, rcx
je 0x140014134
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x90]
or rdi, 0xffffffffffffffff
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x140014151
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140014145
mov esi, eax
mov r8d, esi
mov rcx, r12
call fcn.1400105e0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
jmp 0x1400142dc
lea r14, [rax + 0x4f8]
mov rcx, qword [r14]
movzx eax, word [rcx]
or rdi, 0xffffffffffffffff
cmp ax, word [0x140345b70]
je 0x14001418e
add rcx, 0xffffffffffffffe8
jmp 0x1400142a1
lea rdx, [0x14035f5b8]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], si
jne 0x1400141a0
mov r8d, eax
mov rcx, r14
call fcn.1400105e0
mov word [rbp - 0x80], si
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], esi
mov eax, 0x20
mov word [rsp + 0x30], ax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x3c]
lea rcx, [rsp + 0x38]
call fcn.140077fa0
test eax, eax
js 0x14001429a
movzx ecx, word [rsp + 0x30]
call fcn.1402a82b8
movsx ecx, al
mov r9d, dword [rsp + 0x38]
mov ebx, r9d
shl ebx, 8
mov edx, dword [rsp + 0x3c]
add ebx, edx
shl ebx, 8
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x140014218
movzx eax, cx
add ebx, 0xffffffa0
add ebx, eax
cmp cx, 0x20
jne 0x140014239
mov dword [rsp + 0x20], edx
lea r8, str._d._d
mov edx, 0xa
lea rcx, [rbp - 0x80]
call fcn.140077ed0
jmp 0x140014259
movzx eax, cx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea r8, str._d._d_c
mov edx, 0xa
lea rcx, [rbp - 0x80]
call fcn.140077ed0
test ebx, ebx
je 0x14001429a
lea rdx, [0x14035f5c0]
mov rax, rdi
inc rax
cmp word [rdx + rax*2], si
jne 0x140014267
mov r8d, eax
mov rcx, r14
call fcn.1400105e0
lea rcx, [rbp - 0x80]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], si
jne 0x140014282
mov r8d, eax
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.14001cfc0
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.140015740
lea rbx, [rax + 0x18]
mov rdx, rbx
mov qword [rsp + 0x58], rbx
test rbx, rbx
je 0x1400142cc
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400142c0
mov esi, eax
mov r8d, esi
mov rcx, r12
call fcn.1400105e0
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400142ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.14029d880
add rsp, 0x8b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret