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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
& l' n2 c1 m. ]0 c$ K+ x: ]$ e
& I; ~7 @# @6 b/ ^0132D7E0  $  81EC 98040000 sub    esp, 498
9 J& T7 i$ J. f) s9 G  W, y+ X0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] , J9 B* M( G- H8 K  q+ S. O
0132D7EB  .  33C4          xor    eax, esp
+ h" h  f0 O4 x2 {! z6 b& v0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax : l7 K. }- p. w% `9 d- l2 p& [- a
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] 7 |' \" E6 ^- s1 l  H1 Y7 B7 T# s; C; Q
0132D7FB  .  53            push    ebx 2 F. f& `8 L( n  m+ ?. b; g
0132D7FC  .  56            push    esi & U  I$ T4 ^  W4 ?) j
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
0 k; A! Z! V8 `# h7 {9 u0132D804  .  57            push    edi / u& Q; z" [- r
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 6 a: y0 u/ ^9 d
0132D807  .  8BF9          mov    edi, ecx                        ; |
) y# q8 F; h$ E: |8 M; i% t7 V+ K# E0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | ) T, u6 F- |* p$ m9 s' v. X
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
1 d2 G. Q. k5 r6 l0132D814  .  6A 00        push    0                                ; |c = 00
/ y+ y/ ~/ \7 _+ e9 M0 v0132D816  .  52            push    edx                              ; |s
; Y# |* B/ l$ K% W' p9 O7 q; [0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | 0 i7 ]8 u( ]) T3 G% Z4 V7 F
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | + S- d/ @5 ?# P" ]# K2 y( E5 \
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 8 w! e1 J# ]/ k* o  K/ n
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
7 x/ V3 {  V* C: j4 h1 y9 A0132D82C  .  83C4 0C      add    esp, 0C ' U  k0 }+ M- ]
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
7 H0 j# k1 B1 q) \- p) Q0132D837  .  74 12        je      short 0132D84B
, ?/ M: g8 h# s  n% T0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] 1 h8 ^7 u+ N' `: n% C: Q6 H
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
/ a  v9 \  c4 _# }, v6 M- j4 k0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 6 K/ D- }' h9 U2 b( R
0132D849  .  EB 32        jmp    short 0132D87D % y% w2 x* Q) e4 B' j, L* v  E
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 ' X, ]: @! s. L( d5 l
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
2 ?  O6 P  E5 }9 Q/ y7 o4 g4 ]% }7 s0132D855  .  33C0          xor    eax, eax
! l* S( J: \) X0132D857  .  EB 07        jmp    short 0132D860
' L: H3 i) G- G' v  ?0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
4 t/ A* z/ O% _  {5 f0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
. j' |! v0 N) w' f9 J0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 3 e) z3 r: {5 `6 D0 S/ h
0132D86B  .  83C0 01      add    eax, 1 + u/ X1 n& l4 m) Z% v5 N. f% c
0132D86E  .  3BC1          cmp    eax, ecx # n2 x, ], j( ~: o8 n9 D  n
0132D870  .^ 7C EE        jl      short 0132D860
: j2 M  h) Y$ v( v6 u0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] # |) @0 N, }, Z' A  V
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 5 V7 h( |2 Z) L" q) X7 J2 B3 k
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] + i3 z; s, I5 d% E% N9 t7 I& f, `# ^5 b
0132D880  .  85C0          test    eax, eax $ I- _4 d, }1 J( T
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
0 S  P: v5 w& y0132D885  .  75 05        jnz    short 0132D88C
' ]( Z! ]0 [" e6 |" ?# s0132D887  .  B8 16263901  mov    eax, 01392616 0 f' D" k6 H2 m5 T* S$ m0 R
0132D88C  >  6A 00        push    0
9 ^. I' D7 O$ U! I6 I0132D88E  .  6A 00        push    0
, S# P% X9 ~; Y6 s# I+ f1 ^7 O0132D890  .  50            push    eax 5 t* t! ^! c6 Y! m
0132D891  .  6A 1F        push    1F
& l! G8 S5 }6 ^. a3 u$ ?8 G) F) Q0132D893  .  8BCE          mov    ecx, esi * M" e) b4 X. J4 a6 B5 j6 V( N
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
( T( z. E6 B+ L: R' {/ Z3 }0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
, v2 j/ V9 o0 m! J, E; B; ?0132D8A1  .  6A 00        push    0 * I- l) a; w2 t# c+ G; h* H
0132D8A3  .  6A 20        push    20
) h  T: ~8 s8 ~, }+ a" M/ D2 D0132D8A5  .  51            push    ecx
1 i7 R# m+ A7 U& j6 b0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] 8 x' K" n- l; ?. ~/ X# @
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
% z" j. ?* Y# n0 S; F0132D8B0  .  8B10          mov    edx, dword ptr [eax]
5 o9 r1 Q6 W4 m& Z0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
# ?7 H) \6 b+ `, z8 e/ c, K' [- K0132D8B5  .  51            push    ecx
- j  S+ D. b: Q' |& U3 w* g  A0132D8B6  .  8BC8          mov    ecx, eax
! [* m& x# f5 Y0132D8B8  .  FFD2          call    edx 3 F: s1 J& ^) D3 s
0132D8BA  .  85C0          test    eax, eax + _: g0 o: w" E5 o# g8 [
0132D8BC  .  75 07        jnz    short 0132D8C5
/ s+ u/ y4 c6 [; ~0132D8BE  .  32C0          xor    al, al
- V6 G; a- `/ g* `0 B0132D8C0  .  E9 B4030000  jmp    0132DC79
% b7 O* G, _* P" C; b' a0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] ' X, B! i- d- _" k) k
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
# R  ]- X; L" |) I0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
4 Z0 x% }0 S0 S' w/ v9 ~4 d! Z! d  m0132D8D0  .  55            push    ebp " j0 f  {+ a- r# o8 z6 d
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] ( u% e- u9 H; J1 n9 @# c
0132D8D5  .  52            push    edx
4 A6 ~) c  c+ R3 K1 g7 M0132D8D6  .  FFD0          call    eax
- g! j% |0 _- s0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
2 G. Y/ o5 v/ k% g$ |! Y$ Z" V0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
6 [8 Z% W& m. J+ D' e: q/ f0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
0 x3 y3 g: N( K( R2 ?0132D8E4  .  51            push    ecx
5 e3 O5 U8 l: M1 `) `+ C+ B0132D8E5  .  8BE8          mov    ebp, eax
8 L% O7 B* ~& B( U( {. c0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
" b$ f* H8 P! u' e0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject ) n  D3 x& X$ E& n7 r& O
0132D8F3  .  83C4 04      add    esp, 4
) E- n! a; x1 n* P* |" c! m! S0132D8F6  .  50            push    eax                              ; /hObject # P3 @# e& [0 ]
0132D8F7  .  55            push    ebp                              ; |hDC
4 _% @1 T0 }$ u: V. J0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
& d7 q3 L+ C: _# `8 i5 N- @5 B0132D8FC  .  FFD6          call    esi                              ; \SelectObject
& b* m# ^( Q& }, i! o! N0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
, S0 I6 J; @7 k9 k6 l5 b0132D902  .  52            push    edx 0 F$ |# I0 d; \1 B
0132D903  .  8BCB          mov    ecx, ebx 7 u* i$ N! s( r; N# u  v+ M; o$ y) d
0132D905  .  894424 40    mov    dword ptr [esp+40], eax
0 R2 n% [& T- t8 p0 k0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
- m$ a6 c3 a$ S3 z  D# F7 U& ^0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
% a3 F1 C: h5 V5 N) v0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) / K: X6 a: z# z9 D& E
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
0 c( w. f8 u. a! z0132D91A  .  55            push    ebp                              ; ||hDC 8 z  ]' U/ h; ]- g1 x
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
3 m* I- s! O4 k( ~( D: j& m0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ) Y0 ]" L9 J6 P
0132D924  .  50            push    eax                              ; |Multiplier
) e* f' X0 x9 |7 ]1 o) A: D5 ^0132D925  .  53            push    ebx                              ; |Multiplicand
% c5 I+ x4 [+ I; J2 i6 k5 ^0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
4 i" B* [' u7 G; E9 [* e/ ~5 O0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
! n, S' f& g) w% c; p" T& m& ~0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
$ w% c- Z0 h) I& W* G( f; z; i0132D937  .  51            push    ecx                              ; /FaceName   J9 |( m2 r! A9 }3 d! A0 R
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
3 p& b7 J7 F5 ]4 r0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE - |+ S3 N. j$ e& P0 I- s
0132D941  .  52            push    edx                              ; |Quality
( l- p0 L5 d4 ]* E4 w0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
3 f0 D' H5 o; \, x0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
% a; @( ?9 a! X0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
( Y+ h' O( _3 f/ B, y+ r0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE # \) C, w! n! H" m5 ]  C
0132D94A  .  8BD1          mov    edx, ecx                        ; | 9 w8 e6 ~+ `: N2 B# z0 y  v! P
0132D94C  .  D1EA          shr    edx, 1                          ; | 5 h1 I- d- a& U2 z% `
0132D94E  .  83E2 01      and    edx, 1                          ; |   B0 \, @0 M7 \& e1 |
0132D951  .  52            push    edx                              ; |Underline 9 E* v7 h# a1 i2 G" x* H5 O
0132D952  .  83E1 01      and    ecx, 1                          ; | 6 e, _# d9 B. @$ ^8 i
0132D955  .  51            push    ecx                              ; |Italic 3 @) N% Z! N% S, U: |
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | 6 E# ~' I' O/ f5 g/ L: h; j
0132D95D  .  51            push    ecx                              ; |Weight + k  S# `# D8 L7 K. T; _! N. r2 p- E
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
( C- J. s7 p, A% c# P; x: h0132D960  .  6A 00        push    0                                ; |Escapement = 0 2 l* c) _* G# p3 W: \
0132D962  .  F7D8          neg    eax                              ; | ! {! Y/ c; E( S  M/ M: G0 f. K3 B& P
0132D964  .  6A 00        push    0                                ; |Width = 0
5 J. S$ W4 ]# i, G% M, Z, G0132D966  .  50            push    eax                              ; |Height
$ v  A0 R/ x! {3 @0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
  X2 o# u9 F6 p) L# u* \% c) ?0132D96D  .  50            push    eax + u7 a8 P* F/ _8 e% n' o$ S
0132D96E  .  55            push    ebp
8 O/ }# c5 u9 X$ F& N# c0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
3 R) k' r1 I3 f1 J0 z2 `, k0132D973  .  FFD6          call    esi " H, I& Q  M" m! s7 E
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
4 `8 m1 _) X, X1 Q9 K8 o* Q4 z; Z0132D979  .  52            push    edx                              ; /pSize ( O6 U# j2 k/ w7 i
0132D97A  .  6A 01        push    1                                ; |TextLen = 1 ! K: F- x& c1 D. n+ J8 J" J
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" 7 k1 @% r5 {& s2 g$ Y
0132D981  .  55            push    ebp                              ; |hDC . p/ j  Z2 r4 g9 L" B4 b
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | 2 P% n" O5 H& B/ B5 @; G- M# `
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
/ c8 T: W$ M4 C$ Q; g# L6 D, m0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] * ]) r( D8 l& o1 }& a: H$ e4 m
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] 0 a' d  G2 c8 f+ G9 O/ l1 G& F
0132D993  .  8947 18      mov    dword ptr [edi+18], eax ' ]7 B- \) k6 V( |1 s; K) }8 }
0132D996  .  33C9          xor    ecx, ecx 7 t  Z2 r+ s5 ?6 Z5 U* k5 r
0132D998  .  8BC6          mov    eax, esi & x- |  `' G( T3 C3 r
0132D99A  .  BA 20000000  mov    edx, 20
0 P- c7 g1 B# p, J: N0132D99F  .  F7E2          mul    edx
( C  e, E/ j: R0 G0132D9A1  .  0F90C1        seto    cl 0 C. s) h  M) a4 J# Z9 ~  P' ?
0132D9A4  .  F7D9          neg    ecx
7 p" n* h+ a' n  d6 f% R. j0132D9A6  .  0BC8          or      ecx, eax
- U9 ?% @. L: y# M0 K( E% Q0132D9A8  .  51            push    ecx + G/ I7 y0 \! t- n% J# J% _
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
  p& h+ Q3 x$ j. m/ y7 l2 U0132D9AE  .  83C4 04      add    esp, 4 7 ~  _# q- o% ]5 O+ ~  {
0132D9B1  .  85C0          test    eax, eax
& A5 t4 u6 ^5 x* f0132D9B3  .  74 28        je      short 0132D9DD
6 p" [/ B" A5 S0132D9B5  .  83C6 FF      add    esi, -1
# j/ c0 P+ p( |0132D9B8  .  78 25        js      short 0132D9DF - T4 j# ?3 m; }# R; A
0132D9BA  .  D9EE          fldz
4 S. H) b& Y- G& q) m5 G0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]   _& }# n$ ?6 n$ S: E: r4 N) }
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] $ Q- ?4 u4 ^* ?
0132D9C2  .  83C1 20      add    ecx, 20 ! n1 I6 A  ~( b- H
0132D9C5  .  83EE 01      sub    esi, 1 - g* h* i$ M3 m$ A1 T
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] 9 R! J0 C, D  r7 ~# o( X; w( i
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
: I- s0 m+ |$ v/ l9 w! O0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] + t* n$ U! C5 o& [% ~2 q
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
- U, y' X5 I$ j0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
) T; _: |$ {# }6 F; r, b% z0132D9D7  .^ 79 E6        jns    short 0132D9BF - ]  `$ d) c- s( n7 ~* _: @
0132D9D9  .  DDD8          fstp    st   |( |9 v7 w( I" o5 a
0132D9DB  .  EB 02        jmp    short 0132D9DF
. `; r4 R$ ^, ]- v+ k0132D9DD  >  33C0          xor    eax, eax ( k/ @0 F$ V4 e# @- B  b0 D( l. G
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] " N' W' e- H9 p' o) {7 R
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax   ~7 _; x3 ]  Z6 D
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
. N- S* k6 A" ?# I6 l+ t7 g0132D9F0  .  50            push    eax                              ; /Bottom
- Q, F0 `, p7 V0132D9F1  .  51            push    ecx                              ; |Right
$ y1 H: d" j+ q0132D9F2  .  6A 00        push    0                                ; |Top = 0 6 d1 l; q+ N7 j4 x' I" X
0132D9F4  .  6A 00        push    0                                ; |Left = 0
/ }2 ~. q- S) C5 }9 o& @0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | : t% E8 i$ Y. |$ d( Q1 }
0132D9FA  .  52            push    edx                              ; |pRect " u/ F8 h- G) T$ M9 r4 M
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
: o  ^+ h$ d+ |+ _' @0 R0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH 1 a5 o' V" X% ]/ y1 s
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject & Q# q3 |- I: l; z. q. R8 _
0132DA09  .  50            push    eax                              ; /hBrush , u" n8 k9 [$ a  ]2 y) X3 l$ y. P
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | 3 x" O- |( }6 ]$ D. q3 C! T: ]0 ^; J& D
0132DA0E  .  50            push    eax                              ; |pRect
  i5 B- @$ X. h9 v" w5 A0132DA0F  .  55            push    ebp                              ; |hDC
) a' q+ h0 ^) W9 T0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect   J; m2 E* D2 |$ \% Y
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> # x8 Q' z7 S3 v" y
0132DA18  .  55            push    ebp                              ; |hDC + y* [7 W+ [7 n- R  U
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
0 M/ Y1 t' {, ~, N0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
( l; N  H: U& b1 R/ J9 D) t- ~0132DA24  .  55            push    ebp                              ; |hDC
- O" Z6 R  z: d( D0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor % M) i7 T: V9 u4 u3 d4 _
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 9 {9 {0 j, h' b2 N
0132DA2D  .  55            push    ebp                              ; |hDC ! }3 n/ g+ d2 h; B$ E
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode 0 B! a; t( T. V6 ~0 W
0132DA34  .  33F6          xor    esi, esi % _3 e+ C* _. h: O5 V
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
: L) J4 T: ]$ I; \5 D* m0132DA39  .  BB 01000000  mov    ebx, 1
/ H1 R4 a3 G* r2 F0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx 3 K0 F2 C  o! C* \% s
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi 6 P/ \# K3 P4 t; s
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
- h' D7 O# x5 F  \  a0132DA4A  .  0F8E 20010000 jle    0132DB70 % p' z! a: @: a6 [& x" ^, b
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 4 o( Q! C$ C4 ?* z5 A4 T& ]
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
$ V( E3 z' ?3 z0 E& s/ g+ Z8 C0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi . _( C/ U# @2 H* z/ {$ u
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax 3 @# T6 _3 q5 B& T0 D
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] ; M( P/ w! c# P3 W) c( O6 @+ I* t
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] & y1 k1 w- |4 {/ O  c5 ^5 S  R: k
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] # x" y0 C3 I, [; `0 L; u
0132DA72  .  EB 04        jmp    short 0132DA78 ! }9 z. y# L; ]2 d/ X
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
, W6 ^8 B( K0 U& ]# }0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
' o7 m  |3 J$ r" k0132DA7B  .  66:8B08      mov    cx, word ptr [eax] ! X8 f3 Q) C* e% P; G- v: m
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
5 m& `  R, F* ~2 m: q* _* a0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx - j' H- S. Z; X' E' i6 c6 {: c% n) z
0132DA86  .  0FB700        movzx  eax, word ptr [eax]
- C' ^; l0 c9 i3 d% j0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] / N4 x; l* s+ r. t% b6 `" _0 i& a8 j
0132DA8C  .  51            push    ecx                              ; /pABC
/ n5 `% }& J  i: f* l0132DA8D  .  50            push    eax                              ; |LastChar % s# Q6 |# }. x  D* B) ~
0132DA8E  .  50            push    eax                              ; |FirstChar
9 I* q& H1 l" M6 _. ^3 K: ~% Y0132DA8F  .  55            push    ebp                              ; |hDC % C, ^( M. }8 K6 A4 i0 g# X+ [
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
! l0 C9 U9 j7 H; h2 s8 x4 x/ O0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
% m+ V' @( J0 D3 ]9 h- E0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
0 p8 _% Z1 e" d0132DA9E  .  73 10        jnb    short 0132DAB0
: L# R: B  G* c/ |0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 0 g- U$ u' X; B# e. O8 I/ r8 X& S
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
/ u. ~7 V+ A( i: R" V1 V" L7 c, H0132DAAE  .  EB 0C        jmp    short 0132DABC
2 i0 ]1 n/ R- j  X) [0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
6 d( v. E  g3 o" Q8 s! }0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 7 y. p% j6 L5 v8 E
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 * l# T7 W* w) m+ }" V
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] ' A% U1 a" @9 ?0 P5 O+ U" C
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] ; S6 d# c/ `+ G% s6 o! ~
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] - l7 l# d9 k3 b( Z4 X
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] 6 z3 }' u) W7 f8 y4 r8 _" M- R
0132DACE  .  72 14        jb      short 0132DAE4 % Y) ?# y; q8 e* v
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
, `0 X* j8 n4 x; w# m& g. t0132DAD3  .  BB 01000000  mov    ebx, 1
  d: f% i+ k/ h: b* M6 e0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
$ ~2 f% d0 |& t5 l1 y9 \4 P  X0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx $ f# C% W/ Q( }! y% ~+ t, L& _
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 6 w% ~8 a3 ?5 ]
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] / B6 t+ m5 O4 `. _1 V2 D
0132DAE8  .  03CB          add    ecx, ebx , Z$ v9 }' u  T' o; s9 a
0132DAEA  .  85C9          test    ecx, ecx
+ `' v4 m% Q1 N' d2 X- {0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
4 Y" x* r% R% f* o+ ~, n3 }, i0132DAF0  .  D9C0          fld    st
/ m* I+ x6 b3 [  \3 G0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx / v. I& u2 }1 I, Q! H  X8 r3 n4 d# o
0132DAF6  .  DEFA          fdivp  st(2), st
" t9 A/ p: Y) M& J6 `" @/ s) R4 a- Z2 A6 }0132DAF8  .  D9C9          fxch    st(1) 9 H2 ]3 U2 I5 G6 H6 [+ U& c+ n
0132DAFA  .  D91E          fstp    dword ptr [esi] , R8 u$ e) y& w% |% C6 V+ Z
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
2 V+ g: ]! O; H# }, _' [* H* V0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] ( ^& G+ E$ d+ M
0132DB04  .  D9C0          fld    st
5 z  V$ ?6 S" L/ l0132DB06  .  DEFA          fdivp  st(2), st
& c' P3 J  t& ], {+ m0132DB08  .  D9C9          fxch    st(1) 8 L' g$ f& o! _& P6 t" r
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
, Y: b6 A' e2 x( t0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] % ~3 w$ J4 R! z! T" [1 F
0132DB11  .  7D 06        jge    short 0132DB19
( l; n: ^; p% @% F  }5 T. ]0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] ; ~6 V* p# N- r! O8 [
0132DB19  >  DEF2          fdivrp  st(2), st
" E# F( }$ b5 S9 }% k0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
: _8 u2 @9 N& M$ G0 j( p; x! {0132DB1F  .  6A 01        push    1                                ; /StringSize = 1   `  a. z! M; E8 N" u- M" K( I
0132DB21  .  52            push    edx                              ; |String
3 J2 z$ A( W0 s: k7 ~0132DB22  .  50            push    eax                              ; |YStart / F# {3 l2 L( \
0132DB23  .  D9C9          fxch    st(1)                            ; | 9 ]$ b6 O2 y3 W* d4 v
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
1 _3 s2 a. t0 \0 g5 }) b0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | ( [/ c8 {2 b  z  q
0132DB2B  .  03C8          add    ecx, eax                        ; | ! f9 t- Q7 l* Y& ?4 G: v  f% H
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
( `4 G$ @. R& k2 p% g# x0 E0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 4 a9 z4 t: R. j& a
0132DB35  .  8BC3          mov    eax, ebx                        ; |
2 z- N1 d/ k1 a- n# q0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
6 C* A/ P6 X0 B0132DB3A  .  50            push    eax                              ; |XStart
$ B8 D. X6 D  n6 q0132DB3B  .  55            push    ebp                              ; |hDC 5 t( ^9 n* ^% N! {) E
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
' q# s" r5 ~4 V5 ~5 e0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
( ]! ?! O; h9 B( \0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] - }! B* I: F/ e3 y% D. P
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
7 [# l3 B5 V1 X4 V8 k* Y0 F0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
0 W) ]8 l# q' p2 c- v. }( _0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
0 Q* A3 m: B* ]0132DB56  .  83C0 01      add    eax, 1
. t4 a+ L7 b) [+ I8 c  q  P2 h  o0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] & F7 k# M. e; G* r/ m- v
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] " ^; L4 F- p3 t! {
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx - W: O: O" T7 G, `8 h; r% q
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
7 J! z0 K4 U$ u& ]7 ?3 Y0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 ; l- `4 {  @3 ^( a) I
0132DB6E  .  33F6          xor    esi, esi
* W$ J, Y) s3 F* T7 e4 F" X3 s0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
& g( a4 _' L' @! v4 G, j0132DB73  .  6A FF        push    -1
+ R6 I: T& q) q  P7 n0132DB75  .  83C1 38      add    ecx, 38
  C4 T' p+ L; i; _0 h" f0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 5 Y5 V  i! y' }3 n3 y
0132DB7D  .  8BD8          mov    ebx, eax
! k) N# t; o' y$ n4 }$ @0132DB7F  .  3BDE          cmp    ebx, esi 2 L* v" c8 ?0 i9 [5 O" o  u
0132DB81  .  74 74        je      short 0132DBF7
! Z) j  b. t7 b5 K7 F7 [* R9 t4 a  w0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
! ]9 q/ J) p6 `  a9 w0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] - H; Z2 L. _' K6 S5 i
0132DB8B  .  52            push    edx                              ; /Buffer $ I1 c1 l1 E! Z
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 8 o7 P+ C$ ^" L. K
0132DB8E  .  50            push    eax                              ; |hObject
* y/ s$ s+ w# [$ H# \! o0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA ( F9 g; x4 B/ c0 _5 y8 E8 y
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 8 I' M0 q/ @9 c
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] 0 y: _; q/ l  g) y$ ?
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] ; ?7 I1 Y/ `& ^& z- }! y9 ]0 s
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] 7 Y& s) e  T( U3 B' a: A/ m
0132DBA5  .  85C9          test    ecx, ecx 6 b- r1 t* Q1 v. k2 m: f
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
- l# h. w; _3 V; D" _) q0132DBAF  .  7E 46        jle    short 0132DBF7
, c$ c" H6 |0 S, L0 A1 u7 E0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] ! ^) A0 U; L4 v6 {/ F& v5 Y
0132DBB5  >  33C0          xor    eax, eax ) ~4 _9 R1 J  n8 n
0132DBB7  .  85D2          test    edx, edx
4 x8 {8 `- h* H3 n0132DBB9  .  7E 26        jle    short 0132DBE1
6 w) R7 }$ R+ j0 I0132DBBB  .  8BCE          mov    ecx, esi
" S6 M+ T( t# r" ]5 h2 l- m0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
- J: y% G) Q2 ~: A% ^, N0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] . P; X+ }; t5 a7 d
0132DBC3  .  C1E2 18      shl    edx, 18
8 D$ A  R) i4 I2 V3 T0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
* R/ ^1 l) i+ [' W1 v! V7 l0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
  J  N6 l) P: z* Q" c5 A: v0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] , B3 f1 c# s4 @
