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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 / x" R4 h# p' `% F  Q) K
# t! _6 Y4 V% O, }3 Y- H+ b
0132D7E0  $  81EC 98040000 sub    esp, 498 4 `; J. ~- H/ f' v" C' W
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
! R* N7 r; m* M- A% W* J2 c* G0132D7EB  .  33C4          xor    eax, esp ! V1 X7 H, t. [6 U2 v
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax ( U1 ?" l4 |4 P7 ]7 r1 t: X
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] 9 A, Y3 V$ S: L3 u3 y2 D8 F2 ^) [6 l
0132D7FB  .  53            push    ebx . u. t$ K/ c8 u0 Z) W
0132D7FC  .  56            push    esi
  a# {+ j. t- c0 a0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
  [3 H7 ?# O. X- C! G0132D804  .  57            push    edi # _6 C, E# h9 u5 r7 S
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) % o5 ]7 f" X* D0 J
0132D807  .  8BF9          mov    edi, ecx                        ; |
7 v( r; D6 v, Z* i# A0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
' i- T" \4 b+ W1 G# V0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
1 u' L  r9 J, f+ I/ P+ y0132D814  .  6A 00        push    0                                ; |c = 00
) |0 a+ U* M# ~$ m. l3 y0132D816  .  52            push    edx                              ; |s
/ r7 g9 o% c+ v' t, X0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
2 P+ N- ^4 r+ b1 n9 Q0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 7 W7 ^3 N  o/ D6 T1 e; X
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 2 g: n; c. O2 {4 T. n* H- t& g
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset & O; h3 F* t9 j! F. ?% m
0132D82C  .  83C4 0C      add    esp, 0C ! i3 ]# N1 q; a6 j2 N
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
+ O1 j! X5 W; y# e8 v0132D837  .  74 12        je      short 0132D84B % Q  V! y! Y/ i0 u+ K
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
- Y# Z" d* y% a0 l! ?9 p0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
& i$ @" S0 r' W5 C7 K6 [4 }0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax ( o# ^5 a+ y/ f8 V
0132D849  .  EB 32        jmp    short 0132D87D
# C& b" X- h3 b$ `0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 $ o+ _) z1 p. h7 [! u
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 2 M, j# x9 b: z, `8 I; [
0132D855  .  33C0          xor    eax, eax
% U- @. B( R' l2 H7 e0132D857  .  EB 07        jmp    short 0132D860
' }" I' ^( a: Q8 I0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
* u4 K% E9 E" A# z0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] 9 S; H" d/ n. ~9 i) N& F" D
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
# o$ F/ {: ~' ~- r/ d) U0132D86B  .  83C0 01      add    eax, 1 , ?5 n- ?: d5 `/ y3 m1 Y
0132D86E  .  3BC1          cmp    eax, ecx
0 g# p8 W2 s5 f% K: o0132D870  .^ 7C EE        jl      short 0132D860
) R' ]2 t8 \1 _0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
  k/ t1 l% w3 ^0132D879  .  894424 0C    mov    dword ptr [esp+C], eax ( o/ ~/ o+ W$ |4 U" o8 a0 G
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
- p9 @( r; Y0 p/ e6 j5 x0132D880  .  85C0          test    eax, eax 4 `# u! C4 |+ U5 P) \
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
3 m& }% l4 Q" N( |8 w0132D885  .  75 05        jnz    short 0132D88C ) Q& N' p6 e/ C% Z: ^
0132D887  .  B8 16263901  mov    eax, 01392616
0 i0 L$ a, j- p) @" ?8 y% h# [0132D88C  >  6A 00        push    0 % n7 E8 v  |2 O& M. {
0132D88E  .  6A 00        push    0
8 d. h! N/ A& l5 Y  c8 {, ?( x0132D890  .  50            push    eax " E; @0 H) `1 d/ W7 k5 d: w
0132D891  .  6A 1F        push    1F
3 }% F" ]3 L+ q; \( W+ `$ I/ W0132D893  .  8BCE          mov    ecx, esi
, I9 U8 m- s4 c' {3 t0 f0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
$ ?5 ~4 S+ X$ F- U, ~0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
) b6 b  y/ n/ r: u0132D8A1  .  6A 00        push    0 & h, a: F1 E- b5 f( ]. ~
0132D8A3  .  6A 20        push    20 # {2 ^- Z. \6 A9 T
0132D8A5  .  51            push    ecx
% u- H4 O7 c/ z, V: o0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] $ W" q( [9 f6 H4 @
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
$ J3 u/ U# ]$ X# s, `, @3 S0132D8B0  .  8B10          mov    edx, dword ptr [eax]
1 X: C0 {* m. B$ B, {0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] * V9 r9 u' f! e1 c
0132D8B5  .  51            push    ecx
+ w7 l9 I1 [) }5 |8 ?" D  W6 B0132D8B6  .  8BC8          mov    ecx, eax 8 |' U3 s3 M2 H7 I
0132D8B8  .  FFD2          call    edx * x: u9 B) @: H5 N; T
0132D8BA  .  85C0          test    eax, eax 3 \% g% u0 {" M% W; k
0132D8BC  .  75 07        jnz    short 0132D8C5 ( h5 g4 g* c$ M0 Q
0132D8BE  .  32C0          xor    al, al
/ o/ a' _" B& R. H) ]0132D8C0  .  E9 B4030000  jmp    0132DC79
: K) O4 I% V5 I9 E9 o8 g0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] ' ]  W1 S$ ?$ _" n5 K' S2 {
0132D8C8  .  8B01          mov    eax, dword ptr [ecx] " Z6 B& a7 I1 P0 Q# `
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] ! E; ~- O. T, }5 a
0132D8D0  .  55            push    ebp
; @7 c% c) r0 O9 O5 T6 q0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] 8 F, x, a- |* L& e# R; J. y
0132D8D5  .  52            push    edx 8 Q2 `8 o: x% c1 h
0132D8D6  .  FFD0          call    eax
0 ?+ s+ \/ q/ L0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
6 o+ N  l- l& d' U- S# Q+ i) n, ^0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
6 j% Y9 R, H# q1 m0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
) u: R: }/ B3 A3 [, c3 v: E0132D8E4  .  51            push    ecx
. J+ o& @1 a7 k  U' z# T* P+ g0132D8E5  .  8BE8          mov    ebp, eax 1 w/ _* }2 d) s. V
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
! b/ M6 s) Q  _0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
/ F$ r; I& G* K7 g( n- ?( Q0132D8F3  .  83C4 04      add    esp, 4 ; f1 n1 L8 K8 ?$ Q1 q; m& v
0132D8F6  .  50            push    eax                              ; /hObject 4 r" M) _7 v. D
0132D8F7  .  55            push    ebp                              ; |hDC
/ b$ ~" G) B: t, C( f) z# [: K: l0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
1 P; R8 \( R7 H; @0132D8FC  .  FFD6          call    esi                              ; \SelectObject
  ~- H" I! X: j/ }3 w6 ]0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
9 n! S+ a* i: a& ]" k0132D902  .  52            push    edx * v' D  ]6 c( b5 R3 L' N/ {
0132D903  .  8BCB          mov    ecx, ebx % `- q# e. O1 M
0132D905  .  894424 40    mov    dword ptr [esp+40], eax 6 ~( l: u- U; E6 ?, F: [
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= $ o9 A0 \4 W( q
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
% v; R: w5 Y5 f! D, q0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
, b6 E$ K8 i4 y6 \* p; A: T) O$ i0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
0 j5 a/ z: C0 E: }0132D91A  .  55            push    ebp                              ; ||hDC * T* k" V/ `1 H, D
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || & d# K( d4 `, }, ?+ ^+ e  a
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
! T% C( G! B) ]% }6 x* M/ B1 @0 o0132D924  .  50            push    eax                              ; |Multiplier 8 Y# R5 Q! o9 Z! n
0132D925  .  53            push    ebx                              ; |Multiplicand
% k! _0 K! h3 ^. R; P3 H0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv " A! I! q  y7 I- G8 }: D, c, u7 Z  A
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
) u+ f8 e1 u  Q; D1 b- G0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] ) [/ ?( H8 b9 W) M
0132D937  .  51            push    ecx                              ; /FaceName
# C; b, ]( f2 j4 n2 G& @0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
! x; _9 z& u2 v- C0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE ! A, r; G! y( z: V; N; x
0132D941  .  52            push    edx                              ; |Quality
& b6 W7 k3 X7 R0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS / O! h7 J  w- z9 A0 R/ j
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS : k4 L( r. ?5 E! P- b% ^; k
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
/ P0 q4 O  B+ K$ K; i0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE 7 j! ?$ i! _- i
0132D94A  .  8BD1          mov    edx, ecx                        ; |
4 o& U" C5 |8 _1 u, M$ A* i+ p$ g0132D94C  .  D1EA          shr    edx, 1                          ; | 2 h# D) [/ A! t6 O' X' u, e$ ^
0132D94E  .  83E2 01      and    edx, 1                          ; |
" t; u( O% r8 ?8 r" @0132D951  .  52            push    edx                              ; |Underline " `  T6 T* ?/ u- p. g0 n7 L% m' T
0132D952  .  83E1 01      and    ecx, 1                          ; |
) \6 ?2 j& W0 A( `5 s0132D955  .  51            push    ecx                              ; |Italic 8 }4 T! \$ A2 x5 Y1 \/ h7 W
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | ! S+ s' ?2 S5 Q" {1 p
0132D95D  .  51            push    ecx                              ; |Weight $ I1 `3 N/ t; \% Y( k$ A
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
0 J3 B. b( `8 `( [! L' h! }0132D960  .  6A 00        push    0                                ; |Escapement = 0
2 w: t  x- b3 `8 V+ j0132D962  .  F7D8          neg    eax                              ; |   b% v: R; r  W3 e
0132D964  .  6A 00        push    0                                ; |Width = 0 + g( w( y, f& c- d  C2 M
0132D966  .  50            push    eax                              ; |Height * _: J$ [. a+ z+ i0 S
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
* m+ Q! }' y7 u0132D96D  .  50            push    eax , u5 j  B+ ]/ b$ m, J
0132D96E  .  55            push    ebp
  h! \. g. _$ E! l$ ?9 P! q" R7 j2 \0132D96F  .  894424 38    mov    dword ptr [esp+38], eax / Y  f- [, S3 t. u/ D  N: ]
0132D973  .  FFD6          call    esi
4 K4 h7 ^6 n2 r3 Y0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
# x7 r% R! J) f& Z0132D979  .  52            push    edx                              ; /pSize
% C& z% F9 i* |2 U6 s2 z- m; h. h0132D97A  .  6A 01        push    1                                ; |TextLen = 1
) |/ X7 n# a' b/ b5 E0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
; d" A/ w4 e* B; n  o2 u0132D981  .  55            push    ebp                              ; |hDC
3 X0 R2 B4 Q9 V& d$ ~# K0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | ) n% s$ o$ R6 G$ Z
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
7 u0 z$ B6 {0 K, K; {9 w0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
+ \9 H  |/ f' h0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
9 ^  V  n% C$ l+ j( C. y4 u0132D993  .  8947 18      mov    dword ptr [edi+18], eax
& s1 ~! D0 f1 j0132D996  .  33C9          xor    ecx, ecx
% U: _% F5 u2 f+ r7 D0132D998  .  8BC6          mov    eax, esi
- n- s5 Z: s' b/ ]  L0132D99A  .  BA 20000000  mov    edx, 20
" d6 S  }' x* b- n0132D99F  .  F7E2          mul    edx ; J; y1 f% A! P# ?3 B
0132D9A1  .  0F90C1        seto    cl
% i4 k2 p' L8 l3 {3 ~1 b0132D9A4  .  F7D9          neg    ecx 9 M+ k, v. [* g/ m! M6 l7 ^0 ]
0132D9A6  .  0BC8          or      ecx, eax
0 i3 l1 T& W! x7 q0132D9A8  .  51            push    ecx
% C. P3 u1 t. _" j8 `9 I3 t6 m8 J0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
2 r( A' x+ Y4 P) q$ {: d% ]0132D9AE  .  83C4 04      add    esp, 4
% T5 U; g' u( T0132D9B1  .  85C0          test    eax, eax $ x0 S5 H+ F; H7 u
0132D9B3  .  74 28        je      short 0132D9DD " n" E+ H0 O, K& C1 K0 i
0132D9B5  .  83C6 FF      add    esi, -1 # u/ d# [! P  S  j8 H8 R
0132D9B8  .  78 25        js      short 0132D9DF
, J' m! u  U; L0132D9BA  .  D9EE          fldz ) s! ], j( A  V" [/ R. |* v
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
& `0 b" n; m9 [( O0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
7 f/ b+ o9 [  b) O2 n0132D9C2  .  83C1 20      add    ecx, 20 8 \8 }0 N9 D+ ^+ P# R
0132D9C5  .  83EE 01      sub    esi, 1 . y7 V; X. ~" Y: Q. D
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
, M0 [7 P1 r) c7 p2 z* @& ^0 R1 @0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
  B# i: t$ V0 ?' t8 S* J* c0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 3 v4 S* h9 m8 F/ `& @
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] ' [# e7 U7 [4 G
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
* i+ ?$ B. S7 k: U6 u, d. N0132D9D7  .^ 79 E6        jns    short 0132D9BF 1 e' O" V' _4 W4 C
0132D9D9  .  DDD8          fstp    st
" t( Q7 ]3 b$ T7 g6 m1 |- \9 Y2 \0132D9DB  .  EB 02        jmp    short 0132D9DF
7 g# S" o# z! b6 \, u& B0132D9DD  >  33C0          xor    eax, eax
, a& L! J, e; p/ C8 r0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] # ]" [% D( _1 b1 K
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
0 u, m/ C7 r* D5 _1 }0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
; [: r, t( [8 ]5 I9 t0132D9F0  .  50            push    eax                              ; /Bottom
+ D& x8 ?8 \$ B0132D9F1  .  51            push    ecx                              ; |Right , d6 N5 {- S4 U, |" ^
0132D9F2  .  6A 00        push    0                                ; |Top = 0
  [# W4 l5 z, X$ d1 @$ Z* y5 U0132D9F4  .  6A 00        push    0                                ; |Left = 0 : a6 i" e% V3 S( f6 K
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
& Z0 h- Z+ b/ h7 y) K3 D0132D9FA  .  52            push    edx                              ; |pRect 2 m  T, r/ j' Q6 G  ^  G# Z0 c' v' {  g
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect # M6 v9 P7 n$ d) d; k- ^9 \. ?
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
8 X. A) E8 B+ T/ T0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject : p$ K! W! |! G( a! V- X3 C( d
0132DA09  .  50            push    eax                              ; /hBrush
( P% `* s9 b: `; r3 {0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
+ U& e, N& s2 h) [0132DA0E  .  50            push    eax                              ; |pRect
# }4 R1 R8 b, B& w0 h5 Z; R  k  n) o. W0132DA0F  .  55            push    ebp                              ; |hDC 4 R6 A7 a6 }5 Y2 v, l6 }
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect & [5 e1 [# r  \- v0 C& U
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
2 y1 u" e3 @' q. C0132DA18  .  55            push    ebp                              ; |hDC $ Q/ n( H( B% F
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
" @9 G$ K" V0 C* q+ U0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> 2 {4 v7 C3 A1 G3 z  X$ S
0132DA24  .  55            push    ebp                              ; |hDC
+ W2 y1 M7 C8 R6 E+ m( w9 m0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) N  ?, t) A+ H; x1 o
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 9 M' N' G  f6 |( B+ `
0132DA2D  .  55            push    ebp                              ; |hDC
8 U& i  v# m" A3 |. E0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode " g. Q& c2 d) H" N
0132DA34  .  33F6          xor    esi, esi - N% Z: X& P! {  `9 Z& H1 z8 `
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi 7 u" s: o6 i. n: R- j( \9 a+ r
0132DA39  .  BB 01000000  mov    ebx, 1 : g6 @) Q/ u/ ?% F, A3 H
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
. z8 Y5 T( o2 r) p5 `$ m1 o0132DA42  .  897424 14    mov    dword ptr [esp+14], esi 6 T) S, B/ s  c  i8 L0 i
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi / S) [6 G. @# m" `; ]. @0 J0 d
0132DA4A  .  0F8E 20010000 jle    0132DB70
: [3 R( A: T4 L, h# Y0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
, n6 x6 Y: o8 ~6 h  u' U# q! p0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
! R9 f1 a* M7 n0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
1 }- c6 P: @" t% s0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax ' ]; i' E, P; |$ p% r
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
# k/ \2 q! ?* b" ?0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] : B5 |% n. {7 n( Q7 T
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] ( I+ v9 c" m" S1 Q
0132DA72  .  EB 04        jmp    short 0132DA78
; g6 J" T! R4 N- z/ i4 `0 }+ S/ P$ [0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
4 s; ]$ l" T$ d) b) G# V: h0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] , b" U, a$ G# x! {
0132DA7B  .  66:8B08      mov    cx, word ptr [eax] ! c8 ^. k+ ~; K2 }3 M7 I
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] 5 x/ X& W- R0 X+ m
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx ' {9 T! P, [- b/ _
0132DA86  .  0FB700        movzx  eax, word ptr [eax] - |5 D" {# D' a4 Y5 G
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
  y5 K  [: b, l8 n; F0132DA8C  .  51            push    ecx                              ; /pABC . ^  v  K5 {3 @, r3 V
0132DA8D  .  50            push    eax                              ; |LastChar
( {8 ?  c; ~! v6 t) T2 S8 j+ \0132DA8E  .  50            push    eax                              ; |FirstChar 0 H# Y7 ]& Y8 S: U1 X6 L% k
0132DA8F  .  55            push    ebp                              ; |hDC $ K, A' E" N1 f+ i
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
6 L% ~( }9 E5 f/ v8 F5 n6 T0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
1 H* v, j8 _+ u4 |: Y+ v- @: U0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
, S9 J* C& W* x2 K% K0 V0132DA9E  .  73 10        jnb    short 0132DAB0 4 ^% U+ p! R. I% q
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
" `9 w# d$ c+ _) e/ h4 X9 m, T0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
; f' L# _( _- ]3 N' Q* N9 O0132DAAE  .  EB 0C        jmp    short 0132DABC ( \6 v% w0 ~* n
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
% E) P. |& l) D3 V& S; C3 Z0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 # A& H8 q$ c0 q
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
( Q! D# a( h8 Q0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
/ r1 o; J+ k" u2 u0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] * x) v& l  C$ W0 s
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] $ H2 Q; v: e6 P1 O% B
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
( O2 I( c! d4 c% m- k+ d0132DACE  .  72 14        jb      short 0132DAE4 4 B: H/ y1 H, Z' u( x$ k; H9 J6 p
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
  m& U' p$ ^4 i9 t! Q* x0132DAD3  .  BB 01000000  mov    ebx, 1
- _  P- B0 |. j" b7 H5 M0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] $ H7 w6 S! {+ p/ j, a
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
! ~. u" d+ ?+ e! \& [7 e* n0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
5 b) E$ {  h# H0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
- n7 W7 V- ~! {7 J# ?, D. d0132DAE8  .  03CB          add    ecx, ebx
7 _' m5 _7 c5 I+ N( Q: E0132DAEA  .  85C9          test    ecx, ecx
. u2 g* J! @1 K2 D) b- T0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
7 r0 ?; S  A: [4 c5 U  Y0132DAF0  .  D9C0          fld    st 0 y0 P) Y4 B1 @* x( Q
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx ; W% B6 H' y- ?3 r0 ]: f4 H
0132DAF6  .  DEFA          fdivp  st(2), st
, s6 i2 j6 L3 V8 |  ?( Q/ ~0 b0132DAF8  .  D9C9          fxch    st(1) 0 L' Z* ~$ ]+ C5 I7 x
0132DAFA  .  D91E          fstp    dword ptr [esi]
5 m# U7 L5 [2 o6 l5 {0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 5 _8 J: a; Y/ e( i" b! i
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] ) G* {- u# Q7 _* u. ]) E1 O; o
0132DB04  .  D9C0          fld    st 6 V  A, Z/ s3 u
0132DB06  .  DEFA          fdivp  st(2), st
. k# f$ b5 S) E/ b$ p& R0132DB08  .  D9C9          fxch    st(1) 7 I1 x8 K# i" P$ \& P
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] 4 B$ u. j# ~; a. ]
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] , Z) Y/ A7 g2 g& J; |! j
0132DB11  .  7D 06        jge    short 0132DB19 5 {) M6 M" W# G: z& ]$ Q3 c
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] - K$ E2 b8 _; n( ?- j3 g: }; |7 K
0132DB19  >  DEF2          fdivrp  st(2), st
' ]7 E( [$ ?' m0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] # A" F6 R9 W4 H$ {- {
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
2 h$ ^- z1 x# [4 f( w0132DB21  .  52            push    edx                              ; |String 5 x4 o0 a. k- S( V/ ^* I5 O1 k
0132DB22  .  50            push    eax                              ; |YStart
8 j0 K+ P4 }: U. V7 [1 f) F0132DB23  .  D9C9          fxch    st(1)                            ; | ; U, P: j- C' ^( y) t# d
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
, n9 K* U2 C/ I2 A- I0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 5 Y; d- P8 E% h+ r% b  P
0132DB2B  .  03C8          add    ecx, eax                        ; |
# D" q. S: c+ s" t0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | . X. d( t. v0 ~% e% ?+ o0 f0 B! ?
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 9 d3 j% l- k6 ?% ?
0132DB35  .  8BC3          mov    eax, ebx                        ; |
4 n3 U8 M) o: M- k: z  l0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | . ~& x: J; c2 ^) N- i
0132DB3A  .  50            push    eax                              ; |XStart
7 q. Q+ ~& o- z6 n6 a- G0132DB3B  .  55            push    ebp                              ; |hDC ) u# G3 X& Z  P+ m! J
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
3 e; I6 E3 H$ I9 S1 W7 ]0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
) r3 m( _1 A) s$ P( {) p4 M7 f+ f0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
' I8 W5 @5 V4 m) K7 W1 U) R0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
) N& {0 K! G  {& M9 y5 ^/ t9 p0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
6 ]7 p% T1 A/ Z4 N- U7 w* p0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
9 `. Y( O) s  `, }, j2 x9 r6 r0132DB56  .  83C0 01      add    eax, 1
. D# g! S0 [2 `* Q0 e0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] 2 B, i: |5 q7 p+ e; g; O$ y
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 5 H" c( N1 y, y8 d  o# [5 [' `/ B
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx 2 ^7 P1 J( M. [% [
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
" e0 v. g' \  q; e+ N8 p6 q0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
, q8 K* Z7 m$ z) i6 Z- f0132DB6E  .  33F6          xor    esi, esi
( ]6 f) P$ e& C0 z* f4 `6 d0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
( y( I! o+ f7 R3 O3 i0132DB73  .  6A FF        push    -1 $ M4 {9 f+ n7 O2 ?" _- B
0132DB75  .  83C1 38      add    ecx, 38 ! ?6 v6 n3 l' c6 S  _
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
+ S4 z- a+ G$ ~- H6 P0132DB7D  .  8BD8          mov    ebx, eax # q/ y2 C8 n8 T% {
0132DB7F  .  3BDE          cmp    ebx, esi
' z; ^* l& P6 e8 o, ~8 U0132DB81  .  74 74        je      short 0132DBF7 9 m; F0 s/ R4 V- B, i' O
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] ; ?3 |# H8 M3 ]" l: W; s
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
' J- _$ b8 p  \+ l0132DB8B  .  52            push    edx                              ; /Buffer 9 @8 B. O' X1 j9 \# f  D2 S
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 8 G- w" I9 d% m  q8 ^7 x; Z
0132DB8E  .  50            push    eax                              ; |hObject 9 l- w* x  G! r% G' e$ `, g
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
& d2 C% M5 t3 {, K( j* w2 w' d0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 5 ~9 U( @' Z9 q* K, x& G5 ?
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] $ y; E0 [9 O  F0 M
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
/ k7 P6 u5 r! |$ k: G3 @! C) S& u0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
$ o. n# k7 l! X1 a0132DBA5  .  85C9          test    ecx, ecx 5 ?6 j6 z# H; v/ H' H1 t
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 ) I6 _9 ~! T; h! ]6 D
0132DBAF  .  7E 46        jle    short 0132DBF7 ! t* N/ |) F9 _. X5 A: D$ @
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
1 \/ O3 M4 z& v1 K" |; w0132DBB5  >  33C0          xor    eax, eax
9 \( {/ U3 ~$ V+ N, ]0132DBB7  .  85D2          test    edx, edx
0 Q2 @3 t5 u+ N0132DBB9  .  7E 26        jle    short 0132DBE1 $ v) K0 p  i, L  z8 U* _
0132DBBB  .  8BCE          mov    ecx, esi
* Q) m9 D# S5 P  p0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] ) K8 V8 B" o& H" K
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] ! g4 ~- r5 |) c7 _$ |
0132DBC3  .  C1E2 18      shl    edx, 18 " f. y# m5 _$ e, }' p! S/ P
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 5 m( Z& w/ v- J# m* v8 s- {# h
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx 7 ~# M0 F, q. N% y( i
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 3 Z3 U+ V+ E& s8 p$ Y  I
0132DBD3  .  83C0 01      add    eax, 1 * P1 C1 L. i( M7 X
0132DBD6  .  83C1 03      add    ecx, 3
2 E$ M. i) @, f* e* J0132DBD9  .  3BC2          cmp    eax, edx 1 y% k# `( h$ C, D
0132DBDB  .^ 7C E3        jl      short 0132DBC0
: `4 |! S4 q% G& Z3 w0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
& n. A( a0 D. C2 k5 c0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] 7 p; F3 v. N" ]5 G' M- w  G
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
9 e3 Z& B9 R  D, V' J0132DBE9  .  83C0 01      add    eax, 1 & R. b% |  m5 U! T7 J/ R  |
0132DBEC  .  3BC1          cmp    eax, ecx
! r& b5 m: ~% U( M$ S# Y0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]   s0 K" t8 K7 A  w' ]% Y
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
( y# a# q: R& M, W0132DBF5  .^ 7C BE        jl      short 0132DBB5 * ]3 W) k" C. x9 _5 r
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
1 U2 Q/ L/ ?7 J0132DBFA  .  6A FF        push    -1
: Q2 m5 @- @: N: d4 F  f0132DBFC  .  83C1 38      add    ecx, 38
: e8 \- o0 v7 m5 c7 v+ T; w0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> % T, P' u2 {2 k( w  F' R
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] ( w+ p( }8 N9 p- @3 G
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject " S6 o9 F% e- l. o5 O0 A2 h$ ]; {, {
0132DC0E  .  50            push    eax                              ; /hObject
$ ?  B+ g2 X6 i4 P6 X. X0132DC0F  .  55            push    ebp                              ; |hDC
1 o1 I/ [9 _) z3 H% U/ S( Y0132DC10  .  FFD6          call    esi                              ; \SelectObject
4 b/ ^  k3 W5 z  B' u, x- w0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] , ?. i: N2 P9 e* S0 A, R
0132DC16  .  51            push    ecx
( }; u- L( C" z: Q( }0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
% n+ F3 I4 ?; i/ m. z+ z0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 2 J. F8 n% s5 W: [/ f5 W$ m- ^/ h( j
0132DC21  .  83C4 04      add    esp, 4
, r. J' G9 p8 K3 v  U9 p% m; ?0132DC24  .  52            push    edx 2 x5 W: ^, }  v( C* F
0132DC25  .  55            push    ebp
+ v5 K, E) l, g$ q7 m! B0132DC26  .  FFD6          call    esi
5 q- Z5 }) }  a* \+ S0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] 5 {, j7 P9 z8 b
0132DC2C  .  50            push    eax   C; \8 g( q# S
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
! t! q: H' E4 ^0132DC33  .  83C4 04      add    esp, 4
1 M8 R" i: Y+ |$ D5 d6 k! W0132DC36  .  55            push    ebp                              ; /hDC ' a# @' v: W' y; W
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
# r. ?  }7 m! g1 L% M9 G0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] * i: \/ N: b3 d8 i$ F# r' j
0132DC41  .  6A 00        push    0 . G5 O- g  ^3 g+ e; p0 F0 ~
0132DC43  .  51            push    ecx ' R1 [7 Y( i7 v0 R3 j: G+ d5 m3 X
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
8 u2 `# j7 t+ S+ ?0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
& r& V$ v% [5 _2 M0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]   f' S* X: T( R) \+ p
0132DC4F  .  6A 01        push    1 & ]: W# h) r" w' ~- V
0132DC51  .  83C1 38      add    ecx, 38 ) k5 R* h) Z  ?# w. y. r: E; _
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> * F) V  H" x: ?: Q
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
! Y% f$ `8 p( _' D! L% [4 z0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
7 U# A# Q8 H1 s, R0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
/ D- A, }" t: q0132DC61  .  6A 00        push    0 6 _" o' A/ d, J- y
0132DC63  .  FFD0          call    eax ' X  A0 c1 |9 I2 ?5 p6 g
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] % a* b; ~2 s# q: r+ h) w
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] 0 e& U: i' h) k$ V# r* `* j- ]
0132DC6C  .  33C0          xor    eax, eax 9 @, f2 u% W; b9 V) p
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 0 y" q2 c, f- e" ~6 S
0132DC75  .  5D            pop    ebp
* ?: ]2 x1 J! c0132DC76  .  0F9CC0        setl    al
% @5 }" k% {/ B% d/ M0 S6 K( B0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] % w' h9 p$ d2 u& z7 L# e
0132DC80  .  5F            pop    edi
$ B+ f/ c3 r! S! I% E( d* K0132DC81  .  5E            pop    esi $ f4 x0 f& k$ e) i
0132DC82  .  5B            pop    ebx
6 [- H: M/ A- P# p4 h$ J3 O$ {0132DC83  .  33CC          xor    ecx, esp " |- N  E( U6 M( z
0132DC85  .  E8 E2460500  call    0138236C
8 Z, {. }# D' N9 j8 ]3 h0132DC8A  .  81C4 98040000 add    esp, 498
* m: i( Q' ]" l' J: p/ ^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.
; x+ O; ]# e' C. o5 m% ^; Z分析说明也许以后会补上。) L3 {: Y8 ]: R4 @' b

" q' m, k" V: O( _+ q1 c4 M. j加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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