Function at 0x6837a2
Capabilities:
Hash data with md5

Disassembly:
lea esp, [esp + 4]
jmp 0x6837cc
pushal
mov esi, dword [esp + 0x24]
jmp 0x683809
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov eax, dword [esp + 0x2c]
push eax
xor edx, edx
mov ecx, 0x40
div ecx
inc eax
pop edx
sub esp, 0x40
mov ebx, esp
mov esi, dword [esp + 0x68]
xchg edx, eax
mov edi, ebx
jmp 0x683879
dec edx
jne 0x6838b3
je 0x6838e8
pop ebp
std
insd dword es:[edi], dx
hlt
test eax, eax
js 0x6839b2
cmp eax, 0x40
jae 0x683a32
jmp 0x683a68
test eax, eax
js 0x683924
mov byte [eax + ebx], 0x80
jmp 0x6839d1
xor eax, eax
dec eax
jmp 0x6839d1
push eax
mov eax, dword [esp + 0x70]
push edx
jmp 0x683a18
inc edx
jmp 0x6838b3
xor eax, eax
jmp 0x683a68
mov ecx, 0x40
sub ecx, eax
add edi, eax
push eax
xor eax, eax
inc edi
dec ecx
rep stosb byte es:[edi], al
pop eax
test eax, eax
js 0x683983
cmp eax, 0x38
jae 0x6839a4
jmp 0x683983
xor edx, edx
mov ecx, 8
mul ecx
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], edx
pop edx
pop eax
jmp 0x6838b3
mov ecx, 0x40
jmp 0x683c88
mov ecx, eax
jmp 0x683c88
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
push eax
push edx
push ebx
push esi
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x74]
push edi
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0x28955b88]
add eax, dword [esi]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x173848aa]
add edx, dword [esi + 4]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi + 0x242070db]
add ecx, dword [esi + 8]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x3e423112]
add ebx, dword [esi + 0xc]
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0xa83f051]
add eax, dword [esi + 0x10]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi + 0x4787c62a]
add edx, dword [esi + 0x14]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi - 0x57cfb9ed]
add ecx, dword [esi + 0x18]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x2b96aff]
add ebx, dword [esi + 0x1c]
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi + 0x698098d8]
add eax, dword [esi + 0x20]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x74bb0851]
add edx, dword [esi + 0x24]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi - 0xa44f]
add ecx, dword [esi + 0x28]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x76a32842]
add ebx, dword [esi + 0x2c]
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi + 0x6b901122]
add eax, dword [esi + 0x30]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x2678e6d]
add edx, dword [esi + 0x34]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi - 0x5986bc72]
add ecx, dword [esi + 0x38]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi + 0x49b40821]
add ebx, dword [esi + 0x3c]
rol ebx, 0x16
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi - 0x9e1da9e]
add eax, dword [esi + 4]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi - 0x3fbf4cc0]
add edx, dword [esi + 0x18]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi + 0x265e5a51]
add ecx, dword [esi + 0x2c]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi - 0x16493856]
add ebx, dword [esi]
rol ebx, 0x14
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi - 0x29d0efa3]
add eax, dword [esi + 0x14]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi + 0x2441453]
add edx, dword [esi + 0x28]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi - 0x275e197f]
add ecx, dword [esi + 0x3c]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi - 0x182c0438]
add ebx, dword [esi + 0x10]
rol ebx, 0x14
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi + 0x21e1cde6]
add eax, dword [esi + 0x24]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi - 0x3cc8f82a]
add edx, dword [esi + 0x38]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi - 0xb2af279]
add ecx, dword [esi + 0xc]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi + 0x455a14ed]
add ebx, dword [esi + 0x20]
rol ebx, 0x14
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi - 0x561c16fb]
add eax, dword [esi + 0x34]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi - 0x3105c08]
add edx, dword [esi + 8]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi + 0x676f02d9]
add ecx, dword [esi + 0x1c]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi - 0x72d5b376]
add ebx, dword [esi + 0x30]
rol ebx, 0x14
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp - 0x5c6be]
add eax, dword [esi + 0x14]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp - 0x788e097f]
add edx, dword [esi + 0x20]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp + 0x6d9d6122]
add ecx, dword [esi + 0x2c]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp - 0x21ac7f4]
add ebx, dword [esi + 0x38]
rol ebx, 0x17
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp - 0x5b4115bc]
add eax, dword [esi + 4]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp + 0x4bdecfa9]
add edx, dword [esi + 0x10]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp - 0x944b4a0]
add ecx, dword [esi + 0x1c]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp - 0x41404390]
add ebx, dword [esi + 0x28]
rol ebx, 0x17
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp + 0x289b7ec6]
add eax, dword [esi + 0x34]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp - 0x155ed806]
add edx, dword [esi]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp - 0x2b10cf7b]
add ecx, dword [esi + 0xc]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp + 0x4881d05]
add ebx, dword [esi + 0x18]
rol ebx, 0x17
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp - 0x262b2fc7]
add eax, dword [esi + 0x24]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp - 0x1924661b]
add edx, dword [esi + 0x30]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp + 0x1fa27cf8]
add ecx, dword [esi + 0x3c]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp - 0x3b53a99b]
add ebx, dword [esi + 8]
rol ebx, 0x17
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp - 0xbd6ddbc]
add eax, dword [esi]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp + 0x432aff97]
add edx, dword [esi + 0x1c]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp - 0x546bdc59]
add ecx, dword [esi + 0x38]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp - 0x36c5fc7]
add ebx, dword [esi + 0x14]
rol ebx, 0x15
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp + 0x655b59c3]
add eax, dword [esi + 0x30]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp - 0x70f3336e]
add edx, dword [esi + 0xc]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp - 0x100b83]
add ecx, dword [esi + 0x28]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp - 0x7a7ba22f]
add ebx, dword [esi + 4]
rol ebx, 0x15
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp + 0x6fa87e4f]
add eax, dword [esi + 0x20]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp - 0x1d31920]
add edx, dword [esi + 0x3c]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp - 0x5cfebcec]
add ecx, dword [esi + 0x18]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp + 0x4e0811a1]
add ebx, dword [esi + 0x34]
rol ebx, 0x15
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp - 0x8ac817e]
add eax, dword [esi + 0x10]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp - 0x42c50dcb]
add edx, dword [esi + 0x2c]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp + 0x2ad7d2bb]
add ecx, dword [esi + 8]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp - 0x14792c6f]
add ebx, dword [esi + 0x24]
rol ebx, 0x15
add ebx, ecx
pop edi
add dword [edi], eax
add dword [edi + 4], ebx
add dword [edi + 8], ecx
add dword [edi + 0xc], edx
pop esi
pop ebx
pop edx
pop eax
sub eax, 0x40
test edx, edx
jne 0x68383f
add esp, 0x40
popal
ret 0xc