Function at 0x1402ea7c0
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 0x1402eaa83
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 0x1402eaaa1
lea rcx, [r8 + 1]
mov rax, r10
sub rax, rcx
cmp rax, 0xe
jbe 0x1402eaaaf
cmp edx, 7
jle 0x1402eaaaf
cmp edx, 0xf
jle 0x1402eaacf
movdqu xmm1, xmmword [r8]
mov eax, r11d
shr eax, 4
movups xmmword [r10], xmm1
cmp eax, 1
je 0x1402ea9a8
movdqu xmm2, xmmword [r8 + 0x10]
movups xmmword [r10 + 0x10], xmm2
cmp eax, 2
je 0x1402ea9a8
movdqu xmm3, xmmword [r8 + 0x20]
movups xmmword [r10 + 0x20], xmm3
cmp eax, 3
je 0x1402ea9a8
movdqu xmm4, xmmword [r8 + 0x30]
movups xmmword [r10 + 0x30], xmm4
cmp eax, 4
je 0x1402ea9a8
movdqu xmm5, xmmword [r8 + 0x40]
movups xmmword [r10 + 0x40], xmm5
cmp eax, 5
je 0x1402ea9a8
movdqu xmm5, xmmword [r8 + 0x50]
movups xmmword [r10 + 0x50], xmm5
cmp eax, 6
je 0x1402ea9a8
movdqu xmm4, xmmword [r8 + 0x60]
movups xmmword [r10 + 0x60], xmm4
cmp eax, 8
jne 0x1402ea9a8
movdqu xmm0, xmmword [r8 + 0x70]
movups xmmword [r10 + 0x70], xmm0
nop word [rax + rax]
movsxd rbp, r11d
lea r8, [0x1403c5c80]
movzx eax, byte [r10 + rbp - 1]
cmp edx, 0x7f
jg 0x1402ea937
mov ecx, 0x7f
mov rdx, r10
lea r8, [0x1403c5c80]
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 0x1402ea920
and r12b, byte [rsi]
movzx eax, r12b
movzx eax, byte [r8 + rax]
mov byte [rsi], al
test edi, edi
je 0x1402ea978
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 0x1402ea960
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 0x1402ea980
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 0x1402ea8f0
mov ebp, r11d
sub ebp, ecx
lea r13d, [rbp - 1]
cmp r13d, 6
jbe 0x1402ea9e3
movq xmm0, qword [r8 + rcx]
movq qword [r10 + rcx], xmm0
mov ecx, ebp
and ecx, 0xfffffff8
add eax, ecx
cmp ecx, ebp
je 0x1402ea8f0
movsxd rcx, eax
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 1]
cmp r11d, ecx
jle 0x1402ea8f0
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 2]
cmp r11d, ecx
jle 0x1402ea8f0
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 3]
cmp r11d, ecx
jle 0x1402ea8f0
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 4]
cmp r11d, ecx
jle 0x1402ea8f0
movsxd rcx, ecx
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
lea ecx, [rax + 5]
cmp r11d, ecx
jle 0x1402ea8f0
movsxd rcx, ecx
add eax, 6
movzx ebp, byte [r8 + rcx]
mov byte [r10 + rcx], bpl
cmp eax, r11d
jge 0x1402ea8f0
cdqe
movzx ecx, byte [r8 + rax]
mov byte [r10 + rax], cl
jmp 0x1402ea8f0
mov rsi, rcx
mov ebx, 0xffffffff
mov r12d, 0xff
xor edi, edi
mov r9d, pe_nt_image_headers64
test edx, edx
jg 0x1402ea826
movsxd rbp, r11d
movzx eax, byte [r10 + rbp - 1]
jmp 0x1402ea905
xor eax, eax
nop dword [rax]
movzx ecx, byte [r8 + rax]
mov byte [r10 + rax], cl
add rax, 1
cmp r11d, eax
jg 0x1402eaab8
jmp 0x1402ea8f0
xor ecx, ecx
xor eax, eax
jmp 0x1402ea9b9