Function at 0x140001578
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x140019c20
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2f50
call fcn.14000205e
sub rsp, rax
mov rax, qword [0x14015dda8]
xor rax, rsp
mov qword [rsp + 0x2f40], rax
mov rbx, rcx
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x64], r8d
mov edi, 1
mov dword [rsp + 0x68], r9d
nop dword [rax]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x38], rdi
cmp rdi, 0x3e8
jae 0x140019f9b
dec rdi
lea rcx, [rsp + 0x64]
lea rax, [rdi + rdi*2]
movsxd rbp, dword [rsp + rax*4 + 0x60]
lea rcx, [rcx + rax*4]
mov r14d, dword [rsp + rax*4 + 0x68]
lea rax, [rsp + rax*4 + 0x68]
movsxd r15, dword [rcx]
mov qword [rsp + 0x30], rax
mov eax, r15d
sub eax, ebp
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x2c], r15d
mov dword [rsp + 0x20], r14d
cmp eax, 0x14
jl 0x140019f69
cmp r14d, 0xa
jg 0x140019f69
mov r8, qword [rbx + 0x360]
lea eax, [r15 + rbp]
mov r9, qword [rbx + 0x350]
mov r11, r15
movsxd rcx, eax
mov r13d, r15d
sar rcx, 1
mov esi, ebp
mov r12, r11
mov eax, dword [r8 + rcx*4]
add eax, r14d
cdqe
movzx r10d, byte [rax + r9]
mov eax, dword [r8 + r15*4]
add eax, r14d
cdqe
movzx edx, byte [rax + r9]
lea rax, [rbp*4]
mov qword [rsp + 0x40], rax
mov eax, dword [r8 + rax]
add eax, r14d
cdqe
movzx ecx, byte [rax + r9]
mov eax, edx
cmp cl, dl
mov r9d, r15d
mov r15, rbp
cmovbe eax, ecx
cmovbe ecx, edx
movzx r8d, al
movzx eax, cl
cmp al, r10b
cmovbe r10d, eax
movzx eax, r10b
cmp r8b, r10b
cmova eax, r8d
movzx eax, al
mov dword [rsp + 0x24], eax
mov rax, rbp
cmp rax, r11
jg 0x140019e39
nop
mov r10, qword [rbx + 0x360]
mov edi, dword [r10 + rax*4]
lea ecx, [rdi + r14]
movsxd rdx, ecx
mov rcx, qword [rbx + 0x350]
movzx r8d, byte [rdx + rcx]
sub r8d, dword [rsp + 0x24]
jne 0x140019db5
mov ecx, dword [r10 + r15*4]
inc esi
mov dword [r10 + rax*4], ecx
inc ebp
mov dword [r10 + r15*4], edi
inc rax
inc r15
cmp rax, r11
jle 0x140019d70
jmp 0x140019e39
test r8d, r8d
jg 0x140019dc1
inc ebp
inc rax
jmp 0x140019d66
mov ecx, dword [rsp + 0x20]
lea r9d, [r9 - 1]
mov r10, qword [rbx + 0x360]
mov edi, dword [r10 + r11*4]
lea r14, [r10 + r11*4]
add ecx, edi
movsxd rdx, ecx
mov rcx, qword [rbx + 0x350]
movzx r8d, byte [rdx + rcx]
lea rdx, [r11 - 1]
sub r8d, dword [rsp + 0x24]
jne 0x140019e07
mov ecx, dword [r10 + r12*4]
dec r13d
mov dword [r14], ecx
mov dword [r10 + r12*4], edi
dec r12
jmp 0x140019e0c
test r8d, r8d
js 0x140019e16
cmp rax, rdx
jg 0x140019e34
mov r11, rdx
jmp 0x140019dc1
mov ecx, dword [r10 + rax*4]
inc ebp
mov r14d, dword [rsp + 0x20]
mov dword [r10 + rax*4], edi
inc rax
mov dword [r10 + r11*4], ecx
mov r11, rdx
jmp 0x140019d66
mov r14d, dword [rsp + 0x20]
cmp r13d, esi
jge 0x140019e53
mov rcx, qword [rsp + 0x30]
lea eax, [r14 + 1]
mov rdi, qword [rsp + 0x38]
mov dword [rcx], eax
jmp 0x140019f90
movsxd r12, dword [rsp + 0x28]
mov r15d, ebp
sub r15d, esi
sub esi, r12d
cmp esi, r15d
cmovge esi, r15d
test esi, esi
jle 0x140019eaa
mov rdi, qword [rsp + 0x40]
mov eax, ebp
sub eax, esi
movsxd rcx, eax
sub rcx, r12
lea r10, [rcx*4]
mov rdx, qword [rbx + 0x360]
lea rdi, [rdi + 4]
dec esi
mov ecx, dword [rdx + rdi - 4]
lea r8, [rdx + r10]
mov eax, dword [r8 + rdi - 4]
mov dword [rdx + rdi - 4], eax
mov dword [r8 + rdi - 4], ecx
test esi, esi
jg 0x140019e83
mov esi, dword [rsp + 0x2c]
mov eax, r13d
sub eax, r9d
mov r10d, esi
sub r10d, r13d
cmp r10d, eax
cmovge r10d, eax
test r10d, r10d
jle 0x140019f1b
movsxd rdx, ebp
mov eax, esi
sub eax, r10d
movsxd rcx, eax
sub rcx, rdx
lea r11, [rdx*4]
lea rdi, [rcx*4 + 4]
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rbx + 0x360]
lea r11, [r11 + 4]
dec r10d
mov ecx, dword [rdx + r11 - 4]
lea r8, [rdx + rdi]
mov eax, dword [r8 + r11 - 4]
mov dword [rdx + r11 - 4], eax
mov dword [r8 + r11 - 4], ecx
test r10d, r10d
jg 0x140019ef0
mov rdx, qword [rsp + 0x48]
lea ecx, [r15 + r12]
sub r9d, r13d
lea eax, [rcx - 1]
mov dword [rdx], eax
lea r8d, [r9 + rsi]
mov r9, qword [rsp + 0x50]
lea rax, [r9 + r9*2]
lea rdx, [rax*4]
mov dword [rsp + rdx + 0x60], ecx
lea eax, [r14 + 1]
mov dword [rsp + rdx + 0x68], eax
lea rdi, [r9 + 2]
mov dword [rsp + rdx + 0x64], r8d
lea eax, [r8 + 1]
mov dword [rsp + rdx + 0x6c], eax
mov dword [rsp + rdx + 0x70], esi
mov dword [rsp + rdx + 0x74], r14d
jmp 0x140019f90
mov r9d, r14d
mov r8d, r15d
mov edx, ebp
mov rcx, rbx
call fcn.1400071ad
mov eax, dword [rbx + 0x78c]
cmp dword [rbx + 0x788], eax
jle 0x140019f90
cmp byte [rbx + 0x791], 0
jne 0x140019f9f
test rdi, rdi
jg 0x140019c70
jmp 0x140019f9f
mov byte [rbx + 0x10], 1
mov rcx, qword [rsp + 0x2f40]
xor rcx, rsp
call fcn.140003b70
lea r11, [rsp + 0x2f50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret