Function at 0x140016180
Capabilities:
Delete registry key

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r14
push r15
sub rsp, 0x110
mov rax, qword [0x140036040]
xor rax, rsp
mov qword [rsp + 0x108], rax
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [r11 - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [r11 - 0x48], xmm1
mov r8d, 0x34
lea rdx, str.RegistryMachineSystemCurrentControlSetServices_
lea rcx, [r11 - 0x58]
call fcn.140003400
nop
lea rdi, [0x140036128]
mov rdx, rdi
lea rcx, [rsp + 0xc0]
call fcn.140021db0
mov ebx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rbx + rcx]
cmp dword [0x140036d94], eax
jle 0x140016251
lea rcx, [0x140036d94]
call fcn.140025fb8
cmp dword [0x140036d94], 0xffffffff
jne 0x140016251
lea rcx, [0x140029810]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtUnloadDriver
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140036ef8], rax
lea rcx, [0x140036d94]
call fcn.140025f4c
cmp qword [0x140036ef8], 0
je 0x140016677
lea rdx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 0xf
cmova rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0xe0]
call qword [sym.imp.ntdll.dll_RtlInitAnsiString]
mov r8b, 1
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xf0]
call qword [sym.imp.ntdll.dll_RtlAnsiStringToUnicodeString]
lea rcx, [rsp + 0xf0]
call qword [0x140036ef8]
mov r15d, eax
mov dword [rsp + 0x24], eax
lea rcx, [rsp + 0x68]
call fcn.140015e50
nop
mov rcx, rax
cmp qword [rax + 0x18], 7
jbe 0x1400162cd
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
call fcn.14002566c
movaps xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x90], xmm0
lea r8, [rsp + 0x90]
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140024230
nop
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140021db0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xb0], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14001639a
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016395
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016395
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140025c94
movdqa xmm0, xmmword [0x140030cc0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 7
jbe 0x1400163f5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400163f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400163f0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140025c94
movdqa xmm0, xmmword [0x140030cb0]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r14w
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rbx + rcx]
cmp dword [0x140036d2c], eax
jle 0x140016481
lea rcx, [0x140036d2c]
call fcn.140025fb8
cmp dword [0x140036d2c], 0xffffffff
jne 0x140016481
xorps xmm0, xmm0
movups xmmword [0x140036e10], xmm0
xorps xmm1, xmm1
movdqu xmmword [0x140036e20], xmm1
mov r8d, 0x22
lea rdx, str.SystemCurrentControlSetServices_
lea rbx, [0x140036e10]
mov rcx, rbx
call fcn.140003400
lea rcx, [0x140027840]
call fcn.140025ef0
nop
lea rcx, [0x140036d2c]
call fcn.140025f4c
jmp 0x140016488
lea rbx, [0x140036e10]
cmp qword [0x140036e28], 0xf
cmova rbx, qword [0x140036e10]
lea r8, [rsp + 0x90]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp qword [0x140036140], 0xf
cmova rdi, qword [0x140036128]
mov rdx, rdi
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
jne 0x1400164ec
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x1400164ec
mov sil, 1
jmp 0x1400164ef
xor sil, sil
mov byte [rsp + 0x20], sil
mov rdi, qword [rsp + 0xb0]
lea rbx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rbx, qword [rsp + 0xa0]
call fcn.14002566c
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rdi
lea r8, [rsp + 0x90]
mov edx, eax
lea rcx, [rsp + 0x28]
call fcn.1400152a0
nop
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 7
cmova rcx, qword [rsp + 0x28]
call fcn.1400259f8
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1400166ed
mov rdx, qword [rsp + 0x40]
cmp rdx, 7
jbe 0x1400165ab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400165a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400165a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140025c94
nop
jmp 0x1400165ba
test r15d, r15d
jne 0x1400165c8
test sil, sil
je 0x1400165c8
mov bl, 1
jmp 0x1400165ca
xor bl, bl
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0xf
jbe 0x140016610
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001660b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001660b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140025c94
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], 0xf
mov byte [rsp + 0xa0], 0
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x140016672
inc rdx
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001666d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001666d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140025c94
movzx eax, bl
jmp 0x1400166bf
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x1400166bd
inc rdx
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400166b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400166b8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140025c94
xor al, al
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140025c30
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
shr rdx, 0x20
lea r8, [rsp + 0x28]
call fcn.140015c30
int3