Function at 0x1400a5990
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rdi
movzx r8d, byte [rcx + 0x91]
mov r9, rcx
movzx edi, byte [rcx + 0x92]
movzx eax, r8b
and al, 0xc
neg al
mov eax, dword [rcx + 0x254]
sbb r10b, r10b
and r10b, 4
neg eax
movzx eax, byte [rcx + 0x220]
sbb dl, dl
and r8b, 3
and dl, 0xe
shl r8b, 3
or r10b, dl
and al, 1
or r10b, r8b
or r10b, al
cmp dil, r10b
je 0x1400a5d60
mov qword [rsp + 0x10], rbx
lea rdx, [rcx + 0xbb8]
mov qword [rsp + 0x18], rbp
movzx eax, r10b
and al, 3
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
lea r14, section..text
mov byte [rcx + 0x92], r10b
cmp al, 1
jne 0x1400a5a46
movzx eax, word [0x1401c3e16]
movzx ecx, word [0x1401c3e1c]
add rax, r14
movzx r8d, word [0x1401c3e22]
add rcx, r14
movzx r11d, word [0x1401c3e2a]
add r8, r14
movzx ebx, word [0x1401c3e30]
jmp 0x1400a5a6a
mov rax, qword [rdx + 0x738]
mov rcx, qword [rdx + 0x750]
mov r8, qword [rdx + 0x768]
movzx r11d, word [0x1401c3e2c]
movzx ebx, word [0x1401c3e32]
lea rsi, [rbx + r14]
mov qword [rdx + 0x730], rax
lea rbp, [r11 + r14]
mov qword [rdx + 0x748], rcx
movzx ebx, r10b
mov qword [rdx + 0x760], r8
movzx r11d, r10b
xor bl, dil
and r11b, 6
test bl, 6
je 0x1400a5bbe
test r11b, r11b
jne 0x1400a5b54
mov rcx, rdx
lea rax, [rdx + 0x4d8]
mov r8d, 5
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub r8, 1
jne 0x1400a5ac0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rax + 0x20]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov qword [rcx + 0x20], rax
test r10b, 0x10
je 0x1400a5c1a
lea rax, [0x1400040ec]
mov qword [rdx + 0x228], rax
mov qword [rdx + 0x230], rax
mov qword [rdx + 0x238], rax
jmp 0x1400a5c13
lea rax, [0x1400040d1]
test r10b, 2
lea rcx, [0x1400040f9]
mov r8d, 0xa
cmovne rcx, rax
mov rax, rdx
nop dword [rax]
nop word [rax + rax]
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], rcx
mov qword [rax - 0x18], rcx
mov qword [rax - 0x10], rcx
mov qword [rax - 8], rcx
sub r8, 1
jne 0x1400a5b80
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
jmp 0x1400a5c1a
test r11b, r11b
jne 0x1400a5c1a
mov qword [rdx + 0x258], rax
mov qword [rdx + 0x270], rcx
mov qword [rdx + 0x288], r8
test r10b, 0x10
jne 0x1400a5b33
mov rax, qword [rdx + 0x700]
mov qword [rdx + 0x228], rax
mov rax, qword [rdx + 0x708]
mov qword [rdx + 0x230], rax
mov rax, qword [rdx + 0x710]
mov qword [rdx + 0x238], rax
mov rax, qword [rdx + 0x718]
mov qword [rdx + 0x240], rax
test bl, 8
mov rbx, qword [rsp + 0x10]
je 0x1400a5cd0
lea rax, [rdx + 0x2a8]
test r10b, 8
jne 0x1400a5c78
lea r8, [0x1401c3e2c]
mov r11d, 0x23
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r8 - 2]
lea rax, [rax + 0x10]
add rcx, r14
lea r8, [r8 + 4]
mov qword [rax - 0x10], rcx
movzx ecx, word [r8 - 4]
add rcx, r14
mov qword [rax - 8], rcx
sub r11, 1
jne 0x1400a5c50
jmp 0x1400a5cd0
lea r8, [0x140004177]
mov ecx, 8
nop dword [rax]
nop dword [rax + rax]
mov qword [rax], r8
mov qword [rax + 8], r8
mov qword [rax + 0x10], r8
lea rax, [rax + 0x40]
mov qword [rax - 0x28], r8
mov qword [rax - 0x20], r8
mov qword [rax - 0x18], r8
mov qword [rax - 0x10], r8
mov qword [rax - 8], r8
sub rcx, 1
jne 0x1400a5c90
mov qword [rax], r8
mov qword [rax + 8], r8
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r8
mov qword [rax + 0x28], r8
mov r14, qword [rsp + 0x28]
test r10b, 8
jne 0x1400a5ce9
mov qword [rdx + 0x2a8], rbp
mov qword [rdx + 0x2c0], rsi
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x18]
test r10b, 1
je 0x1400a5d60
test dil, 1
jne 0x1400a5d60
movzx eax, word [r9 + 0x7a4]
add ax, ax
dec ax
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or ecx, eax
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movups xmmword [r9 + 0xb38], xmm0
movups xmmword [r9 + 0xb48], xmm0
movups xmmword [r9 + 0xb58], xmm0
movups xmmword [r9 + 0xb68], xmm0
movups xmmword [r9 + 0xb78], xmm0
movups xmmword [r9 + 0xb88], xmm0
movups xmmword [r9 + 0xb98], xmm0
movups xmmword [r9 + 0xba8], xmm0
pop rdi
ret