Function at 0x140049b10
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 [0x14017b750]
xor rax, rsp
mov qword [rsp + 0xa8], rax
cmp qword [rdx + 0x18], 7
mov rdi, rdx
jbe 0x140049b56
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 0x140049bd8
xor r9d, r9d
mov rcx, r15
mov rdx, rdi
mov r8d, dword [rsp + 0x44]
call rax
test eax, eax
je 0x140049be8
mov qword [rsp + 0x58], 0
mov r9d, dword [rsp + 0x44]
or r9d, 8
cmp qword [rbp + 0x18], 7
mov rdx, rbp
jbe 0x140049bac
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 0x140049bef
cmp eax, 2
je 0x14004a09c
mov edi, eax
jmp 0x14004a09c
mov rcx, r15
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, eax
jne 0x140049b8c
xor edi, edi
jmp 0x14004a09c
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov rsi, qword [rbp + 0x10]
cmp qword [rbp + 0x18], 7
mov rdi, rbp
jbe 0x140049c0c
mov rdi, qword [rbp]
cmp rsi, 7
ja 0x140049c3e
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 0x140049cd5
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmovae rbx, rax
mov rax, rbx
add rax, 1
lea rcx, [rbx + rbx + 2]
mov rdx, 0xffffffffffffffff
cmovs rcx, rdx
cmp rcx, 0x1000
jb 0x140049c98
lea rax, [rcx + 0x27]
cmp rcx, 0xffffffffffffffd8
cmova rax, rdx
mov rcx, rax
call fcn.14011a524
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140049ca9
test rcx, rcx
je 0x140049ca7
call fcn.14011a524
mov rcx, rax
jmp 0x140049ca9
xor ecx, ecx
mov qword [rsp + 0x80], rcx
lea r8, [rsi + rsi]
add r8, 2
mov rdx, rdi
call fcn.14011ea70
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 0x140049d47
mov rcx, r12
cmp rbx, 7
jbe 0x140049cf8
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax*2 - 2]
cmp eax, 0x5c
je 0x140049d47
cmp rbx, rsi
jne 0x140049d2e
lea r12, [rsp + 0x80]
mov qword [rsp + 0x20], 1
lea r9, [0x1401450c0]
mov edx, 1
mov rcx, r12
call fcn.14000a1a2
jmp 0x140049d47
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 dword [rax + rax]
mov dword [rsp + 0x54], 0x104
mov edx, 0x104
mov rcx, r14
call fcn.1400445c0
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 0x140049fa2
mov rbx, r15
mov r15d, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x70]
cmp rcx, r15
jae 0x140049e00
mov rax, r15
sub rax, rcx
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
sub rdx, rcx
cmp rdx, rax
jae 0x140049e20
mov word [rsp + 0x20], 0
mov rcx, r14
mov rdx, rax
mov r9, rax
call fcn.14000eb02
jmp 0x140049e58
cmp qword [rsp + 0x78], 7
mov rax, r14
jbe 0x140049e10
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], r15
mov word [rax + r15*2], 0
jmp 0x140049e58
mov qword [rsp + 0x70], r15
mov rbp, r14
cmp rdi, 7
jbe 0x140049e33
mov rbp, qword [rsp + 0x60]
test rax, rax
je 0x140049e50
lea rcx, [rcx*2]
add rcx, rbp
add rax, rax
xor edx, edx
mov r8, rax
call fcn.14011eed0
mov word [rbp + r15*2], 0
mov rcx, qword [rsp + 0x90]
mov rax, rsi
sub rax, rcx
mov r15, rbx
jbe 0x140049ea0
mov rbp, qword [rsp + 0x98]
mov rdx, rbp
sub rdx, rcx
cmp rdx, rax
jae 0x140049ed0
mov word [rsp + 0x20], 0
mov rcx, r13
mov rdx, rax
mov r9, rax
call fcn.14000eb02
jmp 0x140049f05
cmp qword [rsp + 0x98], 7
mov rax, r12
jbe 0x140049eb6
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x90], rsi
mov word [rax + rsi*2], 0
jmp 0x140049f05
mov qword [rsp + 0x90], rsi
mov rdi, r12
cmp rbp, 7
jbe 0x140049ee9
mov rdi, qword [rsp + 0x80]
test rax, rax
je 0x140049eff
lea rcx, [rdi + rcx*2]
add rax, rax
xor edx, edx
mov r8, rax
call fcn.14011eed0
mov word [rdi + rsi*2], 0
mov r8, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 7
mov rax, r14
jbe 0x140049f1a
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 0x140049f50
mov qword [rsp + 0x20], r8
mov rcx, r13
mov rdx, r8
mov r9, rax
call fcn.14000a1a2
jmp 0x140049f8a
lea rdi, [rcx + r8]
mov qword [rsp + 0x90], rdi
mov rbp, r12
cmp rbx, 7
jbe 0x140049f6d
mov rbp, qword [rsp + 0x80]
lea rcx, [rcx*2]
add rcx, rbp
add r8, r8
mov rdx, rax
call fcn.14011ea70
mov word [rbp + rdi*2], 0
mov rcx, r15
mov rdx, r13
mov r8d, dword [rsp + 0x44]
call fcn.140049b10
test eax, eax
je 0x140049d80
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rsp + 0x48]
cmp qword [rsi + 0x18], 7
jbe 0x140049fbc
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 0x140049ff0
xor r9d, r9d
mov rcx, r15
mov rdx, rsi
mov r8d, dword [rsp + 0x44]
call rax
jmp 0x140049ffc
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 0x14004a046
mov rcx, qword [rsp + 0x60]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14004a041
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14004a0ca
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.14011a568
mov rax, qword [rsp + 0x98]
cmp rax, 8
jb 0x14004a090
mov rcx, qword [rsp + 0x80]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14004a08b
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14004a0ca
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.14011a568
mov qword [rsp + 0x98], 7
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14011a890
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.140128920
ud2