Function at 0x140006180
Capabilities:
Contain obfuscated stackstrings
Delete registry key

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14009b080]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rdi, rdx
xor r13d, r13d
mov dword [rbp + 0x20], r13d
xor eax, eax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
lea edx, [rax + 0x2f]
mov dword [rsp + 0x20], 0x73002f
mov dword [rsp + 0x24], 0x4a005d
mov dword [rsp + 0x28], 0x460048
mov dword [rsp + 0x2c], 0x5b005c
mov dword [rsp + 0x30], 0x56005d
mov dword [rsp + 0x34], 0x420073
mov dword [rsp + 0x38], 0x4c004e
mov dword [rsp + 0x3c], 0x460047
mov dword [rsp + 0x40], 0x4a0041
mov dword [rsp + 0x44], 0x7c0073
mov dword [rsp + 0x48], 0x7c0076
mov dword [rsp + 0x4c], 0x6a007b
mov dword [rsp + 0x50], 0x730062
mov dword [rsp + 0x54], 0x5a006c
mov dword [rsp + 0x58], 0x5d005d
mov dword [rsp + 0x5c], 0x41004a
mov dword [rsp + 0x60], 0x6c005b
mov dword [rsp + 0x64], 0x410040
mov dword [rsp + 0x68], 0x5d005b
mov dword [rsp + 0x6c], 0x430040
mov dword [rsp + 0x70], 0x4a007c
mov dword [rsp + 0x74], 0x73005b
mov dword [rsp + 0x78], 0x4a007c
mov dword [rsp + 0x7c], 0x59005d
mov dword [rbp - 0x80], 0x4c0046
mov dword [rbp - 0x7c], 0x5c004a
mov dword [rbp - 0x78], 0x2f0073
movzx eax, word [0x14009381a]
xor ax, dx
mov word [rbp - 0x74], ax
movzx eax, word [0x14009381c]
xor ax, dx
mov word [rbp - 0x72], ax
movzx eax, word [0x14009381e]
xor ax, dx
mov word [rbp - 0x70], ax
movzx eax, word [0x140093820]
xor ax, dx
mov word [rbp - 0x6e], ax
movzx eax, word [0x140093822]
xor ax, dx
mov word [rbp - 0x6c], ax
movzx eax, word [0x140093824]
xor ax, dx
mov word [rbp - 0x6a], ax
movzx eax, word [0x140093826]
xor ax, dx
mov word [rbp - 0x68], ax
movzx eax, word [0x140093828]
xor ax, dx
mov word [rbp - 0x66], ax
movzx eax, word [0x14009382a]
xor ax, dx
mov word [rbp - 0x64], ax
movzx eax, word [0x14009382c]
xor ax, dx
mov word [rbp - 0x62], ax
movzx eax, word [0x14009382e]
xor ax, dx
mov word [rbp - 0x60], ax
movzx eax, word [0x140093830]
xor ax, dx
mov word [rbp - 0x5e], ax
movzx eax, word [0x140093832]
xor ax, dx
mov word [rbp - 0x5c], ax
movzx eax, word [0x140093834]
xor ax, dx
mov word [rbp - 0x5a], ax
movzx eax, word [0x140093836]
xor ax, dx
mov word [rbp - 0x58], ax
movzx eax, word [str.NtLoadDriver]
xor ax, dx
mov word [rbp - 0x56], ax
movzx eax, word [0x14009383a]
xor ax, dx
mov word [rbp - 0x54], ax
movzx eax, word [0x14009383c]
xor ax, dx
mov word [rbp - 0x52], ax
movzx eax, word [0x14009383e]
xor ax, dx
mov word [rbp - 0x50], ax
movzx eax, word [0x140093840]
xor ax, dx
mov word [rbp - 0x4e], ax
movzx eax, word [0x140093842]
xor ax, dx
mov word [rbp - 0x4c], ax
movzx eax, word [0x140093844]
xor ax, dx
mov word [rbp - 0x4a], ax
movzx eax, word [0x140093846]
xor ax, dx
mov word [rbp - 0x48], ax
movzx eax, word [str.NtUnloadDriver]
xor ax, dx
mov word [rbp - 0x46], ax
movzx eax, word [0x14009384a]
xor ax, dx
mov word [rbp - 0x44], ax
movzx eax, word [0x14009384c]
xor ax, dx
mov word [rbp - 0x42], ax
movzx eax, word [0x14009384e]
xor ax, dx
mov word [rbp - 0x40], ax
movzx eax, word [0x140093850]
xor ax, dx
mov word [rbp - 0x3e], ax
movzx eax, word [0x140093852]
xor ax, dx
mov word [rbp - 0x3c], ax
movzx eax, word [0x140093854]
xor ax, dx
mov word [rbp - 0x3a], ax
movzx eax, word [0x140093856]
xor ax, dx
mov word [rbp - 0x38], ax
movzx eax, word [0x140093858]
xor ax, dx
mov word [rbp - 0x36], ax
movzx eax, word [0x14009385a]
xor ax, dx
mov word [rbp - 0x34], ax
movzx eax, word [0x14009385c]
xor ax, dx
mov word [rbp - 0x32], ax
movzx eax, word [0x14009385e]
xor ax, dx
mov word [rbp - 0x30], ax
movzx eax, word [str.SYSTEMCurrentControlSetServices_]
xor ax, dx
mov word [rbp - 0x2e], ax
movzx eax, word [0x140093862]
xor ax, dx
mov word [rbp - 0x2c], ax
movzx eax, word [0x140093864]
xor ax, dx
mov word [rbp - 0x2a], ax
movzx eax, word [0x140093866]
xor ax, dx
mov word [rbp - 0x28], ax
movzx eax, word [0x140093868]
xor ax, dx
mov word [rbp - 0x26], ax
movzx eax, word [0x14009386a]
xor ax, dx
mov word [rbp - 0x24], ax
movzx eax, word [0x14009386c]
xor ax, dx
mov word [rbp - 0x22], ax
movzx eax, word [0x14009386e]
xor ax, dx
mov word [rbp - 0x20], ax
movzx eax, word [0x140093870]
xor ax, dx
mov word [rbp - 0x1e], ax
movzx eax, word [0x140093872]
xor ax, dx
mov word [rbp - 0x1c], ax
movzx eax, word [0x140093874]
xor ax, dx
mov word [rbp - 0x1a], ax
movzx eax, word [0x140093876]
xor ax, dx
mov word [rbp - 0x18], ax
movzx eax, word [0x140093878]
xor ax, dx
mov word [rbp - 0x16], ax
movzx eax, word [0x14009387a]
xor ax, dx
mov word [rbp - 0x14], ax
movzx eax, word [0x14009387c]
xor ax, dx
mov word [rbp - 0x12], ax
movzx eax, word [0x14009387e]
xor ax, dx
mov word [rbp - 0x10], ax
movzx eax, word [0x140093880]
xor ax, dx
mov word [rbp - 0xe], ax
xor eax, eax
mov word [rbp - 0xc], ax
mov ecx, r13d
nop word [rax + rax]
xor word [rsp + rcx*2 + 0x22], dx
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x24], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x26], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x28], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x2a], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x2c], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x2e], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x30], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x32], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x34], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x36], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x38], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x3a], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x3c], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x3e], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x40], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x42], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x44], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x46], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x48], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x4a], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x4c], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x4e], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x50], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x52], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x54], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x56], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x58], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x5a], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x5c], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x5e], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x60], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x62], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x64], ax
movzx eax, word [rsp + 0x20]
xor word [rsp + rcx*2 + 0x66], ax
add rcx, 0x23
cmp rcx, 0x69
jae 0x1400066fd
movzx edx, word [rsp + 0x20]
jmp 0x140006590
mov word [rbp - 0xc], r13w
mov r8, rdi
lea rdx, [rsp + 0x22]
lea rcx, [rbp + 0x40]
call fcn.14000b850
nop
call fcn.140001ca0
mov rbx, rax
lea rsi, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rsi, qword [rbp + 0x40]
movdqa xmm0, xmmword [0x140094700]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
mov r8d, 0x14
lea rdx, [0x140093820]
lea rcx, [rbp]
call fcn.140008fa0
nop
lea rdx, [rbp]
mov rcx, rbx
call fcn.14000b910
test rax, rax
je 0x14000676d
mov rdx, rsi
lea rcx, [rbp + 0x30]
call rax
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1400067a8
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400067a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000695c
call fcn.1400187f4
call fcn.140001ca0
mov rbx, rax
movdqa xmm0, xmmword [0x140094700]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
mov r8d, 0xe
lea rdx, str.NtUnloadDriver
lea rcx, [rbp]
call fcn.140008fa0
nop
lea rdx, [rbp]
mov rcx, rbx
call fcn.14000b910
test rax, rax
je 0x1400067f3
lea rcx, [rbp + 0x30]
call rax
mov ebx, eax
jmp 0x1400067f8
mov ebx, 0xc0000138
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140006834
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000682e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006962
call fcn.1400187f4
nop
movdqa xmm0, xmmword [0x1400946f0]
movdqu xmmword [rbp + 0x10], xmm0
mov word [rbp], r13w
mov dword [rbp + 0x20], 1
mov rdx, qword [rdi + 0x10]
add rdx, 0x22
lea rcx, [rbp]
call fcn.14000c2f0
mov r8d, 0x22
lea rdx, str.SYSTEMCurrentControlSetServices_
lea rcx, [rbp]
call fcn.14000c3b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140006882
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rbp]
call fcn.14000c3b0
lea rdx, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rdx, qword [rbp]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x1400068eb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400068e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006968
call fcn.1400187f4
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x140006927
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006922
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006956
call fcn.1400187f4
mov eax, ebx
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400187d0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140023b54
nop
call fcn.140023b54
nop
call fcn.140023b54
int3
call fcn.140023b54
int3