Function at 0x14023e840
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0x58
call fcn.14028b850
sub rsp, rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
jmp 0x14023e89f
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
add rax, 4
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x68]
imul rax, rax, 0x20
cmp qword [rsp + 0x28], rax
jae 0x14023e950
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
shl edx, 8
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
or ecx, edx
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
shl edx, 0x10
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
or ecx, edx
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
shl edx, 0x18
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
or ecx, edx
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
jmp 0x14023e883
mov qword [rsp + 0x28], 1
jmp 0x14023e980
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x68]
imul rcx, rcx, 0x20
mov rax, qword [rsp + 0x20]
lea rax, [rax + rcx*4]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x28], rax
jae 0x14023e9b2
mov rax, qword [rsp + 0x68]
imul rax, rax, 0x20
shl rax, 2
mov rdx, qword [rsp + 0x20]
sub rdx, rax
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x20]
call fcn.14023eba0
jmp 0x14023e95b
mov rcx, qword [rsp + 0x70]
sub rcx, 1
imul rcx, rcx, 0x20
imul rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x88]
lea rdx, [rax + rcx*4]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
call fcn.14023eba0
mov qword [rsp + 0x28], 0
jmp 0x14023e9f9
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x28], rax
jae 0x14023eac7
mov rcx, qword [rsp + 0x68]
lea rcx, [rcx + rcx - 1]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + rcx*4]
xor edx, edx
div qword [rsp + 0x70]
mov dword [rsp + 0x40], edx
mov rcx, qword [rsp + 0x68]
imul rcx, rcx, 0x20
mov eax, dword [rsp + 0x40]
imul rcx, rax
mov rax, qword [rsp + 0x88]
lea rax, [rax + rcx*4]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], 0
jmp 0x14023ea65
mov rax, qword [rsp + 0x38]
add rax, 1
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x68]
imul rax, rax, 0x20
cmp qword [rsp + 0x38], rax
jae 0x14023eaab
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax]
mov edx, dword [rdx + rcx*4]
xor edx, eax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x38]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x20]
add rax, 4
mov qword [rsp + 0x20], rax
jmp 0x14023ea57
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
call fcn.14023eba0
jmp 0x14023e9eb
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
jmp 0x14023eaea
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
imul rax, rax, 0x20
cmp qword [rsp + 0x28], rax
jae 0x14023eb99
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x28]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x44], eax
mov ecx, dword [rsp + 0x44]
and ecx, 0xff
mov rax, qword [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x44]
shr ecx, 8
and ecx, 0xff
mov rax, qword [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x44]
shr ecx, 0x10
and ecx, 0xff
mov rax, qword [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x44]
shr ecx, 0x18
and ecx, 0xff
mov rax, qword [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x30], rax
jmp 0x14023eadc
add rsp, 0x58
ret