Function at 0x1400a0af0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1400e9010]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xor r12d, r12d
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], r12
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r12w
jne 0x1400a0b31
lea rcx, [rbp - 0x29]
call fcn.14001eb50
nop
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rax, qword [rbp - 0x29]
mov ecx, 0x23
mov word [rax], cx
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rax, qword [rbp - 0x29]
mov word [rax + 2], cx
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rax, qword [rbp - 0x29]
mov word [rax + 6], cx
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], r12
mov qword [rbp + 0x17], r12
lea r8d, [rcx - 0x22]
lea rdx, [0x1400c3368]
lea rcx, [rbp - 1]
call fcn.14001eb50
nop
lea r11, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r11, qword [rbp - 1]
lea rsi, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rsi, qword [rbp - 0x29]
mov rbx, qword [rbp + 0xf]
mov rax, qword [rbp - 0x19]
cmp rbx, rax
ja 0x1400a0c79
sub rax, rbx
test rbx, rbx
jne 0x1400a0be0
mov rdx, r12
jmp 0x1400a0c64
lea rdi, [rax + 1]
lea rdi, [rsi + rdi*2]
mov rdx, rsi
movzx r10d, word [r11]
nop
mov rax, rdi
sub rax, rdx
sar rax, 1
mov rcx, r12
je 0x1400a0c1a
cmp word [rdx], r10w
je 0x1400a0c17
cmp rax, 1
je 0x1400a0c1a
dec rax
add rdx, 2
cmp word [rdx], r10w
jne 0x1400a0c04
mov rcx, rdx
mov rdx, rcx
test rcx, rcx
je 0x1400a0c79
mov r8, rbx
mov rcx, r11
test rbx, rbx
je 0x1400a0c58
mov r9, rdx
sub r9, r11
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r9 + rcx]
cmp ax, word [rcx]
jne 0x1400a0d69
add rcx, 2
sub r8, 1
jne 0x1400a0c40
sub rdx, rsi
sar rdx, 1
cmp rdx, 0xffffffffffffffff
je 0x1400a0c79
mov qword [rsp + 0x20], 2
mov r8, rbx
lea rcx, [rbp - 0x29]
call fcn.1400a3560
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2f], xmm1
mov r8d, 0x55
lea rdx, str.SYSTEMCurrentControlSetControlDeviceClassese5323777_f976_4f5b_9b55_b94699c46e44
lea rcx, [rbp + 0x1f]
call fcn.14001eb50
nop
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae rdx, qword [rbp - 1]
mov r8, rbx
lea rcx, [rbp + 0x1f]
call fcn.140005380
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rdx, qword [rbp - 0x29]
mov r8, qword [rbp - 0x19]
lea rcx, [rbp + 0x1f]
call fcn.140005380
mov r8d, 0x12
lea rdx, str.Device_Parameters
lea rcx, [rbp + 0x1f]
call fcn.140005380
lea rdx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 8
cmovae rdx, qword [rbp + 0x1f]
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400a0d8b
mov dword [rbp - 0x2d], r12d
mov dword [rbp - 9], 4
mov dword [rbp - 0x31], 4
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x2d]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x31]
xor r8d, r8d
lea rdx, str.FSMEnableMsEffects
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x1400a0d72
xor bl, bl
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400a0d8d
add rdx, 2
jmp 0x1400a0bf0
cmp dword [rbp - 0x31], 4
jne 0x1400a0d5b
cmp dword [rbp - 0x2d], 0
setne bl
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400a0d8d
xor bl, bl
lea rcx, [rbp + 0x1f]
call fcn.140005140
nop
lea rcx, [rbp - 1]
call fcn.140005140
nop
lea rcx, [rbp - 0x29]
call fcn.140005140
movzx eax, bl
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1400a6140
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret