well i found some md5.exe from net
hxxp://www.msoworld.com/programming/md5.zip
the code in c is as follows
static void MDString (string)
char *string;
{
MD_CTX context;
unsigned char digest[16];
unsigned int len = strlen (string);
MDInit (&context);
MDUpdate (&context, string, len);
MDFinal (digest, &context);
printf ("MD%d (\"%s\"

= ", MD, string);
MDPrint (digest);
printf ("\n"

;
}
now i added assume arguments to that md5update
004010F1 |. 57 PUSH EDI ; /Arg3
004010F2 |. 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20] ; |
004010F6 |. 56 PUSH ESI ; |Arg2
004010F7 |. 51 PUSH ECX ; |Arg1
004010F8 |. E8 53030000 CALL MD5.00401450 ; \Assumed StdFunc3
00401450 /$ 53 PUSH EBX ; Decoded as <StdFunc3>
set these breaks
Breakpoints
Address Module Active Disassembly Comment
00401135 MD5 Always RETN
00401450 MD5 Log "md5$string" PUSH EBX
00401451 MD5 Log "md5&context" PUSH EBP log [[esp+8]]
00401452 MD5 Log "md5&context" PUSH ESI log [[esp+0ch]+4]
00401453 MD5 Log "md5&context" MOV ESI,DWORD PTR SS:[ESP+10] log [[esp+10h]+8]
00401457 MD5 Log "md5&context" PUSH EDI log [[esp+10h]]+10h
[/I]
and recieved these dumped bytes of the context
Log data
Address Message
OllyDbg v1.10
Command line plugin v1.10
Written by Oleh Yuschuk
Bookmarks sample plugin v1.06 (plugin demo)
Copyright (C) 2001, 2002 Oleh Yuschuk
Console file 'C:\WINDOWS\Desktop\md5\md5.exe'
Arguments '-s"hello you xml this is how i would say you dump"'
New process with ID FFFCB789 created
004022FE Main thread with ID FFFAC035 created
00400000 Module C:\WINDOWS\DESKTOP\MD5\MD5.EXE
BFF70000 Module C:\WINDOWS\SYSTEM\KERNEL32.DLL
004022FE Program entry point
00401450 COND: md5$string = ???
00401450 CALL to Assumed StdFunc3 from MD5.004010F8
Arg1 = 0063FD8C
Arg2 = 00760DFD ASCII "hello you xml this is how i would say you dump"
Arg3 = 0000002E
00401451 COND: md5&context = 67452301
00401452 COND: md5&context = EFCDAB89
00401453 COND: md5&context = 98BADCFE
00401457 COND: md5&context = 67452311
00401450 COND: md5$string = €
00401450 CALL to Assumed StdFunc3 from MD5.0040153C
Arg1 = 0063FD8C
Arg2 = 0040A200
Arg3 = 0000000A
00401451 COND: md5&context = 67452301
00401452 COND: md5&context = EFCDAB89
00401453 COND: md5&context = 98BADCFE
00401457 COND: md5&context = 67452311
00401450 COND: md5$string = p
00401450 CALL to Assumed StdFunc3 from MD5.00401549
Arg1 = 0063FD8C
Arg2 = 0063FD50
Arg3 = 00000008
00401451 COND: md5&context = 67452301
00401452 COND: md5&context = EFCDAB89
00401453 COND: md5&context = 98BADCFE
00401457 COND: md5&context = 67452311
00401135 Breakpoint at MD5.00401135
now if you recompile the commandline plugin to addtolist() on function
Int Expression like i said in the link you can use
.? log [[esp+8]] etc to be logged