请高手帮小弟我分析一下这段代码

请高手帮我分析一下这段代码
#include   <stdio.h>

void   AA(void)
{
printf( "Oh   my   God,   Dangerous!\n ");
}

void   ChangeReturn(int   i)
{
printf( "%d\n ",i);

__asm
{
lea   edi,   [esp+34h*4]  
mov   ecx,   [edi]  
mov   [edi+4],   ecx  
lea   esi,   AA
mov   [edi],   esi
}
}

int   main()
{
ChangeReturn(100);

printf( "return   to   Main\n ");

__asm
{
sub   esp,4
}

return   0;
}
编译环境是vc++2005,输出什么啊?为什么?
谢谢!

------解决方案--------------------
hacker行为,如非特殊用途,不要花精力研究。
------解决方案--------------------
修改函数的返回地址而已
------解决方案--------------------
那你得到的东西就不是真正想要的东西了,那你知道这后果是什么了吧?
------解决方案--------------------
修改函数返回地址就可以执行任意指定地址上的代码
利用缓冲区溢出漏洞执行shellcode的一种常规手法