Function at 0x14000495e
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, 0x138
mov r14, rdx
mov rbp, rcx
lea rbx, [rsp + 0x48]
mov rcx, rbx
mov rdx, r8
mov r8, r9
call fcn.140005126
lea rsi, [rsp + 0x74]
mov dword [rsi], 0x800
lea r15, [rsp + 0x84]
and dword [r15], 0
mov ecx, 0x800
call fcn.14002888b
mov rdi, rax
lea r12, [rsp + 0xd0]
mov qword [r12], rax
mov qword [r12 + 8], rdx
and qword [r12 + 0x10], 0
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x140004a00
mov edx, dword [rsp + 0x74]
mov rcx, r12
call fcn.14003826f
mov rdi, qword [rsp + 0xd0]
jmp 0x1400049c8
mov r13d, eax
test eax, eax
jne 0x140004a21
mov r15d, dword [rsp + 0x84]
cmp r15d, 0xb
jbe 0x140004a63
movabs r13, 0xde00000002
jmp 0x140004a29
shl r13, 0x20
or r13, 2
mov rdx, qword [rsp + 0xd8]
mov rcx, rdi
call fcn.1400351e0
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140003470
mov qword [rbp + 8], r13
and qword [rbp], 0
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14d, dword [rsp + 0x74]
mov rsi, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140003470
cmp r15b, 7
ja 0x1400050bb
movzx eax, r15b
mov ecx, 0x86
bt ecx, eax
jae 0x1400050bb
mov dword [rsp + 0x70], r15d
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x88], rbp
mov esi, r14d
and esi, 0xfffffffe
add rsi, rdi
lea rbx, [rsp + 0xd0]
mov qword [rbx], 1
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov rdx, r14
shr rdx, 2
bt r14d, 1
adc rdx, 0
mov rcx, rbx
call fcn.14009cc69
xor r13d, r13d
lea r14, [rsp + 0x48]
mov r12, rdi
test r13w, r13w
je 0x140004afa
mov ecx, ebp
jmp 0x140004b0c
cmp r12, rsi
je 0x140004c9e
movzx ecx, word [r12]
add r12, 2
lea eax, [rcx + 0x2000]
cmp ax, 0xf800
jae 0x140004b6d
movzx eax, cx
shl rax, 0x10
mov r15, rax
shr r15, 0x10
cmp r15d, 0x80
jae 0x140004b79
mov rdx, qword [rsp + 0xe0]
cmp rdx, qword [rsp + 0xd8]
jne 0x140004b51
mov rcx, rbx
call fcn.14009cf63
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd0]
mov byte [rax + rdx], r15b
inc rdx
mov qword [rsp + 0xe0], rdx
xor r13d, r13d
jmp 0x140004af0
cmp cx, 0xdbff
jbe 0x140004ba8
xor r13d, r13d
jmp 0x140004be2
and dword [rsp + 0x48], 0
cmp r15d, 0x800
jae 0x140004bce
shr rax, 0x16
or al, 0xc0
mov byte [rsp + 0x48], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x49], r15b
mov eax, 2
jmp 0x140004c83
cmp r12, rsi
je 0x140004bdc
movzx eax, word [r12]
add r12, 2
mov edx, eax
add edx, 0x2000
mov r13w, 1
cmp dx, 0xfc00
jae 0x140004c1b
mov ebp, eax
jmp 0x140004be2
cmp r15d, 0x10000
jae 0x140004c46
xor r13d, r13d
jmp 0x140004bed
xor r13d, r13d
mov r12, rsi
and dword [rsp + 0x48], 0
mov r15d, 0xfffd
mov eax, r15d
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x48], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x49], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x4a], r15b
mov eax, 3
jmp 0x140004c86
movzx eax, ax
and ecx, 0x3ff
and eax, 0x3ff
shl rcx, 0x1a
shl rax, 0x10
or rax, rcx
movabs rcx, 0x100000000
add rax, rcx
jmp 0x140004b1f
mov rcx, rax
shr rcx, 0x22
or cl, 0xf0
mov byte [rsp + 0x48], cl
mov rcx, rax
shr rcx, 0x1c
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x49], cl
shr rax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x4a], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x4b], r15b
mov eax, 4
xor r13d, r13d
lea r8, [rsp + rax]
add r8, 0x48
mov rcx, rbx
mov rdx, r14
call fcn.14009cf20
jmp 0x140004af0
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe0]
inc rax
mov rcx, qword [rsp + 0x88]
cmp rax, 1
je 0x140004cd7
lea r12, [rax - 1]
cmp byte [rdx + rax - 2], 0
mov rax, r12
je 0x140004cc1
jmp 0x140004cda
xor r12d, r12d
cmp byte [rsp + 0x70], 7
jne 0x140005046
mov qword [rsp + 0x98], r8
mov eax, 1
lea rcx, [rsp + 0x48]
mov qword [rcx], rax
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
mov qword [rsp + 0x20], rax
lea r9, [0x140104a21]
lea r14, [rsp + 0xd0]
mov rcx, r14
mov qword [rsp + 0x90], rdx
mov r8, r12
call fcn.14001e900
mov rax, qword [r14]
mov qword [rsp + 0xc0], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [r14 + 0x18]
mov rcx, qword [r14 + 0x20]
mov qword [rsp + 0xc8], rcx
mov r15, qword [r14 + 0x28]
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x40], rcx
mov rbx, qword [r14 + 0x48]
mov rbp, qword [r14 + 0x50]
mov rsi, qword [r14 + 0x58]
mov r14, qword [r14 + 0x60]
mov rcx, rax
and rcx, 0xffffffffffffff00
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa0], rax
mov r10d, eax
xor eax, eax
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0xc0], 0
je 0x140004f0e
movzx r9d, r10b
or r9, qword [rsp + 0xb0]
mov rax, r14
sub rax, r9
mov qword [rsp + 0xa8], rax
mov r13, qword [rsp + 0x68]
neg r13
mov rdx, qword [rsp + 0x40]
mov rax, rdx
mov qword [rsp + 0x60], rdx
mov byte [rsp + 0x3f], r10b
mov r8, r15
lea rax, [r8 + r14]
dec rax
cmp rax, rbp
jae 0x140005053
lea r15, [r8 + r14]
movzx eax, byte [rbx + rax]
mov rcx, qword [rsp + 0xc8]
bt rcx, rax
jae 0x140004eba
mov rcx, qword [rsp + 0x68]
cmp rcx, rdx
mov rax, rdx
cmova rax, rcx
cmp qword [rsp + 0x40], 0xffffffffffffffff
cmove rax, rcx
lea r10, [rbx + r8]
cmp rax, r14
jae 0x140004e54
lea rcx, [r8 + rax]
cmp rcx, rbp
jae 0x1400050de
lea rcx, [rax + 1]
mov r11b, byte [rsi + rax]
cmp r11b, byte [r10 + rax]
mov rax, rcx
je 0x140004e1a
mov r15, r8
add r15, r13
lea r8, [r15 + rcx]
cmp qword [rsp + 0x40], 0xffffffffffffffff
je 0x140004dd3
jmp 0x140004edc
cmp qword [rsp + 0x40], 0xffffffffffffffff
mov r10, rdx
mov eax, 0
cmove r10, rax
mov rcx, qword [rsp + 0x68]
cmp r10, rcx
jae 0x140004eed
dec rcx
cmp rcx, r14
jae 0x1400050e7
lea rax, [rcx + r8]
cmp rax, rbp
jae 0x1400050f3
mov r11b, byte [rsi + rcx]
cmp r11b, byte [rbx + rax]
je 0x140004e6b
add r8, r9
cmp qword [rsp + 0x40], 0xffffffffffffffff
je 0x140004dd3
mov rdx, qword [rsp + 0xa8]
mov rax, rdx
mov qword [rsp + 0x60], rdx
mov r15, r8
jmp 0x140004dd0
cmp qword [rsp + 0x40], 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x60]
cmovne rcx, rax
mov qword [rsp + 0x60], rcx
cmovne rdx, rax
jmp 0x140004dd0
add r15, rcx
xor eax, eax
mov qword [rsp + 0x60], rax
xor edx, edx
jmp 0x140004dd0
cmp qword [rsp + 0x40], 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x60]
cmovne rcx, rax
mov r13, r15
mov qword [rsp + 0x40], rcx
jmp 0x140005002
test dword [rsp + 0xa0], 0xff0000
jne 0x140005053
mov r13, qword [rsp + 0x68]
mov rax, rbp
test r13, r13
je 0x140004f46
mov rax, rbp
sub rax, r13
jbe 0x140004f40
cmp byte [rbx + r13], 0xbf
jg 0x140004f46
jmp 0x140005107
jne 0x140005107
test rax, rax
je 0x140004fec
mov dl, byte [rbx + r13]
movzx eax, dl
test al, al
jns 0x140004fab
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rbx + r13 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140004f9c
movzx eax, byte [rbx + r13 + 2]
shl r8d, 6
and eax, 0x3f
or eax, r8d
cmp dl, 0xf0
jb 0x140004fa6
movzx edx, byte [rbx + r13 + 3]
and ecx, 7
shl ecx, 0x12
shl eax, 6
and edx, 0x3f
or edx, eax
or edx, ecx
mov eax, edx
jmp 0x140004fab
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140004fab
shl ecx, 0xc
or eax, ecx
test r10b, r10b
jne 0x140004ff1
cmp eax, 0x110000
je 0x140005053
mov ecx, 1
cmp eax, 0x80
jb 0x140004fe1
mov ecx, 2
cmp eax, 0x800
jb 0x140004fe1
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
mov r10b, 1
jmp 0x140004f24
test r10b, r10b
je 0x140005053
xor r10b, 1
mov byte [rsp + 0x3f], r10b
mov qword [rsp + 0x68], r13
mov r8, r13
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
add rdx, rax
add r8, rax
lea rcx, [rsp + 0x48]
call fcn.14009cf20
lea rcx, [rsp + 0x48]
lea rdx, [0x140104a20]
lea r8, [0x140104a21]
call fcn.14009cf20
mov qword [rsp + 0x78], r13
mov r10b, byte [rsp + 0x3f]
jmp 0x140004d8d
mov qword [rcx], rdx
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], r12
jmp 0x1400050a6
mov rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
add rdx, rsi
add r12, rsi
lea rbx, [rsp + 0x48]
mov rcx, rbx
mov r8, r12
call fcn.14009cf20
mov rax, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x1400050a6
mov edx, 1
mov rcx, rsi
call fcn.140004352
cmp byte [rsp + 0x70], 0xc
mov rsi, qword [rsp + 0xb8]
je 0x140004a4f
jmp 0x1400050ce
movabs rax, 0xde00000002
mov qword [rbp + 8], rax
and qword [rbp], 0
mov rcx, rdi
mov rdx, rsi
call fcn.1400351e0
jmp 0x140004a4f
lea r8, str._rustc_5680fa18feaa87f3ff04063800aec256c3d4b4belibrarycore_src_strpattern.rs
jmp 0x1400050fd
lea r8, str._rustc_5680fa18feaa87f3ff04063800aec256c3d4b4belibrarycore_src_strpattern.rs
mov rdx, r14
jmp 0x140005100
lea r8, str._rustc_5680fa18feaa87f3ff04063800aec256c3d4b4belibrarycore_src_strpattern.rs
mov rcx, rax
mov rdx, rbp
call fcn.1400cd730
ud2
lea rax, str._rustc_5680fa18feaa87f3ff04063800aec256c3d4b4belibrarycore_src_strpattern.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rbp
mov r8, r13
mov r9, rbp
call fcn.1400cdd60
ud2