Function at 0x140029ce0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
lea r15, [rcx + 2]
mov qword [rsp + 0x28], 4
mov qword [rsp + 0x10], r15
nop word [rax + rax]
movzx ecx, byte [r15 - 2]
movzx r9d, byte [r15]
movzx eax, cl
shr al, 7
movzx edi, r9b
movzx r8d, byte [r15 - 1]
add dil, dil
movzx eax, al
imul eax, eax, 0x1b
movzx r10d, byte [r15 + 1]
mov byte [rsp + 0x88], cl
add cl, cl
mov byte [rsp + 0x80], r8b
mov byte [rsp + 0x78], r9b
xor cl, al
mov dword [rsp + 8], eax
movzx eax, cl
mov byte [rsp + 1], cl
shr al, 7
movzx edx, cl
movzx eax, al
add dl, dl
imul eax, eax, 0x1b
movzx ecx, r10b
add cl, cl
xor dl, al
mov dword [rsp + 4], eax
movzx eax, r8b
mov byte [rsp], dl
shr al, 7
add r8b, r8b
movzx eax, al
imul ebp, eax, 0x1b
xor r8b, bpl
movzx eax, r8b
movzx r12d, r8b
shr al, 7
add r12b, r12b
movzx eax, al
imul eax, eax, 0x1b
xor r12b, al
mov dword [rsp + 0x18], eax
movzx eax, r9b
shr al, 7
movzx eax, al
imul eax, eax, 0x1b
xor dil, al
mov dword [rsp + 0x1c], eax
movzx eax, dil
mov byte [rsp + 2], dil
shr al, 7
movzx r9d, dil
movzx eax, al
add r9b, r9b
imul r15d, eax, 0x1b
movzx eax, r10b
shr al, 7
movzx eax, al
imul eax, eax, 0x1b
xor r9b, r15b
xor cl, al
mov dword [rsp + 0x20], eax
movzx eax, cl
movzx esi, cl
shr al, 7
add sil, sil
movzx eax, al
imul r13d, eax, 0x1b
xor sil, r13b
movzx eax, sil
shr al, 7
movzx eax, al
imul r14d, eax, 0x1b
movzx eax, r9b
shr al, 7
movzx eax, al
imul ebx, eax, 0x1b
movzx eax, r12b
shr al, 7
movzx eax, al
imul r11d, eax, 0x1b
movzx eax, dl
shr al, 7
movzx eax, al
imul r10d, eax, 0x1b
movzx eax, byte [rsp + 1]
xor al, dil
mov rdi, qword [rsp + 0x10]
xor al, sil
xor al, r9b
xor al, r12b
xor al, dl
mov rdx, rdi
xor al, byte [rsp + 0x80]
xor al, byte [rsp + 0x88]
add al, al
xor al, r10b
xor al, r11b
xor al, bl
xor al, r14b
xor al, r15b
xor al, byte [rsp + 4]
xor al, bpl
xor al, byte [rsp + 8]
xor al, byte [rdi + 1]
xor al, byte [rsp + 0x78]
xor al, byte [rsp + 0x80]
mov byte [rdx - 2], al
movzx edx, sil
xor sil, r9b
xor dl, r9b
xor sil, byte [rsp + 2]
xor dl, r12b
xor dl, byte [rsp]
xor sil, r12b
xor sil, byte [rsp]
xor dl, r8b
xor sil, byte [rsp + 1]
xor dl, cl
mov ecx, dword [rsp + 0x1c]
movzx eax, dl
xor al, byte [rsp + 0x78]
xor al, byte [rsp + 0x80]
mov r8d, dword [rsp + 0x18]
add al, al
xor al, r10b
xor al, r11b
xor al, bl
xor al, r14b
xor al, r13b
xor al, r8b
xor al, bpl
movzx ebp, byte [rdi + 1]
xor sil, bpl
xor al, cl
xor sil, byte [rsp + 0x78]
xor dl, bpl
add sil, sil
xor al, bpl
xor al, byte [rsp + 0x78]
xor sil, bl
xor al, byte [rsp + 0x88]
xor sil, r11b
xor sil, r14b
mov byte [rdi - 1], al
movzx edi, byte [rsp + 0x88]
xor sil, r10b
mov eax, dword [rsp + 0x20]
xor sil, r15b
xor sil, byte [rsp + 4]
xor dl, dil
mov r15, qword [rsp + 0x10]
xor sil, al
xor sil, cl
add dl, dl
xor sil, bpl
xor dl, bl
xor sil, byte [rsp + 0x80]
xor dl, r11b
xor sil, dil
mov byte [r15], sil
xor dl, r14b
xor dl, r10b
xor dl, r13b
xor dl, r8b
xor dl, byte [rsp + 8]
xor dl, al
xor dl, byte [rsp + 0x78]
xor dl, byte [rsp + 0x80]
xor dl, dil
mov byte [r15 + 1], dl
add r15, 4
sub qword [rsp + 0x28], 1
mov qword [rsp + 0x10], r15
jne 0x140029d10
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret