Function at 0x1400031c4
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 rbx, rdx
mov rbp, rcx
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov rdx, r8
mov r8, r9
call fcn.14000395a
lea r13, [rsp + 0x5c]
mov dword [r13], 0x800
lea r14, [rsp + 0x74]
and dword [r14], 0
mov ecx, 0x800
call fcn.14003999b
mov rdi, rax
lea r12, [rsp + 0xd0]
mov qword [r12], rax
mov qword [r12 + 8], rdx
and qword [r12 + 0x10], 0
mov rsi, qword [rsi]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
mov r9, r14
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x140003265
mov edx, dword [rsp + 0x5c]
mov rcx, r12
call fcn.14009cb5c
mov rdi, qword [rsp + 0xd0]
jmp 0x14000322d
mov r15d, eax
test eax, eax
jne 0x140003298
mov r15d, dword [rsp + 0x5c]
mov qword [rsp + 0xe0], r15
mov r14d, dword [rsp + 0x74]
mov rbx, qword [rsp + 0xd8]
cmp r14d, 0xb
jbe 0x1400032dd
movabs r15, 0xde00000002
jmp 0x1400032a8
shl r15, 0x20
or r15, 2
mov rbx, qword [rsp + 0xd8]
mov rcx, rdi
mov rdx, rbx
call fcn.140046f4b
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.140001ca2
mov qword [rbp + 8], r15
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 rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.140001ca2
cmp r14b, 7
ja 0x1400038ef
movzx eax, r14b
mov ecx, 0x86
bt ecx, eax
jae 0x1400038ef
mov dword [rsp + 0x58], r14d
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x80], rbp
mov edx, r15d
shr edx, 1
lea rbx, [rdi + rdx*2]
lea r14, [rsp + 0xd0]
mov qword [r14], 1
xorps xmm0, xmm0
movups xmmword [r14 + 8], xmm0
shr r15d, 2
and edx, 1
add rdx, r15
mov rcx, r14
call fcn.14009cb5c
xor r13d, r13d
movabs r15, 0x100000000
mov r12, rdi
test r13w, r13w
je 0x140003367
mov ecx, ebp
jmp 0x140003379
cmp r12, rbx
je 0x140003508
movzx ecx, word [r12]
add r12, 2
mov eax, ecx
and eax, 0xf800
cmp ax, 0xd800
jne 0x1400033d4
cmp cx, 0xdbff
ja 0x140003458
cmp r12, rbx
je 0x14000345d
movzx eax, word [r12]
add r12, 2
mov edx, eax
add edx, 0x2000
cmp dx, 0xfc00
jb 0x140003472
movzx eax, ax
and ecx, 0x3ff
and eax, 0x3ff
shl rcx, 0x1a
shl rax, 0x10
or rax, rcx
add rax, r15
jmp 0x1400033db
movzx eax, cx
shl rax, 0x10
mov rsi, rax
shr rsi, 0x10
cmp esi, 0x80
jae 0x14000342b
mov rdx, qword [rsp + 0xe0]
cmp rdx, qword [rsp + 0xd8]
jne 0x14000340c
mov rcx, r14
call fcn.1400399e0
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd0]
mov byte [rax + rdx], sil
inc rdx
mov qword [rsp + 0xe0], rdx
xor r13d, r13d
jmp 0x14000335d
and dword [rsp + 0x40], 0
cmp esi, 0x800
jae 0x140003465
shr eax, 0x16
or al, 0xc0
mov byte [rsp + 0x40], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x41], sil
mov eax, 2
jmp 0x1400034eb
xor r13d, r13d
jmp 0x140003479
xor r13d, r13d
mov r12, rbx
jmp 0x140003479
cmp esi, 0x10000
jae 0x1400034af
xor r13d, r13d
jmp 0x140003483
mov r13w, 1
mov ebp, eax
and dword [rsp + 0x40], 0
mov esi, 0xfffd
mov eax, esi
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x42], sil
mov eax, 3
jmp 0x1400034ee
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 sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x43], sil
mov eax, 4
xor r13d, r13d
lea r8, [rsp + rax]
add r8, 0x40
mov rcx, r14
lea rdx, [rsp + 0x40]
call fcn.1400a3a62
jmp 0x14000335d
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe0]
inc rax
mov rcx, qword [rsp + 0x80]
mov r9d, dword [rsp + 0x58]
cmp rax, 1
je 0x140003546
lea r12, [rax - 1]
cmp byte [rdx + rax - 2], 0
mov rax, r12
je 0x140003530
jmp 0x140003549
xor r12d, r12d
cmp r9b, 7
jne 0x140003883
mov qword [rsp + 0x88], r8
mov eax, 1
lea rcx, [rsp + 0x40]
mov qword [rcx], rax
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
mov qword [rsp + 0x20], rax
lea r9, [0x14015e948]
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov qword [rsp + 0x78], rdx
mov r8, r12
call fcn.1400148b0
mov rax, qword [rsi]
mov qword [rsp + 0xb8], rax
mov r13, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0xc0], rcx
mov r14, qword [rsi + 0x28]
mov rdx, qword [rsi + 0x38]
mov rbx, qword [rsi + 0x48]
mov rbp, qword [rsi + 0x50]
mov r15, qword [rsi + 0x58]
mov rsi, qword [rsi + 0x60]
lea rcx, [rsi - 1]
mov qword [rsp + 0xc8], rcx
mov rcx, rax
and rcx, 0xffffffffffffff00
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x37], al
xor eax, eax
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0xb8], 0
je 0x14000377f
movzx eax, byte [rsp + 0x37]
or rax, qword [rsp + 0xa8]
mov rcx, rsi
mov qword [rsp + 0x60], rax
sub rcx, rax
mov qword [rsp + 0x90], rcx
mov rax, rdx
mov qword [rsp + 0x38], rdx
cmp r13, rax
mov r11, rax
cmova r11, r13
mov r10, rdx
cmp rdx, 0xffffffffffffffff
cmove r11, r13
mov r9d, 0
mov qword [rsp + 0xa0], rax
cmovne r9, rax
mov rax, qword [rsp + 0xc8]
add rax, r14
cmp rax, rbp
jae 0x140003890
movzx eax, byte [rbx + rax]
mov rcx, qword [rsp + 0xc0]
bt rcx, rax
jae 0x140003712
lea rdx, [rbx + r14]
mov rcx, r11
cmp rcx, rsi
jae 0x1400036c0
mov rax, rcx
add rcx, r14
cmp rcx, rbp
jae 0x140003912
lea rcx, [rax + 1]
mov r8b, byte [r15 + rax]
cmp r8b, byte [rdx + rax]
je 0x14000368a
sub r14, r13
add r14, rax
inc r14
cmp r10, 0xffffffffffffffff
je 0x140003659
jmp 0x140003743
mov rcx, r13
cmp r9, rcx
jae 0x140003754
dec rcx
cmp rcx, rsi
jae 0x14000391b
lea rax, [rcx + r14]
cmp rax, rbp
jae 0x140003927
mov dl, byte [r15 + rcx]
cmp dl, byte [rbx + rax]
je 0x1400036c3
add r14, qword [rsp + 0x60]
cmp r10, 0xffffffffffffffff
je 0x140003659
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov rdx, r10
jmp 0x140003632
add r14, rsi
mov rdx, r10
cmp r10, 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x38]
cmovne rcx, rax
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xa0]
cmovne rcx, rax
mov rax, rcx
jmp 0x140003632
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov rdx, r10
jmp 0x140003632
cmp r10, 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x38]
cmovne rcx, rax
lea rax, [r14 + rsi]
mov r8, r14
mov qword [rsp + 0x60], rax
mov r14, rax
mov qword [rsp + 0x38], rcx
jmp 0x14000383d
mov qword [rsp + 0x38], rdx
test dword [rsp + 0x98], 0xff0000
jne 0x140003890
mov rax, rbp
test r13, r13
je 0x1400037b7
mov rax, rbp
sub rax, r13
jbe 0x1400037b1
cmp byte [rbx + r13], 0xbf
jg 0x1400037b7
jmp 0x14000393b
jne 0x14000393b
lea rcx, [rbx + r13]
add rax, rcx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xd0]
call fcn.1400a39cc
test eax, eax
mov eax, 0x110000
cmove edx, eax
mov al, byte [rsp + 0x37]
test al, al
jne 0x14000382f
cmp edx, 0x110000
je 0x140003890
mov eax, 1
cmp edx, 0x80
jb 0x140003822
mov eax, 2
cmp edx, 0x800
jb 0x140003822
cmp edx, 0x10000
mov eax, 4
sbb rax, 0
add r13, rax
mov byte [rsp + 0x37], 1
jmp 0x140003795
xor al, 1
mov byte [rsp + 0x37], al
mov qword [rsp + 0x60], r13
mov r8, r13
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
add rdx, rax
add r8, rax
lea rcx, [rsp + 0x40]
call fcn.1400a3a62
lea rcx, [rsp + 0x40]
lea rdx, [0x14015e9b0]
lea r8, [0x14015e9b1]
call fcn.1400a3a62
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x38]
jmp 0x1400035fb
mov qword [rcx], rdx
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], r12
jmp 0x1400038db
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
add rdx, rbx
add r12, rbx
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov r8, r12
call fcn.1400a3a62
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x80]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.140046f4b
mov r9d, dword [rsp + 0x58]
cmp r9b, 0xc
mov rbx, qword [rsp + 0xb0]
je 0x1400032c9
jmp 0x140003902
movabs rax, 0xde00000002
mov qword [rbp + 8], rax
and qword [rbp], 0
mov rcx, rdi
mov rdx, rbx
call fcn.140046f4b
jmp 0x1400032c9
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_strpattern.rsI
jmp 0x140003931
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_strpattern.rsI
mov rdx, rsi
jmp 0x140003934
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_strpattern.rsI
mov rcx, rax
mov rdx, rbp
call fcn.1400a54b0
ud2
lea rax, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_strpattern.rsI
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rbp
mov r8, r13
mov r9, rbp
call fcn.1400a5b60
ud2