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

Disassembly:
sub rsp, 0xc8
movups xmmword [rsp + 0x20], xmm6
movups xmmword [rsp + 0x30], xmm7
movups xmmword [rsp + 0x40], xmm8
movups xmmword [rsp + 0x50], xmm9
movups xmmword [rsp + 0x60], xmm10
movups xmmword [rsp + 0x70], xmm11
movups xmmword [rsp + 0x80], xmm12
movups xmmword [rsp + 0x90], xmm13
movups xmmword [rsp + 0xa0], xmm14
movups xmmword [rsp + 0xb0], xmm15
cmp byte [0x1405255e0], 0
jne 0x140108a70
movdqu xmm15, xmmword [rcx]
movdqu xmm2, xmmword [rcx + 0x10]
xor r11d, r11d
mov r8, qword [rcx + 0xe0]
movdqu xmm8, xmmword [rcx + 0x40]
movdqa xmm4, xmm15
aeskeygenassist xmm3, xmm2, 1
movdqu xmm7, xmmword [rcx + 0x50]
movdqu xmm6, xmmword [rcx + 0x60]
pslldq xmm4, 4
pshufd xmm3, xmm3, 0xff
movdqu xmm5, xmmword [rcx + 0x70]
lea rdx, [r8 + 0x800]
movdqa xmm0, xmm4
lea r10, [r8 + 0x200800]
pslldq xmm0, 4
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm2
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm15
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm9, xmm0
aeskeygenassist xmm3, xmm0, 0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm9
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm2
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm10, xmm0
aeskeygenassist xmm3, xmm0, 2
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xff
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm10
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm9
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm11, xmm0
aeskeygenassist xmm3, xmm0, 0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm11
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm10
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm12, xmm0
aeskeygenassist xmm3, xmm0, 4
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xff
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm12
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm11
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm13, xmm0
aeskeygenassist xmm3, xmm0, 0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm13
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm12
pxor xmm1, xmm3
pxor xmm0, xmm1
movdqa xmm14, xmm0
aeskeygenassist xmm3, xmm0, 8
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xff
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqa xmm4, xmm14
pslldq xmm1, 4
pslldq xmm4, 4
pxor xmm0, xmm13
pxor xmm1, xmm3
pxor xmm0, xmm1
aeskeygenassist xmm3, xmm0, 0
movups xmmword [rsp], xmm0
movdqa xmm0, xmm4
pslldq xmm0, 4
pshufd xmm3, xmm3, 0xaa
movdqa xmm1, xmm0
pxor xmm0, xmm4
movdqu xmm4, xmmword [rcx + 0x80]
pslldq xmm1, 4
pxor xmm0, xmm14
pxor xmm1, xmm3
movdqu xmm3, xmmword [rcx + 0x90]
pxor xmm0, xmm1
movdqu xmm1, xmmword [rcx + 0xa0]
movups xmmword [rsp + 0x10], xmm0
movdqu xmm0, xmmword [rcx + 0xb0]
lea rcx, [r8 + 0x1ff800]
mov rax, r8
aesenc xmm8, xmm15
aesenc xmm7, xmm15
prefetcht0 byte [rdx]
aesenc xmm6, xmm15
aesenc xmm5, xmm15
aesenc xmm4, xmm15
prefetcht0 byte [rdx + 0x40]
aesenc xmm3, xmm15
aesenc xmm1, xmm15
aesenc xmm0, xmm15
aesenc xmm8, xmm2
sub rax, 0xffffffffffffff80
aesenc xmm7, xmm2
aesenc xmm6, xmm2
aesenc xmm5, xmm2
sub rdx, 0xffffffffffffff80
aesenc xmm4, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
aesenc xmm0, xmm2
aesenc xmm8, xmm9
aesenc xmm7, xmm9
aesenc xmm6, xmm9
aesenc xmm5, xmm9
aesenc xmm4, xmm9
aesenc xmm3, xmm9
aesenc xmm1, xmm9
aesenc xmm0, xmm9
aesenc xmm8, xmm10
aesenc xmm7, xmm10
aesenc xmm6, xmm10
aesenc xmm5, xmm10
aesenc xmm4, xmm10
aesenc xmm3, xmm10
aesenc xmm1, xmm10
aesenc xmm0, xmm10
aesenc xmm8, xmm11
aesenc xmm7, xmm11
aesenc xmm6, xmm11
aesenc xmm5, xmm11
aesenc xmm4, xmm11
aesenc xmm3, xmm11
aesenc xmm1, xmm11
aesenc xmm0, xmm11
aesenc xmm8, xmm12
aesenc xmm7, xmm12
aesenc xmm6, xmm12
aesenc xmm5, xmm12
aesenc xmm4, xmm12
aesenc xmm3, xmm12
aesenc xmm1, xmm12
aesenc xmm0, xmm12
aesenc xmm8, xmm13
aesenc xmm7, xmm13
aesenc xmm6, xmm13
aesenc xmm5, xmm13
aesenc xmm4, xmm13
aesenc xmm3, xmm13
aesenc xmm1, xmm13
aesenc xmm0, xmm13
aesenc xmm8, xmm14
aesenc xmm7, xmm14
aesenc xmm6, xmm14
aesenc xmm5, xmm14
aesenc xmm4, xmm14
aesenc xmm3, xmm14
aesenc xmm1, xmm14
aesenc xmm0, xmm14
aesenc xmm8, xmmword [rsp]
aesenc xmm7, xmmword [rsp]
aesenc xmm6, xmmword [rsp]
aesenc xmm5, xmmword [rsp]
aesenc xmm4, xmmword [rsp]
aesenc xmm3, xmmword [rsp]
aesenc xmm1, xmmword [rsp]
aesenc xmm0, xmmword [rsp]
aesenc xmm8, xmmword [rsp + 0x10]
aesenc xmm7, xmmword [rsp + 0x10]
aesenc xmm6, xmmword [rsp + 0x10]
aesenc xmm5, xmmword [rsp + 0x10]
aesenc xmm4, xmmword [rsp + 0x10]
aesenc xmm3, xmmword [rsp + 0x10]
movups xmmword [rax - 0x80], xmm8
aesenc xmm1, xmmword [rsp + 0x10]
aesenc xmm0, xmmword [rsp + 0x10]
movups xmmword [rax - 0x70], xmm7
movups xmmword [rax - 0x60], xmm6
movups xmmword [rax - 0x50], xmm5
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x30], xmm3
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp rax, rcx
jb 0x1401087c0
lea r9, [rcx + 0x800]
cmp r9, r10
je 0x140108a18
mov rax, rcx
lea rdx, [r8 + 1]
sub rax, r8
sub rax, 1
and rax, 0xffffffffffffff80
cmp rcx, rdx
mov rcx, r9
cmovb rax, r11
lea rdx, [r8 + rax + 0x80]
mov r8, rdx
jmp 0x1401087bd
movups xmm6, xmmword [rsp + 0x20]
movups xmm7, xmmword [rsp + 0x30]
movups xmm8, xmmword [rsp + 0x40]
movups xmm9, xmmword [rsp + 0x50]
movups xmm10, xmmword [rsp + 0x60]
movups xmm11, xmmword [rsp + 0x70]
movups xmm12, xmmword [rsp + 0x80]
movups xmm13, xmmword [rsp + 0x90]
movups xmm14, xmmword [rsp + 0xa0]
movups xmm15, xmmword [rsp + 0xb0]
add rsp, 0xc8
ret
movups xmm6, xmmword [rsp + 0x20]
movups xmm7, xmmword [rsp + 0x30]
xor r8d, r8d
mov edx, 0x200000
movups xmm8, xmmword [rsp + 0x40]
movups xmm9, xmmword [rsp + 0x50]
movups xmm10, xmmword [rsp + 0x60]
movups xmm11, xmmword [rsp + 0x70]
movups xmm12, xmmword [rsp + 0x80]
movups xmm13, xmmword [rsp + 0x90]
movups xmm14, xmmword [rsp + 0xa0]
movups xmm15, xmmword [rsp + 0xb0]
add rsp, 0xc8
jmp fcn.1401212f0