Function at 0x1400252f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xb0
mov rax, qword [0x1400f1010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r8, rcx
mov rcx, qword [0x140105f20]
test rcx, rcx
jne 0x1400255c6
call fcn.140025190
test rax, rax
je 0x1400255b7
cmp dword [rbp - 0x19], 0
je 0x1400255b7
xor ecx, ecx
mov qword [rsp + 0xd0], rsi
call fcn.1400909f4
mov qword [rbp - 0x11], rax
mov rsi, rax
test rax, rax
je 0x1400255af
xor ecx, ecx
mov qword [rsp + 0x98], r14
call fcn.1400909f4
mov qword [rbp - 9], rax
mov r14, rax
test rax, rax
je 0x14002559f
xor ecx, ecx
call fcn.1400909f4
mov qword [rbp - 1], rax
mov r8, rax
test rax, rax
je 0x140025597
cmp dword [rbp - 0x19], 0
jbe 0x14002558f
movzx edx, byte [0x1400dce3d]
movzx r9d, byte [0x1400dce31]
xor dl, 0xfc
movzx r10d, byte [0x1400dce32]
xor r9b, 0xf0
movzx r11d, byte [0x1400dce33]
xor r10b, 0xf1
movzx esi, byte [0x1400dce37]
xor r11b, 0xf2
movzx r14d, byte [0x1400dce38]
xor sil, 0xf6
movzx r8d, byte [0x1400dce39]
xor r14b, 0xf7
movzx eax, byte [0x1400dce3a]
xor r8b, 0xf8
movzx ecx, byte [0x1400dce3b]
xor al, 0xf9
mov byte [rbp - 0x29], dl
xor cl, 0xfa
movzx edx, byte [0x1400dce3e]
xor dl, 0xfd
mov qword [rsp + 0xd8], rdi
movzx edi, byte [0x1400dce3c]
mov byte [rbp - 0x28], dl
xor dil, 0xfb
movzx edx, byte [0x1400dce3f]
xor dl, 0xfe
mov qword [rsp + 0xa8], r12
movzx r12d, byte [0x1400dce35]
mov byte [rbp - 0x27], dl
xor r12b, 0xf4
movzx edx, byte [0x1400dce40]
not dl
mov qword [rsp + 0xa0], r13
movzx r13d, byte [0x1400dce36]
mov byte [rbp - 0x26], dl
xor r13b, 0xf5
movzx edx, byte [0x1400dce42]
xor dl, 1
mov qword [rsp + 0x90], r15
movzx r15d, byte [0x1400dce34]
mov byte [rbp - 0x25], dl
xor r15b, 0xf3
movzx edx, byte [0x1400dce43]
xor dl, 2
mov byte [rbp - 0x21], al
mov byte [rbp - 0x24], dl
movzx edx, byte [0x1400dce44]
xor dl, 3
mov byte [rbp - 0x20], cl
mov byte [rbp - 0x23], dl
movzx edx, byte [0x1400dce45]
xor dl, 4
mov byte [rbp - 0x1f], dil
mov byte [rbp - 0x22], dl
xor edx, edx
mov byte [rbp + 0x11], al
movzx eax, byte [rbp - 0x29]
mov byte [rbp + 0x14], al
movzx eax, byte [rbp - 0x28]
mov byte [rbp + 0x15], al
movzx eax, byte [rbp - 0x27]
mov byte [rbp + 0x16], al
movzx eax, byte [rbp - 0x26]
mov byte [rbp + 0x17], al
movzx eax, byte [0x1400dce41]
mov byte [rbp + 0x18], al
movzx eax, byte [rbp - 0x25]
mov byte [rbp + 0x19], al
movzx eax, byte [rbp - 0x24]
mov byte [rbp + 0x1a], al
movzx eax, byte [rbp - 0x23]
mov byte [rbp + 0x1b], al
movzx eax, byte [rbp - 0x22]
mov byte [rbp + 0x1c], al
xor eax, eax
mov byte [rbp + 7], 0xa3
mov byte [rbp + 8], r9b
mov byte [rbp + 9], r10b
mov byte [rbp + 0xa], r11b
mov byte [rbp + 0xb], r15b
mov byte [rbp + 0xc], r12b
mov byte [rbp + 0xd], r13b
mov byte [rbp + 0xe], sil
mov byte [rbp + 0xf], r14b
mov byte [rbp + 0x10], r8b
mov byte [rbp + 0x12], cl
mov byte [rbp + 0x13], dil
mov word [rbp + 0x1d], 0x100
nop
lea ecx, [rax - 0x11]
xor byte [rbp + rax + 7], cl
inc rax
cmp rax, 0x16
jb 0x140025530
xor eax, eax
lea rdi, [rbp + 7]
mov ecx, 0x17
rep stosb byte [rdi], al
movzx ecx, byte [rbp - 0x20]
movzx edi, byte [rbp - 0x1f]
movzx eax, byte [rbp - 0x21]
sub rdx, 1
jne 0x1400254b2
mov rsi, qword [rbp - 0x11]
mov r14, qword [rbp - 9]
mov r8, qword [rbp - 1]
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xd8]
mov rcx, r8
call fcn.1400909e0
mov rcx, r14
call fcn.1400909e0
mov rcx, rsi
call fcn.1400909e0
mov r14, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xd0]
mov qword [0x140105f20], 0
xor eax, eax
jmp 0x140025620
mov dword [rbp + 0x23], 0
mov rax, 0xffffffffffffffff
mov qword [rbp + 0x27], rdx
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x1400255e0
mov word [rbp + 0x1f], ax
lea r9, [rbp + 0x1f]
inc ax
mov qword [rbp - 0x19], 0
mov word [rbp + 0x21], ax
mov edx, 4
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.140025170
mov rax, qword [rbp - 0x19]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14005fa30
add rsp, 0xb0
pop rbp
ret