Function at 0x14025604f
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov edi, 0xffffffff
test rcx, rcx
je 0x140256355
mov rsi, rdx
cmp rdx, 8
jb 0x140256355
mov r14, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140256355
mov r12, qword [r14 + 0x10]
mov rbx, rsi
shl rbx, 5
mov rcx, rbx
call qword [fcn.1400c4590]
mov qword [r14 + 8], rax
test rax, rax
je 0x14025621a
xor edi, edi
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.140117f60
mov qword [r14 + 0x10], rsi
test r12, r12
je 0x14025634b
xor r15d, r15d
xor esi, esi
mov rbp, rsi
shl rbp, 5
mov rax, qword [rsp + 0x28]
cmp dword [rax + rbp + 0x14], 0
je 0x1402561f1
cmp r12, 0x80
jne 0x140256159
mov r9, qword [r14 + 0x10]
mov r8d, dword [r14 + 0x30]
mov rax, qword [rsp + 0x28]
mov edx, dword [rax + rbp + 0x10]
mov rcx, qword [rax + rbp + 8]
cmp r9, 0x80
je 0x140256207
xor r13d, r13d
test edx, edx
jle 0x140256167
test rcx, rcx
je 0x140256167
xor eax, eax
movzx ebx, byte [rcx + rax]
add ebx, r8d
mov edi, ebx
shl edi, 0xa
add edi, ebx
mov r8d, edi
shr r8d, 6
xor r8d, edi
inc rax
cmp rdx, rax
jne 0x140256122
lea eax, [r8 + r8*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov r13d, ecx
shl r13d, 0xf
add r13d, ecx
jmp 0x140256167
mov rax, qword [rsp + 0x28]
mov r13d, dword [rax + rbp + 0x18]
mov r9, qword [r14 + 0x10]
mov eax, r13d
xor edx, edx
div r9
mov rbx, rdx
mov rax, qword [r14 + 8]
shl rbx, 5
cmp dword [rax + rbx + 0x14], 0
je 0x1402561c6
mov ecx, 0x20
call qword [fcn.1400c4590]
test rax, rax
je 0x1402561ff
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rdx + rbp + 8]
mov qword [rax + 8], rcx
mov ecx, dword [rdx + rbp + 0x10]
mov dword [rax + 0x10], ecx
mov dword [rax + 0x18], r13d
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx + rbx]
mov qword [rax], rcx
mov dword [rax + 0x14], 1
mov rcx, qword [r14 + 8]
mov qword [rcx + rbx], rax
jmp 0x1402561f1
add rbp, qword [rsp + 0x28]
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + rbx + 0x10], xmm1
movups xmmword [rax + rbx], xmm0
mov rax, qword [r14 + 8]
mov qword [rax + rbx], 0
mov rax, qword [r14 + 8]
mov dword [rax + rbx + 0x18], r13d
inc rsi
cmp rsi, r12
jne 0x1402560d1
jmp 0x140256228
mov r15d, 0xffffffff
jmp 0x1402561f1
call fcn.140172fe8
mov r13d, eax
mov r9d, 0x80
jmp 0x140256167
mov rax, qword [rsp + 0x28]
mov qword [r14 + 8], rax
jmp 0x140256355
mov qword [rsp + 0x30], r15
xor r13d, r13d
mov rax, r13
shl rax, 5
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rcx + rax]
test rsi, rsi
jne 0x140256293
jmp 0x14025633a
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [r14 + 8]
mov qword [rax + rdx], 0
mov rax, qword [r14 + 8]
mov dword [rax + rdx + 0x14], 1
mov rax, qword [r14 + 8]
mov dword [rax + rdx + 0x18], ebx
mov rcx, rsi
call fcn.1400c95d0
jmp 0x14025632e
call fcn.140172fe8
mov ebx, eax
mov edi, 0x80
jmp 0x1402562ff
mov r15, qword [rsi]
cmp r12, 0x80
jne 0x1402562f8
mov rdi, qword [r14 + 0x10]
mov r8d, dword [r14 + 0x30]
mov edx, dword [rsi + 0x10]
mov rcx, qword [rsi + 8]
cmp rdi, 0x80
je 0x140256285
xor ebx, ebx
test edx, edx
jle 0x1402562ff
test rcx, rcx
je 0x1402562ff
xor eax, eax
movzx ebp, byte [rcx + rax]
add ebp, r8d
mov ebx, ebp
shl ebx, 0xa
add ebx, ebp
mov r8d, ebx
shr r8d, 6
xor r8d, ebx
inc rax
cmp rdx, rax
jne 0x1402562c4
lea eax, [r8 + r8*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov ebx, ecx
shl ebx, 0xf
add ebx, ecx
jmp 0x1402562ff
mov ebx, dword [rsi + 0x18]
mov rdi, qword [r14 + 0x10]
mov eax, ebx
xor edx, edx
div rdi
mov rcx, qword [r14 + 8]
shl rdx, 5
lea rax, [rcx + rdx]
cmp dword [rcx + rdx + 0x14], 0
je 0x14025624a
mov rax, qword [rax]
mov qword [rsi], rax
mov dword [rsi + 0x18], ebx
mov rax, qword [r14 + 8]
mov qword [rax + rdx], rsi
mov rsi, r15
test r15, r15
jne 0x140256293
inc r13
cmp r13, r12
jne 0x140256230
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call fcn.1400c95d0
mov eax, edi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret