Function at 0x14006fae1
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rsi, rcx
movabs rbx, 0x8000000000000000
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersionProductName102016201972008_RSVista200882012____Found_error:_w
mov r8d, 0x2c
mov rcx, 0xffffffff80000002
call sym.winreg::RegKey::open_subkey::h2fd812324271aee4
mov rdi, rdx
test rax, rax
jne 0x14006fcad
mov rbx, rsi
lea rdx, [0x14014f84c]
lea r15, [rsp + 0x58]
mov r8d, 0xb
mov rcx, r15
call sym.winreg::to_utf16::h0bdd8dd0fa0698ce
lea rsi, [rsp + 0x38]
mov dword [rsi], 0x800
lea r13, [rsp + 0x3c]
and dword [r13], 0
mov ecx, 0x800
xor edx, edx
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h3df00f9134cd96a6
mov r12, rdx
lea r14, [rsp + 0x40]
mov qword [r14], rax
mov qword [r14 + 8], rdx
and qword [r14 + 0x10], 0
mov r15, qword [r15 + 8]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9, r13
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x14006fbb1
mov edx, dword [rsp + 0x38]
mov rcx, r14
call sym.alloc::vec::Vec_T_A_::reserve::h0c46eb087be5fd35
mov r12, qword [rsp + 0x48]
jmp 0x14006fb7c
mov ebp, eax
test eax, eax
jne 0x14006fcbe
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb
ja 0x14006fcc8
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x80], rcx
mov byte [rsp + 0x88], al
mov r12, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u16__::hbd768d24bd1530e1
movabs rbp, 0x8000000000000000
cmp r12, rbp
mov rsi, rbx
je 0x14006fd05
lea r15, [rsp + 0xa0]
lea r13, [rsp + 0x70]
mov rcx, r15
mov rdx, r13
call sym.__alloc::string::String_as_winreg::types::FromRegValue_::from_reg_value::hf24ef26677cd394a
mov rdx, qword [r13 + 8]
mov rcx, r12
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov rax, qword [r15]
cmp rax, rbp
je 0x14006fd0f
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], r14
lea rax, [sym.__alloc::string::String_as_core::fmt::Display_::fmt::hf227f51f5a377cca]
mov qword [rsp + 0x60], rax
lea rax, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
lea rdx, [rsp + 0x70]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x58]
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
mov rcx, rsi
call sym.alloc::fmt::format::ha7016107dd9b0da8
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
jmp 0x14006fd29
mov rcx, rdi
call sym.anyhow::error::__impl_core::convert::From_E__for_anyhow::Error_::from::h9434fe80c4744e5e
mov qword [rsi + 8], rax
mov qword [rsi], rbx
jmp 0x14006fd31
shl rbp, 0x20
or rbp, 2
jmp 0x14006fcd2
movabs rbp, 0xde00000002
mov rsi, rbx
mov qword [rsp + 0x78], rbp
movabs rbx, 0x8000000000000000
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0x40]
mov rdx, r12
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u8__::h93df36056228766e
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call sym.core::ptr::drop_in_place_alloc::vec::Vec_u16__::hbd768d24bd1530e1
jmp 0x14006fd1a
mov rbx, rbp
mov rbp, qword [rsp + 0x78]
jmp 0x14006fd1a
mov rbx, rbp
mov rbp, qword [rsp + 0xa8]
mov rcx, rbp
call sym.anyhow::error::__impl_core::convert::From_E__for_anyhow::Error_::from::h9434fe80c4744e5e
mov qword [rsi + 8], rax
mov qword [rsi], rbx
mov rcx, rdi
call sym.__winreg::RegKey_as_core::ops::drop::Drop_::drop::hd5b2c92b1d69b924
mov rcx, 0xffffffff80000002
call sym.__winreg::RegKey_as_core::ops::drop::Drop_::drop::hd5b2c92b1d69b924
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret