Function at 0x14000e290
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r11d, dword [0x141522bdc]
mov rbx, rcx
mov ecx, dword [rsp + 0xe8]
mov r14d, edx
mov r12, qword [rsp + 0xf8]
mov edx, 1
sub ecx, edx
add r14d, edx
lea eax, [r11 + r11]
mov dword [rsp + 0xe8], ecx
movsxd r10, eax
sub r11d, edx
movzx eax, word [0x141522c30]
xor edx, edx
mov rdi, r8
movsxd rbp, r14d
mov r8, qword [rsp + 0x108]
mov rsi, r9
mov r13d, dword [rbx + r10*8]
sub r13d, eax
mov dword [0x141522bdc], r11d
mov rax, qword [rbx + rbp*8]
mov qword [rsp + 0xd8], rax
mov eax, ecx
shl eax, 2
movsxd rcx, eax
mov rax, qword [rsp + 0xd0]
movzx r15d, word [r8 + rcx*2]
movzx r10d, word [rax + rcx*2]
mov rax, qword [0x141522b80]
xor r15w, word [0x141522c20]
movzx ecx, byte [rax + 0x62a]
mov eax, dword [0x141522ba0]
add r10d, ecx
add eax, dword [0x141522b64]
cdqe
mov qword [rsp + 0x68], rax
mov eax, r11d
shl eax, 2
mov r11d, 0x1502
movsxd rcx, eax
sub r11, rsi
mov rax, qword [0x141522be0]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xe0], r11
movsxd rax, dword [rax + rcx*4]
movzx ecx, byte [0x141522b61]
mov qword [rsp + 0x60], rax
lea rax, [r9 + r9*2]
movzx eax, word [r8 + rax*2]
div qword [rbx + rcx*8]
mov ebx, 1
add byte [0x141522b62], bl
add r13d, ebx
movsxd rdx, r13d
mov r9, rax
movzx r8d, byte [rdx + rdi]
add word [rax], bx
movzx ecx, word [rax]
mov rax, qword [rsp + 0x100]
movzx ecx, byte [rax + rcx*4]
cmp r8d, ecx
je 0x14000e4d1
mov r11d, dword [rsp + 0xf0]
lea eax, [r14 + 0x18]
mov rdi, qword [rsp + 0xd0]
lea r10, [rdx*4 + 0x5c]
mov rbx, qword [rsp + 0x108]
movsxd rsi, eax
add word [rdi + rbp*2], r8w
mov cl, byte [0x141522b60]
movsxd rax, r8d
add cl, 0xff
movzx eax, word [r9 + rax*2]
cdq
mov byte [0x141522b60], cl
idiv r8d
xor edx, edx
movzx ecx, cl
cdqe
div qword [0x141522c38]
mov qword [0x141522c38], rax
mov eax, dword [0x141522c20]
dec eax
mov dword [0x141522c20], eax
cdqe
mov dword [r12 + rax*4], ecx
movzx eax, word [rbx + rsi*2]
mov rcx, qword [0x141522bb8]
cdq
idiv dword [r10 + rcx]
mov rdx, qword [rsp + 0xd8]
lea r10, [r10 + 4]
xor al, r15b
mov cl, r14b
mov byte [0x141522b61], al
mov eax, 1
sub r11d, eax
add r13d, eax
mov rax, qword [0x141522bb0]
sub cl, byte [rdx + rax*8]
mov eax, 1
xor cl, r11b
add r8d, eax
add byte [0x141522b63], cl
add word [r9], ax
movzx eax, word [r9]
mov rcx, qword [rsp + 0x100]
movzx eax, byte [rcx + rax*4]
cmp r8d, eax
jne 0x14000e400
mov rdi, qword [rsp + 0xc0]
mov ebx, 1
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xe0]
mov edx, dword [0x141522c38]
jmp 0x14000e4f4
mov rcx, qword [0x141522c08]
add rcx, rbx
mov qword [0x141522c08], rcx
add edx, ebx
mov al, byte [r10 + rcx*4]
mov byte [rdi + rcx*2 + 0x1f], al
mov rax, qword [0x141522bf0]
movsxd rcx, dword [r12]
cmp edx, dword [rax + rcx*4]
jg 0x14000e4d9
movzx r8d, word [r9]
mov rax, qword [0x141522c08]
mov r10, qword [rsp + 0xd8]
movzx edx, r15w
mov cl, byte [r10 + rax*8]
mov rax, qword [0x141522b68]
mov dl, byte [rax + rdx*8 + 0x24]
xor dl, cl
sub dl, byte [r8 + 0x16cd]
mov byte [r8 + 0x16cd], dl
add qword [0x141522c08], rbx
mov ebp, dword [0x141522b8c]
add word [r9], bx
mov r8, qword [0x141522c08]
mov rax, qword [0x141522bd0]
sub r8, rbx
mov qword [0x141522c08], r8
movzx edx, word [r9]
lea rcx, [rax + rdx*2]
mov rax, qword [0x141522b70]
movzx esi, byte [rdx + rcx]
lea rcx, [r8 + r8*2]
shl rdx, 5
movsxd rcx, dword [rax + rcx*4]
movzx eax, word [0x141522c40]
and rsi, rcx
mov rdi, qword [rdx + r10]
mov edx, ebp
mov ecx, dword [rsp + 0xe8]
shl eax, 2
mov bl, byte [r11 + rax*4]
mov rax, qword [rsp + 0x108]
movzx r11d, word [rax + r8*2]
add r8, r8
mov eax, dword [0x141522ba0]
add eax, 0xffffe920
movsxd r10, eax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + r8*8]
imul eax, dword [0x141522bd8]
movsxd r9, eax
mov rax, qword [rsp + 0xc8]
add eax, 0x174c
movsxd r8, eax
mov qword [rsp + 0x50], r8
mov r8b, 0x88
mov qword [rsp + 0x48], r9
mov r9b, 0xf6
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r11
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
call fcn.14000cde4
movsxd rdx, eax
lea eax, [r13 + 0x23]
movsxd rcx, eax
mov rax, qword [0x141522bc8]
mov qword [rax + rcx*8], rdx
movzx eax, word [0x141522c40]
movsxd rcx, dword [r12]
movzx edx, word [rax + rax + 0x1d54]
mov rax, qword [0x141522bf0]
or edx, dword [0x141522c18]
mov dword [rax + rcx*4], edx
mov eax, 0xffff
mov rcx, qword [rsp + 0x60]
movzx ebx, word [0x141522c40]
mov rsi, qword [0x141522c18]
add bx, ax
mov word [0x141522c40], bx
mov rax, qword [rcx]
mov ecx, dword [rcx + rax*8 + 8]
sub ecx, dword [0x141522b64]
mov dword [0x141522b64], ecx
movsxd rcx, dword [0x141522ba4]
cmp rcx, rsi
jbe 0x14000e6f9
mov r9d, dword [0x141522b88]
lea eax, [r14 + r14*2]
mov r8, qword [0x141522b90]
mov ebx, 1
mov r10, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0x68]
movsxd r11, eax
movzx edi, r15w
mov eax, ecx
xor eax, r10d
cdq
idiv dword [r12 + r11*4]
sub eax, ecx
add ecx, ebx
cdqe
imul r8, rax
mov qword [0x141522b90], r8
movzx eax, byte [rbp + rdi*2 + 0xf]
add eax, r14d
or eax, dword [0x141522ba0]
sub eax, r9d
mov r9d, eax
mov dword [0x141522b88], eax
movsxd rax, ecx
cmp rax, rsi
ja 0x14000e6b5
movzx ebx, word [0x141522c40]
mov rax, qword [rsp + 0xc0]
dec r15w
mov rdx, qword [rsp + 0xb0]
movzx ecx, bx
mov rbx, qword [rsp + 0xb8]
lea rax, [rax + rcx*2]
movzx eax, byte [rcx + rax]
movzx ecx, r15w
add rcx, rcx
or eax, dword [rdx + rcx*8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret