Function at 0x1800e6ea4
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rdi, r8
call fcn.18007f10c
mov rbx, rax
mov rcx, rsi
call fcn.18007f10c
mov rsi, rax
mov rcx, rdi
call fcn.18007f10c
mov rdi, rax
mov ebp, dword [rbx + 8]
mov edx, ebp
lea rcx, [0x18014fdc0]
call fcn.180003890
mov r14, rax
mov r15d, dword [rsi + 8]
mov edx, r15d
add edx, dword [rdi + 8]
movsxd rdx, edx
lea rcx, [0x18014fdc0]
call fcn.180003890
mov r12, rax
mov dword [rsp + 0x20], r15d
mov rcx, rsi
mov r8, r12
xor edx, edx
xor r9d, r9d
call fcn.180074980
mov r9d, dword [rdi + 8]
mov dword [rsp + 0x20], r9d
mov r9d, r15d
mov rcx, rdi
mov r8, r12
xor edx, edx
call fcn.180074980
lea rcx, [0x18014fdc0]
mov edx, 0x100
call fcn.180003890
mov rcx, rax
xor eax, eax
mov edx, eax
mov byte [rcx + rdx + 0x10], al
inc eax
cmp eax, 0x100
jl 0x1800e6f4a
xor r8d, r8d
xor r9d, r9d
mov r10d, dword [r12 + 8]
mov eax, r9d
movzx r11d, byte [rcx + rax + 0x10]
add r8d, r11d
mov eax, r9d
cdq
idiv r10d
cmp edx, r10d
jae 0x1800e71c1
mov eax, edx
movzx eax, byte [r12 + rax + 0x10]
add eax, r8d
mov edx, eax
sar edx, 0x1f
and edx, 0xff
add edx, eax
and edx, 0xffffff00
mov r8d, eax
sub r8d, edx
cmp r8d, 0x100
jae 0x1800e71c1
mov eax, r8d
movzx eax, byte [rcx + rax + 0x10]
mov edx, r9d
mov byte [rcx + rdx + 0x10], al
mov eax, r8d
mov byte [rcx + rax + 0x10], r11b
inc r9d
cmp r9d, 0x100
jl 0x1800e6f64
xor eax, eax
xor edx, edx
xor r8d, r8d
test ebp, ebp
jle 0x1800e719c
cmp dword [r14 + 8], ebp
jl 0x1800e70c0
inc eax
mov r9d, eax
sar r9d, 0x1f
and r9d, 0xff
add r9d, eax
and r9d, 0xffffff00
sub eax, r9d
cmp eax, 0x100
jae 0x1800e71c1
mov r9d, eax
movzx r10d, byte [rcx + r9 + 0x10]
add edx, r10d
mov r11d, edx
sar r11d, 0x1f
and r11d, 0xff
add r11d, edx
and r11d, 0xffffff00
sub edx, r11d
cmp edx, 0x100
jae 0x1800e71c1
mov r11d, edx
movzx esi, byte [rcx + r11 + 0x10]
mov byte [rcx + r9 + 0x10], sil
mov byte [rcx + r11 + 0x10], r10b
mov r10d, r8d
movzx r10d, byte [rbx + r10 + 0x10]
movzx r9d, byte [rcx + r9 + 0x10]
movzx r11d, byte [rcx + r11 + 0x10]
add r9d, r11d
mov r11d, r9d
sar r11d, 0x1f
and r11d, 0xff
add r11d, r9d
and r11d, 0xffffff00
sub r9d, r11d
cmp r9d, 0x100
jae 0x1800e71c1
mov r9d, r9d
movzx r9d, byte [rcx + r9 + 0x10]
xor r9d, r10d
mov r10d, r8d
mov byte [r14 + r10 + 0x10], r9b
inc r8d
cmp ebp, r8d
jg 0x1800e6fed
jmp 0x1800e719c
inc eax
mov r9d, eax
sar r9d, 0x1f
and r9d, 0xff
add r9d, eax
and r9d, 0xffffff00
sub eax, r9d
cmp eax, 0x100
jae 0x1800e71c1
mov r9d, eax
movzx r10d, byte [rcx + r9 + 0x10]
add edx, r10d
mov r9d, edx
sar r9d, 0x1f
and r9d, 0xff
add r9d, edx
and r9d, 0xffffff00
sub edx, r9d
cmp edx, 0x100
jae 0x1800e71c1
mov r9d, edx
movzx esi, byte [rcx + r9 + 0x10]
mov r9d, eax
mov byte [rcx + r9 + 0x10], sil
mov r9d, edx
mov byte [rcx + r9 + 0x10], r10b
mov r9d, r8d
movzx r9d, byte [rbx + r9 + 0x10]
mov r10d, eax
movzx r10d, byte [rcx + r10 + 0x10]
mov r11d, edx
movzx r11d, byte [rcx + r11 + 0x10]
add r10d, r11d
mov r11d, r10d
sar r11d, 0x1f
and r11d, 0xff
add r11d, r10d
and r11d, 0xffffff00
sub r10d, r11d
cmp r10d, 0x100
jae 0x1800e71c1
mov r10d, r10d
movzx r10d, byte [rcx + r10 + 0x10]
xor r9d, r10d
cmp r8d, dword [r14 + 8]
jae 0x1800e71c1
mov r10d, r8d
mov byte [r14 + r10 + 0x10], r9b
inc r8d
cmp ebp, r8d
jg 0x1800e70c0
call fcn.1800017ca
mov rcx, qword [rax + 8]
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0xb0]
nop
add rsp, 0x30
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r14
pop r15
ret
call fcn.18008d818
int3