Function at 0x1800ecaf4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
sal al, 0x90
push rbp
and rax, r8
add bpl, r15b
push rsi
shld ebp, r9d, 0xb1
shr ah, cl
push rdi
push r14
push r15
cwde
sub rsp, 0x20
adc sil, 0x90
mov rbp, rdx
shrd eax, r14d, 0xe6
mov rsi, rcx
mov eax, dword [rcx + 0xc]
clc
cmp dh, al
mov ecx, dword [rcx + 8]
cmp r9w, r8w
clc
cmp r8b, 0x8b
cmp ecx, eax
jmp 0x1800ecb3d
jne 0x1800eccf8
test eax, eax
xchg r15d, r15d
lea r15d, [rax + rax]
jmp 0x1800ecb51
jg 0x1800ecb63
mov r15d, 4
xor al, r14b
rol al, 0x7c
movsxd rbx, r15d
mov qword [rsp + 0x50], rbx
cdq
mov eax, 0x90
mul rbx
jmp 0x1800ecb80
mov rcx, 0xffffffffffffffff
jmp 0x1800ecb8c
cmovo rax, rcx
not cl
mov rcx, rax
call fcn.1800a03a8
mov r14, rax
not di
ror di, cl
and di, 0x2415
mov qword [rsp + 0x58], rax
shld di, r11w, 0xde
or edi, r15d
mov rdi, rax
cmc
test r15d, r15d
jmp 0x1800ecbc2
je 0x1800ecbee
mov rcx, rdi
jmp 0x1800ecbd0
call fcn.1800a0614
add rdi, 0x90
cmp rsi, r12
sub rbx, 1
jmp 0x1800ecbe8
jne 0x1800ecbc8
sub ecx, ecx
cmp dword [rsi + 8], ecx
jle 0x1800eccdd
mov edx, ecx
movzx rax, r10w
seto al
movzx ax, dil
mov rax, qword [rsi]
jmp 0x1800ecc0f
movups xmm0, xmmword [rdx + rax]
jmp 0x1800ecc18
movups xmmword [rdx + r14], xmm0
jmp 0x1800ecc22
movups xmm1, xmmword [rdx + rax + 0x10]
jmp 0x1800ecc2c
movups xmmword [rdx + r14 + 0x10], xmm1
movups xmm0, xmmword [rdx + rax + 0x20]
jmp 0x1800ecc3c
movups xmmword [rdx + r14 + 0x20], xmm0
jmp 0x1800ecc47
movups xmm1, xmmword [rdx + rax + 0x30]
jmp 0x1800ecc51
movups xmmword [rdx + r14 + 0x30], xmm1
jmp 0x1800ecc5c
movups xmm0, xmmword [rdx + rax + 0x40]
movups xmmword [rdx + r14 + 0x40], xmm0
jmp 0x1800ecc6c
movups xmm1, xmmword [rdx + rax + 0x50]
jmp 0x1800ecc76
movups xmmword [rdx + r14 + 0x50], xmm1
jmp 0x1800ecc81
movups xmm0, xmmword [rdx + rax + 0x60]
jmp 0x1800ecc8b
movups xmmword [rdx + r14 + 0x60], xmm0
jmp 0x1800ecc96
movups xmm1, xmmword [rdx + rax + 0x70]
jmp 0x1800ecca0
movups xmmword [rdx + r14 + 0x70], xmm1
jmp 0x1800eccab
movups xmm0, xmmword [rdx + rax + 0x80]
jmp 0x1800eccb8
movups xmmword [rdx + r14 + 0x80], xmm0
jmp 0x1800eccc6
inc ecx
lea rdx, [rdx + 0x90]
cmp ecx, dword [rsi + 8]
jmp 0x1800eccd7
jl 0x1800ecc07
mov rcx, qword [rsi]
jmp 0x1800ecce5
call fcn.18009f8fb
mov qword [rsi], r14
bsr rbx, r8
mov dword [rsi + 0xc], r15d
mov ecx, dword [rsi + 8]
movsxd rax, ecx
bswap bx
clc
lea rcx, [rax + rax*8]
add rcx, rcx
mov rax, qword [rsi]
mov r14b, 0xbf
movzx r14, r14w
movsx rbx, r12w
movaps xmm0, xmmword [rbp]
inc dil
movsx bx, spl
mov rbx, 0x1cd70093
movups xmmword [rax + rcx*8], xmm0
movsx di, sil
bswap rdi
dec rdi
movaps xmm1, xmmword [rbp + 0x10]
cmovnp r15d, r15d
movups xmmword [rax + rcx*8 + 0x10], xmm1
xchg dil, bl
mov r14, rdx
seto r14b
movaps xmm0, xmmword [rbp + 0x20]
dec r14w
movups xmmword [rax + rcx*8 + 0x20], xmm0
movzx ebx, dx
bswap di
cmovne r15, rax
movaps xmm1, xmmword [rbp + 0x30]
movsx bx, r9b
movups xmmword [rax + rcx*8 + 0x30], xmm1
movsx r15w, cl
movsxd rdi, r11d
mov r15b, spl
movaps xmm0, xmmword [rbp + 0x40]
movups xmmword [rax + rcx*8 + 0x40], xmm0
not r14
jmp 0x1800ecd92
movaps xmm1, xmmword [rbp + 0x50]
movzx di, r10b
movsx di, r11b
jmp 0x1800ecda5
movups xmmword [rax + rcx*8 + 0x50], xmm1
bswap rbx
movaps xmm0, xmmword [rbp + 0x60]
mov r14d, 0x34085a29
cmove r15d, edx
movups xmmword [rax + rcx*8 + 0x60], xmm0
setbe dil
movsxd rbx, edi
movsx r14w, al
movaps xmm1, xmmword [rbp + 0x70]
jmp 0x1800ecddc
movups xmmword [rax + rcx*8 + 0x70], xmm1
mov r15d, r12d
movsx r14d, r14w
movaps xmm0, xmmword [rbp + 0x80]
movups xmmword [rax + rcx*8 + 0x80], xmm0
movzx r14w, r13b
mov r15w, 0x517c
inc dword [rsi + 8]
cmovl r15, rbp
shr rbp, cl
mov rbx, qword [rsp + 0x60]
btc bp, di
movzx si, dil
add rsp, 0x20
xchg sil, bpl
pop r15
pop r14
pop rdi
cmovo si, si
setl sil
movsx bp, r9b
pop rsi
movsxd rbp, esp
movzx ebp, cx
cmova bp, bx
pop rbp
jmp 0x1800ece43
ret