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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 ' ?( m/ V  }: d* p# E  C9 C
, s) H' [3 ~5 V& C0 l1 t
0132D7E0  $  81EC 98040000 sub    esp, 498 & b% |& `( X) H( U" O5 W# y
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] + D. {. d; b* `1 N' G! F
0132D7EB  .  33C4          xor    eax, esp 9 O0 {1 P6 G7 E# u
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
7 y2 r8 z0 ~  ]( [+ h0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] " Y4 f  u) W, [! j
0132D7FB  .  53            push    ebx & V0 n9 f" U2 c' t  x3 u
0132D7FC  .  56            push    esi
, q! ]% b) ~- S' a8 q0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
% G7 ]! u4 L* ]- p! U9 z0132D804  .  57            push    edi 7 e) j6 y% n  Y/ Q
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
* j- c  a. z6 k( v) K. D0132D807  .  8BF9          mov    edi, ecx                        ; | ( T: n0 ^) F# g/ g' v0 c) ]3 Y# F
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | 2 S' U1 d3 X& b$ w/ w
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | , u3 m9 Z9 f# m+ ]6 _$ l9 t
0132D814  .  6A 00        push    0                                ; |c = 00
% J# Z/ X1 g3 |! \9 ~; x* L0 n0132D816  .  52            push    edx                              ; |s & E  |9 ?; {# M4 ]1 z; H7 ?. N. ]
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
0 T* D+ p% g! t4 V7 y0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | / g0 ^1 i0 ~" _: b
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
( k& |. m& K  s0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
$ P7 n/ s" ]) c& j0 r" H& ]7 q0132D82C  .  83C4 0C      add    esp, 0C # @( y) Z4 `/ E. H
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
( [" {) a% C! ?4 }" I- ~0132D837  .  74 12        je      short 0132D84B
1 A7 M1 M7 O" ]% \( F0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
  Q% a! G6 r5 B# }, \0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 0 y3 e5 p5 N3 V+ I. w" \
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
5 N& c- q, L! `- {0132D849  .  EB 32        jmp    short 0132D87D
0 r: D5 J7 H* W) X0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
' `1 C6 Q! q7 x8 E. \5 S+ S' l& _0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 5 f6 X. \3 ]0 \3 S
0132D855  .  33C0          xor    eax, eax . B1 O' M/ Z# c% l0 ]. ^% a8 q
0132D857  .  EB 07        jmp    short 0132D860
# ^9 j1 C( J+ Q* t( |0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] 5 P# M) g5 _% P9 l
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] + i* I, Q; k0 R& D! K7 C, v, |7 V
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx ) h1 j$ h% L$ P5 M! A" I
0132D86B  .  83C0 01      add    eax, 1 ) H, N4 F' N$ j# q0 P+ Z+ p
0132D86E  .  3BC1          cmp    eax, ecx
" `8 K7 O4 e  k6 y; M' b0132D870  .^ 7C EE        jl      short 0132D860 8 T) v7 `/ n2 c+ v+ Y& s" N
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 9 ]: q  `6 j% [$ n! `2 X. i1 V
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax % _, K; c/ B: ]
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
2 i$ j! J0 z. B8 s8 ]  _' A9 v0132D880  .  85C0          test    eax, eax 2 F# p- f- v' ]& y5 d. Q
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] 0 U3 I( u! [8 _3 ?8 k# g: _
0132D885  .  75 05        jnz    short 0132D88C   h2 Y3 d6 S$ z) Z* O! Z3 U
0132D887  .  B8 16263901  mov    eax, 01392616
- b% G) R8 n% Z4 y0132D88C  >  6A 00        push    0
; j! x' \9 A- j, w* ?! m% y0132D88E  .  6A 00        push    0 / F+ _3 @' G. m7 @, M5 m  f" r7 V+ O
0132D890  .  50            push    eax 8 d! D0 ]. y$ n5 {0 M9 c
0132D891  .  6A 1F        push    1F
; E9 t8 }5 w0 \/ P6 ?, ?0132D893  .  8BCE          mov    ecx, esi
; c; b4 T  r: e0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> ; P- F& K. U# a
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
# S, |% c% z4 R' d: F0132D8A1  .  6A 00        push    0
* Q- m' R% n0 g9 c0 X0 u2 f0132D8A3  .  6A 20        push    20   w# W" ?- U! R
0132D8A5  .  51            push    ecx 4 A2 l  }6 b' K  v" E% o+ e, g
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
2 e2 ~, E! G, s+ |% |3 l/ Y0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
6 c- ?% e; o) K' p0132D8B0  .  8B10          mov    edx, dword ptr [eax] # T, U3 E: j- @) S" G
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] 6 x& m- s$ ~; L' Z8 h! d
0132D8B5  .  51            push    ecx
1 |. G8 l- g, G/ N' Z0132D8B6  .  8BC8          mov    ecx, eax : S. D! L* n8 N( K
0132D8B8  .  FFD2          call    edx ; j# w/ G' {8 x* }
0132D8BA  .  85C0          test    eax, eax * n* i( ^0 l/ i4 u2 Q
0132D8BC  .  75 07        jnz    short 0132D8C5
7 ^2 x! f# C- a9 }' G: k& U. x0132D8BE  .  32C0          xor    al, al
6 Z( _- n% k; {& K0132D8C0  .  E9 B4030000  jmp    0132DC79 * A0 h# x! u7 n0 [2 J5 H
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
+ V0 a  `4 N. p, `: Q( [. f1 S0132D8C8  .  8B01          mov    eax, dword ptr [ecx] " Q/ p8 O" L9 h7 L5 l3 F
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
4 B4 p  {. O/ g0132D8D0  .  55            push    ebp 0 v2 B$ y% X' O. _/ [
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
7 b* C2 |/ N# \- o; c% x0132D8D5  .  52            push    edx
1 y! K* k* O+ q/ D' ~3 r0132D8D6  .  FFD0          call    eax
  x3 X/ h7 B$ J/ [; l+ j0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
8 R. y5 c) _. G7 C4 q  L$ m0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 7 w7 r: q% _. s# ?
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] $ A# x$ |' N9 w: x& W9 R
0132D8E4  .  51            push    ecx 7 g; G. G" J. A" u
0132D8E5  .  8BE8          mov    ebp, eax
6 J# t4 h% N+ [( [7 B0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
8 _: j* c8 g7 A5 y2 m0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
% L4 r- A5 C2 e& Z  Q5 W9 H0132D8F3  .  83C4 04      add    esp, 4
' s4 L9 ]  s+ j1 L/ G; S, p% B0132D8F6  .  50            push    eax                              ; /hObject * u# Z) F, {% c; _
0132D8F7  .  55            push    ebp                              ; |hDC
/ N7 Y2 {+ ], K  `  Y6 V4 i0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | 1 f0 v! _/ e3 m, U$ \7 I
0132D8FC  .  FFD6          call    esi                              ; \SelectObject ' Y" F" q. m9 c1 L8 U: j: e$ D
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] & \  D5 R0 X6 C: m7 ]/ s
0132D902  .  52            push    edx ( W6 C8 ?( Z" B8 y- ?" `
0132D903  .  8BCB          mov    ecx, ebx
4 s& E3 X) v" E0132D905  .  894424 40    mov    dword ptr [esp+40], eax
" `: i+ A2 t( b' O% z3 E9 ^: t0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= 0 R, @1 F6 F5 ~7 r, v: k! h
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] 6 d( l. K; G1 `* |7 l# l- F3 D/ C
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
" n; O3 r2 v: Z- p2 [' e0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY 1 `9 y7 A& t2 ~" ^2 c: D
0132D91A  .  55            push    ebp                              ; ||hDC
" J+ U- q; z4 y( d- v. C( y9 M; c/ e0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
* d( K) s, `; Q$ @# _5 s8 [& }0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
( w$ k( O& _$ k3 S2 m0132D924  .  50            push    eax                              ; |Multiplier
/ K! E% v3 X' W5 S6 F' H2 M0132D925  .  53            push    ebx                              ; |Multiplicand 4 m% u% [; r9 g
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
/ [& |, y, I8 V  q! [! v0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
, m' [+ c1 Y  G' M0 v4 ?: U+ G0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
$ j- m5 ~# C+ ]- a5 O, K' s0132D937  .  51            push    ecx                              ; /FaceName 7 Q! p9 N3 N. _6 ]- v
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
* G- P8 {5 o& _" E3 }0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
  }, [5 v: j) D% [6 h* B0132D941  .  52            push    edx                              ; |Quality
+ ?" E/ ~: |2 ^( |/ |0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
; ~0 \/ ~+ m* N4 ?4 j* {7 h0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 9 {" Y+ ]( N- o7 ?+ d
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
4 H/ W; s' S( o, _$ V8 r0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE 0 u8 A' f. Z0 M
0132D94A  .  8BD1          mov    edx, ecx                        ; | - Y& j; o# W* |  z% e; z
0132D94C  .  D1EA          shr    edx, 1                          ; |
! w6 U5 K+ p3 Z( g  Y0132D94E  .  83E2 01      and    edx, 1                          ; |
# s1 s! q& L: ?. W1 s: }2 r+ F0132D951  .  52            push    edx                              ; |Underline
2 _( u& M/ l% @# f6 C0132D952  .  83E1 01      and    ecx, 1                          ; | % d! w( c1 @, p; J2 L2 _# K' W
0132D955  .  51            push    ecx                              ; |Italic
3 m  c) i# h$ A+ s$ J3 W- H0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
! Z/ E5 h; P7 P  a0132D95D  .  51            push    ecx                              ; |Weight
; W/ k  C: ]3 {9 N, v8 |! b0132D95E  .  6A 00        push    0                                ; |Orientation = 0
+ P, ~$ b3 t( A4 i7 s7 U+ l0132D960  .  6A 00        push    0                                ; |Escapement = 0
" o" S5 @% f  a0132D962  .  F7D8          neg    eax                              ; | $ w$ f6 p5 W- i( D! E
0132D964  .  6A 00        push    0                                ; |Width = 0 " S: O& P# u; H" S1 L
0132D966  .  50            push    eax                              ; |Height 2 ^8 G3 s: Q3 n6 D* l& w6 w5 `4 X
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
' ~( @5 u2 a! r! T0132D96D  .  50            push    eax * \2 j+ B7 O. ^, J: V
0132D96E  .  55            push    ebp
, ]' N6 n1 w5 |0 Y. J0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
4 t5 Y+ e+ `  j( j3 ~7 K0132D973  .  FFD6          call    esi
) Q+ b+ |9 L4 x1 ]0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] ) S& F) |: T  o* E& M+ S' _- ?$ J
0132D979  .  52            push    edx                              ; /pSize 3 L( R* c1 K& {1 A, P
0132D97A  .  6A 01        push    1                                ; |TextLen = 1 $ f. f! H' t$ i) O( L1 z# @
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
4 O3 y0 n4 J( T; J$ ]% H- r7 h& K0132D981  .  55            push    ebp                              ; |hDC
) Z4 r, L* M) Z) q0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
/ D3 N  h4 }& J7 `0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 3 L* v$ P: d0 K5 |0 r$ ~
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] & B) O6 F: X; T0 b- S
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
" [( T- g9 w5 Q4 @; [0132D993  .  8947 18      mov    dword ptr [edi+18], eax
) p) e, \  W, H/ p) ]7 X0132D996  .  33C9          xor    ecx, ecx
. p1 f9 {0 Y9 j! w& {% k0 }0132D998  .  8BC6          mov    eax, esi
0 o& S% a& ~1 a, M, b# Q0132D99A  .  BA 20000000  mov    edx, 20
% v+ X8 G* i/ q% P6 D' D( D0132D99F  .  F7E2          mul    edx
: p3 Y0 ?$ I; g6 z2 `0132D9A1  .  0F90C1        seto    cl . `3 h" f8 V: x/ i7 }/ _
0132D9A4  .  F7D9          neg    ecx ( w& Z: A* m7 ]" n
0132D9A6  .  0BC8          or      ecx, eax
, l4 K) ?- Y, ^1 B& `4 u0132D9A8  .  51            push    ecx
- k1 R. u7 @+ z/ h0 }9 e6 Y0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
8 ~8 L( S- E9 K' @! y. x; {9 d, h- F0132D9AE  .  83C4 04      add    esp, 4 * F; G% Y! h; z
0132D9B1  .  85C0          test    eax, eax ! L/ S8 m& }3 x) i. d8 R
0132D9B3  .  74 28        je      short 0132D9DD
" m" ?& Y2 k- P1 F/ c0132D9B5  .  83C6 FF      add    esi, -1
3 ^  k1 R( x* s) D0132D9B8  .  78 25        js      short 0132D9DF
2 m6 H0 P3 c! f" Y: V" T$ K0132D9BA  .  D9EE          fldz
, n0 I) M* J9 n- y0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 5 f6 [: y% x: q5 i- `# ?
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] ) n, N8 \' T. ^3 C8 F4 ]
0132D9C2  .  83C1 20      add    ecx, 20   k& {, E; z( s8 b8 s
0132D9C5  .  83EE 01      sub    esi, 1 * o8 H$ L# U8 }
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] ) j1 l( S* c' Q8 M; Z
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
" G7 C/ m, c6 J' {0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
$ e6 n/ p' [* L3 c; O7 U7 S0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] " V4 K# |5 F; E) J7 R% N" Z5 w
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] 3 @% n% n3 }% d
0132D9D7  .^ 79 E6        jns    short 0132D9BF
2 J% P1 D2 O" w9 w* D6 N0132D9D9  .  DDD8          fstp    st 3 H- F6 i0 H9 ~6 b" j7 W! H
0132D9DB  .  EB 02        jmp    short 0132D9DF $ Y' N6 ~4 m5 l4 c9 C/ ^8 i: z" H
0132D9DD  >  33C0          xor    eax, eax
6 N' {5 B5 j2 Z: a9 g0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
% N( B% z  t$ ?. }2 \0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
, V& R; n1 Z: d/ B0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] ( t4 z9 t' q; K0 e3 G  g/ J. E* s
0132D9F0  .  50            push    eax                              ; /Bottom
1 V$ r0 [7 K6 |) K) |: P+ H1 c0132D9F1  .  51            push    ecx                              ; |Right
. ^5 m  m3 h. Z; ^0132D9F2  .  6A 00        push    0                                ; |Top = 0 % ]' |6 Q7 \6 f* k
0132D9F4  .  6A 00        push    0                                ; |Left = 0 0 d# E& V% W0 a/ i# ~
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | # Q+ l" I4 e) Z* Y) K' ^) d9 C
0132D9FA  .  52            push    edx                              ; |pRect 0 X) b/ \! T1 ]- v5 d* Z( Z
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
+ H+ e) J" M( |1 y6 }0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
5 m0 d5 a9 W& Z' W- F! w0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
* Y+ \; E. |) m7 Z1 Z. r0132DA09  .  50            push    eax                              ; /hBrush
& x. X# H: i2 [4 T5 m1 Z0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
. o1 C. U) H* z3 O/ i2 P  ^0 {0132DA0E  .  50            push    eax                              ; |pRect 8 m2 M0 C9 Y0 |0 u$ Q' Q
0132DA0F  .  55            push    ebp                              ; |hDC : t6 @5 j8 {: f3 I: a& s2 s3 [
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
) J/ u+ u/ b% Y( i  @: }2 C, a2 y' Y0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> $ T. j8 p2 x# T8 _' T! m. I
0132DA18  .  55            push    ebp                              ; |hDC
3 w# |! ~9 t( {2 w) J0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
( G; V. g, o3 |3 g* L+ I% h! S7 L! G0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
  q' W6 }* z- h: X6 S0132DA24  .  55            push    ebp                              ; |hDC 0 b0 ^0 K9 p4 R/ }
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) x& c/ v7 q" f, Q: C
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT ' V% P- f. H# k* i
0132DA2D  .  55            push    ebp                              ; |hDC - K- B4 \: U& c. B
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode - h# N, v, t  M1 ~2 C0 _
0132DA34  .  33F6          xor    esi, esi . f) O# R2 e# d1 g  @+ W
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi : h$ _# F9 L8 w  X& I7 ~1 _
0132DA39  .  BB 01000000  mov    ebx, 1 4 j* A" v  @# y$ w/ W! ~( v
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx & M1 a' J, l1 q& C
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi 1 r$ Z* K# T8 X/ b
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
; f$ ^0 t3 P- ?0132DA4A  .  0F8E 20010000 jle    0132DB70 / K# V% B- a, n( M. }) P" h( j! N. z
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 9 S7 r: T: B* s, U$ g3 f
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
; ^, s- P& S/ X* N: q0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
: \" h& o! o& t% \/ @1 f0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax 2 Q" L% s0 I  ?* `; F
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
" P3 q7 N) w+ w6 O0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] % v  X( d8 x: Q1 z6 @
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] * t4 I( \9 c( i2 x  v3 t5 @: a
0132DA72  .  EB 04        jmp    short 0132DA78 / ^8 h  [! q4 n! O8 Q6 j
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
. U: y9 y. ~9 `9 l' Y* R0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
  w( [  f. D% P0 i0132DA7B  .  66:8B08      mov    cx, word ptr [eax] ) V+ n0 B# F8 {
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] % r8 }) h; a5 [+ w8 `# s3 ^9 n; n- `: k. q
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
4 z7 K  A$ {/ M3 |. p8 f0132DA86  .  0FB700        movzx  eax, word ptr [eax] ; Q& f8 w$ v$ _# H$ {- o
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
6 j$ A3 L6 s9 ^0132DA8C  .  51            push    ecx                              ; /pABC
+ @( b& `. L( A% H3 h# N0132DA8D  .  50            push    eax                              ; |LastChar
7 D- W5 s+ x% F* W  m/ t; Z7 z4 u0132DA8E  .  50            push    eax                              ; |FirstChar 1 I5 t3 E. a% ]* F. o, U) c
0132DA8F  .  55            push    ebp                              ; |hDC 8 v% S, @, ?5 b% C
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
3 Z! z) W' c, `6 U0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
- A: f- ~+ b5 p. @' R0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 ' E# Y5 J7 P' e; |9 P2 A  i& i
0132DA9E  .  73 10        jnb    short 0132DAB0 , R8 z3 U+ W" {6 j& t
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
8 ^8 u5 l: j' m. c0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 " B& W% m: K+ R  H5 b% Z+ Q
0132DAAE  .  EB 0C        jmp    short 0132DABC 7 ^3 f7 ]' L# @# }  s# J* u" |
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
- z7 n( E+ ^: E8 Z3 j  ^: p5 q0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
( z; @$ M' n) b0 z$ A0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
# W/ Q1 |6 y! l0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
+ @) O% L: U, D- B  }& E0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 7 N3 r+ F7 U, R* h3 a9 |9 t0 U7 v
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] " t9 B# E* ]" f, B( B$ \
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] / ]" g$ O# w6 N, I- O+ D
0132DACE  .  72 14        jb      short 0132DAE4
4 J1 r; O  l- T% I) p6 p0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
1 L: B/ {& |8 Z! o4 X, g  E! v0132DAD3  .  BB 01000000  mov    ebx, 1 / r$ k4 M$ ~! ~, a0 R: Y
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] * N3 P. ^; Y% A+ T3 Q8 H
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
# D. L. }2 d( ~7 N+ Q0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
: e( ^. H) X2 O; w7 X0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] / m( D; C( W  ^, Q2 S$ j
0132DAE8  .  03CB          add    ecx, ebx
5 G3 z( d6 x* ^0 K1 m3 M0132DAEA  .  85C9          test    ecx, ecx
+ ^  e- }8 k3 f; J/ o$ V, ]; D* ~' l0132DAEC  .  D94424 38    fld    dword ptr [esp+38] & _) Y7 V% W- n) S
0132DAF0  .  D9C0          fld    st 5 A2 j  w  X5 @$ m* V' T( D/ G
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
+ o3 F6 Q7 |/ H0132DAF6  .  DEFA          fdivp  st(2), st
/ I9 E/ [; E& P. E* J0132DAF8  .  D9C9          fxch    st(1) ) y1 U8 H; n0 j* X8 f
0132DAFA  .  D91E          fstp    dword ptr [esi] - a0 q* p! p8 n, I. k
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 8 F# {( o1 s5 t* ~. |% |
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
: w  ^/ M/ `4 _* ~( S- O. k  n0132DB04  .  D9C0          fld    st
" u7 {* o: s3 v0132DB06  .  DEFA          fdivp  st(2), st
" X1 O$ g$ ^8 t' X0132DB08  .  D9C9          fxch    st(1) ( h! Y/ l6 \* ?; t' M* x- t6 e
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
+ R8 E, i+ C/ P4 L( L& Q0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
' Y- ?% g/ a  k$ f0132DB11  .  7D 06        jge    short 0132DB19
8 G3 K3 _' u, W4 B* u0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
$ n: }6 F6 u, e9 \" o/ S  k7 V0132DB19  >  DEF2          fdivrp  st(2), st ; R& z# |" N! w( J
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] . ^# V( m0 @4 B7 V2 X/ d; J3 R5 }$ O
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 3 \, B' t" n, s! I0 Y1 U$ t: f; G
0132DB21  .  52            push    edx                              ; |String
2 G0 w# B, ?/ Z$ V' L0132DB22  .  50            push    eax                              ; |YStart
+ V( O& X5 |$ q2 d0132DB23  .  D9C9          fxch    st(1)                            ; | 4 m) u4 _7 f; q3 n0 _
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
, b. u  @9 I- y8 s* k$ b0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
- ?0 ~- r' J% T7 l* r& C) `0132DB2B  .  03C8          add    ecx, eax                        ; | $ H! O* w; L! ]8 J" ^6 }. B, o
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
) H* K* x4 M( J; l0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | - i: I1 X. u8 c7 z, h9 f( J: c
0132DB35  .  8BC3          mov    eax, ebx                        ; |
/ k0 y" C) Y( P. X0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | 0 ]7 |% O2 h: @
0132DB3A  .  50            push    eax                              ; |XStart & n- Q# O' [$ c. j6 j/ e
0132DB3B  .  55            push    ebp                              ; |hDC 7 j, b- |0 O( _- S/ t; c) G/ P
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | % N; S# M; ]* }6 J
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
, @( E& H6 _$ b, i( n4 O0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
% a3 K4 V3 E" p, t0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
$ N6 H5 {' c  ^' R4 |4 e+ d) B0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
7 k3 ]* U6 |$ G, U$ k/ ^6 n0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
' w! ]! m  \6 Z6 ^( C" {0132DB56  .  83C0 01      add    eax, 1
: f0 f6 A. d9 v4 @0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
4 ^; q, p* k' h) r0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] ! `  o; Y- P) R) N6 ?1 v
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
9 q1 w* y3 p, E7 E- p" F; ]7 X7 U0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
' X$ q0 p' Y$ y* S; q0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
- ~! C" G. ^& u  l( l  P& x3 b0132DB6E  .  33F6          xor    esi, esi
* y& a1 v9 Z9 U& ~* c0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
. E  I7 d1 K# j# k0132DB73  .  6A FF        push    -1
, Y7 C0 J7 [+ o1 K4 V- ]3 s0132DB75  .  83C1 38      add    ecx, 38
# Y& f/ o! M5 L, E5 E$ R7 l0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 9 Q4 ?( O# g) a- x1 @
0132DB7D  .  8BD8          mov    ebx, eax & f$ w7 C6 T3 e& W: U
0132DB7F  .  3BDE          cmp    ebx, esi ( G( i- H+ w% b% B, [3 f& S5 ]
0132DB81  .  74 74        je      short 0132DBF7
: c! s: w( `- [5 D  F0 z2 Z  B0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
3 Y' z& z8 n6 ?5 D5 H" q$ N0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
9 ?! ]5 _' C& \0 [1 O9 U% u0132DB8B  .  52            push    edx                              ; /Buffer 8 Y: n3 g" a* @/ |  w
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
# n6 M- G- P* |0132DB8E  .  50            push    eax                              ; |hObject
* u' e! @. F& R# t1 r) a0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
- A# k% a1 i: Q) |; o& u0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] ) n# U" o. u! v1 t8 t) Q& p
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] / L3 @( {9 z" O" E, U. c, U
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] / H0 m, _! X7 ]! R: L
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] , J) G3 k3 f0 ^' l$ f
0132DBA5  .  85C9          test    ecx, ecx
! `+ }: [2 s. r7 o0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 . ^$ U* P0 {1 j5 y4 i) j: U
0132DBAF  .  7E 46        jle    short 0132DBF7 : r3 b4 L9 j  P+ K* g
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] - ]7 A; K" W. V1 \
0132DBB5  >  33C0          xor    eax, eax " f7 |8 ?+ K8 `+ r
0132DBB7  .  85D2          test    edx, edx # `8 T4 Z( |' f  R7 D
0132DBB9  .  7E 26        jle    short 0132DBE1 ! @/ \- \( Z2 C! j# i5 r- ~6 f
0132DBBB  .  8BCE          mov    ecx, esi
% x" d( ~6 ~7 u* @0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] $ B6 U; x3 m6 }
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 0 }1 d3 m0 V0 a, W! ?
0132DBC3  .  C1E2 18      shl    edx, 18
' H, M5 {# c8 c5 {% ~8 e0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
% [8 |4 m7 |+ {3 N, z, z2 @0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
, _, F" Z2 j5 K2 j, L0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 8 \2 R+ h3 d' `0 A& y  d
0132DBD3  .  83C0 01      add    eax, 1 " v' A+ ]: `( X; G
0132DBD6  .  83C1 03      add    ecx, 3
$ r- M" S5 L' f0132DBD9  .  3BC2          cmp    eax, edx
; n& m" p% {& l+ P# p0132DBDB  .^ 7C E3        jl      short 0132DBC0 6 k# O) [% Q8 ~% k" ]
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
) P! z/ ]/ @0 H% w& i0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
. ]9 _& a, Y/ n9 O1 A0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
7 j4 b6 {. W8 w* G7 t0132DBE9  .  83C0 01      add    eax, 1 6 E2 d7 x' c/ x  t% a* [
0132DBEC  .  3BC1          cmp    eax, ecx 1 E8 \7 ?$ Q% P1 I2 R9 V2 s& D4 L
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
1 S3 e2 d; X. x; [, Y- t9 e) Y0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
: A( F" b8 @/ R  H, C7 I3 Y0132DBF5  .^ 7C BE        jl      short 0132DBB5 % A) A3 a' F. |" e9 _8 l
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
1 {8 W6 F' ?# A/ C0132DBFA  .  6A FF        push    -1
& m/ d' V; e- X# d+ g. q4 D0132DBFC  .  83C1 38      add    ecx, 38 ; B" i" r- k; g7 u' j
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
# L8 k3 h' B$ Q0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
  \& W& X: q# L* M0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
$ e2 @0 B% S7 q: ]# z0132DC0E  .  50            push    eax                              ; /hObject
' K/ g5 C' x: r1 Q5 t2 b/ d0132DC0F  .  55            push    ebp                              ; |hDC
* s" A; m9 E9 Z4 y9 O1 [  O9 v0132DC10  .  FFD6          call    esi                              ; \SelectObject
1 _' Q* V( M, A0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
4 _) I7 z9 x, S& G3 E0132DC16  .  51            push    ecx
! X* v! g4 r1 B! p- W9 N" J$ R0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont 7 m' c+ `: e4 Q
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
. k4 |) c0 @# w9 [9 R0132DC21  .  83C4 04      add    esp, 4
3 [9 O6 m9 N9 U% ?0132DC24  .  52            push    edx 6 K4 b; g9 V) ]6 T1 \  }3 k; g
0132DC25  .  55            push    ebp
  i8 J1 ?  @: M0 H9 ^9 ]0132DC26  .  FFD6          call    esi
+ ~' o, O! y. G' m0 m9 p0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] 4 |3 F# d9 ?* ]. s- L/ N8 {
0132DC2C  .  50            push    eax 2 \3 U; E$ e; Z" w
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
" E( y9 |' d8 U$ I/ T1 J0132DC33  .  83C4 04      add    esp, 4
' e+ @' d, n7 a: E4 P: o8 W0132DC36  .  55            push    ebp                              ; /hDC . f5 O; y' t) [* S; a$ @
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
6 ?  E' ^8 @0 E0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] 3 H, {4 A& N% h$ }, `* {
0132DC41  .  6A 00        push    0 2 J- S* F7 D+ Z9 `: S# v+ h
0132DC43  .  51            push    ecx 4 }3 b$ o# I& M! ~% S
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
8 d& s- ?2 r( X9 G6 f$ e0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
$ u+ `- N1 \* W: @  w- ]7 T0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] 7 U' C/ b) K2 e  P$ l
0132DC4F  .  6A 01        push    1
2 f0 q2 |* f- K. f% y+ j: U0132DC51  .  83C1 38      add    ecx, 38
* h! h8 ?8 J! v/ a. D0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> # q: g& A- A0 f  A. M8 O& [. {7 m
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
1 N* _7 R7 J' @; z0132DC5C  .  8B11          mov    edx, dword ptr [ecx] & I' D6 P* t3 g) N+ b' [
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
2 |1 q5 t' v" `6 `0132DC61  .  6A 00        push    0 2 E* z- @0 J) {9 `! J5 B
0132DC63  .  FFD0          call    eax
3 S3 L- Y' A* U% z% d1 O( ]4 E0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
' A9 v2 J6 K7 C+ a$ B0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
3 l" Y0 j* `) k# Q  u5 D3 X4 w0132DC6C  .  33C0          xor    eax, eax
" u" q- G+ d6 b( S3 ~% w3 U0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 6 f, o7 u( H5 l  U) H
0132DC75  .  5D            pop    ebp 9 {$ I  s  q5 Z; l0 d) l9 a9 \5 _. H0 D
0132DC76  .  0F9CC0        setl    al & D6 }: [- i+ r8 T- O
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
, m+ X" z0 O+ X* F/ n0132DC80  .  5F            pop    edi 4 _+ @7 y9 x4 o  B
0132DC81  .  5E            pop    esi
9 y/ o( O! S( Q2 ]% Z0132DC82  .  5B            pop    ebx
7 y/ k. f) S( ^( ^0 `: P! N. B5 \0132DC83  .  33CC          xor    ecx, esp " y/ ~* X$ }- A1 z" I2 p5 @( z" {
0132DC85  .  E8 E2460500  call    0138236C
# `- Q+ r8 X" }3 |0132DC8A  .  81C4 98040000 add    esp, 498
+ w6 B3 Y& U' j2 V. H; D0132DC90  .  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 ]" V& w9 {3 `! _
分析说明也许以后会补上。
7 |  p) u) |: t5 a+ c5 \
; c- @; ^* d6 }3 n5 H加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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