Function at 0x140132970
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov edx, dword [r8 + 0x10]
mov r8d, dword [r8 + 0x14]
shl rdx, 0x10
shl r8, 0x28
add rdx, r8
movabs r8, 0xc03349c08b49
mov rbx, rcx
mov rcx, qword [rcx + 0x20]
add rdx, r8
mov r9d, dword [rbx + 0x28]
mov rax, r9
mov qword [rcx + r9], rdx
mov rdx, qword [0x1404c7360]
add eax, 6
mov dword [rbx + 0x28], eax
mov r8d, dword [rdx + 0x160]
add rcx, rax
add rdx, 0x144
mov rsi, r8
call sub.msvcrt.dll_memcpy
add esi, dword [rbx + 0x28]
lea r8, [0x1401314fa]
lea rdx, [0x1401314ae]
mov rdi, r8
mov dword [rbx + 0x28], esi
mov ecx, esi
add rcx, qword [rbx + 0x20]
sub rdi, rdx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov r8d, edi
add r8d, dword [rbx + 0x28]
cmp byte [rbx + 0x50], 0
mov dword [rbx + 0x28], r8d
je 0x1401326f8
lea eax, [r8 + 9]
xor eax, r8d
cmp eax, 0x1f
ja 0x140132780
mov r9, qword [rbx + 0x20]
mov eax, r8d
lea rcx, [0x1401310c0]
lea edx, [r8 + 5]
movabs rsi, 0x850f01eb83
mov qword [r9 + rax], rsi
lea rax, [0x140131300]
sub rax, rcx
mov dword [rbx + 0x28], edx
sub eax, 4
sub eax, edx
mov dword [r9 + rdx], eax
mov eax, dword [rbx + 0x28]
lea r9, [0x140131bc0]
mov rdx, qword [rbx + 0x20]
add eax, 4
mov dword [rbx + 0x28], eax
mov byte [rdx + rax], 0xe9
mov eax, dword [rbx + 0x28]
mov r8, qword [rbx + 0x20]
lea ecx, [rax + 1]
lea rax, [0x140131b00]
sub eax, r9d
mov dword [rbx + 0x28], ecx
add eax, 0x10000
and eax, 0xffffffc0
sub eax, 4
sub eax, ecx
mov dword [r8 + rcx], eax
add dword [rbx + 0x28], 4
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov eax, r8d
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
cmp ecx, 8
ja 0x1401327f0
mov edx, 0x1f
mov r9, qword [rbx + 0x20]
mov r10d, ecx
sub edx, eax
lea rax, [0x140461be0]
mov rdx, qword [rax + rdx*8]
add r8, r9
mov eax, r10d
cmp r10d, 8
jae 0x140132860
test r10b, 4
jne 0x140132908
test r10d, r10d
je 0x1401327de
movzx eax, byte [rdx]
mov byte [r8], al
test r10b, 2
jne 0x140132920
mov r9, qword [rbx + 0x20]
add ecx, dword [rbx + 0x28]
mov r8d, ecx
jmp 0x1401326fc
mov r9, qword [rbx + 0x20]
mov edx, 0x18
mov ecx, 0x17
sub ecx, eax
sub edx, eax
lea rax, [0x140461be0]
mov rax, qword [rax + rcx*8]
add r8, r9
cmp edx, 8
jae 0x1401328b0
test dl, 4
jne 0x140132935
test edx, edx
je 0x140132839
movzx ecx, byte [rax]
mov byte [r8], cl
test dl, 2
jne 0x14013294e
mov r9, qword [rbx + 0x20]
add edx, dword [rbx + 0x28]
mov r10d, 8
mov ecx, 8
mov r8d, edx
lea rdx, [0x140461c38]
mov dword [rbx + 0x28], r8d
jmp 0x1401327ab
mov rax, qword [rdx]
lea r9, [r8 + 8]
and r9, 0xfffffffffffffff8
mov qword [r8], rax
mov rax, qword [rdx + r10 - 8]
mov qword [r10 + r8 - 8], rax
sub r8, r9
lea eax, [r10 + r8]
sub rdx, r8
and eax, 0xfffffff8
cmp eax, 8
jb 0x1401327da
and eax, 0xfffffff8
xor r8d, r8d
mov r10d, r8d
add r8d, 8
mov r11, qword [rdx + r10]
mov qword [r9 + r10], r11
cmp r8d, eax
jb 0x140132894
jmp 0x1401327da
mov rcx, qword [rax]
mov qword [r8], rcx
mov ecx, edx
mov r9, qword [rax + rcx - 8]
mov qword [r8 + rcx - 8], r9
lea rcx, [r8 + 8]
and rcx, 0xfffffffffffffff8
sub r8, rcx
sub rax, r8
add r8d, edx
and r8d, 0xfffffff8
cmp r8d, 8
jb 0x140132835
and r8d, 0xfffffff8
xor r9d, r9d
mov r10d, r9d
add r9d, 8
mov r11, qword [rax + r10]
mov qword [rcx + r10], r11
cmp r9d, r8d
jb 0x1401328e8
jmp 0x140132835
mov r9d, dword [rdx]
mov dword [r8], r9d
mov edx, dword [rdx + rax - 4]
mov dword [r8 + rax - 4], edx
mov r9, qword [rbx + 0x20]
jmp 0x1401327de
movzx eax, word [rdx + r10 - 2]
mov word [r10 + r8 - 2], ax
mov r9, qword [rbx + 0x20]
jmp 0x1401327de
mov ecx, dword [rax]
mov dword [r8], ecx
mov ecx, edx
mov eax, dword [rax + rcx - 4]
mov dword [r8 + rcx - 4], eax
mov r9, qword [rbx + 0x20]
jmp 0x140132839
mov ecx, edx
movzx eax, word [rax + rcx - 2]
mov word [r8 + rcx - 2], ax
mov r9, qword [rbx + 0x20]
jmp 0x140132839
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea r12, [0x14013147b]
mov rsi, r12
mov rbx, rcx
mov r13d, r9d
mov rdi, rdx
mov rbp, r8
call fcn.140132180
lea rdx, [0x140131434]
mov ecx, dword [rbx + 0x28]
add rcx, qword [rbx + 0x20]
sub rsi, rdx
shr r13d, 6
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbx + 0x20]
add esi, dword [rbx + 0x28]
mov dword [rbx + 0x28], esi
mov dword [rdx + rsi], 0xc381
mov eax, dword [rbx + 0x28]
lea rsi, [0x1401314ae]
sub rsi, r12
add eax, 2
mov dword [rbx + 0x28], eax
mov dword [rdx + rax], r13d
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x20]
add eax, 4
mov dword [rbx + 0x28], eax
mov byte [rdx + rax], 0xe8
mov eax, dword [rbx + 0x28]
mov edx, 0x7ffc
mov r8, qword [rbx + 0x20]
lea ecx, [rax + 1]
sub edx, ecx
mov dword [rbx + 0x28], ecx
mov dword [r8 + rcx], edx
mov eax, dword [rbx + 0x28]
mov r8, rsi
mov rdx, r12
lea ecx, [rax + 4]
mov dword [rbx + 0x28], ecx
add rcx, qword [rbx + 0x20]
call sub.msvcrt.dll_memcpy
add dword [rbx + 0x28], esi
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp 0x140132650