Function at 0x140025200
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 0x1400253b0
mov rsi, qword [rcx + 0x8b58]
test rsi, rsi
je 0x1400253b0
mov eax, dword [rsi + 0x85bc]
mov rbx, qword [rcx + 8]
mov r9, qword [rcx + 0x80f0]
mov rsi, qword [rsi + 0x89b0]
neg eax
mov rax, qword [rcx + 0x80f8]
sbb r12, r12
xor r14d, r14d
mov qword [rsp + 0x38], rax
and r12d, 3
cmp dword [rcx + 0x18], 4
lea r8, [rbx - 1]
sete r14b
mov rax, r8
xor r13d, r13d
add r14, 3
and eax, 0xf
lea r15, [0x140265fb0]
add r14, qword [rcx + 0x28]
movsxd rcx, dword [rcx + 0x1c]
lea r10, [rax + r15]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x30], r13
xor edi, edi
mov qword [rsp + 0x20], r10
nop
cmp rcx, 1
jne 0x1400253c3
mov r10, qword [rbp + 0x20]
xor r8d, r8d
shr r10, 3
test rbx, rbx
je 0x14002530e
add r9, r14
nop dword [rax]
movzx edx, byte [r9]
mov rax, r8
mov rcx, r12
and eax, 0xf
add edx, 0xffffff80
add r9, r10
add rax, rdi
shl edx, cl
movzx ecx, byte [rax + r15]
mov rax, r8
inc r8
and rax, 0xfffffffffffffff0
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x1400252d0
mov r9, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x20]
lea r8, [rbx - 1]
inc r13
mov qword [rsp + 0x30], r13
cmp r13, qword [rsp + 0x38]
jae 0x140025335
add r9, qword [rbp + 0x8100]
mov qword [rsp + 0xb8], r9
mov rax, qword [rbp + 0x86e0]
mov rdx, rbx
shl rax, 4
cmp rbx, rax
jae 0x140025396
movzx eax, byte [r10 + rdi]
and r8, 0xfffffffffffffff0
shl r8, 4
add r8, rax
nop dword [rax + rax]
mov rax, rdx
and eax, 0xf
add rax, rdi
movzx ecx, byte [rax + r15]
mov rax, rdx
inc rdx
and rax, 0xfffffffffffffff0
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 0x140025360
mov rcx, qword [rsp + 0x40]
add rdi, 0x10
lea r8, [rbx - 1]
cmp rdi, 0x100
jb 0x1400252b0
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp rcx, 2
jne 0x140025434
mov rcx, qword [rbp + 0x20]
xor r8d, r8d
shr rcx, 4
test rbx, rbx
je 0x140025663
mov rax, qword [rbp + 0x8b58]
lea r11, [rcx + rcx]
movzx r10d, byte [rax + 0x80d0]
movzx edx, word [r9 + r14*2]
mov rax, r8
mov ecx, r10d
and eax, 0xf
sub edx, 0x8000
add r9, r11
sar edx, cl
add rax, rdi
mov rcx, r12
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 0x1400253f0
jmp 0x140025306
cmp rcx, 3
jne 0x1400254af
mov rdx, qword [rbp + 0x20]
xor r8d, r8d
shr rdx, 4
test rbx, rbx
je 0x140025663
mov rax, qword [rbp + 0x8b58]
lea r11, [rdx + rdx]
movzx ecx, byte [rax + 0x80d0]
movsx r10d, cx
nop dword [rax]
nop dword [rax + rax]
movsx edx, word [r9 + r14*2]
mov rax, r8
movzx ecx, r10b
and eax, 0xf
sar edx, cl
mov rcx, r12
add rax, rdi
shl edx, cl
add r9, r11
movzx ecx, byte [rax + r15]
mov rax, r8
inc r8
and rax, 0xfffffffffffffff0
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140025470
jmp 0x140025306
cmp rcx, 4
jne 0x140025518
mov rax, qword [rbp + 0x20]
xor r8d, r8d
shr rax, 4
test rbx, rbx
je 0x140025663
lea r10, [rax + rax]
nop dword [rax]
movsx edx, word [r9 + r14*2]
mov rcx, r12
add r9, r10
mov eax, edx
and edx, 0x7fff
sar eax, 0x1f
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
inc r8
and rax, 0xfffffffffffffff0
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x1400254d0
jmp 0x140025306
cmp rcx, 6
jne 0x14002558d
mov rcx, qword [rbp + 0x20]
xor r8d, r8d
shr rcx, 5
test rbx, rbx
je 0x140025663
mov rax, qword [rbp + 0x8b58]
lea r11, [rcx*4]
movzx r10d, byte [rax + 0x80d0]
nop dword [rax]
mov edx, dword [r9 + r14*4]
mov rax, r8
mov ecx, r10d
and eax, 0xf
sar edx, cl
mov rcx, r12
add rax, rdi
shl edx, cl
add r9, r11
movzx ecx, byte [rax + r15]
mov rax, r8
inc r8
and rax, 0xfffffffffffffff0
shl rax, 4
add rcx, rax
mov dword [rsi + rcx*4], edx
cmp r8, rbx
jb 0x140025550
jmp 0x140025306
cmp rcx, 7
jne 0x140025670
mov rax, qword [rbp + 0x8b58]
mov rcx, qword [rbp + 0x20]
xor r14d, r14d
movzx edx, byte [rax + 0x80d0]
movzx eax, byte [rax + 0x80d1]
shr rcx, 5
mov r15, r9
mov byte [rsp + 0xb0], al
test rbx, rbx
je 0x140025652
lea r13, [rcx*4]
movzx ebp, dl
nop word [rax + rax]
movzx edx, al
mov rax, qword [rsp + 0x28]
movzx r8d, bpl
movss xmm0, dword [r15 + rax*4]
call fcn.140021190
mov rcx, r12
lea rdx, [0x140265fb0]
shl eax, cl
mov rcx, r14
add r15, r13
and ecx, 0xf
add rcx, rdi
movzx edx, byte [rcx + rdx]
mov rcx, r14
inc r14
and rcx, 0xfffffffffffffff0
shl rcx, 4
add rdx, rcx
mov dword [rsi + rdx*4], eax
movzx eax, byte [rsp + 0xb0]
cmp r14, rbx
jb 0x1400255e0
mov rbp, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
lea r15, [0x140265fb0]
jmp 0x140025306
mov r14, qword [rsp + 0x28]
lea r15, [0x140265fb0]
jmp 0x140025317
mov r9, qword [rsp + 0xb8]
jmp 0x140025313
or eax, 0xffffffff
jmp 0x1400253b2