Function at 0x14005a550
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov dword [rsp + 0x34], 0
lea r8, [rsp + 0x38]
mov edx, pe_nt_image_headers64
lea rcx, [rsp + 0x48]
call fcn.14005a170
mov dword [rsp + 0x2c], 0
jmp 0x14005a596
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x100
jge 0x14005a5b4
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0x2c]
mov byte [rcx + rax], dl
jmp 0x14005a58c
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx]
mov rax, qword [rax + 8]
sub rax, rcx
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x24], 0
jmp 0x14005a5f7
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0x100
jge 0x14005a6be
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
movsxd rcx, dword [rsp + 0x24]
xor edx, edx
mov rax, rcx
div qword [rsp + 0x70]
mov rax, rdx
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x34], eax
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x20], al
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
movzx edx, byte [rdx]
mov byte [rcx + rax], dl
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax], dl
jmp 0x14005a5ed
mov qword [rsp + 0x40], 0
jmp 0x14005a6d6
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x40], rax
jae 0x14005a81a
mov eax, dword [rsp + 0x28]
inc eax
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x21], al
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
movzx edx, byte [rdx]
mov byte [rcx + rax], dl
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0x21]
mov byte [rcx + rax], dl
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x90]
movzx ecx, byte [rcx]
add ecx, eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
cdqe
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xb8]
add rdx, rcx
mov rcx, rdx
movzx ecx, byte [rcx]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xb8]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
jmp 0x14005a6c9
lea rcx, [rsp + 0x48]
call fcn.14005a9f0
add rsp, 0xa8
ret