Function at 0x1400c90a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rax, r8
not rax
and eax, 0xf
mov rbp, rsp
push r15
lea rax, [r8 + rax + 1]
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x90
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x28], r9
mov qword [rsp + 0x48], rax
cmp qword [rbp + 0x30], rax
jb 0x1400c9360
mov rax, qword [rcx + 8]
mov edi, r8d
lea r13, [rsp + 0x70]
mov rbx, r8
and edi, 0xf
mov edx, 8
mov r12, rbx
movdqu xmm2, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm2
movdqu xmm3, xmmword [rax + 0x10]
mov rax, qword [rcx + 0x98]
mov rcx, r13
movaps xmmword [rsp + 0x80], xmm3
movdqu xmm4, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm4
call fcn.140206320
movsxd rax, edi
sub r12, rax
mov qword [rsp + 0x38], rax
mov rax, r12
shr rax, 4
mov qword [rsp + 0x40], rax
je 0x1400c9390
mov r12, qword [rbp + 0x28]
shl rax, 4
mov r15, qword [rbp + 0x18]
lea r14, [rsp + 0x60]
mov rsi, rax
add rsi, r12
nop dword [rax + rax]
mov edx, dword [r15]
xor edx, dword [rsp + 0x60]
mov rcx, r12
mov r8, r13
mov dword [r12], edx
mov edx, dword [r15 + 4]
add r12, 0x10
add r15, 0x10
xor edx, dword [rsp + 0x64]
mov dword [r12 - 0xc], edx
mov edx, dword [r15 - 8]
xor edx, dword [rsp + 0x68]
mov dword [r12 - 8], edx
mov edx, dword [r15 - 4]
xor edx, dword [rsp + 0x6c]
mov dword [r12 - 4], edx
mov rdx, r14
call fcn.1400458c0
movdqa xmm1, xmmword [rsp + 0x60]
movups xmmword [r12 - 0x10], xmm1
cmp rsi, r12
jne 0x1400c9160
shl qword [rsp + 0x40], 2
lea rdx, [rsp + 0x50]
and rbx, 0xfffffffffffffff0
add rbx, qword [rbp + 0x18]
mov r9, rdx
mov rax, rbx
cmp edi, 8
jae 0x1400c9326
xor ecx, ecx
test dil, 4
jne 0x1400c9310
test dil, 2
jne 0x1400c92f0
test dil, 1
jne 0x1400c92c8
mov ecx, 0x10
mov eax, 0xf
sub ecx, edi
sub eax, edi
je 0x1400c9255
movabs r9, 0x1010101010101010
add rdx, qword [rsp + 0x38]
cmp eax, 8
jb 0x1400c92a0
mov r11d, eax
mov qword [rdx], r9
mov qword [rdx + r11 - 8], r9
lea r11, [rdx + 8]
and r11, 0xfffffffffffffff8
sub rdx, r11
add eax, edx
and eax, 0xfffffff8
cmp eax, 8
jb 0x1400c9255
and eax, 0xfffffff8
xor edx, edx
mov ebx, edx
add edx, 8
mov qword [r11 + rbx], r9
cmp edx, eax
jb 0x1400c9248
mov byte [rsp + 0x5f], cl
mov rax, qword [rbp + 0x28]
mov r8, r13
mov rdx, r14
movdqa xmm0, xmmword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
mov rcx, rsi
pxor xmm0, xmmword [rsp + 0x60]
movups xmmword [rax + rdi*4], xmm0
call fcn.1400458c0
movdqa xmm5, xmmword [rsp + 0x60]
movups xmmword [rsi], xmm5
mov rax, qword [rsp + 0x48]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test al, 4
jne 0x1400c939e
test eax, eax
je 0x1400c9255
mov byte [rdx], 0x10
test al, 2
je 0x1400c9255
mov eax, eax
mov r8d, 0x1010
mov word [rdx + rax - 2], r8w
jmp 0x1400c9255
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
mov ecx, 0x10
mov eax, 0xf
sub ecx, edi
sub eax, edi
jne 0x1400c920b
jmp 0x1400c9255
movzx r11d, word [rax + rcx]
mov word [r9 + rcx], r11w
add rcx, 2
test dil, 1
je 0x1400c91fb
jmp 0x1400c92c8
mov ecx, dword [rax]
mov dword [r9], ecx
mov ecx, 4
test dil, 2
je 0x1400c91f1
jmp 0x1400c92f0
mov r11d, edi
xor eax, eax
and r11d, 0xfffffff8
mov ecx, eax
add eax, 8
mov r9, qword [rbx + rcx]
mov qword [rdx + rcx], r9
cmp eax, r11d
jb 0x1400c932f
lea r9, [rdx + rax]
xor ecx, ecx
add rax, rbx
test dil, 4
je 0x1400c91e7
jmp 0x1400c9310
lea rax, str.buf_out_size_less_than_expected_encrypt_out_size_data
mov r9d, 7
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8, str.dap_enc_aes
call fcn.14005aec0
mov qword [rsp + 0x48], 0
jmp 0x1400c9289
mov rsi, qword [rbp + 0x28]
lea r14, [rsp + 0x60]
jmp 0x1400c91bf
mov eax, eax
mov dword [rdx], 0x10101010
mov dword [rdx + rax - 4], 0x10101010
jmp 0x1400c9255