Function at 0x14000a7c0
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp - 0x21], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1400aa008]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r15, rcx
mov r14b, 1
mov qword [rbp - 1], 0xf
xor r12d, r12d
mov qword [rbp - 9], r12
mov byte [rbp - 0x19], r12b
lea r8d, [r12 + 7]
lea rdx, str.MicGain
lea rcx, [rbp - 0x19]
call fcn.140003890
mov rdi, qword [r15 + 0xa8]
mov rsi, qword [rdi + 8]
mov rbx, rdi
cmp byte [rsi + 0x19], r12b
jne 0x14000a863
nop word [rax + rax]
lea rdx, [rsi + 0x20]
lea r8, [rbp - 0x19]
call fcn.14000d300
test al, al
je 0x14000a857
mov rsi, qword [rsi + 0x10]
jmp 0x14000a85d
mov rbx, rsi
mov rsi, qword [rsi]
cmp byte [rsi + 0x19], r12b
je 0x14000a840
cmp rbx, rdi
je 0x14000a879
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x19]
call fcn.14000d300
test al, al
je 0x14000a87c
mov rbx, rdi
mov rax, qword [rbp - 1]
cmp rax, 0x10
jb 0x14000a8d2
inc rax
mov rcx, qword [rbp - 0x19]
cmp rax, 0x1000
jb 0x14000a8cd
test cl, 0x1f
je 0x14000a8a0
call fcn.1400534c4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14000a8af
call fcn.1400534c4
int3
sub rcx, rax
cmp rcx, 8
jae 0x14000a8be
call fcn.1400534c4
int3
cmp rcx, 0x27
jbe 0x14000a8ca
call fcn.1400534c4
int3
mov rcx, rax
call fcn.1400300f0
mov qword [rbp - 1], 0xf
mov qword [rbp - 9], r12
mov byte [rbp - 0x19], r12b
cmp rbx, qword [r15 + 0xa8]
je 0x14000aa27
lea rdx, [rbx + 0x40]
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r12
mov byte [rbp + 7], r12b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 7]
call fcn.1400039c0
nop
lea rcx, [rbp + 7]
cmp qword [rbp + 0x1f], 0x10
cmovae rcx, qword [rbp + 7]
call fcn.1400580bc
imul edi, eax, 0x64
mov dword [rbp - 0x39], edi
mov ebx, 0x80004005
mov qword [rbp - 0x31], r12
lea rax, [rbp - 0x29]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x31]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftSpeech_OneCoreAudioInputMicWiz
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14000a9b0
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.DefaultDefaultMicGain
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
sete r14b
lea rcx, [r15 + 0xa0]
mov r9d, edi
lea r8, str.Write_registry:_MicGain___d
movzx edx, r14b
call fcn.1400097d0
nop
mov rax, qword [rbp + 0x1f]
cmp rax, 0x10
jb 0x14000aa27
inc rax
mov rcx, qword [rbp + 7]
cmp rax, 0x1000
jb 0x14000aa22
test cl, 0x1f
je 0x14000a9f5
call fcn.1400534c4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14000aa04
call fcn.1400534c4
int3
sub rcx, rax
cmp rcx, 8
jae 0x14000aa13
call fcn.1400534c4
int3
cmp rcx, 0x27
jbe 0x14000aa1f
call fcn.1400534c4
int3
mov rcx, rax
call fcn.1400300f0
movzx eax, r14b
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140030090
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret