Function at 0x40374d
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
sub esp, 0x84
test byte [0x42c2a0], 1
push ebx
push esi
push edi
jne 0x4037ac
or dword [0x42c2a0], 1
mov ecx, 0x6a09e667
mov esi, 0xbb67ae85
mov edi, 0x3c6ef372
mov ebx, 0xa54ff53a
movd xmm0, ebx
movd xmm1, edi
movd xmm3, esi
movd xmm2, ecx
punpckldq xmm3, xmm0
punpckldq xmm2, xmm1
punpckldq xmm2, xmm3
movdqa xmmword [0x42c290], xmm2
jmp 0x4037b4
movdqa xmm2, xmmword [0x42c290]
test byte [0x42c2a0], 2
jne 0x4037fe
or dword [0x42c2a0], 2
mov ecx, 0x510e527f
mov esi, 0x9b05688c
mov edi, 0x1f83d9ab
mov ebx, 0x5be0cd19
movd xmm0, ebx
movd xmm3, edi
movd xmm4, esi
movd xmm1, ecx
punpckldq xmm4, xmm0
punpckldq xmm1, xmm3
punpckldq xmm1, xmm4
movdqa xmmword [0x42c280], xmm1
jmp 0x403806
movdqa xmm1, xmmword [0x42c280]
mov ecx, dword [edx + 0xf4]
movdqa xmm0, xmmword [ecx]
movdqa xmm4, xmmword [ecx + 0x10]
mov ecx, dword [edx + 0xf8]
movdqa xmm3, xmmword [ecx]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 8]
mov edi, dword [eax]
mov ebx, dword [eax + 0x1c]
pxor xmm1, xmm3
movd xmm5, edx
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + 0x14]
movd xmm3, ecx
movd xmm6, esi
movd xmm7, edi
mov dword [esp + 0x1c], ebx
mov ebx, dword [eax + 0xc]
movdqa xmmword [esp + 0x40], xmm0
mov dword [esp + 0x24], ebx
mov ebx, dword [eax + 4]
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm0, xmm7
paddd xmm0, xmm4
pxor xmm1, xmm0
movdqa xmm3, xmm1
pslld xmm3, 0x10
psrld xmm1, 0x10
pxor xmm1, xmm3
paddd xmm2, xmm1
movdqa xmmword [esp + 0x70], xmm2
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
movdqa xmm3, xmm4
pxor xmm3, xmm2
movdqa xmm2, xmm3
pslld xmm3, 0x14
psrld xmm2, 0xc
pxor xmm2, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x1c]
movd xmm5, ebx
mov ebx, dword [esp + 0x24]
movd xmm6, ebx
mov ebx, dword [esp + 0x10]
movd xmm7, ebx
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x30], ebx
mov ebx, dword [eax + 0x30]
punpckldq xmm6, xmm3
mov dword [esp + 0x2c], ebx
mov ebx, dword [eax + 0x28]
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm0, xmm7
paddd xmm0, xmm2
pxor xmm1, xmm0
movdqa xmm3, xmm1
pslld xmm1, 0x18
psrld xmm3, 8
pxor xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x70]
paddd xmm1, xmm3
movdqa xmm5, xmm1
pxor xmm2, xmm5
movdqa xmm1, xmm2
mov dword [esp + 0x38], ebx
mov ebx, dword [eax + 0x20]
psrld xmm1, 7
pslld xmm2, 0x19
pxor xmm1, xmm2
pshufd xmm2, xmm3, 0x93
pshufd xmm3, xmm5, 0x4e
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x30]
movdqa xmmword [esp + 0x70], xmm3
pshufd xmm1, xmm1, 0x39
movd xmm3, ebx
mov ebx, dword [esp + 0x2c]
movd xmm5, ebx
mov ebx, dword [esp + 0x38]
movd xmm6, ebx
mov ebx, dword [esp + 0x18]
movd xmm7, ebx
mov ebx, dword [eax + 0x3c]
mov dword [esp + 0x3c], ebx
mov ebx, dword [eax + 0x34]
punpckldq xmm6, xmm3
mov dword [esp + 0x20], ebx
mov ebx, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
punpckldq xmm7, xmm5
movd xmm5, dword [esp + 0x20]
punpckldq xmm7, xmm6
paddd xmm0, xmm7
paddd xmm0, xmm1
movdqa xmm3, xmm0
pxor xmm2, xmm3
movdqa xmm0, xmm2
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
movd xmm6, ebx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x28]
movd xmm7, ebx
mov ebx, dword [esp + 0x20]
movd xmm2, eax
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
movd xmm7, dword [esp + 0x30]
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x39
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
movd xmm2, ebx
mov ebx, dword [esp + 0x28]
pshufd xmm1, xmm5, 0x93
movd xmm5, ebx
movd xmm6, edx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
movdqa xmmword [esp + 0x70], xmm2
pxor xmm1, xmm2
movd xmm6, dword [esp + 0x18]
movd xmm7, dword [esp + 0x38]
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
mov ebx, dword [esp + 0x34]
movd xmm2, ecx
movd xmm5, eax
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
movd xmm7, dword [esp + 0x10]
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
pshufd xmm0, xmm2, 0x93
movd xmm2, dword [esp + 0x1c]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm5, ebx
movd xmm6, edi
mov ebx, dword [esp + 0x1c]
punpckldq xmm7, xmm5
movd xmm5, dword [esp + 0x14]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
movd xmm7, dword [esp + 0x2c]
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, dword [esp + 0x24]
movd xmm6, esi
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
pshufd xmm0, xmm2, 0x39
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm2, eax
movd xmm5, ebx
mov ebx, dword [esp + 0x2c]
movd xmm6, ebx
mov ebx, dword [esp + 0x34]
movd xmm7, ebx
mov ebx, dword [esp + 0x20]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x18]
movd xmm7, ebx
mov ebx, dword [esp + 0x28]
movd xmm5, esi
movd xmm6, edi
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x93
pslld xmm1, 0x19
movd xmm2, ebx
mov ebx, dword [esp + 0x14]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm5, ebx
mov ebx, dword [esp + 0x24]
movd xmm6, ebx
mov ebx, dword [esp + 0x38]
movd xmm7, ebx
mov ebx, dword [esp + 0x10]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, edx
movd xmm5, ebx
movd xmm6, ecx
mov ebx, dword [esp + 0x30]
punpckldq xmm6, xmm2
movd xmm7, ebx
mov ebx, dword [esp + 0x34]
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x39
pslld xmm1, 0x19
movd xmm2, ebx
mov ebx, dword [esp + 0x20]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm5, ebx
mov ebx, dword [esp + 0x24]
movd xmm6, ebx
mov ebx, dword [esp + 0x14]
movd xmm7, ebx
mov ebx, dword [esp + 0x30]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x2c]
movd xmm5, ebx
mov ebx, dword [esp + 0x10]
movd xmm6, ebx
mov ebx, dword [esp + 0x28]
movd xmm7, ebx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
pshufd xmm0, xmm2, 0x93
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm2, eax
mov ebx, dword [esp + 0x1c]
movd xmm6, ebx
mov ebx, dword [esp + 0x18]
movd xmm5, edx
movd xmm7, esi
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x38]
movd xmm6, ebx
movd xmm5, edi
movd xmm7, ecx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
pshufd xmm0, xmm2, 0x39
movdqa xmm5, xmm1
pslld xmm1, 0x19
movd xmm2, ebx
mov ebx, dword [esp + 0x1c]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
movd xmm6, ebx
mov ebx, dword [esp + 0x28]
pshufd xmm1, xmm5, 0x93
movd xmm5, esi
movd xmm7, ebx
mov ebx, dword [esp + 0x14]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, eax
movd xmm5, edx
movd xmm6, ebx
movd xmm7, edi
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
mov ebx, dword [esp + 0x24]
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
pshufd xmm0, xmm2, 0x93
movdqa xmm5, xmm1
pslld xmm1, 0x19
movd xmm2, ebx
mov ebx, dword [esp + 0x34]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
movd xmm6, ebx
mov ebx, dword [esp + 0x30]
pshufd xmm1, xmm5, 0x39
movd xmm7, ebx
mov ebx, dword [esp + 0x20]
movd xmm5, ecx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x18]
movd xmm5, ebx
mov ebx, dword [esp + 0x2c]
movd xmm6, ebx
mov ebx, dword [esp + 0x10]
movd xmm7, ebx
mov ebx, dword [esp + 0x18]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm5, edi
movd xmm7, esi
pshufd xmm0, xmm2, 0x39
movd xmm2, ebx
movd xmm6, ecx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
mov ebx, dword [esp + 0x24]
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x34]
movd xmm5, ebx
mov ebx, dword [esp + 0x38]
movd xmm6, ebx
mov ebx, dword [esp + 0x2c]
movd xmm7, ebx
mov ebx, dword [esp + 0x10]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x93
pslld xmm1, 0x19
movd xmm2, ebx
mov ebx, dword [esp + 0x14]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm6, ebx
mov ebx, dword [esp + 0x28]
movd xmm5, eax
movd xmm7, edx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x30]
movd xmm5, ebx
mov ebx, dword [esp + 0x1c]
movd xmm6, ebx
mov ebx, dword [esp + 0x20]
movd xmm7, ebx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
mov ebx, dword [esp + 0x30]
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm5, ebx
mov ebx, dword [esp + 0x10]
pshufd xmm0, xmm2, 0x39
movd xmm6, ebx
mov ebx, dword [esp + 0x2c]
movd xmm7, ebx
mov ebx, dword [esp + 0x38]
movd xmm2, edx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x20]
movd xmm5, ebx
mov ebx, dword [esp + 0x1c]
movd xmm7, ebx
mov ebx, dword [esp + 0x18]
movd xmm6, eax
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
pshufd xmm0, xmm2, 0x93
movd xmm2, ebx
mov ebx, dword [esp + 0x28]
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm5, ebx
movd xmm7, edi
movd xmm6, ecx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
mov ebx, dword [esp + 0x34]
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x24]
movd xmm6, ebx
mov ebx, dword [esp + 0x14]
movd xmm7, ebx
mov ebx, dword [esp + 0x24]
movd xmm5, esi
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x39
movd xmm2, ebx
mov ebx, dword [esp + 0x2c]
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm5, ebx
mov ebx, dword [esp + 0x14]
movd xmm6, ebx
mov ebx, dword [esp + 0x20]
movd xmm7, ebx
mov ebx, dword [esp + 0x28]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x10]
movd xmm5, ebx
mov ebx, dword [esp + 0x30]
movd xmm6, ebx
mov ebx, dword [esp + 0x34]
movd xmm7, ebx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
mov ebx, dword [esp + 0x18]
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm0, xmm2, 0x93
pshufd xmm1, xmm5, 0x39
movd xmm5, ebx
mov ebx, dword [esp + 0x1c]
movd xmm7, ebx
mov ebx, dword [esp + 0x38]
movd xmm2, esi
movd xmm6, eax
punpckldq xmm7, xmm5
movd xmm5, ecx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x34]
movd xmm6, edx
movd xmm7, edi
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm5, ebx
mov ebx, dword [esp + 0x30]
pshufd xmm0, xmm2, 0x39
movd xmm2, edi
movd xmm6, ebx
movd xmm7, ecx
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
mov ebx, dword [esp + 0x18]
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x24]
movd xmm5, ebx
mov ebx, dword [esp + 0x28]
movd xmm6, ebx
mov ebx, dword [esp + 0x38]
movd xmm7, eax
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x93
pslld xmm1, 0x19
movd xmm2, ebx
mov ebx, dword [esp + 0x10]
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm5, ebx
mov ebx, dword [esp + 0x20]
movd xmm6, ebx
mov ebx, dword [esp + 0x2c]
movd xmm7, ebx
mov ebx, dword [esp + 0x1c]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm2, ebx
mov ebx, dword [esp + 0x14]
movd xmm5, edx
movd xmm6, ebx
movd xmm7, esi
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
mov ebx, dword [esp + 0x10]
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pshufd xmm0, xmm2, 0x39
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x93
movd xmm2, ebx
mov ebx, dword [esp + 0x14]
movd xmm5, ebx
mov ebx, dword [esp + 0x18]
movd xmm6, ebx
mov ebx, dword [esp + 0x38]
movd xmm7, ebx
mov ebx, dword [esp + 0x1c]
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm5, ecx
mov ecx, dword [esp + 0x20]
movd xmm2, ebx
movd xmm6, edx
movd xmm7, esi
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm0, xmm2
movdqa xmm6, xmm0
pxor xmm1, xmm6
movdqa xmm5, xmm1
pslld xmm1, 0x19
psrld xmm5, 7
pxor xmm5, xmm1
pshufd xmm1, xmm6, 0x4e
pshufd xmm0, xmm2, 0x93
movd xmm2, ecx
mov ecx, dword [esp + 0x24]
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x39
movd xmm5, ecx
mov ecx, dword [esp + 0x28]
movd xmm6, ecx
movd xmm7, eax
punpckldq xmm6, xmm2
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm3, xmm7
mov eax, dword [esp + 0x2c]
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm0, 0x10
pslld xmm2, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm2, xmm0
pxor xmm1, xmm2
movd xmm5, eax
mov eax, dword [esp + 0x30]
movdqa xmmword [esp + 0x70], xmm2
mov ecx, dword [ebp + 8]
movdqa xmm2, xmm1
pslld xmm2, 0x14
movd xmm6, eax
mov eax, dword [esp + 0x34]
psrld xmm1, 0xc
pxor xmm1, xmm2
movd xmm7, eax
mov eax, dword [ecx + 0xf4]
movd xmm2, edi
pop edi
pop esi
pop ebx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm2
punpckldq xmm7, xmm6
paddd xmm3, xmm7
paddd xmm3, xmm1
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm0, 0x18
psrld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x64]
paddd xmm0, xmm2
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
pxor xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x34]
pxor xmm1, xmm3
movdqa xmmword [eax], xmm1
mov eax, dword [ecx + 0xf4]
pshufd xmm2, xmm2, 0x39
pshufd xmm0, xmm0, 0x93
add eax, 0x10
pxor xmm0, xmm2
pxor xmm4, xmm0
movdqa xmmword [eax], xmm4
xor eax, eax
mov esp, ebp
pop ebp
ret 8