Function at 0x140001280
Capabilities:
Encode data using xor

Disassembly:
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 rbx, rdx
mov r8b, 0x10
nop dword [rax + rax]
add r8b, 0xff
movzx edx, r8b
movzx eax, byte [rdx + rcx + 0x20]
mov byte [rdx + rcx], al
xor byte [rdx + rbx], al
movzx eax, byte [rdx + rcx + 0x30]
mov byte [rdx + rcx + 0x10], al
test r8b, r8b
jne 0x1400012a0
mov r12, rcx
mov byte [rsp + 0x78], 1
sub r12, rbx
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x88], r12
lea rsi, [rbx + 3]
lea r15, [rbx + 0x10]
mov rcx, rbx
call fcn.1400010a0
movzx eax, byte [rbx + 5]
xor r12b, r12b
movzx ecx, byte [rbx + 1]
mov r13, rsi
mov byte [rbx + 1], al
movzx eax, byte [rbx + 9]
mov byte [rbx + 5], al
movzx eax, byte [rbx + 0xd]
mov byte [rbx + 9], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xd], cl
movzx ecx, byte [rbx + 0xa]
mov byte [rbx + 0xa], al
movzx eax, byte [rbx + 0xf]
mov byte [rbx + 2], cl
movzx ecx, byte [rsi]
mov byte [rsi], al
movzx eax, byte [rbx + 0xb]
mov byte [rbx + 0xf], al
movzx eax, byte [rbx + 7]
mov byte [rbx + 0xb], al
movzx eax, byte [rbx + 6]
mov byte [rbx + 7], cl
movzx ecx, byte [rbx + 0xe]
mov byte [rbx + 0xe], al
mov byte [rbx + 6], cl
nop dword [rax]
nop dword [rax + rax]
movzx esi, byte [r13 - 3]
movzx r14d, byte [r13]
movzx edi, byte [r13 - 1]
lea r13, [r13 + 4]
movzx r10d, r12b
movzx r11d, r14b
xor r11b, dil
movzx ebp, r11b
movzx r9d, byte [r10 + rbx + 1]
xor bpl, r9b
movzx r8d, r9b
xor r8b, sil
xor bpl, sil
movzx eax, r8b
add al, al
movzx ecx, al
movzx eax, cl
xor al, 0x1b
movzx edx, al
test r8b, r8b
movzx r8d, dil
cmovns edx, ecx
xor r8b, r9b
xor dl, bpl
movzx eax, r8b
xor dl, sil
add al, al
mov byte [r13 - 7], dl
movzx ecx, al
movzx eax, cl
xor al, 0x1b
movzx edx, al
test r8b, r8b
movzx eax, r11b
movzx r8d, r14b
cmovns edx, ecx
add al, al
xor dl, r9b
movzx ecx, al
xor dl, bpl
movzx eax, cl
xor al, 0x1b
mov byte [r10 + rbx + 1], dl
movzx edx, al
test r11b, r11b
cmovns edx, ecx
xor r8b, sil
xor dl, bpl
movzx eax, r8b
xor dl, dil
add al, al
mov byte [r13 - 5], dl
movzx ecx, al
movzx eax, cl
xor al, 0x1b
test r8b, r8b
movzx edx, al
cmovns edx, ecx
add r12b, 4
xor dl, bpl
xor dl, r14b
mov byte [r13 - 4], dl
cmp r12b, 0x10
jb 0x140001350
movzx esi, byte [rsp + 0x78]
mov r12, qword [rsp + 0x88]
test sil, 1
je 0x140001458
mov dl, 0x10
mov rcx, r15
nop
movzx eax, byte [r12 + rcx + 0xf]
lea rcx, [rcx - 1]
xor byte [rcx], al
add dl, 0xff
jne 0x140001440
mov rdi, qword [rsp + 0x70]
jmp 0x140001491
mov rdi, qword [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.140001170
mov dl, 0x10
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r12 - 1]
lea rcx, [rcx - 1]
xor byte [rcx], al
add dl, 0xff
jne 0x140001480
inc sil
mov byte [rsp + 0x78], sil
cmp sil, 0xe
lea rsi, [rbx + 3]
jb 0x1400012e4
mov rcx, rbx
call fcn.1400010a0
movzx ecx, byte [rbx + 1]
lea rdx, [rsp + 0x80]
movzx eax, byte [rbx + 5]
mov byte [rbx + 1], al
movzx eax, byte [rbx + 9]
mov byte [rbx + 5], al
movzx eax, byte [rbx + 0xd]
mov byte [rbx + 9], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xd], cl
movzx ecx, byte [rbx + 0xa]
mov byte [rbx + 0xa], al
movzx eax, byte [rbx + 0xf]
mov byte [rbx + 2], cl
movzx ecx, byte [rbx + 3]
mov byte [rbx + 3], al
movzx eax, byte [rbx + 0xb]
mov byte [rbx + 0xf], al
movzx eax, byte [rbx + 7]
mov byte [rbx + 7], cl
movzx ecx, byte [rbx + 0xe]
mov byte [rbx + 0xb], al
movzx eax, byte [rbx + 6]
mov byte [rbx + 6], cl
mov rcx, rdi
mov byte [rbx + 0xe], al
call fcn.140001170
mov cl, 0x10
nop word [rax + rax]
movzx eax, byte [r12 + r15 - 1]
lea r15, [r15 - 1]
xor byte [r15], al
add cl, 0xff
jne 0x140001520
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret