Function at 0x140055210
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 - 0x348]
sub rsp, 0x448
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov rax, qword [0x1402f2080]
xor rax, rsp
mov qword [rbp + 0x338], rax
mov rdi, r9
mov r14, r8
mov ebx, edx
mov rsi, rcx
xor r15d, r15d
mov dword [rsp + 0x50], r15d
xor r12b, r12b
mov dword [rsp + 0x30], edx
lea rax, str.CMaxxAudioClientEx::GetChunk_param:__d_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9d, [r15 + 2]
lea r8, [0x140303c50]
mov edx, 0xddd
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedmaxxaudioclientex.cpp
call fcn.1400189f0
sub ebx, 0x13
je 0x140055d2b
sub ebx, 1
je 0x140055646
cmp ebx, 1
jne 0x140055d4c
test r14, r14
je 0x140055d4c
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x140055d4c
mov r8d, dword [r14 + 0xc]
test r8d, r8d
je 0x140055d4c
cmp qword [r14 + 0x20], r15
je 0x140055d4c
cmp dword [r14 + 0x1c], r15d
je 0x140055d4c
mov edx, dword [r14]
call fcn.140056be0
mov r13, rax
mov qword [rbp + 0x2f0], r15
mov rdx, rcx
lea rcx, [rbp + 0x2f0]
call fcn.140021310
nop
mov qword [rbp + 0x320], r15
mov r8d, dword [r14 + 0x1c]
mov rdx, qword [r14 + 0x20]
lea rcx, [rbp + 0x320]
call fcn.140021310
nop
mov rbx, qword [rbp + 0x320]
mov qword [rsp + 0x40], rbx
mov rdi, qword [rbp + 0x2f0]
mov qword [rsp + 0x38], rdi
mov eax, dword [r14]
mov dword [rsp + 0x30], eax
lea rax, str.GetChunk_ChunkValueType::RegistryDWORD__with_key:__d__section:__s__entry:__s
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9d, [r15 + 2]
lea r8, [0x140303c50]
mov edx, 0xe5e
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedmaxxaudioclientex.cpp
call fcn.1400189f0
lea r15, [rdi - 0x18]
mov rcx, r15
call fcn.14001dc80
add rax, 0x18
mov qword [rbp - 0x68], rax
lea r8, [rbp - 0x68]
mov rdx, r13
call fcn.1400582d0
mov rsi, 0xffffffffffffffff
test al, al
je 0x140055605
cmp r13, 0xffffffff80000001
jne 0x1400555e5
xor ebx, ebx
mov qword [rbp + 0x310], rbx
lea rdx, [rbp + 0x310]
call fcn.140056c30
nop
mov rax, qword [rbp + 0x310]
cmp dword [rax - 0x10], ebx
je 0x1400555b7
mov r13, 0xffffffff80000003
call fcn.140015450
mov rcx, rax
test rax, rax
je 0x140055d7e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [0x14023c150]
lea rcx, [rsp + 0x60]
call fcn.1400165c0
test al, al
jne 0x140055418
lea rdx, [0x14023c150]
lea rcx, [rsp + 0x60]
call fcn.1400241d0
nop
mov qword [rsp + 0x78], rbx
mov rax, qword [rbp + 0x310]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14005543b
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14005544c
call fcn.140015450
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140055d89
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x50], 8
mov r9, qword [rsp + 0x60]
mov eax, dword [r9 - 0x10]
mov rdx, qword [rbp + 0x310]
mov dword [rsp + 0x20], eax
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.1400242f0
nop
mov qword [rbp - 0x80], rbx
mov rbx, qword [rsp + 0x78]
lea r12, [rbx - 0x18]
mov rcx, qword [r12]
test rcx, rcx
je 0x1400554b3
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400554c4
call fcn.140015450
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140055d94
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x50], 0x18
mov eax, dword [rdi - 0x10]
mov dword [rsp + 0x20], eax
mov r9, rdi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1400242f0
mov rdx, qword [rbp - 0x80]
lea rbx, [rdx - 0x18]
cmp rbx, r15
je 0x14005555b
cmp dword [r15 + 0x10], 0
jl 0x14005554b
mov rax, qword [r15]
cmp qword [rbx], rax
jne 0x14005554b
mov rcx, rbx
call fcn.14001dc80
mov rdi, rax
mov ecx, esi
lock xadd dword [r15 + 0x10], ecx
sub ecx, 1
jg 0x14005553e
mov rcx, qword [r15]
mov r8, qword [rcx]
mov rdx, r15
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x2f0], rax
jmp 0x14005555b
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x2f0]
call fcn.140016ed0
mov dword [rsp + 0x50], 8
mov eax, esi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14005557c
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
nop
mov eax, esi
lock xadd dword [r12 + 0x10], eax
sub eax, 1
jg 0x140055598
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400555b7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x310]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400555d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp + 0x320]
mov rdi, qword [rbp + 0x2f0]
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
mov rcx, r13
call fcn.14001fe40
mov dword [r14 + 0x28], eax
mov r12b, 1
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005561f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x2f0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140055d4c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140055d4c
test r14, r14
je 0x140055d4c
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x140055d4c
mov r8d, dword [r14 + 0xc]
test r8d, r8d
je 0x140055d4c
cmp qword [r14 + 0x20], r15
je 0x140055d4c
cmp dword [r14 + 0x1c], r15d
je 0x140055d4c
mov edx, dword [r14]
call fcn.140056be0
mov r13, rax
mov qword [rbp + 0x300], r15
mov rdx, rcx
lea rcx, [rbp + 0x300]
call fcn.140021310
nop
mov qword [rbp + 0x308], r15
mov r8d, dword [r14 + 0x1c]
mov rdx, qword [r14 + 0x20]
lea rcx, [rbp + 0x308]
call fcn.140021310
nop
mov rbx, qword [rbp + 0x308]
mov qword [rsp + 0x40], rbx
mov rdi, qword [rbp + 0x300]
mov qword [rsp + 0x38], rdi
mov eax, dword [r14]
mov dword [rsp + 0x30], eax
lea rax, str.GetChunk_ChunkValueType::RegistryString__with_key:__d__section:__s__entry:__s
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, 2
lea r8, [0x140303c50]
mov edx, 0xe2c
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedmaxxaudioclientex.cpp
call fcn.1400189f0
lea r15, [rdi - 0x18]
mov rcx, r15
call fcn.14001dc80
add rax, 0x18
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x70]
mov rdx, r13
call fcn.1400582d0
mov rsi, 0xffffffffffffffff
test al, al
je 0x140055d05
lea r12d, [rsi + 2]
cmp r13, 0xffffffff80000001
jne 0x140055994
xor ebx, ebx
mov qword [rbp + 0x318], rbx
lea rdx, [rbp + 0x318]
call fcn.140056c30
nop
mov rax, qword [rbp + 0x318]
cmp dword [rax - 0x10], ebx
je 0x140055966
mov r13, 0xffffffff80000003
call fcn.140015450
mov rcx, rax
test rax, rax
je 0x140055d9f
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rdx, [0x14023c150]
lea rcx, [rsp + 0x68]
call fcn.1400165c0
test al, al
jne 0x1400557bf
lea rdx, [0x14023c150]
lea rcx, [rsp + 0x68]
call fcn.1400241d0
nop
mov qword [rbp - 0x78], rbx
mov rax, qword [rbp + 0x318]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x1400557e1
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400557f2
call fcn.140015450
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140055daa
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
mov dword [rsp + 0x50], r12d
mov r9, qword [rsp + 0x68]
mov eax, dword [r9 - 0x10]
mov rdx, qword [rbp + 0x318]
mov dword [rsp + 0x20], eax
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x78]
call fcn.1400242f0
nop
mov qword [rbp - 0x70], rbx
mov rbx, qword [rbp - 0x78]
lea r12, [rbx - 0x18]
mov rcx, qword [r12]
test rcx, rcx
je 0x140055853
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140055864
call fcn.140015450
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140055db5
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x50], 3
mov eax, dword [rdi - 0x10]
mov dword [rsp + 0x20], eax
mov r9, rdi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.1400242f0
mov rdx, qword [rbp - 0x70]
lea rbx, [rdx - 0x18]
cmp rbx, r15
je 0x1400558fb
cmp dword [r15 + 0x10], 0
jl 0x1400558eb
mov rax, qword [r15]
cmp qword [rbx], rax
jne 0x1400558eb
mov rcx, rbx
call fcn.14001dc80
mov rdi, rax
mov ecx, esi
lock xadd dword [r15 + 0x10], ecx
sub ecx, 1
jg 0x1400558de
mov rcx, qword [r15]
mov r8, qword [rcx]
mov rdx, r15
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x300], rax
jmp 0x1400558fb
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x300]
call fcn.140016ed0
mov dword [rsp + 0x50], 1
mov eax, esi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14005591c
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
nop
mov eax, esi
lock xadd dword [r12 + 0x10], eax
sub eax, 1
jg 0x140055938
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
xor ebx, ebx
mov dword [rsp + 0x50], ebx
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140055960
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rsp + 0x50], ebx
mov r12d, 1
mov rdx, qword [rbp + 0x318]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140055986
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp + 0x308]
mov rdi, qword [rbp + 0x300]
mov qword [rbp + 0x330], 0
lea rax, [0x14022a4b0]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, rdi
mov rdx, r13
lea rcx, [rbp + 0x330]
call fcn.14001fbd0
nop
mov rdx, qword [rbp + 0x330]
mov r15d, dword [rdx - 0x10]
mov qword [rbp + 0x2f8], 0
lea rcx, [rbp - 0x50]
call fcn.140021410
nop
mov rdx, qword [rax]
lea rcx, [rbp + 0x2f8]
call fcn.140016290
nop
lea rax, [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
cmp rcx, rax
je 0x140055a03
call fcn.14016e4d0
lea rdx, str.AudioPresets
mov rcx, rsi
nop dword [rax]
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [rdx + rcx*2 + 2]
jne 0x140055a34
add rcx, 2
cmp rcx, 0xd
je 0x140055c1a
movzx eax, word [rbx + rcx*2]
cmp ax, word [rdx + rcx*2]
je 0x140055a10
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140055c8f
mov rdx, rbx
lea rcx, [rbp + 0x1d0]
call fcn.140021410
mov rbx, rax
mov rdx, rdi
lea rcx, [rbp + 0xc0]
call fcn.140021410
nop
mov rdi, qword [rbx]
mov rbx, qword [rax]
mov qword [rsp + 0x58], 0
lea rdx, [0x14022a4b0]
lea rcx, [rsp + 0x58]
call fcn.140016290
mov r15, rax
mov dword [rsp + 0x50], 4
mov qword [rbp + 0x2e8], 0
lea rax, [rbp + 0x2e8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
mov rcx, qword [rbp + 0x2e8]
test rcx, rcx
je 0x140055bc7
xor r13d, r13d
mov dword [rbp + 0x2e0], r13d
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x328]
xor r8d, r8d
mov rdx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov edx, dword [rbp + 0x2e0]
test edx, edx
je 0x140055bb3
js 0x140055dc0
mov rbx, qword [rsp + 0x58]
sub r12d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edx
or eax, r12d
jge 0x140055b2e
lea rcx, [rsp + 0x58]
call fcn.140017100
mov rbx, qword [rsp + 0x58]
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x328]
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rbp + 0x2e8]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], r13w
jne 0x140055b60
test rax, rax
je 0x140055b7c
mov eax, dword [rbp + 0x2e0]
dec eax
mov word [rbx + rax*2], r13w
mov rcx, qword [rsp + 0x58]
movsxd rdx, dword [rcx - 0xc]
call fcn.140172bb4
mov rcx, rax
test eax, eax
js 0x140055d73
mov rax, qword [rsp + 0x58]
cmp ecx, dword [rax - 0xc]
jg 0x140055d73
mov dword [rax - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [rsp + 0x58]
mov word [rax + rcx*2], r13w
mov rcx, qword [rbp + 0x2e8]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov qword [rbp + 0x2e8], r13
mov rdx, qword [r15]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x2f8]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140055c32
cmp dword [rbx + 0x10], 0
jl 0x140055c21
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140055c21
call fcn.14001dc80
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140055c0d
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x2f8], rax
jmp 0x140055c32
xor eax, eax
jmp 0x140055a39
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x2f8]
call fcn.140016ed0
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140055c51
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, [rbp + 0xc8]
mov rcx, qword [rbp + 0xc0]
cmp rcx, rax
je 0x140055c6a
call fcn.14016e4d0
nop
lea rax, [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1d0]
cmp rcx, rax
je 0x140055c82
call fcn.14016e4d0
mov rax, qword [rbp + 0x2f8]
mov r15d, dword [rax - 0x10]
jmp 0x140055c96
mov rax, qword [rbp + 0x2f8]
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x140055cbd
mov edx, dword [r14 + 0x2c]
test edx, edx
je 0x140055cbd
movsxd r9, r15d
inc edx
mov r8, rax
call fcn.14017dc84
mov rax, qword [rbp + 0x2f8]
jmp 0x140055cc1
mov dword [r14 + 0x28], r15d
mov r12b, 1
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140055cde
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x330]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140055cfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp + 0x308]
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140055d1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x300]
jmp 0x140055626
test rdi, rdi
je 0x140055d4c
cmp dword [rdi], 4
jne 0x140055d4c
test r14, r14
je 0x140055d4c
mov eax, dword [rsi + 0x13e000]
mov dword [r14], eax
mov r12b, 1
mov dword [rdi], 4
movzx eax, r12b
mov rcx, qword [rbp + 0x338]
xor rcx, rsp
call fcn.140146480
add rsp, 0x448
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.1400151f0
nop
mov ecx, 0x80004005
call fcn.1400151f0
nop
mov ecx, 0x80004005
call fcn.1400151f0
nop
mov ecx, 0x80004005
call fcn.1400151f0
nop
mov ecx, 0x80004005
call fcn.1400151f0
nop
mov ecx, 0x80004005
call fcn.1400151f0
nop
mov ecx, 0x80004005
call fcn.1400151f0
nop
mov ecx, 0x80070057
call fcn.1400151f0
int3