Function at 0x1400302e0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
push rbp
mov r11, rcx
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
mov rdi, r9
push rsi
mov rsi, r8
push rbx
mov rbx, rdx
sub rsp, 0x30
and rsp, 0xfffffffffffffff0
sub rsp, 0xb0
vmovups xmmword [rsp + 0xb0], xmm6
lea r8, [rsp + 0x50]
vmovups xmmword [rsp + 0xc0], xmm7
vmovups xmmword [rsp + 0xd0], xmm8
mov r10, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x50]
mov r9, qword [rbp + 0x30]
mov r12, qword [rbp + 0x38]
call sym.aegis256_init_1
cmp r10, 0xf
jbe 0x140030840
vmovdqu xmm5, xmmword [rsp + 0xa0]
vmovdqu xmm2, xmmword [rsp + 0x70]
mov eax, 0x10
vmovdqu xmm4, xmmword [rsp + 0x90]
vmovdqu xmm1, xmmword [rsp + 0x60]
vmovdqu xmm3, xmmword [rsp + 0x80]
vmovdqu xmm0, xmmword [rsp + 0x50]
nop
vmovdqu xmm6, xmm5
mov rdx, rax
vaesenc xmm5, xmm4, xmm5
vaesenc xmm4, xmm3, xmm4
vaesenc xmm3, xmm2, xmm3
vaesenc xmm2, xmm1, xmm2
vaesenc xmm1, xmm0, xmm1
vaesenc xmm0, xmm6, xmm0
vpxor xmm0, xmm0, xmmword [r12 + rax - 0x10]
lea rax, [rax + 0x10]
cmp r10, rax
jae 0x140030380
vmovdqu xmmword [rsp + 0xa0], xmm5
vmovdqu xmmword [rsp + 0x90], xmm4
vmovdqu xmmword [rsp + 0x80], xmm3
vmovdqu xmmword [rsp + 0x70], xmm2
vmovdqu xmmword [rsp + 0x60], xmm1
vmovdqu xmmword [rsp + 0x50], xmm0
mov rcx, r10
and ecx, 0xf
jne 0x140030500
cmp r9, 0xf
jbe 0x1400305d4
vmovdqu xmm6, xmmword [rsp + 0xa0]
vmovdqu xmm2, xmmword [rsp + 0x60]
mov eax, 0x10
vmovdqu xmm5, xmmword [rsp + 0x90]
vmovdqu xmm3, xmmword [rsp + 0x70]
vmovdqu xmm4, xmmword [rsp + 0x80]
vmovdqu xmm1, xmmword [rsp + 0x50]
nop word [rax + rax]
vmovdqu xmm7, xmmword [rdi + rax - 0x10]
vpand xmm0, xmm3, xmm4
vpxor xmm8, xmm6, xmm5
mov rdx, rax
vpxor xmm0, xmm0, xmm7
vpxor xmm0, xmm0, xmm8
vpxor xmm0, xmm0, xmm2
vmovdqu xmmword [r11 + rax - 0x10], xmm0
vmovdqu xmm0, xmm6
lea rax, [rax + 0x10]
vaesenc xmm6, xmm5, xmm6
vaesenc xmm5, xmm4, xmm5
vaesenc xmm4, xmm3, xmm4
vaesenc xmm3, xmm2, xmm3
vaesenc xmm2, xmm1, xmm2
vaesenc xmm1, xmm0, xmm1
vpxor xmm1, xmm1, xmm7
cmp r9, rax
jae 0x140030430
mov rax, r9
vmovdqu xmmword [rsp + 0x70], xmm3
vmovdqu xmmword [rsp + 0xa0], xmm6
vmovdqu xmmword [rsp + 0x90], xmm5
vmovdqu xmmword [rsp + 0x80], xmm4
vmovdqu xmmword [rsp + 0x60], xmm2
vmovdqu xmmword [rsp + 0x50], xmm1
and eax, 0xf
jne 0x1400305e8
mov qword [rsp + 0x20], r8
mov rdx, rsi
mov rcx, rbx
mov r8, r10
call sym.aegis256_mac_1
xor eax, eax
vmovups xmm6, xmmword [rsp + 0xb0]
vmovups xmm7, xmmword [rsp + 0xc0]
vmovups xmm8, xmmword [rsp + 0xd0]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add rdx, r12
lea r13, [rsp + 0x30]
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x30], xmm0
mov r12, r13
mov rax, rdx
cmp ecx, 8
jae 0x140030810
xor edx, edx
test cl, 4
jne 0x1400307c8
test cl, 2
jne 0x1400307a8
and ecx, 1
jne 0x140030798
vmovdqu xmm0, xmmword [rsp + 0xa0]
vmovdqu xmm7, xmmword [rsp + 0x90]
vaesenc xmm1, xmm7, xmm0
vmovdqu xmm7, xmmword [rsp + 0x80]
vmovdqu xmmword [rsp + 0xa0], xmm1
vaesenc xmm1, xmm7, xmmword [rsp + 0x90]
vmovdqu xmm7, xmmword [rsp + 0x70]
vmovdqu xmmword [rsp + 0x90], xmm1
vaesenc xmm1, xmm7, xmmword [rsp + 0x80]
vmovdqu xmm7, xmmword [rsp + 0x60]
vmovdqu xmmword [rsp + 0x80], xmm1
vaesenc xmm1, xmm7, xmmword [rsp + 0x70]
vmovdqu xmm7, xmmword [rsp + 0x50]
vmovdqu xmmword [rsp + 0x70], xmm1
vaesenc xmm0, xmm0, xmm7
vpxor xmm0, xmm0, xmmword [rsp + 0x30]
vaesenc xmm1, xmm7, xmmword [rsp + 0x60]
vmovdqu xmmword [rsp + 0x60], xmm1
vmovdqu xmmword [rsp + 0x50], xmm0
cmp r9, 0xf
ja 0x1400303f8
mov rax, r9
xor edx, edx
and eax, 0xf
je 0x1400304bd
nop word [rax + rax]
lea r13, [rsp + 0x30]
vpxor xmm0, xmm0, xmm0
add rdi, rdx
vmovdqu xmmword [rsp + 0x30], xmm0
mov r12, r13
mov rcx, rdi
cmp eax, 8
jae 0x1400307e0
xor edi, edi
test al, 4
jne 0x140030780
test al, 2
jne 0x140030760
test al, 1
jne 0x140030750
vmovdqu xmm1, xmmword [rsp + 0x60]
vmovdqu xmm2, xmmword [rsp + 0x70]
add rdx, r11
lea rcx, [rsp + 0x40]
vmovdqu xmm4, xmmword [rsp + 0x90]
vmovdqu xmm7, xmmword [rsp + 0x50]
vmovdqu xmm0, xmmword [rsp + 0xa0]
vpxor xmm5, xmm0, xmmword [rsp + 0x30]
vmovdqu xmm3, xmmword [rsp + 0x80]
vpxor xmm6, xmm4, xmm1
vpxor xmm5, xmm5, xmm6
vpand xmm6, xmm2, xmm3
vpxor xmm5, xmm5, xmm6
vmovdqu xmmword [rsp + 0x40], xmm5
vaesenc xmm5, xmm4, xmm0
vaesenc xmm0, xmm0, xmm7
vpxor xmm0, xmm0, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0xa0], xmm5
vaesenc xmm4, xmm3, xmm4
vaesenc xmm3, xmm2, xmm3
vaesenc xmm2, xmm1, xmm2
vaesenc xmm1, xmm7, xmm1
vmovdqu xmmword [rsp + 0x70], xmm2
vmovdqu xmmword [rsp + 0x90], xmm4
vmovdqu xmmword [rsp + 0x80], xmm3
vmovdqu xmmword [rsp + 0x60], xmm1
vmovdqu xmmword [rsp + 0x50], xmm0
cmp eax, 8
jb 0x140030718
mov r11, qword [rsp + 0x40]
mov qword [rdx], r11
mov r11, qword [rcx + rax - 8]
mov qword [rax + rdx - 8], r11
lea r11, [rdx + 8]
and r11, 0xfffffffffffffff8
sub rdx, r11
add eax, edx
sub rcx, rdx
and eax, 0xfffffff8
cmp eax, 8
jb 0x1400304bd
and eax, 0xfffffff8
xor edx, edx
mov edi, edx
add edx, 8
mov r12, qword [rcx + rdi]
mov qword [r11 + rdi], r12
cmp edx, eax
jb 0x1400306fd
jmp 0x1400304bd
test al, 4
jne 0x140030847
test eax, eax
je 0x1400304bd
movzx r11d, byte [rsp + 0x40]
mov byte [rdx], r11b
test al, 2
je 0x1400304bd
movzx ecx, word [rcx + rax - 2]
mov word [rax + rdx - 2], cx
jmp 0x1400304bd
movzx ecx, byte [rcx + rdi]
mov byte [r12 + rdi], cl
jmp 0x140030623
movzx r13d, word [rcx + rdi]
mov word [r12 + rdi], r13w
add rdi, 2
test al, 1
je 0x140030623
jmp 0x140030750
mov edi, dword [rcx]
mov dword [r12], edi
mov edi, 4
test al, 2
je 0x14003061b
jmp 0x140030760
movzx eax, byte [rax + rdx]
mov byte [r12 + rdx], al
jmp 0x14003053e
movzx r13d, word [rax + rdx]
mov word [r12 + rdx], r13w
add rdx, 2
and ecx, 1
je 0x14003053e
jmp 0x140030798
mov edx, dword [rax]
mov dword [r12], edx
mov edx, 4
test cl, 2
je 0x140030535
jmp 0x1400307a8
mov r14d, eax
xor ecx, ecx
and r14d, 0xfffffff8
mov r12d, ecx
add ecx, 8
mov r15, qword [rdi + r12]
mov qword [r13 + r12], r15
cmp ecx, r14d
jb 0x1400307e9
lea r12, [r13 + rcx]
add rcx, rdi
jmp 0x140030609
mov r14d, ecx
xor eax, eax
and r14d, 0xfffffff8
mov r12d, eax
add eax, 8
mov r15, qword [rdx + r12]
mov qword [r13 + r12], r15
cmp eax, r14d
jb 0x140030819
lea r12, [r13 + rax]
add rax, rdx
jmp 0x140030521
xor edx, edx
jmp 0x1400303e2
mov r11d, dword [rsp + 0x40]
mov dword [rdx], r11d
mov ecx, dword [rcx + rax - 4]
mov dword [rax + rdx - 4], ecx
jmp 0x1400304bd