Function at 0x140017b80
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
mov r12, rcx
push rdi
push rsi
push rbx
sub rsp, 0x30
and rsp, 0xffffffffffffffe0
sub rsp, 0x150
movups xmmword [rsp + 0x150], xmm6
lea rax, [rsp + 0xd0]
movups xmmword [rsp + 0x160], xmm7
movups xmmword [rsp + 0x170], xmm8
mov rcx, qword [rbp + 0x50]
mov r14, qword [rbp + 0x30]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rbp + 0x48]
mov qword [rbp + 0x20], r8
mov r8, rax
mov qword [rbp + 0x28], r9
mov qword [rsp + 0x58], rax
call sym.aegis128l_init
cmp qword [rbp + 0x40], 0x1f
jbe 0x1400187e0
mov r13, qword [rbp + 0x38]
mov qword [rbp + 0x10], r12
mov r15d, 0x20
lea rdi, [rsp + 0x80]
lea rsi, [rsp + 0x60]
lea rbx, [rsp + 0x70]
mov r12, r13
mov r13, qword [rbp + 0x40]
nop dword [rax]
movdqu xmm7, xmmword [r12]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm8, xmmword [rsp + 0x140]
movdqu xmm6, xmmword [r12 + 0x10]
add r12, 0x20
movdqu xmm4, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x60], xmm8
movups xmmword [rsp + 0x70], xmm4
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x80]
movdqu xmm4, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x140], xmm5
movdqu xmm5, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm3, xmmword [rsp + 0x120]
movdqu xmm5, xmmword [rsp + 0x110]
movdqu xmm4, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm3
movups xmmword [rsp + 0x70], xmm5
movups xmmword [rsp + 0x130], xmm4
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x110]
movdqu xmm4, xmmword [rsp + 0x100]
movdqu xmm2, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x120], xmm2
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0x100]
movdqu xmm2, xmmword [rsp + 0xf0]
movdqu xmm3, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0x70], xmm2
movups xmmword [rsp + 0x110], xmm3
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm3, xmmword [rsp + 0xe0]
movdqu xmm2, xmmword [rsp + 0xf0]
movdqu xmm5, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm3
movups xmmword [rsp + 0x60], xmm2
movups xmmword [rsp + 0x100], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xd0]
movdqu xmm5, xmmword [rsp + 0xe0]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0xf0], xmm1
call sym.softaes_block_encrypt
mov rdx, rbx
mov r8, rsi
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x70], xmm8
movdqu xmm3, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm2
movups xmmword [rsp + 0xe0], xmm3
call sym.softaes_block_encrypt
mov rdx, r15
add r15, 0x20
movdqu xmm0, xmmword [rsp + 0x80]
pxor xmm6, xmmword [rsp + 0x110]
pxor xmm0, xmm7
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0x110], xmm6
cmp r13, r15
jae 0x140017c20
mov r12, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x40]
and ecx, 0x1f
jne 0x140018120
cmp r14, 0x1f
jbe 0x140018381
mov r13, qword [rbp + 0x28]
mov r15d, 0x20
lea rsi, [rsp + 0x60]
lea rdi, [rsp + 0x80]
lea rbx, [rsp + 0x70]
nop
movdqu xmm6, xmmword [r13 + 0x10]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0x130]
movdqu xmm7, xmmword [r13]
add r13, 0x20
movdqu xmm1, xmmword [rsp + 0x140]
movdqu xmm0, xmmword [rsp + 0xf0]
movdqu xmm3, xmmword [rsp + 0x120]
movdqu xmm8, xmmword [rsp + 0x140]
pand xmm1, xmm2
pxor xmm2, xmmword [rsp + 0xe0]
pxor xmm3, xmm0
pxor xmm1, xmm6
pand xmm0, xmmword [rsp + 0x100]
pxor xmm1, xmm3
movups xmmword [r12 + r15 - 0x10], xmm1
pxor xmm0, xmm7
movdqu xmm1, xmmword [rsp + 0x130]
pxor xmm0, xmm2
movups xmmword [r12 + r15 - 0x20], xmm0
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rsp + 0x60], xmm8
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x120]
movdqu xmm3, xmmword [rsp + 0x130]
movdqu xmm4, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm5
movups xmmword [rsp + 0x60], xmm3
movups xmmword [rsp + 0x140], xmm4
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm1, xmmword [rsp + 0x110]
movdqu xmm4, xmmword [rsp + 0x120]
movdqu xmm2, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0x130], xmm2
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm3, xmmword [rsp + 0x100]
movdqu xmm2, xmmword [rsp + 0x110]
movdqu xmm5, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm3
movups xmmword [rsp + 0x60], xmm2
movups xmmword [rsp + 0x120], xmm5
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xf0]
movdqu xmm5, xmmword [rsp + 0x100]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x110], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0xf0]
movdqu xmm3, xmmword [rsp + 0xe0]
movdqu xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm2
movups xmmword [rsp + 0x70], xmm3
movups xmmword [rsp + 0x100], xmm0
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xd0]
movdqu xmm5, xmmword [rsp + 0xe0]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0xf0], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm3, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x70], xmm8
movdqu xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm3
movups xmmword [rsp + 0xe0], xmm0
call sym.softaes_block_encrypt
mov r10, r15
add r15, 0x20
movdqu xmm2, xmmword [rsp + 0x80]
pxor xmm6, xmmword [rsp + 0x110]
pxor xmm7, xmm2
movups xmmword [rsp + 0xd0], xmm7
movups xmmword [rsp + 0x110], xmm6
cmp r14, r15
jae 0x140017e60
mov rax, r14
and eax, 0x1f
jne 0x140018390
mov rax, qword [rsp + 0x58]
mov r9, r14
mov qword [rsp + 0x20], rax
mov r8, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
call sym.aegis128l_mac
movups xmm6, xmmword [rsp + 0x150]
movups xmm7, xmmword [rsp + 0x160]
xor eax, eax
movups xmm8, xmmword [rsp + 0x170]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
pxor xmm0, xmm0
lea r8, [rsp + 0x90]
add rdx, qword [rbp + 0x38]
movups xmmword [rsp + 0x90], xmm0
mov r9, r8
mov rax, rdx
movups xmmword [rsp + 0xa0], xmm0
cmp ecx, 8
jae 0x1400187b8
xor edx, edx
test cl, 4
jne 0x140018778
test cl, 2
jne 0x140018758
and ecx, 1
jne 0x140018748
movdqu xmm8, xmmword [rsp + 0x140]
lea rsi, [rsp + 0x60]
lea rbx, [rsp + 0x70]
movdqu xmm1, xmmword [rsp + 0x130]
lea rdi, [rsp + 0x80]
mov r8, rsi
mov rdx, rbx
movdqu xmm7, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x70], xmm1
mov rcx, rdi
movdqu xmm6, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x60], xmm8
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x140], xmm1
movdqu xmm1, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x70], xmm1
movdqu xmm1, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x60], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x130], xmm1
movdqu xmm1, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x70], xmm1
movdqu xmm1, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x60], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x120], xmm1
movdqu xmm1, xmmword [rsp + 0x100]
movups xmmword [rsp + 0x70], xmm1
movdqu xmm1, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x60], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xf0]
movdqu xmm5, xmmword [rsp + 0x100]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x110], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xe0]
movdqu xmm5, xmmword [rsp + 0xf0]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x100], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xd0]
movdqu xmm5, xmmword [rsp + 0xe0]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0xf0], xmm1
call sym.softaes_block_encrypt
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x70], xmm8
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0xe0], xmm1
call sym.softaes_block_encrypt
movdqu xmm0, xmmword [rsp + 0x80]
pxor xmm6, xmmword [rsp + 0x110]
pxor xmm0, xmm7
movups xmmword [rsp + 0x110], xmm6
movups xmmword [rsp + 0xd0], xmm0
cmp r14, 0x1f
ja 0x140017e43
mov rax, r14
xor r10d, r10d
and eax, 0x1f
je 0x1400180cd
mov r9, qword [rbp + 0x28]
pxor xmm0, xmm0
lea r8, [rsp + 0x90]
movups xmmword [rsp + 0x90], xmm0
mov r11, r8
add r9, r10
movups xmmword [rsp + 0xa0], xmm0
mov rdx, r9
cmp eax, 8
jae 0x140018790
xor ecx, ecx
test al, 4
jne 0x140018730
test al, 2
jne 0x140018710
test al, 1
jne 0x140018700
movdqu xmm6, xmmword [rsp + 0xa0]
lea rdi, [rsp + 0x60]
movdqu xmm0, xmmword [rsp + 0x120]
lea rbx, [rsp + 0x80]
movdqu xmm1, xmmword [rsp + 0x130]
mov r8, rdi
pand xmm1, xmmword [rsp + 0x140]
lea rsi, [rsp + 0x70]
pxor xmm0, xmm6
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x48], r10
pxor xmm1, xmmword [rsp + 0xf0]
mov qword [rsp + 0x50], rax
movdqu xmm7, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0xe0]
movdqu xmm8, xmmword [rsp + 0x140]
pxor xmm1, xmm0
movdqu xmm5, xmmword [rsp + 0x130]
movdqu xmm0, xmmword [rsp + 0xf0]
pxor xmm2, xmm7
pand xmm0, xmmword [rsp + 0x100]
movups xmmword [rsp + 0xc0], xmm1
pxor xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x70], xmm5
movups xmmword [rsp + 0x60], xmm8
pxor xmm0, xmm2
movups xmmword [rsp + 0xb0], xmm0
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm4, xmmword [rsp + 0x120]
movdqu xmm5, xmmword [rsp + 0x130]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x140], xmm1
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm4, xmmword [rsp + 0x110]
movdqu xmm5, xmmword [rsp + 0x120]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x130], xmm1
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm4, xmmword [rsp + 0x100]
movdqu xmm5, xmmword [rsp + 0x110]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x120], xmm1
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm4, xmmword [rsp + 0xf0]
movdqu xmm5, xmmword [rsp + 0x100]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x110], xmm1
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm4, xmmword [rsp + 0xe0]
movdqu xmm5, xmmword [rsp + 0xf0]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x100], xmm1
call sym.softaes_block_encrypt
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
movdqu xmm5, xmmword [rsp + 0xe0]
movdqu xmm4, xmmword [rsp + 0xd0]
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x70], xmm4
movups xmmword [rsp + 0xf0], xmm1
call sym.softaes_block_encrypt
mov rdx, rsi
mov r8, rdi
mov rcx, rbx
movdqu xmm4, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x70], xmm8
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0xe0], xmm1
call sym.softaes_block_encrypt
mov r10, qword [rsp + 0x48]
movdqu xmm5, xmmword [rsp + 0x80]
lea rdx, [rsp + 0xb0]
pxor xmm6, xmmword [rsp + 0x110]
mov rax, qword [rsp + 0x50]
pxor xmm7, xmm5
add r10, r12
movups xmmword [rsp + 0xd0], xmm7
movups xmmword [rsp + 0x110], xmm6
cmp eax, 8
jb 0x1400186c8
mov rcx, qword [rsp + 0xb0]
lea r8, [r10 + 8]
and r8, 0xfffffffffffffff8
mov qword [r10], rcx
mov rcx, qword [rdx + rax - 8]
mov qword [rax + r10 - 8], rcx
sub r10, r8
mov rcx, rdx
add eax, r10d
sub rcx, r10
and eax, 0xfffffff8
cmp eax, 8
jb 0x1400180cd
and eax, 0xfffffff8
xor edx, edx
mov r9d, edx
add edx, 8
mov r10, qword [rcx + r9]
mov qword [r8 + r9], r10
cmp edx, eax
jb 0x1400186ad
jmp 0x1400180cd
test al, 4
jne 0x1400187e7
test eax, eax
je 0x1400180cd
movzx ecx, byte [rsp + 0xb0]
mov byte [r10], cl
test al, 2
je 0x1400180cd
movzx edx, word [rdx + rax - 2]
mov word [rax + r10 - 2], dx
jmp 0x1400180cd
movzx edx, byte [rdx + rcx]
mov byte [r11 + rcx], dl
jmp 0x1400183dc
movzx r8d, word [rdx + rcx]
mov word [r11 + rcx], r8w
add rcx, 2
test al, 1
je 0x1400183dc
jmp 0x140018700
mov ecx, dword [rdx]
mov dword [r11], ecx
mov ecx, 4
test al, 2
je 0x1400183d4
jmp 0x140018710
movzx eax, byte [rax + rdx]
mov byte [r9 + rdx], al
jmp 0x14001816c
movzx r8d, word [rax + rdx]
mov word [r9 + rdx], r8w
add rdx, 2
and ecx, 1
je 0x14001816c
jmp 0x140018748
mov edx, dword [rax]
mov dword [r9], edx
mov edx, 4
test cl, 2
je 0x140018163
jmp 0x140018758
mov ebx, eax
xor edx, edx
and ebx, 0xfffffff8
mov ecx, edx
add edx, 8
mov r11, qword [r9 + rcx]
mov qword [r8 + rcx], r11
cmp edx, ebx
jb 0x140018797
lea r11, [r8 + rdx]
add rdx, r9
jmp 0x1400183c2
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 0x1400187c1
lea r9, [r8 + rax]
add rax, rdx
jmp 0x14001814f
xor edx, edx
jmp 0x140017e2c
mov ecx, dword [rsp + 0xb0]
mov dword [r10], ecx
mov edx, dword [rdx + rax - 4]
mov dword [rax + r10 - 4], edx
jmp 0x1400180cd