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

Disassembly:
sub rsp, 0x148
movups xmmword [rsp + 0xa0], xmm6
movups xmmword [rsp + 0xb0], xmm7
movups xmmword [rsp + 0xc0], xmm8
movups xmmword [rsp + 0xd0], xmm9
movups xmmword [rsp + 0xe0], xmm10
movups xmmword [rsp + 0xf0], xmm11
movups xmmword [rsp + 0x100], xmm12
movups xmmword [rsp + 0x110], xmm13
movups xmmword [rsp + 0x120], xmm14
movups xmmword [rsp + 0x130], xmm15
cmp byte [0x1405255e0], 0
jne 0x140109c55
movdqu xmm13, xmmword [rcx + 0x20]
movdqu xmm4, xmmword [rcx + 0x30]
xor edx, edx
movdqu xmm7, xmmword [rcx + 0x40]
movdqu xmm6, xmmword [rcx + 0xa0]
movdqa xmm3, xmm13
aeskeygenassist xmm2, xmm4, 1
movdqu xmm8, xmmword [rcx + 0x80]
mov rax, qword [rcx + 0xe0]
pslldq xmm3, 4
pshufd xmm2, xmm2, 0xff
movups xmmword [rsp + 0x20], xmm7
movdqu xmm7, xmmword [rcx + 0x70]
movdqa xmm0, xmm3
movups xmmword [rsp + 0x80], xmm6
pslldq xmm0, 4
movups xmmword [rsp + 0x30], xmm7
movdqu xmm7, xmmword [rcx + 0x90]
movdqa xmm1, xmm0
pxor xmm0, xmm3
movdqa xmm3, xmm4
movups xmmword [rsp + 0x60], xmm8
pslldq xmm1, 4
pxor xmm0, xmm13
movups xmmword [rsp + 0x70], xmm7
pxor xmm1, xmm2
pslldq xmm3, 4
pxor xmm0, xmm1
movdqa xmm11, xmm0
aeskeygenassist xmm2, xmm0, 0
movdqa xmm0, xmm3
pslldq xmm0, 4
movdqa xmm5, xmm11
pshufd xmm2, xmm2, 0xaa
movdqa xmm1, xmm0
pslldq xmm5, 4
pxor xmm0, xmm3
pxor xmm0, xmm4
pslldq xmm1, 4
pxor xmm1, xmm2
movdqa xmm3, xmm0
movdqa xmm0, xmm5
pxor xmm3, xmm1
pslldq xmm0, 4
movdqa xmm1, xmm0
aeskeygenassist xmm2, xmm3, 2
pxor xmm0, xmm5
pshufd xmm2, xmm2, 0xff
pslldq xmm1, 4
pxor xmm0, xmm11
pxor xmm1, xmm2
movdqa xmm5, xmm3
pxor xmm0, xmm1
pslldq xmm5, 4
movdqa xmm10, xmm0
aeskeygenassist xmm2, xmm0, 0
movdqa xmm0, xmm5
pslldq xmm0, 4
pshufd xmm2, xmm2, 0xaa
movdqa xmm8, xmm10
movdqa xmm1, xmm0
pxor xmm0, xmm5
movdqa xmm5, xmm10
pslldq xmm1, 4
pslldq xmm5, 4
pxor xmm0, xmm3
pxor xmm1, xmm2
pxor xmm0, xmm1
movdqa xmm15, xmm0
aeskeygenassist xmm2, xmm0, 4
movdqa xmm0, xmm5
pslldq xmm0, 4
pshufd xmm2, xmm2, 0xff
movdqa xmm6, xmm15
movdqa xmm1, xmm0
pxor xmm0, xmm5
movdqa xmm5, xmm15
pslldq xmm1, 4
pslldq xmm5, 4
pxor xmm0, xmm10
pxor xmm1, xmm2
movdqa xmm10, xmm4
pxor xmm0, xmm1
movdqa xmm14, xmm0
aeskeygenassist xmm2, xmm0, 0
movdqa xmm0, xmm5
pslldq xmm0, 4
pshufd xmm2, xmm2, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm5
movdqa xmm5, xmm14
pslldq xmm1, 4
pslldq xmm5, 4
pxor xmm0, xmm15
pxor xmm1, xmm2
movdqa xmm15, xmm13
movdqa xmm13, xmm6
pxor xmm0, xmm1
movdqa xmm12, xmm0
aeskeygenassist xmm2, xmm0, 8
movdqa xmm0, xmm5
pslldq xmm0, 4
pshufd xmm2, xmm2, 0xff
movdqa xmm7, xmm12
movdqa xmm1, xmm0
pxor xmm0, xmm5
movdqa xmm5, xmm12
pslldq xmm1, 4
pslldq xmm5, 4
pxor xmm0, xmm14
pxor xmm1, xmm2
pxor xmm0, xmm1
aeskeygenassist xmm2, xmm0, 0
movups xmmword [rsp], xmm0
movdqa xmm0, xmm5
pslldq xmm0, 4
pshufd xmm2, xmm2, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm5
movdqu xmm5, xmmword [rcx + 0xb0]
pslldq xmm1, 4
pxor xmm0, xmm12
movdqa xmm12, xmm14
pxor xmm1, xmm2
movups xmmword [rsp + 0x90], xmm5
movdqa xmm14, xmm11
pxor xmm0, xmm1
movdqu xmm1, xmmword [rcx + 0x50]
movups xmmword [rsp + 0x10], xmm0
movdqu xmm0, xmmword [rcx + 0x60]
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x50], xmm0
nop
add rdx, 8
movdqu xmm1, xmmword [rsp + 0x20]
movdqu xmm4, xmmword [rsp + 0x40]
sub rax, 0xffffffffffffff80
movdqu xmm0, xmmword [rsp + 0x50]
movdqu xmm9, xmmword [rsp + 0x30]
movdqu xmm5, xmmword [rsp + 0x60]
movdqu xmm6, xmmword [rsp + 0x70]
movdqu xmm11, xmmword [rsp + 0x80]
pxor xmm1, xmmword [rax - 0x80]
movdqu xmm2, xmmword [rsp + 0x90]
pxor xmm4, xmmword [rax - 0x70]
pxor xmm0, xmmword [rax - 0x60]
pxor xmm9, xmmword [rax - 0x50]
pxor xmm5, xmmword [rax - 0x40]
pxor xmm6, xmmword [rax - 0x30]
pxor xmm11, xmmword [rax - 0x20]
pxor xmm2, xmmword [rax - 0x10]
cmp rdx, 0x2000
je 0x1401099aa
prefetcht0 byte [rax]
prefetcht0 byte [rax + 0x40]
aesenc xmm1, xmm15
aesenc xmm4, xmm15
aesenc xmm0, xmm15
aesenc xmm9, xmm15
aesenc xmm5, xmm15
aesenc xmm6, xmm15
aesenc xmm11, xmm15
aesenc xmm2, xmm15
aesenc xmm1, xmm10
aesenc xmm4, xmm10
aesenc xmm0, xmm10
aesenc xmm9, xmm10
aesenc xmm5, xmm10
aesenc xmm6, xmm10
aesenc xmm11, xmm10
aesenc xmm2, xmm10
aesenc xmm1, xmm14
aesenc xmm4, xmm14
aesenc xmm0, xmm14
aesenc xmm9, xmm14
aesenc xmm5, xmm14
aesenc xmm6, xmm14
aesenc xmm11, xmm14
aesenc xmm2, xmm14
aesenc xmm1, xmm3
aesenc xmm4, xmm3
aesenc xmm0, xmm3
aesenc xmm9, xmm3
aesenc xmm5, xmm3
aesenc xmm6, xmm3
aesenc xmm11, xmm3
aesenc xmm2, xmm3
aesenc xmm1, xmm8
aesenc xmm4, xmm8
aesenc xmm0, xmm8
aesenc xmm9, xmm8
aesenc xmm5, xmm8
aesenc xmm6, xmm8
aesenc xmm11, xmm8
aesenc xmm2, xmm8
aesenc xmm1, xmm13
aesenc xmm4, xmm13
aesenc xmm0, xmm13
aesenc xmm9, xmm13
aesenc xmm5, xmm13
aesenc xmm6, xmm13
aesenc xmm11, xmm13
aesenc xmm2, xmm13
aesenc xmm1, xmm12
aesenc xmm4, xmm12
aesenc xmm0, xmm12
aesenc xmm9, xmm12
aesenc xmm5, xmm12
aesenc xmm6, xmm12
aesenc xmm11, xmm12
aesenc xmm2, xmm12
aesenc xmm1, xmm7
aesenc xmm4, xmm7
aesenc xmm0, xmm7
aesenc xmm9, xmm7
aesenc xmm5, xmm7
aesenc xmm6, xmm7
aesenc xmm2, xmm7
aesenc xmm11, xmm7
aesenc xmm1, xmmword [rsp]
aesenc xmm4, xmmword [rsp]
aesenc xmm0, xmmword [rsp]
aesenc xmm9, xmmword [rsp]
aesenc xmm5, xmmword [rsp]
aesenc xmm6, xmmword [rsp]
aesenc xmm11, xmmword [rsp]
aesenc xmm2, xmmword [rsp]
aesenc xmm1, xmmword [rsp + 0x10]
aesenc xmm4, xmmword [rsp + 0x10]
aesenc xmm0, xmmword [rsp + 0x10]
aesenc xmm9, xmmword [rsp + 0x10]
aesenc xmm5, xmmword [rsp + 0x10]
aesenc xmm6, xmmword [rsp + 0x10]
movups xmmword [rsp + 0x20], xmm1
aesenc xmm11, xmmword [rsp + 0x10]
aesenc xmm2, xmmword [rsp + 0x10]
movups xmmword [rsp + 0x40], xmm4
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x30], xmm9
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x70], xmm6
movups xmmword [rsp + 0x80], xmm11
movups xmmword [rsp + 0x90], xmm2
cmp rdx, 0x2000
jne 0x140109930
movups xmmword [rcx + 0x70], xmm9
movups xmm7, xmmword [rsp + 0xb0]
movups xmm8, xmmword [rsp + 0xc0]
movups xmm9, xmmword [rsp + 0xd0]
movups xmmword [rcx + 0x90], xmm6
movups xmm10, xmmword [rsp + 0xe0]
movups xmmword [rcx + 0xa0], xmm11
movups xmm6, xmmword [rsp + 0xa0]
movups xmm11, xmmword [rsp + 0xf0]
movups xmm12, xmmword [rsp + 0x100]
movups xmmword [rcx + 0x40], xmm1
movups xmm13, xmmword [rsp + 0x110]
movups xmm14, xmmword [rsp + 0x120]
movups xmmword [rcx + 0x50], xmm4
movups xmm15, xmmword [rsp + 0x130]
movups xmmword [rcx + 0x60], xmm0
movups xmmword [rcx + 0x80], xmm5
movups xmmword [rcx + 0xb0], xmm2
add rsp, 0x148
ret
movups xmm6, xmmword [rsp + 0xa0]
xor r8d, r8d
movups xmm7, xmmword [rsp + 0xb0]
mov edx, 0x20000
movups xmm8, xmmword [rsp + 0xc0]
movups xmm9, xmmword [rsp + 0xd0]
movups xmm10, xmmword [rsp + 0xe0]
movups xmm11, xmmword [rsp + 0xf0]
movups xmm12, xmmword [rsp + 0x100]
movups xmm13, xmmword [rsp + 0x110]
movups xmm14, xmmword [rsp + 0x120]
movups xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
jmp 0x140121e30