Function at 0x140002e90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
cmp byte [rdx + 0x3e], 0
mov r9, rcx
mov r14b, byte [rdx + 0x42]
mov sil, byte [rdx + 0x41]
mov r8, qword [rcx]
lea edi, [r14 + 0x48]
je 0x140002dcd
test sil, sil
jne 0x140002ab7
cmp dil, 4
jne 0x140002ab7
xor eax, eax
jmp 0x140002dd3
imul r11d, dword [rcx + 8], 0x41c64e6d
mov r12d, 1
mov r15, qword [rdx + 0x4e]
add r11d, 0x3039
mov ebx, r11d
shr ebx, 0x10
and bl, r12b
je 0x140002b2a
imul r11d, r11d, 0x41c64e6d
add r11d, 0x3039
mov r10d, r11d
mov dword [rcx + 8], r11d
shr r10d, 0x10
mov eax, r11d
shl eax, 0x10
or r10d, eax
mov eax, 0xaaaaaaab
mul r10d
shr edx, 2
mov al, dl
add al, al
add dl, al
add dl, dl
sub r10b, dl
add r10b, 2
test sil, sil
je 0x140002b21
cmp r10b, dil
je 0x140002adb
mov byte [r8], 0x41
add r8, r12
jmp 0x140002b72
imul r11d, r11d, 0x41c64e6d
add r11d, 0x3039
mov ecx, r11d
mov dword [r9 + 8], r11d
shr ecx, 0x10
mov eax, r11d
shl eax, 0x10
or ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 2
mov al, dl
shl al, 2
add dl, al
sub cl, dl
add cl, 3
mov r10b, cl
cmp cl, 4
je 0x140002b2a
test sil, sil
jne 0x140002b72
cmp cl, dil
je 0x140002b2a
lea eax, [r10 + 0x50]
mov byte [r8], al
add r8, r12
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
shr eax, 0x10
and al, 3
add al, r12b
je 0x140002c2f
movzx ebp, al
imul r11d, dword [r9 + 8], 0x41c64e6d
add r11d, 0x3039
mov dword [r9 + 8], r11d
shr r11d, 0x10
and r11b, r12b
je 0x140002bc0
test bl, bl
jne 0x140002bc5
jmp 0x140002bcc
test sil, sil
je 0x140002bcc
mov byte [r8], 0x41
add r8, r12
mov byte [r8], 0x81
imul edx, dword [r9 + 8], 0x41c64e6d
movzx eax, r10b
movzx ecx, dil
add edx, 0x3039
mov dword [r9 + 8], edx
shr edx, 0x10
and dl, 7
shl dl, 3
test r11b, r11b
cmovne ecx, eax
sub dl, 0x40
add dl, cl
mov byte [r8 + r12], dl
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
ror eax, 0x10
btr eax, 0x1f
mov dword [r8 + r12 + 1], eax
add r8, 5
add r8, r12
sub rbp, r12
jne 0x140002b9e
imul ecx, dword [r9 + 8], 0x41c64e6d
add ecx, 0x3039
imul edx, ecx, 0x41c64e6d
mov r11d, ecx
shl r11d, 0x10
shl r11, 0x10
mov eax, ecx
and rax, 0xffffffffffff0000
or r11, rax
add edx, 0x3039
mov dword [r9 + 8], edx
shl r11, 0x10
mov eax, edx
shr rax, 0x10
or r11, rax
shl edx, 0x10
mov eax, edx
or r11, rax
lea eax, [rsi + 0x48]
mov byte [r8], al
add r8, r12
mov byte [r8], r14b
mov qword [r8 + 1], r11
add r8, 9
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
shr eax, 0x10
and al, 3
add al, r12b
je 0x140002d04
movzx edx, al
test bl, bl
je 0x140002cb5
mov byte [r8], 0x41
add r8, r12
mov byte [r8], 0x81
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
shr eax, 0x10
and al, 7
shl al, 3
sub al, 0x40
add al, r10b
mov byte [r8 + r12], al
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
ror eax, 0x10
btr eax, 0x1f
mov dword [r8 + r12 + 1], eax
add r8, 5
add r8, r12
sub rdx, r12
jne 0x140002caa
lea eax, [rbx + 0x48]
xor r11, r15
mov byte [r8], al
add r8, r12
lea eax, [r10 - 0x48]
mov byte [r8], al
lea eax, [rbx + 0x12]
shl al, 2
add al, sil
mov qword [r8 + 1], r11
mov byte [r8 + 9], al
mov al, r10b
shl al, 3
sub al, 0x40
mov byte [r8 + 0xa], 0x31
add al, dil
mov byte [r8 + 0xb], al
add r8, 0xc
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
shr eax, 0x10
and al, 3
add al, r12b
je 0x140002db8
movzx edx, al
test bl, bl
je 0x140002d69
mov byte [r8], 0x41
add r8, r12
mov byte [r8], 0x81
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
shr eax, 0x10
and al, 7
shl al, 3
sub al, 0x40
add al, r10b
mov byte [r8 + r12], al
imul eax, dword [r9 + 8], 0x41c64e6d
add eax, 0x3039
mov dword [r9 + 8], eax
ror eax, 0x10
btr eax, 0x1f
mov dword [r8 + r12 + 1], eax
add r8, 5
add r8, r12
sub rdx, r12
jne 0x140002d5e
test bl, bl
je 0x140002dc3
mov byte [r8], 0x41
add r8, r12
add r10b, 0x58
mov byte [r8], r10b
add r8, r12
sub r8d, dword [r9]
mov eax, r8d
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
pop r15
pop r14
pop r12
ret
mov al, byte [rdx + 0x42]
add al, 0x48
cmp al, 7
jbe 0x140002a70
xor eax, eax
ret