Function at 0x14006df80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
cmp r9, 2
jb 0x14006e051
mov r13, rdx
mov r12, rcx
jne 0x14006e062
lea r8, [r13 - 0x30]
movzx ebp, byte [r12 + 0x17]
test bpl, bpl
mov r10, qword [r12]
mov r9, qword [r12 + 8]
cmovs rbp, r9
mov rsi, r12
cmovs rsi, r10
movzx eax, byte [r13 - 0x19]
test al, al
jns 0x14006e118
mov rcx, qword [r13 - 0x30]
mov rax, qword [r13 - 0x28]
cmp rbp, rax
mov rbx, rax
cmovb rbx, rbp
test rbx, rbx
je 0x14006e001
xor edx, edx
movzx edi, word [rsi + rdx*2]
cmp word [rcx + rdx*2], di
ja 0x14006e051
jb 0x14006e006
inc rdx
cmp rbx, rdx
jne 0x14006dfed
cmp rax, rbp
jae 0x14006e051
mov rax, qword [r12 + 0x10]
mov rcx, qword [r8 + 0x10]
mov qword [r12 + 0x10], rcx
movups xmm0, xmmword [r8]
movups xmmword [r12], xmm0
mov qword [r13 - 0x30], r10
mov qword [r13 - 0x28], r9
mov qword [r13 - 0x20], rax
movups xmm0, xmmword [r12 + 0x18]
mov rax, qword [r12 + 0x28]
mov rcx, qword [r13 - 8]
mov qword [r12 + 0x28], rcx
movups xmm1, xmmword [r13 - 0x18]
movups xmmword [r12 + 0x18], xmm1
movups xmmword [r13 - 0x18], xmm0
mov qword [r13 - 8], rax
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, r9
mov r15, r8
test r9, r9
jg 0x14006e08b
mov rcx, r12
mov rdx, r13
mov r8, r15
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140169600
mov rsi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xb0]
mov rdi, rbx
shr rdi, 1
lea rbp, [rdi + rdi*2]
shl rbp, 4
lea rax, [r12 + rbp]
cmp rbx, rsi
jle 0x14006e12a
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rbp, rax
mov rdx, rax
mov r8, r15
mov r9, rdi
call fcn.14006df80
sub rbx, rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r14
mov rcx, rbp
mov rdx, r13
mov r8, r15
mov r9, rbx
call fcn.14006df80
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
mov rcx, r12
mov rdx, rbp
mov r8, r13
mov r9, r15
int3
cmp rbp, rax
mov rbx, rax
cmovb rbx, rbp
mov rcx, r8
jmp 0x14006dfe6
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rsi, rax
mov rdx, rax
mov r8, r15
mov r9, rdi
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x14021b038]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp rcx, rdx
je 0x140169791
mov rsi, rdx
mov r12, rcx
lea rax, [rcx + 0x30]
cmp rax, rdx
je 0x140169791
lea rdi, [rsp + 0x48]
xor ebx, ebx
movaps xmm6, xmmword [0x1401e90c0]
xorps xmm7, xmm7
xor r15d, r15d
mov r14, r12
mov qword [rsp + 0x28], rsi
mov rcx, r14
mov r14, rax
inc r15
lea rax, [r15 + r15*2]
shl rax, 4
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x30], xmm0
mov rdx, qword [r14 + 0x10]
mov qword [rsp + 0x40], rdx
mov qword [r12 + rax + 0x10], rbx
movups xmmword [r12 + rax], xmm7
mov rdx, qword [rcx + 0x58]
mov qword [rdi + 0x10], rdx
movups xmm0, xmmword [rcx + 0x48]
movups xmmword [rdi], xmm0
mov qword [r12 + rax + 0x28], rbx
movups xmmword [r12 + rax + 0x18], xmm7
mov rcx, r12
cmp r14, r12
je 0x140169758
mov rcx, r14
movzx eax, byte [rcx - 0x19]
mov r8, rax
test al, al
jns 0x1401696db
mov r8, qword [rcx - 0x28]
movzx ebp, byte [rsp + 0x47]
mov rsi, rbp
test bpl, bpl
jns 0x1401696ed
mov rsi, qword [rsp + 0x38]
lea r13, [rcx - 0x30]
cmp r8, rsi
mov rdx, rsi
cmovb rdx, r8
test rdx, rdx
jne 0x140169717
cmp rsi, r8
jae 0x14016974c
mov rdx, r13
call fcn.140169310
mov rcx, r13
cmp r13, r12
jne 0x1401696cc
jmp 0x140169749
lea rdi, [rsp + 0x30]
test bpl, bpl
jns 0x140169726
mov rdi, qword [rsp + 0x30]
mov rbx, r13
test al, al
jns 0x140169731
mov rbx, qword [r13]
xor eax, eax
movzx ebp, word [rbx + rax*2]
cmp word [rdi + rax*2], bp
ja 0x14016974c
jb 0x140169705
inc rax
cmp rdx, rax
jne 0x140169733
jmp 0x140169700
mov rcx, r12
mov rsi, qword [rsp + 0x28]
lea rdi, [rsp + 0x48]
xor ebx, ebx
lea rdx, [rsp + 0x30]
call fcn.140169310
cmp byte [rsp + 0x5f], 0
jns 0x140169773
mov rcx, qword [rsp + 0x48]
call fcn.1401109f8
cmp byte [rsp + 0x47], 0
jns 0x140169784
mov rcx, qword [rsp + 0x30]
call fcn.1401109f8
lea rax, [r14 + 0x30]
cmp rax, rsi
jne 0x140169667
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140111870
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret