Function at 0x140063e10
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
cmp rdx, 2
jb 0x140064242
lea rax, [rdx + 0x10]
cmp rax, r9
ja 0x14006425b
mov rdi, rcx
mov r12, rdx
shr r12, 1
mov r15, r12
shl r15, 5
lea rbx, [rcx + r15]
add r15, r8
cmp rdx, 7
mov qword [rbp - 0x10], r15
jbe 0x140063e95
mov rcx, rdi
mov r14, rdx
mov rdx, r8
mov rsi, r8
call fcn.1400630a0
mov rcx, rbx
mov rdx, r15
call fcn.1400630a0
mov rdx, r14
mov r8, rsi
mov r14d, 4
jmp 0x140063ebb
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
mov r14d, 1
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x40], 2
mov rax, rdx
mov qword [rbp + 8], rdx
mov r9, rdx
sub r9, r12
mov eax, r14d
shl eax, 5
mov qword [rbp - 0x18], rax
mov eax, 2
xor ecx, ecx
mov qword [rbp - 8], r8
mov qword [rbp], rdi
mov qword [rbp + 0x18], r12
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r9
jmp 0x140063f35
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov r8, qword [rbp - 8]
mov rdi, qword [rbp]
mov r12, qword [rbp + 0x18]
mov r14, qword [rbp - 0x28]
mov r9, qword [rbp - 0x20]
cmp rax, rcx
je 0x1400640bf
lea rdx, [rcx + 1]
mov qword [rbp - 0x48], rdx
mov rsi, qword [rbp + rcx*8 - 0x58]
test rsi, rsi
mov r10, r9
cmove r10, r12
mov rcx, rdx
mov qword [rbp + 0x10], r10
cmp r14, r10
jae 0x140063f2c
shl rsi, 5
lea rax, [rdi + rsi]
mov qword [rbp - 0x38], rax
add rsi, r8
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x28], rax
jmp 0x140063fb6
mov r15, rsi
mov rax, qword [rbp - 0x30]
mov qword [r15], rax
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rdi
mov byte [r15 + 0x18], r12b
mov eax, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x23]
mov dword [r15 + 0x19], eax
mov dword [r15 + 0x1c], ecx
inc r14
add qword [rbp + 0x28], 0x20
cmp r14, qword [rbp + 0x10]
je 0x140063f10
mov r15, r14
shl r15, 5
mov rax, qword [rbp - 0x38]
movups xmm0, xmmword [rax + r15]
movups xmm1, xmmword [rax + r15 + 0x10]
movups xmmword [rsi + r15], xmm0
movups xmmword [rsi + r15 + 0x10], xmm1
mov rbx, qword [rsi + r15 + 8]
mov rdi, qword [rsi + r15 + 0x10]
mov rdx, qword [rsi + r15 - 0x18]
mov r8, qword [rsi + r15 - 0x10]
mov r13, rdi
sub r13, r8
cmovb r8, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r13, rax
movzx r12d, byte [rsi + r15 + 0x18]
mov eax, r12d
sub al, byte [rsi + r15 - 8]
xor ecx, ecx
cmp al, 0xff
sete cl
xor eax, eax
test r13, r13
sets al
cmovne ecx, eax
cmp cl, 1
jne 0x140063fa4
add r15, rsi
mov rax, qword [r15]
mov qword [rbp - 0x30], rax
mov eax, dword [r15 + 0x1c]
mov dword [rbp + 0x23], eax
mov eax, dword [r15 + 0x19]
mov dword [rbp + 0x20], eax
mov r15, qword [rbp + 0x28]
nop word [rax + rax]
movups xmm0, xmmword [rsi + r15 - 0x20]
movups xmm1, xmmword [rsi + r15 - 0x10]
movups xmmword [rsi + r15 + 0x10], xmm1
movups xmmword [rsi + r15], xmm0
cmp r15, 0x20
je 0x140063f80
mov rdx, qword [rsi + r15 - 0x38]
mov r8, qword [rsi + r15 - 0x30]
mov r13, rdi
sub r13, r8
cmovb r8, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r13, rax
mov eax, r12d
sub al, byte [rsi + r15 - 0x28]
xor ecx, ecx
cmp al, 0xff
sete cl
xor eax, eax
test r13, r13
sets al
cmovne ecx, eax
add r15, 0xffffffffffffffe0
test cl, cl
jne 0x140064050
add r15, rsi
jmp 0x140063f83
mov rcx, qword [rbp - 0x10]
lea rsi, [rcx - 0x20]
mov rax, qword [rbp + 8]
shl rax, 5
lea r15, [r8 + rax]
add r15, 0xffffffffffffffe0
mov qword [rbp + 0x10], rax
lea r9, [rdi + rax]
add r9, 0xffffffffffffffe0
mov rax, r8
mov r8, rcx
mov rbx, rdi
nop dword [rax]
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x18], r12
mov rdi, r8
mov r14, rax
mov rcx, qword [r8 + 8]
mov rax, qword [r8 + 0x10]
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov r12, rax
sub r12, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r12, rax
movzx eax, byte [rdi + 0x18]
sub al, byte [r14 + 0x18]
xor r13d, r13d
cmp al, 0xff
sete r13b
xor eax, eax
test r12, r12
sets al
cmovne r13d, eax
test r13b, r13b
mov rax, r14
cmovne rax, rdi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov rcx, qword [r15 + 8]
mov rax, qword [r15 + 0x10]
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov r12, rax
sub r12, r8
cmovb r8, rax
call sub.VCRUNTIME140.dll_memcmp
mov r9, qword [rbp + 0x28]
cdqe
test eax, eax
cmovne r12, rax
add rbx, 0x20
movzx r8d, r13b
xor r13b, 1
movzx eax, r13b
shl eax, 5
add rax, r14
shl r8d, 5
add r8, rdi
movzx ecx, byte [r15 + 0x18]
sub cl, byte [rsi + 0x18]
xor edx, edx
cmp cl, 0xff
sete dl
xor ecx, ecx
test r12, r12
mov r12, qword [rbp + 0x18]
sets cl
cmovne edx, ecx
test dl, dl
mov rcx, r15
cmovne rcx, rsi
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
movzx ecx, dl
shl ecx, 5
add r15, rcx
add r15, 0xffffffffffffffe0
sub rsi, rcx
add r9, 0xffffffffffffffe0
dec r12
jne 0x1400640f0
add rsi, 0x20
test byte [rbp + 8], 1
je 0x140064234
xor ecx, ecx
xor edx, edx
cmp rax, rsi
setae cl
setb dl
mov r9, r8
cmovb r8, rax
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
mov r8, r9
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
shl edx, 5
add rax, rdx
shl ecx, 5
add r8, rcx
cmp rax, rsi
jne 0x140064256
add r15, 0x20
cmp r8, r15
jne 0x140064256
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140128e30
ud2