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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
* ^- d9 H' s2 i; |0 d; q8 X# w" j9 q4 m* J0 s
0132D7E0  $  81EC 98040000 sub    esp, 498 . a' q# \% f0 O6 q: O
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] + Y+ t1 J1 d6 W) e2 s
0132D7EB  .  33C4          xor    eax, esp
# G6 _' a1 ]& M0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax . |4 P5 u3 `2 G( w' C
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] 5 k* c/ E& B8 a/ Q7 p1 }
0132D7FB  .  53            push    ebx
2 S  ]. o% z6 X5 u) v0132D7FC  .  56            push    esi 5 X/ A! Q& r- V/ [2 g
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
7 ?3 @) `) A9 b0 G0132D804  .  57            push    edi 9 g/ b5 W  s* c& I
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
( T) k7 o) P( u* X+ A9 I5 l2 D: \0132D807  .  8BF9          mov    edi, ecx                        ; | % V. |, s1 \0 e0 i, ]! ]& k
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
4 F9 e6 ?  h$ \1 r# h- V3 }0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 3 D2 r- [) J  t
0132D814  .  6A 00        push    0                                ; |c = 00
6 U5 t: u) }) `, M# ^0132D816  .  52            push    edx                              ; |s 2 Y  y2 e' m2 s/ A; D5 r. C
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
' B! ?& J/ C5 g% V5 W8 O! N) l% G0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
: y, A) E% C- w) n; @2 c0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | & E/ `8 T$ i: m* Z# R1 m
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset 7 {& p4 s2 d1 ~6 P5 V' d
0132D82C  .  83C4 0C      add    esp, 0C % B9 b7 P( q" q1 `
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
( I( ?* C5 E$ n+ s1 y4 o5 ~0132D837  .  74 12        je      short 0132D84B & W% ~  `9 Z6 f8 u! X! \( M
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
0 P. v  B+ R, V$ h1 `- w( ~0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
7 ]) V$ s. Z8 E$ S$ \$ [0 q0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
" C- L* L- O% G9 Q' D$ s0132D849  .  EB 32        jmp    short 0132D87D 7 a2 V/ \, w# r4 Q4 [: z+ {
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 ! g  I" F9 e4 w' ]" U9 |( C' e
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 5 r: b$ R! \; s. i# h
0132D855  .  33C0          xor    eax, eax + O0 g! S$ w; `
0132D857  .  EB 07        jmp    short 0132D860
9 }. B9 Y6 ?% {% U' E, y0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
' @2 K1 ~! k$ f( Z: B9 M0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
) L2 E& r! c1 H" U+ J+ q: T0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx - }, Y7 j: R, V5 k  e
0132D86B  .  83C0 01      add    eax, 1 * s7 i9 `+ b. S3 i8 j4 x  p- Z( y
0132D86E  .  3BC1          cmp    eax, ecx
/ O3 }1 H8 u) S. T0132D870  .^ 7C EE        jl      short 0132D860
- @3 j4 j. z4 D. G( N0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] ; h+ G8 R3 G7 Y9 X% c
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
. J% u3 f! C: W2 T) w7 J0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
+ V& \& r) X  C0132D880  .  85C0          test    eax, eax " A( x, y' p8 f
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] ! o' J$ G! O+ ?" g3 e9 K  N
0132D885  .  75 05        jnz    short 0132D88C
; H1 k" Q  ?: \0132D887  .  B8 16263901  mov    eax, 01392616 ) b/ @0 R- v3 R$ P, c) U) `
0132D88C  >  6A 00        push    0 8 Q# D0 W9 j  X' r+ `! Q, i
0132D88E  .  6A 00        push    0 & x) z7 {1 L' y# K$ z* u" L- I
0132D890  .  50            push    eax * h$ C  f9 E, Q9 a
0132D891  .  6A 1F        push    1F 1 B) S- \2 G. Z) y
0132D893  .  8BCE          mov    ecx, esi
' R% S& C2 `; N* {5 h' B6 _0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 3 E/ a6 Y* q% ~- D, j* q' V
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
! ]  |% A! [1 [% a& x3 e1 N0132D8A1  .  6A 00        push    0
( M: j, F2 M, y' N0132D8A3  .  6A 20        push    20 ; \7 Q/ @3 F' s* ?9 T
0132D8A5  .  51            push    ecx
# ]. k+ `+ o, Y( L0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] 8 v; z( Q7 G, O/ ~
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax , E  Z( X1 D/ X6 a: Z
0132D8B0  .  8B10          mov    edx, dword ptr [eax]
4 A6 @. t, R3 }0 [0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
/ |& s  ]6 a/ P/ I" T& r( N0132D8B5  .  51            push    ecx 0 V( M2 C" |. ^$ ^2 M9 b4 a$ i9 T# {
0132D8B6  .  8BC8          mov    ecx, eax
) C8 ]+ [$ q+ {; u4 I1 S% L0132D8B8  .  FFD2          call    edx
  }* a2 |- d- ]/ n8 y% Z; Y0132D8BA  .  85C0          test    eax, eax
4 \% n3 V: d, z4 _0132D8BC  .  75 07        jnz    short 0132D8C5
$ _: g/ B$ }4 S$ V0132D8BE  .  32C0          xor    al, al 1 E& `9 k. W; n( B8 t# g
0132D8C0  .  E9 B4030000  jmp    0132DC79
1 ^( l. w8 G, v  J6 I0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]   A% m* ^3 u9 I* a6 }
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
6 D! `/ F( |+ `8 @9 L- O0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
: x2 i! R9 U3 W5 o/ ~4 L0132D8D0  .  55            push    ebp
# K' L+ i: q1 ^% _7 _* z5 W$ K0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
. H) \8 A# w8 d, k8 \9 u- l0132D8D5  .  52            push    edx $ T1 R+ q% U# C! k0 B$ Z
0132D8D6  .  FFD0          call    eax
. h6 d. H  Z9 p, h4 k* l+ c0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
# Q! o1 V& P4 F/ c) @6 ]0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
* R4 E1 b3 z" t" h: x0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
1 x3 f) H8 f# e* s5 m) V; f7 N0132D8E4  .  51            push    ecx ! v" I  ^$ D! t( w7 [- C, s, k9 X
0132D8E5  .  8BE8          mov    ebp, eax
' C  S6 t0 N5 T. `  w0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
  U. w) M! c! j& X3 A; o+ x5 y/ f0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject ' N1 R! e! H. X2 M- K) p1 \
0132D8F3  .  83C4 04      add    esp, 4 ) l% q2 X8 S$ N+ R" I0 @) a  ?
0132D8F6  .  50            push    eax                              ; /hObject
% c: t5 S2 W0 q2 e. Z  ]' q) k0132D8F7  .  55            push    ebp                              ; |hDC
+ w% z" m9 n/ T( u' @4 A4 j0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
( K9 H  X8 }0 A% L5 _0132D8FC  .  FFD6          call    esi                              ; \SelectObject   g9 L  k- y! @; x0 I2 [+ {
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
& ?$ N7 B  B) R  d( T' f8 l0132D902  .  52            push    edx
- H3 w" W# b' M4 h  r0132D903  .  8BCB          mov    ecx, ebx
0 Q8 q1 @& ^2 m+ J0132D905  .  894424 40    mov    dword ptr [esp+40], eax
' Z! a8 w8 p6 ?; t# l1 u3 I8 p. v; }0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= 3 X( B, Q  D& P$ N$ M, z9 y/ H  m
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
; I( H% v& L- j0 k& i8 ?; m0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
+ V1 T7 D, \/ m' L% d2 s: Y9 |0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
2 j! h; ^; _, w. o$ ^) ]0132D91A  .  55            push    ebp                              ; ||hDC
* r7 J" w7 z& \3 z0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || ; g6 Q+ w9 U& s) T+ p! r
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
! [" T; B) K9 w* ]* w3 K0132D924  .  50            push    eax                              ; |Multiplier
* g# F( W3 G0 a0132D925  .  53            push    ebx                              ; |Multiplicand
! ?7 `! h) R! u) Z- i0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
+ {* F9 O" w* g0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
/ b! `( @. v- w; k# u" ^1 q0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] * v. R8 v7 y& v4 [
0132D937  .  51            push    ecx                              ; /FaceName - E  q6 R) ^8 \8 G" M1 o# p
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | 0 v( n5 J$ _4 o2 ^: |6 W$ ^6 Z+ h
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 3 _7 N9 C8 q& J! e( U' A
0132D941  .  52            push    edx                              ; |Quality
7 n1 y- [) F( k0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
% r: D! |8 Z1 ~- k! e0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS # `# k& q, i0 N  H5 G, ~; k" H( Y
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET ; F  Q' U- w& Z, k) L7 W: @
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE % D( j5 k7 D5 x. `6 g
0132D94A  .  8BD1          mov    edx, ecx                        ; |
1 L3 S7 d1 k$ X2 D% U+ z# Y0132D94C  .  D1EA          shr    edx, 1                          ; |   _# H! v# n; b% u7 H3 r9 q! k
0132D94E  .  83E2 01      and    edx, 1                          ; |   K* D3 Y( F; N- ?! l. E
0132D951  .  52            push    edx                              ; |Underline / ]# f$ z/ a# E+ E8 p* Z; d1 j
0132D952  .  83E1 01      and    ecx, 1                          ; |
& |$ E' d* j+ U9 B6 N4 I. o0132D955  .  51            push    ecx                              ; |Italic
* o9 k# C" A8 O1 r$ S7 [0 n9 {, h1 F( U0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | " p3 L5 K' W% W. W2 K, C
0132D95D  .  51            push    ecx                              ; |Weight
5 V2 F9 F6 h5 L0132D95E  .  6A 00        push    0                                ; |Orientation = 0
7 E) b1 l3 u; C0132D960  .  6A 00        push    0                                ; |Escapement = 0
" V. _5 {: \1 D0132D962  .  F7D8          neg    eax                              ; | % H; v; f! x3 i0 M9 a) g1 C/ l
0132D964  .  6A 00        push    0                                ; |Width = 0
) `; V( i" U/ i# M0132D966  .  50            push    eax                              ; |Height
0 ]. W# f/ a' C9 O. e) Y6 q0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA ! o! n$ H9 S* A
0132D96D  .  50            push    eax
1 W1 f6 P( ]$ ^" B+ a3 D, v- ^0132D96E  .  55            push    ebp
" E  k& h  Q: G- j% \( t# Y6 e2 h0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
8 S5 E' n7 g; @1 T9 N0132D973  .  FFD6          call    esi
$ C( P% |8 r' e5 k% b0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
: Y' L2 N) p  l3 B* g1 Z0132D979  .  52            push    edx                              ; /pSize
: U. f+ X1 Q  _- I2 f4 F6 v+ h/ A0132D97A  .  6A 01        push    1                                ; |TextLen = 1
$ h1 C2 u$ `) X, z0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" # i: X  p. m7 ~( q' o+ ~
0132D981  .  55            push    ebp                              ; |hDC " Q4 A, |$ ~" x) k" V4 o
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
- j3 u, \! @, |( y0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA % g( h& d* x& S1 o1 S1 n& _+ n
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] 1 H8 {8 t: [2 n2 Y5 K. N+ V
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] 3 g5 k; Q3 i7 R7 }8 l
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
9 X0 G) H- h6 Y+ G9 J. B* g0132D996  .  33C9          xor    ecx, ecx # @0 T- d* h4 F6 W4 R
0132D998  .  8BC6          mov    eax, esi & {' B, H. _2 Q4 K2 T
0132D99A  .  BA 20000000  mov    edx, 20
/ p; \, J- @2 X, T0 ]1 y0132D99F  .  F7E2          mul    edx & d6 D' a0 s" [1 I' d
0132D9A1  .  0F90C1        seto    cl 9 Z+ @; u& n/ d! t7 f* X
0132D9A4  .  F7D9          neg    ecx , e' h6 t4 z) Q. c& m
0132D9A6  .  0BC8          or      ecx, eax 1 O4 k( p) D( \* S) {, h
0132D9A8  .  51            push    ecx
. G' [4 g0 |" Z0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
) F0 n1 K* I7 j7 w% p  W+ k2 o0132D9AE  .  83C4 04      add    esp, 4 ; `) A& W# X+ g3 \" v$ D
0132D9B1  .  85C0          test    eax, eax + x: Y# [' v, W4 g0 w+ l$ w% ]
0132D9B3  .  74 28        je      short 0132D9DD
0 ]  v/ R  y" N  P% A0132D9B5  .  83C6 FF      add    esi, -1
8 Z1 |2 m  t  w- f/ o0132D9B8  .  78 25        js      short 0132D9DF
9 p. [' Z- e) X5 R& W4 M0132D9BA  .  D9EE          fldz * s: J7 p+ f3 e  o
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] . T6 N& t+ g) Z( i  N& S
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] 5 s- F( |! b, T% G& h- y0 u( [; h
0132D9C2  .  83C1 20      add    ecx, 20 0 n7 `; ^9 }' |* _3 `
0132D9C5  .  83EE 01      sub    esi, 1
" m0 y; `' U; v1 Z0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] 9 B* {& m& E7 d" Z& |# L; V- }
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
- c, u) L9 F9 E7 @7 t9 j0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
6 L$ ?/ `+ t; u/ H) W6 x& u# B8 S0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
. |) |8 d. \8 u) Z5 _9 f. w0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] 4 t% ^6 q3 e$ e
0132D9D7  .^ 79 E6        jns    short 0132D9BF 0 d+ B* F) ~4 G
0132D9D9  .  DDD8          fstp    st 1 m1 t7 C5 ]5 n, H5 C) t$ o- ]
0132D9DB  .  EB 02        jmp    short 0132D9DF $ ~4 i0 a3 B+ L  ~$ |9 w. d
0132D9DD  >  33C0          xor    eax, eax
+ r, o' f. S: L! o: i9 U0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
) k2 j1 {) o* B- ^0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax : z) F& b  Y; F; c7 P
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
9 z0 C7 ~- R3 m5 B/ m2 ]# n0132D9F0  .  50            push    eax                              ; /Bottom
# `" ~. K% X' ^% w, ~: X2 U/ a3 G! t0132D9F1  .  51            push    ecx                              ; |Right
' ]( ], E! N5 M2 K7 @) e- X0132D9F2  .  6A 00        push    0                                ; |Top = 0 9 E. ~# Y. _  ~2 J8 S
0132D9F4  .  6A 00        push    0                                ; |Left = 0
' H0 D. d! r# Y. v9 _2 o; }0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | : d: f( k( ^" F" {
0132D9FA  .  52            push    edx                              ; |pRect ) T! N; x, h+ N9 O0 P9 Z4 q+ z
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
- `. _& W1 q6 t& r0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
3 Y6 O! c) \8 Z6 a4 X8 N0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
# Y2 D9 E8 |" i/ t5 g4 n3 Q! w0132DA09  .  50            push    eax                              ; /hBrush 9 r1 S( `8 J' s, k
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
4 f1 |: \: A) W1 `' _5 V( r8 ?0132DA0E  .  50            push    eax                              ; |pRect % I3 V! F! E5 [; Z$ m
0132DA0F  .  55            push    ebp                              ; |hDC
! S. @# m! X! c+ Q$ |* X0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
3 ~, j) F6 x& S1 S9 a/ H) }. l" U0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> ( P3 }2 l% D: P0 Z4 X
0132DA18  .  55            push    ebp                              ; |hDC 9 N2 Y  z; ^$ m4 A
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor   A  t" M4 B2 h
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> , H* M/ U" l0 k* z
0132DA24  .  55            push    ebp                              ; |hDC 7 Y4 x% E2 n0 n$ V
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 6 z. ?# h% j+ a4 [0 Z$ g
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
( z  O+ A7 t& v2 a" L: ]0132DA2D  .  55            push    ebp                              ; |hDC & F& T4 b0 {7 _2 ]: w9 Y( ?8 h
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode ( w1 {# r3 v9 t% U1 g0 V
0132DA34  .  33F6          xor    esi, esi
' y' @2 U* b! ]- u  V% K6 o) U0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
) A8 b, `0 V, h9 |% K4 ^: n# A( r5 G0132DA39  .  BB 01000000  mov    ebx, 1 ) n6 v7 J  J; {0 x: N7 A. G
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx - \2 |! {: G$ p. {
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
4 P3 J- X- |+ p3 V* \6 w" O4 Y) c9 G0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi + D% U; D4 W3 t  J
0132DA4A  .  0F8E 20010000 jle    0132DB70
1 d2 k+ t' h8 k0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] $ m% |5 T0 X% I9 g9 m
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] 9 f5 b; `. B1 [  |, A# m
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi & D% }% |" y! U" e
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax / i' D$ a" F& D% p. Q3 F& C3 s
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] , k1 q* i- j: O) I; r. H+ Y- g
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
% v- L$ U; y; e7 u  g% O; g0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] : z! r% A0 S+ a" J! e: C
0132DA72  .  EB 04        jmp    short 0132DA78 6 n4 Z' N: j& _9 k. Y
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] / g( v% _- A* a8 M$ W
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] & ~. Y# ~* L2 l2 h3 i7 R4 _. D2 \
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
$ m# B  Q" f, o2 V1 ~% s: F0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
% b( N0 L. I' k; C3 S. B0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx 2 V. D/ N4 a. u( ~2 r
0132DA86  .  0FB700        movzx  eax, word ptr [eax]
- V5 _( [, \7 P6 l) Q+ a0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
2 H7 |5 J0 i8 k8 e0132DA8C  .  51            push    ecx                              ; /pABC 5 D8 ^7 Q4 I6 ^) F! I/ F4 V
0132DA8D  .  50            push    eax                              ; |LastChar
( n( M: X# Y5 y. R0132DA8E  .  50            push    eax                              ; |FirstChar 6 ~. p6 f' g2 [" z* N3 U
0132DA8F  .  55            push    ebp                              ; |hDC
2 z9 P; O1 i* h# f# ^0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW " B/ }5 o! r/ J3 ]+ j
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 6 A% h# I  {6 ~- m$ Y' ]& m
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
: I5 E$ u3 F  }6 g) R1 W* E5 j0132DA9E  .  73 10        jnb    short 0132DAB0
  |% m9 w$ i9 b0 V2 w% e! l" V. T& M0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 3 k& O3 g' W' n4 R$ C% c7 |
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 + Y( f+ s3 D/ F& Q
0132DAAE  .  EB 0C        jmp    short 0132DABC
. b  L9 `+ @) L3 i7 k0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 " V# M4 x8 \  F- I0 |; P" I
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 6 `4 I3 h* k0 b  C; U
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
) n: X6 n6 P" M' \& Y; c0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] 7 q# ^; Y/ X6 X/ `
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] . E* q9 M' n$ j& N
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] 0 \' h5 k! f+ B" x7 W0 [7 |) l
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
% M. `$ k) Y  _0 u9 r$ H0132DACE  .  72 14        jb      short 0132DAE4
* P+ K7 p7 T" n/ B& j7 g5 }0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] 3 u& M5 Z, u4 ?) z
0132DAD3  .  BB 01000000  mov    ebx, 1
2 x4 @2 H4 N! G1 z; W0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] . t5 D/ w1 N) [' q, N4 T$ c
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx 3 x# O! l$ e- o3 P* l
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
3 _& Q# _8 V: w4 o0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
, H( W9 r0 Q) j1 j  V0132DAE8  .  03CB          add    ecx, ebx
2 d* A0 o* i, Z. V" \+ C9 H# ?2 W0132DAEA  .  85C9          test    ecx, ecx ' ]* G9 y6 i  c
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
) \) T8 E2 }/ j, m1 y0132DAF0  .  D9C0          fld    st
4 H; j3 J& ?% W; k6 d; F: S0 d& t0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
4 G+ G+ K- Z& C$ t2 |# A0132DAF6  .  DEFA          fdivp  st(2), st
0 t# x+ h+ a! @  m$ p- `, D) F0132DAF8  .  D9C9          fxch    st(1) $ u( f8 p, f1 q- F$ F% i
0132DAFA  .  D91E          fstp    dword ptr [esi]   Y9 P: h* K+ `1 O
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
: d& F/ I" @: k( Y0 q0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
) [$ [6 B& I# D; q: X0132DB04  .  D9C0          fld    st 5 @/ G, t- ~* H+ u
0132DB06  .  DEFA          fdivp  st(2), st   K0 H# z5 l+ u+ P$ P6 G. y
0132DB08  .  D9C9          fxch    st(1) ' \/ b9 n2 L0 L& V
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] & ], s& T9 m( Y" j6 P) k
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] ) H- p* ~1 j& [8 I$ ]9 P4 h
0132DB11  .  7D 06        jge    short 0132DB19
# a' _' {: P+ `8 t9 ?0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 9 a7 r6 {9 k5 n3 W  \, j+ q+ N$ a
0132DB19  >  DEF2          fdivrp  st(2), st
% c6 P8 x0 T+ Y0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] " ]+ E' h8 T# ^+ |; S9 N
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
) k3 s$ c- T$ c2 D& U! \( G0132DB21  .  52            push    edx                              ; |String 4 j3 o, ^7 ^4 o" O9 z# J6 H% x
0132DB22  .  50            push    eax                              ; |YStart
+ L: o! Z( r& S0 c. Q5 [7 p. k0132DB23  .  D9C9          fxch    st(1)                            ; | 8 w+ B, P+ |% D- t9 i
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | + j* H7 n; X$ w7 ^
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 8 I% U% ?) v* |, ?
0132DB2B  .  03C8          add    ecx, eax                        ; | " @# A. ~4 }" z) e
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |   Y; K# c# U: r
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
2 M1 x0 f2 K6 ]! |( V0132DB35  .  8BC3          mov    eax, ebx                        ; | ; |( U! d/ t0 n$ @
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
; V# z% y* [9 L2 ~" q0132DB3A  .  50            push    eax                              ; |XStart
( z, k) N7 N( R0132DB3B  .  55            push    ebp                              ; |hDC
2 ]0 M, U. q6 Z2 K0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
' ~" V( e! P) ?# T0 \7 Q2 L0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW 9 l" R6 [) c  N1 ?8 a
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
4 X  z& h* `* O; V6 ~0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
9 `/ w1 |3 Z4 F, [5 k3 g0 f- b0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
  m5 [' n  m8 Q- m  y0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
: Z* s7 w9 p( P+ Z; e; W5 s( `0132DB56  .  83C0 01      add    eax, 1 ) _: v2 @6 @( R9 [: E3 I* z% \
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
& K+ C5 @- \$ t, `5 g0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
, f9 |. [: N' Q8 {" v: t9 u6 c0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
0 @, M: Y  q8 C, e% k/ c1 H3 N0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
+ K$ S* `( e' _; T1 ]8 k0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
9 ~( G5 i2 ~1 O$ a6 G: q0 }0132DB6E  .  33F6          xor    esi, esi
3 e) V) u! g& J8 j$ u' W" L, s" l0 _0 ]0 w, b0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] 7 P9 g- a+ V- o+ p
0132DB73  .  6A FF        push    -1 4 C' y4 A: Z& \& |' P8 ?- H
0132DB75  .  83C1 38      add    ecx, 38 ; n8 N! W: d- H6 X" N( y9 H
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> ! |' M* U0 j. \; K
0132DB7D  .  8BD8          mov    ebx, eax
  b6 o  [7 L4 i3 O1 R* ^0132DB7F  .  3BDE          cmp    ebx, esi 3 D5 G+ @$ j6 e: b/ [/ [
0132DB81  .  74 74        je      short 0132DBF7 2 @# d- r- {$ M( `6 s) a- S
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
, e! H" h* F; j% S5 t7 j+ e0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] 4 p0 a% b! w+ d
0132DB8B  .  52            push    edx                              ; /Buffer
4 D% i7 r6 U1 b; Y0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
, z! k& }% m4 G0132DB8E  .  50            push    eax                              ; |hObject
) r) F) j1 [7 k4 L0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
" N2 U4 h( z6 t1 D' z. L$ M) P0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
7 \/ U, C+ u2 g# ~$ d8 x0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
- u5 r) ~' t& a8 a; E7 u  f0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
, f  e$ M7 F+ g* P. f  V: @8 @0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
" A3 d" J$ W6 s& ~3 n9 W! r) M  @* q0132DBA5  .  85C9          test    ecx, ecx 0 d. o3 m  ^8 y  \
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 5 l$ q! z# W0 n8 S% s* t4 f& H5 k
0132DBAF  .  7E 46        jle    short 0132DBF7
  M( T8 q5 o, u0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] ; X! J# |1 ^7 _' i
0132DBB5  >  33C0          xor    eax, eax
7 k2 I- T" Y+ B! H, ]# z0132DBB7  .  85D2          test    edx, edx 4 ]( [1 ^0 L4 K2 p
0132DBB9  .  7E 26        jle    short 0132DBE1
3 t; z3 ^" S) W0132DBBB  .  8BCE          mov    ecx, esi % g# q5 W9 G) P. C
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
: \8 _4 H+ i) y0 l0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
( A( @: ^( L2 k6 b; ?3 Q$ C" r0132DBC3  .  C1E2 18      shl    edx, 18 + E$ L7 q1 ~! u
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF + N6 B# q9 |- O* k7 w" {; I
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
0 q; P8 W: V! S1 Z' J0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 1 `3 d2 k4 [, _+ G( T% |
0132DBD3  .  83C0 01      add    eax, 1 / ]9 {2 @% n9 T6 Z- j% d
0132DBD6  .  83C1 03      add    ecx, 3 6 Z  j1 D8 E6 D; [6 L9 c
0132DBD9  .  3BC2          cmp    eax, edx ; [" [2 s& i: K
0132DBDB  .^ 7C E3        jl      short 0132DBC0
* ~/ E; j( h+ h; U6 U- V- q0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 0 Q5 p5 ^0 I8 m. D4 l
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
3 C: `  M+ w) y  y4 V0 u0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
: V* w  I5 n( `4 {, O7 i0132DBE9  .  83C0 01      add    eax, 1
2 ?1 `4 K5 F" v5 G" E0132DBEC  .  3BC1          cmp    eax, ecx
) T2 y- b9 G1 L: ]; M0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
! F: d: H* }( E) ?1 l. k! ^+ s0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
7 ~1 R1 i* N" ^$ E; U  a3 n2 C0132DBF5  .^ 7C BE        jl      short 0132DBB5 4 V, y# O8 P0 P& d) V: W& o1 }
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] 0 H  _! j: s- Y
0132DBFA  .  6A FF        push    -1 " P5 i2 p/ {( n: E& Q4 l1 Q
0132DBFC  .  83C1 38      add    ecx, 38
. m9 k6 R, q' Q) X0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
- J6 g, _) r: V) I: E4 w" |0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
7 F/ Q( {* N: L* C# y4 w0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
) ]1 b5 K( Z4 ^% Y0132DC0E  .  50            push    eax                              ; /hObject
* X9 X" V' M+ @3 h# P- C) t) B0132DC0F  .  55            push    ebp                              ; |hDC
( N9 N; x. i; B/ ^7 l0132DC10  .  FFD6          call    esi                              ; \SelectObject , Z% z1 t4 h/ G' Y6 f
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] : v6 N0 @$ I+ Z6 k5 G" Z( |
0132DC16  .  51            push    ecx 5 Q2 P8 l. H8 ], e# j$ t' I
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
2 ], f- Z( ]3 B7 N0 z( a5 j0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 2 i2 Q9 |4 D; m- F; d: Y' q- w
0132DC21  .  83C4 04      add    esp, 4
+ R$ Z  }. a5 j3 e6 F' h2 f$ Q& P0132DC24  .  52            push    edx
  {3 i' V2 k! Y5 K0132DC25  .  55            push    ebp : ~9 B$ S% J- J
0132DC26  .  FFD6          call    esi
) L" |. |6 D: g& p# |0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] , f5 o- S; S, t2 N
0132DC2C  .  50            push    eax / d7 d8 B: W1 [
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont . ^  x6 V3 |5 D% A2 F$ j
0132DC33  .  83C4 04      add    esp, 4
; W6 s; t, `# x1 Q0132DC36  .  55            push    ebp                              ; /hDC
3 G5 S0 V3 J, J$ e8 |% B2 G0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
/ N7 C5 R' Z$ _( _, N* `0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
7 D& t' F% N& W' j% }* v0132DC41  .  6A 00        push    0 % V+ l3 M$ z) b
0132DC43  .  51            push    ecx 6 E' p2 n$ n4 O: m+ B2 R# h9 c- C
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
) P7 ^/ y7 R/ H0 S# j5 Y0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> " \, ?: A1 d0 M4 k7 G7 e% b& g. G
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] : _- @* i5 n! E/ ?
0132DC4F  .  6A 01        push    1
* T, w$ n  B) Z7 t0132DC51  .  83C1 38      add    ecx, 38 6 w  W- k' ^1 K5 T8 }7 H# r
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> - ^% Z5 t  @7 O; {- y0 I; v
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
6 l, Q. O: C0 q! v. K5 ?# ]: T0132DC5C  .  8B11          mov    edx, dword ptr [ecx] : J3 F" G3 G, c3 T( y
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] + v& x) h/ N- ?- T6 T3 @
0132DC61  .  6A 00        push    0 8 [* {+ `' z5 _8 H8 {( U
0132DC63  .  FFD0          call    eax
- Y  V# I- o) j9 k6 k0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] # g% z9 \. X% i  C- |: x
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] 4 F, A7 C- z9 k& X) s
0132DC6C  .  33C0          xor    eax, eax 3 T% G# P: n$ B: a" z, E8 L
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] ' ^9 }& K! ^0 Y% p. S' l
0132DC75  .  5D            pop    ebp # G7 L* w6 L7 L4 p! U
0132DC76  .  0F9CC0        setl    al ) i. i1 T# i5 K9 v- f1 u# W
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
* P9 K: f( G' \# b0132DC80  .  5F            pop    edi
7 s# E  v9 e7 h0 y0132DC81  .  5E            pop    esi & t1 i$ d% A% k* e+ d/ {" }8 u! @# m2 k
0132DC82  .  5B            pop    ebx 7 h; j' a, h% x8 E, |
0132DC83  .  33CC          xor    ecx, esp
8 h6 l/ C7 _5 @2 ?+ [+ {0132DC85  .  E8 E2460500  call    0138236C
1 I1 u3 Z0 [0 L6 P0132DC8A  .  81C4 98040000 add    esp, 498
& [' E1 }  l0 {8 {  y/ ^2 [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.! I" L5 t, s* T% ?! W
分析说明也许以后会补上。( b7 m7 m+ ~9 J/ T/ s- H/ u

. V& r$ h" y4 a- n! o: n* |+ r% c加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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