Function at 0x40ea10
Capabilities:
Encode data using xor
Hash data using murmur3
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov edx, dword [ebp + 8]
mov eax, ecx
push ebx
push esi
push edi
mov ecx, dword [eax]
lea esi, [ebp - 0x134]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 4], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x1c], ecx
lea ecx, [edx + 0x3c]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], edi
cmp esi, ecx
ja 0x40ea94
lea ecx, [ebp - 0xf8]
cmp ecx, edx
jb 0x40ea94
mov ecx, esi
sub edx, ecx
lea ecx, [edx + eax*4]
mov ecx, dword [ebp + ecx - 0x134]
bswap ecx
mov dword [ebp + eax*4 - 0x134], ecx
inc eax
cmp eax, 0x10
jl 0x40ea73
mov dword [ebp - 0x28], eax
jmp 0x40eb4d
movaps xmm6, xmmword [0x4b95b0]
lea esi, [ebp - 0x134]
movaps xmm7, xmmword [0x4b95a0]
lea edi, [ebp - 0x124]
mov eax, 0x10
mov dword [ebp - 0x28], 0x10
sub esi, edx
sub edi, edx
movd xmm4, eax
mov eax, 8
movd xmm5, eax
lea ecx, [eax - 6]
nop
lea edx, [edx + 0x20]
movaps xmm0, xmm7
movups xmm2, xmmword [edx - 0x20]
pand xmm0, xmm2
movaps xmm3, xmm2
movaps xmm1, xmm2
pslld xmm3, xmm4
psrld xmm1, xmm4
por xmm3, xmm0
movaps xmm0, xmm6
pand xmm0, xmm2
por xmm1, xmm0
movaps xmm0, xmm7
movups xmm2, xmmword [edx - 0x10]
pslld xmm3, xmm5
pand xmm0, xmm2
psrld xmm1, xmm5
por xmm3, xmm1
movaps xmm1, xmm2
movups xmmword [esi + edx - 0x20], xmm3
movaps xmm3, xmm2
pslld xmm3, xmm4
psrld xmm1, xmm4
por xmm3, xmm0
movaps xmm0, xmm6
pand xmm0, xmm2
por xmm1, xmm0
pslld xmm3, xmm5
psrld xmm1, xmm5
por xmm3, xmm1
movups xmmword [edi + edx - 0x20], xmm3
sub ecx, 1
jne 0x40ead0
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov esi, eax
ror esi, 0xb
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [ebp - 0x1c]
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 8]
add esi, dword [ebp - 0x134]
and ecx, eax
xor edx, ecx
mov eax, dword [ebp - 0x18]
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 0x2c]
rol ecx, 0xa
add esi, 0x428a2f98
add esi, edx
mov edx, eax
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x20], edi
mov edi, ebx
mov ecx, eax
ror ecx, 2
and ebx, eax
xor edx, ecx
or edi, eax
and edi, dword [ebp - 0x24]
add edx, esi
or edi, ebx
mov ebx, dword [ebp - 0x20]
add edi, edx
mov esi, ebx
ror esi, 0xb
mov ecx, ebx
rol ecx, 7
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [ebp - 8]
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 4]
add esi, dword [ebp - 0x130]
and ecx, ebx
xor edx, ecx
mov ebx, edi
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x1c]
or ebx, eax
and ebx, dword [ebp - 0x14]
add esi, 0x71374491
add esi, edx
rol ecx, 0xa
add dword [ebp - 0x24], esi
mov edx, edi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, edi
and ecx, eax
add edx, esi
or ebx, ecx
add ebx, edx
mov edx, dword [ebp - 0x24]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
not edx
and edx, dword [ebp - 4]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0x12c]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp - 8]
rol ecx, 0xa
add esi, 0xb5c0fbcf
add esi, edx
mov edx, ebx
add dword [ebp - 0x14], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, edi
or ecx, ebx
add edx, esi
and ecx, eax
mov dword [ebp - 0x10], ecx
mov ecx, edi
and ecx, ebx
or dword [ebp - 0x10], ecx
add dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x14]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x20]
xor esi, ecx
add esi, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x14]
xor edx, ecx
mov ecx, dword [ebp - 0x10]
add edx, esi
mov esi, dword [ebp - 4]
add esi, 0xe9b5dba5
add esi, edx
mov edx, ecx
rol ecx, 0xa
add eax, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 0x10]
add edx, esi
and ecx, edi
mov esi, eax
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, dword [ebp - 0x10]
or dword [ebp + 8], ecx
mov ecx, eax
add dword [ebp + 8], edx
mov edx, eax
rol ecx, 7
not edx
ror esi, 0xb
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
and edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0x124]
and ecx, eax
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov esi, dword [ebp - 0x20]
add esi, 0x3956c25b
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x10]
mov eax, ecx
add edx, esi
and ecx, dword [ebp + 8]
mov esi, edi
or eax, dword [ebp + 8]
ror esi, 0xb
and eax, ebx
or eax, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov dword [ebp - 8], eax
add dword [ebp - 8], edx
mov ecx, edi
ror ecx, 6
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x14]
mov ecx, edi
and ecx, dword [ebp - 0x18]
add esi, dword [ebp - 0x120]
xor edx, ecx
mov ecx, dword [ebp - 8]
add edx, esi
mov esi, dword [ebp - 0x24]
add esi, 0x59f111f1
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x20], ecx
add edx, esi
or ecx, dword [ebp - 8]
mov esi, ebx
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
or eax, ecx
ror esi, 0xb
mov ecx, ebx
add eax, edx
rol ecx, 7
mov edx, ebx
xor esi, ecx
mov dword [ebp - 0x20], eax
mov ecx, ebx
not edx
and edx, dword [ebp - 0x18]
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [ebp - 0x11c]
and ecx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, eax
rol ecx, 0xa
add esi, 0x923f82a4
add esi, edx
mov edx, eax
add dword [ebp - 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
add edx, esi
or ecx, eax
and ecx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
and ecx, eax
or dword [ebp - 0xc], ecx
add dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
add esi, dword [ebp - 0x118]
mov ecx, ebx
and ecx, dword [ebp - 0x10]
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
mov esi, dword [ebp - 0x18]
add esi, 0xab1c5ed5
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 0xc]
add edx, esi
and ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov ecx, eax
and ecx, dword [ebp - 0xc]
or dword [ebp - 4], ecx
add dword [ebp - 4], edx
mov edx, dword [ebp + 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0x114]
xor edx, ecx
mov ecx, dword [ebp - 4]
add edx, esi
lea esi, [edi - 0x27f85568]
mov edi, dword [ebp - 8]
add esi, edx
add edi, esi
mov dword [ebp - 8], edi
mov edx, ecx
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov eax, ecx
add edx, esi
and ecx, dword [ebp - 4]
mov esi, edi
or eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
and dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
or eax, ecx
ror esi, 0xb
add eax, edx
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
mov dword [ebp - 0x1c], eax
not edx
mov eax, dword [ebp - 0x20]
mov ecx, edi
mov edi, dword [ebp - 0x10]
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0x110]
xor edx, ecx
add edx, esi
lea esi, [ebx + 0x12835b01]
mov ebx, dword [ebp - 0x1c]
add esi, edx
mov edx, ebx
mov ecx, ebx
rol ecx, 0xa
add eax, esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 4]
add edx, esi
and ecx, dword [ebp - 0xc]
mov esi, eax
mov dword [ebp - 0x10], ecx
mov ecx, ebx
and ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
or ebx, ecx
ror esi, 0xb
add ebx, edx
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 8]
mov ecx, eax
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
mov ecx, dword [ebp - 8]
add esi, dword [ebp - 0x10c]
and ecx, eax
xor edx, ecx
add edx, esi
lea esi, [edi + 0x243185be]
mov edi, dword [ebp - 0xc]
add esi, edx
add edi, esi
mov ecx, dword [ebp - 0x10]
mov edx, ecx
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp - 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
or ecx, dword [ebp - 0x10]
add edx, esi
and ecx, dword [ebp - 4]
mov esi, edi
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x10]
or dword [ebp + 8], ecx
mov ecx, edi
add dword [ebp + 8], edx
mov edx, edi
rol ecx, 7
not edx
ror esi, 0xb
xor esi, ecx
mov ecx, edi
mov edi, dword [ebp - 8]
and edx, edi
ror ecx, 6
xor esi, ecx
mov ecx, eax
and ecx, dword [ebp - 0xc]
add esi, dword [ebp - 0x108]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
lea esi, [ebx + 0x550c7dc3]
mov ebx, dword [ebp - 4]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp + 8]
add edx, esi
and ecx, dword [ebp - 0x1c]
mov esi, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp + 8]
or dword [ebp - 8], ecx
mov ecx, ebx
add dword [ebp - 8], edx
mov edx, ebx
rol ecx, 7
not edx
ror esi, 0xb
and edx, eax
xor esi, ecx
mov ecx, ebx
mov ebx, dword [ebp - 0xc]
ror ecx, 6
xor esi, ecx
mov ecx, ebx
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0x104]
xor edx, ecx
add edx, esi
lea esi, [edi + 0x72be5d74]
mov edi, dword [ebp - 8]
add esi, edx
add dword [ebp - 0x1c], esi
mov edx, edi
ror edx, 0xd
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov edi, ecx
and ecx, dword [ebp - 8]
or edi, dword [ebp - 8]
and edi, dword [ebp - 0x10]
or edi, ecx
add edi, edx
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x1c]
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, ebx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [ebp - 0x100]
mov edi, dword [ebp - 4]
and ecx, edi
xor edx, ecx
add edx, 0x80deb1fe
add esi, edx
add esi, eax
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x10], esi
mov edx, eax
ror edx, 0xd
mov ecx, eax
rol ecx, 0xa
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov eax, ecx
add edx, esi
and ecx, dword [ebp - 0x14]
or eax, dword [ebp - 0x14]
and eax, dword [ebp + 8]
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0x10]
mov esi, edx
mov dword [ebp - 0x18], eax
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x10]
add esi, dword [ebp - 0xfc]
xor edx, ecx
add edx, esi
mov ecx, eax
lea esi, [ebx - 0x6423f959]
rol ecx, 0xa
add esi, edx
mov edx, eax
add dword [ebp + 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov ebx, ecx
add edx, esi
and ecx, eax
or ebx, eax
and ebx, dword [ebp - 8]
or ebx, ecx
add ebx, edx
mov edx, dword [ebp + 8]
mov esi, edx
mov dword [ebp - 0x24], ebx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or eax, ebx
xor esi, ecx
and eax, dword [ebp - 0x14]
mov ecx, edx
not edx
and edx, dword [ebp - 0x1c]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0xf8]
xor edx, ecx
add edx, esi
mov ecx, ebx
lea esi, [edi - 0x3e640e8c]
rol ecx, 0xa
mov edi, dword [ebp - 0x18]
add esi, edx
add dword [ebp - 8], esi
mov edx, ebx
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, edi
and ecx, ebx
add edx, esi
or eax, ecx
add eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x18
jge 0x40f201
mov ecx, 0x18
lea ebx, [ebp + eax*4 - 0x13c]
sub ecx, eax
add eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
mov eax, ecx
nop dword [eax + eax]
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x40f1c0
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov esi, eax
ror esi, 0xb
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [ebp - 0x10]
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp + 8]
add esi, dword [ebp - 0xf4]
and ecx, eax
xor edx, ecx
mov eax, dword [ebp - 0x20]
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 0x1c]
or ebx, eax
rol ecx, 0xa
add esi, 0xe49b69c1
add esi, edx
and ebx, edi
add dword [ebp - 0x14], esi
mov edx, eax
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x24]
add edx, esi
and ecx, eax
or ebx, ecx
add ebx, edx
mov edx, dword [ebp - 0x14]
mov esi, edx
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp + 8]
xor esi, ecx
add esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 0x10]
add esi, 0xefbe4786
add esi, edx
mov edx, ebx
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], edi
mov ecx, ebx
mov edi, ebx
ror ecx, 2
or edi, eax
and edi, dword [ebp - 0x24]
xor edx, ecx
mov ecx, ebx
add edx, esi
and ecx, eax
or edi, ecx
add edi, edx
mov edx, dword [ebp - 0x18]
mov esi, edx
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 8]
xor esi, ecx
add esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x18]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp + 8]
add esi, 0xfc19dc6
add esi, edx
mov edx, edi
add dword [ebp - 0x24], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, edi
add edx, esi
and ecx, eax
mov dword [ebp - 0xc], ecx
mov ecx, ebx
and ecx, edi
or dword [ebp - 0xc], ecx
add dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x24]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x14]
xor esi, ecx
add esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
mov esi, dword [ebp - 8]
add esi, 0x240ca1cc
add esi, edx
mov edx, ecx
rol ecx, 0xa
add eax, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, edi
or ecx, dword [ebp - 0xc]
add edx, esi
and ecx, ebx
mov esi, eax
mov dword [ebp + 8], ecx
mov ecx, edi
and ecx, dword [ebp - 0xc]
or dword [ebp + 8], ecx
mov ecx, eax
add dword [ebp + 8], edx
mov edx, eax
rol ecx, 7
not edx
and edx, dword [ebp - 0x18]
ror esi, 0xb
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x24]
and ecx, eax
add esi, dword [ebp - 0xe4]
xor edx, ecx
add edx, esi
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
add esi, 0x2de92c6f
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
mov eax, ecx
and ecx, dword [ebp + 8]
mov esi, ebx
or eax, dword [ebp + 8]
and eax, edi
ror esi, 0xb
or eax, ecx
mov ecx, ebx
rol ecx, 7
xor esi, ecx
mov dword [ebp - 0x10], eax
add dword [ebp - 0x10], edx
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [ebp - 0x24]
mov ecx, ebx
and ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0xe0]
xor edx, ecx
mov ecx, dword [ebp - 0x10]
add edx, esi
mov esi, dword [ebp - 0x18]
add esi, 0x4a7484aa
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x2c], edi
mov ecx, dword [ebp - 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x14], ecx
and ecx, dword [ebp - 0x10]
add edx, esi
or ebx, dword [ebp - 0x10]
mov esi, edi
and ebx, dword [ebp - 0xc]
mov eax, ebx
ror esi, 0xb
or eax, ecx
mov dword [ebp - 0x14], ebx
mov ecx, edi
add eax, edx
rol ecx, 7
mov edx, edi
xor esi, ecx
mov dword [ebp - 0x14], eax
mov ecx, edi
not edx
and edx, dword [ebp - 0x20]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
and ecx, edi
xor edx, ecx
add esi, dword [ebp - 0xdc]
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 0x24]
rol ecx, 0xa
add esi, 0x5cb0a9dc
add esi, edx
mov edx, eax
add dword [ebp - 0xc], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x10]
mov ebx, ecx
add edx, esi
and ecx, eax
or ebx, eax
and ebx, dword [ebp + 8]
or ebx, ecx
mov dword [ebp - 4], ebx
add dword [ebp - 4], edx
mov edx, dword [ebp - 0xc]
mov esi, edx
mov ebx, dword [ebp - 0x1c]
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
add esi, dword [ebp - 0xd8]
mov ecx, edi
and ecx, dword [ebp - 0xc]
xor edx, ecx
mov ecx, dword [ebp - 4]
add edx, esi
mov esi, dword [ebp - 0x20]
add esi, 0x76f988da
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 4]
add edx, esi
and ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov ecx, eax
and ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
or eax, ecx
add eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x20
jge 0x40f585
mov ecx, 0x20
lea ebx, [ebp + eax*4 - 0x13c]
sub ecx, eax
add eax, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], eax
mov eax, ecx
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x40f544
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp + 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
add esi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp + 8]
xor edx, ecx
mov ecx, dword [ebp - 8]
add edx, esi
lea esi, [ebx - 0x67c1aeae]
add esi, edx
mov ebx, dword [ebp - 0x10]
mov edx, ecx
add ebx, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x10], ebx
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 4]
mov edi, ecx
add edx, esi
and ecx, dword [ebp - 8]
mov esi, ebx
or edi, dword [ebp - 8]
and edi, dword [ebp - 0x14]
or edi, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [ebp - 0x18], edi
add dword [ebp - 0x18], edx
mov edx, ebx
rol ecx, 7
not edx
xor esi, ecx
mov edi, dword [ebp - 0x14]
mov ecx, ebx
mov ebx, dword [ebp - 0xc]
ror ecx, 6
and edx, ebx
xor esi, ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 0x10]
add esi, dword [ebp - 0xd0]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 0x2c]
add esi, 0xa831c66d
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov eax, ecx
add edx, esi
or eax, dword [ebp - 8]
mov esi, edi
and ecx, dword [ebp - 8]
and eax, dword [ebp - 4]
or eax, ecx
mov ecx, edi
mov dword [ebp - 0xc], eax
add dword [ebp - 0xc], edx
ror esi, 0xb
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x10]
add esi, dword [ebp - 0xcc]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
lea esi, [ebx - 0x4ffcd838]
add esi, edx
mov ebx, dword [ebp - 4]
mov edx, ecx
add ebx, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov edi, ecx
mov dword [ebp - 0x20], ecx
and ecx, dword [ebp - 0xc]
add edx, esi
or edi, dword [ebp - 0xc]
mov esi, ebx
and edi, dword [ebp - 8]
ror esi, 0xb
mov eax, edi
or eax, ecx
mov dword [ebp - 0x20], edi
add eax, edx
mov edi, dword [ebp - 8]
mov ecx, ebx
mov dword [ebp - 0x20], eax
rol ecx, 7
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [ebp - 0x10]
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0xc8]
and ecx, ebx
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp + 8]
add esi, 0xbf597fc7
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 8], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov ebx, ecx
add edx, esi
or ebx, eax
and ecx, eax
and ebx, dword [ebp - 0x18]
mov esi, edi
or ebx, ecx
ror esi, 0xb
mov dword [ebp - 0x1c], ebx
mov ecx, edi
add dword [ebp - 0x1c], edx
rol ecx, 7
xor esi, ecx
mov ebx, dword [ebp - 0x18]
mov ecx, edi
mov edx, edi
mov edi, dword [ebp - 0x14]
not edx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0xc4]
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, esi
mov esi, dword [ebp - 0x10]
add esi, 0xc6e00bf3
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x1c]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 0x1c]
add edx, esi
and ecx, dword [ebp - 0xc]
mov esi, ebx
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, dword [ebp - 0x1c]
or dword [ebp + 8], ecx
mov ecx, ebx
add dword [ebp + 8], edx
mov edx, ebx
rol ecx, 7
not edx
and edx, dword [ebp - 4]
ror esi, 0xb
xor esi, ecx
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, ebx
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0xc0]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
lea esi, [edi - 0x2a586eb9]
mov edi, dword [ebp - 0xc]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
mov ebx, ecx
add edx, esi
or ebx, dword [ebp + 8]
mov esi, edi
and ecx, dword [ebp + 8]
and ebx, eax
mov eax, ebx
ror esi, 0xb
or eax, ecx
mov dword [ebp - 0x24], ebx
mov ecx, edi
add eax, edx
rol ecx, 7
mov dword [ebp - 0x24], eax
xor esi, ecx
mov ebx, dword [ebp - 0x24]
mov ecx, edi
ror ecx, 6
mov edx, edi
xor esi, ecx
mov eax, dword [ebp - 0x20]
add esi, dword [ebp - 0xbc]
not edx
and edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
and ecx, edi
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 4]
add esi, 0x6ca6351
add esi, edx
mov edx, ebx
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [ebp - 0x20], eax
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
mov edi, ecx
add edx, esi
and ecx, ebx
or edi, ebx
and edi, dword [ebp - 0x1c]
mov esi, eax
mov ebx, edi
ror esi, 0xb
or ebx, ecx
mov dword [ebp - 0x10], edi
add ebx, edx
mov edi, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0xc]
mov edx, eax
rol ecx, 7
not edx
and edx, dword [ebp - 0x18]
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, ebx
add esi, dword [ebp - 0xb8]
and ecx, eax
mov eax, dword [ebp - 0x10]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 8]
rol ecx, 0xa
add esi, 0x14292967
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 0x1c], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x24]
or ecx, eax
add edx, esi
and ecx, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x24]
and ecx, eax
mov eax, dword [ebp - 4]
or eax, ecx
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x28
jge 0x40f941
mov ecx, 0x28
lea ebx, [ebp + eax*4 - 0x13c]
sub ecx, eax
add eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
mov eax, ecx
nop dword [eax + eax]
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x40f900
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x1c]
mov esi, edi
mov ecx, edi
rol ecx, 7
mov edx, edi
ror esi, 0xb
not edx
xor esi, ecx
and edx, ebx
mov ecx, edi
mov edi, dword [ebp - 0x20]
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 0x1c]
add esi, dword [ebp - 0xb4]
xor edx, ecx
add edx, esi
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add esi, 0x27b70a85
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x10]
mov ebx, ecx
add edx, esi
and ecx, dword [ebp - 4]
or ebx, dword [ebp - 4]
and ebx, dword [ebp - 0x24]
or ebx, ecx
mov dword [ebp - 0x18], ebx
add dword [ebp - 0x18], edx
mov edx, dword [ebp + 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ebx, dword [ebp - 0x24]
mov ecx, edx
not edx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0xb0]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 0xc]
add esi, 0x2e1b2138
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov eax, ecx
add edx, esi
or eax, dword [ebp - 4]
mov esi, ebx
and ecx, dword [ebp - 4]
and eax, dword [ebp - 0x10]
or eax, ecx
ror esi, 0xb
mov dword [ebp - 0x14], eax
mov ecx, ebx
add dword [ebp - 0x14], edx
rol ecx, 7
xor esi, ecx
mov edx, ebx
not edx
mov ecx, ebx
and edx, dword [ebp - 0x1c]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp + 8]
add esi, dword [ebp - 0xac]
and ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x14]
add edx, esi
lea esi, [edi + 0x4d2c6dfc]
add esi, edx
mov edi, dword [ebp - 0x10]
mov edx, ecx
add edi, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x10], edi
mov ecx, dword [ebp - 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov ebx, ecx
mov dword [ebp - 0x20], ecx
and ecx, dword [ebp - 0x14]
add edx, esi
or ebx, dword [ebp - 0x14]
mov esi, edi
and ebx, dword [ebp - 4]
ror esi, 0xb
mov eax, ebx
or eax, ecx
mov dword [ebp - 0x20], ebx
add eax, edx
mov ebx, dword [ebp - 4]
mov ecx, edi
mov dword [ebp - 0x20], eax
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0xa8]
and ecx, edi
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 0x1c]
add esi, 0x53380d13
add esi, edx
mov edx, eax
ror edx, 0xd
add ebx, esi
xor edx, ecx
mov dword [ebp - 4], ebx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov edi, ecx
add edx, esi
or edi, eax
and ecx, eax
and edi, dword [ebp - 0x18]
mov esi, ebx
or edi, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [ebp - 8], edi
add dword [ebp - 8], edx
rol ecx, 7
xor esi, ecx
mov ecx, ebx
mov edi, dword [ebp - 0x18]
ror ecx, 6
mov edx, ebx
xor esi, ecx
mov ebx, dword [ebp - 0x24]
add esi, dword [ebp - 0xa4]
not edx
mov ecx, dword [ebp - 0x10]
and edx, ebx
and ecx, dword [ebp - 4]
xor edx, ecx
mov ecx, dword [ebp - 8]
add edx, esi
mov esi, dword [ebp + 8]
add esi, 0x650a7354
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 8]
add edx, esi
and ecx, dword [ebp - 0x14]
mov esi, edi
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, dword [ebp - 8]
or dword [ebp + 8], ecx
mov ecx, edi
add dword [ebp + 8], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [ebp - 0x10]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0xa0]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
lea esi, [ebx + 0x766a0abb]
mov ebx, dword [ebp - 0x14]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov edi, ecx
add edx, esi
or edi, dword [ebp + 8]
mov esi, ebx
and ecx, dword [ebp + 8]
and edi, eax
mov eax, edi
ror esi, 0xb
or eax, ecx
mov dword [ebp - 0x1c], edi
mov ecx, ebx
add eax, edx
rol ecx, 7
xor esi, ecx
mov dword [ebp - 0x1c], eax
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
mov ebx, dword [ebp - 4]
add esi, dword [ebp - 0x9c]
not edx
mov ecx, dword [ebp - 0x18]
and edx, ebx
and ecx, dword [ebp - 0x14]
xor edx, ecx
mov edi, dword [ebp - 0x20]
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 0x10]
rol ecx, 0xa
add esi, 0x81c2c92e
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 0x20], edi
mov ecx, eax
mov eax, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 0x1c]
add edx, esi
and ecx, dword [ebp - 8]
mov esi, edi
mov dword [ebp - 0xc], ecx
mov ecx, eax
and ecx, dword [ebp - 0x1c]
or dword [ebp - 0xc], ecx
mov ecx, edi
add dword [ebp - 0xc], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [ebp - 0x18]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0x98]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
lea esi, [ebx - 0x6d8dd37b]
mov ebx, dword [ebp - 8]
add esi, edx
mov edx, ecx
add ebx, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
mov edi, ecx
add edx, esi
or edi, dword [ebp - 0xc]
and ecx, dword [ebp - 0xc]
and edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x20]
or eax, ecx
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x30
jge 0x40fcf1
mov ecx, 0x30
lea ebx, [ebp + eax*4 - 0x13c]
sub ecx, eax
add eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
mov eax, ecx
mov edx, dword [ebx]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 0x38]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
ror ecx, 7
rol edx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x40fcb1
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 8]
mov esi, ebx
mov ecx, ebx
rol ecx, 7
mov edx, ebx
ror esi, 0xb
not edx
and edx, dword [ebp - 0x14]
xor esi, ecx
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0x94]
xor edx, ecx
add edx, esi
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add esi, 0xa2bfe8a1
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov ebx, ecx
add edx, esi
and ecx, dword [ebp - 4]
or ebx, dword [ebp - 4]
and ebx, dword [ebp - 0x1c]
or ebx, ecx
mov dword [ebp - 0x18], ebx
add dword [ebp - 0x18], edx
mov edx, dword [ebp + 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ebx, dword [ebp - 0x1c]
mov ecx, edx
not edx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [ebp - 8]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0x90]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 0x14]
add esi, 0xa81a664b
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov eax, ecx
add edx, esi
or eax, dword [ebp - 4]
mov esi, ebx
and ecx, dword [ebp - 4]
and eax, dword [ebp - 0xc]
or eax, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [ebp - 0x14], eax
add dword [ebp - 0x14], edx
rol ecx, 7
xor esi, ecx
mov ecx, ebx
mov edx, ebx
ror ecx, 6
not edx
and edx, dword [ebp - 8]
xor esi, ecx
add esi, dword [ebp - 0x8c]
mov ecx, dword [ebp + 8]
and ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x14]
add edx, 0xc24b8b70
add esi, edx
mov edx, ecx
rol ecx, 0xa
add esi, edi
mov edi, dword [ebp - 0xc]
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp - 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov ebx, ecx
mov dword [ebp - 0x20], ecx
and ecx, dword [ebp - 0x14]
add edx, esi
or ebx, dword [ebp - 0x14]
mov esi, edi
and ebx, dword [ebp - 4]
ror esi, 0xb
mov eax, ebx
or eax, ecx
mov dword [ebp - 0x20], ebx
add eax, edx
mov ebx, dword [ebp - 4]
mov ecx, edi
mov dword [ebp - 0x20], eax
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x88]
and ecx, edi
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 8]
add esi, 0xc76c51a3
add esi, edx
mov edx, eax
ror edx, 0xd
add ebx, esi
xor edx, ecx
mov dword [ebp - 4], ebx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov edi, ecx
add edx, esi
or edi, eax
and ecx, eax
and edi, dword [ebp - 0x18]
mov esi, ebx
or edi, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [ebp - 8], edi
add dword [ebp - 8], edx
rol ecx, 7
xor esi, ecx
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
mov ebx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x84]
not edx
mov ecx, dword [ebp - 0xc]
and edx, ebx
and ecx, dword [ebp - 4]
xor edx, ecx
mov edi, dword [ebp - 0x18]
add edx, esi
mov ecx, dword [ebp - 8]
mov esi, dword [ebp + 8]
add esi, 0xd192e819
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 8]
add edx, esi
and ecx, dword [ebp - 0x14]
mov esi, edi
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, dword [ebp - 8]
or dword [ebp + 8], ecx
mov ecx, edi
add dword [ebp + 8], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [ebp - 0xc]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0x80]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
lea esi, [ebx - 0x2966f9dc]
mov ebx, dword [ebp - 0x14]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov edi, ecx
add edx, esi
or edi, dword [ebp + 8]
mov esi, ebx
and ecx, dword [ebp + 8]
and edi, eax
mov eax, edi
ror esi, 0xb
or eax, ecx
mov dword [ebp - 0x1c], edi
mov ecx, ebx
add eax, edx
rol ecx, 7
xor esi, ecx
mov dword [ebp - 0x1c], eax
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov edi, dword [ebp - 0x20]
add esi, dword [ebp - 0x7c]
mov edx, ebx
mov ebx, dword [ebp - 4]
not edx
mov ecx, dword [ebp - 0x18]
and edx, ebx
and ecx, dword [ebp - 0x14]
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 0xc]
add esi, 0xf40e3585
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 0x20], edi
mov ecx, eax
mov eax, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 0x1c]
add edx, esi
and ecx, dword [ebp - 8]
mov esi, edi
mov dword [ebp - 0xc], ecx
mov ecx, eax
and ecx, dword [ebp - 0x1c]
or dword [ebp - 0xc], ecx
mov ecx, edi
add dword [ebp - 0xc], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [ebp - 0x18]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0x78]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
lea esi, [ebx + 0x106aa070]
mov ebx, dword [ebp - 8]
add esi, edx
mov edx, ecx
add ebx, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
mov edi, ecx
add edx, esi
or edi, dword [ebp - 0xc]
and ecx, dword [ebp - 0xc]
and edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x20]
or eax, ecx
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x38
jge 0x410096
mov ecx, 0x38
lea ebx, [ebp + eax*4 - 0x13c]
sub ecx, eax
add eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
mov eax, ecx
mov edx, dword [ebx]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 0x38]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
ror ecx, 7
rol edx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x410056
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 8]
mov esi, ebx
mov ecx, ebx
rol ecx, 7
mov edx, ebx
ror esi, 0xb
not edx
and edx, dword [ebp - 0x14]
xor esi, ecx
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0x74]
xor edx, ecx
add edx, esi
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add esi, 0x19a4c116
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov ebx, ecx
add edx, esi
and ecx, dword [ebp - 4]
or ebx, dword [ebp - 4]
and ebx, dword [ebp - 0x1c]
or ebx, ecx
mov dword [ebp - 0x18], ebx
add dword [ebp - 0x18], edx
mov edx, dword [ebp + 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ebx, dword [ebp - 0x1c]
mov ecx, edx
not edx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [ebp - 8]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0x70]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 0x14]
add esi, 0x1e376c08
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov eax, ecx
add edx, esi
or eax, dword [ebp - 4]
mov esi, ebx
and ecx, dword [ebp - 4]
and eax, dword [ebp - 0xc]
or eax, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [ebp - 0x24], eax
add dword [ebp - 0x24], edx
rol ecx, 7
xor esi, ecx
mov ecx, ebx
mov edx, ebx
ror ecx, 6
not edx
and edx, dword [ebp - 8]
xor esi, ecx
add esi, dword [ebp - 0x6c]
mov ecx, dword [ebp + 8]
and ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x24]
add edx, 0x2748774c
add esi, edx
mov edx, ecx
rol ecx, 0xa
add esi, edi
mov edi, dword [ebp - 0xc]
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp - 0x24]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov ebx, ecx
mov dword [ebp - 0x20], ecx
and ecx, dword [ebp - 0x24]
add edx, esi
or ebx, dword [ebp - 0x24]
mov esi, edi
and ebx, dword [ebp - 4]
ror esi, 0xb
mov eax, ebx
or eax, ecx
mov dword [ebp - 0x20], ebx
add eax, edx
mov ebx, dword [ebp - 4]
mov ecx, edi
mov dword [ebp - 0x20], eax
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x68]
and ecx, edi
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 8]
add esi, 0x34b0bcb5
add esi, edx
mov edx, eax
ror edx, 0xd
add ebx, esi
xor edx, ecx
mov dword [ebp - 4], ebx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x24]
mov edi, ecx
add edx, esi
or edi, eax
and ecx, eax
and edi, dword [ebp - 0x18]
mov esi, ebx
or edi, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [ebp - 0x14], edi
add dword [ebp - 0x14], edx
rol ecx, 7
xor esi, ecx
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
mov ebx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x64]
not edx
mov ecx, dword [ebp - 0xc]
and edx, ebx
and ecx, dword [ebp - 4]
xor edx, ecx
mov edi, dword [ebp - 0x18]
add edx, esi
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp + 8]
add esi, 0x391c0cb3
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 0x14]
add edx, esi
and ecx, dword [ebp - 0x24]
mov esi, edi
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, dword [ebp - 0x14]
or dword [ebp + 8], ecx
mov ecx, edi
add dword [ebp + 8], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [ebp - 0xc]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0x60]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
lea esi, [ebx + 0x4ed8aa4a]
mov ebx, dword [ebp - 0x24]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov edi, ecx
add edx, esi
or edi, dword [ebp + 8]
mov esi, ebx
and ecx, dword [ebp + 8]
and edi, eax
mov eax, edi
ror esi, 0xb
or eax, ecx
mov dword [ebp - 8], edi
mov ecx, ebx
add eax, edx
rol ecx, 7
xor esi, ecx
mov dword [ebp - 8], eax
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov edi, dword [ebp - 8]
add esi, dword [ebp - 0x5c]
mov edx, ebx
mov ebx, dword [ebp - 4]
not edx
mov ecx, dword [ebp - 0x18]
and edx, ebx
and ecx, dword [ebp - 0x24]
xor edx, ecx
mov eax, dword [ebp - 0x20]
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0xc]
rol ecx, 0xa
add esi, 0x5b9cca4f
add esi, edx
mov edx, edi
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [ebp - 0x20], eax
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ecx
add edx, esi
and ecx, dword [ebp - 8]
mov esi, eax
or dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x14]
and dword [ebp - 0x10], edi
or dword [ebp - 0x10], ecx
mov ecx, eax
add dword [ebp - 0x10], edx
mov edx, eax
rol ecx, 7
not edx
and edx, dword [ebp - 0x18]
ror esi, 0xb
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0x58]
and ecx, eax
xor edx, ecx
add edx, esi
lea esi, [ebx + 0x682e6ff3]
mov ebx, dword [ebp - 0x10]
add esi, edx
mov edx, ebx
mov ecx, ebx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x14], edi
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
or ecx, ebx
add edx, esi
and ecx, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
and ecx, ebx
or eax, ecx
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x40
jge 0x41041e
mov ebx, 0x40
lea edi, [ebp + eax*4 - 0x13c]
sub ebx, eax
mov ecx, dword [edi - 0x34]
lea edi, [edi + 4]
mov edx, dword [edi - 4]
mov esi, ecx
mov eax, ecx
rol esi, 0xe
ror eax, 7
xor esi, eax
shr ecx, 3
xor esi, ecx
mov eax, edx
mov ecx, edx
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr edx, 0xa
xor ecx, edx
add esi, ecx
add esi, dword [edi - 0x3c]
add esi, dword [edi - 0x18]
mov dword [edi + 4], esi
sub ebx, 1
jne 0x4103e0
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
mov edx, edi
ror edx, 0xb
mov eax, edi
rol eax, 7
mov ecx, edi
xor edx, eax
not ecx
and ecx, ebx
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x20]
add edx, dword [ebp - 0x54]
and eax, edi
xor ecx, eax
mov edi, dword [ebp - 4]
add ecx, edx
mov eax, edi
mov edx, dword [ebp - 0x18]
rol eax, 0xa
add edx, 0x748f82ee
add edx, ecx
mov ecx, edi
add dword [ebp + 8], edx
ror ecx, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x10]
mov edi, eax
add ecx, edx
and eax, dword [ebp - 4]
or edi, dword [ebp - 4]
and edi, dword [ebp - 8]
or edi, eax
add edi, ecx
mov ecx, dword [ebp + 8]
mov edx, ecx
mov dword [ebp - 0x24], edi
mov eax, ecx
ror edx, 0xb
rol eax, 7
mov esi, edi
xor edx, eax
or esi, dword [ebp - 4]
mov eax, ecx
and esi, dword [ebp - 0x10]
ror eax, 6
not ecx
and ecx, dword [ebp - 0x20]
xor edx, eax
add edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
and eax, dword [ebp + 8]
xor ecx, eax
mov eax, edi
add ecx, edx
rol eax, 0xa
lea edx, [ebx + 0x78a5636f]
mov ebx, dword [ebp - 8]
add edx, ecx
mov ecx, edi
ror ecx, 0xd
add ebx, edx
xor ecx, eax
mov dword [ebp - 8], ebx
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, dword [ebp - 4]
add ecx, edx
or esi, eax
mov edx, ebx
add esi, ecx
ror edx, 0xb
mov eax, ebx
mov dword [ebp - 0x28], esi
rol eax, 7
xor edx, eax
mov ecx, ebx
not ecx
mov eax, ebx
and ecx, dword [ebp - 0x14]
ror eax, 6
xor edx, eax
mov eax, dword [ebp + 8]
add edx, dword [ebp - 0x4c]
and eax, ebx
xor ecx, eax
mov ebx, edi
add ecx, edx
mov eax, esi
mov edx, dword [ebp - 0x20]
or ebx, esi
and ebx, dword [ebp - 4]
add edx, 0x84c87814
add edx, ecx
rol eax, 0xa
add dword [ebp - 0x10], edx
mov ecx, esi
ror ecx, 0xd
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, edi
mov edi, dword [ebp - 0x10]
add ecx, edx
and eax, esi
mov edx, edi
or ebx, eax
ror edx, 0xb
add ebx, ecx
mov eax, edi
rol eax, 7
mov ecx, edi
xor edx, eax
mov dword [ebp - 0x20], ebx
mov eax, edi
not ecx
and ecx, dword [ebp + 8]
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
add edx, dword [ebp - 0x48]
and eax, edi
xor ecx, eax
mov edi, esi
add ecx, edx
mov eax, ebx
mov edx, dword [ebp - 0x14]
or edi, ebx
and edi, dword [ebp - 0x24]
add edx, 0x8cc70208
add edx, ecx
rol eax, 0xa
add dword [ebp - 4], edx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, esi
mov esi, dword [ebp - 4]
and eax, ebx
or edi, eax
add ecx, edx
mov edx, esi
mov eax, esi
rol eax, 7
add edi, ecx
ror edx, 0xb
mov ecx, esi
xor edx, eax
mov dword [ebp - 0x2c], edi
mov eax, esi
ror eax, 6
xor edx, eax
add edx, dword [ebp - 0x44]
not ecx
and ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
and eax, esi
mov esi, ebx
xor ecx, eax
or esi, edi
add ecx, edx
and esi, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
mov eax, edi
rol eax, 0xa
add edx, 0x90befffa
add edx, ecx
mov ecx, edi
add dword [ebp - 0x24], edx
ror ecx, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, ebx
mov ebx, dword [ebp - 0x24]
add ecx, edx
and eax, edi
mov edx, ebx
or esi, eax
ror edx, 0xb
add esi, ecx
mov eax, ebx
rol eax, 7
mov ecx, ebx
xor edx, eax
mov dword [ebp + 8], esi
not ecx
mov eax, ebx
and ecx, dword [ebp - 0x10]
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 4]
mov ebx, edi
add edx, dword [ebp - 0x40]
xor ecx, eax
add ecx, edx
mov eax, esi
mov edx, dword [ebp - 8]
or ebx, esi
and ebx, dword [ebp - 0x20]
add edx, 0xa4506ceb
add edx, ecx
rol eax, 0xa
add dword [ebp - 0x28], edx
mov ecx, esi
ror ecx, 0xd
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, edi
mov edi, dword [ebp - 0x28]
and eax, esi
add ecx, edx
or ebx, eax
mov edx, edi
mov eax, edi
rol eax, 7
add ebx, ecx
ror edx, 0xb
mov ecx, edi
xor edx, eax
not ecx
and ecx, dword [ebp - 4]
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x24]
and eax, edi
xor ecx, eax
add edx, dword [ebp - 0x3c]
add ecx, edx
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov edi, esi
rol eax, 0xa
add edx, 0xbef9a3f7
add edx, ecx
or edi, ebx
add dword [ebp - 0x20], edx
mov ecx, ebx
and edi, dword [ebp - 0x2c]
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x20]
and eax, ebx
add ecx, edx
or edi, eax
add edi, ecx
mov edx, esi
ror edx, 0xb
mov eax, esi
rol eax, 7
mov ecx, esi
xor edx, eax
not ecx
and ecx, dword [ebp - 0x24]
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x28]
add edx, dword [ebp - 0x38]
and eax, esi
mov esi, dword [ebp - 4]
xor ecx, eax
add ecx, edx
mov eax, edi
rol eax, 0xa
mov edx, edi
ror edx, 0xd
add esi, 0xc67178f2
xor edx, eax
add esi, ecx
mov eax, edi
mov ecx, ebx
ror eax, 2
or ecx, edi
and ecx, dword [ebp + 8]
xor edx, eax
add edx, dword [ebp - 0x30]
mov eax, ebx
and eax, edi
or ecx, eax
mov eax, dword [ebp + 8]
add ecx, edx
mov edx, dword [ebp - 0x34]
add ecx, esi
add dword [edx + 0xc], eax
mov eax, dword [edx + 0x10]
add dword [edx + 4], edi
add eax, esi
add eax, dword [ebp - 0x2c]
add dword [edx + 8], ebx
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x20]
add dword [edx + 0x14], eax
mov eax, dword [ebp - 0x28]
add dword [edx + 0x18], eax
mov eax, dword [ebp - 0x24]
add dword [edx + 0x1c], eax
pop edi
pop esi
mov dword [edx], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4