Function at 0x411780
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1f8
mov esi, dword [ecx]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 0x28]
mov dword [esp + 0xc8], edx
mov edx, dword [ecx + 0x54]
mov dword [esp + 0xf8], edx
mov edx, 0xffffffff
movd xmm0, edx
mov ebx, dword [ecx + 0x50]
movdqu xmm7, xmmword [ecx + 0x18]
movups xmm1, xmmword [ecx + 8]
movups xmmword [esp + 0xd8], xmm1
movups xmm1, xmmword [ecx + 0x40]
movups xmmword [esp + 0x20], xmm1
movups xmm1, xmmword [ecx + 0x30]
movups xmmword [esp + 0xb8], xmm1
movups xmm1, xmmword [ecx + 0x68]
movups xmmword [esp + 0x60], xmm1
movupd xmm1, xmmword [ecx + 0x58]
movupd xmmword [esp + 0x50], xmm1
movdqu xmm3, xmmword [ecx + 0x90]
pshufd xmm0, xmm0, 0x50
movdqu xmmword [esp + 0x1e8], xmm0
mov ebp, dword [ecx + 0x7c]
mov edx, dword [ecx + 0x78]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0xa4]
mov edi, dword [ecx + 0xa0]
mov dword [esp + 0x74], 0xfffffffc
movdqu xmm6, xmmword [ecx + 0x80]
movups xmm0, xmmword [ecx + 0xb8]
movups xmmword [esp], xmm0
mov dword [esp + 0x19c], ecx
movdqu xmm0, xmmword [ecx + 0xa8]
movdqu xmmword [esp + 0x40], xmm0
nop
mov dword [esp + 0x78], edx
movdqu xmmword [esp + 0x98], xmm7
movdqa xmm4, xmm6
movdqu xmmword [esp + 0x108], xmm6
movdqu xmm6, xmmword [esp + 0xb8]
movdqa xmm1, xmm6
movdqu xmm0, xmmword [esp + 0xd8]
pxor xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x50]
pxor xmm0, xmm4
pxor xmm0, xmm1
movdqu xmm2, xmmword [esp + 0x20]
pxor xmm2, xmm7
movdqu xmm1, xmmword [esp + 0x60]
pxor xmm1, xmm3
movdqu xmmword [esp + 0x10], xmm3
pxor xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x40]
pxor xmm0, xmm2
pshufd xmm2, xmm0, 0xee
mov dword [esp + 0x118], eax
movd dword [esp + 0x14c], xmm2
pshufd xmm2, xmm0, 0xff
movd dword [esp + 0x1a8], xmm2
mov ecx, esi
mov esi, ebp
mov dword [esp + 0x17c], ebp
mov ebp, dword [esp + 0xa8]
xor ebp, eax
mov dword [esp + 0x16c], edi
mov edx, dword [esp + 0xf8]
xor edx, esi
xor edx, ebp
mov esi, dword [esp + 0xc8]
mov ebp, esi
xor ebp, ecx
movd xmm2, ebx
movdqu xmmword [esp + 0x15c], xmm2
xor ebx, dword [esp + 0x30]
xor ebx, ebp
xor ebx, edi
xor edx, dword [esp + 0x78]
movd xmm4, ebx
movd xmm5, edx
punpcklqdq xmm5, xmm4
shufps xmm5, xmm0, 0x42
movaps xmm4, xmm5
psrlq xmm4, 0x3f
paddq xmm5, xmm5
por xmm5, xmm4
movdqu xmm4, xmmword [esp]
pxor xmm1, xmm4
pxor xmm5, xmm1
movdqa xmm7, xmm5
movdqa xmm2, xmm1
psrlq xmm1, 0x3f
paddq xmm2, xmm2
por xmm2, xmm1
pxor xmm2, xmm0
pshufd xmm0, xmm6, 0x55
movd ebp, xmm0
pshufd xmm0, xmm2, 0xff
movd dword [esp + 0x128], xmm0
pshufd xmm0, xmm3, 0x55
movd dword [esp + 0x18c], xmm0
movd xmm0, ecx
movd xmm1, dword [esp + 0x118]
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x1e8]
punpcklqdq xmm1, xmm0
movdqa xmm5, xmm1
movd xmm0, esi
movd xmm1, dword [esp + 0xa8]
punpcklqdq xmm1, xmm0
pshufd xmm0, xmm2, 0xee
movdqu xmmword [esp + 0xe8], xmm2
movd dword [esp + 0x118], xmm0
movd esi, xmm6
movups xmm4, xmmword [esp + 0x20]
shufps xmm6, xmm4, 0x4e
shufps xmm4, xmm1, 0x2e
xorps xmm4, xmm7
movaps xmm0, xmm4
psrlq xmm0, 0x2c
movaps xmm1, xmm4
psrlq xmm1, 0x1c
movsd xmm1, xmm0
movaps xmm0, xmm4
psllq xmm4, 0x24
psllq xmm0, 0x14
movsd xmm4, xmm0
mov ecx, dword [esp + 0x1a8]
mov eax, ecx
mov edi, dword [esp + 0x14c]
shld eax, edi, 1
orpd xmm4, xmm1
movupd xmmword [esp + 0x20], xmm4
shld edi, ecx, 1
xor edi, ebx
xor eax, edx
xor ebp, eax
xor esi, edi
mov ecx, esi
shrd esi, ebp, 0x14
shld ecx, ebp, 0xc
movd xmm0, esi
movd xmm1, ecx
movdqu xmmword [esp + 0xa8], xmm1
punpcklqdq xmm1, xmm0
xorps xmm6, xmm2
movaps xmm0, xmm6
psrlq xmm0, 0x3a
movaps xmm4, xmm6
psrlq xmm4, 9
movsd xmm4, xmm0
movaps xmm0, xmm6
psllq xmm0, 6
psllq xmm6, 0x37
movsd xmm6, xmm0
orpd xmm6, xmm4
movupd xmmword [esp + 0xb8], xmm6
movss xmm4, dword [esp + 0xf8]
movhps xmm4, qword [esp + 0x15c]
movd xmm6, edi
movd xmm0, eax
movdqa xmm2, xmm0
punpcklqdq xmm2, xmm6
movups xmmword [esp + 0x88], xmm7
movaps xmm3, xmm7
shufps xmm3, xmm2, 0x2e
movups xmm2, xmmword [esp + 0x50]
shufps xmm4, xmm2, 0x42
xorps xmm3, xmm4
movaps xmm4, xmm3
psrlq xmm4, 0x3d
movaps xmm2, xmm3
psrlq xmm2, 0x36
movsd xmm2, xmm4
shufps xmm1, xmm7, 0xe2
pxor xmm5, xmm1
movdqu xmmword [esp + 0xf8], xmm5
movss xmm1, dword [esp + 0x30]
movss xmm4, dword [esp + 0x17c]
movlhps xmm4, xmm1
movdqu xmm1, xmmword [esp + 0x10]
movd ebx, xmm1
shufps xmm1, xmm4, 0x2e
movups xmmword [esp + 0x10], xmm1
punpckldq xmm6, xmm0
movdqu xmmword [esp + 0x30], xmm6
movdqa xmm4, xmm0
movd xmm0, edi
punpcklqdq xmm4, xmm0
movups xmm7, xmmword [esp + 0xe8]
shufps xmm4, xmm7, 0x42
movups xmm1, xmmword [esp + 0x108]
xorps xmm4, xmm1
movaps xmm1, xmm3
psllq xmm1, 3
psllq xmm3, 0xa
movdqu xmmword [esp + 0xc8], xmm3
shufpd xmm1, xmm3, 2
orpd xmm1, xmm2
movupd xmmword [esp + 0x15c], xmm1
movups xmm0, xmmword [esp + 0x88]
shufps xmm7, xmm0, 0x4e
movups xmm5, xmmword [esp + 0x60]
xorps xmm5, xmm7
movaps xmm1, xmm5
psrlq xmm1, 0x27
movups xmm2, xmmword [esp + 0x10]
movaps xmm3, xmm5
psrlq xmm3, 0x19
movsd xmm3, xmm1
movaps xmm1, xmm5
psllq xmm1, 0x19
psllq xmm5, 0x27
movsd xmm5, xmm1
movapd xmm6, xmm5
xorps xmm2, xmm0
movaps xmm1, xmm2
psrlq xmm1, 0x38
movaps xmm5, xmm2
psrlq xmm5, 0x17
movsd xmm5, xmm1
movaps xmm1, xmm2
psllq xmm1, 8
psllq xmm2, 0x29
movsd xmm2, xmm1
orpd xmm2, xmm5
orpd xmm6, xmm3
movupd xmmword [esp + 0x60], xmm6
movaps xmm1, xmm4
psrlq xmm1, 0x13
movaps xmm3, xmm4
psrlq xmm3, 0x31
movsd xmm3, xmm1
movups xmm5, xmmword [esp + 0x50]
movups xmm0, xmmword [esp]
shufps xmm5, xmm0, 0x4e
movups xmm0, xmmword [esp + 0xe8]
xorps xmm5, xmm0
movaps xmm1, xmm5
movaps xmm0, xmm5
movaps xmm6, xmm5
psllq xmm5, 0x38
psllq xmm6, 0x2b
movsd xmm5, xmm6
psrlq xmm1, 0x15
psrlq xmm0, 8
shufpd xmm1, xmm0, 2
orpd xmm5, xmm1
movupd xmmword [esp + 0x50], xmm5
movaps xmm6, xmm4
psllq xmm4, 0xf
movdqu xmmword [esp + 0x108], xmm4
pshufd xmm1, xmm4, 0xff
movd edi, xmm1
psllq xmm6, 0x2d
shufpd xmm6, xmm4, 2
orpd xmm6, xmm3
movupd xmmword [esp + 0x10], xmm6
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
pshufd xmm1, xmm5, 0xff
movd dword [esp + 0x14c], xmm1
movdqu xmm0, xmmword [esp + 0xc8]
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x17c], xmm1
movups xmm0, xmmword [esp + 0x98]
xorps xmm7, xmm0
movdqu xmm3, xmmword [esp + 0x30]
movdqa xmm6, xmm3
movdqu xmm5, xmmword [esp + 0xe8]
punpcklqdq xmm6, xmm5
movdqu xmm0, xmmword [esp + 0xd8]
pxor xmm6, xmm0
movdqa xmm1, xmm6
psrlq xmm1, 0x3f
movdqa xmm4, xmm6
psrlq xmm4, 2
movsd xmm4, xmm1
movdqa xmm1, xmm6
psllq xmm1, 0x3e
paddq xmm6, xmm6
shufpd xmm6, xmm1, 2
orpd xmm6, xmm4
movaps xmm1, xmm7
psrlq xmm1, 0x24
movaps xmm4, xmm7
psrlq xmm4, 0x25
movsd xmm4, xmm1
movaps xmm1, xmm7
psllq xmm7, 0x1b
psllq xmm1, 0x1c
movsd xmm7, xmm1
orpd xmm7, xmm4
movupd xmmword [esp + 0xc8], xmm7
movss xmm1, dword [esp + 0x16c]
movss xmm4, dword [esp + 0x78]
unpcklps xmm1, xmm4
movdqu xmm0, xmmword [esp + 0x88]
punpcklqdq xmm3, xmm0
shufpd xmm0, xmm5, 1
movupd xmm4, xmmword [esp + 0x40]
shufpd xmm1, xmm4, 2
xorpd xmm0, xmm1
movupd xmm5, xmmword [esp]
movsd xmm5, xmm4
movdqu xmm7, xmmword [esp + 0x15c]
pshufd xmm1, xmm7, 0xee
movd dword [esp + 0x70], xmm1
xorpd xmm5, xmm3
movapd xmm1, xmm5
psrlq xmm1, 0x3e
movapd xmm4, xmm5
psrlq xmm4, 0x32
movsd xmm4, xmm1
movapd xmm1, xmm5
psllq xmm1, 2
psllq xmm5, 0xe
movsd xmm5, xmm1
movdqu xmm3, xmmword [esp + 0x10]
pshufd xmm1, xmm3, 0xee
movd eax, xmm1
orpd xmm5, xmm4
movupd xmmword [esp], xmm5
movapd xmm1, xmm0
psrlq xmm1, 0x2e
movapd xmm4, xmm0
psrlq xmm4, 3
movsd xmm4, xmm1
movapd xmm1, xmm0
psllq xmm1, 0x12
psllq xmm0, 0x3d
movsd xmm0, xmm1
orpd xmm0, xmm4
movupd xmmword [esp + 0x88], xmm0
mov ebp, dword [esp + 0x18c]
xor ebp, dword [esp + 0x128]
xor ebx, dword [esp + 0x118]
mov edx, ebp
shld edx, ebx, 0x15
shld ebx, ebp, 0x15
movd xmm1, ebx
movd xmm0, edx
punpcklqdq xmm0, xmm1
movdqu xmmword [esp + 0x78], xmm0
movdqa xmm1, xmm7
movdqa xmm4, xmm7
pandn xmm1, xmm3
movdqu xmm0, xmmword [esp + 0x20]
pxor xmm1, xmm0
movdqu xmmword [esp + 0x40], xmm1
movdqu xmm1, xmmword [esp + 0xc8]
movdqa xmm3, xmm1
pandn xmm3, xmm0
movdqu xmmword [esp + 0xd8], xmm3
movdqa xmm3, xmm7
pandn xmm0, xmm7
movdqu xmmword [esp + 0x30], xmm0
movdqu xmm5, xmmword [esp + 0xb8]
movdqu xmm7, xmmword [esp + 0x60]
pandn xmm5, xmm7
movdqu xmmword [esp + 0x20], xmm7
pshufd xmm0, xmm7, 0xee
movdqu xmmword [esp + 0x98], xmm0
punpcklqdq xmm7, xmm3
movapd xmm0, xmm6
movupd xmm4, xmmword [esp + 0xf8]
unpckhpd xmm0, xmm4
movupd xmm4, xmmword [esp]
andnpd xmm4, xmm0
movupd xmmword [esp + 0xe8], xmm4
movapd xmm0, xmm6
unpcklpd xmm0, xmm1
movupd xmm3, xmmword [esp + 0x88]
andnpd xmm3, xmm0
pxor xmm5, xmm6
movdqu xmmword [esp + 0x16c], xmm5
movupd xmm4, xmmword [esp + 0x20]
andnpd xmm4, xmm2
movupd xmm0, xmmword [esp + 0xb8]
xorpd xmm4, xmm0
movupd xmmword [esp + 0x20], xmm4
andnpd xmm6, xmm0
movapd xmm0, xmm2
movups xmm1, xmmword [esp + 0x78]
shufps xmm0, xmm1, 0x2e
movups xmm4, xmmword [esp + 0xe8]
xorps xmm4, xmm0
movups xmmword [esp + 0xe8], xmm4
movups xmm5, xmmword [esp]
andnps xmm0, xmm5
movups xmm4, xmmword [esp + 0x98]
movups xmm1, xmmword [esp + 0x50]
movlhps xmm4, xmm1
xorps xmm4, xmm0
movups xmmword [esp + 0x98], xmm4
movups xmm0, xmmword [esp + 0x88]
movaps xmm4, xmm0
movlhps xmm4, xmm5
xorps xmm4, xmm6
movupd xmm5, xmmword [esp + 0x10]
unpcklpd xmm2, xmm5
movapd xmm5, xmm3
xorpd xmm5, xmm2
movupd xmmword [esp + 0xb8], xmm5
andnpd xmm2, xmm0
pxor xmm7, xmm2
movdqu xmmword [esp + 0x60], xmm7
movaps xmm2, xmm1
unpckhpd xmm0, xmm1
movups xmm1, xmmword [esp + 0xd8]
xorps xmm0, xmm1
movaps xmm7, xmm0
movups xmmword [esp + 0x128], xmm4
pshufd xmm0, xmm4, 0xff
movd dword [esp + 0xd8], xmm0
movdqu xmm1, xmmword [esp + 0x40]
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x15c], xmm0
pshufd xmm0, xmm4, 0xee
movd dword [esp + 0x1b8], xmm0
pshufd xmm0, xmm1, 0xff
movd dword [esp + 0x1a8], xmm0
pshufd xmm0, xmm5, 0x55
movd dword [esp + 0x18c], xmm0
mov edx, dword [esp + 0x74]
movss xmm0, dword [edx*8 + 0x51d45c]
movss xmm1, dword [edx*8 + 0x51d458]
unpcklps xmm1, xmm0
movd xmm0, esi
movdqu xmm3, xmmword [esp + 0xa8]
punpcklqdq xmm3, xmm0
movdqu xmmword [esp + 0xa8], xmm3
pshufd xmm0, xmm2, 0x4e
movups xmm5, xmmword [esp + 0xf8]
andps xmm2, xmm5
xorps xmm1, xmm2
movups xmm6, xmmword [esp + 0x30]
movups xmm2, xmmword [esp + 0xc8]
xorps xmm6, xmm2
movups xmmword [esp + 0x30], xmm6
movups xmm4, xmmword [esp + 0x78]
shufps xmm2, xmm4, 0x2e
pandn xmm0, xmm2
shufps xmm2, xmm3, 0x24
movaps xmm3, xmm5
andnps xmm3, xmm2
movups xmmword [esp + 0x88], xmm7
pshufd xmm2, xmm7, 0x55
movd dword [esp + 0x148], xmm2
movdqu xmm2, xmmword [esp + 0x98]
movdqu xmm4, xmmword [esp + 0x60]
pxor xmm2, xmm4
pshufd xmm4, xmm2, 0xee
pxor xmm4, xmm2
movsd xmm3, xmm1
movups xmm1, xmmword [esp]
unpckhpd xmm5, xmm1
xorps xmm5, xmm3
movdqu xmm1, xmmword [esp + 0x108]
pshufd xmm1, xmm1, 0xfa
movdqu xmm2, xmmword [esp + 0x10]
punpckhdq xmm2, xmm1
movd esi, xmm4
pshufd xmm1, xmm4, 0x55
movd ebx, xmm1
movups xmm1, xmmword [esp + 0xa8]
shufps xmm2, xmm1, 0x24
xorps xmm2, xmm0
movaps xmm4, xmm2
movups xmmword [esp + 0x10], xmm2
movups xmm0, xmmword [esp + 0x20]
movups xmm1, xmmword [esp + 0x40]
xorps xmm0, xmm1
movups xmm1, xmmword [esp + 0xe8]
movups xmm2, xmmword [esp + 0xb8]
xorps xmm1, xmm2
movaps xmm2, xmm1
unpckhpd xmm2, xmm0
movlhps xmm1, xmm0
xorps xmm1, xmm2
movups xmm2, xmmword [esp + 0x16c]
xorps xmm2, xmm6
movups xmm0, xmmword [esp + 0x128]
xorps xmm0, xmm7
movaps xmm3, xmm2
unpckhpd xmm3, xmm0
movlhps xmm2, xmm0
xorps xmm2, xmm3
movups xmmword [esp + 0xf8], xmm5
xorps xmm2, xmm5
pshufd xmm0, xmm2, 0x55
movd dword [esp + 0x50], xmm0
xorps xmm1, xmm4
movaps xmm0, xmm1
psrlq xmm0, 0x3f
movaps xmm3, xmm1
paddq xmm3, xmm1
por xmm3, xmm0
movdqa xmm4, xmm2
psrlq xmm4, 0x3f
movdqa xmm0, xmm1
punpckhqdq xmm0, xmm2
movd ebp, xmm2
paddq xmm2, xmm2
por xmm2, xmm4
pxor xmm0, xmm3
not edi
mov edx, dword [esp + 0x14c]
and edx, edi
not eax
mov edi, ecx
and edi, eax
mov ecx, dword [esp + 0x70]
xor ecx, edi
mov eax, dword [esp + 0x17c]
xor eax, edx
xor esi, ecx
xor ebx, eax
mov edi, eax
movd xmm3, esi
movd xmm4, ebx
punpcklqdq xmm4, xmm3
shufps xmm1, xmm4, 0x24
xorps xmm1, xmm2
pshufd xmm2, xmm0, 0xee
movd dword [esp + 0x144], xmm2
pshufd xmm2, xmm0, 0xff
movd dword [esp + 0x140], xmm2
pshufd xmm2, xmm5, 0x55
movd dword [esp + 0x78], xmm2
pshufd xmm2, xmm1, 0x55
movdqa xmm4, xmm1
movups xmmword [esp + 0x1c8], xmm1
movd dword [esp + 0x13c], xmm2
mov eax, esi
shld eax, ebx, 1
movups xmm6, xmmword [esp + 0x60]
movups xmm1, xmmword [esp + 0x40]
shufps xmm6, xmm1, 0x4e
shld ebx, esi, 1
mov esi, dword [esp + 0x50]
xor esi, ebx
mov dword [esp + 0x50], esi
xor ebp, eax
mov dword [esp + 0x1a0], ebp
movd xmm1, ebp
movdqu xmmword [esp + 0x1d8], xmm1
movd xmm3, esi
movdqu xmmword [esp + 0xa8], xmm3
punpcklqdq xmm3, xmm1
movdqu xmmword [esp + 0x14c], xmm3
movdqu xmmword [esp + 0x108], xmm0
movdqa xmm2, xmm0
shufps xmm2, xmm3, 0x24
xorps xmm6, xmm2
movdqa xmm2, xmm0
punpckhqdq xmm2, xmm4
movupd xmm1, xmmword [esp + 0xb8]
movss dword [esp + 0x70], xmm1
movupd xmm0, xmmword [esp + 0x30]
movsd xmm1, xmm0
xorpd xmm1, xmm2
movd xmm2, edi
movd xmm5, ecx
punpckldq xmm5, xmm2
shufpd xmm5, xmm0, 2
movapd xmm2, xmm1
psllq xmm2, 0x24
movapd xmm4, xmm1
movapd xmm3, xmm1
psllq xmm1, 0x37
movsd xmm1, xmm2
movapd xmm7, xmm5
movupd xmm0, xmmword [esp + 0x108]
xorpd xmm7, xmm0
movapd xmm2, xmm7
psrlq xmm2, 0x31
movapd xmm5, xmm7
psrlq xmm5, 0x17
movsd xmm5, xmm2
movapd xmm2, xmm7
psllq xmm2, 0xf
psllq xmm7, 0x29
movsd xmm7, xmm2
movapd xmm0, xmm7
movaps xmm2, xmm6
psllq xmm6, 6
movaps xmm7, xmm2
movups xmmword [esp], xmm2
psllq xmm2, 0x2c
movsd xmm2, xmm6
psrlq xmm4, 0x1c
psrlq xmm3, 9
movdqu xmmword [esp + 0x30], xmm3
shufpd xmm4, xmm3, 2
orpd xmm1, xmm4
movupd xmmword [esp + 0xb8], xmm1
psrlq xmm7, 0x3a
movdqu xmm1, xmmword [esp]
psrlq xmm1, 0x14
movdqu xmmword [esp], xmm1
shufpd xmm7, xmm1, 2
orpd xmm2, xmm7
movupd xmmword [esp + 0x17c], xmm2
orpd xmm0, xmm5
movupd xmmword [esp + 0x118], xmm0
movdqu xmm0, xmmword [esp + 0x88]
movd dword [esp + 0x40], xmm0
pshufd xmm0, xmm0, 0xee
movdqu xmm1, xmmword [esp + 0x10]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x1c8]
pxor xmm0, xmm1
movdqa xmm4, xmm0
psrlq xmm4, 0x38
movdqa xmm5, xmm0
psrlq xmm5, 0x2b
movsd xmm5, xmm4
movdqa xmm4, xmm0
psllq xmm4, 8
psllq xmm0, 0x15
movsd xmm0, xmm4
orpd xmm0, xmm5
movupd xmmword [esp + 0x88], xmm0
pshufd xmm5, xmm1, 0xff
movd dword [esp + 0x138], xmm5
pshufd xmm5, xmm1, 0xee
movd dword [esp + 0xc8], xmm5
pshufd xmm4, xmm4, 0x55
movd dword [esp + 0x1a4], xmm4
movups xmm0, xmmword [esp + 0xa8]
movups xmm6, xmmword [esp + 0x1d8]
unpcklps xmm6, xmm0
movups xmm4, xmmword [esp + 0xe8]
movlhps xmm6, xmm4
movups xmm0, xmmword [esp + 0x14c]
shufps xmm4, xmm0, 0x2e
movups xmm3, xmmword [esp + 0x60]
movups xmm2, xmmword [esp + 0x16c]
movlhps xmm3, xmm2
movdqu xmm0, xmmword [esp + 0xf8]
movd esi, xmm0
movups xmm7, xmmword [esp + 0x98]
movhlps xmm0, xmm7
shufps xmm7, xmm2, 0xe4
movups xmm2, xmmword [esp + 0x108]
xorps xmm3, xmm2
movups xmmword [esp + 0x60], xmm3
xorps xmm7, xmm2
movaps xmm3, xmm2
movdqa xmm2, xmm1
movlhps xmm3, xmm1
xorps xmm3, xmm0
movdqu xmm0, xmmword [esp]
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0x1d8], xmm0
movups xmm0, xmmword [esp + 0x20]
movaps xmm5, xmm0
unpckhpd xmm5, xmm1
movlhps xmm0, xmm1
movups xmmword [esp + 0x20], xmm0
movd ebp, xmm1
movdqu xmm0, xmmword [esp + 0x10]
punpckhqdq xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x30]
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0x1c8], xmm0
pxor xmm2, xmm4
movaps xmm1, xmm3
movaps xmm0, xmm3
psllq xmm0, 0x3e
movaps xmm4, xmm3
psllq xmm1, 0x1b
movsd xmm1, xmm0
psrlq xmm4, 2
movdqu xmmword [esp + 0x98], xmm4
psrlq xmm3, 0x25
movsd xmm3, xmm4
orpd xmm1, xmm3
movupd xmmword [esp + 0x14c], xmm1
movdqa xmm0, xmm2
psrlq xmm0, 0x24
movdqa xmm4, xmm2
psrlq xmm4, 0x3f
movsd xmm4, xmm0
movdqa xmm3, xmm2
psllq xmm3, 0x1c
paddq xmm2, xmm2
movsd xmm2, xmm3
orpd xmm2, xmm4
xor esi, dword [esp + 0x144]
mov dword [esp + 0x144], esi
mov eax, dword [esp + 0x78]
xor eax, dword [esp + 0x140]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1b8]
xor ecx, ebp
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0x13c]
xor ebx, edi
mov edx, ecx
shld edx, ebx, 0xe
shld ebx, ecx, 0xe
mov dword [esp + 0xd8], ebx
movd xmm0, eax
movd xmm1, esi
punpckldq xmm1, xmm0
movdqu xmmword [esp + 0x16c], xmm1
movd xmm0, ebx
movd xmm1, edx
mov esi, edx
punpckldq xmm1, xmm0
movdqu xmmword [esp + 0x10], xmm1
xorps xmm5, xmm6
mov ecx, dword [esp + 0x40]
xor ecx, ebp
mov eax, dword [esp + 0x148]
xor eax, edi
mov edi, ecx
shld edi, eax, 0x14
shld eax, ecx, 0x14
movaps xmm0, xmm5
psrlq xmm0, 0x3e
movaps xmm6, xmm5
psrlq xmm6, 8
movsd xmm6, xmm0
movd xmm4, eax
movd xmm0, edi
punpckldq xmm0, xmm4
movdqu xmmword [esp], xmm0
movaps xmm4, xmm5
psllq xmm4, 2
psllq xmm5, 0x38
movsd xmm5, xmm4
orpd xmm5, xmm6
movaps xmm6, xmm7
psrlq xmm6, 3
movaps xmm1, xmm7
psrlq xmm1, 0x2e
movsd xmm1, xmm6
movdqu xmm6, xmmword [esp + 0x17c]
pshufd xmm6, xmm6, 0xff
movd dword [esp + 0x1b8], xmm6
movaps xmm6, xmm7
psllq xmm6, 0x3d
psllq xmm7, 0x12
shufpd xmm6, xmm7, 2
orpd xmm6, xmm1
pshufd xmm0, xmm6, 0xee
movd dword [esp + 0x40], xmm0
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0xf8], xmm0
pshufd xmm0, xmm4, 0x55
movd dword [esp + 0x148], xmm0
mov edx, dword [esp + 0x1a0]
movd xmm0, edx
movdqu xmm4, xmmword [esp + 0xa8]
punpcklqdq xmm4, xmm0
movups xmm0, xmmword [esp + 0x128]
shufps xmm4, xmm0, 0x42
movdqu xmm0, xmmword [esp + 0xb8]
pshufd xmm0, xmm0, 0xff
movd dword [esp + 0x140], xmm0
movups xmm1, xmmword [esp + 0x20]
xorps xmm1, xmm4
movaps xmm0, xmm1
psrlq xmm0, 0x36
movaps xmm4, xmm1
psrlq xmm4, 0x19
movsd xmm4, xmm0
movaps xmm0, xmm1
psllq xmm0, 0xa
psllq xmm1, 0x27
movsd xmm1, xmm0
orpd xmm1, xmm4
movupd xmmword [esp + 0x20], xmm1
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x1a8]
xor edx, dword [esp + 0x15c]
mov eax, edx
shld eax, ecx, 0xd
shrd edx, ecx, 0x13
pshufd xmm0, xmm5, 0x4e
movdqu xmm1, xmmword [esp + 0x118]
pandn xmm1, xmm0
movdqu xmmword [esp + 0xe8], xmm1
movd xmm4, edx
movd xmm0, eax
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm4
movdqu xmmword [esp + 0x15c], xmm1
punpckldq xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x14c]
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
movups xmm0, xmmword [esp + 0x98]
movss dword [esp + 0x128], xmm0
shufps xmm3, xmm2, 0xc5
movups xmm7, xmmword [esp + 0x10]
shufps xmm7, xmm3, 0x24
movapd xmm0, xmm6
andnpd xmm0, xmm2
movdqu xmm1, xmmword [esp + 0x88]
punpcklqdq xmm4, xmm1
pxor xmm4, xmm0
movdqu xmmword [esp + 0x30], xmm4
movdqu xmm4, xmmword [esp + 0x60]
movdqa xmm0, xmm4
psrlq xmm0, 0x15
movdqa xmm3, xmm4
psrlq xmm3, 0x3d
movsd xmm3, xmm0
movdqa xmm0, xmm4
psllq xmm4, 3
psllq xmm0, 0x2b
movsd xmm4, xmm0
mov ecx, dword [esp + 0x138]
xor ecx, dword [esp + 0x18c]
mov eax, dword [esp + 0xc8]
xor eax, dword [esp + 0x70]
mov ebx, ecx
shld ebx, eax, 0x19
shld eax, ecx, 0x19
mov dword [esp + 0xc8], eax
orpd xmm4, xmm3
movupd xmmword [esp + 0x60], xmm4
movdqa xmm0, xmm1
movdqa xmm3, xmm1
movups xmm1, xmmword [esp + 0x15c]
shufps xmm3, xmm1, 0x2e
movupd xmm1, xmmword [esp + 0x10]
unpcklpd xmm1, xmm6
andnps xmm3, xmm1
movups xmmword [esp + 0x98], xmm3
movups xmm1, xmmword [esp + 0x16c]
movups xmm3, xmmword [esp]
movlhps xmm1, xmm3
movups xmmword [esp + 0x16c], xmm1
andnps xmm7, xmm1
movd xmm4, ebx
movd xmm1, eax
movdqu xmmword [esp + 0x10], xmm1
punpckldq xmm1, xmm4
movdqu xmm3, xmmword [esp + 0x60]
punpcklqdq xmm1, xmm3
pandn xmm1, xmm0
movdqu xmmword [esp + 0x50], xmm1
movd dword [esp + 0x18c], xmm0
shufpd xmm0, xmm6, 1
xorpd xmm0, xmm7
movapd xmm7, xmm0
movdqu xmm3, xmmword [esp + 0x20]
movdqu xmm0, xmmword [esp + 0x118]
pandn xmm3, xmm0
movdqu xmmword [esp + 0x108], xmm3
pshufd xmm0, xmm0, 0x4e
unpckhpd xmm6, xmm5
movupd xmmword [esp + 0x118], xmm6
movd dword [esp + 0x138], xmm5
movdqu xmm6, xmmword [esp + 0x14c]
pandn xmm5, xmm6
pxor xmm0, xmm5
movdqu xmmword [esp + 0xa8], xmm0
movhps xmm4, qword [esp + 0x10]
movups xmm5, xmmword [esp + 0x60]
movaps xmm0, xmm5
shufps xmm0, xmm4, 0x2e
movups xmm3, xmmword [esp + 0x17c]
movups xmm1, xmmword [esp]
movlhps xmm1, xmm3
andnps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [esp], xmm1
movaps xmm1, xmm2
movdqa xmm2, xmm6
punpckhqdq xmm1, xmm6
movups xmm0, xmmword [esp + 0x50]
xorps xmm0, xmm3
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmm3
movups xmm3, xmmword [esp + 0xb8]
movlhps xmm0, xmm3
pandn xmm1, xmm0
movupd xmmword [esp + 0x88], xmm7
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0x70], xmm0
pshufd xmm0, xmm7, 0xee
movd dword [esp + 0x13c], xmm0
mov eax, dword [esp + 0x144]
not eax
mov edi, dword [esp + 0x1d8]
and eax, edi
xor eax, esi
mov dword [esp + 0x1a8], eax
mov ebp, dword [esp + 0x78]
not ebp
mov ecx, dword [esp + 0x1b8]
and ebp, ecx
xor ebp, dword [esp + 0xd8]
movd xmm0, ebp
movd xmm4, eax
punpckldq xmm4, xmm0
movdqu xmmword [esp + 0x10], xmm4
movdqu xmm6, xmmword [esp + 0x118]
pxor xmm6, xmm1
movdqu xmm7, xmmword [esp + 0xe8]
movdqu xmm0, xmmword [esp + 0x20]
pxor xmm7, xmm0
movdqu xmmword [esp + 0xe8], xmm7
movups xmm4, xmmword [esp + 0x108]
xorps xmm4, xmm3
movups xmmword [esp + 0x108], xmm4
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm3, 0x4e
pandn xmm1, xmm0
pxor xmm1, xmm2
movdqa xmm3, xmm1
pshufd xmm0, xmm6, 0x55
movdqa xmm2, xmm6
movd dword [esp + 0xb8], xmm0
not edx
and edx, dword [esp + 0x140]
xor edx, dword [esp + 0x148]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x128]
not eax
and eax, dword [esp + 0x1c8]
xor eax, dword [esp + 0x138]
mov dword [esp + 0x128], eax
movd xmm0, eax
movd xmm1, edx
punpcklqdq xmm1, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm1, 0x2e
movups xmmword [esp + 0x78], xmm0
movdqu xmmword [esp + 0xd8], xmm3
pshufd xmm0, xmm3, 0xff
movd dword [esp + 0x17c], xmm0
pshufd xmm0, xmm3, 0xee
movd dword [esp + 0x14c], xmm0
not ecx
not edi
movd xmm0, ecx
movd xmm1, edi
punpcklqdq xmm0, xmm1
pshufd xmm1, xmm6, 0xee
movd edi, xmm1
mov eax, dword [esp + 0x74]
movd xmm1, dword [eax*8 + 0x51d464]
movd xmm4, dword [eax*8 + 0x51d460]
punpckldq xmm4, xmm1
pcmpeqd xmm1, xmm1
shufps xmm0, xmm1, 0xe2
andps xmm0, xmm5
pxor xmm4, xmm0
pshufd xmm0, xmm6, 0xff
movdqu xmmword [esp + 0x118], xmm6
movd esi, xmm0
movups xmm1, xmmword [esp + 0x98]
xorps xmm1, xmm5
movups xmmword [esp + 0x98], xmm1
movups xmm0, xmmword [esp + 0x15c]
shufps xmm0, xmm0, 0x24
andnps xmm5, xmm0
movaps xmm6, xmm5
movaps xmm0, xmm1
xorps xmm0, xmm7
movups xmm1, xmmword [esp + 0x30]
movups xmm3, xmmword [esp + 0xa8]
xorps xmm1, xmm3
movaps xmm5, xmm0
unpckhpd xmm5, xmm1
movlhps xmm0, xmm1
xorps xmm0, xmm5
movsd xmm6, xmm4
movapd xmm3, xmm6
mov eax, dword [esp + 0x1a4]
not eax
mov ecx, dword [esp + 0xf8]
and ecx, eax
mov edx, dword [esp + 0x18c]
not edx
mov eax, dword [esp + 0x40]
and eax, edx
xor eax, dword [esp + 0xc8]
mov dword [esp + 0x40], eax
xor ecx, ebx
mov dword [esp + 0xf8], ecx
movd xmm1, ecx
movd xmm4, eax
punpckldq xmm4, xmm1
movdqu xmm1, xmmword [esp + 0x88]
punpcklqdq xmm4, xmm1
pxor xmm4, xmm0
movupd xmm1, xmmword [esp]
movapd xmm0, xmm1
movupd xmm5, xmmword [esp + 0x108]
shufpd xmm0, xmm5, 1
movupd xmmword [esp + 0x15c], xmm0
movupd xmm0, xmmword [esp + 0x10]
unpcklpd xmm0, xmm1
movupd xmmword [esp + 0x10], xmm0
movupd xmm0, xmmword [esp + 0xd8]
xorpd xmm1, xmm0
movupd xmm0, xmmword [esp + 0x50]
xorpd xmm5, xmm0
movapd xmm0, xmm1
unpckhpd xmm0, xmm5
unpcklpd xmm1, xmm5
movupd xmm5, xmmword [esp + 0x16c]
xorpd xmm3, xmm5
xorpd xmm1, xmm0
movapd xmm7, xmm1
movd ebx, xmm2
xor edi, ebx
xor esi, dword [esp + 0xb8]
xor edi, dword [esp + 0x1a8]
xor edi, dword [esp + 0x13c]
xor esi, ebp
xor esi, dword [esp + 0x70]
xor esi, dword [esp + 0x20]
xor edi, dword [esp + 0x128]
movd xmm6, edi
movd xmm0, esi
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm6
punpckldq xmm6, xmm0
xorpd xmm7, xmm3
movapd xmm5, xmm3
movupd xmmword [esp + 0x60], xmm3
punpcklqdq xmm6, xmm7
movdqa xmm0, xmm6
paddq xmm6, xmm6
psrlq xmm0, 0x3f
por xmm6, xmm0
pxor xmm6, xmm4
movdqa xmm3, xmm4
psrlq xmm4, 0x3f
paddq xmm3, xmm3
por xmm3, xmm4
pshufd xmm0, xmm7, 0xff
movd eax, xmm0
pshufd xmm0, xmm7, 0xee
movd edx, xmm0
pxor xmm3, xmm7
movdqa xmm2, xmm3
pshufd xmm0, xmm6, 0x55
movd dword [esp + 0x108], xmm0
movdqu xmm3, xmmword [esp + 0x30]
movdqu xmm0, xmmword [esp + 0xa8]
punpckhqdq xmm3, xmm0
pshufd xmm0, xmm6, 0x44
pxor xmm3, xmm0
movdqu xmmword [esp], xmm2
pshufd xmm0, xmm2, 0xff
movd esi, xmm0
movupd xmm0, xmmword [esp + 0x50]
unpckhpd xmm0, xmm5
pshufd xmm4, xmm2, 0x44
pxor xmm4, xmm0
movdqa xmm0, xmm3
psrlq xmm0, 0x27
movdqa xmm2, xmm3
psrlq xmm2, 0x2b
movsd xmm2, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x19
movsd xmm3, xmm0
orpd xmm3, xmm2
movupd xmmword [esp + 0xc8], xmm3
movdqa xmm0, xmm4
psllq xmm0, 0x2c
movdqa xmm2, xmm4
movdqa xmm3, xmm4
paddq xmm4, xmm4
shufps xmm4, xmm0, 0xe4
psrlq xmm2, 0x3f
psrlq xmm3, 0x14
shufps xmm2, xmm3, 0xe4
orps xmm4, xmm2
movaps xmm5, xmm4
movups xmmword [esp + 0xb8], xmm4
pshufd xmm4, xmm6, 0xee
movdqu xmm0, xmmword [esp + 0x118]
pxor xmm4, xmm0
pshufd xmm0, xmm3, 0xee
movd ebp, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x19
movdqa xmm2, xmm4
psrlq xmm2, 0x38
movsd xmm2, xmm0
movdqa xmm0, xmm4
psllq xmm4, 8
psllq xmm0, 0x27
movsd xmm4, xmm0
mov ecx, edx
shld ecx, eax, 1
orpd xmm4, xmm2
movupd xmmword [esp + 0x20], xmm4
shld eax, edx, 1
movd xmm0, eax
movd xmm7, ecx
punpckldq xmm7, xmm0
shufps xmm1, xmmword [0x51c290], 0xe2
punpcklqdq xmm7, xmm4
pxor xmm7, xmm1
pshufd xmm0, xmm7, 0x55
movd edx, xmm0
movdqa xmm1, xmm6
movupd xmm2, xmmword [esp]
movsd xmm1, xmm2
movupd xmm0, xmmword [esp + 0x78]
xorpd xmm1, xmm0
pshufd xmm0, xmm5, 0xff
movd ecx, xmm0
movupd xmm0, xmmword [esp + 0xd8]
shufpd xmm0, xmm2, 2
movapd xmm3, xmm2
movupd xmm5, xmmword [esp + 0xe8]
movupd xmm2, xmmword [esp + 0x50]
unpcklpd xmm2, xmm5
movupd xmmword [esp + 0x50], xmm2
movsd xmm5, xmm7
xorpd xmm5, xmm0
movapd xmm2, xmm1
movapd xmm0, xmm1
psrlq xmm0, 0x3e
psrlq xmm1, 0x32
movsd xmm1, xmm0
movapd xmm0, xmm2
psllq xmm0, 2
psllq xmm2, 0xe
movsd xmm2, xmm0
orpd xmm2, xmm1
movupd xmmword [esp + 0x16c], xmm2
pshufd xmm4, xmm3, 0xee
movd eax, xmm4
xor eax, dword [esp + 0x40]
xor esi, dword [esp + 0xf8]
mov edi, esi
shrd esi, eax, 0x15
shld edi, eax, 0xb
movd xmm3, edi
movd xmm1, esi
movdqa xmm0, xmm1
punpcklqdq xmm0, xmm3
movdqu xmmword [esp + 0x78], xmm0
movdqu xmm2, xmmword [esp + 0x88]
pxor xmm2, xmm6
movdqa xmm3, xmm2
psrlq xmm3, 0x24
movdqa xmm0, xmm2
psrlq xmm0, 0x2c
movsd xmm0, xmm3
movdqa xmm3, xmm2
psllq xmm3, 0x1c
psllq xmm2, 0x14
movsd xmm2, xmm3
orpd xmm2, xmm0
movupd xmmword [esp + 0x88], xmm2
movapd xmm0, xmm5
psrlq xmm0, 0x2e
movapd xmm3, xmm5
psrlq xmm3, 3
movsd xmm3, xmm0
movapd xmm0, xmm5
psllq xmm0, 0x12
psllq xmm5, 0x3d
movsd xmm5, xmm0
movdqu xmm2, xmmword [esp + 0x98]
pxor xmm2, xmm4
movdqa xmm0, xmm2
psrlq xmm0, 2
movdqa xmm4, xmm2
psrlq xmm4, 0x3a
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm0, 0x3e
psllq xmm2, 6
movsd xmm2, xmm0
orpd xmm2, xmm4
movupd xmmword [esp + 0x98], xmm2
movd xmm0, edi
punpcklqdq xmm1, xmm0
movapd xmm0, xmm2
shufps xmm0, xmm1, 0x2e
movaps xmm4, xmm0
orpd xmm5, xmm3
movupd xmmword [esp + 0x128], xmm5
xor edx, dword [esp + 0x17c]
movd eax, xmm7
xor eax, dword [esp + 0x14c]
mov ebx, edx
shld ebx, eax, 9
shld eax, edx, 9
movd edx, xmm6
movd xmm1, eax
movdqu xmmword [esp + 0x17c], xmm1
movd xmm0, ebx
movdqu xmmword [esp + 0x40], xmm0
punpcklqdq xmm1, xmm0
movdqu xmmword [esp + 0x118], xmm1
movups xmm0, xmmword [esp + 0x60]
shufps xmm0, xmm1, 0x24
movaps xmm1, xmm0
xorps xmm1, xmm7
movups xmmword [esp + 0x18c], xmm1
andps xmm0, xmm7
movups xmmword [esp + 0x60], xmm0
shufps xmm6, xmm7, 0x4e
movdqu xmm0, xmmword [esp]
punpcklqdq xmm7, xmm0
movdqu xmm2, xmmword [esp + 0x50]
pxor xmm2, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x36
movdqa xmm1, xmm2
psrlq xmm1, 0x31
movsd xmm1, xmm0
movdqa xmm0, xmm2
psllq xmm0, 0xa
psllq xmm2, 0xf
movsd xmm2, xmm0
orpd xmm2, xmm1
movdqu xmm0, xmmword [esp + 0x15c]
pxor xmm7, xmm0
movups xmm0, xmmword [esp + 0x10]
xorps xmm6, xmm0
movaps xmm0, xmm6
psrlq xmm0, 0x25
movaps xmm1, xmm6
psrlq xmm1, 0x1c
movdqu xmmword [esp + 0x15c], xmm1
movaps xmm3, xmm6
psllq xmm3, 0x1b
movdqu xmmword [esp + 0x14c], xmm3
shufpd xmm0, xmm1, 2
psllq xmm6, 0x24
movsd xmm6, xmm3
orpd xmm6, xmm0
movupd xmmword [esp + 0x1a8], xmm6
movdqa xmm1, xmm7
psrlq xmm1, 0x3d
movdqa xmm0, xmm7
psrlq xmm0, 0x13
movsd xmm0, xmm1
movdqa xmm1, xmm7
psllq xmm1, 3
psllq xmm7, 0x2d
movsd xmm7, xmm1
movdqu xmm1, xmmword [esp + 0x30]
movd ebx, xmm1
pshufd xmm1, xmm1, 0x55
movd eax, xmm1
orpd xmm7, xmm0
not ebp
and ebp, edi
not ecx
and ecx, esi
mov esi, dword [esp + 0x74]
xor ebp, dword [esi*8 + 0x51d468]
xor ecx, dword [esi*8 + 0x51d46c]
movd xmm0, ecx
movd xmm1, ebp
punpckldq xmm1, xmm0
movdqu xmmword [esp + 0xe8], xmm1
movups xmm0, xmmword [esp + 0xc8]
movups xmm1, xmmword [esp + 0x78]
shufps xmm1, xmm0, 0xe2
movups xmmword [esp + 0x78], xmm1
movupd xmm1, xmmword [esp + 0x88]
shufpd xmm1, xmm7, 1
andnps xmm4, xmm0
movups xmmword [esp + 0xd8], xmm4
movapd xmm3, xmm2
shufpd xmm6, xmm2, 1
andnpd xmm6, xmm2
movupd xmmword [esp], xmm6
movupd xmm0, xmmword [esp + 0x20]
movsd xmm0, xmm7
movapd xmm6, xmm0
xor ebx, edx
mov ecx, dword [esp + 0x108]
xor eax, ecx
mov ebp, eax
andnpd xmm1, xmm7
movupd xmmword [esp + 0x30], xmm1
shld ebp, ebx, 0x17
movapd xmm1, xmm7
movsd xmm7, xmm2
movupd xmmword [esp + 0xf8], xmm7
shrd eax, ebx, 9
movd xmm5, eax
movd xmm4, ebp
punpckldq xmm4, xmm5
movdqu xmm0, xmmword [esp + 0xe8]
punpcklqdq xmm0, xmm4
movdqu xmmword [esp + 0xe8], xmm0
movapd xmm0, xmm2
movupd xmm2, xmmword [esp + 0xc8]
movsd xmm3, xmm2
movupd xmmword [esp + 0x50], xmm3
punpcklqdq xmm4, xmm2
movdqu xmmword [esp + 0x10], xmm4
movdqu xmm3, xmmword [esp + 0x16c]
punpckhqdq xmm2, xmm3
pshufd xmm7, xmm3, 0xee
movdqu xmm4, xmmword [esp + 0x18c]
punpcklqdq xmm7, xmm4
pandn xmm2, xmm7
movdqu xmmword [esp + 0x1b8], xmm2
movupd xmm2, xmmword [esp + 0x128]
shufpd xmm1, xmm2, 1
pshufd xmm7, xmm2, 0xee
movdqu xmm3, xmmword [esp + 0xb8]
punpcklqdq xmm7, xmm3
andnpd xmm1, xmm7
xorpd xmm6, xmm1
movupd xmmword [esp + 0xc8], xmm6
movdqu xmm3, xmmword [esp + 0xa8]
pshufd xmm1, xmm3, 0x55
movd edi, xmm1
movd eax, xmm3
xor eax, edx
xor edi, ecx
mov ecx, edi
shld ecx, eax, 0x18
mov dword [esp + 0x108], ecx
shrd edi, eax, 8
movd xmm7, edi
movd xmm3, ecx
movdqa xmm1, xmm3
punpckldq xmm1, xmm7
movdqu xmm6, xmmword [esp + 0x88]
punpcklqdq xmm1, xmm6
unpckhpd xmm0, xmm2
andnpd xmm0, xmm1
movupd xmm1, xmmword [esp + 0xf8]
xorpd xmm1, xmm0
movupd xmmword [esp + 0xf8], xmm1
punpcklqdq xmm7, xmm3
movups xmm6, xmmword [esp + 0x20]
shufps xmm6, xmm7, 0x2e
movups xmm0, xmmword [esp + 0x40]
movups xmm1, xmmword [esp + 0x17c]
unpcklps xmm0, xmm1
movups xmmword [esp + 0x40], xmm0
movupd xmm0, xmmword [esp + 0x60]
movdqa xmm1, xmm4
movsd xmm0, xmm4
movupd xmmword [esp + 0x60], xmm0
movupd xmm7, xmmword [esp + 0x98]
unpcklpd xmm7, xmm4
movd xmm0, ebp
punpcklqdq xmm5, xmm0
movups xmm3, xmmword [esp + 0xb8]
shufps xmm5, xmm3, 0xe2
andnps xmm7, xmm5
movups xmm1, xmmword [esp + 0xd8]
xorps xmm1, xmm3
movups xmmword [esp + 0xd8], xmm1
movups xmm0, xmmword [esp + 0x10]
movups xmm2, xmmword [esp + 0x20]
andnps xmm0, xmm2
movups xmm2, xmmword [esp + 0x30]
movups xmm4, xmmword [esp + 0x88]
xorps xmm2, xmm4
movups xmmword [esp + 0x30], xmm2
movups xmm4, xmmword [esp + 0x98]
xorps xmm0, xmm4
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x40]
movups xmm2, xmmword [esp + 0x16c]
movlhps xmm0, xmm2
movups xmmword [esp + 0x40], xmm0
xorps xmm7, xmm2
movups xmmword [esp + 0xa8], xmm7
movaps xmm0, xmm2
movlhps xmm0, xmm4
movups xmm2, xmmword [esp + 0x88]
movlhps xmm3, xmm2
unpckhpd xmm4, xmm2
movups xmm7, xmmword [esp + 0x78]
movups xmm2, xmmword [esp + 0x1b8]
xorps xmm7, xmm2
movups xmmword [esp + 0x78], xmm7
andnps xmm3, xmm4
movups xmm5, xmmword [esp + 0x128]
xorps xmm3, xmm5
movups xmmword [esp + 0xb8], xmm3
movups xmm4, xmmword [esp + 0x1a8]
movlhps xmm5, xmm4
andnps xmm6, xmm5
movdqu xmm2, xmmword [esp + 0x14c]
pshufd xmm2, xmm2, 0x55
movd esi, xmm2
movups xmm3, xmmword [esp]
xorps xmm3, xmm4
movups xmmword [esp], xmm3
movd edx, xmm4
pshufd xmm2, xmm4, 0xff
movd eax, xmm2
movdqu xmm2, xmmword [esp + 0x15c]
pshufd xmm2, xmm2, 0xee
movd ebx, xmm2
movups xmm4, xmmword [esp + 0xe8]
movups xmm2, xmmword [esp + 0x60]
xorps xmm4, xmm2
movups xmm2, xmmword [esp + 0x40]
andnps xmm2, xmm0
movups xmm5, xmmword [esp + 0x50]
xorps xmm5, xmm6
movups xmm0, xmmword [esp + 0x20]
movups xmm6, xmmword [esp + 0x118]
shufps xmm0, xmm6, 0x24
xorps xmm0, xmm2
movaps xmm6, xmm0
movups xmmword [esp + 0x20], xmm0
movaps xmm0, xmm3
xorps xmm0, xmm1
movups xmm2, xmmword [esp + 0x30]
movups xmm1, xmmword [esp + 0x10]
xorps xmm2, xmm1
xorps xmm2, xmm0
xorps xmm2, xmm4
movups xmmword [esp + 0xe8], xmm4
pshufd xmm0, xmm2, 0xee
movd dword [esp + 0x98], xmm0
pshufd xmm0, xmm2, 0xff
movd dword [esp + 0x40], xmm0
movdqu xmm0, xmmword [esp + 0xa8]
movdqu xmm1, xmmword [esp + 0xb8]
pxor xmm0, xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm0
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
movd ebp, xmm0
not esi
and eax, esi
not edx
and ebx, edx
xor ebx, dword [esp + 0x108]
mov dword [esp + 0x108], ebx
xor eax, edi
mov dword [esp + 0x118], eax
xor ebp, eax
xor ecx, ebx
mov dword [esp + 0x128], ecx
movd xmm3, ecx
movd xmm0, ebp
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
psrlq xmm0, 0x3f
paddq xmm3, xmm3
por xmm3, xmm0
movups xmm0, xmmword [esp + 0xc8]
movups xmm1, xmmword [esp + 0xf8]
xorps xmm0, xmm1
xorps xmm0, xmm6
xorps xmm0, xmm5
movaps xmm6, xmm5
xorps xmm0, xmm7
pxor xmm3, xmm0
movdqu xmmword [esp + 0x88], xmm3
movdqa xmm1, xmm0
psrlq xmm0, 0x3f
paddq xmm1, xmm1
por xmm1, xmm0
pxor xmm1, xmm2
pshufd xmm0, xmm4, 0x55
movd ebx, xmm0
pshufd xmm0, xmm3, 0xee
movdqu xmmword [esp + 0x17c], xmm0
movdqu xmm2, xmmword [esp + 0x30]
punpcklqdq xmm0, xmm2
movdqu xmmword [esp + 0x18c], xmm0
shufps xmm2, xmm5, 0x4e
movdqa xmm5, xmm1
movdqu xmmword [esp + 0x50], xmm1
xorps xmm2, xmm1
movaps xmm1, xmm2
movaps xmm3, xmm2
movaps xmm0, xmm2
psllq xmm2, 0x2b
psllq xmm0, 0x2c
movsd xmm2, xmm0
movupd xmmword [esp + 0x60], xmm2
psrlq xmm1, 0x14
psrlq xmm3, 0x15
movdqa xmm7, xmm3
movsd xmm7, xmm1
movd dword [esp + 0x15c], xmm1
movups xmm1, xmmword [esp + 0xd8]
movaps xmm2, xmm1
movups xmm4, xmmword [esp + 0x20]
shufps xmm1, xmm4, 0x4e
pxor xmm1, xmm5
movdqa xmm4, xmm1
psrlq xmm4, 0x3f
movdqa xmm5, xmm1
psrlq xmm5, 3
movsd xmm5, xmm4
movdqa xmm4, xmm1
psllq xmm4, 0x3d
paddq xmm1, xmm1
shufpd xmm1, xmm4, 2
pshufd xmm4, xmm6, 0xee
movdqu xmm0, xmmword [esp + 0xa8]
punpcklqdq xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x88]
pxor xmm4, xmm0
movdqa xmm6, xmm4
psrlq xmm6, 0x2b
movdqa xmm0, xmm4
psrlq xmm0, 0x32
movsd xmm0, xmm6
pshufd xmm3, xmm3, 0xee
movd esi, xmm3
movdqa xmm3, xmm4
psllq xmm3, 0x15
psllq xmm4, 0xe
shufpd xmm3, xmm4, 2
orpd xmm3, xmm0
movupd xmmword [esp + 0x16c], xmm3
pshufd xmm0, xmm3, 0xee
movd dword [esp + 0x30], xmm0
orpd xmm1, xmm5
movupd xmmword [esp + 0xd8], xmm1
mov ecx, dword [esp + 0x40]
mov eax, ecx
mov edi, dword [esp + 0x98]
shld eax, edi, 1
pshufd xmm0, xmm4, 0xff
movd edx, xmm0
shld edi, ecx, 1
xor edi, dword [esp + 0x128]
xor eax, ebp
movdqu xmm0, xmmword [esp + 0xe8]
movd ebp, xmm0
xor ebp, edi
xor ebx, eax
mov dword [esp + 0x14c], ebx
movd xmm3, ebp
movd xmm0, ebx
punpckldq xmm3, xmm0
movdqu xmmword [esp + 0x98], xmm3
movd xmm0, edi
movd xmm5, eax
movdqu xmmword [esp + 0x128], xmm5
punpcklqdq xmm5, xmm0
movdqu xmmword [esp + 0x40], xmm5
movups xmm4, xmmword [esp + 0x50]
movlhps xmm2, xmm4
movups xmm0, xmmword [esp]
shufps xmm5, xmm0, 0xe2
xorps xmm5, xmm2
movupd xmm2, xmmword [esp + 0x60]
orpd xmm2, xmm7
movaps xmm0, xmm5
psrlq xmm0, 0x3d
movaps xmm1, xmm5
psrlq xmm1, 0x13
movsd xmm1, xmm0
movaps xmm0, xmm5
psllq xmm5, 0x2d
psllq xmm0, 3
movsd xmm5, xmm0
orpd xmm5, xmm1
pshufd xmm0, xmm2, 0x55
movdqa xmm7, xmm2
movups xmmword [esp + 0x60], xmm2
movd ebx, xmm0
movups xmm6, xmmword [esp + 0x78]
movups xmm0, xmmword [esp + 0x20]
shufps xmm0, xmm6, 0x4e
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [esp + 0xb8]
unpckhpd xmm6, xmm0
movups xmm3, xmmword [esp + 0x88]
xorps xmm6, xmm3
movaps xmm0, xmm6
psrlq xmm0, 0x24
movaps xmm1, xmm6
psrlq xmm1, 0x2c
movsd xmm1, xmm0
movaps xmm0, xmm6
psllq xmm6, 0x14
psllq xmm0, 0x1c
movsd xmm6, xmm0
orpd xmm6, xmm1
movaps xmm1, xmm4
shufps xmm1, xmm3, 0x4e
movups xmm0, xmmword [esp + 0xc8]
xorps xmm1, xmm0
movaps xmm0, xmm1
psrlq xmm0, 0x3a
movaps xmm3, xmm1
psrlq xmm3, 0x27
movsd xmm3, xmm0
movaps xmm0, xmm1
psllq xmm0, 6
psllq xmm1, 0x19
movsd xmm1, xmm0
orpd xmm1, xmm3
movd xmm3, dword [esp + 0x118]
movd xmm0, dword [esp + 0x108]
punpckldq xmm0, xmm3
movd xmm3, edi
movdqu xmmword [esp + 0x118], xmm3
movdqu xmm2, xmmword [esp + 0x128]
punpckldq xmm3, xmm2
punpcklqdq xmm0, xmm3
pshufd xmm3, xmm7, 0xff
movd eax, xmm3
movdqu xmm3, xmmword [esp + 0x10]
movdqu xmm4, xmmword [esp + 0x17c]
punpcklqdq xmm4, xmm3
pxor xmm0, xmm4
movdqa xmm3, xmm0
psrlq xmm3, 0x38
movdqa xmm4, xmm0
psrlq xmm4, 0x2e
movsd xmm4, xmm3
movdqa xmm3, xmm0
psllq xmm3, 8
psllq xmm0, 0x12
movsd xmm0, xmm3
mov ecx, dword [esp + 0x30]
not ecx
not edx
movd xmm7, ecx
movd xmm3, edx
punpckldq xmm7, xmm3
movdqu xmmword [esp + 0x30], xmm7
orpd xmm0, xmm4
movapd xmm4, xmm5
movupd xmm2, xmmword [esp + 0xd8]
unpckhpd xmm4, xmm2
pshufd xmm7, xmm2, 0x4e
movdqu xmmword [esp + 0xc8], xmm7
movdqa xmm3, xmm7
punpcklqdq xmm3, xmm6
andnpd xmm4, xmm3
movupd xmmword [esp + 0x78], xmm4
movapd xmm7, xmm0
shufpd xmm7, xmm2, 1
unpcklpd xmm2, xmm1
andnpd xmm7, xmm2
movups xmm3, xmmword [esp + 0xf8]
movups xmm4, xmmword [esp + 0x10]
shufps xmm4, xmm3, 0x4e
movups xmm2, xmmword [esp + 0x50]
xorps xmm4, xmm2
movaps xmm3, xmm4
movaps xmm2, xmm4
psrlq xmm3, 0x36
psrlq xmm4, 0x31
movsd xmm4, xmm3
movaps xmm3, xmm2
psllq xmm3, 0xa
psllq xmm2, 0xf
movsd xmm2, xmm3
orpd xmm2, xmm4
movupd xmmword [esp + 0x10], xmm2
movups xmm2, xmmword [esp + 0x60]
movaps xmm3, xmm2
movups xmm4, xmmword [esp + 0x16c]
shufps xmm3, xmm4, 0x4e
andnps xmm3, xmm4
movups xmm4, xmmword [esp + 0x30]
movlhps xmm4, xmm2
movups xmmword [esp + 0x30], xmm4
xorps xmm3, xmm2
movups xmmword [esp + 0xd8], xmm3
movapd xmm4, xmm6
shufpd xmm4, xmm5, 1
andnpd xmm4, xmm5
movupd xmm2, xmmword [esp + 0x78]
xorpd xmm2, xmm5
movupd xmmword [esp + 0x78], xmm2
movups xmm2, xmmword [esp + 0x128]
movhps xmm2, qword [esp + 0x118]
movups xmm5, xmmword [esp + 0xa8]
shufps xmm5, xmm2, 0x2e
movups xmm2, xmmword [esp + 0x18c]
xorps xmm5, xmm2
xorpd xmm4, xmm6
movapd xmm2, xmm6
unpcklpd xmm2, xmm1
unpckhpd xmm6, xmm1
andnpd xmm2, xmm6
movapd xmm6, xmm1
shufpd xmm6, xmm0, 1
andnpd xmm6, xmm0
xorpd xmm7, xmm0
movupd xmmword [esp + 0x60], xmm7
movaps xmm0, xmm5
psrlq xmm0, 0x25
movaps xmm3, xmm5
psrlq xmm3, 0x1c
movsd xmm3, xmm0
movaps xmm0, xmm5
psllq xmm5, 0x24
psllq xmm0, 0x1b
movsd xmm5, xmm0
orpd xmm5, xmm3
movapd xmm7, xmm5
movups xmm0, xmmword [esp + 0x50]
movups xmm3, xmmword [esp]
movlhps xmm3, xmm0
movups xmmword [esp], xmm3
movlps xmm0, qword [esp + 0x88]
movups xmm5, xmmword [esp + 0x20]
xorps xmm5, xmm0
movaps xmm0, xmm5
psrlq xmm0, 8
movaps xmm3, xmm5
psrlq xmm3, 2
movsd xmm3, xmm0
movaps xmm0, xmm5
psllq xmm0, 0x38
psllq xmm5, 0x3e
movsd xmm5, xmm0
movupd xmm0, xmmword [esp + 0xc8]
xorpd xmm2, xmm0
orpd xmm5, xmm3
movupd xmmword [esp + 0x20], xmm5
movdqu xmm0, xmmword [esp + 0x10]
pshufd xmm0, xmm0, 0xee
punpcklqdq xmm0, xmm5
movapd xmm3, xmm5
movupd xmmword [esp + 0xa8], xmm7
unpcklpd xmm3, xmm7
pandn xmm0, xmm3
movups xmm3, xmmword [esp + 0xe8]
movups xmm5, xmmword [esp + 0x40]
shufps xmm5, xmm3, 0xe2
movups xmmword [esp + 0x40], xmm5
xorpd xmm6, xmm1
movupd xmmword [esp + 0x50], xmm6
movapd xmm1, xmm7
movupd xmm3, xmmword [esp + 0x10]
shufpd xmm1, xmm3, 1
andnpd xmm1, xmm3
pxor xmm0, xmm3
not ebx
mov ecx, dword [esp + 0x15c]
not ecx
and esi, ecx
and eax, ebx
mov ecx, dword [esp + 0x74]
xor esi, dword [ecx*8 + 0x51d470]
xor eax, dword [ecx*8 + 0x51d474]
movdqu xmm7, xmmword [esp]
movdqu xmm3, xmmword [esp + 0x40]
pxor xmm7, xmm3
xor esi, ebp
not ebp
mov edx, dword [esp + 0x14c]
xor eax, edx
not edx
movd xmm3, ebp
movd xmm5, edx
punpckldq xmm3, xmm5
movdqu xmmword [esp + 0x10], xmm3
movdqa xmm5, xmm7
psrlq xmm5, 0x17
movdqa xmm6, xmm7
psrlq xmm6, 0x3e
movsd xmm6, xmm5
movdqa xmm5, xmm7
psllq xmm7, 2
psllq xmm5, 0x29
movsd xmm7, xmm5
orpd xmm7, xmm6
movupd xmmword [esp], xmm7
movups xmm6, xmmword [esp + 0xf8]
movups xmm5, xmmword [esp + 0xb8]
shufps xmm6, xmm5, 0x4e
movups xmm3, xmmword [esp + 0x98]
movups xmm5, xmmword [esp + 0x10]
movlhps xmm3, xmm5
movups xmm5, xmmword [esp + 0x88]
xorps xmm6, xmm5
movaps xmm7, xmm6
psrlq xmm7, 9
movaps xmm5, xmm6
psrlq xmm5, 0x19
movsd xmm5, xmm7
movaps xmm7, xmm6
psllq xmm7, 0x37
psllq xmm6, 0x27
movsd xmm6, xmm7
orpd xmm6, xmm5
movups xmm5, xmmword [esp + 0x30]
andps xmm3, xmm5
movups xmmword [esp + 0x98], xmm3
movupd xmm3, xmmword [esp + 0xa8]
xorpd xmm1, xmm3
movapd xmm5, xmm3
unpcklpd xmm5, xmm6
unpckhpd xmm3, xmm6
andnpd xmm5, xmm3
movapd xmm3, xmm6
movupd xmm7, xmmword [esp]
shufpd xmm3, xmm7, 1
andnpd xmm3, xmm7
xorpd xmm3, xmm6
movupd xmmword [esp + 0x40], xmm3
movapd xmm3, xmm7
movupd xmm7, xmmword [esp + 0x20]
unpckhpd xmm3, xmm7
xorpd xmm5, xmm7
shufpd xmm7, xmm6, 1
andnpd xmm3, xmm7
movupd xmm6, xmmword [esp]
xorpd xmm3, xmm6
movupd xmmword [esp], xmm3
movdqu xmm7, xmmword [esp + 0x98]
pshufd xmm3, xmm4, 0x55
movd dword [esp + 0xa8], xmm3
pshufd xmm3, xmm2, 0xff
movd dword [esp + 0xf8], xmm3
pshufd xmm3, xmm2, 0xee
movd ebx, xmm3
pshufd xmm3, xmm1, 0x55
movd ebp, xmm3
pshufd xmm3, xmm5, 0xff
movd edx, xmm3
pshufd xmm3, xmm5, 0xee
movd edi, xmm3
movdqu xmm3, xmmword [esp + 0x16c]
pxor xmm7, xmm3
movapd xmm3, xmm4
movupd xmm6, xmmword [esp + 0x78]
shufpd xmm3, xmm6, 1
movupd xmmword [esp + 0xb8], xmm3
pshufd xmm3, xmm6, 0xee
punpcklqdq xmm3, xmm2
movdqu xmmword [esp + 0x20], xmm3
movapd xmm6, xmm1
shufpd xmm6, xmm0, 1
pshufd xmm3, xmm0, 0xee
punpcklqdq xmm3, xmm5
add ecx, 4
movd dword [esp + 0xc8], xmm4
movd dword [esp + 0x30], xmm1
mov dword [esp + 0x74], ecx
cmp ecx, 0x14
jb 0x411850
mov ecx, dword [esp + 0x19c]
mov dword [ecx], esi
mov dword [ecx + 4], eax
movups xmmword [ecx + 0x28], xmm4
movupd xmmword [ecx + 0x78], xmm1
movups xmm1, xmmword [esp + 0xd8]
movups xmmword [ecx + 8], xmm1
movups xmm1, xmmword [esp + 0x50]
movups xmmword [ecx + 0x58], xmm1
movups xmm1, xmmword [esp + 0x40]
movups xmmword [ecx + 0xa8], xmm1
movups xmm1, xmmword [esp + 0x78]
movups xmmword [ecx + 0x38], xmm1
movdqu xmmword [ecx + 0x88], xmm0
movdqu xmmword [ecx + 0x18], xmm7
movups xmmword [ecx + 0x48], xmm2
movups xmm0, xmmword [esp + 0x60]
movups xmmword [ecx + 0x68], xmm0
movups xmmword [ecx + 0x98], xmm5
movups xmm0, xmmword [esp]
movups xmmword [ecx + 0xb8], xmm0
add esp, 0x1f8
pop esi
pop edi
pop ebx
pop ebp
ret