Function at 0x1400ebb80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov r10, qword [rcx]
mov r15d, r8d
mov r14, qword [rcx + 8]
mov rbx, rcx
mov esi, edx
mov rdi, qword [r10 + 0x10]
cmp r14, qword [rcx + 0x10]
jae 0x1400ebdfa
movzx r9d, byte [rdi + rsi*8 + 5]
cmp r9b, 0x55
jne 0x1400ebc17
movzx eax, byte [rdi + rsi*8 + 2]
and al, 0x1f
cmp al, 0x13
jne 0x1400ebc81
mov eax, dword [rbx + 0x18]
movzx ecx, word [rdi + rsi*8]
and eax, 0xf000
cmp eax, 0x1000
ja 0x1400ebbf3
mov edx, ecx
inc r8d
mov rcx, rbx
call fcn.1400ec1d0
jmp 0x1400ebbfb
mov dword [r14], ecx
add qword [rbx + 8], 4
cmp dword [rbx + 0x1c], 0x15
jne 0x1400ebc10
mov rax, qword [rbx + 8]
mov dword [rax], 0x20000
add qword [rbx + 8], 4
xor eax, eax
jmp 0x1400ebd31
cmp r9b, 0x1b
jne 0x1400ebc81
test dword [rcx + 0x18], 0xf000
mov eax, dword [rdi + rsi*8]
movsd xmm1, qword [rax]
jne 0x1400ebc68
cvttsd2si rcx, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
ucomisd xmm1, xmm0
jp 0x1400ebdfa
jne 0x1400ebdfa
mov dword [r14], 0x30000
add qword [rbx + 8], 4
mov rax, qword [rbx + 8]
mov dword [rax], ecx
add qword [rbx + 8], 4
xor eax, eax
jmp 0x1400ebd31
cvttsd2si ecx, xmm1
movsx eax, cx
cmp ecx, eax
jne 0x1400ebdfa
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
jmp 0x1400ebc3a
movzx r11d, byte [r10 + 0x9d]
movzx r8d, word [r10 + r11*2 + 0x140]
cmp r8d, esi
jbe 0x1400ebcdc
movzx eax, word [rdi + r8*8]
cmp eax, esi
jne 0x1400ebcd1
cmp r11b, 0x56
je 0x1400ebd4b
movzx eax, word [rdi + r8*8 + 2]
xor eax, dword [rbx + 0x18]
test eax, 0xfff
jne 0x1400ebcd1
movzx ecx, byte [rdi + r8*8 + 4]
movzx eax, byte [r10 + 0x9c]
and cl, 0x80
and al, 0x80
cmp cl, al
jae 0x1400ebd4b
movzx r8d, word [rdi + r8*8 + 6]
cmp r8d, esi
ja 0x1400ebc97
sub r9b, 0x28
mov qword [rsp + 0x40], rbp
cmp r9b, 1
ja 0x1400ebddf
mov r8d, dword [rbx + 0x18]
mov eax, r8d
and eax, 0xf000
cmp eax, 0x2000
jne 0x1400ebd0e
test r15d, r15d
jle 0x1400ebd0e
add r8d, 0x1000
movzx edx, si
mov rcx, r10
call fcn.1400ebb40
test rax, rax
je 0x1400ebd57
movzx eax, word [rax + 2]
mov dword [r14], eax
add qword [rbx + 8], 4
xor eax, eax
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov dword [r14], r8d
add qword [rbx + 8], 4
xor eax, eax
jmp 0x1400ebd31
cmp dword [rbx + 0x1c], 0x15
jne 0x1400ebd88
mov r8d, 0x226e
mov rcx, r10
call fcn.1400ebb40
test rax, rax
je 0x1400ebd88
movzx eax, word [rax + 2]
mov dword [r14], eax
add qword [rbx + 8], 4
mov rax, qword [rbx + 8]
mov dword [rax], 0x20000
jmp 0x1400ebd25
inc r15d
cmp r15d, 0x64
jge 0x1400ebddf
movzx edx, word [rdi + rsi*8]
mov r8d, r15d
mov rcx, rbx
call fcn.1400ebb80
movzx edx, word [rdi + rsi*8 + 2]
mov r8d, r15d
mov rcx, rbx
mov ebp, eax
call fcn.1400ebb80
add ebp, eax
cmp ebp, 1
jg 0x1400ebddb
movzx ecx, byte [rdi + rsi*8 + 5]
mov rax, qword [rbx + 8]
shl ecx, 8
or ecx, dword [rbx + 0x1c]
shl ecx, 0x10
add ecx, esi
mov dword [rax], ecx
mov eax, ebp
add qword [rbx + 8], 4
jmp 0x1400ebd2c
mov qword [rbx + 8], r14
mov rax, qword [rbx + 8]
lea ecx, [rsi + 0x10000]
mov dword [rax], ecx
mov eax, 1
add qword [rbx + 8], 4
jmp 0x1400ebd2c
mov eax, 0xa
jmp 0x1400ebd31