Function at 0x1400e4900
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x30
cmp byte [rcx + 0x824], 0
je 0x1400e4921
xor al, al
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov bpl, 1
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x1401c15e0], 0
jne 0x1400e4947
lea rcx, [0x1401c15c0]
call fcn.140047ce0
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x1401c15e0]
test rcx, rcx
je 0x1400e49c6
mov rax, qword [rcx]
lea r8, [0x14016f6d8]
mov edx, 0xc9
mov rax, qword [rax + 0x30]
call qword [case.0x140077645.0]
mov rbx, rax
xor esi, esi
mov qword [rsp + 0x60], rsi
test rax, rax
jne 0x1400e49d4
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x60]
call fcn.14001c030
test al, al
je 0x1400e4ba8
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400e49b7
mov rax, qword [rbx - 0xc]
mov qword [rax + 8], rsi
mov word [rbx], si
jmp 0x1400e4a5e
mov rax, rsi
mov qword [rax + 8], rsi
mov word [rbx], si
jmp 0x1400e4a5e
lea rbx, str._error_interface_not_inited_
xor esi, esi
mov qword [rsp + 0x60], rsi
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x1400e49e0
mov rdx, rdi
mov eax, 0x40
cmp rdi, rax
cmovb rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14001c030
test al, al
je 0x1400e4ba8
lea r14, [rdi + rdi]
mov r8, r14
mov rdx, rbx
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
test rbx, rbx
je 0x1400e4a36
mov rax, qword [rbx - 0xc]
test rax, rax
je 0x1400e4a36
mov rcx, qword [rax + 0x10]
jmp 0x1400e4a39
mov rcx, rsi
cmp rdi, rcx
ja 0x1400e4ba8
test rbx, rbx
je 0x1400e4a4d
mov rax, qword [rbx - 0xc]
jmp 0x1400e4a50
mov rax, rsi
mov qword [rax + 8], rdi
mov word [r14 + rbx], si
test rbx, rbx
je 0x1400e4a93
mov rax, qword [rbx - 0xc]
test rax, rax
je 0x1400e4a93
cmp dword [rbx - 0x10], 0xabcd
jne 0x1400e4ba8
cmp dword [rbx - 4], 0xabcd
jne 0x1400e4ba8
mov rax, qword [rax + 0x10]
cmp dword [rbx + rax*2 + 2], 0xabcd
jne 0x1400e4ba8
mov qword [rsp + 0x70], rsi
lea rdx, [0x1401836d8]
test rbx, rbx
cmovne rdx, rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400e4b04
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x68], esi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x68]
xor r8d, r8d
lea rdx, [0x14016f6e0]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movzx ebp, bpl
test eax, eax
cmove ebp, esi
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400e4b15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
test rbx, rbx
je 0x1400e4b8f
mov rdi, qword [rbx - 0xc]
test rdi, rdi
je 0x1400e4b8f
cmp dword [rbx - 0x10], 0xabcd
jne 0x1400e4b9e
cmp dword [rbx - 4], 0xabcd
jne 0x1400e4b9e
mov rax, qword [rdi + 0x10]
cmp dword [rbx + rax*2 + 2], 0xabcd
jne 0x1400e4b9e
test rdi, rdi
je 0x1400e4b8f
cmp byte [rdi + 0x20], 0
je 0x1400e4b62
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, [rbx - 0x10]
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
mov rbx, qword [rdi]
cmp byte [rdi + 0x21], 0
je 0x1400e4b7e
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
mov rdx, qword [rbx]
mov rcx, rbx
mov rax, qword [rdx + 0x18]
call qword [case.0x140077645.0]
nop
movzx eax, bpl
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor edx, edx
xor ecx, ecx
call sub.VCRUNTIME140.dll__CxxThrowException
nop
xor edx, edx
xor ecx, ecx
call sub.VCRUNTIME140.dll__CxxThrowException
int3