Function at 0x1401832b0
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, 0xa8
movdqa xmmword [rsp + 0x90], xmm8
movdqa xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm6
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rsi + 0x28]
mov r8, rdi
call fcn.14019fdb0
mov rcx, qword [rsi]
mov qword [rsp + 0x28], rsi
mov r12, qword [rsi + 8]
mov qword [rsp + 0x20], r12
and r12, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
lea rax, [rcx - 0x30]
mov qword [rsp + 0x38], rax
xor r15d, r15d
pcmpeqd xmm7, xmm7
mov qword [rsp + 0x30], rcx
movdqu xmm8, xmmword [rcx + r12]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb esi, xmm0
test esi, esi
jne 0x14018337a
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x140183550
add r12, r15
add r12, 0x10
add r15, 0x10
and r12, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
jmp 0x140183330
lea eax, [rsi - 1]
and ax, si
mov esi, eax
je 0x140183347
tzcnt r14d, esi
add r14, r12
and r14, qword [rsp + 0x20]
mov rax, r14
neg rax
lea r13, [rax + rax*2]
shl r13, 4
mov rax, qword [rsp + 0x38]
lea rbx, [rax + r13]
mov rcx, rdi
mov rdx, rbx
call fcn.14007c910
test al, al
je 0x140183370
mov rax, qword [rdi + 0x20]
cmp rax, qword [rbx + 0x20]
jne 0x140183370
test rax, rax
je 0x140183455
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rdi + 0x18]
movzx r8d, byte [rdx]
movzx r9d, byte [rcx]
lea r10d, [r8 - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
lea r11d, [r9 - 0x41]
cmp r11b, 0x1a
setb r11b
shl r11b, 5
or r10b, r8b
or r11b, r9b
cmp r10b, r11b
jne 0x140183370
lea r8, [rax - 1]
xor r9d, r9d
nop word cs:[rax + rax]
cmp r8, r9
je 0x140183455
movzx r10d, byte [rdx + r9 + 1]
movzx r11d, byte [rcx + r9 + 1]
lea ebx, [r10 - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
lea ebp, [r11 - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bl, r10b
or bpl, r11b
inc r9
cmp bl, bpl
je 0x140183410
cmp r9, rax
jb 0x140183370
shl r14, 4
lea rcx, [r14 + r14*2]
sar rcx, 4
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rcx
lea rcx, [rax - 0x10]
and rcx, qword [rsp + 0x20]
mov r10, qword [rsp + 0x30]
movdqu xmm0, xmmword [r10 + rcx]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
pmovmskb r8d, xmm0
movdqu xmm0, xmmword [r10 + rax]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r8d, r8d
je 0x1401834ae
bsr r8w, r8w
xor r8d, 0xf
jmp 0x1401834b3
mov r8w, 0x10
mov r9, qword [rsp + 0x28]
add r13, r10
or edx, 0x10000
tzcnt edx, edx
add r8d, edx
mov dl, pe_nt_image_headers64
cmp r8w, 0xf
ja 0x1401834d7
inc qword [r9 + 0x10]
mov dl, 0xff
mov byte [r10 + rax], dl
mov byte [r10 + rcx + 0x10], dl
dec qword [r9 + 0x18]
movdqu xmm0, xmmword [r13 - 0x30]
movups xmm1, xmmword [r13 - 0x20]
movups xmm2, xmmword [r13 - 0x10]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movzx eax, byte [rsp + 0x40]
cmp al, 3
je 0x140183550
cmp al, 2
jb 0x140183539
mov rsi, qword [rsp + 0x48]
lea rcx, [rsi + 0x18]
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
call qword [rax + 0x20]
mov rcx, qword [0x14031a288]
xor edx, edx
mov r8, rsi
call fcn.1401fb9c4
lea rcx, [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
call qword [rax + 0x20]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret