Function at 0x140033645
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, 0xa8
mov rdi, rdx
mov rsi, rcx
lea rbx, [rsp + 0x30]
mov rcx, rbx
call fcn.140033a45
lea r14, [rsp + 0x70]
mov rcx, r14
mov rdx, rbx
call fcn.140033d00
mov eax, dword [r14]
cmp eax, 2
jne 0x1400336e7
mov al, byte [rsp + 0x76]
movzx ecx, word [rsp + 0x74]
mov word [rsp + 0x28], cx
mov byte [rsp + 0x2a], al
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, rdi
call fcn.140033a45
mov r15d, dword [rbx]
cmp r15d, 2
jne 0x140033795
movzx r12d, byte [rsp + 0x34]
test r12b, r12b
js 0x14003373b
mov ebx, r12d
and ebx, 0xffffff00
or ebx, r12d
mov al, byte [rsp + 0x2a]
mov byte [rsi + 0xa], al
movzx eax, word [rsp + 0x28]
mov word [rsi + 8], ax
mov dword [rsi + 4], ebx
mov dword [rsi], 2
jmp 0x1400338a0
mov cl, byte [rsp + 0x76]
mov byte [rsp + 0x26], cl
movzx ecx, word [rsp + 0x74]
mov word [rsp + 0x24], cx
mov cl, byte [rsp + 0xa7]
mov byte [rsi + 0x37], cl
movups xmm0, xmmword [rsp + 0x97]
movups xmmword [rsi + 0x27], xmm0
movups xmm0, xmmword [rsp + 0x87]
movups xmmword [rsi + 0x17], xmm0
movups xmm0, xmmword [rsp + 0x77]
movups xmmword [rsi + 7], xmm0
mov cl, byte [rsp + 0x26]
mov byte [rsi + 6], cl
movzx ecx, word [rsp + 0x24]
mov word [rsi + 4], cx
mov dword [rsi], eax
jmp 0x1400338a0
xor r15d, r15d
cmp r12d, 0x80
jne 0x14003374f
mov bpl, 5
jmp 0x14003380d
mov bpl, 0xd
cmp r12b, 0x84
ja 0x14003380d
mov r13, r12
xor r13, 0x80
xor ebx, ebx
lea r14, [rsp + 0x30]
sub r13, 1
jb 0x1400337e5
mov rcx, r14
mov rdx, rdi
call fcn.140033a45
mov r15d, dword [rsp + 0x30]
cmp r15d, 2
jne 0x140033795
shl ebx, 8
movzx eax, byte [rsp + 0x34]
or ebx, eax
jmp 0x14003376d
mov al, byte [rsp + 0x34]
mov bpl, byte [rsp + 0x38]
movzx edx, byte [rsp + 0x37]
shl edx, 0x10
movzx ecx, word [rsp + 0x35]
or ecx, edx
movzx edx, word [rsp + 0x39]
mov word [rsp + 0x2c], dx
mov dl, byte [rsp + 0x3b]
mov byte [rsp + 0x2e], dl
movups xmm0, xmmword [rsp + 0x3c]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x4c]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsp + 0x8c], xmm0
jmp 0x14003380d
xor r15d, r15d
cmp ebx, 0xfffffff
ja 0x1400338b4
mov ecx, ebx
call fcn.140033cb6
test al, al
je 0x14003380d
cmp dl, r12b
jne 0x14003380d
movzx r12d, bl
jmp 0x1400336c0
shl ecx, 8
movzx eax, al
or eax, ecx
cmp bpl, 0xd
jne 0x140033835
mov cl, byte [rsp + 0x2a]
mov byte [rsp + 0x26], cl
movzx ecx, word [rsp + 0x28]
mov word [rsp + 0x24], cx
xor r15d, r15d
mov bpl, 6
jmp 0x14003386b
mov cl, byte [rsp + 0x2e]
mov byte [rsp + 0x26], cl
movzx ecx, word [rsp + 0x2c]
mov word [rsp + 0x24], cx
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [rsp + 0x8c]
movups xmmword [rsp + 0x4c], xmm0
mov cl, byte [rsp + 0x26]
mov byte [rsi + 0xb], cl
movzx ecx, word [rsp + 0x24]
mov word [rsi + 9], cx
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi + 0xc], xmm0
movups xmmword [rsi + 0x1c], xmm1
movups xmm0, xmmword [rsp + 0x4c]
movups xmmword [rsi + 0x28], xmm0
mov dword [rsi], r15d
mov dword [rsi + 4], eax
mov byte [rsi + 8], bpl
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov bpl, 0xc
xor ecx, ecx
jmp 0x14003380d