Function at 0x180022150
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rsi, rcx
lea rdx, [0x18011769c]
lea rcx, [rsp + 0x38]
mov r8d, 0x12
call sym._ZN7sysinfo7windows6system20get_reg_string_value17h1bee37e221c5b7bdE.llvm.10254429634562535476
xor eax, eax
cmp rax, qword [rsp + 0x38]
jno 0x1800221a2
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
jmp 0x1800221b9
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x70], xmm0
lea rdx, [0x18011769c]
lea rcx, [rsp + 0x38]
mov r8d, 0x12
call sym._ZN7sysinfo7windows6system20get_reg_string_value17h1bee37e221c5b7bdE.llvm.10254429634562535476
movabs rax, 0x8000000000000000
mov rdi, qword [rsp + 0x38]
xor edx, edx
cmp rdi, rax
mov ebx, 1
cmovne rbx, qword [rsp + 0x40]
cmove rdi, rdx
cmovne rdx, qword [rsp + 0x48]
mov rcx, rbx
call sym.core::num::__impl_core::str::traits::FromStr_for_u32_::from_str::hac93f1b54ce636c7
mov r14, rax
test rdi, rdi
je 0x18002221a
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
mov rax, r14
shr rax, 0x24
cmp eax, 0x55f
setae al
xor r14b, 1
mov ebp, 0xb
test al, r14b
jne 0x180022401
lea rax, [0x18011764f]
mov qword [rsp + 0x38], rax
lea rax, [0x18011767b]
mov qword [rsp + 0x40], rax
mov word [rsp + 0x48], 0
mov dword [rsp + 0x50], 1
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x38]
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h4ca29c1cb4
lea rax, [0x1801176ae]
mov qword [rsp + 0x38], rax
lea rax, [0x1801176c7]
mov qword [rsp + 0x40], rax
mov word [rsp + 0x48], 0
mov dword [rsp + 0x50], 1
lea rcx, [rsp + 0x88]
lea rbx, [rsp + 0x38]
mov rdx, rbx
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h4ca29c1cb4
mov rdi, qword [rsp + 0xb0]
call sym._ZN100__LT_windows..Win32..Storage..FileSystem..CLFS_MGMT_POLICY_0_9_u20_as_u20_core..default..Default_GT_7default17hf7f2443bf
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], rbx
mov rcx, 0xffffffff80000002
mov rdx, rdi
xor r8d, r8d
mov r9d, 0x20019
call sub.advapi32.dll_RegOpenKeyExW
test eax, eax
je 0x18002232d
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x180022306
mov rcx, qword [rsp + 0x90]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x1800223ff
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call sym.__rust_dealloc
jmp 0x1800223ff
mov r15, qword [rsp + 0x38]
mov dword [rsp + 0x6c], 4
mov dword [rsp + 0x34], 0
mov r14, qword [rsp + 0x90]
mov dword [rsp + 0x38], 0
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov rcx, r15
mov rdx, r14
xor r8d, r8d
call sub.advapi32.dll_RegQueryValueExW
mov ebx, eax
test eax, eax
je 0x1800223b1
movzx ecx, bx
or ecx, 0x80070000
test ebx, ebx
cmovle ecx, ebx
call sym._ZN108__LT_windows_result..error..Error_u20_as_u20_core..convert..From_LT_windows_result..hresult..HRESULT_GT__GT_4from17h6940
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], edx
mov byte [rsp + 0x38], 1
test rax, rax
je 0x1800223b7
lea rcx, [rsp + 0x40]
call sym.__windows_result::com::ComPtr_as_core::ops::drop::Drop_::drop::hb30c31d5e4e46df2
jmp 0x1800223b7
mov ebp, dword [rsp + 0x34]
jmp 0x1800223b7
mov rcx, r15
call fcn.18010259c
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x1800223dd
add rdx, rdx
mov r8d, 2
mov rcx, r14
call sym.__rust_dealloc
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x1800223fb
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call sym.__rust_dealloc
test ebx, ebx
je 0x180022401
xor ebp, ebp
mov dword [rsp + 0xa8], ebp
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x88], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u32_::fmt::hdc03406a7df5e8fe]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x98], rax
lea rax, [fcn.180020130]
mov qword [rsp + 0xa0], rax
lea rax, [0x1801176d0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 3
mov qword [rsp + 0x58], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 2
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x38]
call sym.alloc::fmt::format::format_inner::h0033b6d4996550c5
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsi], xmm0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1800224ba
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret