Function at 0x14003b1c0
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, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov dword [rsp + 0x44], r8d
mov rbp, rdx
mov r15, rcx
mov rax, qword [0x14017b818]
xor rax, rsp
mov qword [rsp + 0xa8], rax
cmp qword [rdx + 0x18], 7
mov rdi, rdx
jbe 0x14003b206
mov rdi, qword [rbp]
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.RegDeleteKeyExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003b288
xor r9d, r9d
mov rcx, r15
mov rdx, rdi
mov r8d, dword [rsp + 0x44]
call rax
test eax, eax
je 0x14003b298
mov qword [rsp + 0x58], 0
mov r9d, dword [rsp + 0x44]
or r9d, 8
cmp qword [rbp + 0x18], 7
mov rdx, rbp
jbe 0x14003b25c
mov rdx, qword [rbp]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor edi, edi
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14003b29f
cmp eax, 2
je 0x14003b752
mov edi, eax
jmp 0x14003b752
mov rcx, r15
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, eax
jne 0x14003b23c
xor edi, edi
jmp 0x14003b752
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov rsi, qword [rbp + 0x10]
cmp qword [rbp + 0x18], 7
mov rdi, rbp
jbe 0x14003b2bc
mov rdi, qword [rbp]
cmp rsi, 7
ja 0x14003b2ee
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 7
mov ebx, 7
mov rax, rsi
jmp 0x14003b374
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmovae rbx, rax
mov rcx, rbx
add rcx, 1
js 0x14003b787
add rcx, rcx
cmp rcx, 0x1000
jb 0x14003b340
cmp rcx, 0xffffffffffffffd9
jae 0x14003b787
add rcx, 0x27
call fcn.14011a310
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14003b348
call fcn.14011a310
mov rcx, rax
mov qword [rsp + 0x80], rcx
lea r8, [rsi + rsi]
add r8, 2
mov rdx, rdi
call fcn.14011d3a0
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov rax, qword [rbp + 0x10]
test rax, rax
mov qword [rsp + 0x48], rbp
lea r12, [rsp + 0x80]
je 0x14003b3e6
mov rcx, r12
cmp rbx, 7
jbe 0x14003b397
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax*2 - 2]
cmp eax, 0x5c
je 0x14003b3e6
cmp rbx, rsi
jne 0x14003b3cd
lea r12, [rsp + 0x80]
mov qword [rsp + 0x20], 1
lea r9, [0x140149b10]
mov edx, 1
mov rcx, r12
call fcn.140009dd0
jmp 0x14003b3e6
lea rax, [rsi + 1]
mov qword [rsp + 0x90], rax
mov word [rcx + rsi*2], 0x5c
mov word [rcx + rsi*2 + 2], 0
mov rsi, qword [rsp + 0x90]
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], 0
lea r14, [rsp + 0x60]
xorps xmm6, xmm6
lea r13, [rsp + 0x80]
nop word [rax + rax]
mov dword [rsp + 0x54], 0x104
mov edx, 0x104
mov rcx, r14
call fcn.14003e260
mov rcx, qword [rsp + 0x58]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
xor edx, edx
mov r8, rax
lea r9, [rsp + 0x54]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14003b642
mov rbx, r15
mov r15d, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x70]
cmp rcx, r15
jae 0x14003b4a0
mov rax, r15
sub rax, rcx
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
sub rdx, rcx
cmp rdx, rax
jae 0x14003b4c0
mov word [rsp + 0x20], 0
mov rcx, r14
mov rdx, rax
mov r9, rax
call fcn.14000e570
jmp 0x14003b4f8
cmp qword [rsp + 0x78], 7
mov rax, r14
jbe 0x14003b4b0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], r15
mov word [rax + r15*2], 0
jmp 0x14003b4f8
mov qword [rsp + 0x70], r15
mov rbp, r14
cmp rdi, 7
jbe 0x14003b4d3
mov rbp, qword [rsp + 0x60]
test rax, rax
je 0x14003b4f0
lea rcx, [rcx*2]
add rcx, rbp
add rax, rax
xor edx, edx
mov r8, rax
call fcn.14011d800
mov word [rbp + r15*2], 0
mov rcx, qword [rsp + 0x90]
mov rax, rsi
sub rax, rcx
mov r15, rbx
jbe 0x14003b540
mov rbp, qword [rsp + 0x98]
mov rdx, rbp
sub rdx, rcx
cmp rdx, rax
jae 0x14003b570
mov word [rsp + 0x20], 0
mov rcx, r13
mov rdx, rax
mov r9, rax
call fcn.14000e570
jmp 0x14003b5a5
cmp qword [rsp + 0x98], 7
mov rax, r12
jbe 0x14003b556
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x90], rsi
mov word [rax + rsi*2], 0
jmp 0x14003b5a5
mov qword [rsp + 0x90], rsi
mov rdi, r12
cmp rbp, 7
jbe 0x14003b589
mov rdi, qword [rsp + 0x80]
test rax, rax
je 0x14003b59f
lea rcx, [rdi + rcx*2]
add rax, rax
xor edx, edx
mov r8, rax
call fcn.14011d800
mov word [rdi + rsi*2], 0
mov r8, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 7
mov rax, r14
jbe 0x14003b5ba
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov rdx, rbx
sub rdx, rcx
cmp rdx, r8
jae 0x14003b5f0
mov qword [rsp + 0x20], r8
mov rcx, r13
mov rdx, r8
mov r9, rax
call fcn.140009dd0
jmp 0x14003b62a
lea rdi, [rcx + r8]
mov qword [rsp + 0x90], rdi
mov rbp, r12
cmp rbx, 7
jbe 0x14003b60d
mov rbp, qword [rsp + 0x80]
lea rcx, [rcx*2]
add rcx, rbp
add r8, r8
mov rdx, rax
call fcn.14011d3a0
mov word [rbp + rdi*2], 0
mov rcx, r15
mov rdx, r13
mov r8d, dword [rsp + 0x44]
call fcn.14003b1c0
test eax, eax
je 0x14003b420
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rsp + 0x48]
cmp qword [rsi + 0x18], 7
jbe 0x14003b65c
mov rsi, qword [rsi]
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.RegDeleteKeyExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003b690
xor r9d, r9d
mov rcx, r15
mov rdx, rsi
mov r8d, dword [rsp + 0x44]
call rax
jmp 0x14003b69c
mov rcx, r15
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov edi, eax
mov rax, qword [rsp + 0x78]
cmp rax, 8
jb 0x14003b6f2
add rax, 1
js 0x14003b780
mov rcx, qword [rsp + 0x60]
add rax, rax
cmp rax, 0x1000
jb 0x14003b6ed
test cl, 0x1f
jne 0x14003b780
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14003b780
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
mov rcx, rax
jae 0x14003b780
call fcn.14011a350
mov rax, qword [rsp + 0x98]
cmp rax, 8
jb 0x14003b73c
add rax, 1
js 0x14003b780
mov rcx, qword [rsp + 0x80]
add rax, rax
cmp rax, 0x1000
jb 0x14003b737
test cl, 0x1f
jne 0x14003b780
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14003b780
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
mov rcx, rax
jae 0x14003b780
call fcn.14011a350
mov qword [rsp + 0x98], 7
mov word [rsp + 0x80], 0
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14011a370
mov eax, edi
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140120f80
ud2
call fcn.14011ae10
ud2