Function at 0x1400b3f94
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
mov al, byte [rcx + 0x10]
mov r10, r8
mov r11d, dword [rcx]
mov rdi, rdx
mov dword [rsp + 4], r11d
mov r9, rcx
test al, al
jne 0x1400b4242
test r8, r8
je 0x1400b3fd5
movzx ebx, word [r8 + 8]
jmp 0x1400b3fd7
xor ebx, ebx
movzx eax, byte [rcx + 0x11]
mov bpl, 8
mov r8d, 1
cmp al, bpl
jae 0x1400b4146
mov ecx, eax
sub ecx, r8d
je 0x1400b40dc
sub ecx, r8d
je 0x1400b4071
cmp ecx, 2
jne 0x1400b4132
lea eax, [r11 - 1]
and ebx, 0xf
mov r14d, eax
lea r12, [rdx - 1]
and eax, r8d
shr r14, 1
shl eax, 2
lea esi, [rcx + 2]
sub esi, eax
imul ebx, ebx, 0x11
add r14, rdi
add r12, r11
mov r15, r11
test r11d, r11d
je 0x1400b4132
mov dl, byte [r14]
mov cl, sil
shr dl, cl
mov al, dl
shl dl, 4
and al, 0xf
xor al, dl
mov byte [r12], al
sub r12, r8
cmp esi, 4
lea rax, [r14 - 1]
cmovne rax, r14
sub esi, 4
neg esi
mov r14, rax
sbb esi, esi
and esi, 4
sub r15, r8
jne 0x1400b4037
jmp 0x1400b4132
lea eax, [r11 - 1]
and ebx, 3
mov r14d, eax
lea r15, [rdx - 1]
and eax, 3
shr r14, 2
add eax, eax
imul ebx, ebx, 0x55
mov esi, 6
add r14, rdi
sub esi, eax
add r15, r11
mov r12, r11
test r11d, r11d
je 0x1400b4132
mov dl, byte [r14]
mov cl, sil
shr dl, cl
and dl, 3
mov al, dl
shl al, 2
or al, dl
shl al, 2
or al, dl
shl al, 2
or al, dl
mov byte [r15], al
cmp esi, 6
jne 0x1400b40cf
xor esi, esi
sub r14, r8
jmp 0x1400b40d2
add esi, 2
sub r15, r8
sub r12, r8
jne 0x1400b40a4
jmp 0x1400b4132
lea r14, [rdx - 1]
and ebx, r8d
lea eax, [r11 - 1]
imul ebx, ebx, 0xff
mov esi, eax
mov edx, 7
shr rsi, 3
and eax, 7
add rsi, rdi
add r14, r11
sub edx, eax
mov r15, r11
test r11d, r11d
je 0x1400b4132
mov al, byte [rsi]
mov cl, dl
shr al, cl
and al, r8b
neg al
sbb al, al
mov byte [r14], al
cmp edx, 7
jne 0x1400b4127
xor edx, edx
sub rsi, r8
jmp 0x1400b412a
add edx, r8d
sub r14, r8
sub r15, r8
jne 0x1400b410b
mov rdx, r11
mov byte [r9 + 0x11], bpl
mov qword [r9 + 8], rdx
mov al, bpl
mov byte [r9 + 0x13], bpl
jmp 0x1400b4149
mov rdx, r11
test r10, r10
je 0x1400b4429
cmp al, bpl
jne 0x1400b4195
movzx esi, bl
lea r10, [rdi - 1]
add r10, rdx
lea rbx, [rdi - 1]
lea rbx, [rbx + rdx*2]
test r11d, r11d
je 0x1400b4210
mov r11, rdx
movzx eax, byte [r10]
sub eax, esi
neg eax
sbb al, al
mov byte [rbx], al
lea rbx, [rbx - 2]
mov al, byte [r10]
sub r10, r8
mov byte [rbx + 1], al
sub r11, r8
jne 0x1400b4175
jmp 0x1400b4210
cmp al, 0x10
jne 0x1400b4210
mov rax, qword [r9 + 8]
lea rcx, [rdi - 1]
mov esi, ebx
movzx r13d, bl
lea rbx, [rdi - 1]
shr esi, 8
add rbx, rax
lea rcx, [rcx + rax*2]
test r11d, r11d
je 0x1400b4210
mov r15, rdx
or r10, 0xffffffffffffffff
lea r14, [rbx - 1]
mov r12, rcx
movzx eax, byte [r14]
cmp eax, esi
jne 0x1400b41df
movzx eax, byte [rbx]
cmp eax, r13d
jne 0x1400b41df
sub rcx, r8
xor al, al
jmp 0x1400b41e4
sub rcx, r8
mov al, 0xff
mov byte [r12], al
mov r11, rcx
mov byte [rcx], al
mov rdi, r10
mov al, byte [rbx]
mov rbx, r14
mov byte [r10 + rcx], al
sub rbx, r8
mov al, byte [r14]
lea rcx, [rcx - 1]
add rcx, r10
mov byte [rcx], al
sub rcx, r8
sub r15, r8
jne 0x1400b41c1
mov al, byte [r9 + 0x11]
add al, al
mov byte [r9 + 0x10], 4
movzx ecx, al
mov byte [r9 + 0x12], 2
mov byte [r9 + 0x13], cl
cmp cl, bpl
jb 0x1400b4239
shr rcx, 3
imul rcx, rdx
jmp 0x1400b4425
imul rcx, rdx
jmp 0x1400b441d
cmp al, 2
jne 0x1400b4429
test r10, r10
je 0x1400b4429
mov bpl, 8
cmp byte [rcx + 0x11], bpl
jne 0x1400b42e7
mov rcx, qword [rcx + 8]
dec rdx
mov r15b, byte [r8 + 2]
dec rcx
mov r13b, byte [r8 + 4]
add rcx, rdi
mov r12b, byte [r8 + 6]
mov r14, r11
lea rdx, [rdx + r11*4]
test r11d, r11d
je 0x1400b43ef
mov r8d, 1
or r10, 0xffffffffffffffff
cmp byte [rcx - 2], r15b
jne 0x1400b42ab
lea rbx, [rcx - 1]
cmp byte [rbx], r13b
jne 0x1400b42ab
cmp byte [rcx], r12b
jne 0x1400b42ab
xor al, al
jmp 0x1400b42b1
mov al, 0xff
lea rbx, [rcx - 1]
mov byte [rdx], al
mov rdi, rdx
mov al, byte [rcx]
mov rsi, r10
mov byte [r10 + rdx], al
mov rcx, rbx
mov al, byte [rbx]
lea rdx, [rdx - 1]
add rdx, r10
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
mov al, byte [rcx]
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
sub r14, r8
jne 0x1400b4293
jmp 0x1400b43ef
cmp byte [rcx + 0x11], 0x10
jne 0x1400b43ef
mov cl, byte [r8 + 6]
dec rdx
mov al, byte [r8 + 7]
mov r14, r11
mov r15b, byte [r8 + 3]
mov r12b, byte [r8 + 5]
mov r13b, byte [r8 + 2]
lea rdx, [rdx + r11*8]
mov byte [rsp], cl
mov rcx, qword [r9 + 8]
dec rcx
mov byte [rsp + 1], al
mov al, byte [r8 + 4]
add rcx, rdi
mov byte [rsp + 0x68], al
test r11d, r11d
je 0x1400b43ef
mov r11b, byte [rsp]
mov r8d, 1
mov r9b, byte [rsp + 1]
or r10, 0xffffffffffffffff
mov bpl, al
mov qword [rsp + 8], rdx
cmp byte [rcx - 5], r15b
jne 0x1400b4379
cmp byte [rcx - 4], r13b
jne 0x1400b4379
cmp byte [rcx - 3], r12b
jne 0x1400b4379
cmp byte [rcx - 2], bpl
jne 0x1400b4379
lea rbx, [rcx - 1]
cmp byte [rbx], r9b
jne 0x1400b4379
cmp byte [rcx], r11b
jne 0x1400b4379
sub rdx, r8
xor al, al
jmp 0x1400b4382
sub rdx, r8
lea rbx, [rcx - 1]
mov al, 0xff
mov rbp, qword [rsp + 8]
mov rdi, rdx
mov rsi, r10
mov byte [rbp], al
mov bpl, byte [rsp + 0x68]
mov byte [rdx], al
mov al, byte [rcx]
mov rcx, rbx
mov byte [r10 + rdx], al
sub rcx, r8
mov al, byte [rbx]
lea rdx, [rdx - 1]
add rdx, r10
mov byte [rdx], al
sub rdx, r8
mov al, byte [rcx]
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
mov al, byte [rcx]
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
mov al, byte [rcx]
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
mov al, byte [rcx]
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
sub r14, r8
jne 0x1400b4347
mov r9, qword [rsp + 0x50]
mov bpl, 8
mov r11d, dword [rsp + 4]
mov al, byte [r9 + 0x11]
shl al, 2
movzx ecx, al
mov byte [r9 + 0x10], 6
mov byte [r9 + 0x12], 4
mov byte [r9 + 0x13], cl
mov eax, r11d
cmp cl, bpl
jb 0x1400b4419
shr rcx, 3
imul rcx, rax
jmp 0x1400b4425
imul rcx, rax
add rcx, 7
shr rcx, 3
mov qword [r9 + 8], rcx
mov rbx, qword [rsp + 0x58]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret