Function at 0x4c9770
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
pushal
sub esp, 0x114
mov edi, 0x5ab9b0
xor ebx, ebx
mov eax, dword [edi + ebx*4]
mov ecx, dword [edi + ebx*4 + 4]
mov edx, dword [edi + ebx*4 + 0x20]
mov esi, dword [edi + ebx*4 + 0x24]
bswap eax
bswap edx
bswap ecx
bswap esi
mov dword [esp + ebx*4 + 0x14], eax
mov dword [esp + ebx*4 + 0x18], ecx
mov dword [esp + ebx*4 + 0x34], edx
mov dword [esp + ebx*4 + 0x38], esi
inc ebx
inc ebx
cmp ebx, 8
jne 0x4c977e
shl ebx, 1
mov esi, dword [esp + ebx*4 + 0xc]
mov ecx, esi
ror ecx, 0x11
mov edx, esi
ror edx, 0x13
xor edx, ecx
shr esi, 0xa
xor esi, edx
mov eax, dword [esp + ebx*4 - 0x28]
mov ecx, eax
ror ecx, 7
mov edx, eax
ror edx, 0x12
xor edx, ecx
shr eax, 3
add esi, dword [esp + ebx*4 - 8]
xor eax, edx
add eax, esi
add eax, dword [esp + ebx*4 - 0x2c]
inc ebx
mov dword [esp + ebx*4 + 0x10], eax
cmp ebx, 0x40
jne 0x4c97ae
mov edi, 0x5ab9f8
mov eax, dword [edi + 0x1c]
mov ebx, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edx
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0x428a2f98
add esi, dword [esp + 0x14]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0x71374491
add esi, dword [esp + 0x18]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0xb5c0fbcf
add esi, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0xe9b5dba5
add esi, dword [esp + 0x20]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0x3956c25b
add esi, dword [esp + 0x24]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0x59f111f1
add esi, dword [esp + 0x28]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0x923f82a4
add esi, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0xab1c5ed5
add esi, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0xd807aa98
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0x12835b01
add esi, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0x243185be
add esi, dword [esp + 0x3c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0x550c7dc3
add esi, dword [esp + 0x40]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0x72be5d74
add esi, dword [esp + 0x44]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0x80deb1fe
add esi, dword [esp + 0x48]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0x9bdc06a7
add esi, dword [esp + 0x4c]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0xc19bf174
add esi, dword [esp + 0x50]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0xe49b69c1
add esi, dword [esp + 0x54]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0xefbe4786
add esi, dword [esp + 0x58]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0xfc19dc6
add esi, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0x240ca1cc
add esi, dword [esp + 0x60]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0x2de92c6f
add esi, dword [esp + 0x64]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0x4a7484aa
add esi, dword [esp + 0x68]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0x5cb0a9dc
add esi, dword [esp + 0x6c]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0x76f988da
add esi, dword [esp + 0x70]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0x983e5152
add esi, dword [esp + 0x74]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0xa831c66d
add esi, dword [esp + 0x78]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0xb00327c8
add esi, dword [esp + 0x7c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0xbf597fc7
add esi, dword [esp + 0x80]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0xc6e00bf3
add esi, dword [esp + 0x84]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0xd5a79147
add esi, dword [esp + 0x88]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0x6ca6351
add esi, dword [esp + 0x8c]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0x14292967
add esi, dword [esp + 0x90]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0x27b70a85
add esi, dword [esp + 0x94]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0x2e1b2138
add esi, dword [esp + 0x98]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0x4d2c6dfc
add esi, dword [esp + 0x9c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0x53380d13
add esi, dword [esp + 0xa0]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0x650a7354
add esi, dword [esp + 0xa4]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0x766a0abb
add esi, dword [esp + 0xa8]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0x81c2c92e
add esi, dword [esp + 0xac]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0x92722c85
add esi, dword [esp + 0xb0]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0xa2bfe8a1
add esi, dword [esp + 0xb4]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0xa81a664b
add esi, dword [esp + 0xb8]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0xc24b8b70
add esi, dword [esp + 0xbc]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0xc76c51a3
add esi, dword [esp + 0xc0]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0xd192e819
add esi, dword [esp + 0xc4]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0xd6990624
add esi, dword [esp + 0xc8]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0xf40e3585
add esi, dword [esp + 0xcc]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0x106aa070
add esi, dword [esp + 0xd0]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0x19a4c116
add esi, dword [esp + 0xd4]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0x1e376c08
add esi, dword [esp + 0xd8]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0x2748774c
add esi, dword [esp + 0xdc]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0x34b0bcb5
add esi, dword [esp + 0xe0]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0x391c0cb3
add esi, dword [esp + 0xe4]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0x4ed8aa4a
add esi, dword [esp + 0xe8]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0x5b9cca4f
add esi, dword [esp + 0xec]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0x682e6ff3
add esi, dword [esp + 0xf0]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 8]
and esi, dword [esp]
xor esi, dword [esp + 8]
add esi, ebp
add esi, dword [esp + 0xc]
add esi, 0x748f82ee
add esi, dword [esp + 0xf4]
mov dword [esp + 0x10], esi
mov edi, eax
mov ebp, edi
ror edi, 2
mov esi, eax
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, eax
or edi, ebx
and edi, ecx
mov esi, eax
and esi, ebx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0xc], edi
add edx, esi
mov edi, edx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp]
xor esi, dword [esp + 4]
and esi, edx
xor esi, dword [esp + 4]
add esi, ebp
add esi, dword [esp + 8]
add esi, 0x78a5636f
add esi, dword [esp + 0xf8]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 0xc]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 0xc]
or edi, eax
and edi, ebx
mov esi, dword [esp + 0xc]
and esi, eax
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 8], edi
add ecx, esi
mov edi, ecx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, edx
xor esi, dword [esp]
and esi, ecx
xor esi, dword [esp]
add esi, ebp
add esi, dword [esp + 4]
add esi, 0x84c87814
add esi, dword [esp + 0xfc]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 8]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 8]
or edi, dword [esp + 0xc]
and edi, eax
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 4], edi
add ebx, esi
mov edi, ebx
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ecx
xor esi, edx
and esi, ebx
xor esi, edx
add esi, ebp
add esi, dword [esp]
add esi, 0x8cc70208
add esi, dword [esp + 0x100]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 2
mov esi, dword [esp + 4]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp + 4]
or edi, dword [esp + 8]
and edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
and esi, dword [esp + 8]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov dword [esp], edi
add eax, esi
mov edi, eax
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, ebx
xor esi, ecx
and esi, eax
xor esi, ecx
add esi, ebp
add esi, edx
add esi, 0x90befffa
add esi, dword [esp + 0x104]
mov dword [esp + 0x10], esi
mov edi, dword [esp]
mov ebp, edi
ror edi, 2
mov esi, dword [esp]
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, dword [esp]
or edi, dword [esp + 4]
and edi, dword [esp + 8]
mov esi, dword [esp]
and esi, dword [esp + 4]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov edx, edi
add dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0xc]
xor esi, ebx
add esi, ebp
add esi, ecx
add esi, 0xa4506ceb
add esi, dword [esp + 0x108]
mov dword [esp + 0x10], esi
mov edi, edx
mov ebp, edi
ror edi, 2
mov esi, edx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, edx
or edi, dword [esp]
and edi, dword [esp + 4]
mov esi, edx
and esi, dword [esp]
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ecx, edi
add dword [esp + 8], esi
mov edi, dword [esp + 8]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 0xc]
xor esi, eax
and esi, dword [esp + 8]
xor esi, eax
add esi, ebp
add esi, ebx
add esi, 0xbef9a3f7
add esi, dword [esp + 0x10c]
mov dword [esp + 0x10], esi
mov edi, ecx
mov ebp, edi
ror edi, 2
mov esi, ecx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ecx
or edi, edx
and edi, dword [esp]
mov esi, ecx
and esi, edx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov ebx, edi
add dword [esp + 4], esi
mov edi, dword [esp + 4]
mov ebp, edi
ror edi, 6
mov esi, edi
ror esi, 5
xor esi, edi
rol ebp, 7
xor ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0xc]
and esi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add esi, ebp
add esi, eax
add esi, 0xc67178f2
add esi, dword [esp + 0x110]
mov dword [esp + 0x10], esi
mov edi, ebx
mov ebp, edi
ror edi, 2
mov esi, ebx
ror esi, 0xd
xor edi, esi
rol ebp, 0xa
xor ebp, edi
mov edi, ebx
or edi, ecx
and edi, edx
mov esi, ebx
and esi, ecx
or edi, esi
add edi, ebp
mov esi, dword [esp + 0x10]
add edi, esi
mov eax, edi
add dword [esp], esi
mov edi, 0x5ab9f8
add dword [edi], eax
add dword [edi + 4], ebx
add dword [edi + 8], ecx
add dword [edi + 0xc], edx
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add dword [edi + 0x1c], eax
add dword [edi + 0x18], ebx
add dword [edi + 0x14], ecx
add dword [edi + 0x10], edx
add esp, 0x114
popal
ret