Function at 0x140033daa
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.140034023
lea r14, [rsp + 0x70]
mov rcx, r14
mov rdx, rbx
call fcn.140033d00
mov eax, dword [r14]
cmp eax, 2
jne 0x140033e4c
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.140034023
mov r15d, dword [rbx]
cmp r15d, 2
jne 0x140033efa
movzx r12d, byte [rsp + 0x34]
test r12b, r12b
js 0x140033ea0
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 0x140034005
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 0x140034005
xor r15d, r15d
cmp r12d, 0x80
jne 0x140033eb4
mov bpl, 5
jmp 0x140033f72
mov bpl, 0xd
cmp r12b, 0x84
ja 0x140033f72
mov r13, r12
xor r13, 0x80
xor ebx, ebx
lea r14, [rsp + 0x30]
sub r13, 1
jb 0x140033f4a
mov rcx, r14
mov rdx, rdi
call fcn.140034023
mov r15d, dword [rsp + 0x30]
cmp r15d, 2
jne 0x140033efa
shl ebx, 8
movzx eax, byte [rsp + 0x34]
or ebx, eax
jmp 0x140033ed2
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 0x140033f72
xor r15d, r15d
cmp ebx, 0xfffffff
ja 0x140034019
mov ecx, ebx
call fcn.140033cb6
test al, al
je 0x140033f72
cmp dl, r12b
jne 0x140033f72
movzx r12d, bl
jmp 0x140033e25
shl ecx, 8
movzx eax, al
or eax, ecx
cmp bpl, 0xd
jne 0x140033f9a
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 0x140033fd0
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 0x140033f72