Function at 0x14007e818
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
mov ebp, r9d
movaps xmmword [rax - 0x48], xmm7
mov r13d, r8d
movaps xmmword [rax - 0x58], xmm8
mov ebx, edx
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rsp + 0x30], xmm11
test ecx, ecx
je 0x14007ea76
mov eax, 3
lea rdx, [rsp + 0x20]
cmp ecx, eax
cmovl ecx, eax
and qword [rsp + 0x20], 0
lea esi, [rcx*2 + 1]
lea rcx, [rsp + 0x28]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], esi
call fcn.14007a454
mov qword [rsp + 0x28], rax
mov r15, rax
test rax, rax
je 0x14007ea76
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x14007ea76
mov r12d, esi
mov eax, 8
imul r12d, esi
movsxd rcx, r12d
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140009f40
mov r14, rax
movd xmm8, ebp
cvtdq2pd xmm8, xmm8
mov eax, esi
mov rbp, r14
cdq
sub eax, edx
sar eax, 1
mov esi, eax
movd xmm7, r13d
neg esi
movd xmm10, r12d
mov r13d, eax
divsd xmm8, qword [0x140229d50]
cvtdq2pd xmm7, xmm7
movaps xmm11, xmm8
divsd xmm7, qword [0x140229d50]
cvtdq2pd xmm10, xmm10
subsd xmm11, xmm7
mulsd xmm10, qword [0x140228118]
cmp esi, eax
jg 0x14007e9d5
mov r15d, esi
mov eax, esi
mov edi, r15d
imul eax, esi
movd xmm9, eax
cvtdq2pd xmm9, xmm9
mov eax, edi
xorps xmm0, xmm0
imul eax, edi
movd xmm6, eax
cvtdq2pd xmm6, xmm6
addsd xmm6, xmm9
comisd xmm10, xmm6
jb 0x14007e9b0
lfence
divsd xmm6, xmm10
xorps xmm6, xmmword [0x140227f20]
addsd xmm6, xmm6
movaps xmm0, xmm6
call fcn.1401f4190
mulsd xmm0, xmm11
addsd xmm0, xmm7
maxsd xmm0, xmm7
comisd xmm0, xmm8
jbe 0x14007e998
movaps xmm0, xmm8
jmp 0x14007e9b0
lfence
movaps xmm0, xmm6
call fcn.1401f4190
mulsd xmm0, xmm11
addsd xmm0, xmm7
maxsd xmm0, xmm7
movsd qword [rbp], xmm0
inc edi
add rbp, 8
cmp edi, r13d
jle 0x14007e947
inc esi
cmp esi, r13d
jle 0x14007e935
mov rdi, qword [rsp + 0x20]
mov r15, qword [rsp + 0x28]
movzx ecx, bx
mov al, bl
shr cx, 8
mov rdx, r14
shr ebx, 0x10
shr cl, 2
shr al, 2
shr bl, 2
test r12d, r12d
jle 0x14007ea64
movzx eax, al
mov r8d, r12d
movd xmm2, eax
movzx eax, cl
lea rcx, [rdi + 1]
cvtdq2pd xmm2, xmm2
movd xmm3, eax
movzx eax, bl
cvtdq2pd xmm3, xmm3
movd xmm4, eax
cvtdq2pd xmm4, xmm4
movaps xmm0, xmm2
movaps xmm1, xmm3
mulsd xmm0, qword [rdx]
cvttsd2si eax, xmm0
movaps xmm0, xmm4
mov byte [rcx + 1], al
mulsd xmm1, qword [rdx]
cvttsd2si eax, xmm1
mov byte [rcx], al
lea rcx, [rcx + 4]
mulsd xmm0, qword [rdx]
cvttsd2si eax, xmm0
mov byte [rcx - 5], al
movsd xmm1, qword [rdx]
lea rdx, [rdx + 8]
mulsd xmm1, qword [0x140228190]
cvttsd2si eax, xmm1
mov byte [rcx - 2], al
sub r8, 1
jne 0x14007ea1a
test r14, r14
je 0x14007ea71
mov rcx, r14
call fcn.140009f50
mov rax, r15
jmp 0x14007ea78
xor eax, eax
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret