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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x300
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
lea rbp, [rax - 0x2a8]
and rbp, 0xffffffffffffffe0
mov rdi, qword [rcx + 0xe0]
lea r9, [rbp + 0x1c0]
mov rax, rdx
movzx r14d, r8b
shr rax, 5
lea r8, [rbp + 0x40]
mov r13, rdx
mov rbx, rcx
xor edx, edx
add rcx, 0x20
lea r15, [r14 + 1]
div r15
lea rdx, [rbp + 0x20]
mov r12, rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x120]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x180]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x20], rax
call fcn.1401c6fc8
vmovdqu ymm4, ymmword [rbx + 0x40]
vmovdqu ymm5, ymmword [rbx + 0x60]
vmovdqu ymm6, ymmword [rbx + 0x80]
vmovdqu ymm2, ymmword [rbx + 0xa0]
xor esi, esi
mov rax, rdi
mov qword [rbp], rax
vmovdqu ymmword [rbp + 0xc0], ymm4
vmovdqu ymmword [rbp + 0xa0], ymm5
vmovdqu ymmword [rbp + 0x80], ymm6
vmovdqu ymmword [rbp + 0x60], ymm2
test r15, r15
je 0x1401c68ca
test r14b, r14b
je 0x1401c6755
cmp rsi, 1
jne 0x1401c6755
mov rdi, rax
mov byte [rbx + 0x1b0], 0
mov r8b, r14b
mov rdx, r13
mov rcx, rbx
vzeroupper
call fcn.1401c5c7c
vmovdqu ymm4, ymmword [rbp + 0xc0]
vmovdqu ymm5, ymmword [rbp + 0xa0]
vmovdqu ymm6, ymmword [rbp + 0x80]
vmovdqu ymm2, ymmword [rbp + 0x60]
xor eax, eax
test r12, r12
je 0x1401c68ba
vmovdqu ymm8, ymmword [rbp + 0xe0]
vmovdqu ymm9, ymmword [rbp + 0x100]
vmovdqu ymm10, ymmword [rbp + 0x120]
vmovdqu ymm11, ymmword [rbp + 0x140]
vmovdqu ymm12, ymmword [rbp + 0x160]
vmovdqu ymm13, ymmword [rbp + 0x180]
vmovdqu ymm14, ymmword [rbp + 0x1a0]
vmovdqu ymm15, ymmword [rbp + 0x1c0]
vpxor ymm3, ymm4, ymmword [rdi]
vpxor ymm5, ymm5, ymmword [rdi + 0x20]
vpxor ymm6, ymm6, ymmword [rdi + 0x40]
vpxor ymm7, ymm2, ymmword [rdi + 0x60]
sub rdi, 0xffffffffffffff80
add rax, 4
cmp rax, r12
jae 0x1401c67c7
prefetcht0 byte [rdi]
prefetcht0 byte [rdi + 0x40]
vaesenc ymm0, ymm3, ymmword [rbp + 0x20]
vaesenc ymm1, ymm0, ymmword [rbp + 0x40]
vaesenc ymm2, ymm1, ymm15
vaesenc ymm3, ymm2, ymm14
vaesenc ymm0, ymm3, ymm13
vaesenc ymm1, ymm0, ymm12
vaesenc ymm2, ymm1, ymm11
vaesenc ymm1, ymm5, ymmword [rbp + 0x20]
vaesenc ymm3, ymm2, ymm10
vaesenc ymm0, ymm3, ymm9
vaesenc ymm4, ymm0, ymm8
vaesenc ymm0, ymm1, ymmword [rbp + 0x40]
vaesenc ymm2, ymm0, ymm15
vaesenc ymm3, ymm2, ymm14
vaesenc ymm1, ymm3, ymm13
vaesenc ymm0, ymm1, ymm12
vaesenc ymm2, ymm0, ymm11
vaesenc ymm0, ymm6, ymmword [rbp + 0x20]
vaesenc ymm3, ymm2, ymm10
vaesenc ymm1, ymm3, ymm9
vaesenc ymm5, ymm1, ymm8
vaesenc ymm1, ymm0, ymmword [rbp + 0x40]
vaesenc ymm2, ymm1, ymm15
vaesenc ymm3, ymm2, ymm14
vaesenc ymm0, ymm3, ymm13
vaesenc ymm1, ymm0, ymm12
vaesenc ymm2, ymm1, ymm11
vaesenc ymm1, ymm7, ymmword [rbp + 0x20]
vaesenc ymm3, ymm2, ymm10
vaesenc ymm0, ymm3, ymm9
vaesenc ymm6, ymm0, ymm8
vaesenc ymm0, ymm1, ymmword [rbp + 0x40]
vaesenc ymm2, ymm0, ymm15
vaesenc ymm3, ymm2, ymm14
vaesenc ymm1, ymm3, ymm13
vaesenc ymm0, ymm1, ymm12
vaesenc ymm2, ymm0, ymm11
vaesenc ymm3, ymm2, ymm10
vaesenc ymm1, ymm3, ymm9
vaesenc ymm2, ymm1, ymm8
jb 0x1401c67a0
vmovdqu ymmword [rbp + 0x60], ymm2
vmovdqu ymmword [rbp + 0x80], ymm6
vmovdqu ymmword [rbp + 0xa0], ymm5
vmovdqu ymmword [rbp + 0xc0], ymm4
mov rax, qword [rbp]
inc rsi
cmp rsi, r15
jb 0x1401c6712
vmovdqu ymmword [rbx + 0x40], ymm4
vmovdqu ymmword [rbx + 0x60], ymm5
vmovdqu ymmword [rbx + 0x80], ymm6
vmovdqu ymmword [rbx + 0xa0], ymm2
vzeroupper
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret