Function at 0x1400c7de0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
mov rax, qword [0x14032b510]
mov r10, qword [rax + 0x5000]
movzx r9d, byte [r10 + 7]
shr r9b, 2
and r9b, r8b
cmp r9b, 1
jne 0x1400c7e20
mov r8d, dword [r10 + 0x6c]
test r8d, r8d
jle 0x1400c7e27
mov rax, qword [r10 + 0x18]
cmp r8d, 0x10
jae 0x1400c7e30
xor r11d, r11d
xor esi, esi
jmp 0x1400c7f89
xor esi, esi
jmp 0x1400c7fb4
mov si, 1
jmp 0x1400c7fb4
mov r11d, r8d
and r11d, 0xfffffff0
mov rsi, r8
shr rsi, 4
imul rsi, rsi, 0x700
pxor xmm0, xmm0
xor edi, edi
pxor xmm1, xmm1
nop
movzx ebx, word [rax + rdi + 0x36a]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x2fa]
movd xmm3, ebx
punpcklwd xmm3, xmm2
movzx ebx, word [rax + rdi + 0x28a]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x21a]
movd xmm4, ebx
punpcklwd xmm4, xmm2
punpckldq xmm4, xmm3
movzx ebx, word [rax + rdi + 0x1aa]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x13a]
movd xmm3, ebx
punpcklwd xmm3, xmm2
movzx ebx, word [rax + rdi + 0xca]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x5a]
movd xmm5, ebx
punpcklwd xmm5, xmm2
punpckldq xmm5, xmm3
punpcklqdq xmm5, xmm4
pmaxsw xmm0, xmm5
movzx ebx, word [rax + rdi + 0x6ea]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x67a]
movd xmm3, ebx
punpcklwd xmm3, xmm2
movzx ebx, word [rax + rdi + 0x60a]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x59a]
movd xmm4, ebx
punpcklwd xmm4, xmm2
punpckldq xmm4, xmm3
movzx ebx, word [rax + rdi + 0x52a]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x4ba]
movd xmm3, ebx
punpcklwd xmm3, xmm2
movzx ebx, word [rax + rdi + 0x44a]
movd xmm2, ebx
movzx ebx, word [rax + rdi + 0x3da]
movd xmm5, ebx
punpcklwd xmm5, xmm2
punpckldq xmm5, xmm3
punpcklqdq xmm5, xmm4
pmaxsw xmm1, xmm5
add rdi, 0x700
cmp rsi, rdi
jne 0x1400c7e50
pmaxsw xmm0, xmm1
pshufd xmm1, xmm0, 0xee
pmaxsw xmm1, xmm0
pshufd xmm0, xmm1, 0x55
pmaxsw xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
pmaxsw xmm1, xmm0
movd esi, xmm1
cmp r11, r8
je 0x1400c7fb2
imul rdi, r11, 0x70
add rax, rdi
add rax, 0x5a
sub r8, r11
nop word [rax + rax]
movzx ebx, word [rax]
cmp si, bx
cmovle esi, ebx
add rax, 0x70
dec r8
jne 0x1400c7fa0
inc esi
mov r8, qword [r10 + 0x18]
movsxd rcx, ecx
imul rcx, rcx, 0x70
movzx ebx, byte [r8 + rcx + 0x6d]
and dl, 3
and bl, 0xfc
or bl, dl
mov byte [r8 + rcx + 0x6d], bl
lea rdi, [r8 + rcx]
add rdi, 0x5a
test dl, dl
je 0x1400c7ff5
cmp word [rdi], 0xffff
je 0x1400c7ff9
mov edx, r9d
xor dl, 1
jne 0x1400c7ff9
cmp dword [r10 + 0x6c], 0
jg 0x1400c8003
jmp 0x1400c8070
mov si, 0xffff
mov word [rdi], si
cmp dword [r10 + 0x6c], 0
jle 0x1400c8070
add r8, rcx
xor ecx, ecx
xor edx, edx
jmp 0x1400c8027
mov word [rdi + rcx + 0x5a], 0xffff
inc rdx
movsxd rax, dword [r10 + 0x6c]
add rcx, 0x70
cmp rdx, rax
jge 0x1400c8070
mov rdi, qword [r10 + 0x18]
lea rbx, [rdi + rcx]
cmp rbx, r8
sete bl
or bl, r9b
je 0x1400c8010
cmp word [rdi + rcx + 0x5a], 0xffff
je 0x1400c8017
movzx eax, byte [rdi + rcx + 0x6d]
mov esi, eax
shr esi, 4
mov ebx, eax
and ebx, 3
bt esi, ebx
jb 0x1400c8017
movzx ebx, byte [rdi + rcx + 0x6e]
and bl, 3
and al, 0xfc
or al, bl
mov byte [rdi + rcx + 0x6d], al
mov byte [r10 + 0x239], 1
jmp 0x1400c8017
mov byte [r10 + 0x23e], 1
mov byte [r10 + 0x239], 1
pop rbx
pop rdi
pop rsi
ret