Function at 0x180019920
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, 0xc8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov r15d, r8d
mov r13, rdx
xorps xmm6, xmm6
movups xmmword [rcx], xmm6
mov qword [rbp - 0x10], rcx
mov qword [rcx + 0x10], 0
xor ebx, ebx
lea r12, [rbp - 0x50]
not r15d
jmp 0x180019987
add rbx, qword [rbp - 0x38]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jae 0x180019dae
movaps xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x40], xmm6
movaps xmmword [rbp - 0x50], xmm6
mov byte [rbp - 8], 0
mov byte [rbp - 7], 0x3f
mov byte [rbp - 6], 0x72
mov byte [rbp - 5], 0x49
mov byte [rbp - 4], 0xc1
mov byte [rbp - 3], 0x40
mov byte [rbp - 2], 0xb7
mov byte [rbp - 1], 0x37
mov byte [rbp], 0xe
mov byte [rbp + 1], 0x99
mov byte [rbp + 2], 0xb7
mov byte [rbp + 3], 0x72
mov byte [rbp + 4], 0xc1
mov byte [rbp + 5], 0xca
mov byte [rbp + 6], 0xa3
mov byte [rbp + 7], 0xd3
mov byte [rbp + 8], 0x40
mov byte [rbp + 9], 0xf
mov byte [rbp + 0xa], 0xad
mov byte [rbp + 0xb], 0xb7
mov byte [rbp + 0xc], 0x37
mov byte [rbp + 0xd], 0x1e
mov ecx, 0x3c55fc46
cmp ecx, 0xcbe7c38b
jg 0x180019a20
cmp ecx, 0x81462978
je 0x180019a5b
cmp ecx, 0xae916fee
je 0x180019a79
cmp ecx, 0xca1027ae
jne 0x1800199f0
mov ecx, 0x81462978
xor eax, eax
jmp 0x1800199f0
cmp ecx, 0xcbe7c38c
je 0x180019b10
cmp ecx, 0xf7b80156
je 0x180019afe
cmp ecx, 0x3c55fc46
jne 0x1800199f0
movzx ecx, byte [rbp - 8]
not cl
or cl, 0xfe
cmp cl, 0xff
mov ecx, 0xcbe7c38c
mov edx, 0xca1027ae
cmove ecx, edx
jmp 0x1800199f0
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x10]
cmp rcx, 0x15
mov ecx, 0xf7b80156
mov edx, 0xae916fee
cmovb ecx, edx
jmp 0x1800199f0
mov rax, qword [rbp + 0x10]
movzx ecx, byte [rbp + rax - 7]
movzx ecx, cl
lea edx, [rcx + rcx*2]
shl edx, 3
sub edx, ecx
mov edi, edx
add edi, 0xfffffd4e
movsx esi, di
imul esi, esi, 0xffff905b
shr esi, 0x10
add edx, esi
add edx, 0xfffffd4e
movzx edx, dx
movsx esi, dx
shr edx, 0xf
sar esi, 7
add esi, edx
imul edx, esi, 0xe3
sub edi, edx
add edi, 0xe3
movzx edx, di
imul edx, edx, 0x20b5
shr edx, 0x10
mov ecx, edi
sub ecx, edx
movzx ecx, cx
shr ecx, 1
add ecx, edx
shr ecx, 7
imul ecx, ecx, 0xe3
sub edi, ecx
mov byte [rbp + rax - 7], dil
mov rax, qword [rbp + 0x10]
add rax, 1
mov ecx, 0x81462978
jmp 0x1800199f0
mov ecx, 0xcbe7c38c
jmp 0x1800199f0
mov byte [rbp + 0x10], 0
mov byte [rbp + 0x11], 0xa1
mov byte [rbp + 0x12], 0xad
mov byte [rbp + 0x13], 0xc3
mov byte [rbp + 0x14], 0xad
mov byte [rbp + 0x15], 0xb4
mov byte [rbp + 0x16], 0xad
mov byte [rbp + 0x17], 0x4a
mov byte [rbp + 0x18], 0xad
mov byte [rbp + 0x19], 0x4a
mov byte [rbp + 0x1a], 0xad
mov byte [rbp + 0x1b], 0x83
mov byte [rbp + 0x1c], 0xad
mov byte [rbp + 0x1d], 0xd2
mov byte [rbp + 0x1e], 0xad
mov byte [rbp + 0x1f], 0x68
mov byte [rbp + 0x20], 0xad
mov byte [rbp + 0x21], 0x68
mov byte [rbp + 0x22], 0xad
mov byte [rbp + 0x23], 0xad
mov byte [rbp + 0x24], 0xad
mov ecx, 0xdc8bbd27
nop dword [rax]
cmp ecx, 0xdc8bbd26
jg 0x180019c20
cmp ecx, 0x8a8d2420
je 0x180019c90
cmp ecx, 0x8f3b44fe
je 0x180019c59
cmp ecx, 0xd2c3bb2b
jne 0x180019b70
mov rax, qword [rbp - 0x18]
movzx ecx, byte [rbp + rax + 0x11]
movzx ecx, cl
imul ecx, ecx, 0x6b
mov edx, ecx
add edx, 0xffffb7b1
movsx edx, dx
imul edx, edx, 0xffff905b
shr edx, 0x10
add edx, ecx
add edx, 0xffffb7b1
movzx edx, dx
movsx edi, dx
shr edx, 0xf
sar edi, 7
add edi, edx
imul edx, edi, 0xe3
neg edx
lea edi, [rcx + rdx]
add edi, 0xffffb894
movzx edx, di
imul edx, edx, 0x20b5
shr edx, 0x10
mov ecx, edi
sub ecx, edx
movzx ecx, cx
shr ecx, 1
add ecx, edx
shr ecx, 7
imul ecx, ecx, 0xe3
sub edi, ecx
mov byte [rbp + rax + 0x11], dil
mov rax, qword [rbp - 0x18]
add rax, 1
mov ecx, 0x4a908792
jmp 0x180019b70
cmp ecx, 0x4a908792
je 0x180019c63
cmp ecx, 0x45482dd2
je 0x180019c81
cmp ecx, 0xdc8bbd27
jne 0x180019b70
movzx ecx, byte [rbp + 0x10]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0x8a8d2420
mov edx, 0x45482dd2
cmove ecx, edx
jmp 0x180019b70
mov ecx, 0x8a8d2420
jmp 0x180019b70
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x18]
cmp rcx, 0x14
mov ecx, 0x8f3b44fe
mov edx, 0xd2c3bb2b
cmovb ecx, edx
jmp 0x180019b70
mov ecx, 0x4a908792
xor eax, eax
jmp 0x180019b70
lea rcx, [rbp + 0x11]
lea rdx, [rbp - 7]
call fcn.180006160
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0x30
mov rcx, r13
mov rdx, rbx
xor r8d, r8d
mov r9, r12
call rax
test eax, eax
jne 0x180019dae
cmp qword [rbp - 0x20], 0
je 0x180019dae
mov eax, dword [rbp - 0x2c]
add eax, 0xfffffffc
cmp eax, 0x3c
ja 0x180019970
movabs rcx, 0x1000000010000001
bt rcx, rax
jae 0x180019970
mov eax, dword [rbp - 0x28]
not eax
or eax, r15d
cmp eax, 0xffffffff
je 0x180019970
mov r14d, 0xd163c653
nop word [rax + rax]
cmp r14d, 0x268c5968
jg 0x180019d60
cmp r14d, 0xd163c653
je 0x180019d8e
cmp r14d, 0x17dcceb9
jne 0x180019d10
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx + 8]
movaps xmm0, xmmword [rbp - 0x50]
movaps xmm1, xmmword [rbp - 0x40]
movaps xmm2, xmmword [rbp - 0x30]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
add rax, 0x30
mov qword [rcx + 8], rax
mov r14d, 0x268c5969
jmp 0x180019d10
cmp r14d, 0x268c5969
je 0x180019970
cmp r14d, 0x5ad4b44c
jne 0x180019d10
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rcx + 8]
mov r14d, 0x268c5969
mov r8, r12
call fcn.18001f540
jmp 0x180019d10
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 8]
mov r14d, 0x17dcceb9
mov eax, 0x5ad4b44c
cmove r14d, eax
jmp 0x180019d10
mov rax, qword [rbp - 0x10]
movaps xmm6, xmmword [rbp + 0x30]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret