Function at 0x1400ceaf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x170
vpxor xmm0, xmm0, xmm0
mov rbp, rdx
lea rbx, [rsp + 0xe0]
vmovdqu ymmword [rsp + 0x100], ymm0
vmovdqu ymmword [rsp + 0xe0], ymm0
shr rbp, 3
mov r13, rcx
mov r12, rdx
mov rsi, r8
mov rdx, rcx
mov qword [rsp + 0x11c], 0x10000
mov dword [rsp + 0x124], 0
mov qword [rsp + 0x168], 0
mov r8d, ebp
mov rcx, rbx
vzeroupper
movsxd r14, ebp
call sym.Transform
mov eax, ebp
sar eax, 0x1f
shr eax, 0x1a
lea edx, [rax + rbp]
and edx, 0x3f
sub edx, eax
mov eax, ebp
sub eax, edx
cmp ebp, eax
jle 0x1400cee43
sub ebp, eax
lea rdi, [rsp + 0x128]
cdqe
lea ecx, [rbp - 1]
lea rdx, [r13 + rax]
lea r8, [rcx + 1]
mov rcx, rdi
call sym.memcpy
and r12d, 7
movsxd rcx, ebp
lea eax, [rbp + 1]
je 0x1400cee1d
mov r8d, 1
mov r9d, 8
mov dword [rsp + 0x168], eax
mov dword [rsp + 0x16c], 0
shlx edx, r8d, r12d
sub r9d, r12d
dec edx
shlx edx, edx, r9d
and dl, byte [r13 + r14]
mov r9d, 7
sub r9d, r12d
shlx r8d, r8d, r9d
xor edx, r8d
mov byte [rsp + rcx + 0x128], dl
cmp eax, 0x38
jle 0x1400cee38
cmp eax, 0x3f
jg 0x1400cec35
mov edx, 0x40
movsxd rcx, eax
sub edx, eax
lea r8, [rbx + rcx + 0x48]
je 0x1400cec2a
xor eax, eax
mov ecx, eax
inc eax
mov byte [r8 + rcx], 0
cmp eax, edx
jb 0x1400cec1d
mov dword [rsp + 0x168], 0x40
mov r8d, 0x40
mov rdx, rdi
mov rcx, rbx
call sym.Transform
xor eax, eax
lea ecx, [rax + 0x48]
mov r8d, 0x38
xor edx, edx
movsxd rcx, ecx
sub r8d, eax
add rcx, rbx
call sym.memset
mov r9d, dword [rsp + 0x120]
inc r9d
jne 0x1400cec75
inc dword [rsp + 0x124]
mov r8d, dword [rsp + 0x124]
movzx eax, r9b
mov r11d, r9d
mov r10d, r9d
shl rax, 8
shr r11d, 0x10
shr r10d, 0x18
mov dword [rsp + 0x168], 0x38
mov qword [rsp + 0x120], 0
lea rbp, [rsp + 0x20]
mov edx, r8d
mov ecx, r8d
shr edx, 0x18
shr ecx, 0x10
mov r14d, edx
mov edx, r9d
movzx r9d, r11b
movzx ecx, cl
movzx edx, dh
or rax, rdx
mov edx, r8d
shl rax, 8
movzx edx, dh
or rax, r9
movzx r9d, r10b
shl rax, 8
or rax, r9
movzx r9d, r8b
mov r8d, 0x40
shl rax, 8
or rax, r9
shl rax, 8
or rax, rdx
movzx edx, r14b
shl rax, 8
or rax, rcx
mov rcx, rbx
lea rbx, [rsp + 0x60]
shl rax, 8
or rax, rdx
mov rdx, rdi
lea rdi, [rsp + 0xa0]
mov qword [rsp + 0x160], rax
call sym.Transform
vmovdqu ymm1, ymmword [rsp + 0xe0]
xor r8d, r8d
vmovdqu ymm2, ymmword [rsp + 0x100]
mov rdx, rbx
mov rcx, rbp
vmovdqu ymmword [rsp + 0x20], ymm1
vmovdqu ymmword [rsp + 0x40], ymm2
call sym.RND512P
mov rdx, rdi
mov rcx, rbx
mov r8d, 1
call sym.RND512P
mov rdx, rbx
mov rcx, rdi
mov r8d, 2
call sym.RND512P
mov rdx, rdi
mov rcx, rbx
mov r8d, 3
call sym.RND512P
mov rdx, rbx
mov rcx, rdi
mov r8d, 4
call sym.RND512P
mov rdx, rdi
mov rcx, rbx
mov r8d, 5
call sym.RND512P
mov rdx, rbx
mov rcx, rdi
mov r8d, 6
call sym.RND512P
mov rdx, rdi
mov rcx, rbx
mov r8d, 7
call sym.RND512P
mov rdx, rbx
mov rcx, rdi
mov r8d, 8
call sym.RND512P
mov r8d, 9
mov rdx, rbp
mov rcx, rbx
call sym.RND512P
vmovdqu ymm3, ymmword [rsp + 0x100]
vpxor ymm0, ymm3, ymmword [rsp + 0x40]
vmovdqu ymmword [rsi], ymm0
vzeroupper
add rsp, 0x170
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
movsxd rbp, ebp
mov dword [rsp + 0x168], eax
mov byte [rsp + rbp + 0x128], pe_nt_image_headers64
cmp eax, 0x38
jg 0x1400cec05
jne 0x1400cec48
jmp 0x1400cec61
and r12d, 7
jne 0x1400cee63
mov byte [rsp + 0x128], pe_nt_image_headers64
mov eax, 1
lea rdi, [rsp + 0x128]
jmp 0x1400cec48
movsxd r14, eax
xor ecx, ecx
mov eax, 1
lea rdi, [rsp + 0x128]
jmp 0x1400cebb2