Function at 0x40a3a0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
mov ebx, 0xefcdab89
add eax, 0xd76aa477
mov ecx, 0x98badcfe
rol eax, 7
mov edx, 0x10325476
add eax, ebx
mov esi, ebx
add edx, dword [edi + 4]
xor esi, ecx
and esi, eax
xor esi, ecx
lea edx, [edx + esi - 0x173848aa]
rol edx, 0xc
add edx, eax
mov esi, eax
add ecx, dword [edi + 8]
xor esi, ebx
and esi, edx
xor esi, ebx
lea ecx, [ecx + esi + 0x242070db]
rol ecx, 0x11
add ecx, edx
mov esi, edx
add ebx, dword [edi + 0xc]
xor esi, eax
and esi, ecx
xor esi, eax
lea ebx, [ebx + esi - 0x3e423112]
rol ebx, 0x16
add ebx, ecx
mov esi, ecx
add eax, 0xf57c102f
xor esi, edx
and esi, ebx
xor esi, edx
add eax, esi
rol eax, 7
add eax, ebx
mov esi, ebx
add edx, 0x4787c62a
xor esi, ecx
and esi, eax
xor esi, ecx
add edx, esi
rol edx, 0xc
add edx, eax
mov esi, eax
add ecx, 0xa8304613
xor esi, ebx
and esi, edx
xor esi, ebx
add ecx, esi
rol ecx, 0x11
add ecx, edx
mov esi, edx
add ebx, 0xfd469501
xor esi, eax
and esi, ecx
xor esi, eax
add ebx, esi
rol ebx, 0x16
add ebx, ecx
mov esi, ecx
add eax, 0x698098d8
xor esi, edx
and esi, ebx
xor esi, edx
add eax, esi
rol eax, 7
add eax, ebx
mov esi, ebx
add edx, 0x8b44f7af
xor esi, ecx
and esi, eax
xor esi, ecx
add edx, esi
rol edx, 0xc
add edx, eax
mov esi, eax
add ecx, 0xffff5bb1
xor esi, ebx
and esi, edx
xor esi, ebx
add ecx, esi
rol ecx, 0x11
add ecx, edx
mov esi, edx
add ebx, 0x895cd7be
xor esi, eax
and esi, ecx
xor esi, eax
add ebx, esi
rol ebx, 0x16
add ebx, ecx
mov esi, ecx
add eax, 0x6b901122
xor esi, edx
and esi, ebx
xor esi, edx
add eax, esi
rol eax, 7
add eax, ebx
mov esi, ebx
add edx, 0xfd987193
xor esi, ecx
and esi, eax
xor esi, ecx
add edx, esi
rol edx, 0xc
add edx, eax
mov esi, eax
add ecx, 0xa679440e
xor esi, ebx
and esi, edx
xor esi, ebx
add ecx, esi
rol ecx, 0x11
add ecx, edx
mov esi, edx
add ebx, 0x49b40821
xor esi, eax
and esi, ecx
xor esi, eax
add ebx, esi
rol ebx, 0x16
add ebx, ecx
mov esi, ecx
xor esi, ebx
add eax, dword [edi + 4]
and esi, edx
xor esi, ecx
lea eax, [eax + esi - 0x9e1da9e]
rol eax, 5
add eax, ebx
mov esi, ebx
add edx, 0xc040b340
xor esi, eax
and esi, ecx
xor esi, ebx
add edx, esi
rol edx, 9
add edx, eax
mov esi, eax
add ecx, 0x265e5a51
xor esi, edx
and esi, ebx
xor esi, eax
add ecx, esi
rol ecx, 0xe
add ecx, edx
mov esi, edx
xor esi, ecx
add ebx, dword [edi]
and esi, eax
xor esi, edx
lea ebx, [ebx + esi - 0x16493856]
rol ebx, 0x14
add ebx, ecx
mov esi, ecx
add eax, 0xd62f105d
xor esi, ebx
and esi, edx
xor esi, ecx
add eax, esi
rol eax, 5
add eax, ebx
mov esi, ebx
add edx, 0x2441453
xor esi, eax
and esi, ecx
xor esi, ebx
add edx, esi
rol edx, 9
add edx, eax
mov esi, eax
add ecx, 0xd8a1e681
xor esi, edx
and esi, ebx
xor esi, eax
add ecx, esi
rol ecx, 0xe
add ecx, edx
mov esi, edx
add ebx, 0xe7d3fc48
xor esi, ecx
and esi, eax
xor esi, edx
add ebx, esi
rol ebx, 0x14
add ebx, ecx
mov esi, ecx
add eax, 0x21e1cde6
xor esi, ebx
and esi, edx
xor esi, ecx
add eax, esi
rol eax, 5
add eax, ebx
mov esi, ebx
add edx, 0xc3370856
xor esi, eax
and esi, ecx
xor esi, ebx
add edx, esi
rol edx, 9
add edx, eax
mov esi, eax
xor esi, edx
add ecx, dword [edi + 0xc]
and esi, ebx
xor esi, eax
lea ecx, [ecx + esi - 0xb2af279]
rol ecx, 0xe
add ecx, edx
mov esi, edx
add ebx, 0x455a14ed
xor esi, ecx
and esi, eax
xor esi, edx
add ebx, esi
rol ebx, 0x14
add ebx, ecx
mov esi, ecx
add eax, 0xa9e3e905
xor esi, ebx
and esi, edx
xor esi, ecx
add eax, esi
rol eax, 5
add eax, ebx
mov esi, ebx
xor esi, eax
add edx, dword [edi + 8]
and esi, ecx
xor esi, ebx
lea edx, [edx + esi - 0x3105c08]
rol edx, 9
add edx, eax
mov esi, eax
add ecx, 0x676f02d9
xor esi, edx
and esi, ebx
xor esi, eax
add ecx, esi
rol ecx, 0xe
add ecx, edx
mov esi, edx
add ebx, 0x8d2a4c8a
xor esi, ecx
and esi, eax
xor esi, edx
add ebx, esi
rol ebx, 0x14
add ebx, ecx
mov esi, edx
add eax, 0xfffa3942
xor esi, ecx
xor esi, ebx
add eax, esi
rol eax, 4
add eax, ebx
mov esi, ecx
add edx, 0x8771f681
xor esi, ebx
xor esi, eax
add edx, esi
rol edx, 0xb
add edx, eax
mov esi, ebx
add ecx, 0x6d9d6122
xor esi, eax
xor esi, edx
add ecx, esi
rol ecx, 0x10
add ecx, edx
mov esi, eax
add ebx, 0xfde5388c
xor esi, edx
xor esi, ecx
add ebx, esi
rol ebx, 0x17
add ebx, ecx
mov esi, edx
add eax, dword [edi + 4]
xor esi, ecx
xor esi, ebx
lea eax, [eax + esi - 0x5b4115bc]
rol eax, 4
add eax, ebx
mov esi, ecx
add edx, 0x4bded029
xor esi, ebx
xor esi, eax
add edx, esi
rol edx, 0xb
add edx, eax
mov esi, ebx
add ecx, 0xf6bb4b60
xor esi, eax
xor esi, edx
add ecx, esi
rol ecx, 0x10
add ecx, edx
mov esi, eax
add ebx, 0xbebfbc70
xor esi, edx
xor esi, ecx
add ebx, esi
rol ebx, 0x17
add ebx, ecx
mov esi, edx
add eax, 0x289b7ec6
xor esi, ecx
xor esi, ebx
add eax, esi
rol eax, 4
add eax, ebx
mov esi, ecx
add edx, dword [edi]
xor esi, ebx
xor esi, eax
lea edx, [edx + esi - 0x155ed806]
rol edx, 0xb
add edx, eax
mov esi, ebx
add ecx, dword [edi + 0xc]
xor esi, eax
xor esi, edx
lea ecx, [ecx + esi - 0x2b10cf7b]
rol ecx, 0x10
add ecx, edx
mov esi, eax
add ebx, 0x4881d05
xor esi, edx
xor esi, ecx
add ebx, esi
rol ebx, 0x17
add ebx, ecx
mov esi, edx
add eax, 0xd9d4d039
xor esi, ecx
xor esi, ebx
add eax, esi
rol eax, 4
add eax, ebx
mov esi, ecx
add edx, 0xe6db99e5
xor esi, ebx
xor esi, eax
add edx, esi
rol edx, 0xb
add edx, eax
mov esi, ebx
add ecx, 0x1fa27cf8
xor esi, eax
xor esi, edx
add ecx, esi
rol ecx, 0x10
add ecx, edx
mov esi, eax
add ebx, dword [edi + 8]
xor esi, edx
xor esi, ecx
lea ebx, [ebx + esi - 0x3b53a99b]
rol ebx, 0x17
add ebx, ecx
mov esi, edx
xor esi, 0xffffffff
or esi, ebx
add eax, dword [edi]
xor esi, ecx
lea eax, [eax + esi - 0xbd6ddbc]
rol eax, 6
add eax, ebx
mov esi, ecx
add edx, 0x432aff97
not esi
or esi, eax
xor esi, ebx
add edx, esi
rol edx, 0xa
add edx, eax
mov esi, ebx
add ecx, 0xab942427
not esi
or esi, edx
xor esi, eax
add ecx, esi
rol ecx, 0xf
add ecx, edx
mov esi, eax
add ebx, 0xfc93a039
not esi
or esi, ecx
xor esi, edx
add ebx, esi
rol ebx, 0x15
add ebx, ecx
mov esi, edx
add eax, 0x655b59c3
not esi
or esi, ebx
xor esi, ecx
add eax, esi
rol eax, 6
add eax, ebx
mov esi, ecx
xor esi, 0xffffffff
or esi, eax
add edx, dword [edi + 0xc]
xor esi, ebx
lea edx, [edx + esi - 0x70f3336e]
rol edx, 0xa
add edx, eax
mov esi, ebx
add ecx, 0xffeff47d
not esi
or esi, edx
xor esi, eax
add ecx, esi
rol ecx, 0xf
add ecx, edx
mov esi, eax
xor esi, 0xffffffff
or esi, ecx
add ebx, dword [edi + 4]
xor esi, edx
lea ebx, [ebx + esi - 0x7a7ba22f]
rol ebx, 0x15
add ebx, ecx
mov esi, edx
add eax, 0x6fa87e4f
not esi
or esi, ebx
xor esi, ecx
add eax, esi
rol eax, 6
add eax, ebx
mov esi, ecx
add edx, 0xfe2ce6e0
not esi
or esi, eax
xor esi, ebx
add edx, esi
rol edx, 0xa
add edx, eax
mov esi, ebx
add ecx, 0xa3014314
not esi
or esi, edx
xor esi, eax
add ecx, esi
rol ecx, 0xf
add ecx, edx
mov esi, eax
add ebx, 0x4e0811a1
not esi
or esi, ecx
xor esi, edx
add ebx, esi
rol ebx, 0x15
add ebx, ecx
mov esi, edx
add eax, 0xf7537f02
not esi
or esi, ebx
xor esi, ecx
add eax, esi
rol eax, 6
add eax, ebx
mov esi, ecx
add edx, 0xbd3af235
not esi
or esi, eax
xor esi, ebx
add edx, esi
rol edx, 0xa
add edx, eax
mov esi, ebx
xor esi, 0xffffffff
or esi, edx
add ecx, dword [edi + 8]
xor esi, eax
lea ecx, [ecx + esi + 0x2ad7d2bb]
rol ecx, 0xf
add ecx, edx
mov esi, eax
add ebx, 0xeb86d391
not esi
or esi, ecx
xor esi, edx
add ebx, esi
rol ebx, 0x15
add ebx, ecx
add eax, 0x67452301
add ebx, 0xefcdab89
add ecx, 0x98badcfe
add edx, 0x10325476
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
pop edi
pop esi
pop ebx
pop ebp
ret