Function at 0x1400791fc
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 rbx, rdx
mov dword [rsp + 4], r11d
mov r9, rcx
test al, al
jne 0x14007948b
test r8, r8
je 0x14007923d
movzx edi, word [r8 + 8]
jmp 0x14007923f
xor edi, edi
movzx eax, byte [rcx + 0x11]
mov bpl, 8
mov r8d, 1
cmp al, bpl
jae 0x1400793a9
mov ecx, eax
sub ecx, r8d
je 0x140079344
sub ecx, r8d
je 0x1400792d9
cmp ecx, 2
jne 0x14007939a
lea eax, [r11 - 1]
and edi, 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 edi, edi, 0x11
add r14, rbx
add r12, r11
mov r15, r11
test r11d, r11d
je 0x14007939a
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 0x14007929f
jmp 0x14007939a
lea eax, [r11 - 1]
and edi, 3
mov r14d, eax
lea r15, [rdx - 1]
and eax, 3
shr r14, 2
add eax, eax
imul edi, edi, 0x55
mov esi, 6
add r14, rbx
sub esi, eax
add r15, r11
mov r12, r11
test r11d, r11d
je 0x14007939a
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 0x140079337
xor esi, esi
sub r14, r8
jmp 0x14007933a
add esi, 2
sub r15, r8
sub r12, r8
jne 0x14007930c
jmp 0x14007939a
lea r14, [rdx - 1]
and edi, r8d
lea eax, [r11 - 1]
imul edi, edi, 0xff
mov esi, eax
mov edx, 7
shr rsi, 3
and eax, 7
add rsi, rbx
add r14, r11
sub edx, eax
mov r15, r11
test r11d, r11d
je 0x14007939a
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 0x14007938f
xor edx, edx
sub rsi, r8
jmp 0x140079392
add edx, r8d
sub r14, r8
sub r15, r8
jne 0x140079373
mov byte [r9 + 0x11], bpl
mov al, bpl
mov byte [r9 + 0x13], bpl
mov qword [r9 + 8], r11
test r10, r10
je 0x140079652
cmp al, bpl
jne 0x1400793f5
lea r10, [rbx - 1]
movzx edi, dil
lea rbx, [rbx + r11*2]
add r10, r11
dec rbx
mov rdx, r11
test r11d, r11d
je 0x140079470
movzx eax, byte [r10]
sub eax, edi
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 rdx, r8
jne 0x1400793d5
jmp 0x140079470
cmp al, 0x10
jne 0x140079470
mov rax, qword [r9 + 8]
lea rdx, [rbx - 1]
mov esi, edi
movzx r12d, dil
shr esi, 8
lea rcx, [rbx - 1]
add rdx, rax
lea rcx, [rcx + rax*2]
test r11d, r11d
je 0x140079470
mov r15, r11
or r10, 0xffffffffffffffff
lea r14, [rdx - 1]
mov r13, rcx
movzx eax, byte [r14]
cmp eax, esi
jne 0x14007943f
movzx eax, byte [rdx]
cmp eax, r12d
jne 0x14007943f
sub rcx, r8
xor al, al
jmp 0x140079444
sub rcx, r8
mov al, 0xff
mov byte [r13], al
mov rbx, rcx
mov byte [rcx], al
mov rdi, r10
mov al, byte [rdx]
mov rdx, r14
mov byte [rcx + r10], al
sub rdx, r8
mov al, byte [r14]
lea rcx, [r10 - 1]
add rcx, rbx
mov byte [rcx], al
sub rcx, r8
sub r15, r8
jne 0x140079421
mov al, byte [r9 + 0x11]
add al, al
mov byte [r9 + 0x10], 4
movzx ecx, al
mov rax, r11
mov byte [r9 + 0x12], 2
jmp 0x14007962f
cmp al, 2
jne 0x140079652
test r10, r10
je 0x140079652
mov bpl, 8
cmp byte [rcx + 0x11], bpl
jne 0x140079529
mov rcx, qword [rcx + 8]
dec rdx
mov r12b, byte [r8 + 2]
dec rcx
mov r14b, byte [r8 + 4]
add rcx, rbx
mov r15b, byte [r8 + 6]
mov rsi, r11
lea rdx, [rdx + r11*4]
test r11d, r11d
je 0x140079618
mov r8d, 1
or r10, 0xffffffffffffffff
cmp byte [rcx - 2], r12b
jne 0x1400794f1
cmp byte [rcx - 1], r14b
jne 0x1400794f1
cmp byte [rcx], r15b
jne 0x1400794f1
xor al, al
jmp 0x1400794f3
mov al, 0xff
mov byte [rdx], al
mov rbx, rdx
mov al, byte [rcx]
mov rdi, r10
mov byte [r10 + rdx], al
sub rcx, r8
lea rdx, [rdx - 1]
add rdx, r10
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 rsi, r8
jne 0x1400794dc
jmp 0x140079618
cmp byte [rcx + 0x11], 0x10
jne 0x140079618
mov cl, byte [r8 + 6]
dec rdx
mov r14b, byte [r8 + 3]
mov rsi, r11
mov r15b, byte [r8 + 5]
mov r12b, byte [r8 + 7]
mov r13b, byte [r8 + 2]
lea rdx, [rdx + r11*8]
mov al, byte [r8 + 4]
mov byte [rsp], cl
mov rcx, qword [r9 + 8]
dec rcx
add rcx, rbx
test r11d, r11d
je 0x140079618
mov r11b, byte [rsp]
mov r8d, 1
or r10, 0xffffffffffffffff
mov bpl, al
mov qword [rsp + 0x68], rdx
cmp byte [rcx - 5], r14b
jne 0x1400795ab
cmp byte [rcx - 4], r13b
jne 0x1400795ab
cmp byte [rcx - 3], r15b
jne 0x1400795ab
cmp byte [rcx - 2], bpl
jne 0x1400795ab
cmp byte [rcx - 1], r12b
jne 0x1400795ab
cmp byte [rcx], r11b
jne 0x1400795ab
sub rdx, r8
xor al, al
jmp 0x1400795b0
sub rdx, r8
mov al, 0xff
mov r9, qword [rsp + 0x68]
mov rbx, rdx
mov rdi, r10
mov byte [r9], al
mov byte [rdx], al
mov al, byte [rcx]
sub rcx, r8
mov byte [r10 + rdx], al
lea rdx, [rdx - 1]
add rdx, r10
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
mov al, byte [rcx]
sub rcx, r8
mov byte [rdx], al
sub rdx, r8
sub rsi, r8
jne 0x14007957c
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 eax, r11d
mov byte [r9 + 0x10], 6
mov byte [r9 + 0x12], 4
mov byte [r9 + 0x13], cl
cmp cl, bpl
jb 0x140079642
shr rcx, 3
imul rcx, rax
jmp 0x14007964e
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