Function at 0x1400e4750
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov eax, dword [rcx + 0xc]
mov qword [rsp + 0x98], rdx
mov r12, rcx
mov edx, dword [rcx]
mov qword [rsp + 0xa0], r8
cmp dword [rcx + 8], eax
jb 0x1400e479e
mov eax, dword [rcx + 4]
add eax, eax
cmp eax, edx
jb 0x1400e4970
add edx, 1
call fcn.140136400
test eax, eax
js 0x1400e4980
mov edx, dword [r12]
mov rax, qword [rsp + 0x98]
lea r15d, [rdx - 1]
mov r9, qword [rax + 0x40]
movzx r13d, word [rax + 0x3c]
movsx eax, byte [r9]
lea ecx, [rax - 0x41]
cmp ecx, 0x19
jbe 0x1400e4920
test eax, eax
jne 0x1400e4923
movzx r13d, r13w
mov r14, qword [r12 + 0x10]
mov r10, qword [r12 + 0x18]
sar r13d, 0xc
mov ebp, r13d
and ebp, 3
add ebp, eax
and ebp, r15d
mov eax, ebp
lea edi, [rbp + rbp]
shr eax, 4
mov ecx, edi
mov dword [rsp + 0x38], edi
lea r11, [r14 + rax*4]
and ecx, 0x1e
mov eax, dword [r11]
mov esi, eax
shr esi, cl
and esi, 2
jne 0x1400e4990
mov qword [rsp + 0x90], r12
mov ebx, ebp
mov r12, r14
mov r14d, edx
mov qword [rsp + 0x30], r9
mov dword [rsp + 0x3c], edx
jmp 0x1400e4879
mov eax, ebx
mov rdx, qword [r10 + rax*8]
movzx eax, word [rdx + 0x3c]
sar eax, 0xc
xor eax, r13d
test al, 3
jne 0x1400e4864
mov rcx, qword [rdx + 0x40]
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x28], r10
call fcn.140084020
mov r10, qword [rsp + 0x28]
test eax, eax
je 0x1400e49f0
add esi, 1
add ebx, esi
and ebx, r15d
cmp ebp, ebx
je 0x1400e489e
mov eax, ebx
shr eax, 4
mov eax, dword [r12 + rax*4]
lea edi, [rbx + rbx]
mov ecx, edi
and ecx, 0x1e
shr eax, cl
test al, 2
jne 0x1400e49f0
test al, 1
je 0x1400e4830
add esi, 1
mov r14d, ebx
add ebx, esi
and ebx, r15d
cmp ebp, ebx
jne 0x1400e4870
mov edx, dword [rsp + 0x3c]
mov r8d, r14d
mov r14, r12
mov r12, qword [rsp + 0x90]
cmp edx, r8d
je 0x1400e4a3d
mov eax, r8d
lea edi, [r8 + r8]
shr eax, 4
and edi, 0x1e
lea r11, [r14 + rax*4]
mov ecx, edi
mov eax, dword [r11]
mov esi, eax
shr esi, cl
mov edi, esi
and edi, 2
mov ebx, r8d
shl rbx, 3
lea rdx, [r10 + rbx]
test edi, edi
jne 0x1400e4987
and esi, 1
je 0x1400e4a30
mov rsi, qword [rsp + 0x98]
mov qword [rdx], rsi
mov edx, 3
shl edx, cl
not edx
and edx, eax
mov dword [r11], edx
add dword [r12 + 4], 1
jmp 0x1400e49cc
add eax, 0x20
movzx ebp, byte [r9 + 1]
lea r8, [r9 + 1]
test bpl, bpl
je 0x1400e47cb
nop dword [rax]
mov ecx, eax
shl ecx, 5
sub ecx, eax
movsx eax, bpl
lea r11d, [rax - 0x41]
lea r10d, [rax + 0x20]
cmp r11d, 0x1a
cmovb eax, r10d
movzx ebp, byte [r8 + 1]
add r8, 1
add eax, ecx
test bpl, bpl
jne 0x1400e4938
jmp 0x1400e47cb
sub edx, 1
call fcn.140136400
test eax, eax
jns 0x1400e479a
mov eax, 0xffffffff
jmp 0x1400e49df
mov ebp, r8d
nop word [rax + rax]
mov edx, 3
mov rsi, qword [rsp + 0x98]
movq xmm1, qword [0x14019ad90]
lea rbx, [rbp*8]
shl edx, cl
not edx
mov qword [r10 + rbp*8], rsi
and edx, eax
mov dword [r11], edx
movq xmm0, qword [r12 + 4]
paddd xmm0, xmm1
movq qword [r12 + 4], xmm0
mov rax, qword [r12 + 0x20]
mov rdi, qword [rsp + 0xa0]
mov qword [rax + rbx], rdi
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, ebx
mov r8d, r14d
mov r14, r12
and edi, 0x1e
shr eax, 4
mov ecx, edi
mov r12, qword [rsp + 0x90]
mov edx, dword [rsp + 0x3c]
lea r11, [r14 + rax*4]
mov eax, dword [r11]
mov esi, eax
shr esi, cl
mov edi, esi
and edi, 2
je 0x1400e4a27
cmp edx, r8d
jne 0x1400e48b9
mov r8d, ebx
jmp 0x1400e48d8
mov rax, qword [rsp + 0x98]
mov qword [rdx], rax
jmp 0x1400e49cc
mov eax, ebp
mov ecx, dword [rsp + 0x38]
mov r8d, ebp
shr eax, 4
lea r11, [r14 + rax*4]
and ecx, 0x1e
mov eax, dword [r11]
mov esi, eax
shr esi, cl
mov edi, esi
and edi, 2
jmp 0x1400e48d8