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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
4 i* x" A1 W  E4 W) }
8 Z( Y, n0 n+ k6 ~0132D7E0  $  81EC 98040000 sub    esp, 498 7 F& @' d, Y% U- a$ z& A
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
. F; m( U" K, q8 Q0 m/ C0132D7EB  .  33C4          xor    eax, esp ( |: J3 O& ]: W. U8 z7 h
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
: _2 F4 Y6 P8 X+ Y9 i" a2 t0 g- c' a0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] - t/ {# Z$ g3 X, d1 u+ U' g
0132D7FB  .  53            push    ebx
. Y1 l) H- `+ b0132D7FC  .  56            push    esi 8 Z$ ]5 e% X& n+ {0 F$ g! W
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] & f' E" _) f4 o4 M* {" X: B
0132D804  .  57            push    edi
' \1 k* Z: M% F% C& Y0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
( w0 D, \) x% c# k: Y+ ]0132D807  .  8BF9          mov    edi, ecx                        ; | + {4 c2 f% r& m, I' s" I* s
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | 2 r. E9 d+ J5 X  I3 p2 E
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 7 k: b0 s. h# w2 z3 C! v
0132D814  .  6A 00        push    0                                ; |c = 00
1 d  W6 d" A9 Y& I, R' W$ Y# E, m9 u0132D816  .  52            push    edx                              ; |s # y, C4 A, T: l4 H0 a% X
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | - p6 u# Y: g1 [* ^
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
1 Z' R: r, u; J* S+ N0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | $ v; Y  B; i% }: r
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
  E) ~# N  Y3 Q  L6 n0132D82C  .  83C4 0C      add    esp, 0C - D: U, U" d, ]" h* S
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
0 |0 M2 I* Z6 s7 L2 q0132D837  .  74 12        je      short 0132D84B
3 G) U3 n% B' V6 F3 I# W0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
% f9 ^: }$ ^+ b9 y1 O: k* q0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ' u" T* _1 S6 V/ }: E
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
$ \+ `# [+ t- l2 v$ m( e# K5 A0132D849  .  EB 32        jmp    short 0132D87D
3 q3 m7 R( C4 j5 C0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 & }5 ?5 V6 p& }. m  _4 W
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
& Z2 V. p, D" b& l% I0132D855  .  33C0          xor    eax, eax
) }* u4 z1 g3 a  a8 G5 l0132D857  .  EB 07        jmp    short 0132D860
  E' Y& u& [) P# T8 Y4 I0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
