Function at 0x140019e50
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
mov r14, rcx
push r13
mov r13, r9
push r12
push rdi
push rsi
push rbx
sub rsp, 0x20
and rsp, 0xfffffffffffffff0
sub rsp, 0xf0
movups xmmword [rsp + 0xf0], xmm6
lea rax, [rsp + 0x90]
movups xmmword [rsp + 0x100], xmm8
mov r12, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rbp + 0x48]
mov qword [rbp + 0x20], r8
mov r8, rax
mov qword [rsp + 0x38], rax
call sym.aegis256_init
cmp r12, 0xf
jbe 0x14001a7c0
mov r15d, 0x10
mov qword [rbp + 0x28], r13
lea rdi, [rsp + 0x60]
lea rsi, [rsp + 0x40]
mov r13, r15
mov r15, qword [rbp + 0x38]
lea rbx, [rsp + 0x50]
nop dword [rax + rax]
movdqu xmm6, xmmword [r15 + r13 - 0x10]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0xd0]
movdqu xmm8, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0x40], xmm8
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0xd0]
movdqu xmm3, xmmword [rsp + 0x60]
movdqu xmm4, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x40], xmm5
movups xmmword [rsp + 0x50], xmm4
movups xmmword [rsp + 0xe0], xmm3
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xc0]
movdqu xmm2, xmmword [rsp + 0x60]
movdqu xmm3, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x40], xmm4
movups xmmword [rsp + 0x50], xmm3
movups xmmword [rsp + 0xd0], xmm2
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0xa0]
movdqu xmm5, xmmword [rsp + 0x60]
movdqu xmm3, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0xc0], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x90]
movdqu xmm4, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x50], xmm5
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0xb0], xmm4
call sym.softaes_block_encrypt
mov rdx, rbx
mov r8, rsi
mov rcx, rdi
movdqu xmm3, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x50], xmm8
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0xa0], xmm2
call sym.softaes_block_encrypt
movdqu xmm0, xmmword [rsp + 0x60]
mov rdx, r13
add r13, 0x10
pxor xmm0, xmm6
movups xmmword [rsp + 0x90], xmm0
cmp r12, r13
jae 0x140019ee0
mov r13, qword [rbp + 0x28]
mov rcx, r12
and ecx, 0xf
jne 0x14001a278
cmp qword [rbp + 0x30], 0xf
jbe 0x14001a424
mov r15d, 0x10
mov qword [rbp + 0x40], r12
lea rdi, [rsp + 0x60]
lea rsi, [rsp + 0x40]
mov r12, r15
mov r15, qword [rbp + 0x30]
lea rbx, [rsp + 0x50]
movdqu xmm6, xmmword [r13 + r12 - 0x10]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm0, xmmword [rsp + 0xc0]
movdqu xmm1, xmmword [rsp + 0xd0]
pand xmm0, xmmword [rsp + 0xb0]
pxor xmm1, xmmword [rsp + 0xe0]
pxor xmm0, xmmword [rsp + 0xa0]
movdqu xmm4, xmmword [rsp + 0xd0]
movdqu xmm8, xmmword [rsp + 0xe0]
pxor xmm0, xmm1
pxor xmm0, xmm6
movups xmmword [r14 + r12 - 0x10], xmm0
movups xmmword [rsp + 0x50], xmm4
movups xmmword [rsp + 0x40], xmm8
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm1, xmmword [rsp + 0xc0]
movdqu xmm5, xmmword [rsp + 0x60]
movdqu xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x40], xmm2
movups xmmword [rsp + 0xe0], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xb0]
movdqu xmm3, xmmword [rsp + 0x60]
movdqu xmm5, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x50], xmm4
movups xmmword [rsp + 0x40], xmm5
movups xmmword [rsp + 0xd0], xmm3
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0xa0]
movdqu xmm1, xmmword [rsp + 0x60]
movdqu xmm3, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0xc0], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x90]
movdqu xmm4, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x50], xmm5
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0xb0], xmm4
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm3, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x50], xmm8
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0xa0], xmm2
call sym.softaes_block_encrypt
movdqu xmm4, xmmword [rsp + 0x60]
mov rax, r12
add r12, 0x10
pxor xmm6, xmm4
movups xmmword [rsp + 0x90], xmm6
cmp r15, r12
jae 0x14001a080
mov r15, qword [rbp + 0x30]
mov r12, qword [rbp + 0x40]
and r15d, 0xf
jne 0x14001a438
mov rax, qword [rsp + 0x38]
mov r8, r12
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
call sym.aegis256_mac
movups xmm6, xmmword [rsp + 0xf0]
xor eax, eax
movups xmm8, xmmword [rsp + 0x100]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [rsp + 0x70]
pxor xmm0, xmm0
add rdx, qword [rbp + 0x38]
movups xmmword [rsp + 0x70], xmm0
mov r9, r8
mov rax, rdx
cmp ecx, 8
jae 0x14001a790
xor edx, edx
test cl, 4
jne 0x14001a750
test cl, 2
jne 0x14001a730
and ecx, 1
jne 0x14001a720
lea rdi, [rsp + 0x60]
lea rsi, [rsp + 0x40]
movdqu xmm8, xmmword [rsp + 0xe0]
movdqu xmm5, xmmword [rsp + 0xd0]
lea rbx, [rsp + 0x50]
mov r8, rsi
mov rcx, rdi
movdqu xmm6, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x50], xmm5
mov rdx, rbx
movups xmmword [rsp + 0x40], xmm8
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xe0], xmm5
movdqu xmm5, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x50], xmm5
movdqu xmm5, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xd0], xmm5
movdqu xmm5, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x50], xmm5
movdqu xmm5, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xc0], xmm5
movdqu xmm5, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x50], xmm5
movdqu xmm5, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xb0], xmm5
movdqu xmm5, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x50], xmm5
movdqu xmm5, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x50], xmm8
movups xmmword [rsp + 0xa0], xmm5
movdqu xmm5, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
movdqu xmm0, xmmword [rsp + 0x60]
cmp qword [rbp + 0x30], 0xf
pxor xmm0, xmm6
movups xmmword [rsp + 0x90], xmm0
ja 0x14001a060
mov r15, qword [rbp + 0x30]
xor eax, eax
and r15d, 0xf
je 0x14001a232
nop dword [rax]
lea r8, [rsp + 0x70]
pxor xmm0, xmm0
add r13, rax
movups xmmword [rsp + 0x70], xmm0
mov r9, r8
mov rdx, r13
cmp r15d, 8
jae 0x14001a768
xor ecx, ecx
test r15b, 4
jne 0x14001a700
test r15b, 2
jne 0x14001a6e0
test r15b, 1
jne 0x14001a6d0
movdqu xmm6, xmmword [rsp + 0x70]
lea rbx, [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0xe0]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0x50]
mov r8, rdi
mov rcx, rbx
mov qword [rsp + 0x30], rax
movdqu xmm0, xmmword [rsp + 0xa0]
pxor xmm1, xmm6
mov rdx, rsi
pxor xmm0, xmmword [rsp + 0xd0]
movdqu xmm8, xmmword [rsp + 0xe0]
movdqu xmm5, xmmword [rsp + 0xd0]
pxor xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xc0]
pand xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x50], xmm5
pxor xmm0, xmm1
movups xmmword [rsp + 0x40], xmm8
movups xmmword [rsp + 0x80], xmm0
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xe0], xmm5
movdqu xmm5, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x50], xmm5
movdqu xmm5, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm1, xmmword [rsp + 0xb0]
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xd0], xmm5
movdqu xmm5, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm5, xmmword [rsp + 0xa0]
movdqu xmm1, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xc0], xmm1
movdqu xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x50], xmm5
movups xmmword [rsp + 0x40], xmm1
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmm5, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xb0], xmm5
movdqu xmm5, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov rdx, rsi
mov r8, rdi
mov rcx, rbx
movdqu xmm5, xmmword [rsp + 0x90]
movdqu xmm1, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x50], xmm8
movups xmmword [rsp + 0x40], xmm5
movups xmmword [rsp + 0xa0], xmm1
call sym.softaes_block_encrypt
movdqu xmm1, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
lea rdx, [rsp + 0x80]
pxor xmm6, xmm1
add rax, r14
movups xmmword [rsp + 0x90], xmm6
cmp r15d, 8
jb 0x14001a690
mov rcx, qword [rsp + 0x80]
mov qword [rax], rcx
mov rcx, qword [rdx + r15 - 8]
mov qword [r15 + rax - 8], rcx
lea rcx, [rax + 8]
and rcx, 0xfffffffffffffff8
sub rax, rcx
add r15d, eax
sub rdx, rax
and r15d, 0xfffffff8
cmp r15d, 8
jb 0x14001a232
and r15d, 0xfffffff8
xor eax, eax
mov r8d, eax
add eax, 8
mov r9, qword [rdx + r8]
mov qword [rcx + r8], r9
cmp eax, r15d
jb 0x14001a672
jmp 0x14001a232
test r15b, 4
jne 0x14001a7c7
test r15d, r15d
je 0x14001a232
movzx ecx, byte [rsp + 0x80]
mov byte [rax], cl
test r15b, 2
je 0x14001a232
movzx edx, word [rdx + r15 - 2]
mov word [r15 + rax - 2], dx
jmp 0x14001a232
movzx edx, byte [rdx + rcx]
mov byte [r9 + rcx], dl
jmp 0x14001a479
movzx r8d, word [rdx + rcx]
mov word [r9 + rcx], r8w
add rcx, 2
test r15b, 1
je 0x14001a479
jmp 0x14001a6d0
mov ecx, dword [rdx]
mov dword [r9], ecx
mov ecx, 4
test r15b, 2
je 0x14001a46f
jmp 0x14001a6e0
movzx eax, byte [rax + rdx]
mov byte [r9 + rdx], al
jmp 0x14001a2b6
movzx r8d, word [rax + rdx]
mov word [r9 + rdx], r8w
add rdx, 2
and ecx, 1
je 0x14001a2b6
jmp 0x14001a720
mov edx, dword [rax]
mov dword [r9], edx
mov edx, 4
test cl, 2
je 0x14001a2ad
jmp 0x14001a730
mov r10d, r15d
xor edx, edx
and r10d, 0xfffffff8
mov ecx, edx
add edx, 8
mov r9, qword [r13 + rcx]
mov qword [r8 + rcx], r9
cmp edx, r10d
jb 0x14001a771
lea r9, [r8 + rdx]
add rdx, r13
jmp 0x14001a459
mov r11d, ecx
xor eax, eax
and r11d, 0xfffffff8
mov r9d, eax
add eax, 8
mov r10, qword [rdx + r9]
mov qword [r8 + r9], r10
cmp eax, r11d
jb 0x14001a799
lea r9, [r8 + rax]
add rax, rdx
jmp 0x14001a299
xor edx, edx
jmp 0x14001a049
mov ecx, dword [rsp + 0x80]
mov dword [rax], ecx
mov edx, dword [rdx + r15 - 4]
mov dword [r15 + rax - 4], edx
jmp 0x14001a232