Function at 0x47f280
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, 0x488
vmovups xmmword [rsp + 0x3e0], xmm6
vmovups xmmword [rsp + 0x3f0], xmm7
vmovups xmmword [rsp + 0x400], xmm8
vmovups xmmword [rsp + 0x410], xmm9
vmovups xmmword [rsp + 0x420], xmm10
vmovups xmmword [rsp + 0x430], xmm11
vmovups xmmword [rsp + 0x440], xmm12
vmovups xmmword [rsp + 0x450], xmm13
vmovups xmmword [rsp + 0x460], xmm14
vmovups xmmword [rsp + 0x470], xmm15
mov r12d, dword [rcx + 0x1f4]
mov edi, r12d
mov rsi, rcx
mov rbx, rdx
mov ebp, r8d
shr edi, 8
je 0x47f33e
lea r13d, [rdi - 1]
lea rcx, [rsp + 0x2e0]
mov r15, rsi
lea r14, [rsp + 0x3e0]
inc r13
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 0x47f323
test ebp, ebp
je 0x480600
vmovups xmm7, xmmword [rsi + 0x1e0]
mov r10d, edi
lea r8, [rsp + 0x3e0]
vmovups xmm8, xmmword [0x00697e00]
mov r13, r10
lea edx, [rdi + 1]
lea r9, [rsp + 0x3e0]
mov r14d, dword [rsi + 0x1f8]
shl r13, 4
mov dword [rsp + 0x2d4], edx
lea r15, [rsp + 0x3e0]
lea r11d, [rdi + 2]
add r13, r8
lea r8, [r10 + 4]
xor ecx, ecx
mov eax, 1
shl r8, 4
shrx eax, dword [rsi + 0x1f0], eax
add r8, r9
mov r9d, edx
lea rdx, [r9 + 4]
shl rdx, 4
vmovups xmmword [rsp + 0x2c0], xmm7
vmovups xmm7, xmmword [rsi + 0x1c0]
add rdx, r15
mov qword [rsp + 0x2d8], rdx
vmovups xmmword [rsp + 0x1b0], xmm7
nop dword [rax + rax]
vmovups xmm7, xmmword [rsp + 0x1b0]
vpaddq xmm7, xmm7, xmmword [rsp + 0x2c0]
vmovups xmmword [rsp + 0x1b0], xmm7
vmovups xmmword [rsi + 0x1c0], xmm7
cmp edi, 3
ja 0x47f565
mov rdx, r10
vmovups xmm7, xmmword [rbx]
shl rdx, 4
vmovups xmmword [r13 - 0x100], xmm7
vmovups xmm7, xmmword [rbx + 0x10]
vmovups xmmword [r8 - 0x100], xmm7
vmovups xmm7, xmmword [rbx + 0x20]
vmovups xmmword [rsp + rdx + 0x360], xmm7
vmovups xmm7, xmmword [rbx + 0x30]
mov rdx, r10
shl rdx, 4
cmp dword [rsp + 0x2d4], 3
vmovups xmmword [rsp + rdx + 0x3a0], xmm7
ja 0x47f565
vmovups xmm7, xmmword [rbx + 0x40]
mov rdx, r9
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x2e0], xmm7
vmovups xmm7, xmmword [rbx + 0x50]
mov rdx, qword [rsp + 0x2d8]
vmovups xmmword [rdx - 0x100], xmm7
vmovups xmm7, xmmword [rbx + 0x60]
mov rdx, r9
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x360], xmm7
vmovups xmm7, xmmword [rbx + 0x70]
mov rdx, r9
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x3a0], xmm7
cmp r11d, 3
ja 0x47f565
vmovups xmm7, xmmword [rbx + 0x80]
mov edx, r11d
mov r15, rdx
shl r15, 4
vmovups xmmword [rsp + r15 + 0x2e0], xmm7
vmovups xmm7, xmmword [rbx + 0x90]
mov r15, rdx
shl r15, 4
vmovups xmmword [rsp + r15 + 0x320], xmm7
vmovups xmm7, xmmword [rbx + 0xa0]
mov r15, rdx
shl r15, 4
vmovups xmmword [rsp + r15 + 0x360], xmm7
vmovups xmm7, xmmword [rbx + 0xb0]
vmovups xmmword [rsp + r15 + 0x3a0], xmm7
test edi, edi
jne 0x47f565
vmovups xmm7, xmmword [rbx + 0xc0]
vmovups xmmword [rsp + 0x310], xmm7
vmovups xmm7, xmmword [rbx + 0xd0]
vmovups xmmword [rsp + 0x350], xmm7
vmovups xmm7, xmmword [rbx + 0xe0]
vmovups xmmword [rsp + 0x390], xmm7
vmovups xmm7, xmmword [rbx + 0xf0]
vmovups xmmword [rsp + 0x3d0], xmm7
vmovups xmm7, xmmword [rsp + 0x2e0]
xor edx, edx
vmovups xmm5, xmmword [rsp + 0x2f0]
vmovups xmm0, xmmword [rsp + 0x300]
vmovups xmm1, xmmword [rsp + 0x320]
vmovups xmm3, xmmword [rsp + 0x330]
vmovups xmm2, xmmword [rsp + 0x350]
vmovups xmm9, xmmword [rsp + 0x360]
vmovups xmm13, xmmword [rsp + 0x370]
vmovups xmm11, xmmword [rsp + 0x390]
vmovups xmm6, xmmword [rsp + 0x3a0]
vmovups xmm10, xmmword [rsp + 0x310]
vmovups xmm4, xmmword [rsp + 0x340]
vmovups xmm12, xmmword [rsp + 0x380]
vmovups xmm14, xmmword [rsp + 0x3b0]
vmovups xmm15, xmmword [rsp + 0x3d0]
vmovups xmmword [rsp + 0x50], xmm7
vmovups xmmword [rsp + 0x1c0], xmm7
vmovups xmmword [rsp + 0x30], xmm5
vmovups xmmword [rsp + 0xc0], xmm0
vmovups xmmword [rsp + 0xe0], xmm1
vmovups xmmword [rsp + 0x40], xmm3
vmovups xmmword [rsp + 0xd0], xmm2
vmovups xmmword [rsp + 0x80], xmm9
vmovups xmmword [rsp + 0x60], xmm13
vmovups xmmword [rsp + 0xb0], xmm11
vmovups xmmword [rsp + 0x20], xmm6
vmovups xmmword [rsp + 0x1d0], xmm0
vmovups xmmword [rsp + 0x70], xmm4
vmovups xmmword [rsp + 0x1e0], xmm5
vmovups xmmword [rsp + 0x1f0], xmm10
vmovups xmmword [rsp + 0x200], xmm1
vmovups xmm6, xmmword [rsp + 0x3c0]
vmovups xmmword [rsp + 0x210], xmm4
vmovups xmm7, xmmword [rsp + 0x20]
vmovups xmmword [rsp + 0x220], xmm3
vmovups xmmword [rsp + 0x230], xmm2
vmovups xmmword [rsp + 0x240], xmm9
vmovups xmmword [rsp + 0x250], xmm12
vmovups xmmword [rsp + 0x260], xmm13
vmovups xmmword [rsp + 0x270], xmm11
vmovups xmmword [rsp + 0x2a0], xmm14
vmovups xmmword [rsp + 0x2b0], xmm15
vmovups xmmword [rsp + 0x280], xmm7
vmovups xmm7, xmmword [rsp + 0x1b0]
vmovups xmmword [rsp + 0x290], xmm6
vmovups xmmword [rsp + 0xa0], xmm7
test eax, eax
je 0x480267
vmovups xmm7, xmm0
vmovups xmm13, xmmword [rsp + 0xe0]
vmovups xmm1, xmm11
vmovups xmmword [rsp + 0x90], xmm14
vmovups xmm0, xmmword [rsp + 0xd0]
nop dword [rax + rax]
vmovups xmm5, xmmword [rsp + 0xa0]
vmovups xmm3, xmmword [rsp + 0x50]
vxorps xmm14, xmm14, xmm14
inc edx
vpaddd xmm2, xmm5, xmmword [0x00697e20]
vaesenc xmm3, xmm3, xmm5
vmovups xmm5, xmmword [rsp + 0x80]
vaesenc xmm13, xmm13, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm3, xmm3, xmm14
vaesenc xmm4, xmm5, xmm2
vmovups xmm5, xmmword [rsp + 0x20]
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm11, xmm5, xmm2
vaesenc xmm5, xmm13, xmm14
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vmovups xmmword [rsp + 0x20], xmm5
vaesenc xmm5, xmm4, xmm14
vmovups xmm4, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x50], xmm5
vmovups xmm5, xmmword [rsp + 0x90]
vaesenc xmm11, xmm11, xmm14
vaesenc xmm13, xmm4, xmm2
vmovups xmm4, xmmword [rsp + 0x40]
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm13, xmm13, xmm14
vaesenc xmm9, xmm4, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vmovups xmm4, xmmword [rsp + 0x60]
vaesenc xmm9, xmm9, xmm14
vaesenc xmm4, xmm4, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm4, xmm4, xmm14
vmovups xmmword [rsp + 0x60], xmm4
vmovups xmm4, xmmword [rsp + 0x70]
vaesenc xmm5, xmm5, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm5, xmm5, xmm14
vaesenc xmm7, xmm7, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm14, xmm4, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm4, xmm12, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vxorps xmm12, xmm12, xmm12
vaesenc xmm7, xmm7, xmm12
vaesenc xmm14, xmm14, xmm12
vmovups xmmword [rsp + 0x30], xmm7
vaesenc xmm4, xmm4, xmm12
vaesenc xmm6, xmm6, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm7, xmm6, xmm12
vaesenc xmm10, xmm10, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm6, xmm0, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm6, xmm6, xmm12
vaesenc xmm1, xmm1, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm1, xmm1, xmm12
vaesenc xmm0, xmm15, xmm2
vpaddd xmm2, xmm2, xmmword [0x00697e20]
vaesenc xmm0, xmm0, xmm12
vmovups xmmword [rsp + 0x190], xmm2
vaesenc xmm2, xmm10, xmm12
vpaddb xmm10, xmm3, xmm3
vxorps xmm12, xmm9, xmm3
vmovups xmmword [rsp + 0x40], xmm2
vpsrlw xmm2, xmm3, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vxorps xmm3, xmm4, xmm3
vxorps xmm3, xmm3, xmm0
vpshufb xmm2, xmm8, xmm2
vxorps xmm15, xmm10, xmm2
vpaddb xmm10, xmm0, xmm0
vmovups xmmword [rsp + 0x180], xmm15
vpsrlw xmm15, xmm9, 7
vandps xmm15, xmm15, xmmword [0x00697df0]
vmovups xmmword [rsp + 0xb0], xmm12
vpsrlw xmm12, xmm4, 7
vmovups xmmword [rsp + 0x70], xmm1
vandps xmm12, xmm12, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm15
vpaddb xmm15, xmm9, xmm9
vxorps xmm15, xmm15, xmm2
vpshufb xmm2, xmm8, xmm12
vpaddb xmm12, xmm4, xmm4
vxorps xmm12, xmm12, xmm2
vpsrlw xmm2, xmm0, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vpaddb xmm10, xmm13, xmm13
vmovups xmmword [rsp + 0x170], xmm2
vpsrlw xmm2, xmm13, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vpaddb xmm10, xmm14, xmm14
vmovups xmmword [rsp + 0x160], xmm2
vpsrlw xmm2, xmm14, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vpaddb xmm10, xmm1, xmmword [rsp + 0x70]
vmovups xmmword [rsp + 0x150], xmm2
vxorps xmm2, xmm14, xmm13
vmovups xmmword [rsp + 0xa0], xmm2
vpsrlw xmm2, xmm1, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm2
vxorps xmm10, xmm10, xmm2
vpsrlw xmm2, xmm11, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vmovups xmmword [rsp + 0x140], xmm10
vpaddb xmm10, xmm11, xmm11
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vmovups xmm10, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x130], xmm2
vpsrlw xmm2, xmm10, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpaddb xmm10, xmm10, xmmword [rsp + 0x30]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vpaddb xmm10, xmm6, xmm6
vmovups xmmword [rsp + 0x120], xmm2
vpsrlw xmm2, xmm6, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm2
vxorps xmm10, xmm10, xmm2
vxorps xmm2, xmm6, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x110], xmm10
vmovups xmm10, xmmword [rsp + 0x50]
vmovups xmmword [rsp + 0x90], xmm2
vpsrlw xmm2, xmm10, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpaddb xmm10, xmm10, xmmword [rsp + 0x50]
vpshufb xmm2, xmm8, xmm2
vxorps xmm10, xmm10, xmm2
vpsrlw xmm2, xmm5, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vmovups xmmword [rsp + 0x100], xmm10
vpaddb xmm10, xmm5, xmm5
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vmovups xmm10, xmmword [rsp + 0x40]
vmovups xmmword [rsp + 0xf0], xmm2
vpsrlw xmm2, xmm10, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpaddb xmm10, xmm10, xmmword [rsp + 0x40]
vmovups xmm1, xmmword [rsp + 0x70]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vmovups xmm10, xmmword [rsp + 0x20]
vxorps xmm13, xmm13, xmm1
vmovups xmmword [rsp + 0x80], xmm2
vxorps xmm13, xmm13, xmm11
vpsrlw xmm2, xmm10, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpaddb xmm10, xmm10, xmmword [rsp + 0x20]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vmovups xmm10, xmmword [rsp + 0x40]
vxorps xmm10, xmm10, xmmword [rsp + 0x20]
vmovups xmmword [rsp + 0xe0], xmm2
vmovups xmmword [rsp + 0x1a0], xmm10
vmovups xmm10, xmmword [rsp + 0x60]
vpsrlw xmm2, xmm10, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpaddb xmm10, xmm10, xmmword [rsp + 0x60]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vpaddb xmm10, xmm7, xmm7
vmovups xmmword [rsp + 0xd0], xmm2
vpsrlw xmm2, xmm7, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm10, xmm2
vmovups xmm10, xmmword [rsp + 0x180]
vmovups xmmword [rsp + 0xc0], xmm2
vxorps xmm2, xmm4, xmm9
vmovups xmm9, xmmword [rsp + 0x190]
vxorps xmm2, xmm2, xmm0
vxorps xmm2, xmm2, xmm10
vxorps xmm2, xmm2, xmm15
vxorps xmm15, xmm3, xmm15
vmovups xmm3, xmmword [rsp + 0xb0]
vaesenc xmm2, xmm2, xmm9
vpaddd xmm9, xmm9, xmmword [0x00697e20]
vxorps xmm15, xmm15, xmm12
vxorps xmm0, xmm0, xmm3
vxorps xmm4, xmm4, xmm3
vxorps xmm12, xmm0, xmm12
vmovups xmm0, xmmword [rsp + 0x170]
vaesenc xmm15, xmm15, xmm9
vpaddd xmm9, xmm9, xmmword [0x00697e20]
vxorps xmm4, xmm4, xmm10
vmovups xmm10, xmmword [rsp + 0x140]
vxorps xmm12, xmm12, xmm0
vxorps xmm4, xmm4, xmm0
vxorps xmm0, xmm0, xmm0
vaesenc xmm12, xmm12, xmm9
vpaddd xmm9, xmm9, xmmword [0x00697e20]
vaesenc xmm15, xmm15, xmm0
vaesenc xmm2, xmm2, xmm0
vmovups xmmword [rsp + 0xb0], xmm15
vmovups xmm15, xmm0
vpaddd xmm3, xmm9, xmmword [0x00697e20]
vaesenc xmm0, xmm12, xmm0
vmovups xmm12, xmmword [rsp + 0x150]
vmovups xmmword [rsp + 0x170], xmm0
vxorps xmm0, xmm14, xmm1
vmovups xmm14, xmmword [rsp + 0x160]
vxorps xmm0, xmm0, xmm11
vaesenc xmm4, xmm4, xmm9
vaesenc xmm9, xmm4, xmm15
vpaddd xmm4, xmm3, xmmword [0x00697e20]
vxorps xmm13, xmm13, xmm12
vxorps xmm0, xmm0, xmm14
vxorps xmm0, xmm0, xmm12
vaesenc xmm0, xmm0, xmm3
vxorps xmm3, xmm13, xmm10
vaesenc xmm0, xmm0, xmm15
vaesenc xmm12, xmm3, xmm4
vmovups xmm3, xmmword [rsp + 0xa0]
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vmovups xmm13, xmmword [rsp + 0x130]
vxorps xmm11, xmm11, xmm3
vxorps xmm11, xmm11, xmm10
vxorps xmm10, xmm3, xmm1
vaesenc xmm3, xmm12, xmm15
vmovups xmm12, xmmword [rsp + 0x120]
vxorps xmm11, xmm11, xmm13
vxorps xmm10, xmm10, xmm14
vmovups xmm14, xmm15
vaesenc xmm11, xmm11, xmm4
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vxorps xmm10, xmm10, xmm13
vmovups xmm13, xmmword [rsp + 0x90]
vaesenc xmm15, xmm11, xmm15
vmovups xmm11, xmmword [rsp + 0x50]
vmovups xmmword [rsp + 0x70], xmm3
vmovups xmm3, xmmword [rsp + 0xf0]
vaesenc xmm10, xmm10, xmm4
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vaesenc xmm1, xmm10, xmm14
vmovups xmm10, xmmword [rsp + 0x110]
vxorps xmm6, xmm6, xmm11
vmovups xmmword [rsp + 0x130], xmm1
vxorps xmm1, xmm11, xmmword [rsp + 0x30]
vxorps xmm6, xmm6, xmm5
vxorps xmm6, xmm6, xmm12
vxorps xmm6, xmm6, xmm10
vxorps xmm1, xmm1, xmm5
vaesenc xmm6, xmm6, xmm4
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vxorps xmm5, xmm5, xmm13
vxorps xmm1, xmm1, xmm10
vmovups xmm10, xmmword [rsp + 0x100]
vxorps xmm1, xmm1, xmm10
vxorps xmm5, xmm5, xmm10
vxorps xmm10, xmm13, xmm11
vmovups xmm11, xmmword [rsp + 0x20]
vaesenc xmm1, xmm1, xmm4
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vaesenc xmm13, xmm6, xmm14
vmovups xmm6, xmmword [rsp + 0x60]
vxorps xmm5, xmm5, xmm3
vxorps xmm10, xmm10, xmm12
vxorps xmm10, xmm10, xmm3
vmovups xmm3, xmmword [rsp + 0xe0]
vaesenc xmm1, xmm1, xmm14
vmovups xmmword [rsp + 0xf0], xmm13
vmovups xmm13, xmm14
vaesenc xmm5, xmm5, xmm4
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vxorps xmm11, xmm11, xmm6
vxorps xmm11, xmm11, xmm7
vxorps xmm11, xmm11, xmmword [rsp + 0x80]
vaesenc xmm5, xmm5, xmm14
vaesenc xmm10, xmm10, xmm4
vpaddd xmm4, xmm4, xmmword [0x00697e20]
vxorps xmm11, xmm11, xmm3
vpaddd xmm12, xmm4, xmmword [0x00697e20]
vaesenc xmm14, xmm10, xmm14
vmovups xmm10, xmmword [rsp + 0x1a0]
vaesenc xmm11, xmm11, xmm4
vxorps xmm4, xmm6, xmmword [rsp + 0x40]
vxorps xmm6, xmm10, xmm6
vxorps xmm6, xmm6, xmmword [rsp + 0x80]
vxorps xmm4, xmm4, xmm7
vxorps xmm7, xmm7, xmm10
vxorps xmm4, xmm4, xmm3
vmovups xmm3, xmmword [rsp + 0xd0]
vxorps xmm4, xmm4, xmm3
vxorps xmm7, xmm7, xmm3
vmovups xmm3, xmmword [rsp + 0xc0]
vaesenc xmm4, xmm4, xmm12
vpaddd xmm12, xmm12, xmmword [0x00697e20]
vaesenc xmm4, xmm4, xmm13
vxorps xmm7, xmm7, xmm3
vxorps xmm6, xmm6, xmm3
vaesenc xmm7, xmm7, xmm12
vpaddd xmm12, xmm12, xmmword [0x00697e20]
vaesenc xmm7, xmm7, xmm13
vaesenc xmm6, xmm6, xmm12
vpaddd xmm12, xmm12, xmmword [0x00697e20]
vaesenc xmm6, xmm6, xmm13
vmovups xmmword [rsp + 0xa0], xmm12
vaesenc xmm12, xmm11, xmm13
vpsrlw xmm11, xmm2, 7
vmovups xmmword [rsp + 0xc0], xmm12
vandps xmm11, xmm11, xmmword [0x00697df0]
vpsrlw xmm12, xmm5, 7
vmovups xmm3, xmmword [rsp + 0x70]
vandps xmm12, xmm12, xmmword [0x00697df0]
vpshufb xmm10, xmm8, xmm11
vpaddb xmm11, xmm2, xmm2
vpsrlw xmm13, xmm3, 7
vandps xmm13, xmm13, xmmword [0x00697df0]
vxorps xmm11, xmm11, xmm10
vpshufb xmm10, xmm8, xmm13
vpaddb xmm13, xmm3, xmm3
vxorps xmm13, xmm13, xmm10
vxorps xmm10, xmm2, xmm3
vpaddb xmm3, xmm6, xmm6
vxorps xmm2, xmm5, xmm2
vmovups xmmword [rsp + 0x20], xmm10
vpshufb xmm10, xmm8, xmm12
vpaddb xmm12, xmm5, xmm5
vxorps xmm2, xmm2, xmm6
vxorps xmm12, xmm12, xmm10
vpsrlw xmm10, xmm6, 7
vandps xmm10, xmm10, xmmword [0x00697df0]
vxorps xmm2, xmm2, xmm13
vpshufb xmm10, xmm8, xmm10
vxorps xmm10, xmm10, xmm3
vxorps xmm3, xmm5, xmmword [rsp + 0x70]
vxorps xmm3, xmm3, xmm6
vxorps xmm3, xmm3, xmm11
vxorps xmm3, xmm3, xmm13
vxorps xmm13, xmm2, xmm12
vmovups xmmword [rsp + 0x50], xmm3
vmovups xmm3, xmmword [rsp + 0x20]
vxorps xmm5, xmm5, xmm3
vxorps xmm6, xmm6, xmm3
vxorps xmm5, xmm5, xmm11
vxorps xmm6, xmm6, xmm12
vpaddb xmm11, xmm9, xmm9
vxorps xmm3, xmm5, xmm10
vpsrlw xmm5, xmm0, 7
vandps xmm5, xmm5, xmmword [0x00697df0]
vxorps xmm6, xmm6, xmm10
vpsrlw xmm10, xmm1, 7
vandps xmm10, xmm10, xmmword [0x00697df0]
vmovups xmmword [rsp + 0x80], xmm6
vpsrlw xmm6, xmm7, 7
vandps xmm6, xmm6, xmmword [0x00697df0]
vmovups xmmword [rsp + 0x20], xmm3
vxorps xmm3, xmm0, xmm1
vpshufb xmm2, xmm8, xmm5
vpaddb xmm5, xmm0, xmm0
vxorps xmm0, xmm0, xmm7
vxorps xmm5, xmm5, xmm2
vpshufb xmm2, xmm8, xmm10
vpaddb xmm10, xmm1, xmm1
vxorps xmm1, xmm1, xmm7
vxorps xmm10, xmm10, xmm2
vpshufb xmm2, xmm8, xmm6
vpaddb xmm6, xmm7, xmm7
vxorps xmm7, xmm3, xmm7
vxorps xmm6, xmm6, xmm2
vpsrlw xmm2, xmm9, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vxorps xmm7, xmm7, xmm5
vxorps xmm1, xmm1, xmm9
vxorps xmm0, xmm0, xmm9
vxorps xmm9, xmm3, xmm9
vxorps xmm1, xmm1, xmm5
vxorps xmm0, xmm0, xmm10
vxorps xmm9, xmm9, xmm6
vpsrlw xmm5, xmm4, 7
vxorps xmm1, xmm1, xmm10
vxorps xmm10, xmm0, xmm6
vandps xmm5, xmm5, xmmword [0x00697df0]
vmovups xmmword [rsp + 0x30], xmm1
vmovups xmmword [rsp + 0x40], xmm10
vpshufb xmm2, xmm8, xmm2
vxorps xmm2, xmm11, xmm2
vmovups xmm11, xmmword [rsp + 0xf0]
vxorps xmm3, xmm7, xmm2
vmovups xmm7, xmmword [rsp + 0x170]
vxorps xmm6, xmm9, xmm2
vmovups xmm9, xmmword [rsp + 0x130]
vmovups xmmword [rsp + 0x90], xmm3
vmovups xmmword [rsp + 0x60], xmm6
vpsrlw xmm2, xmm11, 7
vandps xmm2, xmm2, xmmword [0x00697df0]
vpsrlw xmm3, xmm7, 7
vandps xmm3, xmm3, xmmword [0x00697df0]
vpaddb xmm6, xmm9, xmm9
vpshufb xmm0, xmm8, xmm2
vpaddb xmm2, xmm11, xmm11
vpshufb xmm1, xmm8, xmm3
vpaddb xmm3, xmm7, xmm7
vxorps xmm2, xmm2, xmm0
vxorps xmm3, xmm3, xmm1
vpsrlw xmm1, xmm9, 7
vandps xmm1, xmm1, xmmword [0x00697df0]
vpshufb xmm0, xmm8, xmm5
vpaddb xmm5, xmm4, xmm4
vxorps xmm5, xmm5, xmm0
vxorps xmm0, xmm4, xmm11
vxorps xmm12, xmm0, xmm9
vxorps xmm12, xmm12, xmm3
vpshufb xmm1, xmm8, xmm1
vxorps xmm1, xmm6, xmm1
vmovups xmm6, xmm7
vxorps xmm7, xmm4, xmm7
vxorps xmm7, xmm7, xmm9
vxorps xmm4, xmm6, xmm11
vxorps xmm0, xmm0, xmm6
vxorps xmm12, xmm12, xmm1
vxorps xmm4, xmm4, xmm9
vxorps xmm7, xmm7, xmm2
vmovups xmm9, xmmword [rsp + 0xc0]
vxorps xmm0, xmm0, xmm2
vxorps xmm7, xmm7, xmm5
vxorps xmm5, xmm4, xmm5
vxorps xmm6, xmm0, xmm1
vpsrlw xmm1, xmm15, 7
vxorps xmm4, xmm5, xmm3
vmovups xmm5, xmmword [rsp + 0xb0]
vandps xmm1, xmm1, xmmword [0x00697df0]
vpsrlw xmm2, xmm14, 7
vmovups xmmword [rsp + 0x70], xmm4
vpsrlw xmm3, xmm9, 7
vandps xmm3, xmm3, xmmword [0x00697df0]
vpsrlw xmm4, xmm5, 7
vandps xmm4, xmm4, xmmword [0x00697df0]
vandps xmm2, xmm2, xmmword [0x00697df0]
vxorps xmm10, xmm15, xmm5
vxorps xmm10, xmm10, xmm14
vxorps xmm11, xmm9, xmm5
vpshufb xmm0, xmm8, xmm3
vpaddb xmm3, xmm9, xmm9
vxorps xmm3, xmm3, xmm0
vpshufb xmm0, xmm8, xmm4
vpaddb xmm4, xmm5, xmm5
vxorps xmm10, xmm10, xmm3
vxorps xmm4, xmm4, xmm0
vpshufb xmm0, xmm8, xmm1
vpaddb xmm1, xmm15, xmm15
vxorps xmm1, xmm1, xmm0
vpshufb xmm0, xmm8, xmm2
vpaddb xmm2, xmm14, xmm14
vxorps xmm10, xmm10, xmm4
vxorps xmm2, xmm2, xmm0
vxorps xmm0, xmm15, xmm9
vxorps xmm0, xmm0, xmm14
vxorps xmm0, xmm0, xmm4
vxorps xmm4, xmm11, xmm14
vxorps xmm11, xmm11, xmm15
vxorps xmm0, xmm0, xmm1
vxorps xmm11, xmm11, xmm3
vxorps xmm1, xmm4, xmm1
vxorps xmm1, xmm1, xmm2
vxorps xmm15, xmm11, xmm2
cmp edx, eax
jne 0x47f720
vmovups xmm5, xmmword [rsp + 0x30]
vmovups xmm14, xmmword [rsp + 0x90]
vmovups xmmword [rsp + 0xc0], xmm7
vmovups xmmword [rsp + 0x300], xmm7
vmovups xmmword [rsp + 0xb0], xmm1
vmovups xmmword [rsp + 0xd0], xmm0
vmovups xmmword [rsp + 0xe0], xmm13
vmovups xmmword [rsp + 0x380], xmm12
vmovups xmmword [rsp + 0x3c0], xmm6
vmovups xmmword [rsp + 0x310], xmm10
vmovups xmmword [rsp + 0x350], xmm0
vmovups xmmword [rsp + 0x390], xmm1
vmovups xmmword [rsp + 0x3d0], xmm15
vmovups xmm7, xmmword [rsp + 0x70]
vmovups xmmword [rsp + 0x2f0], xmm5
vmovups xmm5, xmmword [rsp + 0x40]
vmovups xmmword [rsp + 0x3b0], xmm14
vmovups xmmword [rsp + 0x340], xmm7
vmovups xmmword [rsp + 0x330], xmm5
vmovups xmm5, xmmword [rsp + 0x60]
vmovups xmmword [rsp + 0x370], xmm5
vmovups xmm7, xmmword [rsp + 0x1c0]
vxorps xmm1, xmm7, xmmword [rsp + 0x1d0]
cmp r12d, 0x100
je 0x4804f0
vxorps xmm1, xmm1, xmmword [rsp + 0x50]
vmovups xmm7, xmmword [rsp + 0x1e0]
vxorps xmm3, xmm1, xmmword [rsp + 0xc0]
vxorps xmm1, xmm7, xmmword [rsp + 0x1f0]
vxorps xmm1, xmm1, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x2e0], xmm3
vxorps xmm7, xmm1, xmm10
vmovups xmmword [rsp + 0x30], xmm7
vmovups xmmword [rsp + 0x2f0], xmm7
vmovups xmm7, xmmword [rsp + 0x200]
vxorps xmm4, xmm7, xmmword [rsp + 0x210]
vmovups xmm7, xmmword [rsp + 0x220]
vxorps xmm4, xmm4, xmmword [rsp + 0xe0]
vxorps xmm2, xmm4, xmmword [rsp + 0x70]
vxorps xmm4, xmm7, xmmword [rsp + 0x230]
vxorps xmm4, xmm4, xmmword [rsp + 0x40]
vxorps xmm7, xmm4, xmmword [rsp + 0xd0]
vmovups xmmword [rsp + 0x320], xmm2
vmovups xmmword [rsp + 0x40], xmm7
vmovups xmmword [rsp + 0x330], xmm7
vmovups xmm7, xmmword [rsp + 0x240]
vxorps xmm11, xmm7, xmmword [rsp + 0x250]
vmovups xmm7, xmmword [rsp + 0x260]
vxorps xmm11, xmm11, xmmword [rsp + 0x80]
vxorps xmm0, xmm11, xmm12
vxorps xmm11, xmm7, xmmword [rsp + 0x270]
vxorps xmm5, xmm11, xmmword [rsp + 0x60]
vmovups xmmword [rsp + 0x360], xmm0
vxorps xmm7, xmm5, xmmword [rsp + 0xb0]
vmovups xmmword [rsp + 0x60], xmm7
vmovups xmmword [rsp + 0x370], xmm7
vmovups xmm7, xmmword [rsp + 0x280]
vxorps xmm9, xmm7, xmmword [rsp + 0x290]
vxorps xmm11, xmm9, xmmword [rsp + 0x20]
vxorps xmm11, xmm11, xmm6
vmovups xmmword [rsp + 0x3a0], xmm11
vmovups xmm7, xmmword [rsp + 0x2a0]
vxorps xmm9, xmm7, xmmword [rsp + 0x2b0]
vxorps xmm5, xmm9, xmm14
vxorps xmm14, xmm5, xmm15
vmovups xmmword [rsp + 0x3b0], xmm14
inc ecx
add rbx, r14
cmp ebp, ecx
jne 0x47f3e0
vmovups xmm1, xmmword [rsp + 0xd0]
vmovups xmm8, xmm14
vmovups xmm7, xmm6
vmovups xmm4, xmm3
vmovups xmm14, xmm0
vmovups xmm0, xmmword [rsp + 0x30]
vmovups xmm5, xmmword [rsp + 0xc0]
vmovups xmmword [rsi + 0x70], xmm1
vmovups xmmword [rsi + 0x30], xmm10
vmovups xmmword [rsi + 0x80], xmm14
vmovups xmmword [rsi + 0xa0], xmm12
vmovups xmmword [rsi + 0xc0], xmm11
vmovups xmmword [rsi + 0xd0], xmm8
vmovups xmmword [rsi + 0xe0], xmm7
vmovups xmmword [rsi + 0xf0], xmm15
vmovups xmmword [rsi], xmm4
vmovups xmmword [rsi + 0x40], xmm2
vmovups xmm1, xmmword [rsp + 0x60]
vmovups xmm6, xmmword [rsp + 0x3e0]
vmovups xmm7, xmmword [rsp + 0x3f0]
vmovups xmm8, xmmword [rsp + 0x400]
vmovups xmmword [rsi + 0x10], xmm0
vmovups xmmword [rsi + 0x20], xmm5
vmovups xmm0, xmmword [rsp + 0x40]
vmovups xmm5, xmmword [rsp + 0x70]
vmovups xmm9, xmmword [rsp + 0x410]
vmovups xmm10, xmmword [rsp + 0x420]
vmovups xmm11, xmmword [rsp + 0x430]
vmovups xmm12, xmmword [rsp + 0x440]
vmovups xmm13, xmmword [rsp + 0x450]
vmovups xmm14, xmmword [rsp + 0x460]
vmovups xmm15, xmmword [rsp + 0x470]
vmovups xmmword [rsi + 0x90], xmm1
vmovups xmm1, xmmword [rsp + 0xb0]
vmovups xmmword [rsi + 0x50], xmm0
vmovups xmmword [rsi + 0x60], xmm5
vmovups xmmword [rsi + 0xb0], xmm1
add rsp, 0x488
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
vxorps xmm1, xmm1, xmmword [rsp + 0x1e0]
vmovups xmm7, xmmword [rsp + 0x200]
vxorps xmm1, xmm1, xmmword [rsp + 0x1f0]
vxorps xmm4, xmm7, xmmword [rsp + 0x210]
vxorps xmm1, xmm1, xmmword [rsp + 0x50]
vmovups xmm7, xmmword [rsp + 0x240]
vxorps xmm0, xmm1, xmmword [rsp + 0xc0]
vxorps xmm11, xmm7, xmmword [rsp + 0x250]
vxorps xmm0, xmm0, xmmword [rsp + 0x30]
vxorps xmm11, xmm11, xmmword [rsp + 0x260]
vxorps xmm11, xmm11, xmmword [rsp + 0x270]
vmovups xmm7, xmmword [rsp + 0x280]
vxorps xmm9, xmm7, xmmword [rsp + 0x290]
vxorps xmm4, xmm4, xmmword [rsp + 0x220]
vxorps xmm9, xmm9, xmmword [rsp + 0x2a0]
vxorps xmm4, xmm4, xmmword [rsp + 0x230]
vxorps xmm9, xmm9, xmmword [rsp + 0x2b0]
vxorps xmm4, xmm4, xmmword [rsp + 0xe0]
vxorps xmm2, xmm4, xmmword [rsp + 0x70]
vxorps xmm2, xmm2, xmmword [rsp + 0x40]
vxorps xmm2, xmm2, xmmword [rsp + 0xd0]
vxorps xmm3, xmm0, xmm10
vxorps xmm0, xmm11, xmmword [rsp + 0x80]
vxorps xmm11, xmm9, xmmword [rsp + 0x20]
vmovups xmmword [rsp + 0x2e0], xmm3
vmovups xmmword [rsp + 0x320], xmm2
vxorps xmm0, xmm0, xmm12
vxorps xmm0, xmm0, xmmword [rsp + 0x60]
vxorps xmm11, xmm11, xmm6
vxorps xmm0, xmm0, xmmword [rsp + 0xb0]
vxorps xmm11, xmm11, xmm14
vxorps xmm11, xmm11, xmm15
vmovups xmmword [rsp + 0x3a0], xmm11
vmovups xmmword [rsp + 0x360], xmm0
jmp 0x4803c7
vmovups xmm7, xmmword [rsp + 0x2f0]
vmovups xmm4, xmmword [rsp + 0x2e0]
vmovups xmm10, xmmword [rsp + 0x310]
vmovups xmm2, xmmword [rsp + 0x320]
vmovups xmm1, xmmword [rsp + 0x350]
vmovups xmm14, xmmword [rsp + 0x360]
vmovups xmm12, xmmword [rsp + 0x380]
vmovups xmm11, xmmword [rsp + 0x3a0]
vmovups xmm15, xmmword [rsp + 0x3d0]
vmovups xmmword [rsp + 0x30], xmm7
vmovups xmm7, xmmword [rsp + 0x300]
vmovups xmmword [rsp + 0xc0], xmm7
vmovups xmm7, xmmword [rsp + 0x330]
vmovups xmmword [rsp + 0x40], xmm7
vmovups xmm7, xmmword [rsp + 0x340]
vmovups xmmword [rsp + 0x70], xmm7
vmovups xmm7, xmmword [rsp + 0x370]
vmovups xmmword [rsp + 0x60], xmm7
vmovups xmm7, xmmword [rsp + 0x390]
vmovups xmmword [rsp + 0xb0], xmm7
vmovups xmm7, xmmword [rsp + 0x3b0]
vmovups xmm8, xmm7
vmovups xmm7, xmmword [rsp + 0x3c0]
jmp 0x4803ee