Function at 0x1400651f0
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, 0x38
movzx eax, byte [rcx + 0xd]
mov byte [rsp + 0x90], al
movzx eax, byte [rcx + 0xe]
mov byte [rsp + 0x88], al
movzx eax, byte [rcx + 0xf]
movzx edx, byte [rcx]
movzx r8d, byte [rcx + 1]
movzx r9d, byte [rcx + 2]
movzx r10d, byte [rcx + 3]
movzx r11d, byte [rcx + 4]
movzx ebx, byte [rcx + 5]
movzx edi, byte [rcx + 6]
movzx esi, byte [rcx + 7]
movzx ebp, byte [rcx + 8]
movzx r14d, byte [rcx + 9]
movzx r15d, byte [rcx + 0xa]
movzx r12d, byte [rcx + 0xb]
movzx r13d, byte [rcx + 0xc]
mov byte [rsp + 0x98], al
movzx eax, byte [rcx + 0x10]
mov byte [rsp], al
movzx eax, byte [rcx + 0x11]
mov byte [rsp + 1], al
movzx eax, byte [rcx + 0x12]
mov byte [rsp + 2], al
movzx eax, byte [rcx + 0x13]
mov byte [rsp + 3], al
movzx eax, byte [rcx + 0x14]
mov byte [rsp + 4], al
movzx eax, byte [rcx + 0x15]
mov byte [rsp + 5], al
movzx eax, byte [rcx + 0x16]
mov byte [rsp + 6], al
movzx eax, byte [rcx + 0x17]
mov byte [rsp + 7], al
movzx eax, byte [rcx + 0x18]
mov byte [rsp + 8], al
movzx eax, byte [rcx + 0x19]
mov byte [rsp + 9], al
movzx eax, byte [rcx + 0x1a]
mov byte [rsp + 0xa], al
movzx eax, byte [rcx + 0x1b]
mov byte [rsp + 0xb], al
movzx eax, byte [rcx + 0x1c]
mov byte [rsp + 0xc], al
movzx eax, byte [rcx + 0x1d]
mov byte [rsp + 0xd], al
movzx eax, byte [rcx + 0x1e]
mov byte [rsp + 0xe], al
movzx eax, byte [rcx + 0x1f]
mov byte [rsp + 0xf], al
movzx eax, byte [rcx + 0x20]
mov byte [rsp + 0x10], al
movzx eax, byte [rcx + 0x21]
mov byte [rsp + 0x11], al
movzx eax, byte [rcx + 0x22]
mov byte [rsp + 0x12], al
movzx eax, byte [rcx + 0x23]
mov byte [rsp + 0x13], al
movzx eax, byte [rcx + 0x24]
mov byte [rsp + 0x14], al
movzx eax, byte [rcx + 0x25]
mov byte [rsp + 0x15], al
movzx eax, byte [rcx + 0x26]
mov byte [rsp + 0x16], al
movzx eax, byte [rcx + 0x27]
mov byte [rsp + 0x17], al
movzx eax, byte [rcx + 0x28]
mov byte [rsp + 0x18], al
movzx eax, byte [rcx + 0x29]
mov byte [rsp + 0x19], al
movzx eax, byte [rcx + 0x2a]
mov byte [rsp + 0x1a], al
movzx eax, byte [rcx + 0x2b]
mov byte [rsp + 0x1b], al
movzx eax, byte [rcx + 0x2c]
mov byte [rsp + 0x1c], al
movzx eax, byte [rcx + 0x2d]
mov byte [rsp + 0x1d], al
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x24], 0
movzx eax, byte [rcx + 0x2e]
mov byte [rsp + 0x1e], al
movzx eax, byte [rcx + 0x2f]
mov byte [rsp + 0x1f], al
nop dword [rax]
movzx eax, byte [rsp + 0x20]
lea rcx, str._.C
xor dl, byte [rax + rcx]
movzx eax, dl
mov byte [rsp + 0x21], dl
lea rdx, str._.C
xor r8b, byte [rax + rcx]
movzx eax, r8b
xor r9b, byte [rax + rcx]
movzx eax, r9b
xor r10b, byte [rax + rcx]
movzx eax, r10b
xor r11b, byte [rax + rcx]
movzx eax, r11b
xor bl, byte [rax + rcx]
movzx eax, bl
xor dil, byte [rax + rcx]
movzx eax, dil
xor sil, byte [rax + rcx]
movzx eax, sil
xor bpl, byte [rax + rcx]
movzx eax, bpl
xor r14b, byte [rax + rcx]
movzx eax, r14b
xor r15b, byte [rax + rcx]
movzx eax, r15b
xor r12b, byte [rax + rcx]
movzx eax, r12b
xor r13b, byte [rax + rcx]
movzx ecx, byte [rsp + 0x90]
movzx eax, r13b
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x90], cl
movzx ecx, byte [rsp + 0x88]
xor cl, byte [rax + rdx]
movzx eax, cl
movzx ecx, byte [rsp + 0x98]
mov byte [rsp + 0x88], al
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x98], cl
movzx ecx, byte [rsp]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp], cl
movzx ecx, byte [rsp + 1]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 1], cl
movzx ecx, byte [rsp + 2]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 2], cl
movzx ecx, byte [rsp + 3]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 3], cl
movzx ecx, byte [rsp + 4]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 4], cl
movzx ecx, byte [rsp + 5]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 5], cl
movzx ecx, byte [rsp + 6]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 6], cl
movzx ecx, byte [rsp + 7]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 7], cl
movzx ecx, byte [rsp + 8]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 8], cl
movzx ecx, byte [rsp + 9]
xor cl, byte [rax + rdx]
mov byte [rsp + 9], cl
movzx eax, cl
movzx ecx, byte [rsp + 0xa]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0xa], cl
movzx ecx, byte [rsp + 0xb]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0xb], cl
movzx ecx, byte [rsp + 0xc]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0xc], cl
movzx ecx, byte [rsp + 0xd]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0xd], cl
movzx ecx, byte [rsp + 0xe]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0xe], cl
movzx ecx, byte [rsp + 0xf]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0xf], cl
movzx ecx, byte [rsp + 0x10]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x10], cl
movzx ecx, byte [rsp + 0x11]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x11], cl
movzx ecx, byte [rsp + 0x12]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x12], cl
movzx ecx, byte [rsp + 0x13]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x13], cl
movzx ecx, byte [rsp + 0x14]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x14], cl
movzx ecx, byte [rsp + 0x15]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x15], cl
movzx ecx, byte [rsp + 0x16]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x16], cl
movzx ecx, byte [rsp + 0x17]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x17], cl
movzx ecx, byte [rsp + 0x18]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x18], cl
movzx ecx, byte [rsp + 0x19]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x19], cl
movzx ecx, byte [rsp + 0x1a]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x1a], cl
movzx ecx, byte [rsp + 0x1b]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x1b], cl
movzx ecx, byte [rsp + 0x1c]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x1c], cl
movzx ecx, byte [rsp + 0x1d]
xor cl, byte [rax + rdx]
mov byte [rsp + 0x1d], cl
movzx eax, cl
movzx ecx, byte [rsp + 0x1e]
xor cl, byte [rax + rdx]
movzx eax, cl
mov byte [rsp + 0x1e], cl
movzx ecx, byte [rsp + 0x1f]
xor cl, byte [rax + rdx]
mov eax, dword [rsp + 0x24]
movzx edx, byte [rsp + 0x21]
mov byte [rsp + 0x1f], cl
add cl, al
inc eax
mov byte [rsp + 0x20], cl
mov dword [rsp + 0x24], eax
cmp eax, 0x12
jb 0x140065370
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rsp + 0x90]
mov byte [rcx + 0xd], al
movzx eax, byte [rsp + 0x88]
mov byte [rcx + 0xe], al
movzx eax, byte [rsp + 0x98]
mov byte [rcx + 0xf], al
movzx eax, byte [rsp]
mov byte [rcx + 0x10], al
movzx eax, byte [rsp + 1]
mov byte [rcx + 0x11], al
movzx eax, byte [rsp + 2]
mov byte [rcx + 0x12], al
movzx eax, byte [rsp + 3]
mov byte [rcx + 0x13], al
movzx eax, byte [rsp + 4]
mov byte [rcx + 0x14], al
movzx eax, byte [rsp + 5]
mov byte [rcx + 0x15], al
movzx eax, byte [rsp + 6]
mov byte [rcx + 0x16], al
movzx eax, byte [rsp + 7]
mov byte [rcx + 0x17], al
movzx eax, byte [rsp + 8]
mov byte [rcx + 0x18], al
movzx eax, byte [rsp + 9]
mov byte [rcx + 0x19], al
movzx eax, byte [rsp + 0xa]
mov byte [rcx + 0x1a], al
movzx eax, byte [rsp + 0xb]
mov byte [rcx + 0x1b], al
movzx eax, byte [rsp + 0xc]
mov byte [rcx + 0x1c], al
movzx eax, byte [rsp + 0xd]
mov byte [rcx + 0x1d], al
movzx eax, byte [rsp + 0xe]
mov byte [rcx + 0x1e], al
movzx eax, byte [rsp + 0xf]
mov byte [rcx + 0x1f], al
movzx eax, byte [rsp + 0x10]
mov byte [rcx + 0x20], al
movzx eax, byte [rsp + 0x11]
mov byte [rcx + 0x21], al
movzx eax, byte [rsp + 0x12]
mov byte [rcx + 0x22], al
movzx eax, byte [rsp + 0x13]
mov byte [rcx + 0x23], al
movzx eax, byte [rsp + 0x14]
mov byte [rcx + 0x24], al
movzx eax, byte [rsp + 0x15]
mov byte [rcx + 0x25], al
movzx eax, byte [rsp + 0x16]
mov byte [rcx + 0x26], al
movzx eax, byte [rsp + 0x17]
mov byte [rcx + 0x27], al
movzx eax, byte [rsp + 0x18]
mov byte [rcx + 0x28], al
movzx eax, byte [rsp + 0x19]
mov byte [rcx + 0x29], al
movzx eax, byte [rsp + 0x1a]
mov byte [rcx + 0x2a], al
movzx eax, byte [rsp + 0x1b]
mov byte [rcx + 0x2b], al
movzx eax, byte [rsp + 0x1c]
mov byte [rcx + 0x2c], al
movzx eax, byte [rsp + 0x1d]
mov byte [rcx + 0x2d], al
movzx eax, byte [rsp + 0x1e]
mov byte [rcx], dl
mov byte [rcx + 1], r8b
mov byte [rcx + 2], r9b
mov byte [rcx + 3], r10b
mov byte [rcx + 4], r11b
mov byte [rcx + 5], bl
mov byte [rcx + 6], dil
mov byte [rcx + 7], sil
mov byte [rcx + 8], bpl
mov byte [rcx + 9], r14b
mov byte [rcx + 0xa], r15b
mov byte [rcx + 0xb], r12b
mov byte [rcx + 0xc], r13b
mov byte [rcx + 0x2e], al
movzx eax, byte [rsp + 0x1f]
mov byte [rcx + 0x2f], al
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret