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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 + V! E& u2 h5 D5 o
  X6 `4 Y7 g9 g% `! U, i
0132D7E0  $  81EC 98040000 sub    esp, 498 7 v1 {7 {+ w! l
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] 5 E% r6 l% d5 W) j6 R. Y
0132D7EB  .  33C4          xor    eax, esp , V+ u/ Z3 k; @* C, y% h9 S
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
  e& ~- Y* v0 }' V4 y" U9 r0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] ! y! y9 t- z4 m6 ]+ ?
0132D7FB  .  53            push    ebx 5 w8 ], O- \* a. n. {
0132D7FC  .  56            push    esi 8 q( ~' r8 j0 q0 @
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] : X& _3 q4 ~9 P. p3 n
0132D804  .  57            push    edi & q7 O$ q6 d, Y6 G
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 4 I- O8 {5 F* }5 n# e
0132D807  .  8BF9          mov    edi, ecx                        ; |
3 ~; l# x3 q  X( H) J( Z2 v2 C0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
. W8 ?' V# T$ z3 D& q1 c0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | ; v3 d6 m: \6 X' _: p- U8 S
0132D814  .  6A 00        push    0                                ; |c = 00
2 |" o, y$ c0 O. D5 S3 c( o0132D816  .  52            push    edx                              ; |s 2 Q7 a1 l$ j# b3 j
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
4 A. b' a  s: L. \0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
. r+ n6 ?$ Z  w+ L' G0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
$ E" ?* }/ k6 l0 E: n6 u9 r$ v0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
% q) d1 g; }) k* A, J0132D82C  .  83C4 0C      add    esp, 0C 9 t: r7 O0 N" O8 q# s
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 + G' a! G. Y9 z9 b; w+ {2 ^, l
0132D837  .  74 12        je      short 0132D84B 6 Z% ?5 j0 z% T# A3 E
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
8 F7 g' x7 d5 z0 j. W+ `+ ~& a0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" : v* o+ ^* T5 [+ H% y
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 6 K$ ^# x- a1 a+ S3 s2 f
0132D849  .  EB 32        jmp    short 0132D87D ) x- g; G9 y$ ?% ^( F- r7 a0 I+ p
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
0 O! t5 S7 j5 V0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
+ [2 N( i- a# w4 V6 z0132D855  .  33C0          xor    eax, eax
2 C/ x6 C" B* b. f, i# u0132D857  .  EB 07        jmp    short 0132D860 9 C; m3 Z7 ]5 v* k9 x+ k
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] 2 O' j9 e6 }% v0 b5 j
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
1 w  q: @  X9 L9 K% L/ |6 A0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
5 k( y5 T: _( ]4 b( _& {! H0132D86B  .  83C0 01      add    eax, 1 ! g& O6 s* Z  Z- V/ O5 ]
0132D86E  .  3BC1          cmp    eax, ecx
2 ?1 G. w+ x( C, Z0132D870  .^ 7C EE        jl      short 0132D860 2 T* l0 m( q" l1 V
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 9 Q7 \1 [$ C" b4 x0 K" M5 ~
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
$ G6 W. S# y" _4 S( q9 U1 H, W0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 5 Y/ O3 w$ ?" R
0132D880  .  85C0          test    eax, eax
7 Z* E% `: b- l% m. A0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
# c1 c( g/ i/ L5 b4 t3 \0132D885  .  75 05        jnz    short 0132D88C
9 {. ^5 L3 O- G! l: s  U0132D887  .  B8 16263901  mov    eax, 01392616 ! M5 }. M/ c% x- e& ]5 h1 l
0132D88C  >  6A 00        push    0 7 [5 y8 p' i- d0 L8 l
0132D88E  .  6A 00        push    0   ^1 l, o/ Z0 O, A+ X5 D7 {3 S
0132D890  .  50            push    eax
4 O% ^, x: g0 E) p( M0132D891  .  6A 1F        push    1F " A$ j9 P, ]" L3 g2 X
0132D893  .  8BCE          mov    ecx, esi # k$ W$ D3 i: S, @2 V
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 0 Y1 `6 y' d5 h0 L
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ( T( Z3 Y5 `% e. C4 b
0132D8A1  .  6A 00        push    0 1 b, K  e3 Q2 m0 o
0132D8A3  .  6A 20        push    20
+ |2 a' |1 U( \, s( K7 j; @0132D8A5  .  51            push    ecx
+ ^7 S7 S% A5 L7 {2 {0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] % C: N$ p" g" \1 ~1 v2 h9 _& o
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
1 K$ l0 i1 @( y, o0132D8B0  .  8B10          mov    edx, dword ptr [eax] # k( ^7 q' v5 ]: a" c  B/ M9 v! Y8 H
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
) S. S; l' I6 ^/ f. o  X* x0132D8B5  .  51            push    ecx , e" X; |) q. U* A' a
0132D8B6  .  8BC8          mov    ecx, eax / j  k, N4 i" ?/ |6 G4 v
0132D8B8  .  FFD2          call    edx ' a# g. m0 M, W& E& x) t
0132D8BA  .  85C0          test    eax, eax
7 M4 w  ]4 r6 u8 b/ j' F/ c% I0132D8BC  .  75 07        jnz    short 0132D8C5
4 `; A+ F0 O, S0132D8BE  .  32C0          xor    al, al 6 T) x; E  c! H9 W3 u, ^
0132D8C0  .  E9 B4030000  jmp    0132DC79 " d7 q/ N! o$ r3 I$ t  H
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
( O; `, b9 s* E1 B* O0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
1 E! Q6 g" A/ x4 M( J0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] 9 H9 _4 ^6 v0 W
0132D8D0  .  55            push    ebp # L, s+ c3 o9 Y" o+ Z* Y
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
4 l" e  _* o* h: f* D7 c: c0132D8D5  .  52            push    edx
! o2 }3 N4 g& @1 e# C% ?0132D8D6  .  FFD0          call    eax
6 n! O# O+ K9 A# ~. c9 V7 @0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
# l2 G- s1 W) |) }/ X7 u0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC ' R. ^/ i: f' ]
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] % W9 u3 t5 p, x2 }6 a" E
0132D8E4  .  51            push    ecx
5 ~# V( I8 f) R, P3 }0132D8E5  .  8BE8          mov    ebp, eax / V( p* ]6 C; V$ N
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
; W: A( a8 b5 U, \" Y0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
/ K3 {3 J. w) R3 M. T0132D8F3  .  83C4 04      add    esp, 4 3 d1 o6 G, i1 G
0132D8F6  .  50            push    eax                              ; /hObject
3 [( [& \) I9 j) y' L$ X. s3 `0132D8F7  .  55            push    ebp                              ; |hDC 6 a: l. v% `" S( W: U9 d( f* l8 A
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | # O" d( F4 J3 @& |# N2 }' {+ m& ]+ J; c
0132D8FC  .  FFD6          call    esi                              ; \SelectObject * D% w& B5 h8 Z+ K7 [- C8 U
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
6 j1 {6 y; i7 f$ z/ ~0 J0132D902  .  52            push    edx
8 s$ j6 P# r. ~0132D903  .  8BCB          mov    ecx, ebx ( ]& K6 n4 S4 M/ A& ?, U- M
0132D905  .  894424 40    mov    dword ptr [esp+40], eax
4 a) c" `' w" \3 n* Z- H' t0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= : E, `: f' S1 Y* r, \7 U
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] 6 p! s3 Q$ v( Y1 J' |4 a
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) $ T7 x% Q9 l5 d) F8 z. q1 q9 G
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY * Q; X5 W0 R( J3 K
0132D91A  .  55            push    ebp                              ; ||hDC 0 X! f3 [* F# l2 Z' q
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || # J# b$ g2 ~1 h4 p
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 7 W7 g5 J# i5 T2 Z8 _# `0 L
0132D924  .  50            push    eax                              ; |Multiplier
1 ]6 o/ I0 ~! V. b0132D925  .  53            push    ebx                              ; |Multiplicand
8 G# `* x+ a7 A, w( G; d0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv + Q% N9 a4 j4 n, p- W
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]   u3 ^3 s# R1 V6 {- n( o
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] 3 ?/ `3 C, `: V0 a
0132D937  .  51            push    ecx                              ; /FaceName
3 Q3 r9 X. X! q/ ~, U( l. |0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
+ D1 x- N6 l- Y/ [/ r6 Z4 [0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
/ L. D" L1 @& ]* |* d% j+ r9 F0132D941  .  52            push    edx                              ; |Quality
4 B7 H& c) D2 ]/ u0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
6 G3 T6 V* F9 T& r* M0 G8 `# O0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
) y9 `5 G4 ?; N. r# n  s; a0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET : N7 k6 I" _- k7 [% J* W4 J6 ^
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
4 \* \2 W: s) T5 L- z0132D94A  .  8BD1          mov    edx, ecx                        ; | / y! }! I8 ~8 K' ]- ^2 J
0132D94C  .  D1EA          shr    edx, 1                          ; |
' Z: c2 h0 B6 e& @( A0132D94E  .  83E2 01      and    edx, 1                          ; | $ x5 ?/ Q& y& Z2 ^
0132D951  .  52            push    edx                              ; |Underline ' N, u" a9 }3 z, U9 V
0132D952  .  83E1 01      and    ecx, 1                          ; | + f0 I5 x7 z, A: Y( I' @
0132D955  .  51            push    ecx                              ; |Italic
) c4 J# _/ @5 M' t0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | ; i$ D8 i6 x, O, S
0132D95D  .  51            push    ecx                              ; |Weight
. U. g* f" T: U$ t" \$ l0132D95E  .  6A 00        push    0                                ; |Orientation = 0 / e( b2 U, i! h. X% V
0132D960  .  6A 00        push    0                                ; |Escapement = 0 # A" R% ^) t2 w" z9 u
0132D962  .  F7D8          neg    eax                              ; | + z) n& h- ?2 @: p5 {6 M# E
0132D964  .  6A 00        push    0                                ; |Width = 0 1 C* b; K- a" K5 @
0132D966  .  50            push    eax                              ; |Height
, c$ ^, d( v, n8 s0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
' @. r: Q9 ?, V5 Y: S( \; a0132D96D  .  50            push    eax ! ~( l9 \: a% k- b/ G
0132D96E  .  55            push    ebp " ~4 q6 H- i' w
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
) U/ u  E9 ~4 E8 ]  h0132D973  .  FFD6          call    esi 3 R5 s3 T+ m! V$ u
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
' O. ]9 n3 X' v, W# ^" R% P8 [2 i6 q0132D979  .  52            push    edx                              ; /pSize   P9 S* |% g  ?" S+ ^
0132D97A  .  6A 01        push    1                                ; |TextLen = 1 2 U  J7 S- D4 R7 a' B# P8 S2 ~3 ]3 q
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
; M5 n0 C9 h. Q" ?4 ~$ T' }2 w0132D981  .  55            push    ebp                              ; |hDC 4 Z0 [, C- P7 |+ {% t
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
0 T& }5 L( c; v9 M! C+ a0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
( k  a! @% M7 }: K) h; y0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] 6 \# ^3 k2 B! Y5 _1 g0 x1 O% i: q
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
% T9 D9 d: c  b' m0132D993  .  8947 18      mov    dword ptr [edi+18], eax
3 I" T/ q& P5 G" K" p* t4 h* ~0132D996  .  33C9          xor    ecx, ecx
" _  c& B; z4 a& e; S0132D998  .  8BC6          mov    eax, esi
) g( T' k0 J! C# f! {; I0132D99A  .  BA 20000000  mov    edx, 20
) }/ F' j  D) Y0132D99F  .  F7E2          mul    edx
. J' U( g/ Q4 d- s0132D9A1  .  0F90C1        seto    cl 9 X9 o; `" j0 _+ S+ Q+ U
0132D9A4  .  F7D9          neg    ecx . m* {0 A0 A% [) P7 h" w& P
0132D9A6  .  0BC8          or      ecx, eax
9 x8 m7 C; q' h7 D0 \: a& y0132D9A8  .  51            push    ecx ; M  N* Y+ H% N- n- F
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> $ r3 K: ?2 j- C1 s0 D9 C# V
0132D9AE  .  83C4 04      add    esp, 4 " r  R& ^# c! Y5 n; T  H
0132D9B1  .  85C0          test    eax, eax 9 j8 `9 G$ z- g" @; a% T
0132D9B3  .  74 28        je      short 0132D9DD . u& h2 t2 V' m3 O/ u! K0 ^4 }
0132D9B5  .  83C6 FF      add    esi, -1 & K; v9 ~+ O$ w4 E/ C
0132D9B8  .  78 25        js      short 0132D9DF   C9 T; Q  ~8 S! [5 t( E# ?
0132D9BA  .  D9EE          fldz
2 k0 A0 d) l& S% A  o0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 6 B0 c4 p9 t$ q& f. n( z5 H  f
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] 0 r4 ]2 Y0 h6 G4 M9 j8 r4 J1 s0 a0 s+ B
0132D9C2  .  83C1 20      add    ecx, 20 $ N+ K. ^1 J3 l& f3 h! }
0132D9C5  .  83EE 01      sub    esi, 1 ( U8 _( R% [: @3 W
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] ; D- X4 P) ~1 q; Z$ \+ T
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] ' \4 p, N! M* }+ r. w  W* A
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] ' g; V/ z/ L; R! E& I
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] : b: q/ Q6 n. @  r! |3 g) b$ u# Z4 N7 o
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]   v/ ^7 R1 X$ u* |2 S
0132D9D7  .^ 79 E6        jns    short 0132D9BF
' f2 N  {7 V9 i0132D9D9  .  DDD8          fstp    st / {; i3 z% H+ k0 ^  R& V+ E5 [5 K
0132D9DB  .  EB 02        jmp    short 0132D9DF
# e% v/ N. x+ w0132D9DD  >  33C0          xor    eax, eax + Y. @: ~0 g+ o. ?: Q7 \# u
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ; z" H! W6 `( k) Y% q: }7 |
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
+ Q' u6 ?3 E, l0 B# T2 U, U* y0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] ' f6 o* a1 S* P) G; t7 F% C9 ~
0132D9F0  .  50            push    eax                              ; /Bottom ! m" s; @2 U' l8 c' z: `9 d
0132D9F1  .  51            push    ecx                              ; |Right
8 P5 T4 |! a8 X: r! B( c% ~0132D9F2  .  6A 00        push    0                                ; |Top = 0
7 S: b6 R. P! G" l0132D9F4  .  6A 00        push    0                                ; |Left = 0 & Z. m) Y" I( n) ?% h# j
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
2 Y  J( X% ?6 d$ g9 N  C0132D9FA  .  52            push    edx                              ; |pRect
& a- j3 e% J, |2 S0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
: U4 O3 g; K- L5 I0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH - b" G2 o. N- u- R" J
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
" `* m' \6 |7 u/ k1 U4 K' ~0132DA09  .  50            push    eax                              ; /hBrush
& L" H2 ?  G4 Y0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
4 b5 k8 L8 z& `' v5 q0132DA0E  .  50            push    eax                              ; |pRect
$ ]* h5 [  z( y6 J' ^& y) s+ e8 V+ [0132DA0F  .  55            push    ebp                              ; |hDC
) e" H' m6 r, Y  c0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect ; s3 @- M9 N. P1 u% q
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
5 a9 H& O' ~4 X- t6 Q0132DA18  .  55            push    ebp                              ; |hDC
8 [: U7 ^* q9 h7 a( w0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
# W5 Q" x9 y+ @3 a0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
- e; U8 |2 W3 Z2 J7 s0132DA24  .  55            push    ebp                              ; |hDC $ s, x" R8 o: }8 r# ^/ k- {( m
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor & B4 j* Q2 t6 m5 u2 o: h
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT " ]: B) k; X, b
0132DA2D  .  55            push    ebp                              ; |hDC
& x- Y( @- z' t& |0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
/ l, T- H/ L) L0 f1 Y% }8 \  ]/ X0132DA34  .  33F6          xor    esi, esi , g' o: _% d! C+ R. h. b
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
8 b; M8 A! N2 k3 W3 D1 f0132DA39  .  BB 01000000  mov    ebx, 1 7 y4 m3 q( V- T* V" Q0 \% X
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx 0 |6 k2 e3 Y, a
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
) T/ H/ h( W* f8 o. s; I4 K0 E0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi 8 r0 G6 I" {/ e# i; B) E
0132DA4A  .  0F8E 20010000 jle    0132DB70 0 E3 r4 G! H, x  w) t: {
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] ) `5 Y5 I1 h1 H2 t
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] ) W  P" |* Y% U2 H. r% R1 Q& Z* Z
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi % ?/ s8 C0 H: I
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
$ Y4 A- W# A; w" V8 C2 r. j% v0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] 8 J9 L: b" }5 i7 V6 O/ g, B
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
% `" q4 U9 J! s4 T7 J0 J& u0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] , y: ?5 P4 {' V- T5 x7 y
0132DA72  .  EB 04        jmp    short 0132DA78 8 F4 Q' m* ^% V; D9 M2 T
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
9 C' c3 o% D8 t0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
7 `% f! z8 H7 z  c2 ?- M# C0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
" D+ ^0 z3 ]6 ?8 H! {0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] 5 X2 F1 m8 \1 F# D- m: u/ |. m" q
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
# h4 K  R. G, t" p4 q; C  u" `  W6 G* G0132DA86  .  0FB700        movzx  eax, word ptr [eax] ) B0 s. @- m/ ~; @& h' v) m( U) m( }; K
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
  Q: J+ _/ C& W/ L% y0132DA8C  .  51            push    ecx                              ; /pABC 2 W  [$ z2 Y! q, x  A& m  k! Q
0132DA8D  .  50            push    eax                              ; |LastChar
( h  w2 _' I% T9 R! H( O' D0132DA8E  .  50            push    eax                              ; |FirstChar
# |/ f! x! `8 O! V0 M0132DA8F  .  55            push    ebp                              ; |hDC
" h( K; {9 U+ w! e) ]7 z  X0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
8 \% W4 h& o  M8 E; Y( X1 T0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] / s6 ]# U& C. d) C5 A5 ^9 m, p
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
8 P- P5 N7 O* Q1 L3 K) x7 u& P. R0132DA9E  .  73 10        jnb    short 0132DAB0 ; b% G+ m, Z. v' ^9 ^
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
# d+ }3 m3 z* }2 }! j& q" z0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
" E: s  p' J1 c9 D# Q0132DAAE  .  EB 0C        jmp    short 0132DABC 4 k  G9 p4 H7 y! }. n% s
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
1 b8 D6 `. c% p; t0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
. w$ L4 S# a7 a( _, V" }0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
# w! N. j' c# l2 z. n: h' M5 h. F4 G0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] , o! `& F; B" ]# B' Y; N8 [  V
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
# B3 n# M6 `: K) u* |* s! s0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
: v, P( G  o1 i0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
  |2 ?( q6 b5 M* v0132DACE  .  72 14        jb      short 0132DAE4 / }2 R3 ]+ P; F! A1 v
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] & A6 A1 |0 b9 K; G3 \9 Y. s/ K
0132DAD3  .  BB 01000000  mov    ebx, 1 . B5 X$ ?( v3 j) c( V3 T
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
' ?, ?& l& d, S  l0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
0 Q$ _. H1 H% X: M" f! B7 W( }0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
- k# c, h  t1 o2 n0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] 4 }. x* T; w2 d; o+ _* }) x
0132DAE8  .  03CB          add    ecx, ebx 0 W( i1 ?+ I. v! x0 T% V
0132DAEA  .  85C9          test    ecx, ecx
' [8 p% J. o3 B  Z. D0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
$ ?2 F/ H  _, i6 ]2 B0132DAF0  .  D9C0          fld    st
0 ]; t4 |/ N1 Q0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx ! P' ]7 H* j. t8 V
0132DAF6  .  DEFA          fdivp  st(2), st 5 {& \) ]1 k- T9 B
0132DAF8  .  D9C9          fxch    st(1)
* [0 Z' f% O8 H# J& l0132DAFA  .  D91E          fstp    dword ptr [esi] 4 ?- X  Y$ x; P. v
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
, N9 P  K6 g( G# l0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] 1 m% W4 a) r1 j3 j; _
0132DB04  .  D9C0          fld    st 8 O7 i1 I4 _' ?. U
0132DB06  .  DEFA          fdivp  st(2), st 3 r& c6 W& A, K* u0 c. \# m
0132DB08  .  D9C9          fxch    st(1) 4 _2 c& p/ T6 c# H, {2 u3 E
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] 5 f+ y0 N2 [( ?* ^
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
, r! N0 a" G! j( I- O5 f$ q0132DB11  .  7D 06        jge    short 0132DB19 9 m9 A! ?% p% [; J7 o8 o( [
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] * x" F; l, f$ n4 Q/ z, @1 o( e
0132DB19  >  DEF2          fdivrp  st(2), st $ I; o2 M1 y+ q' Q9 g- b- P
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
8 h2 e; D' ]6 S' K/ G4 v" z$ Y0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
1 U  O2 j9 }$ T6 l! k4 x! _0132DB21  .  52            push    edx                              ; |String - W/ x* V- r7 p1 C( h2 e* v; @$ o
0132DB22  .  50            push    eax                              ; |YStart 2 W3 G4 X; O2 g4 b1 t$ H, ]) c
0132DB23  .  D9C9          fxch    st(1)                            ; | / ~) H* ~) I% d( W. ?5 ~  [
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
$ H5 w+ J$ I6 l0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
5 `* d8 T% w2 d5 M  N% |- p. @0132DB2B  .  03C8          add    ecx, eax                        ; | 4 `6 b) f% _, b
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
/ ?/ f  A; H; b$ E5 k0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | * h# q: I6 z+ m9 ~( U9 b
0132DB35  .  8BC3          mov    eax, ebx                        ; | / \5 z4 G% S7 k6 z$ ~8 m% K2 z
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
" `  Q' i2 S7 p, U' E5 ]0132DB3A  .  50            push    eax                              ; |XStart / y; l( P8 q# V/ _3 Y
0132DB3B  .  55            push    ebp                              ; |hDC 6 ]5 L. G6 h/ d
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
0 C7 g1 f- r" m9 R* G0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW 2 G" B2 U" T% h: W8 v, t6 a
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] : i6 t! Y6 s, w$ }
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
; H: g& ^$ P( o* N2 c' F0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 " r3 S0 o/ V# `7 |0 j* M" _
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
' w9 h/ Y( @0 f1 G# l% p0132DB56  .  83C0 01      add    eax, 1 ; v- L5 Q7 h. X/ o; z
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
: |8 |8 R1 K; W9 _0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] ' D) Y0 K1 v7 |" Q
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx 1 ~9 Y" l1 X7 S, Z( ]% L5 F
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax & p( p% {% y7 ~' M7 n/ \" M
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
/ _! u8 I6 A6 I8 Z' t2 p. h0132DB6E  .  33F6          xor    esi, esi 3 @. Y4 K: b+ _8 @
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] 0 y) E, w) M! q8 @4 u
0132DB73  .  6A FF        push    -1
/ s) |3 y9 K5 ~& p% ]8 A, o0132DB75  .  83C1 38      add    ecx, 38
8 r8 M) z/ P1 d* L0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 0 F2 A/ I- M" y, R$ V
0132DB7D  .  8BD8          mov    ebx, eax , U2 w8 j/ _7 c* C: C  G
0132DB7F  .  3BDE          cmp    ebx, esi ' [1 E' d* I1 \9 {3 u- @) i: [7 r! M
0132DB81  .  74 74        je      short 0132DBF7 & L6 z0 Z% e( b( m6 x2 o1 a. H
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] " c2 f' Y' I& a7 t! w) g7 |
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] 8 ^! H# |) m  T
0132DB8B  .  52            push    edx                              ; /Buffer
; [+ e$ @' s+ _3 Q0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) * j; M  H% ]6 I7 H
0132DB8E  .  50            push    eax                              ; |hObject
/ M( j, u% g" c1 i3 e& w0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA 7 L) n( `4 P2 s+ a: u
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
& V% [( {0 _( f* l' `" k! ]0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
6 z/ W$ \) Y: T  m* P, Y8 u( T0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
/ s; I# U1 w4 u; W4 b2 Q/ D$ h0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
  _) v% e' q# M  T  M/ u0132DBA5  .  85C9          test    ecx, ecx
( A" y. p2 r" n! u3 X! K7 a0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
  ?- c" t- K8 N* C$ B; i# u0132DBAF  .  7E 46        jle    short 0132DBF7 & Q, l% h1 I/ P! _
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
4 I6 K" m3 v; N3 H/ m9 x0132DBB5  >  33C0          xor    eax, eax
7 U* P8 M% R- e  i: k0132DBB7  .  85D2          test    edx, edx . b, `0 v, n# l# ^
0132DBB9  .  7E 26        jle    short 0132DBE1 , U7 z, p% i, |7 {& \" ^
0132DBBB  .  8BCE          mov    ecx, esi - d7 R. T) ^8 k, R8 B/ @
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
. d  [; A7 |' Y0 d/ Q) F0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] # L0 t+ v+ S' x; ]# ^: E& J
0132DBC3  .  C1E2 18      shl    edx, 18 , u$ z+ z/ I* _* s8 U  Q4 y
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF % r# O) c" E. t, o# H: A1 J2 o3 ^. }
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
; h# H  j# l5 r; W0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 0 L  ], n, E$ C: D8 t. s6 F" j
0132DBD3  .  83C0 01      add    eax, 1
! X3 r6 h& C( Z% K0132DBD6  .  83C1 03      add    ecx, 3 ) m: m3 C4 f! }4 Y- v) n8 O9 F+ \
0132DBD9  .  3BC2          cmp    eax, edx
9 ^! z% Q- c2 i0132DBDB  .^ 7C E3        jl      short 0132DBC0
5 M  N) }) ?7 j; V7 H2 x1 u9 o/ d) k0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] ! Q/ L( e$ t0 A, v0 a. e
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] 4 o) s+ u8 X9 }) M' k9 L; X
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] & f" B2 q7 g0 _9 v, A
0132DBE9  .  83C0 01      add    eax, 1 ! _4 g  p" X, B6 @
0132DBEC  .  3BC1          cmp    eax, ecx
% p7 u, J& ^6 O- w0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] & C7 k4 }8 z! m/ a: d$ C7 N
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
( Q7 D, V' |/ h! {0132DBF5  .^ 7C BE        jl      short 0132DBB5 # y2 t8 i7 w" Z
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] 8 e, B4 Z* o' Y4 l2 i
0132DBFA  .  6A FF        push    -1
4 M: z5 o; o7 \& h0132DBFC  .  83C1 38      add    ecx, 38 & v  @' V$ D! ]) Z2 [0 P+ f' H9 Q8 a
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> * k# `+ u% u7 R# {' N
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
$ M' m' f; h' f+ E, a0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
' O3 V$ ^* [. C* i4 {4 l0132DC0E  .  50            push    eax                              ; /hObject 7 a( A9 O0 v$ d# J# e) H
0132DC0F  .  55            push    ebp                              ; |hDC
$ B/ X1 D% v4 w9 s0132DC10  .  FFD6          call    esi                              ; \SelectObject - y, C1 E9 |: |) s
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
8 C6 F, b5 c* Y7 E0132DC16  .  51            push    ecx " K  r2 }# a3 K% ?: n% d
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
1 I/ V! m. X( y( U' p- X7 E0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
: Y0 v! J8 I- K% s8 m8 ~' B# `0132DC21  .  83C4 04      add    esp, 4
, H: T& m" [6 a" a  z4 L0132DC24  .  52            push    edx
6 j; R6 y5 G* c- _. f0132DC25  .  55            push    ebp 4 U- Z7 }6 ^- m+ s" m9 b& A3 |! @
0132DC26  .  FFD6          call    esi . F0 c( N# j0 x; }* `
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
5 T3 c. R3 y8 N) z0132DC2C  .  50            push    eax 0 P; e) D8 d+ V9 @5 N
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
! Q( t; Z0 d$ B$ b  B) }( \; \  Y0132DC33  .  83C4 04      add    esp, 4
. m$ }# y% u+ P8 q% U0132DC36  .  55            push    ebp                              ; /hDC ' J7 Q3 D. B7 N
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
5 N' D, w1 _) r2 z4 |9 R2 \0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
! L& Y" A6 u: C" D) @( F0132DC41  .  6A 00        push    0
( x  S( D$ E+ F& ^0 ^: X  L+ |, a0132DC43  .  51            push    ecx 4 o$ U4 U# Z/ B2 D4 W
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
7 c- ]3 X# K# Q0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
) c2 w" F7 z6 c* }6 a0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] 6 a+ K; @! w* n
0132DC4F  .  6A 01        push    1
0 p7 O1 @9 K: G, h* A3 O3 n0132DC51  .  83C1 38      add    ecx, 38 / _" y! U9 @' @2 i- L
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> . V& t: n$ g3 i- k
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
7 x! O0 p0 `( `8 t1 c& S0132DC5C  .  8B11          mov    edx, dword ptr [ecx] 6 I6 s: R9 m- p# _/ ]/ B
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
9 ^, ?! J6 y3 i# ^# ?7 \0132DC61  .  6A 00        push    0
; V- G& e$ y( l3 {$ _% p0132DC63  .  FFD0          call    eax
7 }; t9 D, [2 l0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 5 h$ f) \' [2 C5 R. X
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] 7 o) b6 A0 o0 \- g
0132DC6C  .  33C0          xor    eax, eax / [" a5 z+ S, w7 i
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
5 I7 Q, Y& s8 ?- b# }1 I0132DC75  .  5D            pop    ebp
9 L3 K+ ^6 V  e1 s# K0132DC76  .  0F9CC0        setl    al ! J  F, `$ u+ n; U$ o
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] + N  [$ F, w' H
0132DC80  .  5F            pop    edi . ], A6 v8 d5 a
0132DC81  .  5E            pop    esi
0 H" c$ m6 a1 M% E5 u5 d' a0132DC82  .  5B            pop    ebx 9 u( l- e+ h0 Y/ ?1 M
0132DC83  .  33CC          xor    ecx, esp
- A. p6 T# R. q' u7 H7 M0132DC85  .  E8 E2460500  call    0138236C
/ K' }; q! f- J0132DC8A  .  81C4 98040000 add    esp, 498
4 _' f$ X5 v9 P1 V8 W1 b0132DC90  .  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.: N" F" i7 W& i$ z; U$ G# h5 z6 n
分析说明也许以后会补上。
+ L/ p0 [- L  d/ }& h: u- _, ^0 W( l& V% F$ y
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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