Function at 0x14011b6a7
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov qword [rsp + 0x40], r8
mov r14d, edx
mov qword [rsp + 0x18], rcx
movsxd rcx, dword [rsp + 0xb8]
movzx eax, byte [rsp + 0xc8]
mov r11d, dword [rsp + 0xb0]
mov r8b, byte [rsp + 0xc0]
lea r10d, [r9 + r9 + 1]
lea r15d, [r9 + r9]
dec r15d
lea ebx, [r11 + r9*2]
mov edx, r9d
add edx, r9d
cmp r11d, edx
mov dword [rsp + 0xc], edx
mov ebp, edx
cmovl ebp, r11d
mov edx, eax
shr dl, 7
add dl, al
xor eax, 0xff
mov esi, eax
shr esi, 7
add esi, eax
movzx eax, dl
shl eax, 0x10
xor edi, edi
xor edx, edx
idiv r10d
mov r10d, eax
shl esi, 0x10
mov eax, esi
xor edx, edx
idiv r15d
test r8b, r8b
mov esi, 1
mov edx, 1
cmovne rdx, rcx
mov dword [rsp + 8], ebx
movsxd rbx, ebx
cmovne rbx, rsi
mov qword [rsp + 0x30], rbx
test ecx, ecx
cmovg edi, ecx
mov qword [rsp + 0x38], rdi
test rcx, rcx
jle 0x14011c048
lea r13d, [rbp - 0x10]
lea ecx, [r11 - 0x10]
mov dword [rsp + 4], ecx
movsxd r15, r14d
xor ebx, ebx
mov r14d, 0x800000
mov r11, qword [rsp + 0x18]
mov qword [rsp + 0x20], rbp
mov dword [rsp], r13d
mov qword [rsp + 0x10], r15
mov r8, rbx
imul r8, qword [rsp + 0x30]
add r8, qword [rsp + 0x40]
mov r9, rbx
imul r9, r15
add r9, qword [rsp + 0x18]
cmp ebp, 0x11
mov qword [rsp + 0x28], rbx
jl 0x14011b9e2
xor edi, edi
xor r12d, r12d
movzx esi, byte [r11 + rdi]
add esi, r12d
mov ebx, esi
imul ebx, r10d
imul r12d, eax
add r12d, ebx
add r12d, r14d
shr r12d, 0x18
mov byte [r8], r12b
movzx ebx, byte [r11 + rdi + 1]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add esi, r14d
shr esi, 0x18
mov byte [r8 + rdx], sil
add r8, rdx
movzx esi, byte [r11 + rdi + 2]
add esi, ebx
mov ebp, esi
imul ebp, r10d
imul ebx, eax
add ebx, ebp
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx ebx, byte [r11 + rdi + 3]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add r8, rdx
add esi, r14d
shr esi, 0x18
mov byte [rdx + r8], sil
add r8, rdx
movzx esi, byte [r11 + rdi + 4]
add esi, ebx
mov ebp, esi
imul ebp, r10d
imul ebx, eax
add ebx, ebp
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx ebx, byte [r11 + rdi + 5]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add r8, rdx
add esi, r14d
shr esi, 0x18
mov byte [rdx + r8], sil
add r8, rdx
movzx esi, byte [r11 + rdi + 6]
add esi, ebx
mov ebp, esi
imul ebp, r10d
imul ebx, eax
add ebx, ebp
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx ebx, byte [r11 + rdi + 7]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add r8, rdx
add esi, r14d
shr esi, 0x18
mov byte [rdx + r8], sil
add r8, rdx
movzx esi, byte [r11 + rdi + 8]
add esi, ebx
mov ebp, esi
imul ebp, r10d
imul ebx, eax
add ebx, ebp
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx ebx, byte [r11 + rdi + 9]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add r8, rdx
add esi, r14d
shr esi, 0x18
mov byte [rdx + r8], sil
add r8, rdx
movzx esi, byte [r11 + rdi + 0xa]
add esi, ebx
mov ebp, esi
imul ebp, r10d
imul ebx, eax
add ebx, ebp
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx ebx, byte [r11 + rdi + 0xb]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add r8, rdx
add esi, r14d
shr esi, 0x18
mov byte [rdx + r8], sil
add r8, rdx
movzx esi, byte [r11 + rdi + 0xc]
add esi, ebx
mov ebp, esi
imul ebp, r10d
imul ebx, eax
add ebx, ebp
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx ebx, byte [r11 + rdi + 0xd]
add ebx, esi
mov ebp, ebx
imul ebp, r10d
imul esi, eax
add esi, ebp
add r8, rdx
add esi, r14d
shr esi, 0x18
mov byte [rdx + r8], sil
add r8, rdx
movzx r15d, byte [r11 + rdi + 0xe]
add r15d, ebx
mov esi, r15d
imul esi, r10d
imul ebx, eax
add ebx, esi
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
movzx r12d, byte [r11 + rdi + 0xf]
add r12d, r15d
mov esi, r12d
imul esi, r10d
mov ebx, r15d
imul ebx, eax
add r8, rdx
add ebx, esi
add ebx, r14d
shr ebx, 0x18
mov byte [rdx + r8], bl
add r8, rdx
add r8, rdx
add rdi, 0x10
cmp edi, r13d
jl 0x14011b7bf
mov r13, rdi
add r13, r11
mov rbp, qword [rsp + 0x20]
jmp 0x14011b9ed
xor r12d, r12d
xor r15d, r15d
mov r13, r9
xor edi, edi
cmp edi, ebp
jge 0x14011ba2c
mov esi, r12d
mov rcx, rbp
movzx r12d, byte [r13]
inc r13
add r12d, esi
mov ebx, r12d
imul ebx, r10d
imul esi, eax
lea ebp, [rsi + rbx]
add ebp, 0x800000
shr ebp, 0x18
mov byte [r8], bpl
add r8, rdx
inc edi
mov r15d, esi
mov esi, r12d
cmp edi, ecx
jl 0x14011b9f7
jmp 0x14011ba37
mov ebx, r12d
imul ebx, r10d
imul r15d, eax
mov ecx, dword [rsp + 0xb0]
mov ebp, dword [rsp + 0xc]
cmp ebp, ecx
jle 0x14011ba61
lea esi, [rbx + r15]
add esi, 0x800000
shr esi, 0x18
mov edi, ecx
mov byte [r8], sil
add r8, rdx
inc edi
cmp edi, ebp
jl 0x14011ba55
mov r15d, ebp
cmp ebp, dword [rsp + 4]
jge 0x14011bd61
movzx esi, byte [r9]
movzx ebx, byte [r13]
add ebx, r12d
mov ebp, r12d
sub ebp, esi
mov esi, ebx
imul esi, r10d
imul ebp, eax
add ebp, esi
add ebp, r14d
shr ebp, 0x18
mov byte [r8], bpl
movzx esi, byte [r9]
movzx ebp, byte [r9 + 1]
movzx ecx, byte [r13 + 1]
sub ebx, esi
add ecx, ebx
sub ebx, ebp
mov esi, ecx
imul esi, r10d
imul ebx, eax
add ebx, esi
add ebx, r14d
shr ebx, 0x18
mov byte [r8 + rdx], bl
movzx esi, byte [r9 + 1]
lea rbx, [r8 + rdx]
sub ecx, esi
movzx ebp, byte [r9 + 2]
movzx esi, byte [r13 + 2]
add esi, ecx
sub ecx, ebp
mov ebp, esi
imul ebp, r10d
imul ecx, eax
add ecx, ebp
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + rbx], cl
movzx ecx, byte [r9 + 2]
movzx ebp, byte [r9 + 3]
sub esi, ecx
movzx ecx, byte [r13 + 3]
add ecx, esi
sub esi, ebp
mov ebp, ecx
imul ebp, r10d
imul esi, eax
add rbx, rdx
add esi, ebp
add esi, r14d
shr esi, 0x18
mov byte [rdx + rbx], sil
movzx ebp, byte [r9 + 3]
movzx esi, byte [r9 + 4]
movzx edi, byte [r13 + 4]
sub ecx, ebp
add edi, ecx
sub ecx, esi
mov ebp, edi
imul ebp, r10d
imul ecx, eax
add ecx, ebp
lea rbp, [rbx + rdx]
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + rbp], cl
movzx ecx, byte [r9 + 4]
sub edi, ecx
movzx ecx, byte [r9 + 5]
movzx esi, byte [r13 + 5]
add esi, edi
sub edi, ecx
mov ecx, esi
imul ecx, r10d
imul edi, eax
add edi, ecx
add edi, r14d
lea rcx, [rdx + rbp]
shr edi, 0x18
mov byte [rdx + rcx], dil
movzx ebp, byte [r9 + 5]
lea rbx, [rcx + rdx]
sub esi, ebp
movzx ecx, byte [r9 + 6]
movzx ebp, byte [r13 + 6]
add ebp, esi
sub esi, ecx
mov ecx, ebp
imul ecx, r10d
imul esi, eax
add esi, ecx
add esi, r14d
shr esi, 0x18
mov byte [rdx + rbx], sil
movzx ecx, byte [r9 + 6]
movzx edi, byte [r9 + 7]
sub ebp, ecx
movzx ecx, byte [r13 + 7]
add ecx, ebp
sub ebp, edi
mov edi, ecx
imul edi, r10d
imul ebp, eax
add rbx, rdx
add ebp, edi
add ebp, r14d
shr ebp, 0x18
mov byte [rdx + rbx], bpl
movzx ebp, byte [r9 + 7]
movzx edi, byte [r9 + 8]
movzx esi, byte [r13 + 8]
sub ecx, ebp
add esi, ecx
sub ecx, edi
mov ebp, esi
imul ebp, r10d
imul ecx, eax
add ecx, ebp
lea rbp, [rbx + rdx]
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + rbp], cl
movzx ecx, byte [r9 + 8]
sub esi, ecx
movzx ecx, byte [r9 + 9]
movzx edi, byte [r13 + 9]
add edi, esi
sub esi, ecx
mov ecx, edi
imul ecx, r10d
imul esi, eax
add esi, ecx
add esi, r14d
lea rcx, [rdx + rbp]
shr esi, 0x18
mov byte [rdx + rcx], sil
movzx ebp, byte [r9 + 9]
lea rbx, [rcx + rdx]
sub edi, ebp
movzx ecx, byte [r9 + 0xa]
movzx ebp, byte [r13 + 0xa]
add ebp, edi
sub edi, ecx
mov ecx, ebp
imul ecx, r10d
imul edi, eax
add edi, ecx
add edi, r14d
shr edi, 0x18
mov byte [rdx + rbx], dil
movzx ecx, byte [r9 + 0xa]
movzx edi, byte [r9 + 0xb]
sub ebp, ecx
movzx ecx, byte [r13 + 0xb]
add ecx, ebp
sub ebp, edi
mov edi, ecx
imul edi, r10d
imul ebp, eax
add rbx, rdx
add ebp, edi
add ebp, r14d
shr ebp, 0x18
mov byte [rdx + rbx], bpl
movzx ebp, byte [r9 + 0xb]
movzx edi, byte [r9 + 0xc]
movzx esi, byte [r13 + 0xc]
sub ecx, ebp
add esi, ecx
sub ecx, edi
mov ebp, esi
imul ebp, r10d
imul ecx, eax
add ecx, ebp
lea rbp, [rbx + rdx]
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + rbp], cl
movzx ecx, byte [r9 + 0xc]
sub esi, ecx
movzx ecx, byte [r9 + 0xd]
movzx edi, byte [r13 + 0xd]
add edi, esi
sub esi, ecx
mov ecx, edi
imul ecx, r10d
imul esi, eax
add esi, ecx
add esi, r14d
lea rcx, [rdx + rbp]
shr esi, 0x18
mov byte [rdx + rcx], sil
movzx ebp, byte [r9 + 0xd]
lea rbx, [rcx + rdx]
sub edi, ebp
movzx ecx, byte [r9 + 0xe]
movzx ebp, byte [r13 + 0xe]
add ebp, edi
sub edi, ecx
mov ecx, ebp
imul ecx, r10d
imul edi, eax
add edi, ecx
add edi, r14d
shr edi, 0x18
mov byte [rdx + rbx], dil
movzx ecx, byte [r9 + 0xe]
movzx edi, byte [r9 + 0xf]
sub ebp, ecx
movzx r12d, byte [r13 + 0xf]
add r12d, ebp
sub ebp, edi
mov ecx, r12d
imul ecx, r10d
imul ebp, eax
lea rsi, [rbx + rdx]
add ebp, ecx
add ebp, r14d
shr ebp, 0x18
lea r8, [rsi + rdx]
mov byte [rdx + rsi], bpl
add r8, rdx
movzx ecx, byte [r9 + 0xf]
add r13, 0x10
add r9, 0x10
sub r12d, ecx
add r15d, 0x10
cmp r15d, dword [rsp + 4]
jl 0x14011ba6e
mov edi, dword [rsp + 0xb0]
cmp r15d, edi
jge 0x14011bdac
movzx ecx, byte [r9]
movzx esi, byte [r13]
add esi, r12d
sub r12d, ecx
inc r13
mov ecx, esi
imul ecx, r10d
imul r12d, eax
add ecx, r12d
add ecx, 0x800000
shr ecx, 0x18
mov byte [r8], cl
add r8, rdx
movzx ecx, byte [r9]
inc r9
sub esi, ecx
inc r15d
mov r12d, esi
jmp 0x14011bd68
xor edi, edi
mov rbp, qword [rsp + 0x20]
cmp ebp, 0x11
jl 0x14011bff7
xor edi, edi
mov r13d, dword [rsp]
movzx ecx, byte [r9 + rdi]
mov esi, r12d
sub esi, ecx
imul r12d, r10d
mov ecx, esi
imul ecx, eax
add ecx, r12d
add ecx, r14d
shr ecx, 0x18
mov byte [r8], cl
movzx ecx, byte [r9 + rdi + 1]
mov ebx, esi
sub ebx, ecx
imul esi, r10d
mov ecx, ebx
imul ecx, eax
add ecx, esi
add ecx, r14d
shr ecx, 0x18
mov byte [r8 + rdx], cl
movzx ecx, byte [r9 + rdi + 2]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
add r8, rdx
imul ecx, eax
add ecx, ebx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 3]
mov ebx, esi
sub ebx, ecx
imul esi, r10d
mov ecx, ebx
imul ecx, eax
add r8, rdx
add ecx, esi
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 4]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
imul ecx, eax
add ecx, ebx
add r8, rdx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 5]
mov ebx, esi
sub ebx, ecx
mov ecx, ebx
imul esi, r10d
imul ecx, eax
add ecx, esi
add ecx, r14d
add r8, rdx
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 6]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
add r8, rdx
imul ecx, eax
add ecx, ebx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 7]
mov ebx, esi
sub ebx, ecx
imul esi, r10d
mov ecx, ebx
imul ecx, eax
add r8, rdx
add ecx, esi
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 8]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
imul ecx, eax
add ecx, ebx
add r8, rdx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 9]
mov ebx, esi
sub ebx, ecx
mov ecx, ebx
imul esi, r10d
imul ecx, eax
add ecx, esi
add ecx, r14d
add r8, rdx
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 0xa]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
add r8, rdx
imul ecx, eax
add ecx, ebx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 0xb]
mov ebx, esi
sub ebx, ecx
imul esi, r10d
mov ecx, ebx
imul ecx, eax
add r8, rdx
add ecx, esi
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 0xc]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
imul ecx, eax
add ecx, ebx
add r8, rdx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 0xd]
mov ebx, esi
sub ebx, ecx
mov ecx, ebx
imul esi, r10d
imul ecx, eax
add ecx, esi
add ecx, r14d
add r8, rdx
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 0xe]
mov esi, ebx
sub esi, ecx
imul ebx, r10d
mov ecx, esi
add r8, rdx
imul ecx, eax
add ecx, ebx
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
movzx ecx, byte [r9 + rdi + 0xf]
mov r12d, esi
sub r12d, ecx
imul esi, r10d
mov ecx, r12d
imul ecx, eax
add r8, rdx
add ecx, esi
add ecx, r14d
shr ecx, 0x18
mov byte [rdx + r8], cl
add r8, rdx
add r8, rdx
add rdi, 0x10
cmp edi, r13d
jl 0x14011bdc2
add r9, rdi
jmp 0x14011bffb
mov r13d, dword [rsp]
mov r15, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x28]
cmp edi, ebp
jge 0x14011c037
movzx ecx, byte [r9]
inc r9
mov esi, r12d
sub esi, ecx
imul r12d, r10d
mov ecx, esi
imul ecx, eax
add ecx, r12d
add ecx, 0x800000
shr ecx, 0x18
mov byte [r8], cl
add r8, rdx
inc edi
mov r12d, esi
jmp 0x14011c005
inc rbx
add r11, r15
cmp rbx, qword [rsp + 0x38]
jne 0x14011b792
mov eax, dword [rsp + 8]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret