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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0xb0
mov rax, qword [0x140080568]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r14, qword [rbp + 0x7f]
movsxd rsi, edx
test edx, edx
je 0x14000f3d8
cmp esi, 0x80
jg 0x14000f3d8
mov ebx, 0x400
cmp r8d, ebx
jg 0x14000f3d8
test r8d, r8d
cmovne ebx, r8d
test r9d, 0xffffffef
je 0x14000f046
mov eax, 4
jmp 0x14000f3dd
mov qword [rsp + 0xd0], rdi
lfence
test edx, edx
jle 0x14000f064
mov rdx, rcx
mov r8, rsi
lea rcx, [rbp - 0x51]
call fcn.14004ac00
lea r10, [0x140065280]
cmp esi, 0x80
jge 0x14000f0ba
cmp rsi, 0x80
jge 0x14000f0ba
lfence
mov rax, rsi
nop dword [rax]
nop word [rax + rax]
mov rcx, rax
sub rcx, rsi
movzx edx, byte [rbp + rcx - 0x51]
movzx ecx, byte [rbp + rax - 0x52]
add rdx, rcx
movzx ecx, dl
movzx ecx, byte [rcx + r10]
mov byte [rbp + rax - 0x51], cl
inc rax
cmp rax, 0x80
jl 0x14000f090
mov rdi, qword [rsp + 0xd0]
lea r8d, [rbx + 7]
mov eax, pe_nt_image_headers64
shr r8d, 3
sub eax, r8d
lea rdx, [rbp - 0x51]
add rdx, rax
neg ebx
and ebx, 7
mov eax, 0xff
movzx ecx, bl
mov r9d, 0x7f
sar eax, cl
mov ecx, eax
movzx eax, byte [rdx]
and rcx, rax
movzx eax, byte [rcx + r10]
mov byte [rdx], al
mov edx, r9d
sub rdx, r8
js 0x14000f132
lfence
nop dword [rax + rax]
mov eax, r9d
dec r9d
movzx ecx, byte [rbp + rax - 0x51]
movzx eax, byte [rbp + rdx - 0x50]
xor rcx, rax
movzx eax, byte [rcx + r10]
mov byte [rbp + rdx - 0x51], al
sub rdx, 1
jns 0x14000f110
xor r8d, r8d
lea rdx, [r14 + 8]
nop dword [rax]
movzx eax, byte [rbp + r8*2 - 0x51]
movzx ecx, byte [rbp + r8*2 - 0x50]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x4f]
mov dword [rdx - 8], ecx
movzx ecx, byte [rbp + r8*2 - 0x4e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x4d]
mov dword [rdx - 4], ecx
movzx ecx, byte [rbp + r8*2 - 0x4c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x4b]
mov dword [rdx], ecx
movzx ecx, byte [rbp + r8*2 - 0x4a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x49]
mov dword [rdx + 4], ecx
movzx ecx, byte [rbp + r8*2 - 0x48]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x47]
mov dword [rdx + 8], ecx
movzx ecx, byte [rbp + r8*2 - 0x46]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x45]
mov dword [rdx + 0xc], ecx
movzx ecx, byte [rbp + r8*2 - 0x44]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x43]
mov dword [rdx + 0x10], ecx
movzx ecx, byte [rbp + r8*2 - 0x42]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x41]
mov dword [rdx + 0x14], ecx
movzx ecx, byte [rbp + r8*2 - 0x40]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x3f]
mov dword [rdx + 0x18], ecx
movzx ecx, byte [rbp + r8*2 - 0x3e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x3d]
mov dword [rdx + 0x1c], ecx
movzx ecx, byte [rbp + r8*2 - 0x3c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x3b]
mov dword [rdx + 0x20], ecx
movzx ecx, byte [rbp + r8*2 - 0x3a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x39]
mov dword [rdx + 0x24], ecx
movzx ecx, byte [rbp + r8*2 - 0x38]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x37]
mov dword [rdx + 0x28], ecx
movzx ecx, byte [rbp + r8*2 - 0x36]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x35]
mov dword [rdx + 0x2c], ecx
movzx ecx, byte [rbp + r8*2 - 0x34]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x33]
mov dword [rdx + 0x30], ecx
movzx ecx, byte [rbp + r8*2 - 0x32]
shl ecx, 8
add ecx, eax
mov dword [rdx + 0x34], ecx
movzx ecx, byte [rbp + r8*2 - 0x30]
shl ecx, 8
lea rdx, [rdx + 0x80]
movzx eax, byte [rbp + r8*2 - 0x31]
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x2f]
mov dword [rdx - 0x48], ecx
movzx ecx, byte [rbp + r8*2 - 0x2e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x2d]
mov dword [rdx - 0x44], ecx
movzx ecx, byte [rbp + r8*2 - 0x2c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x2b]
mov dword [rdx - 0x40], ecx
movzx ecx, byte [rbp + r8*2 - 0x2a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x29]
mov dword [rdx - 0x3c], ecx
movzx ecx, byte [rbp + r8*2 - 0x28]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x27]
mov dword [rdx - 0x38], ecx
movzx ecx, byte [rbp + r8*2 - 0x26]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x25]
mov dword [rdx - 0x34], ecx
movzx ecx, byte [rbp + r8*2 - 0x24]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x23]
mov dword [rdx - 0x30], ecx
movzx ecx, byte [rbp + r8*2 - 0x22]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x21]
mov dword [rdx - 0x2c], ecx
movzx ecx, byte [rbp + r8*2 - 0x20]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x1f]
mov dword [rdx - 0x28], ecx
movzx ecx, byte [rbp + r8*2 - 0x1e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x1d]
mov dword [rdx - 0x24], ecx
movzx ecx, byte [rbp + r8*2 - 0x1c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x1b]
mov dword [rdx - 0x20], ecx
movzx ecx, byte [rbp + r8*2 - 0x1a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x19]
mov dword [rdx - 0x1c], ecx
movzx ecx, byte [rbp + r8*2 - 0x18]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x17]
mov dword [rdx - 0x18], ecx
movzx ecx, byte [rbp + r8*2 - 0x16]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x15]
mov dword [rdx - 0x14], ecx
movzx ecx, byte [rbp + r8*2 - 0x14]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + r8*2 - 0x13]
mov dword [rdx - 0x10], ecx
movzx ecx, byte [rbp + r8*2 - 0x12]
shl ecx, 8
add ecx, eax
mov dword [rdx - 0xc], ecx
add r8, 0x20
cmp r8, 0x40
jl 0x14000f140
xor eax, eax
jmp 0x14000f3dd
mov eax, 3
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14004ab20
mov rbx, qword [rsp + 0xe8]
add rsp, 0xb0
pop r14
pop rsi
pop rbp
ret