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

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x290
vmovups xmmword [rsp + 0x1f0], xmm6
vmovups xmmword [rsp + 0x200], xmm7
vmovups xmmword [rsp + 0x210], xmm8
vmovups xmmword [rsp + 0x220], xmm9
vmovups xmmword [rsp + 0x230], xmm10
vmovups xmmword [rsp + 0x240], xmm11
vmovups xmmword [rsp + 0x250], xmm12
vmovups xmmword [rsp + 0x260], xmm13
vmovups xmmword [rsp + 0x270], xmm14
vmovups xmmword [rsp + 0x280], xmm15
mov rbx, qword [rcx + 0xe0]
lea r11, [rsp + 0xbf]
mov r10, rdx
mov rdi, rcx
mov esi, r8d
and r11, 0xffffffffffffffe0
shr r10, 5
test r8b, r8b
je 0x1401147e8
lea rax, [r11 + 0x20]
mov qword [rsp + 0x50], r11
shr rdx, 6
lea r9, [r11 + 0xe0]
mov qword [rsp + 0x48], rax
lea rax, [r11 + 0x40]
mov r10, rdx
lea r8, [r11 + 0x100]
mov qword [rsp + 0x40], rax
lea rax, [r11 + 0x60]
lea rdx, [r11 + 0x120]
mov qword [rsp + 0x38], rax
lea rax, [r11 + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [r11 + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [r11 + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.140113e50
cmp byte [rcx + 0x1b0], 0
je 0x1401147b0
vmovdqu ymm1, ymmword [rdi + 0x40]
vmovdqu ymm2, ymmword [rdi + 0x60]
vmovdqu ymm14, ymmword [rdi + 0x80]
vmovdqu ymm12, ymmword [rdi + 0xa0]
vmovdqu ymmword [rsp + 0x60], ymm1
vmovdqu ymmword [rsp + 0x80], ymm2
sub r10, 0x40
vmovdqu ymm4, ymmword [r11 + 0x60]
vmovdqu ymm10, ymmword [r11 + 0x120]
lea rdx, [rbx + 0x800]
shl r10, 5
vmovdqu ymm3, ymmword [r11 + 0x40]
vmovdqu ymm9, ymmword [r11 + 0x100]
mov r8d, pe_nt_image_headers64
lea rcx, [rbx + r10]
vmovdqu ymm2, ymmword [r11 + 0x20]
vmovdqu ymm8, ymmword [r11 + 0xe0]
vmovdqa ymm15, ymm12
vmovdqu ymm7, ymmword [r11 + 0xc0]
vmovdqu ymm1, ymmword [r11]
lea r9, [rcx + 0x1000]
vmovdqu ymm6, ymmword [r11 + 0xa0]
vmovdqu ymm5, ymmword [r11 + 0x80]
mov rax, rbx
nop dword [rax]
vaesenc ymm12, ymm14, ymm10
vmovdqu ymm0, ymmword [rsp + 0x60]
prefetcht0 byte [rdx]
prefetcht0 byte [rdx + 0x40]
vaesenc ymm13, ymm15, ymm10
sub rax, 0xffffffffffffff80
sub rdx, 0xffffffffffffff80
vmovdqu ymm11, ymmword [rsp + 0x80]
vaesenc ymm0, ymm0, ymm10
vaesenc ymm11, ymm11, ymm10
vaesenc ymm12, ymm12, ymm9
vaesenc ymm13, ymm13, ymm9
vaesenc ymm0, ymm0, ymm9
vaesenc ymm11, ymm11, ymm9
vaesenc ymm12, ymm12, ymm8
vaesenc ymm13, ymm13, ymm8
vaesenc ymm0, ymm0, ymm8
vaesenc ymm11, ymm11, ymm8
vaesenc ymm12, ymm12, ymm7
vaesenc ymm13, ymm13, ymm7
vaesenc ymm0, ymm0, ymm7
vaesenc ymm11, ymm11, ymm7
vaesenc ymm12, ymm12, ymm6
vaesenc ymm13, ymm13, ymm6
vaesenc ymm0, ymm0, ymm6
vaesenc ymm11, ymm11, ymm6
vaesenc ymm12, ymm12, ymm5
vaesenc ymm13, ymm13, ymm5
vaesenc ymm0, ymm0, ymm5
vaesenc ymm11, ymm11, ymm5
vaesenc ymm12, ymm12, ymm4
vaesenc ymm13, ymm13, ymm4
vaesenc ymm0, ymm0, ymm4
vaesenc ymm11, ymm11, ymm4
vaesenc ymm12, ymm12, ymm3
vaesenc ymm13, ymm13, ymm3
vaesenc ymm0, ymm0, ymm3
vaesenc ymm11, ymm11, ymm3
vaesenc ymm12, ymm12, ymm2
vaesenc ymm13, ymm13, ymm2
vaesenc ymm0, ymm0, ymm2
vaesenc ymm11, ymm11, ymm2
vaesenc ymm12, ymm12, ymm1
vaesenc ymm13, ymm13, ymm1
vaesenc ymm0, ymm0, ymm1
vaesenc ymm11, ymm11, ymm1
vmovdqu ymmword [rax - 0x40], ymm12
vmovdqa ymm14, ymm12
vmovdqu ymmword [rax - 0x20], ymm13
vmovdqa ymm15, ymm13
vmovdqu ymmword [rax - 0x80], ymm0
vmovdqu ymmword [rax - 0x60], ymm11
vmovdqu ymmword [rsp + 0x60], ymm0
vmovdqu ymmword [rsp + 0x80], ymm11
cmp rax, rcx
jb 0x1401145b0
mov rax, rcx
sub rax, rbx
sub rax, 1
and rax, 0xffffffffffffff80
lea rdx, [rax + 0x80]
lea rax, [rbx + 1]
cmp rax, rcx
cmova rdx, r8
add rcx, 0x800
add rdx, rbx
cmp rcx, r9
jne 0x1401147a0
vmovdqa ymm15, ymm11
vmovdqa ymm11, ymm13
test sil, sil
je 0x140114737
cmp byte [rdi + 0x1b0], 0
je 0x140114737
vmovdqu ymmword [rdi + 0x130], ymm0
vmovdqu ymmword [rdi + 0x150], ymm15
vmovdqu ymmword [rdi + 0x170], ymm12
vmovdqu ymmword [rdi + 0x190], ymm11
vzeroupper
vmovups xmm6, xmmword [rsp + 0x1f0]
vmovups xmm7, xmmword [rsp + 0x200]
vmovups xmm8, xmmword [rsp + 0x210]
vmovups xmm9, xmmword [rsp + 0x220]
vmovups xmm10, xmmword [rsp + 0x230]
vmovups xmm11, xmmword [rsp + 0x240]
vmovups xmm12, xmmword [rsp + 0x250]
vmovups xmm13, xmmword [rsp + 0x260]
vmovups xmm14, xmmword [rsp + 0x270]
vmovups xmm15, xmmword [rsp + 0x280]
add rsp, 0x290
pop rbx
pop rsi
pop rdi
ret
mov rbx, rdx
jmp 0x1401145aa
vmovdqu ymm3, ymmword [rdi + 0x130]
vmovdqu ymm4, ymmword [rdi + 0x150]
vmovdqu ymm14, ymmword [rdi + 0x170]
vmovdqu ymm12, ymmword [rdi + 0x190]
vmovdqu ymmword [rsp + 0x60], ymm3
vmovdqu ymmword [rsp + 0x80], ymm4
jmp 0x140114538
lea rax, [r11 + 0x20]
mov qword [rsp + 0x50], r11
lea rdx, [r11 + 0x120]
mov qword [rsp + 0x48], rax
lea rax, [r11 + 0x40]
lea r9, [r11 + 0xe0]
mov qword [rsp + 0x40], rax
lea rax, [r11 + 0x60]
lea r8, [r11 + 0x100]
mov qword [rsp + 0x38], rax
lea rax, [r11 + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [r11 + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [r11 + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.140113e50
jmp 0x14011450f