Function at 0x140182f80
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, 0xd8
movdqa xmmword [rsp + 0xc0], xmm8
movdqa xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
mov rbx, r8
mov rsi, rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
call fcn.14019fdb0
mov rcx, qword [rsi]
mov qword [rsp + 0x30], rsi
mov r13, qword [rsi + 8]
mov qword [rsp + 0x28], r13
and r13, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
lea rax, [rcx - 0x50]
mov qword [rsp + 0x48], rax
xor r15d, r15d
pcmpeqd xmm7, xmm7
mov qword [rsp + 0x40], rcx
movdqu xmm8, xmmword [rcx + r13]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb edi, xmm0
test edi, edi
jne 0x14018305a
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x140183210
add r13, r15
add r13, 0x10
add r15, 0x10
and r13, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
jmp 0x140183005
lea eax, [rdi - 1]
and ax, di
mov edi, eax
je 0x14018301c
tzcnt r12d, edi
add r12, r13
and r12, qword [rsp + 0x28]
mov rax, r12
neg rax
lea rbp, [rax + rax*4]
shl rbp, 4
mov rax, qword [rsp + 0x48]
lea r14, [rax + rbp]
mov rcx, rbx
mov rdx, r14
call fcn.14007c910
test al, al
je 0x140183050
mov rax, qword [rbx + 0x20]
cmp rax, qword [r14 + 0x20]
jne 0x140183050
test rax, rax
je 0x140183138
mov rcx, qword [r14 + 0x18]
mov rdx, qword [rbx + 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 0x140183050
lea r8, [rax - 1]
xor r9d, r9d
nop word cs:[rax + rax]
cmp r8, r9
je 0x140183138
movzx r10d, byte [rdx + r9 + 1]
movzx r11d, byte [rcx + r9 + 1]
lea r14d, [r10 - 0x41]
cmp r14b, 0x1a
setb r14b
shl r14b, 5
lea esi, [r11 - 0x41]
cmp sil, 0x1a
setb sil
shl sil, 5
or r14b, r10b
or sil, r11b
inc r9
cmp r14b, sil
je 0x1401830f0
cmp r9, rax
jb 0x140183050
shl r12, 4
lea rcx, [r12 + r12*4]
sar rcx, 4
movabs rax, 0xcccccccccccccccd
imul rax, rcx
lea rcx, [rax - 0x10]
and rcx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x40]
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 0x140183191
bsr r8w, r8w
xor r8d, 0xf
jmp 0x140183196
mov r8w, 0x10
mov r9, qword [rsp + 0x30]
add rbp, r10
or edx, 0x10000
tzcnt edx, edx
add r8d, edx
mov dl, pe_nt_image_headers64
cmp r8w, 0xf
ja 0x1401831ba
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 [rbp - 0x50]
movups xmm1, xmmword [rbp - 0x40]
movups xmm2, xmmword [rbp - 0x30]
movups xmm3, xmmword [rbp - 0x20]
movaps xmmword [rsp + 0x80], xmm3
movups xmm3, xmmword [rbp - 0x10]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x80], rax
jne 0x140183224
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
jmp 0x140183280
movdqu xmm0, xmmword [rbp - 0x20]
movups xmm1, xmmword [rbp - 0x10]
mov rax, qword [rsp + 0x38]
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
cmp byte [rsp + 0x50], 2
jb 0x140183269
mov rsi, qword [rsp + 0x58]
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 + 0x78]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x20]
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret