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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 ' ?* q# W9 C) e- t9 v7 D

9 X$ {% w, n! X0132D7E0  $  81EC 98040000 sub    esp, 498
0 r5 o% G9 K1 Z; u$ k' j1 i- ?0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
! l8 V" x& m- E; w0132D7EB  .  33C4          xor    eax, esp
' G2 C" R3 O( J1 m  w- @& N3 t. R! `" P0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax 3 a2 B$ k2 [- _$ g7 l5 Z
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] " E0 q6 n5 @& N& @1 ~3 D$ C
0132D7FB  .  53            push    ebx ( A& j* \' e) l+ Q# B" A5 L
0132D7FC  .  56            push    esi
& w, e( p- E) F0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] + U$ `8 W. o: e9 u9 q! k
0132D804  .  57            push    edi
/ F' G8 ], c* l1 k- E7 q0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 1 T8 s1 I$ j8 h2 C8 r
0132D807  .  8BF9          mov    edi, ecx                        ; | % {: k0 j5 l; L( Q$ x
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
9 i& n7 @1 c3 w# N# {0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
9 A1 K9 l/ v; o( F/ g; \+ E& C1 }0132D814  .  6A 00        push    0                                ; |c = 00
( D% X- N0 j6 J, e0132D816  .  52            push    edx                              ; |s ! n- G( C" ?9 C/ u; Z) [1 T, _+ o
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |   T" `0 `' Y" b; G
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
$ {; ]- ^8 |2 z9 R, b0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 7 j3 ?1 ], J0 @" M
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
, s8 r/ d% O5 ?8 A0 T5 L) A0132D82C  .  83C4 0C      add    esp, 0C . g2 \% y8 X7 w& B& `
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 4 f& C" e8 F8 S: e$ M2 F
0132D837  .  74 12        je      short 0132D84B
0 q3 P) N& c3 L: ?# h3 t0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
3 M- o3 |1 G/ _% t6 l' b/ F4 B$ Q0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 8 Y# D/ F: d2 t5 Q
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 9 A0 i# I+ X( Y+ s2 u
0132D849  .  EB 32        jmp    short 0132D87D 7 p; C6 ^; M0 x, O0 t/ i5 u
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
1 g% f" y* J' i/ @/ M  I& M7 T0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 2 j; A  B! J0 X! r8 `; t5 o! c
0132D855  .  33C0          xor    eax, eax
; X6 {5 J' q( y0132D857  .  EB 07        jmp    short 0132D860
  z0 B6 F, H$ U3 Q8 Y! V0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
! _, U0 H3 ~& v; p) J7 x& v0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
+ h& b" |: M- @. m* s' w- \0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
& H& ^% G! _/ O& e" K- @0132D86B  .  83C0 01      add    eax, 1
4 s3 P9 U- O3 J" _" }- f; U) |0132D86E  .  3BC1          cmp    eax, ecx ( @1 J: C5 N1 L4 w. ^8 s
0132D870  .^ 7C EE        jl      short 0132D860
' d4 Z1 F  G! j6 o5 k: [- x0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] ( ]+ s; _# Y) w  x+ i; s: r
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax % b0 z6 x9 Q" ?3 Q& J' {
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
1 a  ~- o1 G+ p# g* H& ^, R3 {0132D880  .  85C0          test    eax, eax 1 I3 o" t, z2 x+ B
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] ' f3 W7 X! C% E
0132D885  .  75 05        jnz    short 0132D88C
0 @, k8 Y' ]9 O5 r! B) P' H0132D887  .  B8 16263901  mov    eax, 01392616
' B' ~" Z- b7 ~$ H0132D88C  >  6A 00        push    0
: b. a8 B( \9 S; s0132D88E  .  6A 00        push    0 + q3 `7 U9 j6 T' Y
0132D890  .  50            push    eax
1 l- ]3 k$ {7 K" R- v0132D891  .  6A 1F        push    1F
8 b1 j# s) q' Q0 f8 j  m; `: E0132D893  .  8BCE          mov    ecx, esi # W: c/ ^, T6 `% @5 K5 t/ N
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
8 ~/ |* r4 n  s; k5 [  g1 a; _0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ! n! E  H1 \; @! e2 p
0132D8A1  .  6A 00        push    0 6 v" v7 D8 @3 Z: W* X
0132D8A3  .  6A 20        push    20
9 w, E' A- M0 |8 n0132D8A5  .  51            push    ecx . C5 T! Y: v$ b" @
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] - K( u: t6 c: d
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax ; f) K) B% @. Z  q8 a
0132D8B0  .  8B10          mov    edx, dword ptr [eax]
( `4 q8 y& a/ a0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] # d# j! v! ~0 S. \: ?% K7 y
0132D8B5  .  51            push    ecx 7 N# Y5 ~4 s- B' R2 j. J
0132D8B6  .  8BC8          mov    ecx, eax 4 ~0 L) o2 p, C5 s4 y8 T$ H% a* B
0132D8B8  .  FFD2          call    edx & l8 ~1 {3 n& U$ C* `- |: W# o
0132D8BA  .  85C0          test    eax, eax   i( O- F+ m1 m! ~4 \
0132D8BC  .  75 07        jnz    short 0132D8C5 0 l. K2 q, A1 L" U- Z* z1 d0 i9 y
0132D8BE  .  32C0          xor    al, al
% X! C! C* n$ J) q9 p9 ?& S0132D8C0  .  E9 B4030000  jmp    0132DC79 ; h5 s# j1 `+ o% y! l4 h6 P
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
% U  D- ?/ A5 {0132D8C8  .  8B01          mov    eax, dword ptr [ecx] 5 s3 A6 C0 N( P; M" n
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
! \' |1 e! g3 x, Z! m. X0132D8D0  .  55            push    ebp % T6 A) [0 c, C7 I
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
+ z2 d  Q0 d! n5 A3 R0132D8D5  .  52            push    edx
5 H  }+ w$ i, O2 f0132D8D6  .  FFD0          call    eax
( l3 _4 s6 E. w0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
, ]8 p/ a, m$ {# f* Q0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 5 l$ B/ X/ V0 r9 I
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 5 k! I  o# m. Q8 S
0132D8E4  .  51            push    ecx
8 _" Q5 F7 }0 N; K# T5 Y0132D8E5  .  8BE8          mov    ebp, eax
$ V! [7 r. l0 ?0 n0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
7 Z& _  ^! {5 x0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject $ s6 m9 d/ I0 e' }
0132D8F3  .  83C4 04      add    esp, 4 ; {! }7 Y6 A1 X" P
0132D8F6  .  50            push    eax                              ; /hObject
2 V% S6 b$ n( J3 i) J( w% Q0132D8F7  .  55            push    ebp                              ; |hDC & \: ^- d+ t8 I' z$ u
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | $ ?) l1 O  B$ h% c
0132D8FC  .  FFD6          call    esi                              ; \SelectObject 8 S+ q; M* Y2 d! Z4 s
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] ) d) K( Q1 d) {" t1 W4 u! s2 p. n8 y
0132D902  .  52            push    edx " f1 u  b9 K' Y/ c. e
0132D903  .  8BCB          mov    ecx, ebx
; C( @* Y/ [# N$ T1 ^0132D905  .  894424 40    mov    dword ptr [esp+40], eax ; }, v. h* h( F/ Q( x6 g
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
+ @3 o8 m' K. i3 e0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] . ]( I$ e% `0 |, K5 G% ~. B& n( r
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
- |* r- G! ]3 B) Y) }0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY 9 {  ~+ K! Z) b
0132D91A  .  55            push    ebp                              ; ||hDC , c: Y- M8 c. p1 f9 T, ]
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
' ^2 _, }5 q; d: f7 E5 c  @0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 3 G: Q, a  g# q# O4 V: p: t8 M( z) P2 h
0132D924  .  50            push    eax                              ; |Multiplier
" ^. z) T, S. v4 |0132D925  .  53            push    ebx                              ; |Multiplicand
- Z. W% W9 [/ j9 m" f+ k0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
5 P7 \- D3 i; o' x0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] - N% X. P# D/ s  X* W1 G9 k
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] ( S8 _9 F4 u& C) ?0 j
0132D937  .  51            push    ecx                              ; /FaceName
% m( G3 T/ s/ f7 O, m0 |8 ]% B& x' ~0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
  l1 b& D" G3 f8 q! W* m+ [0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
9 Y; `6 e7 c% s6 J( N/ ~0132D941  .  52            push    edx                              ; |Quality 3 e+ ]* s8 ^9 D( q5 V/ s! I% ?9 f
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS # n* B  v8 L, L3 C+ e
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS # y( y# D" e8 v  h
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET 6 p' S& k3 m: R9 w$ v. `; G+ q
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
, ?# C, q( i- l( L1 ^3 g0132D94A  .  8BD1          mov    edx, ecx                        ; | $ _8 p# M0 d: n# O) j; O/ R
0132D94C  .  D1EA          shr    edx, 1                          ; |
! p  d% J; H+ `2 H6 H; @0132D94E  .  83E2 01      and    edx, 1                          ; | % P4 q2 F& @0 Y. Z5 q1 \1 D
0132D951  .  52            push    edx                              ; |Underline
! a) }. o/ @- A; x: J& E0 l4 w' d0132D952  .  83E1 01      and    ecx, 1                          ; | 8 x* D+ H) W- X, w
0132D955  .  51            push    ecx                              ; |Italic " r) J- H- [% K& J
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
3 j/ U( Z0 {8 ^+ w+ k% i0132D95D  .  51            push    ecx                              ; |Weight # e  x! D0 K! O( J; p+ g
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
8 {6 s; U: A/ C! H8 A5 i0132D960  .  6A 00        push    0                                ; |Escapement = 0
: ~% l, J/ j- `: B0 ?  D. W0132D962  .  F7D8          neg    eax                              ; |
+ I8 G, w5 ~7 o0 W0132D964  .  6A 00        push    0                                ; |Width = 0
! l* c% i, U& y# N* k0132D966  .  50            push    eax                              ; |Height 4 o: W4 T" Q) k  ~" m# Q& B
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA % d# O8 j% }& s& O8 Q% ^$ r
0132D96D  .  50            push    eax " l' [( v. D5 K* ]9 H
0132D96E  .  55            push    ebp ( ?# {3 x6 K& g8 u
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
0 W% J  R& H. ~& _* u" N5 p: D0132D973  .  FFD6          call    esi
* [) O3 t+ f; j+ R( n) h1 w* S0 p0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] # I' N; R0 U$ H2 F1 d
0132D979  .  52            push    edx                              ; /pSize 7 [4 y4 M9 H6 g7 F  c4 d5 @
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
7 L: F9 o, ~/ F# i$ \4 e0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
/ A0 G+ X5 E2 T' V# P' V  y, G0132D981  .  55            push    ebp                              ; |hDC " r+ W/ T& K' {) d0 t% @
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | + U% q1 t: {" H% i0 e7 H5 }3 N
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA $ N0 V8 O& \# P% i
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] * _( w* ^6 o, g- y$ E4 u" t
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
: W% n# R' v/ R. F' w3 I0132D993  .  8947 18      mov    dword ptr [edi+18], eax
" X- l8 S! C$ C( f) U3 g+ x/ d0132D996  .  33C9          xor    ecx, ecx ( F( ]! L3 j: }: k
0132D998  .  8BC6          mov    eax, esi ) P8 `4 i5 r& {/ z" u( U! w7 f  T- P
0132D99A  .  BA 20000000  mov    edx, 20 $ A) ~4 i/ X  Z1 S6 }) G
0132D99F  .  F7E2          mul    edx
+ R" Y, _* }4 \5 d0 r3 H0132D9A1  .  0F90C1        seto    cl : s6 y$ S/ r# K& F& w( t
0132D9A4  .  F7D9          neg    ecx
$ z, C! S9 M2 s, D2 x0132D9A6  .  0BC8          or      ecx, eax
6 \9 J2 @& D7 E+ d0132D9A8  .  51            push    ecx
: a8 S% i; d& ]0 w6 i  k/ c4 l3 |0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
. J3 M# N$ S8 |; k+ ^0 c0132D9AE  .  83C4 04      add    esp, 4
$ g- F6 I9 Y1 h* s3 y/ z0132D9B1  .  85C0          test    eax, eax
. j6 k# |' L& @. ]6 b  s0132D9B3  .  74 28        je      short 0132D9DD 5 b* d4 L0 e" {+ v' B' l) Y5 R6 ]
0132D9B5  .  83C6 FF      add    esi, -1 7 c* T' B6 L" N0 W7 S2 B
0132D9B8  .  78 25        js      short 0132D9DF 4 n, c' M' m. U9 w
0132D9BA  .  D9EE          fldz 7 q; C/ V. N; J" r  ~+ _6 V' y
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
3 A. x, C( o: I- {0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
/ H+ J9 E) m3 P/ k, s$ E0132D9C2  .  83C1 20      add    ecx, 20
8 Y/ p8 M  E4 S- a; j- }0132D9C5  .  83EE 01      sub    esi, 1 8 O3 G! j: m  o
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
* c$ r( P7 W( I, e0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
5 s, E0 X6 J, d/ f0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 3 E3 Q& t2 @, q. l8 B0 ]0 o$ R
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] 0 T8 I; X  Z+ \
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
+ C& p" w2 {8 t9 B! J) ?0132D9D7  .^ 79 E6        jns    short 0132D9BF
" M# w/ z# @7 W" O! n6 _0132D9D9  .  DDD8          fstp    st ' s0 r: D* Y5 R6 s+ p4 y0 C# W0 i# t
0132D9DB  .  EB 02        jmp    short 0132D9DF 7 v0 ~! u- N' ~3 K* F3 o! t/ L2 B+ I
0132D9DD  >  33C0          xor    eax, eax
5 h  S) e6 F) Z. {9 h+ Y, \% @; `0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
- W/ u3 a8 p9 R/ I. g* N0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax & U1 s% m9 f, f" y- V6 ?$ r
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
5 p0 s& T- @0 y4 K2 |3 m0132D9F0  .  50            push    eax                              ; /Bottom
+ i- j8 Z# `  A5 u- v) R: j& e0132D9F1  .  51            push    ecx                              ; |Right ( E$ A- S7 P+ T6 k
0132D9F2  .  6A 00        push    0                                ; |Top = 0 0 L% Y! O" J. P6 X% ~6 g! b
0132D9F4  .  6A 00        push    0                                ; |Left = 0
' I5 N) N5 o% y; L0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
) c. \: J, s6 ~( U' a0132D9FA  .  52            push    edx                              ; |pRect
0 n1 }* ]! b) g% d+ J8 o0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
, r: z# u5 `; w" B5 j* F( a6 A0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH ) i" O4 k* }8 u
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ' c7 D& d: {& Z% w+ H+ ?: J
0132DA09  .  50            push    eax                              ; /hBrush ' R2 K: ~- _: u3 l
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
1 C/ _3 U; S  O" S# p8 ~  [9 p0132DA0E  .  50            push    eax                              ; |pRect
: D$ D! S% K8 G7 N7 }3 u# R2 H0132DA0F  .  55            push    ebp                              ; |hDC
) I) z6 E/ b4 r1 ?0 D! m. V0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
, K8 @# Z) I0 Z! e0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> # x7 f! t* Z0 p5 V  I
0132DA18  .  55            push    ebp                              ; |hDC 8 H6 A) {3 m# G
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
9 |5 y' x& }0 O4 Q0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> ) s7 A3 y0 g9 ^0 z
0132DA24  .  55            push    ebp                              ; |hDC
/ \8 Z. O. F8 y. A1 |* i3 h7 O0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ' f) [) F# h# P2 Q, }" ^
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 4 V& p( m1 d7 ^- s/ |  J: W# R7 c
0132DA2D  .  55            push    ebp                              ; |hDC
# h' C5 j7 [# U1 D: e" Q, ]0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
, q5 L+ {3 ?$ T# n0132DA34  .  33F6          xor    esi, esi
( b/ T& J% Y& r% X0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi 5 o! e. `1 c9 J7 w0 Z# l9 z/ i
0132DA39  .  BB 01000000  mov    ebx, 1 $ |- j6 z4 b' c+ z% R, f3 a* `7 y
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
5 L: q2 ?, |! m% M7 n* K- S0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
7 Q& P# N5 p5 O0 L0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi # @7 J/ P0 L& T- A8 V
0132DA4A  .  0F8E 20010000 jle    0132DB70 3 T& D0 W, `- ~, s/ @
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] + A5 j5 w% b/ F& c( m' Q# l
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
$ e  m3 i% F9 q; h; d# w( I- z# h0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi 8 U( y+ q7 w" B& [% d3 ^
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
, E& @( z1 Y$ E: i- X' X, X0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] " G# Y  W: l. O0 Y8 j+ F2 U
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
+ b, }) {, [" O& J3 j# G; O0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
+ Q% R, \2 @$ p9 u0132DA72  .  EB 04        jmp    short 0132DA78
  {6 c, Z, a7 P5 X, S9 L+ [0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] ) K: g! t3 j: ^# b8 p9 ]6 D
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] * ~" h2 n: B/ }! q
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
6 @+ M, U0 j, T5 L9 H0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] . y& Y! l  o- j1 r
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
5 }( L2 m/ N, _0 |& X0132DA86  .  0FB700        movzx  eax, word ptr [eax] , U6 o3 J* w% c( T- q& a" ]& y  c
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] 7 K8 d9 l/ v& p" B
0132DA8C  .  51            push    ecx                              ; /pABC
( P) T* C! R- J0132DA8D  .  50            push    eax                              ; |LastChar ' I/ X8 o; T' ^
0132DA8E  .  50            push    eax                              ; |FirstChar
2 E& Q* G5 n( i6 u6 e1 u0132DA8F  .  55            push    ebp                              ; |hDC 5 V0 V3 x# t. O0 ^* Z
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
  p& x( x) B. H- b/ {  H  L0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 3 j. |  q, z7 h9 u: N% J$ I! x
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
! n! k9 u% E& m! u% \  k0132DA9E  .  73 10        jnb    short 0132DAB0 $ r9 m5 B  o8 |5 C: C$ _* h
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
' r& _( Y, ~5 R! O9 V2 P6 V% U5 F0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 % j( t# T2 U- ^9 x/ _
0132DAAE  .  EB 0C        jmp    short 0132DABC : u2 s8 m& ^! r
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
3 e2 a; \8 r. a4 V, B2 a0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 ! Z2 e0 K% a  E) Z) o: t$ N7 \7 O
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 ! B( J# k4 `/ ]0 `0 F8 p
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] 4 g: B9 U9 N+ A4 p# E7 H9 ^% U
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 4 m2 t' L* [& g/ v' `
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] 5 V* u6 P0 s( V) ^# L( z
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] % b. O6 ~8 i1 w
0132DACE  .  72 14        jb      short 0132DAE4
  F/ n( ^/ J; w1 I' a! E! \0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
0 S, w1 v1 n$ I  C7 c/ C8 E( q0132DAD3  .  BB 01000000  mov    ebx, 1
& F0 r# |9 l. G  w( D0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
, ~" R; ^9 Q/ v2 U0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
: j- U4 b7 S8 }1 _3 D7 A2 T: h$ V0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax , q3 \+ \, @; H/ Y' ^8 H7 U) i4 ^/ B( P
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
) ?) @: @, i( b8 D& S& g& ^+ p: z0132DAE8  .  03CB          add    ecx, ebx . P- j9 Z9 L" f7 P
0132DAEA  .  85C9          test    ecx, ecx # ], s. J8 F, X" l* i  I
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
- u0 R6 O3 X3 `5 {" _$ p# ]0132DAF0  .  D9C0          fld    st
5 G) k7 ]) s+ J& p% h' [0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
* V( @3 v; O9 A2 B% ], G$ i2 \: H0132DAF6  .  DEFA          fdivp  st(2), st
9 _0 ~' @9 H" k$ `0132DAF8  .  D9C9          fxch    st(1) 5 \4 ?5 |4 j1 Z& [# @/ D
0132DAFA  .  D91E          fstp    dword ptr [esi] 6 ]# {7 X, p4 x# ?& V
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
/ Y1 W: y5 R; x! g- `4 B0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] 3 v" _1 i& O% }+ y" N4 I3 H  [
0132DB04  .  D9C0          fld    st # W5 Q1 ]; w2 w! {
0132DB06  .  DEFA          fdivp  st(2), st
5 s* @5 N1 u6 ^0 f3 }- m; i; s' s0132DB08  .  D9C9          fxch    st(1) ( l# N! o" }! j" S; E' J) k
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]   M5 v" {- T* d/ B
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
2 ?; @3 E% h4 R  M0132DB11  .  7D 06        jge    short 0132DB19
4 k7 [+ {) k6 I1 R4 l% H0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
; r/ k' Q% V. I, _! ~0 V0132DB19  >  DEF2          fdivrp  st(2), st , u; O+ y8 [2 _9 u  X
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] : I7 G2 N, L& _5 x
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 2 ^9 k* L0 W9 \7 E+ P1 m) J
0132DB21  .  52            push    edx                              ; |String
1 a* S0 Z: X/ u. h7 z0132DB22  .  50            push    eax                              ; |YStart
/ f$ [1 y% k, p, z0 s+ z: I$ A0132DB23  .  D9C9          fxch    st(1)                            ; | $ b) V+ K  a4 E/ ?
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
! |$ n( _+ m$ G" Z, v0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 8 \* U9 m& g8 @3 {! w4 H
0132DB2B  .  03C8          add    ecx, eax                        ; | - B. d' z3 N2 N3 t( w
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
. t: b' y( `- o% J0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | ; d, a+ X4 F* {$ V
0132DB35  .  8BC3          mov    eax, ebx                        ; |
$ \$ ]4 v5 k5 q& d0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
# h" Z  h' E! U( D; C0132DB3A  .  50            push    eax                              ; |XStart & z2 y. S# f) B# d
0132DB3B  .  55            push    ebp                              ; |hDC . l6 r* W. A) \& W# S
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | 8 n& {. x1 j0 N) y' }" o: V+ [& w
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW ' V. V4 p; b& u9 \, N: r6 g
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] 0 v+ U6 c- R: J
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
8 j8 }# F( @4 f. V2 n; \0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
% {, l- q' c6 [0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 % i0 X1 E8 }' [5 c" L
0132DB56  .  83C0 01      add    eax, 1 4 z: [- U( y& C. w
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
! F1 y3 O  s8 N$ w+ L0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
  @  b. K/ v9 s! p0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx ! N# k/ E( |- U6 Y% D4 r
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax . I$ q/ G, X3 r' t. a) ]
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
# q: I+ e  C9 E/ t% W1 y0132DB6E  .  33F6          xor    esi, esi
- M3 W5 b# x+ `/ S5 M0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
* T  `" ]  ?- p4 s0132DB73  .  6A FF        push    -1 4 z" x2 x4 n) {( J- D4 t4 u
0132DB75  .  83C1 38      add    ecx, 38
/ p/ t; H# q+ u  N3 d4 V0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> + v" p* \' C, J# {* A) E- p
0132DB7D  .  8BD8          mov    ebx, eax 9 I+ @' A( z; V* B
0132DB7F  .  3BDE          cmp    ebx, esi
9 o+ x1 s+ Q4 B( |0132DB81  .  74 74        je      short 0132DBF7 * u  |4 K- m* T# M& w
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] * K. Q! Q2 q1 ~. m1 W
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
0 q5 E4 K) a+ N8 E3 {# S" g/ V5 W3 n0132DB8B  .  52            push    edx                              ; /Buffer 3 r2 ~( n) `1 Y9 C0 G
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 6 Q* }' g( p+ r; b$ W5 [2 z; E+ {5 J
0132DB8E  .  50            push    eax                              ; |hObject
2 r7 E/ S) s* Q* z# L( p* L+ C  X8 \0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
# L* H! K$ `7 \8 C9 b0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 3 u! a  i9 i4 t, i* f
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
/ \( N  C2 r5 U) ~5 n; l0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
* O1 T/ x# s, [6 {9 x; d2 w, a. a0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
  U+ E  i" u: n+ L0132DBA5  .  85C9          test    ecx, ecx 5 F, {5 ~: E6 O9 {
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
, L7 |2 t6 Z( R: }! `2 F0132DBAF  .  7E 46        jle    short 0132DBF7 1 p9 P) w$ z7 R# @& F$ }! Y3 y
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
2 j' C6 k2 S" g4 U0132DBB5  >  33C0          xor    eax, eax
0 O: Z8 V6 Y# O2 a0132DBB7  .  85D2          test    edx, edx
3 W5 _3 }. r' V2 X. h0132DBB9  .  7E 26        jle    short 0132DBE1
5 h& k7 B& B  F3 F9 h1 h2 V; B4 f0132DBBB  .  8BCE          mov    ecx, esi
# K" ?$ }0 w& A  W+ N- s' m0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
# ~2 w  f, D4 o- o  Z9 p0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 4 T* n+ y9 v& X# x
0132DBC3  .  C1E2 18      shl    edx, 18 : \: `  z6 J0 V* n  i, K/ m) m! c/ K
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
* V) y9 ~) G% j0 `( ~) u) K0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx ( o/ x9 k  d0 q* d4 I/ Y* r5 o
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
$ N; Z4 q8 `% t$ R; B$ H* @& Z1 _9 Z0132DBD3  .  83C0 01      add    eax, 1
$ A' y3 J* t8 N6 @: ]0132DBD6  .  83C1 03      add    ecx, 3 + x/ p. ]( p; f
0132DBD9  .  3BC2          cmp    eax, edx % e6 S0 C4 i, X2 a! w$ w* _& I: L# `
0132DBDB  .^ 7C E3        jl      short 0132DBC0
, d/ z/ j. |' ]* [( p0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] : ]  f; F5 B  \0 D' p: p5 X
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] : H6 D+ x. v# m/ D9 I1 s2 K
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] 6 N, Z, O( o: b9 F" K
0132DBE9  .  83C0 01      add    eax, 1 3 n. z% C/ S2 B' F. i
0132DBEC  .  3BC1          cmp    eax, ecx % e' w2 A9 s$ K5 T7 c% M
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] 5 E5 m7 m% K4 `% {
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax & P( ^+ S5 D7 [5 y7 P) R
0132DBF5  .^ 7C BE        jl      short 0132DBB5
" Z7 e+ r' A+ P/ w6 U7 s3 f4 ^- \0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] # f5 t& M0 u+ j/ I' f+ r
0132DBFA  .  6A FF        push    -1
6 M( }2 |6 _+ f. B+ S* _0132DBFC  .  83C1 38      add    ecx, 38
1 x" z% X& ~. Y$ C0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
4 G1 d$ e- B2 G- l, |0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] ! ^! g6 G! _; C( t: ^1 W
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject ) @- ?; d" ~; S, F0 X
0132DC0E  .  50            push    eax                              ; /hObject
( U# R! d; f$ b, K) Y, k" T+ P! ^/ Y0132DC0F  .  55            push    ebp                              ; |hDC
3 y+ [  r& E! j: |0132DC10  .  FFD6          call    esi                              ; \SelectObject
6 b6 @( `6 ~4 u/ r' F0 [0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
8 L$ \9 ~: R6 W! x0132DC16  .  51            push    ecx $ N' Z% o( P- X2 v& U* m
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
) g* o$ h1 H' G$ C5 F0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
* ?$ {- W0 Q# C  C) |$ q! K0132DC21  .  83C4 04      add    esp, 4
, N3 S0 y* U* k, |. x1 \* h5 w0132DC24  .  52            push    edx
; Q; R& b& }* Q" b3 w( B0132DC25  .  55            push    ebp
1 t, i0 U  \0 K  R" d# R0132DC26  .  FFD6          call    esi 5 y- F- c8 [/ H. o
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
7 E, [0 X' z* m; \0132DC2C  .  50            push    eax
% ]) Z/ ~: c4 g6 V; I- X3 U" L7 ]0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
5 r% O3 ?; @- }: B0 ]/ |8 b0132DC33  .  83C4 04      add    esp, 4 3 ~# I6 B8 y, v  B
0132DC36  .  55            push    ebp                              ; /hDC ; ]/ b9 x; v+ |" ?% n8 l9 E
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
% X" X2 W% D" ]7 w& i. {0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
4 U" I3 a* H! G5 t0132DC41  .  6A 00        push    0
" J" q$ H5 \0 e7 r0132DC43  .  51            push    ecx
+ f. f# C; A1 \+ K) `# H0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] ' W7 W$ @& P1 i  q5 \
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 2 Y) s* P6 w  w5 ^$ X( L: e5 T% z/ n- \
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] " _6 f/ e; a- G7 T. a2 P! I
0132DC4F  .  6A 01        push    1
" x, ~! q, \5 T, y0 \0132DC51  .  83C1 38      add    ecx, 38
: C! d2 Y  Z$ z0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
; w& e' Q; ?% i( W6 V% L. e0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] " g9 H5 I: r  K
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
6 d. R' g) @/ V) |3 V1 j0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] 0 b* N( W( M4 ]8 l9 x3 i
0132DC61  .  6A 00        push    0 1 k2 j. b1 S5 ]7 v" K* l0 X
0132DC63  .  FFD0          call    eax * ?" b2 R( F  C) u' r! u( l
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 5 l' a( z" S+ \) W- }
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] 4 }" |5 ?6 Z; t! D4 t: |+ _( t. o
0132DC6C  .  33C0          xor    eax, eax , A3 v' I# x0 H0 j1 v
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
' E. E, T8 X( D" q0132DC75  .  5D            pop    ebp / ]' ]7 m2 ?" c3 y8 I6 c& d
0132DC76  .  0F9CC0        setl    al   Y/ D- w5 W) ?! d6 B
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] " Q/ J2 |; @" \' d
0132DC80  .  5F            pop    edi
2 F2 C$ O$ d1 ^/ ~8 `. z9 P0132DC81  .  5E            pop    esi
/ N% N! A; K- A9 T* p+ c5 Y6 [; s# i' }0132DC82  .  5B            pop    ebx % K# g# [) z8 g6 H
0132DC83  .  33CC          xor    ecx, esp
  Y& n( J  f& c* F& V9 b0 P: s0132DC85  .  E8 E2460500  call    0138236C ( r% i' l" l9 x" H# A8 A8 H* ?
0132DC8A  .  81C4 98040000 add    esp, 498
: Y/ N- R$ U  c" Y( ^$ A- e0132DC90  .  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 a, V6 \& L0 d( O
分析说明也许以后会补上。
4 F2 q3 {# E. J4 F/ t5 I# I" Z" B9 {2 {# p# i' p
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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