Function at 0x14035b5c0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
sub rsp, 0xb0
mov r10, r9
mov rbx, r8
mov r11, rdx
test ecx, ecx
je 0x14035b995
cmp ecx, 1
jne 0x14035b8b6
mov qword [rax + 0x18], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov edi, dword [r9 + 8]
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov rax, qword [rsp + 0xe0]
mov r15d, dword [r9 + 0xc]
mov ecx, dword [rax + 4]
movsxd rsi, dword [rax]
mov ebp, dword [rax + 8]
mov eax, dword [rax + 0xc]
sub ebp, esi
sub eax, ecx
mov dword [rsp + 0x68], ecx
mov ecx, dword [r9]
mov r14d, ebp
sub r14d, dword [rsp + 0xf0]
sub edi, ecx
mov dword [rsp + 0x58], ecx
mov ecx, dword [r9 + 4]
sub r15d, ecx
mov dword [rsp + 0x64], eax
sub eax, dword [rsp + 0xf8]
mov dword [rsp + 0x50], ecx
mov rcx, rbx
mov dword [rsp + 0x6c], r15d
mov dword [rsp + 0x60], eax
call fcn.14035cd70
mov rdx, qword [rsp + 0xc8]
mov r13, rax
mov rax, qword [rdx + 0x10]
movzx ecx, word [rax + 0xe]
imul ecx, dword [rax + 4]
add ecx, 0x1f
shr ecx, 3
and ecx, 0x1ffffffc
cmp dword [rax + 8], 0
jl 0x14035b68f
neg ecx
mov rax, qword [rbx + 0x10]
movzx ebx, word [rax + 0xe]
imul ebx, dword [rax + 4]
add ebx, 0x1f
shr ebx, 3
and ebx, 0x1ffffffc
cmp dword [rax + 8], 0
jl 0x14035b6af
neg ebx
mov r12, rsi
mov dword [rsp + 0xc0], ebx
xor esi, esi
cmp byte [rsp + 0xe8], 0xff
jae 0x14035b8bf
mov dword [rsp + 0x54], esi
test r15d, r15d
jle 0x14035b87e
movsxd rax, dword [rsp + 0x58]
shl rax, 2
mov qword [rsp + 0x70], rax
mov eax, ecx
imul eax, dword [rsp + 0x50]
movsxd r15, eax
movsxd rax, ecx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], r15
nop dword [rax + rax]
mov rcx, rdx
call fcn.14035cd70
mov r11, rax
mov dword [rsp + 0x50], 0
add r11, qword [rsp + 0x70]
add r11, r15
test edi, edi
jle 0x14035b85c
mov eax, dword [rsp + 0x60]
movzx r15d, byte [rsp + 0xe8]
add eax, esi
cdq
idiv dword [rsp + 0x64]
add edx, dword [rsp + 0x68]
imul edx, ebx
mov ebx, dword [rsp + 0x50]
movsxd rsi, edx
nop word [rax + rax]
lea eax, [rbx + r14]
mov r9d, 0xff
cdq
lea r11, [r11 + 4]
idiv ebp
inc ebx
movsxd rax, edx
add rax, r12
lea r10, [rsi + rax*4]
mov eax, 0x80808081
add r10, r13
movzx ecx, byte [r10 + 3]
imul ecx, r15d
mul ecx
movzx ecx, byte [r10 + 2]
shr edx, 7
movzx eax, dl
sub r9d, eax
imul ecx, r15d
mov eax, 0x80808081
mul ecx
movzx eax, byte [r11 - 2]
imul eax, r9d
mov ecx, edx
shr ecx, 7
add eax, 0x7f
cdq
movzx edx, dl
add eax, edx
sar eax, 8
add cl, al
movzx eax, byte [r11 - 3]
imul eax, r9d
mov byte [r11 - 2], cl
movzx ecx, byte [r10 + 1]
imul ecx, r15d
add eax, 0x7f
cdq
movzx r8d, dl
add r8d, eax
mov eax, 0x80808081
mul ecx
movzx eax, byte [r11 - 4]
imul eax, r9d
shr edx, 7
sar r8d, 8
add r8b, dl
mov byte [r11 - 3], r8b
movzx ecx, byte [r10]
add eax, 0x7f
cdq
imul ecx, r15d
movzx r8d, dl
add r8d, eax
mov eax, 0x80808081
sar r8d, 8
mul ecx
movzx ecx, byte [r11 - 1]
mov eax, 0xff
shr edx, 7
add r8b, dl
mov byte [r11 - 4], r8b
movzx r8d, byte [r10 + 3]
sub eax, r8d
imul eax, ecx
add eax, 0x7f
cdq
movzx edx, dl
add eax, edx
sar eax, 8
add al, r8b
mov byte [r11 - 1], al
cmp ebx, edi
jl 0x14035b750
mov ebx, dword [rsp + 0xc0]
mov esi, dword [rsp + 0x54]
mov r15, qword [rsp + 0x58]
add r15, qword [rsp + 0x78]
inc esi
mov rdx, qword [rsp + 0xc8]
mov dword [rsp + 0x54], esi
mov qword [rsp + 0x58], r15
cmp esi, dword [rsp + 0x6c]
jl 0x14035b700
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x80]
add rsp, 0xb0
pop rbx
ret
test r15d, r15d
jle 0x14035b87e
movsxd rax, dword [rsp + 0x58]
shl rax, 2
mov qword [rsp + 0x78], rax
mov eax, ecx
imul eax, dword [rsp + 0x50]
movsxd r15, eax
movsxd rax, ecx
mov qword [rsp + 0x70], rax
mov rcx, rdx
call fcn.14035cd70
xor r9d, r9d
lea rcx, [r15 + rax]
add rcx, qword [rsp + 0x78]
test edi, edi
jle 0x14035b977
mov eax, dword [rsp + 0x60]
add eax, esi
cdq
idiv dword [rsp + 0x64]
add edx, dword [rsp + 0x68]
imul edx, ebx
movsxd r10, edx
lea eax, [r9 + r14]
inc r9d
cdq
lea rcx, [rcx + 4]
idiv ebp
movsxd rax, edx
movzx edx, byte [rcx - 2]
add rax, r12
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + r13 + 3]
mov eax, 0x80808081
imul edx, r8d
mov byte [rcx - 1], r8b
mul edx
mov eax, 0x80808081
shr edx, 7
mov byte [rcx - 2], dl
movzx edx, byte [rcx - 3]
imul edx, r8d
mul edx
mov eax, 0x80808081
shr edx, 7
mov byte [rcx - 3], dl
movzx edx, byte [rcx - 4]
imul edx, r8d
mul edx
shr edx, 7
mov byte [rcx - 4], dl
cmp r9d, edi
jl 0x14035b911
add r15, qword [rsp + 0x70]
inc esi
mov rdx, qword [rsp + 0xc8]
cmp esi, dword [rsp + 0x6c]
jl 0x14035b8e4
jmp 0x14035b87e
mov eax, dword [rsp + 0xf8]
mov r8, r10
mov r9, qword [rsp + 0xe0]
mov rdx, rbx
mov dword [rsp + 0x40], 0
mov rcx, r11
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0xe8]
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x20], al
call fcn.14038ec10
add rsp, 0xb0
pop rbx
ret