Function at 0x4035b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x164
mov eax, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov dword [esp + 0x3c], edx
movups xmm5, xmmword [ecx + 0x20]
movdqu xmm6, xmmword [ecx]
movdqu xmm3, xmmword [ecx + 0x10]
mov dword [esp + 4], ecx
mov edx, eax
mov edi, ebx
mov esi, eax
movups xmmword [esp + 0xc4], xmm5
movdqa xmm7, xmm6
mov dword [esp + 0x38], ebx
movdqu xmmword [esp + 0x74], xmm6
movdqu xmmword [esp + 0x144], xmm6
movdqu xmmword [esp + 0x84], xmm6
movdqu xmmword [esp + 0x154], xmm3
add edx, 1
adc edi, 0
movd xmm0, edx
add esi, 2
mov edx, ebx
adc edx, 0
movd xmm4, edi
movd xmm1, esi
add eax, 3
mov esi, ebx
punpcklqdq xmm4, xmm0
movd xmm0, edx
adc esi, 0
movd xmm2, eax
mov eax, 6
punpcklqdq xmm0, xmm1
shufps xmm4, xmm5, 0xe2
shufps xmm0, xmm5, 0xe2
movups xmmword [esp + 0xd4], xmm4
movdqa xmm4, xmm3
movups xmmword [esp + 0xe4], xmm0
movd xmm0, esi
punpcklqdq xmm0, xmm2
movdqa xmm2, xmm3
shufps xmm0, xmm5, 0xe2
movdqa xmm5, xmm6
movups xmmword [esp + 0xf4], xmm0
movaps xmm0, xmmword [0x441a90]
movups xmmword [esp + 0x114], xmm0
movups xmmword [esp + 0x124], xmm0
movups xmmword [esp + 0x104], xmm0
movups xmmword [esp + 0xa4], xmm0
movdqa xmm0, xmm3
nop word cs:[eax + eax]
movdqu xmm1, xmmword [esp + 0xc4]
movdqu xmmword [esp + 8], xmm2
movdqa xmm2, xmm4
movdqu xmm4, xmmword [esp + 0x104]
movdqu xmmword [esp + 0x28], xmm0
mov dword [esp], eax
movdqu xmmword [esp + 0x94], xmm3
pshufd xmm0, xmm1, 0x55
paddd xmm4, xmm7
movd ecx, xmm1
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
pshufd xmm0, xmm4, 0x55
movd edx, xmm0
pshufd xmm0, xmm4, 0xee
movd ebx, xmm0
pshufd xmm0, xmm4, 0xff
xor edx, eax
movd eax, xmm4
movd ebp, xmm0
xor ebx, esi
xor eax, ecx
movd xmm1, edx
xor ebp, edi
movd xmm3, ebx
movd ebx, xmm7
movd xmm0, ebp
punpckldq xmm3, xmm0
movd xmm0, eax
punpckldq xmm0, xmm1
movdqa xmm1, xmm0
pshuflw xmm0, xmm0, 0xeb
punpcklqdq xmm1, xmm3
movdqa xmm6, xmm1
pslld xmm1, 0x10
psrld xmm6, 0x10
por xmm1, xmm6
paddd xmm2, xmm1
pshufd xmm6, xmm2, 0x55
movdqu xmmword [esp + 0x18], xmm2
movd eax, xmm6
pshufd xmm6, xmm2, 0xee
movd edx, xmm6
pshufd xmm6, xmm2, 0xff
movd esi, xmm6
pshufd xmm6, xmm7, 0x55
movd ecx, xmm6
pshufd xmm6, xmm7, 0xee
movd edi, xmm6
pshufd xmm6, xmm7, 0xff
xor ecx, eax
movd ebp, xmm6
xor edi, edx
movd edx, xmm2
movd xmm2, ecx
movd ecx, xmm1
xor ebp, esi
xor ebx, edx
movd xmm7, edi
movd edx, xmm0
pshuflw xmm0, xmm3, 0xe1
movd xmm6, ebp
punpckldq xmm7, xmm6
movd xmm6, ebx
movd ebx, xmm0
pshuflw xmm0, xmm3, 0xeb
punpckldq xmm6, xmm2
movd ebp, xmm0
punpcklqdq xmm6, xmm7
movdqu xmm7, xmmword [esp + 0x114]
movdqa xmm2, xmm6
pslld xmm6, 0xc
psrld xmm2, 0x14
por xmm6, xmm2
paddd xmm4, xmm6
paddd xmm7, xmm5
pshufd xmm2, xmm4, 0x55
movdqu xmmword [esp + 0x104], xmm4
movd eax, xmm2
pshufd xmm2, xmm4, 0xee
movd esi, xmm2
pshufd xmm2, xmm4, 0xff
xor edx, eax
movd edi, xmm2
xor ebx, esi
movd esi, xmm4
movdqu xmm4, xmmword [esp + 8]
xor ebp, edi
movd xmm1, ebx
xor ecx, esi
movd ebx, xmm6
movd xmm0, ebp
movd xmm2, ecx
punpckldq xmm1, xmm0
movd xmm0, edx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x18]
movdqa xmm0, xmm2
pslld xmm2, 8
psrld xmm0, 0x18
por xmm2, xmm0
paddd xmm1, xmm2
movdqu xmmword [esp + 0xc4], xmm2
pshufd xmm0, xmm1, 0xff
movd eax, xmm1
movdqu xmmword [esp + 0x18], xmm1
movd edx, xmm0
pshufd xmm0, xmm1, 0xee
xor ebx, eax
movd dword [esp + 0x64], xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
pshufd xmm0, xmm6, 0xff
movd esi, xmm0
pshufd xmm0, xmm6, 0xee
movd edi, xmm0
pshufd xmm0, xmm6, 0x55
xor esi, edx
xor edi, dword [esp + 0x64]
movd ebp, xmm0
movd xmm0, ebx
movd xmm1, esi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm2, ebp
movd xmm0, edi
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0xd4]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movdqu xmmword [esp + 0x64], xmm2
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
pshufd xmm0, xmm7, 0x55
movd edx, xmm0
pshufd xmm0, xmm7, 0xee
movd ebx, xmm0
pshufd xmm0, xmm7, 0xff
xor edx, eax
movd eax, xmm7
movd ebp, xmm0
xor ebx, esi
xor eax, ecx
xor ebp, edi
movd xmm1, ebx
movd xmm3, eax
movd ebx, xmm5
movd xmm0, ebp
punpckldq xmm1, xmm0
movd xmm0, edx
punpckldq xmm3, xmm0
movdqa xmm0, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm2, xmm0
pslld xmm0, 0x10
psrld xmm2, 0x10
por xmm0, xmm2
paddd xmm4, xmm0
pshufd xmm2, xmm4, 0x55
movd eax, xmm2
pshufd xmm2, xmm4, 0xee
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
movd esi, xmm2
pshufd xmm2, xmm5, 0x55
movd ecx, xmm2
pshufd xmm2, xmm5, 0xee
movd edi, xmm2
pshufd xmm2, xmm5, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm4
xor ebp, esi
xor ebx, edx
movd xmm6, edi
movd xmm2, ebp
movd xmm5, ebx
punpckldq xmm6, xmm2
movd xmm2, ecx
movd ecx, xmm0
pshuflw xmm0, xmm3, 0xeb
movdqu xmm3, xmmword [esp + 0x28]
punpckldq xmm5, xmm2
movd edx, xmm0
pshuflw xmm0, xmm1, 0xe1
punpcklqdq xmm5, xmm6
movd ebx, xmm0
pshuflw xmm0, xmm1, 0xeb
movdqa xmm2, xmm5
pslld xmm5, 0xc
movd ebp, xmm0
psrld xmm2, 0x14
por xmm5, xmm2
paddd xmm7, xmm5
pshufd xmm2, xmm7, 0x55
movdqu xmmword [esp + 0x114], xmm7
movd eax, xmm2
pshufd xmm2, xmm7, 0xee
movd esi, xmm2
pshufd xmm2, xmm7, 0xff
xor edx, eax
movd edi, xmm2
xor ebx, esi
movd esi, xmm7
movdqu xmm7, xmmword [esp + 0x124]
xor ebp, edi
movd xmm1, ebx
xor ecx, esi
movd ebx, xmm5
movd xmm0, ebp
movd xmm2, ecx
punpckldq xmm1, xmm0
movd xmm0, edx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm0, xmm2
pslld xmm2, 8
psrld xmm0, 0x18
por xmm2, xmm0
paddd xmm4, xmm2
movdqu xmmword [esp + 0xd4], xmm2
pshufd xmm0, xmm4, 0xff
movd eax, xmm4
movdqu xmmword [esp + 8], xmm4
movd edx, xmm0
pshufd xmm0, xmm4, 0xee
xor ebx, eax
movd dword [esp + 0xb4], xmm0
pshufd xmm0, xmm4, 0x55
movdqu xmm4, xmmword [esp + 0x74]
movd ecx, xmm0
pshufd xmm0, xmm5, 0xff
movd esi, xmm0
pshufd xmm0, xmm5, 0xee
movd edi, xmm0
pshufd xmm0, xmm5, 0x55
xor esi, edx
xor edi, dword [esp + 0xb4]
movd ebp, xmm0
movd xmm0, ebx
movd xmm1, esi
paddd xmm7, xmm4
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm2, ebp
movd xmm0, edi
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0xe4]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movdqu xmmword [esp + 0xb4], xmm2
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
pshufd xmm0, xmm7, 0x55
movd edx, xmm0
pshufd xmm0, xmm7, 0xee
movd ebx, xmm0
pshufd xmm0, xmm7, 0xff
xor edx, eax
movd eax, xmm7
movd ebp, xmm0
xor ebx, esi
xor eax, ecx
xor ebp, edi
movd xmm5, ebx
movd xmm1, eax
movd ebx, xmm4
movd xmm0, ebp
punpckldq xmm5, xmm0
movd xmm0, edx
punpckldq xmm1, xmm0
movdqa xmm0, xmm1
punpcklqdq xmm0, xmm5
movdqa xmm2, xmm0
pslld xmm0, 0x10
psrld xmm2, 0x10
por xmm0, xmm2
paddd xmm3, xmm0
pshufd xmm2, xmm3, 0x55
movdqa xmm6, xmm3
movd eax, xmm2
pshufd xmm2, xmm3, 0xee
movd edx, xmm2
pshufd xmm2, xmm3, 0xff
movd esi, xmm2
pshufd xmm2, xmm4, 0x55
movd ecx, xmm2
pshufd xmm2, xmm4, 0xee
movd edi, xmm2
pshufd xmm2, xmm4, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm6
xor ebp, esi
xor ebx, edx
movd xmm3, edi
movd xmm2, ebp
movd xmm4, ebx
punpckldq xmm3, xmm2
movd xmm2, ecx
movd ecx, xmm0
pshuflw xmm0, xmm1, 0xeb
punpckldq xmm4, xmm2
movd edx, xmm0
pshuflw xmm0, xmm5, 0xe1
punpcklqdq xmm4, xmm3
movd ebx, xmm0
pshuflw xmm0, xmm5, 0xeb
movdqu xmm3, xmmword [esp + 0x84]
movdqa xmm2, xmm4
pslld xmm4, 0xc
movd ebp, xmm0
psrld xmm2, 0x14
por xmm4, xmm2
paddd xmm7, xmm4
pshufd xmm2, xmm7, 0x55
movdqu xmmword [esp + 0x124], xmm7
movd eax, xmm2
pshufd xmm2, xmm7, 0xee
movd esi, xmm2
pshufd xmm2, xmm7, 0xff
xor edx, eax
movd edi, xmm2
xor ebx, esi
movd esi, xmm7
xor ebp, edi
movd xmm1, ebx
xor ecx, esi
movd ebx, xmm4
movd xmm0, ebp
movd xmm2, ecx
punpckldq xmm1, xmm0
movd xmm0, edx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm0, xmm2
pslld xmm2, 8
psrld xmm0, 0x18
por xmm2, xmm0
paddd xmm6, xmm2
movdqu xmmword [esp + 0xe4], xmm2
pshufd xmm0, xmm6, 0xff
movd eax, xmm6
movdqu xmmword [esp + 0x28], xmm6
movd edx, xmm0
pshufd xmm0, xmm6, 0xee
xor ebx, eax
movd dword [esp + 0x74], xmm0
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
pshufd xmm0, xmm4, 0xff
movd esi, xmm0
pshufd xmm0, xmm4, 0xee
movd edi, xmm0
pshufd xmm0, xmm4, 0x55
xor esi, edx
movdqu xmm4, xmmword [esp + 0x94]
xor edi, dword [esp + 0x74]
movd ebp, xmm0
movd xmm0, ebx
movd xmm1, esi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm2, ebp
movd xmm0, edi
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0xf4]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movdqu xmmword [esp + 0x74], xmm2
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movdqu xmm1, xmmword [esp + 0xa4]
movd edi, xmm0
paddd xmm1, xmm3
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
pshufd xmm0, xmm1, 0xee
movd ebx, xmm0
pshufd xmm0, xmm1, 0xff
xor edx, eax
movd eax, xmm1
movd ebp, xmm0
xor ebx, esi
xor eax, ecx
xor ebp, edi
movd xmm5, ebx
movd xmm7, eax
movd ebx, xmm3
movd xmm0, ebp
punpckldq xmm5, xmm0
movd xmm0, edx
punpckldq xmm7, xmm0
movdqa xmm0, xmm7
punpcklqdq xmm0, xmm5
movdqa xmm2, xmm0
pslld xmm0, 0x10
psrld xmm2, 0x10
por xmm0, xmm2
paddd xmm4, xmm0
pshufd xmm2, xmm4, 0x55
movd eax, xmm2
pshufd xmm2, xmm4, 0xee
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
movd esi, xmm2
pshufd xmm2, xmm3, 0x55
movd ecx, xmm2
pshufd xmm2, xmm3, 0xee
movd edi, xmm2
pshufd xmm2, xmm3, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm4
movd xmm6, ecx
movd ecx, xmm0
pshuflw xmm0, xmm7, 0xeb
xor ebp, esi
xor ebx, edx
movd xmm3, edi
movd edx, xmm0
pshuflw xmm0, xmm5, 0xe1
movd xmm2, ebp
punpckldq xmm3, xmm2
movd xmm2, ebx
movd ebx, xmm0
pshuflw xmm0, xmm5, 0xeb
punpckldq xmm2, xmm6
movd ebp, xmm0
punpcklqdq xmm2, xmm3
movdqa xmm3, xmm2
pslld xmm2, 0xc
psrld xmm3, 0x14
por xmm2, xmm3
paddd xmm1, xmm2
pshufd xmm3, xmm1, 0x55
movdqa xmm6, xmm1
movdqu xmmword [esp + 0xa4], xmm1
movd eax, xmm3
pshufd xmm3, xmm1, 0xee
movd esi, xmm3
pshufd xmm3, xmm1, 0xff
xor edx, eax
movd edi, xmm3
xor ebx, esi
movd esi, xmm6
movdqu xmm6, xmmword [esp + 0x64]
xor ebp, edi
movd xmm1, ebx
xor ecx, esi
movd ebx, xmm2
movd xmm0, ebp
movd xmm3, ecx
punpckldq xmm1, xmm0
movd xmm0, edx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm1
movdqa xmm1, xmm4
movdqu xmm4, xmmword [esp + 0x104]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm1, xmm3
paddd xmm4, xmm6
movdqu xmmword [esp + 0xf4], xmm3
pshufd xmm0, xmm1, 0xff
movd eax, xmm1
movdqu xmmword [esp + 0x94], xmm1
movd edx, xmm0
pshufd xmm0, xmm1, 0xee
xor ebx, eax
movd dword [esp + 0x84], xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
pshufd xmm0, xmm2, 0xff
movd esi, xmm0
pshufd xmm0, xmm2, 0xee
movd edi, xmm0
pshufd xmm0, xmm2, 0x55
xor esi, edx
xor edi, dword [esp + 0x84]
movd ebp, xmm0
movd xmm0, ebx
movd xmm1, esi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm2, ebp
movd xmm0, edi
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0xc4]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
pshufd xmm0, xmm4, 0x55
movd eax, xmm0
pshufd xmm0, xmm4, 0xee
movd ebx, xmm1
movdqu xmmword [esp + 0x134], xmm2
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
xor ebx, eax
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm4
xor ebp, esi
xor ecx, edx
movd xmm5, edi
movd xmm0, ebp
movd xmm3, ecx
punpckldq xmm5, xmm0
movd xmm0, ebx
movd ebx, xmm6
punpckldq xmm3, xmm0
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x10
psrld xmm0, 0x10
por xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x18]
pshufd xmm0, xmm0, 0x4e
paddd xmm0, xmm1
pshufd xmm2, xmm0, 0x55
movd eax, xmm2
pshufd xmm2, xmm0, 0xee
movd edx, xmm2
pshufd xmm2, xmm0, 0xff
movd esi, xmm2
pshufd xmm2, xmm6, 0x55
movd ecx, xmm2
pshufd xmm2, xmm6, 0xee
movd edi, xmm2
pshufd xmm2, xmm6, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm0
xor ebp, esi
xor ebx, edx
movd xmm6, edi
movd esi, xmm1
pshuflw xmm1, xmm5, 0xeb
movd xmm2, ebp
movd xmm7, ebx
movd edi, xmm1
pshuflw xmm1, xmm5, 0xe1
punpckldq xmm6, xmm2
movd xmm2, ecx
movd ebx, xmm1
pshuflw xmm1, xmm3, 0xeb
punpckldq xmm7, xmm2
movd ebp, xmm1
punpcklqdq xmm7, xmm6
movdqu xmm6, xmmword [esp + 0xb4]
movdqa xmm2, xmm7
pslld xmm7, 0xc
psrld xmm2, 0x14
por xmm7, xmm2
paddd xmm4, xmm7
movdqu xmmword [esp + 0x84], xmm7
pshufd xmm2, xmm4, 0xff
movd eax, xmm4
movdqu xmmword [esp + 0x104], xmm4
movd edx, xmm2
pshufd xmm2, xmm4, 0xee
xor esi, eax
movd dword [esp + 0x18], xmm2
pshufd xmm2, xmm4, 0x55
xor edi, edx
movd xmm1, esi
movdqu xmm4, xmmword [esp + 0x114]
xor ebx, dword [esp + 0x18]
movd ecx, xmm2
movd xmm2, edi
xor ebp, ecx
punpckldq xmm2, xmm1
movd xmm3, ebp
paddd xmm4, xmm6
movd xmm1, ebx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 8
psrld xmm1, 0x18
por xmm3, xmm1
pshufd xmm1, xmm3, 0x93
movdqu xmmword [esp + 0xc4], xmm3
paddd xmm1, xmm0
pshufd xmm0, xmm4, 0x55
movdqu xmmword [esp + 0x18], xmm1
movdqu xmm1, xmmword [esp + 0xd4]
movd eax, xmm0
pshufd xmm0, xmm4, 0xee
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
xor ebx, eax
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm4
xor ebp, esi
xor ecx, edx
movd xmm1, edi
movd xmm0, ebp
movd xmm2, ecx
punpckldq xmm1, xmm0
movd xmm0, ebx
movd ebx, xmm6
punpckldq xmm2, xmm0
movdqa xmm3, xmm2
punpcklqdq xmm3, xmm1
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
por xmm3, xmm0
movdqu xmm0, xmmword [esp + 8]
pshufd xmm0, xmm0, 0x4e
paddd xmm0, xmm3
pshufd xmm5, xmm0, 0x55
movd eax, xmm5
pshufd xmm5, xmm0, 0xee
movd edx, xmm5
pshufd xmm5, xmm0, 0xff
movd esi, xmm5
pshufd xmm5, xmm6, 0x55
movd ecx, xmm5
pshufd xmm5, xmm6, 0xee
movd edi, xmm5
pshufd xmm5, xmm6, 0xff
xor ecx, eax
movd ebp, xmm5
xor edi, edx
movd edx, xmm0
xor ebp, esi
xor ebx, edx
movd xmm6, edi
movd esi, xmm3
pshuflw xmm3, xmm1, 0xeb
pshuflw xmm1, xmm1, 0xe1
movd xmm5, ebp
movd xmm7, ebx
movd ebx, xmm1
pshuflw xmm1, xmm2, 0xeb
movd edi, xmm3
punpckldq xmm6, xmm5
movd xmm5, ecx
movd ebp, xmm1
punpckldq xmm7, xmm5
punpcklqdq xmm7, xmm6
movdqa xmm5, xmm7
pslld xmm7, 0xc
psrld xmm5, 0x14
por xmm7, xmm5
paddd xmm4, xmm7
movdqu xmmword [esp + 0x64], xmm7
movdqu xmm7, xmmword [esp + 0x124]
pshufd xmm5, xmm4, 0xff
movd eax, xmm4
movdqu xmmword [esp + 0x114], xmm4
movd edx, xmm5
pshufd xmm5, xmm4, 0xee
xor esi, eax
movd dword [esp + 8], xmm5
pshufd xmm5, xmm4, 0x55
xor edi, edx
movd xmm1, esi
movdqu xmm4, xmmword [esp + 0x74]
xor ebx, dword [esp + 8]
movd ecx, xmm5
movd xmm2, edi
xor ebp, ecx
punpckldq xmm2, xmm1
movd xmm3, ebp
paddd xmm7, xmm4
movd xmm1, ebx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 8
psrld xmm1, 0x18
por xmm3, xmm1
pshufd xmm1, xmm3, 0x93
movdqu xmmword [esp + 0xd4], xmm3
paddd xmm1, xmm0
pshufd xmm0, xmm7, 0x55
movdqu xmmword [esp + 8], xmm1
movdqu xmm1, xmmword [esp + 0xe4]
movd eax, xmm0
pshufd xmm0, xmm7, 0xee
movd edx, xmm0
pshufd xmm0, xmm7, 0xff
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
xor ebx, eax
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm7
xor ebp, esi
xor ecx, edx
movd xmm2, edi
movd xmm0, ebp
movd xmm1, ecx
punpckldq xmm2, xmm0
movd xmm0, ebx
movd ebx, xmm4
punpckldq xmm1, xmm0
movdqa xmm3, xmm1
pshuflw xmm1, xmm1, 0xeb
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
por xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x28]
pshufd xmm0, xmm0, 0x4e
paddd xmm0, xmm3
pshufd xmm5, xmm0, 0x55
movd eax, xmm5
pshufd xmm5, xmm0, 0xee
movd edx, xmm5
pshufd xmm5, xmm0, 0xff
movd esi, xmm5
pshufd xmm5, xmm4, 0x55
movd ecx, xmm5
pshufd xmm5, xmm4, 0xee
pshufd xmm4, xmm4, 0xff
movd edi, xmm5
movd ebp, xmm4
xor ecx, eax
xor edi, edx
xor ebp, esi
movd edx, xmm0
movd xmm6, ecx
movd esi, xmm3
pshuflw xmm3, xmm2, 0xeb
pshuflw xmm2, xmm2, 0xe1
movd xmm4, ebp
movd xmm5, edi
xor ebx, edx
movd edi, xmm3
movd ebp, xmm1
punpckldq xmm5, xmm4
movd xmm4, ebx
movd ebx, xmm2
punpckldq xmm4, xmm6
movdqu xmm6, xmmword [esp + 0x134]
punpcklqdq xmm4, xmm5
movdqa xmm5, xmm4
pslld xmm4, 0xc
psrld xmm5, 0x14
por xmm4, xmm5
paddd xmm7, xmm4
pshufd xmm5, xmm7, 0xff
movd eax, xmm7
movdqu xmmword [esp + 0x124], xmm7
movd edx, xmm5
pshufd xmm5, xmm7, 0xee
xor esi, eax
movd dword [esp + 0x28], xmm5
pshufd xmm5, xmm7, 0x55
xor edi, edx
movd xmm1, esi
xor ebx, dword [esp + 0x28]
movd ecx, xmm5
movd xmm2, edi
xor ebp, ecx
punpckldq xmm2, xmm1
movd xmm3, ebp
movd xmm1, ebx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 8
psrld xmm1, 0x18
por xmm3, xmm1
pshufd xmm1, xmm3, 0x93
movdqu xmmword [esp + 0xe4], xmm3
paddd xmm1, xmm0
movdqu xmmword [esp + 0x28], xmm1
movdqu xmm1, xmmword [esp + 0xa4]
paddd xmm1, xmm6
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm1
movdqu xmmword [esp + 0xa4], xmm1
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0xff
movdqu xmm1, xmmword [esp + 0xf4]
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
xor ebx, eax
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm2
xor ebp, esi
xor ecx, edx
movd xmm1, edi
movd xmm0, ebp
movd xmm5, ecx
punpckldq xmm1, xmm0
movd xmm0, ebx
movd ebx, xmm6
punpckldq xmm5, xmm0
movdqa xmm3, xmm5
punpcklqdq xmm3, xmm1
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
por xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x94]
pshufd xmm0, xmm0, 0x4e
paddd xmm0, xmm3
pshufd xmm2, xmm0, 0x55
movd eax, xmm2
pshufd xmm2, xmm0, 0xee
movd edx, xmm2
pshufd xmm2, xmm0, 0xff
movd esi, xmm2
pshufd xmm2, xmm6, 0x55
movd ecx, xmm2
pshufd xmm2, xmm6, 0xee
movd edi, xmm2
movdqa xmm2, xmm6
pshufd xmm2, xmm6, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm0
movd xmm7, ecx
xor ebp, esi
movd xmm6, edi
xor ebx, edx
movd esi, xmm3
pshuflw xmm3, xmm1, 0xeb
pshuflw xmm1, xmm1, 0xe1
movd xmm2, ebp
movd edi, xmm3
punpckldq xmm6, xmm2
movd xmm2, ebx
movd ebx, xmm1
pshuflw xmm1, xmm5, 0xeb
punpckldq xmm2, xmm7
movdqu xmm7, xmmword [esp + 0xa4]
movd ebp, xmm1
punpcklqdq xmm2, xmm6
movdqa xmm6, xmm2
pslld xmm2, 0xc
psrld xmm6, 0x14
por xmm2, xmm6
paddd xmm7, xmm2
pshufd xmm6, xmm7, 0xff
movd eax, xmm7
movdqu xmmword [esp + 0xa4], xmm7
movd edx, xmm6
pshufd xmm6, xmm7, 0xee
xor esi, eax
movd dword [esp + 0x94], xmm6
pshufd xmm6, xmm7, 0x55
xor edi, edx
movd xmm1, esi
xor ebx, dword [esp + 0x94]
movd ecx, xmm6
movd xmm3, edi
movdqu xmm6, xmmword [esp + 0x18]
xor ebp, ecx
punpckldq xmm3, xmm1
movd xmm5, ebp
movd xmm1, ebx
punpckldq xmm5, xmm1
punpcklqdq xmm5, xmm3
movdqu xmm3, xmmword [esp + 0x84]
movdqa xmm1, xmm5
pslld xmm5, 8
psrld xmm1, 0x18
por xmm5, xmm1
pshufd xmm1, xmm5, 0x93
movd eax, xmm3
movdqu xmmword [esp + 0xf4], xmm5
paddd xmm1, xmm0
pshufd xmm0, xmm6, 0xee
movd ebx, xmm0
pshufd xmm0, xmm6, 0x55
movd edi, xmm0
pshufd xmm0, xmm6, 0xff
mov dword [esp + 0xb4], ebx
movd ebp, xmm0
pshufd xmm0, xmm3, 0xee
mov dword [esp + 0x94], edi
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
mov dword [esp + 0x134], ebp
movd edx, xmm0
pshufd xmm0, xmm3, 0xff
xor ecx, ebx
movd esi, xmm0
xor edx, edi
movd xmm0, ecx
movd ecx, xmm6
movdqu xmm6, xmmword [esp + 8]
movd xmm3, edx
xor esi, ebp
xor eax, ecx
mov dword [esp + 0x58], ecx
punpckldq xmm3, xmm0
movd xmm0, eax
movd xmm7, esi
punpckldq xmm7, xmm0
punpcklqdq xmm7, xmm3
movdqu xmm3, xmmword [esp + 0x64]
movdqa xmm0, xmm7
pslld xmm7, 7
psrld xmm0, 0x19
por xmm7, xmm0
pshufd xmm0, xmm6, 0xee
movd ebx, xmm0
pshufd xmm0, xmm6, 0x55
movd eax, xmm3
movd edi, xmm0
pshufd xmm0, xmm6, 0xff
mov dword [esp + 0x60], ebx
movd ebp, xmm0
pshufd xmm0, xmm3, 0xee
mov dword [esp + 0x64], edi
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
mov dword [esp + 0x5c], ebp
movd edx, xmm0
pshufd xmm0, xmm3, 0xff
xor ecx, ebx
movd esi, xmm0
xor edx, edi
movd xmm0, ecx
movd ecx, xmm6
movdqu xmm6, xmmword [esp + 0x28]
movd xmm3, edx
xor esi, ebp
xor eax, ecx
mov dword [esp + 0x44], ecx
punpckldq xmm3, xmm0
movd xmm0, eax
movd xmm5, esi
movd eax, xmm4
punpckldq xmm5, xmm0
punpcklqdq xmm5, xmm3
movdqa xmm0, xmm5
pslld xmm5, 7
psrld xmm0, 0x19
por xmm5, xmm0
pshufd xmm0, xmm6, 0xee
movd edi, xmm0
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
pshufd xmm0, xmm6, 0xff
mov dword [esp + 0x50], edi
movd ebp, xmm0
pshufd xmm0, xmm4, 0xee
mov dword [esp + 0x54], ecx
movd edx, xmm0
pshufd xmm0, xmm4, 0x55
mov dword [esp + 0x4c], ebp
movd esi, xmm0
pshufd xmm0, xmm4, 0xff
xor edx, edi
movd ebx, xmm0
xor esi, ecx
movd ecx, xmm6
movd xmm0, edx
movd xmm3, esi
xor ebx, ebp
xor eax, ecx
mov dword [esp + 0x40], ecx
movd ebp, xmm2
punpckldq xmm3, xmm0
movd xmm0, eax
movd xmm4, ebx
punpckldq xmm4, xmm0
punpcklqdq xmm4, xmm3
movdqa xmm0, xmm4
pslld xmm4, 7
psrld xmm0, 0x19
por xmm4, xmm0
pshufd xmm0, xmm1, 0xee
movd edi, xmm0
pshufd xmm0, xmm1, 0x55
movdqu xmmword [esp + 0x74], xmm4
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edx, xmm0
pshufd xmm0, xmm2, 0xee
mov dword [esp + 0x48], esi
movd ebx, xmm0
pshufd xmm0, xmm2, 0x55
movd eax, xmm0
pshufd xmm0, xmm2, 0xff
xor ebx, edi
movd ecx, xmm0
xor eax, esi
movd xmm0, ebx
movd ebx, xmm1
movd xmm2, eax
xor ecx, edx
xor ebp, ebx
mov eax, dword [esp]
punpckldq xmm2, xmm0
movd xmm0, ebp
movd xmm3, ecx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 7
dec eax
psrld xmm0, 0x19
por xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x18]
movdqu xmmword [esp + 0x84], xmm3
pshufd xmm3, xmm1, 0x4e
pshufd xmm4, xmm0, 0x4e
movdqu xmm0, xmmword [esp + 8]
pshufd xmm2, xmm0, 0x4e
pshufd xmm0, xmm6, 0x4e
jne 0x4036b0
mov eax, dword [esp + 4]
mov esi, edi
movd xmm3, dword [esp + 0xb4]
movd xmm2, dword [esp + 0x94]
movd xmm6, dword [esp + 0x64]
mov ebp, dword [eax + 0x20]
mov eax, dword [esp + 0x38]
mov ecx, ebp
mov edi, eax
add ecx, 1
adc edi, 0
mov dword [esp + 0x28], ecx
mov ecx, eax
mov dword [esp], edi
mov edi, ebp
add edi, 2
mov dword [esp + 0x18], edi
mov edi, eax
adc edi, 0
mov dword [esp + 8], edi
mov edi, ebp
add edi, 3
adc ecx, 0
add ebp, 4
adc eax, 0
movd xmm0, ebp
movd xmm1, eax
mov eax, dword [esp + 4]
punpcklqdq xmm1, xmm0
movups xmm0, xmmword [eax + 0x20]
shufps xmm1, xmm0, 0xe2
movaps xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x104]
movups xmmword [eax + 0x20], xmm1
movd xmm1, dword [esp + 0x134]
mov eax, dword [esp + 0x3c]
punpckldq xmm3, xmm1
movd xmm1, dword [esp + 0x58]
punpckldq xmm1, xmm2
movdqu xmm2, xmmword [esp + 0xc4]
punpcklqdq xmm3, xmm1
movdqa xmm1, xmmword [0x441a90]
paddd xmm2, xmm4
paddd xmm0, xmm1
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [esp + 0x144]
paddd xmm7, xmm0
paddd xmm5, xmm0
movdqu xmmword [eax + 0x10], xmm7
movdqu xmm7, xmmword [esp + 0x154]
paddd xmm3, xmm7
movdqu xmmword [eax + 0x20], xmm3
movdqu xmmword [eax + 0x30], xmm2
movd xmm3, dword [esp + 0x60]
movd xmm2, dword [esp + 0x5c]
punpckldq xmm3, xmm2
movd xmm2, dword [esp + 0x44]
punpckldq xmm2, xmm6
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [esp + 0x114]
paddd xmm3, xmm7
paddd xmm2, xmm1
movdqu xmmword [eax + 0x40], xmm2
movdqu xmmword [eax + 0x50], xmm5
movdqu xmmword [eax + 0x60], xmm3
movss xmm2, dword [esp + 0x28]
movss xmm3, dword [esp]
movd xmm5, dword [esp + 0x54]
movlhps xmm3, xmm2
movdqu xmm2, xmmword [esp + 0xd4]
shufps xmm3, xmm4, 0xe2
paddd xmm2, xmm3
movd xmm3, dword [esp + 0x50]
movdqu xmmword [eax + 0x70], xmm2
movd xmm2, dword [esp + 0x4c]
punpckldq xmm3, xmm2
movd xmm2, dword [esp + 0x40]
punpckldq xmm2, xmm5
movaps xmm5, xmm4
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [esp + 0x124]
paddd xmm3, xmm7
paddd xmm2, xmm1
movdqu xmmword [eax + 0x80], xmm2
movdqu xmm2, xmmword [esp + 0x74]
paddd xmm2, xmm0
movdqu xmmword [eax + 0x90], xmm2
movdqu xmmword [eax + 0xa0], xmm3
movss xmm2, dword [esp + 0x18]
movss xmm3, dword [esp + 8]
movlhps xmm3, xmm2
movdqu xmm2, xmmword [esp + 0xe4]
shufps xmm3, xmm4, 0xe2
movd xmm4, dword [esp + 0x48]
paddd xmm2, xmm3
movd xmm3, esi
movdqu xmmword [eax + 0xb0], xmm2
movd xmm2, edx
punpckldq xmm3, xmm2
movd xmm2, ebx
punpckldq xmm2, xmm4
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [esp + 0xa4]
paddd xmm3, xmm7
paddd xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x84]
movdqu xmmword [eax + 0xc0], xmm2
movd xmm2, ecx
paddd xmm1, xmm0
movdqu xmmword [eax + 0xd0], xmm1
movd xmm1, edi
movdqu xmmword [eax + 0xe0], xmm3
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0xf4]
shufps xmm2, xmm5, 0xe2
paddd xmm1, xmm2
movdqu xmmword [eax + 0xf0], xmm1
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret