Function at 0x140032b40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp r8d, 3
jl 0x140032f01
mov r11, rsp
push rbx
push rsi
push rdi
push r14
sub rsp, 0x78
mov esi, r8d
mov r14d, r9d
mov rdi, rdx
mov rbx, rcx
test r9d, 0xff000000
je 0x140032ef8
test byte [rcx + 0x30], 4
mov rax, qword [rcx + 0x38]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
movss xmm6, dword [rax]
movss xmm7, dword [rax + 4]
je 0x140032e5f
mov qword [r11 + 8], rbp
lea eax, [rsi + rsi]
mov qword [r11 + 0x10], r12
lea edx, [rsi*8 - 6]
mov qword [r11 + 0x20], r13
add edx, esi
mov qword [r11 - 0x28], r15
mov r13d, r9d
movaps xmmword [r11 - 0x58], xmm8
and r13d, 0xffffff
movaps xmmword [r11 - 0x68], xmm9
mov r8d, eax
movaps xmmword [r11 - 0x78], xmm10
movss xmm10, dword [rcx + 0xc0]
mov dword [rsp + 0xb0], eax
call fcn.140038a10
mov ebp, dword [rbx + 0x34]
mov r8d, 2
nop word [rax + rax]
mov rax, qword [rbx + 0x50]
movzx edx, r8w
add dx, dx
inc r8d
add dx, bp
mov word [rax], bp
mov rax, qword [rbx + 0x50]
lea ecx, [rdx - 2]
mov word [rax + 2], cx
mov rax, qword [rbx + 0x50]
mov word [rax + 4], dx
add qword [rbx + 0x50], 6
cmp r8d, esi
jl 0x140032bf0
mov rcx, qword [rbx + 0x38]
mov edx, esi
add rcx, 0x30
call fcn.14003b150
mov rax, qword [rbx + 0x38]
lea r15d, [rsi - 1]
movss xmm4, dword [0x140133180]
mov rcx, rdi
mov rdx, rsi
xorps xmm5, xmm5
mov r9, qword [rax + 0x38]
movsxd rax, esi
lea rax, [rax*8 - 8]
nop dword [rax + rax]
movss xmm2, dword [rcx]
movss xmm3, dword [rcx + 4]
subss xmm2, dword [rax + rdi]
subss xmm3, dword [rax + rdi + 4]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm0, xmm1
comiss xmm0, xmm5
jbe 0x140032c98
call fcn.140037d60
mulss xmm2, xmm0
mulss xmm3, xmm0
movss dword [rax + r9], xmm3
xorps xmm2, xmm4
movss dword [rax + r9 + 4], xmm2
mov rax, rcx
sub rax, rdi
add rcx, 8
sub rdx, 1
jne 0x140032c60
movss xmm4, dword [0x140133080]
lea r10, [rdi + 4]
movss xmm9, dword [0x14013bc08]
xor r12d, r12d
movss xmm5, dword [0x1401330a8]
mov r11, r9
movss xmm8, dword [0x1401330f0]
sub r11, rdi
lea edi, [rbp + 1]
mulss xmm10, xmm4
nop
movss xmm2, dword [r10 + r11 - 4]
movsxd rax, r15d
movss xmm3, dword [r9 + rax*8 + 4]
addss xmm3, dword [r10 + r11]
addss xmm2, dword [r9 + rax*8]
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm1, xmm3
mulss xmm1, xmm3
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
comiss xmm1, xmm9
jbe 0x140032d44
movaps xmm0, xmm5
divss xmm0, xmm1
movaps xmm1, xmm8
minss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
movss xmm0, dword [r10 - 4]
movzx edx, r12w
mov rax, qword [rbx + 0x48]
add r15w, r15w
mulss xmm2, xmm10
add dx, dx
mulss xmm3, xmm10
lea ecx, [r15 + rbp]
subss xmm0, xmm2
lea r8d, [rdx + rbp]
movss dword [rax], xmm0
movss xmm1, dword [r10]
mov rax, qword [rbx + 0x48]
subss xmm1, xmm3
movss dword [rax + 4], xmm1
mov rax, qword [rbx + 0x48]
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x10], r14d
addss xmm2, dword [r10 - 4]
mov rax, qword [rbx + 0x48]
movss dword [rax + 0x14], xmm2
addss xmm3, dword [r10]
mov rax, qword [rbx + 0x48]
add r10, 8
movss dword [rax + 0x18], xmm3
mov rax, qword [rbx + 0x48]
movss dword [rax + 0x1c], xmm6
movss dword [rax + 0x20], xmm7
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x24], r13d
mov rax, qword [rbx + 0x50]
add qword [rbx + 0x48], 0x28
mov word [rax], r8w
mov rax, qword [rbx + 0x50]
mov word [rax + 2], cx
lea ecx, [r15 + rdi]
mov rax, qword [rbx + 0x50]
mov r15d, r12d
inc r12d
mov word [rax + 4], cx
mov rax, qword [rbx + 0x50]
mov word [rax + 6], cx
lea ecx, [rdx + rdi]
mov rax, qword [rbx + 0x50]
mov word [rax + 8], cx
mov rax, qword [rbx + 0x50]
mov word [rax + 0xa], r8w
add qword [rbx + 0x50], 0xc
cmp r12d, esi
jl 0x140032cf0
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xa0]
movzx eax, word [rsp + 0xb0]
jmp 0x140032eeb
lea eax, [rsi - 2]
mov r8d, esi
lea edx, [rax + rax*2]
call fcn.140038a10
mov rcx, rsi
mov rax, qword [rbx + 0x48]
movsd xmm0, qword [rdi]
lea rdi, [rdi + 8]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x48]
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x10], r14d
add qword [rbx + 0x48], 0x14
sub rcx, 1
jne 0x140032e70
mov r8d, 2
nop word [rax + rax]
mov rcx, qword [rbx + 0x50]
movzx eax, word [rbx + 0x34]
mov word [rcx], ax
lea ecx, [r8 - 1]
add cx, word [rbx + 0x34]
mov rax, qword [rbx + 0x50]
mov word [rax + 2], cx
movzx ecx, r8w
mov rax, qword [rbx + 0x50]
inc r8d
add cx, word [rbx + 0x34]
mov word [rax + 4], cx
add qword [rbx + 0x50], 6
cmp r8d, esi
jl 0x140032eb0
movzx eax, si
add dword [rbx + 0x34], eax
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
pop r14
pop rdi
pop rsi
pop rbx
ret