设为首页收藏本站官方微博

汉化资料 神秘纪事2字库函数

[复制链接]
查看: 1710|回复: 3
打印 上一主题 下一主题

[汉化资料] 神秘纪事2字库函数

跳转到指定楼层
楼主
发表于 2010-1-8 00:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 2 b3 ~1 r4 G4 e# e) A1 \  X3 F

! H1 ?6 J% @" q0132D7E0  $  81EC 98040000 sub    esp, 498 : U" X. \4 ]0 H
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] 1 M) R* u# S! @1 |# @* E/ A, L8 K
0132D7EB  .  33C4          xor    eax, esp , c4 g8 V* U9 U$ U: |
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax 5 e  u/ m0 J/ i$ |5 X, e
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] & N3 [) X: n" h1 a
0132D7FB  .  53            push    ebx : a2 m' K/ m8 v+ h: ~+ A. c# I& E
0132D7FC  .  56            push    esi
4 N, r+ x& z7 p; ~8 Q+ q2 ]  u0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
' e: V1 E5 H8 C: y0132D804  .  57            push    edi # A; Z. G$ p3 o% L. C& t  Q
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 0 @. z6 D" t: C) N) ], @! l
0132D807  .  8BF9          mov    edi, ecx                        ; |
+ s7 z4 Y$ F# h! D7 s0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | - ^' D' @! @, f3 ?  k3 y; i4 H2 a1 z8 [
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 8 |, ]* E6 g' z, R. V
0132D814  .  6A 00        push    0                                ; |c = 00
% ?, \/ W0 S) o( D$ D0132D816  .  52            push    edx                              ; |s
3 d% @6 g% U9 _1 F7 I) f0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | 3 y% J+ A& R  d$ S& w1 L
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 6 K) I  u9 x9 b* q  o" X+ I
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 9 f9 r+ l3 h/ K6 i; o% v
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset & j' T1 S& T2 m% B4 F; b8 ^# ?7 l0 n
0132D82C  .  83C4 0C      add    esp, 0C
. U, @9 X; x( [% A1 g/ Y* z0 p- ?0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
3 ~. S# D; G% m: `" y0132D837  .  74 12        je      short 0132D84B
; x9 B& p% [* W) F0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] * C3 f9 d% N7 u: m
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
, y5 O  w5 ~( ~4 s0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 7 |8 B. t, ~" u3 b! \+ Q" x% O( V- [
0132D849  .  EB 32        jmp    short 0132D87D
; b  L& U2 D! }( t  a0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 ' d- N' R7 u2 a2 B7 Y: |
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] . l) x1 O* |. S% O/ F
0132D855  .  33C0          xor    eax, eax 9 m9 T7 j3 g* w5 ~5 c0 z5 U. G+ X# R
0132D857  .  EB 07        jmp    short 0132D860 3 l, n- O  v' h: Y( I
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] ; z2 W! I- t/ E" A8 B: i% {+ L
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
3 s. z  S% q2 c& m8 d- X* l0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
& H" Z( s  \$ i6 P0132D86B  .  83C0 01      add    eax, 1
, S9 Y1 w) P/ c0132D86E  .  3BC1          cmp    eax, ecx 2 k4 X, ~% A9 q, m, k8 }' b% X- c
0132D870  .^ 7C EE        jl      short 0132D860
; Y0 R1 }% E  W( M3 {1 X+ d0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 5 t6 e) ^* O. }
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 1 ~* @8 n* @( D* ?: A' ]. Q3 ]
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
( [% E! u3 y  }; ]" k% {( w0132D880  .  85C0          test    eax, eax
6 V0 S7 x$ v2 B- I6 ~' P0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
( d+ J  r9 @: J0132D885  .  75 05        jnz    short 0132D88C
# h% E- q' \* t7 D; e0 o3 |0132D887  .  B8 16263901  mov    eax, 01392616
$ p9 N, Q' h8 g# Z  i3 A$ Y0132D88C  >  6A 00        push    0 , s  }0 X# M7 k
0132D88E  .  6A 00        push    0 4 N" T# H& c. K: y: K: X
0132D890  .  50            push    eax % l' Q  K7 Z9 h+ V' h
0132D891  .  6A 1F        push    1F ) ~, k9 t" \: W
0132D893  .  8BCE          mov    ecx, esi
+ X' z$ p5 I% ^: D3 j6 p  O8 M* |0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
# r  K( K" [3 b1 ?0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 3 ]1 a- m  M6 ?( {' P1 H7 ]3 f
0132D8A1  .  6A 00        push    0
# V- n, w  j6 X6 }  W0132D8A3  .  6A 20        push    20
1 C; X% z" b  x/ v* A0132D8A5  .  51            push    ecx
# K6 N, I2 M* Y# U0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] 1 G3 c  c' O5 N+ o; u9 |/ ]: g
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax 4 y" H9 H  b' y% Y/ C) F
0132D8B0  .  8B10          mov    edx, dword ptr [eax] 5 B! Z% g$ k/ p4 m# X$ S
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
+ I* F# P6 ?0 _( y' ?4 e, H0132D8B5  .  51            push    ecx
. j8 ~. N) f+ v3 \0132D8B6  .  8BC8          mov    ecx, eax
; Z# n% a' c9 H* j0132D8B8  .  FFD2          call    edx * k/ ]4 j# y1 h8 k  j6 g
0132D8BA  .  85C0          test    eax, eax
5 `, O2 ?9 T( q) k/ h# C0132D8BC  .  75 07        jnz    short 0132D8C5
5 r2 j0 a6 z1 z( H0132D8BE  .  32C0          xor    al, al
& g6 a7 \. M$ J! n) j4 C; I0132D8C0  .  E9 B4030000  jmp    0132DC79 ) H% }- |$ N8 [5 S
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] ' u1 K% h" Q, {0 J
0132D8C8  .  8B01          mov    eax, dword ptr [ecx] & z2 R$ l( J8 {4 v. E$ x, d: i6 x
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] ' ]! U4 m% y2 n$ V
0132D8D0  .  55            push    ebp
4 f7 E# h/ g/ T  D9 U' F0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] ; M% }' H$ @" H7 \
0132D8D5  .  52            push    edx
! H" |! W# N; Q9 Z0132D8D6  .  FFD0          call    eax 5 {5 A& r* E" F! r$ k# R
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL 3 {; d+ O! X2 _4 P/ V4 F# w
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
& k/ \" n2 ]9 d: U% P0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
9 v) p: Q( \# Y9 \0132D8E4  .  51            push    ecx ! D% B8 I+ j4 b7 x# ?6 p
0132D8E5  .  8BE8          mov    ebp, eax 3 ~* H# ^( a. A: s- ^: X: n
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
  [# E% T3 k0 ]. \0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
' ]4 Y( M% Z; H3 m7 T8 e0132D8F3  .  83C4 04      add    esp, 4
8 W- p2 v- c; B* |; H; n0132D8F6  .  50            push    eax                              ; /hObject
  X/ _3 V. c; N" q* _: Q0132D8F7  .  55            push    ebp                              ; |hDC 2 N! j- T7 J* T- |
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | ( q2 n3 {& r% ^3 L) A
0132D8FC  .  FFD6          call    esi                              ; \SelectObject
) M; x8 K5 b" M$ N  b1 P0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
. U6 T  u8 l3 i6 N" a; u: q. V0132D902  .  52            push    edx
+ s& {; w' t/ L& n  m! c  M) {0132D903  .  8BCB          mov    ecx, ebx ; T+ J0 }+ F' N3 V6 Y
0132D905  .  894424 40    mov    dword ptr [esp+40], eax
$ P  y& ]& f* Z- T0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= ; l6 y0 z& }" U! E
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] 4 L# E3 b. }) u
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) 3 t* ?! u, v+ f2 C4 \, d  L
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
- |" f  i0 h1 v8 R0132D91A  .  55            push    ebp                              ; ||hDC
2 r2 x7 k# `/ U( E0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || 7 ?0 s4 @8 L/ t, l* K" m9 X
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps $ {% O) ~: V) [0 k4 c( ~9 |0 [
0132D924  .  50            push    eax                              ; |Multiplier 8 j4 e0 ^3 u) D1 W  ~" E" p
0132D925  .  53            push    ebx                              ; |Multiplicand $ J0 i( y! C0 T  o3 ]# g, _
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv ! y5 t% \- m. M7 J; ?) a. F5 G! @: E$ ~
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]   g5 e, j5 i% |5 U7 h
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] 0 f9 _3 b* j- {* \4 r
0132D937  .  51            push    ecx                              ; /FaceName
8 X! K5 C2 B, d& S0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | 5 W% l4 B; D' G
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 1 @( R' i) H- ^( d
0132D941  .  52            push    edx                              ; |Quality ( A$ _) l; n4 Z  [: q2 ]
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS - t' i7 A$ H# X( I4 J5 {1 f/ p( [0 v. ~
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 7 F& K2 J+ s- K) T6 f8 Z
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET : t1 U5 D2 T/ B/ w; I8 P- f2 U
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE % y/ N: U" I4 z  m0 O+ z6 B
0132D94A  .  8BD1          mov    edx, ecx                        ; | . c# |! \8 k1 l( d6 m, ~% h+ x6 V
0132D94C  .  D1EA          shr    edx, 1                          ; |   D0 C: U/ I, G0 K! C- y
0132D94E  .  83E2 01      and    edx, 1                          ; | 4 S" N% e1 u) C
0132D951  .  52            push    edx                              ; |Underline * G% V2 `* V5 t, F
0132D952  .  83E1 01      and    ecx, 1                          ; |
. ^3 \7 U0 v: A8 y0132D955  .  51            push    ecx                              ; |Italic
! {$ l+ E0 k: Q; A2 R8 d0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
4 ?; d, n0 [* `3 _9 x% I( }0132D95D  .  51            push    ecx                              ; |Weight
' |: e& Z& J/ o9 e0132D95E  .  6A 00        push    0                                ; |Orientation = 0
1 ^7 c8 q- W2 ^2 A) }0132D960  .  6A 00        push    0                                ; |Escapement = 0 + o: n7 p0 ]2 }7 }: [$ v  O
0132D962  .  F7D8          neg    eax                              ; |
5 y$ M8 v: R1 i7 G' ]  {0132D964  .  6A 00        push    0                                ; |Width = 0
5 H, O, _1 X7 K- O! F0132D966  .  50            push    eax                              ; |Height
/ }  H5 n4 K2 z0 {0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
* {( ?. @* L' \' b* v0 ~) Z0132D96D  .  50            push    eax 8 V  }6 ~5 s, x, b% ^
0132D96E  .  55            push    ebp . m/ G) ]0 Z& L$ b8 U. V
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax ; ^/ [! }- |8 i% Z1 o4 C
0132D973  .  FFD6          call    esi
" L' M& i; r% q: W0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
& @0 f, Y! f! |0132D979  .  52            push    edx                              ; /pSize
/ [/ }8 C. V% Q- u5 B' M0132D97A  .  6A 01        push    1                                ; |TextLen = 1
1 }8 |( i4 w* M$ F- O; y- m0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" , r' T, M! v4 l* g
0132D981  .  55            push    ebp                              ; |hDC
( j" I8 N, P4 K4 q2 e4 j8 ^0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | ) Z5 k1 |0 q3 s; i' e: s
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA * W6 a5 i* q# _% o! e, P& o' w" l
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] & o& M  T2 T( J) }& q( z
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]   X7 @- r  C3 e: I! l7 @8 j
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
% ?8 @7 v! P) I6 I- _0132D996  .  33C9          xor    ecx, ecx
0 u+ l; C- F( D; P; R0132D998  .  8BC6          mov    eax, esi
# f- j1 D. n; ]! \" g* K0132D99A  .  BA 20000000  mov    edx, 20 ; k$ ]. Z1 V- A4 ?! M& x
0132D99F  .  F7E2          mul    edx   R! h! l6 f; X0 U; W5 o/ T- w$ V
0132D9A1  .  0F90C1        seto    cl
5 T1 q8 e7 Y5 _/ ]0132D9A4  .  F7D9          neg    ecx 0 i' X" q. ]7 t* M4 K
0132D9A6  .  0BC8          or      ecx, eax
) `5 m1 \! ?! [/ X! L% ^# E0 r0132D9A8  .  51            push    ecx
) k$ e: I+ ~/ A. E& y0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> * p2 ^  l) ~, N9 L7 \6 {
0132D9AE  .  83C4 04      add    esp, 4 8 u% U0 Z' j9 H  o& J3 f1 g1 c% g
0132D9B1  .  85C0          test    eax, eax
4 ^- y) W5 x' M0 F9 o% @0132D9B3  .  74 28        je      short 0132D9DD
- m. }9 |' |9 e. a. `! c  i0132D9B5  .  83C6 FF      add    esi, -1
- T% X: w& k" M6 n0132D9B8  .  78 25        js      short 0132D9DF
; ~7 i$ x) @' O* u% d4 j# f- c0132D9BA  .  D9EE          fldz
1 U& _) a! k, q! F  l3 ^/ |0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
, f7 s% l  n7 q7 m+ R8 T* y0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
  O" B8 l7 s$ D" ~2 t" V0132D9C2  .  83C1 20      add    ecx, 20
: Y4 m$ B% @; a8 {1 G2 }% B" E0132D9C5  .  83EE 01      sub    esi, 1
, H8 o' x+ [: V0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
% S' \  C7 U5 L0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
; r) j5 z, o% w% d; Y0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
+ w" y4 A1 Q* E/ f/ u3 `* D: Q0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] 7 [* y- j6 {4 n; q2 O: r
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] + x7 W4 y7 j: `, f/ n& h, F- ^
0132D9D7  .^ 79 E6        jns    short 0132D9BF
& ], K4 H# J. a/ Y0132D9D9  .  DDD8          fstp    st ' Y8 ?6 ^0 `0 U: a' e
0132D9DB  .  EB 02        jmp    short 0132D9DF 1 w! m/ V9 A! i& q
0132D9DD  >  33C0          xor    eax, eax + U* @: @  v/ F" Z6 C
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] * Z% M% ?/ a. S
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
( f3 h* G% J/ w9 a- {$ H2 S0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] & U8 ?, ?% i# ~# \
0132D9F0  .  50            push    eax                              ; /Bottom & ?5 h9 q4 x! B  ]1 W- O2 [4 }( _, h  y
0132D9F1  .  51            push    ecx                              ; |Right 3 }- e' I: n% y* w' A
0132D9F2  .  6A 00        push    0                                ; |Top = 0
6 O" O, J: O; y8 r$ y0132D9F4  .  6A 00        push    0                                ; |Left = 0 , Y9 F& e+ {2 J  I: C/ @; b" p
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | 1 L) k* y* n& l  t) s& t
0132D9FA  .  52            push    edx                              ; |pRect ; v" J" p  u3 H5 H1 f$ p: J
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
" I  y" Z5 W- {& O0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
$ F3 M( E+ a, ^% X  k& w0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject 0 _  k/ l  b0 L- y5 G  B
0132DA09  .  50            push    eax                              ; /hBrush
' X( H& T/ k4 A* s0 o/ K+ I0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
; T4 v2 f, a4 n* S0132DA0E  .  50            push    eax                              ; |pRect
" ]: q" ^4 ]  y  I% S" b0132DA0F  .  55            push    ebp                              ; |hDC - W! v. s+ \' Q- \8 {" j) ]* E( M
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
  ^$ i  Y0 O* ?2 W  d' m0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
% U( G# {% ^" C; m' I3 [0132DA18  .  55            push    ebp                              ; |hDC
! b0 t7 W! c9 j5 o5 n" ^0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
  ^+ z% E. k. F/ ~0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
& |! I, P  ]( D4 _- X0132DA24  .  55            push    ebp                              ; |hDC : a6 Z' F" y4 r3 n9 y
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ! M( M0 ]0 T6 G$ c+ T- ~
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
- y- B+ m) G" }0132DA2D  .  55            push    ebp                              ; |hDC / `6 n0 l. _1 r" ?" Y& `
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
' Y! C. c( r- S" f9 Q+ U0132DA34  .  33F6          xor    esi, esi % ?! A  C2 H( q5 J8 w
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi + p# B# k) u! @# v+ F
0132DA39  .  BB 01000000  mov    ebx, 1 * o) V" H# E( d/ R  I  a" }
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
. Q$ F& o- T$ W  Q5 s/ A7 F9 k0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
: X1 w# O4 B0 x7 d0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
. Z0 L$ g' R4 X* S5 [1 }. o+ E0132DA4A  .  0F8E 20010000 jle    0132DB70 . S' }  F' z% T" |( Z  D
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
8 _/ z6 `8 B% e5 b0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
- y: n" H0 S/ V/ `6 \2 `0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi 3 l6 ^$ s: ^! u' e" Y# j3 c/ K
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax ' n; @4 O. }5 A7 l( I  I- p
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] + I' v0 A& O! `2 I$ a$ s6 c# [
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] : Q7 }& ?! z7 _
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
, B' j& o1 g+ W. j# x* \% t0132DA72  .  EB 04        jmp    short 0132DA78 9 B! D8 g6 C' r6 \; J/ r
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
( _1 B3 z; c7 J0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
, \5 {/ o: F, G+ M0132DA7B  .  66:8B08      mov    cx, word ptr [eax] # ?  X6 R% d) Q) q5 I' X9 H6 X
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] 1 K2 ?4 C* M7 d1 Y% x3 Z% S! g
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
1 O$ l( A1 t2 v) C0132DA86  .  0FB700        movzx  eax, word ptr [eax] + {, _. ]: A7 l/ w( N" v' ~
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] # y  H5 p# [9 [) t. F
0132DA8C  .  51            push    ecx                              ; /pABC
* r" n, E! S! G) ]1 T" ?0132DA8D  .  50            push    eax                              ; |LastChar   ^- T- k7 B! x8 f
0132DA8E  .  50            push    eax                              ; |FirstChar : }  {. @) y; h% U5 N
0132DA8F  .  55            push    ebp                              ; |hDC
1 v3 D7 w# D+ X6 ]; |2 B0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
% A: o$ H% }* J: F( X& l0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
$ i/ `  C1 H0 \( p8 G0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
1 @& o/ ~6 _; I6 R; t. ?+ Q0132DA9E  .  73 10        jnb    short 0132DAB0 ; H8 ^3 f6 m' f6 _0 [8 |' \
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 / H  H) I4 f" ]$ ?9 ~2 I" @+ L
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 # s2 J7 t3 y$ d' W0 V/ V
0132DAAE  .  EB 0C        jmp    short 0132DABC
6 X8 k9 _' m$ J# I8 |  h! W0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
3 d' I/ G5 P  d: K8 Q- k' @. z0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 , v& e1 C2 Y8 @5 P
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 9 o/ ?) k: M3 ^: \$ H  @; ?2 Q
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]   ~+ T5 }  Z0 G4 B' j; R
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] + K, m" x' Z% K( M- X& Z: `# i: X
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] ) f% |( P$ u+ o- U* y# q
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] $ n6 w: z- y2 d) q  q- s
0132DACE  .  72 14        jb      short 0132DAE4 & X: x2 j* ~; I& [  {4 ?$ Q3 s- [
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] - f3 u% b$ m6 F( m
0132DAD3  .  BB 01000000  mov    ebx, 1
/ @% _. m% b" ]- O, z5 K6 N0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
% D( V4 b4 O8 o8 p* H$ }7 Y0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
% K/ P$ @/ z  p2 d0 s0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
5 m/ K) x2 h$ b3 S# K/ a0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] % T( b  k- G% J2 ~
0132DAE8  .  03CB          add    ecx, ebx # }4 _5 R; T# o1 k1 o6 [
0132DAEA  .  85C9          test    ecx, ecx # I1 Z9 j( [/ W* A
0132DAEC  .  D94424 38    fld    dword ptr [esp+38] ' E$ {/ D, T- v3 q3 g1 u$ {
0132DAF0  .  D9C0          fld    st . ?, A& [) `8 l4 e! a2 V
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
, Z, C; ^3 V, Z0132DAF6  .  DEFA          fdivp  st(2), st
; q' N! Y( E- c) S1 c( Z2 |! z0132DAF8  .  D9C9          fxch    st(1) $ e8 b2 Y' _7 t1 m' Y: Q8 r
0132DAFA  .  D91E          fstp    dword ptr [esi]
" N9 ]. B& U5 N& X0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
8 n$ \9 o$ d0 }/ E( x6 p7 q% A: H# W0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
, b- n6 ~/ A2 B! @3 i. A0132DB04  .  D9C0          fld    st
! \' S7 ?7 w! S0 N0132DB06  .  DEFA          fdivp  st(2), st
4 D. q3 W& n7 K* t* ^+ L, Y/ g' f% x! P0132DB08  .  D9C9          fxch    st(1)
& y: ~% B( M& U: h) }: V& l0 ]0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]   V7 K& T" N- V! Y; v$ |2 w* h( Y
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] ! x2 o: p+ z  @' m* s! V( b8 f- I6 n
0132DB11  .  7D 06        jge    short 0132DB19
* N8 k1 N3 ]0 B8 ~' \7 G0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
1 a; [: p: F) K0132DB19  >  DEF2          fdivrp  st(2), st   t* x) H# L% J: L
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
5 }5 b. |# t! _0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 % d& m  x7 V& m5 s3 B1 q+ z9 J
0132DB21  .  52            push    edx                              ; |String
" m3 w/ a3 a# X( o. z0132DB22  .  50            push    eax                              ; |YStart $ O  a0 q' L0 M. x5 I
0132DB23  .  D9C9          fxch    st(1)                            ; |
4 E7 |( R0 _$ g# e0 @+ d0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
. @/ ]. U2 g& U* o4 y. C' Z8 ?$ g0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
* b1 g3 ~) ]# A7 Z0132DB2B  .  03C8          add    ecx, eax                        ; |
/ _: U+ K" l) g8 L' E# P7 E0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 7 g1 z1 H5 u' I* \, T' K
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | * y$ C6 N1 d" y8 l- ?
0132DB35  .  8BC3          mov    eax, ebx                        ; |
5 @5 N* j  m2 A4 y& Y6 J0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
  n% R' F  v' Y  [0132DB3A  .  50            push    eax                              ; |XStart
* c! }* T  r  t0132DB3B  .  55            push    ebp                              ; |hDC . x7 Q8 I) Y$ i0 m
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
' ]! F0 B1 j. Z. _& J& }8 Z0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW 9 V* {( t9 y' p: j9 f4 |
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
0 @6 m, C2 d4 v9 {0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
4 ^4 X2 Z* ~5 C' r: i9 H0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 & I' |5 x2 V, f
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
( d  G$ {& W& ~1 }& D0132DB56  .  83C0 01      add    eax, 1 9 z. ?6 c, l, {5 t: i' }( O  {  l
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
( q* C, C. d+ o6 @$ u0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] # F+ s7 k5 z6 n' B9 z0 b  V
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
+ l! R3 ]9 Y% }5 E! R6 t0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
1 b& E4 A' ~( _. n8 I8 Q0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
: X4 P9 d# Q: s- M: K0132DB6E  .  33F6          xor    esi, esi
' K; Q2 S: W# a. ~/ X0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
8 V* V- C' Q! Z$ @( o1 R( d, F0132DB73  .  6A FF        push    -1 $ ?5 k2 h: J0 K0 U% E# q  r
0132DB75  .  83C1 38      add    ecx, 38
9 L0 c: m- Q4 f2 x7 q0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
2 e% Z( l( f  E5 W0132DB7D  .  8BD8          mov    ebx, eax 5 {7 x" i+ e( A7 P1 c* [9 M
0132DB7F  .  3BDE          cmp    ebx, esi
/ x2 ?; x, v+ Y1 N9 p0132DB81  .  74 74        je      short 0132DBF7
2 n- D& y* a# _9 \* V) w+ U8 ~2 m0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
( u  o3 M$ ?; P) `* p* q8 K* F1 e0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
: b: o: ~3 p+ p9 d- H! X6 |0132DB8B  .  52            push    edx                              ; /Buffer % L/ o8 F; `$ f! @! P7 h
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 9 u& a  _  m9 S* a. M
0132DB8E  .  50            push    eax                              ; |hObject 8 t" C# v6 _( h3 m- F5 \
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
: B9 D9 C6 {$ x0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] : {9 s" U( c3 G+ f1 k
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
, e) [! I$ E1 y$ g) D, G% U6 }0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
, x. p8 `6 q* l3 H0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] 7 x  H4 Z5 r# p: Q
0132DBA5  .  85C9          test    ecx, ecx - O9 T4 m9 p0 {( h0 Y
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 1 h& I( Y5 ^4 S1 L. Y2 r! `
0132DBAF  .  7E 46        jle    short 0132DBF7
- l) J7 t+ \2 G7 f& b  j( O) F0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] & j* t6 q* `; `2 L" I
0132DBB5  >  33C0          xor    eax, eax + M: u  E0 `" z. @- b
0132DBB7  .  85D2          test    edx, edx 7 Q$ W' o, ]9 Q5 t3 p
0132DBB9  .  7E 26        jle    short 0132DBE1 , e3 u1 ~" Y$ n  f
0132DBBB  .  8BCE          mov    ecx, esi + z4 b4 w5 c/ m# Z" o
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] ' }+ I# w6 Y( Y2 }. q- F
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] : E: u& y6 k1 I1 W% B7 N0 v  Z" P
0132DBC3  .  C1E2 18      shl    edx, 18 : v8 j1 [% s9 [
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 2 Y6 x( v/ U* ^, l0 R# n* n$ p
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
) G8 L  x0 `. Q1 @0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] + }  x: c9 F, m
0132DBD3  .  83C0 01      add    eax, 1
7 ^$ D  m% J. x  n$ V2 c5 p; g0132DBD6  .  83C1 03      add    ecx, 3 3 h# K( A& P4 T3 b" L
0132DBD9  .  3BC2          cmp    eax, edx
( y5 }2 \- o' T0 D+ m3 x+ W6 ^5 }* V7 _0132DBDB  .^ 7C E3        jl      short 0132DBC0 8 O  j% c5 ]) o# _' P3 ^! x: f
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] - r! |7 H; u: F9 h- A: K
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] + X0 S: H9 |/ m- X/ c0 c
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
1 K4 b- U0 Z, L9 q& t0132DBE9  .  83C0 01      add    eax, 1 5 `& |% ?5 c0 s. c! E2 d
0132DBEC  .  3BC1          cmp    eax, ecx + t7 _- V5 s% L- s! B
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
$ s0 p/ L5 g" E, H) l0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
8 A- C" B) H+ l( h# `+ N0 v0132DBF5  .^ 7C BE        jl      short 0132DBB5
5 h, k  _& A5 m8 X2 Z0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
( I$ ]& ~: i- n2 ~4 }) A6 w0132DBFA  .  6A FF        push    -1 + a1 j- _. |' u, x" n% z
0132DBFC  .  83C1 38      add    ecx, 38 9 l! Y! J& @/ Q$ Z$ P5 |: {
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
- _: Z1 ~/ [% M: I; A/ b0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] 2 d1 B1 w8 A2 U% e$ m- Q! N! p0 I! B
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject   i0 ~' c3 `/ ^" |! c; Q# a; z6 P
0132DC0E  .  50            push    eax                              ; /hObject % A1 o6 C/ z- [8 z- x
0132DC0F  .  55            push    ebp                              ; |hDC
5 C" u  @6 u+ W5 I2 N; q0132DC10  .  FFD6          call    esi                              ; \SelectObject
  ^: T" a, N4 q  K* W! G7 U; u: `# C0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
- D+ U" s. W) J/ v' X7 B( w1 T0132DC16  .  51            push    ecx $ ^9 |1 s/ e# t) |
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
- ?# [3 k1 R% t' x$ E) C4 a8 k5 G0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] ' \! f3 [8 _# F6 R" s
0132DC21  .  83C4 04      add    esp, 4
5 x. @! F" p0 G6 D# u# z1 D8 M0132DC24  .  52            push    edx 6 s+ X; g. s4 z, W% G9 E1 {
0132DC25  .  55            push    ebp % g. D3 S# n6 R
0132DC26  .  FFD6          call    esi
$ z$ L; z% X4 l9 M$ b5 N! R0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
5 S' x. Q9 E: }5 @# ?# |0132DC2C  .  50            push    eax ! N! |! W1 \  {! O- n9 S
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont 0 Z0 ^$ v+ [( B+ H- O# H
0132DC33  .  83C4 04      add    esp, 4
0 ]# U' X8 Y' J" _$ K  S0132DC36  .  55            push    ebp                              ; /hDC
; Y+ Y; S% B) j3 B0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 2 g  g3 Z9 q! V+ \' b  V0 e
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] ( c% Y9 b9 {; T% T9 n$ n1 a' }
0132DC41  .  6A 00        push    0 6 t" c( M& x) J, V: w5 H& R
0132DC43  .  51            push    ecx
( \+ z2 j2 d% I0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
5 d1 N1 x! R. }! g/ c1 {; b& q! f0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
. ?6 \5 t; }- O  F, W; k0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
" a. d$ q9 O1 _0132DC4F  .  6A 01        push    1
0 o. f( H# v" t, ^( D; M* \$ z0132DC51  .  83C1 38      add    ecx, 38
" f5 ?6 j7 Z3 w$ T0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
3 g0 a, g1 E* G# ~' C, }6 f0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
6 E/ a: M' Z- `# K) n0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
6 ~# C# b  Z: E. [' a& a& v0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
! m: Q6 E0 e3 [% d0 G0132DC61  .  6A 00        push    0 3 P3 W9 M& i. ]# y  X% M/ z. U) z
0132DC63  .  FFD0          call    eax
& n. b& Z" a, J! p! B# |: f0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] % |& l" M; P0 j' H" }" l5 n4 J3 D
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] + z& k- E6 U: v  t9 n
0132DC6C  .  33C0          xor    eax, eax
9 P* w5 x& @: N0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 3 |3 p- u/ P2 L/ I
0132DC75  .  5D            pop    ebp / ^* y, i, O# `' e" M! N" I
0132DC76  .  0F9CC0        setl    al
$ r0 G6 ]/ N! K* r1 |* x8 t0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 6 k8 z; D( D% }3 y" P
0132DC80  .  5F            pop    edi
( e: [% p  H8 U+ q/ b0132DC81  .  5E            pop    esi
5 Q" u- r, Q/ \9 R. {0132DC82  .  5B            pop    ebx ; e1 m. D7 ]1 P- V, h  N1 ?
0132DC83  .  33CC          xor    ecx, esp ' @' n; \" B3 \) }. g: L
0132DC85  .  E8 E2460500  call    0138236C 2 ^' c$ j; g, q# A: m6 m) g
0132DC8A  .  81C4 98040000 add    esp, 498
1 Y' J* V( q9 l$ W, ]0132DC90  .  C2 2800      retn    28
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-1-10 13:23 | 只看该作者
不懂,希望能把分析发出来给新人学习  谢谢 [s:45]
回复 支持 反对

使用道具 举报

板凳
发表于 2010-1-10 13:24 | 只看该作者
再请教 这个调试软件是什么,那里有下载。。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2010-1-10 16:37 | 只看该作者
回楼上,这个调试软件叫ollydbg,即OD,我用的是其修改版olly ice.1 L5 C  y% z4 p3 `7 A' A
分析说明也许以后会补上。. O/ B1 N. N; b+ w7 K/ j$ T
! ~. n6 K) H1 B3 ^, v) A- Y& k
加油!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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