Function at 0x10305ab0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
cmp dword [ebp + 8], 0
mov eax, ecx
movaps xmm2, xmmword [0x1047c780]
mov dword [esp + 0xc], eax
push esi
mov eax, dword [eax]
push edi
mov dword [esp + 0x1c], edx
mov edx, dword [eax]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
je 0x10306f7c
mov eax, dword [esp + 0x1c]
add eax, 0x20
mov dword [esp + 0x1c], eax
nop dword [eax]
movups xmm0, xmmword [eax - 0x20]
xor ecx, edi
rol edx, 5
and ecx, esi
ror esi, 2
pshufhw xmm0, xmm0, 0xb1
pshuflw xmm0, xmm0, 0xb1
movaps xmm3, xmm0
xor ecx, dword [esp + 0xc]
psrlw xmm0, 8
psllw xmm3, 8
por xmm3, xmm0
movups xmm0, xmmword [eax - 0x10]
movaps xmm1, xmm3
pshufhw xmm0, xmm0, 0xb1
paddd xmm1, xmm2
pshuflw xmm0, xmm0, 0xb1
movaps xmm5, xmm0
psrlw xmm0, 8
psllw xmm5, 8
por xmm5, xmm0
movups xmm0, xmmword [eax]
movaps xmm4, xmm5
pshufhw xmm0, xmm0, 0xb1
paddd xmm4, xmm2
pshuflw xmm0, xmm0, 0xb1
movaps xmm7, xmm0
psrlw xmm0, 8
psllw xmm7, 8
por xmm7, xmm0
movups xmm0, xmmword [eax + 0x10]
movaps xmm6, xmm7
movd eax, xmm1
pshufhw xmm0, xmm0, 0xb1
paddd xmm6, xmm2
pshuflw xmm0, xmm0, 0xb1
movaps xmm2, xmm0
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
psrlw xmm0, 8
psllw xmm2, 8
mov edx, eax
mov dword [esp + 0x10], eax
mov ecx, edi
por xmm2, xmm0
rol edx, 5
movaps xmm0, xmm2
movaps xmmword [esp + 0x30], xmm2
paddd xmm0, xmmword [0x1047c780]
xor ecx, esi
and ecx, dword [esp + 8]
ror dword [esp + 8], 2
xor ecx, edi
movaps xmmword [esp + 0x60], xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
mov ecx, esi
xor ecx, dword [esp + 8]
mov edx, eax
and ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
xor ecx, esi
movd eax, xmm0
rol edx, 5
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
ror eax, 2
add edi, ecx
mov dword [esp + 0x10], eax
mov edx, edi
rol edx, 5
movaps xmm0, xmmword [esp + 0x30]
mov ecx, eax
xor ecx, dword [esp + 8]
and ecx, dword [esp + 0xc]
xor ecx, dword [esp + 8]
ror dword [esp + 0xc], 2
pshufd xmm2, xmm3, 0x4e
psrldq xmm0, 4
psrldq xmm1, 0xc
pxor xmm0, xmm7
movd eax, xmm1
punpcklqdq xmm2, xmm5
pxor xmm2, xmm3
add edx, eax
pxor xmm2, xmm0
add ecx, edx
movd eax, xmm4
add esi, ecx
xorps xmm0, xmm0
mov ecx, dword [esp + 0x10]
pcmpgtd xmm0, xmm2
xor ecx, dword [esp + 0xc]
movaps xmm3, xmm2
and ecx, edi
paddd xmm3, xmm2
xor ecx, dword [esp + 0x10]
psubd xmm3, xmm0
movaps xmm1, xmm2
ror edi, 2
pslldq xmm1, 0xc
mov edx, esi
rol edx, 5
movaps xmm0, xmm1
add edx, eax
psrld xmm0, 0x1e
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
pslld xmm1, 2
mov ecx, dword [esp + 0xc]
pxor xmm3, xmm0
xor ecx, edi
mov dword [esp + 8], eax
and ecx, esi
mov edx, eax
xor ecx, dword [esp + 0xc]
movaps xmm0, xmm4
rol edx, 5
pxor xmm3, xmm1
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm4
ror esi, 2
psrldq xmm0, 8
add edx, eax
movaps xmmword [esp + 0x20], xmm3
mov eax, dword [esp + 0x10]
add ecx, edx
paddd xmm3, xmmword [0x1047c780]
add eax, ecx
mov dword [esp + 0x10], eax
mov edx, eax
mov ecx, edi
rol edx, 5
xor ecx, esi
movd eax, xmm0
and ecx, dword [esp + 8]
ror dword [esp + 8], 2
xor ecx, edi
add edx, eax
psrldq xmm4, 0xc
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
mov ecx, esi
xor ecx, dword [esp + 8]
mov edx, eax
and ecx, dword [esp + 0x10]
rol edx, 5
xor ecx, esi
mov dword [esp + 0xc], eax
movaps xmm0, xmmword [esp + 0x20]
movd eax, xmm4
psrldq xmm0, 4
pxor xmm0, xmmword [esp + 0x30]
add edx, eax
pshufd xmm2, xmm5, 0x4e
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov dword [esp + 0x10], eax
mov ecx, eax
xor ecx, dword [esp + 8]
mov edx, edi
and ecx, dword [esp + 0xc]
xor ecx, dword [esp + 8]
ror dword [esp + 0xc], 2
punpcklqdq xmm2, xmm7
pxor xmm2, xmm5
rol edx, 5
pxor xmm2, xmm0
movd eax, xmm6
xorps xmm0, xmm0
movaps xmm4, xmm2
pcmpgtd xmm0, xmm2
paddd xmm4, xmm2
add edx, eax
psubd xmm4, xmm0
add ecx, edx
movaps xmm1, xmm2
add esi, ecx
pslldq xmm1, 0xc
mov ecx, dword [esp + 0x10]
movaps xmm0, xmm1
xor ecx, dword [esp + 0xc]
mov edx, esi
psrld xmm0, 0x1e
and ecx, edi
xor ecx, dword [esp + 0x10]
pxor xmm4, xmm0
rol edx, 5
movaps xmm0, xmm6
ror edi, 2
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm6
psrldq xmm0, 8
psrldq xmm6, 0xc
add edx, eax
pslld xmm1, 2
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
pxor xmm4, xmm1
mov ecx, dword [esp + 0xc]
mov edx, eax
xor ecx, edi
mov dword [esp + 8], eax
and ecx, esi
rol edx, 5
xor ecx, dword [esp + 0xc]
movd eax, xmm0
ror esi, 2
movaps xmmword [esp + 0x40], xmm4
paddd xmm4, xmmword [0x1047c7c0]
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
mov ecx, edi
mov edx, eax
mov dword [esp + 0x10], eax
xor ecx, esi
movd eax, xmm6
and ecx, dword [esp + 8]
rol edx, 5
xor ecx, edi
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
movaps xmm0, xmmword [esp + 0x40]
mov edx, eax
ror dword [esp + 8], 2
mov ecx, esi
xor ecx, dword [esp + 8]
and ecx, dword [esp + 0x10]
psrldq xmm0, 4
xor ecx, esi
pxor xmm0, xmmword [esp + 0x20]
pshufd xmm2, xmm7, 0x4e
punpcklqdq xmm2, xmmword [esp + 0x30]
pxor xmm2, xmm7
mov dword [esp + 0xc], eax
pxor xmm2, xmm0
rol edx, 5
xorps xmm0, xmm0
movaps xmm5, xmm2
pcmpgtd xmm0, xmm2
paddd xmm5, xmm2
psubd xmm5, xmm0
movaps xmm1, xmm2
pslldq xmm1, 0xc
movaps xmm0, xmm1
pshufd xmm2, xmmword [esp + 0x30], 0x4e
psrld xmm0, 0x1e
pslld xmm1, 2
pxor xmm5, xmm0
pxor xmm5, xmm1
movaps xmm1, xmmword [esp + 0x60]
movd eax, xmm1
movaps xmm0, xmm1
psrldq xmm0, 4
movaps xmm6, xmm5
paddd xmm6, xmmword [0x1047c7c0]
add edx, eax
movaps xmmword [esp + 0x50], xmm5
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov dword [esp + 0x10], eax
mov ecx, eax
xor ecx, dword [esp + 8]
mov edx, edi
and ecx, dword [esp + 0xc]
xor ecx, dword [esp + 8]
ror dword [esp + 0xc], 2
rol edx, 5
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
psrldq xmm1, 0xc
add edx, eax
movd eax, xmm0
add ecx, edx
add esi, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0xc]
mov edx, esi
and ecx, edi
rol edx, 5
xor ecx, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
ror edi, 2
mov ecx, dword [esp + 0xc]
mov edx, eax
mov dword [esp + 8], eax
xor ecx, edi
movd eax, xmm1
and ecx, esi
xor ecx, dword [esp + 0xc]
rol edx, 5
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
ror esi, 2
mov dword [esp + 0x10], eax
punpcklqdq xmm2, xmmword [esp + 0x20]
movaps xmm0, xmm5
pxor xmm2, xmmword [esp + 0x30]
mov edx, eax
psrldq xmm0, 4
mov ecx, edi
pxor xmm0, xmmword [esp + 0x40]
xor ecx, esi
and ecx, dword [esp + 8]
pxor xmm2, xmm0
ror dword [esp + 8], 2
xor ecx, edi
xorps xmm0, xmm0
rol edx, 5
pcmpgtd xmm0, xmm2
movd eax, xmm3
movaps xmm7, xmm2
movaps xmm1, xmm2
paddd xmm7, xmm2
pslldq xmm1, 0xc
add edx, eax
pshufd xmm2, xmmword [esp + 0x20], 0x4e
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
punpcklqdq xmm2, xmmword [esp + 0x40]
psubd xmm7, xmm0
mov dword [esp + 0xc], eax
movaps xmm0, xmm1
pxor xmm2, xmmword [esp + 0x20]
psrld xmm0, 0x1e
mov edx, eax
rol edx, 5
mov ecx, esi
xor ecx, dword [esp + 8]
pxor xmm7, xmm0
and ecx, dword [esp + 0x10]
movaps xmm0, xmm3
xor ecx, esi
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm3
psrldq xmm0, 8
psrldq xmm3, 0xc
add edx, eax
pslld xmm1, 2
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov dword [esp + 0x10], eax
mov ecx, eax
xor ecx, dword [esp + 8]
mov edx, edi
and ecx, dword [esp + 0xc]
pxor xmm7, xmm1
xor ecx, dword [esp + 8]
movaps xmm5, xmm7
ror dword [esp + 0xc], 2
paddd xmm5, xmmword [0x1047c7c0]
movd eax, xmm0
movaps xmm0, xmm7
rol edx, 5
movaps xmmword [esp + 0x30], xmm7
add edx, eax
psrldq xmm0, 4
add ecx, edx
movd eax, xmm3
add esi, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0xc]
mov edx, esi
and ecx, edi
rol edx, 5
xor ecx, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
ror edi, 2
mov dword [esp + 8], eax
pxor xmm0, xmmword [esp + 0x50]
mov edx, eax
mov ecx, dword [esp + 0xc]
pxor xmm2, xmm0
xorps xmm0, xmm0
rol edx, 5
pcmpgtd xmm0, xmm2
movd eax, xmm4
xor ecx, edi
movaps xmm7, xmm2
xor ecx, esi
paddd xmm7, xmm2
add edx, eax
ror esi, 2
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
psubd xmm7, xmm0
movaps xmm1, xmm2
mov dword [esp + 0x10], eax
pslldq xmm1, 0xc
mov edx, eax
movaps xmm0, xmm1
pshufd xmm2, xmmword [esp + 0x40], 0x4e
psrld xmm0, 0x1e
mov ecx, edi
xor ecx, esi
punpcklqdq xmm2, xmmword [esp + 0x50]
xor ecx, dword [esp + 8]
pxor xmm7, xmm0
ror dword [esp + 8], 2
movaps xmm0, xmm4
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm4
pxor xmm2, xmmword [esp + 0x40]
rol edx, 5
add edx, eax
psrldq xmm0, 8
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
pslld xmm1, 2
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0xc], eax
xor ecx, esi
xor ecx, dword [esp + 8]
pxor xmm7, xmm1
movd eax, xmm0
movaps xmm3, xmm7
paddd xmm3, xmmword [0x1047c7c0]
movaps xmm0, xmm7
rol edx, 5
add edx, eax
psrldq xmm4, 0xc
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov ecx, eax
mov dword [esp + 0x10], eax
xor ecx, dword [esp + 0xc]
mov edx, edi
xor ecx, dword [esp + 8]
movd eax, xmm4
rol edx, 5
psrldq xmm0, 4
pxor xmm0, xmmword [esp + 0x30]
add edx, eax
mov eax, dword [esp + 0xc]
pxor xmm2, xmm0
add ecx, edx
movaps xmm1, xmm2
add esi, ecx
pslldq xmm1, 0xc
ror eax, 2
movaps xmm4, xmm2
mov dword [esp + 0xc], eax
paddd xmm4, xmm2
xorps xmm0, xmm0
mov ecx, dword [esp + 0x10]
pcmpgtd xmm0, xmm2
xor ecx, eax
pshufd xmm2, xmmword [esp + 0x50], 0x4e
psubd xmm4, xmm0
movd eax, xmm6
xor ecx, edi
punpcklqdq xmm2, xmmword [esp + 0x30]
movaps xmm0, xmm1
pxor xmm2, xmmword [esp + 0x50]
psrld xmm0, 0x1e
mov edx, esi
rol edx, 5
add edx, eax
ror edi, 2
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
pslld xmm1, 2
mov ecx, dword [esp + 0xc]
pxor xmm4, xmm0
mov dword [esp + 8], eax
mov edx, eax
movaps xmm0, xmm6
rol edx, 5
psrldq xmm0, 4
xor ecx, edi
movd eax, xmm0
xor ecx, esi
movaps xmm0, xmm6
ror esi, 2
psrldq xmm0, 8
pxor xmm4, xmm1
add edx, eax
movaps xmmword [esp + 0x40], xmm4
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
paddd xmm4, xmmword [0x1047c7c0]
mov dword [esp + 0x10], eax
mov edx, eax
movd eax, xmm0
mov ecx, edi
movaps xmm0, xmmword [esp + 0x40]
xor ecx, esi
xor ecx, dword [esp + 8]
ror dword [esp + 8], 2
rol edx, 5
add edx, eax
psrldq xmm0, 4
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
psrldq xmm6, 0xc
mov ecx, dword [esp + 0x10]
pxor xmm0, xmm7
pxor xmm2, xmm0
mov dword [esp + 0xc], eax
mov edx, eax
xorps xmm0, xmm0
movd eax, xmm6
pcmpgtd xmm0, xmm2
movaps xmm6, xmm2
rol edx, 5
paddd xmm6, xmm2
xor ecx, esi
xor ecx, dword [esp + 8]
movaps xmm1, xmm2
psubd xmm6, xmm0
pslldq xmm1, 0xc
add edx, eax
movaps xmm0, xmm1
mov eax, dword [esp + 0x10]
add ecx, edx
psrld xmm0, 0x1e
add edi, ecx
pslld xmm1, 2
ror eax, 2
pxor xmm6, xmm0
mov dword [esp + 0x10], eax
pxor xmm6, xmm1
mov ecx, eax
pshufd xmm2, xmmword [esp + 0x30], 0x4e
xor ecx, dword [esp + 0xc]
mov edx, edi
xor ecx, dword [esp + 8]
movaps xmm0, xmm5
rol edx, 5
movd eax, xmm5
psrldq xmm0, 4
punpcklqdq xmm2, xmm7
add edx, eax
pxor xmm2, xmmword [esp + 0x30]
mov eax, dword [esp + 0xc]
add ecx, edx
add esi, ecx
ror eax, 2
mov ecx, dword [esp + 0x10]
mov edx, esi
xor ecx, eax
mov dword [esp + 0xc], eax
movd eax, xmm0
xor ecx, edi
rol edx, 5
movaps xmm0, xmm5
psrldq xmm0, 8
add edx, eax
ror edi, 2
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
movaps xmmword [esp + 0x50], xmm6
mov ecx, dword [esp + 0xc]
mov edx, eax
mov dword [esp + 8], eax
xor ecx, edi
movd eax, xmm0
xor ecx, esi
movaps xmm0, xmmword [esp + 0x50]
rol edx, 5
add edx, eax
psrldq xmm0, 4
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
psrldq xmm5, 0xc
mov edx, eax
mov dword [esp + 0x10], eax
movd eax, xmm5
mov ecx, edi
movaps xmm5, xmmword [esp + 0x40]
pxor xmm0, xmm5
paddd xmm6, xmmword [0x1047c850]
pxor xmm2, xmm0
ror esi, 2
movaps xmm0, xmm2
rol edx, 5
paddd xmm0, xmm2
movaps xmm1, xmm2
movaps xmmword [esp + 0x20], xmm0
xor ecx, esi
xor ecx, dword [esp + 8]
xorps xmm0, xmm0
pcmpgtd xmm0, xmm2
pslldq xmm1, 0xc
movaps xmm2, xmmword [esp + 0x20]
add edx, eax
mov eax, dword [esp + 0xc]
psubd xmm2, xmm0
movaps xmm0, xmm1
add ecx, edx
psrld xmm0, 0x1e
add eax, ecx
ror dword [esp + 8], 2
pxor xmm2, xmm0
pslld xmm1, 2
mov dword [esp + 0xc], eax
pxor xmm2, xmm1
movaps xmm0, xmm2
movaps xmmword [esp + 0x20], xmm2
paddd xmm0, xmmword [0x1047c850]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x10]
mov edx, eax
xor ecx, esi
rol edx, 5
xor ecx, dword [esp + 8]
movaps xmm0, xmm3
movd eax, xmm3
psrldq xmm0, 4
pshufd xmm2, xmm7, 0x4e
add edx, eax
punpcklqdq xmm2, xmm5
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov dword [esp + 0x10], eax
mov ecx, eax
xor ecx, dword [esp + 0xc]
mov edx, edi
xor ecx, dword [esp + 8]
pxor xmm2, xmm7
movd eax, xmm0
movaps xmm0, xmm3
rol edx, 5
psrldq xmm0, 8
add edx, eax
psrldq xmm3, 0xc
mov eax, dword [esp + 0xc]
add ecx, edx
add esi, ecx
ror eax, 2
mov ecx, dword [esp + 0x10]
mov edx, esi
xor ecx, eax
mov dword [esp + 0xc], eax
movd eax, xmm0
xor ecx, edi
movaps xmm0, xmmword [esp + 0x20]
rol edx, 5
add edx, eax
psrldq xmm0, 4
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
ror edi, 2
mov ecx, dword [esp + 0xc]
mov edx, eax
mov dword [esp + 8], eax
xor ecx, edi
movd eax, xmm3
xor ecx, esi
movaps xmm3, xmmword [esp + 0x50]
pxor xmm0, xmm3
rol edx, 5
pxor xmm2, xmm0
ror esi, 2
xorps xmm0, xmm0
add edx, eax
mov eax, dword [esp + 0x10]
movaps xmm7, xmm2
paddd xmm7, xmm2
pcmpgtd xmm0, xmm2
psubd xmm7, xmm0
movaps xmm1, xmm2
pslldq xmm1, 0xc
add ecx, edx
movaps xmm0, xmm1
add eax, ecx
psrld xmm0, 0x1e
mov edx, eax
pslld xmm1, 2
mov ecx, edi
pxor xmm7, xmm0
mov dword [esp + 0x10], eax
pxor xmm7, xmm1
rol edx, 5
xor ecx, esi
movaps xmmword [esp + 0x40], xmm7
paddd xmm7, xmmword [0x1047c850]
xor ecx, dword [esp + 8]
movd eax, xmm4
add edx, eax
ror dword [esp + 8], 2
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
pshufd xmm2, xmm5, 0x4e
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0xc], eax
xor ecx, esi
xor ecx, dword [esp + 8]
movaps xmm0, xmm4
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm4
rol edx, 5
psrldq xmm0, 8
add edx, eax
psrldq xmm4, 0xc
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov dword [esp + 0x10], eax
mov ecx, eax
xor ecx, dword [esp + 0xc]
mov edx, edi
xor ecx, dword [esp + 8]
movd eax, xmm0
movaps xmm0, xmmword [esp + 0x40]
rol edx, 5
add edx, eax
psrldq xmm0, 4
mov eax, dword [esp + 0xc]
add ecx, edx
add esi, ecx
ror eax, 2
mov ecx, dword [esp + 0x10]
mov edx, esi
xor ecx, eax
mov dword [esp + 0xc], eax
rol edx, 5
xor ecx, edi
movd eax, xmm4
movaps xmm4, xmmword [esp + 0x20]
pxor xmm0, xmm4
punpcklqdq xmm2, xmm3
add edx, eax
ror edi, 2
mov eax, dword [esp + 8]
pxor xmm2, xmm5
add ecx, edx
pxor xmm2, xmm0
add eax, ecx
xorps xmm0, xmm0
mov edx, eax
mov dword [esp + 8], eax
movaps xmm5, xmm2
rol edx, 5
paddd xmm5, xmm2
pcmpgtd xmm0, xmm2
psubd xmm5, xmm0
movaps xmm1, xmm2
pslldq xmm1, 0xc
mov ecx, edi
or ecx, esi
movaps xmm0, xmm1
and ecx, dword [esp + 0xc]
mov eax, edi
and eax, esi
psrld xmm0, 0x1e
or ecx, eax
pslld xmm1, 2
movd eax, xmm6
pxor xmm5, xmm0
pxor xmm5, xmm1
movaps xmmword [esp + 0x50], xmm5
paddd xmm5, xmmword [0x1047c850]
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
ror esi, 2
mov dword [esp + 0x10], eax
mov edx, eax
mov ecx, esi
rol edx, 5
or ecx, dword [esp + 8]
mov eax, esi
and eax, dword [esp + 8]
and ecx, edi
or ecx, eax
ror dword [esp + 8], 2
movaps xmm0, xmm6
pshufd xmm2, xmm3, 0x4e
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm6
psrldq xmm0, 8
psrldq xmm6, 0xc
add edx, eax
punpcklqdq xmm2, xmm4
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
pxor xmm2, xmm3
mov dword [esp + 0xc], eax
mov edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
or ecx, dword [esp + 8]
and eax, dword [esp + 8]
and ecx, esi
or ecx, eax
rol edx, 5
movd eax, xmm0
movaps xmm0, xmmword [esp + 0x50]
psrldq xmm0, 4
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
ror eax, 2
add edi, ecx
mov dword [esp + 0x10], eax
mov ecx, eax
mov edx, edi
or ecx, dword [esp + 0xc]
and eax, dword [esp + 0xc]
and ecx, dword [esp + 8]
or ecx, eax
rol edx, 5
movd eax, xmm6
movaps xmm6, xmmword [esp + 0x40]
pxor xmm0, xmm6
pxor xmm2, xmm0
add edx, eax
mov eax, dword [esp + 0xc]
xorps xmm0, xmm0
add ecx, edx
ror eax, 2
movaps xmm3, xmm2
mov dword [esp + 0xc], eax
paddd xmm3, xmm2
pcmpgtd xmm0, xmm2
psubd xmm3, xmm0
movaps xmm1, xmm2
pslldq xmm1, 0xc
add esi, ecx
movaps xmm0, xmm1
mov ecx, eax
psrld xmm0, 0x1e
or ecx, edi
and ecx, dword [esp + 0x10]
mov edx, esi
pxor xmm3, xmm0
pslld xmm1, 2
and eax, edi
rol edx, 5
pxor xmm3, xmm1
or ecx, eax
movaps xmmword [esp + 0x40], xmm3
paddd xmm3, xmmword [0x1047c850]
movaps xmm1, xmmword [esp + 0x60]
movd eax, xmm1
movaps xmm0, xmm1
ror edi, 2
psrldq xmm0, 4
add edx, eax
pshufd xmm2, xmm4, 0x4e
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
punpcklqdq xmm2, xmm6
mov dword [esp + 8], eax
mov edx, eax
mov ecx, edi
rol edx, 5
or ecx, esi
mov eax, edi
and ecx, dword [esp + 0xc]
and eax, esi
or ecx, eax
ror esi, 2
movd eax, xmm0
pxor xmm2, xmm4
movaps xmm0, xmm1
psrldq xmm1, 0xc
psrldq xmm0, 8
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
mov ecx, esi
or ecx, dword [esp + 8]
mov edx, eax
mov dword [esp + 0x10], eax
and ecx, edi
mov eax, esi
rol edx, 5
and eax, dword [esp + 8]
ror dword [esp + 8], 2
or ecx, eax
movd eax, xmm0
movaps xmm0, xmmword [esp + 0x40]
psrldq xmm0, 4
pxor xmm0, xmmword [esp + 0x50]
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
pxor xmm2, xmm0
mov edx, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
mov ecx, eax
rol edx, 5
or ecx, dword [esp + 8]
pcmpgtd xmm0, xmm2
and eax, dword [esp + 8]
and ecx, esi
or ecx, eax
movaps xmm4, xmm2
movd eax, xmm1
paddd xmm4, xmm2
psubd xmm4, xmm0
movaps xmm1, xmm2
pslldq xmm1, 0xc
movaps xmm0, xmm1
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
psrld xmm0, 0x1e
add edi, ecx
pslld xmm1, 2
pxor xmm4, xmm0
ror eax, 2
pxor xmm4, xmm1
mov dword [esp + 0x10], eax
movaps xmm0, xmm4
movaps xmmword [esp + 0x30], xmm4
paddd xmm0, xmmword [0x1047c8d0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, eax
pshufd xmm2, xmm6, 0x4e
or ecx, dword [esp + 0xc]
mov edx, edi
and eax, dword [esp + 0xc]
movaps xmm0, xmm7
and ecx, dword [esp + 8]
or ecx, eax
rol edx, 5
movd eax, xmm7
psrldq xmm0, 4
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
ror eax, 2
add esi, ecx
mov dword [esp + 0xc], eax
mov ecx, eax
mov edx, esi
or ecx, edi
rol edx, 5
and ecx, dword [esp + 0x10]
and eax, edi
or ecx, eax
ror edi, 2
movd eax, xmm0
movaps xmm0, xmm7
psrldq xmm0, 8
psrldq xmm7, 0xc
add edx, eax
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
mov ecx, edi
mov dword [esp + 8], eax
mov edx, eax
or ecx, esi
rol edx, 5
and ecx, dword [esp + 0xc]
mov eax, edi
and eax, esi
ror esi, 2
or ecx, eax
movd eax, xmm0
movaps xmm0, xmm4
psrldq xmm0, 4
pxor xmm0, xmmword [esp + 0x40]
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
mov ecx, esi
or ecx, dword [esp + 8]
mov edx, eax
mov dword [esp + 0x10], eax
and ecx, edi
mov eax, esi
rol edx, 5
and eax, dword [esp + 8]
or ecx, eax
movd eax, xmm7
movaps xmm7, xmmword [esp + 0x50]
punpcklqdq xmm2, xmm7
pxor xmm2, xmm6
add edx, eax
mov eax, dword [esp + 0xc]
pxor xmm2, xmm0
xorps xmm0, xmm0
movaps xmm6, xmm2
pcmpgtd xmm0, xmm2
movaps xmm1, xmm2
paddd xmm6, xmm2
pslldq xmm1, 0xc
psubd xmm6, xmm0
add ecx, edx
movaps xmm0, xmm1
add eax, ecx
ror dword [esp + 8], 2
psrld xmm0, 0x1e
mov dword [esp + 0xc], eax
pxor xmm6, xmm0
mov edx, eax
pslld xmm1, 2
mov eax, dword [esp + 0x10]
mov ecx, eax
or ecx, dword [esp + 8]
pxor xmm6, xmm1
and eax, dword [esp + 8]
and ecx, esi
or ecx, eax
rol edx, 5
movd eax, xmm5
movaps xmm0, xmm6
paddd xmm0, xmmword [0x1047c8d0]
movaps xmmword [esp + 0x50], xmm0
movaps xmm0, xmm5
add edx, eax
psrldq xmm0, 4
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov ecx, eax
mov dword [esp + 0x10], eax
or ecx, dword [esp + 0xc]
mov edx, edi
and eax, dword [esp + 0xc]
and ecx, dword [esp + 8]
or ecx, eax
rol edx, 5
movd eax, xmm0
movaps xmm0, xmm5
psrldq xmm0, 8
psrldq xmm5, 0xc
add edx, eax
pshufd xmm2, xmm7, 0x4e
mov eax, dword [esp + 0xc]
add ecx, edx
add esi, ecx
ror eax, 2
mov ecx, eax
mov dword [esp + 0xc], eax
or ecx, edi
and eax, edi
and ecx, dword [esp + 0x10]
mov edx, esi
or ecx, eax
rol edx, 5
movd eax, xmm0
movaps xmm0, xmm6
ror edi, 2
psrldq xmm0, 4
add edx, eax
pxor xmm0, xmm4
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
mov ecx, edi
mov edx, eax
mov dword [esp + 8], eax
or ecx, esi
rol edx, 5
and ecx, dword [esp + 0xc]
mov eax, edi
and eax, esi
or ecx, eax
movd eax, xmm5
movaps xmm5, xmmword [esp + 0x40]
punpcklqdq xmm2, xmm5
add edx, eax
pxor xmm2, xmm7
mov eax, dword [esp + 0x10]
pxor xmm2, xmm0
add ecx, edx
movaps xmm1, xmm2
add eax, ecx
pslldq xmm1, 0xc
movaps xmm4, xmm2
mov dword [esp + 0x10], eax
ror esi, 2
paddd xmm4, xmm2
xorps xmm0, xmm0
mov edx, eax
mov ecx, esi
or ecx, dword [esp + 8]
pcmpgtd xmm0, xmm2
and ecx, edi
rol edx, 5
mov eax, esi
pshufd xmm2, xmm5, 0x4e
and eax, dword [esp + 8]
psubd xmm4, xmm0
or ecx, eax
ror dword [esp + 8], 2
movd eax, xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1e
punpcklqdq xmm2, xmmword [esp + 0x30]
add edx, eax
pslld xmm1, 2
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
pxor xmm4, xmm0
mov dword [esp + 0xc], eax
mov edx, eax
mov eax, dword [esp + 0x10]
movaps xmm0, xmm3
mov ecx, eax
psrldq xmm0, 4
or ecx, dword [esp + 8]
pxor xmm4, xmm1
and eax, dword [esp + 8]
and ecx, esi
or ecx, eax
rol edx, 5
movd eax, xmm0
pxor xmm2, xmm5
movaps xmm0, xmm3
movaps xmm7, xmm4
paddd xmm7, xmmword [0x1047c8d0]
add edx, eax
psrldq xmm0, 8
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov ecx, eax
mov dword [esp + 0x10], eax
or ecx, dword [esp + 0xc]
mov edx, edi
and eax, dword [esp + 0xc]
and ecx, dword [esp + 8]
or ecx, eax
rol edx, 5
movd eax, xmm0
movaps xmm0, xmm4
psrldq xmm3, 0xc
psrldq xmm0, 4
add edx, eax
pxor xmm0, xmm6
mov eax, dword [esp + 0xc]
add ecx, edx
ror eax, 2
add esi, ecx
mov ecx, eax
mov dword [esp + 0xc], eax
or ecx, edi
and eax, edi
and ecx, dword [esp + 0x10]
mov edx, esi
or ecx, eax
rol edx, 5
movd eax, xmm3
pxor xmm2, xmm0
movaps xmm1, xmm2
pslldq xmm1, 0xc
add edx, eax
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
ror edi, 2
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xc]
xorps xmm0, xmm0
pcmpgtd xmm0, xmm2
movaps xmm3, xmm2
paddd xmm3, xmm2
mov edx, eax
psubd xmm3, xmm0
rol edx, 5
movaps xmm0, xmm1
pshufd xmm2, xmmword [esp + 0x30], 0x4e
psrld xmm0, 0x1e
xor ecx, edi
xor ecx, esi
pslld xmm1, 2
pxor xmm3, xmm0
ror esi, 2
pxor xmm3, xmm1
punpcklqdq xmm2, xmm6
movaps xmm1, xmmword [esp + 0x60]
movaps xmm5, xmm3
movd eax, xmm1
movaps xmm0, xmm1
pxor xmm2, xmmword [esp + 0x30]
psrldq xmm0, 4
add edx, eax
paddd xmm5, xmmword [0x1047c8d0]
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
psrldq xmm3, 4
mov dword [esp + 0x10], eax
mov edx, eax
movd eax, xmm0
mov ecx, edi
xor ecx, esi
rol edx, 5
xor ecx, dword [esp + 8]
movaps xmm0, xmm1
ror dword [esp + 8], 2
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
psrldq xmm0, 8
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0xc], eax
xor ecx, esi
xor ecx, dword [esp + 8]
pxor xmm3, xmm4
movd eax, xmm0
pxor xmm2, xmm3
rol edx, 5
xorps xmm0, xmm0
psrldq xmm1, 0xc
movaps xmm3, xmm2
add edx, eax
pcmpgtd xmm0, xmm2
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
ror eax, 2
mov ecx, eax
mov dword [esp + 0x10], eax
xor ecx, dword [esp + 0xc]
mov edx, edi
xor ecx, dword [esp + 8]
paddd xmm3, xmm2
movd eax, xmm1
psubd xmm3, xmm0
rol edx, 5
movaps xmm1, xmm2
pslldq xmm1, 0xc
add edx, eax
movaps xmm0, xmm1
mov eax, dword [esp + 0xc]
add ecx, edx
add esi, ecx
psrld xmm0, 0x1e
ror eax, 2
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x10]
pxor xmm3, xmm0
xor ecx, eax
pslld xmm1, 2
xor ecx, edi
mov edx, esi
rol edx, 5
pxor xmm3, xmm1
movaps xmm1, xmmword [esp + 0x50]
movd eax, xmm1
movaps xmm0, xmm1
psrldq xmm0, 4
ror edi, 2
add edx, eax
paddd xmm3, xmmword [0x1047c8d0]
add ecx, edx
mov eax, dword [esp + 8]
add eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], eax
xor ecx, edi
mov edx, eax
xor ecx, esi
rol edx, 5
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
ror esi, 2
add edx, eax
psrldq xmm1, 0xc
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
mov ecx, edi
mov dword [esp + 0x10], eax
mov edx, eax
xor ecx, esi
rol edx, 5
xor ecx, dword [esp + 8]
ror dword [esp + 8], 2
movd eax, xmm0
movaps xmm0, xmm7
psrldq xmm0, 4
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov edx, eax
xor ecx, esi
rol edx, 5
xor ecx, dword [esp + 8]
movd eax, xmm1
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
ror eax, 2
add edi, ecx
mov dword [esp + 0x10], eax
mov ecx, eax
mov edx, edi
xor ecx, dword [esp + 0xc]
xor ecx, dword [esp + 8]
rol edx, 5
movd eax, xmm7
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
ror eax, 2
add esi, ecx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x10]
mov edx, esi
xor ecx, eax
rol edx, 5
movd eax, xmm0
xor ecx, edi
add edx, eax
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
ror edi, 2
mov ecx, dword [esp + 0xc]
mov edx, eax
xor ecx, edi
mov dword [esp + 8], eax
xor ecx, esi
rol edx, 5
movaps xmm0, xmm7
ror esi, 2
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm5
psrldq xmm7, 0xc
psrldq xmm0, 4
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
mov ecx, edi
mov dword [esp + 0x10], eax
xor ecx, esi
xor ecx, dword [esp + 8]
mov edx, eax
ror dword [esp + 8], 2
rol edx, 5
movd eax, xmm7
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov edx, eax
xor ecx, esi
rol edx, 5
xor ecx, dword [esp + 8]
movd eax, xmm5
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
ror eax, 2
add edi, ecx
mov dword [esp + 0x10], eax
mov ecx, eax
mov edx, edi
xor ecx, dword [esp + 0xc]
xor ecx, dword [esp + 8]
rol edx, 5
movd eax, xmm0
movaps xmm0, xmm5
psrldq xmm0, 8
psrldq xmm5, 0xc
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
ror eax, 2
add esi, ecx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x10]
mov edx, esi
xor ecx, eax
rol edx, 5
xor ecx, edi
movd eax, xmm0
ror edi, 2
add edx, eax
mov eax, dword [esp + 8]
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, eax
mov dword [esp + 8], eax
movd eax, xmm5
xor ecx, edi
rol edx, 5
xor ecx, esi
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, ecx
mov dword [esp + 0x10], eax
mov edx, eax
rol edx, 5
mov ecx, edi
ror esi, 2
movaps xmm0, xmm3
xor ecx, esi
movd eax, xmm3
xor ecx, dword [esp + 8]
ror dword [esp + 8], 2
add edx, eax
psrldq xmm0, 4
mov eax, dword [esp + 0xc]
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov edx, eax
xor ecx, esi
rol edx, 5
xor ecx, dword [esp + 8]
movd eax, xmm0
movaps xmm0, xmm3
psrldq xmm0, 8
psrldq xmm3, 0xc
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
ror eax, 2
add edi, ecx
mov dword [esp + 0x10], eax
mov ecx, eax
mov edx, edi
xor ecx, dword [esp + 0xc]
xor ecx, dword [esp + 8]
rol edx, 5
movd eax, xmm0
add edx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
ror eax, 2
mov edx, dword [esp + 0x10]
add esi, ecx
xor edx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], esi
xor edx, edi
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
rol ecx, 5
movd eax, xmm3
mov esi, dword [esi]
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x18]
add edx, dword [esp + 8]
add dword [esi], edx
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [esp + 8], edx
add dword [eax + 4], ecx
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
add dword [eax + 8], edi
mov edi, dword [eax + 8]
mov eax, dword [ecx]
mov ecx, dword [esp + 0xc]
add dword [eax + 0xc], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
add dword [eax + 0x10], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
add eax, 0x40
sub dword [ebp + 8], 1
movaps xmm2, xmmword [0x1047c780]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
jne 0x10305b00
pop edi
pop esi
mov esp, ebp
pop ebp
ret