Function at 0x14007ad40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rax - 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r12, r9
movzx esi, r8b
mov r15, rdx
mov r13, rcx
mov r14, qword [rcx]
mov rbx, qword [r14 + 8]
mov dil, 1
nop word [rax + rax]
cmp byte [rbx + 0x19], 0
jne 0x14007aec2
mov r14, rbx
lea rax, [rsp + 0x40]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xa0], rax
test sil, sil
je 0x14007ae2d
mov rdx, r12
call fcn.140008ba0
nop
lea rdx, [rbx + 0x20]
lea rcx, [rsp + 0x58]
call fcn.140008ba0
nop
mov r9, qword [rsp + 0x60]
mov rax, r9
mov r8, qword [rsp + 0x48]
mov rdx, r8
sub rdx, r9
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x14007ade6
inc rax
test cl, cl
jne 0x14007add3
xor edi, edi
jmp 0x14007adeb
sbb edi, edi
or edi, 1
shr edi, 0x1f
cmp dword [rsp + 0x6c], 1
jne 0x14007ae07
test r9, r9
je 0x14007ae07
mov rcx, r9
call fcn.140247060
mov r8, qword [rsp + 0x48]
lea rax, vtable.CSABString.0
mov qword [rsp + 0x40], rax
add dword [rsp + 0x54], 0xffffffff
jne 0x14007ae27
test r8, r8
je 0x14007ae27
mov rcx, r8
call fcn.140247060
xor dil, 1
jmp 0x14007aeac
lea rdx, [rbx + 0x20]
call fcn.140008ba0
nop
mov rdx, r12
lea rcx, [rsp + 0x58]
call fcn.140008ba0
nop
mov r9, qword [rsp + 0x60]
mov rax, r9
mov r8, qword [rsp + 0x48]
mov rdx, r8
sub rdx, r9
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x14007ae6b
inc rax
test cl, cl
jne 0x14007ae58
xor edi, edi
jmp 0x14007ae70
sbb edi, edi
or edi, 1
shr edi, 0x1f
cmp dword [rsp + 0x6c], 1
jne 0x14007ae8c
test r9, r9
je 0x14007ae8c
mov rcx, r9
call fcn.140247060
mov r8, qword [rsp + 0x48]
lea rax, vtable.CSABString.0
mov qword [rsp + 0x40], rax
add dword [rsp + 0x54], 0xffffffff
jne 0x14007aeac
test r8, r8
je 0x14007aeac
mov rcx, r8
call fcn.140247060
test dil, dil
je 0x14007aeb9
mov rbx, qword [rbx]
jmp 0x14007ad80
mov rbx, qword [rbx + 0x10]
jmp 0x14007ad80
mov rbx, r14
mov rsi, r14
test dil, dil
je 0x14007af90
mov rax, qword [r13]
cmp r14, qword [rax]
jne 0x14007af14
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, r14
mov r8b, 1
lea rdx, [rsp + 0xa0]
mov rcx, r13
call fcn.14007aab0
mov rax, qword [rax]
mov qword [r15], rax
mov byte [r15 + 8], 1
mov rax, r15
jmp 0x14007b013
cmp byte [r14 + 0x19], 0
je 0x14007af21
mov rbx, qword [r14 + 0x10]
jmp 0x14007af8d
mov rax, qword [r14]
cmp byte [rax + 0x19], 0
je 0x14007af6f
mov rax, qword [r14 + 8]
cmp byte [rax + 0x19], 0
jne 0x14007af61
mov rcx, r14
nop word [rax + rax]
mov rdx, rax
mov r8, rax
mov rsi, rcx
cmp rcx, qword [rax]
jne 0x14007af61
mov rbx, rax
mov rax, qword [rax + 8]
mov rcx, rbx
mov rsi, rbx
cmp byte [rax + 0x19], 0
je 0x14007af40
cmp byte [rbx + 0x19], 0
jne 0x14007af90
mov rbx, rax
mov rsi, rax
jmp 0x14007af90
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14007af8d
nop dword [rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14007af80
mov rsi, rbx
lea rax, [rsp + 0x58]
mov qword [rsp + 0xa0], rax
mov rdx, r12
lea rcx, [rsp + 0x58]
call fcn.140008ba0
nop
lea rdx, [rsi + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140008ba0
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14007d540
test al, al
je 0x14007b008
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, r14
movzx r8d, dil
lea rdx, [rsp + 0xa0]
mov rcx, r13
call fcn.14007aab0
mov rax, qword [rax]
mov qword [r15], rax
mov byte [r15 + 8], 1
mov rax, r15
jmp 0x14007b013
mov qword [r15], rbx
mov byte [r15 + 8], 0
mov rax, r15
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret