Function at 0x1000a32a8
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 [0x100349ea8], 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 0x1000a3327
mov ebx, 0x8000ffff
jmp 0x1000a358b
lea rcx, [0x100349e58]
call fcn.10004f3fc
mov ebx, eax
test eax, eax
js 0x1000a358b
cmp edi, 0x10
je 0x1000a334c
mov ebx, 0x8007000d
jmp 0x1000a358b
xor r14d, r14d
mov edi, r15d
shr edi, 4
test edi, edi
je 0x1000a3423
xor esi, esi
xor r13d, r13d
test edi, edi
je 0x1000a341e
mov rcx, qword [0x100331948]
xor r12d, r12d
xor ebp, ebp
cmp r14d, r15d
jae 0x1000a3468
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 0x1000a33a4
inc r13
mov r14d, eax
xor ebx, ebx
jmp 0x1000a33da
mov ebx, 0x80070216
lea rax, [0x100331948]
cmp rcx, rax
je 0x1000a33da
test byte [rcx + 0x3c], 2
je 0x1000a33da
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 0x1000a3592
inc r12d
inc rbp
cmp r12d, 0x10
jb 0x1000a3376
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
mov r8d, 0x10
call fcn.100214630
mov ebx, eax
test eax, eax
js 0x1000a358b
inc esi
cmp esi, edi
jb 0x1000a336a
lea rbp, [0x100331948]
mov r13, qword [rsp + 0x20]
xor ebx, ebx
test edi, edi
je 0x1000a3476
mov ecx, edi
shl ecx, 4
mov eax, ecx
shr eax, 4
cmp eax, edi
je 0x1000a3472
mov ebx, 0x80070216
mov rcx, qword [0x100331948]
cmp rcx, rbp
je 0x1000a347f
test byte [rcx + 0x3c], 2
je 0x1000a347f
mov rcx, qword [rcx + 0x30]
lea r8, [0x100021570]
mov edx, 0xc
mov r9d, ebx
call fcn.100050618
jmp 0x1000a3478
mov ebx, 0x80004005
jmp 0x1000a3592
mov edi, ecx
jmp 0x1000a3478
xor edi, edi
mov rcx, qword [0x100331948]
test ebx, ebx
js 0x1000a3592
mov esi, r15d
sub esi, edi
cmp esi, r15d
ja 0x1000a3495
xor ebx, ebx
jmp 0x1000a34c8
mov ebx, 0x80070216
cmp rcx, rbp
je 0x1000a34c4
test byte [rcx + 0x3c], 2
je 0x1000a34c4
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 0x1000a3592
cmp esi, 0x10
jae 0x1000a3468
xor eax, eax
xor ebp, ebp
movsxd r12, r14d
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
test esi, esi
je 0x1000a3554
lea rdi, [rsp + 0x30]
cmp r14d, r15d
jae 0x1000a3468
mov al, byte [r12 + r13]
mov byte [rdi], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x1000a3511
inc r12
mov r14d, eax
xor ebx, ebx
jmp 0x1000a3547
mov ebx, 0x80070216
lea rax, [0x100331948]
cmp rcx, rax
je 0x1000a3547
test byte [rcx + 0x3c], 2
je 0x1000a3547
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 0x1000a3592
inc ebp
inc rdi
cmp ebp, esi
jb 0x1000a34ef
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 0x1000a3561
mov rdx, qword [rsp + 0x28]
lea r8d, [r9 + 0x10]
lea rcx, [rsp + 0x30]
call fcn.100214630
mov ebx, eax
test eax, eax
jns 0x1000a35bc
mov rcx, qword [0x100331948]
lea rax, [0x100331948]
cmp rcx, rax
je 0x1000a35bc
test byte [rcx + 0x3c], 2
je 0x1000a35bc
mov rcx, qword [rcx + 0x30]
lea r8, [0x100020e28]
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