Function at 0x10007e870
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbp
mov rbp, rsp
lea rsp, [rsp - 0xa0]
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rsi
mov qword [rbp - 8], rcx
mov qword [rbp - 0x70], 0
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x60], 0
nop
xor eax, eax
mov edx, 1
lea rcx, [0x1002ca8a0]
mov r8d, eax
call fcn.10006d6b0
mov rdx, qword [rbp - 8]
mov qword [rdx - 0x20], rax
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x10]
mov eax, dword [rax + 0x38]
lea ebx, [eax - 1]
test ebx, ebx
jl 0x10007e944
mov dword [rbp - 0x10], 0xffffffff
nop dword [rax]
add dword [rbp - 0x10], 1
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x10]
mov eax, dword [rax + 0x3c]
lea esi, [eax - 1]
test esi, esi
jl 0x10007e93c
mov dword [rbp - 0xc], 0xffffffff
nop
add dword [rbp - 0xc], 1
mov r8d, dword [rbp - 0x10]
mov edx, dword [rbp - 0xc]
mov rcx, qword [rbp - 8]
call fcn.10007ec40
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x38]
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x20]
mov rax, qword [rax]
call qword [rax + 0x100]
cmp esi, dword [rbp - 0xc]
jg 0x10007e900
nop
cmp ebx, dword [rbp - 0x10]
jg 0x10007e8e0
nop dword [rax]
mov rax, qword [rbp - 8]
mov dword [rax - 0x34], 0
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
call fcn.10006dab0
mov dword [rbp - 0x18], eax
jmp 0x10007e98f
movsxd rcx, dword [rbp - 0x18]
movabs rax, 0x6906906906906907
imul rcx
sar rdx, 5
shr rcx, 0x3f
add rdx, rcx
mov dword [rbp - 0x18], edx
mov rax, qword [rbp - 8]
add dword [rax - 0x34], 1
cmp dword [rbp - 0x18], 0
jg 0x10007e968
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
call fcn.10006dab0
shl eax, 3
mov dword [rbp - 0x14], eax
movsxd rdx, dword [rbp - 0x14]
mov rax, qword [rbp - 8]
lea rcx, [rax - 0x28]
call fcn.100011060
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x28]
movsxd rdx, dword [rbp - 0x14]
xor r8d, r8d
call fcn.1000031c0
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
call fcn.10006dab0
mov ebx, eax
sub ebx, 1
test ebx, ebx
jl 0x10007eab4
mov dword [rbp - 0x18], 0xffffffff
nop
add dword [rbp - 0x18], 1
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x28]
movsxd rdx, dword [rbp - 0x18]
lea rcx, [rax + rdx*8]
mov rax, qword [rbp - 8]
movsxd rdx, dword [rax - 0x34]
xor r8d, r8d
call fcn.100009ef0
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp - 8]
mov eax, dword [rax - 0x34]
cmp eax, 1
jl 0x10007eaa8
mov dword [rbp - 0x24], eax
add eax, 1
mov dword [rbp - 0x24], eax
nop dword [rax + rax]
sub dword [rbp - 0x24], 1
movsxd rax, dword [rbp - 0x1c]
cqo
mov ecx, 0x4e
idiv rcx
lea rax, [rdx + 1]
and eax, 0xff
lea rdx, str.N.__abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789__:______
mov al, byte [rdx + rax]
mov byte [rbp - 0x20], al
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x28]
movsxd rdx, dword [rbp - 0x18]
lea rcx, [rax + rdx*8]
call fcn.10000a0a0
movsxd rcx, dword [rbp - 0x24]
mov dl, byte [rbp - 0x20]
mov byte [rax + rcx - 1], dl
movsxd rcx, dword [rbp - 0x1c]
movabs rax, 0x6906906906906907
imul rcx
sar rdx, 5
shr rcx, 0x3f
add rdx, rcx
mov dword [rbp - 0x1c], edx
cmp dword [rbp - 0x24], 1
jg 0x10007ea38
nop dword [rax]
cmp ebx, dword [rbp - 0x18]
jg 0x10007e9f0
nop dword [rax]
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
call fcn.10006dab0
shl eax, 3
mov dword [rbp - 0x28], eax
movsxd rdx, dword [rbp - 0x28]
mov rax, qword [rbp - 8]
lea rcx, [rax - 0x30]
call fcn.100011060
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x30]
movsxd rdx, dword [rbp - 0x28]
xor r8d, r8d
call fcn.1000031c0
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
call fcn.10006dab0
mov ebx, eax
sub ebx, 1
test ebx, ebx
jl 0x10007ebd4
mov dword [rbp - 0x18], 0xffffffff
nop dword [rax]
add dword [rbp - 0x18], 1
mov rax, qword [rbp - 8]
mov rcx, qword [rax - 0x20]
mov edx, dword [rbp - 0x18]
call fcn.10006da70
mov qword [rbp - 0x30], rax
cmp word [rbp - 0x2a], 0
jne 0x10007eb4e
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x30]
movsxd rdx, dword [rbp - 0x18]
lea rcx, [rax + rdx*8]
lea rdx, str.None
call fcn.1000090a0
jmp 0x10007ebc9
lea rax, [0x1002cc720]
mov qword [rbp - 0x58], rax
movzx r8d, word [rbp - 0x30]
lea rdx, [rbp - 0x60]
mov rcx, qword [rbp - 8]
call fcn.10007ebf0
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x50], rax
movzx r8d, word [rbp - 0x2e]
lea rdx, [rbp - 0x68]
mov rcx, qword [rbp - 8]
call fcn.10007ebf0
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x48], rax
movzx r8d, word [rbp - 0x2c]
lea rdx, [rbp - 0x70]
mov rcx, qword [rbp - 8]
call fcn.10007ebf0
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x58]
mov rax, qword [rbp - 8]
mov rax, qword [rax - 0x30]
movsxd rcx, dword [rbp - 0x18]
lea rcx, [rax + rcx*8]
xor r9d, r9d
mov r8d, 3
call fcn.100009490
cmp ebx, dword [rbp - 0x18]
jg 0x10007eb10
nop
nop
mov rcx, rbp
call fcn.10007e840
mov rbx, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x78]
lea rsp, [rbp]
pop rbp
ret