Function at 0x651e30
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x42c
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x440]
movdqu xmm0, xmmword [ecx + 0x30]
movdqu xmm4, xmmword [ecx + 0x20]
movdqu xmm3, xmmword [ecx]
movdqu xmm5, xmmword [ecx + 0x10]
cmp eax, 0x80
mov edx, pe_nt_image_headers32
cmovb edx, eax
mov dword [esp + 0x284], edx
mov eax, dword [ecx + 0x54]
mov dword [esp + 0x384], eax
mov eax, dword [ecx + 0x50]
mov dword [esp + 0x380], eax
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x37c], eax
movdqa xmm6, xmm5
movdqa xmm2, xmm4
movdqa xmm1, xmm0
mov eax, dword [ecx + 0x58]
mov dword [esp + 0x378], eax
mov edx, dword [ecx + 0x44]
mov esi, dword [ecx + 0x40]
mov edi, dword [ecx + 0x4c]
mov dword [esp + 0x388], ecx
mov ecx, dword [ecx + 0x48]
xor eax, eax
nop word cs:[eax + eax]
movdqu xmmword [esp + 0x3fc], xmm5
movdqu xmmword [esp + 0x40c], xmm4
movdqu xmmword [esp + 0x41c], xmm0
mov ebx, eax
mov dword [esp + 0x18], eax
movdqu xmmword [esp + 0x3ec], xmm3
add esi, dword [esp + 0x284]
mov dword [esp + 0x290], esi
adc edx, 0
mov dword [esp + 0x294], edx
pshufd xmm0, xmm3, 0x55
movd ebp, xmm0
movd eax, xmm3
pshufd xmm0, xmm2, 0x55
adc ecx, 0
mov dword [esp + 0x288], ecx
movd edx, xmm0
mov dword [esp + 0xb0], edx
movd ecx, xmm2
mov dword [esp + 0xa0], ecx
adc edi, 0
mov dword [esp + 0x28c], edi
pshufd xmm0, xmm3, 0xff
movd esi, xmm0
pshufd xmm0, xmm3, 0xee
add eax, ecx
mov dword [esp + 0x1ec], eax
movd edi, xmm0
pshufd xmm0, xmm2, 0xff
adc ebp, edx
mov dword [esp + 0xf4], ebp
pshufd xmm2, xmm2, 0xee
movd eax, xmm2
mov dword [esp + 0x184], eax
pshufd xmm2, xmm6, 0x55
add edi, eax
mov dword [esp + 0x174], edi
pshufd xmm3, xmm1, 0x55
movd eax, xmm0
mov dword [esp + 0x148], eax
adc esi, eax
mov dword [esp + 0x90], esi
movd ecx, xmm6
movd ebp, xmm1
add ecx, ebp
movd eax, xmm2
movd edx, xmm3
adc eax, edx
mov edi, dword [esp + 0x6c]
mov esi, dword [edi + ebx + 0x20]
mov dword [esp + 0x338], esi
add ecx, esi
mov dword [esp + 0xe4], ecx
mov esi, dword [edi + ebx + 0x24]
mov dword [esp + 0x1a0], esi
adc eax, esi
mov dword [esp + 0x118], eax
mov esi, dword [esp + 0x380]
xor esi, ecx
mov ecx, dword [esp + 0x384]
xor ecx, eax
xor esi, 0xfb41bd6b
mov dword [esp + 4], esi
xor ecx, 0x1f83d9ab
mov dword [esp + 0x1dc], ecx
add ecx, 0xfe94f82b
mov dword [esp + 0x70], ecx
mov eax, esi
adc eax, 0x3c6ef372
mov dword [esp + 0xc0], eax
xor edx, eax
xor ebp, ecx
mov eax, ebp
shld eax, edx, 8
mov dword [esp + 0x1c], eax
shrd ebp, edx, 0x18
mov dword [esp], ebp
pshufd xmm0, xmm6, 0xff
pshufd xmm2, xmm6, 0xee
pshufd xmm3, xmm1, 0xff
pshufd xmm1, xmm1, 0xee
movd ecx, xmm2
movd eax, xmm1
mov dword [esp + 0x108], eax
add ecx, eax
mov dword [esp + 0x38], ecx
movd ecx, xmm0
movd eax, xmm3
mov dword [esp + 0x58], eax
adc ecx, eax
mov dword [esp + 0xd4], ecx
movdqu xmm0, xmmword [edi + ebx]
movdqu xmmword [esp + 0x368], xmm0
movd eax, xmm0
mov dword [esp + 0x194], eax
mov edx, dword [esp + 0x1ec]
add edx, eax
mov dword [esp + 0x1ec], edx
mov eax, dword [edi + ebx + 4]
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0xf4]
adc ecx, eax
mov dword [esp + 0xf4], ecx
mov ebp, dword [esp + 0x294]
xor ebp, ecx
mov esi, dword [esp + 0x290]
xor esi, edx
xor esi, 0xade682d1
xor ebp, 0x510e527f
mov ecx, ebp
add ecx, 0xf3bcc908
mov dword [esp + 0x48], ecx
mov eax, esi
adc eax, 0x6a09e667
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0xb0]
xor edx, eax
mov eax, dword [esp + 0xa0]
xor eax, ecx
mov ebx, eax
shld ebx, edx, 8
shrd eax, edx, 0x18
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
mov edi, dword [eax + ecx + 8]
mov dword [esp + 0x2b8], edi
mov edx, dword [esp + 0x1ec]
add edx, edi
mov edi, dword [eax + ecx + 0xc]
mov dword [esp + 0x2a8], edi
mov eax, dword [esp + 0xf4]
adc eax, edi
add edx, dword [esp + 0xa0]
mov dword [esp + 0x1ec], edx
adc eax, ebx
mov dword [esp + 0xf4], eax
xor esi, eax
xor ebp, edx
mov edi, ebp
shld edi, esi, 0x10
mov dword [esp + 0x204], edi
shrd ebp, esi, 0x10
mov dword [esp + 0x30], ebp
mov esi, dword [esp + 0x48]
add esi, ebp
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x80]
adc eax, edi
mov dword [esp + 0x80], eax
xor ebx, eax
mov ebp, dword [esp + 0xa0]
xor ebp, esi
mov eax, ebx
shld eax, ebp, 1
mov dword [esp + 0x68], eax
shld ebp, ebx, 1
mov dword [esp + 0xa0], ebp
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
movdqu xmm0, xmmword [ebp + edx + 0x28]
movd eax, xmm0
mov dword [esp + 0x1cc], eax
movdqa xmm7, xmm0
mov ecx, dword [esp + 0xe4]
add ecx, eax
mov eax, dword [ebp + edx + 0x2c]
mov dword [esp + 0x158], eax
mov edx, dword [esp + 0x118]
adc edx, eax
mov edi, dword [esp]
add ecx, edi
mov dword [esp + 0xe4], ecx
mov ebx, dword [esp + 0x1c]
adc edx, ebx
mov dword [esp + 0x118], edx
mov esi, dword [esp + 4]
xor esi, edx
mov eax, dword [esp + 0x1dc]
xor eax, ecx
mov edx, eax
shrd eax, esi, 0x10
mov dword [esp + 0x1dc], eax
shld edx, esi, 0x10
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x70]
add ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0xc0]
adc eax, edx
mov dword [esp + 0xc0], eax
mov edx, ebx
xor edx, eax
mov eax, edi
xor eax, ecx
mov ecx, edx
shld ecx, eax, 1
mov dword [esp + 0x128], ecx
shld eax, edx, 1
mov dword [esp], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + ecx + 0x30]
mov dword [esp + 0x2f8], eax
mov esi, dword [esp + 0x38]
add esi, eax
mov dword [esp + 0x38], esi
mov eax, dword [ebp + ecx + 0x34]
mov dword [esp + 0x2e8], eax
mov ecx, dword [esp + 0xd4]
adc ecx, eax
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x37c]
xor edi, ecx
mov eax, dword [esp + 0x378]
xor eax, esi
xor eax, 0x137e2179
xor edi, 0x5be0cd19
mov esi, edi
add esi, 0x5f1d36f1
mov dword [esp + 4], esi
mov ecx, eax
adc ecx, 0xa54ff53a
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x58]
xor edx, ecx
mov ebp, dword [esp + 0x108]
xor ebp, esi
mov ebx, ebp
mov ecx, ebp
shld ecx, edx, 8
mov dword [esp + 0x58], ecx
shrd ebx, edx, 0x18
mov dword [esp + 0x108], ebx
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x6c]
mov ebx, dword [esi + ecx + 0x38]
mov dword [esp + 0x274], ebx
mov edx, dword [esp + 0x38]
add edx, ebx
mov ebp, dword [esi + ecx + 0x3c]
mov dword [esp + 0x318], ebp
mov esi, dword [esp + 0xd4]
adc esi, ebp
add edx, dword [esp + 0x108]
mov dword [esp + 0x38], edx
mov ebp, dword [esp + 0x58]
adc esi, ebp
mov dword [esp + 0xd4], esi
xor eax, esi
xor edi, edx
mov esi, edi
shrd edi, eax, 0x10
mov dword [esp + 0xd0], edi
shld esi, eax, 0x10
mov dword [esp + 0x104], esi
mov ebx, dword [esp + 4]
add ebx, edi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x1c]
adc edi, esi
mov dword [esp + 0x1c], edi
xor ebp, edi
mov eax, dword [esp + 0x108]
xor eax, ebx
mov esi, ebp
shld esi, eax, 1
mov dword [esp + 0x34], esi
shld eax, ebp, 1
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0xe4]
add ecx, eax
mov edx, dword [esp + 0x118]
adc edx, esi
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebp + ebx + 0x60]
mov dword [esp + 0x358], eax
add ecx, eax
mov dword [esp + 0xe4], ecx
mov eax, dword [ebp + ebx + 0x64]
mov dword [esp + 0x2c8], eax
adc edx, eax
mov dword [esp + 0x118], edx
mov eax, dword [ebp + ebx + 0x68]
mov dword [esp + 0x254], eax
add eax, ecx
mov dword [esp + 0x244], eax
mov eax, dword [ebp + ebx + 0x6c]
mov dword [esp + 0x264], eax
adc eax, edx
mov dword [esp + 0x214], eax
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xd4]
adc esi, dword [esp + 0x68]
mov eax, dword [ebp + ebx + 0x70]
mov dword [esp + 0x19c], eax
add ecx, eax
mov eax, dword [ebp + ebx + 0x74]
mov dword [esp + 0x168], eax
adc esi, eax
xor dword [esp + 0x14], esi
xor dword [esp + 0x1dc], ecx
mov eax, dword [ebp + ebx + 0x78]
mov dword [esp + 0x2d8], eax
add ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [ebp + ebx + 0x7c]
mov dword [esp + 0x328], eax
adc esi, eax
mov dword [esp + 0xd4], esi
movdqu xmm0, xmmword [ebp + ebx + 0x10]
movdqu xmmword [esp + 0x3cc], xmm0
movd eax, xmm0
mov dword [esp + 0x38c], eax
mov edi, dword [esp + 0x174]
add edi, eax
mov dword [esp + 0x174], edi
mov eax, dword [ebp + ebx + 0x14]
mov ecx, ebx
mov dword [esp + 0x3ac], eax
mov edx, dword [esp + 0x90]
adc edx, eax
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x28c]
xor ebx, edx
mov esi, dword [esp + 0x288]
xor esi, edi
xor esi, 0x2b3e6c1f
xor ebx, 0x9b05688c
mov ebp, ebx
add ebp, 0x84caa73b
mov dword [esp + 0x58], ebp
mov eax, esi
adc eax, 0xbb67ae85
mov dword [esp + 0xb0], eax
mov edi, dword [esp + 0x148]
xor edi, eax
mov eax, dword [esp + 0x184]
xor eax, ebp
mov ebp, eax
shld ebp, edi, 8
shrd eax, edi, 0x18
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x6c]
mov edx, ecx
mov edi, dword [eax + ecx + 0x18]
mov dword [esp + 0x1a8], edi
mov ecx, dword [esp + 0x174]
add ecx, edi
mov edi, dword [eax + edx + 0x1c]
mov dword [esp + 0x1a4], edi
mov eax, dword [esp + 0x90]
adc eax, edi
mov edx, dword [esp + 0x184]
add ecx, edx
mov dword [esp + 0x174], ecx
adc eax, ebp
mov dword [esp + 0x90], eax
xor esi, eax
mov edi, ebx
xor edi, ecx
mov ecx, edi
shrd edi, esi, 0x10
mov dword [esp + 0x2c], edi
shld ecx, esi, 0x10
mov dword [esp + 0x1bc], ecx
mov ebx, dword [esp + 0x58]
add ebx, edi
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0xb0]
adc esi, ecx
mov dword [esp + 0xb0], esi
xor ebp, esi
xor edx, ebx
mov eax, ebp
shld eax, edx, 1
mov dword [esp + 0x234], eax
shld edx, ebp, 1
mov dword [esp + 0x184], edx
mov edi, dword [esp + 0x1ec]
add edi, edx
mov esi, dword [esp + 0xf4]
adc esi, eax
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebp + ebx + 0x40]
mov dword [esp + 0x3bc], eax
add edi, eax
mov eax, dword [ebp + ebx + 0x44]
mov dword [esp + 0x1ec], eax
adc esi, eax
mov eax, dword [ebp + ebx + 0x48]
mov dword [esp + 0x16c], eax
add eax, edi
mov dword [esp + 0x138], eax
mov eax, dword [ebp + ebx + 0x4c]
mov dword [esp + 0x308], eax
adc eax, esi
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x174]
add eax, dword [esp]
mov edx, dword [esp + 0x90]
adc edx, dword [esp + 0x128]
mov ecx, dword [ebp + ebx + 0x50]
mov dword [esp + 0x170], ecx
add eax, ecx
mov dword [esp + 0x174], eax
mov ecx, dword [ebp + ebx + 0x54]
mov dword [esp + 0x39c], ecx
adc edx, ecx
mov dword [esp + 0x90], edx
mov ecx, dword [ebp + ebx + 0x58]
mov dword [esp + 0x348], ecx
add ecx, eax
mov dword [esp + 0x224], ecx
mov eax, dword [ebp + ebx + 0x5c]
mov dword [esp + 0x298], eax
adc eax, edx
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1bc]
xor eax, dword [esp + 0x118]
mov dword [esp + 0x1bc], eax
xor esi, dword [esp + 0x104]
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0xe4]
mov dword [esp + 0x2c], eax
mov ebp, edi
xor ebp, dword [esp + 0xd0]
mov eax, dword [esp + 0x70]
add eax, esi
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0xc0]
adc edx, ebp
mov dword [esp + 0xc0], edx
mov ecx, dword [esp + 0x184]
xor ecx, eax
mov edi, dword [esp + 0x234]
xor edi, edx
mov ebx, ecx
shld ebx, edi, 8
shld edi, ecx, 8
mov eax, dword [esp + 0x138]
add eax, edi
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x148]
adc ecx, ebx
mov dword [esp + 0x148], ecx
xor ebp, ecx
mov edx, esi
xor edx, eax
mov esi, edx
shrd edx, ebp, 0x10
mov dword [esp + 0xf4], edx
shld esi, ebp, 0x10
mov dword [esp + 0x104], esi
mov ebp, dword [esp + 0x70]
add ebp, edx
mov dword [esp + 0x70], ebp
mov edx, dword [esp + 0xc0]
adc edx, esi
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0x90]
xor esi, dword [esp + 0x204]
xor ebx, edx
xor edi, ebp
mov eax, ebx
shld eax, edi, 1
mov dword [esp + 0x204], eax
shld edi, ebx, 1
mov dword [esp + 0x234], edi
mov ecx, dword [esp + 0x174]
xor ecx, dword [esp + 0x30]
mov eax, dword [esp + 4]
add eax, esi
mov edi, esi
mov edx, dword [esp + 0x1c]
adc edx, ecx
mov dword [esp + 0x1c], edx
mov esi, dword [esp]
xor esi, eax
mov ebp, eax
mov ebx, dword [esp + 0x128]
xor ebx, edx
mov eax, esi
shld eax, ebx, 8
shld ebx, esi, 8
mov dword [esp + 0x128], ebx
mov esi, dword [esp + 0x224]
add esi, ebx
mov dword [esp + 0x224], esi
mov ebx, dword [esp + 0x1ac]
adc ebx, eax
mov dword [esp + 0x1ac], ebx
mov edx, ecx
xor edx, ebx
xor edi, esi
mov ecx, edi
shrd edi, edx, 0x10
mov dword [esp + 0x90], edi
shld ecx, edx, 0x10
mov dword [esp], ecx
add ebp, edi
mov dword [esp + 4], ebp
mov edi, dword [esp + 0x1c]
adc edi, ecx
mov dword [esp + 0x1c], edi
xor eax, edi
mov edx, dword [esp + 0x128]
xor edx, ebp
mov ecx, eax
shld ecx, edx, 1
mov dword [esp + 0x30], ecx
shld edx, eax, 1
mov dword [esp + 0x128], edx
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x1bc]
add eax, ebx
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x2c]
adc ecx, edi
mov dword [esp + 0x80], ecx
mov esi, dword [esp + 0x108]
xor esi, eax
mov ebp, dword [esp + 0x34]
xor ebp, ecx
mov eax, esi
mov edx, ebp
shld eax, ebp, 8
shld edx, esi, 8
mov esi, dword [esp + 0x244]
add esi, edx
mov dword [esp + 0x244], esi
mov ebp, edx
mov ecx, dword [esp + 0x214]
adc ecx, eax
mov dword [esp + 0x214], ecx
xor edi, ecx
xor ebx, esi
mov esi, ebx
shrd ebx, edi, 0x10
mov dword [esp + 0x1bc], ebx
shld esi, edi, 0x10
mov dword [esp + 0x118], esi
mov ecx, dword [esp + 0x48]
add ecx, ebx
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x80]
adc edx, esi
mov dword [esp + 0x80], edx
xor eax, edx
xor ebp, ecx
mov ecx, eax
shld ecx, ebp, 1
mov dword [esp + 0x2c], ecx
shld ebp, eax, 1
mov dword [esp + 0x34], ebp
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
add ecx, edx
mov dword [esp + 0x58], ecx
mov ebx, dword [esp + 0x1dc]
mov esi, dword [esp + 0xb0]
adc esi, ebx
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0xa0]
xor eax, ecx
mov edi, dword [esp + 0x68]
xor edi, esi
mov ebp, eax
shld ebp, edi, 8
shld edi, eax, 8
mov esi, dword [esp + 0x38]
add esi, edi
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0xd4]
adc eax, ebp
mov dword [esp + 0xd4], eax
xor ebx, eax
xor edx, esi
mov esi, edx
shrd edx, ebx, 0x10
mov dword [esp + 0x14], edx
shld esi, ebx, 0x10
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0x58]
add ecx, edx
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xb0]
adc eax, esi
mov dword [esp + 0xb0], eax
xor ebp, eax
xor edi, ecx
mov edx, ebp
shld edx, edi, 1
shld edi, ebp, 1
mov eax, dword [esp + 0x138]
add eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x148]
adc esi, dword [esp + 0x168]
add eax, edi
mov dword [esp + 0x138], eax
adc esi, edx
mov dword [esp + 0x148], esi
mov ecx, dword [esp]
xor ecx, esi
mov dword [esp], ecx
mov esi, dword [esp + 0x90]
xor esi, eax
mov ebx, dword [esp + 0x48]
add ebx, ecx
mov ecx, dword [esp + 0x80]
adc ecx, esi
mov dword [esp + 0x80], ecx
xor edi, ebx
mov ebp, edx
xor ebp, ecx
mov eax, edi
shld eax, ebp, 8
shld ebp, edi, 8
mov edi, dword [esp + 0x138]
add edi, dword [esp + 0x170]
mov edx, dword [esp + 0x148]
adc edx, dword [esp + 0x39c]
add edi, ebp
mov dword [esp + 0x138], edi
adc edx, eax
mov dword [esp + 0x148], edx
xor esi, edx
mov ecx, dword [esp]
xor ecx, edi
mov edx, ecx
shrd ecx, esi, 0x10
mov dword [esp], ecx
shld edx, esi, 0x10
mov dword [esp + 0x1dc], edx
add ebx, ecx
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x80]
adc ecx, edx
mov dword [esp + 0x80], ecx
xor eax, ecx
xor ebp, ebx
mov ecx, eax
shld ecx, ebp, 1
mov dword [esp + 0x200], ecx
shld ebp, eax, 1
mov dword [esp + 0x1fc], ebp
mov edi, dword [esp + 0x234]
mov ebp, edi
add ebp, dword [esp + 0x338]
mov ebx, dword [esp + 0x204]
mov ecx, ebx
adc ecx, dword [esp + 0x1a0]
add ebp, dword [esp + 0x224]
adc ecx, dword [esp + 0x1ac]
mov dword [esp + 0x1ac], ecx
mov esi, dword [esp + 0x118]
xor esi, ecx
mov dword [esp + 0x118], esi
mov edx, dword [esp + 0x1bc]
xor edx, ebp
mov eax, dword [esp + 0x58]
add eax, esi
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xb0]
adc ecx, edx
mov dword [esp + 0xb0], ecx
mov esi, edx
xor edi, eax
xor ebx, ecx
mov edx, edi
shld edx, ebx, 8
shld ebx, edi, 8
mov edi, ebp
add edi, dword [esp + 0x3bc]
mov ebp, dword [esp + 0x1ac]
adc ebp, dword [esp + 0x1ec]
add edi, ebx
mov dword [esp + 0xd0], edi
adc ebp, edx
mov dword [esp + 0x1ac], ebp
xor esi, ebp
mov eax, dword [esp + 0x118]
xor eax, edi
mov ecx, eax
shrd eax, esi, 0x10
mov dword [esp + 0x118], eax
shld ecx, esi, 0x10
mov dword [esp + 0x184], ecx
mov esi, dword [esp + 0x58]
add esi, eax
mov dword [esp + 0x58], esi
mov edi, dword [esp + 0xb0]
adc edi, ecx
mov dword [esp + 0xb0], edi
xor edx, edi
mov eax, ebx
xor eax, esi
mov ecx, edx
shld ecx, eax, 1
mov dword [esp + 0x234], ecx
shld eax, edx, 1
mov dword [esp + 0x204], eax
mov ebx, dword [esp + 0x128]
mov eax, ebx
add eax, dword [esp + 0x16c]
mov esi, dword [esp + 0x30]
mov edi, esi
adc edi, dword [esp + 0x308]
add eax, dword [esp + 0x244]
mov dword [esp + 0x108], eax
adc edi, dword [esp + 0x214]
mov ecx, dword [esp + 0xe4]
xor ecx, edi
mov dword [esp + 0xe4], ecx
mov ebp, dword [esp + 0x14]
xor ebp, eax
mov eax, dword [esp + 0x70]
add eax, ecx
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xc0]
adc ecx, ebp
mov dword [esp + 0xc0], ecx
xor ebx, eax
xor esi, ecx
mov ecx, ebx
shld ecx, esi, 8
shld esi, ebx, 8
mov ebx, dword [esp + 0x108]
add ebx, dword [esp + 0x2d8]
adc edi, dword [esp + 0x328]
add ebx, esi
mov dword [esp + 0x108], ebx
adc edi, ecx
mov dword [esp + 0xa0], edi
xor ebp, edi
mov eax, dword [esp + 0xe4]
xor eax, ebx
mov edx, eax
shrd eax, ebp, 0x10
mov dword [esp + 0xe4], eax
shld edx, ebp, 0x10
mov dword [esp + 0x1bc], edx
mov edi, dword [esp + 0x70]
add edi, eax
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0xc0]
adc eax, edx
mov dword [esp + 0xc0], eax
xor ecx, eax
mov eax, esi
xor eax, edi
mov edx, ecx
shld edx, eax, 1
mov dword [esp + 0x128], edx
shld eax, ecx, 1
mov dword [esp + 0x30], eax
mov ebp, dword [esp + 0x34]
mov edi, ebp
add edi, dword [esp + 0x254]
mov ebx, dword [esp + 0x2c]
adc ebx, dword [esp + 0x264]
add edi, dword [esp + 0x38]
adc ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0x104]
xor eax, ebx
mov esi, dword [esp + 0xf4]
xor esi, edi
mov ecx, dword [esp + 4]
add ecx, eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1c]
adc edx, esi
mov dword [esp + 0x1c], edx
xor ebp, ecx
mov ecx, dword [esp + 0x2c]
xor ecx, edx
mov edx, ebp
shld edx, ecx, 8
shld ecx, ebp, 8
add edi, dword [esp + 0x2f8]
adc ebx, dword [esp + 0x2e8]
add edi, ecx
mov dword [esp + 0x38], edi
mov ebp, ecx
adc ebx, edx
mov dword [esp + 0x68], ebx
xor esi, ebx
xor eax, edi
mov ebx, eax
shrd eax, esi, 0x10
shld ebx, esi, 0x10
mov ecx, dword [esp + 4]
add ecx, eax
mov dword [esp + 4], ecx
mov edi, eax
mov eax, dword [esp + 0x1c]
adc eax, ebx
mov dword [esp + 0x1c], eax
xor edx, eax
xor ebp, ecx
mov eax, edx
shld eax, ebp, 1
mov dword [esp + 0x224], eax
shld ebp, edx, 1
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x204]
mov eax, ebp
add eax, dword [esp + 0x2b8]
mov esi, dword [esp + 0x234]
mov edx, esi
adc edx, dword [esp + 0x2a8]
add eax, dword [esp + 0x138]
adc edx, dword [esp + 0x148]
mov ecx, ebx
xor ecx, edx
mov dword [esp + 0x34], ecx
xor edi, eax
mov ebx, eax
mov eax, dword [esp + 0x70]
add eax, ecx
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xc0]
adc ecx, edi
mov dword [esp + 0xc0], ecx
xor ebp, eax
mov eax, esi
xor eax, ecx
mov esi, ebp
shld esi, eax, 8
shld eax, ebp, 8
add ebx, dword [esp + 0x358]
adc edx, dword [esp + 0x2c8]
add ebx, eax
mov dword [esp + 0x174], ebx
mov ebp, eax
adc edx, esi
mov dword [esp + 0x90], edx
xor edi, edx
mov ecx, dword [esp + 0x34]
xor ecx, ebx
mov eax, ecx
shrd ecx, edi, 0x10
mov dword [esp + 0x34], ecx
shld eax, edi, 0x10
mov edi, eax
mov dword [esp + 0x104], eax
mov edx, dword [esp + 0x70]
add edx, ecx
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0xc0]
adc eax, edi
mov dword [esp + 0xc0], eax
xor esi, eax
mov eax, ebp
xor eax, edx
mov ecx, esi
shld ecx, eax, 1
mov dword [esp + 0x204], ecx
shld eax, esi, 1
mov dword [esp + 0x234], eax
mov ebx, dword [esp + 0xd0]
mov edx, dword [esp + 0x30]
add ebx, edx
mov ebp, dword [esp + 0x1ac]
adc ebp, dword [esp + 0x128]
add ebx, dword [esp + 0x194]
adc ebp, dword [esp + 0x198]
mov ecx, dword [esp + 0x1dc]
xor ecx, ebp
mov dword [esp + 0x1dc], ecx
mov esi, dword [esp]
xor esi, ebx
mov eax, dword [esp + 4]
add eax, ecx
mov dword [esp + 4], eax
mov edi, dword [esp + 0x1c]
adc edi, esi
mov dword [esp + 0x1c], edi
mov ecx, esi
xor edx, eax
mov eax, dword [esp + 0x128]
xor eax, edi
mov esi, edx
shld esi, eax, 8
shld eax, edx, 8
mov dword [esp + 0x128], eax
add ebx, dword [esp + 0x38c]
adc ebp, dword [esp + 0x3ac]
add ebx, eax
mov dword [esp + 0xd0], ebx
adc ebp, esi
mov dword [esp + 0x1ac], ebp
xor ecx, ebp
mov edx, dword [esp + 0x1dc]
xor edx, ebx
mov edi, edx
shrd edx, ecx, 0x10
mov dword [esp + 0x1dc], edx
shld edi, ecx, 0x10
mov dword [esp], edi
mov eax, dword [esp + 4]
add eax, edx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1c]
adc ecx, edi
mov dword [esp + 0x1c], ecx
xor esi, ecx
mov ecx, dword [esp + 0x128]
xor ecx, eax
mov eax, esi
shld eax, ecx, 1
mov dword [esp + 0x244], eax
shld ecx, esi, 1
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x108]
add edx, dword [esp + 0x348]
mov eax, dword [esp + 0xa0]
adc eax, dword [esp + 0x298]
mov esi, dword [esp + 0x2c]
add edx, esi
mov dword [esp + 0x108], edx
mov ebx, dword [esp + 0x224]
adc eax, ebx
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x184]
xor ecx, eax
mov dword [esp + 0x184], ecx
mov edi, dword [esp + 0x118]
xor edi, edx
mov eax, dword [esp + 0x48]
add eax, ecx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x80]
adc edx, edi
mov dword [esp + 0x80], edx
xor esi, eax
mov ecx, ebx
xor ecx, edx
mov eax, esi
shld eax, ecx, 8
shld ecx, esi, 8
mov ebp, dword [esp + 0x108]
add ebp, dword [esp + 0x274]
mov ebx, dword [esp + 0xa0]
adc ebx, dword [esp + 0x318]
add ebp, ecx
mov dword [esp + 0x108], ebp
adc ebx, eax
mov dword [esp + 0xa0], ebx
xor edi, ebx
mov edx, dword [esp + 0x184]
xor edx, ebp
mov esi, edx
shrd edx, edi, 0x10
mov dword [esp + 0x184], edx
shld esi, edi, 0x10
mov dword [esp + 0x138], esi
mov edi, dword [esp + 0x48]
add edi, edx
mov dword [esp + 0x48], edi
mov edx, dword [esp + 0x80]
adc edx, esi
mov dword [esp + 0x80], edx
xor eax, edx
xor ecx, edi
mov edx, eax
shld edx, ecx, 1
mov dword [esp + 0xf4], edx
shld ecx, eax, 1
mov dword [esp + 0x224], ecx
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x1fc]
add eax, ebx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x200]
adc ecx, edx
add eax, dword [esp + 0x1cc]
mov dword [esp + 0x38], eax
adc ecx, dword [esp + 0x158]
mov edi, dword [esp + 0x1bc]
xor edi, ecx
mov dword [esp + 0x1bc], edi
mov esi, dword [esp + 0xe4]
xor esi, eax
mov eax, dword [esp + 0x58]
add eax, edi
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0xb0]
adc edi, esi
mov dword [esp + 0xb0], edi
xor ebx, eax
xor edx, edi
mov eax, ebx
shld eax, edx, 8
shld edx, ebx, 8
mov edi, dword [esp + 0x38]
add edi, dword [esp + 0x1a8]
adc ecx, dword [esp + 0x1a4]
add edi, edx
mov ebp, edi
mov dword [esp + 0x38], edi
mov ebx, edx
adc ecx, eax
mov dword [esp + 0x68], ecx
xor esi, ecx
mov edi, dword [esp + 0x1bc]
xor edi, ebp
mov ecx, edi
shrd edi, esi, 0x10
mov dword [esp + 0x1bc], edi
shld ecx, esi, 0x10
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0x58]
add edx, edi
mov dword [esp + 0x58], edx
mov esi, dword [esp + 0xb0]
adc esi, ecx
mov dword [esp + 0xb0], esi
xor eax, esi
xor ebx, edx
mov edi, eax
shld edi, ebx, 1
shld ebx, eax, 1
mov esi, dword [esp + 0x174]
add esi, dword [esp + 0x348]
mov edx, dword [esp + 0x90]
adc edx, dword [esp + 0x298]
add esi, ebx
adc edx, edi
mov dword [esp + 0x90], edx
mov ecx, dword [esp]
xor ecx, edx
mov ebp, dword [esp + 0x1dc]
xor ebp, esi
mov eax, dword [esp + 0x48]
add eax, ecx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x80]
adc edx, ebp
mov dword [esp + 0x80], edx
xor ebx, eax
xor edi, edx
mov eax, ebx
shld eax, edi, 8
shld edi, ebx, 8
add esi, dword [esp + 0x3bc]
mov ebx, dword [esp + 0x90]
adc ebx, dword [esp + 0x1ec]
add esi, edi
mov dword [esp + 0x174], esi
adc ebx, eax
mov dword [esp + 0x90], ebx
xor ebp, ebx
xor ecx, esi
mov edx, ecx
shrd ecx, ebp, 0x10
mov dword [esp], ecx
shld edx, ebp, 0x10
mov dword [esp + 0x214], edx
mov esi, dword [esp + 0x48]
add esi, ecx
mov dword [esp + 0x48], esi
mov ebx, dword [esp + 0x80]
adc ebx, edx
mov dword [esp + 0x80], ebx
xor eax, ebx
xor edi, esi
mov ecx, eax
shld ecx, edi, 1
mov dword [esp + 0x200], ecx
shld edi, eax, 1
mov dword [esp + 0x1fc], edi
mov ebx, dword [esp + 0x234]
mov ecx, ebx
add ecx, dword [esp + 0x358]
mov esi, dword [esp + 0x204]
mov edx, esi
adc edx, dword [esp + 0x2c8]
add ecx, dword [esp + 0xd0]
adc edx, dword [esp + 0x1ac]
mov edi, dword [esp + 0x138]
xor edi, edx
mov dword [esp + 0x138], edi
xor dword [esp + 0x184], ecx
mov eax, dword [esp + 0x58]
add eax, edi
mov dword [esp + 0x58], eax
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x184]
adc ebp, edi
mov dword [esp + 0xb0], ebp
xor ebx, eax
xor esi, ebp
mov eax, esi
mov esi, ebx
shld esi, eax, 8
shld eax, ebx, 8
add ecx, dword [esp + 0x194]
adc edx, dword [esp + 0x198]
add ecx, eax
mov dword [esp + 0x30], ecx
mov ebx, eax
adc edx, esi
mov dword [esp + 0x1ac], edx
xor edi, edx
mov eax, dword [esp + 0x138]
xor eax, ecx
mov ecx, eax
shrd eax, edi, 0x10
mov dword [esp + 0x138], eax
shld ecx, edi, 0x10
mov dword [esp + 0x118], ecx
mov edi, dword [esp + 0x58]
add edi, eax
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0xb0]
adc eax, ecx
mov dword [esp + 0xb0], eax
xor esi, eax
mov eax, ebx
xor eax, edi
mov ecx, esi
shld ecx, eax, 1
mov dword [esp + 0x148], ecx
shld eax, esi, 1
mov dword [esp + 0x204], eax
mov edx, dword [esp + 0x108]
mov edi, dword [esp + 0x128]
add edx, edi
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x244]
adc ecx, ebp
add edx, dword [esp + 0x1cc]
adc ecx, dword [esp + 0x158]
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0xe4]
xor eax, ecx
mov dword [esp + 0xe4], eax
mov ebx, dword [esp + 0x1bc]
xor ebx, edx
mov ecx, dword [esp + 0x70]
add ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0xc0]
adc eax, ebx
mov dword [esp + 0xc0], eax
xor edi, ecx
mov ecx, ebp
xor ecx, eax
mov esi, edi
shld esi, ecx, 8
shld ecx, edi, 8
add edx, dword [esp + 0x38c]
mov ebp, dword [esp + 0xa0]
adc ebp, dword [esp + 0x3ac]
add edx, ecx
mov dword [esp + 0x108], edx
adc ebp, esi
mov dword [esp + 0xa0], ebp
xor ebx, ebp
mov eax, dword [esp + 0xe4]
xor eax, edx
mov edi, eax
shrd eax, ebx, 0x10
mov dword [esp + 0xe4], eax
shld edi, ebx, 0x10
mov dword [esp + 0x128], edi
mov edx, dword [esp + 0x70]
add edx, eax
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0xc0]
adc eax, edi
mov dword [esp + 0xc0], eax
xor esi, eax
mov eax, ecx
xor eax, edx
mov ecx, esi
shld ecx, eax, 1
mov dword [esp + 0x14], ecx
shld eax, esi, 1
mov dword [esp + 0x244], eax
mov edx, dword [esp + 0x224]
mov eax, edx
add eax, dword [esp + 0x2d8]
mov ebp, dword [esp + 0xf4]
mov ecx, ebp
adc ecx, dword [esp + 0x328]
add eax, dword [esp + 0x38]
mov dword [esp + 0xd4], eax
adc ecx, dword [esp + 0x68]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x104]
xor ebx, ecx
mov edi, dword [esp + 0x34]
xor edi, eax
mov ecx, dword [esp + 4]
add ecx, ebx
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x1c]
adc esi, edi
mov dword [esp + 0x1c], esi
xor edx, ecx
xor ebp, esi
mov ecx, edx
shld ecx, ebp, 8
shld ebp, edx, 8
mov dword [esp + 0xf4], ebp
mov edx, dword [esp + 0xd4]
add edx, ebp
mov eax, dword [esp + 0x38]
adc eax, ecx
add edx, dword [esp + 0x254]
mov dword [esp + 0xd4], edx
adc eax, dword [esp + 0x264]
mov dword [esp + 0x38], eax
xor edi, eax
mov ebp, ebx
xor ebp, edx
mov eax, ebp
shrd ebp, edi, 0x10
shld eax, edi, 0x10
mov edi, dword [esp + 4]
add edi, ebp
mov dword [esp + 4], edi
mov edx, dword [esp + 0x1c]
adc edx, eax
mov dword [esp + 0x1c], edx
xor ecx, edx
mov edx, dword [esp + 0xf4]
xor edx, edi
mov esi, ecx
shld esi, edx, 1
mov dword [esp + 0x1dc], esi
shld edx, ecx, 1
mov dword [esp + 0xf4], edx
mov esi, dword [esp + 0x174]
mov edi, dword [esp + 0x204]
add esi, edi
mov ecx, dword [esp + 0x90]
adc ecx, dword [esp + 0x148]
add esi, dword [esp + 0x170]
adc ecx, dword [esp + 0x39c]
mov dword [esp + 0x90], ecx
xor eax, ecx
mov dword [esp + 0x2c], eax
xor ebp, esi
mov ecx, dword [esp + 0x70]
add ecx, eax
mov edx, dword [esp + 0xc0]
adc edx, ebp
mov dword [esp + 0xc0], edx
xor edi, ecx
mov ebx, ecx
mov eax, dword [esp + 0x148]
xor eax, edx
mov ecx, edi
shld ecx, eax, 8
shld eax, edi, 8
mov dword [esp + 0x148], eax
add esi, dword [esp + 0x19c]
mov edx, dword [esp + 0x90]
adc edx, dword [esp + 0x168]
add esi, eax
mov dword [esp + 0x174], esi
adc edx, ecx
mov dword [esp + 0x90], edx
xor ebp, edx
mov edi, dword [esp + 0x2c]
xor edi, esi
mov eax, edi
shrd edi, ebp, 0x10
mov dword [esp + 0x2c], edi
shld eax, ebp, 0x10
mov dword [esp + 0x34], eax
add ebx, edi
mov dword [esp + 0x70], ebx
mov edx, dword [esp + 0xc0]
adc edx, eax
mov dword [esp + 0xc0], edx
xor ecx, edx
mov eax, dword [esp + 0x148]
xor eax, ebx
mov edx, ecx
shld edx, eax, 1
mov dword [esp + 0x224], edx
shld eax, ecx, 1
mov dword [esp + 0x148], eax
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1ac]
adc eax, dword [esp + 0x1a4]
mov ebp, dword [esp + 0x244]
add edx, ebp
adc eax, dword [esp + 0x14]
mov dword [esp + 0x1ac], eax
mov edi, dword [esp + 0x214]
xor edi, eax
mov esi, dword [esp]
xor esi, edx
mov eax, dword [esp + 4]
add eax, edi
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1c]
adc ecx, esi
xor ebp, eax
mov eax, dword [esp + 0x14]
xor eax, ecx
mov ebx, ecx
mov ecx, ebp
shld ecx, eax, 8
shld eax, ebp, 8
add edx, eax
mov ebp, eax
mov eax, dword [esp + 0x1ac]
adc eax, ecx
add edx, dword [esp + 0x2f8]
mov dword [esp + 0x30], edx
adc eax, dword [esp + 0x2e8]
mov dword [esp + 0x1ac], eax
xor esi, eax
xor edi, edx
mov edx, edi
shrd edi, esi, 0x10
mov dword [esp + 0x214], edi
shld edx, esi, 0x10
mov dword [esp + 0x244], edx
mov esi, dword [esp + 4]
add esi, edi
mov dword [esp + 4], esi
mov eax, ebx
adc eax, edx
mov dword [esp + 0x1c], eax
xor ecx, eax
mov eax, ebp
xor eax, esi
mov edx, ecx
shld edx, eax, 1
mov dword [esp + 0x234], edx
shld eax, ecx, 1
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x108]
add esi, dword [esp + 0xf4]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x1dc]
adc ecx, ebp
add esi, dword [esp + 0x274]
adc ecx, dword [esp + 0x318]
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x118]
xor eax, ecx
mov dword [esp + 0x118], eax
mov edx, dword [esp + 0x138]
xor edx, esi
mov ebx, esi
mov edi, dword [esp + 0x48]
add edi, eax
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0x80]
adc esi, edx
mov ecx, dword [esp + 0xf4]
xor ecx, edi
xor ebp, esi
mov eax, ecx
shld eax, ebp, 8
shld ebp, ecx, 8
mov dword [esp + 0x1dc], ebp
add ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xa0]
adc edi, dword [esp + 0x2a8]
add ebx, ebp
mov dword [esp + 0x108], ebx
adc edi, eax
mov ebp, eax
mov dword [esp + 0xa0], edi
xor edx, edi
mov eax, dword [esp + 0x118]
xor eax, ebx
mov ecx, eax
shrd eax, edx, 0x10
mov dword [esp + 0x118], eax
shld ecx, edx, 0x10
mov dword [esp + 0x184], ecx
mov edx, dword [esp + 0x48]
add edx, eax
mov dword [esp + 0x48], edx
adc esi, ecx
mov dword [esp + 0x80], esi
xor ebp, esi
mov eax, dword [esp + 0x1dc]
xor eax, edx
mov edx, ebp
shld edx, eax, 1
mov dword [esp + 0x204], edx
shld eax, ebp, 1
mov dword [esp + 0x1dc], eax
mov ebp, dword [esp + 0xd4]
mov eax, dword [esp + 0x1fc]
add ebp, eax
mov ecx, dword [esp + 0x200]
mov ebx, dword [esp + 0x38]
adc ebx, ecx
add ebp, dword [esp + 0x16c]
adc ebx, dword [esp + 0x308]
mov esi, dword [esp + 0x128]
xor esi, ebx
mov dword [esp + 0x128], esi
mov edi, dword [esp + 0xe4]
xor edi, ebp
mov edx, dword [esp + 0x58]
add edx, esi
mov dword [esp + 0x58], edx
mov esi, dword [esp + 0xb0]
adc esi, edi
xor eax, edx
mov edx, ecx
xor edx, esi
mov ecx, eax
shld ecx, edx, 8
shld edx, eax, 8
mov eax, ebp
add eax, dword [esp + 0x338]
mov ebp, ebx
adc ebp, dword [esp + 0x1a0]
add eax, edx
mov ebx, eax
mov dword [esp + 0xd4], eax
adc ebp, ecx
mov dword [esp + 0x38], ebp
mov eax, edi
xor eax, ebp
mov ebp, dword [esp + 0x128]
xor ebp, ebx
mov edi, ebp
shrd ebp, eax, 0x10
mov dword [esp + 0x128], ebp
shld edi, eax, 0x10
mov dword [esp + 0xe4], edi
mov ebx, dword [esp + 0x58]
add ebx, ebp
mov dword [esp + 0x58], ebx
adc esi, edi
mov dword [esp + 0xb0], esi
xor ecx, esi
mov edi, edx
xor edi, ebx
mov edx, ecx
shld edx, edi, 1
shld edi, ecx, 1
mov ebp, dword [esp + 0x174]
add ebp, dword [esp + 0x274]
mov eax, dword [esp + 0x90]
adc eax, dword [esp + 0x318]
add ebp, edi
adc eax, edx
mov dword [esp + 0x90], eax
mov ebx, dword [esp + 0x244]
xor ebx, eax
mov esi, dword [esp + 0x214]
xor esi, ebp
mov ecx, dword [esp + 0x48]
add ecx, ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x80]
adc eax, esi
xor edi, ecx
xor edx, eax
mov ecx, edi
shld ecx, edx, 8
shld edx, edi, 8
mov edi, ebp
add edi, dword [esp + 0x16c]
mov ebp, dword [esp + 0x90]
adc ebp, dword [esp + 0x308]
add edi, edx
mov dword [esp + 0x174], edi
adc ebp, ecx
mov dword [esp + 0x90], ebp
xor esi, ebp
xor ebx, edi
mov edi, ebx
shrd ebx, esi, 0x10
mov dword [esp + 0x244], ebx
shld edi, esi, 0x10
mov dword [esp], edi
mov esi, dword [esp + 0x48]
add esi, ebx
mov dword [esp + 0x48], esi
adc eax, edi
mov dword [esp + 0x80], eax
xor ecx, eax
xor edx, esi
mov eax, ecx
shld eax, edx, 1
mov dword [esp + 0xd0], eax
shld edx, ecx, 1
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0x148]
mov ecx, edx
add ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x224]
mov esi, eax
adc esi, dword [esp + 0x1a4]
add ecx, dword [esp + 0x30]
adc esi, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x184]
xor ebx, esi
mov dword [esp + 0x184], ebx
mov ebp, esi
mov esi, dword [esp + 0x118]
xor esi, ecx
mov edi, ecx
mov ecx, dword [esp + 0x58]
add ecx, ebx
mov dword [esp + 0x58], ecx
mov ebx, dword [esp + 0xb0]
adc ebx, esi
xor edx, ecx
xor eax, ebx
mov ecx, edx
shld ecx, eax, 8
shld eax, edx, 8
add edi, dword [esp + 0x2b8]
adc ebp, dword [esp + 0x2a8]
add edi, eax
mov dword [esp + 0x30], edi
adc ebp, ecx
mov dword [esp + 0x118], ebp
xor esi, ebp
mov edx, dword [esp + 0x184]
xor edx, edi
mov edi, edx
shrd edx, esi, 0x10
mov dword [esp + 0x184], edx
shld edi, esi, 0x10
mov dword [esp + 0xf4], edi
mov esi, dword [esp + 0x58]
add esi, edx
mov dword [esp + 0x58], esi
adc ebx, edi
mov dword [esp + 0xb0], ebx
xor ecx, ebx
xor eax, esi
mov edx, ecx
shld edx, eax, 1
mov dword [esp + 0x214], edx
shld eax, ecx, 1
mov dword [esp + 0x224], eax
mov ebp, dword [esp + 0x14]
mov ecx, ebp
add ecx, dword [esp + 0x254]
mov edi, dword [esp + 0x234]
mov edx, edi
adc edx, dword [esp + 0x264]
add ecx, dword [esp + 0x108]
adc edx, dword [esp + 0xa0]
mov dword [esp + 0x1bc], edx
mov eax, dword [esp + 0xe4]
xor eax, edx
mov dword [esp + 0xe4], eax
mov ebx, dword [esp + 0x128]
xor ebx, ecx
mov esi, dword [esp + 0x70]
add esi, eax
mov dword [esp + 0x70], esi
mov edx, dword [esp + 0xc0]
adc edx, ebx
xor ebp, esi
xor edi, edx
mov esi, edx
mov edx, ebp
shld edx, edi, 8
shld edi, ebp, 8
mov eax, ecx
add eax, edi
mov ecx, dword [esp + 0x1bc]
adc ecx, edx
add eax, dword [esp + 0x358]
mov dword [esp + 0x14], eax
adc ecx, dword [esp + 0x2c8]
mov dword [esp + 0x1bc], ecx
xor ebx, ecx
mov ecx, dword [esp + 0xe4]
xor ecx, eax
mov eax, ecx
shrd ecx, ebx, 0x10
mov dword [esp + 0xe4], ecx
shld eax, ebx, 0x10
mov dword [esp + 0x108], eax
mov ebx, dword [esp + 0x70]
add ebx, ecx
mov dword [esp + 0x70], ebx
adc esi, eax
mov dword [esp + 0xc0], esi
xor edx, esi
xor edi, ebx
mov eax, edx
shld eax, edi, 1
mov dword [esp + 0x68], eax
shld edi, edx, 1
mov dword [esp + 0x234], edi
mov ebx, dword [esp + 0x1dc]
mov edx, dword [esp + 0xd4]
add edx, ebx
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x204]
adc eax, edi
add edx, dword [esp + 0x348]
mov dword [esp + 0xd4], edx
adc eax, dword [esp + 0x298]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x34]
xor ecx, eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x2c]
xor eax, edx
mov edx, dword [esp + 4]
add edx, ecx
mov esi, dword [esp + 0x1c]
adc esi, eax
mov ecx, eax
xor ebx, edx
mov ebp, edx
xor edi, esi
mov edx, ebx
shld edx, edi, 8
shld edi, ebx, 8
mov eax, dword [esp + 0xd4]
add eax, dword [esp + 0x19c]
mov ebx, dword [esp + 0x38]
adc ebx, dword [esp + 0x168]
add eax, edi
mov dword [esp + 0xd4], eax
adc ebx, edx
mov dword [esp + 0x38], ebx
xor ecx, ebx
mov ebx, dword [esp + 0x34]
xor ebx, eax
mov eax, ebx
shrd ebx, ecx, 0x10
shld eax, ecx, 0x10
add ebp, ebx
mov dword [esp + 4], ebp
mov ecx, ebx
adc esi, eax
mov dword [esp + 0x1c], esi
xor edx, esi
xor edi, ebp
mov esi, edx
shld esi, edi, 1
mov dword [esp + 0xa0], esi
shld edi, edx, 1
mov dword [esp + 0x204], edi
mov ebx, dword [esp + 0x174]
mov esi, dword [esp + 0x224]
add ebx, esi
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x214]
adc edx, ebp
add ebx, dword [esp + 0x38c]
adc edx, dword [esp + 0x3ac]
mov dword [esp + 0x90], edx
xor eax, edx
mov dword [esp + 0x1ac], eax
xor ecx, ebx
mov edi, ebx
mov edx, dword [esp + 0x70]
add edx, eax
mov eax, dword [esp + 0xc0]
adc eax, ecx
mov dword [esp + 0xc0], eax
mov ebx, esi
xor ebx, edx
mov esi, edx
xor ebp, eax
mov edx, ebx
shld edx, ebp, 8
shld ebp, ebx, 8
add edi, dword [esp + 0x2f8]
mov ebx, dword [esp + 0x90]
adc ebx, dword [esp + 0x2e8]
add edi, ebp
mov dword [esp + 0x174], edi
adc ebx, edx
mov dword [esp + 0x90], ebx
xor ecx, ebx
mov eax, dword [esp + 0x1ac]
xor eax, edi
mov ebx, eax
shrd eax, ecx, 0x10
mov dword [esp + 0x1ac], eax
shld ebx, ecx, 0x10
mov dword [esp + 0x128], ebx
add esi, eax
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0xc0]
adc eax, ebx
mov dword [esp + 0xc0], eax
xor edx, eax
xor ebp, esi
mov eax, edx
shld eax, ebp, 1
mov dword [esp + 0x2f8], eax
shld ebp, edx, 1
mov dword [esp + 0x214], ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x234]
add ebp, edi
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x68]
adc eax, edx
add ebp, dword [esp + 0x1cc]
adc eax, dword [esp + 0x158]
mov dword [esp + 0x118], eax
mov esi, dword [esp]
xor esi, eax
mov dword [esp], esi
mov ebx, dword [esp + 0x244]
xor ebx, ebp
mov eax, dword [esp + 4]
add eax, esi
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1c]
adc ecx, ebx
xor edi, eax
mov esi, edx
xor esi, ecx
mov edx, edi
shld edx, esi, 8
shld esi, edi, 8
add ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x118]
adc edi, dword [esp + 0x39c]
add ebp, esi
mov dword [esp + 0x30], ebp
adc edi, edx
mov dword [esp + 0x118], edi
xor ebx, edi
mov eax, dword [esp]
xor eax, ebp
mov edi, eax
shrd eax, ebx, 0x10
mov dword [esp], eax
shld edi, ebx, 0x10
mov dword [esp + 0x138], edi
mov ebp, dword [esp + 4]
add ebp, eax
mov dword [esp + 4], ebp
adc ecx, edi
mov dword [esp + 0x1c], ecx
xor edx, ecx
xor esi, ebp
mov ecx, edx
shld ecx, esi, 1
mov dword [esp + 0x148], ecx
shld esi, edx, 1
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0x14]
add ebp, dword [esp + 0x338]
mov eax, dword [esp + 0x1bc]
adc eax, dword [esp + 0x1a0]
mov esi, dword [esp + 0x204]
add ebp, esi
adc eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xf4]
xor ecx, eax
mov ebx, eax
mov edi, dword [esp + 0x184]
xor edi, ebp
mov eax, dword [esp + 0x48]
add eax, ecx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x80]
adc edx, edi
mov dword [esp + 0x80], edx
xor esi, eax
mov eax, esi
mov esi, dword [esp + 0xa0]
xor esi, edx
mov edx, eax
shld edx, esi, 8
shld esi, eax, 8
add ebp, esi
adc ebx, edx
mov eax, dword [esp + 0x194]
add ebp, eax
mov dword [esp + 0x14], ebp
adc ebx, dword [esp + 0x198]
mov dword [esp + 0x1bc], ebx
xor edi, ebx
mov eax, ecx
xor eax, ebp
mov ecx, eax
shrd eax, edi, 0x10
mov dword [esp + 0xf4], eax
shld ecx, edi, 0x10
mov dword [esp + 0x2e8], ecx
mov edi, dword [esp + 0x48]
add edi, eax
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x80]
adc eax, ecx
mov dword [esp + 0x80], eax
xor edx, eax
xor esi, edi
mov eax, edx
shld eax, esi, 1
mov dword [esp + 0x184], eax
shld esi, edx, 1
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x104]
add esi, edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0xd0]
adc edx, ecx
add esi, dword [esp + 0x2d8]
mov dword [esp + 0xd4], esi
adc edx, dword [esp + 0x328]
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x108]
xor eax, edx
mov ebx, dword [esp + 0xe4]
xor ebx, esi
mov ebp, dword [esp + 0x58]
add ebp, eax
mov dword [esp + 0x58], ebp
mov edx, dword [esp + 0xb0]
adc edx, ebx
mov dword [esp + 0xb0], edx
xor edi, ebp
xor ecx, edx
mov edx, edi
shld edx, ecx, 8
shld ecx, edi, 8
mov edi, dword [esp + 0xd4]
add edi, dword [esp + 0x3bc]
mov ebp, dword [esp + 0x38]
adc ebp, dword [esp + 0x1ec]
add edi, ecx
mov dword [esp + 0xd4], edi
adc ebp, edx
mov dword [esp + 0x38], ebp
mov esi, ebx
xor esi, ebp
xor eax, edi
mov ebx, eax
shrd eax, esi, 0x10
mov dword [esp + 0x108], eax
shld ebx, esi, 0x10
mov dword [esp + 0xe4], ebx
mov esi, dword [esp + 0x58]
add esi, eax
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0xb0]
adc eax, ebx
mov dword [esp + 0xb0], eax
xor edx, eax
xor ecx, esi
mov esi, edx
shld esi, ecx, 1
shld ecx, edx, 1
mov ebp, dword [esp + 0x174]
add ebp, dword [esp + 0x16c]
mov eax, dword [esp + 0x90]
adc eax, dword [esp + 0x308]
add ebp, ecx
adc eax, esi
mov dword [esp + 0x90], eax
mov edi, dword [esp + 0x138]
xor edi, eax
mov dword [esp + 0x138], edi
mov eax, dword [esp]
xor eax, ebp
mov edx, dword [esp + 0x48]
add edx, edi
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x80]
adc ebx, eax
mov dword [esp + 0x80], ebx
mov edi, eax
xor ecx, edx
xor esi, ebx
mov edx, ecx
shld edx, esi, 8
shld esi, ecx, 8
add ebp, dword [esp + 0x194]
mov ecx, dword [esp + 0x90]
adc ecx, dword [esp + 0x198]
add ebp, esi
mov dword [esp + 0x174], ebp
mov eax, esi
adc ecx, edx
mov dword [esp + 0x90], ecx
xor edi, ecx
mov ecx, dword [esp + 0x138]
xor ecx, ebp
mov esi, ecx
shrd ecx, edi, 0x10
mov dword [esp + 0x138], ecx
shld esi, edi, 0x10
mov dword [esp + 0xd0], esi
mov ebx, dword [esp + 0x48]
add ebx, ecx
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x80]
adc ecx, esi
mov dword [esp + 0x80], ecx
xor edx, ecx
xor eax, ebx
mov ecx, edx
shld ecx, eax, 1
mov dword [esp + 0x34], ecx
shld eax, edx, 1
mov dword [esp], eax
mov edx, dword [esp + 0x1cc]
mov ebp, dword [esp + 0x214]
add edx, ebp
mov esi, dword [esp + 0x158]
mov ecx, dword [esp + 0x2f8]
adc esi, ecx
add edx, dword [esp + 0x30]
mov dword [esp + 0x1cc], edx
adc esi, dword [esp + 0x118]
mov dword [esp + 0x158], esi
mov ebx, dword [esp + 0x2e8]
xor ebx, esi
mov esi, dword [esp + 0xf4]
xor esi, edx
mov dword [esp + 0xf4], esi
mov edx, dword [esp + 0x58]
add edx, ebx
mov dword [esp + 0x58], edx
mov edi, dword [esp + 0xb0]
adc edi, esi
mov dword [esp + 0xb0], edi
xor ebp, edx
mov eax, ecx
xor eax, edi
mov ecx, ebp
shld ecx, eax, 8
mov edx, ecx
mov dword [esp + 0x118], ecx
shld eax, ebp, 8
mov esi, eax
mov dword [esp + 0x2f8], eax
mov ecx, dword [esp + 0x1cc]
add ecx, dword [esp + 0x274]
mov eax, dword [esp + 0x158]
adc eax, dword [esp + 0x318]
add ecx, esi
mov dword [esp + 0x1cc], ecx
adc eax, edx
mov dword [esp + 0x158], eax
xor dword [esp + 0xf4], eax
xor ebx, ecx
mov dword [esp + 0x2e8], ebx
mov edx, dword [esp + 0x68]
mov eax, edx
add eax, dword [esp + 0x38c]
mov esi, dword [esp + 0x148]
mov ecx, esi
adc ecx, dword [esp + 0x3ac]
add eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
adc ecx, dword [esp + 0x1bc]
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0xe4]
xor edi, ecx
mov dword [esp + 0xe4], edi
mov ebp, dword [esp + 0x108]
xor ebp, eax
mov eax, dword [esp + 0x70]
add eax, edi
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xc0]
adc ecx, ebp
mov dword [esp + 0xc0], ecx
xor edx, eax
mov eax, esi
xor eax, ecx
mov ecx, edx
shld ecx, eax, 8
mov dword [esp + 0x214], ecx
shld eax, edx, 8
mov dword [esp + 0x148], eax
mov ebx, dword [esp + 0x338]
mov esi, dword [esp + 0x2c]
add esi, ebx
mov edi, dword [esp + 0x1a0]
mov edx, dword [esp + 0x14]
adc edx, edi
add esi, eax
mov dword [esp + 0x2c], esi
adc edx, ecx
mov dword [esp + 0x14], edx
xor ebp, edx
mov dword [esp + 0x108], ebp
xor dword [esp + 0xe4], esi
mov ebp, dword [esp + 0xd4]
add ebp, dword [esp + 0xa0]
movss xmm0, dword [esp + 0x348]
mov eax, dword [esp + 0x38]
adc eax, dword [esp + 0x184]
add ebp, dword [esp + 0x170]
movss xmm1, dword [esp + 0x298]
movups xmmword [esp + 0x1dc], xmm1
adc eax, dword [esp + 0x39c]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x128]
xor ecx, eax
mov dword [esp + 0x128], ecx
mov esi, dword [esp + 0x1ac]
xor esi, ebp
mov edx, dword [esp + 4]
add edx, ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x1c]
adc ecx, esi
movlhps xmm1, xmm0
movups xmmword [esp + 0x1ac], xmm1
movd xmm0, ebx
movd xmm1, edi
movdqa xmm2, xmm1
movdqa xmm3, xmm1
punpcklqdq xmm2, xmm0
movdqu xmmword [esp + 0x244], xmm2
movss xmm0, dword [esp + 0x3bc]
movss xmm1, dword [esp + 0x1ec]
movups xmmword [esp + 0x1bc], xmm1
movlhps xmm1, xmm0
movups xmmword [esp + 0x204], xmm1
mov edi, dword [esp + 0xa0]
xor edi, edx
mov edx, dword [esp + 0x184]
xor edx, ecx
mov eax, ecx
mov ecx, edi
shld ecx, edx, 8
shld edx, edi, 8
mov dword [esp + 0x184], edx
add ebp, dword [esp + 0x2d8]
mov edi, dword [esp + 0x38]
adc edi, dword [esp + 0x328]
add ebp, edx
adc edi, ecx
mov dword [esp + 0x38], edi
mov ebx, ecx
movd xmm4, dword [esp + 0x2e8]
movd xmm0, dword [esp + 0xf4]
punpckldq xmm4, xmm0
mov edx, esi
xor edx, edi
mov esi, dword [esp + 0x128]
xor esi, ebp
mov edi, esi
shld edi, edx, 0x10
mov dword [esp + 0xa0], edi
movd xmm1, dword [esp + 0xe4]
movd xmm0, dword [esp + 0x108]
punpckldq xmm1, xmm0
shrd esi, edx, 0x10
mov dword [esp + 0x128], esi
mov ecx, dword [esp + 4]
add ecx, esi
mov dword [esp + 4], ecx
adc eax, edi
mov dword [esp + 0x1c], eax
xor dword [esp + 0x184], ecx
xor ebx, eax
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x348]
add dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x298]
adc dword [esp + 0x158], eax
pshuflw xmm0, xmm4, 0xe3
movd edx, xmm0
add ebp, dword [esp]
mov ecx, dword [esp + 0x38]
adc ecx, dword [esp + 0x34]
add ebp, dword [esp + 0x1a8]
mov dword [esp + 0xd4], ebp
adc ecx, dword [esp + 0x1a4]
mov dword [esp + 0x38], ecx
pshuflw xmm0, xmm1, 0xe3
movd ebx, xmm0
mov eax, dword [esp + 0x254]
movd xmm0, eax
movdqu xmmword [esp + 0x224], xmm0
movd xmm2, eax
add eax, ebp
mov dword [esp + 0x254], eax
punpcklqdq xmm4, xmm1
mov eax, dword [esp + 0x264]
movd xmm5, eax
movdqu xmmword [esp + 0xf4], xmm5
adc eax, ecx
mov dword [esp + 0x264], eax
movdqa xmm0, xmm4
psrlq xmm0, 0x10
movd eax, xmm0
add eax, dword [esp + 0x58]
mov dword [esp + 0x68], eax
adc edx, dword [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0x2f8]
xor ecx, eax
mov eax, dword [esp + 0x118]
xor eax, edx
pshuflw xmm1, xmm1, 0xe9
mov edx, eax
shld edx, ecx, 1
movd edi, xmm1
shrd eax, ecx, 0x1f
mov dword [esp + 0x118], eax
add edi, dword [esp + 0x70]
adc ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0x148]
xor eax, edi
mov ecx, dword [esp + 0x214]
xor ecx, ebx
mov esi, eax
shld esi, ecx, 1
mov dword [esp + 0x58], esi
movdqa xmm1, xmm5
punpcklqdq xmm1, xmm2
movdqu xmmword [esp + 0x2e8], xmm1
movss xmm1, dword [esp + 0x358]
movss xmm2, dword [esp + 0x2c8]
movups xmmword [esp + 0x298], xmm2
movlhps xmm2, xmm1
movups xmmword [esp + 0xc0], xmm2
shrd eax, ecx, 0x1f
mov dword [esp + 0x148], eax
movd xmm1, dword [esp + 0x338]
punpcklqdq xmm3, xmm1
movdqu xmmword [esp + 0xe4], xmm3
movss xmm3, dword [esp + 0x318]
movups xmmword [esp + 0x108], xmm3
movss xmm1, dword [esp + 0x274]
movlhps xmm3, xmm1
movups xmmword [esp + 0x2f8], xmm3
movss xmm3, dword [esp + 0x308]
movups xmmword [esp + 0x318], xmm3
movss xmm1, dword [esp + 0x16c]
movlhps xmm3, xmm1
movups xmmword [esp + 0x234], xmm3
mov eax, dword [esp + 0x19c]
movd xmm1, eax
mov esi, dword [esp + 0x168]
movd xmm3, esi
movdqu xmmword [esp + 0x308], xmm3
punpcklqdq xmm3, xmm1
movdqu xmmword [esp + 0x214], xmm3
mov ebp, dword [esp + 0x174]
add ebp, dword [esp + 0x118]
mov ecx, dword [esp + 0x90]
adc ecx, edx
add ebp, eax
adc ecx, esi
mov esi, dword [esp + 0xa0]
xor esi, ecx
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0x128]
xor eax, ebp
add edi, esi
mov dword [esp + 0x90], edi
adc ebx, eax
mov dword [esp + 0x70], ebx
xor edx, ebx
mov esi, dword [esp + 0x118]
xor esi, edi
movd xmm3, esi
movd xmm1, edx
movdqa xmm5, xmm3
punpckldq xmm5, xmm1
movd xmm1, dword [esp + 0x184]
movd xmm6, dword [esp + 0x30]
punpckldq xmm1, xmm6
movdqa xmm6, xmm5
punpcklqdq xmm6, xmm1
psrlq xmm5, 0x18
movdqa xmm1, xmm6
psrlq xmm1, 0x3f
movsd xmm1, xmm5
paddq xmm6, xmm6
psllq xmm3, 0x28
shufpd xmm3, xmm6, 2
orpd xmm3, xmm1
movd xmm1, dword [esp + 0x14]
movd xmm5, dword [esp + 0x2c]
punpckldq xmm5, xmm1
movd xmm6, dword [esp + 0x1cc]
movd xmm1, dword [esp + 0x158]
punpckldq xmm6, xmm1
punpcklqdq xmm6, xmm5
pshufd xmm1, xmm3, 0x55
movd edx, xmm1
movss xmm5, dword [esp + 0x58]
movss xmm1, dword [esp + 0x148]
movlhps xmm1, xmm5
shufps xmm1, xmm3, 0xe2
paddq xmm1, xmm6
pshufd xmm5, xmm1, 0x55
movd esi, xmm5
add ebp, dword [esp + 0x2b8]
adc ecx, dword [esp + 0x2a8]
movd ebx, xmm3
add ebx, ebp
mov dword [esp + 0x158], ebx
adc edx, ecx
mov dword [esp + 0x1cc], edx
movd ecx, xmm1
xor ecx, dword [esp + 0x138]
mov ebp, ecx
mov dword [esp + 0x174], ecx
xor esi, dword [esp + 0xd0]
xor eax, edx
mov edi, dword [esp + 0xa0]
xor edi, ebx
mov ecx, eax
shld eax, edi, 0x10
mov edx, eax
mov dword [esp + 0x168], eax
shld edi, ecx, 0x10
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 4]
add edi, esi
mov eax, dword [esp + 0x1c]
adc eax, ebp
mov dword [esp + 0x1c], eax
psllq xmm4, 0x30
por xmm4, xmm0
mov ecx, dword [esp + 0x148]
xor ecx, eax
mov ebx, dword [esp + 0x58]
xor ebx, edi
movaps xmm5, xmm2
movdqu xmmword [esp + 0x3dc], xmm7
shufps xmm5, xmm7, 0xe2
mov ebp, ecx
shld ebp, ebx, 8
paddq xmm5, xmm1
shld ebx, ecx, 8
movd xmm0, ebx
movd xmm2, ebp
punpckldq xmm2, xmm0
movss xmm0, dword [esp + 0xd4]
movss xmm6, dword [esp + 0x38]
movlhps xmm6, xmm0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x6c]
movq xmm0, qword [ecx + eax + 0x40]
movdqu xmmword [esp + 0x58], xmm0
punpcklqdq xmm2, xmm0
paddq xmm2, xmm5
shufps xmm5, xmm6, 0x2e
xorps xmm5, xmm4
pshufd xmm0, xmm2, 0x55
movd ecx, xmm0
movd xmm4, edx
movd xmm0, dword [esp + 0xa0]
punpcklqdq xmm0, xmm4
movd xmm4, dword [esp + 0x90]
movd xmm6, dword [esp + 0x70]
punpckldq xmm4, xmm6
movd xmm6, dword [esp + 0x48]
movd xmm7, dword [esp + 0x80]
punpckldq xmm6, xmm7
punpcklqdq xmm4, xmm6
shufps xmm0, xmm5, 0x12
paddq xmm4, xmm0
pshufd xmm0, xmm5, 0xaa
movd edx, xmm0
pxor xmm3, xmm4
movdqa xmm6, xmm3
psrlq xmm6, 0x3f
movdqa xmm0, xmm3
psrlq xmm0, 0x18
movsd xmm0, xmm6
movdqa xmm6, xmm3
psllq xmm6, 0x28
paddq xmm3, xmm3
shufpd xmm3, xmm6, 2
movd eax, xmm2
xor eax, esi
xor ecx, dword [esp + 0x174]
mov esi, eax
shld esi, ecx, 0x10
mov dword [esp + 0x80], esi
shld ecx, eax, 0x10
mov dword [esp + 0x148], ecx
mov eax, edi
add eax, ecx
mov dword [esp + 4], eax
mov edi, dword [esp + 0x1c]
adc edi, esi
mov dword [esp + 0x1c], edi
pshufd xmm6, xmm5, 0xbb
movd ecx, xmm6
xor ebx, edi
xor ebp, eax
mov eax, ebx
shld eax, ebp, 1
mov dword [esp + 0x70], eax
shld ebp, ebx, 1
mov dword [esp + 0x174], ebp
add ecx, dword [esp + 0x68]
adc edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x34]
xor esi, edx
mov eax, dword [esp]
xor eax, ecx
mov ebp, eax
shld ebp, esi, 8
orpd xmm3, xmm0
shrd eax, esi, 0x18
mov dword [esp], eax
mov esi, dword [esp + 0x254]
add esi, eax
mov dword [esp + 0x254], esi
mov eax, dword [esp + 0x264]
adc eax, ebp
mov dword [esp + 0x264], eax
movd xmm0, esi
movd xmm6, eax
punpcklqdq xmm6, xmm0
paddq xmm2, xmm3
movdqu xmmword [esp + 0x138], xmm2
shufps xmm2, xmm6, 0x2e
pshufd xmm5, xmm5, 0xb1
xorps xmm2, xmm5
movaps xmm5, xmm2
psrlq xmm5, 0x10
psllq xmm2, 0x30
por xmm2, xmm5
pshufd xmm5, xmm4, 0xee
paddq xmm5, xmm2
pshufd xmm6, xmm5, 0x55
movd dword [esp + 0xd4], xmm6
movd dword [esp + 0x38], xmm5
pshufd xmm6, xmm3, 0xee
pxor xmm6, xmm5
movd esi, xmm6
pshufd xmm5, xmm6, 0x55
movd eax, xmm5
mov ebx, eax
shld ebx, esi, 1
mov dword [esp + 0x48], ebx
pshufd xmm5, xmm2, 0xff
movd edi, xmm5
shld esi, eax, 1
mov dword [esp + 0x14], esi
pshufd xmm5, xmm2, 0xee
movd eax, xmm5
add eax, ecx
adc edi, edx
mov dword [esp + 0x128], edi
movd xmm5, eax
xor eax, dword [esp]
xor ebp, edi
mov ebx, ebp
shld ebx, eax, 1
shld eax, ebp, 1
mov edi, dword [esp + 0x158]
add edi, dword [esp + 0x38c]
mov ebp, dword [esp + 0x1cc]
adc ebp, dword [esp + 0x3ac]
add edi, eax
adc ebp, ebx
mov esi, dword [esp + 0x80]
xor esi, ebp
mov dword [esp + 0x80], esi
mov edx, dword [esp + 0x148]
xor edx, edi
mov dword [esp + 0x148], edx
mov ecx, dword [esp + 0x38]
add ecx, esi
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0xd4]
adc esi, edx
mov dword [esp + 0xd4], esi
movss xmm6, dword [esp + 0x274]
movups xmm7, xmmword [esp + 0x108]
movlhps xmm7, xmm6
movups xmmword [esp + 0x108], xmm7
movss xmm6, dword [esp + 0x2d8]
movss xmm1, dword [esp + 0x328]
movups xmmword [esp + 0xb0], xmm1
movlhps xmm1, xmm6
xor eax, ecx
xor ebx, esi
mov ecx, eax
shld ecx, ebx, 8
mov esi, ecx
mov dword [esp], ecx
shld ebx, eax, 8
mov dword [esp + 0x90], ebx
mov ecx, dword [esp + 0x358]
add edi, ecx
adc ebp, dword [esp + 0x2c8]
movups xmm6, xmmword [esp + 0x58]
shufps xmm6, xmm1, 0x24
movups xmmword [esp + 0x38c], xmm6
add edi, ebx
mov dword [esp + 0x158], edi
adc ebp, esi
mov dword [esp + 0x1cc], ebp
movups xmm1, xmmword [esp + 0xf4]
movhps xmm1, qword [esp + 0x224]
movups xmmword [esp + 0xf4], xmm1
movss xmm1, dword [esp + 0x39c]
movups xmmword [esp + 0x184], xmm1
movss xmm6, dword [esp + 0x170]
movlhps xmm1, xmm6
movups xmmword [esp + 0x118], xmm1
mov eax, dword [esp + 0x194]
mov edi, dword [esp + 0x174]
add eax, edi
mov edx, dword [esp + 0x198]
mov esi, dword [esp + 0x70]
adc edx, esi
movd xmm6, edx
movd xmm7, eax
punpcklqdq xmm6, xmm7
movd xmm0, dword [esp + 0x128]
punpcklqdq xmm0, xmm5
shufps xmm0, xmm4, 0x42
movups xmm7, xmmword [esp + 0x3dc]
movaps xmm4, xmm7
shufps xmm4, xmm6, 0x2e
movd xmm5, edi
movd xmm6, esi
punpcklqdq xmm6, xmm5
movdqu xmm5, xmmword [esp + 0x138]
paddq xmm4, xmm5
shufps xmm3, xmm6, 0x24
pxor xmm2, xmm4
pshufd xmm2, xmm2, 0xb1
movdqu xmmword [esp + 0x274], xmm2
paddq xmm0, xmm2
movdqu xmmword [esp + 0x138], xmm0
xorps xmm3, xmm0
movaps xmm0, xmm3
psllq xmm3, 0x28
psrlq xmm0, 0x18
por xmm3, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm3, 0xe2
paddq xmm0, xmm4
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x6c]
movsd xmm2, qword [edx + eax + 0x78]
movaps xmm1, xmm2
movaps xmm4, xmm2
movups xmmword [esp + 0x70], xmm2
movups xmm2, xmmword [esp + 0x234]
shufps xmm1, xmm2, 0x24
movups xmmword [esp + 0x3ac], xmm1
movaps xmm1, xmm7
shufps xmm1, xmm2, 0x2e
movups xmmword [esp + 0x39c], xmm1
movd xmm1, ecx
movdqu xmm2, xmmword [esp + 0x298]
punpcklqdq xmm2, xmm1
movdqu xmmword [esp + 0x298], xmm2
movss xmm1, dword [esp + 0x19c]
movups xmm2, xmmword [esp + 0x308]
movlhps xmm2, xmm1
movups xmmword [esp + 0x308], xmm2
movaps xmm5, xmm3
movups xmm1, xmmword [esp + 0x1ac]
shufps xmm5, xmm1, 0x24
paddq xmm5, xmm0
mov eax, dword [esp + 0x18]
movsd xmm0, qword [edx + eax + 0x50]
movups xmmword [esp + 0x174], xmm0
movups xmm2, xmmword [esp + 0x204]
shufps xmm0, xmm2, 0x24
movups xmmword [esp + 0x128], xmm0
mov esi, dword [esp + 0x3bc]
movd xmm0, esi
mov ebx, dword [esp + 0x14]
add esi, ebx
mov eax, dword [esp + 0x1ec]
mov ebp, dword [esp + 0x48]
adc eax, ebp
movaps xmm1, xmm4
shufps xmm1, xmm2, 0x24
movups xmmword [esp + 0x3bc], xmm1
add esi, dword [esp + 0x254]
adc eax, dword [esp + 0x264]
mov dword [esp + 0x1ec], eax
movdqu xmm1, xmmword [esp + 0x1bc]
punpcklqdq xmm1, xmm0
movdqu xmmword [esp + 0x1bc], xmm1
mov ecx, dword [esp + 0xa0]
xor ecx, eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x168]
xor eax, esi
mov edx, dword [esp + 4]
add edx, ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x1c]
adc ecx, eax
mov dword [esp + 0x1c], ecx
movd xmm1, dword [esp + 0x158]
movd xmm0, dword [esp + 0x1cc]
punpckldq xmm1, xmm0
xor ebx, edx
xor ebp, ecx
mov edi, ebx
shld edi, ebp, 8
shld ebp, ebx, 8
mov dword [esp + 0x48], ebp
add esi, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1ec]
adc ebx, dword [esp + 0x1a4]
add esi, ebp
adc ebx, edi
movd xmm0, dword [esp + 0x148]
movd xmm4, dword [esp + 0x80]
punpckldq xmm4, xmm0
movd xmm2, ebx
movd xmm0, esi
punpckldq xmm0, xmm2
movd xmm2, dword [esp + 0xa0]
movd xmm6, eax
punpckldq xmm2, xmm6
movdqu xmm7, xmmword [esp + 0x274]
pxor xmm7, xmm5
movdqa xmm6, xmm7
psrlq xmm6, 0x10
psllq xmm7, 0x30
por xmm7, xmm6
movdqu xmmword [esp + 0x274], xmm7
punpcklqdq xmm2, xmm4
punpcklqdq xmm0, xmm1
pxor xmm2, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x10
psllq xmm2, 0x30
por xmm2, xmm0
pshufd xmm4, xmm2, 0xff
movd dword [esp + 0x1cc], xmm4
pshufd xmm4, xmm2, 0xee
movdqu xmmword [esp + 0x158], xmm2
movd ebp, xmm4
pshufd xmm4, xmm2, 0x55
movd dword [esp + 0xa0], xmm4
movd edx, xmm0
movdqu xmm0, xmmword [esp + 0x138]
paddq xmm0, xmm7
movdqu xmmword [esp + 0x138], xmm0
movdqa xmm4, xmm3
pxor xmm4, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x3f
paddq xmm4, xmm4
por xmm4, xmm0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x6c]
movq xmm0, qword [ecx + eax + 0x38]
movdqu xmmword [esp + 0x80], xmm0
mov eax, dword [esp + 0x18]
movq xmm3, qword [ecx + eax + 0x20]
punpcklqdq xmm3, xmm0
punpcklqdq xmm1, xmm5
paddq xmm3, xmm1
add dword [esp + 0x2b8], esi
adc dword [esp + 0x2a8], ebx
add ebp, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x1cc]
adc eax, dword [esp + 0xd4]
mov dword [esp + 0x1cc], eax
pshufd xmm0, xmm5, 0xff
movd ecx, xmm0
mov esi, dword [esp]
xor esi, eax
mov eax, dword [esp + 0x90]
xor eax, ebp
mov ebx, esi
shld ebx, eax, 1
mov ebp, ebx
mov dword [esp + 0xd4], ebx
shld eax, esi, 1
mov dword [esp + 0x90], eax
add edx, dword [esp + 4]
mov esi, dword [esp + 0xa0]
adc esi, dword [esp + 0x1c]
mov dword [esp + 0xa0], esi
pshufd xmm0, xmm5, 0xee
movd eax, xmm0
mov ebx, edi
xor ebx, esi
mov esi, dword [esp + 0x48]
xor esi, edx
mov edi, ebx
shld edi, esi, 1
shld esi, ebx, 1
mov dword [esp + 0x48], esi
add eax, esi
adc ecx, edi
add eax, dword [esp + 0x2d8]
adc ecx, dword [esp + 0x328]
movd xmm0, edx
movd xmm1, dword [esp + 0xa0]
punpcklqdq xmm1, xmm0
mov edx, dword [esp + 0x2b8]
mov esi, dword [esp + 0x90]
add edx, esi
mov ebx, dword [esp + 0x2a8]
adc ebx, ebp
movd xmm0, ebx
movd xmm5, edx
punpckldq xmm5, xmm0
movd xmm6, ecx
movd xmm7, eax
punpckldq xmm7, xmm6
punpcklqdq xmm7, xmm5
movdqu xmm6, xmmword [esp + 0x274]
pxor xmm6, xmm7
pshufd xmm5, xmm6, 0xbb
movdqu xmm2, xmmword [esp + 0x138]
paddq xmm5, xmm2
shufps xmm2, xmm1, 0x2e
paddq xmm3, xmm4
movups xmm0, xmmword [esp + 0xf4]
movups xmmword [esp + 0xa0], xmm0
movups xmm1, xmmword [esp + 0x3dc]
shufps xmm0, xmm1, 0x42
movdqa xmm1, xmm3
movdqu xmm3, xmmword [esp + 0x158]
pxor xmm3, xmm1
paddq xmm0, xmm1
pshufd xmm3, xmm3, 0xb1
paddq xmm2, xmm3
pxor xmm4, xmm2
movdqa xmm1, xmm4
psrlq xmm1, 0x18
psllq xmm4, 0x28
por xmm4, xmm1
paddq xmm0, xmm4
movdqu xmmword [esp + 0xf4], xmm0
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x254], xmm1
pxor xmm3, xmm0
movdqa xmm1, xmm3
psrlq xmm1, 0x10
psllq xmm3, 0x30
por xmm3, xmm1
movdqu xmmword [esp + 4], xmm3
pshufd xmm1, xmm5, 0x55
movd ebp, xmm1
paddq xmm2, xmm3
movdqu xmmword [esp + 0x264], xmm2
movdqa xmm3, xmm4
pxor xmm3, xmm2
movdqa xmm1, xmm3
psrlq xmm1, 0x3f
paddq xmm3, xmm3
por xmm3, xmm1
movd eax, xmm6
pshufd xmm1, xmm6, 0xb1
movd ecx, xmm1
add ecx, dword [esp + 0x38]
mov ebx, ecx
mov dword [esp + 0x138], ecx
adc eax, dword [esp + 0x1cc]
mov edx, eax
mov dword [esp + 0x158], eax
movd eax, xmm5
xor eax, esi
xor ebp, dword [esp + 0xd4]
mov ecx, eax
shld ecx, ebp, 8
mov dword [esp + 0x90], ecx
shld ebp, eax, 8
movd xmm4, ebp
movd xmm6, ecx
punpcklqdq xmm6, xmm4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x6c]
movsd xmm0, qword [ecx + eax + 0x60]
mov eax, dword [esp + 0x18]
movsd xmm4, qword [ecx + eax + 0x70]
movlhps xmm0, xmm4
movups xmmword [esp + 0x148], xmm0
movups xmmword [esp + 0xd4], xmm4
movups xmmword [esp + 0x1cc], xmm4
shufps xmm4, xmm6, 0x24
xor edi, edx
mov eax, dword [esp + 0x48]
xor eax, ebx
mov ebx, edi
shld ebx, eax, 8
paddq xmm4, xmm7
shld eax, edi, 8
mov dword [esp + 0x48], eax
movd xmm6, eax
movd xmm0, ebx
punpckldq xmm0, xmm6
mov eax, dword [esp + 0x18]
movq xmm2, qword [ecx + eax + 0x48]
movdqu xmmword [esp + 0x1ec], xmm2
mov edx, ecx
punpcklqdq xmm0, xmm2
paddq xmm0, xmm4
pxor xmm1, xmm0
movdqa xmm4, xmm1
psrlq xmm4, 0x10
psllq xmm1, 0x30
por xmm1, xmm4
pshufd xmm6, xmm1, 0x55
movd dword [esp + 0x38], xmm6
movd ecx, xmm4
pshufd xmm7, xmm1, 0xee
paddq xmm7, xmm5
pshufd xmm5, xmm7, 0x55
movd esi, xmm5
mov eax, dword [esp + 0x18]
movsd xmm5, qword [edx + eax + 0x58]
movups xmmword [esp + 0x1c], xmm5
movups xmm6, xmmword [esp + 0x214]
shufps xmm5, xmm6, 0x24
movups xmmword [esp + 0x328], xmm5
movups xmm5, xmmword [esp + 0x368]
shufps xmm5, xmm6, 0x2e
movdqu xmm2, xmmword [esp + 0xf4]
movd edi, xmm2
pshufd xmm6, xmm2, 0xee
punpcklqdq xmm6, xmm0
paddq xmm5, xmm3
paddq xmm5, xmm6
add ecx, dword [esp + 0x138]
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0x38]
adc eax, dword [esp + 0x158]
mov dword [esp + 0x38], eax
movd edx, xmm7
xor edx, ebp
xor esi, dword [esp + 0x90]
mov ebp, dword [esp + 0x48]
xor ebp, eax
xor ebx, ecx
mov eax, ebp
shld eax, ebx, 1
mov dword [esp + 0x158], eax
shld ebx, ebp, 1
mov ebp, ebx
mov dword [esp + 0x2b8], ebx
mov eax, esi
mov ecx, esi
shld ecx, edx, 1
mov dword [esp + 0x2a8], ecx
pshufd xmm6, xmm0, 0xff
movd esi, xmm6
shrd eax, edx, 0x1f
pshufd xmm0, xmm0, 0xee
movd ebx, xmm0
add edi, eax
mov edx, eax
mov eax, dword [esp + 0x254]
adc eax, ecx
add edi, dword [esp + 0x358]
adc eax, dword [esp + 0x2c8]
add ebx, ebp
adc esi, dword [esp + 0x158]
movd xmm0, edi
movd xmm6, eax
punpckldq xmm0, xmm6
add ebx, dword [esp + 0x338]
adc esi, dword [esp + 0x1a0]
movd xmm6, esi
movd xmm4, ebx
punpckldq xmm4, xmm6
punpcklqdq xmm4, xmm0
movdqu xmmword [esp + 0x90], xmm4
pxor xmm1, xmm5
pshufd xmm6, xmm1, 0xb1
movdqu xmm0, xmmword [esp + 4]
pxor xmm0, xmm4
movdqu xmmword [esp + 4], xmm0
pshufd xmm1, xmm0, 0x14
movdqa xmm4, xmm6
punpckhqdq xmm4, xmm1
movdqu xmm0, xmmword [esp + 0x264]
paddq xmm4, xmm0
paddq xmm7, xmm6
movdqu xmmword [esp + 0x48], xmm7
punpcklqdq xmm7, xmm4
pxor xmm7, xmm3
movdqa xmm1, xmm7
psrlq xmm1, 0x18
psllq xmm7, 0x28
por xmm7, xmm1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x6c]
movsd xmm1, qword [ecx + eax + 0x68]
movups xmm0, xmmword [esp + 0x70]
movlhps xmm1, xmm0
movups xmmword [esp + 0x358], xmm1
movups xmm2, xmmword [esp + 0x1ec]
movaps xmm1, xmm2
movups xmm3, xmmword [esp + 0x2e8]
shufps xmm1, xmm3, 0x24
movups xmmword [esp + 0x138], xmm1
movups xmm1, xmmword [esp + 0x3cc]
shufps xmm1, xmm3, 0x2e
movups xmmword [esp + 0x254], xmm1
shufps xmm0, xmm3, 0x24
paddq xmm0, xmm5
paddq xmm0, xmm7
movdqu xmmword [esp + 0x70], xmm0
pxor xmm6, xmm0
movdqa xmm1, xmm6
psllq xmm6, 0x30
psrlq xmm1, 0x10
por xmm6, xmm1
movups xmm1, xmmword [esp + 0x1cc]
movups xmm3, xmmword [esp + 0x1ac]
shufps xmm1, xmm3, 0x24
movups xmmword [esp + 0x1cc], xmm1
shufps xmm2, xmm3, 0x24
movups xmmword [esp + 0x264], xmm2
movdqu xmm2, xmmword [esp + 4]
pshufd xmm1, xmm2, 0xaa
movd edi, xmm1
movdqu xmm0, xmmword [esp + 0x48]
paddq xmm0, xmm6
movdqu xmmword [esp + 0x48], xmm0
movdqu xmmword [esp + 0x274], xmm6
movdqa xmm1, xmm7
pxor xmm1, xmm0
movd ecx, xmm1
pshufd xmm1, xmm1, 0x55
movd eax, xmm1
mov esi, ecx
shld esi, eax, 1
mov dword [esp + 0x1ec], esi
pshufd xmm1, xmm2, 0xbb
movd ebx, xmm1
shld eax, ecx, 1
add ebx, dword [esp + 0xf4]
adc edi, dword [esp + 0x38]
mov dword [esp + 0x38], edi
mov esi, edx
xor esi, ebx
mov ecx, dword [esp + 0x2a8]
xor ecx, edi
mov edi, ecx
mov edx, ecx
shld edi, esi, 8
pshufd xmm1, xmm4, 0xff
movd ecx, xmm1
shld esi, edx, 8
pshufd xmm1, xmm4, 0xee
movd ebp, xmm1
xor ebp, dword [esp + 0x2b8]
xor ecx, dword [esp + 0x158]
mov edx, ecx
shld edx, ebp, 8
movd xmm1, esi
movd xmm0, edi
punpckldq xmm0, xmm1
shrd ecx, ebp, 0x18
movd xmm3, ecx
mov ecx, dword [esp + 0x288]
movd xmm1, edx
movdqu xmmword [esp + 0x158], xmm1
punpckldq xmm1, xmm3
punpcklqdq xmm1, xmm0
movups xmm0, xmmword [esp + 0x118]
movups xmmword [esp + 0x2c8], xmm0
movups xmm5, xmmword [esp + 0x3dc]
shufps xmm0, xmm5, 0x42
movdqu xmm5, xmmword [esp + 0x90]
paddq xmm5, xmm0
paddq xmm5, xmm1
pshufd xmm2, xmm2, 0xb1
pxor xmm2, xmm5
movdqa xmm0, xmm2
psrlq xmm0, 0x10
psllq xmm2, 0x30
por xmm2, xmm0
pshufd xmm0, xmm2, 0x44
punpckhqdq xmm6, xmm0
pshufd xmm0, xmm2, 0xff
movd edx, xmm0
paddq xmm6, xmm4
movdqu xmmword [esp + 4], xmm6
pshufd xmm0, xmm2, 0xee
movd ebp, xmm0
movd xmm1, eax
movd xmm0, dword [esp + 0x1ec]
punpckldq xmm0, xmm1
movups xmm1, xmmword [esp + 0x368]
movups xmm6, xmmword [esp + 0x1bc]
shufps xmm6, xmm1, 0x42
paddq xmm5, xmm6
add ebp, ebx
adc edx, dword [esp + 0x38]
movd xmm4, ebp
movd xmm6, edx
punpckldq xmm4, xmm6
xor esi, edx
mov edx, dword [esp + 0x294]
xor edi, ebp
mov ebx, dword [esp + 0x18]
mov eax, edi
shld eax, esi, 1
shrd edi, esi, 0x1f
movdqu xmm1, xmmword [esp + 0x48]
punpcklqdq xmm4, xmm1
movdqu xmmword [esp + 0x38], xmm4
movd xmm6, edi
mov edi, dword [esp + 0x28c]
movd xmm4, eax
punpckldq xmm4, xmm6
movhps xmm3, qword [esp + 0x158]
shufps xmm7, xmm3, 0x2e
movups xmm1, xmmword [esp + 4]
xorps xmm7, xmm1
movaps xmm3, xmm7
psrlq xmm3, 0x3f
paddq xmm7, xmm7
por xmm7, xmm3
punpcklqdq xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x39c]
movdqu xmm3, xmmword [esp + 0x70]
paddq xmm3, xmm0
movups xmm1, xmmword [esp + 0x2f8]
movups xmm0, xmmword [esp + 0x1c]
shufps xmm0, xmm1, 0x24
movups xmmword [esp + 0x1c], xmm0
movups xmm0, xmmword [esp + 0x3dc]
shufps xmm0, xmm1, 0x24
movups xmmword [esp + 0x338], xmm0
movdqa xmm6, xmm5
paddq xmm6, xmm4
paddq xmm3, xmm7
movdqa xmm5, xmm3
movdqa xmm3, xmm6
shufps xmm3, xmm5, 0x1b
movups xmmword [esp + 0x70], xmm5
pshufd xmm0, xmm2, 0xb1
pxor xmm0, xmm3
movdqu xmmword [esp + 0x158], xmm0
movdqu xmm1, xmmword [esp + 0x274]
pshufd xmm3, xmm1, 0xb1
shufps xmm5, xmm6, 0x1b
pxor xmm3, xmm5
movdqu xmm2, xmmword [esp + 4]
paddq xmm2, xmm0
movdqu xmm1, xmmword [esp + 0x38]
paddq xmm1, xmm3
movdqu xmmword [esp + 0x38], xmm1
movdqa xmm5, xmm2
movdqa xmm0, xmm2
movdqu xmmword [esp + 4], xmm2
shufps xmm5, xmm1, 0x4e
pxor xmm5, xmm7
pshufd xmm2, xmm1, 0xee
punpcklqdq xmm2, xmm0
pxor xmm2, xmm4
movdqa xmm4, xmm2
psrlq xmm4, 0x18
psllq xmm2, 0x28
por xmm2, xmm4
movdqa xmm7, xmm6
movdqu xmm0, xmmword [esp + 0x1c]
paddq xmm7, xmm0
movdqa xmm4, xmm5
psrlq xmm4, 0x18
psllq xmm5, 0x28
por xmm5, xmm4
paddq xmm7, xmm2
movdqu xmm4, xmmword [esp + 0x3cc]
pshufd xmm1, xmm4, 0x4e
movdqu xmmword [esp + 0x48], xmm1
movdqu xmm6, xmmword [esp + 0x70]
paddq xmm6, xmm1
paddq xmm6, xmm5
movdqa xmm4, xmm7
movdqu xmmword [esp + 0x90], xmm7
shufps xmm4, xmm6, 0x4e
movdqa xmm1, xmm6
movups xmm0, xmmword [esp + 0x158]
xorps xmm4, xmm0
movaps xmm0, xmm4
psrlq xmm0, 0x10
psllq xmm4, 0x30
por xmm4, xmm0
shufps xmm6, xmm7, 0x4e
pxor xmm6, xmm3
movdqa xmm0, xmm6
psllq xmm6, 0x30
psrlq xmm0, 0x10
por xmm6, xmm0
pshufd xmm7, xmm5, 0xee
punpcklqdq xmm7, xmm2
pshufd xmm2, xmm2, 0xee
punpcklqdq xmm2, xmm5
movdqu xmm0, xmmword [esp + 4]
paddq xmm0, xmm4
movdqu xmmword [esp + 4], xmm0
pxor xmm2, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x3f
paddq xmm2, xmm2
por xmm2, xmm0
movdqa xmm5, xmm2
movups xmm0, xmmword [esp + 0x80]
movups xmm3, xmmword [esp + 0x298]
shufps xmm0, xmm3, 0x24
paddq xmm1, xmm0
movdqu xmm3, xmmword [esp + 0x38]
paddq xmm3, xmm6
movdqu xmmword [esp + 0x38], xmm3
pxor xmm7, xmm3
movdqa xmm0, xmm7
psrlq xmm0, 0x3f
paddq xmm7, xmm7
por xmm7, xmm0
pshufd xmm0, xmm3, 0xee
movdqu xmm3, xmmword [esp + 4]
punpcklqdq xmm0, xmm3
paddq xmm1, xmm2
pxor xmm6, xmm1
pshufd xmm2, xmm6, 0xb1
paddq xmm0, xmm2
movdqu xmmword [esp + 0x1c], xmm0
pxor xmm5, xmm0
movdqa xmm0, xmm5
psrlq xmm0, 0x18
psllq xmm5, 0x28
por xmm5, xmm0
movups xmm0, xmmword [esp + 0x308]
movups xmm6, xmmword [esp + 0x368]
shufps xmm0, xmm6, 0xe2
paddq xmm1, xmm0
paddq xmm1, xmm5
movdqu xmmword [esp + 0x70], xmm1
pxor xmm2, xmm1
movdqa xmm0, xmm2
psrlq xmm0, 0x10
psllq xmm2, 0x30
por xmm2, xmm0
movdqu xmmword [esp + 0x1ec], xmm2
pshufd xmm1, xmm3, 0xee
movdqu xmm0, xmmword [esp + 0x38]
punpcklqdq xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x254]
movdqu xmm6, xmmword [esp + 0x90]
paddq xmm6, xmm0
paddq xmm6, xmm7
pxor xmm4, xmm6
movdqa xmm2, xmm6
pshufd xmm6, xmm4, 0xb1
paddq xmm1, xmm6
movdqu xmmword [esp + 4], xmm1
pxor xmm7, xmm1
movdqa xmm0, xmm7
psrlq xmm0, 0x18
psllq xmm7, 0x28
por xmm7, xmm0
movdqu xmmword [esp + 0x158], xmm7
movss xmm1, dword [esp + 0x2d8]
movups xmm0, xmmword [esp + 0xb0]
movlhps xmm0, xmm1
movups xmmword [esp + 0xb0], xmm0
movdqu xmm0, xmmword [esp + 0x264]
paddq xmm2, xmm0
paddq xmm2, xmm7
movdqu xmmword [esp + 0x90], xmm2
pxor xmm6, xmm2
movdqa xmm0, xmm6
psrlq xmm0, 0x10
psllq xmm6, 0x30
por xmm6, xmm0
movdqu xmmword [esp + 0x38], xmm6
movss xmm0, dword [esp + 0x348]
movups xmm2, xmmword [esp + 0x1dc]
movlhps xmm2, xmm0
movdqu xmm1, xmmword [esp + 0x1c]
movdqu xmm0, xmmword [esp + 0x1ec]
paddq xmm1, xmm0
movdqu xmmword [esp + 0x1c], xmm1
pxor xmm5, xmm1
movdqa xmm0, xmm5
psrlq xmm0, 0x3f
paddq xmm5, xmm5
por xmm5, xmm0
movdqu xmmword [esp + 0xf4], xmm5
movups xmm0, xmmword [esp + 0x3dc]
movups xmm1, xmmword [esp + 0xe4]
shufps xmm1, xmm0, 0xe2
movups xmmword [esp + 0xe4], xmm1
movups xmm1, xmmword [esp + 0xc0]
movups xmm3, xmmword [esp + 0x368]
shufps xmm1, xmm3, 0x42
movups xmmword [esp + 0x2b8], xmm1
movups xmm1, xmmword [esp + 0x108]
shufps xmm1, xmm3, 0xe2
movups xmmword [esp + 0x2a8], xmm1
movups xmm5, xmmword [esp + 0xa0]
shufps xmm5, xmm3, 0xe2
movups xmmword [esp + 0xa0], xmm5
movups xmm5, xmmword [esp + 0x2c8]
shufps xmm5, xmm3, 0x42
movupd xmm1, xmmword [esp + 0x48]
movapd xmm4, xmm1
movsd xmm4, xmm3
movupd xmmword [esp + 0x348], xmm4
pshufd xmm4, xmm3, 0x4e
movdqu xmmword [esp + 0x2d8], xmm4
shufps xmm3, xmm0, 0xe4
movups xmmword [esp + 0x368], xmm3
movsd xmm1, xmm0
movupd xmmword [esp + 0x48], xmm1
movups xmm1, xmmword [esp + 0xb0]
shufps xmm1, xmm0, 0xe2
movups xmmword [esp + 0xb0], xmm1
shufps xmm2, xmm0, 0x42
movups xmmword [esp + 0x1dc], xmm2
pshufd xmm6, xmm0, 0x4e
movdqu xmmword [esp + 0x2c8], xmm6
movlps xmm6, qword [esp + 0x3cc]
movdqu xmm1, xmmword [esp + 0x90]
paddq xmm6, xmm1
movdqu xmm1, xmmword [esp + 4]
movdqu xmm0, xmmword [esp + 0x38]
paddq xmm1, xmm0
movdqu xmmword [esp + 4], xmm1
movdqu xmm2, xmmword [esp + 0x158]
pxor xmm2, xmm1
movdqa xmm1, xmm2
psrlq xmm1, 0x3f
paddq xmm2, xmm2
por xmm2, xmm1
movdqu xmmword [esp + 0x158], xmm2
movdqu xmm1, xmmword [esp + 0x3bc]
movdqu xmm7, xmmword [esp + 0x70]
paddq xmm7, xmm1
movdqa xmm1, xmm2
movups xmm3, xmmword [esp + 0xf4]
shufps xmm1, xmm3, 0x4e
paddq xmm6, xmm1
pshufd xmm1, xmm3, 0xee
punpcklqdq xmm1, xmm2
paddq xmm7, xmm1
movdqu xmm2, xmmword [esp + 0x1ec]
pshufd xmm1, xmm2, 0xee
punpcklqdq xmm1, xmm0
pshufd xmm4, xmm1, 0xb1
pshufd xmm1, xmm6, 0xb1
pxor xmm4, xmm1
shufps xmm0, xmm2, 0x1b
pshufd xmm1, xmm7, 0xb1
xorps xmm0, xmm1
movups xmmword [esp + 0x38], xmm0
movdqu xmm2, xmmword [esp + 0x1c]
paddq xmm2, xmm4
movdqu xmmword [esp + 0x1c], xmm2
movdqu xmm3, xmmword [esp + 4]
paddq xmm3, xmm0
movdqu xmmword [esp + 4], xmm3
movdqa xmm1, xmm3
shufps xmm1, xmm2, 0x4e
movups xmm0, xmmword [esp + 0x158]
xorps xmm1, xmm0
paddq xmm6, xmm5
movdqa xmm5, xmm2
shufps xmm5, xmm3, 0x4e
movups xmm2, xmmword [esp + 0xf4]
xorps xmm5, xmm2
movaps xmm2, xmm1
psrlq xmm2, 0x18
psllq xmm1, 0x28
por xmm1, xmm2
movaps xmm2, xmm5
psrlq xmm2, 0x18
psllq xmm5, 0x28
por xmm5, xmm2
movdqa xmm2, xmm1
shufps xmm2, xmm5, 0x4e
paddq xmm6, xmm2
pshufd xmm2, xmm5, 0xee
punpcklqdq xmm2, xmm1
movdqu xmm3, xmmword [esp + 0xe4]
paddq xmm7, xmm3
paddq xmm7, xmm2
pxor xmm4, xmm6
movdqa xmm2, xmm4
psrlq xmm2, 0x10
psllq xmm4, 0x30
por xmm4, xmm2
movdqu xmm3, xmmword [esp + 0x38]
pxor xmm3, xmm7
movdqa xmm2, xmm3
psllq xmm3, 0x30
psrlq xmm2, 0x10
por xmm3, xmm2
movdqu xmmword [esp + 0x38], xmm3
movdqu xmm0, xmmword [esp + 0x1c]
paddq xmm0, xmm4
movdqu xmmword [esp + 0x1c], xmm0
movdqu xmm2, xmmword [esp + 4]
paddq xmm2, xmm3
movdqa xmm3, xmm0
shufps xmm3, xmm2, 0x4e
movdqa xmm0, xmm2
movdqu xmmword [esp + 4], xmm2
pxor xmm3, xmm5
movdqa xmm2, xmm3
psrlq xmm2, 0x3f
paddq xmm3, xmm3
por xmm3, xmm2
movdqa xmm2, xmm0
movups xmm0, xmmword [esp + 0x1c]
shufps xmm2, xmm0, 0x4e
pxor xmm2, xmm1
movdqa xmm1, xmm2
paddq xmm2, xmm2
psrlq xmm1, 0x3f
por xmm2, xmm1
movdqu xmm5, xmmword [esp + 0x368]
paddq xmm5, xmm6
paddq xmm5, xmm2
pshufd xmm0, xmm5, 0xb1
movdqu xmm1, xmmword [esp + 0x38c]
paddq xmm5, xmm1
movdqu xmmword [esp + 0x368], xmm5
movdqu xmm1, xmmword [esp + 0x1cc]
paddq xmm7, xmm1
movdqu xmm1, xmmword [esp + 0x38]
pshufd xmm1, xmm1, 0x4e
movdqa xmm5, xmm4
punpckhqdq xmm5, xmm1
punpcklqdq xmm1, xmm4
pshufd xmm6, xmm1, 0xb1
paddq xmm7, xmm3
pshufd xmm4, xmm7, 0xb1
pxor xmm6, xmm4
pshufd xmm4, xmm5, 0xb1
pxor xmm4, xmm0
movss xmm0, dword [esp + 0x16c]
movups xmm5, xmmword [esp + 0x318]
movlhps xmm5, xmm0
movdqu xmm0, xmmword [esp + 0x1c]
paddq xmm0, xmm6
movdqu xmmword [esp + 0x1c], xmm0
pxor xmm3, xmm0
movdqa xmm0, xmm3
psrlq xmm0, 0x18
psllq xmm3, 0x28
por xmm3, xmm0
movups xmm0, xmmword [esp + 0x3cc]
shufps xmm5, xmm0, 0xe2
paddq xmm5, xmm7
movdqu xmm0, xmmword [esp + 4]
paddq xmm0, xmm4
pxor xmm2, xmm0
movdqa xmm1, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x18
psllq xmm2, 0x28
por xmm2, xmm0
paddq xmm5, xmm3
movdqu xmmword [esp + 0x318], xmm5
pxor xmm6, xmm5
movdqa xmm0, xmm6
psrlq xmm0, 0x10
psllq xmm6, 0x30
por xmm6, xmm0
movdqu xmm7, xmmword [esp + 0x368]
paddq xmm7, xmm2
pxor xmm4, xmm7
movdqa xmm0, xmm4
psrlq xmm0, 0x10
psllq xmm4, 0x30
por xmm4, xmm0
paddq xmm1, xmm4
movdqu xmmword [esp + 4], xmm1
movdqu xmm5, xmmword [esp + 0x1c]
paddq xmm5, xmm6
pshufd xmm0, xmm3, 0x4e
movdqu xmmword [esp + 0x70], xmm0
movdqa xmm3, xmm2
punpckhqdq xmm3, xmm0
pshufd xmm1, xmm1, 0xee
punpcklqdq xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm3, xmm1
psrlq xmm3, 0x3f
paddq xmm1, xmm1
por xmm1, xmm3
movups xmm3, xmmword [esp + 0x298]
movups xmm0, xmmword [esp + 0x174]
shufps xmm0, xmm3, 0x24
paddq xmm0, xmm7
pshufd xmm7, xmm4, 0x4e
paddq xmm0, xmm1
movdqu xmmword [esp + 0x174], xmm0
movdqa xmm3, xmm6
punpckhqdq xmm3, xmm7
pshufd xmm4, xmm3, 0xb1
pshufd xmm3, xmm0, 0xb1
pxor xmm4, xmm3
punpcklqdq xmm7, xmm6
movdqa xmm3, xmm5
movdqa xmm0, xmm5
paddq xmm0, xmm4
movdqu xmmword [esp + 0x1c], xmm0
pxor xmm1, xmm0
movdqa xmm0, xmm1
psllq xmm1, 0x28
psrlq xmm0, 0x18
por xmm1, xmm0
movdqu xmm6, xmmword [esp + 0x48]
movdqu xmm0, xmmword [esp + 0x174]
paddq xmm6, xmm0
movdqu xmm5, xmmword [esp + 0x70]
punpcklqdq xmm5, xmm2
movups xmm0, xmmword [esp + 4]
shufps xmm3, xmm0, 0x4e
pxor xmm3, xmm5
movdqa xmm0, xmm3
paddq xmm3, xmm3
psrlq xmm0, 0x3f
por xmm3, xmm0
movdqu xmm5, xmmword [esp + 0x318]
movdqu xmm0, xmmword [esp + 0xa0]
paddq xmm5, xmm0
pshufd xmm0, xmm7, 0xb1
paddq xmm5, xmm3
pshufd xmm2, xmm5, 0xb1
pxor xmm0, xmm2
movdqa xmm2, xmm6
paddq xmm2, xmm1
movdqu xmmword [esp + 0x48], xmm2
pxor xmm4, xmm2
movdqa xmm2, xmm4
psrlq xmm2, 0x10
psllq xmm4, 0x30
por xmm4, xmm2
movdqu xmm2, xmmword [esp + 4]
paddq xmm2, xmm0
movdqu xmmword [esp + 4], xmm2
pxor xmm3, xmm2
movdqa xmm2, xmm3
psrlq xmm2, 0x18
psllq xmm3, 0x28
por xmm3, xmm2
movups xmm2, xmmword [esp + 0x244]
movups xmm7, xmmword [esp + 0xd4]
shufps xmm7, xmm2, 0x24
movups xmmword [esp + 0xd4], xmm7
movups xmm6, xmmword [esp + 0x3cc]
shufps xmm6, xmm2, 0x24
movups xmmword [esp + 0x70], xmm6
movups xmm6, xmmword [esp + 0x80]
shufps xmm6, xmm2, 0x24
movdqu xmm2, xmmword [esp + 0x1c]
paddq xmm2, xmm4
movdqu xmmword [esp + 0x1c], xmm2
pxor xmm1, xmm2
movdqa xmm2, xmm1
psrlq xmm2, 0x3f
paddq xmm1, xmm1
por xmm1, xmm2
paddq xmm6, xmm5
paddq xmm6, xmm3
pxor xmm0, xmm6
movdqa xmm2, xmm0
psrlq xmm2, 0x10
psllq xmm0, 0x30
por xmm0, xmm2
movdqu xmm7, xmmword [esp + 0x48]
pshufd xmm2, xmm7, 0x44
pshufd xmm5, xmm6, 0x44
punpckhqdq xmm7, xmm5
movdqu xmm5, xmmword [esp + 4]
paddq xmm5, xmm0
movdqu xmmword [esp + 4], xmm5
pxor xmm3, xmm5
movdqa xmm5, xmm3
psrlq xmm5, 0x3f
paddq xmm3, xmm3
por xmm3, xmm5
punpckhqdq xmm6, xmm2
movdqu xmm2, xmmword [esp + 0x2a8]
paddq xmm6, xmm2
movdqu xmm2, xmmword [esp + 0x128]
paddq xmm7, xmm2
paddq xmm7, xmm1
pxor xmm0, xmm7
paddq xmm6, xmm3
movdqu xmmword [esp + 0x80], xmm6
pxor xmm4, xmm6
pshufd xmm0, xmm0, 0xb1
pshufd xmm4, xmm4, 0xb1
movdqa xmm5, xmm4
shufps xmm5, xmm0, 0x4e
movdqu xmm2, xmmword [esp + 4]
paddq xmm5, xmm2
movdqa xmm2, xmm0
shufps xmm2, xmm4, 0x4e
movdqu xmm6, xmmword [esp + 0x1c]
paddq xmm2, xmm6
pshufd xmm6, xmm5, 0xee
punpcklqdq xmm6, xmm2
pxor xmm6, xmm1
movdqa xmm1, xmm6
psrlq xmm1, 0x18
psllq xmm6, 0x28
por xmm6, xmm1
movdqu xmm1, xmmword [esp + 0x70]
paddq xmm7, xmm1
movdqu xmmword [esp + 0x48], xmm7
movdqa xmm7, xmm2
shufps xmm7, xmm5, 0x4e
pxor xmm7, xmm3
movdqa xmm1, xmm7
psrlq xmm1, 0x18
psllq xmm7, 0x28
por xmm7, xmm1
movdqu xmm1, xmmword [esp + 0x48]
paddq xmm1, xmm6
movdqu xmmword [esp + 0x48], xmm1
pxor xmm0, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 0x10
psllq xmm0, 0x30
por xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x2c8]
movdqu xmm3, xmmword [esp + 0x80]
paddq xmm3, xmm1
paddq xmm3, xmm7
pxor xmm4, xmm3
movdqa xmm1, xmm4
psrlq xmm1, 0x10
psllq xmm4, 0x30
por xmm4, xmm1
movdqa xmm1, xmm0
shufps xmm1, xmm4, 0x4e
paddq xmm1, xmm2
movdqu xmmword [esp + 4], xmm1
movdqa xmm1, xmm4
shufps xmm1, xmm0, 0x4e
paddq xmm1, xmm5
movdqu xmmword [esp + 0x1c], xmm1
pshufd xmm2, xmm6, 0xee
punpcklqdq xmm2, xmm7
pshufd xmm5, xmm7, 0xee
punpcklqdq xmm5, xmm6
pxor xmm5, xmm1
movdqa xmm6, xmm5
psrlq xmm6, 0x3f
paddq xmm5, xmm5
por xmm5, xmm6
movdqu xmm1, xmmword [esp + 0x254]
paddq xmm3, xmm1
movdqu xmm1, xmmword [esp + 4]
pxor xmm2, xmm1
movdqa xmm6, xmm2
psrlq xmm6, 0x3f
paddq xmm2, xmm2
por xmm2, xmm6
movdqu xmm6, xmmword [esp + 0x3ac]
movdqu xmm7, xmmword [esp + 0x48]
paddq xmm7, xmm6
pshufd xmm6, xmm0, 0xb1
movdqa xmm0, xmm3
paddq xmm0, xmm5
paddq xmm7, xmm2
movdqa xmm1, xmm7
movdqa xmm3, xmm7
shufps xmm1, xmm0, 0x1b
pxor xmm6, xmm1
movaps xmm7, xmm0
movdqa xmm1, xmm0
shufps xmm7, xmm3, 0x1b
pshufd xmm0, xmm4, 0xb1
pxor xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [esp + 0x70], xmm0
pshufd xmm5, xmm5, 0x4e
movdqa xmm4, xmm5
punpcklqdq xmm4, xmm2
punpckhqdq xmm2, xmm5
movdqu xmm0, xmmword [esp + 4]
paddq xmm0, xmm7
movdqu xmmword [esp + 4], xmm0
pxor xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm4, 0x28
psrlq xmm5, 0x18
por xmm4, xmm5
movdqu xmm0, xmmword [esp + 0x328]
paddq xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x1c]
paddq xmm0, xmm6
movdqu xmmword [esp + 0x1c], xmm0
pxor xmm2, xmm0
movdqa xmm5, xmm2
psrlq xmm5, 0x18
psllq xmm2, 0x28
por xmm2, xmm5
pshufd xmm5, xmm4, 0x4e
movdqa xmm7, xmm2
punpckhqdq xmm7, xmm5
punpcklqdq xmm5, xmm2
paddq xmm3, xmm5
movdqu xmm0, xmmword [esp + 0x2b8]
paddq xmm1, xmm0
paddq xmm1, xmm7
movdqu xmmword [esp + 0x48], xmm3
movdqa xmm5, xmm3
shufps xmm5, xmm1, 0x4e
movdqa xmm0, xmm1
movdqu xmmword [esp + 0x80], xmm1
pxor xmm5, xmm6
movdqa xmm6, xmm5
psrlq xmm6, 0x10
psllq xmm5, 0x30
por xmm5, xmm6
movdqu xmm6, xmmword [esp + 0x1c]
pshufd xmm7, xmm6, 0xee
movdqu xmm1, xmmword [esp + 4]
punpcklqdq xmm7, xmm1
pshufd xmm1, xmm1, 0xee
punpcklqdq xmm1, xmm6
movdqa xmm6, xmm0
shufps xmm6, xmm3, 0x4e
movups xmm0, xmmword [esp + 0x70]
xorps xmm6, xmm0
movaps xmm0, xmm6
psllq xmm6, 0x30
psrlq xmm0, 0x10
por xmm6, xmm0
pshufd xmm3, xmm5, 0xee
punpcklqdq xmm3, xmm6
paddq xmm3, xmm7
pshufd xmm0, xmm6, 0xee
punpcklqdq xmm0, xmm5
paddq xmm0, xmm1
movdqu xmmword [esp + 0x1c], xmm0
movdqa xmm1, xmm3
movdqa xmm7, xmm3
movdqu xmmword [esp + 4], xmm3
shufps xmm1, xmm0, 0x4e
pxor xmm1, xmm4
movdqa xmm3, xmm1
psrlq xmm3, 0x3f
paddq xmm1, xmm1
por xmm1, xmm3
movdqu xmm3, xmmword [esp + 0x348]
movdqu xmm0, xmmword [esp + 0x48]
paddq xmm0, xmm3
pshufd xmm3, xmm7, 0x44
movdqu xmm7, xmmword [esp + 0x1c]
movdqa xmm4, xmm7
punpckhqdq xmm4, xmm3
pxor xmm4, xmm2
movdqa xmm2, xmm4
psrlq xmm2, 0x3f
paddq xmm4, xmm4
por xmm4, xmm2
movups xmm2, xmmword [esp + 0x3cc]
movups xmm3, xmmword [esp + 0xc0]
shufps xmm3, xmm2, 0x42
movups xmmword [esp + 0xc0], xmm3
movups xmm3, xmmword [esp + 0x108]
shufps xmm3, xmm2, 0xe2
movups xmmword [esp + 0x108], xmm3
movlps xmm2, qword [esp + 0x2d8]
paddq xmm0, xmm1
pxor xmm5, xmm0
paddq xmm0, xmm2
movdqu xmmword [esp + 0x48], xmm0
movdqu xmm2, xmmword [esp + 0xe4]
movdqu xmm0, xmmword [esp + 0x80]
paddq xmm0, xmm2
paddq xmm0, xmm4
pxor xmm6, xmm0
pshufd xmm2, xmm6, 0xb1
paddq xmm7, xmm2
pxor xmm4, xmm7
movdqa xmm3, xmm4
psrlq xmm3, 0x18
psllq xmm4, 0x28
por xmm4, xmm3
movdqu xmm3, xmmword [esp + 0x338]
paddq xmm0, xmm3
pshufd xmm6, xmm5, 0xb1
movdqu xmm3, xmmword [esp + 4]
paddq xmm3, xmm6
movdqu xmmword [esp + 4], xmm3
pxor xmm1, xmm3
movdqa xmm3, xmm1
psrlq xmm3, 0x18
psllq xmm1, 0x28
por xmm1, xmm3
paddq xmm0, xmm4
movdqu xmmword [esp + 0x80], xmm0
pxor xmm2, xmm0
movdqa xmm3, xmm2
psrlq xmm3, 0x10
psllq xmm2, 0x30
por xmm2, xmm3
movdqu xmm3, xmmword [esp + 0x48]
paddq xmm3, xmm1
pxor xmm6, xmm3
movdqa xmm0, xmm3
movdqa xmm3, xmm6
psrlq xmm3, 0x10
psllq xmm6, 0x30
por xmm6, xmm3
movss xmm3, dword [esp + 0x170]
movups xmm5, xmmword [esp + 0x184]
movlhps xmm5, xmm3
paddq xmm7, xmm2
movdqu xmmword [esp + 0x1c], xmm7
pxor xmm4, xmm7
movdqa xmm3, xmm4
psrlq xmm3, 0x3f
paddq xmm4, xmm4
por xmm4, xmm3
movups xmm7, xmmword [esp + 0x58]
shufps xmm7, xmm5, 0x24
paddq xmm7, xmm0
movdqu xmm3, xmmword [esp + 4]
paddq xmm3, xmm6
pxor xmm1, xmm3
movdqa xmm5, xmm3
movdqa xmm3, xmm1
psrlq xmm3, 0x3f
paddq xmm1, xmm1
por xmm1, xmm3
movdqa xmm3, xmm1
shufps xmm3, xmm4, 0x4e
paddq xmm7, xmm3
movdqu xmmword [esp + 0x58], xmm7
pshufd xmm3, xmm6, 0x44
shufps xmm6, xmm2, 0x1b
punpckhqdq xmm2, xmm3
pshufd xmm0, xmm2, 0xb1
pshufd xmm2, xmm7, 0xb1
pxor xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x148]
movdqu xmm3, xmmword [esp + 0x80]
paddq xmm3, xmm2
movdqa xmm2, xmm4
shufps xmm2, xmm1, 0x4e
paddq xmm3, xmm2
movdqu xmmword [esp + 0x80], xmm3
pshufd xmm2, xmm3, 0xb1
pxor xmm2, xmm6
movdqu xmm7, xmmword [esp + 0x1c]
paddq xmm7, xmm0
movdqa xmm6, xmm5
paddq xmm6, xmm2
movdqu xmmword [esp + 4], xmm6
movdqa xmm3, xmm6
shufps xmm3, xmm7, 0x4e
pxor xmm3, xmm1
movdqu xmm1, xmmword [esp + 0x264]
movdqu xmm5, xmmword [esp + 0x58]
paddq xmm5, xmm1
movdqu xmmword [esp + 0x58], xmm5
movdqa xmm1, xmm7
shufps xmm1, xmm6, 0x4e
pxor xmm1, xmm4
movdqa xmm4, xmm3
psrlq xmm4, 0x18
psllq xmm3, 0x28
por xmm3, xmm4
movdqa xmm4, xmm1
psrlq xmm4, 0x18
psllq xmm1, 0x28
por xmm1, xmm4
movdqu xmm4, xmmword [esp + 0x358]
movdqu xmm5, xmmword [esp + 0x80]
paddq xmm5, xmm4
movdqa xmm4, xmm3
shufps xmm4, xmm1, 0x4e
movdqu xmm6, xmmword [esp + 0x58]
paddq xmm6, xmm4
movdqu xmmword [esp + 0x58], xmm6
pshufd xmm4, xmm1, 0xee
punpcklqdq xmm4, xmm3
paddq xmm5, xmm4
pxor xmm0, xmm6
movdqa xmm4, xmm0
psrlq xmm4, 0x10
psllq xmm0, 0x30
por xmm0, xmm4
pxor xmm2, xmm5
movdqa xmm4, xmm2
psllq xmm2, 0x30
psrlq xmm4, 0x10
por xmm2, xmm4
movdqa xmm6, xmm7
paddq xmm6, xmm0
movdqu xmmword [esp + 0x1c], xmm6
movdqu xmm7, xmmword [esp + 4]
paddq xmm7, xmm2
movdqu xmmword [esp + 4], xmm7
shufps xmm6, xmm7, 0x4e
pxor xmm6, xmm1
movdqa xmm1, xmm6
psrlq xmm1, 0x3f
paddq xmm6, xmm6
por xmm6, xmm1
movups xmm1, xmmword [esp + 0x1c]
shufps xmm7, xmm1, 0x4e
pxor xmm7, xmm3
movdqa xmm1, xmm7
paddq xmm7, xmm7
psrlq xmm1, 0x3f
por xmm7, xmm1
movdqu xmm1, xmmword [esp + 0x58]
movdqu xmm3, xmmword [esp + 0xd4]
paddq xmm1, xmm3
paddq xmm1, xmm7
pshufd xmm3, xmm1, 0xb1
movdqu xmm4, xmmword [esp + 0x128]
paddq xmm1, xmm4
movdqu xmmword [esp + 0x58], xmm1
movdqa xmm1, xmm0
shufps xmm1, xmm2, 0x1b
xorps xmm1, xmm3
movdqu xmm3, xmmword [esp + 0x138]
paddq xmm5, xmm3
shufps xmm2, xmm0, 0x1b
movdqu xmm3, xmmword [esp + 4]
paddq xmm3, xmm1
movdqu xmmword [esp + 4], xmm3
pxor xmm7, xmm3
movdqa xmm3, xmm7
psrlq xmm3, 0x18
psllq xmm7, 0x28
por xmm7, xmm3
movdqa xmm0, xmm5
paddq xmm0, xmm6
pshufd xmm3, xmm0, 0xb1
xorps xmm2, xmm3
movdqu xmm5, xmmword [esp + 0x1c]
paddq xmm5, xmm2
pxor xmm6, xmm5
movdqa xmm3, xmm6
psllq xmm6, 0x28
psrlq xmm3, 0x18
por xmm6, xmm3
movdqu xmm4, xmmword [esp + 0xb0]
paddq xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x58]
paddq xmm0, xmm7
movdqu xmmword [esp + 0x58], xmm0
pxor xmm1, xmm0
movdqa xmm3, xmm1
psrlq xmm3, 0x10
psllq xmm1, 0x30
por xmm1, xmm3
paddq xmm4, xmm6
movdqu xmmword [esp + 0xb0], xmm4
pxor xmm2, xmm4
movdqa xmm3, xmm2
psrlq xmm3, 0x10
psllq xmm2, 0x30
por xmm2, xmm3
paddq xmm5, xmm2
movdqu xmmword [esp + 0x1c], xmm5
movdqu xmm4, xmmword [esp + 4]
paddq xmm4, xmm1
movdqu xmmword [esp + 4], xmm4
movdqa xmm3, xmm7
shufps xmm3, xmm6, 0x4e
shufps xmm4, xmm5, 0x4e
xorps xmm4, xmm3
movaps xmm3, xmm4
paddq xmm4, xmm4
psrlq xmm3, 0x3f
por xmm4, xmm3
shufps xmm6, xmm7, 0x4e
movups xmm0, xmmword [esp + 4]
shufps xmm5, xmm0, 0x4e
xorps xmm5, xmm6
movaps xmm3, xmm5
paddq xmm5, xmm5
psrlq xmm3, 0x3f
por xmm5, xmm3
movdqu xmm3, xmmword [esp + 0x2d8]
movdqu xmm0, xmmword [esp + 0x58]
paddq xmm0, xmm3
paddq xmm0, xmm4
movdqu xmm3, xmmword [esp + 0xc0]
paddq xmm3, xmm0
movdqu xmmword [esp + 0xc0], xmm3
pshufd xmm6, xmm0, 0xb1
movdqa xmm3, xmm2
shufps xmm3, xmm1, 0x1b
xorps xmm3, xmm6
movdqu xmm6, xmmword [esp + 0x108]
movdqu xmm7, xmmword [esp + 0x1dc]
movdqu xmm0, xmmword [esp + 0xb0]
paddq xmm7, xmm0
shufps xmm1, xmm2, 0x1b
movdqu xmm0, xmmword [esp + 0x1c]
paddq xmm0, xmm3
movdqu xmmword [esp + 0x1c], xmm0
pxor xmm4, xmm0
movdqa xmm2, xmm4
psrlq xmm2, 0x18
psllq xmm4, 0x28
por xmm4, xmm2
paddq xmm7, xmm5
pshufd xmm2, xmm7, 0xb1
xorps xmm1, xmm2
movdqu xmm0, xmmword [esp + 4]
paddq xmm0, xmm1
pxor xmm5, xmm0
movdqa xmm2, xmm5
psllq xmm5, 0x28
psrlq xmm2, 0x18
por xmm5, xmm2
paddq xmm6, xmm7
movdqu xmm7, xmmword [esp + 0xc0]
paddq xmm7, xmm4
movdqu xmm2, xmmword [esp + 0x3ec]
pxor xmm2, xmm7
movdqu xmmword [esp + 0x3ec], xmm2
pxor xmm7, xmm3
movdqa xmm3, xmm7
paddq xmm6, xmm5
pxor xmm1, xmm6
movdqu xmm2, xmmword [esp + 0x3fc]
pxor xmm6, xmm2
movdqa xmm2, xmm1
psrlq xmm2, 0x10
psllq xmm1, 0x30
por xmm1, xmm2
movdqa xmm2, xmm7
psrlq xmm2, 0x10
psllq xmm3, 0x30
por xmm3, xmm2
movdqu xmmword [esp + 0xc0], xmm3
movdqa xmm7, xmm0
paddq xmm7, xmm1
movdqu xmmword [esp + 4], xmm7
movdqa xmm2, xmm5
shufps xmm2, xmm4, 0x4e
movdqu xmm0, xmmword [esp + 0x1c]
paddq xmm0, xmm3
movdqa xmm3, xmm7
shufps xmm3, xmm0, 0x4e
xorps xmm3, xmm2
movaps xmm2, xmm3
psrlq xmm2, 0x3f
paddq xmm3, xmm3
por xmm3, xmm2
movups xmm2, xmmword [esp + 0xc0]
shufps xmm2, xmm1, 0x4e
movups xmm7, xmmword [esp + 0x40c]
xorps xmm2, xmm7
shufps xmm4, xmm5, 0x4e
movups xmm5, xmmword [esp + 0x3ec]
movups xmm7, xmmword [esp + 4]
xorps xmm5, xmm7
movups xmmword [esp + 0x3ec], xmm5
pxor xmm6, xmm0
shufps xmm0, xmm7, 0x4e
xorps xmm0, xmm4
movaps xmm4, xmm0
psrlq xmm4, 0x3f
paddq xmm0, xmm0
por xmm0, xmm4
pxor xmm2, xmm3
movdqu xmm3, xmmword [esp + 0x3ec]
mov eax, dword [esp + 0x388]
mov ebp, dword [esp + 0x290]
mov esi, ebp
mov dword [eax + 0x40], ebp
mov dword [eax + 0x44], edx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], edi
movdqu xmmword [eax], xmm3
movdqu xmmword [eax + 0x10], xmm6
movups xmm4, xmmword [esp + 0xc0]
shufps xmm1, xmm4, 0x4e
movdqu xmmword [eax + 0x20], xmm2
movups xmm4, xmmword [esp + 0x41c]
xorps xmm1, xmm4
pxor xmm1, xmm0
add ebx, dword [esp + 0x284]
movdqu xmmword [eax + 0x30], xmm1
movdqa xmm5, xmm6
movdqa xmm4, xmm2
movdqa xmm0, xmm1
mov eax, ebx
cmp dword [esp + 0x440], ebx
jne 0x651ec0
add esp, 0x42c
pop esi
pop edi
pop ebx
pop ebp
ret