Function at 0x140001fe0
Capabilities:
Delete registry key
Set registry value

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xa0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x140024050]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, rcx
lea r8, [rsp + 0x30]
lea rdx, str.SOFTWAREWordcraft_International_Ltd
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x140002040
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [rsp + 0x30]
lea rdx, str.SOFTWAREWordcraft_International_LtdTTEC
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x14000207a
lea rdx, str.Ports
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [rsp + 0x30]
lea rdx, str.SOFTWAREWordcraft_International_LtdTTECPorts
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x1400020a2
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [rsp + 0x30]
lea rdx, str.SOFTWAREWordcraft_International_LtdTTECPorts
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x140002279
lea r12, [rbx + 8]
mov rax, qword [r12 + 8]
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r12
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
xor r13d, r13d
lea r14, [0x14001e570]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
nop
nop
mov rdi, qword [r12 + 8]
test rbp, rbp
je 0x14000210f
cmp rbp, r12
je 0x140002114
call fcn.14000a880
cmp rbx, rdi
je 0x14000226e
test rbp, rbp
jne 0x140002127
call fcn.14000a880
cmp rbx, qword [rbp + 8]
jne 0x140002132
call fcn.14000a880
lea rax, [rbx + 0x18]
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], r13
mov word [rsp + 0x68], 0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x88], r13
test rax, rax
je 0x140002166
lea rdx, [rax + 8]
jmp 0x140002169
mov rdx, r13
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x60]
call fcn.140005ac0
nop
mov rsi, qword [rsp + 0x78]
lea rdi, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rdi, qword [rsp + 0x68]
cmp rbx, qword [rbp + 8]
jne 0x14000219f
call fcn.14000a880
cmp qword [rbx + 0x78], 8
jb 0x1400021ac
mov rdx, qword [rbx + 0x60]
jmp 0x1400021b0
lea rdx, [rbx + 0x60]
lea eax, [rsi + 1]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, 1
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp byte [rbx + 0x89], 0
je 0x1400021e0
call fcn.14000a880
jmp 0x140002239
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x89], 0
jne 0x140002211
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x89], 0
jne 0x140002239
nop
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x89], 0
je 0x140002200
jmp 0x140002239
mov rax, qword [rbx + 8]
cmp byte [rax + 0x89], 0
jne 0x140002236
nop
cmp rbx, qword [rax + 0x10]
jne 0x140002236
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x89], 0
je 0x140002220
mov rbx, rax
mov qword [rsp + 0x58], r14
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140002250
call fcn.140009fa0
cmp qword [rsp + 0x80], 8
jb 0x140002100
mov rcx, qword [rsp + 0x68]
call fcn.140009fa0
jmp 0x140002100
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140009b60
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret