牧羊三国游戏网(策略单机游戏无毒无插件无广告免费下载)

 找回密码
 立即注册

微信扫码登录

使用验证码登录

查看: 19938|回复: 20

[分享] 曹操传引擎(exe)修改教程类

[复制链接]
发表于 2015-4-9 11:49 | 显示全部楼层 |阅读模式
原作者;慕容雪芸
曹操传EXE修改详解

声明:大家可以随意转载,不过转载前请注明出处和作者,版权归"轩辕春秋文化论坛"所有,作者:慕容雪芸。

EXE可以说是曹操传中最重要的东西了,也是曹操传最后的限制,许多朋友对这方面的修改望而生畏,其实EXE并不如想像中难,下面,我来对有关EXE修改方面内容进行一个汇总和谈谈一些个人心得。

准备篇:

一、通用修改工具:
1、UltraEdit(简称:UE,下同)必备!因为这个是修改EXE不可缺少的工具,改兵种名字什么的就靠它了。备选工具WinHex,个人觉得比UE还好用……可能是习惯问题。
2、OllyDbg,这个嘛……是反汇编工具,高级修改需要,一般新人又不懂汇编的就无所谓了,备选工具W32dsm
3、ExeScope,用来修改游戏中对话框和装备显示的,很多人都改了兵种名字,但忘了改这个,导致在游戏中明明没有这个兵种,但装备却是这个兵种的。(举例:说岳-_\\……1.30和11.24版都有这个问题,说岳中的君主类改为豪杰类了,但是在游戏装备列表中依旧是君主,使人看了觉得奇怪。)备选工具ResHacker.exe(全面超越Exescope的工具)。
4、Stud_PE,怕是有很多朋友都没有用这个工具,也不知道这个工具吧,这个是PE综合工具,功能很强大,支持方面很多就不一一详述了。

二、曹操传专用修改工具:
1、战场形象指定器1.04,叶落姐姐所写的工具之一,用来指定武将的战场形象,必备!
2、CaoCaoPatch,VAN太守所写的EXE补丁,用来修正芭蕉扇属性,指定敌方双方等级,EXE修改前使用(为什么说要在修改前使用呢?因为EXE改动太大的话,这个一读EXE就报错,不过不要紧,后面偶会讲讲怎么用UE修改这个)。
3、Ekd5exe,周大哥哥专为说岳写的一个工具,内容大多针对说岳,不通用,不过其中有部份可以借用,其中适合所有MOD的选项:战场形象扩展、气合……

修改篇:

一、UE/WinHex修改法
(下面所说的位置和数值均为十六进制,括号中为十进制,不再说明)
这是最常见的修改方法了,适合所有人,当然……许多东西都不好修改,比如想突破什么东西,不过即使是新手不懂任何有关汇编的知道,只要知道地址都可以很好地进行修改。
下面将会一帖一帖的讲述各方面的修改内容。

PS:不懂得汇编的朋友(特别是新人),不推荐用OllyDbg和W32dsm之类的工具进行修改,因为牵泄太大,很容易出现问题,后面雪儿会说说一些有关简单汇编修改。
兵种篇
本篇讲的是一些常用的兵种修改方法,只讲最基础的修改方法。


(一)、兵种、部队名字的修改
这个是最常见的问题了,从8AEDC开始是部队名称,8AFBC开始是兵种名称。
PS:修改出来的兵种的第一个字最好和原来的同一位置,另外,兵种的名称比能比原来的汉字少,不能多。


(二)、兵种策略伤害类型的修改
3B822开始12个字节 取值范围00-03,表示从27西凉骑兵到32土偶这12个职业的策略伤害类型。00和01是一样的,在游戏中表示110%伤害,02表示130%伤害,03表示正常。
3b579的0B表示类型为00或01的职业伤害系数,即西凉、驯熊、驯虎受到110%和策略伤害;
3B58D的0D表示类型为02的职业伤害系数,即木人、土偶受到130%的策略伤害;
而03表示正常伤害。也就是说策略伤害一共有三种情况,用UE要新增是很麻烦的,后面会谈谈新增的方法。


(三)、兵种移动速度的修改
3F3D8开始21个字节,取值范围00-06,表示从群雄到仙人的这21个职业的移动速度。
其中00-05的速度是一样,表示骑兵等“骑马”兵种的移动速度,06指步兵等的移动速度。
PS:缺了仙人以后兵种的移动速度,后面会说说增加的方法。


(四)、兵种移动声音的修改
3E8BC开始23个字节,取值范围00-06,表示从群雄到粮草队这23个职业的移动声音。
其中00群雄、01骑兵和弓骑、03骑策、04西凉的声音是一样的,都是马蹄声;02炮车、05辎重、运粮,这两个声音是一样的,都是车轮滚动的声音;06是其它兵种的声音。

补充一点,不管怎么改仙人这个兵种都是没有声音的,转到3E79B处,上面有个14,表示仙人这个兵种没有声音,同理,改为00,群雄就没有声音了,改为FF即可实现所有部队都有声音。
PS:缺了仙人以后兵种的移动声音,后面会说说增加的方法。


(五)、部队攻击声音修改
3F547开始19个字节,取值范围00-05,表示从群雄到都督这19个部队的攻击声音。
其实只有两种,00-04都是一样的,剑或宝剑的攻击声音,05表示其它武器的攻击声音。
PS:仙人是没有声音的,方法同上


(六)、奋起类型修改3F450开始13个字节 取值范围00-02,表示从策士到仙人这13个职业奋起时是加攻击还是精神。
00和01表示加精神,02表示加武力。
PS:霸气、奋起、鼓舞、反霸、压迫、威吓和气合所加减的能力相同。

基础兵种篇就说到这里,下一帖请看策略篇。

杂汇篇
本篇是大杂汇,包括一些前面内容的补充

(二十三)、战前选择出场时人物的排列顺序:
自85608起的1B字节,是战前出场27个兵种的排列顺序,第一个19是皇帝,第二个00是群雄,可各由交换位置。


(二十四)、屏蔽开始动画
2AE0E-2AE12控制放Logo.avi
2AE13-2AE17控制显示第三波的Logo
2AE18-2AE1C控制放Press.avi
把所有字节改成90即可屏蔽相应动画


(二十五)、芭蕉扇属性修正
这个可以用VAN太守的补丁修正。
这个也许有许多人还不知道,芭蕉扇其实是加强地系策略,把3B64A处的02改为03加强的就是风策略了。


(二十六)、兵种特征修改。
4D50, 4D54, 4D62 (原值为土偶60%混乱)
4DB4, 4DB8, 4DC6 (原值为木人60%中毒)
4E18, 4E1C, 4E2A (原值为驯熊师60%麻痹)
特性兵种即为兵种代码,取值范围00-34;特性概率按百分比计算,取值范围00-64;特性效果取值为为以下效果的或:
02麻痹,04禁咒,08混乱,10中毒

6C33,6C39穿透攻击起止兵种(原值为重炮车至霹雳车)
6C47 穿透类型(原值为十字穿透)
6C3F 穿透攻击兵种(原值为驯虎师)
6C4D 穿透类型(原值为蛇矛穿透)
兵种代码取值范围00-34,注意6C39一定不小于6C33,6C3F一定大于6C39;穿透类型取值如下:
01十字,02九宫,03大没羽箭,04蛇矛,05长蛇矛(穿六个),06大大没羽箭,其余为正常攻击。

每回合起始时对周围8人自动释放状态魔法:
兵种判定:3C627(原值为0C是舞娘)
释放条件:3BC05-06,原值为有人有异常状态时释放,改为9090则无条件释放
下面太过复杂,省略。


(二十七)兵种相克
代码太长,用UE法不好修改,简要说说最基础的修改方法就是了:
3B1B6、3B1C4、3B1D1这三个地方的03、11、10指的是骑兵、驯虎、驯熊三个兵种受到150%的远距伤害。
3B23F处的03指骑兵只受到步兵60%的伤害,3B27C、3B28A处的02和05分别指弓兵和炮车受到步兵150%的攻击伤害。


(二十八)、道具特殊效果修改
骑马攻击:
3B2A3原值为03,表示骑兵,可以改为任意一类部队。

合并特殊效果:
曹操传中的垃圾物品太多了,可以将一些垃圾合并起来,使得垃圾也能发挥作用。
例:合并垃圾特征防御致命一击和防御二次攻击
将5383处的3A改为39,即可实现道具特殊效果合并,将防御致命一击和防御二次攻击这两个垃圾特征合并为一个,两个垃圾合为一个,就不垃圾了。

PS:合并后的新特殊效果指定为防御致命一击,防御二次攻击为空特殊效果。可以自行反汇编程序将这个空效果改为其它效果。比如偶是新写了一个绝对连击的特殊效果。

特殊效果的对应编号是从13开始算起,一直到3E结束,对应的特殊效果可以用DATA修改器打开DATA查看  
3C376,3C383处的16代表“每回合获得武器经验”这个特殊效果
3C3B5,3C3C3处的17代表“每回合获得防具经验”这个特殊效果
5863处的2C代表的是无反击攻击这个效果。


(二十九)、许子将教学和其它文字的修改。
1、许子将教学
从8B370处开始就是许子将教学的内容,可自行修改,\n代表回车,可以换行,注意一个就是两人说话的内容的开始位置最好和原本一样,不然会有想不到的副作用。(如果位置不一样的话,要在EXE相应的位置进行修改,以后再说有关这个的内容吧。)
2、三国志曹操传
8D24A处的"三国志曹操传"几个字改掉的话会使游戏没有音乐,必须下载解压后的mp3serv.dat,用UE打开,把A1C0处的"三国志曹操传"统一改掉就可以了
3、EXE中的五个“宋体”含义:
第一个“宋体”对应的是战场名称的大字。
第二个“宋体”对应Hp条、Mp条等各种数字。(?)
第三个???
第四个“宋体”对应所有框架里文字的效果。
第五个“宋体”对应所有的“文字”,包括姓名、对话、标题、信息和出兵画面中的什么顺序那几个字。
4、其它文字
其它的文字都可以自行修改,方法参照上面和第一项,不再一一说明了


(三十)其它的一些补充(基本都是没用的内容-_\\)
1、战场特殊形象
60D9开始174个字节,取值范围0-1E,代表前174个人物的战场特殊形象,这个没有必要记住了,太过麻烦,用叶落姐姐的战场形象指定器来修改吧。
2、战场形象之众生平等
把5E2E开始的三个字节改为2E、00、90,就能看见满屏幕的轻步兵,不管你是什么兵种,特殊造型还是普通造型,一转二转三转,统统变成轻步兵。当然,敌我友的颜色还是不同的。
3、无攻击力修改方法
把654B开始的五个字节改为25、00、00、00、00,所有人的攻击力都会变成0,双击、暴击就像挠痒一样,好好的和电脑比赛用策略吧。
4、普通装备变为特殊装备方法
修改BB92处为00,可以让普通装备变成特殊装备,一样可以拥有特殊效果,一样是9级上限,不过这样子又有不方便的地方,所以没什么用,要让普通装备有特殊效果,有其它比较合适的方法。


(三十一)、关于突破174人限制之战场形象篇:
首先用叶落秋寒的“战场形象指定器”或周瑜的“Ekd5exe”对战场形象进行扩展,然后修改5E7E-5E7F处的AD 00,改为00 02可以使战场形象指定对前512人有效,最大可改为270对前624人有效。取值为式为0~0x270,注意机器码是前后对倒。当然,这个的前提条件是此处你没有写入其它函数。
不过,用叶落姐姐的战场形象指定器只能指定前174人,后面的要自己手动指定。



(三十二)、扩展部队移动速度,使其对全27个兵种有效
3F390处改为1A,
3F39A处改为C4
3F3C0处改为AE
然后,从3F3C4开始的27个字节写移动速度,取值为00-01,
00代表高速移动(如骑兵),01代表慢速移动(如步兵)。
后面从3F3DE处一直到3F3EC全部写0即可,  不写关系也不大


(三十三)、扩展部队移动声音,使其对全27个兵种有效
3E83A处改为1A
3E844处改为AC
3E8A4处改为58
3E8A8处改为61
然后,从3E8AC开始的27个字节写移动声音,取值00-02,
00代表马蹄声(骑兵),01代表车轮声(炮车),02代表沙沙声(步兵)


(三十四)、升级经验的修改
修改以下7个地方的数值,
7d80   7d87  4f55B   4f56c   50559   50571   5073f   50755   7891C
取值0x7F以下正常,FF表示不升级,想要突破这个限制的,请看汇编部份。


(三十五)、新人固定等级加入修改方法
修改从B572开始的的7个字节,改为:83 7D 8C 00 90 90 90
这样子,无论我方人物几级,新武将加入时都按一级计算,想要新武将N级加入,就增加N-1级。


(三十六)、敌方出场等级计算方式的改变
17C96~17C9E处,改为 2C 01 73 05 B8 00 00 00 00
17DA3~17dAA处改为 C6 45 E0 00 EB 0B 00 00
17DFE~17DFF处改为 90 90


注:原曹操传敌军出场武将和小兵是根据我方出战武将的平均等级来加成计算的。我方的平均等级,是去掉高四分之一和低四分之一后的武将等级的平均。
现在设为敌方取我方等级最高的人来计算敌方等级,可变动位置17C97处,该处指我方最高N个人的平均等级。


(三十七)、穿墙大法
将3EC33 处的F8改为C8,你会发现意想不到的事情,原本不能移动的地形,只要装备上恶路移动的物品,就可以在所有地形自由的移动了(地下、火上、城墙……照样走)


(三十八)、改来的敌方武将可以升级
将7D67处修改为FF,可以让所有我方人物都可以升级。


(三十八)、头像上限的扩展
1DCF1处开始的E4 00
1DCFD处开始的E4 00

可将此处改成你想要的数字
如果像要让512人都有自己的头像,那就修改为00 02,即0x200,由于UE是改机器码,所以要注意前后颠倒。


(三十九)、练果模式的修改
N级装备卖出得到果子修改在C994处,原值为03,表示等级为3的装备卖出得到果子。

卖装备得什么果子在CA12~CA22处修改,取值范围为为00~09
取值意义:
00——经验果
01、04——武力果
02、03——好运果
05、06——智力果
07——统帅果
08——敏捷果
09——不得到果子

实际得到的物品不是由跳转表决定的,实际上得到的物品是在以下六个地方修改:
C9C2处的67表示经验果,对应00
C9C8处的62表示武力果,对应01、04
C9CE处的66表示好运果,对应02、03
C9D4处的63表示智力果,对应05、06
C9DA处的64表示统率果,对应07
C9E0处的65表示敏捷果,对应08

可以自动更改,数字对应DATA中的编号。


(四十)、致命一击特殊台词修改方法
从89C30开始,每四个字节为一组,一共21组,对应数值为武将在DATA中的编号。
所有人都不使用特殊台词的修改法:把B46F-B475处全部改为90。


(四十一)、武器攻击时所获得经验修改
2E3C处的03,指武器攻击命中与自己等级相同或更高等级敌人时所得的经验,命中比自己等级低的敌人时,经验是上面的数值减少1。
2E56处的01,指武器攻击时未命中敌人所得的经验。


(四十二)、防具受攻击时所获得经验修改
2F29处的04,指防具受到与自己等级相同或更高等级敌人攻击命中时所得的经验,指防具受到比自己等级低的敌人攻击命中时所得的经验是上面的数值减少1。
2F43处的01,指防具受到与自己等级相同或更高等级敌人攻击未命中时所得的经验


(四十三)、不匹配装备修改
将726B和1422A处的75修改为EB,效果同周瑜的补丁,即:
剧本中给武将设定道具、改变兵种的时候,合适位置上的不匹配装备仍然会在游戏中保留。

例如:给弓兵指定骑马攻击的剑,给文官指定防具为铠甲。
不过,要注意一点,由于CCZ的AI问题,最好你还是不要给电脑指定不匹配的武器,因为指定后电脑不会主动攻击-_\\。防具和辅助道具则没有此问题。


(四十四)、有关增减三转兵种的补充

以下方法为增加三转兵种的方法,经测试有效,不过是否有后遗症,或是其它负面效果未知。
这个要修改以下六个地址:
5D13、B890、1BA5E、41D1E、41D4F、6808B
原值为26,代表巫女(0x26)及巫女以前的兵种,如果要增加一个三转兵种,就加3。比如:改为29,这样一来,西凉骑兵、黄巾军、海盗这三个兵种就成了新的一组三转兵种,已通过测试的有:敌军、友军、新人和我军使用印绶转职。


(四十五)、有关许子将教学的补充

从327B7处开始的5个, E8 77 19 00 00,将此处全部改为90就可以去除许子将教学开宝物图鉴得全宝物这一选项,可以保留教学,而开宝物存档又得不到宝物。


(四十六)、特殊效果——辅助四系策略

将3B64A开始的两个字节改为03 7F,这样辅助风系策略这个特殊效果就变成了辅助四系策略了(对火、风、水、土四系都有效)

(四十七)、有关策略动画部份

20BBEH开始65个字节 取值范围0-9,有关策略带动画(朱雀那一类的动画)部份,从火龙开始算起,一直到白虎结束。
00~09,分别是火龙、水龙、风龙、土龙,八阵图,青龙、朱雀、玄武、白虎,没有






大致上就提了这些,以后还有其它的再补充好了,待续……
附件为许子将教学的全内容,仅供参考。

====================
其他补充说明
原文,作者obin(阿斌):

QUOTE:策略类
(一)、策略动画(包含声音)
从858C0H开始的68个字节,从灼热开始算起,到白虎结束,取值范围00-69,以下是值所代表的动画:
00 灼热
01 烈火
02 浊流
03 激流
04 旋风
05 龙卷
06 落石
07 山岚
08 巨岩
09 小补给
0A 大补给
0B 建言
0C 献策
0D 奋起
0E 坚固
0F 练兵
10 昂扬
11 霸气
12 压迫
13 咒骂
14 钝兵
15 虚脱
16 闪电
17 毒烟
18 晕眩
19 谎报
1A 定身
1B 封咒
1C 觉醒
1D 回归
1E 强行
1F 诱惑
20 谍报
21 反霸气
22 攻击力上升
23 防御力上升
24 爆发力上升
25 士气上升
26 全能力上升
27 攻击力下降
28 防御力下降
29 爆发力下降
2A 士气下降
2B 全能力下降
2C 状态解除
2D MISS
2E 移动力上升
2F 移动力下降
30 混乱
31 中毒
32 痲痹
33 禁咒
34 晴明
35 昙天
36 小雨
37 豪雨
38 下雪
39 爆焰
64 火龙
65 水龙
66 风龙
67 地龙
68 八阵图
69 朱雀
6A 青龙
6B 玄武
6C 白虎


红色值表示「中招前的动画」,需要再修改以下值才能决定「中招时的动画」,否则会导致当机
从20BBEH开始的65个字节,从火龙开始算起,到白虎结束,取值范围00-09,以下是值所代表的动画:
00 烈火
01 激流
02 龙卷
03 山岚
04 所有附加属性的动画,视法术类型而定,若是"纯伤害"类型的法术会显示"巨岩"
05 闪电
06 爆焰
07 无动画
08 大补给
09 无(导致当机)


(二)、策略地形限制
从1FD3CH开始的62个字节,从灼热开始算起,到冥想结束,取值范围00-11,以下是值所代表的限制:
00 火类地形
01 水类地形
02 风类地形
03 地类地形
04~11 全地形(建议用11,关系到电脑的施放策略判断)
若要将火、水、风、地类策略设定为在其他地形可施放,必须将1FEA2H ~ 1FEB5对应的值一起更改,从灼热到巨岩,04为全地形施放

兵种类
(一)、扩展部队攻击声音,使其对全27个兵种有效
3F503H处改为1A
3F50DH处改为37
3F533H处改为21
然后,从3F537H开始的27个字节写攻击声音,取值00-01,
00表示剑或宝剑的攻击声音,01表示其它武器的攻击声音。

(二)、新人固定等级加入修改方法(原本会造成当机)
B579H处改为EB
这样子,无论我方人物几级,新武将加入时都按一级计算,想要新武将N级加入,就增加N-1级。
[ 本帖最后由 godtype 于 2013-7-17 17:04 编辑 ]

附件: 许子将教学.txt (2006-1-10 10:08, 7.1 K)
该附件被下载次数 4246






一、修改说明


一、N多坛友头疼的……静态能力255上限问题,突破该限制,上限9999,显示值600,HP上限63535,显示值600,出兵显示同之。

相关内容:可参照首页、4楼、第十三项修改



二、同样有不少人问过的,装备显示部队扩展问题,扩展后如下图所示:



相关内容:可参照首页、6楼、ExeScope篇进行修改



三、扩展各兵种移动速度、移动声音部份,现在可以自定义任意修改所有兵种的移动声音和速度了。

相关内容:可参照首页、5楼、第三十二、三十三项修改


四、去掉了动画播放,这个嘛……看片头,纯属浪费各坛友的时间,去掉。

相关内容:可参照首页、5楼、第二十四项修改




五、芭蕉扇属性修正,谁都知道的老问题了。

相关内容:可参照首页、5楼、第二十三项



六、不匹配装备修改,在剧本设定不符合该职业使用的道具时,在游戏中仍可以使用。
相关内容:可参照首页、5楼、第四十三项

*************************
第二次修改

七、合并防御两次攻击到防御致命一击上,现在防御致命一击不但能防御致命,还可以防连击。

八,防御两次攻击改为主动连击,主动攻击时必定双击。

九,扩展战场形象,同叶落的补丁,不多做说明。

十,气合,同说岳,扩展对所有兵种有效,同时修改为:3F421起1B字节,控制所有职业气合时加攻击还是精神,00表示都加,01表示加精神,02表示加攻击

************************************
第三次修改

十一,中毒攻击改为随机属性攻击。

注:原始机率为:封策15%、中毒8%、麻痹3%、混乱0%,每级另外附加机率:封策5%、中毒4%、麻痹3%、混乱2%,效果随等级而变化

十二,修正了突破能力上限,单双字节变换的后遗症。

*************************
第四次修改

十三,原CCZ的新人加入公式有误,修正了新人加入公式

十四,部队策略伤害系数做出改变
原本在3B822处开始的指定,方式00(110%)、01(110%)、02(130%)、03(100%),现在改动为直接指定的十分数方式,指定处在3B583处开始的0x0E个字节,分别是从西凉骑兵到百姓。

十五,修正了31号以后的武将得不到经验的问题。

十六,修改了原CCZ的部队显示,新增一函数,现在DATA中定义超过4的话,同4都显示为S。


*****************************
一些问题说明:


(1)为什么用了该EXE后,一开始游戏就会发生错误,然后退出呢?
原因:用了战场形象扩展补丁,因为曹操传的图片只有151个,这个补丁里面用了很多151以后的图片,都是需要自己往三个战场文件里面添加才能用的。否则形象不足,自然会报错了。
解决办法:自己手动增加,最简单就是用一下叶落"战场形象指定器1.04"中的战场形象调整功能。

(2)为什么用了该EXE后,读取的存档,形象错乱,部份的能力数值全不对了?
原因:为了突破能力上限,将单字节变双字节,存档格式发生了变化,
导致无法读取普通存档,读取普通存档进入游戏必退出。
解决办法:使用存档转换器,不然就从头开始打吧。

(3)主动双击是怎么一回事?怎么我在修改器里看还是一样的?
原因:修改器中的物品效果是固定的,你改了EXE,还是那样显示的。
解决方法:无视修改器,记得防御两次攻击就是主动双击,防御致命一击还有防御两次攻击的作用。


其它补充:
10月16日更新了所有附件,解决突破能力上限后,单双字节的问题


特别说明:后面的是在前面的基础上修改的,所以前面有的功能,后面也有


游客,如果您要查看本帖隐藏内容请回复



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x




上一篇:曹操传人物形象修改教程
下一篇:水木清华版曹操传及变速齿轮下载
 楼主| 发表于 2015-4-9 11:54 | 显示全部楼层
(图文教程)OLLYDBG修改曹操传EXE实际操作演示
原作者;WHITESHIP
第二篇 查找的用法

查找一共分为这几种:

查找命令;
查找常量--------主要用来找一些较大的常数,4B2C50等等,由于这些大数字在二进制代码中是反着显示的,所以用二进制查找很不方便。
查找二进制字串-----和查找常量相比,它可以查找排在一起的多个常数。
查找命令序列;
查找已修改的命令。
还有查找所有指令。查找所有指令后,符合条件的会统一列出在一张表里供查阅,下文不再复述。

查找--命令(快捷键CTRL+F)
这个操作很简单。直接输入反汇编窗口中看到的命令即可。比如搜索“CALL 43BC56”,就能够跳转到攻击伤害计算函数。就不附图了。
如果还想找,那么就用“查找下一个(快捷键CTRL+L)”。


查找--常量(没有快捷键)
例:改字体的颜色。
如图,曹操传中武将情报框里友军的姓名是有暗橙色描边(我军暗红,敌军深蓝)的,如果想把这个描边颜色改掉,首先要了解什么?
一、这个颜色怎么表示?请查看本帖(http://www.xycq.net/forum/thread-244966-1-1.html),这里是174色曹操传的色表图,每种颜色由一个代号表示,比如黑色就是1F。
那么这个暗橙色是多少呢?把鼠标移到友军身上,出现情报框后按printscreen截图,然后把截图和色表分别粘贴到PS里,用吸管或RGB值对照---总之有各种方法得知是哪个颜色。这里给出结论,友军姓名描边的颜色是0AD,也就是色
表里最后一个颜色。
二、这个颜色的代码在哪里呢?
如果是什么12,18这种颜色,那么很难找,因为显然引擎里常常会有+12,+18之类的计算。
但是0AD这样稀有的数字在引擎里当然极少出现,于是搜索起来非常方便。

右键--查找--常量,输入0AD(AD也可以,但是大于80的最好养成前面加上0的习惯,否则在汇编输入指令时会出错),然后系统会自动跳转到一些带0AD的指令。
然后怎么判断这条指令是不是友军姓名描边的颜色呢?很简单了,随便把0AD改成另一种颜色,再移到友军身上看看便知。如果不对,那么CTRL+L查找下一个,继续测试。
答案是:
004403F9  |> \C645 F8 AD    MOV BYTE PTR SS:[EBP-8],0AD
这一条。

TIPS:查找时,需要把代码拉到401000处,也就是最上方,或者在搜索框里勾选“整个块”。否则只会搜索当前光标所在代码后面的部分。


查找--二进制字串
例:修改人物的内存地址。
在通过调试打开游戏后(调试的用法后文说),游戏里的很多空白字节就会写入内存地址。比如在star5.6里,人物内存的地址在4CEA00里保存,不同电脑地址不同,如图中是E40000。
我们转到左下角的数据窗口,一般打开EXE时那里的起始端是48B000。我们在数据窗口里点开右键,CTRL+G,输入4CEA00,然后输入4CEA00里的数值即0E40000(二进制里显示为00 00 E4 00),就会发现这样一堆的数据。

一个人物的内存很长,如我们要搜索诸葛英的内存地址,算起来,翻起来都麻烦。一个很简单的方法时直接输入诸葛英的几个数值查找,因为只有他一个人的能力符合这几个数据串,于是就会跳转到诸葛英。
诸葛英的五围是18 43 48 39 45(双数能力的引擎中,人物的真实五围是显示的一半是曹操传的基础知识,此外,引擎中智力的显示在统率力之后),转换到十六进制就是12 2B 30 27 2D。
右键--查找--二进制字串(注意点会发现在数据窗口里只能查找二进制,而不能查找命令和常量),快捷键是CTRL+B。出来的是类似二进制编辑时的窗口,所以这个窗口的用法也在二进制编辑部分说了,输入12 2B 30 27 2D。

OK,马上就跳转到诸葛英了,接下来就可以肆意凌辱诸葛英的数值了(喂),注意不包括当前HP,MP这些,这些是储存在战场内存里的--即4B2C50开始。详细在GODTYPE教程里有写。这也就是通用调试器里为什么人物和战场分开为
两部分的原因。人物内存部分在开始游戏就会写入,而战场内存必须进入战场才会写入。

查找--命令序列
STAR引擎中,判断武将是否含某特效,有一串固定代码,如:
PUSH 1(是否要读取DATA效果值,0要,1不要)
PUSH 1(效果值是否叠加)
PUSH 51(宝物特效号)
PUSH 12(兵种特效号)
CALL 004CF398
假如我们直接搜索PUSH 51,那么结果就太多了,找到我们想改的那条很费时间。
这时我们可以用“查找--命令序列”查找复数条指令。只需要算好特效号,把上述指令输进去,就可以准确找到这个特效判断的位置了。
所以查找序列的好处就是可以一次性查几个不相关的命令或者数据。

4、已修改的命令(没有快捷键)
还记得第一节我们把攻击伤害的常数25改大到35了吗?如果这个时候我们不小心去改别的代码,结果忘记这句代码在哪了--跳转不能用,也忘记把25改成多少了---查找命令不能用,那怎么办?
唯一可以确定的是,这句代码被修改过过了。
查找---已修改的命令可以解决这个问题。
查找后,会依次判断所有用户改过的代码,并且窗口跳转过去,直到找到我们改过的代码为止。
注意:如果使用了调试器,那么调试器会自动修改程序里的代码,此时慎用该方法,保存时也最好不要“选择所有修改”,免得搞混

第三篇、开着游戏边改边测试----调试与断点的用法


光靠上面的功能修改是非常没有效率的。OLLYDBG一个绝招是可以在运行游戏时修改、测试和定位代码,也就是调试。一开始我并不会使用调试,于是长期只会改一些现成的小修改,不会自己探索,用会这招后才是突飞猛进的开始。
点击右上角的调试---运行(快捷键F9)。稍微停顿一下后游戏便会启动。这时和一般玩游戏区别不大。

(文字:这里要用到的功能只有“运行”和“重新开始”。什么单步步过之类的指令我几乎不用。)
开游戏调试本身其实没什么特异功能,之所以神通广大,关键是它可以和“断点”并用,然后定位到特定的代码,并查看运行到该代码时,寄存器和堆栈的值。也可以查看在某个大函数中哪个函数具体起什么效果:打个比方,在武将攻
击时,在一些代码中加上断点,当发现某个断点只有在暴击时才响应,那么可以判断这行代码就是和暴击有关的。


实例:

跳转到43BD18,在43BD18、43BD76两处加上断点。快捷键是F2,右键点击代码也可以设置,不过不如F2来得快。发现该段代码的地址变红后,就说明已经设置为断点,在已经变红的代码再按一下F2就是消除该处的断点。
前面的例子已经说过,这一段是计算攻击伤害的函数。

我随便读一个档,郾城之战,第一回合。让何元庆攻击一个拐子马。何元庆等级41,攻击力426。
不要问何元庆打不到怎么办,养成开着调试器的习惯。要做MOD,调试器必开,否则有你受的。

鼠标移动到拐子马后,游戏会突然停止,然后OLLYDBG的窗口跳出。此时,你会发现OLLYDBG自动跳转到了刚才设置断点的地址43BD18,并且地址显示为黑底红字(此即表示当前正在运行到的代码)。因为移到拐子马身上后,要显
示估计伤害,就要计算伤害。那么这段函数就被调用了。
而且即使你窗口移到了别的代码,当断点被运行时,窗口也会自动跳过来。
所以,断点的作用就相当于一个带警报功能的监控装置,你在该处设卡,当运行过来时,马上截住代码,留下买路钱。
既然是这样强大的功能,用法也就多种多样。比如上图,可以看看右上角寄存器窗口的EAX,其中的1AAH(426)就是何元庆的攻击力,然后回过头来看看有关EAX的代码,就知道哪里会对何元庆的攻击力进行计算了。
游戏进程被断点阻住时就会一直停在这句代码上,此时再按下F9(也就是开始游戏时用到的调试---运行),程序才会跳过该断点运行后面的代码,如果后面还有断点,就会再次停下来。比如43BD76处的断点。

43BD76就是我们在第一节中修改过的代码,它的作用就是加上曹操传伤害公式里的那个“25”。此时看看反汇编窗口下面一点点,会有个小窗口写着“EAX=00 00 00 29”(如果没有这个窗口应该可以想办法调出来)。这里的意思并
不是何元庆造成的伤害,而是他的等级,29H(41级)。因为上面的CALL 43E697就是计算攻击方等级,等于是把等级和25相加后,再去加上攻防相减计算的伤害值。
用公式表示如下:伤害=(攻击方攻击力*攻击方地形修正-防御方防御力*防御方地形修正)+(攻击方等级+25)。
现在可以直接改被断点截住的ADD EAX,19,因为断点运行到的代码实际上是正好在尚未执行的状态。也就是说,我们改了这一句后再把这个常数加上。这个滞后性可以灵活地利用。
如果干脆把这句NOP掉,那么第一关沥泉山之战大家就都是互相挠痒,游戏性大大降低。所以汇编只是个必要的工具,最终改成什么样还得看思路。一般来说,修改物理和策略伤害公式是必须的,不过绝大多数MOD调整了能力属性档
、HP值,却对这个最基本的点都未加改动,这是值得警醒的。

如果设置的断点过多,按ATL+B,会弹出显示所有断点的对话框。点击全部禁止可以一次性消除所有的断点。

第四篇、怎么找我要改的地方哪里?-------查找函数的技巧

回到前面的一个问题,我多次强调在STAR5.6中,43BC56就是伤害计算的地址,为什么是?怎么找到?这类问题就是本章的内容。
首先给出结论,没有技术上的方法。如果哪段代码有什么用可以直接查找出来,那么曹操传EXE早就不是现在这样,甚至通过这个方法得出注释,新的曹操传引擎也早出炉了。
查询代码的作用是反汇编修改EXE的终极问题,我们只能通过自己的知识、多动脑筋来找位置。
我自己是看岱瀛的《解读KOEI曹操传代码》知道伤害公式的位置的,所以多看这类教程也有益处。如果要自己找也有很多方法,这里仅举一个例子,说明一下我的思路,其他就靠大家触类旁通。

随便说个方法吧。在选择攻击对象,进行伤害估算时,伤害数字旁边会有“损伤”二字。“损伤“两个字显示的代码肯定和伤害数字的显示有关,那么也一定和伤害计算有关。
OLLYDBG的唯一缺点是不能查询汉字,这里需要用到UE,查找”损伤“,发现在8CA88处。
通过《UE地址和反汇编地址的互相转换》的方法将UE地址转换为反汇编地址。得出在48E088。

如图。

查找--常量--48E088。发现在440EE8处有“PUSH 48E088”,在附近找一些其他的代码,比如440F1A,注释旁边显示了 ASCII %3u。
如果有人编辑过SAN11,SAN10等游戏的msg文件,可能就能容易想到这个%3u就是一种显示不确定文字的符号(不代表所有的都是%3u,只是类比)。且旁边的代码和48E088的显示相近,不妨推测它就是显示伤害数值的代码,为验
证一遍,把440F1A-440F2C这四行NOP掉(根据《如何用ollydbg修改曹操传引擎》中的基础知识,这几句话是一个结构部分,尤其ADD ESP,0C不能漏了)。
再到游戏里看一下,是不是发现损伤旁边没字了?那么就可以确定了。然后把NOP掉的修改回来,不要犯低级错误。
再看看这四句代码?哪一个是调用伤害数值的呢?一个个断点调试然后看就好了(其实光靠观察也能知道是哪句)。

断点到PUSH DWORD PTR SS:[EBP+10],反汇编窗口下面会显示SS:[22FD34]=00 00 00 79,这个79H(121)就是伤害值了。那么[ebp+10]就是伤害值。这里如有需要可再补下《如何用ollydbg修改曹操传引擎》有关PUSH的知识。
我先给出一个定律:[ebp+]的是从别的函数中PUSH进来的数据,[ebp-]的则是本段代码中创造的新数据。因此[EBP+10]是这段函数开始前就计算好的,怎么办呢?

回到函数开头的440EB8处,反汇编窗口下方会显示”本地调用来自 440D79“,也就是说,440D79处的句子就是”CALL 440EB8“,在440D79附近会出现计算伤害的函数。(如果一个函数被多次调用,那么就给每个CALL 断点一下
找是哪个就行了)

跳转到440D79,发现有6个PUSH,表示向下个函数压入了6个变量后,然后才CALL 440EB8。
PUSH的基础知识里提到了,PUSH的先后顺序分别对应440EB8开始后的[ebp+1C]、[ebp+18]、ebp+14]、[ebp+10]、[ebp+0C]、[ebp+8],回到440D68,发现从上至下有6个PUSH,那么倒数第三个就对应[EBP+10],也就是这段函数里的[ebp-18],因为[ebp-]是本段代码中的新数据,因此[ebp-18]就在附近计算产生。往上面找[ebp-18](不要用查找,否则会找到老远的外婆家去),注意要找MOV [ebp-18],EAX,而不能找mov eax,[ebp-18] ,理由是前一句是给[ebp-18]赋值,后一句是把它赋值到寄存器里去。我们要找伤害计算出来赋值到[ebp-18]的那一瞬间,当然是找前者了。
另外,这段函数叫做神奇的4404BD,是鼠标移到人物身上显示各种东西的超长超长函数,辛苦大家了。不过找一个[ebp-18]还是不难的。


在440678我们可以找到MOV DWORD PTR SS:[EBP-18],EAX,然后它上面一句就是我们要找的CALL 43BC56。用断点测试下440678,检验和游戏里估算的伤害是否一致,如果一致,就说明找到了。完成。
很复杂吧。不用害怕,因为我挑了个很难的例子……(被群众拍死),这样做的好处是可以一气呵成地介绍很多的知识。查找这种事情就是靠脑子和知识量,知道的多了,就量变产生质变,慢慢地就顺风顺水。



第六篇、没地方写代码怎么办?-----腾出空间的一些小技巧

突然发现这坑居然没填完……坑了一年。
不过过太久了,没心思再细掰,不想截图了。简要说明一下吧。
OLLYDBG想新增代码,最头疼的地方其实是空间和代码位置是固定的。不像编程语言一样可以自由添加缩短,存在“要把后面的代码移走”的现象。
最偷懒的办法当然是JMP出去,然后找个空地方些代码,再JMP回来,但JMP的劣势我前面也说了,虽然我现在越来越偷懒用JMP了……不过新手慢慢来吧。
而且有时候也不好JMP,或者只是小改下,不值得JMP,这时知道怎么优化代码,缩短空间还是很重要的。

手上没有5.6引擎了,以star5.8引擎为例:

如以下的代码出现得非常频繁:
AND ECX,0ff
IMUL,ECX,ECX,24,
ADD ECX,4b2c50
这段代码的意思是根据战场编号得出战场内存。具体可以参阅godtype教程中的说明。
但这种代码非常占地方,于是star175等人为了简化代码,额外新增了一个函数,即5.8引擎中的4061F9函数:
004061F9  /$  55            PUSH EBP
004061FA  |.  8BEC          MOV EBP,ESP
004061FC  |.  81E1 FF000000 AND ECX,0FF
00406202  |.  6BC9 24       IMUL ECX,ECX,24
00406205  |.  81C1 502C4B00 ADD ECX,004B2C50
0040620B  |.  8BE5          MOV ESP,EBP
0040620D  |.  5D            POP EBP
0040620E  \.  C3            RETN

一段函数,只要前面有push ebp和mov ebp,esp,以及最后的mov esp,ebp;pop ebp;retn即可。于是中间的就是这函数实质的功能内容。
因此以后碰到所有的 AND ECX,0FF……4B2C50,就统一用CALL 4061F9代替即可,可以节省大量字节。如果原来的代码不是ECX而是EAX等,那就把前面的EAX什么的也改成ECX。
后面的字节就可以把下面的代码搬上来,记得逐个跳转和CALL的偏移地址,直到空出足够的位置写新代码为止。

与此类似的例子还有很多,我把自己能记得的举例一下:
Star系引擎中:CALL 4061E4=IMUL ECX,ECX,48;ADD ECX,[4CEA00](原版是ADD ECX,4A1B68),读取人物内存地址。
另外在godtype引擎中,包括物品、策略、兵种、商店、地形的代码也都进行了简化。列出如下:
读取物品内存:
004D4000    55              PUSH EBP
004D4001    8BEC            MOV EBP,ESP
004D4003    6BC9 19         IMUL ECX,ECX,19
004D4006    81C1 40114A00   ADD ECX,004A1140
004D400C    8BE5            MOV ESP,EBP
004D400E    5D              POP EBP
004D400F    C3              RETN

读取兵种:
004D4010    55              PUSH EBP
004D4011    8BEC            MOV EBP,ESP
004D4013    6BC9 21         IMUL ECX,ECX,21
004D4016    81C1 00204A00   ADD ECX,004A2000
004D401C    8BE5            MOV ESP,EBP
004D401E    5D              POP EBP
004D401F    C3              RETN

读取地形:
004D4020    55              PUSH EBP
004D4021    8BEC            MOV EBP,ESP
004D4023    6BC9 3C         IMUL ECX,ECX,3C
004D4026    81C1 00304A00   ADD ECX,004A3000
004D402C    8BE5            MOV ESP,EBP
004D402E    5D              POP EBP
004D402F    C3              RETN

读取策略:
004D4030    55              PUSH EBP
004D4031    8BEC            MOV EBP,ESP
004D4033    6BC9 61         IMUL ECX,ECX,61
004D4036    81C1 00404A00   ADD ECX,004A4000
004D403C    8BE5            MOV ESP,EBP
004D403E    5D              POP EBP
004D403F    C3              RETN

读取商店:
004D4040    55              PUSH EBP
004D4041    8BEC            MOV EBP,ESP
004D4043    6BC9 28         IMUL ECX,ECX,28
004D4046    81C1 00604A00   ADD ECX,004A6000
004D404C    8BE5            MOV ESP,EBP
004D404E    5D              POP EBP
004D404F    C3              RETN

同STAR引擎的4061F9:
004D4050    55              PUSH EBP
004D4051    8BEC            MOV EBP,ESP
004D4053    6BC9 48         IMUL ECX,ECX,48
004D4056    030D 70404D00   ADD ECX,DWORD PTR DS:[4D4070]
004D405C    8BE5            MOV ESP,EBP
004D405E    5D              POP EBP
004D405F    C3              RETN

如果大家碰到4A1140之类的代码,想缩短,就可以找空位写上上述函数,然后改成CALL即可。

======
2、递归
如果有碰到很多种情况分类讨论的,这时逐个测试很占地方,用递归代码比较方便。递归是一个我也不怎么懂的术语……其实就是循环,核心思想是用一个计数器算次数,然后用跳转在一小段代码内循环,用相同的代码把几种情况全部囊括,避免类似的代码写几遍占位置的麻烦情况。
在引擎里经常能见到递归代码,它们一般在代码最外的黑框右边还有个小黑框把递归部分框起来,意思是这段代码是循环的。
并且一般格式如下:

例:
444450 XOR EDX,EDX-----EDX为计数器,当然EAX什么的也可以,如果代码比较复杂,还可以用寄存器来代替,
444452 JMP 444455  -----跳过“INC EDX”指令,即从0开始计数
444454 INC EDX       ------每跳回来一次,计数器增加1
444455 CMP EDX,5   ------要算多少次,5就是循环5次
444458JNB 444488   -----若大于5,调到循环外
……………………………    -----每次循环的代码计算,在此略去
444486 JMP 444454  ------循环地步,调回计数器增加1的地方,再来一次
444488                     ------递归外代码


======
3、其他空出字节的小技巧:
MOV EAX,[EBP+8],PUSH EAX ====> PUSH [EBP+8]

AND EAX,0FF ====> MOVZX EAX,AL

MOV EAX,[EBP+8],AND EAX,0FF ====> MOVZX EAX,BYTE [EBP+8]

MOV EAX,0  ====> XOR EAX,EAX

ADD EAX,1  ====> INC EAX
SUB EAX,1  ====> DEC EAX

CMP EAX,0  ====> TEST EAX,EAX

JMP JE等跳转类指令,如果跳转的目的地离代码距离超过80字节,会由占两个字节的JMP SHORT变为占五个字节的JMP,请注意。
 楼主| 发表于 2015-4-9 11:57 | 显示全部楼层
如何使用Ollydbg修改曹操传引擎
原作者;godtype


第一部分 Ollydbg的基本使用方法



一、寄存器
在寄存器窗口中,最上方显示了数个寄存器的名称,以及在调试的时候可以看到它们运行过程中存放的数据。
其中EAX,ECX,EDX和EBX是通用寄存器,也是经常用到的,用于各种计算的寄存器。
EBP和ESP一般用在子程序(或者称为函数)的开始和结束部分,这两个不能乱用,以后会讲解具体用法。
EDI和ESI也不能乱用,除非原来的代码中用到,否则不要使用。

实际上用得最多就只是EAX、ECX、EDX、EBX,他们具体又会分成AX、AH、AL、CX、CH、CL、DX、DH、DL、BX、BH、BL,看图:

图中以EAX为例,其中橙色为EAX,占用4个字节,红色是AX,占用2个字节,绿色是AH,占用1个字节,蓝色是AL,占用1个字节。图的下面部分就是用数据进行举例,不多说了。

二、子程序(函数)

QUOTE:
PUSH EBP  ——将EBP压入堆栈,属于固定格式
MOV EBP,ESP  ——将ESP的值移入EBP,属于固定格式
SUB ESP,X  或  PUSH ECX  ——空出暂存空间
============
==正式内容==
============
MOV ESP,EBP  ——将EBP的值移入ESP,属于固定格式
POP EBP  ——将EBP从堆栈中取出,属于固定格式
RETN  或  RETN X  ——结束返回原来调用此子程序的地方

子程序使用CALL指令进行调用,当光标停在CALL ****这一行的时候,可以按回车键进入该子程序进行查看,而大部分子程序都采用上面的格式。

1、标明“属于固定格式”的指令不需要太明白它的实际意义,

2、“空出暂存空间”是必须的,因为只靠几个通用寄存器,是完成不了大量的计算,所以就要空出一定量的空间,将暂时不需要计算的数据保存起来,换句话就是新引擎剧本指令中有到的整形变量。
SUB ESP,X表示空出(X÷4)个空间,每4个字节一个空间,[EBP-X]就是表示第(X÷4)个空间,比如SUB ESP,0C就表示空出三个空间,[EBP-C]就是其中第三个空间。
PUSH ECX相当于SUB ESP,4,只空出一个空间(其实就是一种偷懒省字节的表现。)
也可以跳过这一步,有此子程序中只用到一两个通用寄存器,计算量少,不需要暂时性的保存数据,就可以不用这一步。

3、RETN 或 RETN X的具体用法。
寄存器中的数据不会因为调用了子程序就改变,所以可以用作子程序的输入数据,但是如果有大量的输入数据,只靠几个通用寄存器,也是完成不了输入的,所以就要在调用子程序之前,通过PUSH指令,对其它输入数据进行压入堆栈的操作,例如:
PUSH EDX(参数3)
PUSH ECX(参数2)
PUSH EAX(参数1)
CALL 4001
ADD ESP,0C
这个时候就有3个数据输入进子程序4001里面,调用4001之后,参数1是[EBP+8],参数2是[EBP+C],参数3是[EBP+10],注意是从+8开始,而不是从+4开始,而且最后一个PUSH的才是第一个参数。
当没有参数输入到子程序的时候,结束返回用RETN就可以了,但是如果有数量不等的参数输入到子程序的时候,结束返回就不能只用RETN,要用RETN X了。这是由于输入参数是用PUSH的,相当于在前一个程序中增加了X个暂存空间,所以返回的时候就要将增加了的空间删去,在一般情况下,输入了3个参数,就要用RETN 0C,这样就可以了,但是有些子程序是用RETN的,所以回到原来的程序,就要加上一条ADD ESP,X了。

4、可以自行新写一些内容作为自定义函数,尤其是一些大量运用的组合指令,这样可以方便以后的修改,还能够在原来的程序中节省一定量的空间写新的代码。这个做法就是参考了STAR175的新引擎之后大量运用。

三、常用指令
1、MOV
格式为 MOV 参数1,参数2 ;表示将参数2的数据移入参数1中,也可以理解为参数1=参数2。
具体有以下几种用法:
1)MOV EAX,1 或 MOV AL,1
最简单的,EAX=00 00 00 01;如果是MOV AL,1,则只是AL部分等于1,假如原来EAX=12345678,MOV AL,1之后,EAX=12345601。

2)MOV EAX,ECX
即EAX=ECX

3)
MOV EAX,DWORD PTR SS:[EBP-4]
MOV DWORD PTR SS:[EBP-4],EAX
MOV EAX,DWORD PTR DS:[EBP-4]
MOV DWORD PTR DS:[EBP-4],EAX
第一条,表示EAX等于[EBP-4](即第一个暂存空间)的数值,假如[EBP-4]里面是12345678,则EAX=12345678;而第二条就是第一条的相反操作,不作解释。
第三条,表示EAX等于以[EBP-4]的数值为所在地址中的数值,假如[EBP-4]里面是00410000,而地址00410000的数据是00 00 00 01,则EAX=00 00 00 01;同样第四条是第三的相反操作,不作解释。
这四条都是DWORD型,即4字节数据的移动,但不是所有数据都是4 字节的,还有很多都是2字节和1字节,这时就要改用其他类型,例如MOV AL,BYTE PTR SS:[EBP-4]是1字节用的,MOV AX,WORD PTR SS:[EBP-4]就是2字节用的。

2、逻辑运算类
1)AND
术语是与操作指令,实际应用是将4字节寄存器中不需要的字节进行“00”操作,例如
AND EAX,0FF 表示将EAX中的数据,除了AL保留起来,其他全部置为00,假如EAX=12345678,则操作后EAX=00000078,且最大不会超过000000FF;

这里顺便说明一下,包括其他的指令修改在内,对于超过7F的数值,在实际输入的时候,要在前面加一个“零”,比如想输入200,不能只输入C8,要输入0C8

2)XOR
术语是异或操作指令,实际应用是清空某寄存器,例如XOR EAX,EAX,相当于MOV EAX,0,即EAX=00000000

3)TEST
测试指令,一般用于CALL 407A09(测试某武将是否带有指定特效的装备)、概率测试、随机数测试等函数之后,表达式为TEST EAX,EAX ,后面必定跟着JE或JNZ的跳转指令,JE表示EAX=0(没有装备或发生)时跳转,JNZ则相反。

4)OR、NOT
分别是或操作指令和取反指令,因为我没有用过,所以不作解释。

3、CMP和条件转移(即跳转)
格式为CMP 参数1,参数2,以参数1为目标物对参数2进行相互比较,比较的结果根据后面的各种条件转移来转移跳转。具体常用的条件转移如下:
JE 或 JZ:两参数相同就跳转,否则接下一行指令
JNZ 或 JNE:不相同才跳转
JA 或 JNBE:大于跳转
JAE 或 JNB:大于等于跳转
JB 或 JNAE:小于跳转
JBE 或 JNA:小于等于跳转
以上四条,测试无符号整数运算的结果
JG 或 JNLE:大于跳转
JGE 或 JNL:大于等于跳转
JL 或 JNGE:小于跳转
JLE 或 JNG:小于等于跳转
以上四条,测试带符号整数运算的结果

除了条件转移还有最重要的一条是JMP:无条件跳转。

所有的转移指令跟CALL指令一样可以按回车来跳到目标位置进行查看。

4、计算类指令
1)INC、DEC
前者是加1指令,后者是减1指令,不多加不多减,只有1。

2)ADD
加法指令,例如ADD EAX,1就是EAX的数值+00000001,ADD EAX,ECX就是EAX = EAX的数值 + ECX的数值

3)SUB
减法指令,使用方法跟ADD一样

4)MUL、IMUL
都是乘法指令,具体用法不同。
前者是以EAX的值直接乘以参数,比如MUL ECX表示EAX = EAX的数值 * ECX的数值
后者是将所有参数进行相乘,比如IMUL ECX,ECX,19表示 ECX = ECX的数值 * 19H

5)DIV、IDIV
前者是无符号除法,后者是整数除法。
前者跟MUL相似,拿EAX的数值除以参数,但是得出来的商存放在EAX,余数存放在EDX里面,所以使用前通常用XOR EDX,EDX先清空EDX,举例:
MOV EAX,96
MOV ECX,64
XOR EDX,EDX
DIV ECX
得出的结果是,EAX=00000001,EDX=00000032
后者没有经常用,所以不作解释。

6)SHL、SAL
逻辑左移和算术左移指令,这两条不用术语解释,用实际应用来说明,以SHL EAX,1为例,实际效果就是EAX * 2,所以可以将SHL EAX,X理解为EAX乘以2的X次方。

7)SHR、SAR
逻辑右移和算术右移指令,与上面的左移同理。

5、NOP
无作用或称为自动跳过这一行代码 (用UE打开编辑exe文件时你看到90,等同于汇编语言语句nop)

最后,其他指令由于较少接触,所以都不作解释。
第三部分 曹操传修改相关知识



一、根据已有的条件添加宝物或兵种特效
1、举一个最经典的例子:“主动连击”。

思路:因为原版是没有连击特效的,只有普通的连击率计算,所以就要从连击率这里入手修改,添加一个攻击方武将是否带有此特效的宝物(407A09),如果有连击率为100,没有就按连击率计算连击率。

先分析连击率计算的代码
00405CE6  /$ 55             PUSH EBP
00405CE7  |. 8BEC           MOV EBP,ESP
00405CE9  |. 83EC 0C        SUB ESP,0C   ——空出三个暂存空间
00405CEC  |. 894D F4        MOV DWORD PTR SS:[EBP-C],ECX   ——输入的ECX==4927F0,并保存在[EBP-C]即第三个暂存空间里面
00405CEF  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]   ——将保存在[EBP-C]的4927F0存放在EAX里面
00405CF2  |. 8B48 0C        MOV ECX,DWORD PTR DS:[EAX+C]   ——再将4927F0+C这个内存地址里面的数据,即攻击方武将的战场内存地址存放在ECX里面
00405CF5  |. E8 37990300    CALL 0043F631   ——这条是取出武将爆发力的函数,输入的ECX必须是武将的战场内存地址,输出的EAX的数值包含了武将本身的数值 + 装备的数值 + 上升下降量
00405CFA  |. 8945 F8        MOV DWORD PTR SS:[EBP-8],EAX   ——将攻击方的总爆发力保存在[EBP-8]里面
00405CFD  |. 8B4D F4        MOV ECX,DWORD PTR SS:[EBP-C]   
00405D00  |. 33D2           XOR EDX,EDX
00405D02  |. 8A51 01        MOV DL,BYTE PTR DS:[ECX+1]   
00405D05  |. 8BCA           MOV ECX,EDX
00405D07  |. 6BC9 24        IMUL ECX,ECX,24
00405D0A  |. 81C1 502C4B00  ADD ECX,004B2C50   
00405D10  |. E8 1C990300    CALL 0043F631   
00405D15  |. 8945 FC        MOV DWORD PTR SS:[EBP-4],EAX   ——将被攻击方的总爆发力保存在[EBP-4]里面
00405D18  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]   ——将被攻击方的总爆发力从[EBP-4]里面取出,存放在EAX里面,并开始准备计算普通的连击率
00405D1B  |. 6BC0 03        IMUL EAX,EAX,3
00405D1E  |. 3945 F8        CMP DWORD PTR SS:[EBP-8],EAX
00405D21  |. 72 04          JB SHORT 00405D27
00405D23  |. B0 64          MOV AL,64
00405D25  |. EB 3E          JMP SHORT 00405D65
00405D27  |> 8B4D FC        MOV ECX,DWORD PTR SS:[EBP-4]
00405D2A  |. D1E1           SHL ECX,1
00405D2C  |. 394D F8        CMP DWORD PTR SS:[EBP-8],ECX
00405D2F  |. 72 17          JB SHORT 00405D48
00405D31  |. 8B55 FC        MOV EDX,DWORD PTR SS:[EBP-4]
00405D34  |. D1E2           SHL EDX,1
00405D36  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
00405D39  |. 2BC2           SUB EAX,EDX
00405D3B  |. 6BC0 50        IMUL EAX,EAX,50
00405D3E  |. 33D2           XOR EDX,EDX
00405D40  |. F775 FC        DIV DWORD PTR SS:[EBP-4]
00405D43  |. 83C0 14        ADD EAX,14
00405D46  |. EB 1D          JMP SHORT 00405D65
00405D48  |> 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
00405D4B  |. 3B45 FC        CMP EAX,DWORD PTR SS:[EBP-4]
00405D4E  |. 72 13          JB SHORT 00405D63
00405D50  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
00405D53  |. 2B45 FC        SUB EAX,DWORD PTR SS:[EBP-4]
00405D56  |. 6BC0 12        IMUL EAX,EAX,12
00405D59  |. 33D2           XOR EDX,EDX
00405D5B  |. F775 FC        DIV DWORD PTR SS:[EBP-4]
00405D5E  |. 83C0 02        ADD EAX,2
00405D61  |. EB 02          JMP SHORT 00405D65
00405D63  |> B0 01          MOV AL,1
00405D65  |> 8BE5           MOV ESP,EBP
00405D67  |. 5D             POP EBP
00405D68  \. C3             RETN
上面只写出部分的分析,关于连击率的计算就不写出来了。
连击特效放在哪个位置都没有所谓,根据前辈们已写的代码,就决定在开始计算连击率之前加入新代码,用无条件跳转到空白位置来改写。由于指令JMP *** 占用五个字节,所以就要占用了00405D15  |. 8945 FC   MOV DWORD PTR SS:[EBP-4],EAX和00405D18  |. 8B45 FC   MOV EAX,DWORD PTR SS:[EBP-4]这两条指令的位置。以下是代码:

QUOTE:
《曹操传EXE修改详解》
原帖由 慕容雪芸 于 2006-1-10 10:16 发表
00405D15   E9 B9000800   JMP 00485DD3   ——跳到空白位置
00405D1A   90            NOP

00485DD3   8945 FC       MOV DWORD PTR SS:[EBP-4],EAX   ——因为占用了405D15,所以先将原来405D15的代码写回这里
00485DD6   6A 3A         PUSH 3A     ——特效号
00485DD8   8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]   ——将保存在[EBP-C]的4927F0存放在EAX里面
00485DDB   8B48 08       MOV ECX,DWORD PTR DS:[EAX+8]   ——再将4927F0+8这个内存地址里面的数据,即攻击方武将的DATA内存地址存放在ECX里面
00485DDE   E8 261CF8FF   CALL 00407A09   ——调用407A09
00485DE3   85C0          TEST EAX,EAX   ——EAX是否为0
00485DE5   74 07         JE SHORT 00485DEE   ——为0,即没有带上此特效的宝物,就要跳到后面的代码去计算普通的连击率
00485DE7   B0 64         MOV AL,64   ——前面的EAX不为0,即有带上此特效的宝物,所以连击率为100
00485DE9   E9 77FFF7FF   JMP 00405D65   ——直接跳到连击率函数的最后输出到原来调用连击率函数的位置
00485DEE   8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]   ——没有带上主动连击特效的宝物,就要计算普通的连击率,因为405D18同样被占用了,所以原来的405D18要写回在这里
00485DF1   E9 25FFF7FF   JMP 00405D1B   ——最后跳回到之前跳出来的后一条代码

这样子,主动连击的宝物特效就添加完成了。兵种特效可以参考下面的:
兵种双击属性改法:

QUOTE:
http://www.xycq.net/forum/thread-140085-1-1.html
00405D15   . /E9 E8330000   JMP Ekd5.00409102
00405D1A     |90            NOP

00409102   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00409105   .  6A 3A         PUSH 3A    ;宝物特征
00409107   .  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
0040910A   .  8B48 08       MOV ECX,DWORD PTR DS:[EAX+8]  
0040910D   .  E8 F7E8FFFF   CALL Ekd5.00407A09  
00409112   .  85C0          TEST EAX,EAX
00409114   .  74 07         JE SHORT Ekd5.0040911D
00409116   .  B0 64         MOV AL,64 ;双击几率
00409118   .^ E9 48CCFFFF   JMP Ekd5.00405D65
0040911D   .  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
00409120   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00409123   .  E8 E8D4FFFF   CALL Ekd5.00406610
00409128   .  25 FF000000   AND EAX,0FF
0040912D   .  83F8 31       CMP EAX,31   ;兵种
00409130   .  75 02         JNZ SHORT Ekd5.00409134
00409132   .^ EB E2         JMP SHORT Ekd5.00409116
00409134   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00409137   .^ E9 DFCBFFFF   JMP Ekd5.00405D1B

以上设置3A(防御两次攻击)的特殊效果为主动双击,设置兵种31(原木人、偶EXE中的大将军)主动必双击,宝物优先于兵种。

2、减轻物理攻击伤害
继续占坑待填中。



 楼主| 发表于 2015-4-9 11:59 | 显示全部楼层
曹操传exe部分函数功能
原作者;周瑜


40379B获取物理攻击所得经验
40397D获取物理攻击所得武器经验
403A85获取物理攻击所得防具经验
405D69获取致命一击概率
4065D0获取武将ecx的等级
4065F0获取武将ecx的道具代码(08栈值为012武器防具辅助)
406610获取武将ecx的兵种
406650获取武将ecx的经验
406670设置武将朝向为08栈
406690恢复武将ecx行动
4066C0增加武将ecx的异常状态08栈,采用OR的方法
4066E0驱除武将ecx的异常状态08栈,采用AND的方法
406760获取武将08栈的防御力,武将必须在前512人
40678E获取道具08栈的特殊效果加什么,0~8分别为攻防精暴士体法移经
40681A获取道具主要加什么,攻击性武器为0,非攻击性武器为2,防具为1,道具类型18~1F分别加0~8
406906获取兵种08栈的职业
406947获取武将ecx战场形像,普通形象也具体化
406A75获取武将08栈的战场形象编号
406D87获取武将ecx的攻防精暴士体法,根据08栈值0~6
406E17武将ecx的攻防精暴士体法加上0C栈值,并不超过上限,根据08栈值0~6
406F54武将ecx的攻防精暴士体法等于0C栈值,并不超过上限,根据08栈值0~6
40709A获取武将ecx的武统智敏运并乘2,根据08栈值0~4
407126、57、88、B9、EA、721B、4A、7B、BD获取武将ecx带上装备后的攻防精爆士体法移经
4072FC获取武将ecx某项能力值的每级成长,根据08栈值0~4
4077D0获取武将ecx的职业
407872获取武将ecx的战前选人时的排列参数,仅相对大小有意义,大者优先
407907检测武将ecx是否能装备道具08栈
407A09检测武将ecx是否装备特殊效果为08栈的特殊道具
407AF2获取武将ecx装备特殊效果为08栈的特殊道具的特殊效果值
407C0E获取武将ecx全身装备对某一项能力的增加值,根据08栈值0~8
407D78更换装备时设置武将ecx第08栈装备,代码0C栈、等级10栈、经验14栈
407DEC给武将ecx装备上等级为10栈的道具0C栈,装备位置为08栈(武器0,防具1,辅助2)
408BE3敌军属性设置
408F2E保存存档武将数据之具体化
409188读取存档武将数据之具体化
409500获取武将ecx的武将代码(曹操为0x1000),并只保留低12位
409520获取道具ecx的特殊效果
409540获取道具ecx的类型,辅助则为特殊效果
4095E0获取武将ecx的道具等级(08栈值为012武器防具辅助)
40B8B0获取兵种ecx的移动力
40BE7D获取武将08栈的data编号
40C14F新人加入等级计算
40C63A获取道具ecx种类,00-08为武器防具,09辅助,0A消耗品
40C674获取武器护具ecx等级为08栈值时候的效果值
40C6EA获取道具ecx的种类于al,武器0,防具1,宝物2,消耗品3
40C74C获取道具ecx是否为武器和护具
40C76E获取道具ecx的武器类型是否为特殊
40C812获取道具ecx的特殊效果编号(已减去0x12)
41885A平均等级的计算方法
41A995获取保存/打开的存档文件名于08栈的指针
41DD70获取道具ecx的1级值,辅助则为特殊效果值
41DDB0获取道具ecx的特殊效果值
41DDF0获取道具ecx的升级递增值,辅助则为适合兵种
41DF70获取武将ecx的兵种
41DF90、B0、D0、F0、41E010、30获取武将ecx的攻防精暴士健的状态
420AB6、420B17、420B42、420B98检测地形08栈是否可受火水风土系策略
420BBD获取武将OC栈的受策略08栈(17-38有效)影响的攻防精暴士移的状态
420CB2根据策略08栈(17-38有效)和当前状态,重设武将ecx攻防精暴士移状态
435182检测地形08栈是否能恢复兵力
435991获取武将08栈的当前地形
43B470获取武将ecx的职业
43B50D获取攻击命中率,考虑爆发力和有关命中率的道具效果,包括镜铠
43BC4B获取武将ecx对武将08栈的物理攻击伤害,10栈为是否反击,0C栈为是否实际值,是则考虑是否命中和随机数
43D0B1获取地形08栈的恢复能力
43E320获取武将ecx的朝向
43E4D6获取武将08栈的战场编号
43F38B获取武将ecx的地形移动声音,参数不祥
43F7CF获取武将ecx在地形08栈上行动所耗行动力于eax,以及在当前地形的攻防加成于edx
43F84D获取武将ecx在当前地形的攻防加成
43F8BE获取武将ecx的攻击范围(宝物覆盖兵种)
43F98E升降武将ecx的08栈(攻防精暴士移)状态,0C栈0为降非0为升。<3上升或者>3下降时变成3,<=3下降变为0,>=3上升变为6
43FF54获取武将ecx属于哪一方
43FFED获取武将ecx气合加什么,0和1代表精神,2代表攻击
4429F9给武将ecx装备上等级为10栈的道具0C栈,装备位置为08栈(武器0,防具1,辅助2),(包含默认装备和无装备)
443070获取兵种ecx在地形08栈上行动所耗行动力
443090获取兵种ecx在地形08栈上的攻防加成
44F9A0获取兵种ecx的攻击范围
45F670获取武将ecx的data编号
4621BB装备栏中显示特殊效果的数值部分
472C90返回武将ecx的当前体力
47FA89返回08栈0C栈之和与10栈的较小值于eax
47FAB5返回08栈0C栈之和与10栈的较小值于eax
47FA9E返回08栈减0C栈得到的值,负值归0
47FB13生成0到08栈-1的随机数
47FB32概率为08栈的事件是否发生
47FC7D字符串拷贝,0C栈的字符串拷贝到08栈中
 楼主| 发表于 2015-4-9 12:09 | 显示全部楼层
解读KOEI曹操传代码
原作者;岱瀛
解读KOEI曹操传代码

目录
一.        攻击篇
    1.1       攻击响应函数
    1.2       攻击处理函数
    1.3       攻击伤害函数
    1.4       伤害计算函数
    1.5       攻击显示函数
               1.5.1 攻击前的转向,致命一击台词
               1.5.2 攻击过程的动作更替
               1.5.3 弓兵,弓骑兵动作置慢
    1.6       攻击效果函数
    1.7       反击处理函数
    1.8       升级处理函数




攻击动作函数
00405744
传入参数:
Ecx 是 攻击武将的Ecx值
局部变量
[EBP-D8] 保存攻击武将的Ecx值


00405744  /$  55            PUSH EBP
00405745  |.  8BEC          MOV EBP,ESP
00405747  |.  81EC D8000000 SUB ESP,0D8
0040574D  |.  898D 28FFFFFF MOV DWORD PTR SS:[EBP-D8],ECX
00405753  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
00405759  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
0040575F  |.  8A51 10       MOV DL,BYTE PTR DS:[ECX+10]
00405762  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
00405765  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
0040576B  |.  E8 1FE4FFFF   CALL Ekd5.00403B8F                       ;  里面加载ATK图了
00405770  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
00405776  |.  33C9          XOR ECX,ECX
00405778  |.  8A48 01       MOV CL,BYTE PTR DS:[EAX+1]
0040577B  |.  6BC9 24       IMUL ECX,ECX,24
0040577E  |.  81C1 502C4B00 ADD ECX,Ekd5.004B2C50
00405784  |.  E8 978B0300   CALL Ekd5.0043E320              获取攻击武将的朝向(这个时候武将的朝向已经变了,而看到的不一样)
00405789  |.  8845 FC       MOV BYTE PTR SS:[EBP-4],AL
0040578C  |.  8B95 28FFFFFF MOV EDX,DWORD PTR SS:[EBP-D8]
00405792  |.  8A02          MOV AL,BYTE PTR DS:[EDX]
00405794  |.  50            PUSH EAX                                 ; /Arg2
00405795  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]            ; |
0040579B  |.  8A51 01       MOV DL,BYTE PTR DS:[ECX+1]               ; |
0040579E  |.  52            PUSH EDX                                 ; |Arg1
0040579F  |.  E8 85000300   CALL Ekd5.00435829                       ; \Ekd5.00435829
004057A4  |.  83C4 08       ADD ESP,8
004057A7  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
004057A9  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]            ; |
004057AF  |.  E8 D1E5FFFF   CALL Ekd5.00403D85                       ; \Ekd5.00403D85                里面加载了SPC图
004057B4  |.  8A45 FC       MOV AL,BYTE PTR SS:[EBP-4]
004057B7  |.  50            PUSH EAX                                 ; /Arg1
004057B8  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]            ; |
004057BE  |.  33D2          XOR EDX,EDX                              ; |
004057C0  |.  8A51 01       MOV DL,BYTE PTR DS:[ECX+1]               ; |
004057C3  |.  8BCA          MOV ECX,EDX                              ; |
004057C5  |.  6BC9 24       IMUL ECX,ECX,24                          ; |
004057C8  |.  81C1 502C4B00 ADD ECX,Ekd5.004B2C50                    ; |
004057CE  |.  E8 9D0E0000   CALL Ekd5.00406670                       ; \Ekd5.00406670                        设置攻击武将朝向为08栈
004057D3  |.  68 FF000000   PUSH 0FF                                 ; /Arg2 = 000000FF
004057D8  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]            ; |
004057DE  |.  8A48 01       MOV CL,BYTE PTR DS:[EAX+1]               ; |
004057E1  |.  51            PUSH ECX                                 ; |Arg1
004057E2  |.  E8 42000300   CALL Ekd5.00435829                       ; \Ekd5.00435829
004057E7  |.  83C4 08       ADD ESP,8
004057EA  |.  8B95 28FFFFFF MOV EDX,DWORD PTR SS:[EBP-D8]
004057F0  |.  8B4A 0C       MOV ECX,DWORD PTR DS:[EDX+C]
004057F3  |.  E8 68DBFFFF   CALL Ekd5.00403360              //纯粹看代码里是把Ecx压栈然后再+6返回,但是没分析为什么要这样做
004057F8  |.  66:8B00       MOV AX,WORD PTR DS:[EAX]
004057FB  |.  66:8945 F8    MOV WORD PTR SS:[EBP-8],AX
004057FF  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
00405805  |.  8A51 01       MOV DL,BYTE PTR DS:[ECX+1]
00405808  |.  52            PUSH EDX                                 ; /Arg3
00405809  |.  8A45 F9       MOV AL,BYTE PTR SS:[EBP-7]               ; |
0040580C  |.  50            PUSH EAX                                 ; |Arg2
0040580D  |.  8A4D F8       MOV CL,BYTE PTR SS:[EBP-8]               ; |
00405810  |.  51            PUSH ECX                                 ; |Arg1
00405811  |.  B9 50424B00   MOV ECX,Ekd5.004B4250                    ; |
00405816  |.  E8 08F90400   CALL Ekd5.00455123                       ; \Ekd5.00455123     重画武将形象,把朝向弄好。
0040581B  |.  8B95 28FFFFFF MOV EDX,DWORD PTR SS:[EBP-D8]
00405821  |.  83BA 04060000>CMP DWORD PTR DS:[EDX+604],0                                //判断是否发生致命一击
00405828  |.  74 50         JE SHORT Ekd5.0040587A
0040582A  |.  6A 19         PUSH 19                                  ; /Arg1 = 00000019
0040582C  |.  E8 01A30700   CALL Ekd5.0047FB32                       ; \Ekd5.0047FB32    25%概率的事件是否发生
00405831  |.  83C4 04       ADD ESP,4
00405834  |.  85C0          TEST EAX,EAX
00405836  |.  74 42         JE SHORT Ekd5.0040587A                              //概率没有发生,结束, 发生则说出致命一击的台词
00405838  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
0040583E  |.  8B48 04       MOV ECX,DWORD PTR DS:[EAX+4]
00405841  |.  51            PUSH ECX                                 ; /Arg2
00405842  |.  8D95 2CFFFFFF LEA EDX,DWORD PTR SS:[EBP-D4]            ; |
00405848  |.  52            PUSH EDX                                 ; |Arg1
00405849  |.  E8 E1670000   CALL Ekd5.0040C02F                       ; \Ekd5.0040C02F
0040584E  |.  83C4 08       ADD ESP,8
00405851  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
00405857  |.  8B48 0C       MOV ECX,DWORD PTR DS:[EAX+C]
0040585A  |.  E8 6AA40300   CALL Ekd5.0043FCC9
0040585F  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
00405865  |.  8B51 04       MOV EDX,DWORD PTR DS:[ECX+4]
00405868  |.  52            PUSH EDX                                 ; /Arg2
00405869  |.  8D85 2CFFFFFF LEA EAX,DWORD PTR SS:[EBP-D4]            ; |
0040586F  |.  50            PUSH EAX                                 ; |Arg1
00405870  |.  B9 F05D4B00   MOV ECX,Ekd5.004B5DF0                    ; |
00405875  |.  E8 E33D0500   CALL Ekd5.0045965D                       ; \Ekd5.0045965D
0040587A  |>  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
00405880  |.  E8 64ECFFFF   CALL Ekd5.004044E9                                                        //画面显示函数
00405885  |.  8BE5          MOV ESP,EBP
00405887  |.  5D            POP EBP
00405888  \.  C3            RETN

//本函数,进行了一些画面处理,比如武将的转向和致命一击台词。然后调用了攻击过程全动作的函数,分析比较粗,调用到的几个函数还没有仔细分析,
//还有几个朝向问题,数字朝向有点奇怪。

攻击画面函数
004044E9函数
又是一个万恶的恐怖函数建议先看我最后用C翻译的结果,对于反汇编过长的函数,我一般都是先从代码结构上,从总体上把握,直接自己翻译成C代码,然后再分段的研究,直接上千行万行的汇编看下去,人会崩溃的.不过翻译过程其实也不简单,我个人比较熟悉和喜欢C/C++,也简单了解过C和汇编转换的一般对应关系,所以就翻译成C了.象小笨那种喜欢pascal的,估计就自己翻成pascal容易看点.

004044E9  /$  55            PUSH EBP
004044EA  |.  8BEC          MOV EBP,ESP
004044EC  |.  B8 38100000   MOV EAX,1038               
004044F1  |.  E8 6ACC0700   CALL Ekd5.00481160
004044F6  |.  56            PUSH ESI
004044F7  |.  898D CCEFFFFF MOV DWORD PTR SS:[EBP-1034],ECX
004044FD  |.  8B85 CCEFFFFF MOV EAX,DWORD PTR SS:[EBP-1034]
00404503  |.  8B48 0C       MOV ECX,DWORD PTR DS:[EAX+C]
00404506  |.  E8 55EEFFFF   CALL Ekd5.00403360        //纯粹看代码里是把Ecx压栈然后再+6返回,但是没分析为什么要这样做
0040450B  |.  66:8B08       MOV CX,WORD PTR DS:[EAX]
0040450E  |.  66:898D E8EFF>MOV WORD PTR SS:[EBP-1018],CX
00404515  |.  8B95 CCEFFFFF MOV EDX,DWORD PTR SS:[EBP-1034]
0040451B  |.  33C0          XOR EAX,EAX
0040451D  |.  8A42 01       MOV AL,BYTE PTR DS:[EDX+1]
00404520  |.  8BC8          MOV ECX,EAX
00404522  |.  6BC9 24       IMUL ECX,ECX,24
00404525  |.  81C1 502C4B00 ADD ECX,Ekd5.004B2C50
0040452B  |.  E8 30EEFFFF   CALL Ekd5.00403360                //纯粹看代码里是把Ecx压栈然后再+6返回,但是没分析为什么要这样做
00404530  |.  66:8B08       MOV CX,WORD PTR DS:[EAX]
00404533  |.  66:898D E0EFF>MOV WORD PTR SS:[EBP-1020],CX
0040453A  |.  8BB5 E8EFFFFF MOV ESI,DWORD PTR SS:[EBP-1018]
00404540  |.  81E6 FF000000 AND ESI,0FF
00404546  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
0040454B  |.  E8 43D50400   CALL Ekd5.00451A93                //纯粹看代码,是把Ecx压栈后,取Ecx+4所指的内存地址的值返回
00404550  |.  99            CDQ
00404551  |.  B9 30000000   MOV ECX,30
00404556  |.  F7F9          IDIV ECX
00404558  |.  2BF0          SUB ESI,EAX
0040455A  |.  89B5 F4EFFFFF MOV DWORD PTR SS:[EBP-100C],ESI
00404560  |.  8BB5 E9EFFFFF MOV ESI,DWORD PTR SS:[EBP-1017]
00404566  |.  81E6 FF000000 AND ESI,0FF
0040456C  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
00404571  |.  E8 2ED50400   CALL Ekd5.00451AA4             //纯粹看代码,是把Ecx压栈后,取Ecx+8所指的内存地址的值返回
00404576  |.  99            CDQ
00404577  |.  B9 30000000   MOV ECX,30
0040457C  |.  F7F9          IDIV ECX
0040457E  |.  2BF0          SUB ESI,EAX
00404580  |.  89B5 ECEFFFFF MOV DWORD PTR SS:[EBP-1014],ESI
00404586  |.  8BB5 E0EFFFFF MOV ESI,DWORD PTR SS:[EBP-1020]
0040458C  |.  81E6 FF000000 AND ESI,0FF
00404592  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
00404597  |.  E8 F7D40400   CALL Ekd5.00451A93               //纯粹看代码,是把Ecx压栈后,取Ecx+4所指的内存地址的值返回
0040459C  |.  99            CDQ
0040459D  |.  B9 30000000   MOV ECX,30
004045A2  |.  F7F9          IDIV ECX
004045A4  |.  2BF0          SUB ESI,EAX
004045A6  |.  89B5 F8EFFFFF MOV DWORD PTR SS:[EBP-1008],ESI
004045AC  |.  8BB5 E1EFFFFF MOV ESI,DWORD PTR SS:[EBP-101F]
004045B2  |.  81E6 FF000000 AND ESI,0FF
004045B8  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
004045BD  |.  E8 E2D40400   CALL Ekd5.00451AA4                 //纯粹看代码,是把Ecx压栈后,取Ecx+8所指的内存地址的值返回
004045C2  |.  99            CDQ
004045C3  |.  B9 30000000   MOV ECX,30
004045C8  |.  F7F9          IDIV ECX
004045CA  |.  2BF0          SUB ESI,EAX
004045CC  |.  89B5 FCEFFFFF MOV DWORD PTR SS:[EBP-1004],ESI
004045D2  |.  8B95 F4EFFFFF MOV EDX,DWORD PTR SS:[EBP-100C]
004045D8  |.  6BD2 30       IMUL EDX,EDX,30
004045DB  |.  8995 DCEFFFFF MOV DWORD PTR SS:[EBP-1024],EDX
004045E1  |.  8B85 ECEFFFFF MOV EAX,DWORD PTR SS:[EBP-1014]
004045E7  |.  6BC0 30       IMUL EAX,EAX,30
004045EA  |.  83C0 38       ADD EAX,38
004045ED  |.  8985 D8EFFFFF MOV DWORD PTR SS:[EBP-1028],EAX
004045F3  |.  8B8D F8EFFFFF MOV ECX,DWORD PTR SS:[EBP-1008]
004045F9  |.  6BC9 30       IMUL ECX,ECX,30
004045FC  |.  898D D4EFFFFF MOV DWORD PTR SS:[EBP-102C],ECX
00404602  |.  8B95 FCEFFFFF MOV EDX,DWORD PTR SS:[EBP-1004]
00404608  |.  6BD2 30       IMUL EDX,EDX,30
0040460B  |.  83C2 38       ADD EDX,38
0040460E  |.  8995 D0EFFFFF MOV DWORD PTR SS:[EBP-1030],EDX
00404614  |.  C785 F0EFFFFF>MOV DWORD PTR SS:[EBP-1010],0
0040461E  |.  EB 0F         JMP SHORT Ekd5.0040462F

00404620  |>  8B85 F0EFFFFF /MOV EAX,DWORD PTR SS:[EBP-1010]
00404626  |.  83C0 01       |ADD EAX,1
00404629  |.  8985 F0EFFFFF |MOV DWORD PTR SS:[EBP-1010],EAX
0040462F  |>  83BD F0EFFFFF> CMP DWORD PTR SS:[EBP-1010],1B               
循环了27次,中间有空,也就是攻击的过程不会一闪而过,曹操传里的图都是4针,要做八针的攻击效果图,就必须在这做文章了
00404636  |.  0F83 C1100000 |JNB Ekd5.004056FD  (if (变量>27) goto 结束 )
0040463C  |.  8B8D F0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1010]
00404642  |.  898D C8EFFFFF |MOV DWORD PTR SS:[EBP-1038],ECX
00404648  |.  83BD C8EFFFFF>|CMP DWORD PTR SS:[EBP-1038],19
0040464F  |.  0F87 92100000 |JA Ekd5.004056E7       (if (变量>25) goto 4056E7循环点)
00404655  |.  8B85 C8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1038]
0040465B  |.  33D2          |XOR EDX,EDX
0040465D  |.  8A90 2A574000 |MOV DL,BYTE PTR DS:[EAX+40572A]
                        0040572A   .  00            DB 00                                    ; 分支 00405702 索引表
                        0040572B   .  09            DB 09
                        0040572C   .  01            DB 01
                        0040572D   .  09            DB 09
                        0040572E   .  09            DB 09              
                        0040572F   .  09            DB 09
                        00405730   .  09            DB 09                                
                        00405731   .  09            DB 09
                        00405732   .  02            DB 02                                
                        00405733   .  09            DB 09
                        00405734   .  09            DB 09                                
                        00405735   .  09            DB 09
                        00405736   .  03            DB 03                                
                        00405737   .  04            DB 04                                
                        00405738   .  05            DB 05                                
                        00405739   .  06            DB 06                                
                        0040573A   .  09            DB 09
                        0040573B   .  07            DB 07
                        0040573C   .  09            DB 09
                        0040573D   .  09            DB 09
                        0040573E   .  09            DB 09
                        0040573F   .  09            DB 09
                        00405740   .  09            DB 09
                        00405741   .  09            DB 09
                        00405742   .  09            DB 09
                        00405743   .  08            DB 08

00404663  |.  FF2495 025740>|JMP DWORD PTR DS:[EDX*4+405702]  跳转的计算
                        00405702   . \6A464000      DD Ekd5.0040466A                         ;  分支表 被用于 00404663
                        00405706   .  08484000      DD Ekd5.00404808
                        0040570A   .  31494000      DD Ekd5.00404931
                        0040570E   .  BC4C4000      DD Ekd5.00404CBC
                        00405712   .  964D4000      DD Ekd5.00404D96
                        00405716   .  FA4F4000      DD Ekd5.00404FFA
                        0040571A   .  2C524000      DD Ekd5.0040522C
                        0040571E   .  5F534000      DD Ekd5.0040535F
                        00405722   .  4A554000      DD Ekd5.0040554A
                        00405726   .  E7564000      DD Ekd5.004056E7
0040466A  |>  E8 6C9F0100   |CALL Ekd5.0041E5DB                                       
0040466F  |.  8B8D ECEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1014]
00404675  |.  51            |PUSH ECX                                ; /Arg2
00404676  |.  8B95 F4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-100C]         ; |
0040467C  |.  52            |PUSH EDX                                ; |Arg1
0040467D  |.  E8 77F0FFFF   |CALL Ekd5.004036F9                      ; \Ekd5.004036F9
00404682  |.  83C4 08       |ADD ESP,8
00404685  |.  8B85 FCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1004]
0040468B  |.  50            |PUSH EAX                                ; /Arg2
0040468C  |.  8B8D F8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1008]         ; |
00404692  |.  51            |PUSH ECX                                ; |Arg1
00404693  |.  E8 61F0FFFF   |CALL Ekd5.004036F9                      ; \Ekd5.004036F9
00404698  |.  83C4 08       |ADD ESP,8
0040469B  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040469D  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040469F  |.  68 00490000   |PUSH 4900                               ; |Arg1 = 00004900
004046A4  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004046A9  |.  E8 92B30700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004046AE  |.  50            |PUSH EAX                                ; /Arg5
004046AF  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004046B1  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004046B3  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004046B9  |.  83EA 08       |SUB EDX,8                               ; |
004046BC  |.  52            |PUSH EDX                                ; |Arg2
004046BD  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004046C3  |.  83E8 08       |SUB EAX,8                               ; |
004046C6  |.  50            |PUSH EAX                                ; |Arg1
004046C7  |.  E8 1AD30400   |CALL Ekd5.004519E6                      ; \Ekd5.004519E6
004046CC  |.  83C4 14       |ADD ESP,14
004046CF  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004046D1  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004046D3  |.  68 00590000   |PUSH 5900                               ; |Arg1 = 00005900
004046D8  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004046DD  |.  E8 5EB30700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004046E2  |.  50            |PUSH EAX                                ; /Arg5
004046E3  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004046E5  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004046E7  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
004046ED  |.  83E9 08       |SUB ECX,8                               ; |
004046F0  |.  51            |PUSH ECX                                ; |Arg2
004046F1  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
004046F7  |.  83EA 08       |SUB EDX,8                               ; |
004046FA  |.  52            |PUSH EDX                                ; |Arg1
004046FB  |.  E8 E6D20400   |CALL Ekd5.004519E6                      ; \Ekd5.004519E6
00404700  |.  83C4 14       |ADD ESP,14
00404703  |.  B9 083D4B00   |MOV ECX,Ekd5.004B3D08
00404708  |.  E8 23200000   |CALL Ekd5.00406730
0040470D  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
0040470F  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404711  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404713  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404718  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
0040471D  |.  E8 1EB30700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404722  |.  50            |PUSH EAX                                ; |Arg5
00404723  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404725  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404727  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
0040472D  |.  83E8 08       |SUB EAX,8                               ; |
00404730  |.  50            |PUSH EAX                                ; |Arg2
00404731  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404737  |.  83E9 08       |SUB ECX,8                               ; |
0040473A  |.  51            |PUSH ECX                                ; |Arg1
0040473B  |.  E8 D3D10400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404740  |.  83C4 18       |ADD ESP,18
00404743  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404745  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404747  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404749  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
0040474E  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404753  |.  E8 E8B20700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404758  |.  50            |PUSH EAX                                ; |Arg5
00404759  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040475B  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040475D  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404763  |.  83EA 08       |SUB EDX,8                               ; |
00404766  |.  52            |PUSH EDX                                ; |Arg2
00404767  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
0040476D  |.  83E8 08       |SUB EAX,8                               ; |
00404770  |.  50            |PUSH EAX                                ; |Arg1
00404771  |.  E8 9DD10400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404776  |.  83C4 18       |ADD ESP,18
00404779  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
0040477F  |.  33D2          |XOR EDX,EDX
00404781  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
00404784  |.  52            |PUSH EDX                                ; /Arg3
00404785  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
0040478B  |.  50            |PUSH EAX                                ; |Arg2
0040478C  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404792  |.  51            |PUSH ECX                                ; |Arg1
00404793  |.  E8 87A30300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404798  |.  83C4 0C       |ADD ESP,0C
0040479B  |.  6A 04         |PUSH 4
0040479D  |.  6A 00         |PUSH 0
0040479F  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
004047A5  |.  33C0          |XOR EAX,EAX
004047A7  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]
004047A9  |.  8BF0          |MOV ESI,EAX
004047AB  |.  69F6 00630000 |IMUL ESI,ESI,6300
004047B1  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004047B7  |.  33D2          |XOR EDX,EDX
004047B9  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]
004047BB  |.  52            |PUSH EDX                                ; /Arg1
004047BC  |.  E8 549D0300   |CALL Ekd5.0043E515                      ; \Ekd5.0043E515
004047C1  |.  83C4 04       |ADD ESP,4
004047C4  |.  83C0 06       |ADD EAX,6                               ; |
004047C7  |.  69C0 00090000 |IMUL EAX,EAX,900                        ; |
004047CD  |.  03F0          |ADD ESI,EAX                             ; |
004047CF  |.  56            |PUSH ESI                                ; |Arg1
004047D0  |.  B9 80AB4A00   |MOV ECX,Ekd5.004AAB80                   ; |
004047D5  |.  E8 66B20700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

004047DA  |.  50            |PUSH EAX                                ; /Arg6
004047DB  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004047E1  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
004047E3  |.  51            |PUSH ECX                                ; |Arg5
004047E4  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
004047E6  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
004047E8  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004047EE  |.  52            |PUSH EDX                                ; |Arg2
004047EF  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004047F5  |.  50            |PUSH EAX                                ; |Arg1
004047F6  |.  E8 81CB0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004047FB  |.  83C4 18       |ADD ESP,18
004047FE  |.  E8 F39D0100   |CALL Ekd5.0041E5F6
00404803  |.  E9 DF0E0000   |JMP Ekd5.004056E7
00404808  |>  E8 CE9D0100   |CALL Ekd5.0041E5DB                                第一个攻击动作
0040480D  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
0040480F  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404811  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404813  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404818  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
0040481D  |.  E8 1EB20700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404822  |.  50            |PUSH EAX                                ; |Arg5
00404823  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404825  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404827  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040482D  |.  83E9 08       |SUB ECX,8                               ; |
00404830  |.  51            |PUSH ECX                                ; |Arg2
00404831  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00404837  |.  83EA 08       |SUB EDX,8                               ; |
0040483A  |.  52            |PUSH EDX                                ; |Arg1
0040483B  |.  E8 D3D00400   |CALL Ekd5.00451913                      ; \Ekd5.00451913

00404840  |.  83C4 18       |ADD ESP,18
00404843  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404845  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404847  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404849  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
0040484E  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404853  |.  E8 E8B10700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404858  |.  50            |PUSH EAX                                ; |Arg5
00404859  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040485B  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040485D  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404863  |.  83E8 08       |SUB EAX,8                               ; |
00404866  |.  50            |PUSH EAX                                ; |Arg2
00404867  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
0040486D  |.  83E9 08       |SUB ECX,8                               ; |
00404870  |.  51            |PUSH ECX                                ; |Arg1
00404871  |.  E8 9DD00400   |CALL Ekd5.00451913                      ; \Ekd5.00451913

00404876  |.  83C4 18       |ADD ESP,18
00404879  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
0040487F  |.  33C0          |XOR EAX,EAX
00404881  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00404884  |.  50            |PUSH EAX                                ; /Arg3
00404885  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040488B  |.  51            |PUSH ECX                                ; |Arg2
0040488C  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00404892  |.  52            |PUSH EDX                                ; |Arg1
00404893  |.  E8 87A20300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404898  |.  83C4 0C       |ADD ESP,0C

0040489B  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040489D  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040489F  |.  6A 00         |PUSH 0                                  ; |Arg1 = 00000000
004048A1  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004048A6  |.  E8 95B10700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004048AB  |.  50            |PUSH EAX                                ; /Arg6
004048AC  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004048B2  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
004048B4  |.  51            |PUSH ECX                                ; |Arg5
004048B5  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004048B7  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004048B9  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004048BF  |.  83EA 08       |SUB EDX,8                               ; |
004048C2  |.  52            |PUSH EDX                                ; |Arg2
004048C3  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004048C9  |.  83E8 08       |SUB EAX,8                               ; |
004048CC  |.  50            |PUSH EAX                                ; |Arg1
004048CD  |.  E8 AACA0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004048D2  |.  83C4 18       |ADD ESP,18
004048D5  |.  E8 1C9D0100   |CALL Ekd5.0041E5F6                                        第一个攻击动作
004048DA  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004048E0  |.  8B49 0C       |MOV ECX,DWORD PTR DS:[ECX+C]
004048E3  |.  E8 3EB70300   |CALL Ekd5.00440026
004048E8  |.  85C0          |TEST EAX,EAX
004048EA  |.  74 10         |JE SHORT Ekd5.004048FC
004048EC  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
004048EE  |.  6A 22         |PUSH 22                                 ; |Arg1 = 00000022
004048F0  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
004048F5  |.  E8 80FD0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
004048FA  |.  EB 30         |JMP SHORT Ekd5.0040492C
004048FC  |>  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00404902  |.  8B4A 0C       |MOV ECX,DWORD PTR DS:[EDX+C]
00404905  |.  E8 FFB60300   |CALL Ekd5.00440009
0040490A  |.  85C0          |TEST EAX,EAX
0040490C  |.  74 10         |JE SHORT Ekd5.0040491E
0040490E  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404910  |.  6A 25         |PUSH 25                                 ; |Arg1 = 00000025
00404912  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404917  |.  E8 5EFD0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
0040491C  |.  EB 0E         |JMP SHORT Ekd5.0040492C
0040491E  |>  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404920  |.  6A 20         |PUSH 20                                 ; |Arg1 = 00000020
00404922  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404927  |.  E8 4EFD0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A

0040492C  |>  E9 B60D0000   |JMP Ekd5.004056E7                                                  返回最后

00404931  |>  E8 A59C0100   |CALL Ekd5.0041E5DB
00404936  |.  B9 083D4B00   |MOV ECX,Ekd5.004B3D08
0040493B  |.  E8 F01D0000   |CALL Ekd5.00406730
00404940  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404942  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404944  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404946  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040494B  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404950  |.  E8 EBB00700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404955  |.  50            |PUSH EAX                                ; |Arg5
00404956  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404958  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040495A  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00404960  |.  83E8 08       |SUB EAX,8                               ; |
00404963  |.  50            |PUSH EAX                                ; |Arg2
00404964  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040496A  |.  83E9 08       |SUB ECX,8                               ; |
0040496D  |.  51            |PUSH ECX                                ; |Arg1
0040496E  |.  E8 A0CF0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404973  |.  83C4 18       |ADD ESP,18
00404976  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404978  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040497A  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040497C  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00404981  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404986  |.  E8 B5B00700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040498B  |.  50            |PUSH EAX                                ; |Arg5
0040498C  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040498E  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404990  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404996  |.  83EA 08       |SUB EDX,8                               ; |
00404999  |.  52            |PUSH EDX                                ; |Arg2
0040499A  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004049A0  |.  83E8 08       |SUB EAX,8                               ; |
004049A3  |.  50            |PUSH EAX                                ; |Arg1
004049A4  |.  E8 6ACF0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
004049A9  |.  83C4 18       |ADD ESP,18
004049AC  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004049B2  |.  33D2          |XOR EDX,EDX
004049B4  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
004049B7  |.  52            |PUSH EDX                                ; /Arg3
004049B8  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
004049BE  |.  50            |PUSH EAX                                ; |Arg2
004049BF  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
004049C5  |.  51            |PUSH ECX                                ; |Arg1
004049C6  |.  E8 54A10300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004049CB  |.  83C4 0C       |ADD ESP,0C
004049CE  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
004049D4  |.  8B4A 0C       |MOV ECX,DWORD PTR DS:[EDX+C]
004049D7  |.  E8 2DB60300   |CALL Ekd5.00440009
004049DC  |.  85C0          |TEST EAX,EAX
004049DE  |.  0F84 78010000 |JE Ekd5.00404B5C

004049E4  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004049EA  |.  83B8 04060000>|CMP DWORD PTR DS:[EAX+604],0
004049F1  |.  0F84 0D010000 |JE Ekd5.00404B04

004049F7  |.  68 00100000   |PUSH 1000                               ; /Arg3 = 00001000
004049FC  |.  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]         ; |
00404A02  |.  51            |PUSH ECX                                ; |Arg2
00404A03  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404A05  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404A07  |.  68 00100000   |PUSH 1000                               ; ||Arg1 = 00001000
00404A0C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404A11  |.  E8 2AB00700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404A16  |.  50            |PUSH EAX                                ; |Arg1
00404A17  |.  E8 E1B20700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD

00404A1C  |.  83C4 0C       |ADD ESP,0C
00404A1F  |.  8D95 00F0FFFF |LEA EDX,DWORD PTR SS:[EBP-1000]
00404A25  |.  52            |PUSH EDX                                ; /Arg6
00404A26  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404A2C  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
00404A2E  |.  51            |PUSH ECX                                ; |Arg5
00404A2F  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404A31  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404A33  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404A39  |.  83EA 08       |SUB EDX,8                               ; |
00404A3C  |.  52            |PUSH EDX                                ; |Arg2
00404A3D  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
00404A43  |.  83E8 08       |SUB EAX,8                               ; |
00404A46  |.  50            |PUSH EAX                                ; |Arg1
00404A47  |.  E8 30C90400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404A4C  |.  83C4 18       |ADD ESP,18
00404A4F  |.  E8 A29B0100   |CALL Ekd5.0041E5F6
00404A54  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404A56  |.  6A 21         |PUSH 21                                 ; |Arg1 = 00000021
00404A58  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404A5D  |.  E8 18FC0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404A62  |.  C685 E4EFFFFF>|MOV BYTE PTR SS:[EBP-101C],0
00404A69  |.  EB 0F         |JMP SHORT Ekd5.00404A7A
00404A6B  |>  8A8D E4EFFFFF |/MOV CL,BYTE PTR SS:[EBP-101C]
00404A71  |.  80C1 01       ||ADD CL,1
00404A74  |.  888D E4EFFFFF ||MOV BYTE PTR SS:[EBP-101C],CL
00404A7A  |>  8B95 E4EFFFFF | MOV EDX,DWORD PTR SS:[EBP-101C]
00404A80  |.  81E2 FF000000 ||AND EDX,0FF
00404A86  |.  83FA 06       ||CMP EDX,6
00404A89  |.  7D 77         ||JGE SHORT Ekd5.00404B02
00404A8B  |.  6A 01         ||PUSH 1                                 ; /Arg1 = 00000001
00404A8D  |.  B9 181B4B00   ||MOV ECX,Ekd5.004B1B18                  ; |
00404A92  |.  E8 A9E8FFFF   ||CALL Ekd5.00403340                     ; \Ekd5.00403340
00404A97  |.  E8 447A0200   ||CALL Ekd5.0042C4E0
00404A9C  |.  E8 3A9B0100   ||CALL Ekd5.0041E5DB
00404AA1  |.  8B85 E4EFFFFF ||MOV EAX,DWORD PTR SS:[EBP-101C]
00404AA7  |.  25 FF000000   ||AND EAX,0FF
00404AAC  |.  99            ||CDQ
00404AAD  |.  2BC2          ||SUB EAX,EDX
00404AAF  |.  D1F8          ||SAR EAX,1
00404AB1  |.  83C0 01       ||ADD EAX,1
00404AB4  |.  50            ||PUSH EAX                               ; /Arg4
00404AB5  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404AB7  |.  6A 40         ||PUSH 40                                ; |Arg2 = 00000040
00404AB9  |.  8D85 00F0FFFF ||LEA EAX,DWORD PTR SS:[EBP-1000]        ; |
00404ABF  |.  50            ||PUSH EAX                               ; |Arg1
00404AC0  |.  E8 FBB80200   ||CALL Ekd5.004303C0                     ; \Ekd5.004303C0
00404AC5  |.  83C4 10       ||ADD ESP,10
00404AC8  |.  8D8D 00F0FFFF ||LEA ECX,DWORD PTR SS:[EBP-1000]

00404ACE  |.  51            ||PUSH ECX                               ; /Arg6
00404ACF  |.  8B95 CCEFFFFF ||MOV EDX,DWORD PTR SS:[EBP-1034]        ; |
00404AD5  |.  8A02          ||MOV AL,BYTE PTR DS:[EDX]               ; |
00404AD7  |.  50            ||PUSH EAX                               ; |Arg5
00404AD8  |.  6A 40         ||PUSH 40                                ; |Arg4 = 00000040
00404ADA  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404ADC  |.  8B8D D8EFFFFF ||MOV ECX,DWORD PTR SS:[EBP-1028]        ; |
00404AE2  |.  83E9 08       ||SUB ECX,8                              ; |
00404AE5  |.  51            ||PUSH ECX                               ; |Arg2
00404AE6  |.  8B95 DCEFFFFF ||MOV EDX,DWORD PTR SS:[EBP-1024]        ; |
00404AEC  |.  83EA 08       ||SUB EDX,8                              ; |
00404AEF  |.  52            ||PUSH EDX                               ; |Arg1
00404AF0  |.  E8 87C80400   ||CALL Ekd5.0045137C                     ; \Ekd5.0045137C
00404AF5  |.  83C4 18       ||ADD ESP,18
00404AF8  |.  E8 F99A0100   ||CALL Ekd5.0041E5F6

00404AFD  |.^ E9 69FFFFFF   |\JMP Ekd5.00404A6B
00404B02  |>  EB 3D         |JMP SHORT Ekd5.00404B41

00404B04  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404B06  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404B08  |.  68 00100000   |PUSH 1000                               ; |Arg1 = 00001000
00404B0D  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404B12  |.  E8 29AF0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404B17  |.  50            |PUSH EAX                                ; /Arg6
00404B18  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404B1E  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
00404B20  |.  51            |PUSH ECX                                ; |Arg5
00404B21  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404B23  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404B25  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404B2B  |.  83EA 08       |SUB EDX,8                               ; |
00404B2E  |.  52            |PUSH EDX                                ; |Arg2
00404B2F  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
00404B35  |.  83E8 08       |SUB EAX,8                               ; |
00404B38  |.  50            |PUSH EAX                                ; |Arg1
00404B39  |.  E8 3EC80400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404B3E  |.  83C4 18       |ADD ESP,18
00404B41  |>  E8 B09A0100   |CALL Ekd5.0041E5F6

00404B46  |.  6A 08         |PUSH 8                                  ; /Arg1 = 00000008
00404B48  |.  B9 181B4B00   |MOV ECX,Ekd5.004B1B18                   ; |
00404B4D  |.  E8 EEE7FFFF   |CALL Ekd5.00403340                      ; \Ekd5.00403340
00404B52  |.  E8 89790200   |CALL Ekd5.0042C4E0
00404B57  |.  E9 5B010000   |JMP Ekd5.00404CB7


00404B5C  |>  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
00404B62  |.  83B9 04060000>|CMP DWORD PTR DS:[ECX+604],0
00404B69  |.  0F84 09010000 |JE Ekd5.00404C78
00404B6F  |.  68 00100000   |PUSH 1000                               ; /Arg3 = 00001000
00404B74  |.  8D95 00F0FFFF |LEA EDX,DWORD PTR SS:[EBP-1000]         ; |
00404B7A  |.  52            |PUSH EDX                                ; |Arg2
00404B7B  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404B7D  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404B7F  |.  6A 00         |PUSH 0                                  ; ||Arg1 = 00000000
00404B81  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404B86  |.  E8 B5AE0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404B8B  |.  50            |PUSH EAX                                ; |Arg1
00404B8C  |.  E8 6CB10700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD
00404B91  |.  83C4 0C       |ADD ESP,0C
00404B94  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]
00404B9A  |.  50            |PUSH EAX                                ; /Arg6
00404B9B  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404BA1  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404BA3  |.  52            |PUSH EDX                                ; |Arg5
00404BA4  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404BA6  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404BA8  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404BAE  |.  83E8 08       |SUB EAX,8                               ; |
00404BB1  |.  50            |PUSH EAX                                ; |Arg2
00404BB2  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404BB8  |.  83E9 08       |SUB ECX,8                               ; |
00404BBB  |.  51            |PUSH ECX                                ; |Arg1
00404BBC  |.  E8 BBC70400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404BC1  |.  83C4 18       |ADD ESP,18
00404BC4  |.  E8 2D9A0100   |CALL Ekd5.0041E5F6
00404BC9  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404BCB  |.  6A 21         |PUSH 21                                 ; |Arg1 = 00000021
00404BCD  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404BD2  |.  E8 A3FA0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404BD7  |.  C685 E4EFFFFF>|MOV BYTE PTR SS:[EBP-101C],0
00404BDE  |.  EB 0F         |JMP SHORT Ekd5.00404BEF
00404BE0  |>  8A95 E4EFFFFF |/MOV DL,BYTE PTR SS:[EBP-101C]
00404BE6  |.  80C2 01       ||ADD DL,1
00404BE9  |.  8895 E4EFFFFF ||MOV BYTE PTR SS:[EBP-101C],DL
00404BEF  |>  8B85 E4EFFFFF | MOV EAX,DWORD PTR SS:[EBP-101C]
00404BF5  |.  25 FF000000   ||AND EAX,0FF
00404BFA  |.  83F8 06       ||CMP EAX,6
00404BFD  |.  7D 77         ||JGE SHORT Ekd5.00404C76
00404BFF  |.  6A 01         ||PUSH 1                                 ; /Arg1 = 00000001
00404C01  |.  B9 181B4B00   ||MOV ECX,Ekd5.004B1B18                  ; |
00404C06  |.  E8 35E7FFFF   ||CALL Ekd5.00403340                     ; \Ekd5.00403340
00404C0B  |.  E8 D0780200   ||CALL Ekd5.0042C4E0
00404C10  |.  E8 C6990100   ||CALL Ekd5.0041E5DB
00404C15  |.  8B85 E4EFFFFF ||MOV EAX,DWORD PTR SS:[EBP-101C]
00404C1B  |.  25 FF000000   ||AND EAX,0FF
00404C20  |.  99            ||CDQ
00404C21  |.  2BC2          ||SUB EAX,EDX
00404C23  |.  D1F8          ||SAR EAX,1
00404C25  |.  83C0 01       ||ADD EAX,1
00404C28  |.  50            ||PUSH EAX                               ; /Arg4
00404C29  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404C2B  |.  6A 40         ||PUSH 40                                ; |Arg2 = 00000040
00404C2D  |.  8D8D 00F0FFFF ||LEA ECX,DWORD PTR SS:[EBP-1000]        ; |
00404C33  |.  51            ||PUSH ECX                               ; |Arg1
00404C34  |.  E8 87B70200   ||CALL Ekd5.004303C0                     ; \Ekd5.004303C0
00404C39  |.  83C4 10       ||ADD ESP,10
00404C3C  |.  8D95 00F0FFFF ||LEA EDX,DWORD PTR SS:[EBP-1000]

00404C42  |.  52            ||PUSH EDX                               ; /Arg6
00404C43  |.  8B85 CCEFFFFF ||MOV EAX,DWORD PTR SS:[EBP-1034]        ; |
00404C49  |.  8A08          ||MOV CL,BYTE PTR DS:[EAX]               ; |
00404C4B  |.  51            ||PUSH ECX                               ; |Arg5
00404C4C  |.  6A 40         ||PUSH 40                                ; |Arg4 = 00000040
00404C4E  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404C50  |.  8B95 D8EFFFFF ||MOV EDX,DWORD PTR SS:[EBP-1028]        ; |
00404C56  |.  83EA 08       ||SUB EDX,8                              ; |
00404C59  |.  52            ||PUSH EDX                               ; |Arg2
00404C5A  |.  8B85 DCEFFFFF ||MOV EAX,DWORD PTR SS:[EBP-1024]        ; |
00404C60  |.  83E8 08       ||SUB EAX,8                              ; |
00404C63  |.  50            ||PUSH EAX                               ; |Arg1
00404C64  |.  E8 13C70400   ||CALL Ekd5.0045137C                     ; \Ekd5.0045137C
00404C69  |.  83C4 18       ||ADD ESP,18

00404C6C  |.  E8 85990100   ||CALL Ekd5.0041E5F6
00404C71  |.^ E9 6AFFFFFF   |\JMP Ekd5.00404BE0
00404C76  |>  EB 3A         |JMP SHORT Ekd5.00404CB2

00404C78  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404C7A  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404C7C  |.  6A 00         |PUSH 0                                  ; |Arg1 = 00000000
00404C7E  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404C83  |.  E8 B8AD0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404C88  |.  50            |PUSH EAX                                ; /Arg6
00404C89  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404C8F  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404C91  |.  52            |PUSH EDX                                ; |Arg5
00404C92  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404C94  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404C96  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404C9C  |.  83E8 08       |SUB EAX,8                               ; |
00404C9F  |.  50            |PUSH EAX                                ; |Arg2
00404CA0  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404CA6  |.  83E9 08       |SUB ECX,8                               ; |
00404CA9  |.  51            |PUSH ECX                                ; |Arg1
00404CAA  |.  E8 CDC60400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C        
00404CAF  |.  83C4 18       |ADD ESP,18
00404CB2  |>  E8 3F990100   |CALL Ekd5.0041E5F6                                                被攻击者第一个动作
00404CB7  |>  E9 2B0A0000   |JMP Ekd5.004056E7

00404CBC  |>  E8 1A990100   |CALL Ekd5.0041E5DB                                        //第二个攻击动作
00404CC1  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404CC3  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404CC5  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404CC7  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404CCC  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404CD1  |.  E8 6AAD0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404CD6  |.  50            |PUSH EAX                                ; |Arg5
00404CD7  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404CD9  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404CDB  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404CE1  |.  83EA 08       |SUB EDX,8                               ; |
00404CE4  |.  52            |PUSH EDX                                ; |Arg2
00404CE5  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00404CEB  |.  83E8 08       |SUB EAX,8                               ; |
00404CEE  |.  50            |PUSH EAX                                ; |Arg1
00404CEF  |.  E8 1FCC0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404CF4  |.  83C4 18       |ADD ESP,18
00404CF7  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404CF9  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404CFB  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404CFD  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00404D02  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404D07  |.  E8 34AD0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404D0C  |.  50            |PUSH EAX                                ; |Arg5
00404D0D  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404D0F  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404D11  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00404D17  |.  83E9 08       |SUB ECX,8                               ; |
00404D1A  |.  51            |PUSH ECX                                ; |Arg2
00404D1B  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00404D21  |.  83EA 08       |SUB EDX,8                               ; |
00404D24  |.  52            |PUSH EDX                                ; |Arg1
00404D25  |.  E8 E9CB0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404D2A  |.  83C4 18       |ADD ESP,18
00404D2D  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00404D33  |.  33C9          |XOR ECX,ECX
00404D35  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00404D38  |.  51            |PUSH ECX                                ; /Arg3
00404D39  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404D3F  |.  52            |PUSH EDX                                ; |Arg2
00404D40  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00404D46  |.  50            |PUSH EAX                                ; |Arg1
00404D47  |.  E8 D39D0300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404D4C  |.  83C4 0C       |ADD ESP,0C

00404D4F  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404D51  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404D53  |.  68 00100000   |PUSH 1000                               ; |Arg1 = 00001000
00404D58  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404D5D  |.  E8 DEAC0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404D62  |.  50            |PUSH EAX                                ; /Arg6
00404D63  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404D69  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404D6B  |.  52            |PUSH EDX                                ; |Arg5
00404D6C  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404D6E  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404D70  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404D76  |.  83E8 08       |SUB EAX,8                               ; |
00404D79  |.  50            |PUSH EAX                                ; |Arg2
00404D7A  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404D80  |.  83E9 08       |SUB ECX,8                               ; |
00404D83  |.  51            |PUSH ECX                                ; |Arg1
00404D84  |.  E8 F3C50400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404D89  |.  83C4 18       |ADD ESP,18
00404D8C  |.  E8 65980100   |CALL Ekd5.0041E5F6                                                第二个攻击动作
00404D91  |.  E9 51090000   |JMP Ekd5.004056E7

00404D96  |>  E8 40980100   |CALL Ekd5.0041E5DB
00404D9B  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404D9D  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404D9F  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404DA1  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404DA6  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404DAB  |.  E8 90AC0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404DB0  |.  50            |PUSH EAX                                ; |Arg5
00404DB1  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404DB3  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404DB5  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404DBB  |.  83EA 08       |SUB EDX,8                               ; |
00404DBE  |.  52            |PUSH EDX                                ; |Arg2
00404DBF  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00404DC5  |.  83E8 08       |SUB EAX,8                               ; |
00404DC8  |.  50            |PUSH EAX                                ; |Arg1
00404DC9  |.  E8 45CB0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404DCE  |.  83C4 18       |ADD ESP,18
00404DD1  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404DD3  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404DD5  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404DD7  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00404DDC  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404DE1  |.  E8 5AAC0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404DE6  |.  50            |PUSH EAX                                ; |Arg5
00404DE7  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404DE9  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404DEB  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00404DF1  |.  83E9 08       |SUB ECX,8                               ; |
00404DF4  |.  51            |PUSH ECX                                ; |Arg2
00404DF5  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00404DFB  |.  83EA 08       |SUB EDX,8                               ; |
00404DFE  |.  52            |PUSH EDX                                ; |Arg1
00404DFF  |.  E8 0FCB0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404E04  |.  83C4 18       |ADD ESP,18
00404E07  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00404E0D  |.  33C9          |XOR ECX,ECX
00404E0F  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00404E12  |.  6BC9 24       |IMUL ECX,ECX,24
00404E15  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
00404E1B  |.  E8 70DE0600   |CALL Ekd5.00472C90
00404E20  |.  85C0          |TEST EAX,EAX
00404E22  |.  75 35         |JNZ SHORT Ekd5.00404E59
00404E24  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00404E2A  |.  33C0          |XOR EAX,EAX
00404E2C  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00404E2F  |.  50            |PUSH EAX                                ; /Arg3
00404E30  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
00404E36  |.  51            |PUSH ECX                                ; |Arg2
00404E37  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00404E3D  |.  52            |PUSH EDX                                ; |Arg1
00404E3E  |.  E8 DC9C0300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404E43  |.  83C4 0C       |ADD ESP,0C
00404E46  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404E48  |.  6A 07         |PUSH 7                                  ; |Arg1 = 00000007
00404E4A  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404E4F  |.  E8 26F80600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404E54  |.  E9 5A010000   |JMP Ekd5.00404FB3
00404E59  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00404E5F  |.  83B8 84000000>|CMP DWORD PTR DS:[EAX+84],0
00404E66  |.  0F85 A5000000 |JNZ Ekd5.00404F11
00404E6C  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
00404E72  |.  83B9 54020000>|CMP DWORD PTR DS:[ECX+254],0
00404E79  |.  0F85 92000000 |JNZ Ekd5.00404F11
00404E7F  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404E81  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404E83  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
00404E88  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404E8D  |.  E8 AEAB0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00404E92  |.  50            |PUSH EAX                                ; /Arg6
00404E93  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00404E99  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
00404E9C  |.  50            |PUSH EAX                                ; |Arg5
00404E9D  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00404E9F  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00404EA1  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404EA7  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404EAD  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
00404EB3  |.  52            |PUSH EDX                                ; |Arg2
00404EB4  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404EBA  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404EC0  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
00404EC6  |.  51            |PUSH ECX                                ; |Arg1
00404EC7  |.  E8 B0C40400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404ECC  |.  83C4 18       |ADD ESP,18
00404ECF  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00404ED5  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]
00404ED7  |.  50            |PUSH EAX                                ; /Arg2
00404ED8  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404EDE  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
00404EE1  |.  52            |PUSH EDX                                ; |Arg1
00404EE2  |.  E8 42090300   |CALL Ekd5.00435829                      ; \Ekd5.00435829
00404EE7  |.  83C4 08       |ADD ESP,8
00404EEA  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404EEC  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404EF2  |.  33C9          |XOR ECX,ECX                             ; |
00404EF4  |.  83B8 04060000>|CMP DWORD PTR DS:[EAX+604],0            ; |
00404EFB  |.  0F95C1        |SETNE CL                                ; |
00404EFE  |.  83C1 1E       |ADD ECX,1E                              ; |
00404F01  |.  51            |PUSH ECX                                ; |Arg1
00404F02  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404F07  |.  E8 6EF70600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404F0C  |.  E9 A2000000   |JMP Ekd5.00404FB3
00404F11  |>  68 00090000   |PUSH 900                                ; /Arg3 = 00000900
00404F16  |.  8D95 00F0FFFF |LEA EDX,DWORD PTR SS:[EBP-1000]         ; |
00404F1C  |.  52            |PUSH EDX                                ; |Arg2
00404F1D  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404F1F  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404F21  |.  68 00400000   |PUSH 4000                               ; ||Arg1 = 00004000
00404F26  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404F2B  |.  E8 10AB0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404F30  |.  50            |PUSH EAX                                ; |Arg1
00404F31  |.  E8 C7AD0700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD
00404F36  |.  83C4 0C       |ADD ESP,0C
00404F39  |.  6A 0C         |PUSH 0C                                 ; /Arg4 = 0000000C
00404F3B  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00404F3D  |.  6A 30         |PUSH 30                                 ; |Arg2 = 00000030
00404F3F  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]         ; |
00404F45  |.  50            |PUSH EAX                                ; |Arg1
00404F46  |.  E8 75B40200   |CALL Ekd5.004303C0                      ; \Ekd5.004303C0
00404F4B  |.  83C4 10       |ADD ESP,10
00404F4E  |.  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]
00404F54  |.  51            |PUSH ECX                                ; /Arg6
00404F55  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00404F5B  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
00404F5E  |.  50            |PUSH EAX                                ; |Arg5
00404F5F  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00404F61  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00404F63  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404F69  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404F6F  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
00404F75  |.  52            |PUSH EDX                                ; |Arg2
00404F76  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404F7C  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404F82  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
00404F88  |.  51            |PUSH ECX                                ; |Arg1
00404F89  |.  E8 EEC30400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404F8E  |.  83C4 18       |ADD ESP,18
00404F91  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404F93  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00404F99  |.  33C0          |XOR EAX,EAX                             ; |
00404F9B  |.  83BA 04060000>|CMP DWORD PTR DS:[EDX+604],0            ; |
00404FA2  |.  0F95C0        |SETNE AL                                ; |
00404FA5  |.  83C0 23       |ADD EAX,23                              ; |
00404FA8  |.  50            |PUSH EAX                                ; |Arg1
00404FA9  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404FAE  |.  E8 C7F60600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A

00404FB3  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404FB5  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404FB7  |.  68 00200000   |PUSH 2000                               ; |Arg1 = 00002000
00404FBC  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404FC1  |.  E8 7AAA0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404FC6  |.  50            |PUSH EAX                                ; /Arg6
00404FC7  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404FCD  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404FCF  |.  52            |PUSH EDX                                ; |Arg5
00404FD0  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404FD2  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404FD4  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404FDA  |.  83E8 08       |SUB EAX,8                               ; |
00404FDD  |.  50            |PUSH EAX                                ; |Arg2
00404FDE  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404FE4  |.  83E9 08       |SUB ECX,8                               ; |
00404FE7  |.  51            |PUSH ECX                                ; |Arg1
00404FE8  |.  E8 8FC30400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404FED  |.  83C4 18       |ADD ESP,18
00404FF0  |.  E8 01960100   |CALL Ekd5.0041E5F6                                           第三个攻击动作 被攻击者动作也有(被攻击者图发光)
00404FF5  |.  E9 ED060000   |JMP Ekd5.004056E7

00404FFA  |>  E8 DC950100   |CALL Ekd5.0041E5DB
00404FFF  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405001  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405003  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00405005  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040500A  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
0040500F  |.  E8 2CAA0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00405014  |.  50            |PUSH EAX                                ; |Arg5
00405015  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405017  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405019  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
0040501F  |.  83EA 08       |SUB EDX,8                               ; |
00405022  |.  52            |PUSH EDX                                ; |Arg2
00405023  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00405029  |.  83E8 08       |SUB EAX,8                               ; |
0040502C  |.  50            |PUSH EAX                                ; |Arg1
0040502D  |.  E8 E1C80400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405032  |.  83C4 18       |ADD ESP,18
00405035  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405037  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405039  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040503B  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00405040  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405045  |.  E8 F6A90700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040504A  |.  50            |PUSH EAX                                ; |Arg5
0040504B  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040504D  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040504F  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00405055  |.  83E9 08       |SUB ECX,8                               ; |
00405058  |.  51            |PUSH ECX                                ; |Arg2
00405059  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
0040505F  |.  83EA 08       |SUB EDX,8                               ; |
00405062  |.  52            |PUSH EDX                                ; |Arg1
00405063  |.  E8 ABC80400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405068  |.  83C4 18       |ADD ESP,18
0040506B  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405071  |.  33C9          |XOR ECX,ECX
00405073  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00405076  |.  6BC9 24       |IMUL ECX,ECX,24
00405079  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
0040507F  |.  E8 0CDC0600   |CALL Ekd5.00472C90
00405084  |.  85C0          |TEST EAX,EAX
00405086  |.  75 27         |JNZ SHORT Ekd5.004050AF
00405088  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
0040508E  |.  33C0          |XOR EAX,EAX
00405090  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00405093  |.  50            |PUSH EAX                                ; /Arg3
00405094  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040509A  |.  51            |PUSH ECX                                ; |Arg2
0040509B  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
004050A1  |.  52            |PUSH EDX                                ; |Arg1
004050A2  |.  E8 789A0300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004050A7  |.  83C4 0C       |ADD ESP,0C
004050AA  |.  E9 36010000   |JMP Ekd5.004051E5
004050AF  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004050B5  |.  83B8 84000000>|CMP DWORD PTR DS:[EAX+84],0
004050BC  |.  75 7F         |JNZ SHORT Ekd5.0040513D
004050BE  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004050C4  |.  83B9 54020000>|CMP DWORD PTR DS:[ECX+254],0
004050CB  |.  75 70         |JNZ SHORT Ekd5.0040513D
004050CD  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004050CF  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004050D1  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
004050D6  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004050DB  |.  E8 60A90700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004050E0  |.  50            |PUSH EAX                                ; /Arg6
004050E1  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004050E7  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
004050EA  |.  50            |PUSH EAX                                ; |Arg5
004050EB  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
004050ED  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
004050EF  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004050F5  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
004050FB  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
00405101  |.  52            |PUSH EDX                                ; |Arg2
00405102  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00405108  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040510E  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
00405114  |.  51            |PUSH ECX                                ; |Arg1
00405115  |.  E8 62C20400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
0040511A  |.  83C4 18       |ADD ESP,18
0040511D  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00405123  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]
00405125  |.  50            |PUSH EAX                                ; /Arg2
00405126  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
0040512C  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
0040512F  |.  52            |PUSH EDX                                ; |Arg1
00405130  |.  E8 F4060300   |CALL Ekd5.00435829                      ; \Ekd5.00435829
00405135  |.  83C4 08       |ADD ESP,8
00405138  |.  E9 A8000000   |JMP Ekd5.004051E5
0040513D  |>  68 00090000   |PUSH 900                                ; /Arg3 = 00000900
00405142  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]         ; |
00405148  |.  50            |PUSH EAX                                ; |Arg2
00405149  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040514B  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040514D  |.  68 00400000   |PUSH 4000                               ; ||Arg1 = 00004000
00405152  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405157  |.  E8 E4A80700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040515C  |.  50            |PUSH EAX                                ; |Arg1
0040515D  |.  E8 9BAB0700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD
00405162  |.  83C4 0C       |ADD ESP,0C
00405165  |.  6A 0C         |PUSH 0C                                 ; /Arg4 = 0000000C
00405167  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405169  |.  6A 30         |PUSH 30                                 ; |Arg2 = 00000030
0040516B  |.  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]         ; |
00405171  |.  51            |PUSH ECX                                ; |Arg1
00405172  |.  E8 49B20200   |CALL Ekd5.004303C0                      ; \Ekd5.004303C0
00405177  |.  83C4 10       |ADD ESP,10
0040517A  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00405180  |.  83BA 04060000>|CMP DWORD PTR DS:[EDX+604],0
00405187  |.  74 19         |JE SHORT Ekd5.004051A2
00405189  |.  6A 04         |PUSH 4                                  ; /Arg6 = 00000004
0040518B  |.  6A 0F         |PUSH 0F                                 ; |Arg5 = 0000000F
0040518D  |.  6A 0F         |PUSH 0F                                 ; |Arg4 = 0000000F
0040518F  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405191  |.  6A 30         |PUSH 30                                 ; |Arg2 = 00000030
00405193  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]         ; |
00405199  |.  50            |PUSH EAX                                ; |Arg1
0040519A  |.  E8 9FB30200   |CALL Ekd5.0043053E                      ; \Ekd5.0043053E
0040519F  |.  83C4 18       |ADD ESP,18
004051A2  |>  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]



004051A8  |.  51            |PUSH ECX                                ; /Arg6
004051A9  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004051AF  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
004051B2  |.  50            |PUSH EAX                                ; |Arg5
004051B3  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
004051B5  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
004051B7  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004051BD  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
004051C3  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
004051C9  |.  52            |PUSH EDX                                ; |Arg2
004051CA  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004051D0  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
004051D6  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
004051DC  |.  51            |PUSH ECX                                ; |Arg1
004051DD  |.  E8 9AC10400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004051E2  |.  83C4 18       |ADD ESP,18
004051E5  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004051E7  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004051E9  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000      
004051EE  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004051F3  |.  E8 48A80700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004051F8  |.  50            |PUSH EAX                                ; /Arg6
004051F9  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004051FF  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]                ; |
00405201  |.  50            |PUSH EAX                                ; |Arg5
00405202  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405204  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405206  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
0040520C  |.  83E9 08       |SUB ECX,8                               ; |
0040520F  |.  51            |PUSH ECX                                ; |Arg2
00405210  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00405216  |.  83EA 08       |SUB EDX,8                               ; |
00405219  |.  52            |PUSH EDX                                ; |Arg1
0040521A  |.  E8 5DC10400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
0040521F  |.  83C4 18       |ADD ESP,18
00405222  |.  E8 CF930100   |CALL Ekd5.0041E5F6                                                第四个攻击动作
00405227  |.  E9 BB040000   |JMP Ekd5.004056E7

0040522C  |>  E8 AA930100   |CALL Ekd5.0041E5DB
00405231  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405233  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405235  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00405237  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040523C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405241  |.  E8 FAA70700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00405246  |.  50            |PUSH EAX                                ; |Arg5
00405247  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405249  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040524B  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00405251  |.  83E8 08       |SUB EAX,8                               ; |
00405254  |.  50            |PUSH EAX                                ; |Arg2
00405255  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040525B  |.  83E9 08       |SUB ECX,8                               ; |
0040525E  |.  51            |PUSH ECX                                ; |Arg1
0040525F  |.  E8 AFC60400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405264  |.  83C4 18       |ADD ESP,18
00405267  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405269  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040526B  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040526D  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00405272  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405277  |.  E8 C4A70700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040527C  |.  50            |PUSH EAX                                ; |Arg5
0040527D  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040527F  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405281  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00405287  |.  83EA 08       |SUB EDX,8                               ; |
0040528A  |.  52            |PUSH EDX                                ; |Arg2
0040528B  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
00405291  |.  83E8 08       |SUB EAX,8                               ; |
00405294  |.  50            |PUSH EAX                                ; |Arg1
00405295  |.  E8 79C60400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
0040529A  |.  83C4 18       |ADD ESP,18
0040529D  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004052A3  |.  33D2          |XOR EDX,EDX
004052A5  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
004052A8  |.  8BCA          |MOV ECX,EDX
004052AA  |.  6BC9 24       |IMUL ECX,ECX,24
004052AD  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
004052B3  |.  E8 D8D90600   |CALL Ekd5.00472C90
004052B8  |.  85C0          |TEST EAX,EAX
004052BA  |.  75 24         |JNZ SHORT Ekd5.004052E0
004052BC  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004052C2  |.  33C9          |XOR ECX,ECX
004052C4  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
004052C7  |.  51            |PUSH ECX                                ; /Arg3
004052C8  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
004052CE  |.  52            |PUSH EDX                                ; |Arg2
004052CF  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
004052D5  |.  50            |PUSH EAX                                ; |Arg1
004052D6  |.  E8 44980300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004052DB  |.  83C4 0C       |ADD ESP,0C
004052DE  |.  EB 38         |JMP SHORT Ekd5.00405318

004052E0  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004052E2  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004052E4  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
004052E9  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004052EE  |.  E8 4DA70700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004052F3  |.  50            |PUSH EAX                                ; /Arg6
004052F4  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004052FA  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
004052FD  |.  52            |PUSH EDX                                ; |Arg5
004052FE  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00405300  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405302  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00405308  |.  50            |PUSH EAX                                ; |Arg2
00405309  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040530F  |.  51            |PUSH ECX                                ; |Arg1
00405310  |.  E8 67C00400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00405315  |.  83C4 18       |ADD ESP,18
00405318  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040531A  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040531C  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000
00405321  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00405326  |.  E8 15A70700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
0040532B  |.  50            |PUSH EAX                                ; /Arg6
0040532C  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00405332  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]                ; |
00405334  |.  50            |PUSH EAX                                ; |Arg5
00405335  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405337  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405339  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
0040533F  |.  83E9 08       |SUB ECX,8                               ; |
00405342  |.  51            |PUSH ECX                                ; |Arg2
00405343  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00405349  |.  83EA 08       |SUB EDX,8                               ; |
0040534C  |.  52            |PUSH EDX                                ; |Arg1
0040534D  |.  E8 2AC00400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00405352  |.  83C4 18       |ADD ESP,18
00405355  |.  E8 9C920100   |CALL Ekd5.0041E5F6                                                被攻击者动作  (发光没了)
0040535A  |.  E9 88030000   |JMP Ekd5.004056E7

0040535F  |>  E8 77920100   |CALL Ekd5.0041E5DB
00405364  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405366  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405368  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040536A  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040536F  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405374  |.  E8 C7A60700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00405379  |.  50            |PUSH EAX                                ; |Arg5
0040537A  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040537C  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040537E  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00405384  |.  83E8 08       |SUB EAX,8                               ; |
00405387  |.  50            |PUSH EAX                                ; |Arg2
00405388  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040538E  |.  83E9 08       |SUB ECX,8                               ; |
00405391  |.  51            |PUSH ECX                                ; |Arg1
00405392  |.  E8 7CC50400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405397  |.  83C4 18       |ADD ESP,18
0040539A  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
0040539C  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040539E  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
004053A0  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
004053A5  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
004053AA  |.  E8 91A60700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
004053AF  |.  50            |PUSH EAX                                ; |Arg5
004053B0  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004053B2  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004053B4  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004053BA  |.  83EA 08       |SUB EDX,8                               ; |
004053BD  |.  52            |PUSH EDX                                ; |Arg2
004053BE  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004053C4  |.  83E8 08       |SUB EAX,8                               ; |
004053C7  |.  50            |PUSH EAX                                ; |Arg1
004053C8  |.  E8 46C50400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
004053CD  |.  83C4 18       |ADD ESP,18
004053D0  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004053D6  |.  33D2          |XOR EDX,EDX
004053D8  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
004053DB  |.  8BCA          |MOV ECX,EDX
004053DD  |.  6BC9 24       |IMUL ECX,ECX,24
004053E0  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
004053E6  |.  E8 A5D80600   |CALL Ekd5.00472C90
004053EB  |.  85C0          |TEST EAX,EAX
004053ED  |.  75 64         |JNZ SHORT Ekd5.00405453
004053EF  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004053F5  |.  33C9          |XOR ECX,ECX
004053F7  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
004053FA  |.  51            |PUSH ECX                                ; /Arg3
004053FB  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00405401  |.  52            |PUSH EDX                                ; |Arg2
00405402  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00405408  |.  50            |PUSH EAX                                ; |Arg1
00405409  |.  E8 11970300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
0040540E  |.  83C4 0C       |ADD ESP,0C
00405411  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00405413  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00405415  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000
0040541A  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
0040541F  |.  E8 1CA60700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00405424  |.  50            |PUSH EAX                                ; /Arg6
00405425  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
0040542B  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
0040542D  |.  52            |PUSH EDX                                ; |Arg5
0040542E  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405430  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405432  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00405438  |.  83E8 08       |SUB EAX,8                               ; |
0040543B  |.  50            |PUSH EAX                                ; |Arg2
0040543C  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00405442  |.  83E9 08       |SUB ECX,8                               ; |
00405445  |.  51            |PUSH ECX                                ; |Arg1
00405446  |.  E8 31BF0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
0040544B  |.  83C4 18       |ADD ESP,18
0040544E  |.  E9 DB000000   |JMP Ekd5.0040552E
00405453  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00405455  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00405457  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
0040545C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00405461  |.  E8 DAA50700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00405466  |.  50            |PUSH EAX                                ; /Arg6
00405467  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
0040546D  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
00405470  |.  50            |PUSH EAX                                ; |Arg5
00405471  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00405473  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405475  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040547B  |.  51            |PUSH ECX                                ; |Arg2
0040547C  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00405482  |.  52            |PUSH EDX                                ; |Arg1
00405483  |.  E8 F4BE0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00405488  |.  83C4 18       |ADD ESP,18
0040548B  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040548D  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040548F  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000
00405494  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00405499  |.  E8 A2A50700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
0040549E  |.  50            |PUSH EAX                                ; /Arg6
0040549F  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004054A5  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
004054A7  |.  51            |PUSH ECX                                ; |Arg5
004054A8  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004054AA  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004054AC  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004054B2  |.  83EA 08       |SUB EDX,8                               ; |
004054B5  |.  52            |PUSH EDX                                ; |Arg2
004054B6  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004054BC  |.  83E8 08       |SUB EAX,8                               ; |
004054BF  |.  50            |PUSH EAX                                ; |Arg1
004054C0  |.  E8 B7BE0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004054C5  |.  83C4 18       |ADD ESP,18
004054C8  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004054CE  |.  83B9 84000000>|CMP DWORD PTR DS:[ECX+84],0
004054D5  |.  74 25         |JE SHORT Ekd5.004054FC
004054D7  |.  6A 18         |PUSH 18                                 ; /Arg4 = 00000018
004054D9  |.  6A 12         |PUSH 12                                 ; |Arg3 = 00000012
004054DB  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004054E1  |.  8B82 84000000 |MOV EAX,DWORD PTR DS:[EDX+84]           ; |
004054E7  |.  50            |PUSH EAX                                ; |Arg2
004054E8  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004054EE  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
004054F1  |.  52            |PUSH EDX                                ; |Arg1
004054F2  |.  E8 FAA50400   |CALL Ekd5.0044FAF1                      ; \Ekd5.0044FAF1
004054F7  |.  83C4 10       |ADD ESP,10
004054FA  |.  EB 32         |JMP SHORT Ekd5.0040552E
004054FC  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405502  |.  83B8 54020000>|CMP DWORD PTR DS:[EAX+254],0
00405509  |.  74 23         |JE SHORT Ekd5.0040552E
0040550B  |.  6A 18         |PUSH 18                                 ; /Arg4 = 00000018
0040550D  |.  6A 45         |PUSH 45                                 ; |Arg3 = 00000045
0040550F  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00405515  |.  8B91 54020000 |MOV EDX,DWORD PTR DS:[ECX+254]          ; |
0040551B  |.  52            |PUSH EDX                                ; |Arg2
0040551C  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00405522  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]              ; |
00405525  |.  51            |PUSH ECX                                ; |Arg1
00405526  |.  E8 C6A50400   |CALL Ekd5.0044FAF1                      ; \Ekd5.0044FAF1
0040552B  |.  83C4 10       |ADD ESP,10
0040552E  |>  E8 C3900100   |CALL Ekd5.0041E5F6                                        显示伤害点数
00405533  |.  8B95 F0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1010]
00405539  |.  52            |PUSH EDX                                ; /Arg1
0040553A  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00405540  |.  E8 41ECFFFF   |CALL Ekd5.00404186                      ; \Ekd5.00404186
00405545  |.  E9 9D010000   |JMP Ekd5.004056E7

0040554A  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405550  |.  8B88 84000000 |MOV ECX,DWORD PTR DS:[EAX+84]
00405556  |.  51            |PUSH ECX
00405557  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
0040555D  |.  33C0          |XOR EAX,EAX
0040555F  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00405562  |.  8BC8          |MOV ECX,EAX
00405564  |.  6BC9 24       |IMUL ECX,ECX,24
00405567  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
0040556D  |.  E8 1ED70600   |CALL Ekd5.00472C90
00405572  |.  50            |PUSH EAX                                ; |Arg1
00405573  |.  E8 26A50700   |CALL Ekd5.0047FA9E                      ; \Ekd5.0047FA9E
00405578  |.  83C4 08       |ADD ESP,8
0040557B  |.  8BF0          |MOV ESI,EAX
0040557D  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
00405583  |.  33D2          |XOR EDX,EDX
00405585  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
00405588  |.  8BCA          |MOV ECX,EDX
0040558A  |.  6BC9 24       |IMUL ECX,ECX,24
0040558D  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
00405593  |.  E8 D8A00500   |CALL Ekd5.0045F670
00405598  |.  8BC8          |MOV ECX,EAX
0040559A  |.  6BC9 48       |IMUL ECX,ECX,48
0040559D  |.  81C1 0000D600 |ADD ECX,0D60000
004055A3  |.  E8 731C0000   |CALL Ekd5.0040721B
004055A8  |.  33D2          |XOR EDX,EDX
004055AA  |.  B9 05000000   |MOV ECX,5
004055AF  |.  F7F1          |DIV ECX
004055B1  |.  3BF0          |CMP ESI,EAX
004055B3  |.  73 1D         |JNB SHORT Ekd5.004055D2
004055B5  |.  6A 20         |PUSH 20                                 ; /Arg1 = 00000020
004055B7  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004055BD  |.  33C0          |XOR EAX,EAX                             ; |
004055BF  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
004055C2  |.  8BC8          |MOV ECX,EAX                             ; |
004055C4  |.  6BC9 24       |IMUL ECX,ECX,24                         ; |
004055C7  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50                   ; |
004055CD  |.  E8 46D10300   |CALL Ekd5.00442718                      ; \Ekd5.00442718
004055D2  |>  E8 04900100   |CALL Ekd5.0041E5DB
004055D7  |.  8B8D FCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1004]
004055DD  |.  51            |PUSH ECX                                ; /Arg2
004055DE  |.  8B95 F8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1008]         ; |
004055E4  |.  52            |PUSH EDX                                ; |Arg1
004055E5  |.  E8 0FE1FFFF   |CALL Ekd5.004036F9                      ; \Ekd5.004036F9
004055EA  |.  83C4 08       |ADD ESP,8
004055ED  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004055EF  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004055F1  |.  68 00590000   |PUSH 5900                               ; |Arg1 = 00005900
004055F6  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004055FB  |.  E8 40A40700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00405600  |.  50            |PUSH EAX                                ; /Arg5
00405601  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405603  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405605  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
0040560B  |.  83E8 08       |SUB EAX,8                               ; |
0040560E  |.  50            |PUSH EAX                                ; |Arg2
0040560F  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00405615  |.  83E9 08       |SUB ECX,8                               ; |
00405618  |.  51            |PUSH ECX                                ; |Arg1
00405619  |.  E8 C8C30400   |CALL Ekd5.004519E6                      ; \Ekd5.004519E6
0040561E  |.  83C4 14       |ADD ESP,14

00405621  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405623  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405625  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00405627  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040562C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405631  |.  E8 0AA40700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00405636  |.  50            |PUSH EAX                                ; |Arg5
00405637  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405639  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040563B  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00405641  |.  83EA 08       |SUB EDX,8                               ; |
00405644  |.  52            |PUSH EDX                                ; |Arg2
00405645  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
0040564B  |.  83E8 08       |SUB EAX,8                               ; |
0040564E  |.  50            |PUSH EAX                                ; |Arg1
0040564F  |.  E8 BFC20400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405654  |.  83C4 18       |ADD ESP,18

00405657  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405659  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040565B  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040565D  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00405662  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405667  |.  E8 D4A30700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

0040566C  |.  50            |PUSH EAX                                ; |Arg5
0040566D  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040566F  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405671  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00405677  |.  83E9 08       |SUB ECX,8                               ; |
0040567A  |.  51            |PUSH ECX                                ; |Arg2
0040567B  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00405681  |.  83EA 08       |SUB EDX,8                               ; |
00405684  |.  52            |PUSH EDX                                ; |Arg1
00405685  |.  E8 89C20400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
0040568A  |.  83C4 18       |ADD ESP,18

0040568D  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405693  |.  33C9          |XOR ECX,ECX
00405695  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00405698  |.  51            |PUSH ECX                                ; /Arg3
00405699  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
0040569F  |.  52            |PUSH EDX                                ; |Arg2
004056A0  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
004056A6  |.  50            |PUSH EAX                                ; |Arg1
004056A7  |.  E8 73940300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004056AC  |.  83C4 0C       |ADD ESP,0C

004056AF  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004056B5  |.  33D2          |XOR EDX,EDX
004056B7  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]
004056B9  |.  52            |PUSH EDX                                ; /Arg3
004056BA  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
004056C0  |.  50            |PUSH EAX                                ; |Arg2
004056C1  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
004056C7  |.  51            |PUSH ECX                                ; |Arg1
004056C8  |.  E8 52940300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004056CD  |.  83C4 0C       |ADD ESP,0C
004056D0  |.  E8 218F0100   |CALL Ekd5.0041E5F6                                                回复正常  (攻击者和被攻击)
004056D5  |.  8B95 F0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1010]
004056DB  |.  52            |PUSH EDX                                ; /Arg1
004056DC  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004056E2  |.  E8 9FEAFFFF   |CALL Ekd5.00404186                      ; \Ekd5.00404186
004056E7  |>  6A 01         |PUSH 1                                  ; /Arg1 = 00000001   多数返回点
004056E9  |.  B9 181B4B00   |MOV ECX,Ekd5.004B1B18                   ; |
004056EE  |.  E8 4DDCFFFF   |CALL Ekd5.00403340                      ; \Ekd5.00403340
004056F3  |.  E8 E86D0200   |CALL Ekd5.0042C4E0
004056F8  |.^ E9 23EFFFFF   \JMP Ekd5.00404620

004056FD  |>  5E            POP ESI
004056FE  |.  8BE5          MOV ESP,EBP
00405700  |.  5D            POP EBP
00405701  \.  C3            RETN

以上这个函数实在是太长了,而核心处也就是攻击动作的那个部分。四针图的出现顺序和被攻击图的迭代更替,由于曾经分析过想改成八针图,所以这段代码也分析过,下面看看用类C分析的结果吧,看上面这段反汇编实在太累了。

void攻击画面函数 ()
{
        dispose
        for (int i=0;i<=27;i++)
        {
                j=i;
                if (j<=25)
                {
                        switch(a)
                        {
                                case :        0  //0040466A  
                               (调整了攻击和被攻击者的对应方向,如果方向本身没有问题,则被攻击者会按原方向换一个MOV图,
                                  之前分析的上一层函数是攻击武将的朝向)
                                Call 004036F9([EBP-1014],[EBp-100C])
                                Call 004036F9([EBP-1004],[EBp-1008])
                                Call 0047FA40(4900,0,4)
                                Call 004519E6(([EBP-1024]-8),[EBP-1028]-8,40,40,0047FA40的返回值)
                                Call 0047FA40(5900,0,4)
                                Call 004519E6([EBP-102C]-8,[EBP-1030]-8,40,40,0047FA40的返回值)
                                CALL Ekd5.00406730
                                Call 47FA40(5900,0,4)
                                Call 451913([EBP-102C]-8,[EBP-1030]-8,40,40,0047FA40的返回值,0)
                                Call 47FA40(5900,0,4)
                                Call 451913([EBP-1024]-8,[EBP-1028]-8,40,40,0047FA40的返回值,0)
                                CALL Ekd5.0043EB1F ([EBP-102C],[EBP-1030],EDX)
                                CALL Ekd5.0043E515

                                CALL Ekd5.0047FA40
                                CALL Ekd5.0045137C
                                CALL Ekd5.0041E5F6
                                break;
        
                               case :        1 //00404808         
                                攻击者第一个动作
                                //Call 0041E5DB
                                
                                //Call 0047FA40(5900,0,4)
                                //Call 00451913
                                ([EBP-102C]-8,[EBP-1030]-8,40,40,EAX(0047FA40的返回值),0)
                                (有两个参数是40,40代表图片的宽和高)
                                
                                //Call 0047FA40(4900,0,4)
                                //Call 00451913
                                ([EBP-1024]-8,[EBP-1028]-8,40,40,EAX(0047FA40的返回值),0)
                                
                                //Call 0043EB1F
                                ([EBP-102C],[EBP-1030],EAX)

                                //Call 0047FA40  (0,0,4)
                                //Call 0045137C ([EBP-1024],[EBP-1028],40,40,ECX,(0047FA40的返回值)
                                //Call 0041E5F6  画图

                                if(CALL 004400A2)-----------------------------------//004400E1)
                                {
                                        Call 0047467A(0x22,1)    正常的步兵攻击
                                }
                                else
                                {
                                        if(call 004400A2)
                                        {
                                                Call 0047467A(0x25,1)     弓兵,弓骑兵类的攻击
                                        }
                                        else
                                        {
                                                Call 0047467A(0x20,1)     暴击
                                        }
                                }
                        
                                break;
               
                                case :        2 //00404931
                                被攻击者有动作
                                (换了一个MOV图)
                                //Call 0041E5DB
                                        //Call 00406730
                                //Call 0047FA40
                                //Call 00451913
                                //Call 0047FA40
                                //Call 00451913
                                //Call 0043EB1F
                                        //Call 00440009
                                //
                                break;
        
                                case :        3 //00404cbc  
                                攻击者第二个攻击动作
                                //Call 0041E5DB
                                
                                //Call 0047FA40(5900,0,4)
                                //Call 00451913
                                ([EBP-102C]-8,[EBP-1030]-8,40,40,EAX(0047FA40的返回值),0)
                                
                                //Call 0047FA40(4900,0,4)
                                //Call 00451913
                                ([EBP-1024]-8,[EBP-1028]-8,40,40,EAX(0047FA40的返回值),0)
                                
                                
                                //Call 0043EB1F
                                ([EBP-102C],[EBP-1030],EDX)
                                
                                //Call 0047FA40(1000,0,4)
                                /*00404D63  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
                                   00404D69  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
                                   00404D6B  |.  52            |PUSH EDX                                ; |Arg5
                                */
                                //Call 0045137C([EBP-1024],[EBP-1028],40,40,EDX,(0047FA40的返回值)
                                //Call 0041E5F6  画图
                                break;
                        
                               case :        4 //00404d96
                                攻击者第三个攻击动作
                                被攻击者被攻击且发光动作(或者是格档)
                                //Call 0041E5DB
                                //Call 0047FA40
                                //Call 00451913(40*40)
                                //Call 0047FA40
                                //Call 00451913
                                if(Call 00472C90  当前ecx武将体力)
                                {
                                        if(变量1!=0||变量2!=0)
                                        {
                                                CALL 0047FA40(4000,0,4)
                                                Call 0047FCFD
                                                Call 004303C0
                                                CALL 0045137C(30*30)
                                                CALL 0047467A
                                        }
                                        else
                                        {
                                                Call 0047FA40(4000,0,4)
                                                Call 0045137C
                                                Call 00435829  
                                                Call 0047467A
                                        }
                                       
                                }
                                else        
                                {
                                        CALL Ekd5.0043EB1F
                                        CALL Ekd5.0047467A
                                }
                                CALL 0047FA40(2000,0,4)
                                Call 0045137C(40*40)
                                Call 0041E5F6   //画图
                                break;
        
                                case :         5 //00404FFA  
                                攻击者第四个攻击动作
                                //Call 0041E5DB                                
                                //Call 0047FA40
                                //Call 00451913
                                //Call 0047FA40
                                //Call 00451913
                                if(Call 00472C90)
                                {
                                        if (变量1!=0||变量2!=0)
                                        {
                                                //Call 0047FA40 (4000,0,4)
                                                //Call 0047FCFD
                                                //Call 004303C0
                                                if (变量3==0)
                                                {
                                                        //Call 0045137C (图的大小是30*30)
                                                }
                                                else
                                                {
                                                        //Call 0043053E
                                                }        
                                        }
                                        else
                                        {
                                                //Call 0047FA40  (4000,0,4)
                                                //Call 0045137C  (图的大小是30*30)
                                                //Call 00435829
                                        }
                                }
                                else
                                {
                                        //Call 0043EB1F
                                }
                                //Call 0047FA40  (3000,0,4)
                                //Call 0045137C
                                //Call 0041E5F6
                                                        
                                break;

                               case :        6 //0040522C  
                                被攻击者不发光(或者格档后回复正常)
                                break;
        
                                case :        7 //0040535F
                                显示伤害点数
                                break;
               
                                case :        8 //0040554A
                                回复正常(攻击者和被攻击者都回复正常)
                                break;
        
                                default:
                        }
        
                }
                //调用了两个函数
                //A(1);
                //B();
        }
        return;
}


在第一个攻击动作的时候,我们看到还调用了另外一个对我们修改比较有意义的函数,004400A2  ,我们知道,弓兵,弓骑兵的攻击有变慢的一下,道理就在这。



0043C7DF  |.  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]
0043C7E2  |.  E8 A9C4FDFF        CALL WaGan.00418C90
0043C7E7  |.  25 FF000000        AND EAX,0FF
0043C7EC  |.  83F8 02            CMP EAX,2
0043C7EF  |.  74 05              JE SHORT WaGan.0043C7F6
0043C7F1  |.  E9 7B010000        JMP WaGan.0043C971
0043C7F6  |>  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]
0043C7F9  |.  E8 3218FEFF        CALL WaGan.0041E030
0043C7FE  |.  25 FF000000        AND EAX,0FF
0043C803  |.  85C0               TEST EAX,EAX
0043C805  |.  90                 NOP
0043C806  |.  90                 NOP
0043C807  |.  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]
0043C80A  |.  E8 F9080000        CALL WaGan.0043D108                                判断兵种是否合适                        内带转圈
0043C80F  |.  85C0               TEST EAX,EAX
0043C811  |.  74 1E              JE SHORT WaGan.0043C831
0043C813  |.  6A 01              PUSH 1                                   ; /Arg4 = 00000001
0043C815  |.  68 9E000000        PUSH 9E                                  ; |Arg3 = 0000009E
0043C81A  |.  6A 04              PUSH 4                                   ; |Arg2 = 00000004                        使用的魔法种类
0043C81C  |.  8B45 F8            MOV EAX,DWORD PTR SS:[EBP-8]             ; |
0043C81F  |.  8B08               MOV ECX,DWORD PTR DS:[EAX]               ; |
0043C821  |.  51                 PUSH ECX                                 ; |Arg1
0043C822  |.  B9 F05D4B00        MOV ECX,WaGan.004B5DF0                   ; |
0043C827  |.  E8 30E20100        CALL WaGan.0045AA5C                      ; \WaGan.0045AA5C
0043C82C  |.  E9 40010000        JMP WaGan.0043C971
0043C831  |>  6A 01              PUSH 1                                   ; /Arg1 = 00000001
0043C833  |.  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]             ; |



43D108函数:

0043D225  |.  83F8 10            |CMP EAX,10                判断兵种
0043D228  |.  0F85 D2020000      |JNZ WaGan.0043D500
0043D22E  |.  8B4D F0            |MOV ECX,DWORD PTR SS:[EBP-10]
0043D231  |.  E8 DA94FCFF        |CALL WaGan.00406710
0043D236  |.  8BF0               |MOV ESI,EAX
0043D238  |.  8B8D B0FEFFFF      |MOV ECX,DWORD PTR SS:[EBP-150]
0043D23E  |.  E8 CD94FCFF        |CALL WaGan.00406710
0043D243  |.  3BF0               |CMP ESI,EAX
0043D245  |.  0F85 B5020000      |JNZ WaGan.0043D500
0043D24B  |.  8B4D F0            |MOV ECX,DWORD PTR SS:[EBP-10]
0043D24E  |.  E8 3DBAFDFF        |CALL WaGan.00418C90
0043D253  |.  25 FF000000        |AND EAX,0FF
0043D258  |.  83F8 02            |CMP EAX,2
0043D25B  |.  0F85 9F020000      |JNZ WaGan.0043D500
0043D261  |.  68 D0BB4800        |PUSH WaGan.0048BBD0                     ; /Arg1 = 0048BBD0 ASCII "SSWA"
0043D266  |.  8D8D ECFEFFFF      |LEA ECX,DWORD PTR SS:[EBP-114]          ; |
0043D26C  |.  E8 C428FEFF        |CALL WaGan.0041FB35                     ; \WaGan.0041FB35
0043D271  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D273  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D275  |.  68 00690000        |PUSH 6900                               ; |Arg1 = 00006900
0043D27A  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D27F  |.  E8 BC270400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D284  |.  50                 |PUSH EAX
0043D285  |.  8B4D F0            |MOV ECX,DWORD PTR SS:[EBP-10]
0043D288  |.  E8 23F0FDFF        |CALL WaGan.0041C2B0
0043D28D  |.  25 FF000000        |AND EAX,0FF                             ; |
0043D292  |.  50                 |PUSH EAX                                ; |/Arg1
0043D293  |.  8B4D F0            |MOV ECX,DWORD PTR SS:[EBP-10]           ; ||
0043D296  |.  E8 AD290000        |CALL WaGan.0043FC48                     ; |\WaGan.0043FC48
0043D29B  |.  25 FF000000        |AND EAX,0FF                             ; |
0043D2A0  |.  50                 |PUSH EAX                                ; |Arg1
0043D2A1  |.  8D8D ECFEFFFF      |LEA ECX,DWORD PTR SS:[EBP-114]          ; |
0043D2A7  |.  E8 DD29FEFF        |CALL WaGan.0041FC89                     ; \WaGan.0041FC89
0043D2AC  |.  8D8D ECFEFFFF      |LEA ECX,DWORD PTR SS:[EBP-114]
0043D2B2  |.  E8 0EC0FDFF        |CALL WaGan.004192C5
0043D2B7  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D2B9  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D2BB  |.  6A 00              |PUSH 0                                  ; |Arg1 = 00000000
0043D2BD  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D2C2  |.  E8 79270400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D2C7  |.  8985 D0FEFFFF      |MOV DWORD PTR SS:[EBP-130],EAX
0043D2CD  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D2CF  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D2D1  |.  68 00690000        |PUSH 6900                               ; |Arg1 = 00006900
0043D2D6  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D2DB  |.  E8 60270400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D2E0  |.  8985 E4FEFFFF      |MOV DWORD PTR SS:[EBP-11C],EAX
0043D2E6  |.  68 00090000        |PUSH 900                                ; /Arg3 = 00000900
0043D2EB  |.  8B95 D0FEFFFF      |MOV EDX,DWORD PTR SS:[EBP-130]          ; |
0043D2F1  |.  52                 |PUSH EDX                                ; |Arg2
0043D2F2  |.  8B85 E4FEFFFF      |MOV EAX,DWORD PTR SS:[EBP-11C]          ; |
0043D2F8  |.  50                 |PUSH EAX                                ; |Arg1
0043D2F9  |.  E8 FF290400        |CALL WaGan.0047FCFD                     ; \WaGan.0047FCFD
0043D2FE  |.  83C4 0C            |ADD ESP,0C
0043D301  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D303  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D305  |.  68 00100000        |PUSH 1000                               ; |Arg1 = 00001000
0043D30A  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D30F  |.  E8 2C270400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D314  |.  8985 D0FEFFFF      |MOV DWORD PTR SS:[EBP-130],EAX
0043D31A  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D31C  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D31E  |.  68 007B0000        |PUSH 7B00                               ; |Arg1 = 00007B00
0043D323  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D328  |.  E8 13270400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D32D  |.  8985 E4FEFFFF      |MOV DWORD PTR SS:[EBP-11C],EAX
0043D333  |.  68 00090000        |PUSH 900                                ; /Arg3 = 00000900
0043D338  |.  8B8D D0FEFFFF      |MOV ECX,DWORD PTR SS:[EBP-130]          ; |
0043D33E  |.  51                 |PUSH ECX                                ; |Arg2
0043D33F  |.  8B95 E4FEFFFF      |MOV EDX,DWORD PTR SS:[EBP-11C]          ; |
0043D345  |.  52                 |PUSH EDX                                ; |Arg1
0043D346  |.  E8 B2290400        |CALL WaGan.0047FCFD                     ; \WaGan.0047FCFD
0043D34B  |.  83C4 0C            |ADD ESP,0C
0043D34E  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D350  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D352  |.  68 00200000        |PUSH 2000                               ; |Arg1 = 00002000
0043D357  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D35C  |.  E8 DF260400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D361  |.  8985 D0FEFFFF      |MOV DWORD PTR SS:[EBP-130],EAX
0043D367  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D369  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D36B  |.  68 00720000        |PUSH 7200                               ; |Arg1 = 00007200
0043D370  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D375  |.  E8 C6260400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D37A  |.  8985 E4FEFFFF      |MOV DWORD PTR SS:[EBP-11C],EAX
0043D380  |.  68 00090000        |PUSH 900                                ; /Arg3 = 00000900
0043D385  |.  8B85 D0FEFFFF      |MOV EAX,DWORD PTR SS:[EBP-130]          ; |
0043D38B  |.  50                 |PUSH EAX                                ; |Arg2
0043D38C  |.  8B8D E4FEFFFF      |MOV ECX,DWORD PTR SS:[EBP-11C]          ; |
0043D392  |.  51                 |PUSH ECX                                ; |Arg1
0043D393  |.  E8 65290400        |CALL WaGan.0047FCFD                     ; \WaGan.0047FCFD
0043D398  |.  83C4 0C            |ADD ESP,0C
0043D39B  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D39D  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D39F  |.  68 00300000        |PUSH 3000                               ; |Arg1 = 00003000
0043D3A4  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D3A9  |.  E8 92260400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D3AE  |.  8985 D0FEFFFF      |MOV DWORD PTR SS:[EBP-130],EAX
0043D3B4  |.  6A 04              |PUSH 4                                  ; /Arg3 = 00000004
0043D3B6  |.  6A 00              |PUSH 0                                  ; |Arg2 = 00000000
0043D3B8  |.  68 007B0000        |PUSH 7B00                               ; |Arg1 = 00007B00
0043D3BD  |.  B9 C8E44A00        |MOV ECX,WaGan.004AE4C8                  ; |
0043D3C2  |.  E8 79260400        |CALL WaGan.0047FA40                     ; \WaGan.0047FA40
0043D3C7  |.  8985 E4FEFFFF      |MOV DWORD PTR SS:[EBP-11C],EAX
0043D3CD  |.  8B95 D0FEFFFF      |MOV EDX,DWORD PTR SS:[EBP-130]
0043D3D3  |.  52                 |PUSH EDX                                ; /Arg4
0043D3D4  |.  8B85 E4FEFFFF      |MOV EAX,DWORD PTR SS:[EBP-11C]          ; |
0043D3DA  |.  50                 |PUSH EAX                                ; |Arg3
0043D3DB  |.  6A 30              |PUSH 30                                 ; |Arg2 = 00000030
0043D3DD  |.  6A 30              |PUSH 30                                 ; |Arg1 = 00000030
0043D3DF  |.  E8 6F1AFEFF        |CALL WaGan.0041EE53                     ; \WaGan.0041EE53
0043D3E4  |.  83C4 10            |ADD ESP,10
0043D3E7  |.  8A8D E9FEFFFF      |MOV CL,BYTE PTR SS:[EBP-117]
0043D3ED  |.  51                 |PUSH ECX                                ; /Arg2
0043D3EE  |.  8A95 E8FEFFFF      |MOV DL,BYTE PTR SS:[EBP-118]            ; |
0043D3F4  |.  52                 |PUSH EDX                                ; |Arg1
0043D3F5  |.  B9 50424B00        |MOV ECX,WaGan.004B4250                  ; |
0043D3FA  |.  E8 407C0100        |CALL WaGan.0045503F                     ; \WaGan.0045503F
0043D3FF  |.  66:8B85 E8FEFFFF   |MOV AX,WORD PTR SS:[EBP-118]
0043D406  |.  50                 |PUSH EAX                                ; /Arg1
0043D407  |.  E8 72260100        |CALL WaGan.0044FA7E                     ; \WaGan.0044FA7E
0043D40C  |.  83C4 04            |ADD ESP,4
0043D40F  |.  8985 B8FEFFFF      |MOV DWORD PTR SS:[EBP-148],EAX
0043D415  |.  8995 BCFEFFFF      |MOV DWORD PTR SS:[EBP-144],EDX
0043D41B  |.  8B8D B8FEFFFF      |MOV ECX,DWORD PTR SS:[EBP-148]
0043D421  |.  898D C0FEFFFF      |MOV DWORD PTR SS:[EBP-140],ECX
0043D427  |.  8B95 BCFEFFFF      |MOV EDX,DWORD PTR SS:[EBP-144]
0043D42D  |.  8995 C4FEFFFF      |MOV DWORD PTR SS:[EBP-13C],EDX
0043D433  |.  66:8B85 E8FEFFFF   |MOV AX,WORD PTR SS:[EBP-118]
0043D43A  |.  50                 |PUSH EAX                                ; /Arg2
0043D43B  |.  8D8D C8FEFFFF      |LEA ECX,DWORD PTR SS:[EBP-138]          ; |
0043D441  |.  51                 |PUSH ECX                                ; |Arg1
0043D442  |.  E8 D8250100        |CALL WaGan.0044FA1F                     ; \WaGan.0044FA1F
0043D447  |.  83C4 08            |ADD ESP,8
0043D44A  |.  C785 D4FEFFFF 0000>|MOV DWORD PTR SS:[EBP-12C],0                转圈的代码
0043D454  |.  EB 0F              |JMP SHORT WaGan.0043D465
0043D456  |>  8B95 D4FEFFFF      |/MOV EDX,DWORD PTR SS:[EBP-12C]
0043D45C  |.  83C2 01            ||ADD EDX,1
0043D45F  |.  8995 D4FEFFFF      ||MOV DWORD PTR SS:[EBP-12C],EDX
0043D465  |>  83BD D4FEFFFF 04   | CMP DWORD PTR SS:[EBP-12C],4
0043D46C  |.  0F87 84000000      ||JA WaGan.0043D4F6
0043D472  |.  E8 6411FEFF        ||CALL WaGan.0041E5DB
0043D477  |.  8B85 C9FEFFFF      ||MOV EAX,DWORD PTR SS:[EBP-137]
0043D47D  |.  25 FF000000        ||AND EAX,0FF
0043D482  |.  50                 ||PUSH EAX                               ; /Arg2
0043D483  |.  8B8D C8FEFFFF      ||MOV ECX,DWORD PTR SS:[EBP-138]         ; |
0043D489  |.  81E1 FF000000      ||AND ECX,0FF                            ; |
0043D48F  |.  51                 ||PUSH ECX                               ; |Arg1
0043D490  |.  E8 6462FCFF        ||CALL WaGan.004036F9                    ; \WaGan.004036F9
0043D495  |.  83C4 08            ||ADD ESP,8
0043D498  |.  6A 04              ||PUSH 4                                 ; /Arg3 = 00000004
0043D49A  |.  6A 00              ||PUSH 0                                 ; |Arg2 = 00000000
0043D49C  |.  8B85 D4FEFFFF      ||MOV EAX,DWORD PTR SS:[EBP-12C]         ; |
0043D4A2  |.  33D2               ||XOR EDX,EDX                            ; |
0043D4A4  |.  B9 04000000        ||MOV ECX,4                              ; |
0043D4A9  |.  F7F1               ||DIV ECX                                ; |
0043D4AB  |.  C1E2 0C            ||SHL EDX,0C                             ; |
0043D4AE  |.  52                 ||PUSH EDX                               ; |Arg1
0043D4AF  |.  B9 C8E44A00        ||MOV ECX,WaGan.004AE4C8                 ; |
0043D4B4  |.  E8 87250400        ||CALL WaGan.0047FA40                    ; \WaGan.0047FA40
0043D4B9  |.  50                 ||PUSH EAX                               ; /Arg6
0043D4BA  |.  8A95 DCFEFFFF      ||MOV DL,BYTE PTR SS:[EBP-124]           ; |
0043D4C0  |.  52                 ||PUSH EDX                               ; |Arg5
0043D4C1  |.  6A 30              ||PUSH 30                                ; |Arg4 = 00000030
0043D4C3  |.  6A 30              ||PUSH 30                                ; |Arg3 = 00000030
0043D4C5  |.  8B85 C4FEFFFF      ||MOV EAX,DWORD PTR SS:[EBP-13C]         ; |
0043D4CB  |.  50                 ||PUSH EAX                               ; |Arg2
0043D4CC  |.  8B8D C0FEFFFF      ||MOV ECX,DWORD PTR SS:[EBP-140]         ; |
0043D4D2  |.  51                 ||PUSH ECX                               ; |Arg1
0043D4D3  |.  E8 A43E0100        ||CALL WaGan.0045137C                    ; \WaGan.0045137C
0043D4D8  |.  83C4 18            ||ADD ESP,18
0043D4DB  |.  E8 1611FEFF        ||CALL WaGan.0041E5F6
0043D4E0  |.  6A 02              ||PUSH 2                                 ; /Arg1 = 00000002
0043D4E2  |.  B9 181B4B00        ||MOV ECX,WaGan.004B1B18                 ; |
0043D4E7  |.  E8 545EFCFF        ||CALL WaGan.00403340                    ; \WaGan.00403340
0043D4EC  |.  E8 EFEFFEFF        ||CALL WaGan.0042C4E0
0043D4F1  |.^ E9 60FFFFFF        |\JMP WaGan.0043D456
0043D4F6  |>  C785 E0FEFFFF 0100>|MOV DWORD PTR SS:[EBP-120],1
0043D500  |>^ E9 7AFCFFFF        \JMP WaGan.0043D17F
0043D505  |>  8B95 E0FEFFFF      MOV EDX,DWORD PTR SS:[EBP-120]
0043D50B  |.  8995 B4FEFFFF      MOV DWORD PTR SS:[EBP-14C],EDX
0043D511  |.  C745 FC FFFFFFFF   MOV DWORD PTR SS:[EBP-4],-1
[tr][/tr]
兵种转圈的全部代码



战场里的对话

0042D5CB   .  5E                 POP ESI56










在战场里的对话改掉对话框加上小气泡的研究

0042CB6D   $  55                 PUSH EBP
0042CB6E   .  8BEC               MOV EBP,ESP
0042CB70   .  81EC 78020000      SUB ESP,278
0042CB76   .  53                 PUSH EBX
0042CB77   .  56                 PUSH ESI
0042CB78   .  C685 B8FEFFFF FF   MOV BYTE PTR SS:[EBP-148],0FF
0042CB7F   .  817D 0C 00040000   CMP DWORD PTR SS:[EBP+C],400
0042CB86   .  73 14              JNB SHORT WaGan.0042CB9C
0042CB88   .  8B45 0C            MOV EAX,DWORD PTR SS:[EBP+C]
0042CB8B   .  50                 PUSH EAX                                 ; /Arg1
0042CB8C   .  E8 CFF2FDFF        CALL WaGan.0040BE60                      ; \WaGan.0040BE60
0042CB91   .  83C4 04            ADD ESP,4
0042CB94   .  8985 94FDFFFF      MOV DWORD PTR SS:[EBP-26C],EAX
0042CB9A   .  EB 0A              JMP SHORT WaGan.0042CBA6
0042CB9C   >  C785 94FDFFFF 0000>MOV DWORD PTR SS:[EBP-26C],0
0042CBA6   >  8B8D 94FDFFFF      MOV ECX,DWORD PTR SS:[EBP-26C]
0042CBAC   .  898D D0FEFFFF      MOV DWORD PTR SS:[EBP-130],ECX
0042CBB2   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CBB7   .  E8 88920200        CALL WaGan.00455E44
0042CBBC   .  99                 CDQ
0042CBBD   .  B9 30000000        MOV ECX,30
0042CBC2   .  F7F9               IDIV ECX
0042CBC4   .  8885 D4FEFFFF      MOV BYTE PTR SS:[EBP-12C],AL
0042CBCA   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CBCF   .  E8 97920200        CALL WaGan.00455E6B
0042CBD4   .  99                 CDQ
0042CBD5   .  B9 30000000        MOV ECX,30
0042CBDA   .  F7F9               IDIV ECX
0042CBDC   .  8885 C0FEFFFF      MOV BYTE PTR SS:[EBP-140],AL
0042CBE2   .  8B85 D4FEFFFF      MOV EAX,DWORD PTR SS:[EBP-12C]
0042CBE8   .  25 FF000000        AND EAX,0FF
0042CBED   .  99                 CDQ
0042CBEE   .  2BC2               SUB EAX,EDX
0042CBF0   .  D1F8               SAR EAX,1
0042CBF2   .  8885 B4FEFFFF      MOV BYTE PTR SS:[EBP-14C],AL
0042CBF8   .  8B85 C0FEFFFF      MOV EAX,DWORD PTR SS:[EBP-140]
0042CBFE   .  25 FF000000        AND EAX,0FF
0042CC03   .  99                 CDQ
0042CC04   .  2BC2               SUB EAX,EDX
0042CC06   .  D1F8               SAR EAX,1
0042CC08   .  8885 C4FEFFFF      MOV BYTE PTR SS:[EBP-13C],AL
0042CC0E   .  8B95 B4FEFFFF      MOV EDX,DWORD PTR SS:[EBP-14C]
0042CC14   .  81E2 FF000000      AND EDX,0FF
0042CC1A   .  6BD2 30            IMUL EDX,EDX,30
0042CC1D   .  8995 ECFEFFFF      MOV DWORD PTR SS:[EBP-114],EDX
0042CC23   .  8B85 C4FEFFFF      MOV EAX,DWORD PTR SS:[EBP-13C]
0042CC29   .  25 FF000000        AND EAX,0FF
0042CC2E   .  6BC0 30            IMUL EAX,EAX,30
0042CC31   .  8985 E0FEFFFF      MOV DWORD PTR SS:[EBP-120],EAX
0042CC37   .  C785 A8FEFFFF 0000>MOV DWORD PTR SS:[EBP-158],0
0042CC41   .  8B4D 0C            MOV ECX,DWORD PTR SS:[EBP+C]
0042CC44   .  6BC9 48            IMUL ECX,ECX,48
0042CC47   .  81C1 0000D600      ADD ECX,0D60000
0042CC4D   .  E8 8AAE0400        CALL WaGan.00477ADC
0042CC52   .  8845 F8            MOV BYTE PTR SS:[EBP-8],AL
0042CC55   .  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]
0042CC58   .  81E1 FF000000      AND ECX,0FF
0042CC5E   .  81F9 FF000000      CMP ECX,0FF
0042CC64   .  0F84 DE020000      JE WaGan.0042CF48
0042CC6A   .  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]
0042CC6D   .  81E1 FF000000      AND ECX,0FF
0042CC73   .  6BC9 24            IMUL ECX,ECX,24
0042CC76   .  81C1 502C4B00      ADD ECX,WaGan.004B2C50
0042CC7C   .  E8 0FC0FEFF        CALL WaGan.00418C90
0042CC81   .  25 FF000000        AND EAX,0FF
0042CC86   .  83F8 02            CMP EAX,2
0042CC89   .  0F85 B9020000      JNZ WaGan.0042CF48
0042CC8F   .  C785 A8FEFFFF 0100>MOV DWORD PTR SS:[EBP-158],1
0042CC99   .  8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]
0042CC9C   .  81E1 FF000000      AND ECX,0FF
0042CCA2   .  6BC9 24            IMUL ECX,ECX,24
0042CCA5   .  81C1 502C4B00      ADD ECX,WaGan.004B2C50
0042CCAB   .  E8 B066FDFF        CALL WaGan.00403360
0042CCB0   .  66:8B10            MOV DX,WORD PTR DS:[EAX]
0042CCB3   .  66:8995 98FDFFFF   MOV WORD PTR SS:[EBP-268],DX
0042CCBA   .  8B9D 98FDFFFF      MOV EBX,DWORD PTR SS:[EBP-268]
0042CCC0   .  81E3 FF000000      AND EBX,0FF
0042CCC6   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CCCB   .  E8 C34D0200        CALL WaGan.00451A93
0042CCD0   .  99                 CDQ
0042CCD1   .  B9 30000000        MOV ECX,30
0042CCD6   .  F7F9               IDIV ECX
0042CCD8   .  2BD8               SUB EBX,EAX
0042CCDA   .  889D 9CFDFFFF      MOV BYTE PTR SS:[EBP-264],BL
0042CCE0   .  8B9D 99FDFFFF      MOV EBX,DWORD PTR SS:[EBP-267]
0042CCE6   .  81E3 FF000000      AND EBX,0FF
0042CCEC   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CCF1   .  E8 AE4D0200        CALL WaGan.00451AA4
0042CCF6   .  99                 CDQ
0042CCF7   .  B9 30000000        MOV ECX,30
0042CCFC   .  F7F9               IDIV ECX
0042CCFE   .  2BD8               SUB EBX,EAX
0042CD00   .  889D A0FDFFFF      MOV BYTE PTR SS:[EBP-260],BL
0042CD06   .  8B95 9CFDFFFF      MOV EDX,DWORD PTR SS:[EBP-264]
0042CD0C   .  81E2 FF000000      AND EDX,0FF
0042CD12   .  83FA 02            CMP EDX,2
0042CD15   .  7C 22              JL SHORT WaGan.0042CD39
0042CD17   .  8B85 9CFDFFFF      MOV EAX,DWORD PTR SS:[EBP-264]
0042CD1D   .  25 FF000000        AND EAX,0FF
0042CD22   .  8B8D D4FEFFFF      MOV ECX,DWORD PTR SS:[EBP-12C]
0042CD28   .  81E1 FF000000      AND ECX,0FF
0042CD2E   .  83E9 02            SUB ECX,2
0042CD31   .  3BC1               CMP EAX,ECX
0042CD33   .  0F8C E9000000      JL WaGan.0042CE22
0042CD39   >  8B95 9CFDFFFF      MOV EDX,DWORD PTR SS:[EBP-264]
0042CD3F   .  81E2 FF000000      AND EDX,0FF
0042CD45   .  83FA 02            CMP EDX,2
0042CD48   .  7D 32              JGE SHORT WaGan.0042CD7C
0042CD4A   .  8B85 9CFDFFFF      MOV EAX,DWORD PTR SS:[EBP-264]
0042CD50   .  25 FF000000        AND EAX,0FF
0042CD55   .  83C0 01            ADD EAX,1
0042CD58   .  6BC0 30            IMUL EAX,EAX,30
0042CD5B   .  83C0 10            ADD EAX,10
0042CD5E   .  8985 B0FEFFFF      MOV DWORD PTR SS:[EBP-150],EAX
0042CD64   .  8B8D B0FEFFFF      MOV ECX,DWORD PTR SS:[EBP-150]
0042CD6A   .  83E9 10            SUB ECX,10
0042CD6D   .  898D BCFEFFFF      MOV DWORD PTR SS:[EBP-144],ECX
0042CD73   .  C685 E4FEFFFF 03   MOV BYTE PTR SS:[EBP-11C],3
0042CD7A   .  EB 39              JMP SHORT WaGan.0042CDB5
0042CD7C   >  8B95 9CFDFFFF      MOV EDX,DWORD PTR SS:[EBP-264]
0042CD82   .  81E2 FF000000      AND EDX,0FF
0042CD88   .  6BD2 30            IMUL EDX,EDX,30
0042CD8B   .  81EA C0010000      SUB EDX,1C0
0042CD91   .  8995 B0FEFFFF      MOV DWORD PTR SS:[EBP-150],EDX
0042CD97   .  8B85 9CFDFFFF      MOV EAX,DWORD PTR SS:[EBP-264]
0042CD9D   .  25 FF000000        AND EAX,0FF
0042CDA2   .  6BC0 30            IMUL EAX,EAX,30
0042CDA5   .  83E8 10            SUB EAX,10
0042CDA8   .  8985 BCFEFFFF      MOV DWORD PTR SS:[EBP-144],EAX
0042CDAE   .  C685 E4FEFFFF 01   MOV BYTE PTR SS:[EBP-11C],1
0042CDB5   >  8B8D A0FDFFFF      MOV ECX,DWORD PTR SS:[EBP-260]
0042CDBB   .  81E1 FF000000      AND ECX,0FF
0042CDC1   .  8B95 C4FEFFFF      MOV EDX,DWORD PTR SS:[EBP-13C]
0042CDC7   .  81E2 FF000000      AND EDX,0FF
0042CDCD   .  3BCA               CMP ECX,EDX
0042CDCF   .  7D 19              JGE SHORT WaGan.0042CDEA
0042CDD1   .  8B85 A0FDFFFF      MOV EAX,DWORD PTR SS:[EBP-260]
0042CDD7   .  25 FF000000        AND EAX,0FF
0042CDDC   .  6BC0 30            IMUL EAX,EAX,30
0042CDDF   .  83C0 08            ADD EAX,8
0042CDE2   .  8985 ACFEFFFF      MOV DWORD PTR SS:[EBP-154],EAX
0042CDE8   .  EB 1B              JMP SHORT WaGan.0042CE05
0042CDEA   >  8B8D A0FDFFFF      MOV ECX,DWORD PTR SS:[EBP-260]
0042CDF0   .  81E1 FF000000      AND ECX,0FF
0042CDF6   .  83C1 01            ADD ECX,1
0042CDF9   .  6BC9 30            IMUL ECX,ECX,30
0042CDFC   .  83E9 68            SUB ECX,68
0042CDFF   .  898D ACFEFFFF      MOV DWORD PTR SS:[EBP-154],ECX
0042CE05   >  8B95 A0FDFFFF      MOV EDX,DWORD PTR SS:[EBP-260]
0042CE0B   .  81E2 FF000000      AND EDX,0FF
0042CE11   .  6BD2 30            IMUL EDX,EDX,30
0042CE14   .  83C2 10            ADD EDX,10
0042CE17   .  8995 A4FEFFFF      MOV DWORD PTR SS:[EBP-15C],EDX
0042CE1D   .  E9 24010000        JMP WaGan.0042CF46
0042CE22   >  8B85 9CFDFFFF      MOV EAX,DWORD PTR SS:[EBP-264]
0042CE28   .  25 FF000000        AND EAX,0FF
0042CE2D   .  6BC0 30            IMUL EAX,EAX,30
0042CE30   .  3D C8000000        CMP EAX,0C8
0042CE35   .  7D 1D              JGE SHORT WaGan.0042CE54
0042CE37   .  8B8D 9CFDFFFF      MOV ECX,DWORD PTR SS:[EBP-264]
0042CE3D   .  81E1 FF000000      AND ECX,0FF
0042CE43   .  83E9 01            SUB ECX,1
0042CE46   .  6BC9 30            IMUL ECX,ECX,30
0042CE49   .  83C1 08            ADD ECX,8
0042CE4C   .  898D B0FEFFFF      MOV DWORD PTR SS:[EBP-150],ECX
0042CE52   .  EB 5F              JMP SHORT WaGan.0042CEB3
0042CE54   >  8BB5 9CFDFFFF      MOV ESI,DWORD PTR SS:[EBP-264]
0042CE5A   .  81E6 FF000000      AND ESI,0FF
0042CE60   .  83C6 01            ADD ESI,1
0042CE63   .  6BF6 30            IMUL ESI,ESI,30
0042CE66   .  81C6 C8000000      ADD ESI,0C8
0042CE6C   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CE71   .  E8 CE8F0200        CALL WaGan.00455E44
0042CE76   .  3BF0               CMP ESI,EAX
0042CE78   .  7C 20              JL SHORT WaGan.0042CE9A
0042CE7A   .  8B95 D4FEFFFF      MOV EDX,DWORD PTR SS:[EBP-12C]
0042CE80   .  81E2 FF000000      AND EDX,0FF
0042CE86   .  83EA 01            SUB EDX,1
0042CE89   .  6BD2 30            IMUL EDX,EDX,30
0042CE8C   .  81EA B8010000      SUB EDX,1B8
0042CE92   .  8995 B0FEFFFF      MOV DWORD PTR SS:[EBP-150],EDX
0042CE98   .  EB 19              JMP SHORT WaGan.0042CEB3
0042CE9A   >  8B85 9CFDFFFF      MOV EAX,DWORD PTR SS:[EBP-264]
0042CEA0   .  25 FF000000        AND EAX,0FF
0042CEA5   .  6BC0 30            IMUL EAX,EAX,30
0042CEA8   .  2D B8000000        SUB EAX,0B8
0042CEAD   .  8985 B0FEFFFF      MOV DWORD PTR SS:[EBP-150],EAX
0042CEB3   >  8B8D 9CFDFFFF      MOV ECX,DWORD PTR SS:[EBP-264]
0042CEB9   .  81E1 FF000000      AND ECX,0FF
0042CEBF   .  6BC9 30            IMUL ECX,ECX,30
0042CEC2   .  83C1 10            ADD ECX,10
0042CEC5   .  898D BCFEFFFF      MOV DWORD PTR SS:[EBP-144],ECX
0042CECB   .  8B95 A0FDFFFF      MOV EDX,DWORD PTR SS:[EBP-260]
0042CED1   .  81E2 FF000000      AND EDX,0FF
0042CED7   .  8B85 C4FEFFFF      MOV EAX,DWORD PTR SS:[EBP-13C]
0042CEDD   .  25 FF000000        AND EAX,0FF
0042CEE2   .  3BD0               CMP EDX,EAX
0042CEE4   .  7D 33              JGE SHORT WaGan.0042CF19
0042CEE6   .  8B8D A0FDFFFF      MOV ECX,DWORD PTR SS:[EBP-260]
0042CEEC   .  81E1 FF000000      AND ECX,0FF
0042CEF2   .  83C1 01            ADD ECX,1
0042CEF5   .  6BC9 30            IMUL ECX,ECX,30
0042CEF8   .  83C1 10            ADD ECX,10
0042CEFB   .  898D ACFEFFFF      MOV DWORD PTR SS:[EBP-154],ECX
0042CF01   .  8B95 ACFEFFFF      MOV EDX,DWORD PTR SS:[EBP-154]
0042CF07   .  83EA 10            SUB EDX,10
0042CF0A   .  8995 A4FEFFFF      MOV DWORD PTR SS:[EBP-15C],EDX
0042CF10   .  C685 E4FEFFFF 00   MOV BYTE PTR SS:[EBP-11C],0
0042CF17   .  EB 2D              JMP SHORT WaGan.0042CF46


0042CF19   >  8B85 A0FDFFFF      MOV EAX,DWORD PTR SS:[EBP-260]
0042CF1F   .  25 FF000000        AND EAX,0FF
0042CF24   .  6BC0 30            IMUL EAX,EAX,30
0042CF27   .  83E8 70            SUB EAX,70
0042CF2A   .  8985 ACFEFFFF      MOV DWORD PTR SS:[EBP-154],EAX
0042CF30   .  8B8D ACFEFFFF      MOV ECX,DWORD PTR SS:[EBP-154]
0042CF36   .  83C1 60            ADD ECX,60
0042CF39   .  898D A4FEFFFF      MOV DWORD PTR SS:[EBP-15C],ECX
0042CF3F   .  C685 E4FEFFFF 02   MOV BYTE PTR SS:[EBP-11C],2
0042CF46   >  EB 21              JMP SHORT WaGan.0042CF69


0042CF48   >  8B95 ECFEFFFF      MOV EDX,DWORD PTR SS:[EBP-114]
0042CF4E   .  81EA D8000000      SUB EDX,0D8
0042CF54   .  8995 B0FEFFFF      MOV DWORD PTR SS:[EBP-150],EDX
0042CF5A   .  8B85 E0FEFFFF      MOV EAX,DWORD PTR SS:[EBP-120]
0042CF60   .  83E8 30            SUB EAX,30
0042CF63   .  8985 ACFEFFFF      MOV DWORD PTR SS:[EBP-154],EAX
0042CF69   >  B9 50424B00        MOV ECX,WaGan.004B4250
0042CF6E   .  E8 DC4A0200        CALL WaGan.00451A4F
0042CF73   .  8B8D B0FEFFFF      MOV ECX,DWORD PTR SS:[EBP-150]
0042CF79   .  03C8               ADD ECX,EAX
0042CF7B   .  898D B0FEFFFF      MOV DWORD PTR SS:[EBP-150],ECX
0042CF81   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CF86   .  E8 D54A0200        CALL WaGan.00451A60
0042CF8B   .  8B95 ACFEFFFF      MOV EDX,DWORD PTR SS:[EBP-154]
0042CF91   .  03D0               ADD EDX,EAX
0042CF93   .  8995 ACFEFFFF      MOV DWORD PTR SS:[EBP-154],EDX
0042CF99   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CF9E   .  E8 AC4A0200        CALL WaGan.00451A4F
0042CFA3   .  8B8D BCFEFFFF      MOV ECX,DWORD PTR SS:[EBP-144]
0042CFA9   .  03C8               ADD ECX,EAX
0042CFAB   .  898D BCFEFFFF      MOV DWORD PTR SS:[EBP-144],ECX
0042CFB1   .  B9 50424B00        MOV ECX,WaGan.004B4250
0042CFB6   .  E8 A54A0200        CALL WaGan.00451A60
0042CFBB   .  8B95 A4FEFFFF      MOV EDX,DWORD PTR SS:[EBP-15C]
0042CFC1   .  03D0               ADD EDX,EAX
0042CFC3   .  8995 A4FEFFFF      MOV DWORD PTR SS:[EBP-15C],EDX
0042CFC9   .  8B45 10            MOV EAX,DWORD PTR SS:[EBP+10]
0042CFCC   .  83E0 10            AND EAX,10
0042CFCF   .  F7D8               NEG EAX
0042CFD1   .  1BC0               SBB EAX,EAX
0042CFD3   .  F7D8               NEG EAX
0042CFD5   .  8985 CCFEFFFF      MOV DWORD PTR SS:[EBP-134],EAX
0042CFDB   .  C785 DCFEFFFF 0300>MOV DWORD PTR SS:[EBP-124],3
0042CFE5   .  E8 6DF5FFFF        CALL WaGan.0042C557
0042CFEA   .  E8 EC15FFFF        CALL WaGan.0041E5DB
0042CFEF   .  6A 04              PUSH 4                                   ; /Arg1 = 00000004
0042CFF1   .  B9 382F4900        MOV ECX,WaGan.00492F38                   ; |
0042CFF6   .  E8 3B1DFEFF        CALL WaGan.0040ED36                      ; \WaGan.0040ED36
0042CFFB   .  6A 00              PUSH 0                                   ; /Arg1 = 00000000
0042CFFD   .  B9 382F4900        MOV ECX,WaGan.00492F38                   ; |
0042D002   .  E8 B51CFEFF        CALL WaGan.0040ECBC                      ; \WaGan.0040ECBC
0042D007   .  8B0D 201B4B00      MOV ECX,DWORD PTR DS:[4B1B20]
0042D00D   .  3B8D D0FEFFFF      CMP ECX,DWORD PTR SS:[EBP-130]
0042D013   .  74 1D              JE SHORT WaGan.0042D032
0042D015   .  33D2               XOR EDX,EDX
0042D017   .  833D 18C84800 00   CMP DWORD PTR DS:[48C818],0
0042D01E   .  0F94C2             SETE DL
0042D021   .  8915 18C84800      MOV DWORD PTR DS:[48C818],EDX
0042D027   .  8B85 D0FEFFFF      MOV EAX,DWORD PTR SS:[EBP-130]
0042D02D   .  A3 201B4B00        MOV DWORD PTR DS:[4B1B20],EAX
0042D032   >  837D 0C 00         CMP DWORD PTR SS:[EBP+C],0
0042D036   .  75 0A              JNZ SHORT WaGan.0042D042
0042D038   .  C705 18C84800 0100>MOV DWORD PTR DS:[48C818],1
0042D042   >  8D8D A4FDFFFF      LEA ECX,DWORD PTR SS:[EBP-25C]
0042D048   .  51                 PUSH ECX
0042D049   .  6A 10              PUSH 10
0042D04B   .  6A 10              PUSH 10
0042D04D   .  8B95 A4FEFFFF      MOV EDX,DWORD PTR SS:[EBP-15C]
0042D053   .  52                 PUSH EDX
0042D054   .  8B85 BCFEFFFF      MOV EAX,DWORD PTR SS:[EBP-144]
0042D05A   .  50                 PUSH EAX
0042D05B   .  E8 F1110500        CALL WaGan.0047E251
0042D060   .  83C4 14            ADD ESP,14
0042D063   .  6A 00              PUSH 0
0042D065   .  68 00010000        PUSH 100
0042D06A   .  68 00020000        PUSH 200
0042D06F   .  8B8D ACFEFFFF      MOV ECX,DWORD PTR SS:[EBP-154]
0042D075   .  83E9 10            SUB ECX,10
0042D078   .  51                 PUSH ECX
0042D079   .  8B95 B0FEFFFF      MOV EDX,DWORD PTR SS:[EBP-150]
0042D07F   .  52                 PUSH EDX
0042D080   .  B9 30694B00        MOV ECX,WaGan.004B6930
0042D085   .  E8 54710A00        CALL WaGan.004D41DE
0042D08A   .  90                 NOP
0042D08B   .  90                 NOP
0042D08C   .  90                 NOP
0042D08D   .  90                 NOP
0042D08E   .  90                 NOP
0042D08F   .  90                 NOP
0042D090   .  90                 NOP
0042D091   .  90                 NOP
0042D092   .  83BD A8FEFFFF 00   CMP DWORD PTR SS:[EBP-158],0             ;  0表示人物未在战场上
0042D099   .  0F84 04010000      JE WaGan.0042D1A3
0042D09F   .  8B85 E4FEFFFF      MOV EAX,DWORD PTR SS:[EBP-11C]
0042D0A5   .  25 FF000000        AND EAX,0FF
0042D0AA   .  8985 90FDFFFF      MOV DWORD PTR SS:[EBP-270],EAX
0042D0B0   .  83BD 90FDFFFF 03   CMP DWORD PTR SS:[EBP-270],3
0042D0B7   .  0F87 C5000000      JA WaGan.0042D182
0042D0BD   .  8B8D 90FDFFFF      MOV ECX,DWORD PTR SS:[EBP-270]
0042D0C3   .  FF248D D1D54200    JMP DWORD PTR DS:[ECX*4+42D5D1]
0042D0CA   >  68 00010000        PUSH 100                                 ; /Arg3 = 00000100
0042D0CF   .  8D95 F8FEFFFF      LEA EDX,DWORD PTR SS:[EBP-108]           ; |
0042D0D5   .  52                 PUSH EDX                                 ; |Arg2
0042D0D6   .  6A 04              PUSH 4                                   ; |/Arg3 = 00000004
0042D0D8   .  6A 00              PUSH 0                                   ; ||Arg2 = 00000000
0042D0DA   .  68 C0970100        PUSH 197C0                               ; ||Arg1 = 000197C0
0042D0DF   .  B9 50EB4A00        MOV ECX,WaGan.004AEB50                   ; ||
0042D0E4   .  E8 57290500        CALL WaGan.0047FA40                      ; |\WaGan.0047FA40
0042D0E9   .  50                 PUSH EAX                                 ; |Arg1
0042D0EA   .  E8 0E2C0500        CALL WaGan.0047FCFD                      ; \WaGan.0047FCFD
0042D0EF   .  83C4 0C            ADD ESP,0C
0042D0F2   .  6A 10              PUSH 10                                  ; /Arg3 = 00000010
0042D0F4   .  6A 10              PUSH 10                                  ; |Arg2 = 00000010
0042D0F6   .  8D85 F8FEFFFF      LEA EAX,DWORD PTR SS:[EBP-108]           ; |
0042D0FC   .  50                 PUSH EAX                                 ; |Arg1
0042D0FD   .  E8 5A1CFFFF        CALL WaGan.0041ED5C                      ; \WaGan.0041ED5C
0042D102   .  83C4 0C            ADD ESP,0C
0042D105   .  EB 7B              JMP SHORT WaGan.0042D182
0042D107   >  68 00010000        PUSH 100                                 ; /Arg3 = 00000100
0042D10C   .  8D8D F8FEFFFF      LEA ECX,DWORD PTR SS:[EBP-108]           ; |
0042D112   .  51                 PUSH ECX                                 ; |Arg2
0042D113   .  6A 04              PUSH 4                                   ; |/Arg3 = 00000004
0042D115   .  6A 00              PUSH 0                                   ; ||Arg2 = 00000000
0042D117   .  68 C0970100        PUSH 197C0                               ; ||Arg1 = 000197C0
0042D11C   .  B9 50EB4A00        MOV ECX,WaGan.004AEB50                   ; ||
0042D121   .  E8 1A290500        CALL WaGan.0047FA40                      ; |\WaGan.0047FA40
0042D126   .  50                 PUSH EAX                                 ; |Arg1
0042D127   .  E8 D12B0500        CALL WaGan.0047FCFD                      ; \WaGan.0047FCFD
0042D12C   .  83C4 0C            ADD ESP,0C
0042D12F   .  EB 51              JMP SHORT WaGan.0042D182
0042D131   >  68 00010000        PUSH 100                                 ; /Arg3 = 00000100
0042D136   .  8D95 F8FEFFFF      LEA EDX,DWORD PTR SS:[EBP-108]           ; |
0042D13C   .  52                 PUSH EDX                                 ; |Arg2
0042D13D   .  6A 04              PUSH 4                                   ; |/Arg3 = 00000004
0042D13F   .  6A 00              PUSH 0                                   ; ||Arg2 = 00000000
0042D141   .  68 C0960100        PUSH 196C0                               ; ||Arg1 = 000196C0
0042D146   .  B9 50EB4A00        MOV ECX,WaGan.004AEB50                   ; ||
0042D14B   .  E8 F0280500        CALL WaGan.0047FA40                      ; |\WaGan.0047FA40
0042D150   .  50                 PUSH EAX                                 ; |Arg1
0042D151   .  E8 A72B0500        CALL WaGan.0047FCFD                      ; \WaGan.0047FCFD
0042D156   .  83C4 0C            ADD ESP,0C
0042D159   .  EB 27              JMP SHORT WaGan.0042D182
0042D15B   >  8D85 F8FEFFFF      LEA EAX,DWORD PTR SS:[EBP-108]
0042D161   .  50                 PUSH EAX                                 ; /Arg4
0042D162   .  6A 04              PUSH 4                                   ; |/Arg3 = 00000004
0042D164   .  6A 00              PUSH 0                                   ; ||Arg2 = 00000000
0042D166   .  68 C0960100        PUSH 196C0                               ; ||Arg1 = 000196C0
0042D16B   .  B9 50EB4A00        MOV ECX,WaGan.004AEB50                   ; ||
0042D170   .  E8 CB280500        CALL WaGan.0047FA40                      ; |\WaGan.0047FA40
0042D175   .  50                 PUSH EAX                                 ; |Arg3
0042D176   .  6A 10              PUSH 10                                  ; |Arg2 = 00000010
0042D178   .  6A 10              PUSH 10                                  ; |Arg1 = 00000010
0042D17A   .  E8 D41CFFFF        CALL WaGan.0041EE53                      ; \WaGan.0041EE53
0042D17F   .  83C4 10            ADD ESP,10
0042D182   >  C605 06F34C00 01   MOV BYTE PTR DS:[4CF306],1
0042D189   .  68 ECF24C00        PUSH WaGan.004CF2EC
0042D18E   .  FF35 F4F24C00      PUSH DWORD PTR DS:[4CF2F4]               ;  Mark.00C20000
0042D194   .  6A 05              PUSH 5
0042D196   .  E8 A96F0A00        CALL WaGan.004D4144
0042D19B   .  90                 NOP
作用对象确认函数

传入参数:
Ecx 是 攻击武将的Ecx值
局部变量
[EBP-D8] 保存攻击武将的Ecx值

00405744  /$  55            PUSH EBP
00405745  |.  8BEC          MOV EBP,ESP
00405747  |.  81EC D8000000 SUB ESP,0D8
0040574D  |.  898D 28FFFFFF MOV DWORD PTR SS:[EBP-D8],ECX
00405753  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
00405759  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
0040575F  |.  8A51 10       MOV DL,BYTE PTR DS:[ECX+10]
00405762  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
00405765  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
0040576B  |.  E8 1FE4FFFF   CALL Ekd5.00403B8F                       ;  里面加载ATK图了
00405770  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
00405776  |.  33C9          XOR ECX,ECX
00405778  |.  8A48 01       MOV CL,BYTE PTR DS:[EAX+1]
0040577B  |.  6BC9 24       IMUL ECX,ECX,24
0040577E  |.  81C1 502C4B00 ADD ECX,Ekd5.004B2C50
00405784  |.  E8 978B0300   CALL Ekd5.0043E320                                        获取攻击武将的朝向(这个时候武将的朝向已经变了,而看到的不一样)
00405789  |.  8845 FC       MOV BYTE PTR SS:[EBP-4],AL
0040578C  |.  8B95 28FFFFFF MOV EDX,DWORD PTR SS:[EBP-D8]
00405792  |.  8A02          MOV AL,BYTE PTR DS:[EDX]
00405794  |.  50            PUSH EAX                                 ; /Arg2
00405795  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]            ; |
0040579B  |.  8A51 01       MOV DL,BYTE PTR DS:[ECX+1]               ; |
0040579E  |.  52            PUSH EDX                                 ; |Arg1
0040579F  |.  E8 85000300   CALL Ekd5.00435829                       ; \Ekd5.00435829
004057A4  |.  83C4 08       ADD ESP,8
004057A7  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
004057A9  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]            ; |
004057AF  |.  E8 D1E5FFFF   CALL Ekd5.00403D85                       ; \Ekd5.00403D85                里面加载了SPC图
004057B4  |.  8A45 FC       MOV AL,BYTE PTR SS:[EBP-4]
004057B7  |.  50            PUSH EAX                                 ; /Arg1
004057B8  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]            ; |
004057BE  |.  33D2          XOR EDX,EDX                              ; |
004057C0  |.  8A51 01       MOV DL,BYTE PTR DS:[ECX+1]               ; |
004057C3  |.  8BCA          MOV ECX,EDX                              ; |
004057C5  |.  6BC9 24       IMUL ECX,ECX,24                          ; |
004057C8  |.  81C1 502C4B00 ADD ECX,Ekd5.004B2C50                    ; |
004057CE  |.  E8 9D0E0000   CALL Ekd5.00406670                       ; \Ekd5.00406670                        设置攻击武将朝向为08栈
004057D3  |.  68 FF000000   PUSH 0FF                                 ; /Arg2 = 000000FF
004057D8  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]            ; |
004057DE  |.  8A48 01       MOV CL,BYTE PTR DS:[EAX+1]               ; |
004057E1  |.  51            PUSH ECX                                 ; |Arg1
004057E2  |.  E8 42000300   CALL Ekd5.00435829                       ; \Ekd5.00435829
004057E7  |.  83C4 08       ADD ESP,8
004057EA  |.  8B95 28FFFFFF MOV EDX,DWORD PTR SS:[EBP-D8]
004057F0  |.  8B4A 0C       MOV ECX,DWORD PTR DS:[EDX+C]
004057F3  |.  E8 68DBFFFF   CALL Ekd5.00403360
004057F8  |.  66:8B00       MOV AX,WORD PTR DS:[EAX]
004057FB  |.  66:8945 F8    MOV WORD PTR SS:[EBP-8],AX
004057FF  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
00405805  |.  8A51 01       MOV DL,BYTE PTR DS:[ECX+1]
00405808  |.  52            PUSH EDX                                 ; /Arg3
00405809  |.  8A45 F9       MOV AL,BYTE PTR SS:[EBP-7]               ; |
0040580C  |.  50            PUSH EAX                                 ; |Arg2
0040580D  |.  8A4D F8       MOV CL,BYTE PTR SS:[EBP-8]               ; |
00405810  |.  51            PUSH ECX                                 ; |Arg1
00405811  |.  B9 50424B00   MOV ECX,Ekd5.004B4250                    ; |
00405816  |.  E8 08F90400   CALL Ekd5.00455123                       ; \Ekd5.00455123     重画武将形象,把朝向弄好。
0040581B  |.  8B95 28FFFFFF MOV EDX,DWORD PTR SS:[EBP-D8]
00405821  |.  83BA 04060000>CMP DWORD PTR DS:[EDX+604],0                                //判断是否发生致命一击
00405828  |.  74 50         JE SHORT Ekd5.0040587A
0040582A  |.  6A 19         PUSH 19                                  ; /Arg1 = 00000019
0040582C  |.  E8 01A30700   CALL Ekd5.0047FB32                       ; \Ekd5.0047FB32    25%概率的事件是否发生
00405831  |.  83C4 04       ADD ESP,4
00405834  |.  85C0          TEST EAX,EAX
00405836  |.  74 42         JE SHORT Ekd5.0040587A                                                //概率没有发生,结束, 发生则说出致命一击的台词
00405838  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
0040583E  |.  8B48 04       MOV ECX,DWORD PTR DS:[EAX+4]
00405841  |.  51            PUSH ECX                                 ; /Arg2
00405842  |.  8D95 2CFFFFFF LEA EDX,DWORD PTR SS:[EBP-D4]            ; |
00405848  |.  52            PUSH EDX                                 ; |Arg1
00405849  |.  E8 E1670000   CALL Ekd5.0040C02F                       ; \Ekd5.0040C02F
0040584E  |.  83C4 08       ADD ESP,8
00405851  |.  8B85 28FFFFFF MOV EAX,DWORD PTR SS:[EBP-D8]
00405857  |.  8B48 0C       MOV ECX,DWORD PTR DS:[EAX+C]
0040585A  |.  E8 6AA40300   CALL Ekd5.0043FCC9
0040585F  |.  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
00405865  |.  8B51 04       MOV EDX,DWORD PTR DS:[ECX+4]
00405868  |.  52            PUSH EDX                                 ; /Arg2
00405869  |.  8D85 2CFFFFFF LEA EAX,DWORD PTR SS:[EBP-D4]            ; |
0040586F  |.  50            PUSH EAX                                 ; |Arg1
00405870  |.  B9 F05D4B00   MOV ECX,Ekd5.004B5DF0                    ; |
00405875  |.  E8 E33D0500   CALL Ekd5.0045965D                       ; \Ekd5.0045965D
0040587A  |>  8B8D 28FFFFFF MOV ECX,DWORD PTR SS:[EBP-D8]
00405880  |.  E8 64ECFFFF   CALL Ekd5.004044E9                                                        //画面显示函数
00405885  |.  8BE5          MOV ESP,EBP
00405887  |.  5D            POP EBP
00405888  \.  C3            RETN



004044E9  /$  55            PUSH EBP
004044EA  |.  8BEC          MOV EBP,ESP
004044EC  |.  B8 38100000   MOV EAX,1038                (另外两处的调用200c 2040)
004044F1  |.  E8 6ACC0700   CALL Ekd5.00481160

004044F6  |.  56            PUSH ESI
004044F7  |.  898D CCEFFFFF MOV DWORD PTR SS:[EBP-1034],ECX
004044FD  |.  8B85 CCEFFFFF MOV EAX,DWORD PTR SS:[EBP-1034]
00404503  |.  8B48 0C       MOV ECX,DWORD PTR DS:[EAX+C]
00404506  |.  E8 55EEFFFF   CALL Ekd5.00403360

0040450B  |.  66:8B08       MOV CX,WORD PTR DS:[EAX]
0040450E  |.  66:898D E8EFF>MOV WORD PTR SS:[EBP-1018],CX
00404515  |.  8B95 CCEFFFFF MOV EDX,DWORD PTR SS:[EBP-1034]

0040451B  |.  33C0          XOR EAX,EAX
0040451D  |.  8A42 01       MOV AL,BYTE PTR DS:[EDX+1]
00404520  |.  8BC8          MOV ECX,EAX
00404522  |.  6BC9 24       IMUL ECX,ECX,24
00404525  |.  81C1 502C4B00 ADD ECX,Ekd5.004B2C50
0040452B  |.  E8 30EEFFFF   CALL Ekd5.00403360

00404530  |.  66:8B08       MOV CX,WORD PTR DS:[EAX]
00404533  |.  66:898D E0EFF>MOV WORD PTR SS:[EBP-1020],CX
0040453A  |.  8BB5 E8EFFFFF MOV ESI,DWORD PTR SS:[EBP-1018]
00404540  |.  81E6 FF000000 AND ESI,0FF
00404546  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
0040454B  |.  E8 43D50400   CALL Ekd5.00451A93
00404550  |.  99            CDQ
00404551  |.  B9 30000000   MOV ECX,30
00404556  |.  F7F9          IDIV ECX
00404558  |.  2BF0          SUB ESI,EAX
0040455A  |.  89B5 F4EFFFFF MOV DWORD PTR SS:[EBP-100C],ESI
00404560  |.  8BB5 E9EFFFFF MOV ESI,DWORD PTR SS:[EBP-1017]
00404566  |.  81E6 FF000000 AND ESI,0FF
0040456C  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
00404571  |.  E8 2ED50400   CALL Ekd5.00451AA4
00404576  |.  99            CDQ
00404577  |.  B9 30000000   MOV ECX,30
0040457C  |.  F7F9          IDIV ECX
0040457E  |.  2BF0          SUB ESI,EAX
00404580  |.  89B5 ECEFFFFF MOV DWORD PTR SS:[EBP-1014],ESI
00404586  |.  8BB5 E0EFFFFF MOV ESI,DWORD PTR SS:[EBP-1020]
0040458C  |.  81E6 FF000000 AND ESI,0FF
00404592  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
00404597  |.  E8 F7D40400   CALL Ekd5.00451A93
0040459C  |.  99            CDQ
0040459D  |.  B9 30000000   MOV ECX,30
004045A2  |.  F7F9          IDIV ECX
004045A4  |.  2BF0          SUB ESI,EAX
004045A6  |.  89B5 F8EFFFFF MOV DWORD PTR SS:[EBP-1008],ESI
004045AC  |.  8BB5 E1EFFFFF MOV ESI,DWORD PTR SS:[EBP-101F]
004045B2  |.  81E6 FF000000 AND ESI,0FF
004045B8  |.  B9 50424B00   MOV ECX,Ekd5.004B4250
004045BD  |.  E8 E2D40400   CALL Ekd5.00451AA4
004045C2  |.  99            CDQ
004045C3  |.  B9 30000000   MOV ECX,30
004045C8  |.  F7F9          IDIV ECX
004045CA  |.  2BF0          SUB ESI,EAX
004045CC  |.  89B5 FCEFFFFF MOV DWORD PTR SS:[EBP-1004],ESI
004045D2  |.  8B95 F4EFFFFF MOV EDX,DWORD PTR SS:[EBP-100C]
004045D8  |.  6BD2 30       IMUL EDX,EDX,30
004045DB  |.  8995 DCEFFFFF MOV DWORD PTR SS:[EBP-1024],EDX
004045E1  |.  8B85 ECEFFFFF MOV EAX,DWORD PTR SS:[EBP-1014]
004045E7  |.  6BC0 30       IMUL EAX,EAX,30
004045EA  |.  83C0 38       ADD EAX,38
004045ED  |.  8985 D8EFFFFF MOV DWORD PTR SS:[EBP-1028],EAX
004045F3  |.  8B8D F8EFFFFF MOV ECX,DWORD PTR SS:[EBP-1008]
004045F9  |.  6BC9 30       IMUL ECX,ECX,30
004045FC  |.  898D D4EFFFFF MOV DWORD PTR SS:[EBP-102C],ECX
00404602  |.  8B95 FCEFFFFF MOV EDX,DWORD PTR SS:[EBP-1004]
00404608  |.  6BD2 30       IMUL EDX,EDX,30
0040460B  |.  83C2 38       ADD EDX,38
0040460E  |.  8995 D0EFFFFF MOV DWORD PTR SS:[EBP-1030],EDX
00404614  |.  C785 F0EFFFFF>MOV DWORD PTR SS:[EBP-1010],0

0040461E  |.  EB 0F         JMP SHORT Ekd5.0040462F

00404620  |>  8B85 F0EFFFFF /MOV EAX,DWORD PTR SS:[EBP-1010]
00404626  |.  83C0 01       |ADD EAX,1
00404629  |.  8985 F0EFFFFF |MOV DWORD PTR SS:[EBP-1010],EAX
0040462F  |>  83BD F0EFFFFF> CMP DWORD PTR SS:[EBP-1010],1B
00404636  |.  0F83 C1100000 |JNB Ekd5.004056FD  (if (变量>27) goto 结束 )
0040463C  |.  8B8D F0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1010]
00404642  |.  898D C8EFFFFF |MOV DWORD PTR SS:[EBP-1038],ECX
00404648  |.  83BD C8EFFFFF>|CMP DWORD PTR SS:[EBP-1038],19
0040464F  |.  0F87 92100000 |JA Ekd5.004056E7        (if (变量>25) goto 4056E7循环点)
00404655  |.  8B85 C8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1038]
0040465B  |.  33D2          |XOR EDX,EDX
0040465D  |.  8A90 2A574000 |MOV DL,BYTE PTR DS:[EAX+40572A]
        0040572A   .  00            DB 00                                    ;  分支 00405702 索引表
0040572B   .  09            DB 09
0040572C   .  01            DB 01
0040572D   .  09            DB 09
0040572E   .  09            DB 09               //02
0040572F   .  09            DB 09
00405730   .  09            DB 09                                //03
00405731   .  09            DB 09
00405732   .  02            DB 02                                //01
00405733   .  09            DB 09
00405734   .  09            DB 09                                //03
00405735   .  09            DB 09
00405736   .  03            DB 03                                //04
00405737   .  04            DB 04                                //05
00405738   .  05            DB 05                                //05
00405739   .  06            DB 06                                //06
0040573A   .  09            DB 09
0040573B   .  07            DB 07
0040573C   .  09            DB 09
0040573D   .  09            DB 09
0040573E   .  09            DB 09
0040573F   .  09            DB 09
00405740   .  09            DB 09
00405741   .  09            DB 09
00405742   .  09            DB 09
00405743   .  08            DB 08
00404663  |.  FF2495 025740>|JMP DWORD PTR DS:[EDX*4+405702]  跳转的计算
                        00405702   . \6A464000      DD Ekd5.0040466A                         ;  分支表 被用于 00404663
00405706   .  08484000      DD Ekd5.00404808
0040570A   .  31494000      DD Ekd5.00404931
0040570E   .  BC4C4000      DD Ekd5.00404CBC
00405712   .  964D4000      DD Ekd5.00404D96
00405716   .  FA4F4000      DD Ekd5.00404FFA
0040571A   .  2C524000      DD Ekd5.0040522C
0040571E   .  5F534000      DD Ekd5.0040535F
00405722   .  4A554000      DD Ekd5.0040554A
00405726   .  E7564000      DD Ekd5.004056E7


0040466A  |>  E8 6C9F0100   |CALL Ekd5.0041E5DB                                       
0040466F  |.  8B8D ECEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1014]
00404675  |.  51            |PUSH ECX                                ; /Arg2
00404676  |.  8B95 F4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-100C]         ; |
0040467C  |.  52            |PUSH EDX                                ; |Arg1
0040467D  |.  E8 77F0FFFF   |CALL Ekd5.004036F9                      ; \Ekd5.004036F9
00404682  |.  83C4 08       |ADD ESP,8

00404685  |.  8B85 FCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1004]
0040468B  |.  50            |PUSH EAX                                ; /Arg2
0040468C  |.  8B8D F8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1008]         ; |
00404692  |.  51            |PUSH ECX                                ; |Arg1
00404693  |.  E8 61F0FFFF   |CALL Ekd5.004036F9                      ; \Ekd5.004036F9
00404698  |.  83C4 08       |ADD ESP,8

0040469B  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040469D  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040469F  |.  68 00490000   |PUSH 4900                               ; |Arg1 = 00004900
004046A4  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004046A9  |.  E8 92B30700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

004046AE  |.  50            |PUSH EAX                                ; /Arg5
004046AF  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004046B1  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004046B3  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004046B9  |.  83EA 08       |SUB EDX,8                               ; |
004046BC  |.  52            |PUSH EDX                                ; |Arg2
004046BD  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004046C3  |.  83E8 08       |SUB EAX,8                               ; |
004046C6  |.  50            |PUSH EAX                                ; |Arg1
004046C7  |.  E8 1AD30400   |CALL Ekd5.004519E6                      ; \Ekd5.004519E6
004046CC  |.  83C4 14       |ADD ESP,14

004046CF  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004046D1  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004046D3  |.  68 00590000   |PUSH 5900                               ; |Arg1 = 00005900
004046D8  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004046DD  |.  E8 5EB30700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

004046E2  |.  50            |PUSH EAX                                ; /Arg5
004046E3  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004046E5  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004046E7  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
004046ED  |.  83E9 08       |SUB ECX,8                               ; |
004046F0  |.  51            |PUSH ECX                                ; |Arg2
004046F1  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
004046F7  |.  83EA 08       |SUB EDX,8                               ; |
004046FA  |.  52            |PUSH EDX                                ; |Arg1
004046FB  |.  E8 E6D20400   |CALL Ekd5.004519E6                      ; \Ekd5.004519E6
00404700  |.  83C4 14       |ADD ESP,14

00404703  |.  B9 083D4B00   |MOV ECX,Ekd5.004B3D08
00404708  |.  E8 23200000   |CALL Ekd5.00406730

0040470D  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
0040470F  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404711  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404713  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404718  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
0040471D  |.  E8 1EB30700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404722  |.  50            |PUSH EAX                                ; |Arg5
00404723  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404725  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404727  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
0040472D  |.  83E8 08       |SUB EAX,8                               ; |
00404730  |.  50            |PUSH EAX                                ; |Arg2
00404731  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404737  |.  83E9 08       |SUB ECX,8                               ; |
0040473A  |.  51            |PUSH ECX                                ; |Arg1
0040473B  |.  E8 D3D10400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404740  |.  83C4 18       |ADD ESP,18

00404743  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404745  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404747  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404749  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
0040474E  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404753  |.  E8 E8B20700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404758  |.  50            |PUSH EAX                                ; |Arg5
00404759  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040475B  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040475D  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404763  |.  83EA 08       |SUB EDX,8                               ; |
00404766  |.  52            |PUSH EDX                                ; |Arg2
00404767  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
0040476D  |.  83E8 08       |SUB EAX,8                               ; |
00404770  |.  50            |PUSH EAX                                ; |Arg1
00404771  |.  E8 9DD10400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404776  |.  83C4 18       |ADD ESP,18

00404779  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
0040477F  |.  33D2          |XOR EDX,EDX
00404781  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
00404784  |.  52            |PUSH EDX                                ; /Arg3
00404785  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
0040478B  |.  50            |PUSH EAX                                ; |Arg2
0040478C  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404792  |.  51            |PUSH ECX                                ; |Arg1
00404793  |.  E8 87A30300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404798  |.  83C4 0C       |ADD ESP,0C

0040479B  |.  6A 04         |PUSH 4
0040479D  |.  6A 00         |PUSH 0
0040479F  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
004047A5  |.  33C0          |XOR EAX,EAX
004047A7  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]
004047A9  |.  8BF0          |MOV ESI,EAX
004047AB  |.  69F6 00630000 |IMUL ESI,ESI,6300
004047B1  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004047B7  |.  33D2          |XOR EDX,EDX
004047B9  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]
004047BB  |.  52            |PUSH EDX                                ; /Arg1
004047BC  |.  E8 549D0300   |CALL Ekd5.0043E515                      ; \Ekd5.0043E515

004047C1  |.  83C4 04       |ADD ESP,4
004047C4  |.  83C0 06       |ADD EAX,6                               ; |
004047C7  |.  69C0 00090000 |IMUL EAX,EAX,900                        ; |
004047CD  |.  03F0          |ADD ESI,EAX                             ; |
004047CF  |.  56            |PUSH ESI                                ; |Arg1
004047D0  |.  B9 80AB4A00   |MOV ECX,Ekd5.004AAB80                   ; |
004047D5  |.  E8 66B20700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

004047DA  |.  50            |PUSH EAX                                ; /Arg6
004047DB  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004047E1  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
004047E3  |.  51            |PUSH ECX                                ; |Arg5
004047E4  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
004047E6  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
004047E8  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004047EE  |.  52            |PUSH EDX                                ; |Arg2
004047EF  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004047F5  |.  50            |PUSH EAX                                ; |Arg1
004047F6  |.  E8 81CB0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004047FB  |.  83C4 18       |ADD ESP,18
004047FE  |.  E8 F39D0100   |CALL Ekd5.0041E5F6
00404803  |.  E9 DF0E0000   |JMP Ekd5.004056E7

00404808  |>  E8 CE9D0100   |CALL Ekd5.0041E5DB                                第一个攻击动作
0040480D  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
0040480F  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404811  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404813  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404818  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
0040481D  |.  E8 1EB20700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404822  |.  50            |PUSH EAX                                ; |Arg5
00404823  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404825  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404827  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040482D  |.  83E9 08       |SUB ECX,8                               ; |
00404830  |.  51            |PUSH ECX                                ; |Arg2
00404831  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00404837  |.  83EA 08       |SUB EDX,8                               ; |
0040483A  |.  52            |PUSH EDX                                ; |Arg1
0040483B  |.  E8 D3D00400   |CALL Ekd5.00451913                      ; \Ekd5.00451913

00404840  |.  83C4 18       |ADD ESP,18
00404843  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404845  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404847  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404849  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
0040484E  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404853  |.  E8 E8B10700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404858  |.  50            |PUSH EAX                                ; |Arg5
00404859  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040485B  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040485D  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404863  |.  83E8 08       |SUB EAX,8                               ; |
00404866  |.  50            |PUSH EAX                                ; |Arg2
00404867  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
0040486D  |.  83E9 08       |SUB ECX,8                               ; |
00404870  |.  51            |PUSH ECX                                ; |Arg1
00404871  |.  E8 9DD00400   |CALL Ekd5.00451913                      ; \Ekd5.00451913

00404876  |.  83C4 18       |ADD ESP,18
00404879  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
0040487F  |.  33C0          |XOR EAX,EAX
00404881  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00404884  |.  50            |PUSH EAX                                ; /Arg3
00404885  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040488B  |.  51            |PUSH ECX                                ; |Arg2
0040488C  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00404892  |.  52            |PUSH EDX                                ; |Arg1
00404893  |.  E8 87A20300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404898  |.  83C4 0C       |ADD ESP,0C

0040489B  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040489D  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040489F  |.  6A 00         |PUSH 0                                  ; |Arg1 = 00000000
004048A1  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004048A6  |.  E8 95B10700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004048AB  |.  50            |PUSH EAX                                ; /Arg6
004048AC  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004048B2  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
004048B4  |.  51            |PUSH ECX                                ; |Arg5
004048B5  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004048B7  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004048B9  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004048BF  |.  83EA 08       |SUB EDX,8                               ; |
004048C2  |.  52            |PUSH EDX                                ; |Arg2
004048C3  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004048C9  |.  83E8 08       |SUB EAX,8                               ; |
004048CC  |.  50            |PUSH EAX                                ; |Arg1
004048CD  |.  E8 AACA0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004048D2  |.  83C4 18       |ADD ESP,18
004048D5  |.  E8 1C9D0100   |CALL Ekd5.0041E5F6                                        第一个攻击动作
004048DA  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004048E0  |.  8B49 0C       |MOV ECX,DWORD PTR DS:[ECX+C]
004048E3  |.  E8 3EB70300   |CALL Ekd5.00440026
004048E8  |.  85C0          |TEST EAX,EAX
004048EA  |.  74 10         |JE SHORT Ekd5.004048FC
004048EC  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
004048EE  |.  6A 22         |PUSH 22                                 ; |Arg1 = 00000022
004048F0  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
004048F5  |.  E8 80FD0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
004048FA  |.  EB 30         |JMP SHORT Ekd5.0040492C
004048FC  |>  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00404902  |.  8B4A 0C       |MOV ECX,DWORD PTR DS:[EDX+C]
00404905  |.  E8 FFB60300   |CALL Ekd5.00440009
0040490A  |.  85C0          |TEST EAX,EAX
0040490C  |.  74 10         |JE SHORT Ekd5.0040491E
0040490E  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404910  |.  6A 25         |PUSH 25                                 ; |Arg1 = 00000025
00404912  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404917  |.  E8 5EFD0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
0040491C  |.  EB 0E         |JMP SHORT Ekd5.0040492C
0040491E  |>  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404920  |.  6A 20         |PUSH 20                                 ; |Arg1 = 00000020
00404922  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404927  |.  E8 4EFD0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A

0040492C  |>  E9 B60D0000   |JMP Ekd5.004056E7                                                  返回最后

00404931  |>  E8 A59C0100   |CALL Ekd5.0041E5DB
00404936  |.  B9 083D4B00   |MOV ECX,Ekd5.004B3D08
0040493B  |.  E8 F01D0000   |CALL Ekd5.00406730
00404940  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404942  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404944  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404946  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040494B  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404950  |.  E8 EBB00700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404955  |.  50            |PUSH EAX                                ; |Arg5
00404956  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404958  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040495A  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00404960  |.  83E8 08       |SUB EAX,8                               ; |
00404963  |.  50            |PUSH EAX                                ; |Arg2
00404964  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040496A  |.  83E9 08       |SUB ECX,8                               ; |
0040496D  |.  51            |PUSH ECX                                ; |Arg1
0040496E  |.  E8 A0CF0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404973  |.  83C4 18       |ADD ESP,18
00404976  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404978  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040497A  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040497C  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00404981  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404986  |.  E8 B5B00700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040498B  |.  50            |PUSH EAX                                ; |Arg5
0040498C  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040498E  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404990  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404996  |.  83EA 08       |SUB EDX,8                               ; |
00404999  |.  52            |PUSH EDX                                ; |Arg2
0040499A  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004049A0  |.  83E8 08       |SUB EAX,8                               ; |
004049A3  |.  50            |PUSH EAX                                ; |Arg1
004049A4  |.  E8 6ACF0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
004049A9  |.  83C4 18       |ADD ESP,18
004049AC  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004049B2  |.  33D2          |XOR EDX,EDX
004049B4  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
004049B7  |.  52            |PUSH EDX                                ; /Arg3
004049B8  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
004049BE  |.  50            |PUSH EAX                                ; |Arg2
004049BF  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
004049C5  |.  51            |PUSH ECX                                ; |Arg1
004049C6  |.  E8 54A10300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004049CB  |.  83C4 0C       |ADD ESP,0C
004049CE  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
004049D4  |.  8B4A 0C       |MOV ECX,DWORD PTR DS:[EDX+C]
004049D7  |.  E8 2DB60300   |CALL Ekd5.00440009
004049DC  |.  85C0          |TEST EAX,EAX
004049DE  |.  0F84 78010000 |JE Ekd5.00404B5C

004049E4  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004049EA  |.  83B8 04060000>|CMP DWORD PTR DS:[EAX+604],0
004049F1  |.  0F84 0D010000 |JE Ekd5.00404B04

004049F7  |.  68 00100000   |PUSH 1000                               ; /Arg3 = 00001000
004049FC  |.  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]         ; |
00404A02  |.  51            |PUSH ECX                                ; |Arg2
00404A03  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404A05  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404A07  |.  68 00100000   |PUSH 1000                               ; ||Arg1 = 00001000
00404A0C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404A11  |.  E8 2AB00700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00404A16  |.  50            |PUSH EAX                                ; |Arg1
00404A17  |.  E8 E1B20700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD

00404A1C  |.  83C4 0C       |ADD ESP,0C
00404A1F  |.  8D95 00F0FFFF |LEA EDX,DWORD PTR SS:[EBP-1000]
00404A25  |.  52            |PUSH EDX                                ; /Arg6
00404A26  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404A2C  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
00404A2E  |.  51            |PUSH ECX                                ; |Arg5
00404A2F  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404A31  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404A33  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404A39  |.  83EA 08       |SUB EDX,8                               ; |
00404A3C  |.  52            |PUSH EDX                                ; |Arg2
00404A3D  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
00404A43  |.  83E8 08       |SUB EAX,8                               ; |
00404A46  |.  50            |PUSH EAX                                ; |Arg1
00404A47  |.  E8 30C90400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404A4C  |.  83C4 18       |ADD ESP,18
00404A4F  |.  E8 A29B0100   |CALL Ekd5.0041E5F6
00404A54  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404A56  |.  6A 21         |PUSH 21                                 ; |Arg1 = 00000021
00404A58  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404A5D  |.  E8 18FC0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404A62  |.  C685 E4EFFFFF>|MOV BYTE PTR SS:[EBP-101C],0
00404A69  |.  EB 0F         |JMP SHORT Ekd5.00404A7A
00404A6B  |>  8A8D E4EFFFFF |/MOV CL,BYTE PTR SS:[EBP-101C]
00404A71  |.  80C1 01       ||ADD CL,1
00404A74  |.  888D E4EFFFFF ||MOV BYTE PTR SS:[EBP-101C],CL
00404A7A  |>  8B95 E4EFFFFF | MOV EDX,DWORD PTR SS:[EBP-101C]
00404A80  |.  81E2 FF000000 ||AND EDX,0FF
00404A86  |.  83FA 06       ||CMP EDX,6
00404A89  |.  7D 77         ||JGE SHORT Ekd5.00404B02
00404A8B  |.  6A 01         ||PUSH 1                                 ; /Arg1 = 00000001
00404A8D  |.  B9 181B4B00   ||MOV ECX,Ekd5.004B1B18                  ; |
00404A92  |.  E8 A9E8FFFF   ||CALL Ekd5.00403340                     ; \Ekd5.00403340
00404A97  |.  E8 447A0200   ||CALL Ekd5.0042C4E0
00404A9C  |.  E8 3A9B0100   ||CALL Ekd5.0041E5DB
00404AA1  |.  8B85 E4EFFFFF ||MOV EAX,DWORD PTR SS:[EBP-101C]
00404AA7  |.  25 FF000000   ||AND EAX,0FF
00404AAC  |.  99            ||CDQ
00404AAD  |.  2BC2          ||SUB EAX,EDX
00404AAF  |.  D1F8          ||SAR EAX,1
00404AB1  |.  83C0 01       ||ADD EAX,1
00404AB4  |.  50            ||PUSH EAX                               ; /Arg4
00404AB5  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404AB7  |.  6A 40         ||PUSH 40                                ; |Arg2 = 00000040
00404AB9  |.  8D85 00F0FFFF ||LEA EAX,DWORD PTR SS:[EBP-1000]        ; |
00404ABF  |.  50            ||PUSH EAX                               ; |Arg1
00404AC0  |.  E8 FBB80200   ||CALL Ekd5.004303C0                     ; \Ekd5.004303C0
00404AC5  |.  83C4 10       ||ADD ESP,10
00404AC8  |.  8D8D 00F0FFFF ||LEA ECX,DWORD PTR SS:[EBP-1000]

00404ACE  |.  51            ||PUSH ECX                               ; /Arg6
00404ACF  |.  8B95 CCEFFFFF ||MOV EDX,DWORD PTR SS:[EBP-1034]        ; |
00404AD5  |.  8A02          ||MOV AL,BYTE PTR DS:[EDX]               ; |
00404AD7  |.  50            ||PUSH EAX                               ; |Arg5
00404AD8  |.  6A 40         ||PUSH 40                                ; |Arg4 = 00000040
00404ADA  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404ADC  |.  8B8D D8EFFFFF ||MOV ECX,DWORD PTR SS:[EBP-1028]        ; |
00404AE2  |.  83E9 08       ||SUB ECX,8                              ; |
00404AE5  |.  51            ||PUSH ECX                               ; |Arg2
00404AE6  |.  8B95 DCEFFFFF ||MOV EDX,DWORD PTR SS:[EBP-1024]        ; |
00404AEC  |.  83EA 08       ||SUB EDX,8                              ; |
00404AEF  |.  52            ||PUSH EDX                               ; |Arg1
00404AF0  |.  E8 87C80400   ||CALL Ekd5.0045137C                     ; \Ekd5.0045137C
00404AF5  |.  83C4 18       ||ADD ESP,18
00404AF8  |.  E8 F99A0100   ||CALL Ekd5.0041E5F6

00404AFD  |.^ E9 69FFFFFF   |\JMP Ekd5.00404A6B
00404B02  |>  EB 3D         |JMP SHORT Ekd5.00404B41

00404B04  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404B06  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404B08  |.  68 00100000   |PUSH 1000                               ; |Arg1 = 00001000
00404B0D  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404B12  |.  E8 29AF0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404B17  |.  50            |PUSH EAX                                ; /Arg6
00404B18  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404B1E  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
00404B20  |.  51            |PUSH ECX                                ; |Arg5
00404B21  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404B23  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404B25  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00404B2B  |.  83EA 08       |SUB EDX,8                               ; |
00404B2E  |.  52            |PUSH EDX                                ; |Arg2
00404B2F  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
00404B35  |.  83E8 08       |SUB EAX,8                               ; |
00404B38  |.  50            |PUSH EAX                                ; |Arg1
00404B39  |.  E8 3EC80400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404B3E  |.  83C4 18       |ADD ESP,18
00404B41  |>  E8 B09A0100   |CALL Ekd5.0041E5F6

00404B46  |.  6A 08         |PUSH 8                                  ; /Arg1 = 00000008
00404B48  |.  B9 181B4B00   |MOV ECX,Ekd5.004B1B18                   ; |
00404B4D  |.  E8 EEE7FFFF   |CALL Ekd5.00403340                      ; \Ekd5.00403340
00404B52  |.  E8 89790200   |CALL Ekd5.0042C4E0
00404B57  |.  E9 5B010000   |JMP Ekd5.00404CB7


00404B5C  |>  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
00404B62  |.  83B9 04060000>|CMP DWORD PTR DS:[ECX+604],0
00404B69  |.  0F84 09010000 |JE Ekd5.00404C78
00404B6F  |.  68 00100000   |PUSH 1000                               ; /Arg3 = 00001000
00404B74  |.  8D95 00F0FFFF |LEA EDX,DWORD PTR SS:[EBP-1000]         ; |
00404B7A  |.  52            |PUSH EDX                                ; |Arg2
00404B7B  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404B7D  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404B7F  |.  6A 00         |PUSH 0                                  ; ||Arg1 = 00000000
00404B81  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404B86  |.  E8 B5AE0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404B8B  |.  50            |PUSH EAX                                ; |Arg1
00404B8C  |.  E8 6CB10700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD
00404B91  |.  83C4 0C       |ADD ESP,0C
00404B94  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]
00404B9A  |.  50            |PUSH EAX                                ; /Arg6
00404B9B  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404BA1  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404BA3  |.  52            |PUSH EDX                                ; |Arg5
00404BA4  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404BA6  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404BA8  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404BAE  |.  83E8 08       |SUB EAX,8                               ; |
00404BB1  |.  50            |PUSH EAX                                ; |Arg2
00404BB2  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404BB8  |.  83E9 08       |SUB ECX,8                               ; |
00404BBB  |.  51            |PUSH ECX                                ; |Arg1
00404BBC  |.  E8 BBC70400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404BC1  |.  83C4 18       |ADD ESP,18
00404BC4  |.  E8 2D9A0100   |CALL Ekd5.0041E5F6
00404BC9  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404BCB  |.  6A 21         |PUSH 21                                 ; |Arg1 = 00000021
00404BCD  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404BD2  |.  E8 A3FA0600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404BD7  |.  C685 E4EFFFFF>|MOV BYTE PTR SS:[EBP-101C],0
00404BDE  |.  EB 0F         |JMP SHORT Ekd5.00404BEF
00404BE0  |>  8A95 E4EFFFFF |/MOV DL,BYTE PTR SS:[EBP-101C]
00404BE6  |.  80C2 01       ||ADD DL,1
00404BE9  |.  8895 E4EFFFFF ||MOV BYTE PTR SS:[EBP-101C],DL
00404BEF  |>  8B85 E4EFFFFF | MOV EAX,DWORD PTR SS:[EBP-101C]
00404BF5  |.  25 FF000000   ||AND EAX,0FF
00404BFA  |.  83F8 06       ||CMP EAX,6
00404BFD  |.  7D 77         ||JGE SHORT Ekd5.00404C76
00404BFF  |.  6A 01         ||PUSH 1                                 ; /Arg1 = 00000001
00404C01  |.  B9 181B4B00   ||MOV ECX,Ekd5.004B1B18                  ; |
00404C06  |.  E8 35E7FFFF   ||CALL Ekd5.00403340                     ; \Ekd5.00403340
00404C0B  |.  E8 D0780200   ||CALL Ekd5.0042C4E0
00404C10  |.  E8 C6990100   ||CALL Ekd5.0041E5DB
00404C15  |.  8B85 E4EFFFFF ||MOV EAX,DWORD PTR SS:[EBP-101C]
00404C1B  |.  25 FF000000   ||AND EAX,0FF
00404C20  |.  99            ||CDQ
00404C21  |.  2BC2          ||SUB EAX,EDX
00404C23  |.  D1F8          ||SAR EAX,1
00404C25  |.  83C0 01       ||ADD EAX,1
00404C28  |.  50            ||PUSH EAX                               ; /Arg4
00404C29  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404C2B  |.  6A 40         ||PUSH 40                                ; |Arg2 = 00000040
00404C2D  |.  8D8D 00F0FFFF ||LEA ECX,DWORD PTR SS:[EBP-1000]        ; |
00404C33  |.  51            ||PUSH ECX                               ; |Arg1
00404C34  |.  E8 87B70200   ||CALL Ekd5.004303C0                     ; \Ekd5.004303C0
00404C39  |.  83C4 10       ||ADD ESP,10
00404C3C  |.  8D95 00F0FFFF ||LEA EDX,DWORD PTR SS:[EBP-1000]

00404C42  |.  52            ||PUSH EDX                               ; /Arg6
00404C43  |.  8B85 CCEFFFFF ||MOV EAX,DWORD PTR SS:[EBP-1034]        ; |
00404C49  |.  8A08          ||MOV CL,BYTE PTR DS:[EAX]               ; |
00404C4B  |.  51            ||PUSH ECX                               ; |Arg5
00404C4C  |.  6A 40         ||PUSH 40                                ; |Arg4 = 00000040
00404C4E  |.  6A 40         ||PUSH 40                                ; |Arg3 = 00000040
00404C50  |.  8B95 D8EFFFFF ||MOV EDX,DWORD PTR SS:[EBP-1028]        ; |
00404C56  |.  83EA 08       ||SUB EDX,8                              ; |
00404C59  |.  52            ||PUSH EDX                               ; |Arg2
00404C5A  |.  8B85 DCEFFFFF ||MOV EAX,DWORD PTR SS:[EBP-1024]        ; |
00404C60  |.  83E8 08       ||SUB EAX,8                              ; |
00404C63  |.  50            ||PUSH EAX                               ; |Arg1
00404C64  |.  E8 13C70400   ||CALL Ekd5.0045137C                     ; \Ekd5.0045137C
00404C69  |.  83C4 18       ||ADD ESP,18

00404C6C  |.  E8 85990100   ||CALL Ekd5.0041E5F6
00404C71  |.^ E9 6AFFFFFF   |\JMP Ekd5.00404BE0
00404C76  |>  EB 3A         |JMP SHORT Ekd5.00404CB2

00404C78  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404C7A  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404C7C  |.  6A 00         |PUSH 0                                  ; |Arg1 = 00000000
00404C7E  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404C83  |.  E8 B8AD0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404C88  |.  50            |PUSH EAX                                ; /Arg6
00404C89  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404C8F  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404C91  |.  52            |PUSH EDX                                ; |Arg5
00404C92  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404C94  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404C96  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404C9C  |.  83E8 08       |SUB EAX,8                               ; |
00404C9F  |.  50            |PUSH EAX                                ; |Arg2
00404CA0  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404CA6  |.  83E9 08       |SUB ECX,8                               ; |
00404CA9  |.  51            |PUSH ECX                                ; |Arg1
00404CAA  |.  E8 CDC60400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C        
00404CAF  |.  83C4 18       |ADD ESP,18
00404CB2  |>  E8 3F990100   |CALL Ekd5.0041E5F6                                                被攻击者第一个动作
00404CB7  |>  E9 2B0A0000   |JMP Ekd5.004056E7

00404CBC  |>  E8 1A990100   |CALL Ekd5.0041E5DB                                        //第二个攻击动作
00404CC1  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404CC3  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404CC5  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404CC7  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404CCC  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404CD1  |.  E8 6AAD0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404CD6  |.  50            |PUSH EAX                                ; |Arg5
00404CD7  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404CD9  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404CDB  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404CE1  |.  83EA 08       |SUB EDX,8                               ; |
00404CE4  |.  52            |PUSH EDX                                ; |Arg2
00404CE5  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00404CEB  |.  83E8 08       |SUB EAX,8                               ; |
00404CEE  |.  50            |PUSH EAX                                ; |Arg1
00404CEF  |.  E8 1FCC0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404CF4  |.  83C4 18       |ADD ESP,18
00404CF7  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404CF9  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404CFB  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404CFD  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00404D02  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404D07  |.  E8 34AD0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404D0C  |.  50            |PUSH EAX                                ; |Arg5
00404D0D  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404D0F  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404D11  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00404D17  |.  83E9 08       |SUB ECX,8                               ; |
00404D1A  |.  51            |PUSH ECX                                ; |Arg2
00404D1B  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00404D21  |.  83EA 08       |SUB EDX,8                               ; |
00404D24  |.  52            |PUSH EDX                                ; |Arg1
00404D25  |.  E8 E9CB0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404D2A  |.  83C4 18       |ADD ESP,18
00404D2D  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00404D33  |.  33C9          |XOR ECX,ECX
00404D35  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00404D38  |.  51            |PUSH ECX                                ; /Arg3
00404D39  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404D3F  |.  52            |PUSH EDX                                ; |Arg2
00404D40  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00404D46  |.  50            |PUSH EAX                                ; |Arg1
00404D47  |.  E8 D39D0300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404D4C  |.  83C4 0C       |ADD ESP,0C

00404D4F  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404D51  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404D53  |.  68 00100000   |PUSH 1000                               ; |Arg1 = 00001000
00404D58  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404D5D  |.  E8 DEAC0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404D62  |.  50            |PUSH EAX                                ; /Arg6
00404D63  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404D69  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404D6B  |.  52            |PUSH EDX                                ; |Arg5
00404D6C  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404D6E  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404D70  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404D76  |.  83E8 08       |SUB EAX,8                               ; |
00404D79  |.  50            |PUSH EAX                                ; |Arg2
00404D7A  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404D80  |.  83E9 08       |SUB ECX,8                               ; |
00404D83  |.  51            |PUSH ECX                                ; |Arg1
00404D84  |.  E8 F3C50400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404D89  |.  83C4 18       |ADD ESP,18
00404D8C  |.  E8 65980100   |CALL Ekd5.0041E5F6                                                第二个攻击动作
00404D91  |.  E9 51090000   |JMP Ekd5.004056E7

00404D96  |>  E8 40980100   |CALL Ekd5.0041E5DB
00404D9B  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404D9D  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404D9F  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404DA1  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
00404DA6  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404DAB  |.  E8 90AC0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404DB0  |.  50            |PUSH EAX                                ; |Arg5
00404DB1  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404DB3  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404DB5  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404DBB  |.  83EA 08       |SUB EDX,8                               ; |
00404DBE  |.  52            |PUSH EDX                                ; |Arg2
00404DBF  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00404DC5  |.  83E8 08       |SUB EAX,8                               ; |
00404DC8  |.  50            |PUSH EAX                                ; |Arg1
00404DC9  |.  E8 45CB0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404DCE  |.  83C4 18       |ADD ESP,18
00404DD1  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00404DD3  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404DD5  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404DD7  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00404DDC  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404DE1  |.  E8 5AAC0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404DE6  |.  50            |PUSH EAX                                ; |Arg5
00404DE7  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404DE9  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404DEB  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00404DF1  |.  83E9 08       |SUB ECX,8                               ; |
00404DF4  |.  51            |PUSH ECX                                ; |Arg2
00404DF5  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00404DFB  |.  83EA 08       |SUB EDX,8                               ; |
00404DFE  |.  52            |PUSH EDX                                ; |Arg1
00404DFF  |.  E8 0FCB0400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00404E04  |.  83C4 18       |ADD ESP,18
00404E07  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00404E0D  |.  33C9          |XOR ECX,ECX
00404E0F  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00404E12  |.  6BC9 24       |IMUL ECX,ECX,24
00404E15  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
00404E1B  |.  E8 70DE0600   |CALL Ekd5.00472C90
00404E20  |.  85C0          |TEST EAX,EAX
00404E22  |.  75 35         |JNZ SHORT Ekd5.00404E59
00404E24  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00404E2A  |.  33C0          |XOR EAX,EAX
00404E2C  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00404E2F  |.  50            |PUSH EAX                                ; /Arg3
00404E30  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
00404E36  |.  51            |PUSH ECX                                ; |Arg2
00404E37  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00404E3D  |.  52            |PUSH EDX                                ; |Arg1
00404E3E  |.  E8 DC9C0300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
00404E43  |.  83C4 0C       |ADD ESP,0C
00404E46  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404E48  |.  6A 07         |PUSH 7                                  ; |Arg1 = 00000007
00404E4A  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404E4F  |.  E8 26F80600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404E54  |.  E9 5A010000   |JMP Ekd5.00404FB3
00404E59  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00404E5F  |.  83B8 84000000>|CMP DWORD PTR DS:[EAX+84],0
00404E66  |.  0F85 A5000000 |JNZ Ekd5.00404F11
00404E6C  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
00404E72  |.  83B9 54020000>|CMP DWORD PTR DS:[ECX+254],0
00404E79  |.  0F85 92000000 |JNZ Ekd5.00404F11
00404E7F  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404E81  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404E83  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
00404E88  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404E8D  |.  E8 AEAB0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00404E92  |.  50            |PUSH EAX                                ; /Arg6
00404E93  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00404E99  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
00404E9C  |.  50            |PUSH EAX                                ; |Arg5
00404E9D  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00404E9F  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00404EA1  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404EA7  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404EAD  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
00404EB3  |.  52            |PUSH EDX                                ; |Arg2
00404EB4  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404EBA  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404EC0  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
00404EC6  |.  51            |PUSH ECX                                ; |Arg1
00404EC7  |.  E8 B0C40400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404ECC  |.  83C4 18       |ADD ESP,18
00404ECF  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00404ED5  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]
00404ED7  |.  50            |PUSH EAX                                ; /Arg2
00404ED8  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404EDE  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
00404EE1  |.  52            |PUSH EDX                                ; |Arg1
00404EE2  |.  E8 42090300   |CALL Ekd5.00435829                      ; \Ekd5.00435829
00404EE7  |.  83C4 08       |ADD ESP,8
00404EEA  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404EEC  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404EF2  |.  33C9          |XOR ECX,ECX                             ; |
00404EF4  |.  83B8 04060000>|CMP DWORD PTR DS:[EAX+604],0            ; |
00404EFB  |.  0F95C1        |SETNE CL                                ; |
00404EFE  |.  83C1 1E       |ADD ECX,1E                              ; |
00404F01  |.  51            |PUSH ECX                                ; |Arg1
00404F02  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404F07  |.  E8 6EF70600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A
00404F0C  |.  E9 A2000000   |JMP Ekd5.00404FB3
00404F11  |>  68 00090000   |PUSH 900                                ; /Arg3 = 00000900
00404F16  |.  8D95 00F0FFFF |LEA EDX,DWORD PTR SS:[EBP-1000]         ; |
00404F1C  |.  52            |PUSH EDX                                ; |Arg2
00404F1D  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00404F1F  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00404F21  |.  68 00400000   |PUSH 4000                               ; ||Arg1 = 00004000
00404F26  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00404F2B  |.  E8 10AB0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00404F30  |.  50            |PUSH EAX                                ; |Arg1
00404F31  |.  E8 C7AD0700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD
00404F36  |.  83C4 0C       |ADD ESP,0C
00404F39  |.  6A 0C         |PUSH 0C                                 ; /Arg4 = 0000000C
00404F3B  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00404F3D  |.  6A 30         |PUSH 30                                 ; |Arg2 = 00000030
00404F3F  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]         ; |
00404F45  |.  50            |PUSH EAX                                ; |Arg1
00404F46  |.  E8 75B40200   |CALL Ekd5.004303C0                      ; \Ekd5.004303C0
00404F4B  |.  83C4 10       |ADD ESP,10
00404F4E  |.  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]
00404F54  |.  51            |PUSH ECX                                ; /Arg6
00404F55  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00404F5B  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
00404F5E  |.  50            |PUSH EAX                                ; |Arg5
00404F5F  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00404F61  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00404F63  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404F69  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00404F6F  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
00404F75  |.  52            |PUSH EDX                                ; |Arg2
00404F76  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00404F7C  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00404F82  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
00404F88  |.  51            |PUSH ECX                                ; |Arg1
00404F89  |.  E8 EEC30400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404F8E  |.  83C4 18       |ADD ESP,18
00404F91  |.  6A 01         |PUSH 1                                  ; /Arg2 = 00000001
00404F93  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00404F99  |.  33C0          |XOR EAX,EAX                             ; |
00404F9B  |.  83BA 04060000>|CMP DWORD PTR DS:[EDX+604],0            ; |
00404FA2  |.  0F95C0        |SETNE AL                                ; |
00404FA5  |.  83C0 23       |ADD EAX,23                              ; |
00404FA8  |.  50            |PUSH EAX                                ; |Arg1
00404FA9  |.  B9 B0694B00   |MOV ECX,Ekd5.004B69B0                   ; |
00404FAE  |.  E8 C7F60600   |CALL Ekd5.0047467A                      ; \Ekd5.0047467A

00404FB3  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00404FB5  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00404FB7  |.  68 00200000   |PUSH 2000                               ; |Arg1 = 00002000
00404FBC  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00404FC1  |.  E8 7AAA0700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40

00404FC6  |.  50            |PUSH EAX                                ; /Arg6
00404FC7  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00404FCD  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
00404FCF  |.  52            |PUSH EDX                                ; |Arg5
00404FD0  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00404FD2  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00404FD4  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00404FDA  |.  83E8 08       |SUB EAX,8                               ; |
00404FDD  |.  50            |PUSH EAX                                ; |Arg2
00404FDE  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00404FE4  |.  83E9 08       |SUB ECX,8                               ; |
00404FE7  |.  51            |PUSH ECX                                ; |Arg1
00404FE8  |.  E8 8FC30400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00404FED  |.  83C4 18       |ADD ESP,18
00404FF0  |.  E8 01960100   |CALL Ekd5.0041E5F6                                           第三个攻击动作 被攻击者动作也有(被攻击者图发光)
00404FF5  |.  E9 ED060000   |JMP Ekd5.004056E7

00404FFA  |>  E8 DC950100   |CALL Ekd5.0041E5DB
00404FFF  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405001  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405003  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00405005  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040500A  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
0040500F  |.  E8 2CAA0700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00405014  |.  50            |PUSH EAX                                ; |Arg5
00405015  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405017  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405019  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
0040501F  |.  83EA 08       |SUB EDX,8                               ; |
00405022  |.  52            |PUSH EDX                                ; |Arg2
00405023  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00405029  |.  83E8 08       |SUB EAX,8                               ; |
0040502C  |.  50            |PUSH EAX                                ; |Arg1
0040502D  |.  E8 E1C80400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405032  |.  83C4 18       |ADD ESP,18
00405035  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405037  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405039  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040503B  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00405040  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405045  |.  E8 F6A90700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040504A  |.  50            |PUSH EAX                                ; |Arg5
0040504B  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040504D  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040504F  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00405055  |.  83E9 08       |SUB ECX,8                               ; |
00405058  |.  51            |PUSH ECX                                ; |Arg2
00405059  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
0040505F  |.  83EA 08       |SUB EDX,8                               ; |
00405062  |.  52            |PUSH EDX                                ; |Arg1
00405063  |.  E8 ABC80400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405068  |.  83C4 18       |ADD ESP,18
0040506B  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405071  |.  33C9          |XOR ECX,ECX
00405073  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00405076  |.  6BC9 24       |IMUL ECX,ECX,24
00405079  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
0040507F  |.  E8 0CDC0600   |CALL Ekd5.00472C90
00405084  |.  85C0          |TEST EAX,EAX
00405086  |.  75 27         |JNZ SHORT Ekd5.004050AF
00405088  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
0040508E  |.  33C0          |XOR EAX,EAX
00405090  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00405093  |.  50            |PUSH EAX                                ; /Arg3
00405094  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040509A  |.  51            |PUSH ECX                                ; |Arg2
0040509B  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
004050A1  |.  52            |PUSH EDX                                ; |Arg1
004050A2  |.  E8 789A0300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004050A7  |.  83C4 0C       |ADD ESP,0C
004050AA  |.  E9 36010000   |JMP Ekd5.004051E5
004050AF  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004050B5  |.  83B8 84000000>|CMP DWORD PTR DS:[EAX+84],0
004050BC  |.  75 7F         |JNZ SHORT Ekd5.0040513D
004050BE  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004050C4  |.  83B9 54020000>|CMP DWORD PTR DS:[ECX+254],0
004050CB  |.  75 70         |JNZ SHORT Ekd5.0040513D
004050CD  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004050CF  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004050D1  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
004050D6  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004050DB  |.  E8 60A90700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004050E0  |.  50            |PUSH EAX                                ; /Arg6
004050E1  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004050E7  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
004050EA  |.  50            |PUSH EAX                                ; |Arg5
004050EB  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
004050ED  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
004050EF  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004050F5  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
004050FB  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
00405101  |.  52            |PUSH EDX                                ; |Arg2
00405102  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00405108  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040510E  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
00405114  |.  51            |PUSH ECX                                ; |Arg1
00405115  |.  E8 62C20400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
0040511A  |.  83C4 18       |ADD ESP,18
0040511D  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00405123  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]
00405125  |.  50            |PUSH EAX                                ; /Arg2
00405126  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
0040512C  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
0040512F  |.  52            |PUSH EDX                                ; |Arg1
00405130  |.  E8 F4060300   |CALL Ekd5.00435829                      ; \Ekd5.00435829
00405135  |.  83C4 08       |ADD ESP,8
00405138  |.  E9 A8000000   |JMP Ekd5.004051E5
0040513D  |>  68 00090000   |PUSH 900                                ; /Arg3 = 00000900
00405142  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]         ; |
00405148  |.  50            |PUSH EAX                                ; |Arg2
00405149  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040514B  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040514D  |.  68 00400000   |PUSH 4000                               ; ||Arg1 = 00004000
00405152  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405157  |.  E8 E4A80700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040515C  |.  50            |PUSH EAX                                ; |Arg1
0040515D  |.  E8 9BAB0700   |CALL Ekd5.0047FCFD                      ; \Ekd5.0047FCFD
00405162  |.  83C4 0C       |ADD ESP,0C
00405165  |.  6A 0C         |PUSH 0C                                 ; /Arg4 = 0000000C
00405167  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405169  |.  6A 30         |PUSH 30                                 ; |Arg2 = 00000030
0040516B  |.  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]         ; |
00405171  |.  51            |PUSH ECX                                ; |Arg1
00405172  |.  E8 49B20200   |CALL Ekd5.004303C0                      ; \Ekd5.004303C0
00405177  |.  83C4 10       |ADD ESP,10
0040517A  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
00405180  |.  83BA 04060000>|CMP DWORD PTR DS:[EDX+604],0
00405187  |.  74 19         |JE SHORT Ekd5.004051A2
00405189  |.  6A 04         |PUSH 4                                  ; /Arg6 = 00000004
0040518B  |.  6A 0F         |PUSH 0F                                 ; |Arg5 = 0000000F
0040518D  |.  6A 0F         |PUSH 0F                                 ; |Arg4 = 0000000F
0040518F  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405191  |.  6A 30         |PUSH 30                                 ; |Arg2 = 00000030
00405193  |.  8D85 00F0FFFF |LEA EAX,DWORD PTR SS:[EBP-1000]         ; |
00405199  |.  50            |PUSH EAX                                ; |Arg1
0040519A  |.  E8 9FB30200   |CALL Ekd5.0043053E                      ; \Ekd5.0043053E
0040519F  |.  83C4 18       |ADD ESP,18
004051A2  |>  8D8D 00F0FFFF |LEA ECX,DWORD PTR SS:[EBP-1000]



004051A8  |.  51            |PUSH ECX                                ; /Arg6
004051A9  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004051AF  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
004051B2  |.  50            |PUSH EAX                                ; |Arg5
004051B3  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
004051B5  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
004051B7  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004051BD  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
004051C3  |.  0391 10060000 |ADD EDX,DWORD PTR DS:[ECX+610]          ; |
004051C9  |.  52            |PUSH EDX                                ; |Arg2
004051CA  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004051D0  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
004051D6  |.  0388 0C060000 |ADD ECX,DWORD PTR DS:[EAX+60C]          ; |
004051DC  |.  51            |PUSH ECX                                ; |Arg1
004051DD  |.  E8 9AC10400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004051E2  |.  83C4 18       |ADD ESP,18
004051E5  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004051E7  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004051E9  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000      
004051EE  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004051F3  |.  E8 48A80700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004051F8  |.  50            |PUSH EAX                                ; /Arg6
004051F9  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004051FF  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]                ; |
00405201  |.  50            |PUSH EAX                                ; |Arg5
00405202  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405204  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405206  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
0040520C  |.  83E9 08       |SUB ECX,8                               ; |
0040520F  |.  51            |PUSH ECX                                ; |Arg2
00405210  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00405216  |.  83EA 08       |SUB EDX,8                               ; |
00405219  |.  52            |PUSH EDX                                ; |Arg1
0040521A  |.  E8 5DC10400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
0040521F  |.  83C4 18       |ADD ESP,18
00405222  |.  E8 CF930100   |CALL Ekd5.0041E5F6                                                第四个攻击动作
00405227  |.  E9 BB040000   |JMP Ekd5.004056E7

0040522C  |>  E8 AA930100   |CALL Ekd5.0041E5DB
00405231  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405233  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405235  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00405237  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040523C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405241  |.  E8 FAA70700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00405246  |.  50            |PUSH EAX                                ; |Arg5
00405247  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405249  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040524B  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00405251  |.  83E8 08       |SUB EAX,8                               ; |
00405254  |.  50            |PUSH EAX                                ; |Arg2
00405255  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040525B  |.  83E9 08       |SUB ECX,8                               ; |
0040525E  |.  51            |PUSH ECX                                ; |Arg1
0040525F  |.  E8 AFC60400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405264  |.  83C4 18       |ADD ESP,18
00405267  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405269  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040526B  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040526D  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00405272  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405277  |.  E8 C4A70700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
0040527C  |.  50            |PUSH EAX                                ; |Arg5
0040527D  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040527F  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405281  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
00405287  |.  83EA 08       |SUB EDX,8                               ; |
0040528A  |.  52            |PUSH EDX                                ; |Arg2
0040528B  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
00405291  |.  83E8 08       |SUB EAX,8                               ; |
00405294  |.  50            |PUSH EAX                                ; |Arg1
00405295  |.  E8 79C60400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
0040529A  |.  83C4 18       |ADD ESP,18
0040529D  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004052A3  |.  33D2          |XOR EDX,EDX
004052A5  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
004052A8  |.  8BCA          |MOV ECX,EDX
004052AA  |.  6BC9 24       |IMUL ECX,ECX,24
004052AD  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
004052B3  |.  E8 D8D90600   |CALL Ekd5.00472C90
004052B8  |.  85C0          |TEST EAX,EAX
004052BA  |.  75 24         |JNZ SHORT Ekd5.004052E0
004052BC  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004052C2  |.  33C9          |XOR ECX,ECX
004052C4  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
004052C7  |.  51            |PUSH ECX                                ; /Arg3
004052C8  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
004052CE  |.  52            |PUSH EDX                                ; |Arg2
004052CF  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
004052D5  |.  50            |PUSH EAX                                ; |Arg1
004052D6  |.  E8 44980300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004052DB  |.  83C4 0C       |ADD ESP,0C
004052DE  |.  EB 38         |JMP SHORT Ekd5.00405318

004052E0  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004052E2  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004052E4  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
004052E9  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004052EE  |.  E8 4DA70700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
004052F3  |.  50            |PUSH EAX                                ; /Arg6
004052F4  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004052FA  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
004052FD  |.  52            |PUSH EDX                                ; |Arg5
004052FE  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00405300  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405302  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00405308  |.  50            |PUSH EAX                                ; |Arg2
00405309  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040530F  |.  51            |PUSH ECX                                ; |Arg1
00405310  |.  E8 67C00400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00405315  |.  83C4 18       |ADD ESP,18
00405318  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040531A  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040531C  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000
00405321  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00405326  |.  E8 15A70700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
0040532B  |.  50            |PUSH EAX                                ; /Arg6
0040532C  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
00405332  |.  8A02          |MOV AL,BYTE PTR DS:[EDX]                ; |
00405334  |.  50            |PUSH EAX                                ; |Arg5
00405335  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405337  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405339  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
0040533F  |.  83E9 08       |SUB ECX,8                               ; |
00405342  |.  51            |PUSH ECX                                ; |Arg2
00405343  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00405349  |.  83EA 08       |SUB EDX,8                               ; |
0040534C  |.  52            |PUSH EDX                                ; |Arg1
0040534D  |.  E8 2AC00400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00405352  |.  83C4 18       |ADD ESP,18
00405355  |.  E8 9C920100   |CALL Ekd5.0041E5F6                                                被攻击者动作  (发光没了)
0040535A  |.  E9 88030000   |JMP Ekd5.004056E7

0040535F  |>  E8 77920100   |CALL Ekd5.0041E5DB
00405364  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405366  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405368  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040536A  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040536F  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405374  |.  E8 C7A60700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
00405379  |.  50            |PUSH EAX                                ; |Arg5
0040537A  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040537C  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040537E  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
00405384  |.  83E8 08       |SUB EAX,8                               ; |
00405387  |.  50            |PUSH EAX                                ; |Arg2
00405388  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
0040538E  |.  83E9 08       |SUB ECX,8                               ; |
00405391  |.  51            |PUSH ECX                                ; |Arg1
00405392  |.  E8 7CC50400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405397  |.  83C4 18       |ADD ESP,18
0040539A  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
0040539C  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040539E  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
004053A0  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
004053A5  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
004053AA  |.  E8 91A60700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40
004053AF  |.  50            |PUSH EAX                                ; |Arg5
004053B0  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004053B2  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004053B4  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004053BA  |.  83EA 08       |SUB EDX,8                               ; |
004053BD  |.  52            |PUSH EDX                                ; |Arg2
004053BE  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004053C4  |.  83E8 08       |SUB EAX,8                               ; |
004053C7  |.  50            |PUSH EAX                                ; |Arg1
004053C8  |.  E8 46C50400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
004053CD  |.  83C4 18       |ADD ESP,18
004053D0  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004053D6  |.  33D2          |XOR EDX,EDX
004053D8  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
004053DB  |.  8BCA          |MOV ECX,EDX
004053DD  |.  6BC9 24       |IMUL ECX,ECX,24
004053E0  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
004053E6  |.  E8 A5D80600   |CALL Ekd5.00472C90
004053EB  |.  85C0          |TEST EAX,EAX
004053ED  |.  75 64         |JNZ SHORT Ekd5.00405453
004053EF  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
004053F5  |.  33C9          |XOR ECX,ECX
004053F7  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
004053FA  |.  51            |PUSH ECX                                ; /Arg3
004053FB  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00405401  |.  52            |PUSH EDX                                ; |Arg2
00405402  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
00405408  |.  50            |PUSH EAX                                ; |Arg1
00405409  |.  E8 11970300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
0040540E  |.  83C4 0C       |ADD ESP,0C
00405411  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00405413  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00405415  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000
0040541A  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
0040541F  |.  E8 1CA60700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00405424  |.  50            |PUSH EAX                                ; /Arg6
00405425  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
0040542B  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]                ; |
0040542D  |.  52            |PUSH EDX                                ; |Arg5
0040542E  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405430  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405432  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
00405438  |.  83E8 08       |SUB EAX,8                               ; |
0040543B  |.  50            |PUSH EAX                                ; |Arg2
0040543C  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
00405442  |.  83E9 08       |SUB ECX,8                               ; |
00405445  |.  51            |PUSH ECX                                ; |Arg1
00405446  |.  E8 31BF0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
0040544B  |.  83C4 18       |ADD ESP,18
0040544E  |.  E9 DB000000   |JMP Ekd5.0040552E
00405453  |>  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
00405455  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
00405457  |.  68 00400000   |PUSH 4000                               ; |Arg1 = 00004000
0040545C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00405461  |.  E8 DAA50700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00405466  |.  50            |PUSH EAX                                ; /Arg6
00405467  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
0040546D  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
00405470  |.  50            |PUSH EAX                                ; |Arg5
00405471  |.  6A 30         |PUSH 30                                 ; |Arg4 = 00000030
00405473  |.  6A 30         |PUSH 30                                 ; |Arg3 = 00000030
00405475  |.  8B8D D0EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1030]         ; |
0040547B  |.  51            |PUSH ECX                                ; |Arg2
0040547C  |.  8B95 D4EFFFFF |MOV EDX,DWORD PTR SS:[EBP-102C]         ; |
00405482  |.  52            |PUSH EDX                                ; |Arg1
00405483  |.  E8 F4BE0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
00405488  |.  83C4 18       |ADD ESP,18
0040548B  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
0040548D  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
0040548F  |.  68 00300000   |PUSH 3000                               ; |Arg1 = 00003000
00405494  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
00405499  |.  E8 A2A50700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
0040549E  |.  50            |PUSH EAX                                ; /Arg6
0040549F  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
004054A5  |.  8A08          |MOV CL,BYTE PTR DS:[EAX]                ; |
004054A7  |.  51            |PUSH ECX                                ; |Arg5
004054A8  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
004054AA  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
004054AC  |.  8B95 D8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1028]         ; |
004054B2  |.  83EA 08       |SUB EDX,8                               ; |
004054B5  |.  52            |PUSH EDX                                ; |Arg2
004054B6  |.  8B85 DCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1024]         ; |
004054BC  |.  83E8 08       |SUB EAX,8                               ; |
004054BF  |.  50            |PUSH EAX                                ; |Arg1
004054C0  |.  E8 B7BE0400   |CALL Ekd5.0045137C                      ; \Ekd5.0045137C
004054C5  |.  83C4 18       |ADD ESP,18
004054C8  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004054CE  |.  83B9 84000000>|CMP DWORD PTR DS:[ECX+84],0
004054D5  |.  74 25         |JE SHORT Ekd5.004054FC
004054D7  |.  6A 18         |PUSH 18                                 ; /Arg4 = 00000018
004054D9  |.  6A 12         |PUSH 12                                 ; |Arg3 = 00000012
004054DB  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004054E1  |.  8B82 84000000 |MOV EAX,DWORD PTR DS:[EDX+84]           ; |
004054E7  |.  50            |PUSH EAX                                ; |Arg2
004054E8  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004054EE  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]              ; |
004054F1  |.  52            |PUSH EDX                                ; |Arg1
004054F2  |.  E8 FAA50400   |CALL Ekd5.0044FAF1                      ; \Ekd5.0044FAF1
004054F7  |.  83C4 10       |ADD ESP,10
004054FA  |.  EB 32         |JMP SHORT Ekd5.0040552E
004054FC  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405502  |.  83B8 54020000>|CMP DWORD PTR DS:[EAX+254],0
00405509  |.  74 23         |JE SHORT Ekd5.0040552E
0040550B  |.  6A 18         |PUSH 18                                 ; /Arg4 = 00000018
0040550D  |.  6A 45         |PUSH 45                                 ; |Arg3 = 00000045
0040550F  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00405515  |.  8B91 54020000 |MOV EDX,DWORD PTR DS:[ECX+254]          ; |
0040551B  |.  52            |PUSH EDX                                ; |Arg2
0040551C  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]         ; |
00405522  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]              ; |
00405525  |.  51            |PUSH ECX                                ; |Arg1
00405526  |.  E8 C6A50400   |CALL Ekd5.0044FAF1                      ; \Ekd5.0044FAF1
0040552B  |.  83C4 10       |ADD ESP,10
0040552E  |>  E8 C3900100   |CALL Ekd5.0041E5F6                                        显示伤害点数
00405533  |.  8B95 F0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1010]
00405539  |.  52            |PUSH EDX                                ; /Arg1
0040553A  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
00405540  |.  E8 41ECFFFF   |CALL Ekd5.00404186                      ; \Ekd5.00404186
00405545  |.  E9 9D010000   |JMP Ekd5.004056E7

0040554A  |>  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405550  |.  8B88 84000000 |MOV ECX,DWORD PTR DS:[EAX+84]
00405556  |.  51            |PUSH ECX
00405557  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]
0040555D  |.  33C0          |XOR EAX,EAX
0040555F  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]
00405562  |.  8BC8          |MOV ECX,EAX
00405564  |.  6BC9 24       |IMUL ECX,ECX,24
00405567  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
0040556D  |.  E8 1ED70600   |CALL Ekd5.00472C90
00405572  |.  50            |PUSH EAX                                ; |Arg1
00405573  |.  E8 26A50700   |CALL Ekd5.0047FA9E                      ; \Ekd5.0047FA9E
00405578  |.  83C4 08       |ADD ESP,8
0040557B  |.  8BF0          |MOV ESI,EAX
0040557D  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
00405583  |.  33D2          |XOR EDX,EDX
00405585  |.  8A51 01       |MOV DL,BYTE PTR DS:[ECX+1]
00405588  |.  8BCA          |MOV ECX,EDX
0040558A  |.  6BC9 24       |IMUL ECX,ECX,24
0040558D  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50
00405593  |.  E8 D8A00500   |CALL Ekd5.0045F670
00405598  |.  8BC8          |MOV ECX,EAX
0040559A  |.  6BC9 48       |IMUL ECX,ECX,48
0040559D  |.  81C1 0000D600 |ADD ECX,0D60000
004055A3  |.  E8 731C0000   |CALL Ekd5.0040721B
004055A8  |.  33D2          |XOR EDX,EDX
004055AA  |.  B9 05000000   |MOV ECX,5
004055AF  |.  F7F1          |DIV ECX
004055B1  |.  3BF0          |CMP ESI,EAX
004055B3  |.  73 1D         |JNB SHORT Ekd5.004055D2
004055B5  |.  6A 20         |PUSH 20                                 ; /Arg1 = 00000020
004055B7  |.  8B95 CCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1034]         ; |
004055BD  |.  33C0          |XOR EAX,EAX                             ; |
004055BF  |.  8A42 01       |MOV AL,BYTE PTR DS:[EDX+1]              ; |
004055C2  |.  8BC8          |MOV ECX,EAX                             ; |
004055C4  |.  6BC9 24       |IMUL ECX,ECX,24                         ; |
004055C7  |.  81C1 502C4B00 |ADD ECX,Ekd5.004B2C50                   ; |
004055CD  |.  E8 46D10300   |CALL Ekd5.00442718                      ; \Ekd5.00442718
004055D2  |>  E8 04900100   |CALL Ekd5.0041E5DB
004055D7  |.  8B8D FCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1004]
004055DD  |.  51            |PUSH ECX                                ; /Arg2
004055DE  |.  8B95 F8EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1008]         ; |
004055E4  |.  52            |PUSH EDX                                ; |Arg1
004055E5  |.  E8 0FE1FFFF   |CALL Ekd5.004036F9                      ; \Ekd5.004036F9
004055EA  |.  83C4 08       |ADD ESP,8
004055ED  |.  6A 04         |PUSH 4                                  ; /Arg3 = 00000004
004055EF  |.  6A 00         |PUSH 0                                  ; |Arg2 = 00000000
004055F1  |.  68 00590000   |PUSH 5900                               ; |Arg1 = 00005900
004055F6  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; |
004055FB  |.  E8 40A40700   |CALL Ekd5.0047FA40                      ; \Ekd5.0047FA40
00405600  |.  50            |PUSH EAX                                ; /Arg5
00405601  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405603  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405605  |.  8B85 D0EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1030]         ; |
0040560B  |.  83E8 08       |SUB EAX,8                               ; |
0040560E  |.  50            |PUSH EAX                                ; |Arg2
0040560F  |.  8B8D D4EFFFFF |MOV ECX,DWORD PTR SS:[EBP-102C]         ; |
00405615  |.  83E9 08       |SUB ECX,8                               ; |
00405618  |.  51            |PUSH ECX                                ; |Arg1
00405619  |.  E8 C8C30400   |CALL Ekd5.004519E6                      ; \Ekd5.004519E6
0040561E  |.  83C4 14       |ADD ESP,14

00405621  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405623  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
00405625  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
00405627  |.  68 00590000   |PUSH 5900                               ; ||Arg1 = 00005900
0040562C  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405631  |.  E8 0AA40700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

00405636  |.  50            |PUSH EAX                                ; |Arg5
00405637  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
00405639  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
0040563B  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
00405641  |.  83EA 08       |SUB EDX,8                               ; |
00405644  |.  52            |PUSH EDX                                ; |Arg2
00405645  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
0040564B  |.  83E8 08       |SUB EAX,8                               ; |
0040564E  |.  50            |PUSH EAX                                ; |Arg1
0040564F  |.  E8 BFC20400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
00405654  |.  83C4 18       |ADD ESP,18

00405657  |.  6A 00         |PUSH 0                                  ; /Arg6 = 00000000
00405659  |.  6A 04         |PUSH 4                                  ; |/Arg3 = 00000004
0040565B  |.  6A 00         |PUSH 0                                  ; ||Arg2 = 00000000
0040565D  |.  68 00490000   |PUSH 4900                               ; ||Arg1 = 00004900
00405662  |.  B9 C8E44A00   |MOV ECX,Ekd5.004AE4C8                   ; ||
00405667  |.  E8 D4A30700   |CALL Ekd5.0047FA40                      ; |\Ekd5.0047FA40

0040566C  |.  50            |PUSH EAX                                ; |Arg5
0040566D  |.  6A 40         |PUSH 40                                 ; |Arg4 = 00000040
0040566F  |.  6A 40         |PUSH 40                                 ; |Arg3 = 00000040
00405671  |.  8B8D D8EFFFFF |MOV ECX,DWORD PTR SS:[EBP-1028]         ; |
00405677  |.  83E9 08       |SUB ECX,8                               ; |
0040567A  |.  51            |PUSH ECX                                ; |Arg2
0040567B  |.  8B95 DCEFFFFF |MOV EDX,DWORD PTR SS:[EBP-1024]         ; |
00405681  |.  83EA 08       |SUB EDX,8                               ; |
00405684  |.  52            |PUSH EDX                                ; |Arg1
00405685  |.  E8 89C20400   |CALL Ekd5.00451913                      ; \Ekd5.00451913
0040568A  |.  83C4 18       |ADD ESP,18

0040568D  |.  8B85 CCEFFFFF |MOV EAX,DWORD PTR SS:[EBP-1034]
00405693  |.  33C9          |XOR ECX,ECX
00405695  |.  8A48 01       |MOV CL,BYTE PTR DS:[EAX+1]
00405698  |.  51            |PUSH ECX                                ; /Arg3
00405699  |.  8B95 D0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1030]         ; |
0040569F  |.  52            |PUSH EDX                                ; |Arg2
004056A0  |.  8B85 D4EFFFFF |MOV EAX,DWORD PTR SS:[EBP-102C]         ; |
004056A6  |.  50            |PUSH EAX                                ; |Arg1
004056A7  |.  E8 73940300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004056AC  |.  83C4 0C       |ADD ESP,0C

004056AF  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]
004056B5  |.  33D2          |XOR EDX,EDX
004056B7  |.  8A11          |MOV DL,BYTE PTR DS:[ECX]
004056B9  |.  52            |PUSH EDX                                ; /Arg3
004056BA  |.  8B85 D8EFFFFF |MOV EAX,DWORD PTR SS:[EBP-1028]         ; |
004056C0  |.  50            |PUSH EAX                                ; |Arg2
004056C1  |.  8B8D DCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1024]         ; |
004056C7  |.  51            |PUSH ECX                                ; |Arg1
004056C8  |.  E8 52940300   |CALL Ekd5.0043EB1F                      ; \Ekd5.0043EB1F
004056CD  |.  83C4 0C       |ADD ESP,0C
004056D0  |.  E8 218F0100   |CALL Ekd5.0041E5F6                                                回复正常  (攻击者和被攻击)
004056D5  |.  8B95 F0EFFFFF |MOV EDX,DWORD PTR SS:[EBP-1010]
004056DB  |.  52            |PUSH EDX                                ; /Arg1
004056DC  |.  8B8D CCEFFFFF |MOV ECX,DWORD PTR SS:[EBP-1034]         ; |
004056E2  |.  E8 9FEAFFFF   |CALL Ekd5.00404186                      ; \Ekd5.00404186
004056E7  |>  6A 01         |PUSH 1                                  ; /Arg1 = 00000001   多数返回点
004056E9  |.  B9 181B4B00   |MOV ECX,Ekd5.004B1B18                   ; |
004056EE  |.  E8 4DDCFFFF   |CALL Ekd5.00403340                      ; \Ekd5.00403340
004056F3  |.  E8 E86D0200   |CALL Ekd5.0042C4E0
004056F8  |.^ E9 23EFFFFF   \JMP Ekd5.00404620

004056FD  |>  5E            POP ESI
004056FE  |.  8BE5          MOV ESP,EBP
00405700  |.  5D            POP EBP
00405701  \.  C3            RETN

00403B8F  /$  55            PUSH EBP
00403B90  |.  8BEC          MOV EBP,ESP
00403B92  |.  6A FF         PUSH -1
00403B94  |.  68 8C4F4800   PUSH Ekd5.00484F8C                       ;  SE 处理程序安装
00403B99  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00403B9F  |.  50            PUSH EAX
00403BA0  |.  64:8925 00000>MOV DWORD PTR FS:[0],ESP
00403BA7  |.  81EC 1C010000 SUB ESP,11C
00403BAD  |.  898D DCFEFFFF MOV DWORD PTR SS:[EBP-124],ECX
00403BB3  |.  8B85 DCFEFFFF MOV EAX,DWORD PTR SS:[EBP-124]
00403BB9  |.  33C9          XOR ECX,ECX
00403BBB  |.  8A08          MOV CL,BYTE PTR DS:[EAX]
00403BBD  |.  51            PUSH ECX                                 ; /Arg1
00403BBE  |.  8B95 DCFEFFFF MOV EDX,DWORD PTR SS:[EBP-124]           ; |
00403BC4  |.  8B4A 0C       MOV ECX,DWORD PTR DS:[EDX+C]             ; |
00403BC7  |.  E8 7CC00300   CALL Ekd5.0043FC48                       ; \Ekd5.0043FC48
00403BCC  |.  8845 F0       MOV BYTE PTR SS:[EBP-10],AL
00403BCF  |.  8B85 DCFEFFFF MOV EAX,DWORD PTR SS:[EBP-124]
00403BD5  |.  8B48 0C       MOV ECX,DWORD PTR DS:[EAX+C]
00403BD8  |.  E8 43A70300   CALL Ekd5.0043E320                                                        获取武将ecx的朝向
00403BDD  |.  25 FF000000   AND EAX,0FF
00403BE2  |.  8985 E0FEFFFF MOV DWORD PTR SS:[EBP-120],EAX
00403BE8  |.  6A 04         PUSH 4                                   ; /Arg3 = 00000004
00403BEA  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00403BEC  |.  6A 00         PUSH 0                                   ; |Arg1 = 00000000
00403BEE  |.  B9 C8E44A00   MOV ECX,Ekd5.004AE4C8                    ; |
00403BF3  |.  E8 48BE0700   CALL Ekd5.0047FA40                       ; \Ekd5.0047FA40

00403BF8  |.  8985 E4FEFFFF MOV DWORD PTR SS:[EBP-11C],EAX
00403BFE  |.  8D8D ECFEFFFF LEA ECX,DWORD PTR SS:[EBP-114]
00403C04  |.  E8 A7F6FFFF   CALL Ekd5.004032B0
00403C09  |.  C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0
00403C10  |.  68 C0BB4800   PUSH Ekd5.0048BBC0                       ; /Arg1 = 0048BBC0 ASCII "UNIT_ATK.E5"
00403C15  |.  8D8D ECFEFFFF LEA ECX,DWORD PTR SS:[EBP-114]           ; |
00403C1B  |.  E8 15BF0100   CALL Ekd5.0041FB35                       ; \Ekd5.0041FB35

00403C20  |.  6A 04         PUSH 4                                   ; /Arg3 = 00000004
00403C22  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00403C24  |.  68 00690000   PUSH 6900                                ; |Arg1 = 00006900
00403C29  |.  B9 C8E44A00   MOV ECX,Ekd5.004AE4C8                    ; |
00403C2E  |.  E8 0DBE0700   CALL Ekd5.0047FA40                       ; \Ekd5.0047FA40
00403C33  |.  50            PUSH EAX                                 ; /Arg2
00403C34  |.  8B4D F0       MOV ECX,DWORD PTR SS:[EBP-10]            ; |
00403C37  |.  81E1 FF000000 AND ECX,0FF                              ; |
00403C3D  |.  51            PUSH ECX                                 ; |Arg1
00403C3E  |.  8D8D ECFEFFFF LEA ECX,DWORD PTR SS:[EBP-114]           ; |
00403C44  |.  E8 40C00100   CALL Ekd5.0041FC89                       ; \Ekd5.0041FC89
00403C49  |.  8D8D ECFEFFFF LEA ECX,DWORD PTR SS:[EBP-114]
00403C4F  |.  E8 71560100   CALL Ekd5.004192C5
00403C54  |.  8B95 E0FEFFFF MOV EDX,DWORD PTR SS:[EBP-120]
00403C5A  |.  8995 D8FEFFFF MOV DWORD PTR SS:[EBP-128],EDX
00403C60  |.  83BD D8FEFFFF>CMP DWORD PTR SS:[EBP-128],3
00403C67  |.  0F87 E8000000 JA Ekd5.00403D55
00403C6D  |.  8B85 D8FEFFFF MOV EAX,DWORD PTR SS:[EBP-128]

00403C73  |.  FF2485 753D40>JMP DWORD PTR DS:[EAX*4+403D75]          ;  Ekd5.00403C7A
->
00403C7A  |>  6A 04         PUSH 4                                   ; /Arg3 = 00000004
00403C7C  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00403C7E  |.  68 00A90000   PUSH 0A900                               ; |Arg1 = 0000A900
00403C83  |.  B9 C8E44A00   MOV ECX,Ekd5.004AE4C8                    ; |
00403C88  |.  E8 B3BD0700   CALL Ekd5.0047FA40                       ; \Ekd5.0047FA40
00403C8D  |.  8985 E8FEFFFF MOV DWORD PTR SS:[EBP-118],EAX
00403C93  |.  68 00400000   PUSH 4000                                ; /Arg3 = 00004000
00403C98  |.  8B8D E4FEFFFF MOV ECX,DWORD PTR SS:[EBP-11C]           ; |
00403C9E  |.  51            PUSH ECX                                 ; |Arg2
00403C9F  |.  8B95 E8FEFFFF MOV EDX,DWORD PTR SS:[EBP-118]           ; |
00403CA5  |.  52            PUSH EDX                                 ; |Arg1
00403CA6  |.  E8 52C00700   CALL Ekd5.0047FCFD                       ; \Ekd5.0047FCFD
00403CAB  |.  83C4 0C       ADD ESP,0C
00403CAE  |.  E9 A2000000   JMP Ekd5.00403D55
->
00403CB3  |>  6A 04         PUSH 4                                   ; /Arg3 = 00000004
00403CB5  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00403CB7  |.  68 00E90000   PUSH 0E900                               ; |Arg1 = 0000E900
00403CBC  |.  B9 C8E44A00   MOV ECX,Ekd5.004AE4C8                    ; |
00403CC1  |.  E8 7ABD0700   CALL Ekd5.0047FA40                       ; \Ekd5.0047FA40
00403CC6  |.  8985 E8FEFFFF MOV DWORD PTR SS:[EBP-118],EAX
00403CCC  |.  8B85 E4FEFFFF MOV EAX,DWORD PTR SS:[EBP-11C]
00403CD2  |.  50            PUSH EAX                                 ; /Arg4
00403CD3  |.  8B8D E8FEFFFF MOV ECX,DWORD PTR SS:[EBP-118]           ; |
00403CD9  |.  51            PUSH ECX                                 ; |Arg3
00403CDA  |.  68 00010000   PUSH 100                                 ; |Arg2 = 00000100
00403CDF  |.  6A 40         PUSH 40                                  ; |Arg1 = 00000040
00403CE1  |.  E8 6DB10100   CALL Ekd5.0041EE53                       ; \Ekd5.0041EE53
00403CE6  |.  83C4 10       ADD ESP,10
00403CE9  |.  EB 6A         JMP SHORT Ekd5.00403D55
->
00403CEB  |>  6A 04         PUSH 4                                   ; /Arg3 = 00000004
00403CED  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00403CEF  |.  68 00E90000   PUSH 0E900                               ; |Arg1 = 0000E900
00403CF4  |.  B9 C8E44A00   MOV ECX,Ekd5.004AE4C8                    ; |
00403CF9  |.  E8 42BD0700   CALL Ekd5.0047FA40                       ; \Ekd5.0047FA40
00403CFE  |.  8985 E8FEFFFF MOV DWORD PTR SS:[EBP-118],EAX
00403D04  |.  68 00400000   PUSH 4000                                ; /Arg3 = 00004000
00403D09  |.  8B95 E4FEFFFF MOV EDX,DWORD PTR SS:[EBP-11C]           ; |
00403D0F  |.  52            PUSH EDX                                 ; |Arg2
00403D10  |.  8B85 E8FEFFFF MOV EAX,DWORD PTR SS:[EBP-118]           ; |
00403D16  |.  50            PUSH EAX                                 ; |Arg1
00403D17  |.  E8 E1BF0700   CALL Ekd5.0047FCFD                       ; \Ekd5.0047FCFD
00403D1C  |.  83C4 0C       ADD ESP,0C
00403D1F  |.  EB 34         JMP SHORT Ekd5.00403D55
->
00403D21  |>  6A 04         PUSH 4                                   ; /Arg3 = 00000004
00403D23  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00403D25  |.  68 00690000   PUSH 6900                                ; |Arg1 = 00006900
00403D2A  |.  B9 C8E44A00   MOV ECX,Ekd5.004AE4C8                    ; |
00403D2F  |.  E8 0CBD0700   CALL Ekd5.0047FA40                       ; \Ekd5.0047FA40
00403D34  |.  8985 E8FEFFFF MOV DWORD PTR SS:[EBP-118],EAX
00403D3A  |.  68 00400000   PUSH 4000                                ; /Arg3 = 00004000
00403D3F  |.  8B8D E4FEFFFF MOV ECX,DWORD PTR SS:[EBP-11C]           ; |
00403D45  |.  51            PUSH ECX                                 ; |Arg2
00403D46  |.  8B95 E8FEFFFF MOV EDX,DWORD PTR SS:[EBP-118]           ; |
00403D4C  |.  52            PUSH EDX                                 ; |Arg1
00403D4D  |.  E8 ABBF0700   CALL Ekd5.0047FCFD                       ; \Ekd5.0047FCFD
00403D52  |.  83C4 0C       ADD ESP,0C

00403D55  |>  C745 FC FFFFF>MOV DWORD PTR SS:[EBP-4],-1
00403D5C  |.  8D8D ECFEFFFF LEA ECX,DWORD PTR SS:[EBP-114]
00403D62  |.  E8 69F5FFFF   CALL Ekd5.004032D0
00403D67  |.  8B4D F4       MOV ECX,DWORD PTR SS:[EBP-C]
00403D6A  |.  64:890D 00000>MOV DWORD PTR FS:[0],ECX
00403D71  |.  8BE5          MOV ESP,EBP
00403D73  |.  5D            POP EBP
00403D74  \.  C3            RETN

00403D75   .  7A3C4000      DD Ekd5.00403C7A                         ;  分支表 被用于 00403C73
00403D79   .  B33C4000      DD Ekd5.00403CB3
00403D7D   .  213D4000      DD Ekd5.00403D21

00403D81   .  EB3C4000      DD Ekd5.00403CEBaGan1.004544C2
004544BB  |.  C605 44424B0>MOV BYTE PTR DS:[4B4244],0FF
004544C2  |>  B8 44424B00  MOV EAX,WaGan1.004B4244
004544C7  |.  5E           POP ESI
004544C8  |.  8BE5         MOV ESP,EBP
004544CA  |.  5D           POP EBP
004544CB  \.  C2 0800      RETN 8









































 楼主| 发表于 2015-4-9 12:12 | 显示全部楼层
MOD设计经验谈兼《东吴传》新设定稿
原作者;peacockwang
MOD设计经验谈兼《东吴传》新设定稿

说在前面
      随着轩辕官方的《说岳》《隋唐》以及大量个人MOD的问世,大批热衷于战棋游戏的我辈中人陆续加入到制作自己游戏的行列中,并开始享受这一乐趣,而MOD区也呈现出一片繁荣的景象。本懒人也不禁心痒手痒起来,总觉得应该做点什么,所以有了写一下MOD设计中应注意的地方和基本流程的想法,以供后来者参考。

      撰写本文的目的有三:
一、让制作者较为逻辑化的开始工作
二、让制作者清楚曹操传MOD可以修改到什么样的程度,修改时应该注意些什么
三、给制作者一些参考,扩展思维,开拓更加广阔的创作空间

      说明一下,这里主要阐述关于游戏设定方面的内容,具体的制作教程大家可以参考置顶的新手教程以及EXE修改,本文不做讲解。另外,文中所举实例均以《东吴传》为例进行说明。PS:此《东吴》非彼《东吴》,哈哈~

提纲
1——我想做什么?(设定故事主题大纲)
2——如何体现我的故事?(基本流程设定)
3——我的人物。(统计我方人物和敌方主要角色)
4——我的兵种。(设定兵种应注意的问题)
5——我的道具。(设定道具应注意的问题)
6——其他设定兼创意设计
7——S剧本设计
8——R剧本设计

说句废话,上述8步是个人总结的基本设计思路,应该不会在制作的过程中觉得乱了。
我想做什么?
      这是每个制作者开始工作之前都应该问下自己的一个问题。个人认为,这是一个MOD的灵魂所在,如同一篇文章的中心思想一样,起指导方向、点明具体轮廓的作用。因为一开始制作者很难考虑的面面俱到,总是不断有新的点子萌发。有时候,这反而变成很致命的一件事,经常会造成我们推翻原有的设定,重新来过。但是,如果有一个大纲的话,我们的思路就会清晰很多,产生风格不一,思维混乱的几率会降低。
      
      OK,说这么多,讲些实际的东西。一个大纲中涉及的要点有:
一、背景。点明背景,可以从时间上或地点上,以及情节上设定好一个范围。如果想保持风格的一致,后续设定不应超过这个范围。针对于曹操传,就现有资源而言,还是集中在古代战争上,战国、三国、隋唐、宋都是很好的背景,玩家可以充分发挥想象力,在古战场上纵横驰骋。当然,其他背景,如欧洲中世纪、魔幻等也可以,但是在资源的准备上要多下功夫。

二、主角。主角可以是历史上的著名人物,也可以是杜撰出来的,甚至可以是作者自己,任由玩家发挥。

三、敌对势力。这是一个重要的设定,因为战棋就讲究的是和谁战斗,一个简短的MOD可以只有一个敌对势力,而大型MOD则会有很多。随着故事的进程,主角逐个将这些敌对势力挑落马下,那么主要剧情走向也就呼之欲出了。另外,在设定的时候,不妨将每个敌对势力都进行一些说明,如某某势力是一个怎样的,擅长什么兵种,精通什么策略特技等,这样,就避免了每次找人战斗的时候总给人千篇一律的感觉,实现了战斗的多样化。

四、矛盾关系。这个是为剧情服务的设定,确定了矛盾关系,在剧情设定上就能够体现出人物的特色,或者说主角为什么要和那个敌对势力作战。一般常见的有矛盾关系有争霸天下,多为战略游戏所采用;宗教信仰,这个在《东吴传》中有一定的反映;个人恩仇,如孙策和于吉之间等等。这些只是大的矛盾关系,当然,玩家还可以设定一些小的矛盾,比如周泰、蒋钦和董梁、赵何之间的梁子,在游戏中穿插进去,也是很有意思的设定。

五、发展趋势。这个是流程的一个小概括,基本描述了进程,导致了怎样的后果,又发展成什么样。战略游戏不用描述过多,只要讲明主角在过程中逐一打掉了某某,实现了一个个小目标就可以了。

六、最终目标,这是流程的最终结局,一般是天下统一啊,打败大魔王之类的。

      上面六点就是总结出来的大纲的要点,设定的时候,每个点都涉及到,那么整个游戏的轮廓也就基本成形了。然后,就将进入比较费力的流程设定阶段。

      另外,有时候在大纲的基础上,觉得另一个剧情也蛮不错的,又不想放弃,那怎么办?这就涉及到又一个问题,我还想做什么?是的,遇到这样的情况,最好的方式是将这套剧情套用在原有剧情上,从而形成一个新的分支,造成一个新的结局。这就是所谓的多线式剧情,曹操传是这样,东吴传也是这样,下面是《东吴传》的主题大纲,大家可以参考一下。

幻想线
      汉末(黄巾)之乱起,孙坚举兵,汇合群雄讨伐(董卓),跨江击(刘表),不幸战死。孙策继任,开拓江东基业,过程中虽然消灭了部分诸侯(刘繇、严白虎、王朗、袁术),但同时产生了新的敌人(轩辕宫佛主孔雀明王助魏、兽兵团李明七番纠缠、道士于吉唆使异民族反叛),而且诸侯中还有吕布(被于吉所救)、刘备、曹操等强大诸侯势力。各方强敌环绕,佛、道、人之争,四帝星(青龙吕布、白虎孙权、朱雀曹操、玄武刘备)逐鹿,孙策孙权兄弟为求天下一统,为百姓除佛灭道,展开了自己辉煌的征程。
      火烧连营后,天下发生巨变。司马杀曹丕篡位,东吴与孔明联盟伐魏,魏亡而孔明放弃理想,却不料蜀国内部(魏延系、马超系)在于吉及吕布的唆使与威压下,以及南蛮王孟获的协助下反叛诸葛,天下陷入了东西争霸的局势。

史实线
      史实线是幻想线的缩减版,只节取了史实战役,至火烧连营结束,后续情节以图片进行说明。玩家只要符合历史进程游戏,就会产生这样的结局。

神话线
      五十年前(推算的大致时间),黄巾张角在巨鹿兵败,陷入穷途末路之际,施法将弟弟张梁、张宝的灵魂转生在两个小孩身上。二人长大后分别为孔明和司马,在有意损耗掉两国嫡系部队后,掌握大权,并与重新出山的张角联合,黄巾三人众欲重霸天下。
流程设计是一个很费神的活,关系到故事是否讲得全面、讲得精彩,最重要的是是否引人入胜。如果有可以参考的书籍典故,如各种历史演义,那么困难就会降低很多。自创剧情的话,个人认为缺少认同感,难度较大。曹操传的流程设计是分章节的,共提供了五个章节,除去序章,每个章节10关左右,总体下来也就四十来关。所以我们在设计的时候也可以以此为参照,设定五十关左右为益。另外,在游戏中,有大地图叙事的设定,所以玩家在制作的时候,不妨也搞一张相关的地图,按照自己的流程,走到哪里发生怎样的战斗,有一些实施依据。

这里讲几个要注意的地方:
一、战斗的选取。战斗最好选取比较知名的,这样玩家才会产生代入感。一般的无名战斗,除非做的很出色,恐怕不会引起玩家的共鸣。

二、战斗的合并。有时候,一些战斗连续很长,分开设计的话,总有种剧情不紧凑的感觉,而且有拖剧情的嫌疑。所以最好是将他们合并到一场战斗中,增加相关事件,努力作好一关,比两个甚至更多无趣的关卡要有意义的多。

三、涉及到伙伴加入的战斗。通常是游戏的第一、第二章,因为不断有人物加入,这里最好将流程有意识的加长,保证伙伴加入的均衡性。否则,要是流程过短,一关加入数个人物,会降低人物的刻画,不利于表现人物。

四、战斗的轻重之分。一些敌对势力只是小卒子,和他们的战斗一关即可,而对于比较难缠的敌人,可以设定他们多次出现。比如七擒孟获就是一个很有意思的设定,东吴传中借鉴了这种设定,将兽兵团李明及其伙伴董梁、赵何设定为同样是七次参战,然后臣服,也算是增加了一条支线吧。

五、两线作战。刘备传中有这样的设定,可以选取部分部队进行奇袭,其实曹操传也可以勉强实现。在不加修改的情况下,强制出场5人,强制不出场5人,剩下的可以自由选择,这样,对于主力部队的10个人就会产生一种分开的错觉,勉强实现了两线作战。但有一个弊端,关卡不宜过多,以免造成等级差距拉大。(说岳进行了修改,可以实现15人强制出场,这里不做说明)

六、战斗的名称。标准的叫法是XXX之战,你可以突出这场战斗的内容,改成XXX迎击战,XXX包围战之类的,使玩家一看,就能大致猜出该关卡的内容。还有一种日式叫法,总爱强调一些东西,再加上什么之战,听起来蛮酷的,也可以采用。但要注意不要超过imsg文件的字数限制(具体几个不记得了),如虎牢关是各种武将齐上阵的设定,突出一个乱字,所以可以称为虎牢关大乱战或者乱!虎牢关之战,这个没什么实际作用,纯属增加噱头而已。

七、逆向思维。合理运用逆向思维,就每一场战斗,反过来想一下,如果获胜会怎么样?战败又会如何?这样会可以为我们提供很多的创作思路。比如吕蒙袭击荆州一战,如果成功的话,将发展成为麦城关羽包围战,而袭击失败的话,则换成了麦城吕蒙救援战。这样,同一个场景,发生截然相反的两种剧情,会是很有意思的一种设定。

八、拿来主义。指借用已有的设定,套用在自身上,比如有些著名的战斗,本来和我们主角没什么关系,但是因为剧情精彩,我们不妨借用一下,作一番修改,就成为自己的剧情了。大家都知道长板坡是非常著名的战斗,但是和东吴关系不大,但是我们可以借用他,设定为在这个地方发生新的战斗,参战的双方已然换成新人,但是故事却似曾相识,想像也是很有趣味的。

下面是《东吴传》的流程设定,仅供参考。

序章:孙坚举兵(讨黄巾、伐董卓、战刘表,孙坚不幸阵亡,孙策继任)
(5)黄巾讨伐战——汜水关喋血战——虎牢关大乱战(洛阳皇城追击战)——荆山遭遇战——襄阳复仇战

一章:征战江东(战刘繇、严白虎、王朗、袁术等诸侯,平叛江东,孙策遇袭重伤,孙权继任,攻刘表)
(10)牛渚之战——神亭岭之战——秣陵泾县之战——吴郡讨伐战——会稽城黄金传说——曲阿保卫战——袁术包围战——江东平叛战——江夏复仇战——江夏复仇战2

二章:三国鼎立(赤壁大战、三气周瑜、救庞统、一战于吉、合肥攻略)
(10)三江口之战——赤壁之战(难/易)——南郡争夺战——南郡争夺战2——合肥之战——刘备追击战——山越征服战——荆州伏击圈——庞统救援战——濡须口之战

三章:霸王大陆(二战于吉、曹操决战、袭荆州、战麦城、刘备决战)
(9)皖城急袭战——荆州南部征服战——逍遥津之战——濡须口之战2——荆州突袭战——关羽包围战(吕蒙救援战)——彝陵之战——猇亭之战——猇亭之战2

幻想线
四章:北伐之路(战曹丕、缠斗二司马、决战司马懿,魏灭亡)
(8)南徐迎击战——曹丕歼灭战——下邳之战——长板坡之战——徐州之战——轩辕山之战——邺城之战——邺城之战2

终章:龙争虎斗(三战于吉、救诸葛、与吕布争雄)
(9)长安之战——秋风五丈原——定军山之战——汉水之战——锦竹关之战——成都之战——益州南部征服战——泸水之战——南蛮地决死战

神话线
四章:西征之路(西征蜀汉战诸葛,蜀灭亡)
(8)鱼腹浦之战——白帝城之战——成都侵攻战——剑阁之战——汉中之战——阳平关之战——街亭之战——五丈原之战

终章:黄巾遗祸(战司马、灭魔王张角)
(8)长安之战——渭水河之战——洛阳之战——虎牢关之战2——濮阳之战——平原之战——南皮之战——巨鹿大决战

第三讲:我的人物
      曹操传中由于出场位置的限制,最多同时允许26人,所以要注意同时存在的武将数不要超过26人。当然,如果有替换(中途离队、阵亡等)的情况,则可以适当增加一些候补,但同样不宜过多,否则给人走马换将的感觉,不利于人物性格的表现。历史演义中由于有固定的剧情安排,所以人物较为固定。不过,一下子把所有相关人物都收录进来,很快你就会发现位置不够了。
   
      这里讲到第一个要点:人物的取舍。 有限的位置应该给予故事中一、较为活跃的人物,并且最好能够贯穿始终,如果只在故事的特定剧情中出现一两次的,那就设定为友军比较合适;二、具有特别知名度的人物,这个人物可能只是在部分剧情中,或者前期出现,如果放弃的话,实在太过可惜(比如大乔和小乔),加入的话,则可以丰富剧情,提高人气。这个时候,宁可再去掉一些活跃人物,也要把知名人物加入。如曹操传中,貂蝉本不怎样活跃,和曹操的关系也不大,可小日本深通此中之道,把这个人气高的角色加入了,从而吸引太多眼球,不能不说是一个精彩绝妙的手段。
  
      第二个要点:人物的出场顺序。上面讲过,人物的加入是一个循序渐进的过程,根据剧情需要,他们是需要一个一个加入成为伙伴的。不过,有些故事演义中,伙伴偏偏是扎堆登场的,这个时候就需要进行调整,把一些可能的伙伴不妨先设置为敌军或友军,登场亮相一下,然后过段时间再加入。或者将一些后出场的人物,通过合理的剧情变换,提前到前面出场。这些都是为了服务剧情、刻画人物而进行的改动。
  
      第三个要点:敌方主要角色。这个是游戏中我们的死对头。之所以要在这里设定,一是对主题大纲中敌对势力的深入,二是对兵种设定起到一定限制作用。比如在东吴传中,由于设定了佛道人之争的矛盾关系,所以兵种设定中就得出现这样一个体现佛的兵种以利于剧情说明。
      个人认为,设定到这一步就可以了,但有时候为了对新兵种新势力的理解,不妨再进行详细的说明,如佛的代表势力是轩辕宫系,这是精通各种密法(策略)以及召唤术(木人/铜人)的势力,这样,在后续的剧情中,一旦他们出场,战斗将主要围绕他们的特性展开;又比如道的代表为于吉系,他们被佛系赶出北方,到南方发展,又遭到孙策的驱逐剿灭,自然与两方都有恩仇,他们是精通异常状态系策略以及分身术(自分身/他人分身)的势力。神话线中的黄巾系是精通策略以及妖法(变身术/机甲术/亡灵操纵术)的势力。有了这样的设定,敌对势力的特色就很明显了,玩家的乐趣及好奇心也会增加很多。

      第四个要点:敌方次要角色。有时候,敌方除几个领头的外,其他人物也给人换汤不换药的感觉,看上去只是名字的不同,其他没什么区别。为了让玩家对他们也有一些印象,可以选区其他游戏中一些知名人物,玩家看到的话,总会报以会心的一笑。如三国志赤壁之战中曹操的三美(美美、美玲、美玡)、赵家五虎(赵熊、赵能、其他三个忘记名字了),战国basara2中的特型人物五本枪,在《东吴传》中设定为关羽的下属,名为荆襄五行枪。还可以杜撰出一些人物,如许贡的三家客(龙、虎、豹),客串的光荣社长(襟川阳一、襟川惠子),刘禅的北斗七星机巧娃娃(赤橙黄绿青蓝紫),魏延的八部众死士(赵钱孙李周吴郑王)等。

下面列举下东吴传中我军在各关卡加入的人物。
初登场:孙坚、程普、黄盖
黄巾讨伐战后,加入韩当
荆山遭遇战中,加入孙策
襄阳复仇战前,加入周瑜,战后孙坚阵亡
牛渚之战前,加入张昭、张纮、吕范,战后加入周泰、蒋钦
秣陵泾县战前加入陈武、战后加入太史慈、小乔
吴郡讨伐战后加入凌统
会稽战后加入董袭、顾雍
曲阿战后加入丁奉、徐盛,程普、黄盖离队
江东平叛战前加入孙权、潘璋,战后加入吕蒙、鲁肃,孙策离队
江夏复仇战后加入甘宁、大乔
赤壁大战前加入阚泽
合肥之战后加入李明、陆逊
幻想线加入姜维,神话线加入庞统
我的兵种
      曹操传中提供了27个兵种,其中13个三转兵种和14个一转兵种,很可惜的是,我军只是限定在了三转兵种上,一转兵种都是作为敌军出现的。所以,从某种程度上来说,玩家体会不到其他兵种的乐趣。不过现在有了编辑器,玩家可以很方便的自行设定,充分做到各兵种齐上阵,丰富剧情,提高可玩性。
   
      对于兵种设定而言,尽量做出差异化是增强可玩性的重要手段之一。如何体现差异化呢?可以从兵种形象、攻击范围、五维、装备、策略上等进行划分,或者兼而有之。情况很多,这里只以装备为例说明下兵种的设定。曹操传中可供使用的装备有剑、枪、弓、棍、投石机、扇和宝剑以及铠、衣,他们之间的任意组合可以成为一个兵种的设定基础,再加上一些辅助设定,如是否骑马、是否乘车就成为不同的兵种了。比如刀铠马的组合是君主系、刀铠步的组合则是步兵系、枪铠马的组合是骑兵系、枪铠步的组合则是枪兵系、弓铠马的组合是弓骑兵系、弓铠步的组合则是弓兵系,如此这样,兵种基本上就可以区分开来,然后再通过设置其他属性,具有差异化的兵种就出来了。
      其他属性包括一、攻击范围,对应上面,持剑的为近距离攻击,范围较小,持枪的为中距离攻击,范围中,持弓的为远距离攻击,范围较大。二、五维,即攻防精爆士,根据基础兵种的定义,设定兵种的五维,较普遍的是,君主为5A兵种,骑兵注重攻击S,步兵注重防御S,弓兵注重士气S等。三、特性,曹操传中给兵种定义了三种特性,第一种是穿透攻击,可以给编号连续的兵种设定(如投石机的2、3级),还可以给单一兵种设定(如训虎师);第二种是属性攻击,有中毒、麻痹、混乱、封策四种,对应三个兵种可以设定(如训熊有麻痹攻击、木人有中毒攻击、土偶有混乱攻击等);第三种为自动恢复周围状态,原为舞娘专有特性。将这些特性赋予新的兵种上,他们的特色也就显现出来了。四、策略以及地形效果,这些只是一些辅助设定,原本曹操传的设定已经很不错了,改动可能不大,但也可以加入自己的一些想法,比如每个兵种都有一种擅长地形,在该地形上的攻击防御有附加值,移动距离变化也可以体现兵种特色,策略设计上沿用大部分设定,将一些破坏平衡性的去掉或改成依靠装备才能发出,也可以让一些兵种成为每战必出的强力兵种。
  
      上面这些是依据资源进行兵种设定的思路,当然,玩家也可以凭空想象出自己的特色兵种,为游戏增加更多的变数。另外要说的是,这种思路只是针对我军而言,有时候还要根据剧情的需要,为敌方设置一两个强力兵种以增加剧情和难度,如曹操传中14个一转兵种就是这样。还有,部分同类型兵种尽量合并,如辎重队和粮草队,我们只需要设定一个运输队就可以了。熊、虎合并为兽兵团,空出的位置搞一个新的兵种更有意思,这里讲一个技巧,新兵种对应一个形象,如虎,而将是熊的指定一个新的形象,这样,就给人一种产生了两个兵种的错觉,再将武将属性、血值什么的设定为不同,虽然整体上还是一个兵种,但给人的感觉是不一样,可以称之为伪兵种吧。
   
      兵种设定的另一个要点是,为人物合理分配。历史演义中有详细的记载,谁擅长什么谁精通什么,这是一个参考模版,我们照着设定就可以了。但有时候,演义中总是骑兵系过多,我们就要尽量分散开设定,可以设定一两个新的兵种,并让部分人物为这个新兵种即可。另外,人物的出场顺序也是需要考量的因素,尽量做到均衡,不要出现全是单一兵种出场的情况。

下面为《东吴传》的设定实例,请参考。

君   主(诸   侯—霸   王—君   主),刀铠马,33333,孙坚、孙策、孙权
步   兵(轻步兵—重步兵—近卫铠),刀铠步,24322,韩当、潘璋
弓   兵(弓箭手—弩箭手—元戎阵),弓铠步,32224,蒋钦、丁奉(远距离攻击范围)
骑   兵(轻骑兵—重骑兵—虎豹骑),枪铠马,43222,程普、太史慈、凌统、孙策2(十字攻击范围)
弓骑兵(弓骑手—弩骑手—陷阵营),弓铠马,42223,小乔、孙策3(2、3级穿透5人)
枪   兵(枪   兵—戟   兵—御林军),枪铠步,32242,陈武、徐盛(中距离攻击范围)
海   盗(水   寇—海   盗—锦帆贼),刀衣步,42232,甘宁(高HP+)
武术家(武术家—拳   师—拳   圣),棍衣步,33142,周泰
策   士(策   士—谋   士—军   师),扇衣步,22422,张昭、顾雍
风水士(风水士—方术士—仙术士),剑衣步,11433,张纮、鲁肃(诸葛瑾后期替换张纮)
道   士(道   士—幻术士—咒术士),剑衣步,12432,吕范
都   督(参   军—都   督—大将军),剑铠步,23423,周瑜、吕蒙(策略系步兵但仅装备宝剑,攻击力差)
护   卫(护   卫—羽   林—中郎将),棍铠马,42323,黄盖、大乔/孙策(没羽箭攻击范围,具自动恢复状态特性)

飞行太保,普弓/爆弹/衣/飞天,31334,陆逊(设定思路为陆逊是发明家,发明战车以及飞天兵种,飞行太保陆地全通行且可移动为1,特殊武器为爆弹,穿透5人,形象为风筝上载人或着乘坐木鸟)

战车队,普枪/铠/车,24232,阚泽(近身攻击范围加没羽箭穿透,高防御力,设定思路为冲入敌阵引发范围攻击效果,可以理解为坦克装甲车之类,而后以枪刺或震地进行攻击的兵种)

贼兵(黄巾贼、山贼、义勇军),刀/衣/步,42124,董袭、吕蒙(吕蒙初始兵种,周瑜离队后可转为都督,袭击荆州后经华佗、陆逊改造为机关人)

兽兵团(驯熊师、练虎女、蛇使、巨象),普棍/衣/兽,42141,李明(麻痹攻击)
西凉骑,枪/铠/车,44122,姜维(邺城之战加入,救援孔明时的主力部队)
南蛮骑,枪/铠/马,33144,(中毒攻击)
娘子军,弓/衣/步,32442,大乔(女性弓兵,精通诱惑系策略)
妖术士,扇/衣/步,12423,庞统
建筑物,无,14411,(无形象,无攻击,高HP,可以实现一些攻击城门、鹿砦等战役设定)
运输队(辎重队、粮草队),无,11111,
机关人(木人、铜人),普刀/铠/步,44131,(混乱攻击)
亡灵(尸兵、尸将),棍/衣/步,33333,(均衡步兵)
僧兵,枪/衣/步,11442,(策略系枪兵)
异民族(山越、乌丸、羌),全/衣/步,41142
曹操传中提供了104种道具,相信已经是足够用的了。他们大体上可以分成4类,即武器、防具、辅助和消耗类,其中武器防具又细分成一般和特殊。对于道具而言,局限性较大,可供改变的地方不多。
      
      我们在设定的时候只要注意:
一、多采用演义中的著名道具,象青龙刀、蛇矛、方天画戟这样的,玩家的兴趣也会很大。
二、道具设定的特色以及平衡性,特色主要指基本指数,如武器加的攻击力/精神力等,这一方面希望可以拉开基本属性差距,到后期以体现出各种武器、防具之间的不同。如曹操传中以剑作为基准,指数为10,成长值也为10,枪的属性就比剑高一些,棍/弓就比剑低一些,这样,在后期可以体现出武器防具数值上的差异;平衡性则主要指特殊道具的特性,不要出现太过强力BT的道具(如大大没羽箭穿透等)就可以了。另外,由于人物的能力已经突破上限,到后期一个个皮肥肉厚的时候,缺少面积攻击武器的话,打起来会很累,所以适当增加一二即可。三、特殊道具的出场时机,这个很好理解,强力道具总是在后期出现的,出现太早会破坏平衡性。四、兵种专属道具,这个主要是从策略上考虑的,有些策略过于强大,但是通过装备来触发,从某种程度上来讲,也是一种削弱,如朱雀、白虎等,同时,也会显得这个专属道具更为珍贵。
  
      在东吴传中,道具总的设计思路是,在15人出场时,至少15人都应配备特殊武器、防具、辅助,所以在设定的时候是以兵种及人物为基准的,即用刀的共几人,就设定几把刀,用枪的共几人,就设定几把枪,这样。

以下为道具设定,请参考(消耗类12种不说明)
一般武器防具*24
刀(短刀—长刀—乌金刀)  枪(短枪—长枪—点钢枪)  弓(短弓—长弓—妖月弓)  棍(短棍—长棍—熟铜棍)  
扇(竹扇—铁扇—遮日扇)  剑(木剑—石剑—镇妖剑)
甲(皮甲—藤甲—锁子甲)  衣(布衣—缕衣—战斗服)

特殊武器*24(刀*5/枪*6/弓*3/棍*2/扇*3/剑*4/爆弹)
雌雄一对剑  反击后反击                  青龙偃月刀      穿透5人                吕布之弓       引导攻击               流星锤        混乱攻击
青缸剑        致命一击                     丈八蛇矛枪      穿透6人                李广之弓       麻痹攻击               双鞭           引导攻击
倚天剑        辅助攻击防御25%         方天画戟         致命一击              诸葛弩          主动连击
古锭刀        麻痹攻击                     三尖两刃刀      引导攻击
虎痴刀        穿透2人                      铁脊蛇矛         穿透2人
                                                  水火双龙钻      主动连击

芭蕉扇        辅助风系策略50%        七星宝剑         每回合恢复MP10       爆弹           穿透5人
五火神焰扇  辅助火系策略50%        圣者宝剑         辅助MP50
白羽扇        辅助精神力100            高祖之剑         策略模仿
                                                 霸王之剑         辅助攻击力250
特殊防具*13(铠*8/衣*5)
黄金甲          辅助策略防御50%           鹤氅            节约MP1/2
白银铠          减轻策略损伤50%           飞龙道袍      辅助攻击命中20%
镜铠             防御致命一击及连击         漆黑道服      辅助策略命中20%
真镜铠无双    防御远程攻击                  凤凰羽衣      每回合恢复HP20%
青龙铠          MP防御                          红锦战袍      骑马攻击20%
白虎铠          可以禁咒-白虎
朱雀铠          可以禁咒-火神
玄武铠          辅助全防御30%

标准辅助*5                                      恶搞辅助*5
护盾             辅助防御30                   刘备的耳朵        致命一击
手套             辅助攻击30                   曹操的门牙        防御远程攻击
逍遥巾          辅助爆发30                   孙权的毛发        辅助火系策略100%
纶巾             辅助精神30                   孔明的假腿        恶路移动
鼓吹具          辅助士气30                   司马的脸皮        辅助攻击防御100%

特殊辅助*21
玉玺                每回合恢复MP50
豆袋                自动使用豆
赤兔                骑马攻击30%
的卢                恶路移动
绝影                突击移动
爪黄飞电          减轻远距损伤50%
孙子兵法          每回合获得经验5
孟德新书          辅助经验15
青囊书             辅助HP100
太平清领道       辅助攻击命中100%
太平要术          每回合恢复状态
兵法二十四篇    封杀策略
遁甲天书          策略模仿
六韬                每回合获得武器经验4
三略                每回合获得防具经验4
杏黄旗             可以禁咒-多人回归(都督专用)
无赖精神          可以禁咒-沙暴(贼兵专用)
后羿主义          全屏攻击范围(娘子军专用)
风火轮             辅助移动力2(战车队专用)
兽魂石             攻击无反击(兽兵团专用)
孔雀翎             没羽箭攻击范围(机关人专用)




上述就是个人在MOD制作中的总结的一些经验,希望对广大玩家有一些启示和指引作用,至少知道一个MOD的制作都需要涉及修改哪些方面的内容,这些内容又能够改到什么样的地步。文中有些内容还不成熟,有兴趣的玩家可以自行尝试。总之,MOD制作是一件充满乐趣的事,可以实现制作者对游戏的观点,看法,并融入自身的理念特色。

      另外,《东吴传》一直一来是个人的心病,搁置对玩家来说也总不是个事。所以,借机征求志同道合者,成立制作组,一同完成《东吴传》的制作,有兴趣的可以和我联系。对文中设定有自己意见和不了解的地方也请告知,酌情修正,目的还是在于使《东吴传》早日制作成功,谢谢!

补充:(主要关于建筑物引入后相关设定)
1、战场陷阱的设定。古战场上经常会出现一些陷阱,如滚木擂石、陷坑、绊马索等。本来是很好的战斗设计,但是由于曹操传的限制,即在战场设置中仅有火这一种设置,所以这些陷阱类设计变得无法实现了。不过,在引入建筑物这一兵种后,这种战场陷阱也就可以实现了。下面讲解下滚木擂石的设计,1)在DATA中添加武将滚木,擂石,并指定形象分别为一段木头和圆石;2)在S剧本中山地的顶端设置隐藏武将滚木擂石;3)当某支部队进入伏击圈后,触发事件,隐藏武将滚木擂石出现,并设定他们沿山坡移动到指定地点,然后测试在指定地点九宫范围内是否有部队存在,是则进行武将削弱(减HP、状态变化)削弱前还可以进行动作设定以表明中招,否则滚木擂石消失或者保留原地。通过这样的设置,一段关于战场陷阱的设定便完美再现了。其他陷坑、绊马索(需形象支持)等由于是固定的,只需要出现后即可,其他同滚木擂石的设定。

2、战场器械的设定。建筑物除了可以当陷阱使用外,还可以作为战场器械使用,比如火箭、弩车等飞行道具。主要表现在战场器械启动后,飞行一段距离落入敌阵后造成伤害。设置方式如下:1)在DATA中添加武将火箭、弩车等,并指定相关形象;2)在S剧本中初等场或隐藏出场;3)当我军进入某些区域后,事件触发,飞行器械启动,移动一段距离后落入该区域,造成该区域内武将削弱,同时飞行器械消失。这样,变完成了战场器械的表现。而且,这种设计还可以循环使用,间隔两三个回合使用一次,使得我军必须尽快突破某些地域。

3、人间凶器——轩辕大帝的设定。这个是比较特殊的设计,在幻想线轩辕山之战中,孔雀明王依山势建造了硕大无比的机关人——轩辕大帝(地图支持),他身体的每一个关节均有多个武将(实际为建筑物)组成,可以命名为轩辕大帝足、腿、手、臂之类的,目的在于限时攻破敌首,以破坏整个机关人。当然每个关节有敌武将防卫,而且还具有一定的武将削弱效果。我们可以设定为从足攻击到首,也可以设计为攻破四肢后,才能攻击首部。最后轩辕大帝首部破坏,战斗胜利。

 楼主| 发表于 2015-4-9 12:13 | 显示全部楼层
关于MOD设计中要注意的东西

原作者;瑶瑶


前言:
写这个帖子纯属一时兴起,基本上有关MOD的内容,幽人独往来大人在置顶帖里的《曹操传MOD新手教程》里都说过了,偶也没什么好说的,发表一些个人对MOD的看法,至于后面,再谈一些细节的设计问题。



(一)背境设计:
首先要提到的背境,许多人都喜欢用三国背境来错,个人认为用三国背境来做,实在不怎么样,首先你要考虑一个问题:三国玩来玩去都是三英战吕布、卧龙、凤雏什么的,玩家们都玩腻了,而在之前《东吴传》、《吕布传》、《衰哥传》等MOD更从不同方面来看三国,在这个题材上,很难再做出什么突破。所以,个人认为,题材要新颖、独到,最好是跳出三国的范围来做,与其大家争着做三国,不如另找题材,在这一点上回眸75度同学的《杨家将传奇》的成功是大家有目共睹的。




(二)风格设定
题材决定之后最好是决定一下风格,像吕布传两条路都有不同的结局,霸者之路,那走的是不归之路,吕布决定走这条路之后,一个一个的伙伴倒在他的跟前,表现出了成为霸者的无奈。不过,在设计风格的时候,最好不要出现那种与风格不符的对话内容,例如:《说岳》走的严肃路线,中间如果加上轻松诙谐或是无厘头之类的就会变得不伦不类,就是加上一些超出这个时代的东西也不妥。某人曾在MOD中加入了“物竞天择,适者生存”这样的话,在古代的中国,说出这种话看的人都会打一个问号:这个人是古代中国的达尔文?所以诸如这一类的事情最好是不要在历史色彩重的MOD中使用,要用,也只能在架空历史的,完全虚构的MOD。



(三)统筹安排
之后要对整个MOD进行统筹、设计、决定整个MOD的制作方法,在这一方面,幽人已经说得够多了、够明白了, 写剧本是必要的,就算不写详细的,大略的写一下是很重要的,最少要做到成竹在胸,什么时候都能明确下一步该做些什么,前面的未解之事该如何解决,这一些偶就不再复述了,下面就说一些其它方面的内容。



(四)关于兵种设计:
CCZ中一共有13*3+14个兵种职业,其中有两个运输队加上皇帝和百姓都是不可攻击兵种,可以另外设计一个兵种,而黄巾军这种垃圾也可以重新设计能力,如果你愿意,把所有兵种都重新设计一遍也行。

在设计兵种时,要注意一下,兵种最好有自己的特色,不是说随意更改出一堆强力兵种就行的。在这一点上,很多人都犯了这个错误,大家可以去看一下CCZ,除了那几个不攻击的,其它部队都拥有自己的特色。群雄的中庸性,步兵的高防,骑兵的移动和高攻,弓兵远程等等,为了和原来的兵种表示区别,驯虎穿透、驯熊麻痹、木人中毒、土偶混乱,这样子,整体的设计上各个兵种都有自己的特色。

而利用附加特征,加上策略伤害的修改,我们可以设计出一些特殊的兵种,例如:我们可以设计一种只受60%策略伤害,附带封策攻击的兵种,这样的兵种就成了文官、会策略兵种的克星^_^。这上面只是一个例子,除此之外,我们可以做出无反击攻击的兵种,这一特征最公认垃圾鸡肋,不过要是兵种特征,保证是强力兵种,所谓的物尽其用,在CCZ各方面都给修改得面目全非的今天,要看你怎么发挥了。

不过,特征只是其中一个方面,像攻击范围、地形适应的不同也可以表现出兵种特色。举例,做个新兵种枪兵,把枪兵做成四向二格攻击(爆炎),克骑兵,移动5,属性AAABA,这样子的兵种不也蛮有特色的?在对地形进行调整以后,这样的兵种虽然不算强,但是用得好的话,也能出现另类的打法。设计一个这样的兵种,也让战场增加一些别的滋味,不会说放眼战场,尽是八格攻击的近战部队,也太单调了,最好是设计到所有兵种都有自己的作用和特色,不要出现那种鸡肋、可有可无的兵种,这样的兵种干脆放弃得了

总之,兵种设计大家是各尽其能,不要尽是追求强力,设计有特色、能让大家更有兴趣的兵种更为妥当。

PS:(关于兵种特征的修改、策略伤害可以参照雪芸的《曹操传EXE修改详解》)




(五)关于宝物设计

宝物安排上,也要注意一些细节,效果安排上尽量不要相同,多个相同无意义,而一些公认鸡肋的特效就尽量想办法弥补不足,例如:雪芸帖子里写的,将防御致命一击和防御二次攻击合并,新写了主动双击的技能,这也是一如办法。总之,最好是不要把特效丢弃,物尽其用嘛,不要浪费。在特殊装备的设计上,哪个兵种使用的人数较多就可以增加一些,把用得少的减少几件。

对于相同效果的道具要注意一下的一些问题:

对于相同效果,辅助道具优先于武器、防具,相同效果,除了增加攻、防、精、爆、士、HP、MP、移动之外,互不叠加。

另外,有两个影响攻击范围的特殊效果要注意下:穿透攻击——兵种优先于宝物,所以驯虎、炮车之类的装备穿透攻击物品就是浪费,远距攻击——宝物覆盖兵种,可别让炮车、弓兵之类的装备了远距攻击1的物品,这样……远距兵种的属性不变……可是攻击范围却是近战兵种了。

还有一个,辅助全防御、攻击防御的宝物计算晚于攻击命中,也就是说,当辅助攻击命中100%遇到辅助攻击防御100%时……命中是0。千万不要把辅助攻击命中100%当成绝对命中攻击了。这一类的计算,要大略的明白,别闹出笑话。

明白了上面三点,就不会出现那种倚天剑+铜盾的组合,给炮车或驯虎设计穿透攻击的物品。

除了这一些,还可以设计宝物组合的功能,像CCZ的龙鳞甲+太平要术,甚至龙鳞甲+遁甲天书这样的取巧组合,还有大部份人都用的——方天+玉玺,YFZ中,制作组想出了另一种奇妙的组合,紫金铠(MP辅助防御)+轩辕通宝(自动使用山泉水),这种类似于轩辕剑投币式铠甲的道具无疑是一个创新。据说轩辕有人在研究打破常规作用的宝物,能打破敌方行动时,我方只能挨打这种局面的东西,实现情形未知。




(六)关于人物设计、剧本制作
完成上面的一系列安排之后,就可以进入下一步了,那就是人物的制计和剧本制作,人物方面可以参照幽人的帖子,最好是别像CCZ一样,加强人物大部份都在我方,其它的不再多言了。

剧本设计上,难度最好适中,不要太过简单也不过太过BT了,如三国后传就是公认的BT剧本,当初的胡不愁加强补丁也是,这把尺其实很难把握,各人的水平不同。至少制作者自己要能不用修改通关的,这是起码的要求,要注意无数次的S/L只会让玩家厌烦,放弃这个MOD

还有一点,在S剧本中,一些花俏不实用的东西最好就不要太多了,像单挑这东西,有人居然在一个剧本加入十八场单挑,玩家都麻木了,失去了单挑增加气氛的原有意义。战场上的事件运用、对变量的放握程度,直接关系着剧本的好坏与完成度,变量也可以看出制作的敬业程度。


一些个人感想:大家不知道有没有看过说岳的剧本,我有兴看过说岳的剧本,发现里面都是由几十个、上百个变量、多个事件、子事件来构成的,光是这一点可以看出说岳组的制作人员花了多少大的精力。这么多变量写错一个就会引发一堆问题,而这也是对测试人员的考验。可以说,说岳的剧本并不花俏,在表面看来也许不是最漂亮的,最有特色的,可是说岳的剧本却是完成度最高的,大家也要多多体谅一下说岳组的制作人员。


其它的也没什么好说了,各人有各的体会,一家之言,仅是自己的一点看法。
 楼主| 发表于 2015-4-9 12:16 | 显示全部楼层
EXE补充研究及修改
原作者;东方无翼

原曹操传只有512个人物(包括武将、小兵等等),其实不少了,但还是不够用  与是设法增大一倍。

因为在内存中,人物数据前后都有其他数据,所以只能重新开辟一块内存用以存放属性。

第一步、分配内存空间
在游戏启动之初,使用virtualalloc在0x00c60000位置分配长度为0x12000的一段内存。

修改位置:
1、利用0x481583 - - 0x48166d之间的4段约50字节的空间完成内存分配。
2、修改0x481891 位置为 CALL 004815FA。(这个是我随便找的一个比较早的位置  )

第二步、修改偏移
就是让原来访问内存0x4a1b68的全部转向访问0xc60000

修改位置:太多了。我基本上是替换的,碰上拿不准的再跟一下。

第三步、修改循环次数
让原本遍历0x200的程序遍历0x400次。

修改位置:同样很多。典型的就是0x41b6a2位置,这里是从data.e5载入数据。

第四步、修改Data.e5
增加第一个段的内容为原来的两倍。

修改位置:data.e5前端的段信息,从110h到18ch。同时在第一个段的最后增加与第一个段等长的一段内容(长度为0x4000字节)。

第五步、存档、读档
如果修改好了第三步,存档的时候自然会将多出来的512人保存到sv0?d.e5s存档的最后。只是还读不出来。问题在于读存档的时候指定了文件大小。

修改位置:0x41aebd,修改为PUSH 0A8DC。

扩充修改:
以上的修改应能保证512-1023号武将可以作为敌人出现。(未经测试,纯属猜测 )下面主要是为了完善新加入的512名武将的功能。
因为游戏本身设定前174人为“特殊武将”,所以在修改的时候也破除了这174人的部分特殊性。

第六步、列传
原来仅有前174人有列传,现在扩展到所有1024人。需同时修改imsg.e5。
其实是将人物列传的位置移动到imsg.e5的最后,并且补齐1024个。

修改位置:代码中,0x0040bfeb位置,修改为CMP DWORD PTR SS:[EBP+C],400 (循环次数)
0x0040bff9位置修改为ADD EAX,39A (39a指定文件中列传的起始位置)

第七步、上一武将 - - 下一武将
  对于174号以上的武将,上一武将、下一武将按钮不是灰色的就是按了没效果。

修改位置:地址0x4786e8,修改为CMP DWORD PTR DS:[EAX*4+4B6CF0],400
地址0x479372,修改为CMP DWORD PTR DS:[ECX*4+4B6CF0],400

第八步、武将列表
点击查看武将列表图标,显示武将列表。

修改位置:0x469dd4 ,改为CMP DWORD PTR SS:[EBP-2C],400

第九步:出战选择
原来出战时,512以后武将不显示。

修改位置:0x4186d9,改为CMP DWORD PTR SS:[EBP-18],400

第十步:查看装备列表
点击上方查看装备列表图标,显示所有装备。原来不显示174以后的武将的装备。

修改位置:0x466D7F,改为CMP DWORD PTR SS:[EBP-8],400

   但是这最后一个修改后又bug。如果你的队伍中有380号以上的武将,用装备列表查看装备的时候会异常退出。
所以建议不要在我方使用380号以上的武将。或者使用下方的装备按钮,这个不会出错。
剧本的指令中,有两个改变人物属性的。
一个是0x38号代码,改变人物基本属性的。
一个是0x4d号代码,就是所谓的站力削弱,改变人物战场属性的。

其中战力削弱,对于战场上的人物,只能减少其hp,而不能增加或者设定hp等于某值,以下修改是增加此功能的。

修改位置:
0x45ac10-0x45accb 这段代码本来是实现减少hp功能的,但是其中冗余代码(至少我感觉是冗余的  ),与是就改变了这段代码。

0045AC10   MOV ECX,DWORD PTR SS:[EBP-4]
0045AC13   AND ECX,0FF
0045AC19   IMUL ECX,ECX,24
0045AC1C   ADD ECX,EKD5_507.004B2C50
0045AC22   CALL EKD5_507.00472C90
0045AC27   MOV EDX,DWORD PTR SS:[EBP+10]
0045AC2A   AND EDX,0FF
0045AC30   PUSH ECX
0045AC31   MOV ECX,DWORD PTR SS:[EBP+24]
0045AC34   AND ECX,0FF
0045AC3A   CMP CL,2
0045AC3D   JNZ SHORT EKD5_507.0045AC43
0045AC3F    ADD EAX,EDX
0045AC41    JMP SHORT EKD5_507.0045AC63
0045AC43   CMP CL,1
0045AC46   JNZ SHORT EKD5_507.0045AC56
0045AC48   CMP EDX,0
0045AC4B   JG SHORT EKD5_507.0045AC52
0045AC4D   MOV EDX,1
0045AC52   MOV EAX,EDX
0045AC54   JMP SHORT EKD5_507.0045AC63
0045AC56   CMP EAX,EDX
0045AC58   JGE SHORT EKD5_507.0045AC61
0045AC5A   MOV EAX,1
0045AC5F   JMP SHORT EKD5_507.0045AC63
0045AC61   SUB EAX,EDX
0045AC63   POP ECX
0045AC64   PUSH EAX                                
0045AC65   CALL EKD5_507.0043F6CD                 
0045AC6A   JMP EKD5_507.0045AD84

之后空余下0x5C字节。

使用方法:剧本中,4d号指令后面,“1800 xxxx  00下降,01设定,02上升”,这段原本在hp改变的情况下是没有用处的。现在设为01则为设定hp,设为02是增加hp,其他为减少hp。(已修正)
兵种等级控制
在剧情代码 0x46友军出场设定 和 0x47敌军出场设定 中,有一段是控制兵种级别的
4500 XXXX,其中XXXX部分指明级别。
也就是让敌人出现60级的小步兵这样的情况。只是据张生说不定什么时候好用  
后来发现又是可恶的174人限制

修改代码:0x004428B8   CMP DWORD PTR DS:[EDX],400

这就可以让此代码对所有1024人有效。
注:同样没有经过周密测试
 楼主| 发表于 2015-4-9 12:17 | 显示全部楼层
各种兵种与宝物特效
原作者;yanguodong

目录

无反击兵种  #1

“骑马攻击”武器效果对应兵种扩充  #26

防御致命一击兵种  #30

绝对命中武器与兵种   #31

辅助妨碍策略 武器   #32

辅助各类地形宝物  #36

物理攻击免疫兵种  #43

吸血攻击武器与兵种  #57

策略模仿兵种   #106

随机属性攻击武器与兵种特性  #111

策略免疫兵种   #126

每回合恢复自身状态兵种  #127

突击移动兵种   #128



新增“无反击兵种”特性发布


00406471   /E9 E65E0300                   jmp Ekd5.0043C35C(空白位置)
00406476   |90                            nop
00406477   |90                            nop
00406478   |90                            nop
00406479   |90                            nop
0040647A   |90                            nop
0040647B   |90                            nop

0043C35C   /74 07                         je short Ekd5.0043C365
0043C35E   |B0 64                         mov al,64(无反击概率100%)
0043C360  ^|E9 87A1FCFF                   jmp Ekd5.004064EC
0043C365   \8B4D F0                       mov ecx,dword ptr ss:[ebp-10]
0043C368    8B49 08                       mov ecx,dword ptr ds:[ecx+8]
0043C36B    E8 A0A2FCFF                   call Ekd5.00406610
0043C370    25 FF000000                   and eax,0FF
0043C375    83F8 27                       cmp eax,27(兵种)
0043C378  ^ 0F85 FEA0FCFF                 jnz Ekd5.0040647C
0043C37E    C745 F8 00000000              mov dword ptr ss:[ebp-8],0
0043C385  ^ E9 F2A0FCFF                   jmp Ekd5.0040647C

发表于 2015-4-9 12:19 | 显示全部楼层
[catsoul=5]给力![/catsoul]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

牧羊头条上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|牧羊三国游戏网

GMT+8, 2024-12-22 11:19 , Processed in 8.223887 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表