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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 . J1 |( b; z6 c: t: e3 P# }, z
, @# `4 E8 |* ^' r
0132D7E0  $  81EC 98040000 sub    esp, 498
; q3 v' \' F! w# _0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
: r9 V7 p  l4 H! n3 |0132D7EB  .  33C4          xor    eax, esp
0 F7 F' k  }% b- ^7 W8 \0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax 3 m7 w/ O" T* F4 P% C; L% R# t8 |9 c
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
. M% `3 s% f5 O' v- t7 n0132D7FB  .  53            push    ebx 1 o; J# t3 C! z) V: z
0132D7FC  .  56            push    esi
* J; l) ]8 y! q# k- I+ p0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] , c  |, s  ^; y9 m
0132D804  .  57            push    edi
, C. v: g# C/ l1 ?0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
9 L8 h' y+ e7 X5 q$ k4 }9 s0132D807  .  8BF9          mov    edi, ecx                        ; | 4 ^4 K( l/ {( c
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | ; G& A6 H. N  d% A
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | # M$ J* p' j  w' E2 C" N
0132D814  .  6A 00        push    0                                ; |c = 00
5 J1 L6 \3 ~/ W8 v, ]. c0132D816  .  52            push    edx                              ; |s ; z) f- {4 J' I' k% Z
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
$ ~5 Q5 z: U1 X$ @) m9 \: g0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
3 w2 ]0 o; r: b9 K. g, L* A0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | * ~  r# U" o+ k
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
: e9 b& D( n3 u& F, W# \0132D82C  .  83C4 0C      add    esp, 0C ( u# v- K" c$ j' T0 O+ H  j
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
! J3 ~3 p9 P! Z. f! W" i- l* r0132D837  .  74 12        je      short 0132D84B
. I5 i, Z! J+ c  S( b, K0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] # l' ^! k0 {6 v
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
, Q6 e) M* Z: X- N8 i- J; H$ k6 S0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax " u$ |) M6 a5 e. m* Q; v
0132D849  .  EB 32        jmp    short 0132D87D 3 ~( ^+ ^: x% J% d
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 % J( S$ X8 F% ~# \* U3 R% v
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
1 a, g/ a( v; h1 ?0132D855  .  33C0          xor    eax, eax   a- a& ]+ Z9 n( v! _0 T
0132D857  .  EB 07        jmp    short 0132D860
6 N: o- G& ]: A" X( |0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
; J  _9 X. X+ s. }9 U+ W8 B0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
. t1 F) y! [" p. A" }0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx : h; F7 e8 A+ k
0132D86B  .  83C0 01      add    eax, 1 ( N4 j. q# h, x- ^4 B6 j6 x- g4 u
0132D86E  .  3BC1          cmp    eax, ecx 2 e% S) x7 O8 J5 R8 k% j
0132D870  .^ 7C EE        jl      short 0132D860 7 j6 ^  Q$ Z" _* O, W/ Q% z
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] & O( ^( M. H5 q# L
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
1 Q" _. Y5 e" m" E7 j0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 5 Y% j. ^& E; d* m* v8 z( {
0132D880  .  85C0          test    eax, eax , k7 r! K# _2 d; o9 `: Z" g5 E
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
9 a2 F. {" F! ~) k* a- P* s0132D885  .  75 05        jnz    short 0132D88C ( Y& A6 V9 d1 C6 C
0132D887  .  B8 16263901  mov    eax, 01392616 6 c9 p. t: A* I% @3 m9 j2 A
0132D88C  >  6A 00        push    0 7 t1 {" ?5 ?2 s5 }- ?  o
0132D88E  .  6A 00        push    0
1 ?' {7 I% l" r- t- o1 _0132D890  .  50            push    eax ; i$ r+ A8 {( H7 Y
0132D891  .  6A 1F        push    1F
  X8 @0 r2 J& X- u: l8 [0132D893  .  8BCE          mov    ecx, esi
) _- l' @  p* W8 Z! X- K: C0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> + [9 Q: \1 Q0 f' B9 ?- N* [
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ) @* `3 P+ h- A- O
0132D8A1  .  6A 00        push    0 . ?! d2 M% m" c, }+ u/ m! W3 M
0132D8A3  .  6A 20        push    20
8 D, s( x; e/ o# L: R0 z4 Q0132D8A5  .  51            push    ecx
! F$ m+ e9 y) W( C0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
* Q: d. X3 h- F* ^0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax . Y: T. `! r) ]9 @4 P
0132D8B0  .  8B10          mov    edx, dword ptr [eax] ! e4 A& D- m1 c1 l
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] . t6 i$ V6 p: I) [' J/ M9 i
0132D8B5  .  51            push    ecx 6 Y  @$ K- I9 W
0132D8B6  .  8BC8          mov    ecx, eax 6 i/ q- w2 H' Q( A2 L
0132D8B8  .  FFD2          call    edx / P0 L  p' d) i- C7 N
0132D8BA  .  85C0          test    eax, eax
7 [: |7 p- N' q" D& c: n0132D8BC  .  75 07        jnz    short 0132D8C5 ) l4 B  s! R8 O' k
0132D8BE  .  32C0          xor    al, al , [+ {& v9 u6 Z9 A3 e: g
0132D8C0  .  E9 B4030000  jmp    0132DC79 4 Z9 k$ ^, }1 t7 A4 M0 ?7 t5 u* ^
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
' a* j" d5 R) m9 u. {9 |0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
1 h) E9 B7 b' S, j3 o( f  J0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] . I$ _% I1 I$ Z; ]$ S
0132D8D0  .  55            push    ebp
- C1 @9 ^7 N+ M0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
. U* \5 P  l3 o* T! Z1 I+ T9 H0132D8D5  .  52            push    edx   X1 s0 g+ X* V% i$ L- n5 k# V' G5 a3 G: r
0132D8D6  .  FFD0          call    eax , z; s6 p6 U5 _2 o! {) Y5 m
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL # W8 }& Z" K) C- W; p2 w- P8 e. l
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC & z1 [$ P) L8 r5 F# o" m' h5 ]
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
  r+ |. M3 M2 k$ a+ n+ |# w0132D8E4  .  51            push    ecx $ E' t9 W, Y/ U! C  G
0132D8E5  .  8BE8          mov    ebp, eax
2 Q* m, T2 k0 ]; ?0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap 7 a1 Q. C  O, I7 o; t/ n
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 0 q5 d" u& _$ v5 Z' C
0132D8F3  .  83C4 04      add    esp, 4
9 C5 |2 v+ v* s; _: e* Y1 I6 }& A0132D8F6  .  50            push    eax                              ; /hObject
/ C$ s) ~8 @2 J. G& x4 H4 m0132D8F7  .  55            push    ebp                              ; |hDC # L& ~0 z$ f6 e( y: S/ l2 j
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | ' R) ~# s7 G5 m/ J. \2 S
0132D8FC  .  FFD6          call    esi                              ; \SelectObject ! a9 o& J3 S  z3 r! d1 ^, a1 x- k
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] 1 j: e7 B* \5 e* v
0132D902  .  52            push    edx
/ }# d8 ~' X2 d5 o* _& b0132D903  .  8BCB          mov    ecx, ebx $ g. M0 u) c: D6 t( A3 H* j5 C& N
0132D905  .  894424 40    mov    dword ptr [esp+40], eax . }% |$ L" h5 l; [
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
5 ?+ c  L  w. m+ x+ Q  k0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] ' I, A0 u+ H* B& D
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
8 T1 A  Z( J+ L% k9 }8 [0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
2 x: {6 s7 }, ~( g0132D91A  .  55            push    ebp                              ; ||hDC 9 E! M8 ], U+ o9 e
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
! L% n2 t7 J' X0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
3 C# o) }; g( Y  G( I* F0132D924  .  50            push    eax                              ; |Multiplier
5 K5 G2 O5 _/ X/ V" k8 S7 M0132D925  .  53            push    ebx                              ; |Multiplicand , G, y2 A+ m9 K* S  k) ~& B
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv + J' N; v# m. F7 c4 G
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] 2 I9 V( h6 ]: x( `" t$ L. S
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
5 ~' E6 M; B6 ^% o, d0132D937  .  51            push    ecx                              ; /FaceName " I1 h; ]) ^4 j1 {3 c
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
) u7 K" Q/ ^2 t% _. T. M0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
; w+ Y9 p6 T2 i$ @0132D941  .  52            push    edx                              ; |Quality
; L" @* y+ K  y  y6 Z- Y8 b. A0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
* S. x5 H9 |* _0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
! ]& e8 N. _9 U5 x3 ?9 C0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET # N4 A) d. q, _8 i& _6 f  i. O  M
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE # M% o+ F. f7 J# \# W# k' G
0132D94A  .  8BD1          mov    edx, ecx                        ; | " a) t% I/ p$ n3 a
0132D94C  .  D1EA          shr    edx, 1                          ; | 7 q2 I. n. G; E2 l0 k' U9 O2 c
0132D94E  .  83E2 01      and    edx, 1                          ; |
! a% T2 ~2 w( Z0132D951  .  52            push    edx                              ; |Underline
; E) ~3 n5 _1 M. X3 h0132D952  .  83E1 01      and    ecx, 1                          ; |
! C' {& j% d7 B7 z4 q0132D955  .  51            push    ecx                              ; |Italic
0 r1 r8 L) w, ?- E, u1 E0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | $ I  E5 A8 }& z5 T% o
0132D95D  .  51            push    ecx                              ; |Weight
3 q5 \' I5 @: @0132D95E  .  6A 00        push    0                                ; |Orientation = 0
: C. I! x6 D! b* k0132D960  .  6A 00        push    0                                ; |Escapement = 0 * q4 n4 m3 P9 F2 K! ^# i
0132D962  .  F7D8          neg    eax                              ; | & {2 b+ ?5 c4 B" m% f+ S
0132D964  .  6A 00        push    0                                ; |Width = 0
  |  ]2 M, E3 V& P. ?4 G- |0132D966  .  50            push    eax                              ; |Height + p2 V8 I# @0 [; L7 R
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
. t6 X0 ?7 w0 J/ {0132D96D  .  50            push    eax ) x# `4 n. _1 l' v
0132D96E  .  55            push    ebp   x0 r" A+ L6 z. g
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax 8 N- j; W3 E/ c3 |: Y$ r
0132D973  .  FFD6          call    esi * }: O% D# l; k1 p  E5 E4 m
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
- o* ]& o1 E  J5 o6 L0132D979  .  52            push    edx                              ; /pSize
( _! A& O7 V% }0132D97A  .  6A 01        push    1                                ; |TextLen = 1 8 |% n5 F& t: v7 P1 ^
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
. t8 A6 V; I; w, S0132D981  .  55            push    ebp                              ; |hDC
& d' a2 h3 P: Y8 d, U0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
3 V& ~( W3 Q9 j; r0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
9 T% i2 J; b4 X" v6 w0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] & U" T5 `! j  n$ m& O. j
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
  b7 {9 M! I5 @( h1 q8 M8 R# v6 q0132D993  .  8947 18      mov    dword ptr [edi+18], eax - T6 ~$ J3 k! S. Z( E6 A2 }5 K3 B  U, U
0132D996  .  33C9          xor    ecx, ecx
3 G% r" [% ^1 l9 B1 Z0132D998  .  8BC6          mov    eax, esi
, x, [6 U! ^$ X# s4 e6 P6 \0132D99A  .  BA 20000000  mov    edx, 20
) J% `% X4 z  Y- h0132D99F  .  F7E2          mul    edx ! V0 l3 g0 p1 z4 H8 q) o' e7 B
0132D9A1  .  0F90C1        seto    cl % x8 Y& S: k- T. ^
0132D9A4  .  F7D9          neg    ecx 8 q: E: E5 [( x  C
0132D9A6  .  0BC8          or      ecx, eax : @- r! f" P3 n
0132D9A8  .  51            push    ecx ' Y1 [5 i6 F3 x: O* `& K
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
) J( q' V  f. @. g7 n6 `# H0132D9AE  .  83C4 04      add    esp, 4 8 I# K0 D/ Z6 p1 ?; b
0132D9B1  .  85C0          test    eax, eax
- c5 ^, O! i7 ?) z7 h% U0132D9B3  .  74 28        je      short 0132D9DD ' W" h# J# d3 [( B- o" I* [+ O# D' B
0132D9B5  .  83C6 FF      add    esi, -1
7 ^. K" c. L; _; x. n0132D9B8  .  78 25        js      short 0132D9DF
3 n& ~; J2 B8 E* c0132D9BA  .  D9EE          fldz 5 `+ ?5 B7 w6 g4 p4 I6 ~. W& e
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] : S# z! B# N! E9 I, I% T9 Z
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] 8 B5 x, H, o% E5 R
0132D9C2  .  83C1 20      add    ecx, 20
! m, U6 Z  j. u, d! o0132D9C5  .  83EE 01      sub    esi, 1
+ h5 w7 I6 b; v) {0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
9 \. T* U" V1 e  ]( O  I% D0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
* j6 n; o+ e  H+ H0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] # W! s  R  K3 r: N2 T0 T
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
5 ^: W4 ^" T$ h+ L# K  i0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] # E& [9 x2 N, v8 |5 i/ K4 R; h. E2 ~
0132D9D7  .^ 79 E6        jns    short 0132D9BF
8 O2 Q! I6 {( p& |( Q1 L3 d0 b3 w0132D9D9  .  DDD8          fstp    st 3 `$ B5 p6 x$ ?9 k: T7 ^, [
0132D9DB  .  EB 02        jmp    short 0132D9DF
+ v. |9 Z" N  [( x( J8 y  _% r6 D0132D9DD  >  33C0          xor    eax, eax
2 Y* |) A0 {0 a* j& M# t) j0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
5 v8 m6 @% _% ^5 s0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax * Q/ C$ H6 K: G3 i
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] + u" L5 p0 }. o1 f( ]+ |
0132D9F0  .  50            push    eax                              ; /Bottom 3 _3 ~2 E4 Q$ O7 `
0132D9F1  .  51            push    ecx                              ; |Right
, \7 l" @2 L1 ?6 @" k0132D9F2  .  6A 00        push    0                                ; |Top = 0
' `) n& e- y  l! L  j0132D9F4  .  6A 00        push    0                                ; |Left = 0
0 b% L1 j! C3 i8 v- A  `0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | 6 z8 C( ?. L2 ^& A5 y% X% j# r
0132D9FA  .  52            push    edx                              ; |pRect ) |: w. Y7 P' W  s: ~  U# d' t
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
# y( F/ S" f: w; v2 x0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
" c4 g' }, N' p# V! }2 |* ^0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
9 I6 T; c! U  U. s  w' I0132DA09  .  50            push    eax                              ; /hBrush
0 M* \# Q  n6 S- [' I0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
( G0 x3 l' {( A! ~- |0132DA0E  .  50            push    eax                              ; |pRect
- |) `6 o5 b/ r% X* `( h9 l0132DA0F  .  55            push    ebp                              ; |hDC
" {  Y1 I( d. y+ n. E4 [/ K6 e0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
# t+ e& N" F3 R0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> - j% ]5 }' o8 a4 k( l
0132DA18  .  55            push    ebp                              ; |hDC
4 t) y3 s9 b) \$ n7 K9 L: s: C7 j1 |0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor 9 {3 V  T( ^3 o* _" B% C
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> * _2 a/ z7 `* l  B: R
0132DA24  .  55            push    ebp                              ; |hDC % y8 `6 V) ^& k
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
! ^! e$ h! U/ U) g0 o0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
8 U. Y$ d/ J' @! P; B0132DA2D  .  55            push    ebp                              ; |hDC
- y& t" `4 [& j5 q6 G( e  \0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
% {% z0 v6 a, J9 K0132DA34  .  33F6          xor    esi, esi # E$ I: h2 L  w' _- d
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi 3 ?0 i' ?# Q1 q
0132DA39  .  BB 01000000  mov    ebx, 1 $ G: u: p4 E6 {+ p7 y  j6 E
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx : b1 m$ d' P/ V$ K& q1 v
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi ! A5 W7 K7 r$ z( |# H6 A; f
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
7 ^8 |3 i' @( Q+ F% c0132DA4A  .  0F8E 20010000 jle    0132DB70   b3 _4 L' M5 P2 ?
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
9 _$ y/ x, b6 d" m0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] ' m+ V$ c! H# D7 Y  @
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi $ H4 `0 t" D: ~
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
3 z7 b* w0 i0 w/ T6 a) D0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
2 ^) _# ^" \5 X$ g# C- L0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
+ L8 W% c" |" G3 v; {2 u0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
  U; G2 T4 E  c# r" D0132DA72  .  EB 04        jmp    short 0132DA78
& a' R' _$ ^$ i% m0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
3 j' Q5 [( L% F- C* V0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] . h" _0 y) W0 z' {
0132DA7B  .  66:8B08      mov    cx, word ptr [eax] . ?! a6 Z* a, h8 [9 Y: g8 I' W) ^
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] ' x8 U. [2 x1 _3 u& a5 w9 U( P8 f
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
% S& r/ u; z* z4 q$ D5 e( c3 l0132DA86  .  0FB700        movzx  eax, word ptr [eax]
' @1 {# ]; X( i% x& V0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
; o4 F3 L. U. `  c5 _2 _/ g+ y0132DA8C  .  51            push    ecx                              ; /pABC 5 g# U) x- y2 B
0132DA8D  .  50            push    eax                              ; |LastChar
. T- v9 c3 k* W0132DA8E  .  50            push    eax                              ; |FirstChar 6 k/ D  }. r+ d
0132DA8F  .  55            push    ebp                              ; |hDC
1 t3 ?% e" ]) G: v9 K; t0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 4 m9 V: b$ }, V# k  p$ M! X) {1 h; C
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] # b) L6 ~; ~# G& \: E1 R
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 ) V* ~3 }/ b2 m& o: t9 R7 S
0132DA9E  .  73 10        jnb    short 0132DAB0 4 W+ O. v6 `' Z9 c( R$ j, h5 d7 c
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
! h! C. a2 b+ _0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 $ o( |  N2 R" B/ a- |
0132DAAE  .  EB 0C        jmp    short 0132DABC ! \$ A6 S! b; {2 m; q
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
, C/ {3 k  J3 j" P* E0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
: M5 r/ E3 i6 D0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
4 J. h( }% L! `* c& T% i$ u0 ^/ r: C0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
, X; ^# E, W# B0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 8 ^+ R1 y4 I! g! m; U1 _$ q7 h
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] , A# ~5 P( e( Y* U8 T( F9 k0 b
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
6 T" H) }% g2 u4 K% g0132DACE  .  72 14        jb      short 0132DAE4 ' e& D$ e# E; s! o0 B
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]   M* @2 `5 Z+ |% G% d+ V, ~6 y
0132DAD3  .  BB 01000000  mov    ebx, 1
4 {9 b' U2 M( E0 S5 t' V0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] ! J1 a4 m( m+ V  t
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx : D( U/ h; i$ v
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 1 X) l" h4 \- ^( X8 C( O# ^+ D0 M
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
4 |! U' X4 D. {. V' {0132DAE8  .  03CB          add    ecx, ebx
- t: z, I! n0 e: t# T6 c' v+ S% |$ w7 K0132DAEA  .  85C9          test    ecx, ecx
3 u# Z9 h8 l3 e3 @; V0 T" |! L3 O0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
* I8 Y' J! @8 f* }* u0132DAF0  .  D9C0          fld    st
$ e* Z- J. H4 b. U8 m: X$ Q7 K0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
, s7 [2 K1 T6 d( [; s$ W' @1 s0132DAF6  .  DEFA          fdivp  st(2), st * e8 F: a$ Z; V. O- z, q/ v# i
0132DAF8  .  D9C9          fxch    st(1) # @' `  S1 F4 F+ F! G
0132DAFA  .  D91E          fstp    dword ptr [esi]
; n, T, G" v, p# G! ~2 \. b( {% i0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 7 s# y8 e! o8 d# [# Y
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] $ n* m6 u3 {$ [  t% }2 h
0132DB04  .  D9C0          fld    st
/ O- ~$ p: \( S7 Q0132DB06  .  DEFA          fdivp  st(2), st * j  F, L9 c. q) {1 d7 \; h4 f/ o/ H
0132DB08  .  D9C9          fxch    st(1) # d& z& O! Y2 q, w
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
7 [0 [: [% q- N( E! }' k' t0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 3 g+ l9 |2 v8 y) R5 u; L
0132DB11  .  7D 06        jge    short 0132DB19 ' [$ J  }) O' `. I) z9 b& z/ r! w( G
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] ) ?0 ~! h4 H4 {& w9 a
0132DB19  >  DEF2          fdivrp  st(2), st
! Q! \# ]$ B. T3 s  I# u0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] . a  f7 D  S3 ^! z4 p" B5 x
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 * {3 h/ n' ]9 D( u7 C3 {0 m; f
0132DB21  .  52            push    edx                              ; |String . U/ C: P- z" T1 \5 t3 E: q: ~
0132DB22  .  50            push    eax                              ; |YStart . N+ k* b( S- B" I4 l
0132DB23  .  D9C9          fxch    st(1)                            ; | $ m4 p5 I' X3 x, D1 U/ W2 }+ H
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | , G" n' z  V4 U9 J
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
1 D/ P* M; z6 }, C. @0132DB2B  .  03C8          add    ecx, eax                        ; |
9 r* ^6 M; O$ a, a( j0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | . M! `1 J* B! b' U! R2 b% @9 l5 A( V
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 7 l8 t6 I" T0 A( Y
0132DB35  .  8BC3          mov    eax, ebx                        ; |
! g1 |# i* t$ m  z( D% R% O0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
) E$ @  f/ X$ T! J6 W0132DB3A  .  50            push    eax                              ; |XStart
5 s9 @* k6 H4 Y2 M5 Z0132DB3B  .  55            push    ebp                              ; |hDC
# V  k( C  ], l4 k+ e8 a: P0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |   p( m* t6 n) O# p! h
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
8 \9 t- P7 ^2 U4 n2 k# I) E3 C0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
: }2 V- S- N5 W/ d* |6 i/ [0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
* ]) Q4 U8 _' D5 H' L0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 ; a4 j: K3 o) g4 |2 b
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 4 [. V( f3 B6 r6 y( g, W
0132DB56  .  83C0 01      add    eax, 1 6 c& J( c4 f5 w) P% Y
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
, q5 ^+ s1 k3 `- ?6 H0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
: |1 \% b  m$ d6 m" a0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx ) T* u' ~9 v" ?4 f
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax 2 P3 b5 }/ m5 T
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
/ {  h& D3 @$ V& I7 I/ A0132DB6E  .  33F6          xor    esi, esi
0 b  ^) w, v  W- J0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] 5 p5 ~" |5 d% q; x
0132DB73  .  6A FF        push    -1 7 V1 b1 n6 A& Q" ~+ s$ V1 f5 J
0132DB75  .  83C1 38      add    ecx, 38
4 q8 t. D; l/ q2 j8 T+ Y. F0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> " u1 a1 _3 y) F2 E
0132DB7D  .  8BD8          mov    ebx, eax ! {& l7 K$ R) Z3 z* o" u* J# q
0132DB7F  .  3BDE          cmp    ebx, esi & _9 o7 q/ y5 j" f' u6 J
0132DB81  .  74 74        je      short 0132DBF7
. ~3 g: Y0 X' ^' f* Z2 x0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] 5 n+ c% j& R! m3 q- x
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] 5 p& B/ p$ Z, n3 H8 m8 G
0132DB8B  .  52            push    edx                              ; /Buffer
  Y5 N1 R, I& K! r0 O0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) ( w) H1 `% m; Z2 J
0132DB8E  .  50            push    eax                              ; |hObject 5 }& z0 D& n' h0 \2 Q# ^& a, d6 @! y' }
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
* s6 q5 Y# w$ a" d" B4 p0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] ' M1 Z( \5 O7 S4 G
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
& E5 N, @* ^1 O* B" _9 T7 v0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] 3 S7 g; w, N; d, c( \
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]   y3 G5 v4 M$ W7 u: N- }9 {6 ]
0132DBA5  .  85C9          test    ecx, ecx
( a% P* d* R# i0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
3 q, t; N: E: v2 Q8 ^0132DBAF  .  7E 46        jle    short 0132DBF7
: e; P% O& z% \  n+ Y+ q4 n0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] 4 k9 o, O! w" b; m2 n
0132DBB5  >  33C0          xor    eax, eax / @1 a/ |  B$ o8 {& o
0132DBB7  .  85D2          test    edx, edx ! t' A. d  p* i
0132DBB9  .  7E 26        jle    short 0132DBE1
+ S! v5 l: W! U* m6 k1 b4 f$ ^0132DBBB  .  8BCE          mov    ecx, esi 7 `- D- n7 B4 A  I, ]5 R
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] ' D: e- P! B/ C3 E4 |& o$ h
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
/ L# ]% s( \9 w: x- _; `0132DBC3  .  C1E2 18      shl    edx, 18 . j* |  Y  g' z2 K, q
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 9 d( @* \$ v  I1 c8 \, a3 \
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
+ ^, y# @& Y, X0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
- {9 a8 o. x. [3 D, _/ T  Z- s0132DBD3  .  83C0 01      add    eax, 1
! G2 X6 \8 t+ k7 m4 ?2 x- `% V) B0132DBD6  .  83C1 03      add    ecx, 3
0 ~- G3 b0 G9 z% z) f0132DBD9  .  3BC2          cmp    eax, edx 1 [% n3 B1 S/ q/ i  ?2 g$ z( z
0132DBDB  .^ 7C E3        jl      short 0132DBC0
) z0 H7 m- c+ B' u$ n8 ^. Z0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] * I, c+ A! \% P  R( y0 M
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] 2 T& ?) h; |5 B
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
& r. v$ [/ z8 \% P  A5 ], I0132DBE9  .  83C0 01      add    eax, 1 ! d" C- Q$ A1 v4 x$ y7 {; A
0132DBEC  .  3BC1          cmp    eax, ecx
# r' l% _# v+ m9 \7 }0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
7 t7 P8 ~( l0 D* {% b0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
, b1 {6 L) E0 G& `$ p  R# Z0132DBF5  .^ 7C BE        jl      short 0132DBB5
1 N0 z% k0 O% N/ f0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] , a; |. V: E' ?, e  [
0132DBFA  .  6A FF        push    -1
, D4 D& Q- \) r9 b3 M5 l0132DBFC  .  83C1 38      add    ecx, 38 - c) P0 a  A3 a2 \
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
8 D- y- K5 J3 x6 [6 Z0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] 4 u  _$ B' d) R/ [( Y# _) m. ~
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 1 d3 }# Q+ B7 [* c# P- u
0132DC0E  .  50            push    eax                              ; /hObject
& f  p% X4 q6 F* ?0132DC0F  .  55            push    ebp                              ; |hDC 8 q& g. ?1 R* B: r! f6 B
0132DC10  .  FFD6          call    esi                              ; \SelectObject
# H2 B* K  H( Q1 V2 Z9 Z  F1 A0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] # Y2 ^4 v" V/ V. F# q+ c/ Q
0132DC16  .  51            push    ecx
5 y; G8 q4 p$ B0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
5 v$ d+ g. S" E$ I4 V5 @  A+ K0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] * B. P- E$ B# }+ B/ U
0132DC21  .  83C4 04      add    esp, 4 8 w5 i7 |$ Z5 Y/ u
0132DC24  .  52            push    edx
+ p7 W0 m# T. l  T1 J0132DC25  .  55            push    ebp
! A2 N, [* K6 e8 \9 |6 M; P3 k0132DC26  .  FFD6          call    esi ! g8 i6 W7 r8 o) I+ Q6 M
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] 6 r0 M0 ^; B+ r: V6 l
0132DC2C  .  50            push    eax
3 T' X1 s9 j( ^0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont 6 D' r/ o8 }; Y8 L6 p
0132DC33  .  83C4 04      add    esp, 4 ( j7 W) {# G% a/ }! p
0132DC36  .  55            push    ebp                              ; /hDC
! l1 ?: _% l" a% ?7 ^0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
5 i1 M7 v" o! T0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
- E# B$ ]4 R1 N& v, t% N% O) E9 E& d0132DC41  .  6A 00        push    0 - h, E  \+ p# p3 V6 M: j' z
0132DC43  .  51            push    ecx & ]/ a7 y. ]) T1 M5 @: ~& G  Y
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] ( V5 F" Q+ O/ [
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
0 r) a( z. c0 n9 C0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
4 b8 `# f* {) F  j, n0132DC4F  .  6A 01        push    1
0 v, G) s2 c  L) S& i3 m" |! k* T- ?0132DC51  .  83C1 38      add    ecx, 38
4 {) T, [/ S  f5 B8 y% H& O0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> + P# O. `. F0 r3 g/ T
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] 2 ^9 c! f2 R& c- U
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] * M2 J! X- T  l0 q
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
$ V6 v) S' Q$ S3 T  T5 X0132DC61  .  6A 00        push    0   d( }! \3 f- ~
0132DC63  .  FFD0          call    eax ( Q+ i5 h  X5 E# D9 E; A2 z) w2 }
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
  e" n+ {  R3 m3 @0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] ' l& }. {* X3 C  A  L
0132DC6C  .  33C0          xor    eax, eax
3 f; J+ x7 d- y! O( T6 }0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
( c, j, ^; \( |& T! a; S0132DC75  .  5D            pop    ebp 6 b, R) N) W, ]
0132DC76  .  0F9CC0        setl    al
# b8 h5 Y2 v) ~  B) b' O* \7 q0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 4 u/ r, B% r$ a( |' v8 t
0132DC80  .  5F            pop    edi 4 z. A) x, a% P* o
0132DC81  .  5E            pop    esi
8 @! N1 b' C1 J' Q0132DC82  .  5B            pop    ebx , `2 a: T0 Y9 m
0132DC83  .  33CC          xor    ecx, esp ( Z6 T" W: X: R: }' Q% o' l$ ]
0132DC85  .  E8 E2460500  call    0138236C " q' z7 K8 a! I* z
0132DC8A  .  81C4 98040000 add    esp, 498 3 n$ q% q7 `: k+ h8 a4 M
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.5 D" m/ n' i2 e4 y6 s. ~% c
分析说明也许以后会补上。
! u6 v! t& t( _5 @# [
& r# e8 B: _3 Y' }6 R4 q8 k. m- B; p加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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