Function at 0x14005bf90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd38
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xcb0], 0xfffffffffffffffe
mov rbx, rdx
mov rsi, rcx
movups xmm0, xmmword [rdx + 0x38]
movups xmm1, xmmword [rdx + 0x48]
movaps xmmword [rbp + 0xc80], xmm1
movaps xmmword [rbp + 0xc70], xmm0
mov r14, qword [rdx + 0x28]
movzx r15d, byte [rdx + 0x30]
mov qword [rbp + 0xc60], r14
mov byte [rbp + 0xc68], r15b
xorps xmm0, xmm0
movaps xmmword [rbp + 0x590], xmm0
mov qword [rbp + 0x5a0], 0
movups xmmword [rbp + 0x5a8], xmm0
mov qword [rbp + 0x5b8], 0
movaps xmmword [rbp + 0x5c0], xmm0
mov qword [rbp + 0x5d0], 0
movups xmmword [rbp + 0x5d8], xmm0
mov qword [rbp + 0x5e8], 0
movaps xmmword [rbp + 0x5f0], xmm0
mov qword [rbp + 0x600], 0
movups xmmword [rbp + 0x608], xmm0
mov qword [rbp + 0x618], 0
movaps xmmword [rbp + 0x620], xmm0
mov qword [rbp + 0x630], 0
movups xmmword [rbp + 0x638], xmm0
mov qword [rbp + 0x648], 0
movaps xmmword [rbp + 0x650], xmm0
mov qword [rbp + 0x660], 0
movups xmmword [rbp + 0x668], xmm0
mov qword [rbp + 0x678], 0
movaps xmmword [rbp + 0x680], xmm0
mov qword [rbp + 0x690], 0
movups xmmword [rbp + 0x698], xmm0
mov qword [rbp + 0x6a8], 0
movaps xmmword [rbp + 0x6b0], xmm0
mov qword [rbp + 0x6c0], 0
movups xmmword [rbp + 0x6c8], xmm0
mov qword [rbp + 0x6d8], 0
movaps xmmword [rbp + 0x6e0], xmm0
mov qword [rbp + 0x6f0], 0
movups xmmword [rbp + 0x6f8], xmm0
mov qword [rbp + 0x708], 0
movaps xmmword [rbp + 0x710], xmm0
mov qword [rbp + 0x720], 0
movups xmmword [rbp + 0x728], xmm0
mov qword [rbp + 0x738], 0
movaps xmmword [rbp + 0x740], xmm0
mov qword [rbp + 0x750], 0
movups xmmword [rbp + 0x758], xmm0
mov qword [rbp + 0x768], 0
movaps xmmword [rbp + 0x770], xmm0
mov qword [rbp + 0x780], 0
movups xmmword [rbp + 0x788], xmm0
mov qword [rbp + 0x798], 0
movaps xmmword [rbp + 0x7a0], xmm0
mov qword [rbp + 0x7b0], 0
movups xmmword [rbp + 0x7b8], xmm0
mov qword [rbp + 0x7c8], 0
movaps xmmword [rbp + 0x7d0], xmm0
mov qword [rbp + 0x7e0], 0
movups xmmword [rbp + 0x7e8], xmm0
mov qword [rbp + 0x7f8], 0
movaps xmmword [rbp + 0x800], xmm0
mov qword [rbp + 0x810], 0
movups xmmword [rbp + 0x818], xmm0
mov qword [rbp + 0x828], 0
movaps xmmword [rbp + 0x830], xmm0
mov qword [rbp + 0x840], 0
movups xmmword [rbp + 0x848], xmm0
mov qword [rbp + 0x858], 0
movaps xmmword [rbp + 0x860], xmm0
mov qword [rbp + 0x870], 0
movups xmmword [rbp + 0x878], xmm0
mov qword [rbp + 0x888], 0
movaps xmmword [rbp + 0x890], xmm0
mov qword [rbp + 0x8a0], 0
movups xmmword [rbp + 0x8a8], xmm0
mov qword [rbp + 0x8b8], 0
movaps xmmword [rbp + 0x8c0], xmm0
mov qword [rbp + 0x8d0], 0
movups xmmword [rbp + 0x8d8], xmm0
mov qword [rbp + 0x8e8], 0
movaps xmmword [rbp + 0x8f0], xmm0
mov qword [rbp + 0x900], 0
movups xmmword [rbp + 0x908], xmm0
mov qword [rbp + 0x918], 0
movaps xmmword [rbp + 0x920], xmm0
mov qword [rbp + 0x930], 0
movups xmmword [rbp + 0x938], xmm0
mov qword [rbp + 0x948], 0
movaps xmmword [rbp + 0x950], xmm0
mov qword [rbp + 0x960], 0
movups xmmword [rbp + 0x968], xmm0
mov qword [rbp + 0x978], 0
movaps xmmword [rbp + 0x980], xmm0
mov qword [rbp + 0x990], 0
movups xmmword [rbp + 0x998], xmm0
mov qword [rbp + 0x9a8], 0
movaps xmmword [rbp + 0x9b0], xmm0
mov qword [rbp + 0x9c0], 0
movups xmmword [rbp + 0x9c8], xmm0
mov qword [rbp + 0x9d8], 0
movaps xmmword [rbp + 0x9e0], xmm0
mov qword [rbp + 0x9f0], 0
movups xmmword [rbp + 0x9f8], xmm0
mov qword [rbp + 0xa08], 0
movaps xmmword [rbp + 0xa10], xmm0
mov qword [rbp + 0xa20], 0
movups xmmword [rbp + 0xa28], xmm0
mov qword [rbp + 0xa38], 0
movaps xmmword [rbp + 0xa40], xmm0
mov qword [rbp + 0xa50], 0
movups xmmword [rbp + 0xa58], xmm0
mov qword [rbp + 0xa68], 0
movaps xmmword [rbp + 0xa70], xmm0
mov qword [rbp + 0xa80], 0
movups xmmword [rbp + 0xa88], xmm0
mov qword [rbp + 0xa98], 0
movaps xmmword [rbp + 0xaa0], xmm0
mov qword [rbp + 0xab0], 0
movups xmmword [rbp + 0xab8], xmm0
mov qword [rbp + 0xac8], 0
movaps xmmword [rbp + 0xad0], xmm0
mov qword [rbp + 0xae0], 0
movups xmmword [rbp + 0xae8], xmm0
mov qword [rbp + 0xaf8], 0
movaps xmmword [rbp + 0xb00], xmm0
mov qword [rbp + 0xb10], 0
movups xmmword [rbp + 0xb18], xmm0
mov qword [rbp + 0xb28], 0
movaps xmmword [rbp + 0xb30], xmm0
mov qword [rbp + 0xb40], 0
movups xmmword [rbp + 0xb48], xmm0
mov qword [rbp + 0xb58], 0
movaps xmmword [rbp + 0xb60], xmm0
mov qword [rbp + 0xb70], 0
lea rcx, [rbp - 0x60]
lea rdx, [rbp + 0x590]
mov r8d, 0x5e8
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [0x1402b3399]
mov rcx, qword [0x1402b32e8]
test rcx, rcx
mov qword [rbp + 0xca0], r14
jne 0x14005c4a3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005c86a
mov rcx, rax
mov qword [0x1402b32e8], rax
mov r8d, 0x5f0
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14005c86a
mov rdi, rax
mov byte [rbp + 0xca8], r15b
mov qword [rax], 0
mov rcx, rax
add rcx, 8
lea rdx, [rbp - 0x60]
mov r8d, 0x5e8
mov eax, 0x5e8
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x590]
movaps xmm1, xmmword [rbp + 0x5a0]
movaps xmm2, xmmword [rbp + 0x5b0]
movaps xmm3, xmmword [rbp + 0x5c0]
movaps xmmword [rbp + 0xb80], xmm0
movaps xmmword [rbp + 0xb90], xmm1
movaps xmmword [rbp + 0xba0], xmm2
movaps xmmword [rbp + 0xbb0], xmm3
movaps xmm0, xmmword [rbp + 0x5d0]
movaps xmmword [rbp + 0xbc0], xmm0
movaps xmm0, xmmword [rbp + 0x5e0]
movaps xmmword [rbp + 0xbd0], xmm0
movaps xmm0, xmmword [rbp + 0x5f0]
movaps xmmword [rbp + 0xbe0], xmm0
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
movaps xmm2, xmmword [rbp - 0x40]
movaps xmm3, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0xbf0], xmm0
movaps xmmword [rbp + 0xc00], xmm1
movaps xmmword [rbp + 0xc10], xmm2
movaps xmmword [rbp + 0xc20], xmm3
movaps xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0xc30], xmm0
movaps xmm0, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0xc40], xmm0
movaps xmm0, xmmword [rbp]
movaps xmmword [rbp + 0xc50], xmm0
mov rax, rbx
mov rcx, qword [rbx + 0x60]
mov qword [rbp + 0xc98], rcx
movabs rcx, 0x7465646279746573
mov ecx, 0x79746573
invalid
je 0x14005c5f1
mov edx, 0x6e657261
jb 0x14005c612
outsb dx, byte [rsi]
jns 0x14005c61e
movabs r8, 0xded7d4e2d7dedfc6
movabs r9, 0xa60c596fc19fead0
movabs r10, 0xe414a674f0de7325
movabs r11, 0x800000000000000
nop word [rax + rax]
mov r12d, 1
lock xadd qword [0x1402b3200], r12
mov r14, r12
xor r14, rcx
lea r15, [r14 + rdx]
mov rbx, r14
rol rbx, 0x10
xor rbx, r15
lea r15, [rbx + r8]
rol rbx, 0x15
add r14, r9
mov r13, r14
mov ebp, esi
xor r13, r10
rol r14, 0x20
xor r12, r15
add r12, r13
in al, dx
rol r13, 0xd
xor r15, r11
fisttp word [rbp + 0x31]
in eax, 0x49
rol esp, 0x20
invalid
xor r15, rbx
add r14, r15
rol r15, 0x10
xor r15, r14
add r12, r15
rol r15, 0x15
add r14, r13
rol r13, 0x11
xor r15, r12
xor r13, r14
rol r14, 0x20
rol esi, 0x20
xor r12, r11
add r12, r13
add esp, ebp
rol r13, 0xd
xor r13, r12
xor ebp, esp
rol r12, 0x20
xor r14, 0xff
xor esi, 0xff
add r14, r15
rol r15, 0x10
xor r15, r14
xor edi, esi
add r12, r15
rol r15, 0x15
invalid
adc eax, 0x49ee014d
rol ebp, 0x11
invalid
adc dword [rbp + 0x31], ecx
cmc
rol r14, 0x20
invalid
and byte [rbp + 0x31], cl
out 0x4d, eax
add esp, ebp
in al, dx
rol r13, 0xd
xor r13, r12
in eax, 0x49
rol esp, 0x20
add r14, r15
rol r15, 0x10
xor r15, r14
test dword [rbp + 1], 0xc7c149fc
adc eax, 0x49ee014d
rol ebp, 0x11
invalid
xor r13, r14
rol r14, 0x20
xor r15, r12
add r12, r13
rol r13, 0xd
add r14, r15
rol r15, 0x10
xor r15, r14
rol r15, 0x15
xor r13, r12
add r14, r13
rol r13, 0x11
mov r12, r14
rol r12, 0x20
xor r12, r13
xor r12, r15
xor r12, r14
xor esp, esi
je 0x14005c5e0
mov rdx, rax
mov rcx, qword [rax + 0x58]
pop rax
movaps xmm0, xmmword [rbp + 0xc70]
movaps xmm1, xmmword [rbp + 0xc80]
invalid
movups xmmword [rsi + 0x128], xmm1
movups xmmword [rsi + 0x118], xmm0
mov rax, qword [rbp + 0xca0]
mov qword [rsi + 0x138], rax
invalid
movzx eax, byte [rbp + 0xca8]
mov byte [rsi + 0x140], al
mov qword [rsi], 0
mov qword [rsi + 8], rdi
movaps xmm0, xmmword [rbp + 0xb80]
movaps xmm1, xmmword [rbp + 0xb90]
movaps xmm2, xmmword [rbp + 0xba0]
movaps xmm3, xmmword [rbp + 0xbb0]
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi + 0x20], xmm1
movaps xmmword [rsi + 0x30], xmm2
movaps xmmword [rsi + 0x40], xmm3
movaps xmm0, xmmword [rbp + 0xbc0]
movaps xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rbp + 0xbd0]
movaps xmmword [rsi + 0x60], xmm0
movaps xmm0, xmmword [rbp + 0xbe0]
movaps xmmword [rsi + 0x70], xmm0
mov qword [rsi + 0x80], 0
mov qword [rsi + 0x88], rdi
movaps xmm0, xmmword [rbp + 0xbf0]
movaps xmm1, xmmword [rbp + 0xc00]
movaps xmm2, xmmword [rbp + 0xc10]
movaps xmm3, xmmword [rbp + 0xc20]
movaps xmmword [rsi + 0x90], xmm0
movaps xmmword [rsi + 0xa0], xmm1
movaps xmmword [rsi + 0xb0], xmm2
movaps xmmword [rsi + 0xc0], xmm3
movaps xmm0, xmmword [rbp + 0xc30]
movaps xmmword [rsi + 0xd0], xmm0
movaps xmm0, xmmword [rbp + 0xc40]
movaps xmmword [rsi + 0xe0], xmm0
movaps xmm0, xmmword [rbp + 0xc50]
movaps xmmword [rsi + 0xf0], xmm0
mov rax, qword [rbp + 0xc98]
mov qword [rsi + 0x100], rax
mov qword [rsi + 0x108], r12
mov qword [rsi + 0x110], rcx
mov rax, qword [rdx + 0x10]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14005c855
test rax, rax
je 0x14005c855
mov r8, qword [rdx + 0x18]
mov rcx, qword [0x1402b32e8]
xor edx, edx
add rsp, 0xd38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0xd38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0xca8], rbx
mov ecx, 8
mov edx, 0x5f0
call fcn.1401e5b40
ud2