Function at 0x1800029a0
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, 0x20
lea rax, [rcx + 2]
mov qword [rsp + 0x10], 4
mov qword [rsp + 8], rax
nop word [rax + rax]
movzx r9d, byte [rax - 2]
movzx r8d, byte [rax - 1]
movzx edx, byte [rax]
movzx r12d, byte [rax + 1]
movzx ecx, r9b
movzx r14d, r9b
shr cl, 7
mov byte [rsp + 0x78], r9b
movzx esi, dl
movzx r13d, r8b
add r14b, r14b
mov al, 0x1b
add r13b, r13b
mov byte [rsp + 0x68], r8b
add sil, sil
imul cl
xor r14b, al
mov byte [rsp], al
mov al, 0x1b
movzx ecx, r14b
mov byte [rsp + 0x70], dl
movzx ebp, r12b
shr cl, 7
add bpl, bpl
imul cl
movzx ecx, r14b
add cl, cl
movzx r11d, al
mov al, 0x1b
xor r11b, cl
movzx ecx, r8b
shr cl, 7
imul cl
xor r13b, al
movzx ebx, al
mov al, 0x1b
movzx ecx, r13b
shr cl, 7
imul cl
movzx ecx, r13b
add cl, cl
movzx r10d, al
mov al, 0x1b
xor r10b, cl
movzx ecx, dl
shr cl, 7
imul cl
xor sil, al
movzx edi, al
mov al, 0x1b
movzx ecx, sil
shr cl, 7
imul cl
movzx ecx, sil
add cl, cl
movzx r8d, al
mov al, 0x1b
xor r8b, cl
movzx ecx, r12b
shr cl, 7
imul cl
xor bpl, al
movzx r15d, al
mov al, 0x1b
movzx ecx, bpl
shr cl, 7
imul cl
movzx ecx, bpl
add cl, cl
movzx edx, al
xor dl, cl
movzx r9d, dl
xor r9b, r8b
xor r9b, sil
xor r9b, r10b
xor r9b, r11b
xor r9b, r14b
xor r9b, byte [rsp + 0x68]
xor r9b, byte [rsp + 0x78]
add r9b, r9b
shr dl, 7
shr r10b, 7
shr r8b, 7
shr r11b, 7
mov al, 0x1b
movzx ecx, sil
shr cl, 7
imul dl
xor r9b, al
mov al, 0x1b
imul r8b
xor r9b, al
mov al, 0x1b
imul cl
movzx ecx, r14b
xor r9b, al
shr cl, 7
mov al, 0x1b
imul r10b
xor r9b, al
mov al, 0x1b
imul r11b
xor r9b, al
mov al, 0x1b
imul cl
movzx ecx, r14b
xor r9b, al
mov rax, qword [rsp + 8]
shr cl, 7
xor r9b, bl
xor r9b, byte [rsp]
xor r9b, r12b
xor r9b, byte [rsp + 0x70]
xor r9b, byte [rsp + 0x68]
mov byte [rax - 2], r9b
mov al, 0x1b
imul cl
movzx r11d, al
movzx ecx, r14b
add cl, cl
mov al, 0x1b
xor r11b, cl
movzx ecx, r13b
shr cl, 7
imul cl
movzx ecx, r13b
add cl, cl
movzx r9d, al
mov al, 0x1b
xor r9b, cl
movzx ecx, sil
shr cl, 7
imul cl
movzx ecx, sil
add cl, cl
movzx r8d, al
mov al, 0x1b
xor r8b, cl
movzx ecx, bpl
shr cl, 7
imul cl
movzx ecx, bpl
add cl, cl
movzx edx, al
mov al, 0x1b
xor dl, cl
movzx ecx, bpl
movzx r10d, dl
shr dl, 7
shr cl, 7
xor r10b, bpl
xor r10b, r8b
xor r10b, r9b
imul dl
xor r10b, r13b
xor r10b, r11b
xor r10b, byte [rsp + 0x70]
xor r10b, byte [rsp + 0x68]
add r10b, r10b
xor r10b, al
mov al, 0x1b
imul cl
xor r10b, al
shr r8b, 7
shr r9b, 7
shr r11b, 7
mov al, 0x1b
movzx ecx, r13b
shr cl, 7
imul r8b
xor r10b, al
mov al, 0x1b
imul r9b
xor r10b, al
mov al, 0x1b
imul cl
movzx ecx, r14b
xor r10b, al
shr cl, 7
mov al, 0x1b
imul r11b
xor r10b, al
mov rax, qword [rsp + 8]
xor r10b, dil
xor r10b, bl
movzx ebx, byte [rsp + 0x70]
xor r10b, r12b
xor r10b, bl
xor r10b, byte [rsp + 0x78]
mov byte [rax - 1], r10b
mov al, 0x1b
imul cl
movzx r11d, al
movzx ecx, r14b
add cl, cl
mov al, 0x1b
xor r11b, cl
movzx ecx, r13b
shr cl, 7
imul cl
movzx ecx, r13b
add cl, cl
movzx r9d, al
mov al, 0x1b
xor r9b, cl
movzx ecx, sil
shr cl, 7
imul cl
movzx ecx, sil
add cl, cl
movzx r8d, al
mov al, 0x1b
xor r8b, cl
movzx ecx, bpl
shr cl, 7
imul cl
movzx ecx, bpl
add cl, cl
movzx edx, al
mov al, 0x1b
xor dl, cl
movzx ecx, sil
movzx r10d, dl
shr dl, 7
shr cl, 7
xor r10b, r8b
shr r8b, 7
xor r10b, sil
imul dl
xor r10b, r9b
xor r10b, r11b
xor r10b, r14b
xor r10b, r12b
xor r10b, bl
add r10b, r10b
xor r10b, al
mov al, 0x1b
imul r8b
xor r10b, al
mov al, 0x1b
imul cl
xor r10b, al
shr r9b, 7
mov al, 0x1b
shr r11b, 7
movzx ecx, r14b
shr cl, 7
imul r9b
xor r10b, al
mov al, 0x1b
imul r11b
xor r10b, al
mov al, 0x1b
imul cl
movzx ecx, r14b
add r14b, r14b
xor r10b, al
mov rax, qword [rsp + 8]
shr cl, 7
xor r10b, r15b
xor r10b, dil
movzx edi, byte [rsp + 0x78]
xor r10b, r12b
xor r10b, byte [rsp + 0x68]
xor r10b, dil
mov byte [rax], r10b
mov al, 0x1b
imul cl
movzx r10d, al
movzx ecx, r13b
shr cl, 7
mov al, 0x1b
xor r10b, r14b
imul cl
movzx r9d, al
movzx ecx, r13b
add cl, cl
mov al, 0x1b
xor r9b, cl
movzx ecx, sil
add sil, sil
shr cl, 7
imul cl
movzx ecx, bpl
shr cl, 7
movzx r8d, al
mov al, 0x1b
xor r8b, sil
imul cl
movzx edx, al
movzx ecx, bpl
add cl, cl
mov al, 0x1b
xor dl, cl
movzx ecx, dl
shr dl, 7
xor cl, bpl
shr bpl, 7
xor cl, r8b
shr r8b, 7
imul dl
xor cl, r9b
shr r9b, 7
xor cl, r13b
shr r13b, 7
xor cl, r10b
xor cl, r12b
xor cl, dil
add cl, cl
xor cl, al
mov al, 0x1b
imul bpl
xor cl, al
mov al, 0x1b
imul r8b
xor cl, al
mov al, 0x1b
imul r9b
xor cl, al
mov al, 0x1b
imul r13b
xor cl, al
shr r10b, 7
mov al, 0x1b
imul r10b
xor cl, al
mov rax, qword [rsp + 8]
xor cl, r15b
add rax, 4
xor cl, byte [rsp]
mov qword [rsp + 8], rax
xor cl, bl
xor cl, byte [rsp + 0x68]
xor cl, dil
dec qword [rsp + 0x10]
mov byte [rax - 3], cl
jne 0x1800029d0
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret