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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x478
vmovups xmmword [rsp + 0x3d0], xmm6
vmovups xmmword [rsp + 0x3e0], xmm7
vmovups xmmword [rsp + 0x3f0], xmm8
vmovups xmmword [rsp + 0x400], xmm9
vmovups xmmword [rsp + 0x410], xmm10
vmovups xmmword [rsp + 0x420], xmm11
vmovups xmmword [rsp + 0x430], xmm12
vmovups xmmword [rsp + 0x440], xmm13
vmovups xmmword [rsp + 0x450], xmm14
vmovups xmmword [rsp + 0x460], xmm15
mov r12d, dword [rcx + 0x1f4]
mov edi, r12d
mov rsi, rcx
mov rbx, rdx
shr edi, 8
mov ebp, r8d
je 0x45c5cf
lea r13d, [rdi - 1]
mov r15, rsi
lea rcx, [rsp + 0x2d0]
add r13, 1
lea r14, [rsp + 0x3d0]
shl r13, 4
mov rdx, r15
mov r8, r13
add r15, 0x40
call sub.msvcrt.dll_memcpy
mov rcx, rax
add rcx, 0x40
cmp rcx, r14
jne 0x45c5b4
test ebp, ebp
je 0x45d7e0
lea edx, [rdi + 1]
mov r10d, edi
vmovdqu xmm5, xmmword [rsi + 0x1e0]
xor ecx, ecx
mov r13, r10
mov eax, dword [rsi + 0x1f0]
mov dword [rsp + 0x2c4], edx
lea r8, [rsp + 0x3d0]
shl r13, 4
mov r14d, dword [rsi + 0x1f8]
vmovups xmmword [rsp + 0x2b0], xmm5
vmovdqu xmm5, xmmword [rsi + 0x1c0]
lea r11d, [rdi + 2]
add r13, r8
lea r8, [r10 + 4]
vmovdqu xmm8, xmmword [0x005d8120]
shl r8, 4
vmovdqu xmm11, xmmword [0x005d80f0]
shr eax, 1
vmovups xmmword [rsp + 0x1e0], xmm5
lea r9, [rsp + 0x3d0]
vmovdqu xmm9, xmmword [0x005d8100]
lea r15, [rsp + 0x3d0]
add r8, r9
mov r9d, edx
lea rdx, [r9 + 4]
shl rdx, 4
add rdx, r15
mov qword [rsp + 0x2c8], rdx
nop word cs:[rax + rax]
vmovdqu xmm5, xmmword [rsp + 0x1e0]
vpaddq xmm5, xmm5, xmmword [rsp + 0x2b0]
vmovups xmmword [rsp + 0x1e0], xmm5
vmovups xmmword [rsi + 0x1c0], xmm5
cmp edi, 3
ja 0x45c805
vmovdqu xmm5, xmmword [rbx]
mov rdx, r10
shl rdx, 4
vmovups xmmword [r13 - 0x100], xmm5
vmovdqu xmm5, xmmword [rbx + 0x10]
vmovups xmmword [r8 - 0x100], xmm5
vmovdqu xmm5, xmmword [rbx + 0x20]
vmovups xmmword [rsp + rdx + 0x350], xmm5
mov rdx, r10
vmovdqu xmm5, xmmword [rbx + 0x30]
shl rdx, 4
cmp dword [rsp + 0x2c4], 3
vmovups xmmword [rsp + rdx + 0x390], xmm5
ja 0x45c805
vmovdqu xmm5, xmmword [rbx + 0x40]
mov rdx, r9
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x2d0], xmm5
vmovdqu xmm5, xmmword [rbx + 0x50]
mov rdx, qword [rsp + 0x2c8]
vmovups xmmword [rdx - 0x100], xmm5
vmovdqu xmm5, xmmword [rbx + 0x60]
mov rdx, r9
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x350], xmm5
vmovdqu xmm5, xmmword [rbx + 0x70]
mov rdx, r9
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x390], xmm5
cmp r11d, 3
ja 0x45c805
mov edx, r11d
vmovdqu xmm5, xmmword [rbx + 0x80]
mov r15, rdx
shl r15, 4
vmovups xmmword [rsp + r15 + 0x2d0], xmm5
mov r15, rdx
vmovdqu xmm5, xmmword [rbx + 0x90]
shl r15, 4
vmovups xmmword [rsp + r15 + 0x310], xmm5
mov r15, rdx
vmovdqu xmm5, xmmword [rbx + 0xa0]
shl r15, 4
vmovups xmmword [rsp + r15 + 0x350], xmm5
vmovdqu xmm5, xmmword [rbx + 0xb0]
vmovups xmmword [rsp + r15 + 0x390], xmm5
test edi, edi
jne 0x45c805
vmovdqu xmm5, xmmword [rbx + 0xc0]
vmovups xmmword [rsp + 0x300], xmm5
vmovdqu xmm5, xmmword [rbx + 0xd0]
vmovups xmmword [rsp + 0x340], xmm5
vmovdqu xmm5, xmmword [rbx + 0xe0]
vmovups xmmword [rsp + 0x380], xmm5
vmovdqu xmm5, xmmword [rbx + 0xf0]
vmovups xmmword [rsp + 0x3c0], xmm5
vmovdqu xmm3, xmmword [rsp + 0x2f0]
xor edx, edx
vmovdqu xmm5, xmmword [rsp + 0x2d0]
vmovdqu xmm2, xmmword [rsp + 0x2e0]
vmovups xmmword [rsp + 0xb0], xmm3
vmovdqu xmm4, xmmword [rsp + 0x340]
vmovups xmmword [rsp + 0xd0], xmm5
vpxor xmm5, xmm3, xmm5
vmovdqu xmm13, xmmword [rsp + 0x300]
vmovups xmmword [rsp + 0x70], xmm2
vmovdqu xmm6, xmmword [rsp + 0x310]
vmovups xmmword [rsp + 0x80], xmm4
vmovdqu xmm1, xmmword [rsp + 0x320]
vpxor xmm2, xmm13, xmm2
vmovups xmmword [rsp + 0x230], xmm2
vmovdqu xmm3, xmm2
vmovdqu xmm0, xmmword [rsp + 0x330]
vpxor xmm2, xmm2, xmm5
vmovups xmmword [rsp + 0x220], xmm2
vmovdqu xmm7, xmmword [rsp + 0x350]
vmovups xmmword [rsp + 0xe0], xmm6
vmovdqu xmm15, xmmword [rsp + 0x360]
vmovups xmmword [rsp + 0x90], xmm1
vmovdqu xmm14, xmmword [rsp + 0x390]
vmovups xmmword [rsp + 0x60], xmm7
vmovdqu xmm7, xmm5
vmovdqu xmm10, xmmword [rsp + 0x3c0]
vmovups xmmword [rsp + 0x30], xmm15
vmovdqu xmm2, xmmword [rsp + 0x80]
vmovups xmmword [rsp + 0x50], xmm14
vmovdqu xmm12, xmmword [rsp + 0x370]
vmovups xmmword [rsp + 0x40], xmm10
vmovdqu xmm15, xmmword [rsp + 0x380]
vmovups xmmword [rsp + 0xc0], xmm0
vmovdqu xmm14, xmmword [rsp + 0x3a0]
vmovups xmmword [rsp + 0x240], xmm5
vpxor xmm5, xmm0, xmm6
vpxor xmm6, xmm2, xmm1
vmovdqu xmm4, xmmword [rsp + 0x3b0]
vmovdqu xmm10, xmm5
vmovdqu xmm2, xmm6
vmovups xmmword [rsp + 0x250], xmm5
vmovups xmmword [rsp + 0x260], xmm6
vpxor xmm1, xmm14, xmmword [rsp + 0x40]
vpxor xmm6, xmm6, xmm5
vpxor xmm0, xmm15, xmmword [rsp + 0x30]
vpxor xmm5, xmm12, xmmword [rsp + 0x60]
vmovups xmmword [rsp + 0x20], xmm0
vmovups xmmword [rsp + 0x210], xmm6
vmovdqu xmm6, xmm5
vmovups xmmword [rsp + 0x270], xmm5
vmovups xmmword [rsp + 0x280], xmm0
vpxor xmm0, xmm0, xmm5
vpxor xmm5, xmm4, xmmword [rsp + 0x50]
vmovups xmmword [rsp + 0xa0], xmm5
vmovups xmmword [rsp + 0x290], xmm5
vpxor xmm5, xmm1, xmm5
vmovups xmmword [rsp + 0x1f0], xmm5
vmovdqu xmm5, xmmword [rsp + 0x1e0]
vmovups xmmword [rsp + 0x200], xmm0
vmovdqu xmm0, xmm1
vmovups xmmword [rsp + 0x2a0], xmm1
vmovdqu xmm1, xmmword [rsp + 0xa0]
vmovups xmmword [rsp + 0xf0], xmm5
vpxor xmm5, xmm5, xmm5
test eax, eax
je 0x45d56d
vmovdqu xmm2, xmm4
vmovdqu xmm6, xmm15
vmovdqu xmm4, xmm12
vmovdqu xmm12, xmm2
nop word cs:[rax + rax]
vmovdqu xmm3, xmmword [rsp + 0xf0]
add edx, 1
vmovdqu xmm2, xmmword [rsp + 0xd0]
vmovdqu xmm15, xmmword [rsp + 0xb0]
vpaddd xmm0, xmm8, xmm3
vaesenc xmm2, xmm2, xmm3
vaesenc xmm2, xmm2, xmm5
vmovdqu xmm3, xmmword [rsp + 0xe0]
vaesenc xmm7, xmm3, xmm0
vmovdqu xmm3, xmmword [rsp + 0x60]
vpaddd xmm0, xmm8, xmm0
vaesenc xmm1, xmm3, xmm0
vmovdqu xmm3, xmmword [rsp + 0x50]
vpaddd xmm0, xmm0, xmm8
vaesenc xmm10, xmm3, xmm0
vaesenc xmm3, xmm7, xmm5
vmovdqu xmm7, xmmword [rsp + 0x70]
vpaddd xmm0, xmm0, xmm8
vmovups xmmword [rsp + 0x20], xmm3
vaesenc xmm3, xmm1, xmm5
vaesenc xmm10, xmm10, xmm5
vmovups xmmword [rsp + 0x50], xmm3
vaesenc xmm3, xmm7, xmm0
vpaddd xmm0, xmm0, xmm8
vmovdqu xmm7, xmmword [rsp + 0x90]
vaesenc xmm3, xmm3, xmm5
vaesenc xmm1, xmm7, xmm0
vmovdqu xmm7, xmmword [rsp + 0x30]
vpaddd xmm0, xmm0, xmm8
vaesenc xmm1, xmm1, xmm5
vaesenc xmm7, xmm7, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm7, xmm7, xmm5
vmovups xmmword [rsp + 0x60], xmm7
vmovdqu xmm7, xmmword [rsp + 0xc0]
vaesenc xmm14, xmm14, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm14, xmm14, xmm5
vaesenc xmm15, xmm15, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm15, xmm15, xmm5
vmovups xmmword [rsp + 0x30], xmm15
vaesenc xmm7, xmm7, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm7, xmm7, xmm5
vaesenc xmm4, xmm4, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm4, xmm4, xmm5
vaesenc xmm12, xmm12, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm15, xmm12, xmm5
vmovups xmmword [rsp + 0x70], xmm15
vaesenc xmm12, xmm13, xmm0
vpaddd xmm0, xmm0, xmm8
vmovdqu xmm15, xmmword [rsp + 0x40]
vmovdqu xmm13, xmmword [rsp + 0x80]
vaesenc xmm13, xmm13, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm13, xmm13, xmm5
vmovups xmmword [rsp + 0x80], xmm13
vaesenc xmm6, xmm6, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm6, xmm6, xmm5
vaesenc xmm15, xmm15, xmm0
vpaddd xmm0, xmm0, xmm8
vaesenc xmm15, xmm15, xmm5
vmovups xmmword [rsp + 0x1d0], xmm0
vaesenc xmm0, xmm12, xmm5
vpaddb xmm12, xmm2, xmm2
vmovups xmmword [rsp + 0x40], xmm0
vpsrlw xmm0, xmm2, 7
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm0, xmm12, xmm0
vpaddb xmm12, xmm1, xmm1
vmovups xmmword [rsp + 0xa0], xmm0
vpsrlw xmm0, xmm1, 7
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm12, xmm12, xmm0
vpxor xmm0, xmm1, xmm2
vmovups xmmword [rsp + 0x1c0], xmm12
vpaddb xmm12, xmm4, xmm4
vpxor xmm1, xmm4, xmm1
vpxor xmm2, xmm4, xmm2
vmovups xmmword [rsp + 0x90], xmm0
vpsrlw xmm0, xmm4, 7
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm12, xmm12, xmm0
vpsrlw xmm0, xmm15, 7
vmovups xmmword [rsp + 0x1b0], xmm12
vpaddb xmm12, xmm15, xmm15
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm13, xmm12, xmm0
vpaddb xmm12, xmm3, xmm3
vpsrlw xmm0, xmm3, 7
vmovups xmmword [rsp + 0x1a0], xmm13
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm13, xmm12, xmm0
vpaddb xmm12, xmm7, xmm7
vmovups xmmword [rsp + 0x190], xmm13
vpsrlw xmm0, xmm7, 7
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm13, xmm12, xmm0
vpaddb xmm12, xmm6, xmm6
vmovups xmmword [rsp + 0x180], xmm13
vpsrlw xmm0, xmm6, 7
vpxor xmm13, xmm7, xmm3
vpxor xmm7, xmm6, xmm7
vmovups xmmword [rsp + 0xe0], xmm13
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm13, xmm12, xmm0
vpaddb xmm12, xmm10, xmm10
vpsrlw xmm0, xmm10, 7
vpxor xmm3, xmm6, xmm3
vmovups xmmword [rsp + 0x170], xmm13
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm0, xmm12, xmm0
vmovdqu xmm12, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x160], xmm0
vpsrlw xmm0, xmm12, 7
vpaddb xmm12, xmm12, xmmword [rsp + 0x30]
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm13, xmm12, xmm0
vmovups xmmword [rsp + 0x150], xmm13
vmovdqu xmm13, xmmword [rsp + 0x80]
vpxor xmm4, xmm4, xmmword [rsp + 0x90]
vpaddb xmm12, xmm13, xmm13
vpsrlw xmm0, xmm13, 7
vpxor xmm13, xmm13, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0xd0], xmm13
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm0, xmm12, xmm0
vmovdqu xmm12, xmmword [rsp + 0x50]
vmovups xmmword [rsp + 0x140], xmm0
vpsrlw xmm0, xmm12, 7
vpaddb xmm12, xmm12, xmmword [rsp + 0x50]
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm12, xmm12, xmm0
vpsrlw xmm0, xmm14, 7
vmovups xmmword [rsp + 0x130], xmm12
vpaddb xmm12, xmm14, xmm14
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm0, xmm12, xmm0
vmovups xmmword [rsp + 0x120], xmm0
vmovdqu xmm0, xmmword [rsp + 0x40]
vpsrlw xmm12, xmm0, 7
vpaddb xmm0, xmm0, xmmword [rsp + 0x40]
vpand xmm12, xmm11, xmm12
vpshufb xmm12, xmm9, xmm12
vpxor xmm13, xmm0, xmm12
vmovdqu xmm12, xmmword [rsp + 0x20]
vmovups xmmword [rsp + 0x110], xmm13
vpsrlw xmm0, xmm12, 7
vpaddb xmm12, xmm12, xmmword [rsp + 0x20]
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm0, xmm12, xmm0
vmovdqu xmm12, xmmword [rsp + 0x40]
vpxor xmm12, xmm12, xmmword [rsp + 0x20]
vmovups xmmword [rsp + 0xc0], xmm12
vmovups xmmword [rsp + 0x100], xmm0
vmovdqu xmm12, xmmword [rsp + 0x60]
vpsrlw xmm0, xmm12, 7
vpaddb xmm12, xmm12, xmmword [rsp + 0x60]
vpand xmm0, xmm11, xmm0
vpshufb xmm0, xmm9, xmm0
vpxor xmm13, xmm12, xmm0
vmovdqu xmm0, xmmword [rsp + 0x70]
vmovups xmmword [rsp + 0xf0], xmm13
vmovdqu xmm13, xmmword [rsp + 0x1c0]
vpsrlw xmm12, xmm0, 7
vpaddb xmm0, xmm0, xmmword [rsp + 0x70]
vpand xmm12, xmm11, xmm12
vpshufb xmm12, xmm9, xmm12
vpxor xmm0, xmm0, xmm12
vmovdqu xmm12, xmmword [rsp + 0xa0]
vmovups xmmword [rsp + 0xb0], xmm0
vpxor xmm12, xmm12, xmm13
vpxor xmm12, xmm12, xmm1
vpxor xmm12, xmm12, xmm15
vmovdqu xmm1, xmmword [rsp + 0x1d0]
vpaddd xmm0, xmm8, xmm1
vaesenc xmm12, xmm12, xmm1
vmovdqu xmm1, xmm13
vmovdqu xmm13, xmmword [rsp + 0x1b0]
vpxor xmm1, xmm1, xmm13
vpxor xmm1, xmm1, xmm2
vmovdqu xmm2, xmm13
vpxor xmm1, xmm1, xmm15
vmovdqu xmm13, xmmword [rsp + 0x1a0]
vaesenc xmm1, xmm1, xmm0
vpaddd xmm0, xmm0, xmm8
vpxor xmm15, xmm15, xmmword [rsp + 0x90]
vaesenc xmm1, xmm1, xmm5
vpxor xmm2, xmm2, xmm13
vpxor xmm2, xmm2, xmm15
vaesenc xmm2, xmm2, xmm0
vpaddd xmm0, xmm0, xmm8
vpxor xmm15, xmm13, xmmword [rsp + 0xa0]
vpxor xmm4, xmm15, xmm4
vaesenc xmm15, xmm12, xmm5
vaesenc xmm4, xmm4, xmm0
vmovups xmmword [rsp + 0x90], xmm15
vaesenc xmm4, xmm4, xmm5
vpaddd xmm0, xmm0, xmm8
vaesenc xmm15, xmm2, xmm5
vmovups xmmword [rsp + 0xa0], xmm1
vmovdqu xmm12, xmmword [rsp + 0x170]
vmovdqu xmm13, xmmword [rsp + 0x190]
vmovups xmmword [rsp + 0x1a0], xmm4
vmovdqu xmm4, xmmword [rsp + 0x180]
vmovdqu xmm2, xmmword [rsp + 0xe0]
vpxor xmm1, xmm4, xmm13
vpxor xmm1, xmm1, xmm7
vpaddd xmm7, xmm0, xmm8
vpxor xmm1, xmm1, xmm10
vaesenc xmm1, xmm1, xmm0
vpxor xmm0, xmm4, xmm12
vpxor xmm4, xmm0, xmm3
vmovdqu xmm3, xmm12
vmovdqu xmm12, xmmword [rsp + 0x160]
vpxor xmm4, xmm4, xmm10
vpxor xmm10, xmm10, xmm2
vpxor xmm6, xmm6, xmm2
vaesenc xmm4, xmm4, xmm7
vpaddd xmm7, xmm7, xmm8
vmovdqu xmm2, xmmword [rsp + 0x50]
vaesenc xmm4, xmm4, xmm5
vpxor xmm0, xmm3, xmm12
vpxor xmm10, xmm0, xmm10
vaesenc xmm10, xmm10, xmm7
vpaddd xmm7, xmm7, xmm8
vpxor xmm0, xmm12, xmm13
vaesenc xmm3, xmm1, xmm5
vpxor xmm6, xmm0, xmm6
vmovdqu xmm12, xmmword [rsp + 0x150]
vmovups xmmword [rsp + 0x160], xmm3
vaesenc xmm6, xmm6, xmm7
vaesenc xmm3, xmm10, xmm5
vaesenc xmm6, xmm6, xmm5
vmovdqu xmm10, xmmword [rsp + 0x140]
vpaddd xmm7, xmm7, xmm8
vmovups xmmword [rsp + 0x180], xmm6
vpxor xmm13, xmm2, xmmword [rsp + 0x80]
vmovdqu xmm6, xmmword [rsp + 0x130]
vmovups xmmword [rsp + 0x170], xmm3
vpxor xmm3, xmm2, xmmword [rsp + 0x30]
vpxor xmm1, xmm10, xmm12
vpxor xmm1, xmm1, xmm13
vpxor xmm1, xmm1, xmm14
vmovdqu xmm13, xmmword [rsp + 0xd0]
vpxor xmm0, xmm10, xmm6
vpxor xmm3, xmm0, xmm3
vaesenc xmm1, xmm1, xmm7
vpaddd xmm7, xmm7, xmm8
vmovdqu xmm0, xmmword [rsp + 0x120]
vpxor xmm3, xmm3, xmm14
vpxor xmm14, xmm14, xmm13
vaesenc xmm3, xmm3, xmm7
vpaddd xmm7, xmm7, xmm8
vaesenc xmm10, xmm1, xmm5
vaesenc xmm3, xmm3, xmm5
vmovups xmmword [rsp + 0x80], xmm10
vpxor xmm6, xmm6, xmm0
vpxor xmm0, xmm0, xmm12
vpxor xmm6, xmm6, xmm14
vpxor xmm12, xmm13, xmm2
vmovdqu xmm14, xmmword [rsp + 0x60]
vaesenc xmm6, xmm6, xmm7
vpaddd xmm7, xmm7, xmm8
vpxor xmm0, xmm0, xmm12
vmovdqu xmm2, xmmword [rsp + 0x20]
vaesenc xmm0, xmm0, xmm7
vaesenc xmm1, xmm0, xmm5
vmovups xmmword [rsp + 0x120], xmm1
vmovdqu xmm12, xmmword [rsp + 0xf0]
vpaddd xmm7, xmm7, xmm8
vaesenc xmm6, xmm6, xmm5
vmovdqu xmm1, xmmword [rsp + 0x100]
vpxor xmm0, xmm2, xmm14
vmovdqu xmm13, xmmword [rsp + 0x110]
vmovdqu xmm2, xmmword [rsp + 0x70]
vpxor xmm10, xmm1, xmm13
vpxor xmm10, xmm10, xmm0
vpxor xmm0, xmm1, xmm12
vpxor xmm1, xmm14, xmmword [rsp + 0x40]
vpxor xmm10, xmm10, xmm2
vpxor xmm0, xmm0, xmm1
vmovdqu xmm1, xmm2
vpxor xmm0, xmm0, xmm2
vmovdqu xmm2, xmmword [rsp + 0xb0]
vaesenc xmm10, xmm10, xmm7
vpaddd xmm7, xmm7, xmm8
vpxor xmm1, xmm1, xmmword [rsp + 0xc0]
vaesenc xmm0, xmm0, xmm7
vpaddd xmm7, xmm7, xmm8
vaesenc xmm0, xmm0, xmm5
vpxor xmm2, xmm2, xmm12
vpxor xmm2, xmm2, xmm1
vaesenc xmm2, xmm2, xmm7
vmovdqu xmm1, xmmword [rsp + 0xb0]
vpaddd xmm7, xmm7, xmm8
vaesenc xmm2, xmm2, xmm5
vpxor xmm12, xmm1, xmm13
vmovdqu xmm1, xmmword [rsp + 0xc0]
vpxor xmm1, xmm1, xmm14
vpxor xmm1, xmm12, xmm1
vpaddd xmm12, xmm7, xmm8
vaesenc xmm1, xmm1, xmm7
vmovups xmmword [rsp + 0xf0], xmm12
vaesenc xmm12, xmm10, xmm5
vpaddb xmm10, xmm4, xmm4
vaesenc xmm1, xmm1, xmm5
vmovups xmmword [rsp + 0x20], xmm12
vpsrlw xmm12, xmm6, 7
vmovdqu xmm14, xmmword [rsp + 0x90]
vpand xmm12, xmm11, xmm12
vpsrlw xmm13, xmm14, 7
vpand xmm13, xmm11, xmm13
vpshufb xmm7, xmm9, xmm13
vpaddb xmm13, xmm14, xmm14
vpxor xmm13, xmm13, xmm7
vpsrlw xmm7, xmm4, 7
vpand xmm7, xmm11, xmm7
vpshufb xmm7, xmm9, xmm7
vpxor xmm7, xmm10, xmm7
vpxor xmm10, xmm4, xmm14
vmovups xmmword [rsp + 0x30], xmm10
vpshufb xmm10, xmm9, xmm12
vpaddb xmm12, xmm6, xmm6
vpaddb xmm14, xmm1, xmm1
vpxor xmm12, xmm12, xmm10
vpsrlw xmm10, xmm1, 7
vpxor xmm4, xmm6, xmm4
vpand xmm10, xmm11, xmm10
vpshufb xmm10, xmm9, xmm10
vpxor xmm10, xmm14, xmm10
vpxor xmm14, xmm7, xmm13
vpxor xmm7, xmm12, xmm7
vpxor xmm4, xmm14, xmm4
vpxor xmm4, xmm4, xmm1
vpxor xmm12, xmm10, xmm12
vmovdqu xmm14, xmmword [rsp + 0x160]
vpxor xmm10, xmm10, xmm13
vmovups xmmword [rsp + 0xd0], xmm4
vpxor xmm4, xmm6, xmmword [rsp + 0x90]
vmovdqu xmm13, xmmword [rsp + 0x1a0]
vpxor xmm7, xmm7, xmm4
vpxor xmm7, xmm7, xmm1
vmovups xmmword [rsp + 0xe0], xmm7
vmovdqu xmm4, xmmword [rsp + 0x30]
vpxor xmm7, xmm3, xmm14
vpxor xmm1, xmm1, xmm4
vpxor xmm6, xmm6, xmm4
vpxor xmm4, xmm10, xmm6
vpxor xmm12, xmm12, xmm1
vmovups xmmword [rsp + 0x50], xmm4
vpsrlw xmm4, xmm14, 7
vpaddb xmm6, xmm3, xmm3
vpaddb xmm10, xmm2, xmm2
vpand xmm4, xmm11, xmm4
vpshufb xmm1, xmm9, xmm4
vpaddb xmm4, xmm14, xmm14
vmovups xmmword [rsp + 0x60], xmm12
vpxor xmm4, xmm4, xmm1
vpsrlw xmm1, xmm3, 7
vpaddb xmm12, xmm13, xmm13
vpxor xmm3, xmm3, xmm2
vpand xmm1, xmm11, xmm1
vpshufb xmm1, xmm9, xmm1
vpxor xmm1, xmm6, xmm1
vpsrlw xmm6, xmm2, 7
vpand xmm6, xmm11, xmm6
vpshufb xmm6, xmm9, xmm6
vpxor xmm6, xmm10, xmm6
vpsrlw xmm10, xmm13, 7
vpand xmm10, xmm11, xmm10
vpshufb xmm10, xmm9, xmm10
vpxor xmm10, xmm12, xmm10
vpxor xmm12, xmm4, xmm1
vpxor xmm1, xmm1, xmm6
vpxor xmm3, xmm12, xmm3
vpxor xmm12, xmm3, xmm13
vpxor xmm3, xmm2, xmm14
vpxor xmm1, xmm1, xmm3
vpxor xmm14, xmm1, xmm13
vpxor xmm1, xmm7, xmm13
vpxor xmm6, xmm6, xmm10
vmovdqu xmm13, xmmword [rsp + 0x80]
vmovups xmmword [rsp + 0x70], xmm12
vpxor xmm2, xmm7, xmm2
vpsrlw xmm7, xmm0, 7
vmovups xmmword [rsp + 0x90], xmm14
vpxor xmm14, xmm6, xmm1
vmovdqu xmm6, xmmword [rsp + 0x180]
vpand xmm7, xmm11, xmm7
vpaddb xmm12, xmm13, xmm13
vpsrlw xmm1, xmm13, 7
vmovups xmmword [rsp + 0x30], xmm14
vpxor xmm14, xmm4, xmm10
vpsrlw xmm4, xmm15, 7
vpand xmm1, xmm11, xmm1
vpshufb xmm1, xmm9, xmm1
vpxor xmm1, xmm12, xmm1
vpand xmm4, xmm11, xmm4
vpsrlw xmm12, xmm6, 7
vpshufb xmm3, xmm9, xmm4
vpaddb xmm4, xmm15, xmm15
vpxor xmm4, xmm4, xmm3
vpand xmm12, xmm11, xmm12
vpxor xmm14, xmm14, xmm2
vpshufb xmm3, xmm9, xmm12
vpshufb xmm2, xmm9, xmm7
vpaddb xmm12, xmm6, xmm6
vpaddb xmm7, xmm0, xmm0
vpxor xmm7, xmm7, xmm2
vpxor xmm12, xmm12, xmm3
vpxor xmm2, xmm0, xmm13
vpxor xmm3, xmm1, xmm7
vpxor xmm0, xmm0, xmm15
vpxor xmm7, xmm7, xmm4
vpxor xmm0, xmm3, xmm0
vpxor xmm4, xmm4, xmm12
vpxor xmm0, xmm0, xmm6
vpxor xmm12, xmm1, xmm12
vmovups xmmword [rsp + 0xb0], xmm0
vpxor xmm0, xmm15, xmm13
vmovdqu xmm3, xmmword [rsp + 0x170]
vpxor xmm7, xmm7, xmm0
vpxor xmm0, xmm7, xmm6
vmovups xmmword [rsp + 0xc0], xmm0
vmovdqu xmm7, xmmword [rsp + 0x120]
vpxor xmm0, xmm2, xmm6
vpxor xmm2, xmm2, xmm15
vpxor xmm12, xmm12, xmm2
vmovdqu xmm2, xmmword [rsp + 0xa0]
vpxor xmm4, xmm4, xmm0
vmovdqu xmm6, xmmword [rsp + 0x20]
vpsrlw xmm10, xmm2, 7
vpaddb xmm15, xmm6, xmm6
vpsrlw xmm0, xmm6, 7
vpand xmm10, xmm11, xmm10
vpshufb xmm1, xmm9, xmm10
vpaddb xmm10, xmm2, xmm2
vpxor xmm2, xmm6, xmm2
vpsrlw xmm6, xmm3, 7
vpand xmm0, xmm11, xmm0
vpxor xmm10, xmm10, xmm1
vpand xmm6, xmm11, xmm6
vpshufb xmm0, xmm9, xmm0
vpshufb xmm1, xmm9, xmm6
vpxor xmm0, xmm15, xmm0
vpaddb xmm6, xmm3, xmm3
vpsrlw xmm15, xmm7, 7
vpxor xmm13, xmm0, xmm10
vpxor xmm6, xmm6, xmm1
vpand xmm15, xmm11, xmm15
vpshufb xmm1, xmm9, xmm15
vpaddb xmm15, xmm7, xmm7
vpxor xmm15, xmm15, xmm1
vmovdqu xmm1, xmmword [rsp + 0xa0]
vpxor xmm1, xmm1, xmm3
vpxor xmm13, xmm13, xmm1
vpxor xmm1, xmm10, xmm6
vpxor xmm13, xmm13, xmm7
vpxor xmm6, xmm6, xmm15
vpxor xmm10, xmm3, xmmword [rsp + 0x20]
vpxor xmm15, xmm0, xmm15
vpxor xmm10, xmm1, xmm10
vpxor xmm1, xmm10, xmm7
vpxor xmm10, xmm2, xmm3
vmovups xmmword [rsp + 0x80], xmm1
vpxor xmm1, xmm2, xmm7
vpxor xmm2, xmm15, xmm10
vpxor xmm6, xmm6, xmm1
vmovups xmmword [rsp + 0x40], xmm2
cmp edx, eax
jne 0x45ca00
vmovdqu xmm5, xmm12
vmovdqu xmm1, xmmword [rsp + 0x30]
vmovdqu xmm12, xmm4
vmovdqu xmm7, xmm2
vmovdqu xmm4, xmm5
vmovdqu xmm5, xmmword [rsp + 0x70]
vmovdqu xmm15, xmm6
vmovups xmmword [rsp + 0x3a0], xmm14
vmovdqu xmm3, xmmword [rsp + 0xb0]
vmovups xmmword [rsp + 0x360], xmm1
vpxor xmm1, xmm15, xmm1
vmovdqu xmm6, xmmword [rsp + 0xc0]
vmovups xmmword [rsp + 0x20], xmm1
vpxor xmm1, xmm4, xmmword [rsp + 0x50]
vpxor xmm10, xmm6, xmmword [rsp + 0xe0]
vmovdqu xmm0, xmmword [rsp + 0x80]
vmovups xmmword [rsp + 0x2e0], xmm5
vmovdqu xmm2, xmmword [rsp + 0x90]
vmovups xmmword [rsp + 0x370], xmm12
vmovups xmmword [rsp + 0x3b0], xmm4
vmovups xmmword [rsp + 0x300], xmm13
vmovups xmmword [rsp + 0x380], xmm15
vmovups xmmword [rsp + 0xa0], xmm1
vmovups xmmword [rsp + 0x320], xmm2
vpxor xmm2, xmm0, xmm2
vmovups xmmword [rsp + 0x2f0], xmm3
vmovups xmmword [rsp + 0x330], xmm6
vpxor xmm6, xmm12, xmmword [rsp + 0x60]
vmovups xmmword [rsp + 0x340], xmm0
vpxor xmm0, xmm14, xmmword [rsp + 0x40]
vmovups xmmword [rsp + 0x3c0], xmm7
vpxor xmm7, xmm3, xmmword [rsp + 0xd0]
vpxor xmm3, xmm13, xmm5
vpxor xmm5, xmm7, xmmword [rsp + 0x220]
vmovups xmmword [rsp + 0x60], xmm5
vpxor xmm5, xmm10, xmmword [rsp + 0x210]
vmovups xmmword [rsp + 0xd0], xmm5
vpxor xmm5, xmm6, xmmword [rsp + 0x200]
vmovups xmmword [rsp + 0x50], xmm5
vmovdqu xmm5, xmmword [rsp + 0x1f0]
vpxor xmm5, xmm5, xmm1
cmp r12d, 0x100
je 0x45d798
vpxor xmm5, xmm3, xmmword [rsp + 0x230]
vmovups xmmword [rsp + 0x70], xmm5
vpxor xmm7, xmm7, xmmword [rsp + 0x240]
vpxor xmm3, xmm10, xmmword [rsp + 0x250]
vmovups xmmword [rsp + 0x2e0], xmm5
vpxor xmm1, xmm1, xmmword [rsp + 0x290]
vpxor xmm5, xmm2, xmmword [rsp + 0x260]
vpxor xmm14, xmm0, xmmword [rsp + 0x2a0]
vmovups xmmword [rsp + 0x90], xmm5
vpxor xmm2, xmm6, xmmword [rsp + 0x270]
vmovups xmmword [rsp + 0x320], xmm5
vmovdqu xmm5, xmmword [rsp + 0x20]
vpxor xmm5, xmm5, xmmword [rsp + 0x280]
vmovups xmmword [rsp + 0x2d0], xmm7
vmovups xmmword [rsp + 0x310], xmm3
vmovups xmmword [rsp + 0x350], xmm2
vmovups xmmword [rsp + 0x30], xmm5
vmovups xmmword [rsp + 0x360], xmm5
vmovups xmmword [rsp + 0x390], xmm1
vmovups xmmword [rsp + 0x3a0], xmm14
add ecx, 1
add rbx, r14
cmp ebp, ecx
jne 0x45c680
vmovdqu xmm5, xmm7
vmovdqu xmm6, xmm14
vmovdqu xmm14, xmm15
vmovdqu xmm15, xmmword [rsp + 0x40]
vmovdqu xmm7, xmm4
vmovdqu xmm10, xmm13
vmovdqu xmm4, xmm5
vmovdqu xmm5, xmmword [rsp + 0x70]
vmovups xmmword [rsi + 0x30], xmm10
vmovups xmmword [rsi + 0xa0], xmm12
vmovups xmm8, xmmword [rsp + 0x3f0]
vmovups xmmword [rsi + 0x10], xmm5
vmovdqu xmm5, xmmword [rsp + 0xb0]
vmovups xmmword [rsi + 0xb0], xmm14
vmovups xmm9, xmmword [rsp + 0x400]
vmovups xmmword [rsi + 0x20], xmm5
vmovdqu xmm5, xmmword [rsp + 0x90]
vmovups xmm10, xmmword [rsp + 0x410]
vmovups xmmword [rsi], xmm4
vmovups xmmword [rsi + 0x50], xmm5
vmovdqu xmm5, xmmword [rsp + 0xc0]
vmovups xmm11, xmmword [rsp + 0x420]
vmovups xmmword [rsi + 0x40], xmm3
vmovups xmmword [rsi + 0x60], xmm5
vmovdqu xmm5, xmmword [rsp + 0x80]
vmovups xmmword [rsi + 0xd0], xmm6
vmovups xmm12, xmmword [rsp + 0x430]
vmovups xmm6, xmmword [rsp + 0x3d0]
vmovups xmmword [rsi + 0x70], xmm5
vmovups xmmword [rsi + 0xe0], xmm7
vmovdqu xmm5, xmmword [rsp + 0x30]
vmovups xmmword [rsi + 0xf0], xmm15
vmovups xmm7, xmmword [rsp + 0x3e0]
vmovups xmm13, xmmword [rsp + 0x440]
vmovups xmmword [rsi + 0x80], xmm2
vmovups xmm14, xmmword [rsp + 0x450]
vmovups xmmword [rsi + 0x90], xmm5
vmovups xmm15, xmmword [rsp + 0x460]
vmovups xmmword [rsi + 0xc0], xmm1
add rsp, 0x478
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
vpxor xmm7, xmm3, xmmword [rsp + 0x60]
vpxor xmm1, xmm5, xmm0
vpxor xmm3, xmm2, xmmword [rsp + 0xd0]
vmovdqu xmm2, xmmword [rsp + 0x20]
vmovups xmmword [rsp + 0x2d0], xmm7
vpxor xmm2, xmm2, xmmword [rsp + 0x50]
vmovups xmmword [rsp + 0x310], xmm3
vmovups xmmword [rsp + 0x350], xmm2
vmovups xmmword [rsp + 0x390], xmm1
jmp 0x45d662
vmovdqu xmm5, xmmword [rsp + 0x2e0]
vmovdqu xmm4, xmmword [rsp + 0x2d0]
vmovdqu xmm10, xmmword [rsp + 0x300]
vmovups xmmword [rsp + 0x70], xmm5
vmovdqu xmm5, xmmword [rsp + 0x2f0]
vmovdqu xmm3, xmmword [rsp + 0x310]
vmovups xmmword [rsp + 0xb0], xmm5
vmovdqu xmm5, xmmword [rsp + 0x320]
vmovdqu xmm2, xmmword [rsp + 0x350]
vmovups xmmword [rsp + 0x90], xmm5
vmovdqu xmm5, xmmword [rsp + 0x330]
vmovdqu xmm12, xmmword [rsp + 0x370]
vmovups xmmword [rsp + 0xc0], xmm5
vmovdqu xmm5, xmmword [rsp + 0x340]
vmovdqu xmm14, xmmword [rsp + 0x380]
vmovups xmmword [rsp + 0x80], xmm5
vmovdqu xmm5, xmmword [rsp + 0x360]
vmovdqu xmm1, xmmword [rsp + 0x390]
vmovdqu xmm7, xmmword [rsp + 0x3b0]
vmovups xmmword [rsp + 0x30], xmm5
vmovdqu xmm5, xmmword [rsp + 0x3a0]
vmovdqu xmm15, xmmword [rsp + 0x3c0]
vmovdqu xmm6, xmm5
jmp 0x45d690