Function at 0x1000b2d24
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 [0x1004c4740]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x30], r9
mov r13, rdx
mov qword [rsp + 0x28], rdx
mov r15d, ecx
mov byte [rsp + 0x48], 0
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
lea rbp, [0x1004a9500]
cmp r8d, 0x10
je 0x1000b2d9d
mov ebx, 0x8007000d
jmp 0x1000b2ff3
xor r14d, r14d
lea r8, [rsp + 0x20]
lea edx, [r14 + 0x10]
call fcn.1000846a0
mov ebx, eax
test eax, eax
js 0x1000b2ff3
mov esi, dword [rsp + 0x20]
test esi, esi
je 0x1000b2e8a
xor edi, edi
xor r13d, r13d
test esi, esi
je 0x1000b2e85
mov rcx, qword [0x1004a9500]
xor r12d, r12d
xor ebp, ebp
cmp r14d, r15d
jae 0x1000b2ecf
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 0x1000b2e0b
inc r13
mov r14d, eax
xor ebx, ebx
jmp 0x1000b2e41
mov ebx, 0x80070216
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x1000b2e41
test byte [rcx + 0x3c], 2
je 0x1000b2e41
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xa
mov r9d, ebx
call fcn.10005c358
mov rcx, qword [0x1004a9500]
test ebx, ebx
js 0x1000b2ffa
inc r12d
inc rbp
cmp r12d, 0x10
jb 0x1000b2ddd
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov r8d, 0x10
call fcn.1000b8e98
mov ebx, eax
test eax, eax
js 0x1000b2ff3
inc edi
cmp edi, esi
jb 0x1000b2dd1
lea rbp, [0x1004a9500]
mov r13, qword [rsp + 0x28]
xor ebx, ebx
test esi, esi
je 0x1000b2edd
mov ecx, esi
shl ecx, 4
mov eax, ecx
shr eax, 4
cmp eax, esi
je 0x1000b2ed9
mov ebx, 0x80070216
mov rcx, qword [0x1004a9500]
cmp rcx, rbp
je 0x1000b2ee6
test byte [rcx + 0x3c], 2
je 0x1000b2ee6
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xc
mov r9d, ebx
call fcn.10005c358
jmp 0x1000b2edf
mov ebx, 0x80004005
jmp 0x1000b2ffa
mov esi, ecx
jmp 0x1000b2edf
xor esi, esi
mov rcx, qword [0x1004a9500]
test ebx, ebx
js 0x1000b2ffa
mov edi, r15d
sub edi, esi
cmp edi, r15d
ja 0x1000b2efc
xor ebx, ebx
jmp 0x1000b2f2f
mov ebx, 0x80070216
cmp rcx, rbp
je 0x1000b2f2b
test byte [rcx + 0x3c], 2
je 0x1000b2f2b
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f830]
mov edx, 0xb
mov r9d, ebx
call fcn.10005c358
mov rcx, qword [0x1004a9500]
mov edi, dword [rsp + 0x20]
test ebx, ebx
js 0x1000b2ffa
cmp edi, 0x10
jae 0x1000b2ecf
xor eax, eax
xor ebp, ebp
movsxd r12, r14d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
test edi, edi
je 0x1000b2fbb
lea rsi, [rsp + 0x38]
cmp r14d, r15d
jae 0x1000b2ecf
mov al, byte [r12 + r13]
mov byte [rsi], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x1000b2f78
inc r12
mov r14d, eax
xor ebx, ebx
jmp 0x1000b2fae
mov ebx, 0x80070216
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x1000b2fae
test byte [rcx + 0x3c], 2
je 0x1000b2fae
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xa
mov r9d, ebx
call fcn.10005c358
mov rcx, qword [0x1004a9500]
test ebx, ebx
js 0x1000b2ffa
inc ebp
inc rsi
cmp ebp, edi
jb 0x1000b2f56
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]
inc rcx
xor byte [rsp + rcx + 0x37], al
sub r9, 1
jne 0x1000b2fca
mov r8d, edx
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.1000b8e98
mov ebx, eax
test eax, eax
jns 0x1000b3024
mov rcx, qword [0x1004a9500]
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x1000b3024
test byte [rcx + 0x3c], 2
je 0x1000b3024
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f2c8]
mov edx, 0xa
mov r9d, ebx
call fcn.10005c358
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.10027d5f4
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret