Function at 0x140100db0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
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
sub rsp, 0x40
movsxd rax, dword [rdx + 4]
xor r13d, r13d
mov rbp, qword [rcx + 8]
test eax, eax
mov r9, rax
mov r10, rdx
mov rax, qword [rcx]
cmovs r9, r13
mov rbx, r8
mov rdx, r9
mov r8d, r13d
mov ecx, 1
movsd xmm0, qword [r10]
movzx r11d, byte [rax]
cmp r11b, 0x30
movsd qword [rsp + 0x20], xmm0
setle r8b
sub rbp, r8
sub rdx, rbp
cmp rbp, r9
lea r12, [rax + r8]
mov eax, dword [r10 + 8]
mov dword [rsp + 0x28], eax
cmovae rdx, r13
movzx eax, byte [rsp + 0x20]
sub al, 2
mov qword [rsp + 0x70], r12
cmp al, cl
ja 0x140100e6e
cmp r11b, 0x2d
jne 0x140100e45
lea r15, [0x140153d2c]
mov edi, ecx
jmp 0x140100e74
mov rax, qword [rsp + 0x20]
shr rax, 8
test al, 2
je 0x140100e5e
lea r15, [0x140153d30]
mov rdi, rcx
jmp 0x140100e74
test al, 4
je 0x140100e6e
lea r15, [0x1401427a4]
mov rdi, rcx
jmp 0x140100e74
mov r15, r13
mov rdi, r13
mov eax, dword [r10 + 8]
mov r9, rdx
sub r9, rdi
mov dword [rsp + 0x28], eax
cmp rdi, rdx
movsd qword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x20]
cmovae r9, r13
mov rax, rdx
shr rax, 8
test al, 8
jne 0x140100ea9
cmp dl, 0x11
je 0x140100ea9
xor r8b, r8b
jmp 0x140100ead
movzx r8d, cl
lea eax, [rdx - 6]
cmp al, cl
jbe 0x140100ebd
cmp dl, 0x11
je 0x140100ebd
xor al, al
jmp 0x140100ec0
movzx eax, cl
test r8b, r8b
je 0x140100efb
test al, al
je 0x140100efb
test rbp, rbp
je 0x140100efb
cmp dl, 7
lea rax, [0x140153d28]
lea r14, [0x1401427a8]
mov rsi, 0xffffffffffffffff
cmove r14, rax
nop word [rax + rax]
inc rsi
cmp byte [r14 + rsi], r13b
jne 0x140100ef0
jmp 0x140100f01
mov r14, r13
mov rsi, r13
movsxd rax, dword [r10 + 8]
mov rdx, r9
sub rdx, rsi
cmp rsi, r9
mov r9d, eax
cmovae rdx, r13
shr r9d, 0x1f
xor r9b, cl
je 0x140100f21
mov rcx, rax
movzx r11d, byte [r10 + 1]
test r11b, 8
je 0x140100f49
cmp byte [r10], 4
jne 0x140100f49
test rbp, rbp
je 0x140100f3e
cmp byte [r12], 0x30
je 0x140100f49
lea rax, [rbp + 1]
cmp rcx, rax
cmovb rcx, rax
mov r8, rcx
sub r8, rbp
cmp rbp, rcx
mov rcx, rdx
cmovae r8, r13
sub rcx, r8
mov r12, r8
cmp r8, rdx
mov rdx, r13
cmovae rcx, r13
test r11b, 1
cmove rdx, rcx
cmovne r13, rcx
test r9b, r9b
jne 0x140100f86
test r11b, 0x10
je 0x140100f86
lea r12, [r8 + rdx]
xor edx, edx
mov r8b, 0x20
mov rcx, rbx
call fcn.140100c40
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x140101004
mov rcx, qword [rbx + 0x18]
mov rax, rbx
add qword [rbx + 0x10], rdi
sub rax, rcx
add rax, 0x420
cmp rdi, rax
jb 0x140100ff5
sub rcx, rbx
lea rdi, [rbx + 0x20]
sub rcx, 0x20
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x20]
mov rcx, qword [rbx]
call qword [rbx + 8]
movaps xmm0, xmmword [rsp + 0x30]
lea rdx, [rsp + 0x30]
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx]
movdqa xmmword [rsp + 0x30], xmm0
call qword [rbx + 8]
jmp 0x140101004
mov r8, rdi
mov rdx, r15
call fcn.14013aa60
add qword [rbx + 0x18], rdi
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rsi
test rsi, rsi
je 0x140101077
mov rcx, qword [rbx + 0x18]
mov rax, rbx
add qword [rbx + 0x10], rsi
sub rax, rcx
add rax, 0x420
cmp rsi, rax
jb 0x140101068
sub rcx, rbx
lea rdi, [rbx + 0x20]
sub rcx, 0x20
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x30]
mov rcx, qword [rbx]
call qword [rbx + 8]
movaps xmm0, xmmword [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx]
movdqa xmmword [rsp + 0x30], xmm0
call qword [rbx + 8]
jmp 0x140101077
mov r8, rsi
mov rdx, r14
call fcn.14013aa60
add qword [rbx + 0x18], rsi
mov r8b, 0x30
mov rdx, r12
mov rcx, rbx
call fcn.140100c40
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rbp
test rbp, rbp
je 0x1401010fa
mov rcx, qword [rbx + 0x18]
mov rax, rbx
add qword [rbx + 0x10], rbp
sub rax, rcx
add rax, 0x420
cmp rbp, rax
jb 0x1401010ee
sub rcx, rbx
lea rdi, [rbx + 0x20]
sub rcx, 0x20
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x30]
mov rcx, qword [rbx]
call qword [rbx + 8]
movaps xmm0, xmmword [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx]
movdqa xmmword [rsp + 0x30], xmm0
call qword [rbx + 8]
jmp 0x1401010fa
mov r8, rbp
call fcn.14013aa60
add qword [rbx + 0x18], rbp
mov r8b, 0x20
mov rdx, r13
mov rcx, rbx
call fcn.140100c40
lea r11, [rsp + 0x40]
mov al, 1
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