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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
7 w7 U; F. P: U: v9 }7 ?) V* x# [0 V
) {$ R; T( B1 {8 l, U5 H0132D7E0  $  81EC 98040000 sub    esp, 498
' w# W1 n7 I0 Z. `0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
# S6 @/ @3 K' Z0132D7EB  .  33C4          xor    eax, esp
9 R' _' a' P2 O/ r9 J# I0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
& T! w, l& {7 Q. H0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] & W, z5 k- u4 x5 r# x
0132D7FB  .  53            push    ebx ) v7 b/ S6 l3 ?
0132D7FC  .  56            push    esi
# B2 y3 X  L! _! h4 q- F7 X6 u7 A0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
  o- G0 v  M+ W! U0132D804  .  57            push    edi & L. b9 Z" }; l7 H5 M8 ~
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
: N8 h* z& A7 q( i1 Z0132D807  .  8BF9          mov    edi, ecx                        ; |
6 j. ]) i; H% V! t" I5 F- ^0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
5 `( o% `! W6 f. K" j8 a0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | ; f% f1 O/ @8 r! w# C6 e. m) y
0132D814  .  6A 00        push    0                                ; |c = 00
. }: y% m- b. X" _" K4 u2 |7 c3 D. M6 D0132D816  .  52            push    edx                              ; |s
9 k; i2 |9 K% `- X$ l0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
9 Q. V" |$ a6 x! @; }0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
3 _5 V7 C) L9 U, `& H& ~0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
. G# A3 V! i6 r& J- E/ W0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
( h6 d+ q& N$ W6 Q7 w' p0132D82C  .  83C4 0C      add    esp, 0C ( n' f( z3 c+ {5 W3 {
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
0 `* I% H8 j# k0132D837  .  74 12        je      short 0132D84B
5 B& v. a2 G2 b# i  R5 Z0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
# J, u& L, R' ]/ W0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ) ?. ^+ Q3 m3 [
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
" w; z' R3 w* @) J" G. @0132D849  .  EB 32        jmp    short 0132D87D ( c) G! |: F. P  k( L+ A
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
. W7 c' Y. F: A! Z6 t, k/ i0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
# G& s2 B' \# u' j6 F/ e0132D855  .  33C0          xor    eax, eax
' Q" C' ^( s! b& m4 U0132D857  .  EB 07        jmp    short 0132D860
, J+ C+ ?( N/ }5 W, v/ e0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
* q7 c8 I) B4 R6 R* z/ A. V0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] + i9 q( {2 d7 U, T% e
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx ! x# r" p0 h% y, o* C4 ~
0132D86B  .  83C0 01      add    eax, 1
! O! [4 C5 W+ \: X0132D86E  .  3BC1          cmp    eax, ecx
6 x" r5 v$ }. e0132D870  .^ 7C EE        jl      short 0132D860
9 }7 g4 z( B& P2 K* K0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 7 B2 ]" x, X6 W  i
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
7 m! t2 j& v$ J0 k5 q. v# L0 s0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] . a, _. _' G5 T
0132D880  .  85C0          test    eax, eax 5 ~9 a! j; u6 s/ Q# k6 c. F& |
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
+ u3 e1 i* ^4 s+ `0132D885  .  75 05        jnz    short 0132D88C 1 a/ J  f  e( k7 f" b, @
0132D887  .  B8 16263901  mov    eax, 01392616 8 L6 S% P$ \0 _% o3 n& Y
0132D88C  >  6A 00        push    0 ) m9 U! m7 A! E& g/ F0 L
0132D88E  .  6A 00        push    0 & [' z3 v4 k6 n2 c! o
0132D890  .  50            push    eax
# \( g# f# n" ~- o$ m9 E+ ]2 M0132D891  .  6A 1F        push    1F
6 z6 {! Y5 T& X% ^8 u7 B0132D893  .  8BCE          mov    ecx, esi
3 ]2 d+ n# ^0 p4 q" x0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> / G% w/ Z+ j! s1 u& G( x- R# R9 h8 f
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
3 \& N: G* x9 p; [: c) H6 l' Y/ i0132D8A1  .  6A 00        push    0
) S. ]# c( q: e8 j0132D8A3  .  6A 20        push    20
. M! K+ {) r/ R0132D8A5  .  51            push    ecx " k) p1 F" h. T: ?& S
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
- L! w1 j5 i, @7 Y8 r5 B, u0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
  _: w( k2 C9 c+ J! }0132D8B0  .  8B10          mov    edx, dword ptr [eax]
% {% z  p  K2 N: h0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
7 H% r0 V+ l0 A7 Z4 h0132D8B5  .  51            push    ecx
* S: [  Z, T. n5 u4 R& }) u0132D8B6  .  8BC8          mov    ecx, eax + X& G, l$ z8 d% h* a
0132D8B8  .  FFD2          call    edx
/ [, k, Q: B+ ^0132D8BA  .  85C0          test    eax, eax / z1 E2 Z1 z6 ^4 w) U- T" J/ m
0132D8BC  .  75 07        jnz    short 0132D8C5 ! i# G, {+ q. P0 E$ @) }: p
0132D8BE  .  32C0          xor    al, al # L/ o3 p0 {6 e7 G# S# q$ [6 H
0132D8C0  .  E9 B4030000  jmp    0132DC79
' e0 A8 w: @2 Q- t0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
6 r  f' B9 ^/ }6 t) _0132D8C8  .  8B01          mov    eax, dword ptr [ecx] + \3 F- N3 N6 _
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] 3 v3 I' l( v; q7 q" R2 r
0132D8D0  .  55            push    ebp + e* _3 U, z( i) i
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
$ n4 e# B2 K% T6 t1 C0 d5 r  ~0132D8D5  .  52            push    edx % G# v8 [/ \  K$ S: H" v4 |
0132D8D6  .  FFD0          call    eax ) c& X1 X# n: O
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL 1 w5 ?; l- i2 z( N! ^, w9 j
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
" u' V: a3 T+ F0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
7 _; m3 u0 R5 ~  Q- D( r0132D8E4  .  51            push    ecx
9 k9 o0 @: ]: n4 }8 b- q* I# ?0132D8E5  .  8BE8          mov    ebp, eax 5 z1 ]+ i8 ]% m
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap * P8 |5 m1 x) p: w6 b
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject $ s4 v" I1 Z$ l0 w6 ^9 N( m
0132D8F3  .  83C4 04      add    esp, 4
; n, b5 R- D! J7 C  z0132D8F6  .  50            push    eax                              ; /hObject & \3 r) {- o! [( f3 a% ~; v
0132D8F7  .  55            push    ebp                              ; |hDC
  C7 c2 i! o8 c! q+ P0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
$ X* E+ y/ @2 m* L$ c% b7 X0132D8FC  .  FFD6          call    esi                              ; \SelectObject
9 k4 p9 K' Z7 m$ w8 {0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] 4 ~9 V! P  m" T4 }
0132D902  .  52            push    edx 3 D& d( A; S/ e3 k0 X2 q; C' g6 W
0132D903  .  8BCB          mov    ecx, ebx 2 `( N! B) c& Y# q5 G( l
0132D905  .  894424 40    mov    dword ptr [esp+40], eax 7 g- L1 }% g# N( R$ C2 q
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= . g( x& K, h- w/ N7 c
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
# v4 f) c; n5 G4 Y  n0 `0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) ! ?# N8 A1 a. B. i- A
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY 3 r, z* e' Q/ [1 G5 i% e
0132D91A  .  55            push    ebp                              ; ||hDC 8 F3 S9 _7 f8 X6 f# X' V
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || ; p7 h4 c# q8 Q) m7 N1 y( Z
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ) R; Y* {- r8 a; r9 |+ S8 c
0132D924  .  50            push    eax                              ; |Multiplier 4 N& P0 Y5 O% P7 H$ _) [! T
0132D925  .  53            push    ebx                              ; |Multiplicand
: N$ s3 H' j! f4 F0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv $ P! W( ]4 W8 R8 a
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
3 r; c& F0 f& j& |0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
/ r$ [8 c' `0 h% ?  l* A* T4 }0132D937  .  51            push    ecx                              ; /FaceName , o1 @$ E/ d. j" m
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | ; E! G& Z8 P$ b8 N; m4 k; Q
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 0 n- c8 I6 t3 T/ o& ^9 U# R# g3 C
0132D941  .  52            push    edx                              ; |Quality
: L' O/ |# ?$ ?; v) G0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS   l+ \. n/ M. f8 x* u
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
1 b) F. A1 {7 A0 w6 Y2 q$ q0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
' M( C  C- v& E+ H/ h/ v0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE & e8 p3 H0 ^# \* R- V  |' N
0132D94A  .  8BD1          mov    edx, ecx                        ; |
" W, e$ w* m5 {) q0132D94C  .  D1EA          shr    edx, 1                          ; | ! l" d4 t7 U% v+ @) J9 N" z1 N
0132D94E  .  83E2 01      and    edx, 1                          ; |
5 X+ k4 w! k, r$ ?6 I( j0132D951  .  52            push    edx                              ; |Underline
' f: I* \" p2 i: W$ J9 n0132D952  .  83E1 01      and    ecx, 1                          ; | + T0 p( U, I* P
0132D955  .  51            push    ecx                              ; |Italic
( u$ M4 n2 _7 K, S  b5 @( j" I0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
, [  K7 q9 G5 ^0 w: l" @8 @( y0132D95D  .  51            push    ecx                              ; |Weight . N( z4 P. t: w+ r4 b
0132D95E  .  6A 00        push    0                                ; |Orientation = 0 9 q3 b  K) l" @2 Q& _$ c' V+ ?! o
0132D960  .  6A 00        push    0                                ; |Escapement = 0 4 W: A+ D$ }0 b' j6 e* l8 A
0132D962  .  F7D8          neg    eax                              ; | $ q+ k* Z- L8 R# q8 E
0132D964  .  6A 00        push    0                                ; |Width = 0
1 R0 }+ A4 N3 y# e1 t; B0132D966  .  50            push    eax                              ; |Height ' K- [* l! M+ W3 a! s/ n- g+ l; v
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA & ]) Z5 P) j6 m9 M% P
0132D96D  .  50            push    eax : E3 Y" m4 n( w/ M" L5 `
0132D96E  .  55            push    ebp
( W' u. c+ }6 n4 r0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
8 G8 o- c: T" d  h0132D973  .  FFD6          call    esi 0 w0 E% k5 s3 }- A: g4 b& ?- {
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] , U' ~8 P* W* Y9 b5 g% l( c
0132D979  .  52            push    edx                              ; /pSize 7 A% \/ I2 P) o" J1 o- }/ [1 V. p
0132D97A  .  6A 01        push    1                                ; |TextLen = 1 3 T, ?8 f3 w6 b, \* P
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
  D0 d: w9 ?2 v; b% i1 R' r0132D981  .  55            push    ebp                              ; |hDC 3 y& p, m7 L& [: s+ p
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
3 E9 f( ~! |6 q: ?0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
% O6 n; W  w2 o) @7 s0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
$ v' u5 h/ H' B, R& L$ ?# j0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
- p" j, f6 l9 b) v2 `0 ^5 }0132D993  .  8947 18      mov    dword ptr [edi+18], eax
$ r3 N& y: o7 {3 ?7 c7 e4 p/ o0132D996  .  33C9          xor    ecx, ecx * `! X6 {& n2 M/ ]  G0 c# Q
0132D998  .  8BC6          mov    eax, esi
) z2 _* Z7 J5 m0132D99A  .  BA 20000000  mov    edx, 20
5 P8 w# Z9 U) u, v. |1 C0132D99F  .  F7E2          mul    edx * Q# {- t! m( n
0132D9A1  .  0F90C1        seto    cl 9 }* @( `1 H' {0 c* A# @0 K
0132D9A4  .  F7D9          neg    ecx / z% e+ R8 [' v% T5 _% |
0132D9A6  .  0BC8          or      ecx, eax . }( Y9 F" j( y8 K  B5 H! g! q
0132D9A8  .  51            push    ecx
3 I4 Y: F$ B: R7 y" g0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
9 `6 o/ `- f$ ^- X0132D9AE  .  83C4 04      add    esp, 4
" |9 o6 F  c! i% D: p% V) E0132D9B1  .  85C0          test    eax, eax " |& H, D- _& ?  p  x* w) L- M
0132D9B3  .  74 28        je      short 0132D9DD
, m( C1 a0 V8 X4 ^, o0132D9B5  .  83C6 FF      add    esi, -1 ) Y/ X! g3 H$ {6 G2 H9 C
0132D9B8  .  78 25        js      short 0132D9DF
" \  i" S: P9 C* Q, w4 V# R0132D9BA  .  D9EE          fldz
( N9 q( q4 S' J/ ?0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] & Y2 `- E" D& p, W) h
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
( X$ {" }3 E$ X' i0132D9C2  .  83C1 20      add    ecx, 20
+ S  ?" r+ u) ~* B, r0132D9C5  .  83EE 01      sub    esi, 1
8 I' Z( }$ B% |8 G, r' g0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] ( w9 q, g2 r  {% V2 m  I
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
# ?" O, p, Z" B! p. Z9 |( [  ~7 A4 x) D0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 4 G; S# k  ]) x7 Y5 Y7 ^
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] 4 @, T, f3 S/ R/ Y
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] " D0 z  w3 I, y/ S9 i; Y5 T* I& l
0132D9D7  .^ 79 E6        jns    short 0132D9BF 8 _) A) X, D3 J: G! ^- h5 P8 o4 ^+ Y
0132D9D9  .  DDD8          fstp    st , F) D* n+ }  ~" P  G
0132D9DB  .  EB 02        jmp    short 0132D9DF + y' e% r6 O* r+ y& l
0132D9DD  >  33C0          xor    eax, eax * ]& q( e/ ]+ `# A5 d
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
, [5 X1 c7 M9 K6 i0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
- t( F' S. @  D0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
2 W/ q6 l7 Q) V6 [0132D9F0  .  50            push    eax                              ; /Bottom
0 N; W" u. x( V1 E; z* V4 e0132D9F1  .  51            push    ecx                              ; |Right
% d: P' n6 E0 I6 T; M2 y0132D9F2  .  6A 00        push    0                                ; |Top = 0 2 t+ E) [8 _. x- I$ |- c
0132D9F4  .  6A 00        push    0                                ; |Left = 0
9 w0 p9 g3 Y; }0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
- o, F3 |: q$ p9 M; i3 Z  f0132D9FA  .  52            push    edx                              ; |pRect
" ]% [% b) i9 F; v0 j- R5 z0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect 2 I7 n4 S; f' B# M2 m0 p$ L
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
+ t" Y1 x! z8 M7 B+ e2 }0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
' o7 n  e  \5 \0132DA09  .  50            push    eax                              ; /hBrush
" Z" B  n- \" L! N4 N$ H+ e, F0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | 8 I# w9 M0 e$ f1 N
0132DA0E  .  50            push    eax                              ; |pRect
- T- s( Q' h1 h0132DA0F  .  55            push    ebp                              ; |hDC
/ c( v5 i. N$ b* u& a0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect + L  s$ g/ X$ k
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> # N" G1 y4 i. S# a  _% Q
0132DA18  .  55            push    ebp                              ; |hDC
9 I/ f3 M. ^  u  ?0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
' [3 K0 V5 g; O, i0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
( w6 y$ N% P$ a  @3 \# i' L0132DA24  .  55            push    ebp                              ; |hDC
+ l1 M2 {2 Y( `/ T0 P) W3 O0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
+ s- o3 F) u( @7 O$ @% J. }$ l0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 7 U# c" b2 D& L8 C4 x1 p0 K# y
0132DA2D  .  55            push    ebp                              ; |hDC
, w1 T3 l' ]- a; r; q, Y0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
% h$ d/ D' O- X5 M  ~- M0132DA34  .  33F6          xor    esi, esi
$ P& G( ]. w# f3 t0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi 0 b: n/ s, F& k+ h# f. _
0132DA39  .  BB 01000000  mov    ebx, 1
+ X% ?4 g: o: I5 k0 u, Z" ^0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
' I4 g3 q; L! j% L5 b- k* r0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
6 p0 X* Z% [$ ^, z0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
2 h9 S1 e4 p2 z/ h0132DA4A  .  0F8E 20010000 jle    0132DB70
7 R. \! w2 s% \6 s" u) f0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 8 t% ]$ e  O& @7 K0 g
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] ' h4 j1 T) h/ f8 L) Q! e& Q
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi $ r9 k# V+ r0 T5 x& ~$ q; D+ C
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
5 M8 j- o- o7 p& ~" |) z' x0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
! Z4 `  w( \" _& [4 u0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] ) ~" W' h; z$ i0 i4 O# ~
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
. j1 J8 a0 B) F0132DA72  .  EB 04        jmp    short 0132DA78 / }8 o8 V& _- i) p: m2 I8 c
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] 7 M  N2 T* O: k) R8 R. h
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] , n- R% O/ J: e5 A
0132DA7B  .  66:8B08      mov    cx, word ptr [eax] " x% t% T* D0 x% ~! M3 p6 U( W  O
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
3 s3 ?) u7 \  V! Y% x0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
5 k7 o  o1 g- A' _2 S8 i" @0132DA86  .  0FB700        movzx  eax, word ptr [eax] # l/ z& k- r5 N3 z
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
# [" h/ m1 i8 {7 G  X9 \( X0132DA8C  .  51            push    ecx                              ; /pABC % w  {0 k  i! w# G* j# k
0132DA8D  .  50            push    eax                              ; |LastChar . N, o5 x) H+ r( V9 T% c, f; D
0132DA8E  .  50            push    eax                              ; |FirstChar
& F& W5 U$ M" B8 b- h! ~  t0132DA8F  .  55            push    ebp                              ; |hDC 2 S: b- [& p5 [" n! {
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW - B! N5 l' U0 {
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
3 i1 S0 O0 R2 f7 D: G$ x0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
  y/ b6 B" Q8 W9 X6 ~, \0132DA9E  .  73 10        jnb    short 0132DAB0 : {7 M* E, r  r( U" {: u
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 . w. t5 X9 |) f5 _
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 6 b1 I9 l# G3 Y% P8 z
0132DAAE  .  EB 0C        jmp    short 0132DABC
8 {- w# ?+ x8 R9 I0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
6 b. l: [" ?( U) Z; i7 @2 k2 F0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
$ m$ b7 P7 W% }0 y4 A: Q- |0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 # A& U, O8 Q) K8 D/ h
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] - Q2 m7 c0 w5 [; v, r
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
% v3 j0 u  S3 u$ G0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] " |& L/ I0 I6 S  k/ n
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
# `& ~7 X+ t0 x) L* n* m4 ~# R0132DACE  .  72 14        jb      short 0132DAE4 0 F( H. R, _6 t$ U
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] 5 q9 @# U# `/ N& M* Q. X
0132DAD3  .  BB 01000000  mov    ebx, 1
3 x' b( F' E# N$ g- P0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]   L8 f6 i$ C2 c
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx $ w7 w! S! a7 q% C0 v2 S
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 0 W$ p  R  d/ K: E/ N1 V
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
8 K. E4 t/ p/ D  q3 d; l6 `0132DAE8  .  03CB          add    ecx, ebx 2 a/ N, f4 F" x3 T# z
0132DAEA  .  85C9          test    ecx, ecx
7 V* z2 }* @+ ~- G1 T4 a- @" a0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
! d. h& Q, W1 S9 j% W0132DAF0  .  D9C0          fld    st + _  c! k& B$ A3 _
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx 0 ?9 O) d) R% m$ P6 J
0132DAF6  .  DEFA          fdivp  st(2), st   H1 v' {- u4 ]
0132DAF8  .  D9C9          fxch    st(1) 7 g( }1 b& _# C; f* Y
0132DAFA  .  D91E          fstp    dword ptr [esi] . o* h+ }. s! E4 L- r6 v! f
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
% K- d1 |9 m0 r5 [0 I0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
) D( l) m7 N  R) T$ C# _' o8 M0132DB04  .  D9C0          fld    st 3 i1 A. T5 U# b& g
0132DB06  .  DEFA          fdivp  st(2), st ! d) ^& {( C& C& o- H# l
0132DB08  .  D9C9          fxch    st(1)
) A0 p4 [& ?3 [0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
5 K( _& O$ ^- p$ X/ m0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
2 l0 m$ ]! D. K2 h! `( ]' q0 n0132DB11  .  7D 06        jge    short 0132DB19
" h7 ?+ z' J( |/ F4 G) T7 d0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
% V: o; M; v+ L+ K+ u9 x0132DB19  >  DEF2          fdivrp  st(2), st 3 B; J& U7 k( E# ?
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
; i# A) U' `- Z" ]' ~" g0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
# q: y+ @5 [  P" G2 j0132DB21  .  52            push    edx                              ; |String " X" M7 m9 b! m0 G) H/ O
0132DB22  .  50            push    eax                              ; |YStart
* y8 K" {5 A2 _" p  n6 {0132DB23  .  D9C9          fxch    st(1)                            ; | 9 E0 B) H. i& I% j" [6 n; Y+ T3 K
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
# c- m8 c* r# B$ u" d) t1 i0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | ( M* F* Q" o" A+ \' [. \
0132DB2B  .  03C8          add    ecx, eax                        ; | 5 f) E5 d- _, J; k" ?$ \/ l2 D
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
- j# i9 }1 o" n# a& I5 u0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
8 A/ O) L9 k) g/ V) X0132DB35  .  8BC3          mov    eax, ebx                        ; | ) X4 j  M7 V0 T5 C! o
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
9 g! w# e$ ^1 p" U- M% X7 _1 ]% }0132DB3A  .  50            push    eax                              ; |XStart
" F# d, K: l& L2 ]0132DB3B  .  55            push    ebp                              ; |hDC & h7 x( a% Y4 ]. h
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
7 B( f( z; ?8 s4 ]0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
4 D% B  s# q) I% R6 S7 O0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] / n) I/ k% O, F# Z( e3 a
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
0 i4 Z0 h+ ]0 J, K( [0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
4 S! V2 G) F; `0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
0 v6 A* a& z1 V1 P0132DB56  .  83C0 01      add    eax, 1
4 Y% [2 |) H4 x" C0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]   D& w/ ?, {: C; z) `5 p
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
. x! Y; B! K. w/ y6 H2 s0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
6 E- r$ l, F) H0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax 1 ?3 W- Y( n) L) ^7 z0 ?
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 1 w$ m% U+ u. n8 F
0132DB6E  .  33F6          xor    esi, esi
* [! J- _% m' ?0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
5 ]  R3 m" `9 M6 h) P6 ]0132DB73  .  6A FF        push    -1
- {% r3 X& F9 N+ k5 v8 ~: R+ g/ I9 G+ w0132DB75  .  83C1 38      add    ecx, 38 ( v$ \+ `' f' U& o( X
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> ( g  d  h* h( j9 e+ T. c
0132DB7D  .  8BD8          mov    ebx, eax
- [: L) h- J1 X1 ~" D9 h! k0132DB7F  .  3BDE          cmp    ebx, esi 5 N9 G4 N, `5 p" k# @5 U
0132DB81  .  74 74        je      short 0132DBF7 : m. F/ h9 B4 E  V9 s8 [
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] # F+ |- A1 m" `3 b3 E+ L1 r
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
, p8 l( y& p8 A: I0132DB8B  .  52            push    edx                              ; /Buffer 4 _8 w/ Q" M& T, {/ H
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) * l$ c. L6 J& _3 ^# M8 K
0132DB8E  .  50            push    eax                              ; |hObject   I$ I" }- L! |' d0 U5 P! x/ h7 _/ K
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA ' }9 H- A% D3 p% W" u0 n/ P: w  Z# p
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
' B$ I0 c5 J+ }* ^5 p0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
2 f2 R0 _  [$ @/ E0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
2 ?' Q! e! v; L4 Q+ b0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
7 Y& v% U3 ]: ]5 Z" M/ n) a0132DBA5  .  85C9          test    ecx, ecx
" c" r( r: E) O3 q8 P0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0   p. h( Y6 P2 j' m+ Z2 P
0132DBAF  .  7E 46        jle    short 0132DBF7
6 V/ P6 e6 Y- e% L8 s8 c0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
# o$ [( \1 v6 S0132DBB5  >  33C0          xor    eax, eax ' f1 t' s* `# g% t0 ^5 s
0132DBB7  .  85D2          test    edx, edx
" G; i" g8 {1 G+ M$ m0132DBB9  .  7E 26        jle    short 0132DBE1
- C* \# G1 w9 P3 M. k6 C& I0132DBBB  .  8BCE          mov    ecx, esi
5 d0 ?% i) J6 l6 I# {$ T3 n0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] + r  C: @# t# y4 h3 ]- o
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 4 a: J& M1 y7 a
0132DBC3  .  C1E2 18      shl    edx, 18 ; k. R2 m. q! H/ v: P( ~- A
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
8 Z3 W( T8 W9 c2 x1 e5 {0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx 4 e% @4 L1 \2 Z+ y8 r8 g) }$ x! n
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
' I7 {0 Z% R4 d' ~0132DBD3  .  83C0 01      add    eax, 1 3 O/ o5 A2 h4 O+ z
0132DBD6  .  83C1 03      add    ecx, 3
) s8 H( j! \6 `: i2 @0132DBD9  .  3BC2          cmp    eax, edx - ~, {' d2 A4 F! j! [
0132DBDB  .^ 7C E3        jl      short 0132DBC0 8 D& K  `& \0 L" k  p
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
4 c; P$ k3 y6 F, g$ L- ^0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] 8 q: w, I/ X8 }1 U( L
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
) K% v6 [; {. M, \! g8 Y% [3 {0132DBE9  .  83C0 01      add    eax, 1
; w9 y! e! _& h! ?" @  Z! z0132DBEC  .  3BC1          cmp    eax, ecx
4 v  [/ S. f0 o8 n( G1 U0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
" i- ~& j$ s( g$ `5 w% G0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
* ]2 z, M% C3 Q0 [6 L0132DBF5  .^ 7C BE        jl      short 0132DBB5
) [" K: M5 N5 o& M7 _% l: G0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
7 b1 S; F4 S# u, ~* p0132DBFA  .  6A FF        push    -1 5 e3 u! t; ?! F2 X" F
0132DBFC  .  83C1 38      add    ecx, 38 ' z. U5 T  s. d6 @  [4 u
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> ( n9 ^7 ]# F5 D4 H+ e* v
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
0 _7 y6 d' e6 H; x0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 6 @: }. p% |- }
0132DC0E  .  50            push    eax                              ; /hObject
. F0 G3 x" q2 E/ l6 v0132DC0F  .  55            push    ebp                              ; |hDC
, e8 J& P* y- L/ N6 Y0132DC10  .  FFD6          call    esi                              ; \SelectObject
3 r; E) H( {( }5 Y1 M  G* m' p0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] . m) \, c7 A6 k4 n( q  T
0132DC16  .  51            push    ecx $ ]) Z2 Z( H% ^$ _
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
% E1 |2 q/ ~9 v* S' x7 h) i0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
4 D1 G) ~8 N$ t+ J8 U8 ]8 _5 e1 t0132DC21  .  83C4 04      add    esp, 4
% |3 P; @1 x) s' ]. o) ?0132DC24  .  52            push    edx * d: V3 P$ ?; G
0132DC25  .  55            push    ebp 4 @0 W- A  \+ i
0132DC26  .  FFD6          call    esi
' ^; Y0 H8 z  ~5 o' F, q. V0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] ! [4 P9 g, @: d! M8 o, E( e0 w
0132DC2C  .  50            push    eax & m) a- v& P- X( w) L+ E
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
8 @! @0 F! w( |8 C0132DC33  .  83C4 04      add    esp, 4
$ K  m$ Q/ s. ]6 r4 ?3 D/ e) p0132DC36  .  55            push    ebp                              ; /hDC ) t! A7 g- F. c, h, W" R0 }3 [
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
" Q% y0 T" _0 D. h0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
2 C1 f$ }7 s" _1 y0132DC41  .  6A 00        push    0 * V6 m6 y' Z& \/ Y$ F9 o/ k% k
0132DC43  .  51            push    ecx 9 B& |3 Y3 W$ F* |: G
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]   E  P4 Q. B# I4 b: s
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
4 E) s" o7 w% m5 @  `0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] 8 @: K* ]6 S( H4 a0 v3 [$ q& k6 x
0132DC4F  .  6A 01        push    1
  b' I8 L9 }& a. @( v0132DC51  .  83C1 38      add    ecx, 38 1 W2 W+ f* W4 n  y" m. B6 G
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> ; e$ b. N9 G* J# l( T  k' G
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] * Q8 S$ _, t( A5 _: l% r8 e
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
2 t- ]2 w! [, ^; u# d2 a; s0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] $ e( f" I- B. o1 y$ E5 M9 Q5 V, @. A
0132DC61  .  6A 00        push    0 % s/ Z* A( y( s1 v9 @- V" S* Q. B' @" |
0132DC63  .  FFD0          call    eax
7 N* n8 z! L9 B: N. t$ a0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 2 ]3 i% e' C7 G/ Y$ b
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
2 i3 I4 q, ]/ M; l! z) C4 D0132DC6C  .  33C0          xor    eax, eax 7 u2 {0 X/ J/ _1 ], w) r8 y8 ^
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
& c% S7 V. L" N* i0 }% u0 R6 g0132DC75  .  5D            pop    ebp
3 J2 M& m* Z; A, n" M  r0132DC76  .  0F9CC0        setl    al 5 Q7 x3 L- x$ {' H3 C
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 7 }9 R& L/ O& B- M& o
0132DC80  .  5F            pop    edi 4 O+ g8 H0 C8 q8 g, ?, F
0132DC81  .  5E            pop    esi
2 C$ f3 e3 D, d+ Z5 S0 M) o0132DC82  .  5B            pop    ebx 5 B% Y8 l5 D. t( s0 L
0132DC83  .  33CC          xor    ecx, esp   n4 S+ z3 `+ w/ e& y) U( }
0132DC85  .  E8 E2460500  call    0138236C * f6 B/ X" h: ~: ]
0132DC8A  .  81C4 98040000 add    esp, 498
3 x2 }1 I& S( z# v" m' C/ z0132DC90  .  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.
9 ^+ s* f) A# y. `7 z: m0 n* u分析说明也许以后会补上。
( J' U, X6 u9 Q# o4 I) Z- j: d2 Y6 p. J! v* t, |$ K
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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