Function at 0x140012b10
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, 0x1f8
mov rbx, r9
mov r14, r8
mov rsi, rdx
mov qword [rsp + 0x40], rcx
mov rax, qword [0x141d049d0]
test rax, rax
je 0x140012f6b
and eax, 0x8000
xor edx, edx
mov cl, 2
or rax, rdx
jne 0x140012b6c
mov rax, qword [0x141d049d0]
test rax, rax
je 0x140012f75
and eax, 0x400
xor ecx, ecx
or rax, rcx
setne cl
lea rax, [rsi - 1]
cmp rax, 0x40
jae 0x140012f7f
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
movabs rax, 0x6a09e667f2bdc908
xor rax, rsi
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
lea r15, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rsp + 0xd8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rsp + 0xe0], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rsp + 0xe8], rax
movabs rax, 0x510e527fade682d1
mov qword [rsp + 0xf0], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0xf8], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x100], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x108], rax
movaps xmmword [rsp + 0x110], xmm0
mov byte [rsp + 0x120], 0
mov qword [rsp + 0x48], rsi
mov byte [rsp + 0x121], sil
mov byte [rsp + 0x122], cl
mov word [rsp + 0x123], 1
shl rbx, 4
add rbx, r14
xor ebp, ebp
nop word cs:[rax + rax]
mov r13, qword [r14]
mov rdi, qword [r14 + 8]
test bpl, bpl
je 0x140012da0
movzx eax, bpl
mov r12d, 0x80
sub r12, rax
cmp r12, rdi
mov rbp, rdi
cmovb rbp, r12
mov rcx, rbp
add rcx, rax
jb 0x140012f7f
cmp rcx, 0x80
ja 0x140012f7f
lea rcx, [rsp + rax]
add rcx, 0x50
mov rdx, r13
mov r8, rbp
call fcn.140048620
movzx eax, byte [rsp + 0x120]
add al, bpl
mov byte [rsp + 0x120], al
mov rsi, rdi
sub rsi, rbp
add r13, rbp
cmp r12, rdi
jae 0x140012d9b
movaps xmm0, xmmword [rsp + 0x110]
movzx eax, byte [rsp + 0x123]
movzx ecx, byte [rsp + 0x122]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 1
mov r8d, 0x80
lea rdx, [rsp + 0x50]
mov r9, r15
call fcn.140013df0
add qword [rsp + 0x110], 0x80
adc qword [rsp + 0x118], 0
mov byte [rsp + 0x120], 0
xor eax, eax
mov rdi, rsi
jmp 0x140012da2
xor eax, eax
mov rcx, rdi
sub rcx, 1
mov ebp, 0
cmovae rbp, rcx
and rbp, 0xffffffffffffff80
je 0x140012e11
sub rdi, rbp
jb 0x140012f7f
movaps xmm0, xmmword [rsp + 0x110]
movzx eax, byte [rsp + 0x123]
movzx ecx, byte [rsp + 0x122]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 1
mov rdx, r13
mov r8, rbp
mov r9, r15
call fcn.140013df0
add qword [rsp + 0x110], rbp
adc qword [rsp + 0x118], 0
add r13, rbp
movzx eax, byte [rsp + 0x120]
movzx eax, al
mov ebp, 0x80
sub rbp, rax
cmp rbp, rdi
cmovae rbp, rdi
mov rcx, rbp
add rcx, rax
jb 0x140012f7f
cmp rcx, 0x80
ja 0x140012f7f
lea rcx, [rsp + rax]
add rcx, 0x50
mov rdx, r13
mov r8, rbp
call fcn.140048620
add bpl, byte [rsp + 0x120]
mov byte [rsp + 0x120], bpl
add r14, 0x10
cmp r14, rbx
jne 0x140012cd0
movaps xmm0, xmmword [r15]
movaps xmm1, xmmword [r15 + 0x10]
movaps xmm2, xmmword [r15 + 0x20]
movaps xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x160], xmm3
movaps xmmword [rsp + 0x150], xmm2
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
cmp bpl, 0x81
jae 0x140012f7f
movzx r8d, bpl
movaps xmm0, xmmword [rsp + 0x110]
movzx eax, byte [rsp + 0x123]
movzx ecx, byte [rsp + 0x122]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 0
lea rdx, [rsp + 0x50]
lea r9, [rsp + 0x130]
call fcn.140013df0
movzx eax, byte [rsp + 0x121]
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movaps xmm3, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x190], xmm2
movaps xmmword [rsp + 0x1a0], xmm3
mov byte [rsp + 0x1b0], al
cmp rax, 0x41
jae 0x140012f7f
mov r8, qword [rsp + 0x48]
cmp rax, r8
jne 0x140012f7f
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x40]
call fcn.140048620
nop
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140055610
jmp 0x140012b41
call fcn.140055610
jmp 0x140012b5f
ud2