Function at 0x140035b00
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
cmp dword [rcx + 0x8b60], 0
mov rbp, rcx
jne 0x140035d63
mov rsi, qword [rcx + 0x8b58]
test rsi, rsi
je 0x140035d63
mov eax, dword [rsi + 0x85bc]
lea r15, [0x14006cd80]
mov rbx, qword [rbp + 8]
neg eax
mov rax, qword [rbp + 0x80f8]
mov r11, qword [rbp + 0x80f0]
sbb r14, r14
mov ecx, dword [rcx + 0x1c]
xor r9d, r9d
mov rsi, qword [rsi + 0x89b0]
lea r10, [rbx - 1]
and r14d, 3
mov dword [rsp + 0xb0], ecx
cmp dword [rbp + 0x18], 4
mov r8, r10
mov qword [rsp + 0x30], r14
sete r9b
mov qword [rsp + 0x40], rax
add r9, 3
mov qword [rsp + 0x28], r11
add r9, qword [rbp + 0x28]
xor r12d, r12d
xor edi, edi
mov qword [rsp + 0xb8], r9
and r8d, 0xf
mov qword [rsp + 0x38], r12
add r8, r15
mov qword [rsp + 0x20], r8
cmp ecx, 1
jne 0x140035c1b
mov r10, qword [rbp + 0x20]
xor r8d, r8d
shr r10, 3
test rbx, rbx
je 0x140035cb4
add r9, r11
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r9]
mov rax, r8
and eax, 0xf
add edx, 0xffffff80
add rax, rdi
mov rcx, r14
shl edx, cl
add r9, r10
movzx ecx, byte [rax + r15]
mov rax, r8
and rax, 0xfffffffffffffff0
inc r8
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140035be0
jmp 0x140035cac
cmp ecx, 2
jne 0x140035d76
mov rcx, qword [rbp + 0x20]
xor r8d, r8d
shr rcx, 4
mov r9, r11
test rbx, rbx
je 0x140035fa9
mov rax, qword [rbp + 0x8b58]
lea r11, [rcx + rcx]
mov rbp, qword [rsp + 0xb8]
movzx r10d, byte [rax + 0x80d0]
nop word [rax + rax]
movzx edx, word [r9 + rbp*2]
mov rax, r8
and eax, 0xf
sub edx, 0x8000
add rax, rdi
mov ecx, r10d
sar edx, cl
add r9, r11
mov rcx, r14
shl edx, cl
movzx ecx, byte [rax + r15]
mov rax, r8
and rax, 0xfffffffffffffff0
inc r8
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140035c60
mov r11, qword [rsp + 0x28]
mov rbp, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xb8]
lea r10, [rbx - 1]
mov r8, qword [rsp + 0x20]
lea rax, [r12 + 1]
mov r12, rax
mov qword [rsp + 0x38], rax
cmp rax, qword [rsp + 0x40]
jae 0x140035cdd
add r11, qword [rbp + 0x8100]
mov qword [rsp + 0x28], r11
mov rax, qword [rbp + 0x86e0]
mov rdx, rbx
shl rax, 4
cmp rbx, rax
jae 0x140035d46
movzx r8d, byte [r8 + rdi]
mov rax, r10
and rax, 0xfffffffffffffff0
shl rax, 4
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
and eax, 0xf
add rax, rdi
movzx ecx, byte [rax + r15]
mov rax, rdx
and rax, 0xfffffffffffffff0
inc rdx
shl rax, 4
add rcx, rax
mov eax, dword [rsi + r8*4]
mov dword [rsi + rcx*4], eax
mov rax, qword [rbp + 0x86e0]
shl rax, 4
cmp rdx, rax
jb 0x140035d10
mov ecx, dword [rsp + 0xb0]
add rdi, 0x10
mov r8, qword [rsp + 0x20]
cmp rdi, 0x100
jb 0x140035bb5
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ecx, 3
jne 0x140035def
mov rcx, qword [rbp + 0x20]
xor r8d, r8d
mov rax, qword [rbp + 0x8b58]
mov r9, r11
shr rcx, 4
test rbx, rbx
je 0x140035fa9
movzx r10d, byte [rax + 0x80d0]
lea r11, [rcx + rcx]
mov rbp, qword [rsp + 0xb8]
nop dword [rax]
movsx edx, word [r9 + rbp*2]
mov rax, r8
and eax, 0xf
movzx ecx, r10b
add rax, rdi
sar edx, cl
mov rcx, r14
add r9, r11
shl edx, cl
movzx ecx, byte [rax + r15]
mov rax, r8
and rax, 0xfffffffffffffff0
inc r8
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140035db0
jmp 0x140035c9f
cmp ecx, 4
jne 0x140035e68
mov rax, qword [rbp + 0x20]
xor r8d, r8d
shr rax, 4
mov r9, r11
test rbx, rbx
je 0x140035fa9
mov rbp, qword [rsp + 0xb8]
lea r10, [rax + rax]
nop word [rax + rax]
movsx edx, word [r9 + rbp*2]
mov rcx, r14
mov eax, edx
add r9, r10
sar eax, 0x1f
and edx, 0x7fff
xor edx, eax
sub edx, eax
mov rax, r8
and eax, 0xf
shl edx, cl
add rax, rdi
movzx ecx, byte [rax + r15]
mov rax, r8
and rax, 0xfffffffffffffff0
inc r8
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140035e20
jmp 0x140035ca4
cmp ecx, 6
jne 0x140035eed
mov rcx, qword [rbp + 0x20]
xor r8d, r8d
shr rcx, 5
mov r9, r11
test rbx, rbx
je 0x140035fa9
mov rax, qword [rbp + 0x8b58]
lea r11, [rcx*4]
mov rbp, qword [rsp + 0xb8]
movzx r10d, byte [rax + 0x80d0]
nop word [rax + rax]
mov edx, dword [r9 + rbp*4]
mov rax, r8
and eax, 0xf
mov ecx, r10d
add rax, rdi
sar edx, cl
mov rcx, r14
add r9, r11
shl edx, cl
movzx ecx, byte [rax + r15]
mov rax, r8
and rax, 0xfffffffffffffff0
inc r8
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140035eb0
jmp 0x140035c9f
cmp ecx, 7
jne 0x140035fb6
mov rax, qword [rbp + 0x8b58]
xor r14d, r14d
mov rcx, qword [rbp + 0x20]
mov r15, r11
shr rcx, 5
movzx r13d, byte [rax + 0x80d0]
movzx edx, byte [rax + 0x80d1]
test rbx, rbx
je 0x140035f98
lea r12, [rcx*4]
movzx ebp, dl
nop word [rax + rax]
movss xmm0, dword [r15 + r9*4]
movzx r8d, r13b
movzx edx, bpl
call fcn.140031530
mov rcx, qword [rsp + 0x30]
lea rdx, [0x14006cd80]
mov r9, qword [rsp + 0xb8]
add r15, r12
shl eax, cl
mov rcx, r14
and ecx, 0xf
add rcx, rdi
movzx edx, byte [rcx + rdx]
mov rcx, r14
and rcx, 0xfffffffffffffff0
inc r14
shl rcx, 4
add rdx, rcx
mov dword [rsi + rdx*4], eax
cmp r14, rbx
jb 0x140035f30
mov r14, qword [rsp + 0x30]
lea r15, [0x14006cd80]
mov r12, qword [rsp + 0x38]
jmp 0x140035c9f
mov r14, qword [rsp + 0x30]
lea r15, [0x14006cd80]
jmp 0x140035cbd
mov r9, qword [rsp + 0xb8]
jmp 0x140035cb8
mov eax, 0xffffffff
jmp 0x140035d65