Function at 0x40ec50
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x84
mov eax, dword [ebp + 8]
push ebx
mov ecx, 1
push esi
push edi
mov dword [esp + 0x38], edx
test byte [0x46ce80], cl
jne 0x40ecb3
or dword [0x46ce80], ecx
mov ecx, 0x6a09e667
mov esi, 0xbb67ae85
mov edi, 0x3c6ef372
mov ebx, 0xa54ff53a
movd xmm0, ebx
movd xmm1, edi
movd xmm2, esi
movd xmm3, ecx
punpckldq xmm2, xmm0
punpckldq xmm3, xmm1
punpckldq xmm3, xmm2
movdqa xmmword [0x46ce70], xmm3
jmp 0x40ecbb
movdqa xmm3, xmmword [0x46ce70]
mov ecx, 2
test byte [0x46ce80], cl
jne 0x40ed08
or dword [0x46ce80], ecx
mov ecx, 0x510e527f
mov esi, 0x9b05688c
mov edi, 0x1f83d9ab
mov ebx, 0x5be0cd19
movd xmm0, ebx
movd xmm1, edi
movd xmm4, esi
movd xmm2, ecx
punpckldq xmm4, xmm0
punpckldq xmm2, xmm1
punpckldq xmm2, xmm4
movdqa xmmword [0x46ce60], xmm2
jmp 0x40ed10
movdqa xmm2, xmmword [0x46ce60]
mov ecx, dword [edx + 0xf4]
mov edx, dword [edx + 0xf8]
movdqa xmm1, xmmword [edx]
movdqa xmm0, xmmword [ecx]
movdqa xmm4, xmmword [ecx + 0x10]
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 xmm2, xmm1
movd xmm5, edx
movd xmm1, ecx
mov dword [esp + 0x24], ebx
mov ebx, dword [eax + 0x14]
movd xmm6, esi
movd xmm7, edi
mov dword [esp + 0x28], ebx
mov ebx, dword [eax + 0xc]
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x30], ebx
mov ebx, dword [eax + 4]
punpckldq xmm6, xmm1
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm0, xmm7
paddd xmm0, xmm4
pxor xmm2, xmm0
movdqa xmm1, xmm2
psrld xmm1, 0x10
pslld xmm2, 0x10
pxor xmm1, xmm2
paddd xmm3, xmm1
movdqa xmm2, xmm3
movdqa xmmword [esp + 0x60], xmm2
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x24]
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 + 0x28]
movd xmm5, ebx
mov ebx, dword [esp + 0x30]
movd xmm6, ebx
mov ebx, dword [esp + 0x10]
movd xmm7, ebx
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + 0x30]
punpckldq xmm6, xmm3
mov dword [esp + 0xc], 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 + 0x60]
paddd xmm1, xmm3
movdqa xmm5, xmm1
pxor xmm2, xmm5
movdqa xmm1, xmm2
mov dword [esp + 0x34], ebx
mov ebx, dword [eax + 0x20]
psrld xmm1, 7
pslld xmm2, 0x19
pxor xmm1, xmm2
pshufd xmm2, xmm5, 0x4e
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x14]
pshufd xmm3, xmm3, 0x93
movdqa xmmword [esp + 0x60], xmm2
pshufd xmm1, xmm1, 0x39
movd xmm2, ebx
mov ebx, dword [esp + 0xc]
movd xmm5, ebx
mov ebx, dword [esp + 0x34]
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, xmm2
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 xmm2, xmm0
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
movd xmm6, ebx
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x2c]
movd xmm7, ebx
mov ebx, dword [esp + 0x20]
movd xmm3, eax
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
punpckldq xmm7, xmm6
paddd xmm2, xmm7
movd xmm7, dword [esp + 0x14]
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm0, ebx
mov ebx, dword [esp + 0x2c]
movd xmm5, ebx
movd xmm6, edx
pshufd xmm3, xmm3, 0x39
punpckldq xmm7, xmm5
punpckldq xmm6, xmm0
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
movdqa xmmword [esp + 0x60], xmm3
pxor xmm1, xmm3
movd xmm6, dword [esp + 0x18]
movd xmm7, dword [esp + 0x34]
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
mov ebx, dword [esp + 0x1c]
movd xmm3, ecx
movd xmm5, eax
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
movd xmm7, dword [esp + 0x10]
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, dword [esp + 0x28]
movd xmm5, ebx
pshufd xmm3, xmm3, 0x93
movd xmm6, edi
punpckldq xmm7, xmm5
movd xmm5, dword [esp + 0x24]
punpckldq xmm6, xmm0
punpckldq xmm7, xmm6
paddd xmm2, xmm7
movd xmm7, dword [esp + 0xc]
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, dword [esp + 0x30]
movd xmm6, esi
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
pshufd xmm3, xmm3, 0x39
movd xmm0, eax
mov ebx, dword [esp + 0x28]
movd xmm5, ebx
mov ebx, dword [esp + 0xc]
movd xmm6, ebx
mov ebx, dword [esp + 0x1c]
movd xmm7, ebx
mov ebx, dword [esp + 0x20]
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x18]
movd xmm7, ebx
mov ebx, dword [esp + 0x2c]
movd xmm5, esi
movd xmm6, edi
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, ebx
mov ebx, dword [esp + 0x24]
movd xmm5, ebx
mov ebx, dword [esp + 0x30]
movd xmm6, ebx
mov ebx, dword [esp + 0x34]
movd xmm7, ebx
mov ebx, dword [esp + 0x10]
pshufd xmm3, xmm3, 0x93
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, edx
movd xmm5, ebx
mov ebx, dword [esp + 0x14]
movd xmm7, ebx
mov ebx, dword [esp + 0x1c]
movd xmm6, ecx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm0, ebx
mov ebx, dword [esp + 0x20]
movd xmm5, ebx
mov ebx, dword [esp + 0x30]
movd xmm6, ebx
mov ebx, dword [esp + 0x24]
movd xmm7, ebx
mov ebx, dword [esp + 0x14]
pshufd xmm3, xmm3, 0x39
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0xc]
movd xmm5, ebx
mov ebx, dword [esp + 0x10]
movd xmm6, ebx
mov ebx, dword [esp + 0x2c]
movd xmm7, ebx
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm3, xmm3, 0x93
pshufd xmm1, xmm0, 0x39
mov ebx, dword [esp + 0x28]
movd xmm6, ebx
mov ebx, dword [esp + 0x18]
movd xmm5, edx
movd xmm0, eax
movd xmm7, esi
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x34]
movd xmm6, ebx
movd xmm5, edi
movd xmm7, ecx
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm0, ebx
mov ebx, dword [esp + 0x28]
movd xmm6, ebx
mov ebx, dword [esp + 0x2c]
movd xmm5, esi
movd xmm7, ebx
mov ebx, dword [esp + 0x24]
pshufd xmm3, xmm3, 0x39
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movd xmm5, edx
movd xmm7, edi
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, eax
movd xmm6, ebx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
mov ebx, dword [esp + 0x30]
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, ebx
mov ebx, dword [esp + 0x1c]
movd xmm6, ebx
mov ebx, dword [esp + 0x14]
movd xmm7, ebx
mov ebx, dword [esp + 0x20]
movd xmm5, ecx
pshufd xmm3, xmm3, 0x93
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x18]
movd xmm5, ebx
mov ebx, dword [esp + 0xc]
movd xmm6, ebx
mov ebx, dword [esp + 0x10]
movd xmm7, ebx
mov ebx, dword [esp + 0x18]
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
pshufd xmm3, xmm3, 0x39
movd xmm0, ebx
movd xmm5, edi
movd xmm6, ecx
movd xmm7, esi
mov ebx, dword [esp + 0x30]
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x1c]
movd xmm5, ebx
mov ebx, dword [esp + 0x34]
movd xmm6, ebx
mov ebx, dword [esp + 0xc]
movd xmm7, ebx
mov ebx, dword [esp + 0x10]
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, ebx
mov ebx, dword [esp + 0x24]
movd xmm6, ebx
mov ebx, dword [esp + 0x2c]
movd xmm5, eax
movd xmm7, edx
pshufd xmm3, xmm3, 0x93
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x14]
movd xmm5, ebx
mov ebx, dword [esp + 0x28]
movd xmm6, ebx
mov ebx, dword [esp + 0x20]
movd xmm7, ebx
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
mov ebx, dword [esp + 0x14]
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movd xmm5, ebx
mov ebx, dword [esp + 0x10]
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm6, ebx
mov ebx, dword [esp + 0xc]
movd xmm7, ebx
mov ebx, dword [esp + 0x34]
movd xmm0, edx
pshufd xmm3, xmm3, 0x39
punpckldq xmm7, xmm5
punpckldq xmm6, xmm0
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x20]
movd xmm5, ebx
mov ebx, dword [esp + 0x28]
movd xmm7, ebx
mov ebx, dword [esp + 0x18]
movd xmm6, eax
punpckldq xmm7, xmm5
punpckldq xmm6, xmm3
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, ebx
mov ebx, dword [esp + 0x2c]
pshufd xmm3, xmm3, 0x93
movd xmm5, ebx
movd xmm6, ecx
movd xmm7, edi
mov ebx, dword [esp + 0x1c]
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x30]
movd xmm6, ebx
mov ebx, dword [esp + 0x24]
movd xmm7, ebx
mov ebx, dword [esp + 0x30]
movd xmm5, esi
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm0, ebx
mov ebx, dword [esp + 0xc]
movd xmm5, ebx
mov ebx, dword [esp + 0x24]
movd xmm6, ebx
mov ebx, dword [esp + 0x20]
movd xmm7, ebx
mov ebx, dword [esp + 0x2c]
pshufd xmm3, xmm3, 0x39
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x10]
movd xmm5, ebx
mov ebx, dword [esp + 0x14]
movd xmm6, ebx
mov ebx, dword [esp + 0x1c]
movd xmm7, ebx
punpckldq xmm6, xmm3
mov ebx, dword [esp + 0x18]
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm5, ebx
mov ebx, dword [esp + 0x28]
movd xmm7, ebx
mov ebx, dword [esp + 0x34]
movd xmm0, esi
pshufd xmm3, xmm3, 0x93
movd xmm6, eax
punpckldq xmm7, xmm5
movd xmm5, ecx
punpckldq xmm6, xmm0
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x1c]
movd xmm6, edx
movd xmm7, edi
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movd xmm5, ebx
mov ebx, dword [esp + 0x14]
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm0, edi
movd xmm6, ebx
movd xmm7, ecx
pshufd xmm3, xmm3, 0x39
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
mov ebx, dword [esp + 0x18]
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x30]
movd xmm5, ebx
mov ebx, dword [esp + 0x2c]
movd xmm6, ebx
mov ebx, dword [esp + 0x34]
movd xmm7, eax
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, ebx
mov ebx, dword [esp + 0x10]
movd xmm5, ebx
mov ebx, dword [esp + 0x20]
movd xmm6, ebx
mov ebx, dword [esp + 0xc]
movd xmm7, ebx
mov ebx, dword [esp + 0x28]
pshufd xmm3, xmm3, 0x93
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm3, ebx
mov ebx, dword [esp + 0x24]
movd xmm5, edx
movd xmm6, ebx
movd xmm7, esi
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
mov ebx, dword [esp + 0x10]
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, 7
pslld xmm1, 0x19
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x93
movd xmm0, ebx
mov ebx, dword [esp + 0x24]
movd xmm5, ebx
mov ebx, dword [esp + 0x18]
movd xmm6, ebx
mov ebx, dword [esp + 0x34]
movd xmm7, ebx
mov ebx, dword [esp + 0x28]
pshufd xmm3, xmm3, 0x39
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm5, ecx
mov ecx, dword [esp + 0x20]
movd xmm3, ebx
movd xmm6, edx
mov edx, dword [esp + 0x30]
movd xmm7, esi
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
movdqa xmmword [esp + 0x60], xmm1
pshufd xmm1, xmm0, 0x39
movd xmm0, ecx
mov ecx, dword [esp + 0x2c]
movd xmm5, edx
movd xmm6, ecx
movd xmm7, eax
pshufd xmm3, xmm3, 0x93
punpckldq xmm6, xmm0
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm3, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x10
pslld xmm3, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [esp + 0x60]
paddd xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmm1
pslld xmm3, 0x14
psrld xmm1, 0xc
pxor xmm1, xmm3
movd xmm5, edx
movd xmm3, edi
movd xmm6, eax
movd xmm7, ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0xf4]
pop edi
pop esi
punpckldq xmm6, xmm3
punpckldq xmm7, xmm5
punpckldq xmm7, xmm6
paddd xmm2, xmm7
paddd xmm2, xmm1
pxor xmm0, xmm2
movdqa xmm3, xmm0
pslld xmm0, 0x18
psrld xmm3, 8
pxor xmm3, xmm0
movdqa xmm0, xmmword [esp + 0x58]
paddd xmm0, xmm3
movdqa xmm5, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmm1
pslld xmm1, 0x19
psrld xmm0, 7
pxor xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
pxor xmm2, xmm1
movdqa xmm1, xmmword [esp + 0x78]
pxor xmm1, xmm2
movdqa xmmword [eax], xmm1
mov edx, dword [ecx + 0xf4]
pshufd xmm3, xmm3, 0x39
pshufd xmm0, xmm0, 0x93
add edx, 0x10
pxor xmm0, xmm3
pxor xmm4, xmm0
movdqa xmmword [edx], xmm4
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4