Function at 0x1400c0688
Capabilities:
Query or enumerate registry key

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x538]
sub rsp, 0x620
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x140126108]
xor rax, rsp
mov qword [rbp + 0x510], rax
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x78], rdx
xor r14d, r14d
mov dword [rsp + 0x68], r14d
cmp qword [rcx], r14
setne cl
mov r9d, 0x1e1
lea r8, str.C:dvsp4_build_sw_relgfclient_rel_03_28_backendcommonupdtlib_srcwindows_registry.cpp
lea rdx, str.Incorrect_state
call fcn.1400684a8
mov dword [rsp + 0x60], r14d
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsi]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [rsp + 0x64], eax
test eax, eax
jne 0x1400c0844
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov dword [rsp + 0x68], 1
mov edi, r14d
cmp dword [rsp + 0x60], r14d
jbe 0x1400c081a
mov word [rbp + 0x310], r14w
mov dword [rsp + 0x6c], 0x100
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x6c]
lea r8, [rbp + 0x310]
mov edx, edi
mov rcx, qword [rsi]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [rsp + 0x64], eax
cmp eax, 0x103
je 0x1400c081a
test eax, eax
jne 0x1400c08ca
mov qword [rbp + 0x160], r14
mov qword [rbp + 0x168], 7
mov word [rbp + 0x150], r14w
lea rax, [rbp + 0x310]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r14w
jne 0x1400c07d4
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x150]
call fcn.140001a78
nop
lea rdx, [rbp + 0x150]
mov rcx, rbx
call fcn.1400251f0
nop
lea rcx, [rbp + 0x150]
call fcn.140001a14
inc edi
cmp edi, dword [rsp + 0x60]
jb 0x1400c0761
mov rax, rbx
mov rcx, qword [rbp + 0x510]
xor rcx, rsp
call fcn.14006b320
lea r11, [rsp + 0x620]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
lea rcx, [rbp - 0x80]
call fcn.14000c690
nop
lea rdx, str.RegQueryInfoKey_failed_with
mov rcx, rax
call fcn.140025668
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.1400c032c
lea rdx, [rbp + 0x170]
mov rcx, rax
call fcn.14000c648
nop
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0x1f7
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_28_backendcommonupdtlib_srcwindows_registry.cpp
mov r8d, ebx
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x190]
call fcn.1400686ec
lea rdx, [0x140123850]
lea rcx, [rbp + 0x190]
call fcn.140089d68
nop
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
lea rcx, [rbp + 0x68]
call fcn.14000c690
nop
lea rdx, str.RegEnumKeyEx_failed_with
mov rcx, rax
call fcn.140025668
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.1400c032c
lea rdx, [rbp + 0x150]
mov rcx, rax
call fcn.14000c648
nop
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0x21a
lea r9, str.C:dvsp4_build_sw_relgfclient_rel_03_28_backendcommonupdtlib_srcwindows_registry.cpp
mov r8d, ebx
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x250]
call fcn.1400686ec
lea rdx, [0x140123850]
lea rcx, [rbp + 0x250]
call fcn.140089d68
int3