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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
/ W, i( A5 ]* `( ?2 D3 x2 h/ p9 y* W
0132D7E0  $  81EC 98040000 sub    esp, 498
: T  p% E! Y8 u; O0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
" k+ \7 L5 U, [7 o* D0132D7EB  .  33C4          xor    eax, esp
) G( a4 k/ e; H* K. c; x2 k0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
% ^8 v# o" F% D' M$ b) p  m0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] 1 |" x- s5 b; r! x+ R# o
0132D7FB  .  53            push    ebx
  @1 K$ ~$ E( k5 \2 T7 x0132D7FC  .  56            push    esi - v% l" d7 l# p( g( D3 {# n+ S
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] & b/ |# ?& f& ^$ v: B
0132D804  .  57            push    edi
! v$ N4 }$ x+ h0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
/ M% U/ }, u. {5 B" g$ X0132D807  .  8BF9          mov    edi, ecx                        ; |
6 ?1 _) h9 C" O1 I& W0 v0 [' `0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
' O6 t8 w, D: @9 R; ^# V, z0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 7 S% r* R  C" v( d  c
0132D814  .  6A 00        push    0                                ; |c = 00 2 Z1 ~9 c# Y6 s$ |6 S8 Z: N
0132D816  .  52            push    edx                              ; |s
5 f8 v$ y1 N6 H  @" X# @* T* I& k0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
0 J1 ~, @. n: V+ l/ l4 J0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
9 k' T/ y6 S: w* J9 W( e6 W: Y' n0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | ' R3 b' [% h0 u; A
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset ; P* g, `2 j6 {& b, S& D
0132D82C  .  83C4 0C      add    esp, 0C ' t0 L$ [, W4 m
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 - Z1 {% ?2 P7 W1 r
0132D837  .  74 12        je      short 0132D84B ) V/ \1 a1 j# _
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]   I' f: p8 Q! T( Z3 x& c
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
5 r4 Q1 t6 x' o: M- A! W0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax + u: C. F5 H' g+ ?
0132D849  .  EB 32        jmp    short 0132D87D : `5 y& W, a+ L# Y1 D) r; r
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
* m/ T" b, M) m5 u3 r% u% l9 s9 d! }0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
. ]  _- M! ]) N* ^6 J0132D855  .  33C0          xor    eax, eax # \9 ~7 B* t0 j, s: T3 Q
0132D857  .  EB 07        jmp    short 0132D860 4 P1 ]4 P7 I; J* t) B- z
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
* N6 J0 m% }. t% A0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] : @  D- Y7 Z* z- G. b
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx   w2 f, ]! ]- W( T- Y+ Q$ [5 [
0132D86B  .  83C0 01      add    eax, 1 ( o. A, u1 s# _& M
0132D86E  .  3BC1          cmp    eax, ecx
0 z3 q. ^, d8 H) P0132D870  .^ 7C EE        jl      short 0132D860 + c' J& \' T% a0 l
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] ; ~% W- B# [& Y3 x5 x8 j
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 8 G% o9 X  A- A+ e
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] / t- w% Z: `" a( j& t: d
0132D880  .  85C0          test    eax, eax 6 o& P; g" h1 ^" c: z, a9 h
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
/ I/ Y+ I( C% R, E0132D885  .  75 05        jnz    short 0132D88C
% u8 `1 a. U. ?. m0132D887  .  B8 16263901  mov    eax, 01392616
% _0 Q9 K; \9 {8 P$ ~2 b0132D88C  >  6A 00        push    0 2 q6 i" w- l* H3 C
0132D88E  .  6A 00        push    0
% l- s! J# l' j- e0132D890  .  50            push    eax
  k* ?/ }8 E4 u0132D891  .  6A 1F        push    1F
5 j" b' H2 Q, s+ n0132D893  .  8BCE          mov    ecx, esi
. N; h' s( O9 f# {0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> , t& K6 b. ~- P3 u/ n. _
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
+ A0 c" Q6 F# F( A6 l: P7 q0132D8A1  .  6A 00        push    0 8 q! V3 q" R7 ~" m0 ^6 n
0132D8A3  .  6A 20        push    20 ' i- {6 T6 v: y) g( x8 w% L
0132D8A5  .  51            push    ecx 4 k9 a# U4 E6 V/ y
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] + R# [$ t1 K5 k7 V2 k+ o6 k
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax & ^8 s! Q* Z3 s1 K
0132D8B0  .  8B10          mov    edx, dword ptr [eax]
( A* C3 {' _# x5 {0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
6 g- D/ e, s; ]4 {+ ~% y" M# O0132D8B5  .  51            push    ecx
! K) ?, U( x  s9 l0132D8B6  .  8BC8          mov    ecx, eax ) f  y6 f! }+ N- C# m8 N0 M
0132D8B8  .  FFD2          call    edx
, p& h$ F  ?. p) Y, {$ Z# ~0132D8BA  .  85C0          test    eax, eax # Q. p# S( X: T6 o" h
0132D8BC  .  75 07        jnz    short 0132D8C5 - N3 D# N' C4 u
0132D8BE  .  32C0          xor    al, al 0 j8 |$ {0 v7 a$ _. @& X# @
0132D8C0  .  E9 B4030000  jmp    0132DC79
% w; `" e+ l0 J6 c2 u' G! w0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] & f3 D8 ], }6 F  Z! s" C
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
) O* e/ H$ A6 ~6 B$ I5 |0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
) c4 B; e) I0 {5 y( e. u( U+ H0132D8D0  .  55            push    ebp
6 S& G2 ]0 E0 ^2 v: c4 l: j0 r0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] ( k- T! a: d! u1 `
0132D8D5  .  52            push    edx . l: b) T, F/ r4 M
0132D8D6  .  FFD0          call    eax   g' D4 ]( D6 U8 ?5 M) M, v: d
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL " b7 I1 z/ I* [6 J! U1 z; }9 a
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC , _) J$ e: ?: I' l4 l+ [- S3 R
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] & Z) ?) `. Z" f
0132D8E4  .  51            push    ecx
; D+ z: o1 i7 x* ~% {0132D8E5  .  8BE8          mov    ebp, eax   h% S, e2 u2 A4 M# h
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
9 v3 P; G3 F/ }6 f3 N7 c8 \) ~0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
9 l0 v, n4 {2 l1 \0132D8F3  .  83C4 04      add    esp, 4 ( `1 D4 q( ~# B1 U! q8 |8 b1 _0 K
0132D8F6  .  50            push    eax                              ; /hObject * @+ K, c  U. f/ R! c( X. g
0132D8F7  .  55            push    ebp                              ; |hDC " {, E! A; |5 ^: i, N: J
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | / m* E. D* f4 R; l$ U& A
0132D8FC  .  FFD6          call    esi                              ; \SelectObject
- j! }) s  G2 C1 ]# p0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] + W; A2 ~  B3 {7 e
0132D902  .  52            push    edx ' h) }0 A/ F+ a8 p$ c
0132D903  .  8BCB          mov    ecx, ebx
7 c; L/ |8 w* z8 v* ~2 H& N0132D905  .  894424 40    mov    dword ptr [esp+40], eax 1 V2 q" f9 i" G- i9 P7 Q$ v
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= * K) S. |; d3 h4 d  t
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] 2 C" i7 P: m" I, W+ h% T
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
- O" ~, |; z( v7 C0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
' b1 _9 u# D$ e  C4 d- y0132D91A  .  55            push    ebp                              ; ||hDC   K7 q/ v& W8 s7 ?0 _) T1 B
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
  v( M6 o2 ^0 u2 F4 U. |/ e7 c5 J0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 7 p% ]5 i" H1 O7 Z. K' q9 A
0132D924  .  50            push    eax                              ; |Multiplier
, n4 h+ X3 v& Y& \5 p- z# S0132D925  .  53            push    ebx                              ; |Multiplicand
0 ]; W# z# U( _4 H: j' ~! c0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv 6 \" b. I9 }7 {; m1 _! E, _' H! U
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
  ]1 D8 u0 f9 \! O: G0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
" k; z: f2 Q' v/ _0132D937  .  51            push    ecx                              ; /FaceName
" Q5 H; o' |- D9 |. T7 e0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
- S3 c$ b& ?" q  G; T. W0 ~0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
" K. s0 f2 |+ @& }3 J; K! q7 ]0 Q0132D941  .  52            push    edx                              ; |Quality
4 L% i& |& u! B' l! u6 F0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS : M6 U: z6 X# o
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
$ D+ U# E) B+ T; q2 z0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET 3 J4 E6 t% C3 T! n) L! ^0 v$ @, Z/ y
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE , W0 A9 U  |, e; r: S! ~4 y
0132D94A  .  8BD1          mov    edx, ecx                        ; |
7 u) f* Q- v% N0 M. E! ~0132D94C  .  D1EA          shr    edx, 1                          ; |
) d7 h% p1 y- A" d4 Q0132D94E  .  83E2 01      and    edx, 1                          ; |
3 e+ `/ x7 M8 _% Q0132D951  .  52            push    edx                              ; |Underline
, e1 z/ N9 b& W) H0132D952  .  83E1 01      and    ecx, 1                          ; |
  P- u' g# D5 [3 @8 H0132D955  .  51            push    ecx                              ; |Italic + `. E9 N) S/ g& }6 E2 z
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | ; p3 B6 i& Z5 B5 L% h: f
0132D95D  .  51            push    ecx                              ; |Weight
: V) F6 B+ G  O7 D  O0132D95E  .  6A 00        push    0                                ; |Orientation = 0
# m! [" l3 y5 f0132D960  .  6A 00        push    0                                ; |Escapement = 0
5 a* d! l( M+ c0132D962  .  F7D8          neg    eax                              ; | 9 z# K& H1 h3 M6 @* B; o
0132D964  .  6A 00        push    0                                ; |Width = 0 / z0 @: c: |" h' A4 \
0132D966  .  50            push    eax                              ; |Height 3 D: e' w( X1 w3 D
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
& q# G! B  A2 P' m$ L0132D96D  .  50            push    eax
' V# i/ ~  z/ p4 o4 z  T9 j0132D96E  .  55            push    ebp
' e9 `3 [& ]( }! c% ~: d/ b* B0132D96F  .  894424 38    mov    dword ptr [esp+38], eax 8 W, Z) U* w4 b' A
0132D973  .  FFD6          call    esi 3 c$ `4 e5 K7 z2 B
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
2 l$ I! E4 }! Y, s8 t  U9 k* a0132D979  .  52            push    edx                              ; /pSize 5 S9 _: c# w- ^9 D% ]( p
0132D97A  .  6A 01        push    1                                ; |TextLen = 1 , L  k* Y$ L4 k- `# A
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" " _0 \' M: I9 P3 i/ s
0132D981  .  55            push    ebp                              ; |hDC
0 R0 h6 x& g% y! D. @) e0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
9 ~3 p2 C+ q' b4 E( Q0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
( v- l2 E. o1 y+ h7 Y& `- o; {0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
7 D8 c- W1 A% P0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
0 s9 f. |  A3 N/ J% A' L0132D993  .  8947 18      mov    dword ptr [edi+18], eax
/ R2 b/ Z/ S8 Q/ B+ r; _9 \0132D996  .  33C9          xor    ecx, ecx
& ~! \3 r2 I: v3 U. |0 C. ]7 r0 X# ?0132D998  .  8BC6          mov    eax, esi
" j1 Z2 l! P* _0132D99A  .  BA 20000000  mov    edx, 20
2 y( Q8 S$ Y  H" O% c+ y- n0132D99F  .  F7E2          mul    edx * Z5 d  q6 N0 A, l& g8 n: O" J
0132D9A1  .  0F90C1        seto    cl
  i7 H6 _0 a) ?0132D9A4  .  F7D9          neg    ecx
9 w* ^5 m$ x( Q" l0132D9A6  .  0BC8          or      ecx, eax
' v* U9 w! Y: E% V0132D9A8  .  51            push    ecx
% r+ h. p+ i$ @9 p, ]2 k( E3 A2 `# \0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> * l9 Z! e3 f0 Q! Q1 z
0132D9AE  .  83C4 04      add    esp, 4
& _3 v7 `( e8 B. b( V0132D9B1  .  85C0          test    eax, eax
6 T% e6 `) _/ x0132D9B3  .  74 28        je      short 0132D9DD
* R! ]+ A! ~& N1 h3 ~0132D9B5  .  83C6 FF      add    esi, -1 2 r# C4 x2 ~, u& ]" v% _+ [
0132D9B8  .  78 25        js      short 0132D9DF
5 p2 ^. \$ h4 l  _& N, t0 a, f7 Q0132D9BA  .  D9EE          fldz
1 {" ?) P7 U4 Z! V0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 7 U; ^! f8 w( D! a* D6 x
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] , b, r+ V. ~5 N4 D% q: q, R
0132D9C2  .  83C1 20      add    ecx, 20 6 H4 L5 P' Q1 k* O- X3 A
0132D9C5  .  83EE 01      sub    esi, 1
7 v) O5 ]+ V( e2 D7 {0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
& Q6 b& T  k) {: Y5 @0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
  P, m# z7 s' `$ @0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
" X9 X" t2 j  R7 K- N0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
, j7 _4 M! v! h3 ?: G9 H4 e0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
+ S6 I7 x+ O% `% w: {0132D9D7  .^ 79 E6        jns    short 0132D9BF % |. I+ t+ t5 b2 D
0132D9D9  .  DDD8          fstp    st $ l8 p: b; K, Z9 \
0132D9DB  .  EB 02        jmp    short 0132D9DF
4 }0 d9 ^1 Y2 N0 }. k. x( C- l0132D9DD  >  33C0          xor    eax, eax
8 J& U# n; B2 G0 k1 D0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
( K- t4 k7 ]6 f6 c4 f# B0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 8 g0 }* @, {7 G# O# L5 ~
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] : {9 G( `$ n6 u* K1 M
0132D9F0  .  50            push    eax                              ; /Bottom . w2 i8 Q6 Y/ b7 T$ t$ p  j; R1 w
0132D9F1  .  51            push    ecx                              ; |Right
( c: `& J  D+ }/ [0132D9F2  .  6A 00        push    0                                ; |Top = 0 - m" H# g. [) S
0132D9F4  .  6A 00        push    0                                ; |Left = 0
9 C* Q7 t. M) c. G) f0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | ( Q% ^; m# k7 q# q
0132D9FA  .  52            push    edx                              ; |pRect
7 j9 @) b" p8 p7 _" j# x. S0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect ) W8 K- [" h- z5 a% O* `
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
; P( w  c! A9 L8 Q0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
% h( K' i5 _+ B6 g- Q) r0 _3 H. L0132DA09  .  50            push    eax                              ; /hBrush
3 f7 [# a: X& K; R0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
" N9 F' ~! Q. O' e0132DA0E  .  50            push    eax                              ; |pRect
" i  H9 p% H9 E/ Z8 ?0132DA0F  .  55            push    ebp                              ; |hDC . }+ Z7 x# {: d( T# w6 Q; v
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect 8 j1 A) ^3 X4 a- s
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> # l; R1 R6 q$ k  G4 b
0132DA18  .  55            push    ebp                              ; |hDC 5 z- a5 C) q1 ~6 t4 O. t
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor ; Q% z7 O! I  m  Y; L1 X( p
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
) @. {1 }9 N- ^. b' W: f0132DA24  .  55            push    ebp                              ; |hDC + ?* L" ~: M7 Q9 o" G% e* I' C
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor - l! d, t) {* p5 f( b( I1 v' D
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
. O% a; L  K3 g0132DA2D  .  55            push    ebp                              ; |hDC
5 e+ Y& E0 R$ z; U# M0 }( O0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode ; Y+ E5 G9 v6 y( d' a0 Z1 |9 r
0132DA34  .  33F6          xor    esi, esi
, L0 y% H4 k  |" j5 x0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi & D1 |; J* K) E4 I2 f0 p. x; }
0132DA39  .  BB 01000000  mov    ebx, 1
: H4 _; F1 D- L- l7 C' ~  b0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
. b- g* d( ?+ [& b9 m2 I+ g0132DA42  .  897424 14    mov    dword ptr [esp+14], esi , A7 p1 k0 g1 L
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi # Y$ |. X9 v% {7 A9 y  m' C# o
0132DA4A  .  0F8E 20010000 jle    0132DB70
- T( O: {% W; h$ |* b2 [0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 1 I5 a7 b" y4 m( ]
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
5 Z/ t& C7 l2 `" n& o; B7 l6 p0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
+ |+ S/ u. h0 L/ ?7 p0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
# O6 w) _# W3 o2 H  Q0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] ) [( Z4 c; D. \9 o1 f
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
. y7 ~" q7 v1 c4 ]0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
- z. Z# v4 z5 L+ ]# V0132DA72  .  EB 04        jmp    short 0132DA78 ) P/ B0 h3 \7 w2 {& Z% t9 j
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] * |, k. E+ V* I' f
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
( L, I* }$ s  r% E$ m* P& K) W1 z2 z0132DA7B  .  66:8B08      mov    cx, word ptr [eax] 0 Y( U6 Q* G! H, s
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] 2 }  `5 a& I0 x+ ~2 V7 Q. E7 h
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
8 W2 c3 G7 o3 I- ^) b0132DA86  .  0FB700        movzx  eax, word ptr [eax]
0 X8 A, o6 O5 f9 t" a0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] : W3 {: J! G2 U7 V
0132DA8C  .  51            push    ecx                              ; /pABC
7 R% u: N+ |; m4 V2 j% {( ~) ^% j; b0132DA8D  .  50            push    eax                              ; |LastChar & N8 O+ ?4 w5 d* I6 x: ?
0132DA8E  .  50            push    eax                              ; |FirstChar % A. s- z: z+ L' Y
0132DA8F  .  55            push    ebp                              ; |hDC $ O& o7 F+ e# D7 q* ~7 g
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
6 {# i. H. D% e8 B0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
" V# Y9 T. F2 J* S1 X0 T# |0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
+ q& k; v7 t; r4 d' w; v& y0132DA9E  .  73 10        jnb    short 0132DAB0
. a+ Z3 |" Z$ R; {/ \/ l4 A0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
/ b, {- H; l# Z" e* [5 @, h, ~* C0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
: p3 ], s1 _5 {# A& L9 {0132DAAE  .  EB 0C        jmp    short 0132DABC
6 Y5 B( |% O- y' e4 r, k$ ~0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
4 {% j7 f4 c9 r* h5 h0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 5 g* t. n# A/ g7 K  \1 f! `: ]
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 * |- @( V+ m* {" f3 l9 f
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] % u5 \0 E' n. l5 q
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] $ p& E/ s( @) H+ W) W6 p) Q0 t
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] # z, F. Z) p3 G' N% L' o, x
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] 8 K7 E4 [5 {; `1 m/ W0 ?
0132DACE  .  72 14        jb      short 0132DAE4
0 @3 ^/ _8 V$ Z3 @/ Z0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] # H0 r6 p0 W6 `+ E+ {9 x
0132DAD3  .  BB 01000000  mov    ebx, 1 - Z! ^/ n2 ^9 E, H
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] # @* G& p" z: b7 `( n
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx ! B& m3 q1 J" v
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
9 X: A9 u0 @; V* b3 }0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
2 X( D4 [  M% Y! f# d+ F. L' ]0132DAE8  .  03CB          add    ecx, ebx . Q4 i7 \6 b- A$ ~) i! l) L
0132DAEA  .  85C9          test    ecx, ecx
: `9 g) v" H1 D6 a" y0132DAEC  .  D94424 38    fld    dword ptr [esp+38] , T! h0 W0 w/ v1 @" p: |
0132DAF0  .  D9C0          fld    st 6 F. m9 e1 C+ {1 Z( p; v
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
3 n7 D9 B1 I& q0132DAF6  .  DEFA          fdivp  st(2), st 3 `3 |: x# Y. @8 h  H- W
0132DAF8  .  D9C9          fxch    st(1) * q, R) u) x" h$ U
0132DAFA  .  D91E          fstp    dword ptr [esi] 6 E- k9 F) L# I7 s# o' d1 ~
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] $ A/ t9 ?" l% W0 U" l& s0 V
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
4 A; m, O& K3 t8 L6 ]1 v0132DB04  .  D9C0          fld    st . q, x  v# G1 g- r# k+ |
0132DB06  .  DEFA          fdivp  st(2), st 4 h9 h% K) ^; Y& B
0132DB08  .  D9C9          fxch    st(1) ( W4 G, U+ `' S5 Z( W: T: c
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] 0 w5 G1 c/ D/ E) Z9 U7 p
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
8 n9 u( F' g& J% Q3 G0132DB11  .  7D 06        jge    short 0132DB19 : \& u) o8 W5 T
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] ! Q. l4 D3 V9 h, }# w
0132DB19  >  DEF2          fdivrp  st(2), st
; m: b5 j- y. h' o- p) v+ _0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] / D- @' N9 |* y+ s1 h9 \( h
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 ( Y/ y, d, J+ m2 Z: E6 K  c6 y
0132DB21  .  52            push    edx                              ; |String 5 w. D5 {) H4 n3 ]1 V* y
0132DB22  .  50            push    eax                              ; |YStart 2 e7 ^+ T- @- b; ]7 P6 o& S+ \
0132DB23  .  D9C9          fxch    st(1)                            ; | . h" N' Y! L1 u# {$ M4 k( I3 ^
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | 8 ~" w" I6 \; h1 G$ c7 K
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | ' R2 L3 D5 k5 T; ~! F
0132DB2B  .  03C8          add    ecx, eax                        ; | ' p4 `  K0 ?6 h( @0 B% }0 \
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
* _7 M9 k& Z# g- ?  Z0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
; f( J6 E+ c3 ^$ _# d' M0132DB35  .  8BC3          mov    eax, ebx                        ; |
4 V2 b; s: J( j0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | 2 G  C8 A: F1 J0 t9 b+ W+ S1 K
0132DB3A  .  50            push    eax                              ; |XStart 2 @+ \' D6 j- `
0132DB3B  .  55            push    ebp                              ; |hDC ! C& m  J; K4 Q" T: L
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
0 E: H$ G* b" M+ b0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW 7 u7 ~8 N. V9 a0 F4 z7 b  U% o
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
* Q9 g7 C) Q7 o0 ?) X$ _# _$ i0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
( P5 a4 |2 ]! }/ ]0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 4 d! p: n: b& {/ ?( ^3 x
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
2 N2 }9 ~- I+ k) r0 W* B& H! m3 }0132DB56  .  83C0 01      add    eax, 1
3 R2 {5 Z! q5 I2 r2 k: @6 N; @. N0 h0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] 1 L4 z1 K/ J, d' H
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
4 B5 m: H: L+ E7 w0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
( }. t/ \; J: |) h0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
# T9 c% F) w) X4 \: V0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 ) p% v2 s1 ^% u2 B3 Y
0132DB6E  .  33F6          xor    esi, esi
( }) j) P* m9 J! f0 K3 e0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
+ q  L8 S- S& t/ I  s, R8 P0132DB73  .  6A FF        push    -1 3 O0 L; I& A3 z0 T
0132DB75  .  83C1 38      add    ecx, 38
7 M# {/ o* U! v6 Q% L0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 7 F: k  m1 N' D
0132DB7D  .  8BD8          mov    ebx, eax
0 |1 v' `2 F5 k8 c( k0132DB7F  .  3BDE          cmp    ebx, esi
7 g, G8 J, z# r/ h5 i; W5 w0132DB81  .  74 74        je      short 0132DBF7
& A5 k1 @' E! t# w6 q. w: }, f5 Q9 p2 o0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] * w& {6 A8 ^, H+ r
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
7 ^6 r  O' a. \% F2 x0 U7 l7 {/ \0132DB8B  .  52            push    edx                              ; /Buffer / W6 s6 o( A- H9 b+ G4 T& _
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
" L  J5 \' n) Z  e. h; u0132DB8E  .  50            push    eax                              ; |hObject ( B; c- K8 r+ k. U, ]. H
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA ( d% }- H, _5 t' w& S
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]   ~, `: o1 e. u- l; a% j, r
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
6 \& ]5 N# D$ E7 V4 y; z2 z0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
6 [3 Q8 x, `6 A+ m2 E+ j0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] ! K1 v1 w- L$ }( y* @' T
0132DBA5  .  85C9          test    ecx, ecx 4 O- J  i: M6 C, ~) \
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 2 m, g' l0 Z7 |/ h- a
0132DBAF  .  7E 46        jle    short 0132DBF7 " p: d* U6 g/ X# O+ y+ N
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
. N0 U  q& F' e6 A/ t0 s1 B  z9 @0132DBB5  >  33C0          xor    eax, eax ! X) _4 k* h( `  l1 A
0132DBB7  .  85D2          test    edx, edx
1 x# y, F; j  G$ f0132DBB9  .  7E 26        jle    short 0132DBE1 5 E+ z/ J" o; b3 W7 c
0132DBBB  .  8BCE          mov    ecx, esi 1 l- ?1 T: W$ f) F; h, t$ f) K
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] + a) N1 t3 d& t* x: @" @
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] ; G* d* q. T: {
0132DBC3  .  C1E2 18      shl    edx, 18 7 n1 T- Q$ g" H7 v( A
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
& S3 I5 \) x; F: }# x: N) h; ]0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
& s" R+ E7 s9 @% g) G) r% n/ N4 y6 U0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
2 U( _/ ^, g9 S8 j: ^6 c- _0132DBD3  .  83C0 01      add    eax, 1
) C3 l. M3 ]3 G8 j1 B7 V) Y0 q- p0132DBD6  .  83C1 03      add    ecx, 3
2 Y2 R+ a- [, Z8 q0132DBD9  .  3BC2          cmp    eax, edx # o% [( p% K9 y/ `, j
0132DBDB  .^ 7C E3        jl      short 0132DBC0 8 b1 h. W, E* p
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 1 Y0 p- D$ I0 D. c! g/ P2 A% d2 P
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
: v; F, P& {5 y9 k# b0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
- ?" X, l" V  l( ~$ \& i7 U0 z, Z0132DBE9  .  83C0 01      add    eax, 1
$ t& H8 }- [- M& K1 s0132DBEC  .  3BC1          cmp    eax, ecx
, C5 C6 \% [# H" h, T) h, G7 }  D0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] . k  l. W2 Q7 j$ j
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
1 N- c9 t5 h' r9 s( V3 @0132DBF5  .^ 7C BE        jl      short 0132DBB5 7 Q- J# {' G' Y# `! k  E
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
* U: O1 g2 {- I0132DBFA  .  6A FF        push    -1
2 F* [, T- l. }8 ?% z$ s0132DBFC  .  83C1 38      add    ecx, 38
; v( t, a5 K9 f- z+ C8 X6 D0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
; x& Y8 B" J2 P3 O8 W0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] : a- f. a3 R4 O4 `+ Y
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
5 X$ y8 j& t+ q, x7 x. f0132DC0E  .  50            push    eax                              ; /hObject
- W5 ^2 ]' M; M9 [; p0132DC0F  .  55            push    ebp                              ; |hDC
. k( I7 R8 {9 D& T8 V+ j0132DC10  .  FFD6          call    esi                              ; \SelectObject
- F0 l: w+ a7 `" h; w/ _& _0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] # O( C: T1 k  d$ u! g# i  \) Z
0132DC16  .  51            push    ecx 6 I  h/ I& S- B2 m2 i
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
- y  Q( Q' K! P- R8 a8 u0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] % O- y3 Q0 k& u% L. Y+ a+ l* i
0132DC21  .  83C4 04      add    esp, 4
: a! k% k# E" }, T0 |, c: V9 s, K$ r0132DC24  .  52            push    edx ( w0 v9 O0 d& F3 {$ G% Q3 K! T
0132DC25  .  55            push    ebp
2 b4 A0 R* X- A. ]5 ^- }0132DC26  .  FFD6          call    esi
5 Y1 h: v1 Z# e( Y1 e- t( t0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] " O$ I0 t1 g& Z8 Z  c; d
0132DC2C  .  50            push    eax # }( g' j9 {' w2 [" v4 C" ]: a
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
- e$ b- [  Z  G9 w; I& f5 }0132DC33  .  83C4 04      add    esp, 4
- ~, T: j+ a! o, o: J5 |0132DC36  .  55            push    ebp                              ; /hDC % |9 T% L/ g+ N
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
  s, u% F( }7 P5 B0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
3 G& r% ~& K) a1 I) p: E0132DC41  .  6A 00        push    0 8 O# `( r4 P% ?2 Z
0132DC43  .  51            push    ecx : a+ v) d8 J) V% Y2 ^  L# z
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
' Y+ H0 o% K6 W6 h0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
6 \) Y( ?7 C, [% q1 \0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
. S0 o; e2 o! j( C9 f  c* |. R% h0132DC4F  .  6A 01        push    1
" y% [; I) P: E0132DC51  .  83C1 38      add    ecx, 38
8 H- s- r( E- s0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> 5 P! f+ ~5 X  ]3 u8 _& C0 S
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
: Y& C9 f  ]; S5 t- L0132DC5C  .  8B11          mov    edx, dword ptr [ecx] , \! h* W0 s8 v4 l1 E
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] 2 l. f# z$ h" G2 {, e4 f
0132DC61  .  6A 00        push    0 4 g1 A: _- q, f7 a
0132DC63  .  FFD0          call    eax 9 z0 {. D7 i- c& K
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 4 k. a" ^) X, J( A5 M+ j. r3 C
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
. M  x  U! h) C6 |! f7 v2 \0132DC6C  .  33C0          xor    eax, eax
/ B6 C" W4 ^$ ^1 [0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 1 ?+ J& H5 H( r! ?
0132DC75  .  5D            pop    ebp
7 B" g+ ~$ A6 y6 C# x& V0 v0132DC76  .  0F9CC0        setl    al . @6 u; b/ K) K7 [* @9 u
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] % v% c8 z, Z$ \; _8 t% r
0132DC80  .  5F            pop    edi 7 K, t7 V4 N( O6 p( V/ m
0132DC81  .  5E            pop    esi
5 }, @; j1 |9 _. r; i( \5 W0132DC82  .  5B            pop    ebx
8 L2 t. S$ P* c5 S: f& {8 T, B0132DC83  .  33CC          xor    ecx, esp * J" I5 k( ]) G* G8 [/ g( M- ]
0132DC85  .  E8 E2460500  call    0138236C 2 ?# x4 f3 p) o7 s% b: @
0132DC8A  .  81C4 98040000 add    esp, 498 : _6 o- {) P/ [$ _4 @5 Z* p# z2 }
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.( P  P8 R! F# }% Q' s; e
分析说明也许以后会补上。
4 |( j( b6 J: `9 N8 u8 x9 I2 `- Z/ O; e
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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