Function at 0x10006ce8c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x100347ae0]
xor rax, rsp
mov qword [rsp + 0x50], rax
xor eax, eax
cmp dword [0x100349c88], 1
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x41], rax
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov byte [rsp + 0x30], al
mov qword [rsp + 0x31], rax
mov dword [rsp + 0x39], eax
mov word [rsp + 0x3d], ax
mov byte [rsp + 0x3f], al
mov edi, r8d
mov r13, rdx
mov qword [rsp + 0x20], rdx
mov r15d, ecx
mov byte [rsp + 0x40], 0
lea rbp, [0x100331948]
je 0x10006cf0b
mov ebx, 0x8000ffff
jmp 0x10006d16f
lea rcx, [0x100349c38]
call fcn.10004f3fc
mov ebx, eax
test eax, eax
js 0x10006d16f
cmp edi, 0x10
je 0x10006cf30
mov ebx, 0x8007000d
jmp 0x10006d16f
xor r14d, r14d
mov edi, r15d
shr edi, 4
test edi, edi
je 0x10006d007
xor esi, esi
xor r13d, r13d
test edi, edi
je 0x10006d002
mov rcx, qword [0x100331948]
xor r12d, r12d
xor ebp, ebp
cmp r14d, r15d
jae 0x10006d04c
mov rax, qword [rsp + 0x20]
mov al, byte [r13 + rax]
xor al, byte [rsp + rbp + 0x40]
mov byte [rsp + rbp + 0x30], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x10006cf88
inc r13
mov r14d, eax
xor ebx, ebx
jmp 0x10006cfbe
mov ebx, 0x80070216
lea rax, [0x100331948]
cmp rcx, rax
je 0x10006cfbe
test byte [rcx + 0x3c], 2
je 0x10006cfbe
mov rcx, qword [rcx + 0x30]
lea r8, [0x100021570]
mov edx, 0xa
mov r9d, ebx
call fcn.100050618
mov rcx, qword [0x100331948]
test ebx, ebx
js 0x10006d176
inc r12d
inc rbp
cmp r12d, 0x10
jb 0x10006cf5a
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
mov r8d, 0x10
call fcn.100196be8
mov ebx, eax
test eax, eax
js 0x10006d16f
inc esi
cmp esi, edi
jb 0x10006cf4e
lea rbp, [0x100331948]
mov r13, qword [rsp + 0x20]
xor ebx, ebx
test edi, edi
je 0x10006d05a
mov ecx, edi
shl ecx, 4
mov eax, ecx
shr eax, 4
cmp eax, edi
je 0x10006d056
mov ebx, 0x80070216
mov rcx, qword [0x100331948]
cmp rcx, rbp
je 0x10006d063
test byte [rcx + 0x3c], 2
je 0x10006d063
mov rcx, qword [rcx + 0x30]
lea r8, [0x100021570]
mov edx, 0xc
mov r9d, ebx
call fcn.100050618
jmp 0x10006d05c
mov ebx, 0x80004005
jmp 0x10006d176
mov edi, ecx
jmp 0x10006d05c
xor edi, edi
mov rcx, qword [0x100331948]
test ebx, ebx
js 0x10006d176
mov esi, r15d
sub esi, edi
cmp esi, r15d
ja 0x10006d079
xor ebx, ebx
jmp 0x10006d0ac
mov ebx, 0x80070216
cmp rcx, rbp
je 0x10006d0a8
test byte [rcx + 0x3c], 2
je 0x10006d0a8
mov rcx, qword [rcx + 0x30]
lea r8, [0x1000213b8]
mov edx, 0xb
mov r9d, ebx
call fcn.100050618
mov rcx, qword [0x100331948]
mov esi, dword [rsp + 0x20]
test ebx, ebx
js 0x10006d176
cmp esi, 0x10
jae 0x10006d04c
xor eax, eax
xor ebp, ebp
movsxd r12, r14d
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
test esi, esi
je 0x10006d138
lea rdi, [rsp + 0x30]
cmp r14d, r15d
jae 0x10006d04c
mov al, byte [r12 + r13]
mov byte [rdi], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x10006d0f5
inc r12
mov r14d, eax
xor ebx, ebx
jmp 0x10006d12b
mov ebx, 0x80070216
lea rax, [0x100331948]
cmp rcx, rax
je 0x10006d12b
test byte [rcx + 0x3c], 2
je 0x10006d12b
mov rcx, qword [rcx + 0x30]
lea r8, [0x100021570]
mov edx, 0xa
mov r9d, ebx
call fcn.100050618
mov rcx, qword [0x100331948]
test ebx, ebx
js 0x10006d176
inc ebp
inc rdi
cmp ebp, esi
jb 0x10006d0d3
mov eax, esi
xor ecx, ecx
mov byte [rsp + rax + 0x30], 0x80
lea r9d, [rcx + 0x10]
mov al, byte [rsp + rcx + 0x40]
inc rcx
xor byte [rsp + rcx + 0x2f], al
sub r9, 1
jne 0x10006d145
mov rdx, qword [rsp + 0x28]
lea r8d, [r9 + 0x10]
lea rcx, [rsp + 0x30]
call fcn.100196be8
mov ebx, eax
test eax, eax
jns 0x10006d1a0
mov rcx, qword [0x100331948]
lea rax, [0x100331948]
cmp rcx, rax
je 0x10006d1a0
test byte [rcx + 0x3c], 2
je 0x10006d1a0
mov rcx, qword [rcx + 0x30]
lea r8, [0x100021398]
mov edx, 0xa
mov r9d, ebx
call fcn.100050618
mov eax, ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1002edf64
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret