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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x420
vmovups xmmword [rsp + 0x380], xmm6
vmovups xmmword [rsp + 0x390], xmm7
vmovups xmmword [rsp + 0x3a0], xmm8
vmovups xmmword [rsp + 0x3b0], xmm9
vmovups xmmword [rsp + 0x3c0], xmm10
vmovups xmmword [rsp + 0x3d0], xmm11
vmovups xmmword [rsp + 0x3e0], xmm12
vmovups xmmword [rsp + 0x3f0], xmm13
vmovups xmmword [rsp + 0x400], xmm14
vmovups xmmword [rsp + 0x410], xmm15
mov edi, dword [rcx + 0x1f4]
mov r13d, edi
shr r13d, 8
mov rbx, rcx
mov rsi, rdx
je 0x478739
lea r12d, [r13 - 1]
lea rcx, [rsp + 0x280]
mov rbp, rbx
add r12, 1
lea r14, [rsp + 0x380]
shl r12, 4
mov rdx, rbp
mov r8, r12
add rbp, 0x40
call sub.msvcrt.dll_memcpy
mov rcx, rax
add rcx, 0x40
cmp r14, rcx
jne 0x477723
vmovdqu xmm6, xmmword [rbx + 0x1c0]
vpaddq xmm6, xmm6, xmmword [rbx + 0x1e0]
vmovups xmmword [rsp + 0xb0], xmm6
vmovups xmmword [rbx + 0x1c0], xmm6
cmp r13d, 3
ja 0x4778c3
mov eax, r13d
vmovdqu xmm6, xmmword [rsi]
mov rdx, rax
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x280], xmm6
vmovdqu xmm6, xmmword [rsi + 0x10]
mov rdx, rax
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x2c0], xmm6
vmovdqu xmm6, xmmword [rsi + 0x20]
mov rdx, rax
lea eax, [r13 + 1]
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x300], xmm6
vmovdqu xmm6, xmmword [rsi + 0x30]
vmovups xmmword [rsp + rdx + 0x340], xmm6
cmp r13d, 3
je 0x4778c3
vmovdqu xmm6, xmmword [rsi + 0x40]
mov rdx, rax
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x280], xmm6
vmovdqu xmm6, xmmword [rsi + 0x50]
mov rdx, rax
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x2c0], xmm6
vmovdqu xmm6, xmmword [rsi + 0x60]
mov rdx, rax
lea eax, [r13 + 2]
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x300], xmm6
vmovdqu xmm6, xmmword [rsi + 0x70]
vmovups xmmword [rsp + rdx + 0x340], xmm6
cmp r13d, 2
je 0x4778c3
vmovdqu xmm6, xmmword [rsi + 0x80]
mov rdx, rax
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x280], xmm6
mov rdx, rax
vmovdqu xmm6, xmmword [rsi + 0x90]
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x2c0], xmm6
mov rdx, rax
vmovdqu xmm6, xmmword [rsi + 0xa0]
shl rdx, 4
vmovups xmmword [rsp + rdx + 0x300], xmm6
vmovdqu xmm6, xmmword [rsi + 0xb0]
vmovups xmmword [rsp + rdx + 0x340], xmm6
test r13d, r13d
jne 0x4778c3
vmovdqu xmm6, xmmword [rsi + 0xc0]
vmovups xmmword [rsp + 0x2b0], xmm6
vmovdqu xmm6, xmmword [rsi + 0xd0]
vmovups xmmword [rsp + 0x2f0], xmm6
vmovdqu xmm6, xmmword [rsi + 0xe0]
vmovups xmmword [rsp + 0x330], xmm6
vmovdqu xmm6, xmmword [rsi + 0xf0]
vmovups xmmword [rsp + 0x370], xmm6
vmovdqu xmm4, xmmword [rsp + 0x280]
vmovdqu xmm2, xmmword [rsp + 0x290]
vmovdqu xmm6, xmmword [rsp + 0x2a0]
vmovdqu xmm13, xmmword [rsp + 0x2b0]
vmovdqu xmm0, xmmword [rsp + 0x2c0]
vmovups xmmword [rsp + 0x40], xmm2
vmovdqu xmm5, xmmword [rsp + 0x2d0]
vmovdqu xmm3, xmmword [rsp + 0x2e0]
vpxor xmm2, xmm13, xmm2
vmovdqu xmm1, xmmword [rsp + 0x2f0]
vmovups xmmword [rsp + 0x20], xmm6
vmovdqu xmm8, xmmword [rsp + 0x300]
vpxor xmm6, xmm6, xmm4
vmovdqu xmm11, xmmword [rsp + 0x310]
vmovups xmmword [rsp + 0x60], xmm4
vmovdqu xmm12, xmmword [rsp + 0x320]
vmovups xmmword [rsp + 0x50], xmm2
vmovdqu xmm10, xmmword [rsp + 0x330]
vmovdqu xmm4, xmm6
vmovdqu xmm7, xmmword [rsp + 0x340]
vmovups xmmword [rsp + 0x70], xmm5
vmovdqu xmm9, xmmword [rsp + 0x350]
vmovups xmmword [rsp + 0x90], xmm0
vmovdqu xmm15, xmmword [rsp + 0x370]
vmovups xmmword [rsp + 0x210], xmm6
vmovups xmmword [rsp + 0x220], xmm2
vpxor xmm2, xmm2, xmm6
vpxor xmm6, xmm3, xmm0
vpxor xmm0, xmm1, xmm5
vpxor xmm5, xmm0, xmm6
vmovups xmmword [rsp + 0x30], xmm7
vmovdqu xmm7, xmmword [rsp + 0x360]
vmovdqu xmm14, xmm6
vmovups xmmword [rsp + 0x80], xmm11
vpxor xmm11, xmm10, xmm11
vmovups xmmword [rsp + 0x1d0], xmm2
vmovdqu xmm2, xmm0
vmovups xmmword [rsp + 0x240], xmm0
vpxor xmm0, xmm12, xmm8
vmovups xmmword [rsp + 0xa0], xmm8
vmovdqu xmm8, xmm0
vmovups xmmword [rsp + 0x230], xmm6
vmovdqu xmm6, xmm11
vmovups xmmword [rsp + 0x1e0], xmm5
vpxor xmm5, xmm11, xmm0
vmovups xmmword [rsp + 0x250], xmm0
vmovups xmmword [rsp + 0x260], xmm11
vpxor xmm0, xmm7, xmmword [rsp + 0x30]
mov edx, dword [rbx + 0x1f0]
vmovups xmmword [rsp + 0x1f0], xmm5
vpxor xmm5, xmm9, xmm15
vmovups xmmword [rsp + 0x270], xmm5
vmovdqu xmm11, xmm5
shr edx, 1
vpxor xmm5, xmm5, xmm0
vmovups xmmword [rsp + 0x1c0], xmm0
vmovups xmmword [rsp + 0x200], xmm5
je 0x478569
vmovdqu xmm6, xmm9
vmovdqu xmm8, xmmword [0x006c8110]
vmovdqu xmm9, xmmword [rsp + 0x20]
xor eax, eax
nop dword [rax]
vmovdqu xmm4, xmmword [rsp + 0x60]
vmovdqu xmm14, xmmword [rsp + 0x30]
add eax, 1
vmovdqu xmm2, xmmword [rsp + 0xb0]
vpaddd xmm0, xmm2, xmmword [0x006c8120]
vaesenc xmm5, xmm4, xmm2
vmovdqu xmm2, xmmword [rsp + 0x90]
vaesenc xmm4, xmm2, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vmovdqu xmm2, xmmword [rsp + 0xa0]
vaesenc xmm2, xmm2, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm11, xmm14, xmm0
vpxor xmm14, xmm14, xmm14
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm5, xmm5, xmm14
vaesenc xmm11, xmm11, xmm14
vmovups xmmword [rsp + 0x50], xmm5
vaesenc xmm5, xmm4, xmm14
vmovups xmmword [rsp + 0x60], xmm5
vaesenc xmm5, xmm2, xmm14
vmovdqu xmm2, xmmword [rsp + 0x40]
vmovups xmmword [rsp + 0x30], xmm5
vmovdqu xmm5, xmm14
vaesenc xmm14, xmm2, xmm0
vmovdqu xmm2, xmmword [rsp + 0x70]
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm14, xmm14, xmm5
vaesenc xmm4, xmm2, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vmovdqu xmm2, xmmword [rsp + 0x80]
vaesenc xmm4, xmm4, xmm5
vaesenc xmm2, xmm2, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm2, xmm2, xmm5
vaesenc xmm6, xmm6, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vmovups xmmword [rsp + 0x20], xmm2
vaesenc xmm6, xmm6, xmm5
vaesenc xmm9, xmm9, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm9, xmm9, xmm5
vaesenc xmm2, xmm3, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm2, xmm2, xmm5
vaesenc xmm12, xmm12, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vaesenc xmm12, xmm12, xmm5
vaesenc xmm7, xmm7, xmm0
vpaddd xmm0, xmm0, xmmword [0x006c8120]
vpaddd xmm3, xmm0, xmmword [0x006c8120]
vaesenc xmm7, xmm7, xmm5
vaesenc xmm1, xmm1, xmm3
vaesenc xmm13, xmm13, xmm0
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vmovups xmmword [rsp + 0x40], xmm7
vmovdqu xmm7, xmm5
vaesenc xmm10, xmm10, xmm3
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vpaddd xmm0, xmm3, xmmword [0x006c8120]
vaesenc xmm10, xmm10, xmm7
vmovups xmmword [rsp + 0x90], xmm0
vaesenc xmm0, xmm13, xmm5
vaesenc xmm5, xmm1, xmm5
vmovdqu xmm1, xmmword [rsp + 0x50]
vaesenc xmm15, xmm15, xmm3
vmovups xmmword [rsp + 0x70], xmm0
vpsrlw xmm0, xmm4, 7
vaesenc xmm15, xmm15, xmm7
vpsrlw xmm7, xmm1, 7
vpaddb xmm3, xmm1, xmm1
vpand xmm7, xmm7, xmmword [0x006c8100]
vpand xmm0, xmm0, xmmword [0x006c8100]
vmovups xmmword [rsp + 0x1b0], xmm5
vpshufb xmm7, xmm8, xmm7
vpshufb xmm0, xmm8, xmm0
vpxor xmm13, xmm3, xmm7
vpaddb xmm3, xmm4, xmm4
vpaddb xmm7, xmm15, xmm15
vmovups xmmword [rsp + 0xa0], xmm13
vpsrlw xmm13, xmm12, 7
vpand xmm13, xmm13, xmmword [0x006c8100]
vpxor xmm0, xmm3, xmm0
vpxor xmm3, xmm4, xmm1
vpxor xmm4, xmm4, xmm12
vmovups xmmword [rsp + 0x190], xmm3
vpshufb xmm13, xmm8, xmm13
vpaddb xmm3, xmm12, xmm12
vpxor xmm13, xmm3, xmm13
vpsrlw xmm3, xmm15, 7
vpand xmm3, xmm3, xmmword [0x006c8100]
vpshufb xmm3, xmm8, xmm3
vpxor xmm1, xmm7, xmm3
vpsrlw xmm3, xmm14, 7
vpaddb xmm7, xmm14, xmm14
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0xb0], xmm1
vpshufb xmm3, xmm8, xmm3
vpxor xmm1, xmm7, xmm3
vpsrlw xmm3, xmm2, 7
vpaddb xmm7, xmm2, xmm2
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0xc0], xmm1
vpshufb xmm3, xmm8, xmm3
vpxor xmm3, xmm7, xmm3
vpaddb xmm7, xmm10, xmm10
vmovups xmmword [rsp + 0xd0], xmm3
vpxor xmm3, xmm14, xmm2
vpxor xmm2, xmm2, xmm10
vpxor xmm14, xmm14, xmm10
vmovups xmmword [rsp + 0x170], xmm3
vpsrlw xmm3, xmm10, 7
vpand xmm3, xmm3, xmmword [0x006c8100]
vpshufb xmm3, xmm8, xmm3
vpxor xmm1, xmm7, xmm3
vpsrlw xmm3, xmm11, 7
vpaddb xmm7, xmm11, xmm11
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0xe0], xmm1
vpshufb xmm3, xmm8, xmm3
vpxor xmm3, xmm7, xmm3
vpaddb xmm7, xmm9, xmm9
vmovups xmmword [rsp + 0xf0], xmm3
vpsrlw xmm3, xmm9, 7
vpand xmm3, xmm3, xmmword [0x006c8100]
vpshufb xmm3, xmm8, xmm3
vpxor xmm1, xmm7, xmm3
vpsrlw xmm3, xmm5, 7
vpaddb xmm7, xmm5, xmm5
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0x100], xmm1
vmovdqu xmm1, xmmword [rsp + 0x70]
vpshufb xmm3, xmm8, xmm3
vpxor xmm3, xmm7, xmm3
vpxor xmm7, xmm9, xmm5
vmovdqu xmm5, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x110], xmm3
vmovups xmmword [rsp + 0x180], xmm7
vpsrlw xmm3, xmm5, 7
vmovdqu xmm7, xmmword [rsp + 0x30]
vpand xmm3, xmm3, xmmword [0x006c8100]
vpaddb xmm7, xmm7, xmm5
vpshufb xmm3, xmm8, xmm3
vpxor xmm5, xmm7, xmm3
vpsrlw xmm3, xmm6, 7
vpaddb xmm7, xmm6, xmm6
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0x120], xmm5
vpshufb xmm3, xmm8, xmm3
vpxor xmm5, xmm7, xmm3
vpsrlw xmm3, xmm1, 7
vpaddb xmm7, xmm1, xmm1
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0x130], xmm5
vmovdqu xmm5, xmmword [rsp + 0x60]
vpshufb xmm3, xmm8, xmm3
vpxor xmm3, xmm7, xmm3
vpaddb xmm7, xmm5, xmm5
vmovups xmmword [rsp + 0x80], xmm3
vpsrlw xmm3, xmm5, 7
vpand xmm3, xmm3, xmmword [0x006c8100]
vpxor xmm5, xmm1, xmm5
vmovups xmmword [rsp + 0x1a0], xmm5
vmovdqu xmm5, xmmword [rsp + 0x20]
vmovdqu xmm1, xmmword [rsp + 0xb0]
vpshufb xmm3, xmm8, xmm3
vpxor xmm7, xmm7, xmm3
vpsrlw xmm3, xmm5, 7
vpand xmm3, xmm3, xmmword [0x006c8100]
vmovups xmmword [rsp + 0x140], xmm7
vmovdqu xmm7, xmmword [rsp + 0x20]
vpshufb xmm3, xmm8, xmm3
vpaddb xmm7, xmm7, xmm5
vpxor xmm5, xmm7, xmm3
vmovdqu xmm7, xmmword [rsp + 0x40]
vmovups xmmword [rsp + 0x150], xmm5
vpxor xmm5, xmm12, xmmword [rsp + 0x50]
vpsrlw xmm3, xmm7, 7
vpand xmm3, xmm3, xmmword [0x006c8100]
vpaddb xmm7, xmm7, xmmword [rsp + 0x40]
vpshufb xmm3, xmm8, xmm3
vpxor xmm7, xmm7, xmm3
vmovups xmmword [rsp + 0x160], xmm7
vmovdqu xmm7, xmmword [rsp + 0xa0]
vpxor xmm3, xmm0, xmm7
vpxor xmm0, xmm0, xmm13
vpxor xmm7, xmm1, xmm7
vpxor xmm4, xmm3, xmm4
vpxor xmm0, xmm0, xmm5
vpxor xmm13, xmm13, xmm1
vmovdqu xmm3, xmmword [rsp + 0x90]
vmovdqu xmm5, xmmword [rsp + 0x190]
vpxor xmm4, xmm4, xmm15
vpxor xmm0, xmm0, xmm15
vmovdqu xmm1, xmmword [rsp + 0xc0]
vaesenc xmm4, xmm4, xmm3
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vpxor xmm12, xmm12, xmm5
vpxor xmm15, xmm15, xmm5
vaesenc xmm0, xmm0, xmm3
vpxor xmm15, xmm13, xmm15
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vmovdqu xmm13, xmmword [rsp + 0xd0]
vpxor xmm7, xmm7, xmm12
vpxor xmm12, xmm12, xmm12
vaesenc xmm0, xmm0, xmm12
vaesenc xmm15, xmm15, xmm3
vaesenc xmm4, xmm4, xmm12
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vaesenc xmm15, xmm15, xmm12
vmovups xmmword [rsp + 0x190], xmm0
vpxor xmm0, xmm13, xmm1
vpxor xmm2, xmm0, xmm2
vmovdqu xmm0, xmmword [rsp + 0xe0]
vaesenc xmm7, xmm7, xmm3
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vpxor xmm2, xmm2, xmm11
vpxor xmm5, xmm13, xmm0
vaesenc xmm7, xmm7, xmm12
vmovdqu xmm13, xmmword [rsp + 0xf0]
vaesenc xmm2, xmm2, xmm3
vpxor xmm5, xmm5, xmm14
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vmovdqu xmm14, xmmword [rsp + 0x170]
vpxor xmm5, xmm5, xmm11
vpxor xmm0, xmm0, xmm13
vaesenc xmm2, xmm2, xmm12
vaesenc xmm5, xmm5, xmm3
vpxor xmm11, xmm11, xmm14
vpxor xmm10, xmm10, xmm14
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vpxor xmm11, xmm0, xmm11
vpxor xmm0, xmm13, xmm1
vpxor xmm10, xmm0, xmm10
vaesenc xmm5, xmm5, xmm12
vaesenc xmm11, xmm11, xmm3
vpaddd xmm3, xmm3, xmmword [0x006c8120]
vpaddd xmm0, xmm3, xmmword [0x006c8120]
vaesenc xmm14, xmm11, xmm12
vmovdqu xmm11, xmm12
vaesenc xmm10, xmm10, xmm3
vmovups xmmword [rsp + 0x50], xmm14
vaesenc xmm3, xmm10, xmm12
vmovups xmmword [rsp + 0xc0], xmm3
vmovdqu xmm3, xmmword [rsp + 0x110]
vmovdqu xmm12, xmmword [rsp + 0x30]
vmovdqu xmm14, xmmword [rsp + 0x100]
vpaddd xmm10, xmm0, xmmword [0x006c8120]
vpxor xmm1, xmm12, xmmword [rsp + 0x1b0]
vpxor xmm9, xmm9, xmm12
vpxor xmm13, xmm3, xmm14
vpxor xmm13, xmm13, xmm1
vmovdqu xmm1, xmmword [rsp + 0x120]
vpxor xmm13, xmm13, xmm6
vpxor xmm3, xmm3, xmm1
vaesenc xmm13, xmm13, xmm0
vmovdqu xmm0, xmm12
vmovdqu xmm12, xmmword [rsp + 0x180]
vpxor xmm3, xmm3, xmm9
vmovdqu xmm9, xmm1
vaesenc xmm13, xmm13, xmm11
vmovdqu xmm1, xmmword [rsp + 0x130]
vmovups xmmword [rsp + 0xd0], xmm13
vpxor xmm3, xmm3, xmm6
vpxor xmm6, xmm6, xmm12
vpxor xmm12, xmm12, xmm0
vaesenc xmm3, xmm3, xmm10
vpxor xmm9, xmm9, xmm1
vpxor xmm1, xmm1, xmm14
vmovdqu xmm0, xmmword [rsp + 0x60]
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vpxor xmm9, xmm9, xmm6
vpxor xmm1, xmm1, xmm12
vmovdqu xmm6, xmmword [rsp + 0x20]
vaesenc xmm3, xmm3, xmm11
vmovdqu xmm12, xmmword [rsp + 0x40]
vmovdqu xmm14, xmmword [rsp + 0x150]
vaesenc xmm9, xmm9, xmm10
vpxor xmm0, xmm0, xmm6
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vaesenc xmm9, xmm9, xmm11
vpxor xmm13, xmm6, xmmword [rsp + 0x70]
vaesenc xmm1, xmm1, xmm10
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vaesenc xmm1, xmm1, xmm11
vmovups xmmword [rsp + 0xe0], xmm1
vmovdqu xmm1, xmmword [rsp + 0x140]
vpxor xmm11, xmm1, xmmword [rsp + 0x80]
vpxor xmm11, xmm11, xmm0
vpxor xmm0, xmm1, xmm14
vmovdqu xmm1, xmm14
vmovdqu xmm14, xmmword [rsp + 0x160]
vpxor xmm11, xmm11, xmm12
vpxor xmm0, xmm0, xmm13
vmovdqu xmm13, xmmword [rsp + 0x1a0]
vaesenc xmm11, xmm11, xmm10
vpxor xmm0, xmm0, xmm12
vpxor xmm6, xmm1, xmm14
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vpxor xmm1, xmm12, xmm13
vpxor xmm12, xmm14, xmmword [rsp + 0x80]
vpxor xmm6, xmm6, xmm1
vpxor xmm1, xmm13, xmmword [rsp + 0x20]
vpxor xmm13, xmm13, xmm13
vaesenc xmm0, xmm0, xmm10
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vaesenc xmm11, xmm11, xmm13
vpxor xmm1, xmm12, xmm1
vmovups xmmword [rsp + 0x20], xmm11
vpsrlw xmm11, xmm4, 7
vpand xmm11, xmm11, xmmword [0x006c8100]
vaesenc xmm6, xmm6, xmm10
vpaddb xmm12, xmm5, xmm5
vaesenc xmm0, xmm0, xmm13
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vaesenc xmm6, xmm6, xmm13
vaesenc xmm1, xmm1, xmm10
vpaddd xmm10, xmm10, xmmword [0x006c8120]
vaesenc xmm1, xmm1, xmm13
vpaddb xmm13, xmm9, xmm9
vmovups xmmword [rsp + 0xb0], xmm10
vpshufb xmm10, xmm8, xmm11
vpaddb xmm11, xmm4, xmm4
vpaddb xmm14, xmm1, xmm1
vpxor xmm11, xmm11, xmm10
vpsrlw xmm10, xmm5, 7
vpand xmm10, xmm10, xmmword [0x006c8100]
vpshufb xmm10, xmm8, xmm10
vpxor xmm10, xmm12, xmm10
vpxor xmm12, xmm4, xmm5
vpxor xmm5, xmm5, xmm9
vmovups xmmword [rsp + 0x30], xmm12
vpsrlw xmm12, xmm9, 7
vpxor xmm4, xmm4, xmm9
vpand xmm12, xmm12, xmmword [0x006c8100]
vpshufb xmm12, xmm8, xmm12
vpxor xmm12, xmm13, xmm12
vpsrlw xmm13, xmm1, 7
vpand xmm13, xmm13, xmmword [0x006c8100]
vpshufb xmm13, xmm8, xmm13
vpxor xmm13, xmm13, xmm14
vpxor xmm14, xmm11, xmm10
vpxor xmm10, xmm10, xmm12
vpxor xmm5, xmm5, xmm14
vpxor xmm10, xmm10, xmm4
vpxor xmm12, xmm12, xmm13
vpxor xmm14, xmm5, xmm1
vpsrlw xmm4, xmm2, 7
vpand xmm4, xmm4, xmmword [0x006c8100]
vmovups xmmword [rsp + 0x60], xmm14
vpxor xmm14, xmm10, xmm1
vmovdqu xmm10, xmmword [rsp + 0x30]
vpaddb xmm5, xmm3, xmm3
vmovups xmmword [rsp + 0x90], xmm14
vpxor xmm11, xmm11, xmm13
vmovdqu xmm13, xmmword [rsp + 0xd0]
vpxor xmm1, xmm1, xmm10
vpxor xmm9, xmm9, xmm10
vpaddb xmm10, xmm7, xmm7
vpxor xmm14, xmm12, xmm1
vpshufb xmm1, xmm8, xmm4
vpaddb xmm4, xmm2, xmm2
vpxor xmm4, xmm4, xmm1
vpsrlw xmm1, xmm3, 7
vpxor xmm9, xmm11, xmm9
vmovups xmmword [rsp + 0xa0], xmm14
vmovups xmmword [rsp + 0x30], xmm9
vpaddb xmm9, xmm6, xmm6
vpxor xmm11, xmm2, xmm3
vpand xmm1, xmm1, xmmword [0x006c8100]
vpxor xmm2, xmm2, xmm6
vpsrlw xmm12, xmm15, 7
vpxor xmm3, xmm3, xmm6
vpshufb xmm1, xmm8, xmm1
vpand xmm12, xmm12, xmmword [0x006c8100]
vpxor xmm1, xmm5, xmm1
vpsrlw xmm5, xmm6, 7
vpxor xmm6, xmm6, xmm11
vpand xmm5, xmm5, xmmword [0x006c8100]
vpshufb xmm5, xmm8, xmm5
vpxor xmm5, xmm9, xmm5
vpsrlw xmm9, xmm7, 7
vpand xmm9, xmm9, xmmword [0x006c8100]
vpshufb xmm9, xmm8, xmm9
vpxor xmm9, xmm10, xmm9
vpxor xmm10, xmm4, xmm1
vpxor xmm1, xmm1, xmm5
vpxor xmm1, xmm1, xmm2
vpxor xmm3, xmm10, xmm3
vpxor xmm5, xmm5, xmm9
vpxor xmm2, xmm1, xmm7
vpxor xmm14, xmm3, xmm7
vpxor xmm4, xmm4, xmm9
vmovups xmmword [rsp + 0x70], xmm2
vpxor xmm2, xmm7, xmm11
vpsrlw xmm7, xmm13, 7
vpand xmm7, xmm7, xmmword [0x006c8100]
vpsrlw xmm3, xmm0, 7
vpxor xmm2, xmm5, xmm2
vpxor xmm6, xmm4, xmm6
vmovdqu xmm5, xmmword [rsp + 0xc0]
vpshufb xmm1, xmm8, xmm7
vpand xmm3, xmm3, xmmword [0x006c8100]
vpaddb xmm7, xmm13, xmm13
vmovups xmmword [rsp + 0x80], xmm2
vpxor xmm7, xmm7, xmm1
vpaddb xmm2, xmm5, xmm5
vpxor xmm4, xmm0, xmm13
vmovups xmmword [rsp + 0x40], xmm14
vpshufb xmm1, xmm8, xmm3
vpaddb xmm3, xmm0, xmm0
vpxor xmm0, xmm0, xmm15
vmovdqu xmm14, xmmword [rsp + 0x50]
vpxor xmm3, xmm3, xmm1
vpshufb xmm1, xmm8, xmm12
vpaddb xmm12, xmm15, xmm15
vpxor xmm12, xmm12, xmm1
vpsrlw xmm1, xmm5, 7
vpxor xmm9, xmm7, xmm3
vpand xmm1, xmm1, xmmword [0x006c8100]
vpxor xmm3, xmm3, xmm12
vpxor xmm9, xmm9, xmm0
vpxor xmm0, xmm4, xmm5
vpxor xmm4, xmm15, xmm4
vpxor xmm9, xmm9, xmm5
vpshufb xmm1, xmm8, xmm1
vpsrlw xmm10, xmm14, 7
vpand xmm10, xmm10, xmmword [0x006c8100]
vpxor xmm1, xmm2, xmm1
vpxor xmm2, xmm15, xmm13
vmovdqu xmm15, xmmword [rsp + 0x20]
vpxor xmm3, xmm3, xmm2
vpxor xmm12, xmm12, xmm1
vpxor xmm7, xmm7, xmm1
vpxor xmm3, xmm3, xmm5
vpsrlw xmm2, xmm15, 7
vpand xmm2, xmm2, xmmword [0x006c8100]
vmovdqu xmm5, xmmword [rsp + 0x190]
vpxor xmm12, xmm12, xmm0
vpxor xmm7, xmm7, xmm4
vmovdqu xmm4, xmmword [rsp + 0xe0]
vpsrlw xmm1, xmm5, 7
vpshufb xmm0, xmm8, xmm2
vpaddb xmm2, xmm15, xmm15
vpand xmm1, xmm1, xmmword [0x006c8100]
vpxor xmm2, xmm2, xmm0
vpxor xmm11, xmm15, xmm5
vpsrlw xmm15, xmm4, 7
vpand xmm15, xmm15, xmmword [0x006c8100]
vpshufb xmm0, xmm8, xmm1
vpaddb xmm1, xmm5, xmm5
vpxor xmm1, xmm1, xmm0
vpshufb xmm0, xmm8, xmm10
vpaddb xmm10, xmm14, xmmword [rsp + 0x50]
vmovdqu xmm14, xmmword [rsp + 0x50]
vpxor xmm13, xmm2, xmm1
vpxor xmm10, xmm10, xmm0
vpshufb xmm0, xmm8, xmm15
vpaddb xmm15, xmm4, xmm4
vpxor xmm15, xmm15, xmm0
vpxor xmm0, xmm5, xmm14
vpxor xmm1, xmm1, xmm10
vpxor xmm13, xmm13, xmm0
vpxor xmm0, xmm14, xmmword [rsp + 0x20]
vpxor xmm10, xmm10, xmm15
vpxor xmm15, xmm2, xmm15
vpxor xmm13, xmm13, xmm4
vpxor xmm1, xmm1, xmm0
vpxor xmm0, xmm11, xmm4
vpxor xmm11, xmm11, xmm14
vpxor xmm1, xmm1, xmm4
vpxor xmm10, xmm10, xmm0
vpxor xmm15, xmm15, xmm11
cmp eax, edx
jne 0x477a70
vmovdqu xmm4, xmm9
vmovups xmmword [rsp + 0x20], xmm9
vmovdqu xmm9, xmm6
vmovdqu xmm6, xmmword [rsp + 0x60]
vpxor xmm2, xmm1, xmmword [rsp + 0x70]
vpxor xmm0, xmm7, xmmword [rsp + 0x30]
vpxor xmm11, xmm9, xmm15
vpxor xmm14, xmm3, xmmword [rsp + 0x90]
vpxor xmm4, xmm6, xmm4
vpxor xmm6, xmm13, xmmword [rsp + 0x40]
vpxor xmm8, xmm12, xmmword [rsp + 0xa0]
vmovups xmmword [rsp + 0x50], xmm6
vpxor xmm6, xmm10, xmmword [rsp + 0x80]
vpxor xmm5, xmm4, xmmword [rsp + 0x1d0]
vmovups xmmword [rsp + 0x30], xmm5
vpxor xmm5, xmm14, xmmword [rsp + 0x1e0]
vmovups xmmword [rsp + 0x60], xmm5
vpxor xmm5, xmm8, xmmword [rsp + 0x1f0]
vmovups xmmword [rsp + 0x90], xmm5
vpxor xmm5, xmm0, xmmword [rsp + 0x200]
vmovups xmmword [rsp + 0xa0], xmm5
cmp edi, 0x100
je 0x478710
vpxor xmm2, xmm2, xmmword [rsp + 0x240]
vmovdqu xmm5, xmmword [rsp + 0x50]
vpxor xmm5, xmm5, xmmword [rsp + 0x220]
vpxor xmm6, xmm6, xmmword [rsp + 0x260]
vpxor xmm4, xmm4, xmmword [rsp + 0x210]
vmovups xmmword [rsp + 0x70], xmm2
vpxor xmm0, xmm0, xmmword [rsp + 0x1c0]
vpxor xmm2, xmm8, xmmword [rsp + 0x250]
vmovups xmmword [rsp + 0x40], xmm5
vpxor xmm9, xmm11, xmmword [rsp + 0x270]
vpxor xmm5, xmm14, xmmword [rsp + 0x230]
vmovups xmmword [rsp + 0x80], xmm6
vmovdqu xmm6, xmmword [rsp + 0x40]
vmovups xmmword [rbx + 0x30], xmm13
vmovups xmm8, xmmword [rsp + 0x3a0]
vmovups xmmword [rbx + 0xa0], xmm12
vmovups xmm11, xmmword [rsp + 0x3d0]
vmovups xmm12, xmmword [rsp + 0x3e0]
vmovups xmmword [rbx + 0x10], xmm6
vmovdqu xmm6, xmmword [rsp + 0x20]
vmovups xmm13, xmmword [rsp + 0x3f0]
vmovups xmmword [rbx + 0xb0], xmm10
vmovups xmm14, xmmword [rsp + 0x400]
vmovups xmm10, xmmword [rsp + 0x3c0]
vmovups xmmword [rbx + 0x20], xmm6
vmovdqu xmm6, xmmword [rsp + 0x70]
vmovups xmmword [rbx + 0xd0], xmm9
vmovups xmm9, xmmword [rsp + 0x3b0]
vmovups xmmword [rbx + 0x50], xmm6
vmovdqu xmm6, xmmword [rsp + 0x80]
vmovups xmmword [rbx + 0xe0], xmm7
vmovups xmm7, xmmword [rsp + 0x390]
vmovups xmmword [rbx + 0x90], xmm6
vmovups xmm6, xmmword [rsp + 0x380]
vmovups xmmword [rbx + 0xf0], xmm15
vmovups xmm15, xmmword [rsp + 0x410]
vmovups xmmword [rbx], xmm4
vmovups xmmword [rbx + 0x40], xmm5
vmovups xmmword [rbx + 0x60], xmm3
vmovups xmmword [rbx + 0x70], xmm1
vmovups xmmword [rbx + 0x80], xmm2
vmovups xmmword [rbx + 0xc0], xmm0
add rsp, 0x420
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
vmovdqu xmm4, xmmword [rsp + 0x50]
vpxor xmm5, xmm2, xmmword [rsp + 0x60]
vpxor xmm0, xmm11, xmmword [rsp + 0xa0]
vpxor xmm4, xmm4, xmmword [rsp + 0x30]
vpxor xmm2, xmm6, xmmword [rsp + 0x90]
jmp 0x47861a
vmovdqu xmm6, xmmword [rcx + 0x1c0]
vpaddq xmm6, xmm6, xmmword [rcx + 0x1e0]
vmovups xmmword [rsp + 0xb0], xmm6
vmovups xmmword [rcx + 0x1c0], xmm6
jmp 0x477769