Function at 0x140025a50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x20
xor edi, edi
lea r12, [0x1400898b1]
movzx esi, r9b
mov rbp, r8
mov r9, rdx
mov rbx, rcx
mov r11, r12
mov r10d, edi
mov r8d, edi
nop dword [rax]
movzx ecx, r10b
mov rax, r8
add r11, 2
sar rax, 3
and cl, 7
movzx edx, byte [rax + r9]
lea rax, [r8 + 1]
add r8, 2
sar dl, cl
sar rax, 3
lea ecx, [r10 + 1]
and dl, 1
and cl, 7
add r10d, 2
mov byte [r11 - 3], dl
movzx eax, byte [rax + r9]
sar al, cl
and al, 1
mov byte [r11 - 2], al
cmp r10d, 0x40
jl 0x140025a90
mov rcx, rdi
lea r14, [0x140000000]
lea r13, [0x1400898b0]
nop dword [rax + rax]
movsx rax, byte [rcx + r14 + 0x67bc0]
add rcx, 4
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x83b4c], al
movsx rax, byte [rcx + r14 + 0x67bbd]
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x83b4d], al
movsx rax, byte [rcx + r14 + 0x67bbe]
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x83b4e], al
movsx rax, byte [rcx + r14 + 0x67bbf]
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x83b4f], al
cmp rcx, 0x40
jl 0x140025af0
mov rax, qword [0x140083b50]
mov qword [0x1400898b0], rax
mov rax, qword [0x140083b58]
mov qword [0x1400898b8], rax
mov rax, qword [0x140083b60]
mov qword [0x1400898c0], rax
mov rax, qword [0x140083b68]
mov qword [0x1400898c8], rax
mov rax, qword [0x140083b70]
mov qword [0x1400898d0], rax
mov rax, qword [0x140083b78]
mov qword [0x1400898d8], rax
mov rax, qword [0x140083b80]
mov qword [0x1400898e0], rax
mov rax, qword [0x140083b88]
mov qword [0x1400898e8], rax
test sil, sil
jne 0x140025c61
mov esi, 0x10
nop word [rax + rax]
movups xmm0, xmmword [0x1400898d0]
movups xmm1, xmmword [0x1400898e0]
lea rcx, [0x1400898d0]
mov rdx, rbp
movups xmmword [0x140089d30], xmm0
movups xmmword [0x140089d40], xmm1
call fcn.140026170
mov r11, rdi
nop
movzx eax, byte [r11 + r13]
add r11, 4
xor byte [r11 + r13 + 0x1c], al
movzx eax, byte [r11 + r13 - 3]
xor byte [r11 + r13 + 0x1d], al
movzx eax, byte [r11 + r13 - 2]
xor byte [r11 + r13 + 0x1e], al
movzx eax, byte [r11 + r13 - 1]
xor byte [r11 + r13 + 0x1f], al
cmp r11, 0x20
jl 0x140025c10
add rbp, 0x30
dec rsi
movups xmmword [0x1400898b0], xmm0
movups xmmword [0x1400898c0], xmm1
jne 0x140025be0
jmp 0x140025cf0
mov esi, 0xf
add rbp, 0x2d0
nop dword [rax]
movups xmm0, xmmword [0x1400898b0]
movups xmm1, xmmword [0x1400898c0]
mov rdx, rbp
mov rcx, r13
movups xmmword [0x140089d30], xmm0
movups xmmword [0x140089d40], xmm1
call fcn.140026170
mov r11, rdi
nop word [rax + rax]
movzx eax, byte [r11 + r13 + 0x20]
add r11, 4
xor byte [r11 + r13 - 4], al
movzx eax, byte [r11 + r13 + 0x1d]
xor byte [r11 + r13 - 3], al
movzx eax, byte [r11 + r13 + 0x1e]
xor byte [r11 + r13 - 2], al
movzx eax, byte [r11 + r13 + 0x1f]
xor byte [r11 + r13 - 1], al
cmp r11, 0x20
jl 0x140025ca0
sub rbp, 0x30
dec esi
movups xmmword [0x1400898d0], xmm0
movups xmmword [0x1400898e0], xmm1
jns 0x140025c70
nop dword [rax]
movsx rax, byte [rdi + r14 + 0x67c00]
add rdi, 4
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x83b4c], al
movsx rax, byte [rdi + r14 + 0x67bfd]
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x83b4d], al
movsx rax, byte [rdi + r14 + 0x67bfe]
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x83b4e], al
movsx rax, byte [rdi + r14 + 0x67bff]
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x83b4f], al
cmp rdi, 0x40
jl 0x140025cf0
mov rax, qword [0x140083b50]
mov r8d, 2
mov qword [0x1400898b0], rax
mov rax, qword [0x140083b58]
mov r9d, r8d
mov qword [0x1400898b8], rax
mov rax, qword [0x140083b60]
mov qword [0x1400898c0], rax
mov rax, qword [0x140083b68]
mov qword [0x1400898c8], rax
mov rax, qword [0x140083b70]
mov qword [0x1400898d0], rax
mov rax, qword [0x140083b78]
mov qword [0x1400898d8], rax
mov rax, qword [0x140083b80]
mov qword [0x1400898e0], rax
mov rax, qword [0x140083b88]
mov qword [0x1400898e8], rax
xor eax, eax
mov qword [rbx], rax
nop word [rax + rax]
movzx eax, byte [r12 - 1]
lea ecx, [r8 - 2]
lea rdx, [r9 - 2]
and ecx, 7
sar rdx, 3
add r12, 4
shl al, cl
lea ecx, [r8 - 1]
or byte [rdx + rbx], al
movzx eax, byte [r12 - 4]
and ecx, 7
shl al, cl
lea rdx, [r9 - 1]
mov ecx, r8d
sar rdx, 3
and ecx, 7
or byte [rdx + rbx], al
movzx eax, byte [r12 - 3]
mov rdx, r9
shl al, cl
sar rdx, 3
lea ecx, [r8 + 1]
or byte [rdx + rbx], al
movzx eax, byte [r12 - 2]
lea rdx, [r9 + 1]
and ecx, 7
sar rdx, 3
add r8d, 4
shl al, cl
add r9, 4
or byte [rdx + rbx], al
lea eax, [r8 - 2]
cmp eax, 0x40
jl 0x140025de0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop r12
ret