Function at 0x1801780b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x60], xmm15
movdqa xmmword [rbp + 0x50], xmm14
movdqa xmmword [rbp + 0x40], xmm13
movdqa xmmword [rbp + 0x30], xmm12
movdqa xmmword [rbp + 0x20], xmm11
movdqa xmmword [rbp + 0x10], xmm10
movdqa xmmword [rbp], xmm9
movdqa xmmword [rbp - 0x10], xmm8
movdqa xmmword [rbp - 0x20], xmm7
movdqa xmmword [rbp - 0x30], xmm6
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov rsi, r8
test r8, r8
js 0x180178588
mov rbx, rdx
mov rdi, rcx
je 0x180178406
movzx eax, byte [0x18028ecd1]
mov r14d, 1
mov edx, 1
mov rcx, rsi
call fcn.18006a570
test rax, rax
je 0x18017858b
xor r13d, r13d
cmp rsi, 0x10
jb 0x18017840e
movabs rcx, 0x8080808080808080
movapd xmm0, xmmword [0x1802380e0]
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x180238110]
movdqa xmm5, xmmword [0x180238120]
movdqa xmm6, xmmword [0x1801b4f60]
movdqa xmm7, xmmword [0x1801b4f70]
movdqa xmm8, xmmword [0x180238130]
movdqa xmm9, xmmword [0x180238140]
movdqa xmm10, xmmword [0x180238150]
movdqa xmm11, xmmword [0x180238160]
movdqa xmm15, xmmword [0x180233ee0]
movdqa xmm2, xmmword [0x1801a5bf0]
mov r11, qword [rbx + r13]
mov rdx, qword [rbx + r13 + 8]
mov r8, rdx
or r8, r11
test r8, rcx
jne 0x18017840e
mov r8, r11
mov r9, r11
mov r10, r11
mov r14, r11
shr r11d, 8
movd xmm12, r11d
movdqu xmm3, xmmword [rbx + r13]
shr r14, 0x20
pshufd xmm13, xmm3, 0x44
movdqa xmm14, xmm3
psrlq xmm14, 0x10
psrlq xmm13, 0x18
movsd xmm13, xmm14
movd xmm14, r14d
shr r10, 0x28
punpcklqdq xmm3, xmm12
movd xmm12, r10d
andpd xmm13, xmm0
pand xmm3, xmm0
packuswb xmm3, xmm13
pshufd xmm13, xmm14, 0x50
movdqa xmm14, xmmword [0x1802380f0]
pandn xmm14, xmm13
psllq xmm12, 0x28
movdqa xmm13, xmmword [0x180238100]
pandn xmm13, xmm12
shr r9, 0x30
por xmm13, xmm14
movd xmm12, r9d
shr r8, 0x38
packuswb xmm3, xmm1
packuswb xmm3, xmm1
por xmm13, xmm3
psllq xmm12, 0x30
movdqa xmm3, xmm4
pandn xmm3, xmm12
movd xmm12, r8d
mov r8d, edx
shr r8d, 8
pand xmm13, xmm4
por xmm3, xmm13
pand xmm3, xmm5
psllq xmm12, 0x38
movdqa xmm13, xmm5
pandn xmm13, xmm12
por xmm13, xmm3
movd xmm3, edx
pshufd xmm3, xmm3, 0x44
movdqa xmm12, xmm6
pandn xmm12, xmm3
movd xmm3, r8d
mov r8d, edx
shr r8d, 0x10
pand xmm13, xmm6
por xmm12, xmm13
pslldq xmm3, 9
movdqa xmm13, xmm7
pandn xmm13, xmm3
movd xmm3, r8d
mov r8d, edx
shr r8d, 0x18
pand xmm12, xmm7
por xmm13, xmm12
pslldq xmm3, 0xa
movdqa xmm12, xmm8
pandn xmm12, xmm3
movd xmm3, r8d
mov r8, rdx
shr r8, 0x20
pand xmm13, xmm8
por xmm12, xmm13
pslldq xmm3, 0xb
movdqa xmm13, xmm9
pandn xmm13, xmm3
movd xmm3, r8d
mov r8, rdx
shr r8, 0x28
pand xmm12, xmm9
por xmm13, xmm12
pshufd xmm3, xmm3, 0
movdqa xmm12, xmm10
pandn xmm12, xmm3
movd xmm3, r8d
shr rdx, 0x30
pand xmm13, xmm10
por xmm12, xmm13
pand xmm12, xmm11
pslldq xmm3, 0xd
movdqa xmm13, xmm11
pandn xmm13, xmm3
por xmm13, xmm12
pand xmm13, xmmword [0x180238170]
movd xmm3, edx
pslldq xmm3, 0xe
por xmm3, xmm13
pand xmm3, xmmword [0x180238180]
movzx edx, byte [rbx + r13 + 0xf]
movd xmm12, edx
pslldq xmm12, 0xf
por xmm12, xmm3
movdqa xmm3, xmm12
paddb xmm3, xmmword [0x180233ef0]
movdqa xmm13, xmm3
pminub xmm13, xmm15
pcmpeqb xmm13, xmm3
pand xmm13, xmm2
pxor xmm13, xmm12
movdqu xmmword [rax + r13], xmm13
lea rdx, [r13 + 0x10]
add r13, 0x20
cmp r13, rsi
mov r13, rdx
jbe 0x1801781c0
mov r13, rdx
jmp 0x18017840e
mov eax, 1
xor r13d, r13d
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r13
cmp r13, rsi
jne 0x18017847d
mov rax, qword [rbp - 0x50]
mov qword [rdi + 0x10], rax
mov rax, qword [rbp - 0x60]
mov qword [rdi], rax
mov rax, qword [rbp - 0x58]
mov qword [rdi + 8], rax
mov rax, rdi
movaps xmm6, xmmword [rbp - 0x30]
movaps xmm7, xmmword [rbp - 0x20]
movaps xmm8, xmmword [rbp - 0x10]
movaps xmm9, xmmword [rbp]
movaps xmm10, xmmword [rbp + 0x10]
movaps xmm11, xmmword [rbp + 0x20]
movaps xmm12, xmmword [rbp + 0x30]
movaps xmm13, xmmword [rbp + 0x40]
movaps xmm14, xmmword [rbp + 0x50]
movaps xmm15, xmmword [rbp + 0x60]
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add rsi, rbx
add r13, rbx
lea rbx, [rbp - 0x44]
lea r14, [rbp - 0x60]
jmp 0x1801784a4
mov edx, dword [rbp - 0x44]
mov rcx, r14
call fcn.180178aa0
cmp r13, rsi
je 0x18017841f
movzx ecx, byte [r13]
movzx edx, cl
test dl, dl
js 0x1801784c0
inc r13
jmp 0x180178520
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r13 + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x180178504
movzx edx, byte [r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x180178512
movzx ecx, byte [r13 + 3]
add r13, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov edx, ecx
jmp 0x180178520
add r13, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x180178520
add r13, 3
shl eax, 0xc
or edx, eax
nop dword [rax + rax]
mov rcx, rbx
call fcn.180180d40
mov r15d, dword [rbp - 0x40]
test r15d, r15d
je 0x180178490
mov edx, dword [rbp - 0x44]
mov r12d, dword [rbp - 0x3c]
test r12d, r12d
je 0x180178570
mov rcx, r14
call fcn.180178aa0
mov rcx, r14
mov edx, r15d
call fcn.180178aa0
mov rcx, r14
mov edx, r12d
call fcn.180178aa0
jmp 0x18017849b
mov rcx, r14
call fcn.180178aa0
mov rcx, r14
mov edx, r15d
call fcn.180178aa0
jmp 0x18017849b
xor r14d, r14d
mov rcx, r14
mov rdx, rsi
call fcn.18019deb5
int3