Function at 0x140061970
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 0x140061c30
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.1400b26f0
movsxd rax, edi
sub r12, rax
mov qword [rsp + 0x38], rax
mov rax, r12
shr rax, 4
mov qword [rsp + 0x40], rax
je 0x140061c60
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.140044c80
movdqa xmm1, xmmword [rsp + 0x60]
movups xmmword [r12 - 0x10], xmm1
cmp rsi, r12
jne 0x140061a30
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 0x140061bf6
xor ecx, ecx
test dil, 4
jne 0x140061be0
test dil, 2
jne 0x140061bc0
test dil, 1
jne 0x140061b98
mov ecx, 0x10
mov eax, 0xf
sub ecx, edi
sub eax, edi
je 0x140061b25
movabs r9, 0x1010101010101010
add rdx, qword [rsp + 0x38]
cmp eax, 8
jb 0x140061b70
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 0x140061b25
and eax, 0xfffffff8
xor edx, edx
mov ebx, edx
add edx, 8
mov qword [r11 + rbx], r9
cmp edx, eax
jb 0x140061b18
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.140044c80
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 0x140061c6e
test eax, eax
je 0x140061b25
mov byte [rdx], 0x10
test al, 2
je 0x140061b25
mov eax, eax
mov r8d, 0x1010
mov word [rdx + rax - 2], r8w
jmp 0x140061b25
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
mov ecx, 0x10
mov eax, 0xf
sub ecx, edi
sub eax, edi
jne 0x140061adb
jmp 0x140061b25
movzx r11d, word [rax + rcx]
mov word [r9 + rcx], r11w
add rcx, 2
test dil, 1
je 0x140061acb
jmp 0x140061b98
mov ecx, dword [rax]
mov dword [r9], ecx
mov ecx, 4
test dil, 2
je 0x140061ac1
jmp 0x140061bc0
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 0x140061bff
lea r9, [rdx + rax]
xor ecx, ecx
add rax, rbx
test dil, 4
je 0x140061ab7
jmp 0x140061be0
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.140052ca0
mov qword [rsp + 0x48], 0
jmp 0x140061b59
mov rsi, qword [rbp + 0x28]
lea r14, [rsp + 0x60]
jmp 0x140061a8f
mov eax, eax
mov dword [rdx], 0x10101010
mov dword [rdx + rax - 4], 0x10101010
jmp 0x140061b25