Function at 0x40a9da
Capabilities:
Hash data using sha1

Disassembly:
pushal
sub esp, 0x40
push esi
lodsd eax, dword [esi]
mov ebp, eax
lodsd eax, dword [esi]
mov ebx, eax
lodsd eax, dword [esi]
mov ecx, eax
lodsd eax, dword [esi]
mov edx, eax
lodsd eax, dword [esi]
xchg ebp, eax
mov esi, edi
mov edi, esp
add edi, 4
push eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
lodsd eax, dword [esi]
bswap eax
stosd dword es:[edi], eax
pop eax
mov esi, edx
xor esi, ecx
and esi, ebx
xor esi, edx
add ebp, esi
add ebp, dword [esp + 4]
add ebp, 0x5a827999
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
mov esi, ecx
xor esi, ebx
and esi, eax
xor esi, ecx
add edx, esi
add edx, dword [esp + 8]
add edx, 0x5a827999
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
mov esi, ebx
xor esi, eax
and esi, ebp
xor esi, ebx
add ecx, esi
add ecx, dword [esp + 0xc]
add ecx, 0x5a827999
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
mov esi, eax
xor esi, ebp
and esi, edx
xor esi, eax
add ebx, esi
add ebx, dword [esp + 0x10]
add ebx, 0x5a827999
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
mov esi, ebp
xor esi, edx
and esi, ecx
xor esi, ebp
add eax, esi
add eax, dword [esp + 0x14]
add eax, 0x5a827999
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
mov esi, edx
xor esi, ecx
and esi, ebx
xor esi, edx
add ebp, esi
add ebp, dword [esp + 0x18]
add ebp, 0x5a827999
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
mov esi, ecx
xor esi, ebx
and esi, eax
xor esi, ecx
add edx, esi
add edx, dword [esp + 0x1c]
add edx, 0x5a827999
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
mov esi, ebx
xor esi, eax
and esi, ebp
xor esi, ebx
add ecx, esi
add ecx, dword [esp + 0x20]
add ecx, 0x5a827999
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
mov esi, eax
xor esi, ebp
and esi, edx
xor esi, eax
add ebx, esi
add ebx, dword [esp + 0x24]
add ebx, 0x5a827999
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
mov esi, ebp
xor esi, edx
and esi, ecx
xor esi, ebp
add eax, esi
add eax, dword [esp + 0x28]
add eax, 0x5a827999
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
mov esi, edx
xor esi, ecx
and esi, ebx
xor esi, edx
add ebp, esi
add ebp, dword [esp + 0x2c]
add ebp, 0x5a827999
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
mov esi, ecx
xor esi, ebx
and esi, eax
xor esi, ecx
add edx, esi
add edx, dword [esp + 0x30]
add edx, 0x5a827999
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
mov esi, ebx
xor esi, eax
and esi, ebp
xor esi, ebx
add ecx, esi
add ecx, dword [esp + 0x34]
add ecx, 0x5a827999
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
mov esi, eax
xor esi, ebp
and esi, edx
xor esi, eax
add ebx, esi
add ebx, dword [esp + 0x38]
add ebx, 0x5a827999
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
mov esi, ebp
xor esi, edx
and esi, ecx
xor esi, ebp
add eax, esi
add eax, dword [esp + 0x3c]
add eax, 0x5a827999
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
mov esi, edx
xor esi, ecx
and esi, ebx
xor esi, edx
add ebp, esi
add ebp, dword [esp + 0x40]
add ebp, 0x5a827999
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
mov esi, ecx
xor esi, ebx
and esi, eax
xor esi, ecx
add edx, esi
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 4]
rol esi, 1
mov dword [esp + 4], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x5a827999
mov esi, ebx
xor esi, eax
and esi, ebp
xor esi, ebx
add ecx, esi
mov esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 8]
rol esi, 1
mov dword [esp + 8], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x5a827999
mov esi, eax
xor esi, ebp
and esi, edx
xor esi, eax
add ebx, esi
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0xc]
rol esi, 1
mov dword [esp + 0xc], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x5a827999
mov esi, ebp
xor esi, edx
and esi, ecx
xor esi, ebp
add eax, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x10]
rol esi, 1
mov dword [esp + 0x10], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x5a827999
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x14]
rol esi, 1
mov dword [esp + 0x14], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x6ed9eba1
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0xc]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 0x18]
rol esi, 1
mov dword [esp + 0x18], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x6ed9eba1
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0x1c]
rol esi, 1
mov dword [esp + 0x1c], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x6ed9eba1
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x14]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x20]
rol esi, 1
mov dword [esp + 0x20], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x6ed9eba1
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x18]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x24]
rol esi, 1
mov dword [esp + 0x24], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x6ed9eba1
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 0x1c]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x28]
rol esi, 1
mov dword [esp + 0x28], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x6ed9eba1
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0x20]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x2c]
rol esi, 1
mov dword [esp + 0x2c], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x6ed9eba1
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0x24]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x30]
rol esi, 1
mov dword [esp + 0x30], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x6ed9eba1
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x34]
rol esi, 1
mov dword [esp + 0x34], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x6ed9eba1
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x38]
rol esi, 1
mov dword [esp + 0x38], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x6ed9eba1
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x3c]
rol esi, 1
mov dword [esp + 0x3c], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x6ed9eba1
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0x34]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x40]
rol esi, 1
mov dword [esp + 0x40], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x6ed9eba1
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 4]
rol esi, 1
mov dword [esp + 4], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x6ed9eba1
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 8]
rol esi, 1
mov dword [esp + 8], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x6ed9eba1
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0xc]
rol esi, 1
mov dword [esp + 0xc], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x6ed9eba1
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x10]
rol esi, 1
mov dword [esp + 0x10], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x6ed9eba1
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x14]
rol esi, 1
mov dword [esp + 0x14], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x6ed9eba1
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0xc]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 0x18]
rol esi, 1
mov dword [esp + 0x18], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x6ed9eba1
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0x1c]
rol esi, 1
mov dword [esp + 0x1c], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x6ed9eba1
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x14]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x20]
rol esi, 1
mov dword [esp + 0x20], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x6ed9eba1
mov esi, ebx
or esi, ecx
and esi, edx
mov edi, ebx
and edi, ecx
or esi, edi
add ebp, esi
mov esi, dword [esp + 0x18]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x24]
rol esi, 1
mov dword [esp + 0x24], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x8f1bbcdc
mov esi, eax
or esi, ebx
and esi, ecx
mov edi, eax
and edi, ebx
or esi, edi
add edx, esi
mov esi, dword [esp + 0x1c]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x28]
rol esi, 1
mov dword [esp + 0x28], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x8f1bbcdc
mov esi, ebp
or esi, eax
and esi, ebx
mov edi, ebp
and edi, eax
or esi, edi
add ecx, esi
mov esi, dword [esp + 0x20]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x2c]
rol esi, 1
mov dword [esp + 0x2c], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x8f1bbcdc
mov esi, edx
or esi, ebp
and esi, eax
mov edi, edx
and edi, ebp
or esi, edi
add ebx, esi
mov esi, dword [esp + 0x24]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x30]
rol esi, 1
mov dword [esp + 0x30], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x8f1bbcdc
mov esi, ecx
or esi, edx
and esi, ebp
mov edi, ecx
and edi, edx
or esi, edi
add eax, esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x34]
rol esi, 1
mov dword [esp + 0x34], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x8f1bbcdc
mov esi, ebx
or esi, ecx
and esi, edx
mov edi, ebx
and edi, ecx
or esi, edi
add ebp, esi
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x38]
rol esi, 1
mov dword [esp + 0x38], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x8f1bbcdc
mov esi, eax
or esi, ebx
and esi, ecx
mov edi, eax
and edi, ebx
or esi, edi
add edx, esi
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x3c]
rol esi, 1
mov dword [esp + 0x3c], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x8f1bbcdc
mov esi, ebp
or esi, eax
and esi, ebx
mov edi, ebp
and edi, eax
or esi, edi
add ecx, esi
mov esi, dword [esp + 0x34]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x40]
rol esi, 1
mov dword [esp + 0x40], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x8f1bbcdc
mov esi, edx
or esi, ebp
and esi, eax
mov edi, edx
and edi, ebp
or esi, edi
add ebx, esi
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 4]
rol esi, 1
mov dword [esp + 4], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x8f1bbcdc
mov esi, ecx
or esi, edx
and esi, ebp
mov edi, ecx
and edi, edx
or esi, edi
add eax, esi
mov esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 8]
rol esi, 1
mov dword [esp + 8], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x8f1bbcdc
mov esi, ebx
or esi, ecx
and esi, edx
mov edi, ebx
and edi, ecx
or esi, edi
add ebp, esi
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0xc]
rol esi, 1
mov dword [esp + 0xc], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x8f1bbcdc
mov esi, eax
or esi, ebx
and esi, ecx
mov edi, eax
and edi, ebx
or esi, edi
add edx, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x10]
rol esi, 1
mov dword [esp + 0x10], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x8f1bbcdc
mov esi, ebp
or esi, eax
and esi, ebx
mov edi, ebp
and edi, eax
or esi, edi
add ecx, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x14]
rol esi, 1
mov dword [esp + 0x14], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x8f1bbcdc
mov esi, edx
or esi, ebp
and esi, eax
mov edi, edx
and edi, ebp
or esi, edi
add ebx, esi
mov esi, dword [esp + 0xc]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 0x18]
rol esi, 1
mov dword [esp + 0x18], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x8f1bbcdc
mov esi, ecx
or esi, edx
and esi, ebp
mov edi, ecx
and edi, edx
or esi, edi
add eax, esi
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0x1c]
rol esi, 1
mov dword [esp + 0x1c], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x8f1bbcdc
mov esi, ebx
or esi, ecx
and esi, edx
mov edi, ebx
and edi, ecx
or esi, edi
add ebp, esi
mov esi, dword [esp + 0x14]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x20]
rol esi, 1
mov dword [esp + 0x20], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0x8f1bbcdc
mov esi, eax
or esi, ebx
and esi, ecx
mov edi, eax
and edi, ebx
or esi, edi
add edx, esi
mov esi, dword [esp + 0x18]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x24]
rol esi, 1
mov dword [esp + 0x24], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0x8f1bbcdc
mov esi, ebp
or esi, eax
and esi, ebx
mov edi, ebp
and edi, eax
or esi, edi
add ecx, esi
mov esi, dword [esp + 0x1c]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x28]
rol esi, 1
mov dword [esp + 0x28], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0x8f1bbcdc
mov esi, edx
or esi, ebp
and esi, eax
mov edi, edx
and edi, ebp
or esi, edi
add ebx, esi
mov esi, dword [esp + 0x20]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x2c]
rol esi, 1
mov dword [esp + 0x2c], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0x8f1bbcdc
mov esi, ecx
or esi, edx
and esi, ebp
mov edi, ecx
and edi, edx
or esi, edi
add eax, esi
mov esi, dword [esp + 0x24]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x30]
rol esi, 1
mov dword [esp + 0x30], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0x8f1bbcdc
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x34]
rol esi, 1
mov dword [esp + 0x34], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0xca62c1d6
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x38]
rol esi, 1
mov dword [esp + 0x38], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0xca62c1d6
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x3c]
rol esi, 1
mov dword [esp + 0x3c], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0xca62c1d6
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x34]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x40]
rol esi, 1
mov dword [esp + 0x40], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0xca62c1d6
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 4]
rol esi, 1
mov dword [esp + 4], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0xca62c1d6
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 8]
rol esi, 1
mov dword [esp + 8], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0xca62c1d6
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0xc]
rol esi, 1
mov dword [esp + 0xc], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0xca62c1d6
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 4]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x10]
rol esi, 1
mov dword [esp + 0x10], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0xca62c1d6
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 8]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x14]
rol esi, 1
mov dword [esp + 0x14], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0xca62c1d6
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0xc]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 0x18]
rol esi, 1
mov dword [esp + 0x18], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0xca62c1d6
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0x1c]
rol esi, 1
mov dword [esp + 0x1c], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0xca62c1d6
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0x14]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x28]
xor esi, dword [esp + 0x20]
rol esi, 1
mov dword [esp + 0x20], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0xca62c1d6
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0x18]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x24]
rol esi, 1
mov dword [esp + 0x24], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0xca62c1d6
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x1c]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x30]
xor esi, dword [esp + 0x28]
rol esi, 1
mov dword [esp + 0x28], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0xca62c1d6
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x20]
xor esi, dword [esp + 0xc]
xor esi, dword [esp + 0x34]
xor esi, dword [esp + 0x2c]
rol esi, 1
mov dword [esp + 0x2c], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0xca62c1d6
mov esi, edx
xor esi, ecx
xor esi, ebx
add ebp, esi
mov esi, dword [esp + 0x24]
xor esi, dword [esp + 0x10]
xor esi, dword [esp + 0x38]
xor esi, dword [esp + 0x30]
rol esi, 1
mov dword [esp + 0x30], esi
add ebp, esi
mov esi, eax
rol esi, 5
add ebp, esi
ror ebx, 2
add ebp, 0xca62c1d6
mov esi, ecx
xor esi, ebx
xor esi, eax
add edx, esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x14]
xor esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x34]
rol esi, 1
mov dword [esp + 0x34], esi
add edx, esi
mov esi, ebp
rol esi, 5
add edx, esi
ror eax, 2
add edx, 0xca62c1d6
mov esi, ebx
xor esi, eax
xor esi, ebp
add ecx, esi
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x18]
xor esi, dword [esp + 0x40]
xor esi, dword [esp + 0x38]
rol esi, 1
mov dword [esp + 0x38], esi
add ecx, esi
mov esi, edx
rol esi, 5
add ecx, esi
ror ebp, 2
add ecx, 0xca62c1d6
mov esi, eax
xor esi, ebp
xor esi, edx
add ebx, esi
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 4]
xor esi, dword [esp + 0x3c]
rol esi, 1
mov dword [esp + 0x3c], esi
add ebx, esi
mov esi, ecx
rol esi, 5
add ebx, esi
ror edx, 2
add ebx, 0xca62c1d6
mov esi, ebp
xor esi, edx
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x34]
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 8]
xor esi, dword [esp + 0x40]
rol esi, 1
mov dword [esp + 0x40], esi
add eax, esi
mov esi, ebx
rol esi, 5
add eax, esi
ror ecx, 2
add eax, 0xca62c1d6
pop edi
add esp, 0x40
add dword [edi], eax
add dword [edi + 4], ebx
add dword [edi + 8], ecx
add dword [edi + 0xc], edx
add dword [edi + 0x10], ebp
popal
ret