" M+ Q' s: ~; {0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
; H/ V/ {& W& m$ J1 ?0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx + n. \- o1 p9 Y
0132D86B  .  83C0 01      add    eax, 1
% c- C1 P0 m" |0 t0132D86E  .  3BC1          cmp    eax, ecx
5 |/ X9 t% I7 B8 j: V0132D870  .^ 7C EE        jl      short 0132D860 , D3 m  J7 J/ R$ Y* b: t% a
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
  W! X9 N$ v% t% M0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 6 o5 J! P( u  E# ]2 T
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 5 }/ d8 ^9 b. o, p; e
0132D880  .  85C0          test    eax, eax 9 [" w# i3 D' F. a8 X
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] 2 j2 R: B: G8 Y% ^3 E
0132D885  .  75 05        jnz    short 0132D88C
% ?  i' @2 o+ y/ P- W; E0132D887  .  B8 16263901  mov    eax, 01392616 ; p$ g  |- s! M" v1 k+ t* V
0132D88C  >  6A 00        push    0 $ C6 @% d' J8 Q, p, R  S+ }" a2 u
0132D88E  .  6A 00        push    0 ; z% L5 d4 a0 x  C8 V: X! g1 B6 _( o0 n9 U& t
0132D890  .  50            push    eax
" X( E! L3 n5 c9 b/ Y0132D891  .  6A 1F        push    1F " P+ P4 A8 A9 L0 f" F
0132D893  .  8BCE          mov    ecx, esi . S- G8 q7 e" G( B  ~
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 2 E4 \3 E% _. u$ b, z+ \
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ; f6 [7 h) \3 s5 X* X1 {9 `
0132D8A1  .  6A 00        push    0
# ?, D) I/ I- V' O& r, t0132D8A3  .  6A 20        push    20 - o+ v& C/ h5 o, o0 E: O
0132D8A5  .  51            push    ecx
; q# d8 f4 j* x4 ]0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
( \% T3 G7 K. h* X0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax - ~$ m* `% ^9 ~9 l' i" y2 Y
0132D8B0  .  8B10          mov    edx, dword ptr [eax] 4 B2 b9 |& d2 t. w7 t- Q# y' h
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] # q4 `4 Z: f/ W2 c) J
0132D8B5  .  51            push    ecx & c/ T' {" Z: u" P: O' N% w
0132D8B6  .  8BC8          mov    ecx, eax
( f9 i, B- {+ D8 a( r* `( i" T0132D8B8  .  FFD2          call    edx
& b5 k) E& Z9 a0 ?$ D5 q4 ~6 x! a0132D8BA  .  85C0          test    eax, eax
6 |) E4 M( J: z0132D8BC  .  75 07        jnz    short 0132D8C5 9 s: e& U( p9 ~4 C# B8 s
0132D8BE  .  32C0          xor    al, al
; j6 O0 ^2 a. a9 p; Y' E0132D8C0  .  E9 B4030000  jmp    0132DC79 9 K. T% u5 P) j
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
5 t' {% a0 q* L( @0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
" G: Z! w3 W4 b, Y( M: `0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] , \6 ~5 q8 s5 H2 @: f1 e5 h
0132D8D0  .  55            push    ebp
6 Y; H9 R3 v9 p5 a5 P& e1 V. q0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
/ p7 D. x7 V+ |$ I6 T9 s0 d9 Q0132D8D5  .  52            push    edx 0 h% [) D/ o0 ?' b" G2 z. e
0132D8D6  .  FFD0          call    eax
" M* {1 U# n. m7 H: Q9 r5 U0132D8D8  .  6A 00        push    0                                ; /hDC = NULL * Y# n- @" I! ?
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
; }" j8 V2 W6 v3 C' W7 y0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
) B) }6 z& W0 v# \0132D8E4  .  51            push    ecx
; C+ Z! |6 n) H# _* K0 m0132D8E5  .  8BE8          mov    ebp, eax : F/ e+ C1 G: }( h7 V. `$ l. o
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
$ x$ O8 k  H7 w0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject $ y  [! U' g. h9 Z2 M7 y- j& X& w# K
0132D8F3  .  83C4 04      add    esp, 4
: }% U* l1 J8 Q4 \9 o% b* f$ b& u0132D8F6  .  50            push    eax                              ; /hObject
# j; I" L9 i' \' e+ R0 m6 ^/ ?. Y0132D8F7  .  55            push    ebp                              ; |hDC , K9 c% Q- m6 R: s8 t/ e, ]8 M1 S
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
4 m7 g7 R/ \( `! G0 |  t0132D8FC  .  FFD6          call    esi                              ; \SelectObject
( f/ y) v" i" i' ]5 J5 c0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
% ]/ N, I3 [6 e0132D902  .  52            push    edx 4 ]5 A! m! P: E! S9 v
0132D903  .  8BCB          mov    ecx, ebx
( M( u5 |+ x' p0132D905  .  894424 40    mov    dword ptr [esp+40], eax , w) `. ~$ _  h: \" o
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
0 d# h  |1 O9 g) r4 I- k5 D0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
* Z. a' A" t) _' S0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
) X& w) E2 F. n6 G& l2 c2 ~0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
2 k3 ]0 y' K2 \6 P1 S6 t0132D91A  .  55            push    ebp                              ; ||hDC 6 _- ?9 O# a7 u1 i2 L
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
1 L7 A1 C3 M) X3 [0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ; [$ ?6 e; m+ j* o! U
0132D924  .  50            push    eax                              ; |Multiplier : B% L) g  P8 T, N. V4 Z* y
0132D925  .  53            push    ebx                              ; |Multiplicand
( R* \5 H% a6 m! f6 N0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv 4 m" b6 p7 c2 O5 w) h2 v
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
& i/ @5 \3 R0 N' v4 c# Z+ @5 K0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
: o$ T$ q/ j' o8 Y$ q( O- p; l0132D937  .  51            push    ecx                              ; /FaceName / n+ r+ b9 ?4 }! m
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | . ~7 q' n& N4 J9 L
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE , n: V  I. k1 X4 P
0132D941  .  52            push    edx                              ; |Quality
8 D1 H) P, }5 h8 q2 `4 w0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
# H2 ^& J% C* X" Y% a4 {0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
' z, U( m) {+ T# H0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET & W! K  m7 z: n6 h; i6 K+ u
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
+ w, q4 _2 }# o3 T1 [* {" S, R$ N0132D94A  .  8BD1          mov    edx, ecx                        ; |
' [' m' B' w6 \- S0132D94C  .  D1EA          shr    edx, 1                          ; |
% V- O- f) ~) f0132D94E  .  83E2 01      and    edx, 1                          ; | " @* E( h1 R) Q6 k/ `; o$ d5 b& X
0132D951  .  52            push    edx                              ; |Underline " H* m' g, U9 L2 }) b, j0 ^8 T
0132D952  .  83E1 01      and    ecx, 1                          ; | / s) B. k0 V7 z' g5 n& o
0132D955  .  51            push    ecx                              ; |Italic
+ @$ p% n+ \' M0 _0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | 7 k! P4 _" @8 T/ ?5 }
0132D95D  .  51            push    ecx                              ; |Weight / y7 r9 d& c# Z# y: m
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
. I- P% C( @; s+ W! j" X* X0132D960  .  6A 00        push    0                                ; |Escapement = 0 , i: W7 `; G+ d: x
0132D962  .  F7D8          neg    eax                              ; |
. _% P/ s) F* h3 J% g* O5 P0132D964  .  6A 00        push    0                                ; |Width = 0
( C' @: a' k) k: O0132D966  .  50            push    eax                              ; |Height
, O6 C* P. p7 X5 r- e9 y0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
9 H. W8 @* v1 u2 A0132D96D  .  50            push    eax
0 ]+ e; U& _8 e9 n0132D96E  .  55            push    ebp
" z6 X: q6 G, s) ^0132D96F  .  894424 38    mov    dword ptr [esp+38], eax $ A0 Q: J' ]/ z, a. R
0132D973  .  FFD6          call    esi ' c  ]# o  s7 j' @- r
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
% G$ S+ @) s) [( a, J7 t/ |  v0132D979  .  52            push    edx                              ; /pSize ) n- m7 F: ?. }8 S- w% X% `
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
6 u( [( ^' K" \3 {% ]0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" 2 y% M, c, R1 G* l2 p
0132D981  .  55            push    ebp                              ; |hDC
  |4 ?* F4 ?; y4 h7 k; F$ |# T0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
7 ]2 `9 b$ n" K4 r* S0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 6 T6 \, t2 ~' _! }' l/ K) W! J' O
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] ( Q1 a* R: g5 Z: g3 ~7 j
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
5 E; {9 k  x4 e  Z0132D993  .  8947 18      mov    dword ptr [edi+18], eax
0 @9 g! Q5 }1 H- A3 r0132D996  .  33C9          xor    ecx, ecx
' X, {! P5 }/ o) z4 ~, D0132D998  .  8BC6          mov    eax, esi
/ J+ B- a9 _$ }4 J0132D99A  .  BA 20000000  mov    edx, 20
6 ?0 Y4 D5 H9 t& g0132D99F  .  F7E2          mul    edx 8 _, ]  l3 o% s8 v/ j
0132D9A1  .  0F90C1        seto    cl
. y& `9 b) I$ |7 N/ p. j) ~) T0132D9A4  .  F7D9          neg    ecx ; ?8 S; y# u, s) U6 t# @! D
0132D9A6  .  0BC8          or      ecx, eax , \# v. T. D! l/ {7 e' }6 {% G
0132D9A8  .  51            push    ecx
% h, q& I  A! O$ [2 H  v( M0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> 8 f6 F- Q  U! G/ E) K& D
0132D9AE  .  83C4 04      add    esp, 4 4 t( S8 Y- ~+ ^& g- y  J1 S
0132D9B1  .  85C0          test    eax, eax
) |- Q3 U* U8 ^( _0132D9B3  .  74 28        je      short 0132D9DD 2 l! R0 s6 f' Q
0132D9B5  .  83C6 FF      add    esi, -1 1 O" M5 _% E& f7 _( p+ A
0132D9B8  .  78 25        js      short 0132D9DF / U$ Y; f: ], v: k/ Z( V
0132D9BA  .  D9EE          fldz $ b- u2 v& j5 m) U6 n
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
0 l; P* B& ]7 `6 G4 [, z0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] . c, i5 L! W; L7 k; n
0132D9C2  .  83C1 20      add    ecx, 20
% B7 h4 _; @8 H* v( Y9 j0132D9C5  .  83EE 01      sub    esi, 1
" d  t- S& f; w, _0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]   O3 K% J% S, Q; U; J% [
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] 5 y$ x+ D$ J0 g
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 0 o. f1 f8 }1 n5 H% v
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
4 i% S7 z" b' z1 |; V0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
, c  ]: {+ F0 S0132D9D7  .^ 79 E6        jns    short 0132D9BF 8 s* g9 G/ O7 |5 r, ~! T
0132D9D9  .  DDD8          fstp    st
6 C. ?5 c! ?7 P. b# Q/ m5 q# R3 ~0132D9DB  .  EB 02        jmp    short 0132D9DF ; M4 w  u5 J2 S" g& G+ g8 e8 k9 y
0132D9DD  >  33C0          xor    eax, eax % D9 m- q& b- s& E* c! k
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] $ w: F$ ?7 ~6 P# W9 g' |) p* q
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
( m1 p) l/ _) c; Y7 w6 ^0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] 4 L6 k' s0 C% y( p% s# J8 `
0132D9F0  .  50            push    eax                              ; /Bottom ! A7 x# u9 p) Z: u, ?& n
0132D9F1  .  51            push    ecx                              ; |Right
8 B& j5 p8 X( c+ U0132D9F2  .  6A 00        push    0                                ; |Top = 0 ! `  j$ h7 c& `1 U- k) q  v: V
0132D9F4  .  6A 00        push    0                                ; |Left = 0
  y* r  V4 l1 \: ~( H0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
$ Y$ ?2 V) ^1 z$ t4 ?- b0132D9FA  .  52            push    edx                              ; |pRect
, }$ T8 m. u) s& b) P( p0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect 1 ^% D' l8 V* q4 {
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
- T2 _. c' ^) k: n( g! @6 Q0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
' c6 e! ~) _! @/ d! M0132DA09  .  50            push    eax                              ; /hBrush
7 w, L, T: U  ]# o0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
0 C3 J3 N9 P& v0 `* Y0132DA0E  .  50            push    eax                              ; |pRect   E) O" B7 ^+ ~5 Q6 Q. h; t' \
0132DA0F  .  55            push    ebp                              ; |hDC
) K6 e, ]* |) e: I0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect 8 e" [+ |* e& X0 H8 M' M- v
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> 0 p3 K4 e* ~0 t7 L+ O
0132DA18  .  55            push    ebp                              ; |hDC & z& s4 j$ p% ^
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor ( Z7 `8 y* M! k9 Z+ k' b6 k
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> & q" }4 i. \' F9 Z9 L0 }
0132DA24  .  55            push    ebp                              ; |hDC - L5 e7 u7 l" B! j" v1 ?  j
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
! M" j, ~( p$ L- j/ G0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT ! F7 e$ k  a8 z$ y4 O1 i8 \1 y
0132DA2D  .  55            push    ebp                              ; |hDC * q& h& O( J! `  ]/ R
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
6 f! z0 h4 E4 T# U9 i* g6 s0132DA34  .  33F6          xor    esi, esi
0 W$ o6 A# x6 T/ ]3 L" u0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi ' |3 b. s5 ]: {2 D. {0 B
0132DA39  .  BB 01000000  mov    ebx, 1
$ _: m1 m% I( p5 L- I$ `: {: B! P7 W% \0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
- ?* x  S8 ^7 d. x; i: u' m0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
7 m/ ?3 Z, i7 Z/ \0 X# A1 w0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi 8 W& d+ Y" n+ p4 v6 ]
0132DA4A  .  0F8E 20010000 jle    0132DB70
8 T" ^7 Q" O9 U( {" \6 M0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] ) `& X3 h2 w+ f, [! ]
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
% A$ L0 r, a5 C. L0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
  H6 X+ d% S; z7 N0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax 7 r0 [  d2 l0 V
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
- Z: {& y  u6 C  v9 O0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
+ i( T' c6 C" N3 I/ {% v0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] ' J; W2 _. z3 {  c9 m; F9 C
0132DA72  .  EB 04        jmp    short 0132DA78 $ V* F- x, I0 N% i
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
+ Y+ o( O4 z* G. {! Q  y5 f0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] & V& ?+ V- e0 M2 C" X5 B+ C
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]   S' i% \; R4 M2 z! Q& d3 h6 A6 w
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] & V' i4 v4 A) W0 E
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
  W$ M  Z1 P3 _; [3 e% J$ g) k( @0132DA86  .  0FB700        movzx  eax, word ptr [eax]
" n* ~( @" ?" n- @1 r0 s0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] 6 W6 C+ S+ U. s0 t: P8 Z1 W8 O
0132DA8C  .  51            push    ecx                              ; /pABC 1 D! a4 R- G: K/ v* Y8 `
0132DA8D  .  50            push    eax                              ; |LastChar " |& D- O. G9 P
0132DA8E  .  50            push    eax                              ; |FirstChar
4 f: a/ O# `6 ?5 j0 v. W# W( X% C! V0132DA8F  .  55            push    ebp                              ; |hDC $ t) v, W7 ]$ B# O1 z
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
$ i. O% i) C- b8 n% `1 m5 q0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] . y5 H" y0 m5 [; t
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 % y! d8 P* s5 Y6 b4 D
0132DA9E  .  73 10        jnb    short 0132DAB0 1 q0 a7 h9 R& s  }' q
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
6 d! D, \% t+ m7 I' u0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
& @2 ^' d4 {) w7 E' W0132DAAE  .  EB 0C        jmp    short 0132DABC
( t. c# X" D' i" G7 g0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
: Q3 Y# n/ o4 [: k6 u) d0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
5 n8 K  L* F3 {& ?& F0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 0 f  ]8 P; l4 j" x# @
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
7 n+ d2 {, G, s% k% ^3 o0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
' j( |* |" C1 u3 t0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
3 ~4 f/ p: `2 q' _) q% ?! I( m9 _: h0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] * k' Z2 a) c8 Q7 U
0132DACE  .  72 14        jb      short 0132DAE4
9 |: s% f2 z( H! n9 A5 W+ I0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] & [/ t3 S) m: P" V4 N' C# M8 q
0132DAD3  .  BB 01000000  mov    ebx, 1 * i' u; {2 G* L5 t0 J  W9 r
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
2 F+ m2 ]' [- c5 ?/ ?0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
* U! k( t2 l8 o( {& G0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 1 L. M2 S2 k) f0 s& G
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
4 B: Y- D" h- n5 @3 t+ u- ]7 Q0132DAE8  .  03CB          add    ecx, ebx : o, T1 k) |8 l  S! G( X
0132DAEA  .  85C9          test    ecx, ecx * c  m% Y; h" W9 n% k, J6 ?
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
5 G9 K( u/ R6 H# n) I( z0132DAF0  .  D9C0          fld    st & }9 {& X% C& ~2 Y* G0 A7 Z
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
6 ~# \( w8 c5 }" s2 C( d0 L0132DAF6  .  DEFA          fdivp  st(2), st ; y" F) j/ B- p6 l3 R" P; c
0132DAF8  .  D9C9          fxch    st(1) ; n# C6 n) q$ _. h% m' ^6 u
0132DAFA  .  D91E          fstp    dword ptr [esi]
$ M/ A3 S5 z& C4 x2 N8 \* [- B( C0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
% h6 c8 L% T: v1 \4 u* D( |' n0 `& ^0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
7 r0 N( h$ E% |; P0132DB04  .  D9C0          fld    st * Y( j- s0 e- d/ A( w" q
0132DB06  .  DEFA          fdivp  st(2), st 6 }  Y$ J! E+ Y
0132DB08  .  D9C9          fxch    st(1) 7 c6 I* O( B0 z
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
$ G/ W6 ?! U5 R- n* ~) s0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] # j0 X, j1 N0 v& O5 T& T
0132DB11  .  7D 06        jge    short 0132DB19
8 ?" y9 F; O9 e9 N( l9 P  Y  o/ L7 w0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] + Y5 X3 a* K0 _  r
0132DB19  >  DEF2          fdivrp  st(2), st
7 z5 \' O( p6 j* @. a+ L6 U0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
5 |! A2 J+ l, G  S' d7 r' ?* h# @0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 3 v/ B8 x& L  M* F* Z& R
0132DB21  .  52            push    edx                              ; |String . J3 R! g* R/ }- b$ M) t
0132DB22  .  50            push    eax                              ; |YStart , ]/ Q1 c- @9 n- Y5 T! B
0132DB23  .  D9C9          fxch    st(1)                            ; | " h7 E& b% S7 [
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | 8 P/ Z5 Q$ y) F, ~- ^3 ~
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | ; O, G+ A/ I% S( x2 A" I
0132DB2B  .  03C8          add    ecx, eax                        ; |
% r  d( O# v0 ?6 V0 Z6 K0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | ; E; G0 |1 U! B% [# X+ s* C" _
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
( ?; d, l7 [* E/ S! j. A0132DB35  .  8BC3          mov    eax, ebx                        ; |
. g6 d9 Y$ J9 a0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | 7 k; H8 u( T7 Z" N; b" L
0132DB3A  .  50            push    eax                              ; |XStart
4 q* |5 _( C$ [2 G3 h0132DB3B  .  55            push    ebp                              ; |hDC ! h: @* T5 }3 r# D
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
  h4 {6 @1 G& H5 e$ U! U$ P1 H( l0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
; X. |8 Z; M3 b8 |  r0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
4 w! z6 m; Y/ a. W8 j- o3 J0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] ! a" F; |! d. i
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 - g) J0 j  s3 D- V
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 " V5 K) R* O* L: O, J1 g2 E; |
0132DB56  .  83C0 01      add    eax, 1
. i: I: Q+ V, T/ D' J0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
* n& a3 _; d8 Z" l0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]   |, F$ h) ~9 m' D7 e
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx ( b$ f$ T4 ~2 `: u: C
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax , r" P9 d3 q: a" Y8 b  X
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
" k0 T" T( S, z0132DB6E  .  33F6          xor    esi, esi 7 m5 I$ x# w' t+ e# C( u, F
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
0 ?" [/ E% t& I( ]. z* C0132DB73  .  6A FF        push    -1 ( o+ [: F7 c& D1 `+ C
0132DB75  .  83C1 38      add    ecx, 38
# F+ ^6 n, Y9 |7 f8 k0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
9 `3 l1 L( `1 o. @) p& i0132DB7D  .  8BD8          mov    ebx, eax
7 d# L  q5 ~- y- Q2 t% w0132DB7F  .  3BDE          cmp    ebx, esi 8 n: [+ \" q4 r3 b5 s: [4 m
0132DB81  .  74 74        je      short 0132DBF7 8 y2 {2 U  h8 m# `
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] 7 f9 M( C1 ]5 H) b" ~! `
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] - g. f' s+ W/ p# P2 V
0132DB8B  .  52            push    edx                              ; /Buffer ! S' ~# K( s8 S1 g
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
4 j' l7 c: z5 h0132DB8E  .  50            push    eax                              ; |hObject
% j( u2 q. h* f4 `1 {0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
* P5 q5 m4 g  s: K- J7 w0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]   B) Q' T8 C) j8 ]& l0 l& Y
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
9 j: G1 O/ ]8 v! s7 Z3 h2 A; X) h0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
; j% V5 p, X' {& O2 ?9 c8 J& ~) T- O0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
4 n, Q0 e: X/ u( l. i4 X+ e" M0132DBA5  .  85C9          test    ecx, ecx . }+ N, c/ I0 g+ T
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 0 ]0 G  s4 |' U5 u# [" D
0132DBAF  .  7E 46        jle    short 0132DBF7
4 x$ A% C6 L" j# r% z, z2 {0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] / h7 ~, v$ x; w6 C7 T/ s1 G
0132DBB5  >  33C0          xor    eax, eax   G: \! o1 ]8 }, _1 O! _4 E$ @
0132DBB7  .  85D2          test    edx, edx
: K/ X( R% L4 X* N3 L6 f0132DBB9  .  7E 26        jle    short 0132DBE1
$ e- L. F1 Z, c* _$ y4 N$ s0132DBBB  .  8BCE          mov    ecx, esi ! ?# `* |5 B4 {/ L- Z4 q
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
( r3 r) k2 v( }0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] ( r3 T! T7 W, u0 K, _( G  @) m! U
0132DBC3  .  C1E2 18      shl    edx, 18 - V1 K2 G4 W3 O4 l
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 7 U1 t% M3 k6 T6 a' l
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx " t" q8 V& N# h
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] / i. G3 K" ?. v2 r  i6 x$ p
0132DBD3  .  83C0 01      add    eax, 1 1 a' c+ A3 S& O, h
0132DBD6  .  83C1 03      add    ecx, 3   J  p4 s& n5 H6 }: a1 Z$ X' X  T
0132DBD9  .  3BC2          cmp    eax, edx * U' I$ X8 `1 k& l6 ?
0132DBDB  .^ 7C E3        jl      short 0132DBC0 2 a1 a2 F; h3 u" g2 y" Q! u
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] ) G' v. z9 [5 U; X2 ^/ m+ ^2 v( R
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] & s* P8 T' ~0 F$ \0 h: u- X0 b
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
6 b2 B4 X  |# @$ |0132DBE9  .  83C0 01      add    eax, 1 $ f! R0 @; f4 ^" ?  M4 r
0132DBEC  .  3BC1          cmp    eax, ecx
+ G2 W3 V) X  Y+ t" v: _7 Q0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
6 `0 V& |% o- J# C; k3 e) k) D' D0 _0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax 3 w: [7 V- R1 J" K) s: p+ A9 p
0132DBF5  .^ 7C BE        jl      short 0132DBB5
% Q6 L! X9 S" n1 D0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] 4 c5 l/ a. |; R) j
0132DBFA  .  6A FF        push    -1 # e. @& f. [; B4 u3 i
0132DBFC  .  83C1 38      add    ecx, 38
6 D! o: G; N- E2 g/ b" V, h0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
/ h* B/ }8 W8 U% E0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] ' x5 ]$ V5 t% c1 A# z! X0 P
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject ; A" W# I+ T- T8 [2 L7 z0 V
0132DC0E  .  50            push    eax                              ; /hObject
6 X2 P5 n0 J, T* q6 i0132DC0F  .  55            push    ebp                              ; |hDC
$ Q; m4 m, q9 o& f; d5 e0132DC10  .  FFD6          call    esi                              ; \SelectObject % D# g4 r5 ]/ ^+ u
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] / J6 @( X" L+ s) V; ]) u
0132DC16  .  51            push    ecx
' E* U  U6 S% b& R. e- b7 c0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont 5 F- ?; z, W- {0 o! \! F* ?
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] ; _+ n# [; X& A' o) `1 o! E1 Y
0132DC21  .  83C4 04      add    esp, 4 * p3 `! I9 R! G9 M6 A. }8 o6 T6 X
0132DC24  .  52            push    edx # X& R6 L( W6 M
0132DC25  .  55            push    ebp 2 a7 }8 v! K; X& C. R- y
0132DC26  .  FFD6          call    esi ' U: w. i4 B0 d$ y9 @
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
0 F6 U$ D' S# \  s1 T/ Z( x1 k5 x0132DC2C  .  50            push    eax 0 t% z% |/ m7 W0 ]
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
) I1 y1 w2 a( r" M4 a; ~0132DC33  .  83C4 04      add    esp, 4
5 s% U9 p9 y5 c3 I2 E- T/ O0132DC36  .  55            push    ebp                              ; /hDC
0 G' {9 ?* l, }7 c0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 3 H- [0 I) h, e& d/ {" I
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] / P3 I4 P7 D$ R: s' ?# V& A; c
0132DC41  .  6A 00        push    0
/ s: s6 C& V" c1 t3 J1 ^0132DC43  .  51            push    ecx % @$ }. Z0 Z& }8 |; p% @0 j
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]   ^7 o1 T# V/ D
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 4 @$ c, q; _# L+ ^
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
- A' \! S- s" U0132DC4F  .  6A 01        push    1
2 U3 ~$ d; Z% ]# H0132DC51  .  83C1 38      add    ecx, 38 % z+ y* h9 N+ s7 ]  G
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> ! b) J+ f# B& |0 Z' n6 B3 b" ?
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]   P& I* N$ Z* a1 {; O5 Y
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
5 e" q9 a; P2 Z8 m0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
- \2 [- A% I- E0132DC61  .  6A 00        push    0 , Q4 R9 c  W1 ~, j" `
0132DC63  .  FFD0          call    eax
+ J6 N# \& l. o6 g, f( [0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] ( D, L, O+ W$ k& \, |# l; |
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
. d' u  r. T1 }0132DC6C  .  33C0          xor    eax, eax " @) d/ V6 Y+ |$ H2 |, F
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] $ O0 v0 X1 D$ C% m) ]# @  u
0132DC75  .  5D            pop    ebp
' W4 W; N. N( _; @1 ^7 m+ ]  s8 e9 }0132DC76  .  0F9CC0        setl    al ! k/ y) o) u! B# v3 g; H
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
: E+ ]; {; p% k3 i9 K0132DC80  .  5F            pop    edi 1 C$ T/ d* D4 A5 K% r5 `9 C
0132DC81  .  5E            pop    esi ' Q' g: U) o) m# ?% B6 w/ a* T
0132DC82  .  5B            pop    ebx
3 T" j6 ?6 |9 H4 X2 |) t: v0132DC83  .  33CC          xor    ecx, esp
; E; p  w8 M/ J( m) @5 |0132DC85  .  E8 E2460500  call    0138236C 1 H: S: W! C+ ]/ B" Y: q
0132DC8A  .  81C4 98040000 add    esp, 498 & \4 |8 m0 q. i+ r1 m, O5 i
0132DC90  .  C2 2800      retn    28
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

地板
 楼主| 发表于 2010-1-10 16:37 | 只看该作者
回楼上,这个调试软件叫ollydbg,即OD,我用的是其修改版olly ice.
' n8 V$ N9 U# W% B分析说明也许以后会补上。
  u/ d/ V  F: A$ N5 w+ v
+ Q0 b0 b" |) A# F$ G; A6 N" j加油!
回复 支持 反对

使用道具 举报

板凳
发表于 2010-1-10 13:24 | 只看该作者
再请教 这个调试软件是什么,那里有下载。。
回复 支持 反对

使用道具 举报

沙发
发表于 2010-1-10 13:23 | 只看该作者
不懂,希望能把分析发出来给新人学习  谢谢 [s:45]
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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