Function at 0x140025eb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
mov r12, rdx
xchg rsi, rdi
mov rdi, rcx
xchg rsi, rdi
sub r12, rcx
mov r9d, 4
nop word [rax + rax]
mov r8d, 4
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
xor byte [rcx], al
inc rcx
sub r8, 1
jne 0x140025f06
sub r9, 1
jne 0x140025ef6
lea r14, [r12 + 0x10]
mov qword [rsp + 0x30], 0xd
nop dword [rax]
nop dword [rax + rax]
xchg r9, rbx
mov rbx, rsi
xchg r9, rbx
lea r13, [0x140001120]
mov r10d, 4
mov rdx, r9
mov r8d, 4
nop dword [rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 4]
movzx ecx, byte [rax + r13]
xor cl, 0xec
mov byte [rdx - 4], cl
sub r8, 1
jne 0x140025f64
inc r9
sub r10, 1
jne 0x140025f54
movzx eax, byte [rsi + 5]
lea r15, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea ebp, [r8 + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
movzx edi, byte [r15 - 2]
movzx r8d, byte [r15 - 1]
movzx edx, dil
movzx ebx, byte [r15 + 1]
xor dl, r8b
movzx r10d, byte [r15]
lea r15, [r15 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 2
shr al, 4
shr al, 1
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r15 - 6], cl
xor dil, bl
shr al, 3
shr al, 1
shr al, 1
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 3
shr al, 3
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 3
shr al, 1
shr al, 2
shr al, 1
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r15 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r15 - 3], cl
sub rbp, 1
jne 0x140025fec
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
lea r8d, [rbp + 4]
nop word [rax + rax]
mov edx, 4
nop word [rax + rax]
movzx ecx, byte [r14 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1400260d9
sub r8, 1
jne 0x1400260c9
nop
sub r14, 0x76683dae
add r14, 0x76683dbe
sub qword [rsp + 0x30], 1
jne 0x140025f3e
mov r9, rsi
lea r10d, [rdx + 4]
lea r11, [0x140001120]
nop dword [rax]
nop dword [rax + rax]
xchg r9, rdx
mov r9, rdx
xchg r9, rdx
mov r8d, 4
nop dword [rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 4]
movzx ecx, byte [rax + r11]
xor cl, 0xec
mov byte [rdx - 4], cl
sub r8, 1
jne 0x140026142
inc r9
sub r10, 1
jne 0x14002612c
movzx eax, byte [rsi + 5]
lea edx, [r8 + 4]
movzx ecx, byte [rsi + 1]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
mov ecx, 4
nop word [rax + rax]
movzx eax, byte [r12 + rsi + 0xe0]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1400261da
sub rdx, 1
jne 0x1400261ca
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
nop
mov r15, qword [rsp]
add rsp, 8
push rdx
push rbx
push rcx
push rcx
xchg qword [rsp + 0x20], r14
pop rcx
pop rcx
pop rbx
pop rdx
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
xchg qword [rsp], r12
add rsp, 8
push rcx
push rbx
push rcx
push rdx
push rdx
push rax
xchg qword [rsp + 0x30], rdi
pop rax
pop rdx
pop rdx
pop rcx
pop rbx
pop rcx
add rsp, 8
ret