Function at 0x14000d270
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x14000d286
mov rax, qword [rcx + 0x48]
cmp rax, 0x7f
jbe 0x14000d28d
xor eax, eax
jmp 0x14000d609
lea r9, [rax*8]
lea r8, [rax + 1]
lea rdi, [rcx + 0x50]
mov rsi, rdx
add qword [rcx], r9
mov qword [rcx + 0x48], r8
mov byte [rcx + rax + 0x50], 0x80
mov rax, qword [rcx + 0x48]
cmp rax, 0x71
jb 0x14000d384
cmp rax, 0x7f
ja 0x14000d374
mov r9d, eax
neg r9d
mov r8, rax
xor r8, 0x7f
and r9d, 7
je 0x14000d611
nop dword [rax + rax]
lea rdx, [rax + 1]
dec r9
mov qword [rcx + 0x48], rdx
mov byte [rcx + rax + 0x50], 0
mov rax, rdx
jne 0x14000d2e0
cmp r8, 7
jb 0x14000d374
nop dword [rax + rax]
lea rax, [rdx + 1]
lea r8, [rdx + 2]
lea r9, [rdx + 3]
mov qword [rcx + 0x48], rax
mov byte [rcx + rdx + 0x50], 0
mov qword [rcx + 0x48], r8
lea r8, [rdx + 4]
mov byte [rcx + rdx + 0x51], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x52], 0
lea r9, [rdx + 5]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 6]
mov byte [rcx + rdx + 0x53], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x54], 0
lea r9, [rdx + 7]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 8]
mov byte [rcx + rdx + 0x55], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x56], 0
mov qword [rcx + 0x48], r8
mov byte [rcx + rdx + 0x57], 0
mov rdx, r8
cmp r8, 0x80
jne 0x14000d300
mov rdx, rdi
mov rbx, rcx
call fcn.14000c370
mov rcx, rbx
xor eax, eax
mov r8d, eax
neg r8d
mov rdx, rax
and r8d, 7
je 0x14000d3b6
mov r9, rax
nop word cs:[rax + rax]
lea rdx, [r9 + 1]
dec r8
mov qword [rcx + 0x48], rdx
mov byte [rcx + r9 + 0x50], 0
mov r9, rdx
jne 0x14000d3a0
add rax, 0xffffffffffffff8f
cmp rax, 7
jb 0x14000d431
lea rax, [rdx + 1]
lea r8, [rdx + 2]
lea r9, [rdx + 3]
mov qword [rcx + 0x48], rax
mov byte [rcx + rdx + 0x50], 0
mov qword [rcx + 0x48], r8
lea r8, [rdx + 4]
mov byte [rcx + rdx + 0x51], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x52], 0
lea r9, [rdx + 5]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 6]
mov byte [rcx + rdx + 0x53], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x54], 0
lea r9, [rdx + 7]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 8]
mov byte [rcx + rdx + 0x55], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x56], 0
mov qword [rcx + 0x48], r8
mov byte [rcx + rdx + 0x57], 0
mov rdx, r8
cmp r8, 0x78
jne 0x14000d3c0
mov rax, qword [rcx]
mov rdx, rdi
mov rbx, rcx
movbe qword [rcx + 0xc8], rax
call fcn.14000c370
movzx eax, byte [rbx + 0xf]
mov byte [rsi], al
movzx eax, byte [rbx + 0xe]
mov byte [rsi + 1], al
movzx eax, byte [rbx + 0xd]
mov byte [rsi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rsi + 3], al
movzx eax, byte [rbx + 0xb]
mov byte [rsi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rsi + 5], al
movzx eax, byte [rbx + 9]
mov byte [rsi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rsi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rsi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rsi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rsi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rsi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rsi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov byte [rsi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rsi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov byte [rsi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rsi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rsi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rsi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rsi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rsi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rsi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rsi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rsi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rsi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rsi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rsi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rsi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rsi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rsi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rsi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rsi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rsi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov byte [rsi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rsi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov byte [rsi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rsi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov byte [rsi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rsi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov byte [rsi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rsi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rsi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rsi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov byte [rsi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rsi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov byte [rsi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rsi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rsi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov byte [rsi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov byte [rsi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rsi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rsi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov byte [rsi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rsi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov byte [rsi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rsi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov byte [rsi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rsi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rsi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rsi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rsi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov byte [rsi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rsi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov byte [rsi + 0x3f], al
mov al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rdx, rax
cmp r8, 7
jae 0x14000d300
jmp 0x14000d374