0132DBD3  .  83C0 01      add    eax, 1 / d1 @7 E+ A& _* ^
0132DBD6  .  83C1 03      add    ecx, 3
: t. ]2 }$ L. Y0132DBD9  .  3BC2          cmp    eax, edx
3 U% m, z% l0 W8 {! s* U- J7 C0132DBDB  .^ 7C E3        jl      short 0132DBC0 / M. |' g9 R" q9 B
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
" _  e# D: V7 Z0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] 6 c: ?+ k! V( \7 u
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
& y& R! a9 E4 P# L/ z0 l8 K5 t0132DBE9  .  83C0 01      add    eax, 1
7 X7 W6 V) R8 B" M1 b; j9 }0132DBEC  .  3BC1          cmp    eax, ecx
3 B& V) R" v# K) E7 t* Y0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] ( g4 C1 M, r. K- m
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
5 W5 i. C& L- s; P/ Y- k0132DBF5  .^ 7C BE        jl      short 0132DBB5 9 H: |7 h( `/ Q& @
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] ! R  c* N9 \% H0 o: |' ?
0132DBFA  .  6A FF        push    -1
- e1 h8 O2 ]' ?. b$ q0132DBFC  .  83C1 38      add    ecx, 38
+ ~* H: `1 j8 u# }9 c8 n  L0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> 4 o$ T# D" o% V7 U( v: `2 S' B
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] 7 g7 g- K  `! C9 B" D& q! Z
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
" z: \: ]+ |3 F2 _5 y. P* `0132DC0E  .  50            push    eax                              ; /hObject
  [4 r- H' u$ }0132DC0F  .  55            push    ebp                              ; |hDC
' C5 F" V6 z* Z) R4 y) _, z/ w0132DC10  .  FFD6          call    esi                              ; \SelectObject
* J+ @3 D0 i5 w8 B( T. V- ]0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
1 C0 }6 u  N6 N- g5 N# G1 L) E2 s0132DC16  .  51            push    ecx # |* b: w/ {: C9 j0 L3 Z
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont " M+ X& R3 |, X& q' L, k$ s2 o- t
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] " ^' e  Q1 |- O! D$ T3 c
0132DC21  .  83C4 04      add    esp, 4
5 j& i( `7 t- l& k% O; y0 U/ x& x0132DC24  .  52            push    edx 4 c1 ?- y& V$ X3 |' [1 f9 ~3 s! j
0132DC25  .  55            push    ebp + l; c, w9 o7 a! P* G
0132DC26  .  FFD6          call    esi # a. F; x3 L7 Q7 e5 F6 ?
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
" f) v7 V0 x9 m, S! d7 h0132DC2C  .  50            push    eax
. \! I9 U; z$ u+ {/ m" }0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont   \6 S$ H! \1 x, }
0132DC33  .  83C4 04      add    esp, 4 + t% ~4 D) B' D' T" N
0132DC36  .  55            push    ebp                              ; /hDC : O8 z0 [3 ~, t2 j% m
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 8 D$ O% n$ x& y
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
0 G: ^; H' ?) _) j$ b0132DC41  .  6A 00        push    0 $ m: a$ f, l8 Y, H
0132DC43  .  51            push    ecx ! _* Q2 l2 _5 o% h/ M0 P; D* c
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
( M& w0 }/ R% C2 F7 _0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> : |* a9 m4 f. g* B
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] 8 B$ g  g" R# j( I. ^& g
0132DC4F  .  6A 01        push    1
% V, {0 G2 p# y) A/ _# [/ b0132DC51  .  83C1 38      add    ecx, 38 + y* t" u- i0 O9 J3 U, P: i! \
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
/ u9 O: J. R1 f5 ]) {0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] 4 L. `% [' o6 K, c5 F
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
$ B0 o5 r9 n) L0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
7 o1 t- ^' I" h! Q0132DC61  .  6A 00        push    0
+ G, }: }# D6 x$ Q' i0132DC63  .  FFD0          call    eax ! Y# F$ \6 C% _. H  r  \" F0 b
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 5 P+ G. [" @+ g1 L( d
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] / f; M) d7 r6 W) D
0132DC6C  .  33C0          xor    eax, eax
. R3 s6 [1 \/ y: @0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 8 D9 }  |) T7 I( ^. p0 p
0132DC75  .  5D            pop    ebp
! E4 U! y$ N  B* E. M9 L0 C, q/ s0132DC76  .  0F9CC0        setl    al / d+ Y; l! T  T: I2 V* o7 _% ~( q
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
% X- i& E/ [4 y4 w( ^2 a8 w0132DC80  .  5F            pop    edi
, c7 H4 a& y; }  Q: p# |0132DC81  .  5E            pop    esi
+ n' X, F) u6 K6 S" B- l5 |3 n  [0132DC82  .  5B            pop    ebx . G5 U2 J" D+ z7 m. k& k; i
0132DC83  .  33CC          xor    ecx, esp 6 N; L! J2 j$ S# X2 f
0132DC85  .  E8 E2460500  call    0138236C * s* I5 Y- Q, X- ]% L5 w: e7 B3 e
0132DC8A  .  81C4 98040000 add    esp, 498
: K, @* t& t+ ~4 e. _1 d9 l0132DC90  .  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.
6 l6 x" d, {6 h分析说明也许以后会补上。: e. y$ W% D- |* I
; u; t/ L, q. g
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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