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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov r11d, pe_nt_image_headers64
cmp edx, r11d
mov byte [rcx], 0
mov r10, rcx
cmovle r11d, edx
test r9d, r9d
jle 0x140219923
mov eax, 0x400
mov edi, pe_nt_image_headers64
mov r12d, 0xff
cmp r9d, eax
mov ebx, 0x7f
cmovle eax, r9d
lea r9d, [rax + 7]
mov ecx, eax
sar r9d, 3
neg ecx
sub edi, r9d
and ecx, 7
sub ebx, r9d
movsxd rsi, edi
sar r12d, cl
add rsi, r10
test edx, edx
jle 0x140219941
lea rcx, [r8 + 1]
mov rax, r10
sub rax, rcx
cmp rax, 0xe
jbe 0x14021994f
cmp edx, 7
jle 0x14021994f
cmp edx, 0xf
jle 0x14021996f
movdqu xmm1, xmmword [r8]
mov eax, r11d
shr eax, 4
movups xmmword [r10], xmm1
cmp eax, 1
je 0x140219848
movdqu xmm2, xmmword [r8 + 0x10]
movups xmmword [r10 + 0x10], xmm2
cmp eax, 2
je 0x140219848
movdqu xmm3, xmmword [r8 + 0x20]
movups xmmword [r10 + 0x20], xmm3
cmp eax, 3
je 0x140219848
movdqu xmm4, xmmword [r8 + 0x30]
movups xmmword [r10 + 0x30], xmm4
cmp eax, 4
je 0x140219848
movdqu xmm5, xmmword [r8 + 0x40]
movups xmmword [r10 + 0x40], xmm5
cmp eax, 5
je 0x140219848
movdqu xmm5, xmmword [r8 + 0x50]
movups xmmword [r10 + 0x50], xmm5
cmp eax, 6
je 0x140219848
movdqu xmm4, xmmword [r8 + 0x60]
movups xmmword [r10 + 0x60], xmm4
cmp eax, 8
jne 0x140219848
movdqu xmm0, xmmword [r8 + 0x70]
movups xmmword [r10 + 0x70], xmm0
nop word [rax + rax]
movsxd rbp, r11d
lea r8, [0x1406ad0e0]
movzx eax, byte [r10 + rbp - 1]
cmp edx, 0x7f
jg 0x1402197d7
mov ecx, 0x7f
mov rdx, r10
lea r8, [0x1406ad0e0]
sub ecx, r11d
lea r11, [r10 + rcx + 1]
nop dword [rax]
add al, byte [rdx]
add rdx, 1
movzx eax, al
movzx eax, byte [r8 + rax]
mov byte [rdx + rbp - 1], al
cmp r11, rdx
jne 0x1402197c0
and r12b, byte [rsi]
movzx eax, r12b
movzx eax, byte [r8 + rax]
mov byte [rsi], al
test edi, edi
je 0x140219818
movsxd rcx, ebx
mov ebx, ebx
movsxd r9, r9d
lea r11, [r10 + rcx - 1]
lea rdx, [r10 + rcx]
sub r11, rbx
nop dword [rax]
xor al, byte [rdx + r9]
sub rdx, 1
movzx eax, al
movzx eax, byte [r8 + rax]
mov byte [rdx + 1], al
cmp rdx, r11
jne 0x140219800
mov eax, 0x7f
nop dword [rax]
movzx edx, byte [r10 + rax]
movzx ecx, byte [r10 + rax - 1]
shl edx, 8
or edx, ecx
mov dword [r10 + rax*2 - 2], edx
sub rax, 2
cmp rax, 0xffffffffffffffff
jne 0x140219820
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ecx, r11d
and ecx, 0xfffffff0
mov eax, ecx
cmp ecx, r11d
je 0x140219790
mov ebp, r11d
sub ebp, ecx
lea r13d, [rbp - 1]
cmp r13d, 6
jbe 0x140219883
movq xmm0, qword [r8 + rcx]
movq qword [r10 + rcx], xmm0
mov ecx, ebp
and ecx, 0xfffffff8
add eax, ecx
cmp ecx, ebp
je 0x140219790
movsxd rcx, eax
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 1]
cmp r11d, ecx
jle 0x140219790
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 2]
cmp r11d, ecx
jle 0x140219790
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 3]
cmp r11d, ecx
jle 0x140219790
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 4]
cmp r11d, ecx
jle 0x140219790
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 5]
cmp r11d, ecx
jle 0x140219790
movsxd rcx, ecx
add eax, 6
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
cmp eax, r11d
jge 0x140219790
cdqe
movzx ecx, byte [r8 + rax]
mov byte [r10 + rax], cl
jmp 0x140219790
mov rsi, rcx
mov ebx, 0xffffffff
mov r12d, 0xff
xor edi, edi
mov r9d, pe_nt_image_headers64
test edx, edx
jg 0x1402196c6
movsxd rbp, r11d
movzx eax, byte [r10 + rbp - 1]
jmp 0x1402197a5
xor eax, eax
nop dword [rax]
movzx ecx, byte [r8 + rax]
mov byte [r10 + rax], cl
add rax, 1
cmp r11d, eax
jg 0x140219958
jmp 0x140219790
xor ecx, ecx
xor eax, eax
jmp 0x140219859