Function at 0x1000a6ee0
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 [0x1004946a0]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor eax, eax
cmp dword [0x100495278], 1
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x49], rax
mov dword [rsp + 0x51], eax
mov word [rsp + 0x55], ax
mov byte [rsp + 0x57], al
mov byte [rsp + 0x38], al
mov qword [rsp + 0x39], rax
mov dword [rsp + 0x41], eax
mov word [rsp + 0x45], ax
mov byte [rsp + 0x47], al
mov edi, r8d
mov r13, rdx
mov qword [rsp + 0x28], rdx
mov r15d, ecx
mov byte [rsp + 0x48], 0
lea rbp, [0x100479440]
je 0x1000a6f5f
mov ebx, 0x8000ffff
jmp 0x1000a71e1
lea rcx, [0x100495228]
call fcn.100087a8c
test eax, eax
mov ebx, eax
js 0x1000a71e1
cmp edi, 0x10
je 0x1000a6f84
mov ebx, 0x8007000d
jmp 0x1000a71e1
xor r14d, r14d
lea r8, [rsp + 0x20]
mov ecx, r15d
lea edx, [r14 + 0x10]
call fcn.1000af384
test eax, eax
mov ebx, eax
js 0x1000a71e1
mov esi, dword [rsp + 0x20]
test esi, esi
je 0x1000a7077
xor edi, edi
xor r13d, r13d
test esi, esi
je 0x1000a7072
mov rcx, qword [0x100479440]
xor r12d, r12d
xor ebp, ebp
cmp r14d, r15d
jae 0x1000a70bb
mov rax, qword [rsp + 0x28]
mov al, byte [r13 + rax]
xor al, byte [rsp + rbp + 0x48]
mov byte [rsp + rbp + 0x38], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x1000a6ff6
add r13, 1
mov r14d, eax
xor ebx, ebx
jmp 0x1000a702b
mov ebx, 0x80070216
lea rax, [0x100479440]
cmp rcx, rax
je 0x1000a702b
test byte [rcx + 0x3c], 2
je 0x1000a702b
mov rcx, qword [rcx + 0x30]
lea r8, [0x10005ff60]
mov r9d, ebx
mov dx, 0xa
call fcn.100088d10
mov rcx, qword [0x100479440]
test ebx, ebx
js 0x1000a71e8
add r12d, 1
add rbp, 1
cmp r12d, 0x10
jb 0x1000a6fc7
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov r8d, 0x10
call fcn.1001d6438
test eax, eax
mov ebx, eax
js 0x1000a71e1
add edi, 1
cmp edi, esi
jb 0x1000a6fbb
lea rbp, [0x100479440]
mov r13, qword [rsp + 0x28]
xor ebx, ebx
test esi, esi
je 0x1000a70c9
mov ecx, esi
shl ecx, 4
mov eax, ecx
shr eax, 4
cmp eax, esi
je 0x1000a70c5
mov ebx, 0x80070216
mov rcx, qword [0x100479440]
cmp rcx, rbp
je 0x1000a70d2
test byte [rcx + 0x3c], 2
je 0x1000a70d2
mov rcx, qword [rcx + 0x30]
lea r8, [0x10005ff60]
mov r9d, ebx
mov dx, 0xc
call fcn.100088d10
jmp 0x1000a70cb
mov ebx, 0x80004005
jmp 0x1000a71e8
mov esi, ecx
jmp 0x1000a70cb
xor esi, esi
mov rcx, qword [0x100479440]
test ebx, ebx
js 0x1000a71e8
mov edi, r15d
sub edi, esi
cmp edi, r15d
ja 0x1000a70e8
xor ebx, ebx
jmp 0x1000a711a
mov ebx, 0x80070216
cmp rcx, rbp
je 0x1000a7116
test byte [rcx + 0x3c], 2
je 0x1000a7116
mov rcx, qword [rcx + 0x30]
lea r8, [0x10005fdd0]
mov r9d, ebx
mov dx, 0xb
call fcn.100088d10
mov rcx, qword [0x100479440]
mov edi, dword [rsp + 0x20]
test ebx, ebx
js 0x1000a71e8
cmp edi, 0x10
jae 0x1000a70bb
xor eax, eax
xor ebp, ebp
test edi, edi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
movsxd r12, r14d
je 0x1000a71a8
lea rsi, [rsp + 0x38]
cmp r14d, r15d
jae 0x1000a70bb
mov al, byte [r12 + r13]
mov byte [rsi], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x1000a7164
add r12, 1
mov r14d, eax
xor ebx, ebx
jmp 0x1000a7199
mov ebx, 0x80070216
lea rax, [0x100479440]
cmp rcx, rax
je 0x1000a7199
test byte [rcx + 0x3c], 2
je 0x1000a7199
mov rcx, qword [rcx + 0x30]
lea r8, [0x10005ff60]
mov r9d, ebx
mov dx, 0xa
call fcn.100088d10
mov rcx, qword [0x100479440]
test ebx, ebx
js 0x1000a71e8
add ebp, 1
add rsi, 1
cmp ebp, edi
jb 0x1000a7141
xor ecx, ecx
mov eax, edi
lea edx, [rcx + 0x10]
mov byte [rsp + rax + 0x38], 0x80
mov r9, rdx
mov al, byte [rsp + rcx + 0x48]
add rcx, 1
xor byte [rsp + rcx + 0x37], al
sub r9, 1
jne 0x1000a71b7
mov r8d, edx
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.1001d6438
test eax, eax
mov ebx, eax
jns 0x1000a7211
mov rcx, qword [0x100479440]
lea rax, [0x100479440]
cmp rcx, rax
je 0x1000a7211
test byte [rcx + 0x3c], 2
je 0x1000a7211
mov rcx, qword [rcx + 0x30]
lea r8, [0x10005fdb0]
mov r9d, ebx
mov dx, 0xa
call fcn.100088d10
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1002d532c
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret