Function at 0x140054ef0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x3ff0]
mov eax, 0x40f0
call fcn.14026e690
sub rsp, rax
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1403ddfb8]
xor rax, rsp
mov qword [rbp + 0x3fe0], rax
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x58]
call fcn.1400f27d0
nop
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x1fe0]
call fcn.14028e7e0
mov qword [rbp - 0x28], 7
xor r14d, r14d
mov qword [rbp - 0x30], r14
mov word [rbp - 0x40], r14w
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x68], r14
mov word [rbp - 0x78], r14w
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], r14
mov word [rsp + 0x68], r14w
cmp qword [rbx + 0x18], 8
jb 0x140054f9f
mov r8, qword [rbx]
jmp 0x140054fa2
mov r8, rbx
mov r9d, dword [rdi + 8]
or r9d, 0x20019
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp - 0x58]
call fcn.1400f29e0
test eax, eax
je 0x140055055
mov eax, dword [0x1403f2658]
mov dword [rsp + 0x20], eax
mov r9, qword [str._no_host]
mov r8, qword [0x1403f2b80]
mov rdx, qword [str._no_group]
mov rcx, qword [0x1403f2660]
call fcn.140033d60
test rax, rax
je 0x14005504b
mov rcx, qword [rax]
test rcx, rcx
je 0x14005504b
mov rax, qword [rcx]
mov edi, 1
mov edx, edi
call qword [rax + 0x50]
test eax, eax
je 0x14005504b
cmp qword [rbx + 0x18], 8
jb 0x140055015
mov rbx, qword [rbx]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, str.Cant_open_registry_key:__s
mov qword [rsp + 0x20], rax
mov r9d, 0x128
lea r8, str.CPCReg::EnumRegKeyValues
lea rdx, str.PCReg.cpp
mov ecx, edi
call fcn.140032190
mov ebx, 0x3f3
jmp 0x1400551c5
mov dword [rsp + 0x60], 0x1000
mov dword [rsp + 0x58], 0x1000
mov dword [rsp + 0x5c], r14d
lea rcx, [rbp - 0x58]
call fcn.1400f28e0
mov rcx, rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x60]
lea r8, [rbp + 0x1fe0]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov edi, 1
cmp eax, 0x103
je 0x1400551c2
nop dword [rax]
cmp word [rbp + 0x1fe0], 0
jne 0x1400550cf
mov r8, r14
jmp 0x1400550eb
lea rax, [rbp + 0x1fe0]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400550e0
lea rdx, [rbp + 0x1fe0]
lea rcx, [rbp - 0x78]
call fcn.14002c3d0
cmp word [rbp - 0x20], 0
jne 0x140055107
mov r8, r14
jmp 0x14005511b
lea rax, [rbp - 0x20]
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x140055110
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x68]
call fcn.14002c3d0
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400554f0
mov rcx, qword [rsp + 0x40]
add rcx, 0x40
lea rax, [rsp + 0x68]
cmp rcx, rax
je 0x14005515e
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x68]
call fcn.14002ddd0
mov dword [rsp + 0x60], 0x1000
mov dword [rsp + 0x58], 0x1000
mov dword [rsp + 0x5c], r14d
lea rcx, [rbp - 0x58]
call fcn.1400f28e0
mov rcx, rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x60]
lea r8, [rbp + 0x1fe0]
mov edx, edi
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
inc edi
cmp eax, 0x103
jne 0x1400550c0
mov ebx, r14d
mov r8, qword [rbp - 0x80]
cmp r8, 8
jb 0x1400551e1
inc r8
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x68]
call fcn.14002e610
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], r14
mov word [rsp + 0x68], r14w
mov r8, qword [rbp - 0x60]
cmp r8, 8
jb 0x14005520e
inc r8
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
call fcn.14002e610
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x68], r14
mov word [rbp - 0x78], r14w
lea rcx, [rbp - 0x58]
call fcn.1400f2870
mov eax, ebx
mov rcx, qword [rbp + 0x3fe0]
xor rcx, rsp
call fcn.14026d870
add rsp, 0x40f0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret