Function at 0x140006ef0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov r9, rcx
mov cl, 0x10
nop
add cl, 0xff
movzx r8d, cl
movzx eax, byte [r8 + r9 + 0x40]
mov byte [r8 + r9], al
xor byte [r8 + rdx], al
movzx eax, byte [r8 + r9 + 0x50]
mov byte [r8 + r9 + 0x10], al
test cl, cl
jne 0x140006f10
movzx ecx, byte [rdx + 1]
lea rsi, [rdx + 2]
movzx eax, byte [rdx + 0xd]
lea r10, [rdx + 0x10]
mov byte [rdx + 1], al
lea rbp, [0x140000000]
movzx eax, byte [rdx + 9]
mov r8b, 0x10
mov byte [rdx + 0xd], al
movzx eax, byte [rdx + 5]
mov byte [rdx + 9], al
movzx eax, byte [rdx + 0xa]
mov byte [rdx + 5], cl
movzx ecx, byte [rsi]
mov byte [rsi], al
movzx eax, byte [rdx + 7]
mov byte [rdx + 0xa], cl
movzx ecx, byte [rdx + 3]
mov byte [rdx + 3], al
movzx eax, byte [rdx + 0xb]
mov byte [rdx + 7], al
movzx eax, byte [rdx + 0xf]
mov byte [rdx + 0xf], cl
movzx ecx, byte [rdx + 6]
mov byte [rdx + 0xb], al
movzx eax, byte [rdx + 0xe]
mov byte [rdx + 0xe], cl
mov rcx, r10
mov byte [rdx + 6], al
nop dword [rax + rax]
movzx eax, byte [rcx - 1]
lea rcx, [rcx - 1]
movzx eax, byte [rax + rbp + 0x9900]
mov byte [rcx], al
add r8b, 0xff
jne 0x140006fa0
mov r11, r9
mov bl, 0x80
sub r11, rdx
mov byte [rsp], bl
mov al, 0xd
mov qword [rsp + 0x10], r11
mov byte [rsp + 0x88], al
test al, 1
je 0x140007118
mov r8b, 0x1c
lea rax, [r9 + 0x1d]
movzx ecx, r8b
lea rax, [rax - 4]
add r8b, 0xfc
movzx edx, byte [rcx + r9 - 4]
movzx ecx, byte [rax]
xor byte [rax + 4], cl
movzx ecx, byte [rax + 1]
xor byte [rax + 5], cl
movzx ecx, byte [rax + 2]
xor byte [rax + 6], cl
xor byte [rax + 3], dl
cmp r8b, 0x10
ja 0x140006fe0
movzx eax, byte [r9 + 0xc]
mov r8b, 0xc
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 0x10], al
movzx eax, byte [r9 + 0xd]
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 0x11], al
movzx eax, byte [r9 + 0xe]
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 0x12], al
movzx eax, byte [r9 + 0xf]
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 0x13], al
nop word [rax + rax]
movzx edx, r8b
movzx eax, r8b
movzx ecx, byte [rax + r9 - 4]
movzx eax, byte [rdx + r9 - 3]
xor byte [rdx + r9 + 1], al
movzx eax, byte [rdx + r9 - 2]
xor byte [rdx + r9 + 2], al
movzx eax, byte [rdx + r9 - 1]
xor byte [rdx + r9 + 3], al
xor byte [rdx + r9], cl
add r8b, 0xfc
jne 0x140007060
movzx eax, bl
mov dl, 0x10
and al, 1
neg al
movzx eax, bl
sbb cl, cl
shr al, 1
and cl, 0x8d
movzx ebx, cl
xor bl, al
movzx eax, byte [r9 + 0x1d]
mov byte [rsp], bl
movzx ecx, byte [rax + rbp + 0x9800]
xor cl, byte [r9]
movzx eax, byte [r9 + 0x1e]
xor cl, bl
mov byte [r9], cl
mov rcx, r10
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 1], al
movzx eax, byte [r9 + 0x1f]
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 2], al
movzx eax, byte [r9 + 0x1c]
movzx eax, byte [rax + rbp + 0x9800]
xor byte [r9 + 3], al
nop
movzx eax, byte [r11 + rcx + 0xf]
lea rcx, [rcx - 1]
xor byte [rcx], al
add dl, 0xff
jne 0x140007100
mov rdx, qword [rsp + 0x78]
jmp 0x140007132
mov r8b, 0x10
mov rcx, r10
nop
movzx eax, byte [rcx + r11 - 1]
lea rcx, [rcx - 1]
xor byte [rcx], al
add r8b, 0xff
jne 0x140007120
xor al, al
mov qword [rsp + 8], rsi
mov byte [rsp + 0x80], al
mov r11, rsi
nop dword [rax]
nop word [rax + rax]
movzx r12d, byte [r11 - 2]
movzx r15d, byte [r11]
movzx ebx, byte [r11 + 1]
movzx r14d, al
movzx ebp, bl
add r14, rdx
xor bpl, r15b
movzx r13d, bpl
movzx esi, byte [r14 + 1]
xor r13b, sil
xor r13b, r12b
movzx eax, r13b
add al, al
movzx ecx, al
movzx eax, cl
xor al, 0x1b
movzx r11d, al
test r13b, r13b
cmovns r11d, ecx
movzx r8d, r11b
xor r8b, r15b
xor r8b, r12b
movzx eax, r8b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
movzx ecx, al
test r8b, r8b
movzx r8d, sil
cmovns ecx, edx
xor r11b, bl
movzx r10d, cl
xor r11b, sil
movzx eax, r11b
add al, al
movzx edx, al
movzx eax, dl
lea r9d, [r10 + r10]
xor al, 0x1b
movzx ecx, al
test r11b, r11b
cmovns ecx, edx
xor r8b, r12b
movzx ebx, cl
movzx eax, r8b
add al, al
movzx edx, al
movzx eax, r9b
xor al, 0x1b
movzx edi, al
lea r11d, [rbx + rbx]
movzx eax, r9b
test r10b, r10b
cmovns edi, eax
movzx eax, dl
xor al, 0x1b
movzx ecx, al
test r8b, r8b
mov rax, qword [rsp + 8]
movzx r8d, r15b
cmovns ecx, edx
xor r8b, sil
xor cl, dil
xor cl, r13b
xor cl, r12b
mov byte [rax - 2], cl
movzx eax, r8b
add al, al
movzx edx, al
movzx eax, r11b
xor al, 0x1b
movzx r9d, al
test bl, bl
movzx eax, r11b
cmovns r9d, eax
movzx eax, dl
xor al, 0x1b
test r8b, r8b
movzx ecx, al
cmovns ecx, edx
mov r11, qword [rsp + 8]
xor cl, r9b
xor cl, sil
movzx eax, bpl
add al, al
xor cl, r13b
mov byte [r14 + 1], cl
movzx r8d, byte [r11 + 1]
movzx ecx, al
movzx eax, cl
xor al, 0x1b
movzx edx, al
test bpl, bpl
cmovns edx, ecx
xor r8b, r12b
xor dl, dil
movzx eax, r8b
xor dl, r13b
add al, al
xor dl, r15b
movzx ecx, al
mov byte [r11], dl
movzx eax, cl
xor al, 0x1b
movzx edx, al
test r8b, r8b
movzx eax, byte [rsp + 0x80]
cmovns edx, ecx
add al, 4
xor dl, r9b
mov byte [rsp + 0x80], al
xor dl, byte [r11 + 1]
xor dl, r13b
mov byte [r11 + 1], dl
add r11, 4
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 8], r11
cmp al, 0x10
jb 0x140007150
movzx ecx, byte [rdx + 1]
lea rsi, [rdx + 2]
movzx eax, byte [rdx + 0xd]
lea r10, [rdx + 0x10]
mov byte [rdx + 1], al
lea rbp, [0x140000000]
movzx eax, byte [rdx + 9]
mov r8b, 0x10
mov byte [rdx + 0xd], al
movzx eax, byte [rdx + 5]
mov byte [rdx + 9], al
movzx eax, byte [rdx + 0xa]
mov byte [rdx + 5], cl
movzx ecx, byte [rsi]
mov byte [rsi], al
movzx eax, byte [rdx + 7]
mov byte [rdx + 0xa], cl
movzx ecx, byte [rdx + 3]
mov byte [rdx + 3], al
movzx eax, byte [rdx + 0xb]
mov byte [rdx + 7], al
movzx eax, byte [rdx + 0xf]
mov byte [rdx + 0xf], cl
movzx ecx, byte [rdx + 6]
mov byte [rdx + 0xb], al
movzx eax, byte [rdx + 0xe]
mov byte [rdx + 0xe], cl
mov rcx, r10
mov byte [rdx + 6], al
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx - 1]
lea rcx, [rcx - 1]
movzx eax, byte [rax + rbp + 0x9900]
mov byte [rcx], al
add r8b, 0xff
jne 0x140007350
movzx eax, byte [rsp + 0x88]
mov r9, qword [rsp + 0x70]
add al, 0xff
mov r11, qword [rsp + 0x10]
movzx ebx, byte [rsp]
mov byte [rsp + 0x88], al
jne 0x140006fd1
mov dl, 0x10
mov rcx, r11
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r10 + rcx - 1]
lea r10, [r10 - 1]
xor byte [r10], al
add dl, 0xff
jne 0x1400073a0
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret