Function at 0x1400d5da0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x30
cmp byte [rcx + 0x7dc], 0
je 0x1400d5dc1
xor al, al
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov bpl, 1
lea rcx, [0x140199388]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x140199380], 0
jne 0x1400d5de7
lea rcx, [0x140199360]
call fcn.140040ae0
lea rcx, [0x140199388]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x140199380]
test rcx, rcx
je 0x1400d5e66
mov rax, qword [rcx]
lea r8, [0x14014e4a8]
mov edx, 0xc9
mov rax, qword [rax + 0x30]
call qword [case.0x14006aed5.0]
mov rbx, rax
xor esi, esi
mov qword [rsp + 0x60], rsi
test rax, rax
jne 0x1400d5e74
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400219d0
test al, al
je 0x1400d6048
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400d5e57
mov rax, qword [rbx - 0xc]
mov qword [rax + 8], rsi
mov word [rbx], si
jmp 0x1400d5efe
mov rax, rsi
mov qword [rax + 8], rsi
mov word [rbx], si
jmp 0x1400d5efe
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 0x1400d5e80
mov rdx, rdi
mov eax, 0x40
cmp rdi, rax
cmovb rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1400219d0
test al, al
je 0x1400d6048
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 0x1400d5ed6
mov rax, qword [rbx - 0xc]
test rax, rax
je 0x1400d5ed6
mov rcx, qword [rax + 0x10]
jmp 0x1400d5ed9
mov rcx, rsi
cmp rdi, rcx
ja 0x1400d6048
test rbx, rbx
je 0x1400d5eed
mov rax, qword [rbx - 0xc]
jmp 0x1400d5ef0
mov rax, rsi
mov qword [rax + 8], rdi
mov word [r14 + rbx], si
test rbx, rbx
je 0x1400d5f33
mov rax, qword [rbx - 0xc]
test rax, rax
je 0x1400d5f33
cmp dword [rbx - 0x10], 0xabcd
jne 0x1400d6048
cmp dword [rbx - 4], 0xabcd
jne 0x1400d6048
mov rax, qword [rax + 0x10]
cmp dword [rbx + rax*2 + 2], 0xabcd
jne 0x1400d6048
mov qword [rsp + 0x70], rsi
lea rdx, [0x140162244]
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 0x1400d5fa4
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, [0x14014e4b0]
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 0x1400d5fb5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
test rbx, rbx
je 0x1400d602f
mov rdi, qword [rbx - 0xc]
test rdi, rdi
je 0x1400d602f
cmp dword [rbx - 0x10], 0xabcd
jne 0x1400d603e
cmp dword [rbx - 4], 0xabcd
jne 0x1400d603e
mov rax, qword [rdi + 0x10]
cmp dword [rbx + rax*2 + 2], 0xabcd
jne 0x1400d603e
test rdi, rdi
je 0x1400d602f
cmp byte [rdi + 0x20], 0
je 0x1400d6002
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, [rbx - 0x10]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
mov rbx, qword [rdi]
cmp byte [rdi + 0x21], 0
je 0x1400d601e
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
mov rdx, qword [rbx]
mov rcx, rbx
mov rax, qword [rdx + 0x18]
call qword [case.0x14006aed5.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