Function at 0x6261d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x1f
sub eax, r9d
lea r10d, [rdx - 1]
bsr edx, edx
bsr r8d, r8d
xor edx, 0x1f
mov r9d, eax
mov eax, 0x20
xor r8d, 0x1f
sub eax, edx
bsr r10d, r10d
mov edx, eax
mov eax, 0x21
xor r10d, 0x1f
sub eax, r8d
sub r9d, r10d
cmp edx, eax
cmovbe eax, edx
test ecx, ecx
mov edx, 0xb
cmove ecx, edx
cmp ecx, r9d
cmova ecx, r9d
cmp ecx, eax
cmovb ecx, eax
mov eax, 0xc
cmp ecx, 0xc
cmova ecx, eax
mov eax, 5
cmp ecx, 5
cmovae eax, ecx
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
movups xmmword [rsp + 0x70], xmm6
movups xmmword [rsp + 0x80], xmm7
movups xmmword [rsp + 0x90], xmm8
mov rbp, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov dword [rsp + 0x4c], ecx
mov r15d, r8d
mov rdi, r9
test byte [rsp + 0x128], 2
je 0x6265e9
mov esi, r8d
lea rax, [r9 + 0x2ec]
lea r13, [rbp - 0x2ec]
add esi, 1
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x64], esi
je 0x62661d
cmp r8d, 3
jbe 0x62662a
shr esi, 2
pxor xmm1, xmm1
pcmpeqd xmm2, xmm2
mov rax, r14
mov edx, esi
movdqu xmm3, xmm1
shl rdx, 4
add rdx, r14
nop dword [rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
pcmpeqd xmm0, xmm3
pandn xmm0, xmm2
psubd xmm1, xmm0
cmp rax, rdx
jne 0x626278
movdqu xmm0, xmm1
mov esi, dword [rsp + 0x64]
psrldq xmm0, 8
paddd xmm1, xmm0
mov edx, esi
movdqu xmm0, xmm1
and edx, 0xfffffffc
and esi, 3
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
je 0x6262f8
mov ecx, edx
mov esi, dword [rsp + 0x64]
cmp dword [r14 + rcx*4], 1
lea ecx, [rdx + 1]
sbb eax, 0xffffffff
cmp esi, ecx
jbe 0x6262f8
cmp dword [r14 + rcx*4], 1
lea ecx, [rdx + 2]
sbb eax, 0xffffffff
cmp esi, ecx
jbe 0x6262f8
cmp dword [r14 + rcx*4], 1
sbb eax, 0xffffffff
add edx, 3
cmp esi, edx
jbe 0x6262f8
cmp dword [r14 + rdx*4], 1
sbb eax, 0xffffffff
bsr eax, eax
mov edx, 0x20
xor eax, 0x1f
sub edx, eax
mov dword [rsp + 0x60], edx
cmp dword [rsp + 0x4c], edx
jb 0x626633
mov eax, dword [rsp + 0x64]
mov esi, dword [rsp + 0x60]
pxor xmm6, xmm6
mov qword [rsp + 0x58], 0xfffffffffffffffe
movdqu xmm7, xmmword [0x00955bf0]
mov r12d, eax
and eax, 0xfffffffc
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x4c]
shr r12d, 2
shl r12, 4
mov dword [rsp + 0x6c], eax
jmp 0x62635d
add esi, 1
cmp dword [rsp + 0x4c], esi
jb 0x6265b4
mov qword [rsp + 0x28], rbp
mov r9d, esi
mov r8d, r15d
mov rdx, r14
mov qword [rsp + 0x20], rdi
mov rcx, rbx
call fcn.00620840
cmp rax, 0xffffffffffffff88
ja 0x626350
mov edx, esi
cmp rdx, rax
jbe 0x62638f
cmp dword [rsp + 0x60], esi
jb 0x6265b4
mov qword [rsp + 0x30], rbp
mov rcx, qword [rsp + 0x50]
mov r9d, r15d
mov r8, rbx
mov qword [rsp + 0x28], rdi
mov rdx, r13
mov dword [rsp + 0x20], eax
call fcn.00627970
cmp rax, 0xffffffffffffff88
ja 0x626350
test r15d, r15d
js 0x626587
xor edx, edx
cmp r15d, 7
jbe 0x6265e2
pxor xmm5, xmm5
nop
movdqu xmm0, xmmword [r14 + rdx]
movdqu xmm3, xmmword [rbx + rdx*2 + 8]
movdqu xmm8, xmm0
pand xmm3, xmm7
punpckldq xmm8, xmm6
movdqu xmm1, xmm3
movdqu xmm2, xmm3
psrlq xmm1, 0x20
pmuludq xmm2, xmm8
movdqu xmm4, xmm8
psrlq xmm4, 0x20
pmuludq xmm1, xmm8
pmuludq xmm3, xmm4
paddq xmm1, xmm3
movdqu xmm3, xmmword [rbx + rdx*2 + 0x18]
add rdx, 0x10
psllq xmm1, 0x20
paddq xmm1, xmm2
movdqu xmm2, xmm0
pand xmm3, xmm7
punpckhdq xmm2, xmm6
movdqu xmm0, xmm3
movdqu xmm4, xmm3
psrlq xmm0, 0x20
pmuludq xmm4, xmm2
movdqu xmm8, xmm2
psrlq xmm8, 0x20
pmuludq xmm0, xmm2
pmuludq xmm3, xmm8
paddq xmm0, xmm3
psllq xmm0, 0x20
paddq xmm0, xmm4
paddq xmm0, xmm1
paddq xmm5, xmm0
cmp r12, rdx
jne 0x6263d0
movdqu xmm0, xmm5
mov ecx, dword [rsp + 0x68]
psrldq xmm0, 8
paddq xmm5, xmm0
movq rdx, xmm5
cmp dword [rsp + 0x64], ecx
je 0x626580
movsxd r11, ecx
lea r10, [r11 + 1]
lea r8, [r11*4]
mov r11d, dword [r14 + r11*4]
lea r9, [r10*8]
movzx r10d, byte [rbx + r10*8]
imul r10, r11
add rdx, r10
lea r10d, [rcx + 1]
cmp r10d, r15d
jg 0x626580
movzx r10d, byte [rbx + r9 + 8]
mov r11d, dword [r14 + r8 + 4]
imul r10, r11
add rdx, r10
lea r10d, [rcx + 2]
cmp r15d, r10d
jl 0x626580
movzx r10d, byte [rbx + r9 + 0x10]
mov r11d, dword [r14 + r8 + 8]
imul r10, r11
add rdx, r10
lea r10d, [rcx + 3]
cmp r15d, r10d
jl 0x626580
movzx r10d, byte [rbx + r9 + 0x18]
mov r11d, dword [r14 + r8 + 0xc]
imul r10, r11
add rdx, r10
lea r10d, [rcx + 4]
cmp r15d, r10d
jl 0x626580
movzx r10d, byte [rbx + r9 + 0x20]
mov r11d, dword [r14 + r8 + 0x10]
imul r10, r11
add rdx, r10
lea r10d, [rcx + 5]
cmp r15d, r10d
jl 0x626580
movzx r10d, byte [rbx + r9 + 0x28]
mov r11d, dword [r14 + r8 + 0x14]
imul r10, r11
add rdx, r10
lea r10d, [rcx + 6]
cmp r15d, r10d
jl 0x626580
movzx r10d, byte [rbx + r9 + 0x30]
mov r11d, dword [r14 + r8 + 0x18]
add ecx, 7
imul r10, r11
add rdx, r10
cmp r15d, ecx
jl 0x626580
movzx ecx, byte [rbx + r9 + 0x38]
mov r8d, dword [r14 + r8 + 0x1c]
imul rcx, r8
add rdx, rcx
shr rdx, 3
add rax, rdx
mov rcx, qword [rsp + 0x58]
lea rdx, [rcx + 1]
cmp rdx, rax
jb 0x6265b4
cmp rcx, rax
jbe 0x626350
mov dword [rsp + 0x6c], esi
add esi, 1
mov qword [rsp + 0x58], rax
cmp dword [rsp + 0x4c], esi
jae 0x62635d
mov eax, dword [rsp + 0x6c]
movups xmm6, xmmword [rsp + 0x70]
movups xmm7, xmmword [rsp + 0x80]
movups xmm8, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
jmp 0x626495
movups xmm6, xmmword [rsp + 0x70]
movups xmm7, xmmword [rsp + 0x80]
mov r9d, 1
movups xmm8, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x61f050
mov dword [rsp + 0x60], 0
jmp 0x626313
xor eax, eax
xor edx, edx
jmp 0x6262bd
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], eax
jmp 0x6265b4