Function at 0x1402197b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r15
mov rbp, rsp
sub rsp, 0x68
xor r13d, r13d
mov r12d, edx
mov r15, rcx
test edx, edx
je 0x140219a16
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r14
nop dword [rax]
nop dword [rax + rax]
xor eax, eax
mov word [rbp + 0x30], 0xc2c2
mov byte [rbp + 0x32], al
nop dword [rax + rax]
movsxd rcx, eax
lea rdx, [rbp + 0x30]
add rdx, rcx
lea ecx, [rax - 0xd]
inc eax
xor byte [rdx], cl
cmp eax, 2
jb 0x140219800
lea rcx, [rbp + 0x30]
mov byte [rbp + 0x32], 0
call fcn.1403d6dc0
mov ebx, eax
mov dword [rbp - 0x37], 0xb3b38cc3
xor eax, eax
mov dword [rbp - 0x33], 0xcfcdcfb5
mov byte [rbp - 0x2b], al
xor edx, edx
mov dword [rbp - 0x2f], 0xc6cfc9cc
movsxd rax, edx
lea rcx, [rbp - 0x37]
add rcx, rax
lea eax, [rdx - 0xd]
inc edx
xor byte [rcx], al
cmp edx, 0xc
jb 0x140219841
xor eax, eax
mov byte [rbp - 0x2b], 0
mov byte [rbp + 0x2a], al
xor edx, edx
mov word [rbp + 0x28], 0xc2c2
nop dword [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x28]
add rcx, rax
lea eax, [rdx - 0xd]
inc edx
xor byte [rcx], al
cmp edx, 2
jb 0x140219870
lea rcx, [rbp + 0x28]
mov byte [rbp + 0x2a], 0
call fcn.1403d6dc0
mov edi, eax
mov dword [rbp - 0x44], 0xc6c28cc3
xor r8d, r8d
mov word [rbp - 0x40], 0xc3
nop word [rax + rax]
movsxd rcx, r8d
lea rdx, [rbp - 0x44]
add rdx, rcx
lea ecx, [r8 - 0xd]
inc r8d
xor byte [rdx], cl
cmp r8d, 5
jb 0x1402198b0
xor eax, eax
mov byte [rbp - 0x3f], 0
mov byte [rbp + 0x3a], al
xor edx, edx
mov word [rbp + 0x38], 0xc2c2
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x38]
add rcx, rax
lea eax, [rdx - 0xd]
inc edx
xor byte [rcx], al
cmp edx, 2
jb 0x1402198e0
lea rcx, [rbp + 0x38]
mov byte [rbp + 0x3a], 0
call fcn.1403d6dc0
mov r14d, eax
mov dword [rbp - 0x3e], 0xc6b68cc3
xor eax, eax
mov word [rbp - 0x3a], 0xbdb3
mov byte [rbp - 0x38], al
xor edx, edx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0xd]
inc edx
xor byte [rbp + rcx - 0x3e], al
cmp edx, 6
jb 0x140219920
xor eax, eax
mov byte [rbp - 0x38], 0
mov byte [rbp + 0x42], al
xor edx, edx
mov word [rbp + 0x40], 0xc4c2
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x40]
add rcx, rax
lea eax, [rdx - 0xd]
inc edx
xor byte [rcx], al
cmp edx, 2
jb 0x140219950
lea rcx, [rbp + 0x40]
mov byte [rbp + 0x42], 0
call fcn.1403d6dc0
mov esi, eax
mov dword [rbp - 0x48], 0xcdc4ca
xor r8d, r8d
nop
movsxd rcx, r8d
lea rdx, [rbp - 0x48]
add rdx, rcx
lea ecx, [r8 - 0xd]
inc r8d
xor byte [rdx], cl
cmp r8d, 3
jb 0x140219980
mov r8d, ebx
mov byte [rbp - 0x45], 0
xor edx, edx
lea rcx, [rbp - 0x37]
call fcn.1403d6cb0
mov r8d, edi
lea rcx, [rbp - 0x44]
xor edx, edx
mov ebx, eax
call fcn.1403d6cb0
movzx ecx, al
mov r8d, esi
movzx edi, bl
xor edx, edx
imul edi, ecx
lea rcx, [rbp - 0x48]
call fcn.1403d6cb0
movzx ecx, r13b
mov r8d, r14d
movzx ebx, al
xor edx, edx
imul ebx, ecx
lea rcx, [rbp - 0x3e]
add bl, dil
call fcn.1403d6cb0
movsxd rcx, r13d
add al, bl
inc r13d
xor byte [rcx + r15], al
cmp r13d, r12d
jb 0x1402197f0
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r8, r12
mov rdx, r15
mov rcx, r15
add rsp, 0x68
pop r15
pop r13
pop r12
pop rbp
jmp fcn.1403cc5a0