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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x818
vmovups xmmword [rsp + 0x770], xmm6
vmovups xmmword [rsp + 0x780], xmm7
vmovups xmmword [rsp + 0x790], xmm8
vmovups xmmword [rsp + 0x7a0], xmm9
vmovups xmmword [rsp + 0x7b0], xmm10
vmovups xmmword [rsp + 0x7c0], xmm11
vmovups xmmword [rsp + 0x7d0], xmm12
vmovups xmmword [rsp + 0x7e0], xmm13
vmovups xmmword [rsp + 0x7f0], xmm14
vmovups xmmword [rsp + 0x800], xmm15
mov r10, rcx
lea rax, [rsp + 0x57f]
mov rcx, rdx
mov esi, r8d
vmovdqu ymm3, ymmword [r10]
and rax, 0xffffffffffffffe0
vmovdqu ymm9, ymmword [r10 + 0x60]
vmovdqu ymm4, ymmword [r10 + 0xa0]
vmovdqu ymm14, ymmword [r10 + 0xe0]
vmovdqu ymm12, ymmword [r10 + 0x140]
vmovdqu ymmword [rsp], ymm3
vmovdqu ymm15, ymmword [r10 + 0x160]
vmovdqu ymmword [rax], ymm3
vmovdqu ymm3, ymmword [r10 + 0x20]
vmovdqu ymmword [rsp + 0xe0], ymm4
vmovdqu ymmword [rsp + 0xc0], ymm3
vmovdqu ymmword [rax + 0x20], ymm3
vmovdqu ymm3, ymmword [r10 + 0x40]
vmovdqu ymmword [rax + 0xa0], ymm4
vmovdqu ymm4, ymmword [r10 + 0x100]
vmovdqu ymmword [rsp + 0x120], ymm3
vmovdqu ymmword [rax + 0x40], ymm3
vmovdqu ymm3, ymmword [r10 + 0x80]
vmovdqu ymmword [rsp + 0x40], ymm4
vmovdqu ymmword [rsp + 0x20], ymm3
vmovdqu ymmword [rax + 0x80], ymm3
vmovdqu ymm3, ymmword [r10 + 0xc0]
vmovdqu ymmword [rax + 0x100], ymm4
vmovdqu ymm4, ymmword [r10 + 0x180]
vmovdqu ymmword [rsp + 0x140], ymm3
vmovdqu ymmword [rax + 0xc0], ymm3
vmovdqu ymm3, ymmword [r10 + 0x120]
vmovdqu ymmword [rax + 0x60], ymm9
vmovdqu ymmword [rax + 0xe0], ymm14
vmovdqu ymm7, ymm3
vmovdqu ymmword [rax + 0x120], ymm3
vmovdqu ymmword [rax + 0x140], ymm12
vmovdqu ymmword [rax + 0x160], ymm15
vmovdqu ymmword [rsp + 0x60], ymm4
vmovdqu ymm10, ymmword [r10 + 0x1a0]
vmovdqu ymm6, ymmword [r10 + 0x1c0]
vmovdqu ymmword [rax + 0x180], ymm4
vmovdqu ymm4, ymmword [r10 + 0x1e0]
vmovdqu ymmword [rax + 0x1a0], ymm10
vmovdqu ymmword [rax + 0x1c0], ymm6
vmovdqu ymm5, ymm4
vmovdqu ymmword [rax + 0x1e0], ymm4
test r8d, r8d
je 0x47761e
mov r12d, dword [r10 + 0x864]
mov edx, 1
vmovdqu ymm13, ymm12
vmovdqu ymm5, ymmword [r10 + 0x840]
vmovq xmm0, rdx
mov r8d, r12d
vpermq ymm8, ymm0, 0x44
mov edx, 0x1b00
xor r11d, r11d
mov edi, dword [r10 + 0x868]
shr r8d, 8
vmovdqu ymm12, ymm15
vmovdqu ymm15, ymm4
mov r9d, dword [r10 + 0x860]
lea ebx, [r8 + 1]
lea ebp, [r8 + 2]
vmovdqu ymm1, ymm14
vmovdqu ymmword [rsp + 0x540], ymm5
shl rdi, 5
vmovdqu ymm5, ymmword [r10 + 0x800]
vmovq xmm0, rdx
vmovdqu ymmword [rsp + 0x100], ymm10
vpermq ymm11, ymm0, 0x44
shr r9d, 1
vmovdqu ymm10, ymm3
vmovdqu ymmword [rsp + 0x3a0], ymm5
vmovdqu ymm4, ymm11
vmovdqu ymm11, ymm8
vmovdqu ymmword [rsp + 0x1a0], ymm4
nop dword [rax + rax]
vmovdqu ymm4, ymmword [rsp + 0x3a0]
vpaddq ymm4, ymm4, ymmword [rsp + 0x540]
vmovdqu ymmword [rsp + 0x3a0], ymm4
vmovdqu ymmword [r10 + 0x800], ymm4
cmp r8d, 3
ja 0x476826
mov edx, r8d
vmovdqu ymm4, ymmword [rcx]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [rax + r13], ymm4
vmovdqu ymm4, ymmword [rcx + 0x20]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [r13 + rax + 0x80], ymm4
vmovdqu ymm4, ymmword [rcx + 0x40]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [r13 + rax + 0x100], ymm4
vmovdqu ymm4, ymmword [rcx + 0x60]
vmovdqu ymmword [r13 + rax + 0x180], ymm4
cmp ebx, 3
ja 0x47676f
mov edx, ebx
vmovdqu ymm4, ymmword [rcx + 0x80]
vmovdqu ymm3, ymmword [rcx + 0xe0]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [rax + r13], ymm4
vmovdqu ymm4, ymmword [rcx + 0xa0]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [r13 + rax + 0x80], ymm4
mov r13, rdx
vmovdqu ymm4, ymmword [rcx + 0xc0]
shl r13, 5
vmovdqu ymmword [r13 + rax + 0x100], ymm4
vmovdqu ymmword [r13 + rax + 0x180], ymm3
cmp ebp, 3
ja 0x47676f
mov edx, ebp
vmovdqu ymm3, ymmword [rcx + 0x100]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [rax + r13], ymm3
vmovdqu ymm3, ymmword [rcx + 0x120]
mov r13, rdx
shl r13, 5
vmovdqu ymmword [r13 + rax + 0x80], ymm3
mov r13, rdx
vmovdqu ymm3, ymmword [rcx + 0x140]
shl r13, 5
vmovdqu ymmword [r13 + rax + 0x100], ymm3
vmovdqu ymm3, ymmword [rcx + 0x160]
vmovdqu ymmword [r13 + rax + 0x180], ymm3
test r8d, r8d
jne 0x47676f
vmovdqu ymm3, ymmword [rcx + 0x180]
vmovdqu ymm4, ymmword [rcx + 0x1a0]
vmovdqu ymmword [rax + 0x60], ymm3
vmovdqu ymm3, ymmword [rcx + 0x1c0]
vmovdqu ymmword [rax + 0xe0], ymm4
vmovdqu ymm4, ymmword [rcx + 0x1e0]
vmovdqu ymmword [rax + 0x160], ymm3
vmovdqu ymmword [rax + 0x1e0], ymm4
vmovdqu ymm4, ymmword [rax]
vmovdqu ymm9, ymmword [rax + 0x60]
vmovdqu ymm1, ymmword [rax + 0xe0]
vmovdqu ymm10, ymmword [rax + 0x120]
vmovdqu ymmword [rsp], ymm4
vmovdqu ymm4, ymmword [rax + 0x20]
vmovdqu ymm13, ymmword [rax + 0x140]
vmovdqu ymm12, ymmword [rax + 0x160]
vmovdqu ymm6, ymmword [rax + 0x1c0]
vmovdqu ymmword [rsp + 0xc0], ymm4
vmovdqu ymm4, ymmword [rax + 0x40]
vmovdqu ymm15, ymmword [rax + 0x1e0]
vmovdqu ymmword [rsp + 0x120], ymm4
vmovdqu ymm4, ymmword [rax + 0x80]
vmovdqu ymmword [rsp + 0x20], ymm4
vmovdqu ymm4, ymmword [rax + 0xa0]
vmovdqu ymmword [rsp + 0xe0], ymm4
vmovdqu ymm4, ymmword [rax + 0xc0]
vmovdqu ymmword [rsp + 0x140], ymm4
vmovdqu ymm4, ymmword [rax + 0x100]
vmovdqu ymmword [rsp + 0x40], ymm4
vmovdqu ymm4, ymmword [rax + 0x180]
vmovdqu ymmword [rsp + 0x60], ymm4
vmovdqu ymm4, ymmword [rax + 0x1a0]
vmovdqu ymmword [rsp + 0x100], ymm4
vmovdqu ymm4, ymmword [rsp]
vpxor ymm0, ymm10, ymm12
vpxor ymm3, ymm4, ymmword [rsp + 0x120]
vpxor ymm4, ymm9, ymmword [rsp + 0xc0]
vmovdqu ymm5, ymm0
vpxor ymm8, ymm15, ymmword [rsp + 0x100]
vmovdqu ymmword [rsp + 0x4e0], ymm0
vmovdqu ymmword [rsp + 0x460], ymm3
vmovdqu ymm14, ymm3
vmovdqu ymmword [rsp + 0x440], ymm4
vmovdqu ymmword [rsp + 0x80], ymm4
vpxor ymm4, ymm4, ymm3
vmovdqu ymmword [rsp + 0x3e0], ymm4
vmovdqu ymm4, ymmword [rsp + 0x20]
vpxor ymm3, ymm4, ymmword [rsp + 0x140]
vpxor ymm4, ymm1, ymmword [rsp + 0xe0]
vmovdqu ymmword [rsp + 0x520], ymm8
vmovdqu ymmword [rsp + 0x480], ymm3
vmovdqu ymm2, ymm3
vmovdqu ymmword [rsp + 0x4a0], ymm4
vmovdqu ymm7, ymm4
vpxor ymm4, ymm4, ymm3
vpxor ymm3, ymm13, ymmword [rsp + 0x40]
vmovdqu ymmword [rsp + 0x420], ymm4
vmovdqu ymmword [rsp + 0x4c0], ymm3
vmovdqu ymm4, ymm3
vpxor ymm3, ymm0, ymm3
vmovdqu ymmword [rsp + 0x400], ymm3
vpxor ymm3, ymm6, ymmword [rsp + 0x60]
vmovdqu ymmword [rsp + 0xa0], ymm8
vmovdqu ymmword [rsp + 0x500], ymm3
vmovdqu ymm0, ymm3
vpxor ymm3, ymm8, ymm3
vmovdqu ymmword [rsp + 0x3c0], ymm3
test r9d, r9d
je 0x4774e9
vmovdqu ymm4, ymmword [rsp + 0x3a0]
vmovdqu ymm3, ymmword [0x0068cf40]
xor edx, edx
vmovdqu ymm0, ymm6
vmovdqu ymm8, ymmword [rsp + 0x1a0]
vmovdqu ymmword [rsp + 0x160], ymm10
vmovdqu ymmword [rsp + 0x80], ymm4
vpxor xmm4, xmm4, xmm4
vmovdqu ymmword [rsp + 0x180], ymm13
nop dword [rax]
vmovdqu ymm5, ymmword [rsp + 0x80]
vmovdqu ymm7, ymmword [rsp]
add edx, 1
vmovdqu ymm14, ymmword [rsp + 0xc0]
vaesenc ymm6, ymm7, ymm5
vpaddd ymm2, ymm11, ymm5
vmovdqu ymm5, ymmword [rsp + 0x20]
vmovdqu ymm7, ymmword [rsp + 0x60]
vaesenc ymm10, ymm5, ymm2
vmovdqu ymm5, ymmword [rsp + 0x40]
vpaddd ymm2, ymm2, ymm11
vaesenc ymm5, ymm5, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm13, ymm7, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm14, ymm14, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm6, ymm6, ymm4
vaesenc ymm7, ymm10, ymm4
vmovdqu ymm10, ymmword [rsp + 0xe0]
vaesenc ymm5, ymm5, ymm4
vaesenc ymm13, ymm13, ymm4
vaesenc ymm14, ymm14, ymm4
vmovdqu ymmword [rsp + 0x80], ymm7
vmovdqu ymmword [rsp + 0xa0], ymm5
vaesenc ymm5, ymm10, ymm2
vpaddd ymm2, ymm2, ymm11
vmovdqu ymm10, ymmword [rsp + 0x160]
vmovdqu ymmword [rsp], ymm14
vaesenc ymm7, ymm10, ymm2
vpaddd ymm2, ymm2, ymm11
vmovdqu ymm10, ymmword [rsp + 0x100]
vaesenc ymm10, ymm10, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm5, ymm5, ymm4
vaesenc ymm14, ymm7, ymm4
vaesenc ymm7, ymm10, ymm4
vmovdqu ymm10, ymmword [rsp + 0x120]
vmovdqu ymmword [rsp + 0xc0], ymm14
vaesenc ymm14, ymm10, ymm2
vpaddd ymm2, ymm2, ymm11
vmovdqu ymm10, ymmword [rsp + 0x140]
vmovdqu ymmword [rsp + 0xe0], ymm7
vaesenc ymm7, ymm10, ymm2
vpaddd ymm2, ymm2, ymm11
vmovdqu ymm10, ymmword [rsp + 0x180]
vaesenc ymm10, ymm10, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm0, ymm0, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm14, ymm14, ymm4
vaesenc ymm7, ymm7, ymm4
vaesenc ymm10, ymm10, ymm4
vaesenc ymm0, ymm0, ymm4
vmovdqu ymmword [rsp + 0x100], ymm0
vaesenc ymm0, ymm9, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm1, ymm1, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm12, ymm12, ymm2
vpaddd ymm2, ymm2, ymm11
vaesenc ymm15, ymm15, ymm2
vpaddd ymm9, ymm2, ymm11
vmovdqu ymmword [rsp + 0x340], ymm9
vaesenc ymm9, ymm0, ymm4
vpsrlw ymm0, ymm6, 7
vaesenc ymm2, ymm1, ymm4
vpand ymm0, ymm3, ymm0
vpaddb ymm1, ymm6, ymm6
vaesenc ymm12, ymm12, ymm4
vpshufb ymm0, ymm8, ymm0
vaesenc ymm15, ymm15, ymm4
vpxor ymm1, ymm1, ymm0
vpaddb ymm0, ymm5, ymm5
vmovdqu ymmword [rsp + 0x320], ymm1
vpsrlw ymm1, ymm5, 7
vpand ymm1, ymm3, ymm1
vpshufb ymm1, ymm8, ymm1
vmovdqu ymmword [rsp + 0x20], ymm9
vpxor ymm1, ymm0, ymm1
vpaddb ymm0, ymm10, ymm10
vmovdqu ymmword [rsp + 0x40], ymm2
vmovdqu ymm2, ymmword [rsp]
vmovdqu ymmword [rsp + 0x300], ymm1
vpxor ymm1, ymm6, ymm5
vpxor ymm5, ymm5, ymm10
vpxor ymm6, ymm6, ymm10
vmovdqu ymmword [rsp + 0x160], ymm1
vpsrlw ymm1, ymm10, 7
vpand ymm1, ymm3, ymm1
vpshufb ymm1, ymm8, ymm1
vpxor ymm0, ymm0, ymm1
vpaddb ymm1, ymm15, ymm15
vmovdqu ymmword [rsp + 0x2e0], ymm0
vpsrlw ymm0, ymm15, 7
vpand ymm0, ymm3, ymm0
vpshufb ymm0, ymm8, ymm0
vpxor ymm9, ymm1, ymm0
vpsrlw ymm0, ymm2, 7
vpaddb ymm1, ymm2, ymm2
vpand ymm0, ymm3, ymm0
vmovdqu ymmword [rsp + 0x60], ymm9
vpxor ymm2, ymm7, ymmword [rsp]
vpshufb ymm0, ymm8, ymm0
vmovdqu ymmword [rsp + 0x380], ymm2
vpxor ymm9, ymm1, ymm0
vpsrlw ymm0, ymm7, 7
vpaddb ymm1, ymm7, ymm7
vpand ymm0, ymm3, ymm0
vpxor ymm7, ymm7, ymm12
vmovdqu ymmword [rsp + 0x2c0], ymm9
vpshufb ymm0, ymm8, ymm0
vpxor ymm0, ymm1, ymm0
vpaddb ymm1, ymm12, ymm12
vmovdqu ymmword [rsp + 0x2a0], ymm0
vpsrlw ymm0, ymm12, 7
vpand ymm0, ymm3, ymm0
vpshufb ymm0, ymm8, ymm0
vpxor ymm2, ymm1, ymm0
vpsrlw ymm0, ymm13, 7
vpaddb ymm1, ymm13, ymm13
vmovdqu ymmword [rsp + 0x280], ymm2
vpand ymm0, ymm3, ymm0
vpshufb ymm0, ymm8, ymm0
vpxor ymm9, ymm1, ymm0
vpsrlw ymm0, ymm14, 7
vpaddb ymm1, ymm14, ymm14
vmovdqu ymmword [rsp + 0x260], ymm9
vpand ymm0, ymm3, ymm0
vmovdqu ymm2, ymmword [rsp + 0x40]
vpshufb ymm0, ymm8, ymm0
vpxor ymm1, ymm1, ymm0
vpsrlw ymm0, ymm2, 7
vmovdqu ymmword [rsp + 0x240], ymm1
vpaddb ymm1, ymm2, ymm2
vpxor ymm2, ymm14, ymmword [rsp + 0x40]
vpand ymm0, ymm3, ymm0
vpshufb ymm0, ymm8, ymm0
vmovdqu ymmword [rsp + 0x360], ymm2
vpxor ymm0, ymm1, ymm0
vmovdqu ymm2, ymmword [rsp + 0xa0]
vmovdqu ymmword [rsp + 0x220], ymm0
vpsrlw ymm0, ymm2, 7
vpaddb ymm1, ymm2, ymm2
vmovdqu ymm2, ymmword [rsp + 0x80]
vpand ymm0, ymm3, ymm0
vpshufb ymm0, ymm8, ymm0
vpxor ymm9, ymm1, ymm0
vmovdqu ymm1, ymmword [rsp + 0xe0]
vmovdqu ymmword [rsp + 0x200], ymm9
vpsrlw ymm0, ymm1, 7
vpaddb ymm1, ymm1, ymm1
vpand ymm0, ymm3, ymm0
vpshufb ymm0, ymm8, ymm0
vpxor ymm0, ymm1, ymm0
vmovdqu ymmword [rsp + 0x1e0], ymm0
vmovdqu ymm0, ymmword [rsp + 0x20]
vpsrlw ymm1, ymm0, 7
vpaddb ymm0, ymm0, ymm0
vpand ymm1, ymm3, ymm1
vpshufb ymm1, ymm8, ymm1
vpxor ymm9, ymm0, ymm1
vpsrlw ymm0, ymm2, 7
vpaddb ymm1, ymm2, ymm2
vmovdqu ymmword [rsp + 0x1c0], ymm9
vpand ymm0, ymm3, ymm0
vmovdqu ymm9, ymmword [rsp + 0x20]
vpshufb ymm0, ymm8, ymm0
vpxor ymm1, ymm1, ymm0
vpxor ymm9, ymm9, ymm2
vmovdqu ymm0, ymmword [rsp + 0x100]
vmovdqu ymmword [rsp + 0x1a0], ymm1
vmovdqu ymm1, ymmword [rsp + 0xc0]
vmovdqu ymmword [rsp + 0x140], ymm9
vmovdqu ymm9, ymmword [rsp + 0x300]
vpsrlw ymm2, ymm1, 7
vpaddb ymm1, ymm1, ymm1
vpand ymm2, ymm3, ymm2
vpshufb ymm2, ymm8, ymm2
vpxor ymm2, ymm1, ymm2
vpsrlw ymm1, ymm0, 7
vpaddb ymm0, ymm0, ymm0
vmovdqu ymmword [rsp + 0x180], ymm2
vpand ymm1, ymm3, ymm1
vmovdqu ymm2, ymmword [rsp + 0x320]
vpshufb ymm1, ymm8, ymm1
vpxor ymm0, ymm0, ymm1
vmovdqu ymm1, ymm9
vmovdqu ymmword [rsp + 0x120], ymm0
vpxor ymm0, ymm9, ymm2
vmovdqu ymm9, ymmword [rsp + 0x2e0]
vpxor ymm5, ymm0, ymm5
vmovdqu ymm0, ymmword [rsp + 0x340]
vpxor ymm1, ymm1, ymm9
vpxor ymm5, ymm5, ymm15
vaesenc ymm5, ymm5, ymm0
vpxor ymm6, ymm1, ymm6
vpaddd ymm0, ymm11, ymm0
vmovdqu ymm1, ymmword [rsp + 0x60]
vpxor ymm6, ymm6, ymm15
vaesenc ymm6, ymm6, ymm0
vpxor ymm1, ymm1, ymm9
vpaddd ymm0, ymm0, ymm11
vmovdqu ymm9, ymmword [rsp + 0x160]
vpxor ymm15, ymm15, ymm9
vpxor ymm10, ymm10, ymm9
vmovdqu ymm9, ymmword [rsp + 0x60]
vpxor ymm15, ymm1, ymm15
vaesenc ymm15, ymm15, ymm0
vpxor ymm1, ymm9, ymm2
vpaddd ymm0, ymm0, ymm11
vmovdqu ymm9, ymmword [rsp + 0x2c0]
vaesenc ymm5, ymm5, ymm4
vpxor ymm10, ymm10, ymm1
vaesenc ymm6, ymm6, ymm4
vaesenc ymm10, ymm10, ymm0
vpaddd ymm0, ymm0, ymm11
vmovdqu ymmword [rsp + 0x60], ymm5
vmovdqu ymmword [rsp + 0x2e0], ymm6
vaesenc ymm6, ymm15, ymm4
vaesenc ymm15, ymm10, ymm4
vmovdqu ymm10, ymmword [rsp + 0x2a0]
vpxor ymm1, ymm10, ymm9
vpxor ymm1, ymm1, ymm7
vmovdqu ymm7, ymmword [rsp + 0x280]
vpxor ymm1, ymm1, ymm13
vmovdqu ymmword [rsp + 0x300], ymm6
vpxor ymm5, ymm12, ymmword [rsp]
vpxor ymm6, ymm10, ymm7
vmovdqu ymm10, ymmword [rsp + 0x380]
vaesenc ymm1, ymm1, ymm0
vpaddd ymm0, ymm0, ymm11
vpxor ymm6, ymm6, ymm5
vpxor ymm12, ymm12, ymm10
vmovdqu ymm5, ymmword [rsp + 0x260]
vpxor ymm6, ymm6, ymm13
vpxor ymm13, ymm13, ymm10
vaesenc ymm6, ymm6, ymm0
vpxor ymm2, ymm7, ymm5
vpaddd ymm0, ymm0, ymm11
vmovdqu ymm7, ymmword [rsp + 0xe0]
vpxor ymm13, ymm2, ymm13
vpxor ymm2, ymm5, ymm9
vmovdqu ymm5, ymmword [rsp + 0xa0]
vpxor ymm9, ymm5, ymmword [rsp + 0x40]
vaesenc ymm13, ymm13, ymm0
vpxor ymm12, ymm2, ymm12
vpaddd ymm0, ymm0, ymm11
vaesenc ymm12, ymm12, ymm0
vpaddd ymm0, ymm0, ymm11
vpxor ymm14, ymm14, ymm5
vaesenc ymm10, ymm1, ymm4
vaesenc ymm6, ymm6, ymm4
vaesenc ymm13, ymm13, ymm4
vaesenc ymm12, ymm12, ymm4
vmovdqu ymmword [rsp + 0x160], ymm10
vmovdqu ymm10, ymmword [rsp + 0x240]
vmovdqu ymmword [rsp + 0x260], ymm13
vmovdqu ymm13, ymmword [rsp + 0x200]
vmovdqu ymmword [rsp + 0x280], ymm12
vmovdqu ymm12, ymmword [rsp + 0x220]
vpxor ymm2, ymm12, ymm10
vpxor ymm9, ymm2, ymm9
vmovdqu ymm2, ymm5
vpxor ymm1, ymm9, ymm7
vpaddd ymm9, ymm0, ymm11
vaesenc ymm1, ymm1, ymm0
vpxor ymm0, ymm12, ymm13
vmovdqu ymm12, ymmword [rsp + 0x360]
vpxor ymm5, ymm0, ymm14
vmovdqu ymm0, ymm7
vmovdqu ymm14, ymmword [rsp + 0x1e0]
vpxor ymm0, ymm0, ymm12
vpxor ymm5, ymm5, ymm7
vpxor ymm12, ymm12, ymm2
vmovdqu ymm2, ymmword [rsp + 0x100]
vaesenc ymm5, ymm5, ymm9
vpxor ymm7, ymm13, ymm14
vpaddd ymm9, ymm9, ymm11
vmovdqu ymm13, ymmword [rsp + 0x180]
vpxor ymm7, ymm7, ymm0
vpxor ymm0, ymm14, ymm10
vmovdqu ymm14, ymmword [rsp + 0xc0]
vaesenc ymm7, ymm7, ymm9
vpxor ymm0, ymm0, ymm12
vpaddd ymm9, ymm9, ymm11
vmovdqu ymm12, ymmword [rsp + 0x1c0]
vaesenc ymm0, ymm0, ymm9
vpaddd ymm9, ymm9, ymm11
vaesenc ymm10, ymm1, ymm4
vmovdqu ymm1, ymmword [rsp + 0x1a0]
vaesenc ymm5, ymm5, ymm4
vaesenc ymm7, ymm7, ymm4
vmovdqu ymmword [rsp + 0xa0], ymm10
vaesenc ymm10, ymm0, ymm4
vpxor ymm0, ymm14, ymmword [rsp + 0x80]
vmovdqu ymmword [rsp + 0x1e0], ymm10
vpxor ymm10, ymm1, ymm12
vpxor ymm10, ymm10, ymm0
vpxor ymm0, ymm1, ymm13
vmovdqu ymm1, ymmword [rsp + 0x20]
vpxor ymm10, ymm10, ymm2
vaesenc ymm10, ymm10, ymm9
vpxor ymm1, ymm1, ymm14
vpaddd ymm9, ymm9, ymm11
vpxor ymm0, ymm0, ymm1
vmovdqu ymm1, ymm2
vpxor ymm1, ymm1, ymmword [rsp + 0x140]
vpxor ymm0, ymm0, ymm2
vmovdqu ymm2, ymmword [rsp + 0x120]
vaesenc ymm0, ymm0, ymm9
vpaddd ymm9, ymm9, ymm11
vpxor ymm2, ymm2, ymm13
vmovdqu ymm13, ymmword [rsp + 0x120]
vpxor ymm2, ymm2, ymm1
vaesenc ymm2, ymm2, ymm9
vpxor ymm1, ymm13, ymm12
vpaddd ymm9, ymm9, ymm11
vmovdqu ymm12, ymmword [rsp + 0x140]
vpaddd ymm13, ymm9, ymm11
vmovdqu ymmword [rsp + 0x80], ymm13
vpxor ymm12, ymm12, ymm14
vmovdqu ymm14, ymmword [rsp + 0x60]
vpxor ymm13, ymm6, ymmword [rsp + 0x60]
vaesenc ymm0, ymm0, ymm4
vpxor ymm1, ymm1, ymm12
vpaddb ymm12, ymm6, ymm6
vaesenc ymm1, ymm1, ymm9
vmovdqu ymmword [rsp + 0x40], ymm13
vaesenc ymm9, ymm10, ymm4
vpsrlw ymm10, ymm14, 7
vaesenc ymm2, ymm2, ymm4
vpand ymm10, ymm3, ymm10
vaesenc ymm1, ymm1, ymm4
vmovdqu ymmword [rsp + 0x1a0], ymm9
vpshufb ymm9, ymm8, ymm10
vpaddb ymm10, ymm14, ymm14
vpaddb ymm14, ymm7, ymm7
vpxor ymm10, ymm10, ymm9
vpsrlw ymm9, ymm6, 7
vpxor ymm6, ymm7, ymm6
vpand ymm9, ymm3, ymm9
vpshufb ymm9, ymm8, ymm9
vpxor ymm9, ymm12, ymm9
vpsrlw ymm12, ymm7, 7
vpand ymm12, ymm3, ymm12
vpaddb ymm13, ymm1, ymm1
vpshufb ymm12, ymm8, ymm12
vpxor ymm12, ymm14, ymm12
vpsrlw ymm14, ymm1, 7
vpand ymm14, ymm3, ymm14
vpshufb ymm14, ymm8, ymm14
vpxor ymm14, ymm14, ymm13
vpxor ymm13, ymm10, ymm9
vpxor ymm9, ymm9, ymm12
vpxor ymm6, ymm6, ymm13
vpxor ymm12, ymm12, ymm14
vpxor ymm10, ymm10, ymm14
vpxor ymm13, ymm6, ymm1
vmovdqu ymmword [rsp], ymm13
vpxor ymm6, ymm7, ymmword [rsp + 0x60]
vmovdqu ymm14, ymmword [rsp + 0x160]
vpxor ymm9, ymm9, ymm6
vpsrlw ymm6, ymm14, 7
vpxor ymm13, ymm9, ymm1
vpand ymm6, ymm3, ymm6
vpxor ymm9, ymm5, ymm14
vmovdqu ymmword [rsp + 0x20], ymm13
vmovdqu ymm13, ymmword [rsp + 0x40]
vpxor ymm1, ymm1, ymm13
vpxor ymm7, ymm7, ymm13
vpxor ymm1, ymm12, ymm1
vpxor ymm7, ymm10, ymm7
vpaddb ymm10, ymm2, ymm2
vmovdqu ymmword [rsp + 0x40], ymm1
vpshufb ymm1, ymm8, ymm6
vpaddb ymm6, ymm14, ymm14
vpaddb ymm12, ymm15, ymm15
vpxor ymm6, ymm6, ymm1
vpsrlw ymm1, ymm5, 7
vmovdqu ymmword [rsp + 0x60], ymm7
vpaddb ymm7, ymm5, ymm5
vpand ymm1, ymm3, ymm1
vpxor ymm5, ymm2, ymm5
vpshufb ymm1, ymm8, ymm1
vpxor ymm1, ymm7, ymm1
vpsrlw ymm7, ymm2, 7
vpand ymm7, ymm3, ymm7
vpshufb ymm7, ymm8, ymm7
vpxor ymm7, ymm10, ymm7
vpsrlw ymm10, ymm15, 7
vpand ymm10, ymm3, ymm10
vpshufb ymm10, ymm8, ymm10
vpxor ymm10, ymm12, ymm10
vpxor ymm12, ymm6, ymm1
vpxor ymm1, ymm1, ymm7
vpxor ymm5, ymm12, ymm5
vpxor ymm6, ymm6, ymm10
vpxor ymm12, ymm9, ymm15
vpxor ymm13, ymm5, ymm15
vpxor ymm5, ymm2, ymm14
vpxor ymm7, ymm7, ymm10
vpxor ymm1, ymm1, ymm5
vpxor ymm10, ymm9, ymm2
vmovdqu ymm9, ymmword [rsp + 0xa0]
vpxor ymm7, ymm7, ymm12
vmovdqu ymmword [rsp + 0x160], ymm7
vpxor ymm1, ymm1, ymm15
vpxor ymm7, ymm6, ymm10
vmovdqu ymm6, ymmword [rsp + 0x300]
vmovdqu ymmword [rsp + 0xe0], ymm1
vpsrlw ymm1, ymm9, 7
vpaddb ymm2, ymm9, ymm9
vmovdqu ymm12, ymmword [rsp + 0x280]
vpand ymm1, ymm3, ymm1
vpsrlw ymm10, ymm6, 7
vpxor ymm15, ymm0, ymm9
vmovdqu ymmword [rsp + 0x100], ymm7
vpsrlw ymm7, ymm0, 7
vpshufb ymm1, ymm8, ymm1
vpand ymm10, ymm3, ymm10
vmovdqu ymmword [rsp + 0xc0], ymm13
vpand ymm7, ymm3, ymm7
vpxor ymm1, ymm2, ymm1
vpaddb ymm5, ymm12, ymm12
vmovdqu ymm13, ymmword [rsp + 0x260]
vpshufb ymm2, ymm8, ymm7
vpaddb ymm7, ymm0, ymm0
vpxor ymm0, ymm0, ymm6
vpxor ymm7, ymm7, ymm2
vpshufb ymm2, ymm8, ymm10
vpaddb ymm10, ymm6, ymm6
vpxor ymm14, ymm1, ymm7
vpxor ymm10, ymm10, ymm2
vpxor ymm0, ymm14, ymm0
vpsrlw ymm2, ymm12, 7
vpxor ymm7, ymm7, ymm10
vmovdqu ymm14, ymmword [rsp + 0x1a0]
vpxor ymm0, ymm0, ymm12
vpand ymm2, ymm3, ymm2
vmovdqu ymmword [rsp + 0x120], ymm0
vpshufb ymm2, ymm8, ymm2
vpxor ymm0, ymm6, ymm9
vpxor ymm2, ymm5, ymm2
vpxor ymm7, ymm7, ymm0
vpxor ymm0, ymm15, ymm12
vmovdqu ymm5, ymmword [rsp + 0x1e0]
vpxor ymm7, ymm7, ymm12
vpxor ymm10, ymm10, ymm2
vpxor ymm15, ymm15, ymm6
vmovdqu ymm6, ymmword [rsp + 0x2e0]
vmovdqu ymmword [rsp + 0x140], ymm7
vpxor ymm7, ymm10, ymm0
vpxor ymm0, ymm1, ymm2
vpsrlw ymm2, ymm14, 7
vpsrlw ymm10, ymm6, 7
vpxor ymm0, ymm0, ymm15
vmovdqu ymmword [rsp + 0x180], ymm7
vpand ymm2, ymm3, ymm2
vpand ymm10, ymm3, ymm10
vpxor ymm7, ymm6, ymm14
vpsrlw ymm12, ymm13, 7
vpsrlw ymm15, ymm5, 7
vpshufb ymm1, ymm8, ymm2
vpaddb ymm2, ymm14, ymm14
vpand ymm12, ymm3, ymm12
vpand ymm15, ymm3, ymm15
vpxor ymm2, ymm2, ymm1
vpshufb ymm1, ymm8, ymm10
vpaddb ymm10, ymm6, ymm6
vpxor ymm10, ymm10, ymm1
vpshufb ymm1, ymm8, ymm12
vpaddb ymm12, ymm13, ymm13
vpxor ymm12, ymm12, ymm1
vpshufb ymm1, ymm8, ymm15
vpaddb ymm15, ymm5, ymm5
vpxor ymm15, ymm15, ymm1
vpxor ymm9, ymm2, ymm10
vpxor ymm1, ymm10, ymm12
vpxor ymm6, ymm6, ymm13
vpxor ymm10, ymm14, ymm13
vpxor ymm12, ymm12, ymm15
vpxor ymm9, ymm9, ymm6
vpxor ymm10, ymm1, ymm10
vpxor ymm15, ymm2, ymm15
vpxor ymm9, ymm9, ymm5
vpxor ymm1, ymm10, ymm5
vpxor ymm13, ymm7, ymm13
vpxor ymm5, ymm7, ymm5
vpxor ymm15, ymm15, ymm13
vpxor ymm12, ymm12, ymm5
cmp edx, r9d
jne 0x476960
vmovdqu ymm4, ymmword [rsp + 0xc0]
vmovdqu ymm6, ymm0
vmovdqu ymm3, ymmword [rsp + 0xe0]
vmovdqu ymmword [rsp + 0x1a0], ymm8
vmovdqu ymm7, ymmword [rsp + 0x140]
vpxor ymm2, ymm7, ymmword [rsp + 0x20]
vmovdqu ymmword [rax + 0x1c0], ymm0
vmovdqu ymm8, ymmword [rsp + 0x100]
vmovdqu ymmword [rax + 0x20], ymm4
vmovdqu ymm5, ymmword [rsp + 0x120]
vpxor ymm4, ymm9, ymm4
vmovdqu ymm10, ymmword [rsp + 0x160]
vmovdqu ymmword [rax + 0xa0], ymm3
vmovdqu ymm13, ymmword [rsp + 0x180]
vpxor ymm0, ymm0, ymmword [rsp + 0x60]
vpxor ymm14, ymm5, ymmword [rsp]
vmovdqu ymmword [rax + 0xc0], ymm7
vpxor ymm7, ymm1, ymm3
vmovdqu ymmword [rsp + 0x80], ymm4
vpxor ymm3, ymm15, ymm8
vpxor ymm4, ymm13, ymmword [rsp + 0x40]
vmovdqu ymmword [rax + 0x40], ymm5
vpxor ymm5, ymm10, ymm12
vmovdqu ymmword [rax + 0x120], ymm10
vmovdqu ymmword [rax + 0x1a0], ymm8
vmovdqu ymmword [rax + 0x140], ymm13
vmovdqu ymmword [rax + 0x60], ymm9
vmovdqu ymmword [rax + 0xe0], ymm1
vmovdqu ymmword [rax + 0x160], ymm12
vmovdqu ymmword [rax + 0x1e0], ymm15
vmovdqu ymmword [rsp + 0xa0], ymm3
vpxor ymm3, ymm14, ymmword [rsp + 0x3e0]
vmovdqu ymm8, ymm3
vpxor ymm3, ymm2, ymmword [rsp + 0x420]
vmovdqu ymmword [rsp + 0x20], ymm3
vpxor ymm3, ymm4, ymmword [rsp + 0x400]
vmovdqu ymmword [rsp + 0x40], ymm3
vpxor ymm3, ymm0, ymmword [rsp + 0x3c0]
cmp r12d, 0x100
je 0x477750
vpxor ymm3, ymm14, ymmword [rsp + 0x460]
vpxor ymm4, ymm4, ymmword [rsp + 0x4c0]
vpxor ymm10, ymm5, ymmword [rsp + 0x4e0]
vmovdqu ymmword [rsp], ymm3
vmovdqu ymmword [rax], ymm3
vmovdqu ymm3, ymmword [rsp + 0x440]
vpxor ymm3, ymm3, ymmword [rsp + 0x80]
vmovdqu ymmword [rsp + 0x40], ymm4
vmovdqu ymmword [rsp + 0xc0], ymm3
vmovdqu ymmword [rax + 0x20], ymm3
vpxor ymm3, ymm2, ymmword [rsp + 0x480]
vmovdqu ymmword [rax + 0x100], ymm4
vpxor ymm4, ymm0, ymmword [rsp + 0x500]
vmovdqu ymmword [rsp + 0x20], ymm3
vmovdqu ymmword [rax + 0x80], ymm3
vpxor ymm3, ymm7, ymmword [rsp + 0x4a0]
vmovdqu ymmword [rsp + 0x60], ymm4
vmovdqu ymmword [rax + 0x180], ymm4
vmovdqu ymm4, ymmword [rsp + 0xa0]
vpxor ymm4, ymm4, ymmword [rsp + 0x520]
vmovdqu ymmword [rsp + 0xe0], ymm3
vmovdqu ymmword [rax + 0xa0], ymm3
vmovdqu ymmword [rax + 0x120], ymm10
vmovdqu ymmword [rsp + 0x100], ymm4
vmovdqu ymmword [rax + 0x1a0], ymm4
add r11d, 1
add rcx, rdi
cmp esi, r11d
jne 0x4765e8
vmovdqu ymm7, ymm10
vmovdqu ymm5, ymm15
vmovdqu ymm14, ymm1
vmovdqu ymm10, ymmword [rsp + 0x100]
vmovdqu ymm15, ymm12
vmovdqu ymm12, ymm13
vmovdqu ymm3, ymmword [rsp]
vmovdqu ymm4, ymmword [rsp + 0x40]
vmovdqu ymmword [r10 + 0x60], ymm9
vmovdqu ymmword [r10 + 0xe0], ymm14
vmovdqu ymmword [r10], ymm3
vmovdqu ymm3, ymmword [rsp + 0xc0]
vmovdqu ymmword [r10 + 0x100], ymm4
vmovdqu ymm4, ymmword [rsp + 0x60]
vmovdqu ymmword [r10 + 0x20], ymm3
vmovdqu ymm3, ymmword [rsp + 0x120]
vmovdqu ymmword [r10 + 0x120], ymm7
vmovdqu ymmword [r10 + 0x40], ymm3
vmovdqu ymm3, ymmword [rsp + 0x20]
vmovdqu ymmword [r10 + 0x140], ymm12
vmovdqu ymmword [r10 + 0x80], ymm3
vmovdqu ymm3, ymmword [rsp + 0xe0]
vmovdqu ymmword [r10 + 0x160], ymm15
vmovdqu ymmword [r10 + 0xa0], ymm3
vmovdqu ymm3, ymmword [rsp + 0x140]
vmovdqu ymmword [r10 + 0x180], ymm4
vmovdqu ymmword [r10 + 0xc0], ymm3
vmovdqu ymmword [r10 + 0x1a0], ymm10
vmovdqu ymmword [r10 + 0x1c0], ymm6
vmovdqu ymmword [r10 + 0x1e0], ymm5
vzeroupper
vmovups xmm6, xmmword [rsp + 0x770]
vmovups xmm7, xmmword [rsp + 0x780]
vmovups xmm8, xmmword [rsp + 0x790]
vmovups xmm9, xmmword [rsp + 0x7a0]
vmovups xmm10, xmmword [rsp + 0x7b0]
vmovups xmm11, xmmword [rsp + 0x7c0]
vmovups xmm12, xmmword [rsp + 0x7d0]
vmovups xmm13, xmmword [rsp + 0x7e0]
vmovups xmm14, xmmword [rsp + 0x7f0]
vmovups xmm15, xmmword [rsp + 0x800]
add rsp, 0x818
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
vmovdqu ymm4, ymmword [rsp + 0x80]
vpxor ymm3, ymm3, ymmword [rsp + 0xa0]
vpxor ymm4, ymm4, ymm8
vmovdqu ymmword [rsp + 0x60], ymm3
vmovdqu ymmword [rsp], ymm4
vmovdqu ymmword [rax], ymm4
vpxor ymm4, ymm7, ymmword [rsp + 0x20]
vmovdqu ymmword [rax + 0x180], ymm3
vmovdqu ymmword [rsp + 0x20], ymm4
vmovdqu ymmword [rax + 0x80], ymm4
vpxor ymm4, ymm5, ymmword [rsp + 0x40]
vmovdqu ymmword [rsp + 0x40], ymm4
vmovdqu ymmword [rax + 0x100], ymm4
jmp 0x4775ef