Function at 0x180002a80
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rdx
mov rsi, r8
call fcn.180015f10
mov rdi, rax
mov rcx, rbx
call fcn.180015f10
mov rbx, rax
mov rcx, rsi
call fcn.180015f10
mov rsi, rax
mov ebp, dword [rdi + 8]
mov edx, ebp
lea rcx, [0x1801c95c0]
call fcn.18009e780
mov r14, rax
mov r15d, dword [rbx + 8]
mov edx, r15d
add edx, dword [rsi + 8]
movsxd rdx, edx
lea rcx, [0x1801c95c0]
call fcn.18009e780
mov r13, rax
mov dword [rsp + 0x20], r15d
mov rcx, rbx
mov r8, r13
xor edx, edx
xor r9d, r9d
call fcn.18000d010
mov r9d, dword [rsi + 8]
mov dword [rsp + 0x20], r9d
mov r9d, r15d
mov rcx, rsi
mov r8, r13
xor edx, edx
call fcn.18000d010
lea rcx, [0x1801c95c0]
mov edx, 0x100
call fcn.18009e780
mov r8, rax
xor eax, eax
mov byte [r8 + rax + 0x10], al
inc eax
cmp eax, 0x100
jl 0x180002b28
xor ecx, ecx
xor r10d, r10d
mov r9d, dword [r13 + 8]
nop
movzx r11d, byte [r8 + r10 + 0x10]
add ecx, r11d
mov eax, r10d
cdq
idiv r9d
cmp edx, r9d
jae 0x180002d88
movzx edx, byte [r13 + rdx + 0x10]
add ecx, edx
mov edx, ecx
sar edx, 0x1f
and edx, 0xff
add edx, ecx
and edx, 0xffffff00
sub ecx, edx
cmp ecx, 0x100
jae 0x180002d88
mov edx, ecx
movzx edx, byte [r8 + rdx + 0x10]
mov byte [r8 + r10 + 0x10], dl
mov edx, ecx
mov byte [r8 + rdx + 0x10], r11b
inc r10d
cmp r10d, 0x100
jl 0x180002b40
xor ebx, ebx
xor esi, esi
xor r15d, r15d
test ebp, ebp
jle 0x180002c77
cmp dword [r14 + 8], ebp
jl 0x180002cae
inc ebx
mov ecx, ebx
sar ecx, 0x1f
and ecx, 0xff
add ecx, ebx
and ecx, 0xffffff00
sub ebx, ecx
cmp ebx, 0x100
jae 0x180002d88
mov ecx, ebx
movzx eax, byte [r8 + rcx + 0x10]
add esi, eax
mov edx, esi
sar edx, 0x1f
and edx, 0xff
add edx, esi
and edx, 0xffffff00
sub esi, edx
cmp esi, 0x100
jae 0x180002d88
mov edx, esi
movzx r13d, byte [r8 + rdx + 0x10]
mov byte [r8 + rcx + 0x10], r13b
mov byte [r8 + rdx + 0x10], al
mov eax, r15d
movzx eax, byte [rdi + rax + 0x10]
movzx ecx, byte [r8 + rcx + 0x10]
movzx edx, byte [r8 + rdx + 0x10]
add ecx, edx
mov edx, ecx
sar edx, 0x1f
and edx, 0xff
add edx, ecx
and edx, 0xffffff00
mov r12d, ecx
sub r12d, edx
cmp r12d, 0x100
jae 0x180002d88
mov ecx, r12d
movzx r10d, byte [r8 + rcx + 0x10]
xor eax, r10d
mov ecx, r15d
mov byte [r14 + rcx + 0x10], al
inc r15d
cmp ebp, r15d
jg 0x180002bbb
lea rcx, [0x1801aecf0]
cmp qword [rcx - 8], 0
jne 0x180002d7e
mov rcx, qword [0x18018b3f0]
mov rcx, qword [rcx + 8]
mov rdx, r14
call fcn.18004a730
nop
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
lea eax, [rbx + 1]
mov ecx, eax
sar ecx, 0x1f
and ecx, 0xff
add ecx, eax
and ecx, 0xffffff00
mov ebx, eax
sub ebx, ecx
cmp ebx, 0x100
jae 0x180002d88
mov eax, ebx
movzx eax, byte [r8 + rax + 0x10]
lea ecx, [rax + rsi]
mov edx, ecx
sar edx, 0x1f
and edx, 0xff
add edx, ecx
and edx, 0xffffff00
mov esi, ecx
sub esi, edx
cmp esi, 0x100
jae 0x180002d88
mov ecx, esi
movzx r13d, byte [r8 + rcx + 0x10]
mov ecx, ebx
mov byte [r8 + rcx + 0x10], r13b
mov ecx, esi
mov byte [r8 + rcx + 0x10], al
mov eax, r15d
movzx eax, byte [rdi + rax + 0x10]
mov ecx, ebx
movzx ecx, byte [r8 + rcx + 0x10]
mov edx, esi
movzx edx, byte [r8 + rdx + 0x10]
add ecx, edx
mov edx, ecx
sar edx, 0x1f
and edx, 0xff
add edx, ecx
and edx, 0xffffff00
mov r12d, ecx
sub r12d, edx
cmp r12d, 0x100
jae 0x180002d88
mov ecx, r12d
movzx ecx, byte [r8 + rcx + 0x10]
xor eax, ecx
cmp r15d, dword [r14 + 8]
jae 0x180002d88
mov ecx, r15d
mov byte [r14 + rcx + 0x10], al
inc r15d
cmp ebp, r15d
jg 0x180002cae
jmp 0x180002c77
call fcn.18009b7d5
jmp 0x180002c89
call fcn.1800462c0
int3