Function at 0x140077700
Capabilities:
Delete registry key
Unload driver

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x140151740]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r15, rcx
xor edi, edi
mov dword [rsp + 0xc0], edi
mov qword [rsp + 0xc8], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], rdi
mov r8d, 0x34
lea rdx, str.RegistryMachineSystemCurrentControlSetServices_
lea rcx, [rsp + 0xc8]
call fcn.140014d70
nop
mov rsi, qword [r15 + 0x18]
lea r14, [r15 + 8]
mov r9, r14
cmp qword [r15 + 0x20], 0xf
jbe 0x140077787
mov r9, qword [r14]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1400777da
lea rax, [rsi + rcx]
mov qword [rsp + 0xe0], rax
lea rbx, [rsp + 0xd0]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0xd0]
add rbx, rcx
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call fcn.1400ff5e0
mov byte [rbx + rsi], 0
jmp 0x1400777f5
mov qword [rsp + 0x20], rsi
movzx r8d, byte [rsp + 0x31]
mov rdx, rsi
lea rcx, [rsp + 0xc8]
call fcn.140014f90
lea rdx, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 0xf
cmova rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x128]
call sub.ntdll.dll_RtlInitAnsiString
mov r8b, 1
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x118]
call sub.ntdll.dll_RtlAnsiStringToUnicodeString
lea rcx, [rsp + 0x118]
call sub.ntdll.dll_NtUnloadDriver
mov dword [rsp + 0x50], eax
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x98]
call fcn.140059e40
nop
mov qword [rsp + 0x40], rdi
lea rsi, [0x140151528]
mov qword [rsp + 0x48], rsi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140076d70
mov ebx, 1
mov dword [rsp + 0xc0], ebx
cmp dword [rsp + 0x40], 0
jne 0x140077c1b
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xf0]
call fcn.14005f550
nop
mov dword [rsp + 0xc0], edi
lea rcx, [rsp + 0x70]
call fcn.1400685e0
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov edx, 0x10
call fcn.140014e60
nop
lea rcx, [rsp + 0x98]
call fcn.1400685e0
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x98], rdi
mov edx, 0x10
call fcn.140014e60
mov ecx, dword [0x140154d20]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x140154228], ecx
jg 0x140077c32
lea rdx, [0x140154208]
cmp qword [0x140154220], 0xf
cmova rdx, qword [0x140154208]
lea r8, [rsp + 0xc0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp qword [r15 + 0x20], 0xf
jbe 0x140077955
mov r14, qword [r14]
mov rdx, r14
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
jne 0x140077980
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x140077980
mov al, 1
jmp 0x140077982
xor al, al
mov byte [rsp + 0x31], al
mov byte [rsp + 0x30], 0
mov eax, edi
mov dword [rsp + 0xc0], eax
cmp eax, 5
jge 0x140077ad1
lea rcx, [rsp + 0xf8]
cmp qword [rsp + 0x110], 7
cmova rcx, qword [rsp + 0xf8]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rsp + 0x138]
call fcn.14007fef0
mov r8d, eax
test eax, eax
jne 0x140077a29
mov edx, dword [rsp + 0x148]
test dl, 1
mov ecx, 0x1ff
mov eax, 0x16d
cmovne ecx, eax
mov dword [rsp + 0x44], ecx
mov eax, edx
shr eax, 0xa
test al, 1
je 0x140077a1e
mov eax, dword [rsp + 0x14c]
cmp eax, 0xa000000c
jne 0x140077a10
mov edx, 4
jmp 0x140077a49
cmp eax, 0xa0000003
jne 0x140077a1e
mov edx, 0xa
jmp 0x140077a49
shr edx, 4
and edx, 1
or edx, 2
jmp 0x140077a49
mov dword [rsp + 0x44], 0xffff
sub eax, 2
je 0x140077a47
sub eax, 1
je 0x140077a47
sub eax, 0x32
je 0x140077a47
cmp eax, 0x46
je 0x140077a47
mov ebx, edi
mov edx, ebx
mov dword [rsp + 0x60], r8d
mov qword [rsp + 0x68], rsi
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x40], xmm0
test edx, edx
je 0x140077aa5
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x48], rsi
cmp edx, 1
je 0x140077aae
lea rcx, [rsp + 0xf8]
cmp qword [rsp + 0x110], 7
cmova rcx, qword [rsp + 0xf8]
call fcn.1400805f0
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x140077c9f
mov byte [rsp + 0x30], 1
jmp 0x140077ad1
test r8d, r8d
jne 0x140077cb7
mov byte [rsp + 0x30], 1
jmp 0x140077ad1
lea rcx, [rsp + 0x118]
call sub.ntdll.dll_RtlFreeUnicodeString
cmp dword [rsp + 0x50], 0
jne 0x140077af7
cmp byte [rsp + 0x31], 0
je 0x140077af7
cmp byte [rsp + 0x30], 0
je 0x140077af7
mov bl, 1
jmp 0x140077af9
xor bl, bl
lea rcx, [rsp + 0xf0]
call fcn.1400685e0
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], rdi
mov edx, 0x10
call fcn.140014e60
nop
lea rcx, [rsp + 0xc8]
call fcn.140015fd0
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0xf
jbe 0x140077bb9
mov r14, qword [rsp + 0xd0]
inc rsi
test r14, r14
jne 0x140077bae
test rsi, rsi
je 0x140077bae
lea rax, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
mov qword [rsp + 0x28], rax
lea rax, [0x14010398c]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x3b3
lea rdx, [0x140103990]
mov ecx, 2
call fcn.140092c20
cmp eax, 1
jne 0x140077b89
int3
mov qword [rsp + 0x20], rdi
mov r9d, 0x3b3
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
lea rdx, [0x140103ac4]
lea rcx, str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.14008d060
mov rdx, rsi
mov rcx, r14
call fcn.140014e60
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], 0xf
mov byte [rsp + 0xd0], 0
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rdi
mov edx, 0x10
call fcn.140014e60
movzx eax, bl
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140081ae0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, str.temp_directory_path
call fcn.140068390
nop
lea rcx, [0x140154228]
call fcn.140082380
cmp dword [0x140154228], 0xffffffff
jne 0x14007791f
mov qword [0x140154200], rdi
xorps xmm0, xmm0
movups xmmword [0x140154208], xmm0
xorps xmm1, xmm1
movdqu xmmword [0x140154218], xmm1
mov r8d, 0x22
lea rdx, str.SystemCurrentControlSetServices_
lea rcx, [0x140154200]
call fcn.140014d70
lea rcx, [0x140102a60]
call fcn.1400822b0
nop
lea rcx, [0x140154228]
call fcn.140082320
nop
jmp 0x14007791f
shr rdx, 0x20
lea r8, [rsp + 0xf0]
lea rcx, str.remove
call fcn.1400683f0
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0x40]
lea rcx, str.exists
call fcn.140068390
int3