Function at 0x18000a529
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test rdx, rdx
je 0x18000a7d7
mov r11, rsp
push rbp
push r13
push r14
push r15
lea rbp, [r11 - 0x4f]
sub rsp, 0xd8
mov rax, qword [0x180168908]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, qword [rbp + 0x77]
mov r15, r9
movsxd r9, r8d
mov r13, rdx
test r8d, r8d
je 0x18000a7bd
test rcx, rcx
je 0x18000a7bd
movzx r10d, byte [rbp + 0x7f]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
xor esi, esi
mov dword [r14], esi
mov r8d, esi
mov rax, qword [rcx]
mov ebx, esi
mov qword [rbp - 0x29], rax
mov edx, esi
mov byte [rbp - 0x49], al
movzx eax, byte [rbp - 0x28]
mov byte [rbp - 0x48], al
movzx eax, byte [rbp - 0x27]
mov byte [rbp - 0x47], al
movzx eax, byte [rbp - 0x26]
mov byte [rbp - 0x46], al
movzx eax, byte [rbp - 0x25]
mov byte [rbp - 0x45], al
movzx eax, byte [rbp - 0x24]
mov byte [rbp - 0x44], al
movzx eax, byte [rbp - 0x23]
mov byte [rbp - 0x43], al
movzx eax, byte [rbp - 0x22]
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x28], r12
mov r12d, esi
mov byte [rbp - 0x42], al
mov dword [rbp - 0x31], 8
mov dword [rsp + 0x20], esi
test r9d, r9d
jle 0x18000a6b8
mov edi, esi
mov ecx, esi
mov rsi, r9
mov ebx, r9d
nop dword [rax + rax]
movzx eax, byte [rdi + r13]
mov byte [rbp + rcx - 0x39], al
cmp rcx, 7
jne 0x18000a69c
movsd xmm0, qword [rbp - 0x49]
lea r9, [rbp - 0x59]
mov eax, dword [rbp - 0x31]
lea rdx, [rbp - 0x79]
movsd qword [rbp - 0x79], xmm0
lea rcx, [rbp - 0x69]
movsd xmm0, qword [rbp - 0x39]
movzx r8d, r10b
movsd qword [rbp - 0x69], xmm0
mov dword [rbp - 0x71], 8
mov dword [rbp - 0x61], eax
call fcn.18000a930
movzx eax, byte [rbp - 0x59]
mov rcx, 0xffffffffffffffff
add dword [rsp + 0x20], 8
mov r8d, ecx
movzx r10d, byte [rbp + 0x7f]
mov byte [r12 + r15], al
movzx eax, byte [rbp - 0x58]
mov byte [r15 + r12 + 1], al
movzx eax, byte [rbp - 0x57]
mov byte [r15 + r12 + 2], al
movzx eax, byte [rbp - 0x56]
mov byte [r15 + r12 + 3], al
movzx eax, byte [rbp - 0x55]
mov byte [r15 + r12 + 4], al
movzx eax, byte [rbp - 0x54]
mov byte [r15 + r12 + 5], al
movzx eax, byte [rbp - 0x53]
mov byte [r15 + r12 + 6], al
movzx eax, byte [rbp - 0x52]
mov byte [r15 + r12 + 7], al
add r12, 8
add dword [r14], 8
mov edx, dword [r14]
inc r8d
inc rcx
inc rdi
cmp rdi, rsi
jl 0x18000a5f0
mov r12d, dword [rsp + 0x20]
xor esi, esi
test r10b, r10b
je 0x18000a787
cmp r8d, 8
lea eax, [rdx + 8]
mov dword [r14], eax
cmovne esi, r8d
and ebx, 0x80000007
jge 0x18000a6de
dec ebx
or ebx, 0xfffffff8
inc ebx
mov edx, 8
sub dl, bl
cmp esi, 8
jge 0x18000a704
mov eax, 8
lea rdi, [rbp - 0x39]
sub eax, esi
movsxd rcx, eax
movsxd rax, esi
add rdi, rax
movsx rax, dl
rep stosb byte [rdi], al
movsd xmm0, qword [rbp - 0x49]
lea r9, [rbp - 0x59]
movsd qword [rbp - 0x69], xmm0
lea rdx, [rbp - 0x69]
movsd xmm0, qword [rbp - 0x39]
lea rcx, [rbp - 0x79]
movzx r8d, r10b
movsd qword [rbp - 0x79], xmm0
mov dword [rbp - 0x61], 8
mov dword [rbp - 0x71], 8
call fcn.18000a930
movzx eax, byte [rbp - 0x59]
movsxd rcx, r12d
mov byte [rcx + r15], al
movzx eax, byte [rbp - 0x58]
mov byte [r15 + rcx + 1], al
movzx eax, byte [rbp - 0x57]
mov byte [r15 + rcx + 2], al
movzx eax, byte [rbp - 0x56]
mov byte [r15 + rcx + 3], al
movzx eax, byte [rbp - 0x55]
mov byte [r15 + rcx + 4], al
movzx eax, byte [rbp - 0x54]
mov byte [r15 + rcx + 5], al
movzx eax, byte [rbp - 0x53]
mov byte [r15 + rcx + 6], al
movzx eax, byte [rbp - 0x52]
mov byte [r15 + rcx + 7], al
jmp 0x18000a79d
movsxd rax, edx
movsx ecx, byte [rax + r15 - 1]
sub edx, ecx
movsxd rax, edx
mov dword [r14], edx
mov byte [rax + r15], 0
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
mov r12, qword [rsp + 0xd0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1800a5130
add rsp, 0xd8
pop r15
pop r14
pop r13
pop rbp
ret