Function at 0x140024ae0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov r15, rcx
mov r14, qword [0x1400f7448]
mov rax, qword [r14]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea r12, [rsp + 0x30]
xor ebp, ebp
mov r8d, 0xcccccccd
xor eax, eax
xor ebx, ebx
nop word cs:[rax + rax]
mov edi, edx
imul rdi, r8
shr rdi, 0x23
lea ecx, [rdi + rdi]
lea ecx, [rcx + rcx*4]
mov esi, edx
sub esi, ecx
or sil, 0x30
mov byte [rsp + rbx + 0x2f], sil
add rbx, 0xffffffffffffffff
add al, 2
add rbp, 1
cmp edx, 9
mov edx, edi
ja 0x140024b20
mov r13, rbx
neg r13
cmp r13, 0xfffffffffffffff0
jae 0x140024d8a
cmp r13, 0x16
ja 0x140024b78
mov byte [r15], al
mov rax, r15
add rax, 1
test rbx, rbx
jne 0x140024ba4
jmp 0x140024d63
mov edi, 0x10
sub rdi, rbx
and rdi, 0xfffffffffffffff0
mov rcx, rdi
call fcn.1400c1200
mov qword [r15 + 0x10], rax
or rdi, 1
mov qword [r15], rdi
mov qword [r15 + 8], r13
test rbx, rbx
je 0x140024d63
lea rcx, [rsp + rbx]
add rcx, 0x30
cmp r13, 0x20
jb 0x140024cde
mov rdx, rcx
sub rdx, rbx
cmp rax, rdx
jae 0x140024bd0
mov rdx, rax
sub rdx, rbx
cmp rcx, rdx
jb 0x140024cde
mov r8, r13
and r8, 0xffffffffffffffe0
lea rdx, [r8 - 0x20]
mov rcx, rdx
shr rcx, 5
add rcx, 1
cmp rdx, 0x60
jae 0x140024bf0
xor edx, edx
jmp 0x140024c61
mov rdi, rcx
and rdi, 0xfffffffffffffffc
xor edx, edx
nop dword [rax]
lea rsi, [rsp + rdx]
add rsi, 0x24
movups xmm0, xmmword [rbx + rsi + 0xc]
movups xmm1, xmmword [rbx + rsi + 0x1c]
movups xmmword [rax + rdx], xmm0
movups xmmword [rax + rdx + 0x10], xmm1
movups xmm0, xmmword [rbx + rsi + 0x2c]
movups xmm1, xmmword [rbx + rsi + 0x3c]
movups xmmword [rax + rdx + 0x20], xmm0
movups xmmword [rax + rdx + 0x30], xmm1
movups xmm0, xmmword [rbx + rsi + 0x4c]
movups xmm1, xmmword [rbx + rsi + 0x5c]
movups xmmword [rax + rdx + 0x40], xmm0
movups xmmword [rax + rdx + 0x50], xmm1
movups xmm0, xmmword [rbx + rsi + 0x6c]
movups xmm1, xmmword [rbx + rsi + 0x7c]
movups xmmword [rax + rdx + 0x60], xmm0
movups xmmword [rax + rdx + 0x70], xmm1
sub rdx, 0xffffffffffffff80
add rdi, 0xfffffffffffffffc
jne 0x140024c00
test cl, 3
je 0x140024cbf
lea rdi, [rdx + rax]
add rdi, 0x10
mov ecx, r13d
and cl, 0x60
add cl, 0xe0
shr cl, 5
add cl, 1
movzx r9d, cl
and r9d, 3
shl r9, 5
lea rcx, [rsp + 0x24]
add rdx, rcx
add rdx, 0x1c
xor ecx, ecx
nop word [rax + rax]
lea rsi, [rdx + rcx]
movups xmm0, xmmword [rbx + rsi - 0x10]
movups xmm1, xmmword [rbx + rsi]
movups xmmword [rdi + rcx - 0x10], xmm0
movups xmmword [rdi + rcx], xmm1
add rcx, 0x20
cmp r9, rcx
jne 0x140024ca0
add rax, r8
cmp r13, r8
je 0x140024d63
and rbp, 0xffffffffffffffe0
lea rcx, [rsp + rbp]
add rcx, 0x24
add rcx, rbx
add rcx, 0xc
lea rbp, [rsp + 0x24]
mov edx, ebp
sub edx, ecx
add edx, 4
sub rbp, rcx
add rbp, 0xb
and rdx, 7
je 0x140024d13
nop word [rax + rax]
movzx ebx, byte [rcx]
mov byte [rax], bl
add rcx, 1
add rax, 1
add rdx, 0xffffffffffffffff
jne 0x140024d00
cmp rbp, 7
jb 0x140024d63
nop dword [rax]
movzx edx, byte [rcx]
mov byte [rax], dl
movzx edx, byte [rcx + 1]
mov byte [rax + 1], dl
movzx edx, byte [rcx + 2]
mov byte [rax + 2], dl
movzx edx, byte [rcx + 3]
mov byte [rax + 3], dl
movzx edx, byte [rcx + 4]
mov byte [rax + 4], dl
movzx edx, byte [rcx + 5]
mov byte [rax + 5], dl
movzx edx, byte [rcx + 6]
mov byte [rax + 6], dl
movzx edx, byte [rcx + 7]
mov byte [rax + 7], dl
add rax, 8
add rcx, 8
cmp rcx, r12
jne 0x140024d20
mov byte [rax], 0
mov rax, qword [rsp + 0x30]
xor rax, rsp
mov rcx, qword [r14]
cmp rcx, rax
jne 0x140024d8f
mov rax, r15
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call fcn.1400763e0
int3