Function at 0x100c5020
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x34
mov eax, dword [ebp + 8]
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmmword [esp], xmm0
movdqu xmmword [esp + 0x10], xmm1
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
movdqa xmm6, xmmword [0x100c5010]
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmm2, xmmword [eax + 0x20]
movdqu xmm3, xmmword [eax + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esp]
pshufb xmm0, xmm6
movdqa xmm7, xmm0
paddd xmm7, xmmword [ebx]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x14]
xor edi, dword [esp + 0x18]
and edi, eax
xor edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 0x14]
and edi, eax
xor edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 8], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0xc]
xor edi, dword [esp + 0x10]
and edi, eax
xor edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 4], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp]
mov dword [esp + 0x10], edx
mov dword [esp], eax
pshufb xmm1, xmm6
movdqa xmm7, xmm1
paddd xmm7, xmmword [ebx + 0x10]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 4]
xor edi, dword [esp + 8]
and edi, eax
xor edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp]
xor edi, dword [esp + 4]
and edi, eax
xor edi, dword [esp + 4]
mov eax, dword [esp + 8]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 0x18], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x1c]
xor edi, dword [esp]
and edi, eax
xor edi, dword [esp]
mov eax, dword [esp + 4]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 0x14], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x18]
xor edi, dword [esp + 0x1c]
and edi, eax
xor edi, dword [esp + 0x1c]
mov eax, dword [esp]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 0x10], eax
pshufb xmm2, xmm6
movdqa xmm7, xmm2
paddd xmm7, xmmword [ebx + 0x20]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x14]
xor edi, dword [esp + 0x18]
and edi, eax
xor edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 0x14]
and edi, eax
xor edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 8], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0xc]
xor edi, dword [esp + 0x10]
and edi, eax
xor edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 4], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp]
mov dword [esp + 0x10], edx
mov dword [esp], eax
pshufb xmm3, xmm6
movdqa xmm7, xmm3
paddd xmm7, xmmword [ebx + 0x30]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 4]
xor edi, dword [esp + 8]
and edi, eax
xor edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp]
xor edi, dword [esp + 4]
and edi, eax
xor edi, dword [esp + 4]
mov eax, dword [esp + 8]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 0x18], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x1c]
xor edi, dword [esp]
and edi, eax
xor edi, dword [esp]
mov eax, dword [esp + 4]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 0x14], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x18]
xor edi, dword [esp + 0x1c]
and edi, eax
xor edi, dword [esp + 0x1c]
mov eax, dword [esp]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], 0x30
add ebx, 0x40
pshufd xmm4, xmm3, 0xfa
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
pshufd xmm5, xmm0, 0xa5
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
pshufd xmm7, xmm0, 0x50
pshufd xmm6, xmm2, 0xa5
paddd xmm7, xmm4
paddd xmm7, xmm5
paddd xmm7, xmm6
pshufd xmm4, xmm7, 0xa0
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
movdqa xmm5, xmm1
palignr xmm5, xmm0, 0xc
pshufd xmm5, xmm5, 0x50
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
movdqa xmm6, xmm3
palignr xmm6, xmm2, 0xc
pshufd xmm0, xmm0, 0xfa
pshufd xmm6, xmm6, 0x50
paddd xmm0, xmm4
paddd xmm0, xmm5
paddd xmm0, xmm6
pshufd xmm7, xmm7, 0x88
pshufd xmm0, xmm0, 0x88
palignr xmm0, xmm7, 8
movdqa xmm7, xmm0
paddd xmm7, xmmword [ebx]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x14]
xor edi, dword [esp + 0x18]
and edi, eax
xor edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 0x14]
and edi, eax
xor edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 8], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0xc]
xor edi, dword [esp + 0x10]
and edi, eax
xor edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 4], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp]
mov dword [esp + 0x10], edx
mov dword [esp], eax
pshufd xmm4, xmm0, 0xfa
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
pshufd xmm5, xmm1, 0xa5
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
pshufd xmm7, xmm1, 0x50
pshufd xmm6, xmm3, 0xa5
paddd xmm7, xmm4
paddd xmm7, xmm5
paddd xmm7, xmm6
pshufd xmm4, xmm7, 0xa0
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
movdqa xmm5, xmm2
palignr xmm5, xmm1, 0xc
pshufd xmm5, xmm5, 0x50
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
movdqa xmm6, xmm0
palignr xmm6, xmm3, 0xc
pshufd xmm1, xmm1, 0xfa
pshufd xmm6, xmm6, 0x50
paddd xmm1, xmm4
paddd xmm1, xmm5
paddd xmm1, xmm6
pshufd xmm7, xmm7, 0x88
pshufd xmm1, xmm1, 0x88
palignr xmm1, xmm7, 8
movdqa xmm7, xmm1
paddd xmm7, xmmword [ebx + 0x10]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 4]
xor edi, dword [esp + 8]
and edi, eax
xor edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp]
xor edi, dword [esp + 4]
and edi, eax
xor edi, dword [esp + 4]
mov eax, dword [esp + 8]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 0x18], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x1c]
xor edi, dword [esp]
and edi, eax
xor edi, dword [esp]
mov eax, dword [esp + 4]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 0x14], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x18]
xor edi, dword [esp + 0x1c]
and edi, eax
xor edi, dword [esp + 0x1c]
mov eax, dword [esp]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 0x10], eax
pshufd xmm4, xmm1, 0xfa
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
pshufd xmm5, xmm2, 0xa5
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
pshufd xmm7, xmm2, 0x50
pshufd xmm6, xmm0, 0xa5
paddd xmm7, xmm4
paddd xmm7, xmm5
paddd xmm7, xmm6
pshufd xmm4, xmm7, 0xa0
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
movdqa xmm5, xmm3
palignr xmm5, xmm2, 0xc
pshufd xmm5, xmm5, 0x50
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
movdqa xmm6, xmm1
palignr xmm6, xmm0, 0xc
pshufd xmm2, xmm2, 0xfa
pshufd xmm6, xmm6, 0x50
paddd xmm2, xmm4
paddd xmm2, xmm5
paddd xmm2, xmm6
pshufd xmm7, xmm7, 0x88
pshufd xmm2, xmm2, 0x88
palignr xmm2, xmm7, 8
movdqa xmm7, xmm2
paddd xmm7, xmmword [ebx + 0x20]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x14]
xor edi, dword [esp + 0x18]
and edi, eax
xor edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 0x14]
and edi, eax
xor edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 8], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0xc]
xor edi, dword [esp + 0x10]
and edi, eax
xor edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 4], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp]
mov dword [esp + 0x10], edx
mov dword [esp], eax
pshufd xmm4, xmm2, 0xfa
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
pshufd xmm5, xmm3, 0xa5
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
pshufd xmm7, xmm3, 0x50
pshufd xmm6, xmm1, 0xa5
paddd xmm7, xmm4
paddd xmm7, xmm5
paddd xmm7, xmm6
pshufd xmm4, xmm7, 0xa0
movdqa xmm6, xmm4
psrld xmm4, 0xa
psrlq xmm6, 0x11
pxor xmm4, xmm6
psrlq xmm6, 2
pxor xmm4, xmm6
movdqa xmm5, xmm0
palignr xmm5, xmm3, 0xc
pshufd xmm5, xmm5, 0x50
movdqa xmm6, xmm5
psrld xmm5, 3
psrlq xmm6, 7
pxor xmm5, xmm6
psrlq xmm6, 0xb
pxor xmm5, xmm6
movdqa xmm6, xmm2
palignr xmm6, xmm1, 0xc
pshufd xmm3, xmm3, 0xfa
pshufd xmm6, xmm6, 0x50
paddd xmm3, xmm4
paddd xmm3, xmm5
paddd xmm3, xmm6
pshufd xmm7, xmm7, 0x88
pshufd xmm3, xmm3, 0x88
palignr xmm3, xmm7, 8
movdqa xmm7, xmm3
paddd xmm7, xmmword [ebx + 0x30]
movdqu xmmword [esp + 0x20], xmm7
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 4]
xor edi, dword [esp + 8]
and edi, eax
xor edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
add eax, esi
add eax, edi
add eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp]
xor edi, dword [esp + 4]
and edi, eax
xor edi, dword [esp + 4]
mov eax, dword [esp + 8]
add eax, esi
add eax, edi
add eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 0x18], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x1c]
xor edi, dword [esp]
and edi, eax
xor edi, dword [esp]
mov eax, dword [esp + 4]
add eax, esi
add eax, edi
add eax, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 0x14], eax
mov esi, eax
ror esi, 6
mov ecx, eax
ror ecx, 0xb
xor esi, ecx
ror ecx, 0xe
xor esi, ecx
mov edi, dword [esp + 0x18]
xor edi, dword [esp + 0x1c]
and edi, eax
xor edi, dword [esp + 0x1c]
mov eax, dword [esp]
add eax, esi
add eax, edi
add eax, dword [esp + 0x2c]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, edx
xor edi, ecx
xor ecx, esi
and edi, ecx
xor ecx, esi
xor edi, ecx
mov esi, edx
ror esi, 2
mov ecx, edx
ror ecx, 0xd
xor esi, ecx
ror ecx, 9
xor esi, ecx
lea edx, [edi + esi]
add edx, eax
add eax, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 0x10], eax
sub dword [esp + 0x30], 0x10
jg 0x100c56bd
mov eax, dword [ebp + 8]
movdqu xmm0, xmmword [esp]
movdqu xmm1, xmmword [esp + 0x10]
movdqu xmm7, xmmword [eax]
paddd xmm7, xmm0
movdqu xmmword [eax], xmm7
movdqu xmm7, xmmword [eax + 0x10]
paddd xmm7, xmm1
movdqu xmmword [eax + 0x10], xmm7
add dword [ebp + 0xc], 0x40
sub dword [ebp + 0x10], 0x40
jg 0x100c5029
add esp, 0x34
pop ebx
pop edi
pop esi
leave
ret