Function at 0x14008ac20
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movaps xmmword [rsp + 0xa0], xmm6
mov esi, r8d
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0x98], rax
xor ebp, ebp
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
test eax, eax
je 0x14008af3c
mov qword [rsp + 0x90], 0
mov r9d, esi
or r9d, 8
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
xor ebp, ebp
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14008acae
cmp eax, 2
je 0x14008af3c
mov ebp, eax
jmp 0x14008af3c
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [0x1401e7440]
movaps xmmword [rsp + 0x70], xmm0
lea r14, [rsp + 0x70]
mov rcx, r14
mov rdx, rdi
call fcn.14002d076
movzx eax, byte [rsp + 0x87]
test al, al
js 0x14008ad18
je 0x14008ad99
movzx ecx, al
cmp word [rsp + rcx*2 + 0x6e], 0x5c
je 0x14008ad9b
mov r15d, 0xa
cmp al, 0xa
je 0x14008ad4a
jae 0x14008af8a
inc al
mov byte [rsp + 0x87], al
jmp 0x14008ad7e
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x14008ad92
mov r14, qword [rsp + 0x70]
cmp word [r14 + r15*2 - 2], 0x5c
je 0x14008ad92
movabs rax, 0x7fffffffffffffff
and rax, qword [rsp + 0x80]
dec rax
cmp r15, rax
jne 0x14008ad72
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x70]
mov r8d, 1
mov rdx, r15
mov r9, r15
call fcn.140070b5a
mov r14, qword [rsp + 0x70]
lea rax, [r15 + 1]
mov qword [rsp + 0x78], rax
mov rcx, r15
mov dword [r14 + rcx*2], 0x5c
movzx eax, byte [rsp + 0x87]
test al, al
jns 0x14008ad9b
mov r13, qword [rsp + 0x78]
jmp 0x14008ad9f
xor eax, eax
movzx r13d, al
xorps xmm6, xmm6
movaps xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x60], 0
lea r14, [rsp + 0x50]
lea r15, [rsp + 0x4c]
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
lea r12, [rsp + 0x70]
jmp 0x14008ade3
mov rcx, rbx
mov r8d, esi
call fcn.14008ac20
test eax, eax
jne 0x14008af09
mov dword [rsp + 0x4c], 0x104
mov edx, 0x104
mov rcx, r14
call fcn.14008d880
mov rcx, qword [rsp + 0x90]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
xor edx, edx
mov r8, rax
mov r9, r15
call rbp
test eax, eax
jne 0x14008af09
mov edx, dword [rsp + 0x4c]
movzx eax, byte [rsp + 0x67]
test al, al
js 0x14008ae40
cmp rax, rdx
jb 0x14008ae4a
cmp edx, 0xb
jae 0x14008af8a
mov byte [rsp + 0x67], dl
mov rax, r14
jmp 0x14008ae64
mov rax, qword [rsp + 0x58]
cmp rax, rdx
jae 0x14008ae5a
sub rdx, rax
mov rcx, r14
xor r8d, r8d
call fcn.140071818
jmp 0x14008ae6a
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdx
mov word [rax + rdx*2], 0
movzx eax, byte [rsp + 0x87]
test al, al
js 0x14008aea0
cmp r13, rax
ja 0x14008aeaa
cmp r13, 0xb
jae 0x14008af8a
mov byte [rsp + 0x87], r13b
mov rax, r12
jmp 0x14008aec7
mov rax, qword [rsp + 0x78]
cmp rax, r13
jae 0x14008aebd
mov rdx, r13
sub rdx, rax
mov rcx, r12
xor r8d, r8d
call fcn.140071818
jmp 0x14008aece
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x78], r13
mov word [rax + r13*2], 0
movzx r8d, byte [rsp + 0x67]
test r8b, r8b
cmovs r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
cmovns rdx, r14
mov rcx, r12
call fcn.1400712a8
cmp byte [rsp + 0x87], 0
mov rdx, r12
jns 0x14008add0
mov rdx, qword [rsp + 0x70]
jmp 0x14008add0
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, rbx
mov rdx, rdi
mov r8d, esi
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
mov ebp, eax
cmp byte [rsp + 0x67], 0
js 0x14008af6a
cmp byte [rsp + 0x87], 0
js 0x14008af7e
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14019eb90
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x50]
call fcn.14019d34c
cmp byte [rsp + 0x87], 0
jns 0x14008af3c
mov rcx, qword [rsp + 0x70]
call fcn.14019d34c
jmp 0x14008af3c
lea rax, str.__s_should_never_be_greater_than_or_equal_to_the_short_string_capacity
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s_____min_cap
mov r8d, 0x6c6
call fcn.14003a2a8
int3