Function at 0x1400142fc
Capabilities:
Delete registry key

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rdi, rcx
lea rcx, [0x140052a1f]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x1400143c1
mov r14, qword [rdi + 0x10]
movabs rcx, 0x7ffffffffffffffe
mov qword [rbp + 8], rcx
sub rcx, r14
cmp rcx, 0x33
jbe 0x1400146c3
mov r12, qword [rdi]
mov rcx, qword [rdi + 0x18]
lea rbx, [rbp - 0x38]
mov qword [rbx], 0
lea r13, [r14 + 0x34]
cmp r13, 8
mov qword [rbp - 0x48], rax
jb 0x1400143c8
mov qword [rbp - 0x40], rcx
mov rax, r13
or rax, 7
movabs r15, 0x7ffffffffffffffe
mov rcx, 0xfffffffffffffffe
cmp rax, r15
ja 0x1400143ba
cmp rax, 0xa
mov r15d, 0xa
cmova r15, rax
lea rcx, [r15 + r15]
add rcx, 2
cmp r15, 0x7ff
jb 0x1400143d4
mov r15, rax
call fcn.140008be5
jmp 0x1400143d9
xor esi, esi
jmp 0x140014691
lea rsi, [rbp + 0x30]
mov r15d, 7
jmp 0x1400143eb
call fcn.14001570c
mov rbx, rax
mov qword [rbp - 0x38], rax
mov rsi, rax
add rsi, 0x68
mov rcx, qword [rbp - 0x40]
cmp rcx, 7
cmovbe r12, rdi
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r15
lea rdx, str.RegistryMachineSystemCurrentControlSetServices_
mov r8d, 0x68
mov rcx, rbx
call fcn.14001b150
lea r8, [r14 + r14]
mov rcx, rsi
mov rdx, r12
call fcn.14001b150
mov word [rbx + r14*2 + 0x68], 0
cmp qword [rbp - 0x20], 7
lea rdx, [rbp - 0x38]
jbe 0x140014436
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp - 0x60]
call sub.ntdll.dll_RtlInitUnicodeString
mov r14, qword [rdi + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, r14
cmp rax, 0x21
jbe 0x1400146c8
mov r12, qword [rdi]
mov rbx, qword [rdi + 0x18]
lea r15, [rbp - 0x18]
mov qword [r15], 0
xorps xmm0, xmm0
movups xmmword [r15 + 0x10], xmm0
lea r13, [r14 + 0x22]
mov eax, 7
mov rsi, r15
cmp r13, 8
jb 0x1400144e0
mov rax, r13
or rax, 7
mov rcx, 0xfffffffffffffffe
movabs rdx, 0x7ffffffffffffffe
cmp rax, rdx
ja 0x1400144c9
cmp rax, 0xa
mov edx, 0xa
cmova rdx, rax
lea rcx, [rdx + rdx]
add rcx, 2
mov qword [rbp + 8], rdx
cmp rdx, 0x7ff
jb 0x1400144d0
mov qword [rbp + 8], rax
call fcn.140008be5
jmp 0x1400144d5
call fcn.14001570c
mov rsi, rax
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 8]
cmp rbx, 7
cmova rdi, r12
lea rbx, [rsi + 0x44]
mov qword [rbp - 8], r13
mov qword [rbp], rax
lea rdx, str.SYSTEMCurrentControlSetServices_
mov r8d, 0x44
mov rcx, rsi
call fcn.14001b150
lea r8, [r14 + r14]
mov rcx, rbx
mov rdx, rdi
call fcn.14001b150
mov word [rsi + r14*2 + 0x44], 0
cmp qword [rbp], 7
jbe 0x14001452b
mov r15, qword [rbp - 0x18]
lea r8, [rbp - 0x50]
mov rcx, 0xffffffff80000002
mov rdx, r15
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x140014554
mov sil, 1
cmp eax, 2
je 0x140014609
jmp 0x140014607
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, str.NtUnloadDriver
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp - 0x60]
call rax
mov esi, eax
lea rcx, [0x140063d60]
lea rdx, str.___NtUnloadDriver_Status_0x
call fcn.14000170f
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, esi
call fcn.140011cb4
mov rcx, rax
call fcn.1400019b7
test esi, esi
je 0x1400145e2
lea rcx, [0x140063d60]
lea rdx, str.____Driver_Unload_Failed__
call fcn.14000170f
mov rcx, rax
call fcn.1400019b7
cmp qword [rbp], 7
jbe 0x1400145f6
mov rdx, qword [rbp - 0x18]
jmp 0x1400145fa
cmp qword [rbp], 7
jbe 0x1400146a7
mov rdx, qword [rbp - 0x18]
jmp 0x1400146ab
lea rdx, [rbp - 0x18]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
xor esi, esi
mov rax, qword [rbp]
cmp rax, 8
jb 0x14001464f
mov rcx, qword [rbp - 0x18]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14001464a
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1400146cd
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.140015750
mov rax, qword [rbp - 0x20]
cmp rax, 8
jb 0x140014691
mov rcx, qword [rbp - 0x38]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14001468c
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1400146cd
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.140015750
mov eax, esi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rdx, [rbp - 0x18]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
test eax, eax
sete sil
jmp 0x140014609
call fcn.140008bd4
call fcn.140008bd4
call fcn.1400215e4
int3