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

Disassembly:
mov rax, rsp
sub rsp, 0x148
movdqu xmm3, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx]
mov rdx, qword [rcx + 0xe0]
movdqa xmm1, xmm2
pslldq xmm1, 4
movdqa xmm0, xmm1
movaps xmmword [rax - 0x18], xmm6
pslldq xmm1, 4
pxor xmm0, xmm2
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movdqa xmmword [rsp], xmm2
movdqa xmm2, xmm1
pslldq xmm1, 4
pxor xmm2, xmm0
pxor xmm2, xmm1
movdqa xmmword [rsp + 0x10], xmm3
aeskeygenassist xmm0, xmm3, 1
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
movaps xmmword [rax - 0xa8], xmm15
pshufd xmm1, xmm0, 0xff
pxor xmm2, xmm1
movdqa xmm1, xmm3
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x40], xmm2
pslldq xmm1, 4
pxor xmm0, xmm3
movdqa xmm3, xmm1
pslldq xmm1, 4
pxor xmm3, xmm0
pxor xmm3, xmm1
aeskeygenassist xmm0, xmm2, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm3, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x50], xmm3
pslldq xmm1, 4
pxor xmm0, xmm2
movdqa xmm4, xmm1
pslldq xmm1, 4
pxor xmm4, xmm0
pxor xmm4, xmm1
aeskeygenassist xmm0, xmm3, 2
pshufd xmm1, xmm0, 0xff
pxor xmm4, xmm1
movdqa xmm1, xmm3
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x60], xmm4
pslldq xmm1, 4
pxor xmm0, xmm3
movdqa xmm9, xmm1
pslldq xmm1, 4
pxor xmm9, xmm0
pxor xmm9, xmm1
aeskeygenassist xmm0, xmm4, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm9, xmm1
movdqa xmm1, xmm4
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x70], xmm9
pslldq xmm1, 4
pxor xmm0, xmm4
movdqa xmm5, xmm1
pslldq xmm1, 4
pxor xmm5, xmm0
pxor xmm5, xmm1
aeskeygenassist xmm0, xmm9, 4
pshufd xmm1, xmm0, 0xff
pxor xmm5, xmm1
movdqa xmm1, xmm9
movdqa xmmword [rsp + 0x80], xmm5
movdqu xmm10, xmmword [rcx + 0x50]
mov eax, 0x10
movdqu xmm11, xmmword [rcx + 0x60]
movdqu xmm13, xmmword [rcx + 0x80]
movdqu xmm14, xmmword [rcx + 0x90]
movdqu xmm15, xmmword [rcx + 0xa0]
movdqu xmm8, xmmword [rcx + 0xb0]
pslldq xmm1, 4
movdqa xmm0, xmm1
pslldq xmm1, 4
movdqa xmm12, xmm1
pxor xmm0, xmm9
movdqu xmm9, xmmword [rcx + 0x40]
pxor xmm12, xmm0
pslldq xmm1, 4
pxor xmm12, xmm1
aeskeygenassist xmm0, xmm5, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm12, xmm1
movdqa xmm1, xmm5
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x90], xmm12
pslldq xmm1, 4
pxor xmm0, xmm5
movdqa xmm6, xmm1
pslldq xmm1, 4
pxor xmm6, xmm0
pxor xmm6, xmm1
aeskeygenassist xmm0, xmm12, 8
pshufd xmm1, xmm0, 0xff
pxor xmm6, xmm1
movdqa xmm1, xmm12
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x30], xmm6
pslldq xmm1, 4
pxor xmm0, xmm12
movdqu xmm12, xmmword [rcx + 0x70]
movdqa xmm7, xmm1
pxor xmm7, xmm0
pslldq xmm1, 4
pxor xmm7, xmm1
aeskeygenassist xmm0, xmm6, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm7, xmm1
movdqa xmmword [rsp + 0x20], xmm7
jmp 0x14018d2ec
movdqa xmm2, xmmword [rsp + 0x40]
movdqa xmm3, xmmword [rsp + 0x50]
aesenc xmm9, xmmword [rsp]
aesenc xmm9, xmmword [rsp + 0x10]
aesenc xmm10, xmmword [rsp]
aesenc xmm11, xmmword [rsp]
aesenc xmm13, xmmword [rsp]
aesenc xmm10, xmmword [rsp + 0x10]
aesenc xmm11, xmmword [rsp + 0x10]
aesenc xmm12, xmmword [rsp]
aesenc xmm13, xmmword [rsp + 0x10]
aesenc xmm14, xmmword [rsp]
aesenc xmm12, xmmword [rsp + 0x10]
aesenc xmm14, xmmword [rsp + 0x10]
movdqa xmm1, xmmword [rsp + 0x70]
movdqa xmm0, xmmword [rsp + 0x90]
aesenc xmm15, xmmword [rsp]
aesenc xmm15, xmmword [rsp + 0x10]
aesenc xmm15, xmmword [rsp + 0x40]
aesenc xmm9, xmm2
aesenc xmm9, xmm3
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm13, xmm2
aesenc xmm9, xmm4
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm2
aesenc xmm13, xmm3
aesenc xmm14, xmm2
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm3
aesenc xmm9, xmm1
aesenc xmm9, xmm5
aesenc xmm12, xmm4
aesenc xmm10, xmm1
aesenc xmm10, xmm5
aesenc xmm11, xmm1
aesenc xmm11, xmm5
aesenc xmm9, xmm0
aesenc xmm9, xmm6
aesenc xmm12, xmm1
aesenc xmm10, xmm0
aesenc xmm9, xmm7
aesenc xmm10, xmm6
aesenc xmm10, xmmword [rsp + 0x20]
aesenc xmm11, xmm0
movdqa xmm7, xmm9
movdqa xmm6, xmm10
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm10, xmmword [rsp + 0x60]
aesenc xmm13, xmm10
aesenc xmm13, xmm1
aesenc xmm11, xmm9
aesenc xmm11, xmmword [rsp + 0x20]
movdqa xmm5, xmm11
movdqa xmm11, xmmword [rsp + 0x80]
aesenc xmm13, xmm11
aesenc xmm12, xmm11
aesenc xmm13, xmm0
aesenc xmm13, xmm9
aesenc xmm13, xmmword [rsp + 0x20]
aesenc xmm12, xmm0
aesenc xmm12, xmm9
movdqa xmm9, xmmword [rsp + 0x50]
movdqa xmm3, xmm13
movdqa xmm13, xmmword [rsp + 0x30]
aesenc xmm12, xmmword [rsp + 0x20]
aesenc xmm14, xmm9
aesenc xmm14, xmm10
aesenc xmm14, xmm1
aesenc xmm15, xmm9
aesenc xmm14, xmm11
aesenc xmm15, xmm10
aesenc xmm14, xmm0
aesenc xmm15, xmm1
aesenc xmm14, xmm13
aesenc xmm14, xmmword [rsp + 0x20]
aesenc xmm15, xmm11
movdqa xmm2, xmm14
movdqa xmm4, xmm12
aesenc xmm15, xmm0
movdqa xmm12, xmm3
pxor xmm12, xmm4
aesenc xmm8, xmmword [rsp]
aesenc xmm8, xmmword [rsp + 0x10]
aesenc xmm8, xmmword [rsp + 0x40]
aesenc xmm8, xmm9
movdqa xmm9, xmm6
pxor xmm9, xmm7
aesenc xmm8, xmm10
movdqa xmm10, xmm5
pxor xmm10, xmm6
movdqa xmm6, xmmword [rsp + 0x30]
aesenc xmm8, xmmword [rsp + 0x70]
aesenc xmm8, xmm11
movdqa xmm11, xmm4
movdqa xmm4, xmmword [rsp + 0x60]
pxor xmm11, xmm5
movdqa xmm5, xmmword [rsp + 0x80]
aesenc xmm8, xmm0
aesenc xmm8, xmm13
aesenc xmm8, xmmword [rsp + 0x20]
movdqa xmm0, xmm8
movdqa xmm8, xmm7
movdqa xmm7, xmmword [rsp + 0x20]
pxor xmm8, xmm0
aesenc xmm15, xmm13
movdqa xmm13, xmm2
pxor xmm13, xmm3
aesenc xmm15, xmmword [rsp + 0x20]
movdqa xmm1, xmm15
movdqa xmm15, xmm0
movdqa xmm14, xmm1
pxor xmm15, xmm1
pxor xmm14, xmm2
sub rax, 1
jne 0x14018d2e0
movdqa xmm0, xmmword [rsp + 0x40]
lea rcx, [rdx + 0x1fff800]
movdqa xmm1, xmmword [rsp + 0x50]
lea r8, [rdx + 0x800]
movdqa xmm3, xmmword [rsp + 0x70]
movdqa xmm2, xmm4
movdqa xmm4, xmm5
xor eax, eax
movdqa xmm5, xmmword [rsp + 0x90]
nop dword [rax]
prefetcht0 byte [r8]
prefetcht0 byte [r8 + 0x200]
aesenc xmm9, xmmword [rsp]
aesenc xmm10, xmmword [rsp]
aesenc xmm11, xmmword [rsp]
aesenc xmm12, xmmword [rsp]
aesenc xmm13, xmmword [rsp]
aesenc xmm14, xmmword [rsp]
aesenc xmm15, xmmword [rsp]
aesenc xmm8, xmmword [rsp]
aesenc xmm9, xmmword [rsp + 0x10]
aesenc xmm10, xmmword [rsp + 0x10]
aesenc xmm11, xmmword [rsp + 0x10]
aesenc xmm12, xmmword [rsp + 0x10]
aesenc xmm13, xmmword [rsp + 0x10]
aesenc xmm14, xmmword [rsp + 0x10]
aesenc xmm15, xmmword [rsp + 0x10]
aesenc xmm8, xmmword [rsp + 0x10]
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
aesenc xmm14, xmm1
aesenc xmm15, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm14, xmm2
aesenc xmm15, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm14, xmm3
aesenc xmm15, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm14, xmm4
aesenc xmm15, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm14, xmm5
aesenc xmm15, xmm5
aesenc xmm8, xmm5
aesenc xmm9, xmm6
aesenc xmm9, xmm7
aesenc xmm10, xmm6
aesenc xmm11, xmm6
aesenc xmm12, xmm6
aesenc xmm13, xmm6
aesenc xmm14, xmm6
aesenc xmm15, xmm6
aesenc xmm8, xmm6
movdqu xmmword [rdx], xmm9
aesenc xmm10, xmm7
aesenc xmm11, xmm7
aesenc xmm12, xmm7
aesenc xmm13, xmm7
aesenc xmm14, xmm7
aesenc xmm15, xmm7
aesenc xmm8, xmm7
movdqu xmmword [rdx + 0x10], xmm10
lea r8, [r8 + 0x400]
movdqu xmmword [rdx + 0x20], xmm11
movdqu xmmword [rdx + 0x30], xmm12
movdqu xmmword [rdx + 0x200], xmm13
movdqu xmmword [rdx + 0x210], xmm14
movdqu xmmword [rdx + 0x220], xmm15
movdqu xmmword [rdx + 0x230], xmm8
add rdx, 0x400
cmp rdx, rcx
jb 0x14018d600
add rcx, 0x800
inc eax
mov r8, rdx
cmp eax, 2
jl 0x14018d600
lea r11, [rsp + 0x148]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
ret