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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
4 S+ X, I3 A) Y% p
! _% b' z2 P2 V; e0132D7E0  $  81EC 98040000 sub    esp, 498
! v' X" y! ]# i  m3 i0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] , s! @/ O3 P3 e+ c! L9 d
0132D7EB  .  33C4          xor    eax, esp ; P6 `' t, E8 H2 i, ^/ R4 {
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax ( s3 \, U8 c& n/ J& A! z! X1 [
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] " @0 y& k5 e4 O8 k4 r' i
0132D7FB  .  53            push    ebx 5 L& I% X8 |& T% e  o" {, Y; P. H
0132D7FC  .  56            push    esi
, C5 u. v; o. S0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] $ J! F9 ?) B9 a
0132D804  .  57            push    edi , k! Z- q- d) G& [# K% b+ l
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) " T( H  r/ o/ Y
0132D807  .  8BF9          mov    edi, ecx                        ; | 0 B) U/ M) {" M2 o1 y' V
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | 1 U& u: Q7 V5 b0 h& n( n
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | , J/ z. y7 f9 O+ w6 R* c
0132D814  .  6A 00        push    0                                ; |c = 00 7 R- @1 h1 C/ d% q) V, t
0132D816  .  52            push    edx                              ; |s
, k7 ]5 A6 @2 |$ b( H0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
2 n% T$ {/ ^" N0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 6 f: V! [( C, S0 C& N
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
/ s& h1 A$ P! ], U* z/ }0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset / B. ]# q' F1 |( v- Y
0132D82C  .  83C4 0C      add    esp, 0C ; v1 ?2 c- o. t# u" R  Q
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
" w5 U3 O  i7 F$ ]+ y# y0132D837  .  74 12        je      short 0132D84B
# @, `5 `! }& B" h( J3 |0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] 1 b: \6 y  H# t4 n' N
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" # L7 S" B% T8 n' j
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
, A1 Z3 N6 }% c3 v$ S' \  o3 g0132D849  .  EB 32        jmp    short 0132D87D
: }! w! t* S# q7 h$ R0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 & V  M2 B' k3 P9 ]& x# g
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
8 J4 u6 V: l! J+ b3 }0132D855  .  33C0          xor    eax, eax
+ ?" s$ W' s1 y$ v3 N, f$ Z5 ]6 A0132D857  .  EB 07        jmp    short 0132D860 # V5 L# z( l7 C7 s4 t
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
1 n9 w; v* R/ Y. ?8 w0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
0 {" `  j( @1 f& ?0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
% f% ^+ ~. C: R( ~% O7 O* o0132D86B  .  83C0 01      add    eax, 1
. ?: @/ g; `% {# c7 }) N0132D86E  .  3BC1          cmp    eax, ecx
8 h% V& g  v0 H+ @" G$ N0132D870  .^ 7C EE        jl      short 0132D860 ( ^: ?+ n3 b5 X3 v1 P1 H
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
9 h  V4 d/ N& A! `0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 8 F0 O! ^2 v+ z
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] " A3 z3 T, _9 Q) X) j
0132D880  .  85C0          test    eax, eax / @" a- m) `/ R3 }8 o
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] 4 `8 C" [  ~! p: x; M2 M6 v& c
0132D885  .  75 05        jnz    short 0132D88C
* A' P" T$ n  s4 ?! z0132D887  .  B8 16263901  mov    eax, 01392616   W% k' T& H9 ^
0132D88C  >  6A 00        push    0
+ A. w; |3 i' L6 C7 n, f% b0132D88E  .  6A 00        push    0 : @$ C# F  I/ O; C9 O& U% P
0132D890  .  50            push    eax
' e1 b& l  g) C/ p9 b7 B0132D891  .  6A 1F        push    1F
2 ~' n. D$ e  g3 K/ \0132D893  .  8BCE          mov    ecx, esi
- J2 Y  p8 }1 P* D, o% Q0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
) D. }$ ?5 B8 L0 `0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
2 W( x$ X6 H& O, W- @0132D8A1  .  6A 00        push    0 * h: v' N8 N( w6 t! k
0132D8A3  .  6A 20        push    20 " v  C, a3 @& s
0132D8A5  .  51            push    ecx 2 K1 p/ b# Q! W) O* ~
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
6 |- k. n+ P* J+ i0 M! a- E0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax + t1 o4 H$ M1 I1 l4 ^5 j( P
0132D8B0  .  8B10          mov    edx, dword ptr [eax]
( x% h/ c* K" K4 C0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
% B8 w7 p) M4 K2 a- {+ _5 k0132D8B5  .  51            push    ecx & a  p, F1 a& `! |$ g# H
0132D8B6  .  8BC8          mov    ecx, eax , L" `7 Z5 ?* P0 g( p9 v
0132D8B8  .  FFD2          call    edx
2 {) H* \6 {5 u. J0132D8BA  .  85C0          test    eax, eax ; Z/ ~- b3 k% P: r. s" J) V
0132D8BC  .  75 07        jnz    short 0132D8C5 ; J  h3 ]0 `$ m
0132D8BE  .  32C0          xor    al, al ( l2 v$ S: N& e4 d7 h+ k/ r. U
0132D8C0  .  E9 B4030000  jmp    0132DC79 0 N$ `# b! b6 s1 D% q* q
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] ! R5 @) [( ?8 R8 n( Z/ f
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
6 f4 d& y. c1 s* @9 Z0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] , @9 S% }8 R  d% ]
0132D8D0  .  55            push    ebp
7 V+ S) `- U2 t; g) ~! N0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
$ M# u' a: r: j) d/ N0132D8D5  .  52            push    edx
( m' V& I4 T* O+ i4 e0132D8D6  .  FFD0          call    eax " u, @6 ^) y3 [
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
  \" b9 b9 z. m; O. z0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC # f. @# i9 f9 i7 h5 W
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] & n( x* U' R  K& Y! @' s
0132D8E4  .  51            push    ecx ' \0 S9 A; @+ P* I
0132D8E5  .  8BE8          mov    ebp, eax
  t$ a: l& v4 Y0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
4 X; K" P  z2 B* s0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
% j0 I- J3 l  r, u1 q' ]5 p0132D8F3  .  83C4 04      add    esp, 4 # M5 {2 t: A$ S: q9 t  `4 B% ?$ W
0132D8F6  .  50            push    eax                              ; /hObject
! z0 |' W" \% k# a; n$ W4 E0132D8F7  .  55            push    ebp                              ; |hDC 1 |- Y) X8 I6 Q0 P$ T
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | , o4 B2 ~$ `) |
0132D8FC  .  FFD6          call    esi                              ; \SelectObject
* ?2 L: f/ M2 v3 w7 N" w- z6 c0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] + y( H- X) u# i) O( L/ c
0132D902  .  52            push    edx
: ~7 g) o1 p6 n1 H5 g7 I, O2 h0132D903  .  8BCB          mov    ecx, ebx ! o1 Q; p9 ~- M7 y. f+ L
0132D905  .  894424 40    mov    dword ptr [esp+40], eax % ^" o  l. q, X, Z+ K% o
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= / m/ \" g# z) i5 |& f
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
# ]8 o; [7 Y+ L7 F: o5 U/ C0 |3 }- ?0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)   ]4 B( v: m% e7 k# C
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
. z( S. U/ Q& X0132D91A  .  55            push    ebp                              ; ||hDC * b4 X' r# z2 Q; y" |( @
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
, y! s; u# q9 M" E* z0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
( t6 g+ g" y+ t) ]* L0132D924  .  50            push    eax                              ; |Multiplier
$ q& y. }0 x& F. S! s0132D925  .  53            push    ebx                              ; |Multiplicand 0 c2 c; o9 |$ L0 Y
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
8 U' m7 T, ?1 z0 @0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
& q/ ]8 j# |( Y' ^: _3 J+ u- y+ J# U0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] - @& w* T1 D  Y3 b
0132D937  .  51            push    ecx                              ; /FaceName
# f8 |) n" {) f  X4 K0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | ) h' `: }  D3 {; K; `" Y- ~( V
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE % K% V/ g. R9 {
0132D941  .  52            push    edx                              ; |Quality 1 M) }& c2 `9 k! e! j
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS , _, W+ v" z* K/ w$ s) c" ]! Z3 t
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS ( o3 t" N) m4 u5 B6 x6 j1 r
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET " S9 x6 A; q; S; G) c! D4 l
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE ; x2 C2 u  a2 \4 D! N
0132D94A  .  8BD1          mov    edx, ecx                        ; |
: z4 k; |6 P  W9 j( W0132D94C  .  D1EA          shr    edx, 1                          ; |
# I/ y1 `' b+ f6 l" e9 ?' o, O0132D94E  .  83E2 01      and    edx, 1                          ; | 6 X+ N1 R: q) a/ y9 A1 Q0 s& ?6 q
0132D951  .  52            push    edx                              ; |Underline # y* v# r% M' ]! v; F+ ~& g" o
0132D952  .  83E1 01      and    ecx, 1                          ; |
5 z' q7 Y4 V- g+ w, c7 ^( @0132D955  .  51            push    ecx                              ; |Italic . T0 k5 v+ ~0 O6 r9 P2 |
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
; j/ T) t' O% D4 L! n3 j0132D95D  .  51            push    ecx                              ; |Weight   Y! G; M9 T% H1 M. t% [
0132D95E  .  6A 00        push    0                                ; |Orientation = 0 $ D( a' X  f1 R' S* E  u
0132D960  .  6A 00        push    0                                ; |Escapement = 0 # ^: }4 a" y  J+ S( H" C
0132D962  .  F7D8          neg    eax                              ; | ' T2 A1 n* |( y& i2 D1 x4 ?+ ~- e  U
0132D964  .  6A 00        push    0                                ; |Width = 0 ( ~2 }9 ^6 a4 B+ |
0132D966  .  50            push    eax                              ; |Height
/ U6 x9 b# T% N. k! D' S- j! @! i0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
! e. Z3 O$ X1 t0132D96D  .  50            push    eax
  c5 c& M6 O: g1 L: p* K+ l0132D96E  .  55            push    ebp
/ v7 S2 z% h0 R$ m8 U9 I3 @0132D96F  .  894424 38    mov    dword ptr [esp+38], eax 3 K* j7 K5 G/ |/ P% _1 ?! Q  h3 g6 u
0132D973  .  FFD6          call    esi 4 o1 ~, Y; \& X, y
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] ( @. `5 \) U3 T. W% q7 H
0132D979  .  52            push    edx                              ; /pSize
* X8 }+ m/ q* y2 A! P! p0132D97A  .  6A 01        push    1                                ; |TextLen = 1 1 o3 m2 r2 U' o& x) r! s0 u
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
/ Z, e1 w# d8 [  J# r' i/ U0132D981  .  55            push    ebp                              ; |hDC
4 q1 J& v; T2 i- I4 d1 l1 ?' p) c0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
0 P; {9 Y+ l# g% H3 ?  A7 v0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA   G: D8 b# L% O% V
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
' ~# d/ f0 x" I0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
) v& d$ R& v0 f. P0132D993  .  8947 18      mov    dword ptr [edi+18], eax
, r/ [! H0 r0 \! b+ [0 k0132D996  .  33C9          xor    ecx, ecx # ]/ w2 @% ~: ~! ~4 C; U
0132D998  .  8BC6          mov    eax, esi
8 D9 }6 v; `! T: O0132D99A  .  BA 20000000  mov    edx, 20 8 q$ W1 R, G' Z. O# P
0132D99F  .  F7E2          mul    edx 2 e. R2 d; F2 ~; `8 V, t6 T
0132D9A1  .  0F90C1        seto    cl # a8 `. U6 U9 h/ F  G2 ~4 d
0132D9A4  .  F7D9          neg    ecx
" e7 q+ E- [" m$ e6 i* A0132D9A6  .  0BC8          or      ecx, eax
  ~% ], Y7 ~5 e  N- a* A0132D9A8  .  51            push    ecx
% O1 y3 p1 x' d' Z2 P7 S0 j0 Z0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> 6 B0 w' ^- G; S" F& ]4 U& y/ N6 w
0132D9AE  .  83C4 04      add    esp, 4   t6 j5 ^- i% ^4 T5 s9 m1 C3 b
0132D9B1  .  85C0          test    eax, eax + w0 Q1 w; u9 {2 z
0132D9B3  .  74 28        je      short 0132D9DD 8 u" w; V2 Q; T! p) c% }+ k
0132D9B5  .  83C6 FF      add    esi, -1 % _( q& T* `3 C$ p7 o) V
0132D9B8  .  78 25        js      short 0132D9DF ; `8 E  A" b3 x* v
0132D9BA  .  D9EE          fldz # u# P' W8 p9 j: t4 O8 I( h
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
3 T, h" I8 }0 `, o3 y" z0 k- s$ ^0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
1 y# `8 ?: V+ R& S, |0132D9C2  .  83C1 20      add    ecx, 20 6 L' ?" U- [6 m0 T7 q$ Q& A5 C# Z
0132D9C5  .  83EE 01      sub    esi, 1 8 f2 C0 P9 I0 {: w: u( l( n
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] / J7 t  T6 }1 B) p/ I  C) N6 {
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] 8 h$ b7 P/ }9 l  S# ?
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
. V7 p5 }' T4 Q% v0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] ( ^1 \# v( K+ m. M; J% K" _
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
1 j4 ^( s. K. k8 y9 m0132D9D7  .^ 79 E6        jns    short 0132D9BF / i. G6 Y0 m& p9 h! h& r7 o
0132D9D9  .  DDD8          fstp    st
- n# |1 u. R6 f( W0132D9DB  .  EB 02        jmp    short 0132D9DF 1 h" q4 x9 n: P1 Q7 x  m
0132D9DD  >  33C0          xor    eax, eax
% k/ r- ]2 G" Q  i' d  p0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
6 m$ ?8 e: B! C) F; e* S; [% a0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
( l; i$ L" C# ?  o+ r  l7 @$ N0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
" x. {2 G  z3 k( e0132D9F0  .  50            push    eax                              ; /Bottom ) A3 l/ P* r* w; ~# f- o+ f" R- j: W& {
0132D9F1  .  51            push    ecx                              ; |Right
+ P$ l* v& Q' F9 A8 v$ l, c* u$ A0132D9F2  .  6A 00        push    0                                ; |Top = 0 - [9 r& z% t) c% B) j' A( h
0132D9F4  .  6A 00        push    0                                ; |Left = 0 # {& ]) w5 J' d: c8 L  ]( w4 ^
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | ( \( \6 g0 O8 H4 i
0132D9FA  .  52            push    edx                              ; |pRect
; q! J  @0 y8 Q0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect $ i* ?" A  C% Z: {( X
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH # B% _8 N. O( W" @) \
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
/ x, v6 M2 {( B( {$ ]  |0132DA09  .  50            push    eax                              ; /hBrush 8 p5 |3 }# g& Q# q6 @3 q
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
- t2 W4 ]" O0 T0132DA0E  .  50            push    eax                              ; |pRect
# l+ z2 I" b% S8 R, N, S# J0132DA0F  .  55            push    ebp                              ; |hDC
$ X& ~$ n  m- a& f" M) Y0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect 4 i# |; r, T, B9 t
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> ; I- I  v+ v8 ?7 X, _- x. E. w  z
0132DA18  .  55            push    ebp                              ; |hDC
" P. ^3 P& \# e4 `$ N0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
7 N2 e$ S0 }6 S9 i! ]! d0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> % A  x' B8 c  h7 O# J$ {5 p3 V2 \
0132DA24  .  55            push    ebp                              ; |hDC
% I. w% ^& h3 |0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
8 L8 q7 ~1 Y" C) ~0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
+ r9 r- p6 s% b6 y5 G1 T- m+ O0132DA2D  .  55            push    ebp                              ; |hDC 3 S( G% l$ s0 K3 |5 S7 n1 d6 m
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode 8 S: `+ k; k1 u8 d
0132DA34  .  33F6          xor    esi, esi
5 B& b4 |* Z: [- N; y/ u0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi ' P  J5 S: _1 L' j; E2 d1 l( l
0132DA39  .  BB 01000000  mov    ebx, 1 ! I. Q0 X* [/ g6 q& L1 r
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx 8 w- P# S% I) {4 M
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi 4 m1 d1 F& O' a+ r
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
8 Z% R6 u4 Y. _4 w- y+ i! Q; `7 ~$ f0132DA4A  .  0F8E 20010000 jle    0132DB70 : }- N: A8 \  D  a
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] ) l( L! ?3 D7 U5 q" ~( W- p
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
' Z$ R* R  V+ C" P/ _9 ~- f3 T0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi , i" P3 F7 H6 U
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
7 U1 [. O3 d5 U- c& r+ s1 z0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] 2 u/ W- W, Q% n4 [
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
/ O" N) z6 A6 P. p5 P! p  N( c- P3 L0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
8 `  F0 u9 O; ]9 L0132DA72  .  EB 04        jmp    short 0132DA78 , y  F+ v! q, r" ?+ @3 ?
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]   d. G6 P2 o, N8 g8 d0 A- M& q& n
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] - J& m# f2 P; C: H
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]   Z$ {/ n) `0 C# H
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] - R9 m  V+ ?& y8 Z
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
$ v- d, |3 Q! l$ d0132DA86  .  0FB700        movzx  eax, word ptr [eax] 9 P1 ^. G4 A1 M4 e: |" @4 d9 n( h" ^
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] : |8 ?# B3 z- v/ {6 ]
0132DA8C  .  51            push    ecx                              ; /pABC ( U8 e. ^$ @9 |) i
0132DA8D  .  50            push    eax                              ; |LastChar   r, d) n7 q5 y) }0 |
0132DA8E  .  50            push    eax                              ; |FirstChar & T, J' u/ j$ M( Q% b! M2 ^
0132DA8F  .  55            push    ebp                              ; |hDC
& q$ ~) J/ b  V8 s0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
, ~/ S9 |- s6 \0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
: H" u% f; L( s8 X: u& j  P) l9 `# p0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 0 S! O0 _! d5 }- Q4 ]/ W0 M$ o! l7 A
0132DA9E  .  73 10        jnb    short 0132DAB0 3 C. G, Z( H# H' K( w: C
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 3 J+ q( ?& k9 ], Q4 E1 {
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 9 v* h2 W0 y6 Q2 \: u. Z; ^
0132DAAE  .  EB 0C        jmp    short 0132DABC 8 ^6 `" z+ K; P3 V' z1 L
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
7 u% d% W. P# ]& h1 O0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
( l' i. b3 b" P/ y% ^( [0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
4 w2 Q9 [+ \% F$ P, L1 a0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] ) h; Z# n( m6 v
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] + V( W) [. R7 [8 U( \2 N; \. I0 u
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] 3 o& K0 M; V' U) v. j
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] ( }) E" A0 z7 m; ]% h* w+ O
0132DACE  .  72 14        jb      short 0132DAE4 $ ]$ Y8 e- o+ z0 v4 E( L9 l
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
4 l; M! T0 l1 ?6 ~% k. L+ U0132DAD3  .  BB 01000000  mov    ebx, 1
& f# v  ?: k  o( m  I% u8 L% K& Q0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
, K3 }1 f/ q5 j7 h- J) w4 a7 J0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
2 R/ J6 U! l" q  p% I9 J0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
3 Q* }2 \4 r) D) g4 @, Z6 O0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] % B- y4 d! X1 I8 C6 N1 {
0132DAE8  .  03CB          add    ecx, ebx
' ^# G( ~; Y% c( F( l: c0132DAEA  .  85C9          test    ecx, ecx , G; J+ L! ~+ A% k7 o" p2 r
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
  q0 ]7 L/ T& w! a. [' ^! A% ]0132DAF0  .  D9C0          fld    st 0 U" d+ g7 U% ?' x, R6 u, L2 r
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
; D$ O& O* H4 }% p; J: l) e+ s; a0132DAF6  .  DEFA          fdivp  st(2), st
* P/ V5 G6 m; q7 X/ ^) v3 q0132DAF8  .  D9C9          fxch    st(1)
5 _5 K/ i; b: {0132DAFA  .  D91E          fstp    dword ptr [esi]
, G+ \5 y7 n, ~( S) h0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 7 E5 j! Z! Y* G8 _
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
+ z7 S! t) r& [" B- Z5 {0132DB04  .  D9C0          fld    st
. n" U% Q; h% U+ p, M% D0132DB06  .  DEFA          fdivp  st(2), st # n6 R& V9 E" h* O% a. c5 L! \4 G
0132DB08  .  D9C9          fxch    st(1)
0 f6 m6 M; y9 p3 x  g/ ~3 i0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] / t3 G9 q0 t$ S9 G& B  `
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
( u( ~9 r* \+ b3 v6 s0132DB11  .  7D 06        jge    short 0132DB19
8 L5 `. k2 A% N" U& @( m" s& i0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
& _& t+ j8 j, _$ o9 i% @: P0132DB19  >  DEF2          fdivrp  st(2), st 5 I% G! z& o3 O
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] 9 A2 r; N, t, B3 S- k; s1 u
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
6 W# _0 o% P& ?7 R& w0132DB21  .  52            push    edx                              ; |String 8 G5 [; p2 R. p# M
0132DB22  .  50            push    eax                              ; |YStart ! J* G. {/ k' Q8 F
0132DB23  .  D9C9          fxch    st(1)                            ; | * E1 z7 y3 X4 L' Z
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
  U' Z3 F0 x) Z" [- H0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 0 H) S7 q- P, d* z0 a! W) n
0132DB2B  .  03C8          add    ecx, eax                        ; |
1 u/ q. L, x( d6 Y6 C, B0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 2 l# ]) ]% ~  ]" M! H# F/ Z
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | ( E- [8 {6 K2 B4 J1 }
0132DB35  .  8BC3          mov    eax, ebx                        ; | - F" p2 N1 e1 C- ]
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
0 ?) H, C1 q2 \! g9 V0132DB3A  .  50            push    eax                              ; |XStart
2 T) N. W( T" }0 y0 |0132DB3B  .  55            push    ebp                              ; |hDC 4 F0 k. I4 }. g3 x
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
% v3 g- h. F' X7 O: m0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
6 A" g# m$ i/ b/ z0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] * V; W! L8 N1 J; K+ A- g
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
: M- w5 E% n$ ^0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
6 f/ n6 K$ e4 M9 W) T+ B. w0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 9 X$ ]- V: Z+ D4 Q  F5 N
0132DB56  .  83C0 01      add    eax, 1
! ?/ E/ E& w2 |0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] 3 x7 t# \! c6 U4 G7 p
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 5 K8 Z9 R( t1 j$ H3 C
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
# @1 b3 l, e$ u6 G" i0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
8 g, ?, f6 Q/ \0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 ( F( U$ b8 d3 P  P4 ?
0132DB6E  .  33F6          xor    esi, esi
3 Y8 ^! Z# @! @+ D7 F0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
) a$ [3 P6 M. t+ h8 g0132DB73  .  6A FF        push    -1
+ L: W3 _5 }9 l8 i# w% d0132DB75  .  83C1 38      add    ecx, 38 / l& t+ d- z4 C$ B8 N
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 2 x; P- {( U, c
0132DB7D  .  8BD8          mov    ebx, eax
, @  H* z+ Y" s: X$ C3 }0132DB7F  .  3BDE          cmp    ebx, esi
& r* v$ f6 o2 H  [8 u0132DB81  .  74 74        je      short 0132DBF7 : q$ [) V. m: p0 y
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
8 j$ K5 o2 `- j+ g# H0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] % n) f; |% F& x& k8 P% ]! j! k
0132DB8B  .  52            push    edx                              ; /Buffer
" e+ T& M. l' l" X1 {" I0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) ( T$ k# i9 h$ K% W# f3 E3 q
0132DB8E  .  50            push    eax                              ; |hObject
, q7 g& X0 \% a8 h3 y5 |3 c& |/ Y0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA 6 W. L. s" b; a5 y, U2 T
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 9 r- j6 G/ Z- Y) k6 v
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] + W# j4 [% T  _& [9 v; g6 m
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
+ g9 g  a8 g/ I/ S# D0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] & K* l3 {# }1 f( Q  J5 c. t
0132DBA5  .  85C9          test    ecx, ecx , D% g/ M/ b1 d$ `
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 9 c" _/ l$ [. [6 F6 Y
0132DBAF  .  7E 46        jle    short 0132DBF7 2 J6 E# V* M  v) p
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] - U: @2 n8 L. @
0132DBB5  >  33C0          xor    eax, eax
4 G! E4 [. d4 W) n9 o4 D9 A0132DBB7  .  85D2          test    edx, edx 1 B+ q9 |( k& {% V8 o3 ~& A
0132DBB9  .  7E 26        jle    short 0132DBE1   V; a. J  K9 S& m; G; P0 I
0132DBBB  .  8BCE          mov    ecx, esi
7 H% x/ c* ]) o0 D0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
4 W" c. K* U0 P8 |) b. R0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 4 J* k4 e8 X: G7 W. l! O3 [4 R
0132DBC3  .  C1E2 18      shl    edx, 18
, m7 Q# I4 W; x. O, L- A0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF   B6 Y. f5 j4 J! V
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx + l, @% u6 k/ Y5 S5 g8 e
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 0 n1 G: _2 F3 `3 ~" z! A, I4 J1 s! O
0132DBD3  .  83C0 01      add    eax, 1
! [. k! i. J0 h0132DBD6  .  83C1 03      add    ecx, 3
0 P6 _5 o+ i3 W0 ~6 }$ K' l0132DBD9  .  3BC2          cmp    eax, edx
6 c  U. B& m$ {5 i0132DBDB  .^ 7C E3        jl      short 0132DBC0
# ?* K7 a3 ~& K1 t' I0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] . n! p7 h( k' ^7 l- ?# z; Y
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] ( ^; C% s7 ~5 r* }  j" `
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
1 e: @. H0 s; N" F0132DBE9  .  83C0 01      add    eax, 1
* U- i6 A1 Q; k0132DBEC  .  3BC1          cmp    eax, ecx
% o) J, w% S( z# `' L/ \6 V0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
: U- M* c6 ?; V  C6 P0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
- h' }: d3 M- m, |! w0132DBF5  .^ 7C BE        jl      short 0132DBB5
! u0 y5 \" k8 Z, O6 \1 s2 f0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
$ O% E. @. b# q2 y0132DBFA  .  6A FF        push    -1 ; [. D: n# G& \6 N1 _
0132DBFC  .  83C1 38      add    ecx, 38 8 `5 C& ]0 Y+ V1 R/ O- e+ d% Q
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> 1 F' C% S$ q9 n
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
# p* Z' Q: ?. ]6 l. M0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
$ Z9 Y2 ?* ~/ [) J  E0132DC0E  .  50            push    eax                              ; /hObject 2 H( |2 s3 S0 F6 D4 O, }
0132DC0F  .  55            push    ebp                              ; |hDC
& x% e! G* s' N0132DC10  .  FFD6          call    esi                              ; \SelectObject
" p3 @- z% O. {" I$ T$ A0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] ( g" J, R" S/ n( k; U
0132DC16  .  51            push    ecx 8 R. a2 I' u# J+ U: X5 b
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont 7 U  u& i1 }+ \; t, D, E
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 5 y  X. E3 a6 d; b4 z: ?% W+ v' A
0132DC21  .  83C4 04      add    esp, 4
1 V) j9 \" g# k. ^7 d% F0 o0132DC24  .  52            push    edx + W' i% H5 ?/ p8 T) q) L( _" ]
0132DC25  .  55            push    ebp
5 {2 |( }$ V/ G$ W0132DC26  .  FFD6          call    esi - C2 U) E' H6 f
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] 4 T: {) G1 ~7 d1 N6 D
0132DC2C  .  50            push    eax
, M& R4 d& B) y  h  v" l; F) ~! K0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont ( C& c+ L: Y7 }4 n9 T% n1 a
0132DC33  .  83C4 04      add    esp, 4 ) w, w' ~: g$ V% ^4 a5 G
0132DC36  .  55            push    ebp                              ; /hDC ; w8 X. u" R5 u% Y
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
+ l5 S( b5 _; q4 \0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
4 E$ Z( M& |# ?; k* H* j0132DC41  .  6A 00        push    0
: m% l: F! D2 x2 p9 a3 ~. `0132DC43  .  51            push    ecx 7 C$ U4 x$ Q! c
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] + |' g; U* G5 Q! Q) [5 H- a
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> $ Y- K) \( b7 P( s. O1 Q2 X
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
: o5 U2 Z! i+ I$ D- J0132DC4F  .  6A 01        push    1 2 C2 y* W: [3 Q% ^# M& A& e
0132DC51  .  83C1 38      add    ecx, 38 8 D+ Z" V8 H6 M' i" U4 X
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> 0 y; M! f# P4 J, E' f8 k+ u4 N
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] 6 W: i' @8 Y: V7 X6 Z
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
' @; h5 z) a5 x* B0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
& g7 {3 ~- o7 C+ Y- z8 v0132DC61  .  6A 00        push    0
) m; F) A6 D% D4 }0132DC63  .  FFD0          call    eax 3 Z8 {: i* q4 u8 Z8 H
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
& i: C2 O( `$ p0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
6 n) g* A9 t+ x( K' t0 C* ]0132DC6C  .  33C0          xor    eax, eax
8 h1 u5 k- h' R! Q' v0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
: Z& Q, v/ a+ O/ |) h+ m& ~. B9 W0132DC75  .  5D            pop    ebp 2 N) c6 w# M& W0 M2 l
0132DC76  .  0F9CC0        setl    al 6 @0 \- E9 D/ j; _3 n/ ~
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] ; A) U; ?9 s: Y* X7 G1 T! T- i
0132DC80  .  5F            pop    edi " `( m; q& {+ p; V
0132DC81  .  5E            pop    esi
% e! @+ J1 h7 X8 Q/ L+ ?0132DC82  .  5B            pop    ebx
2 u# `5 w, U4 d4 L+ N+ r7 y0132DC83  .  33CC          xor    ecx, esp
* v; ~3 H! w% x  a: n( T0132DC85  .  E8 E2460500  call    0138236C
( N; ^0 A* |, O( [9 H+ g0132DC8A  .  81C4 98040000 add    esp, 498 + H4 ~. j* H( A5 J$ w7 S% S
0132DC90  .  C2 2800      retn    28
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-1-10 16:37 | 只看该作者
回楼上,这个调试软件叫ollydbg,即OD,我用的是其修改版olly ice." b2 D! ]' _3 s; y0 D
分析说明也许以后会补上。
+ \: X: U. q0 c* P) \3 ^" d
% R( d7 u4 \, P) R6 N8 g/ S3 t加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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