Function at 0x14013f58c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov r15, rcx
mov ecx, 0x960
call fcn.1403caaf4
xor r12d, r12d
mov word [rbp + 0x48], 0x3731
mov rbx, rax
mov ecx, r12d
mov qword [rax + 0x920], r12
lea r13d, [r12 + 1]
mov qword [rax + 0x928], r12
mov byte [rax + 0x8b9], r13b
mov qword [rax + 0x930], r12
mov qword [rax + 0x938], r12
mov qword [rax + 0x940], r12
mov qword [rax + 0x948], r12
mov qword [rax + 0x950], r12
mov qword [rax + 0x958], r12
mov byte [rax], r12b
mov byte [rax + 0x78], r12b
mov dword [rax + 0x8b5], 0x10100
mov word [rax + 0x8ba], r12w
mov word [rax + 0x8be], r12w
mov word [rax + 0x8ff], r12w
mov byte [rax + 0x8bc], r12b
mov byte [rax + 0xb4], r12b
xor eax, eax
mov byte [rbp + 0x4a], al
xor byte [rbp + rcx + 0x48], al
add eax, r13d
movsxd rcx, eax
cmp rcx, 2
jb 0x14013f63c
lea rcx, [rbp + 0x48]
mov byte [rbp + 0x4a], r12b
call fcn.1403d6dc0
xor ecx, ecx
mov dword [rbp - 0x1c], 0x33347930
mov byte [rbp - 0x18], cl
mov rdx, r12
xor byte [rbp + rdx - 0x1c], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 4
jb 0x14013f668
mov r8d, eax
mov byte [rbp - 0x18], r12b
xor edx, edx
lea rcx, [rbp - 0x1c]
call fcn.1403d6cb0
mov rcx, r12
mov r14, qword gs:[rax]
xor eax, eax
mov byte [rbp + 0x52], al
mov word [rbp + 0x50], 0x3731
xor byte [rbp + rcx + 0x50], al
add eax, r13d
movsxd rcx, eax
cmp rcx, 2
jb 0x14013f69c
lea rcx, [rbp + 0x50]
mov byte [rbp + 0x52], r12b
call fcn.1403d6dc0
xor ecx, ecx
mov dword [rbp - 0x17], 0x33347930
mov byte [rbp - 0x13], cl
mov rdx, r12
xor byte [rbp + rdx - 0x17], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 4
jb 0x14013f6c8
mov r8d, eax
mov byte [rbp - 0x13], r12b
xor edx, edx
lea rcx, [rbp - 0x17]
call fcn.1403d6cb0
mov rcx, r12
mov rsi, qword gs:[rax]
xor eax, eax
mov byte [rbp + 0x5a], al
mov word [rbp + 0x58], 0x3731
xor byte [rbp + rcx + 0x58], al
add eax, r13d
movsxd rcx, eax
cmp rcx, 2
jb 0x14013f6fc
lea rcx, [rbp + 0x58]
mov byte [rbp + 0x5a], r12b
call fcn.1403d6dc0
mov ecx, r12d
mov dword [rbp - 0x2c], 0x417930
mov rdx, r12
xor byte [rbp + rdx - 0x2c], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 3
jb 0x14013f726
mov r8d, eax
mov byte [rbp - 0x29], r12b
xor edx, edx
lea rcx, [rbp - 0x2c]
call fcn.1403d6cb0
mov edi, eax
mov word [rbp + 0x60], 0x3731
xor eax, eax
mov ecx, r12d
mov byte [rbp + 0x62], al
mov rdx, r12
xor byte [rbp + rdx + 0x60], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 2
jb 0x14013f75b
lea rcx, [rbp + 0x60]
mov byte [rbp + 0x62], r12b
call fcn.1403d6dc0
mov ecx, r12d
mov dword [rbp - 0x28], 0x447930
mov rdx, r12
xor byte [rbp + rdx - 0x28], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 3
jb 0x14013f785
mov r8d, eax
mov byte [rbp - 0x25], r12b
xor edx, edx
lea rcx, [rbp - 0x28]
call fcn.1403d6cb0
mov ecx, edi
not r14
shr esi, cl
and eax, esi
mov ecx, eax
xor rcx, r14
xor rcx, rbx
mov qword [r15], rcx
mov ecx, 0xec8
call fcn.1403caaf4
mov rcx, rax
call fcn.1401844e0
mov r14, rax
mov word [rbp - 0x38], 0x3731
xor eax, eax
mov ecx, r12d
mov byte [rbp - 0x36], al
mov rdx, r12
xor byte [rbp + rdx - 0x38], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 2
jb 0x14013f7e1
lea rcx, [rbp - 0x38]
mov byte [rbp - 0x36], r12b
call fcn.1403d6dc0
xor ecx, ecx
mov dword [rbp - 0x12], 0x33347930
mov byte [rbp - 0xe], cl
mov rdx, r12
xor byte [rbp + rdx - 0x12], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 4
jb 0x14013f80d
mov r8d, eax
mov byte [rbp - 0xe], r12b
xor edx, edx
lea rcx, [rbp - 0x12]
call fcn.1403d6cb0
mov rcx, r12
mov rbx, qword gs:[rax]
xor eax, eax
mov byte [rbp - 0x33], al
mov word [rbp - 0x35], 0x3731
xor byte [rbp + rcx - 0x35], al
add eax, r13d
movsxd rcx, eax
cmp rcx, 2
jb 0x14013f841
lea rcx, [rbp - 0x35]
mov byte [rbp - 0x33], r12b
call fcn.1403d6dc0
xor ecx, ecx
mov dword [rbp - 0xd], 0x33347930
mov byte [rbp - 9], cl
mov rdx, r12
xor byte [rbp + rdx - 0xd], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 4
jb 0x14013f86d
mov r8d, eax
mov byte [rbp - 9], r12b
xor edx, edx
lea rcx, [rbp - 0xd]
call fcn.1403d6cb0
mov rcx, r12
mov rsi, qword gs:[rax]
xor eax, eax
mov byte [rbp - 0x30], al
mov word [rbp - 0x32], 0x3731
xor byte [rbp + rcx - 0x32], al
add eax, r13d
movsxd rcx, eax
cmp rcx, 2
jb 0x14013f8a1
lea rcx, [rbp - 0x32]
mov byte [rbp - 0x30], r12b
call fcn.1403d6dc0
mov ecx, r12d
mov dword [rbp - 0x24], 0x417930
mov rdx, r12
xor byte [rbp + rdx - 0x24], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 3
jb 0x14013f8cb
mov r8d, eax
mov byte [rbp - 0x21], r12b
xor edx, edx
lea rcx, [rbp - 0x24]
call fcn.1403d6cb0
mov edi, eax
mov word [rbp - 0x2f], 0x3731
xor eax, eax
mov ecx, r12d
mov byte [rbp - 0x2d], al
mov rdx, r12
xor byte [rbp + rdx - 0x2f], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 2
jb 0x14013f900
lea rcx, [rbp - 0x2f]
mov byte [rbp - 0x2d], r12b
call fcn.1403d6dc0
mov ecx, r12d
mov dword [rbp - 0x20], 0x447930
mov rdx, r12
xor byte [rbp + rdx - 0x20], cl
add ecx, r13d
movsxd rdx, ecx
cmp rdx, 3
jb 0x14013f92a
mov r8d, eax
mov byte [rbp - 0x1d], r12b
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.1403d6cb0
mov edx, eax
mov cl, dil
mov eax, esi
not rbx
shr rax, cl
and rdx, rax
mov rax, r15
xor rdx, rbx
xor rdx, r14
mov qword [r15 + 8], rdx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret