Function at 0x14000c795
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbp, rcx
mov qword [rsp + 0x98], rdx
mov r8, rdx
mov rdx, rcx
mov ecx, 0xa
call fcn.14000c6e6
mov dword [rsp + 0x3c], 9
lea rax, [rbp + 0x10]
mov qword [rsp + 0x30], rax
mov rsi, rbp
jmp 0x14000c7e9
mov rsi, qword [rsp + 0x90]
sub dword [rsp + 0x3c], 1
je 0x14000c9cc
movzx eax, byte [rsi + 0xd]
movzx edx, byte [rsi + 9]
mov byte [rsi + 0xd], dl
movzx edx, byte [rsi + 5]
mov byte [rsi + 9], dl
movzx edx, byte [rsi + 1]
mov byte [rsi + 5], dl
mov byte [rsi + 1], al
movzx eax, byte [rsi + 2]
movzx edx, byte [rsi + 0xa]
mov byte [rsi + 2], dl
mov byte [rsi + 0xa], al
movzx eax, byte [rsi + 6]
movzx edx, byte [rsi + 0xe]
mov byte [rsi + 6], dl
mov byte [rsi + 0xe], al
movzx eax, byte [rsi + 3]
movzx edx, byte [rsi + 7]
mov byte [rsi + 3], dl
movzx edx, byte [rsi + 0xb]
mov byte [rsi + 7], dl
movzx edx, byte [rsi + 0xf]
mov byte [rsi + 0xb], dl
mov byte [rsi + 0xf], al
mov rcx, rsi
call fcn.14000c765
mov r8, qword [rsp + 0x98]
mov rdx, rsi
mov ecx, dword [rsp + 0x3c]
call fcn.14000c6e6
mov rbp, rsi
mov qword [rsp + 0x90], rsi
movzx r14d, byte [rbp]
movzx r13d, byte [rbp + 1]
movzx r12d, byte [rbp + 2]
movzx r15d, byte [rbp + 3]
movzx ecx, r14b
call fcn.14000c754
mov byte [rsp + 0x2d], al
movzx ecx, al
call fcn.14000c754
mov ebx, eax
movzx ecx, al
call fcn.14000c754
mov byte [rsp + 0x2e], al
movzx ecx, r13b
call fcn.14000c754
mov esi, eax
movzx ecx, al
call fcn.14000c754
mov byte [rsp + 0x2f], al
movzx ecx, al
call fcn.14000c754
mov byte [rsp + 0x38], al
movzx ecx, r12b
call fcn.14000c754
mov byte [rsp + 0x39], al
movzx ecx, al
call fcn.14000c754
mov byte [rsp + 0x2c], al
movzx ecx, al
call fcn.14000c754
mov byte [rsp + 0x3a], al
movzx ecx, r15b
call fcn.14000c754
mov byte [rsp + 0x3b], al
movzx ecx, al
call fcn.14000c754
mov edi, eax
movzx ecx, al
call fcn.14000c754
mov edx, eax
movzx ecx, byte [rsp + 0x2d]
mov r9d, ecx
xor r9d, ebx
mov eax, r9d
movzx r8d, byte [rsp + 0x2e]
xor eax, r8d
xor eax, esi
movzx r11d, byte [rsp + 0x38]
xor eax, r11d
xor al, byte [rsp + 0x2c]
movzx r10d, byte [rsp + 0x3a]
xor eax, r10d
xor eax, edx
xor eax, r13d
xor eax, r12d
xor eax, r15d
mov byte [rbp], al
mov eax, esi
xor eax, r8d
movzx esi, byte [rsp + 0x2f]
xor eax, esi
xor eax, r11d
movzx r9d, byte [rsp + 0x39]
xor eax, r9d
xor eax, r10d
xor eax, edi
xor eax, edx
xor eax, r14d
xor eax, r12d
xor eax, r15d
mov byte [rbp + 1], al
mov eax, ebx
xor eax, r8d
mov ebx, r11d
xor eax, ebx
xor eax, r9d
xor al, byte [rsp + 0x2c]
xor eax, r10d
movzx r11d, byte [rsp + 0x3b]
xor eax, r11d
xor eax, edx
xor eax, r14d
xor eax, r13d
xor r15d, eax
mov byte [rbp + 2], r15b
mov eax, ecx
xor eax, r8d
xor eax, esi
xor eax, ebx
xor eax, r10d
xor eax, r11d
xor edi, eax
xor edi, edx
xor r14d, edi
xor r13d, r14d
xor r12d, r13d
mov byte [rbp + 3], r12b
add rbp, 4
cmp qword [rsp + 0x30], rbp
jne 0x14000c864
jmp 0x14000c7d6
movzx eax, byte [rsi + 0xd]
movzx edx, byte [rsi + 9]
mov byte [rsi + 0xd], dl
movzx edx, byte [rsi + 5]
mov byte [rsi + 9], dl
movzx edx, byte [rsi + 1]
mov byte [rsi + 5], dl
mov byte [rsi + 1], al
movzx eax, byte [rsi + 2]
movzx edx, byte [rsi + 0xa]
mov byte [rsi + 2], dl
mov byte [rsi + 0xa], al
movzx eax, byte [rsi + 6]
movzx edx, byte [rsi + 0xe]
mov byte [rsi + 6], dl
mov byte [rsi + 0xe], al
movzx eax, byte [rsi + 3]
movzx edx, byte [rsi + 7]
mov byte [rsi + 3], dl
movzx edx, byte [rsi + 0xb]
mov byte [rsi + 7], dl
movzx edx, byte [rsi + 0xf]
mov byte [rsi + 0xb], dl
mov byte [rsi + 0xf], al
mov rcx, rsi
call fcn.14000c765
mov r8, qword [rsp + 0x98]
mov rdx, rsi
mov ecx, 0
call fcn.14000c6e6
nop
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret