Function at 0x1000ccc94
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1004c4740]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rax, r8
xor ebx, ebx
mov r12d, edx
mov dword [rsp + 0x20], edx
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x40], rax
lea rdx, [0x1004a9500]
test rcx, rcx
jne 0x1000ccd49
mov edi, 0x80070057
mov rcx, qword [0x1004a9500]
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x1000ccd14
test byte [rcx + 0x3c], 2
je 0x1000ccd14
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003ee10]
mov edx, 0xa
mov r9d, edi
call fcn.10005c358
test rbx, rbx
je 0x1000ccd22
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.10027d5f4
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test rax, rax
je 0x1000cccde
test r9, r9
je 0x1000cccde
mov r13d, r12d
mov ebp, 1
mov r14d, 0x80070216
shr r13d, 4
inc r13d
lea eax, [r13 + 1]
cmp eax, ebp
jb 0x1000ccd76
mov ebp, eax
xor edi, edi
jmp 0x1000ccdaa
mov edi, r14d
mov rcx, qword [0x1004a9500]
cmp rcx, rdx
je 0x1000ccdaa
test byte [rcx + 0x3c], 2
je 0x1000ccdaa
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xa
mov r9d, r14d
call fcn.10005c358
lea rdx, [0x1004a9500]
test edi, edi
js 0x1000ccce3
xor edi, edi
test ebp, ebp
je 0x1000ccdf9
mov esi, ebp
shl esi, 4
mov eax, esi
shr eax, 4
cmp eax, ebp
je 0x1000ccdfb
mov edi, r14d
mov rcx, qword [0x1004a9500]
cmp rcx, rdx
je 0x1000ccdf3
test byte [rcx + 0x3c], 2
je 0x1000ccdf3
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xc
mov r9d, r14d
call fcn.10005c358
mov esi, dword [rsp + 0x20]
jmp 0x1000ccdfb
xor esi, esi
test edi, edi
js 0x1000ccce3
mov edx, esi
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
jne 0x1000cce22
mov edi, 0x8007000e
jmp 0x1000ccce3
lea rcx, [rsp + 0x58]
mov edx, 0x10
call fcn.1000bc4d8
mov edi, eax
test eax, eax
js 0x1000ccce3
lea rcx, [rsp + 0x58]
mov r8d, 0x10
mov rdx, rbx
call fcn.10007fb28
mov edi, eax
test eax, eax
js 0x1000ccce3
lea r10, [rbx + 0x10]
xor r15d, r15d
mov ebp, r12d
mov qword [rsp + 0x30], r10
test r13d, r13d
je 0x1000ccf40
lea rax, [rsp + 0x48]
mov r12, rbx
lea r11d, [r15 + 0x10]
sub r12, rax
cmp ebp, r11d
mov r14d, ebp
cmova r14d, r11d
xor r8d, r8d
xor r9d, r9d
test r14d, r14d
je 0x1000ccecd
mov r11, qword [rsp + 0x28]
mov edx, r15d
shl edx, 4
cmp edx, dword [rsp + 0x20]
jae 0x1000ccf54
lea rax, [r12 + r9]
inc r8d
inc edx
mov cl, byte [rsp + rax + 0x48]
xor cl, byte [r11 + r9]
inc r9
mov byte [rsp + r9 + 0x47], cl
cmp r8d, r14d
jb 0x1000cce9f
mov r11d, 0x10
cmp ebp, r11d
ja 0x1000ccefc
mov edx, r11d
sub dl, bpl
cmp r8d, r11d
jae 0x1000ccefc
mov eax, r11d
lea rcx, [rsp + r9 + 0x48]
sub eax, r8d
mov r8d, eax
mov al, byte [r12 + rcx]
xor al, dl
mov byte [rcx], al
inc rcx
sub r8, 1
jne 0x1000cceeb
lea rcx, [rsp + 0x48]
mov r8d, r11d
mov rdx, r10
call fcn.10007fb28
mov edi, eax
test eax, eax
js 0x1000ccce3
mov r10, qword [rsp + 0x30]
mov r11d, 0x10
inc r15d
add qword [rsp + 0x28], r11
add r10, r11
sub ebp, r14d
add r12, r11
mov qword [rsp + 0x30], r10
cmp r15d, r13d
jb 0x1000cce7f
mov rax, qword [rsp + 0x38]
mov dword [rax], esi
mov rax, qword [rsp + 0x40]
mov qword [rax], rbx
jmp 0x1000ccd22
mov edi, 0x8000ffff
jmp 0x1000ccce3