Function at 0x1400253a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0x40
movzx eax, word [rcx + 0x72]
lea r14, [rcx + 0x68]
mov rbx, rdx
shl rax, 6
xor edx, edx
mov dword [rsp + 0x28], 1
mov word [rsp + 0x70], dx
mov rbp, r9
mov qword [rsp + 0x20], rdx
mov r13, r8
movzx edi, dx
mov esi, edx
test rax, rax
je 0x14002572f
mov rax, qword [r14]
test byte [rax], 1
je 0x14002572f
movzx ecx, word [rbx + 0xa]
mov eax, ecx
mov qword [rsp + 0x80], r15
shl rax, 6
test rax, rax
jne 0x14002540e
mov eax, edx
jmp 0x140025416
mov rax, qword [rbx]
mov eax, dword [rax]
and eax, 1
mov r15, qword [rsp + 0x98]
xor al, 1
mov byte [r15], al
lea rax, [rsp + 0x30]
cmp rax, rbx
je 0x1400254c3
test cx, cx
je 0x1400254c3
sub rcx, 1
je 0x140025456
mov rax, qword [rbx]
lea rdx, [rax + rcx*8]
cmp qword [rdx], rsi
jne 0x140025456
sub rdx, 8
sub rcx, 1
jne 0x140025447
lea rdi, [rcx + 1]
test rdi, rdi
je 0x140025498
cmp rdi, 0x2710
jbe 0x14002547c
mov r15, qword [rsp + 0x80]
mov ebx, 0xfffffff0
mov eax, ebx
jmp 0x140025734
mov edx, 8
mov rcx, rdi
call fcn.140039280
mov rsi, rax
test rax, rax
je 0x140025468
mov word [rsp + 0x70], di
jmp 0x1400254ab
imul r8, rdi, 0xfffffffffffffff8
lea rcx, [rdi*8]
xor edx, edx
call fcn.1400366d0
mov rdx, qword [rbx]
lea r8, [rdi*8]
mov rcx, rsi
call fcn.140037380
movzx edi, word [rsp + 0x70]
mov r9d, 0xffffffff
mov qword [rsp + 0x78], r12
mov r8, rbx
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.14002a0a0
mov ebx, eax
test eax, eax
jne 0x1400256d5
movzx ebx, word [rsp + 0x2a]
movzx r12d, byte [r15]
cmp rbx, 0x2710
ja 0x1400256d0
movzx r14d, di
cmp r14, rbx
jae 0x14002555d
lea edx, [rax + 8]
mov ecx, ebx
call fcn.140039280
mov r15, rax
test rax, rax
je 0x1400256d0
test rsi, rsi
je 0x14002554f
lea r14, [r14*8]
mov rdx, rsi
mov r8, r14
mov rcx, rax
call fcn.140037380
test r14, r14
je 0x140025547
mov rdi, rsi
xor eax, eax
mov rcx, r14
rep stosb byte [rdi], al
mov rcx, rsi
call fcn.14003c184
movzx r9d, bx
mov word [rsp + 0x70], bx
mov rsi, r15
jmp 0x140025563
movzx r9d, word [rsp + 0x70]
mov rcx, qword [0x140068190]
mov rax, qword [0x140068190]
xor rcx, r12
mov r14, qword [rsp + 0x20]
mov rdx, rcx
shr rdx, 1
neg rcx
neg rdx
or rdx, rcx
shr rdx, 0x3f
neg rdx
cmp rsi, r14
je 0x1400255de
test rbx, rbx
je 0x1400255de
mov rdi, rsi
sub r14, rsi
mov r8, rbx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140068190]
mov rax, qword [r14 + rdi]
lea rdi, [rdi + 8]
xor rcx, rdx
and rax, rdx
not rcx
and rcx, qword [rdi - 8]
or rax, rcx
mov qword [rdi - 8], rax
sub r8, 1
jne 0x1400255b0
mov r14, qword [rsp + 0x20]
movzx r15d, r9w
not rdx
cmp rbx, r15
jae 0x1400255fc
nop word [rax + rax]
and qword [rsi + rbx*8], rdx
inc rbx
cmp rbx, r15
jb 0x1400255f0
lea r8, [rbp + 1]
xor edx, edx
mov rcx, r13
xor ebx, ebx
call fcn.1400366d0
xor r10d, r10d
test rbp, rbp
je 0x140025674
movzx r11d, byte [rsp + 0x90]
nop dword [rax]
xor edi, edi
test r11, r11
je 0x14002566c
movzx r8d, byte [r10 + r13]
mov r9, r15
shl r9, 6
mov rdx, r10
cmp r9, rdx
ja 0x14002563f
xor al, al
jmp 0x140025655
mov rax, rdx
movzx ecx, dl
shr rax, 6
and cl, 0x3f
mov rax, qword [rsi + rax*8]
shr rax, cl
and al, 1
mov rcx, rdi
add rdx, rbp
shl al, cl
inc rdi
or r8b, al
cmp rdi, r11
jb 0x140025636
mov byte [r10 + r13], r8b
inc r10
cmp r10, rbp
jb 0x140025620
xor r11b, r11b
cmp rbp, 1
jb 0x1400256da
lea r10, [r13 + 1]
movzx edx, byte [r10 - 1]
mov r9d, 1
movzx r8d, byte [r10]
lea r10, [r10 + 1]
xor r8b, r11b
mov ecx, edx
and r11b, byte [r10 - 1]
movzx eax, r8b
and al, 1
sub r9b, al
movzx eax, r9b
imul ecx, eax
shl r9b, 7
or r9b, dl
mov byte [r10 - 2], r9b
movzx eax, cl
xor cl, r8b
and al, r8b
mov byte [r10 - 1], cl
or r11b, al
sub rbp, 1
jne 0x140025681
jmp 0x1400256da
mov ebx, 0xfffffff0
mov r14, qword [rsp + 0x20]
mov r12, qword [rsp + 0x78]
test r14, r14
je 0x140025701
movzx ecx, word [rsp + 0x2a]
shl rcx, 3
test rcx, rcx
je 0x1400256f9
mov rdi, r14
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r14
call fcn.14003c184
test rsi, rsi
je 0x140025723
movzx ecx, word [rsp + 0x70]
shl rcx, 3
test rcx, rcx
je 0x14002571b
mov rdi, rsi
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rsi
call fcn.14003c184
mov r15, qword [rsp + 0x80]
mov eax, ebx
jmp 0x140025734
mov eax, 0xffffb080
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret