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

Disassembly:
sub rsp, 0x288
vmovups xmmword [rsp + 0x1e0], xmm6
vmovups xmmword [rsp + 0x1f0], xmm7
vmovups xmmword [rsp + 0x200], xmm8
vmovups xmmword [rsp + 0x210], xmm9
vmovups xmmword [rsp + 0x220], xmm10
vmovups xmmword [rsp + 0x230], xmm11
vmovups xmmword [rsp + 0x240], xmm12
vmovups xmmword [rsp + 0x250], xmm13
vmovups xmmword [rsp + 0x260], xmm14
vmovups xmmword [rsp + 0x270], xmm15
lea rax, [0x00686200]
vmovdqu ymm15, ymmword [0x00686400]
vpxor xmm14, xmm14, xmm14
lea rdx, [rax + 0xe0]
vmovdqu ymm0, ymmword [rcx + 0xe0]
vmovdqu ymm10, ymmword [rcx]
vmovdqu ymm7, ymmword [rcx + 0x20]
vmovdqu ymm1, ymmword [rcx + 0x40]
vmovdqu ymm9, ymmword [rcx + 0x60]
vmovdqu ymm8, ymmword [rcx + 0x80]
vmovdqu ymm12, ymm0
vmovdqu ymm11, ymmword [rcx + 0xa0]
vmovdqu ymm13, ymmword [rcx + 0xc0]
vmovdqu ymmword [rsp + 0xe0], ymm10
vmovdqu ymmword [rsp + 0x100], ymm7
vmovdqu ymmword [rsp + 0x120], ymm1
vmovdqu ymmword [rsp + 0x140], ymm9
vmovdqu ymmword [rsp + 0x160], ymm8
vmovdqu ymmword [rsp + 0x180], ymm11
vmovdqu ymmword [rsp + 0x1a0], ymm13
vmovdqu ymmword [rsp + 0x1c0], ymm0
nop dword [rax + rax]
vmovdqu xmm4, xmmword [rax]
add rax, 0x20
vpshufb ymm7, ymm7, ymmword [0x00686320]
vpshufb ymm12, ymm12, ymmword [0x006863e0]
vpshufb ymm8, ymm8, ymmword [0x00686380]
vpshufb ymm11, ymm11, ymmword [0x006863a0]
vpshufb ymm13, ymm13, ymmword [0x006863c0]
vaesenclast ymm2, ymm7, ymm14
vpermq ymm4, ymm4, 0x44
vpshufb ymm1, ymm1, ymmword [0x00686340]
vpshufb ymm9, ymm9, ymmword [0x00686360]
vaesenclast ymm8, ymm8, ymm14
vpxor ymm4, ymm10, ymm4
vpshufb ymm4, ymm4, ymmword [0x00686300]
vaesenclast ymm0, ymm4, ymm14
vaesenclast ymm11, ymm11, ymm14
vaesenclast ymm13, ymm13, ymm14
vaesenclast ymm7, ymm12, ymm14
vmovdqu ymmword [rsp + 0x20], ymm2
vaesenclast ymm1, ymm1, ymm14
vaesenclast ymm9, ymm9, ymm14
vmovdqu ymm6, ymm0
vpxor ymm3, ymm2, ymm0
vpxor ymm2, ymm1, ymmword [rsp + 0x20]
vpxor ymm4, ymm8, ymm11
vmovdqu ymmword [rsp], ymm6
vpxor ymm10, ymm11, ymm13
vmovdqu ymm12, ymm7
vpxor ymm7, ymm13, ymm7
vpxor ymm6, ymm12, ymmword [rsp]
vmovdqu ymmword [rsp + 0xc0], ymm12
vpxor ymm12, ymm7, ymm4
vpxor ymm0, ymm1, ymm9
vpxor ymm12, ymm12, ymm1
vpxor ymm1, ymm6, ymm10
vpxor ymm5, ymm9, ymm8
vpxor ymm9, ymm1, ymm9
vpxor ymm1, ymm7, ymm3
vpxor ymm1, ymm1, ymm8
vmovdqu ymmword [rsp + 0xa0], ymm1
vpxor ymm1, ymm6, ymm2
vpxor ymm11, ymm1, ymm11
vpxor ymm1, ymm4, ymm0
vpxor ymm8, ymm1, ymmword [rsp]
vmovdqu ymmword [rsp + 0x80], ymm11
vpxor ymm1, ymm0, ymm3
vpxor ymm11, ymm10, ymm0
vpxor ymm13, ymm1, ymm13
vpxor ymm1, ymm5, ymm2
vmovdqu ymmword [rsp + 0x60], ymm8
vpxor ymm8, ymm10, ymm5
vmovdqu ymmword [rsp + 0x40], ymm13
vpxor ymm8, ymm8, ymmword [rsp + 0x20]
vpxor ymm13, ymm1, ymmword [rsp + 0xc0]
vpxor ymm1, ymm5, ymm3
vpxor ymm5, ymm7, ymm5
vpxor ymm3, ymm10, ymm3
vmovdqu ymm10, ymmword [rsp + 0xa0]
vmovdqu ymmword [rsp], ymm13
vpxor ymm13, ymm6, ymm4
vpxor ymm6, ymm6, ymm0
vpcmpgtb ymm0, ymm14, ymm1
vpaddb ymm1, ymm1, ymm1
vmovdqu ymmword [rsp + 0x20], ymm8
vpxor ymm8, ymm4, ymm2
vpxor ymm1, ymm12, ymm1
vpcmpgtb ymm4, ymm14, ymm13
vpxor ymm2, ymm7, ymm2
vpcmpgtb ymm7, ymm14, ymm8
vpaddb ymm8, ymm8, ymm8
vpand ymm0, ymm15, ymm0
vpxor ymm8, ymm9, ymm8
vpxor ymm0, ymm0, ymm1
vpcmpgtb ymm1, ymm14, ymm5
vpaddb ymm5, ymm5, ymm5
vpxor ymm5, ymm5, ymmword [rsp + 0x80]
vpand ymm7, ymm15, ymm7
vpxor ymm7, ymm7, ymm8
vpcmpgtb ymm8, ymm14, ymm11
vpaddb ymm11, ymm11, ymm11
vpand ymm1, ymm15, ymm1
vpxor ymm11, ymm11, ymm10
vpxor ymm5, ymm1, ymm5
vpand ymm1, ymm15, ymm4
vpaddb ymm4, ymm13, ymm13
vpcmpgtb ymm13, ymm14, ymm6
vpxor ymm4, ymm4, ymmword [rsp + 0x40]
vpaddb ymm6, ymm6, ymm6
vpxor ymm6, ymm6, ymmword [rsp + 0x20]
vpand ymm8, ymm15, ymm8
vpxor ymm4, ymm1, ymm4
vpcmpgtb ymm1, ymm14, ymm3
vpaddb ymm3, ymm3, ymm3
vpand ymm13, ymm15, ymm13
vpxor ymm3, ymm3, ymmword [rsp]
vpxor ymm8, ymm8, ymm11
vpxor ymm13, ymm13, ymm6
vpcmpgtb ymm6, ymm14, ymm5
vpaddb ymm5, ymm5, ymm5
vpand ymm1, ymm15, ymm1
vpcmpgtb ymm11, ymm14, ymm2
vpaddb ymm2, ymm2, ymm2
vpxor ymm3, ymm1, ymm3
vmovdqu xmm1, xmmword [rax - 0x10]
vpxor ymm2, ymm2, ymmword [rsp + 0x60]
vpand ymm6, ymm15, ymm6
vpxor ymm5, ymm6, ymm5
vpermq ymm1, ymm1, 0x44
vpand ymm11, ymm15, ymm11
vpcmpgtb ymm6, ymm14, ymm3
vpxor ymm12, ymm1, ymm12
vpaddb ymm1, ymm4, ymm4
vpcmpgtb ymm4, ymm14, ymm4
vpaddb ymm3, ymm3, ymm3
vpxor ymm2, ymm11, ymm2
vpxor ymm3, ymm3, ymm10
vpxor ymm9, ymm9, ymm1
vpxor ymm12, ymm5, ymm12
vpand ymm6, ymm15, ymm6
vpcmpgtb ymm5, ymm14, ymm7
vpaddb ymm7, ymm7, ymm7
vpand ymm4, ymm15, ymm4
vpxor ymm6, ymm6, ymm3
vpshufb ymm12, ymm12, ymmword [0x00686300]
vaesenclast ymm12, ymm12, ymm14
vpcmpgtb ymm3, ymm14, ymm2
vpxor ymm9, ymm9, ymm4
vpaddb ymm2, ymm2, ymm2
vpshufb ymm4, ymm9, ymmword [0x00686320]
vpcmpgtb ymm9, ymm14, ymm0
vpshufb ymm6, ymm6, ymmword [0x00686340]
vpxor ymm7, ymm7, ymmword [rsp + 0x60]
vpaddb ymm0, ymm0, ymm0
vpand ymm5, ymm15, ymm5
vaesenclast ymm6, ymm6, ymm14
vpand ymm3, ymm15, ymm3
vpxor ymm0, ymm0, ymmword [rsp]
vpxor ymm2, ymm2, ymmword [rsp + 0x80]
vpxor ymm5, ymm5, ymm7
vpand ymm9, ymm15, ymm9
vpxor ymm11, ymm3, ymm2
vpcmpgtb ymm2, ymm14, ymm13
vpaddb ymm13, ymm13, ymm13
vpcmpgtb ymm3, ymm14, ymm8
vpxor ymm13, ymm13, ymmword [rsp + 0x40]
vpaddb ymm8, ymm8, ymm8
vpxor ymm8, ymm8, ymmword [rsp + 0x20]
vpxor ymm9, ymm9, ymm0
vpshufb ymm5, ymm5, ymmword [0x006863c0]
vaesenclast ymm5, ymm5, ymm14
vpand ymm2, ymm15, ymm2
vpshufb ymm9, ymm9, ymmword [0x006863a0]
vpshufb ymm11, ymm11, ymmword [0x00686360]
vaesenclast ymm9, ymm9, ymm14
vpxor ymm13, ymm2, ymm13
vpand ymm3, ymm15, ymm3
vpshufb ymm13, ymm13, ymmword [0x00686380]
vpxor ymm3, ymm3, ymm8
vaesenclast ymm13, ymm13, ymm14
vpshufb ymm3, ymm3, ymmword [0x006863e0]
vaesenclast ymm7, ymm3, ymm14
vaesenclast ymm0, ymm4, ymm14
vaesenclast ymm11, ymm11, ymm14
vmovdqu ymmword [rsp], ymm5
vpxor ymm8, ymm7, ymmword [rsp]
vpxor ymm2, ymm9, ymm5
vpxor ymm3, ymm13, ymm9
vmovdqu ymmword [rsp + 0xa0], ymm7
vpxor ymm5, ymm8, ymm3
vpxor ymm7, ymm12, ymmword [rsp + 0xa0]
vmovdqu ymmword [rsp + 0x80], ymm0
vpxor ymm10, ymm12, ymm0
vpxor ymm1, ymm6, ymmword [rsp + 0x80]
vpxor ymm0, ymm6, ymm11
vpxor ymm6, ymm6, ymm5
vpxor ymm4, ymm11, ymm13
vmovdqu ymmword [rsp + 0xc0], ymm6
vpxor ymm6, ymm7, ymm2
vpxor ymm11, ymm6, ymm11
vpxor ymm6, ymm8, ymm10
vpxor ymm13, ymm6, ymm13
vpxor ymm6, ymm7, ymm1
vmovdqu ymmword [rsp + 0x60], ymm11
vpxor ymm11, ymm4, ymm1
vpxor ymm9, ymm6, ymm9
vpxor ymm6, ymm0, ymm10
vpxor ymm5, ymm6, ymmword [rsp]
vmovdqu ymmword [rsp + 0x40], ymm13
vmovdqu ymmword [rsp + 0x20], ymm9
vpxor ymm9, ymm4, ymm10
vpxor ymm6, ymm3, ymm1
vpxor ymm13, ymm3, ymm0
vmovdqu ymmword [rsp], ymm5
vpxor ymm3, ymm7, ymm3
vpxor ymm5, ymm2, ymm0
vpxor ymm0, ymm7, ymm0
vpaddb ymm7, ymm9, ymm9
vpcmpgtb ymm9, ymm14, ymm9
vpxor ymm13, ymm13, ymm12
vpxor ymm12, ymm2, ymm4
vpxor ymm2, ymm2, ymm10
vpxor ymm4, ymm8, ymm4
vmovdqu ymm10, ymmword [rsp + 0xc0]
vpxor ymm11, ymm11, ymmword [rsp + 0xa0]
vpxor ymm1, ymm8, ymm1
vpxor ymm12, ymm12, ymmword [rsp + 0x80]
vpxor ymm7, ymm7, ymm10
vpand ymm9, ymm15, ymm9
vpaddb ymm8, ymm1, ymm1
vpxor ymm9, ymm7, ymm9
vpaddb ymm7, ymm6, ymm6
vpxor ymm7, ymm7, ymmword [rsp + 0x60]
vpcmpgtb ymm6, ymm14, ymm6
vpand ymm6, ymm15, ymm6
vpxor ymm6, ymm7, ymm6
vpaddb ymm7, ymm5, ymm5
vpxor ymm7, ymm7, ymmword [rsp + 0x40]
vpcmpgtb ymm5, ymm14, ymm5
vpand ymm5, ymm15, ymm5
vpxor ymm5, ymm7, ymm5
vpaddb ymm7, ymm4, ymm4
vpxor ymm7, ymm7, ymmword [rsp + 0x20]
vpcmpgtb ymm4, ymm14, ymm4
vpand ymm4, ymm15, ymm4
vpxor ymm4, ymm7, ymm4
vpaddb ymm7, ymm3, ymm3
vpxor ymm7, ymm7, ymmword [rsp]
vpcmpgtb ymm3, ymm14, ymm3
vpand ymm3, ymm15, ymm3
vpxor ymm3, ymm7, ymm3
vpaddb ymm7, ymm2, ymm2
vpcmpgtb ymm2, ymm14, ymm2
vpxor ymm7, ymm11, ymm7
vpand ymm2, ymm15, ymm2
vpxor ymm2, ymm7, ymm2
vpxor ymm7, ymm13, ymm8
vpcmpgtb ymm8, ymm14, ymm1
vpaddb ymm1, ymm0, ymm0
vpcmpgtb ymm0, ymm14, ymm0
vpxor ymm1, ymm12, ymm1
vpand ymm8, ymm15, ymm8
vpand ymm0, ymm15, ymm0
vpxor ymm8, ymm7, ymm8
vpxor ymm0, ymm1, ymm0
vpcmpgtb ymm7, ymm14, ymm3
vpaddb ymm1, ymm9, ymm9
vpxor ymm11, ymm11, ymm1
vpcmpgtb ymm9, ymm14, ymm9
vpaddb ymm1, ymm6, ymm6
vpcmpgtb ymm6, ymm14, ymm6
vpxor ymm13, ymm13, ymm1
vpaddb ymm1, ymm5, ymm5
vpxor ymm12, ymm12, ymm1
vpcmpgtb ymm5, ymm14, ymm5
vpaddb ymm3, ymm3, ymm3
vpand ymm9, ymm15, ymm9
vpand ymm7, ymm15, ymm7
vpand ymm6, ymm15, ymm6
vpxor ymm11, ymm11, ymm9
vpaddb ymm9, ymm8, ymm8
vpxor ymm13, ymm13, ymm6
vpcmpgtb ymm8, ymm14, ymm8
vpaddb ymm6, ymm2, ymm2
vpcmpgtb ymm2, ymm14, ymm2
vpxor ymm6, ymm6, ymmword [rsp + 0x40]
vpxor ymm9, ymm9, ymmword [rsp + 0x20]
vpand ymm5, ymm15, ymm5
vpand ymm8, ymm15, ymm8
vpxor ymm12, ymm12, ymm5
vpand ymm2, ymm15, ymm2
vpxor ymm9, ymm9, ymm8
vpaddb ymm8, ymm0, ymm0
vpxor ymm1, ymm6, ymm2
vpcmpgtb ymm0, ymm14, ymm0
vpaddb ymm6, ymm4, ymm4
vpcmpgtb ymm4, ymm14, ymm4
vpxor ymm8, ymm8, ymmword [rsp]
vpxor ymm3, ymm3, ymmword [rsp + 0x60]
vpxor ymm6, ymm6, ymm10
vpand ymm0, ymm15, ymm0
vpxor ymm7, ymm7, ymm3
vpand ymm4, ymm15, ymm4
vpxor ymm8, ymm8, ymm0
vpxor ymm10, ymm6, ymm4
cmp rdx, rax
jne 0x473140
vpxor ymm15, ymm13, ymmword [rsp + 0x1a0]
vpxor ymm12, ymm12, ymmword [rsp + 0x1c0]
vpxor ymm10, ymm10, ymmword [rsp + 0xe0]
vpxor ymm7, ymm7, ymmword [rsp + 0x100]
vpxor ymm1, ymm1, ymmword [rsp + 0x120]
vpunpckhqdq ymm12, ymm15, ymm12
vpxor ymm9, ymm9, ymmword [rsp + 0x140]
vpxor ymm8, ymm8, ymmword [rsp + 0x160]
vmovdqu ymm15, ymmword [0x006862e0]
vpunpckhqdq ymm10, ymm10, ymm7
vpxor ymm11, ymm11, ymmword [rsp + 0x180]
vpunpckhqdq ymm1, ymm1, ymm9
vpshufb ymm10, ymm10, ymm15
vpshufb ymm1, ymm1, ymm15
vpshufb ymm12, ymm12, ymm15
vpunpckhqdq ymm8, ymm8, ymm11
vpunpckhwd ymm2, ymm10, ymm1
vpunpcklwd ymm1, ymm10, ymm1
vpshufb ymm0, ymm8, ymm15
vpshufd ymm1, ymm1, 0xd8
vpshufd ymm2, ymm2, 0xd8
vpunpckhwd ymm3, ymm0, ymm12
vpunpcklwd ymm0, ymm0, ymm12
vpshufd ymm3, ymm3, 0xd8
vpshufd ymm0, ymm0, 0xd8
vpunpckldq ymm4, ymm1, ymm0
vpunpckhdq ymm0, ymm1, ymm0
vpunpckldq ymm1, ymm2, ymm3
vpunpckhdq ymm2, ymm2, ymm3
vmovdqu ymmword [rcx + 0x80], ymm4
vmovdqu ymmword [rcx + 0xa0], ymm1
vmovdqu ymmword [rcx + 0xc0], ymm0
vmovdqu ymmword [rcx + 0xe0], ymm2
vzeroupper
vmovups xmm6, xmmword [rsp + 0x1e0]
vmovups xmm7, xmmword [rsp + 0x1f0]
vmovups xmm8, xmmword [rsp + 0x200]
vmovups xmm9, xmmword [rsp + 0x210]
vmovups xmm10, xmmword [rsp + 0x220]
vmovups xmm11, xmmword [rsp + 0x230]
vmovups xmm12, xmmword [rsp + 0x240]
vmovups xmm13, xmmword [rsp + 0x250]
vmovups xmm14, xmmword [rsp + 0x260]
vmovups xmm15, xmmword [rsp + 0x270]
add rsp, 0x288
ret