Function at 0x14000f860
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x408
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x340], rdx
mov byte [rsp + 0x33f], 0
lea rcx, [rsp + 0x140]
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersionProductNameEditionID_
mov r8d, 0x2c
call dbg.to_wide
jmp 0x14000f8d3
mov qword [rsp + 0x158], 0
lea rcx, [rsp + 0x140]
call dbg.alloc::vec::Vec<T,A>::as_ptr::h685aeb5d0c9cdca8
mov qword [rsp + 0x120], rax
jmp 0x14000f8f6
mov rdx, qword [rsp + 0x120]
mov rax, rsp
lea rcx, [rsp + 0x158]
mov qword [rax + 0x20], rcx
mov rcx, 0xffffffff80000002
xor r8d, r8d
mov r9d, 0x20019
call sub.advapi32.dll_RegOpenKeyExW
mov dword [rsp + 0x11c], eax
jmp 0x14000f92b
mov eax, dword [rsp + 0x11c]
cmp eax, 0
jne 0x14000f94e
cmp qword [rsp + 0x158], 0
sete al
and al, 1
mov byte [rsp + 0x167], al
jmp 0x14000f956
mov byte [rsp + 0x167], 1
test byte [rsp + 0x167], 1
jne 0x14000f970
mov rax, qword [rsp + 0x128]
cmp dword [rax + 4], 0xa
je 0x14000f99c
jmp 0x14000f9b9
mov qword [rsp + 0x168], 1
lea rdx, [0x14012ab30]
lea rcx, [rsp + 0x168]
call dbg.le<log::Level, log::LevelFilter>
mov byte [rsp + 0x11b], al
jmp 0x1400102a1
mov rax, qword [rsp + 0x128]
cmp dword [rax + 0xc], 0x55f0
setae al
and al, 1
mov byte [rsp + 0x1b7], al
jmp 0x14000f9c1
mov byte [rsp + 0x1b7], 0
test byte [rsp + 0x1b7], 1
jne 0x14000f9e8
lea rax, [0x14012aabc]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], 0xb
jmp 0x14000fa03
lea rax, [0x14012aac7]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], 9
mov rdx, qword [rsp + 0x1d0]
mov r8, qword [rsp + 0x1d8]
lea rcx, [rsp + 0x1b8]
call dbg.to_wide
jmp 0x14000fa22
mov dword [rsp + 0x1e4], 0
mov dword [rsp + 0x1e8], 0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x1b8]
call dbg.alloc::vec::Vec<T,A>::as_ptr::h685aeb5d0c9cdca8
mov qword [rsp + 0x110], rax
jmp 0x14000fa87
mov qword [rsp + 0x3e8], 0
mov qword [rsp + 0x3f0], 0
mov qword [rsp + 0x400], 0
mov rax, qword [rsp + 0x400]
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x388], 0
mov qword [rsp + 0x390], 0
mov qword [rsp + 0x3a0], 0
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0xf8], rax
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x108]
mov r9, qword [rsp + 0xf8]
mov rax, rsp
lea r10, [rsp + 0x1e8]
mov qword [rax + 0x28], r10
mov qword [rax + 0x20], r9
lea r9, [rsp + 0x1e4]
call sub.advapi32.dll_RegQueryValueExW
mov dword [rsp + 0xf4], eax
jmp 0x14000fb58
mov eax, dword [rsp + 0xf4]
cmp eax, 0
jne 0x14000fb7a
cmp dword [rsp + 0x1e4], 1
setne al
and al, 1
mov byte [rsp + 0x1ef], al
jmp 0x14000fb82
mov byte [rsp + 0x1ef], 1
test byte [rsp + 0x1ef], 1
jne 0x14000fba2
cmp dword [rsp + 0x1e8], 0
sete al
and al, 1
mov byte [rsp + 0x1ee], al
jmp 0x14000fbaa
mov byte [rsp + 0x1ee], 1
test byte [rsp + 0x1ee], 1
jne 0x14000fbc4
mov eax, dword [rsp + 0x1e8]
mov dword [rsp + 0xf0], eax
jmp 0x14000fbce
mov byte [rsp + 0x1ed], 1
jmp 0x14000fbe7
mov eax, dword [rsp + 0xf0]
and eax, 1
cmp eax, 0
setne al
and al, 1
mov byte [rsp + 0x1ed], al
test byte [rsp + 0x1ed], 1
jne 0x14000fc02
mov eax, dword [rsp + 0x1e8]
mov qword [rsp + 0xe8], rax
jmp 0x14000fc2e
mov qword [rsp + 0x1f0], 1
lea rdx, [0x14012ab30]
lea rcx, [rsp + 0x1f0]
call dbg.le<log::Level, log::LevelFilter>
mov byte [rsp + 0xe7], al
jmp 0x1400101bb
mov r8, qword [rsp + 0xe8]
shr r8, 1
xor eax, eax
mov dx, ax
lea rcx, [rsp + 0x238]
call dbg.from_elem<u16>
jmp 0x14000fc4d
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x1b8]
call dbg.alloc::vec::Vec<T,A>::as_ptr::h685aeb5d0c9cdca8
mov qword [rsp + 0xd8], rax
jmp 0x14000fc9c
mov qword [rsp + 0x3c8], 0
mov qword [rsp + 0x3d0], 0
mov qword [rsp + 0x3e0], 0
mov rax, qword [rsp + 0x3e0]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x3d8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x3a8], 0
mov qword [rsp + 0x3b0], 0
mov qword [rsp + 0x3c0], 0
mov rax, qword [rsp + 0x3c0]
mov qword [rsp + 0x3b8], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x238]
call dbg.alloc::vec::Vec<T,A>::as_mut_ptr::hb9d3da5f4f40ee00
mov qword [rsp + 0xb8], rax
jmp 0x14000fd3b
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x380], rax
mov r9, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xb8]
mov rax, rsp
lea r11, [rsp + 0x1e8]
mov qword [rax + 0x28], r11
mov qword [rax + 0x20], r10
call sub.advapi32.dll_RegQueryValueExW
mov dword [rsp + 0xb4], eax
jmp 0x14000fd94
mov eax, dword [rsp + 0xb4]
cmp eax, 0
jne 0x14000fdc6
mov eax, dword [rsp + 0x1e8]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x238]
call dbg.alloc::vec::Vec<T,A>::len::h1099c8071d10b88f
mov qword [rsp + 0xa8], rax
jmp 0x14000fdd0
mov byte [rsp + 0x257], 1
jmp 0x14000fe2c
mov rax, qword [rsp + 0xa8]
mov ecx, 2
mul rcx
mov qword [rsp + 0x98], rax
seto al
test al, 1
jne 0x14000fe10
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
setne al
and al, 1
mov byte [rsp + 0x257], al
jmp 0x14000fe2c
lea rcx, str.attempt_to_multiply_with_overflowWindows_11
lea r8, str.C:UsersKAVIN_STUDIO.cargo_registry_srcindex.crates.io_6f17d22bba15001fos_info_3.8.0_srcwindowswinapi.rs
mov edx, 0x21
call dbg.panic
jmp 0x14000fe2a
ud2
test byte [rsp + 0x257], 1
jne 0x14000fe55
lea rcx, [rsp + 0x238]
call dbg.deref<u16, alloc::alloc::Global>
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rax
jmp 0x14000fe76
mov rax, qword [rsp + 0x130]
mov qword [rax], 0
lea rcx, [rsp + 0x238]
call dbg.drop_in_place<alloc::vec::Vec<u16, alloc::alloc::Global>>
jmp 0x1400101a9
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call dbg.last<u16>
mov qword [rsp + 0x80], rax
jmp 0x14000fe95
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x258], rax
mov rdx, qword [rsp + 0x258]
mov eax, 1
xor ecx, ecx
cmp rdx, 0
cmove rax, rcx
cmp rax, 1
jne 0x14000fed0
mov rax, qword [rsp + 0x258]
cmp word [rax], 0
je 0x14000fee9
lea rcx, [rsp + 0x238]
call dbg.alloc::vec::Vec<T,A>::as_slice::h34b37cd9dad9345d
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
jmp 0x14000fefa
lea rcx, [rsp + 0x238]
call dbg.alloc::vec::Vec<T,A>::pop::h80bceb3590df1f8c
jmp 0x14000fef8
jmp 0x14000fed0
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x290]
call dbg.from_wide
jmp 0x14000ff13
lea rcx, [rsp + 0x290]
call sym.__std::ffi::os_str::OsString_as_core::ops::deref::Deref_::deref::h3b7be8217198c3b0
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rax
jmp 0x14000ff54
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x278]
call dbg.std::ffi::os_str::OsStr::to_string_lossy::h4b9aa24fbff9dd1f
jmp 0x14000ff6d
lea rcx, [rsp + 0x260]
lea rdx, [rsp + 0x278]
call dbg.alloc::borrow::Cow<B>::into_owned::hbb76fc55949d1bf4
jmp 0x14000ff84
mov byte [rsp + 0x33f], 1
lea rcx, [rsp + 0x290]
call dbg.drop_in_place<std::ffi::os_str::OsString>
jmp 0x14000ffc3
test byte [rsp + 0x1b7], 1
jne 0x140010032
mov rax, qword [rsp + 0x130]
mov byte [rsp + 0x33f], 0
mov rcx, qword [rsp + 0x260]
mov qword [rsp + 0x320], rcx
mov rcx, qword [rsp + 0x268]
mov qword [rsp + 0x328], rcx
mov rcx, qword [rsp + 0x270]
mov qword [rsp + 0x330], rcx
mov rcx, qword [rsp + 0x320]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x328]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x330]
mov qword [rax + 0x10], rcx
jmp 0x14001007d
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x370], rcx
lea rax, [sym.__alloc::string::String_as_core::fmt::Display_::fmt::h935f255123ee612c]
mov qword [rsp + 0x378], rax
mov qword [rsp + 0x360], rcx
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0x360]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0x58], rax
jmp 0x140010090
test byte [rsp + 0x33f], 1
jne 0x140010167
jmp 0x140010150
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x310], rcx
mov qword [rsp + 0x318], rax
mov rax, rsp
mov qword [rax + 0x20], 1
lea rdx, [0x14012ab20]
lea rcx, [rsp + 0x2e0]
mov r8d, 1
lea r9, [rsp + 0x310]
call dbg.core::fmt::Arguments::new_v1::h4f2e895513284134
jmp 0x1400100d9
lea rcx, [rsp + 0x2c8]
lea rdx, [rsp + 0x2e0]
call dbg.format
jmp 0x1400100f0
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x2c8]
mov qword [rsp + 0x2b0], rcx
mov rcx, qword [rsp + 0x2d0]
mov qword [rsp + 0x2b8], rcx
mov rcx, qword [rsp + 0x2d8]
mov qword [rsp + 0x2c0], rcx
mov rcx, qword [rsp + 0x2b0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x2b8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x2c0]
mov qword [rax + 0x10], rcx
jmp 0x14001007d
mov byte [rsp + 0x33f], 0
lea rcx, [rsp + 0x238]
call dbg.drop_in_place<alloc::vec::Vec<u16, alloc::alloc::Global>>
jmp 0x140010176
lea rcx, [rsp + 0x260]
call sym.core::ptr::drop_in_place_alloc::string::String_::h4ad7dbeab7c9a74a
jmp 0x140010150
lea rcx, [rsp + 0x1b8]
call dbg.drop_in_place<alloc::vec::Vec<u16, alloc::alloc::Global>>
jmp 0x140010185
lea rcx, [rsp + 0x140]
call dbg.drop_in_place<alloc::vec::Vec<u16, alloc::alloc::Global>>
mov rax, qword [rsp + 0x138]
add rsp, 0x408
ret
lea rcx, [rsp + 0x1b8]
call dbg.drop_in_place<alloc::vec::Vec<u16, alloc::alloc::Global>>
jmp 0x14001028f
mov al, byte [rsp + 0xe7]
test al, 1
jne 0x1400101d2
jmp 0x1400101c8
mov byte [rsp + 0x1ff], 0
jmp 0x1400101f6
mov byte [rsp + 0x35f], 0
mov dl, byte [rsp + 0x35f]
mov rcx, qword [0x140128020]
call dbg.core::sync::atomic::AtomicUsize::load::h9ffab9c7483f5b9a
mov qword [rsp + 0x48], rax
jmp 0x1400101f4
jmp 0x140010202
test byte [rsp + 0x1ff], 1
jne 0x14001024d
jmp 0x140010239
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x200], rax
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x200]
call dbg.le<log::Level, log::LevelFilter>
mov byte [rsp + 0x47], al
jmp 0x14001022a
mov al, byte [rsp + 0x47]
and al, 1
mov byte [rsp + 0x1ff], al
jmp 0x1400101f6
mov rax, qword [rsp + 0x130]
mov qword [rax], 0
jmp 0x1400101a9
lea rdx, str.RegQueryValueExW_failed
lea rcx, [rsp + 0x208]
mov r8d, 1
call dbg.core::fmt::Arguments::new_const::h3bd5a7ccb6ad4fb4
jmp 0x140010269
mov rdx, qword [rsp + 0x1f0]
lea r8, str.os_info::imp::winapi
lea rcx, [rsp + 0x208]
mov r9d, 0xb8
call dbg.log<()>
jmp 0x14001028d
jmp 0x140010239
lea rcx, [rsp + 0x140]
call dbg.drop_in_place<alloc::vec::Vec<u16, alloc::alloc::Global>>
jmp 0x140010192
mov al, byte [rsp + 0x11b]
test al, 1
jne 0x1400102b8
jmp 0x1400102ae
mov byte [rsp + 0x177], 0
jmp 0x1400102dc
mov byte [rsp + 0x35e], 0
mov dl, byte [rsp + 0x35e]
mov rcx, qword [0x140128020]
call dbg.core::sync::atomic::AtomicUsize::load::h9ffab9c7483f5b9a
mov qword [rsp + 0x38], rax
jmp 0x1400102da
jmp 0x1400102e8
test byte [rsp + 0x177], 1
jne 0x140010333
jmp 0x14001031f
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x168]
lea rdx, [rsp + 0x178]
call dbg.le<log::Level, log::LevelFilter>
mov byte [rsp + 0x37], al
jmp 0x140010310
mov al, byte [rsp + 0x37]
and al, 1
mov byte [rsp + 0x177], al
jmp 0x1400102dc
mov rax, qword [rsp + 0x130]
mov qword [rax], 0
jmp 0x14001028f
lea rdx, str.RegOpenKeyExW_HKEY_LOCAL_MACHINE__...__failed
lea rcx, [rsp + 0x180]
mov r8d, 1
call dbg.core::fmt::Arguments::new_const::h3bd5a7ccb6ad4fb4
jmp 0x14001034f
mov rdx, qword [rsp + 0x168]
lea r8, str.os_info::imp::winapi
lea rcx, [rsp + 0x180]
mov r9d, 0x9c
call dbg.log<()>
jmp 0x140010373
jmp 0x14001031f