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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 $ U4 t* y& h% c) ?( n7 `8 b/ [

8 o) Q* g6 N: t# \$ A0132D7E0  $  81EC 98040000 sub    esp, 498
) g1 i. i! I8 a- v  d. S( n0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] $ \: d' p, n6 Y# V
0132D7EB  .  33C4          xor    eax, esp
' O* G2 `& F& I# }/ }$ ~0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
" H$ V( V- p& {; n1 h# ^0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
1 `3 c+ p" b# @" N/ R( A7 }0132D7FB  .  53            push    ebx 4 s0 r, D( S2 B" U# w
0132D7FC  .  56            push    esi
' F& P: ^' N3 o3 o0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] ) s& U2 |+ i9 h8 b6 x1 q; G
0132D804  .  57            push    edi 7 R& P. i, u* L; n) T9 Y
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 9 A) B1 H7 h: Y0 U
0132D807  .  8BF9          mov    edi, ecx                        ; |
3 I" ~+ v9 \' c6 J% p; c, z) b0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | " X6 |* `" r* D: k  V4 R
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 6 w, g7 s9 \4 T- i& E
0132D814  .  6A 00        push    0                                ; |c = 00 ! I1 k0 I) ?  }# Z& m0 z* o$ _! P, s' S$ s
0132D816  .  52            push    edx                              ; |s % ?9 ]% F% @- F- m- e; A
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | + S. _' D: O0 K
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
& u/ E. [9 d* e5 U! _8 D# Q! X" |0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 5 ?0 Q$ A9 q0 p4 Y6 e
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset / T6 t, I' f, `
0132D82C  .  83C4 0C      add    esp, 0C
) B( I! v, ]3 S0 L8 m0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
: r  |  v3 I; g4 \0132D837  .  74 12        je      short 0132D84B
' n7 v3 x- S- c: l. d* b  S& s0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
1 v2 m+ `6 Q2 |) o; O0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" $ r* p. u5 w7 [' ?. E; y& a5 ?6 H
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
( e2 s* ~0 @9 Q5 H" F0 f# _0132D849  .  EB 32        jmp    short 0132D87D
( e; H3 k% `1 `$ S0 T0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
& L' j' G9 {. [1 d0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 5 e' D) M* s) G/ }6 _3 E! e
0132D855  .  33C0          xor    eax, eax
5 N! `  ^) p% N4 L9 d/ v2 ~: k  X0132D857  .  EB 07        jmp    short 0132D860
7 @" s5 ~, ^  H/ C9 Q( _- U0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
0 A- N  a! v4 o. T2 t! Y5 @6 I0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] 8 Z: `, L7 v; }- f* {
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 7 g9 H0 U, ~6 ~# v8 e
0132D86B  .  83C0 01      add    eax, 1 % \4 O: c& U+ f; S- F3 P
0132D86E  .  3BC1          cmp    eax, ecx
+ Z; h) h/ ]/ _0132D870  .^ 7C EE        jl      short 0132D860 - |7 i  @/ o5 |! Z
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] ! i" j1 P$ O' N* y* A
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax % U9 u8 t/ K% I" @, d9 A
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 9 l* y( K  a4 P, `/ D( P9 w
0132D880  .  85C0          test    eax, eax 4 R, x2 B: m5 a) x* t, E
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] % \6 }$ G" c% s3 E
0132D885  .  75 05        jnz    short 0132D88C - l4 P4 W1 X/ m( \
0132D887  .  B8 16263901  mov    eax, 01392616
) P* ~8 F% j1 {6 S6 ]! C" z8 Y: ?0132D88C  >  6A 00        push    0
4 m& y5 W2 C! U0132D88E  .  6A 00        push    0
) f1 p* `/ J" `  k  e0132D890  .  50            push    eax & y% B8 C( Y) \
0132D891  .  6A 1F        push    1F * z& a! m3 f7 c& N
0132D893  .  8BCE          mov    ecx, esi
) {3 O% f1 q7 m" l. F7 K# I4 z2 ^9 N0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> . N2 M4 W# H' V9 J# Z, f) G" [
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] " H3 f1 s8 M2 H* T
0132D8A1  .  6A 00        push    0 4 r  f. i6 j* \+ _" m. @
0132D8A3  .  6A 20        push    20
! g9 T/ b  H8 V$ J2 V0132D8A5  .  51            push    ecx 9 r- m9 h/ Y+ n* i
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] 1 W. @0 H  T- t1 i) b6 U
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax   C2 a1 y; w/ ]
0132D8B0  .  8B10          mov    edx, dword ptr [eax] ' v% a/ n5 s9 L/ Q. r( c- t
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
! s9 G7 Y  k( u* N& R7 b0132D8B5  .  51            push    ecx
; N" p$ z' H, I/ ]7 u$ W3 p4 t- y0132D8B6  .  8BC8          mov    ecx, eax 0 k6 m) B. P+ @0 K- v3 H
0132D8B8  .  FFD2          call    edx 4 P  L+ w5 n$ R5 D( G6 Y
0132D8BA  .  85C0          test    eax, eax
" z& D  i6 ~( Y9 N; [0132D8BC  .  75 07        jnz    short 0132D8C5
% y1 V+ R4 m0 x( U1 X! k5 X0132D8BE  .  32C0          xor    al, al
0 F! {* W* B8 s: B/ Z) C, t: }/ x" v0132D8C0  .  E9 B4030000  jmp    0132DC79 % r7 w6 ~- Y7 u
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] : |' ?! @+ L7 i$ }
0132D8C8  .  8B01          mov    eax, dword ptr [ecx] - P9 H, A9 g7 o/ g, e
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
2 S8 z! B0 R0 X3 E6 s% s2 \+ m- e- {; s# L$ R0132D8D0  .  55            push    ebp " B' [) W6 U% g( W
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
4 G0 L! F! W; R0132D8D5  .  52            push    edx
; j+ S# S: M+ z  Y9 s/ N0 e0132D8D6  .  FFD0          call    eax
! \. [; M, D) m; p5 t# s) l& |0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
" e8 M4 r. n5 ?# C0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
$ S, ^4 |4 @/ A0 u6 A9 l: E0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
1 V  x* ^8 j6 Q: K7 D0132D8E4  .  51            push    ecx ( A" T5 |' [9 `! v
0132D8E5  .  8BE8          mov    ebp, eax
8 ]: _( [0 m# `% w7 ^' c0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap . F7 K: |5 U) d3 |! v, u" p  V
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject # Z  X# h8 t7 d
0132D8F3  .  83C4 04      add    esp, 4
& G( _" A/ s( z& f( u  Z1 U0132D8F6  .  50            push    eax                              ; /hObject
! x7 i) J& F4 ~3 Z% g, ~5 A0132D8F7  .  55            push    ebp                              ; |hDC
* F) v4 ^  G  M& c0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
/ o3 Q1 Q/ ?# P: u( H0132D8FC  .  FFD6          call    esi                              ; \SelectObject 2 D+ c* r( H/ A$ i/ \( X
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] 2 Z. c& S2 b. o% _: J
0132D902  .  52            push    edx % J5 Y0 a& C7 Y3 n
0132D903  .  8BCB          mov    ecx, ebx
) X0 m6 }8 ~% T# _# r0132D905  .  894424 40    mov    dword ptr [esp+40], eax % }% y3 B& E' Y* {* C! o
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
# V6 e* a% F: S& u, O0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] 6 D, n2 Z1 p8 K2 Y. P  d% N
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) - S; i% ~* h! Q$ \
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
9 P1 A9 k) R6 O( Y3 l! R! S" X0132D91A  .  55            push    ebp                              ; ||hDC
, v1 D9 I2 Q( c9 E* c0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
& c% S$ v( M7 a8 Y0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps + F( ^2 F7 O, U+ k7 E6 Q
0132D924  .  50            push    eax                              ; |Multiplier
1 S: s( Y! L3 x$ p: u# F, Y! O0132D925  .  53            push    ebx                              ; |Multiplicand 0 z/ [; j2 U' l6 S2 O
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv 2 G  }/ X; }& z! o1 R; Q+ u
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] ) S& ^, ]; N9 h- u7 l- S) X- a; A: t
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
6 u; y) x0 K% n0132D937  .  51            push    ecx                              ; /FaceName " v4 e5 a1 c+ p1 V
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
5 k& G3 f  J* p2 y1 s( b" Z$ w0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE . C5 u3 i0 ^* C. v4 E
0132D941  .  52            push    edx                              ; |Quality : f* p% O  A5 r- {+ F
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
7 P4 f5 K$ }6 M# d3 Y3 B$ o, J0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
( w3 p0 Y  H1 ~# e6 g  x6 s4 K0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
) F; A# ]) H# ?8 K! D# K- Z! n0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
( L+ z# D2 W, k( Y. @0132D94A  .  8BD1          mov    edx, ecx                        ; |
6 C* S4 M7 [/ s$ [0132D94C  .  D1EA          shr    edx, 1                          ; |
" C/ J3 U0 z. a1 d) J5 S2 X0132D94E  .  83E2 01      and    edx, 1                          ; |
5 c$ `, u( g* K) o5 @0132D951  .  52            push    edx                              ; |Underline
4 m3 n; U. R% C; e: u6 j- r0132D952  .  83E1 01      and    ecx, 1                          ; | 8 t. d0 k( n3 T; A
0132D955  .  51            push    ecx                              ; |Italic
) J; S0 h) L9 d+ V0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
* a7 }) r+ k4 b9 R0132D95D  .  51            push    ecx                              ; |Weight
, p  p4 c6 V! q5 p0132D95E  .  6A 00        push    0                                ; |Orientation = 0
* [. M! R2 j# e7 b$ I" p0132D960  .  6A 00        push    0                                ; |Escapement = 0
( h$ z; O  U$ N/ B0132D962  .  F7D8          neg    eax                              ; | 5 W6 ?% W0 w+ K( S% s
0132D964  .  6A 00        push    0                                ; |Width = 0
2 W; _+ A0 J+ g! ?+ U, o7 A0132D966  .  50            push    eax                              ; |Height , u3 G5 w2 ]! j% C: [/ ]& e) U
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA ( c! X; Z$ \; f* b, J# X  Y# X4 P
0132D96D  .  50            push    eax , l$ z) ^9 d" s4 w: L$ B
0132D96E  .  55            push    ebp 7 m- n) w7 G+ t5 C3 }
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
7 Q; X# C1 u6 f0 s0132D973  .  FFD6          call    esi ' M3 W8 d+ }) _. l0 H
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] # U* E, `/ q/ m7 m- g/ ^5 z
0132D979  .  52            push    edx                              ; /pSize
0 M' |3 O/ b' }- M5 ^' m0132D97A  .  6A 01        push    1                                ; |TextLen = 1 . c! K/ R9 A3 o: \
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" 5 R! v$ F1 g8 F1 F
0132D981  .  55            push    ebp                              ; |hDC ) T1 p/ l9 G4 `: m- g' i. p
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
( }6 {* M: ?' z& w+ o0 s0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 0 V( t! k# e  }7 ]8 c3 r( g' C6 C
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] - |. y0 m2 T' Q, m# f! f
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] / m: i/ l7 h+ t$ q. A
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
2 [6 d' y! k: A0132D996  .  33C9          xor    ecx, ecx ; }0 x- U1 ], j2 W. v
0132D998  .  8BC6          mov    eax, esi 0 G1 c9 g" [  r
0132D99A  .  BA 20000000  mov    edx, 20   D4 y* e# j2 F" m
0132D99F  .  F7E2          mul    edx
# T- C0 A6 a  [0132D9A1  .  0F90C1        seto    cl # V1 ~4 j, \) I- o9 R! u( f
0132D9A4  .  F7D9          neg    ecx   _6 @) \7 ^7 R2 O. [
0132D9A6  .  0BC8          or      ecx, eax 3 C" y5 d+ q/ B7 I) k+ }1 Q+ c; K
0132D9A8  .  51            push    ecx # ?1 Y$ r: K: M; D4 j5 @; e4 v! p
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> 2 o6 Y3 W1 l( `4 l: U! F
0132D9AE  .  83C4 04      add    esp, 4 0 C6 G  r0 j9 w% u4 R. h
0132D9B1  .  85C0          test    eax, eax
0 b/ |: A4 V' O' U; t/ t0132D9B3  .  74 28        je      short 0132D9DD
. `& a' x" g1 r2 x" x# d, g3 m0132D9B5  .  83C6 FF      add    esi, -1 0 z- p' T6 C' ]1 M: [" [' \) Q
0132D9B8  .  78 25        js      short 0132D9DF & g% K5 ?( y0 A" q, J: ~/ k
0132D9BA  .  D9EE          fldz
  ?/ r' t; B$ n; X/ Z; m( d5 o4 h0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] & S- D" z! s) t' G  v% D
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] $ G& c/ }) D, n6 q" P, N
0132D9C2  .  83C1 20      add    ecx, 20 ( v' U1 b- G, D; ]" u
0132D9C5  .  83EE 01      sub    esi, 1
! @' Z. K; Y. A6 r0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] / o5 q  c1 ?9 q( p1 |+ r
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] 3 M& u4 g) Y. E" ^& C" n8 z  L6 a
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 3 z$ l5 b( Y4 ^
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] " X  W6 r1 ?0 J8 U1 o5 n
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] 5 Q% ^0 d: n- q* g# F. T
0132D9D7  .^ 79 E6        jns    short 0132D9BF 1 `) ]6 A2 W- F1 h; P2 l6 }& ]7 R) S
0132D9D9  .  DDD8          fstp    st ' d( G, _2 ?. U* X- \7 M& Z* s
0132D9DB  .  EB 02        jmp    short 0132D9DF ! X2 ~) D! A0 G; j
0132D9DD  >  33C0          xor    eax, eax : M( e. u# L6 q/ x7 n$ @
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] & k7 O5 g+ O; ?) G9 D
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
( o- y+ \. @+ L9 c+ S" ]" B0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
/ n8 A9 R* t. G- a. L- J# _0132D9F0  .  50            push    eax                              ; /Bottom ' y# L* ]- L% c6 o. F
0132D9F1  .  51            push    ecx                              ; |Right * i! ^, B, k' \8 k" ]' w
0132D9F2  .  6A 00        push    0                                ; |Top = 0
; y+ Z% |9 y: N7 C' Q0132D9F4  .  6A 00        push    0                                ; |Left = 0 0 J- W' N1 W) E" p1 E
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
' X% ~! B; M: R$ j3 Z0 {6 q: v+ S0132D9FA  .  52            push    edx                              ; |pRect
+ W! b5 R& [2 ?( `! n5 H. W0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect 0 |) x0 g! @5 o6 o
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
  P7 V8 k9 \: z( `8 Q6 k0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ( ~' H$ q7 V3 k; f  q
0132DA09  .  50            push    eax                              ; /hBrush
) v2 j6 H1 k! D( X. _& ?% b0 }5 n0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
6 o6 N3 y4 B: M0132DA0E  .  50            push    eax                              ; |pRect
2 |+ w% s/ _3 C4 |8 F0 L0132DA0F  .  55            push    ebp                              ; |hDC 8 [4 E* Y! p6 r/ `* u, }' T  ~
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
- y( F$ O9 u) s- ?* M& W0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> 5 o; |6 g5 n% v4 O# X% L. h
0132DA18  .  55            push    ebp                              ; |hDC 2 t2 W+ o; E" r- g" D( \
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
2 C9 s1 e3 q, O1 Z( h+ h0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> # _. `' A* D3 |
0132DA24  .  55            push    ebp                              ; |hDC " h9 u  M, G" [/ l& @. {. O
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
9 m, d; U6 C- y8 d0 H0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT # `% x: y1 g! W: D. l" z
0132DA2D  .  55            push    ebp                              ; |hDC 7 z7 M. |( g( T0 q  O
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
. t$ d, f( f  C: }0132DA34  .  33F6          xor    esi, esi + M0 h3 S2 u/ Z* @1 I8 i
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
+ {0 n, t; o/ W: Q5 Z4 @% R  z" D+ t1 U0132DA39  .  BB 01000000  mov    ebx, 1 ' _$ L8 y+ b1 Z1 r
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
6 N$ q3 K" q" H( Q0132DA42  .  897424 14    mov    dword ptr [esp+14], esi ' y8 x* r& C* y5 Q- r
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
. v/ z3 \7 q# T5 w0 Q0132DA4A  .  0F8E 20010000 jle    0132DB70 " U! I: _" ?  w1 l: L7 V6 w7 C! f
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 1 r1 F& B% W7 i1 G* W' P- F' Z
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] 8 p& E% ^2 t: S! T. {- {
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi 8 ?0 h7 k# ~; t) f0 k
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax   T% X+ ]6 R7 K: v6 _0 A2 G9 N; P
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
- z% c& H% }, i; p& x( E8 K2 T' y0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
- s% ?1 R" K7 ~9 E$ C0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] . P( P/ {! E. F1 m8 n# v* ^
0132DA72  .  EB 04        jmp    short 0132DA78 & }; C7 O& k  u9 v& Q
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] ; l- E4 N; T% ~$ N" Y# ]
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
/ Q: O3 A- ]' ~+ C) B* ^0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
- z: r$ w% I" \; \0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] , p8 G) Q. x0 H  j2 y& k! [! \0 d
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx 3 b: M) ^5 U8 K! \( |
0132DA86  .  0FB700        movzx  eax, word ptr [eax]
0 N; t; ]5 z7 P! R0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] 2 x$ u: P5 M, z$ m: U2 b! T
0132DA8C  .  51            push    ecx                              ; /pABC * P$ ~1 q. |/ f; {9 i' i
0132DA8D  .  50            push    eax                              ; |LastChar : K2 _0 u' ]7 J) u; K, P; w; L
0132DA8E  .  50            push    eax                              ; |FirstChar 1 T7 G; H$ t: M2 [% `
0132DA8F  .  55            push    ebp                              ; |hDC
/ _- j: O) E0 M- j0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
" Y5 f4 L2 }& l+ ?+ b& j0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] " v- N$ o+ h  V
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
& D' x: P( [  Y- J0132DA9E  .  73 10        jnb    short 0132DAB0   [8 P( ]5 _3 i3 ~) K. x
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 $ V7 u: ~9 Q* p' y$ l7 u' n
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
( h9 R' _# F  m- _) _+ q4 Z, a0132DAAE  .  EB 0C        jmp    short 0132DABC
- v8 l9 t* a" {( R7 h3 v( l0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
" p3 y; }# Z" P) r, T0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 - P* t+ L) G$ s: L( A9 x8 C- I+ |
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
9 E) g2 K! p8 t7 N' ]1 a) s$ {0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
, U' ?- u; V8 F) X& C4 d) O1 u! \2 T0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 7 W1 R- }( n) m+ b8 w5 {7 L2 m
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] # N5 N& d5 ?2 g' C& W$ \
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] 5 y& P7 p& S9 Q& O) Q% d0 |# }; |( v
0132DACE  .  72 14        jb      short 0132DAE4 - y$ A% t4 k5 \) ?) e0 k
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] ; `9 ~% b9 S( y) L! p9 f, C3 n
0132DAD3  .  BB 01000000  mov    ebx, 1 9 `, ~$ I- c5 Q" u# c
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] $ Z  x, m/ ]$ n5 k3 K& X
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx 4 u) }, [8 D# b5 ~4 }. M9 M
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax % k( a! i8 e# A5 [- w
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
  a3 q# x0 f4 ^& ^- u- e  z" n0 X0132DAE8  .  03CB          add    ecx, ebx % e( z: Q1 b3 V: i9 X
0132DAEA  .  85C9          test    ecx, ecx
# ]% }" k- j4 q$ C$ I/ j) Q0132DAEC  .  D94424 38    fld    dword ptr [esp+38] + {" |8 O" I9 Q# y$ m, s3 `, y
0132DAF0  .  D9C0          fld    st 4 G$ {7 n: J+ ]2 l$ s
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx / Q2 K1 j/ M* u% z9 c8 R
0132DAF6  .  DEFA          fdivp  st(2), st
, d! \% T) E. @, `: Q" F6 Q, ^0132DAF8  .  D9C9          fxch    st(1) : S+ O4 o' u; Y, ]( |$ ^0 R
0132DAFA  .  D91E          fstp    dword ptr [esi] 3 L9 N) Y  M5 `& L: _$ D
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 0 Q8 [, V# K/ t# R9 |  |
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] * }" f" c5 v: k$ [. b" P
0132DB04  .  D9C0          fld    st
1 X! w. ?& f4 j* w& l0 C# ~0132DB06  .  DEFA          fdivp  st(2), st 0 ]$ C! U5 Y! u% c' \6 t
0132DB08  .  D9C9          fxch    st(1) + P; {/ {/ w) T' g/ G! x
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
( X" ?% X) [1 h0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 2 q' Z3 T2 `( ?6 K6 p" Y  R
0132DB11  .  7D 06        jge    short 0132DB19 ; r# J8 @: P9 s4 f7 @  ?9 U9 ]
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] * X; a4 o9 E1 x! y; f1 r9 J, W, G
0132DB19  >  DEF2          fdivrp  st(2), st , W% W9 r$ x: O* q
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]   L/ o) S1 ~. q8 ~
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
* ^7 v: W5 b2 q0132DB21  .  52            push    edx                              ; |String $ Z: m/ n& {# w' s! U" A! I- K5 z
0132DB22  .  50            push    eax                              ; |YStart . O1 U$ Z% k! p' F# w$ p
0132DB23  .  D9C9          fxch    st(1)                            ; |
3 ?1 r( ]" l$ w1 Q0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | 1 M5 V- N6 Q  r; m
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
; d+ I* E: v9 t1 h0132DB2B  .  03C8          add    ecx, eax                        ; | 9 Q% K$ U0 `3 G& t6 _: C
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
3 D. Y/ R5 I/ Z* I2 ~4 ^2 \" r  F$ ]0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 9 r) V# q, l4 W
0132DB35  .  8BC3          mov    eax, ebx                        ; |
$ ?- n, `1 T) S) s: d0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
, J5 ~8 G5 z' A3 w* B0132DB3A  .  50            push    eax                              ; |XStart . e2 ^" C7 `1 j7 ^2 ]! P
0132DB3B  .  55            push    ebp                              ; |hDC ! E- j, M3 J6 q& @: E
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | 5 l" @$ Q' U2 c0 A5 W$ g" P7 P
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW - v1 C% g" \# `0 m4 u5 W' K* ]
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] % S: B8 i2 b: J) K1 i
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
* d2 s, ?1 Y8 g0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 + g. a9 N# B& F/ V, \9 N' c
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 % B& u; H' r- b% H1 }5 c
0132DB56  .  83C0 01      add    eax, 1
. F9 V$ T% k# I& v, U9 R* n0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
/ w. h) n9 P- r6 z+ S: n) Y: v0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] . \2 r( j' R6 a9 V$ |9 ~+ n
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
' V- V9 Q0 x  F' U+ T% m; f1 Z) Q# a0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax : m5 L0 S2 y  w$ j+ R% ~
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
* ^% S9 h; E! ~0132DB6E  .  33F6          xor    esi, esi ' N- w7 \6 q/ f4 W0 P3 @/ w
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] : a* G5 }+ Q/ k% S3 D( _
0132DB73  .  6A FF        push    -1
) O5 ^2 N/ ~7 T4 L0132DB75  .  83C1 38      add    ecx, 38
6 l, u: u1 l! D. e: y; z% A0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> * j7 G$ ~  c3 |7 m5 n7 F! c; y
0132DB7D  .  8BD8          mov    ebx, eax 6 q' U- z: C: T, R4 |
0132DB7F  .  3BDE          cmp    ebx, esi
3 l8 J( a4 a! d8 ~3 ?4 G$ A* h# d0132DB81  .  74 74        je      short 0132DBF7
* q% \: ^& m; b1 c9 N# y# A0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] $ L8 S6 Y' F* ~; n% R
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
5 i4 v6 K! ~" t! Z/ Y7 x) C5 M0 u0132DB8B  .  52            push    edx                              ; /Buffer # z' `( i5 L8 \
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 1 M# a8 W2 A  t: p6 o
0132DB8E  .  50            push    eax                              ; |hObject   |( d- A( |- `* i" h; V+ q
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
9 S4 O2 S; F! H2 n. J5 {7 q5 F8 j0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
/ `/ E! T. J4 a5 g. @0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
/ I: b# E8 {" d" Y7 v1 N0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
+ D3 @: q' L) `% p0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
/ E! V6 p4 k* n4 G5 z* o0132DBA5  .  85C9          test    ecx, ecx 7 d9 i8 b- p% f% d1 a
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
$ N; z+ R; c* K" I4 T& E0132DBAF  .  7E 46        jle    short 0132DBF7
8 c" u' b( B/ |0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] # t- L: C( \( i- Z& R
0132DBB5  >  33C0          xor    eax, eax
9 x8 r, [- F, ?4 F3 ?! W. B4 V: M4 Z0132DBB7  .  85D2          test    edx, edx
9 F8 _* R7 m( f5 C0132DBB9  .  7E 26        jle    short 0132DBE1 ; [+ v6 w8 |- {7 {( R
0132DBBB  .  8BCE          mov    ecx, esi 4 q7 [4 v. e" z  @2 W# S! x: `
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] ( {# p" ?$ T! e1 }
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] - ~& G* ?7 R) d' H" x2 Y- q
0132DBC3  .  C1E2 18      shl    edx, 18 - F( w2 L$ Z( I4 F# _! z' X
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
3 V* Z  P- {* T& k/ I* \0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
4 ]. H% L0 p( b1 `6 Q# U0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 1 u3 O% u3 T0 D7 r$ G
0132DBD3  .  83C0 01      add    eax, 1
* I  D$ I2 `, W9 |* {0132DBD6  .  83C1 03      add    ecx, 3
$ \! q* @9 K: e; }& o6 T0132DBD9  .  3BC2          cmp    eax, edx
$ o- K: x$ S$ K' |/ E) @0132DBDB  .^ 7C E3        jl      short 0132DBC0
( K) B% @0 U  T* O9 r0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 7 k! g, E# [, M5 m1 g; `) \
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]   W2 ]0 d% ]2 T) |8 b
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
1 z' B+ N1 G' w4 |* @2 c0132DBE9  .  83C0 01      add    eax, 1
/ d9 s# Q% N/ B% N0132DBEC  .  3BC1          cmp    eax, ecx
$ j$ K% n7 x% e: K: G. h4 T0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
5 l) y* l- }0 Z8 {6 q7 O" d0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
+ ~* F7 T2 d  S0132DBF5  .^ 7C BE        jl      short 0132DBB5 5 E! e8 X$ z8 ^! T6 f
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
! Z% Q* [  @2 l2 n4 ^0132DBFA  .  6A FF        push    -1
8 V3 W' U! T1 ~6 i0 R) a3 e0132DBFC  .  83C1 38      add    ecx, 38
4 a7 F3 F. }. @0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
. V: ]: T5 Q( |2 R0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
* \: y! F) V2 Q) Z- ?0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject # b% l2 z( c! ~
0132DC0E  .  50            push    eax                              ; /hObject
! u1 N7 `- q9 b7 e+ R* h0132DC0F  .  55            push    ebp                              ; |hDC 7 W9 f  A* _( ]0 ?8 `
0132DC10  .  FFD6          call    esi                              ; \SelectObject
6 ]/ r& l' D: r! ]! J. B- {0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] ( b& R& W1 q/ E! f7 }, f
0132DC16  .  51            push    ecx
: g# W5 @$ r# @' T, O6 v0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
# v0 I. b+ G% O8 U4 |9 O0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 1 l# B8 b) D& F* Y
0132DC21  .  83C4 04      add    esp, 4 & ?1 b, A/ y8 n) y* S: ]- L
0132DC24  .  52            push    edx
$ P7 q. h2 Y" f0132DC25  .  55            push    ebp
4 u& F0 Z7 N, }* z& w7 I0132DC26  .  FFD6          call    esi " {9 v" N7 F$ d$ O3 u; s& P" {
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] / b$ A; h: Z: t! z( H6 ^* @3 a
0132DC2C  .  50            push    eax
: H! G  P" T4 c0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont ) L- N$ a1 Q2 c3 P) z
0132DC33  .  83C4 04      add    esp, 4 & X4 v5 ^5 E+ K" A% H
0132DC36  .  55            push    ebp                              ; /hDC
! u+ a1 W8 w  J* ?, E0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 9 N6 ?4 N# H/ C+ H, d. [6 G
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] : m* ~; N* {& t* {$ O- T
0132DC41  .  6A 00        push    0
; C5 c& R: O8 v5 X: N: P0132DC43  .  51            push    ecx
9 }) x  E! a, X0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] 1 C7 E7 f  S6 i
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> ! o- w% |$ S3 K
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
" t8 X; D  Y6 \# Y2 A- N0132DC4F  .  6A 01        push    1
: U. {5 M- Q! k/ o0132DC51  .  83C1 38      add    ecx, 38
# z3 O- }! P) _9 q- T' x& Z4 s1 u2 \0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
2 m+ J0 k; ?' y) ~2 m  b0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
4 q/ I+ X( y2 ^4 r, _) n) Z. J( Q: |0132DC5C  .  8B11          mov    edx, dword ptr [ecx] " C' n+ Z9 ?  j5 N' i4 b' d9 z
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
" Y+ C, O) h5 y: A3 l0132DC61  .  6A 00        push    0 " S( y  {! Z8 [8 @; q
0132DC63  .  FFD0          call    eax . \2 Z& G; I9 U
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
. [& v$ x) O+ d6 c- S0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] ' v& t' ?  s# v) i& R: D
0132DC6C  .  33C0          xor    eax, eax 9 g2 n# @2 U, ^) O0 k0 G4 `
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 4 L" M/ t0 u" ~) @  `* r8 [
0132DC75  .  5D            pop    ebp ( d: {: F# N2 l' _) J" M( D: E5 r( ^
0132DC76  .  0F9CC0        setl    al ) `& i0 X4 N7 e+ _" k  C5 r" y, M6 x
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] : c2 P2 l3 R1 i! h6 f5 o8 h
0132DC80  .  5F            pop    edi : o8 ~4 j& g; [8 {/ D
0132DC81  .  5E            pop    esi
+ m: C7 S! q3 ^: |* Y( [/ r0132DC82  .  5B            pop    ebx " ~( F6 ^, n3 P. b8 H
0132DC83  .  33CC          xor    ecx, esp + Q3 q% c* [. o7 _% n: [/ {
0132DC85  .  E8 E2460500  call    0138236C ( }7 k! u% N# D/ l/ l! }
0132DC8A  .  81C4 98040000 add    esp, 498 * M; {) ?$ L" R  E+ f+ T
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.
% D' j2 l) {' }9 g% p: j5 _分析说明也许以后会补上。
8 N3 j# k5 @6 z0 a
* y# R. o" ?( L) v# `+ u加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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