Function at 0x41ae20
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
push edi
push esi
mov eax, 1
cpuid
and edx, 0x4000000
jne 0x41b580
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
sub esp, 0x48
shl ecx, 7
add ecx, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ecx
mov eax, dword [edi]
mov edx, dword [edi + 0x40]
mov dword [esi], eax
mov dword [esi + 0x40], edx
xor eax, edx
mov dword [edi], eax
mov dword [esp], eax
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x44]
mov dword [esi + 4], eax
mov dword [esi + 0x44], edx
xor eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov eax, dword [edi + 8]
mov edx, dword [edi + 0x48]
mov dword [esi + 8], eax
mov dword [esi + 0x48], edx
xor eax, edx
mov dword [edi + 8], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x4c]
mov dword [esi + 0xc], eax
mov dword [esi + 0x4c], edx
xor eax, edx
mov dword [edi + 0xc], eax
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x50]
mov dword [esi + 0x10], eax
mov dword [esi + 0x50], edx
xor eax, edx
mov dword [edi + 0x10], eax
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x54]
mov dword [esi + 0x14], eax
mov dword [esi + 0x54], edx
xor eax, edx
mov dword [edi + 0x14], eax
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x58]
mov dword [esi + 0x18], eax
mov dword [esi + 0x58], edx
xor eax, edx
mov dword [edi + 0x18], eax
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x5c]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x5c], edx
xor eax, edx
mov dword [edi + 0x1c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x60]
mov dword [esi + 0x20], eax
mov dword [esi + 0x60], edx
xor eax, edx
mov dword [edi + 0x20], eax
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x64]
mov dword [esi + 0x24], eax
mov dword [esi + 0x64], edx
xor eax, edx
mov dword [edi + 0x24], eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x68]
mov dword [esi + 0x28], eax
mov dword [esi + 0x68], edx
xor eax, edx
mov dword [edi + 0x28], eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x2c]
mov edx, dword [edi + 0x6c]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x6c], edx
xor eax, edx
mov dword [edi + 0x2c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x30]
mov edx, dword [edi + 0x70]
mov dword [esi + 0x30], eax
mov dword [esi + 0x70], edx
xor eax, edx
mov dword [edi + 0x30], eax
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x34]
mov edx, dword [edi + 0x74]
mov dword [esi + 0x34], eax
mov dword [esi + 0x74], edx
xor eax, edx
mov dword [edi + 0x34], eax
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x78]
mov dword [esi + 0x38], eax
mov dword [esi + 0x78], edx
xor eax, edx
mov dword [edi + 0x38], eax
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x7c]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x7c], edx
xor eax, edx
mov dword [edi + 0x3c], eax
mov dword [esp + 0x3c], eax
call fcn.0041a660
mov edi, dword [esp + 0x5c]
mov eax, dword [esp]
add eax, dword [edi]
mov dword [edi], eax
xor eax, dword [edi + 0x40]
mov dword [edi + 0x40], eax
mov dword [esp], eax
mov eax, dword [esp + 4]
add eax, dword [edi + 4]
mov dword [edi + 4], eax
xor eax, dword [edi + 0x44]
mov dword [edi + 0x44], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
add eax, dword [edi + 8]
mov dword [edi + 8], eax
xor eax, dword [edi + 0x48]
mov dword [edi + 0x48], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
add eax, dword [edi + 0xc]
mov dword [edi + 0xc], eax
xor eax, dword [edi + 0x4c]
mov dword [edi + 0x4c], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add eax, dword [edi + 0x10]
mov dword [edi + 0x10], eax
xor eax, dword [edi + 0x50]
mov dword [edi + 0x50], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
add eax, dword [edi + 0x14]
mov dword [edi + 0x14], eax
xor eax, dword [edi + 0x54]
mov dword [edi + 0x54], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
add eax, dword [edi + 0x18]
mov dword [edi + 0x18], eax
xor eax, dword [edi + 0x58]
mov dword [edi + 0x58], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add eax, dword [edi + 0x1c]
mov dword [edi + 0x1c], eax
xor eax, dword [edi + 0x5c]
mov dword [edi + 0x5c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
add eax, dword [edi + 0x20]
mov dword [edi + 0x20], eax
xor eax, dword [edi + 0x60]
mov dword [edi + 0x60], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
add eax, dword [edi + 0x24]
mov dword [edi + 0x24], eax
xor eax, dword [edi + 0x64]
mov dword [edi + 0x64], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
add eax, dword [edi + 0x28]
mov dword [edi + 0x28], eax
xor eax, dword [edi + 0x68]
mov dword [edi + 0x68], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
add eax, dword [edi + 0x2c]
mov dword [edi + 0x2c], eax
xor eax, dword [edi + 0x6c]
mov dword [edi + 0x6c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
add eax, dword [edi + 0x30]
mov dword [edi + 0x30], eax
xor eax, dword [edi + 0x70]
mov dword [edi + 0x70], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
add eax, dword [edi + 0x34]
mov dword [edi + 0x34], eax
xor eax, dword [edi + 0x74]
mov dword [edi + 0x74], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
add eax, dword [edi + 0x38]
mov dword [edi + 0x38], eax
xor eax, dword [edi + 0x78]
mov dword [edi + 0x78], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
add eax, dword [edi + 0x3c]
mov dword [edi + 0x3c], eax
xor eax, dword [edi + 0x7c]
mov dword [edi + 0x7c], eax
mov dword [esp + 0x3c], eax
call fcn.0041a660
mov edi, dword [esp + 0x5c]
mov eax, dword [esp]
add eax, dword [edi + 0x40]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 4]
add eax, dword [edi + 0x44]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 8]
add eax, dword [edi + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0xc]
add eax, dword [edi + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x10]
add eax, dword [edi + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [esp + 0x14]
add eax, dword [edi + 0x54]
mov dword [edi + 0x54], eax
mov eax, dword [esp + 0x18]
add eax, dword [edi + 0x58]
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x1c]
add eax, dword [edi + 0x5c]
mov dword [edi + 0x5c], eax
mov eax, dword [esp + 0x20]
add eax, dword [edi + 0x60]
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x24]
add eax, dword [edi + 0x64]
mov dword [edi + 0x64], eax
mov eax, dword [esp + 0x28]
add eax, dword [edi + 0x68]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x2c]
add eax, dword [edi + 0x6c]
mov dword [edi + 0x6c], eax
mov eax, dword [esp + 0x30]
add eax, dword [edi + 0x70]
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x34]
add eax, dword [edi + 0x74]
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x38]
add eax, dword [edi + 0x78]
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x3c]
add eax, dword [edi + 0x7c]
mov dword [edi + 0x7c], eax
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add esi, 0x80
cmp esi, ecx
jne 0x41ae4b
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, ecx
sub eax, 1
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], ecx
mov edx, dword [edi + 0x40]
and edx, dword [esp + 0x64]
shl edx, 7
mov eax, dword [edi]
xor eax, dword [esi + edx]
mov ebx, dword [edi + 0x40]
xor ebx, dword [esi + edx + 0x40]
mov dword [edi + 0x40], ebx
xor eax, ebx
mov dword [edi], eax
mov dword [esp], eax
mov eax, dword [edi + 4]
xor eax, dword [esi + edx + 4]
mov ebx, dword [edi + 0x44]
xor ebx, dword [esi + edx + 0x44]
mov dword [edi + 0x44], ebx
xor eax, ebx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov eax, dword [edi + 8]
xor eax, dword [esi + edx + 8]
mov ebx, dword [edi + 0x48]
xor ebx, dword [esi + edx + 0x48]
mov dword [edi + 0x48], ebx
xor eax, ebx
mov dword [edi + 8], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0xc]
xor eax, dword [esi + edx + 0xc]
mov ebx, dword [edi + 0x4c]
xor ebx, dword [esi + edx + 0x4c]
mov dword [edi + 0x4c], ebx
xor eax, ebx
mov dword [edi + 0xc], eax
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
xor eax, dword [esi + edx + 0x10]
mov ebx, dword [edi + 0x50]
xor ebx, dword [esi + edx + 0x50]
mov dword [edi + 0x50], ebx
xor eax, ebx
mov dword [edi + 0x10], eax
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x14]
xor eax, dword [esi + edx + 0x14]
mov ebx, dword [edi + 0x54]
xor ebx, dword [esi + edx + 0x54]
mov dword [edi + 0x54], ebx
xor eax, ebx
mov dword [edi + 0x14], eax
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x18]
xor eax, dword [esi + edx + 0x18]
mov ebx, dword [edi + 0x58]
xor ebx, dword [esi + edx + 0x58]
mov dword [edi + 0x58], ebx
xor eax, ebx
mov dword [edi + 0x18], eax
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x1c]
xor eax, dword [esi + edx + 0x1c]
mov ebx, dword [edi + 0x5c]
xor ebx, dword [esi + edx + 0x5c]
mov dword [edi + 0x5c], ebx
xor eax, ebx
mov dword [edi + 0x1c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x20]
xor eax, dword [esi + edx + 0x20]
mov ebx, dword [edi + 0x60]
xor ebx, dword [esi + edx + 0x60]
mov dword [edi + 0x60], ebx
xor eax, ebx
mov dword [edi + 0x20], eax
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x24]
xor eax, dword [esi + edx + 0x24]
mov ebx, dword [edi + 0x64]
xor ebx, dword [esi + edx + 0x64]
mov dword [edi + 0x64], ebx
xor eax, ebx
mov dword [edi + 0x24], eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x28]
xor eax, dword [esi + edx + 0x28]
mov ebx, dword [edi + 0x68]
xor ebx, dword [esi + edx + 0x68]
mov dword [edi + 0x68], ebx
xor eax, ebx
mov dword [edi + 0x28], eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x2c]
xor eax, dword [esi + edx + 0x2c]
mov ebx, dword [edi + 0x6c]
xor ebx, dword [esi + edx + 0x6c]
mov dword [edi + 0x6c], ebx
xor eax, ebx
mov dword [edi + 0x2c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x30]
xor eax, dword [esi + edx + 0x30]
mov ebx, dword [edi + 0x70]
xor ebx, dword [esi + edx + 0x70]
mov dword [edi + 0x70], ebx
xor eax, ebx
mov dword [edi + 0x30], eax
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x34]
xor eax, dword [esi + edx + 0x34]
mov ebx, dword [edi + 0x74]
xor ebx, dword [esi + edx + 0x74]
mov dword [edi + 0x74], ebx
xor eax, ebx
mov dword [edi + 0x34], eax
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x38]
xor eax, dword [esi + edx + 0x38]
mov ebx, dword [edi + 0x78]
xor ebx, dword [esi + edx + 0x78]
mov dword [edi + 0x78], ebx
xor eax, ebx
mov dword [edi + 0x38], eax
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x3c]
xor eax, dword [esi + edx + 0x3c]
mov ebx, dword [edi + 0x7c]
xor ebx, dword [esi + edx + 0x7c]
mov dword [edi + 0x7c], ebx
xor eax, ebx
mov dword [edi + 0x3c], eax
mov dword [esp + 0x3c], eax
call fcn.0041a660
mov edi, dword [esp + 0x5c]
mov eax, dword [esp]
add eax, dword [edi]
mov dword [edi], eax
xor eax, dword [edi + 0x40]
mov dword [edi + 0x40], eax
mov dword [esp], eax
mov eax, dword [esp + 4]
add eax, dword [edi + 4]
mov dword [edi + 4], eax
xor eax, dword [edi + 0x44]
mov dword [edi + 0x44], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
add eax, dword [edi + 8]
mov dword [edi + 8], eax
xor eax, dword [edi + 0x48]
mov dword [edi + 0x48], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
add eax, dword [edi + 0xc]
mov dword [edi + 0xc], eax
xor eax, dword [edi + 0x4c]
mov dword [edi + 0x4c], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add eax, dword [edi + 0x10]
mov dword [edi + 0x10], eax
xor eax, dword [edi + 0x50]
mov dword [edi + 0x50], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
add eax, dword [edi + 0x14]
mov dword [edi + 0x14], eax
xor eax, dword [edi + 0x54]
mov dword [edi + 0x54], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
add eax, dword [edi + 0x18]
mov dword [edi + 0x18], eax
xor eax, dword [edi + 0x58]
mov dword [edi + 0x58], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add eax, dword [edi + 0x1c]
mov dword [edi + 0x1c], eax
xor eax, dword [edi + 0x5c]
mov dword [edi + 0x5c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
add eax, dword [edi + 0x20]
mov dword [edi + 0x20], eax
xor eax, dword [edi + 0x60]
mov dword [edi + 0x60], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
add eax, dword [edi + 0x24]
mov dword [edi + 0x24], eax
xor eax, dword [edi + 0x64]
mov dword [edi + 0x64], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
add eax, dword [edi + 0x28]
mov dword [edi + 0x28], eax
xor eax, dword [edi + 0x68]
mov dword [edi + 0x68], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
add eax, dword [edi + 0x2c]
mov dword [edi + 0x2c], eax
xor eax, dword [edi + 0x6c]
mov dword [edi + 0x6c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
add eax, dword [edi + 0x30]
mov dword [edi + 0x30], eax
xor eax, dword [edi + 0x70]
mov dword [edi + 0x70], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
add eax, dword [edi + 0x34]
mov dword [edi + 0x34], eax
xor eax, dword [edi + 0x74]
mov dword [edi + 0x74], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
add eax, dword [edi + 0x38]
mov dword [edi + 0x38], eax
xor eax, dword [edi + 0x78]
mov dword [edi + 0x78], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
add eax, dword [edi + 0x3c]
mov dword [edi + 0x3c], eax
xor eax, dword [edi + 0x7c]
mov dword [edi + 0x7c], eax
mov dword [esp + 0x3c], eax
call fcn.0041a660
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov eax, dword [esp]
add eax, dword [edi + 0x40]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 4]
add eax, dword [edi + 0x44]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 8]
add eax, dword [edi + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0xc]
add eax, dword [edi + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x10]
add eax, dword [edi + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [esp + 0x14]
add eax, dword [edi + 0x54]
mov dword [edi + 0x54], eax
mov eax, dword [esp + 0x18]
add eax, dword [edi + 0x58]
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x1c]
add eax, dword [edi + 0x5c]
mov dword [edi + 0x5c], eax
mov eax, dword [esp + 0x20]
add eax, dword [edi + 0x60]
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x24]
add eax, dword [edi + 0x64]
mov dword [edi + 0x64], eax
mov eax, dword [esp + 0x28]
add eax, dword [edi + 0x68]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x2c]
add eax, dword [edi + 0x6c]
mov dword [edi + 0x6c], eax
mov eax, dword [esp + 0x30]
add eax, dword [edi + 0x70]
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x34]
add eax, dword [edi + 0x74]
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x38]
add eax, dword [edi + 0x78]
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x3c]
add eax, dword [edi + 0x7c]
mov dword [edi + 0x7c], eax
mov ecx, dword [esp + 0x44]
sub ecx, 1
ja 0x41b1b3
add esp, 0x48
pop esi
pop edi
pop ebp
pop ebx
ret
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, esp
sub esp, 0x80
and esp, 0xfffffff0
mov eax, dword [edi + 0x3c]
mov ebx, dword [edi + 0x2c]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0xc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], edx
mov eax, dword [edi + 0x28]
mov ebx, dword [edi + 8]
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], edx
mov eax, dword [edi + 0x14]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 0x34]
mov edx, dword [edi + 0x24]
mov dword [esp + 4], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], edx
mov eax, dword [edi]
mov ebx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x38]
mov dword [esp], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edx
mov eax, dword [edi + 0x7c]
mov ebx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x5c]
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x7c], edx
mov eax, dword [edi + 0x68]
mov ebx, dword [edi + 0x48]
mov ecx, dword [edi + 0x70]
mov edx, dword [edi + 0x50]
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x70], edx
mov eax, dword [edi + 0x54]
mov ebx, dword [edi + 0x44]
mov ecx, dword [edi + 0x74]
mov edx, dword [edi + 0x64]
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x74], edx
mov eax, dword [edi + 0x40]
mov ebx, dword [edi + 0x58]
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 0x78]
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x78], edx
movdqa xmm6, xmmword [esp + 0x60]
movdqa xmm7, xmmword [esp + 0x70]
mov edx, esi
mov ecx, dword [ebp + 0x1c]
shl ecx, 7
add ecx, esi
movdqa xmm0, xmmword [esp]
movdqa xmm1, xmmword [esp + 0x10]
movdqa xmm2, xmmword [esp + 0x20]
movdqa xmm3, xmmword [esp + 0x30]
movdqa xmm4, xmmword [esp + 0x40]
movdqa xmm5, xmmword [esp + 0x50]
pxor xmm0, xmm4
pxor xmm1, xmm5
movdqa xmmword [edx], xmm0
movdqa xmmword [edx + 0x10], xmm1
pxor xmm2, xmm6
pxor xmm3, xmm7
movdqa xmmword [edx + 0x20], xmm2
movdqa xmmword [edx + 0x30], xmm3
movdqa xmmword [edx + 0x40], xmm4
movdqa xmmword [edx + 0x50], xmm5
movdqa xmmword [edx + 0x60], xmm6
movdqa xmmword [edx + 0x70], xmm7
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
paddd xmm0, xmmword [edx]
paddd xmm1, xmmword [edx + 0x10]
paddd xmm2, xmmword [edx + 0x20]
paddd xmm3, xmmword [edx + 0x30]
movdqa xmmword [esp], xmm0
movdqa xmmword [esp + 0x10], xmm1
movdqa xmmword [esp + 0x20], xmm2
movdqa xmmword [esp + 0x30], xmm3
pxor xmm0, xmmword [esp + 0x40]
pxor xmm1, xmmword [esp + 0x50]
pxor xmm2, xmm6
pxor xmm3, xmm7
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x50], xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
paddd xmm0, xmmword [esp + 0x40]
paddd xmm1, xmmword [esp + 0x50]
paddd xmm6, xmm2
paddd xmm7, xmm3
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x50], xmm1
add edx, 0x80
cmp edx, ecx
jne 0x41b687
movdqa xmm4, xmmword [esp + 0x40]
movdqa xmm5, xmmword [esp + 0x50]
mov ecx, dword [ebp + 0x1c]
mov eax, ecx
sub eax, 1
movd edx, xmm4
movdqa xmm0, xmmword [esp]
movdqa xmm1, xmmword [esp + 0x10]
movdqa xmm2, xmmword [esp + 0x20]
movdqa xmm3, xmmword [esp + 0x30]
and edx, eax
shl edx, 7
pxor xmm0, xmmword [esi + edx]
pxor xmm1, xmmword [esi + edx + 0x10]
pxor xmm2, xmmword [esi + edx + 0x20]
pxor xmm3, xmmword [esi + edx + 0x30]
pxor xmm0, xmm4
pxor xmm1, xmm5
movdqa xmmword [esp], xmm0
movdqa xmmword [esp + 0x10], xmm1
pxor xmm2, xmm6
pxor xmm3, xmm7
movdqa xmmword [esp + 0x20], xmm2
movdqa xmmword [esp + 0x30], xmm3
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
paddd xmm0, xmmword [esp]
paddd xmm1, xmmword [esp + 0x10]
paddd xmm2, xmmword [esp + 0x20]
paddd xmm3, xmmword [esp + 0x30]
movdqa xmmword [esp], xmm0
movdqa xmmword [esp + 0x10], xmm1
movdqa xmmword [esp + 0x20], xmm2
movdqa xmmword [esp + 0x30], xmm3
pxor xmm0, xmmword [esi + edx + 0x40]
pxor xmm1, xmmword [esi + edx + 0x50]
pxor xmm2, xmmword [esi + edx + 0x60]
pxor xmm3, xmmword [esi + edx + 0x70]
pxor xmm0, xmmword [esp + 0x40]
pxor xmm1, xmmword [esp + 0x50]
pxor xmm2, xmm6
pxor xmm3, xmm7
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x50], xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
movdqa xmm4, xmm1
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm3, xmm4
movdqa xmm4, xmm0
pxor xmm3, xmm5
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm3
pxor xmm2, xmm5
pshufd xmm3, xmm3, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm1, xmm4
movdqa xmm4, xmm2
pxor xmm1, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
movdqa xmm4, xmm3
pxor xmm0, xmm5
pshufd xmm1, xmm1, 0x39
paddd xmm4, xmm0
movdqa xmm5, xmm4
pslld xmm4, 7
psrld xmm5, 0x19
pxor xmm1, xmm4
movdqa xmm4, xmm0
pxor xmm1, xmm5
paddd xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 9
psrld xmm5, 0x17
pxor xmm2, xmm4
movdqa xmm4, xmm1
pxor xmm2, xmm5
pshufd xmm1, xmm1, 0x93
paddd xmm4, xmm2
movdqa xmm5, xmm4
pslld xmm4, 0xd
psrld xmm5, 0x13
pxor xmm3, xmm4
movdqa xmm4, xmm2
pxor xmm3, xmm5
pshufd xmm2, xmm2, 0x4e
paddd xmm4, xmm3
movdqa xmm5, xmm4
pslld xmm4, 0x12
psrld xmm5, 0xe
pxor xmm0, xmm4
pshufd xmm3, xmm3, 0x39
pxor xmm0, xmm5
paddd xmm0, xmmword [esp + 0x40]
paddd xmm1, xmmword [esp + 0x50]
paddd xmm6, xmm2
paddd xmm7, xmm3
movdqa xmm4, xmm0
movdqa xmm5, xmm1
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x50], xmm1
sub ecx, 1
ja 0x41bfe5
movdqa xmmword [esp + 0x60], xmm6
movdqa xmmword [esp + 0x70], xmm7
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
mov dword [edi + 0xc], eax
mov dword [edi + 0x1c], ebx
mov dword [edi + 0x2c], ecx
mov dword [edi + 0x3c], edx
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov dword [edi + 8], eax
mov dword [edi + 0x28], ebx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x30], edx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov dword [edi + 4], eax
mov dword [edi + 0x14], ebx
mov dword [edi + 0x24], ecx
mov dword [edi + 0x34], edx
mov eax, dword [esp]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov dword [edi], eax
mov dword [edi + 0x18], ebx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x38], edx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov dword [edi + 0x4c], eax
mov dword [edi + 0x5c], ebx
mov dword [edi + 0x6c], ecx
mov dword [edi + 0x7c], edx
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x50]
mov dword [edi + 0x48], eax
mov dword [edi + 0x68], ebx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x70], edx
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
mov dword [edi + 0x44], eax
mov dword [edi + 0x54], ebx
mov dword [edi + 0x64], ecx
mov dword [edi + 0x74], edx
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x78]
mov dword [edi + 0x40], eax
mov dword [edi + 0x58], ebx
mov dword [edi + 0x60], ecx
mov dword [edi + 0x78], edx
mov esp, ebp
pop esi
pop edi
pop ebp
pop ebx
ret