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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
4 _8 ]# M( d" F) R
* E' Z7 `  o; }0132D7E0  $  81EC 98040000 sub    esp, 498
6 c9 t4 |( V2 b/ ?. @5 x& U8 ]; I. H0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
  L0 M; @; J6 y9 K) t0132D7EB  .  33C4          xor    eax, esp , y. H- l& \: w2 n# q& y/ }4 Y
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
! }' r* B, U! o( C0 F0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
8 n' T' D" N; S+ T" j0132D7FB  .  53            push    ebx / S+ X! o# ]0 s+ q6 c. A
0132D7FC  .  56            push    esi " ?! s0 L1 a( J' ^2 y
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] * U" q- E: k0 b# o+ P
0132D804  .  57            push    edi + Y3 u# E! h1 C( {' [" y1 X
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
! m7 e  _0 e5 G* u+ [1 X0132D807  .  8BF9          mov    edi, ecx                        ; |
3 e9 r0 k$ H; M1 a0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
6 U+ B5 @6 g2 z2 V0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 4 I; c3 }# e4 p  o5 ~
0132D814  .  6A 00        push    0                                ; |c = 00 # Z9 O; p8 @8 T- H4 t# S8 J7 h1 a
0132D816  .  52            push    edx                              ; |s + L( f& i& @" j, [) L' E/ d& m5 m
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | & z1 j, o4 u+ P- F" m
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
, \. g  D2 M1 U6 Z! X6 t- R5 w0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
6 n! ]+ `4 u0 ?0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset 7 M( b; A" ~4 x  k1 ~
0132D82C  .  83C4 0C      add    esp, 0C . U; Q0 d9 q+ ~+ F0 S" `
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 # Q( B: Z8 G  ]& a, R5 {/ W1 Z6 R# Q- K
0132D837  .  74 12        je      short 0132D84B ) Z% m8 F+ ^/ B+ l% @2 n
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
1 J7 C% l% @( ^9 t: D0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ( I; i& G% g( V- t* H; q- B" _
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
' h4 p$ }; h5 \3 k/ i1 C0132D849  .  EB 32        jmp    short 0132D87D
8 t6 j5 d# f! M0 K! _9 o, n0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 * D! q+ Z/ Y. O; c! h
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
+ {! L# @& w9 I9 B0132D855  .  33C0          xor    eax, eax 2 ~7 h( o; u7 i  k
0132D857  .  EB 07        jmp    short 0132D860
" ^' Q) ^' N+ Z2 u; p0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
  _6 r' z; ?- H1 C) ]0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] + c& G9 y! X1 C) V; b5 q% b3 ^
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 2 a+ G  M' s) q# @( ?6 r$ l" W
0132D86B  .  83C0 01      add    eax, 1
3 K  U; l7 Y8 R- J. V0132D86E  .  3BC1          cmp    eax, ecx
: Q7 }% F& W* B  V  E0 ^# @4 e0132D870  .^ 7C EE        jl      short 0132D860 8 \; C1 g0 }& w4 B* D5 V2 s
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 2 `  t+ B3 `3 d9 k) r
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax ; |& X3 N+ T2 o" E& b* W: m) {
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] ; Q8 m. `& s" e0 c$ ?6 m8 s  H
0132D880  .  85C0          test    eax, eax
) D! l3 g9 C3 G* a" s# v4 W0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
! A4 _0 y  {0 ]1 n- R: d1 v) k0132D885  .  75 05        jnz    short 0132D88C 0 w9 W3 L/ g" ]* l* R+ }1 T5 P
0132D887  .  B8 16263901  mov    eax, 01392616
. n0 I  m4 o. L# P: u0132D88C  >  6A 00        push    0
7 {3 K- W* o' ^* Q4 P0132D88E  .  6A 00        push    0
+ F) j! j* Z# w& Y% x$ }: Z  U0132D890  .  50            push    eax 4 Y! E) v6 f3 w6 r& w4 p+ s
0132D891  .  6A 1F        push    1F
( G4 P% o# S+ W. T3 L0132D893  .  8BCE          mov    ecx, esi
4 W: `  Q% `- y# C) K: E0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> ; t3 S2 [! K, q( Y% g* \
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 3 j+ N" D- T" B& A* }
0132D8A1  .  6A 00        push    0 7 K$ |: ]$ Y$ _; r$ T& n
0132D8A3  .  6A 20        push    20
/ d. `4 S5 r8 `2 z! l  Y0132D8A5  .  51            push    ecx
+ Z6 a7 v  P3 Q- ]: x" p0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
3 y. \( g+ k7 y; ?; V. n5 o0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
4 j: G6 I6 ~1 O7 |6 n0132D8B0  .  8B10          mov    edx, dword ptr [eax] 2 u# B6 P/ n$ ?, V1 x: p; f
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] $ K7 C) m5 S4 q* j
0132D8B5  .  51            push    ecx 9 v8 Y. y6 ~  S3 x2 B9 _( r, [
0132D8B6  .  8BC8          mov    ecx, eax ! c8 w' T5 K2 b5 q
0132D8B8  .  FFD2          call    edx
6 c9 Z0 C9 y9 O3 K0132D8BA  .  85C0          test    eax, eax $ U6 T. x6 K5 ?
0132D8BC  .  75 07        jnz    short 0132D8C5 + C+ X% f9 M, g/ e. n
0132D8BE  .  32C0          xor    al, al ) b% E- {! X: _) p6 N5 P
0132D8C0  .  E9 B4030000  jmp    0132DC79
4 S( o1 p1 C" x. G2 j8 O6 [) x6 t9 @0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] : s  A2 c% V0 B( t% W! k4 H
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
" L: W9 k, u, W8 o" D: M1 O0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
2 [5 D5 L* c. Z9 k0132D8D0  .  55            push    ebp
) J& T+ H$ o6 E) v0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] 3 d; G3 L% b* T& o7 n/ F
0132D8D5  .  52            push    edx & E/ n, B  P9 s1 u( Y9 U
0132D8D6  .  FFD0          call    eax 3 A2 w( [; L  u+ v6 ^) L7 d' _" _
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
6 u, p4 |' n* e0 E) h/ C3 ]5 z0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 0 a$ V& U* t8 d9 G4 }9 W7 Y
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
( ?9 e, {, u9 w) _+ m8 W0132D8E4  .  51            push    ecx 9 g" j$ q: K% S2 l; G# U8 A
0132D8E5  .  8BE8          mov    ebp, eax 0 p1 f) V$ S1 J& k' T
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap - y6 d$ u" r6 g7 d/ T
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
7 S  q- p% V0 ~$ e" }0132D8F3  .  83C4 04      add    esp, 4
2 z# N; s* ~1 `" T/ f0132D8F6  .  50            push    eax                              ; /hObject ) F+ v# D7 w" F+ W; \
0132D8F7  .  55            push    ebp                              ; |hDC 7 I) U8 s" @, H6 ~+ R5 Y
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
- i, F! ]7 {: c% Y9 v& r0132D8FC  .  FFD6          call    esi                              ; \SelectObject 3 L" p0 E6 o! r. O; b. `
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] ' \& L+ q) \7 ]/ G
0132D902  .  52            push    edx
/ F8 l- |* K1 W# L1 Y0132D903  .  8BCB          mov    ecx, ebx
# _, k1 p# Q! K5 u" p0132D905  .  894424 40    mov    dword ptr [esp+40], eax . @6 Z. @% Z- o5 [3 z
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= / \- t3 v1 r4 R# {! L
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] 0 Y! C0 N/ u7 L1 K4 w/ i
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
% Z" d9 u: H& d$ x: d0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY & c! e4 E# k+ Z. m4 @
0132D91A  .  55            push    ebp                              ; ||hDC
  V4 K1 Z% [" q9 \0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
2 J8 D; R& P8 M8 d0 ?0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
' r4 h& K7 M7 S, S1 ~0132D924  .  50            push    eax                              ; |Multiplier
6 e! I! I# A; S: n# a  E* X0132D925  .  53            push    ebx                              ; |Multiplicand ( z+ v! }8 N9 X, X, Z6 [3 E+ a
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
5 Q& j! [& q) d0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
" c. r7 `# @; T6 h% {& H! H0 ?0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
" I% q$ P  q0 J2 O# f1 A& D0132D937  .  51            push    ecx                              ; /FaceName & a+ k" v* Y( O! _, }
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | " h0 {1 A! Y  a7 X" f' y  V! y
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 2 ]. ^# x( W9 P6 k/ ]6 l3 @7 S9 ]
0132D941  .  52            push    edx                              ; |Quality
3 T" a9 G6 J( j+ r+ d+ T- f0 `$ K0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
$ _. F! A# v  A5 A7 v( E( R0 t0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 4 [/ ~2 N, U" ]8 h4 v
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
2 ?, G% k% d, k) q- y* \0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
/ m. a1 `2 u6 P9 d7 R0132D94A  .  8BD1          mov    edx, ecx                        ; |
2 |& o  b( I8 H" A  j* u0132D94C  .  D1EA          shr    edx, 1                          ; | ' _8 U8 x6 d) g" n6 _
0132D94E  .  83E2 01      and    edx, 1                          ; |
0 [7 q- G5 y8 X; H$ W, l* v0132D951  .  52            push    edx                              ; |Underline
% ~$ v' V% D' m% N$ W/ ^2 E# o0132D952  .  83E1 01      and    ecx, 1                          ; | - y8 t1 ^  U; M: D) H. f
0132D955  .  51            push    ecx                              ; |Italic $ }6 A1 a$ i) C$ i" C
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |   X& W; ^2 D; r/ ~
0132D95D  .  51            push    ecx                              ; |Weight
/ G9 F7 Z1 F+ e. _- ]# u, u0132D95E  .  6A 00        push    0                                ; |Orientation = 0 8 q" [4 |) O5 n% B. t2 U! J- J% e
0132D960  .  6A 00        push    0                                ; |Escapement = 0
0 F/ H. ^, n" |' A1 p2 ]0132D962  .  F7D8          neg    eax                              ; | " I; q6 B- T3 r" Q1 {: `
0132D964  .  6A 00        push    0                                ; |Width = 0 ' \. f; ^% @) i, `4 l9 E
0132D966  .  50            push    eax                              ; |Height
0 N. p( w1 @$ x% |  L3 r$ E" e0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA , N! h: m; D, F0 i
0132D96D  .  50            push    eax 8 E. U9 g3 t2 P" p* V- l
0132D96E  .  55            push    ebp - I: k# x0 _- e7 j4 c5 y9 F+ Z
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax # F) Q% J5 ~6 v8 Q  h, |8 z
0132D973  .  FFD6          call    esi
! o% V# V! v1 y8 v0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] 5 G! W$ \  v5 X- q- \: ~3 T% `
0132D979  .  52            push    edx                              ; /pSize $ q2 n8 L, x% [" J! @3 W
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
/ _$ t6 H& c( L% J+ C0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
. B! T& x# g4 q) O- n: B0132D981  .  55            push    ebp                              ; |hDC ( t8 C, N& b& h
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
( H( M5 [8 @) E- _: {% T7 D! a/ @6 L0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 6 d8 L, V7 o) p6 i% V$ A% t1 Y
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] 1 p" s& B2 V! |7 {
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
0 k! w  p. I: D0132D993  .  8947 18      mov    dword ptr [edi+18], eax ( x: i, e; ~% j0 a* v3 `0 ]  ]
0132D996  .  33C9          xor    ecx, ecx ' s) L5 l. [1 g) [: {9 s: `' W/ \
0132D998  .  8BC6          mov    eax, esi $ t" r  R# {$ }$ h' W8 C
0132D99A  .  BA 20000000  mov    edx, 20 , f& `; f2 d$ h; G3 G" z. }
0132D99F  .  F7E2          mul    edx
6 f$ s) i) v" g+ v7 O4 B) S0132D9A1  .  0F90C1        seto    cl
1 Q' }  ^7 P3 G3 P; h( r0132D9A4  .  F7D9          neg    ecx 2 t4 |" a5 Z- H  V/ v$ O6 Q
0132D9A6  .  0BC8          or      ecx, eax 5 v* t* ]. L! |  S
0132D9A8  .  51            push    ecx 6 e  s& h( s1 W( Y* H
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
2 G9 V3 D  c2 c' t( g0132D9AE  .  83C4 04      add    esp, 4 2 ?- [8 l* t* \; S! ]1 T
0132D9B1  .  85C0          test    eax, eax
/ e/ j9 j8 G7 F  o) D3 g* \0132D9B3  .  74 28        je      short 0132D9DD
/ C# a. q! F) B# c" B0132D9B5  .  83C6 FF      add    esi, -1
9 G4 k( ~8 r+ _4 L0132D9B8  .  78 25        js      short 0132D9DF
1 j- H9 ^5 m! T4 u1 X0132D9BA  .  D9EE          fldz
  Q/ [' P( {. y+ K2 n4 u0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
& `, b! s9 [' B* l3 F% l: B5 D" y0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
, s% {* \& S- u- W0 L" l* q0 ^' g0132D9C2  .  83C1 20      add    ecx, 20 , V, b7 Q+ w/ j% p
0132D9C5  .  83EE 01      sub    esi, 1 6 p0 J! n- N6 Q2 Y, c# [( V% }
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] 9 J( x$ k1 L; U. X9 F
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] 7 e- J+ j' r2 a6 m
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 5 s8 P" \2 C' u# T8 K6 q- I
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] ) y( W# ^, `- i* Y- n
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] $ c2 t* ?4 D$ C4 `5 N
0132D9D7  .^ 79 E6        jns    short 0132D9BF 0 b! p+ O' f4 ?! X
0132D9D9  .  DDD8          fstp    st
5 S# n# E3 g; j4 Q0132D9DB  .  EB 02        jmp    short 0132D9DF 6 ~/ g0 @0 y) I' d# y, v/ a5 K
0132D9DD  >  33C0          xor    eax, eax
; T) h3 L7 E1 g. H/ @1 M0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
8 y$ ?8 y! c3 A( t- P! c0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax $ J- }: L$ X$ t3 x+ U
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] 1 n: l  a5 F/ v
0132D9F0  .  50            push    eax                              ; /Bottom
, d1 p1 }4 J$ f' S, ]* W$ M0132D9F1  .  51            push    ecx                              ; |Right
, N  h0 N2 C7 f, l& N, x1 c  _0132D9F2  .  6A 00        push    0                                ; |Top = 0 7 `4 W. _. f* g; D; g) N0 ]
0132D9F4  .  6A 00        push    0                                ; |Left = 0
; Z2 [/ ^+ J; v0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | ( t- i3 p7 V% `* r* r
0132D9FA  .  52            push    edx                              ; |pRect 1 ^; ]1 Y8 X, M5 i$ g
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
% i9 G0 v' k7 d6 c  U: z0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
: X! ~( ~( H6 a4 ~7 ?0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject / w# s9 Z0 R( L8 R& ~  m* z
0132DA09  .  50            push    eax                              ; /hBrush
; `1 I  B0 p3 F4 P7 g' b0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | 6 U, T( g6 f; ?4 N1 J
0132DA0E  .  50            push    eax                              ; |pRect
% v" c0 o! P+ l# U9 f0132DA0F  .  55            push    ebp                              ; |hDC
5 O' M2 t. M1 c9 m+ W" b8 J- B. Z/ j0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
( J# u! U- M( w  y( p( @/ a0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
2 m- x- w7 C! ]4 k6 O) V6 k+ d3 W2 c0132DA18  .  55            push    ebp                              ; |hDC " {) h4 C6 V7 k3 v7 A
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
5 o' C3 P- I0 p+ G& j0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
6 {/ V7 L) o$ e9 d" N0132DA24  .  55            push    ebp                              ; |hDC / l$ C( y- Y7 ]" m: x9 |/ b8 q
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 4 }* c/ m: e3 S' v; f& B/ @
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
( r6 J( m+ [/ |0132DA2D  .  55            push    ebp                              ; |hDC
+ g7 I- H* p  P0 Q0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
" A' r: H$ N. O( c  H" a3 ^2 Q0132DA34  .  33F6          xor    esi, esi
4 F, V. w- J  U/ E0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi " S8 }, |4 j6 n: ?) H( ^- I7 U5 a
0132DA39  .  BB 01000000  mov    ebx, 1
2 J3 J4 r1 l9 V6 S) d! N* \- W0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
# m, n; r% A/ _' l0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
0 C; x7 c4 t$ [0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
8 j; G, G3 c! e( V3 `( q+ K: Z0132DA4A  .  0F8E 20010000 jle    0132DB70 ' y) z( n% I4 i0 s7 a
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] ( g& ~. J1 q, e. e8 d9 }3 N
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] ( v7 @6 J) Y% b( S0 u7 r8 a
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
2 A# f* f) N1 p: [! D0 T7 l0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
( z1 Z1 X2 U: V( |0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
+ j2 t7 C- X" A$ G/ w7 d1 K0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
) H0 |2 Y. _# E' j5 H+ a  d0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]   G! a! A( ?3 E; l
0132DA72  .  EB 04        jmp    short 0132DA78
2 L( n" T2 E+ F# F; b0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] ; G* R! L7 {/ H. x3 w8 {4 s4 i  |6 P
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] # m% \7 o7 s& W4 k1 d
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
; w8 t0 t$ x$ T! s6 ~: D& y0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
3 K& R% L6 Z* I- S/ [- f' R0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx 3 C! s# j! x, Q+ Y" R* n; w
0132DA86  .  0FB700        movzx  eax, word ptr [eax] ' A3 [, d1 Q: \% O
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
: x; n1 R& o! k' Z# f0132DA8C  .  51            push    ecx                              ; /pABC
. s0 s! [% t3 q9 |0132DA8D  .  50            push    eax                              ; |LastChar
9 E5 L6 U- D  I0132DA8E  .  50            push    eax                              ; |FirstChar + J$ L1 q' H. e. ]
0132DA8F  .  55            push    ebp                              ; |hDC
, h- z9 H! X: P# |! t: A0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
. r% c3 x1 c( A/ S" W0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] / Q  u0 i. y, J8 o- V
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 7 v) ^% ]( o3 b% z* ]
0132DA9E  .  73 10        jnb    short 0132DAB0 8 L3 P5 ~& ^( g: n. c1 f: `' Q8 e. x
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 : c$ y- N  B, E6 I7 x
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
" y( T" T  N) u! I& N6 l$ q! b( l' r0132DAAE  .  EB 0C        jmp    short 0132DABC + X* W1 [5 P, V- n
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
, U. Y/ n6 U' c8 E: d) Z( i0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
' h( n, }& w4 Q' a4 g# e0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
+ M7 b- G% [. @1 @0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] * H- F0 n4 W3 I  V- W* Y6 s3 }: L
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
$ \. N- x: b/ B0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
2 C* `4 w9 V) Z% k4 u2 g; U0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] . }! I1 Z$ j+ G
0132DACE  .  72 14        jb      short 0132DAE4 * p& j" z) L" @
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
1 W" |3 z' l1 n8 p/ z0132DAD3  .  BB 01000000  mov    ebx, 1
, r, s! T5 N1 `& p# u0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
1 C: T7 o1 N2 x' f: r; F* c0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx ) X9 q. D3 [( [- [& S9 P
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax : E* I9 O/ Q! k. K' l9 f, f. }
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
9 [/ x4 y" ?8 z. d  G  o( j5 q3 k0132DAE8  .  03CB          add    ecx, ebx
  U7 n* X3 P/ n. g( H. ~0132DAEA  .  85C9          test    ecx, ecx
7 \  L  N3 T- _, [( f' |0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
5 }) N; I  L& a  O0132DAF0  .  D9C0          fld    st
- _0 ?3 M. _* s) o- _3 j% ^0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx ! v8 Y% o  ?: V1 B5 l1 z& B3 D3 k4 L$ j
0132DAF6  .  DEFA          fdivp  st(2), st
1 t6 @) N  f7 y+ \& A# u0132DAF8  .  D9C9          fxch    st(1) 1 P1 ?/ X6 b0 y% a8 J/ t+ q9 c
0132DAFA  .  D91E          fstp    dword ptr [esi]
, U3 k7 V* b; g1 v' s! ^+ h! v1 B0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] " X' F' C8 C: o" ]+ R; w
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] & z+ Q. @! E" G6 a
0132DB04  .  D9C0          fld    st
+ P# |8 w7 y3 g; o" R, z0132DB06  .  DEFA          fdivp  st(2), st
* X2 c5 y) e' i2 ~2 ~% R0132DB08  .  D9C9          fxch    st(1)
" J- c5 A: p; t/ w# g) ^0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
, a$ X& \* p) j6 q0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
: w+ x* U  r7 N! V( M. B5 L0132DB11  .  7D 06        jge    short 0132DB19
9 V1 k' V2 x. M7 M' Q0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
* q% i. ?! ^# W; P" `! o0132DB19  >  DEF2          fdivrp  st(2), st
# l( t' G+ r% r( }) V! g0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
3 {' K! j3 q4 N' ?6 M* T; U0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 2 z: t' l& [: p" g+ r( }
0132DB21  .  52            push    edx                              ; |String : D5 T0 p3 m- i0 E" H/ s" U
0132DB22  .  50            push    eax                              ; |YStart 8 u5 {* ^# V4 w
0132DB23  .  D9C9          fxch    st(1)                            ; |
8 O+ [3 ]6 v3 `6 {; P0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | : Q1 f8 T% E# l' G9 M
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | * p, k, V  U) x7 ?/ K
0132DB2B  .  03C8          add    ecx, eax                        ; |
  _  L% ~) _/ J& `% [0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | $ ]6 Z7 R% w0 O$ H
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
3 w' p6 d/ m& A4 m, \3 R0132DB35  .  8BC3          mov    eax, ebx                        ; |
: H, ~" I- x; J; C0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | - \8 h! R5 c. B# {
0132DB3A  .  50            push    eax                              ; |XStart
# P7 E4 i- U; G$ r. j/ O0132DB3B  .  55            push    ebp                              ; |hDC - {% E( g: {4 j
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
2 s$ k1 u5 `2 b0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
1 @/ }, c4 r3 b+ U0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
7 Z% S) k& ?9 ]# g5 i- H- J0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
, @2 h. a/ v' b8 m4 L1 P/ X( L1 ?" M0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
8 j- d- {% G9 d' K6 s8 Q0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 ! Z; W: a6 G2 C( c% v/ T6 e
0132DB56  .  83C0 01      add    eax, 1 6 C' n, q% ]5 x! i# `, p: R6 d
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] " Y/ V2 O: U/ s3 ~! _
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
# c6 V! W. f, G3 ^, ~! X$ o# J! z# B0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
# I0 A2 X0 E  d" g* |0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
7 y; F4 H* e- @) Y0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 4 e* W; {: z/ K  P; q- B& H# d8 [
0132DB6E  .  33F6          xor    esi, esi
- W4 E! U& v4 T% j" s) z) v/ T0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
% L/ n* X* F+ o, f. q0132DB73  .  6A FF        push    -1 ! M1 X0 J3 g9 c# @8 N2 W
0132DB75  .  83C1 38      add    ecx, 38 # D$ C* p3 }# K" z; u5 Z% n" j
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
, [* P! B: Z. h( h1 @0132DB7D  .  8BD8          mov    ebx, eax 8 u$ O# S' o5 z8 E
0132DB7F  .  3BDE          cmp    ebx, esi
7 ?/ @+ ~+ x% D$ M8 d* S2 p+ o" c0132DB81  .  74 74        je      short 0132DBF7 1 t$ K) o6 V% |6 A4 a
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] . d+ q' i1 U4 G- a! W# M" R- l
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
* ?  ?. R2 w! O6 `9 h7 L0132DB8B  .  52            push    edx                              ; /Buffer
" Z0 k: c* o' {0 w* Z0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) ! p$ ]0 g' K+ y2 Y& u7 h
0132DB8E  .  50            push    eax                              ; |hObject
1 V$ P5 N8 K4 r9 A0 ?0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
+ B+ _! z  b1 Z# e/ `! L; g0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 2 j$ R6 d! T+ w: R  a% Y
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
3 A) H1 p: s, O+ P" D) U7 U0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
% {. v4 a+ q5 H7 \: u; \/ p0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
. `# Z8 s, }4 N! V0132DBA5  .  85C9          test    ecx, ecx
; G( p2 N! u1 m1 H- x3 w; [0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 6 Y4 n8 ]3 Q7 T& p1 j; J( t' F
0132DBAF  .  7E 46        jle    short 0132DBF7
9 P7 S) W) J1 {/ u1 i) M/ w0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] + P4 n* g- \1 I, R- l4 P
0132DBB5  >  33C0          xor    eax, eax
+ H, f3 Y; o) G# y7 u; T$ o8 R0132DBB7  .  85D2          test    edx, edx / V* o$ K5 L: V' e) U
0132DBB9  .  7E 26        jle    short 0132DBE1 . @' R; F6 M3 Y% O! i0 q
0132DBBB  .  8BCE          mov    ecx, esi ) v3 a& G4 G! C3 f7 \4 p- p4 a8 B4 @
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] " ^4 @; V8 n; e- n* v; }) i" `
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
% v5 Q# o$ T3 r/ V( G0132DBC3  .  C1E2 18      shl    edx, 18 ' J- L: `+ V% H4 W) r
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 7 P3 g, v4 d2 |- T9 O6 D
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx   N) a  r; [- s! k+ _/ V
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
. K2 Z0 W/ G0 N4 X% J0132DBD3  .  83C0 01      add    eax, 1 " s/ n# w1 N2 A/ B# f
0132DBD6  .  83C1 03      add    ecx, 3 6 F: Z0 U4 s4 P3 r. g: K) |. w7 M
0132DBD9  .  3BC2          cmp    eax, edx 6 E% j6 S/ v7 J  x
0132DBDB  .^ 7C E3        jl      short 0132DBC0 ! g' o; ~4 H4 H6 {5 U
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 1 @' p# @/ N: K4 c- u; i
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
4 m" v& E  d7 [) z0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] , V+ }+ h  N4 ]+ s8 Z1 r
0132DBE9  .  83C0 01      add    eax, 1 . F4 k4 L$ H6 }0 B
0132DBEC  .  3BC1          cmp    eax, ecx
& Z, t. Z2 x# a5 d& g+ ~6 ~8 ~0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] 5 i& A* U8 B& I* A7 |. V
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
8 D8 Z' O$ ]5 Q2 K  C0132DBF5  .^ 7C BE        jl      short 0132DBB5 , J$ {& E7 }8 h6 C
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
" c: \: `8 U+ ^6 ?5 o" D2 n0132DBFA  .  6A FF        push    -1
5 I) h6 r9 `9 d; [8 i' p# H; g# D0132DBFC  .  83C1 38      add    ecx, 38
4 k: y3 g* u( `. E6 I: T, g0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> , O. ]' i% h, l: H2 m
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
  g# A/ V9 P$ z' M( S' @, L0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
7 k2 E. v4 f/ h+ Z& o8 @4 E0 R8 f0132DC0E  .  50            push    eax                              ; /hObject
9 l8 ~' A% `+ D+ O5 F) _7 ~: _. J/ J0132DC0F  .  55            push    ebp                              ; |hDC
$ o( ?' O, u) j3 g0 s8 ~* |4 D$ I0132DC10  .  FFD6          call    esi                              ; \SelectObject 2 n6 x# g' ^' Q9 D
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
1 l1 ]2 ~' i, k8 d) q2 r0 i- p0132DC16  .  51            push    ecx
% O7 u  D. s, J- [! j0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont 6 L1 d6 V+ s% F- q* G
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] ( u5 S3 E7 ^4 G$ ]5 H
0132DC21  .  83C4 04      add    esp, 4 & N, h+ b) p; K  Y" W
0132DC24  .  52            push    edx
7 G# ^" M8 H$ l0132DC25  .  55            push    ebp
5 X7 H  K& x8 s0 I1 I3 ?0132DC26  .  FFD6          call    esi
8 y. @1 ^7 w! J! B6 k8 I0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] 7 d& k  @4 s! _
0132DC2C  .  50            push    eax
4 R1 B* f0 ^( ?- S7 A0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
/ |  C, F! P+ z& ]7 A4 k0132DC33  .  83C4 04      add    esp, 4 5 k+ K3 P  m0 f5 R3 i/ f5 @( H3 Q5 ]- L
0132DC36  .  55            push    ebp                              ; /hDC
- `% X: Z- l1 B. S+ J6 g) O0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
) r3 A; X4 A6 g& q  Z9 [0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] # i$ s- ]# W% r- \# o2 f" j% W
0132DC41  .  6A 00        push    0 / K. \3 S4 i- N  ]1 Q) i+ A
0132DC43  .  51            push    ecx
6 {* E, I1 `9 R3 g# G, R! t# U0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
& z% U( O! j: k. o3 B0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>   Y) E8 @  W6 t' E, O* Y
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] " @/ z% Z7 ^5 g! S: H( c
0132DC4F  .  6A 01        push    1
+ z9 u; F( G, e! _9 |0132DC51  .  83C1 38      add    ecx, 38 ( D" W2 g: j3 a! F. v2 X
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
# @' F% _, U% i( t- e  s0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
. w- t/ m* K5 l& w7 ?# m0132DC5C  .  8B11          mov    edx, dword ptr [ecx] # H5 J' P* V8 x
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
- U5 I; s7 `' F! ?0132DC61  .  6A 00        push    0
& F- i1 X2 y: I0 H/ ^7 Q0132DC63  .  FFD0          call    eax
0 [" f& [3 g7 r0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
6 l4 J3 ^# `$ T3 ~0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
: f, ]8 e5 P/ g" ~3 h: E3 w! I0132DC6C  .  33C0          xor    eax, eax
! m! W. e+ @$ S) i& V( R' O  R0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
$ Z8 Z( n6 s! d& |  a0132DC75  .  5D            pop    ebp 5 E5 U  j9 [6 t( s& J, F1 T6 ?
0132DC76  .  0F9CC0        setl    al
5 y# d) Z0 ^8 @' N" d0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 6 [; I  X  Y2 ~7 p
0132DC80  .  5F            pop    edi
! h0 l$ p' f( Q0132DC81  .  5E            pop    esi
: z' s# V: N0 m/ B  f0132DC82  .  5B            pop    ebx & H. b' k: i5 p
0132DC83  .  33CC          xor    ecx, esp
" i$ k9 u- t  ~" S! _0132DC85  .  E8 E2460500  call    0138236C % t5 Q1 v: }' H5 l  r; u
0132DC8A  .  81C4 98040000 add    esp, 498 / T5 Q. d" J  X( U0 b( D( X: n* A4 Z
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.
( l4 C4 l* A( i分析说明也许以后会补上。
! G5 @7 K! s7 S% d! F7 C7 V% p
+ i1 [- Q* d9 i6 X, J4 _5 L加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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