Function at 0x14000330d
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 qword [rsp + 0x68], rcx
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov rdx, r8
mov r8, r9
call fcn.140077dc7
lea rsi, [rsp + 0x64]
mov dword [rsi], 0x800
lea r15, [rsp + 0x7c]
and dword [r15], 0
mov ecx, 0x800
call fcn.1400969ef
mov rdi, rdx
lea r13, [rsp + 0xd0]
mov qword [r13], rax
mov qword [r13 + 8], rdx
and qword [r13 + 0x10], 0
mov rbx, qword [rbx + 8]
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 0x1400033ad
mov edx, dword [rsp + 0x64]
mov rcx, r13
call fcn.14000cb3b
mov rdi, qword [rsp + 0xd8]
jmp 0x140003375
mov r12d, eax
movabs rsi, 0x8000000000000000
test eax, eax
jne 0x1400033e8
mov r15d, dword [rsp + 0x64]
mov qword [rsp + 0xe0], r15
mov ebp, dword [rsp + 0x7c]
mov r14, qword [rsp + 0xd0]
cmp ebp, 0xb
jbe 0x140003433
movabs r12, 0xde00000002
jmp 0x1400033f8
shl r12, 0x20
or r12, 2
mov r14, qword [rsp + 0xd0]
mov rcx, r14
mov rdx, rdi
call fcn.14009d863
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.14007f737
mov rdi, r12
mov rax, qword [rsp + 0x68]
mov qword [rax + 8], rdi
mov qword [rax], rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.14007f737
cmp r14, rsi
je 0x140003413
cmp bpl, 7
ja 0x140003a88
movzx eax, bpl
mov ecx, 0x86
bt ecx, eax
jae 0x140003a88
mov dword [rsp + 0x34], ebp
mov qword [rsp + 0x80], r14
mov edx, r15d
shr edx, 1
lea r14, [rsp + 0xd0]
and qword [r14], 0
mov qword [r14 + 8], 1
and qword [r14 + 0x10], 0
lea rsi, [rdi + rdx*2]
shr r15d, 2
and edx, 1
add rdx, r15
mov rcx, r14
call fcn.14009d836
xor r15d, r15d
movabs rbx, 0x100000000
mov r12, rdi
test r15w, r15w
je 0x1400034bc
mov ecx, r13d
jmp 0x1400034ce
cmp r12, rsi
je 0x14000365e
movzx ecx, word [r12]
add r12, 2
mov eax, ecx
and eax, 0xf800
cmp ax, 0xd800
jne 0x140003529
cmp cx, 0xdbff
ja 0x1400035ad
cmp r12, rsi
je 0x1400035b2
movzx eax, word [r12]
add r12, 2
mov edx, eax
add edx, 0x2000
cmp dx, 0xfc00
jb 0x1400035c7
movzx eax, ax
and ecx, 0x3ff
and eax, 0x3ff
shl rcx, 0x1a
shl rax, 0x10
or rax, rcx
add rax, rbx
jmp 0x140003530
movzx eax, cx
shl rax, 0x10
mov rbp, rax
shr rbp, 0x10
cmp ebp, 0x80
jae 0x140003580
mov rdx, qword [rsp + 0xe0]
cmp rdx, qword [rsp + 0xd0]
jne 0x140003561
mov rcx, r14
call fcn.14009d77d
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rsp + 0xe0], rdx
xor r15d, r15d
jmp 0x1400034b1
and dword [rsp + 0x40], 0
cmp ebp, 0x800
jae 0x1400035ba
shr eax, 0x16
or al, 0xc0
mov byte [rsp + 0x40], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x41], bpl
mov eax, 2
jmp 0x140003641
xor r15d, r15d
jmp 0x1400035cf
xor r15d, r15d
mov r12, rsi
jmp 0x1400035cf
cmp ebp, 0x10000
jae 0x140003605
xor r15d, r15d
jmp 0x1400035d9
mov r15w, 1
mov r13d, eax
and dword [rsp + 0x40], 0
mov ebp, 0xfffd
mov eax, ebp
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x42], bpl
mov eax, 3
jmp 0x140003644
mov rcx, rax
shr rcx, 0x22
or cl, 0xf0
mov byte [rsp + 0x40], cl
mov rcx, rax
shr rcx, 0x1c
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x41], cl
shr eax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x42], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x43], bpl
mov eax, 4
xor r15d, r15d
lea r8, [rsp + rax]
add r8, 0x40
mov rcx, r14
lea rdx, [rsp + 0x40]
call fcn.14009d739
jmp 0x1400034b1
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe0]
inc rax
mov r14, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x34]
cmp rax, 1
je 0x14000369c
lea r15, [rax - 1]
cmp byte [rdx + rax - 2], 0
mov rax, r15
je 0x140003686
jmp 0x14000369f
xor r15d, r15d
cmp r8b, 7
jne 0x140003a1e
mov qword [rsp + 0x90], rcx
lea rcx, [rsp + 0x40]
and qword [rcx], 0
mov eax, 1
mov qword [rcx + 8], rax
and qword [rcx + 0x10], 0
mov qword [rsp + 0x20], rax
lea r9, [0x140167c81]
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov qword [rsp + 0x88], rdx
mov r8, r15
call fcn.140014310
mov rax, qword [rsi]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsi + 8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0xc0], rcx
mov rbx, qword [rsi + 0x28]
mov rdx, qword [rsi + 0x38]
mov rbp, qword [rsi + 0x48]
mov r13, qword [rsi + 0x50]
mov r14, qword [rsi + 0x58]
mov r12, qword [rsi + 0x60]
lea rcx, [r12 - 1]
mov qword [rsp + 0xc8], rcx
mov rcx, rax
and rcx, 0xffffffffffffff00
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x98], rax
mov ecx, eax
xor eax, eax
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0xb8], 0
je 0x1400038db
mov byte [rsp + 0x34], cl
movzx eax, cl
or rax, qword [rsp + 0xa8]
mov rcx, r12
mov qword [rsp + 0xb0], rax
sub rcx, rax
mov qword [rsp + 0xa0], rcx
mov rax, rdx
mov qword [rsp + 0x38], rdx
mov r11, rdx
mov rax, qword [rsp + 0x58]
cmp rax, r11
mov rsi, r11
cmova rsi, rax
mov r8, rdx
cmp rdx, 0xffffffffffffffff
cmove rsi, rax
mov r10d, 0
cmovne r10, r11
mov rax, qword [rsp + 0xc8]
add rax, rbx
cmp rax, r13
jae 0x140003a30
movzx eax, byte [rbp + rax]
mov rcx, qword [rsp + 0xc0]
bt rcx, rax
jae 0x14000387d
lea rdx, [rbx + rbp]
mov rcx, rsi
cmp rcx, r12
jae 0x140003825
mov rax, rcx
add rcx, rbx
cmp rcx, r13
jae 0x140003aae
lea rcx, [rax + 1]
mov r9b, byte [r14 + rax]
cmp r9b, byte [rdx + rax]
je 0x1400037f0
sub rbx, qword [rsp + 0x58]
add rbx, rax
inc rbx
cmp r8, 0xffffffffffffffff
je 0x1400037be
jmp 0x1400038a3
mov rcx, qword [rsp + 0x58]
cmp r10, rcx
jae 0x1400038b5
dec rcx
cmp rcx, r12
jae 0x140003ab7
lea rax, [rcx + rbx]
cmp rax, r13
jae 0x140003ac6
mov dl, byte [r14 + rcx]
cmp dl, byte [rbp + rax]
je 0x14000382a
add rbx, qword [rsp + 0xb0]
cmp r8, 0xffffffffffffffff
je 0x1400037be
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0x38], r11
mov rdx, r8
jmp 0x14000379a
add rbx, r12
mov rdx, r8
cmp r8, 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x38]
cmovne rcx, rax
mov qword [rsp + 0x38], rcx
cmovne r11, rax
jmp 0x14000379a
xor eax, eax
mov qword [rsp + 0x38], rax
xor r11d, r11d
mov rdx, r8
jmp 0x14000379a
cmp r8, 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x38]
cmovne rcx, rax
lea rsi, [rbx + r12]
mov r8, rbx
mov rbx, rsi
mov qword [rsp + 0x38], rcx
jmp 0x1400039d6
mov qword [rsp + 0x38], rdx
test dword [rsp + 0x98], 0xff0000
jne 0x140003a30
mov rsi, qword [rsp + 0x58]
mov r9d, ecx
mov rax, r13
test rsi, rsi
je 0x14000391b
mov rax, r13
sub rax, rsi
jbe 0x140003915
cmp byte [rbp + rsi], 0xbf
jg 0x14000391b
jmp 0x140003ad8
jne 0x140003ad8
test rax, rax
mov byte [rsp + 0x34], r9b
je 0x1400039c4
mov dl, byte [rbp + rsi]
movzx eax, dl
test al, al
jns 0x140003983
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rbp + rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140003974
movzx eax, byte [rbp + rsi + 2]
shl r8d, 6
and eax, 0x3f
or eax, r8d
cmp dl, 0xf0
jb 0x14000397e
movzx edx, byte [rbp + rsi + 3]
and ecx, 7
shl ecx, 0x12
shl eax, 6
and edx, 0x3f
or edx, eax
or edx, ecx
mov eax, edx
jmp 0x140003983
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140003983
shl ecx, 0xc
or eax, ecx
test r9b, r9b
jne 0x1400039c9
cmp eax, 0x110000
je 0x140003a30
mov ecx, 1
cmp eax, 0x80
jb 0x1400039b9
mov ecx, 2
cmp eax, 0x800
jb 0x1400039b9
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rsi, rcx
mov r9b, 1
jmp 0x1400038f9
test r9b, r9b
je 0x140003a30
xor byte [rsp + 0x34], 1
mov qword [rsp + 0x58], rsi
mov r8, rsi
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
add rdx, rax
add r8, rax
lea rcx, [rsp + 0x40]
call fcn.14009d739
lea rcx, [rsp + 0x40]
lea rdx, [0x140167c80]
lea r8, [0x140167c81]
call fcn.14009d739
mov qword [rsp + 0x70], rsi
mov rdx, qword [rsp + 0x38]
mov cl, byte [rsp + 0x34]
jmp 0x14000375b
mov rax, qword [rsp + 0x68]
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], r15
jmp 0x140003a9e
mov rsi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
add rdx, rsi
add r15, rsi
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov r8, r15
call fcn.14009d739
mov rax, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
cmp qword [rsp + 0x90], 0
mov r14, qword [rsp + 0x80]
je 0x140003a9e
mov edx, 1
mov rcx, rsi
call fcn.14000a280
jmp 0x140003a9e
movabs rax, 0xde00000002
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 8], rax
mov qword [rcx], rsi
mov rcx, r14
mov rdx, rdi
call fcn.14009d863
jmp 0x14000341f
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_strpattern.rs
jmp 0x140003ad0
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_strpattern.rs
mov rdx, r12
call fcn.14009f210
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_strpattern.rs
mov rcx, rax
mov rdx, r13
call fcn.14009f210
lea rax, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_strpattern.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, r13
mov r8, rsi
mov r9, r13
call fcn.14009f8a0
int3