Function at 0x14004b740
Capabilities:
Query or enumerate registry key

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1401df038]
xor rax, rsp
mov qword [rsp + 0x80], rax
lea r14, [rsp + 0x64]
mov dword [r14], 0x104
lea rbx, [rcx + 0x30]
mov edx, 0x104
mov rcx, rbx
call fcn.14007e080
mov edx, dword [rdi + 0x78]
mov rcx, qword [rdi + 0x48]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov r8, rax
mov r9, r14
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
inc dword [rdi + 0x78]
test eax, eax
je 0x14004b805
add rdi, 0x60
mov rcx, rdi
call fcn.14017b5c0
mov qword [rsi], 0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140125960
mov rax, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xorps xmm0, xmm0
lea rax, [rsp + 0x40]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov byte [rax + 0x17], r13b
jmp 0x14004b896
movabs r12, 0x7ffffffffffffff7
movzx r15d, byte [rdi + 0x27]
mov r14, r15
test r15b, r15b
jns 0x14004b820
mov r14, qword [rdi + 0x18]
lea r13, [r14 + 1]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [0x1401af9e0]
movaps xmmword [rsp + 0x40], xmm0
cmp r13, r12
ja 0x14004ba0c
cmp r13, 0xa
jbe 0x14004b7e9
lea rax, [r12 + 5]
and rax, r13
add rax, 4
mov rbp, r13
or rbp, 3
cmp rbp, 0xb
cmove rbp, rax
inc rbp
js 0x14004ba07
lea rcx, [rbp*2]
call fcn.140124db0
lea rcx, [r12 + rbp]
add rcx, 9
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r13
lea rdx, [rdi + 0x10]
test r15b, r15b
jns 0x14004b8a2
mov rdx, qword [rdx]
lea r15, [rax + r14*2]
cmp rdx, rax
jb 0x14004b8b4
cmp r15, rdx
ja 0x14004b9f4
test r14, r14
je 0x14004b8c7
add r14, r14
mov rcx, rax
mov r8, r14
call fcn.140128240
lea rax, [0x1401bb0fa]
cmp r15, rax
ja 0x14004b8e0
lea rcx, [r15 + 2]
cmp rcx, rax
ja 0x14004b9f4
mov dword [r15], 0x5c
lea r14, [rsp + 0x40]
movzx eax, byte [r14 + 0x17]
test al, al
cmovs rax, qword [r14 + 8]
mov rcx, qword [r14]
cmovns rcx, r14
mov word [rcx + rax*2], 0
movzx r8d, byte [rdi + 0x47]
test r8b, r8b
jns 0x14004b917
mov r8, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov rcx, r14
mov rdx, rbx
call fcn.1400d93b0
cmp byte [rsp + 0x57], 0
jns 0x14004b92e
mov r14, qword [rsp + 0x40]
mov ecx, 0x50
call fcn.140124db0
mov rbx, rax
mov ebp, dword [rdi + 0x28]
lea r15, [rsp + 0x68]
mov rcx, r15
mov rdx, r14
call fcn.14015f530
mov rdi, qword [rdi + 8]
lea rax, fcn.14004b390
mov qword [rbx], rax
mov qword [rbx + 8], rdi
mov dword [rbx + 0x10], ebp
lea r14, [rbx + 0x18]
mov rcx, r14
call fcn.14007b1d0
mov rcx, rbx
add rcx, 0x30
cmp byte [r15 + 0x17], 0
js 0x14004b9d0
mov rax, qword [rsp + 0x78]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rcx], xmm0
mov rcx, r14
mov rdx, rdi
mov r8, r15
mov r9d, ebp
call fcn.14007b2d0
mov dword [rbx + 0x48], eax
cmp byte [rsp + 0x7f], 0
jns 0x14004b9b3
mov rcx, qword [rsp + 0x68]
call fcn.140124dec
mov qword [rsi], rbx
cmp byte [rsp + 0x57], 0
jns 0x14004b7c2
mov rcx, qword [rsp + 0x40]
call fcn.140124dec
jmp 0x14004b7c2
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call fcn.1400d91e0
cmp byte [rsp + 0x7f], 0
js 0x14004b9ed
lea r15, [rsp + 0x68]
jmp 0x14004b98e
mov r15, qword [rsp + 0x68]
jmp 0x14004b98e
lea rcx, [0x1401b4107]
lea rdx, str....._third_partylibc_srcinclude__stringchar_traits.h:222:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
call fcn.140160550
call fcn.14015f670
lea rcx, [rsp + 0x40]
call fcn.14015f630
int3