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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
# Z4 O$ U8 `) t" N3 D1 ^( M! Y
0132D7E0  $  81EC 98040000 sub    esp, 498 0 ~' U, v1 M$ C, c! z% }! W
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
& n) i2 u5 `; }3 \  M  I! l0132D7EB  .  33C4          xor    eax, esp
1 j' y$ Z  s0 q6 Y- i1 N0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
& w# J; u# E" Y6 d0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] , J$ G1 s7 R  O% X6 d, i' @
0132D7FB  .  53            push    ebx 5 e6 y; F3 t6 y9 P' p. I
0132D7FC  .  56            push    esi
+ H# U, H. C" g. [, \) B5 ~* s( o0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] 4 X' P* O* P4 M
0132D804  .  57            push    edi
! n, H+ w! _, P5 @" n0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
* c" l. {- }( X0132D807  .  8BF9          mov    edi, ecx                        ; |
- F" p' ~9 r4 h1 o5 K9 ^0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
; t" ]; O/ ?( h+ i6 v6 F' c7 f7 O5 u0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 1 |1 G, |9 ]! B3 N0 a; c+ y2 z/ g
0132D814  .  6A 00        push    0                                ; |c = 00 . C; t* X( Q& D5 g
0132D816  .  52            push    edx                              ; |s ( a- b+ d/ x$ T' e
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | 9 n5 n. v1 R" P* @: g
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
4 }/ ~% f* g' o4 A0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 7 G0 \4 m9 u* p! Q. @" z
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
% ?3 v, G+ x" Z! M- m* Z) e" c. l, ]0132D82C  .  83C4 0C      add    esp, 0C
8 j+ F4 Z9 T* T: d0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 4 T# p( g9 n: Q9 _
0132D837  .  74 12        je      short 0132D84B
# D/ x+ d1 v% k) Y7 h/ v0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
5 F, w& w5 t+ P0 m3 g" N7 g% N, d0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
3 v& a2 _  i$ {1 |  g0 \. ^6 m0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
  D$ F0 l( x6 n3 V/ R0132D849  .  EB 32        jmp    short 0132D87D
& `3 C( ~  a0 N! |8 I0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
* M4 w/ ~: f4 ~$ _# f# y0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
3 C9 v" \. H1 y* z- @" |0132D855  .  33C0          xor    eax, eax * n# `0 T0 d, K
0132D857  .  EB 07        jmp    short 0132D860 : P; \/ v) W1 |( {# u
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
0 O. U+ u1 w0 a9 m1 R0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] 1 F6 m5 r/ D* `3 x
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
, ]7 Q3 ?, u( B0132D86B  .  83C0 01      add    eax, 1 1 M6 o& U7 }9 L3 @
0132D86E  .  3BC1          cmp    eax, ecx : p, D( _+ L5 S+ z2 I- P/ D
0132D870  .^ 7C EE        jl      short 0132D860 * f( P  S/ i. H& s+ I# m
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
4 T; K1 Q2 R/ g  [* ?5 g0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
& t& l% c/ x/ J# g$ v0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 3 R; G6 K: c$ }# F- s: G2 _
0132D880  .  85C0          test    eax, eax
- d9 u* Y% Q/ Y0 {: E: \$ I0 e9 T0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] - l- ?0 U' q5 ^% [- z; U
0132D885  .  75 05        jnz    short 0132D88C # L5 Y  `0 s! |: T
0132D887  .  B8 16263901  mov    eax, 01392616 7 b1 t) a! c1 g9 D
0132D88C  >  6A 00        push    0 9 G, ?! r/ e) g/ D1 }
0132D88E  .  6A 00        push    0 2 h7 O3 k. e" X' C4 m
0132D890  .  50            push    eax 1 p7 j; C% b/ l8 q9 x
0132D891  .  6A 1F        push    1F
- s8 c" L6 s, B! i! J0132D893  .  8BCE          mov    ecx, esi
, h6 z. ]6 f, }2 `/ [* Q0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
+ `: _- T& y$ U5 W1 v9 H+ f. f+ I0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] + M) N% G% N5 g$ S+ B
0132D8A1  .  6A 00        push    0 & J8 t/ a" A# T, ~% y; h
0132D8A3  .  6A 20        push    20 % ~. ~% X' }1 i9 f5 i) G; g
0132D8A5  .  51            push    ecx
: _+ h4 b! }. a  V0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
* K$ V8 R3 H" ~- g3 l* K" L& i& F0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax ! f' ~9 o  E; U3 G/ i% ^
0132D8B0  .  8B10          mov    edx, dword ptr [eax] 4 a: m/ N4 A' c: u5 x2 G
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] 7 Z5 Y, b8 A* v
0132D8B5  .  51            push    ecx 8 s: K! ?  `/ ~
0132D8B6  .  8BC8          mov    ecx, eax
8 L7 S4 O  |+ [9 o. }$ h$ z0132D8B8  .  FFD2          call    edx . ^4 L' F6 {8 [) {  z
0132D8BA  .  85C0          test    eax, eax
+ @; N9 A2 l: c: R& S/ _3 k0132D8BC  .  75 07        jnz    short 0132D8C5
0 g) [, A/ Z1 d  [) D! y) x0132D8BE  .  32C0          xor    al, al : k1 L( q, u/ h% M6 S
0132D8C0  .  E9 B4030000  jmp    0132DC79
+ p, ?  b, R0 f8 d5 V0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
' _3 s6 b' \- I1 d( ~0132D8C8  .  8B01          mov    eax, dword ptr [ecx] 3 P. R0 V4 v3 e/ p
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
, e9 L' i! N# M; k* @0132D8D0  .  55            push    ebp
& |4 L& Q/ M/ u2 }# F0 @9 s5 g2 w. z0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
' p" j2 U) ]) w& K9 P% J( W2 U0132D8D5  .  52            push    edx : y8 v" O' D0 {/ C
0132D8D6  .  FFD0          call    eax / p5 b! g4 P  r+ |
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL $ `' H1 M3 |) H: {4 e
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 6 ?9 M; g  \4 }& ]7 i
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 6 B# E" `. B* V/ @* q( l
0132D8E4  .  51            push    ecx 0 F. O1 r0 M2 h7 k/ [
0132D8E5  .  8BE8          mov    ebp, eax 2 T5 b9 {0 d  T* t  q
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
+ I. [5 M5 L' r, j2 r: T7 k/ E0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
# [# t# d/ e3 j& C" Y' w8 m# v0132D8F3  .  83C4 04      add    esp, 4 9 u6 @& x8 g" ?+ X0 w
0132D8F6  .  50            push    eax                              ; /hObject
8 o6 e( H6 W4 i4 a$ f0132D8F7  .  55            push    ebp                              ; |hDC 4 u7 i& D! M; `
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | 2 S) S9 v7 Q  c( c/ I/ Q% g* _
0132D8FC  .  FFD6          call    esi                              ; \SelectObject
5 |; v( `5 F* I8 @6 Q4 M! e" y0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
8 ^) U# E1 C9 i+ c4 q4 v0132D902  .  52            push    edx
8 B6 I! }) S# N0132D903  .  8BCB          mov    ecx, ebx & ^$ [, G0 H  O1 C
0132D905  .  894424 40    mov    dword ptr [esp+40], eax
6 _' ~- ?3 j# F2 Y0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
. ~' E4 V9 G! \0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
& _! u& S/ {' V+ `& t0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) 9 y) X0 Q- W  G9 P' R
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY : v# ^" L( _0 w: a% N+ o
0132D91A  .  55            push    ebp                              ; ||hDC
% Y# _& U- n% K  f/ z9 p0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
/ P" u" ?+ |' u9 k3 q0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 1 ~9 b8 F, ^- E: e) T# W; v2 s% `
0132D924  .  50            push    eax                              ; |Multiplier
: v" O% {' ?$ P0132D925  .  53            push    ebx                              ; |Multiplicand ( m! Z$ R& P9 }. l
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
+ r9 ]! |3 L% P$ n$ A: N0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] 0 H" U  P5 ^7 D! `% w
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] . w3 p; G. ?1 y: t, K. J; B7 \. E: ]
0132D937  .  51            push    ecx                              ; /FaceName
( x2 G5 g/ E2 R. z$ G4 _0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |   d  u/ P' b$ b7 _+ C6 O
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 6 {3 Z5 o, ^; S6 Z( a; S- W
0132D941  .  52            push    edx                              ; |Quality 1 d% D4 Z9 G$ B# z, G
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
9 k% }% n2 v4 U* I! \" ^: ]2 p1 J0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS " I7 F2 E+ k3 a! `6 ]2 j! J6 L7 j
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
; o- t- P7 k$ @- d0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
6 T/ r2 E2 C/ H9 Z; V0132D94A  .  8BD1          mov    edx, ecx                        ; | , e( T( \3 `$ {1 d( v/ n: W
0132D94C  .  D1EA          shr    edx, 1                          ; |
% J3 g7 q2 C/ y3 }- R& Z- N0132D94E  .  83E2 01      and    edx, 1                          ; |
. S, j6 o: g4 O: R4 V9 Z; g0132D951  .  52            push    edx                              ; |Underline
5 i( q- z# _9 u& d; [  g+ Q0132D952  .  83E1 01      and    ecx, 1                          ; | " `7 V7 a4 J" P  m& j8 k( G
0132D955  .  51            push    ecx                              ; |Italic 4 T7 G7 E8 I2 [! ]2 I
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
4 W* o7 u, u* `. |0132D95D  .  51            push    ecx                              ; |Weight # V5 b' A' Q5 ?4 A7 e8 Z  ?
0132D95E  .  6A 00        push    0                                ; |Orientation = 0 / V) ~) e0 X/ `9 V6 m* P
0132D960  .  6A 00        push    0                                ; |Escapement = 0 5 ?/ ?) \9 c4 A0 Q3 W' v: Q
0132D962  .  F7D8          neg    eax                              ; | 9 X. j5 ]& K. F6 S* s8 c# j7 v' w
0132D964  .  6A 00        push    0                                ; |Width = 0 $ E$ T( _1 G" f8 d# U& e
0132D966  .  50            push    eax                              ; |Height
9 {7 Y% h* _8 K& _5 `- `9 N8 b; ~0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA   @3 P2 x5 a  `
0132D96D  .  50            push    eax & O/ S7 _) K8 N, O; z& N, K. h6 p
0132D96E  .  55            push    ebp
5 J5 Q* o, U. i2 j0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
/ L, z8 l3 R6 V8 |. m$ N8 L' H) P0132D973  .  FFD6          call    esi
+ \; M( s. [& A/ l; Y9 U0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] 4 b! I5 z# s7 w" j/ \: l9 M( o
0132D979  .  52            push    edx                              ; /pSize 9 }# B! x; _& \6 _4 U- O2 d
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
: A$ V: d* }9 w' ?3 Z0 d0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" / y+ o, R1 I+ J" b7 u
0132D981  .  55            push    ebp                              ; |hDC
8 h3 v. O$ x! `  o0 P! z& d0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
3 q1 r6 U; F9 o$ X) o- C- ~0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
+ s* }% `3 z. q& v0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
4 b( [  w7 Y  b& l) e0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]   ^; I" E" z, Z, u& W8 m) i" h
0132D993  .  8947 18      mov    dword ptr [edi+18], eax 4 _# Q( C9 [5 S- Q
0132D996  .  33C9          xor    ecx, ecx
) t8 d$ |, u# F+ p' F0132D998  .  8BC6          mov    eax, esi   V, g0 L+ w! B" U
0132D99A  .  BA 20000000  mov    edx, 20 " a4 y# G  ~3 e  j
0132D99F  .  F7E2          mul    edx   v5 i  }  w) H$ c! g8 {
0132D9A1  .  0F90C1        seto    cl
: Z! v0 ]( g7 v' W, I0 T0132D9A4  .  F7D9          neg    ecx
9 a4 g' l4 \- ?5 X7 S& K& i0132D9A6  .  0BC8          or      ecx, eax , x; j; n  X7 B
0132D9A8  .  51            push    ecx
* `% j9 l* i( l' f4 y: c0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> + w) p" n5 o- O" ~+ M4 `; Q2 c: \
0132D9AE  .  83C4 04      add    esp, 4 $ Z' B6 e( y$ b* s% n
0132D9B1  .  85C0          test    eax, eax
! N7 q, ^7 H2 S7 c0132D9B3  .  74 28        je      short 0132D9DD ) M+ W. H2 C( z+ K# t6 t7 h
0132D9B5  .  83C6 FF      add    esi, -1 $ \2 o7 d" x4 {/ o
0132D9B8  .  78 25        js      short 0132D9DF % J5 H# e8 h' }. _
0132D9BA  .  D9EE          fldz * K" p7 S2 R) V5 s4 q0 g) i) N: b
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] ' x' R# t0 `6 A5 x
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] ; g: `3 _- c  F% B7 b) Z
0132D9C2  .  83C1 20      add    ecx, 20 : }+ i$ z' o+ H' D! s
0132D9C5  .  83EE 01      sub    esi, 1
: I' g. n6 v% S3 L5 e; k0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
: _$ o, c* k! q6 S/ Q0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] 8 D5 t* O7 T( U
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
& j% A; {; `* |4 O0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] 0 I( R" |$ H7 w5 D8 r
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] ) R+ W" e. \' O( j% {$ P
0132D9D7  .^ 79 E6        jns    short 0132D9BF
3 ?9 r1 _% J( O: p& v0132D9D9  .  DDD8          fstp    st & a1 G8 J$ t* z4 x) z- Y" [
0132D9DB  .  EB 02        jmp    short 0132D9DF
' l2 P  }* n# `3 e% V5 ~/ i: J0132D9DD  >  33C0          xor    eax, eax
3 O8 G- w* n% @2 B- C& o, G2 z0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
3 H0 B) \$ B3 s& I; w5 A0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 5 x2 s/ }. J& v( Q
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
" }! [* D' `7 S; M4 _0132D9F0  .  50            push    eax                              ; /Bottom
1 @2 J# i4 d( R; W3 t9 O9 X0132D9F1  .  51            push    ecx                              ; |Right
. |5 Z8 ]% I! }- k! y6 A0132D9F2  .  6A 00        push    0                                ; |Top = 0 6 x6 @: @0 J& F+ d. r/ B" }
0132D9F4  .  6A 00        push    0                                ; |Left = 0 2 ^- Z9 ~6 a8 o
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
! A/ d0 c. n) T% A  B, o9 @0132D9FA  .  52            push    edx                              ; |pRect / }2 C5 t  k( b- v
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
* A% N$ o8 o6 d- R0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH ( @4 K. f% z$ [
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ! `& f+ m0 \: S  T
0132DA09  .  50            push    eax                              ; /hBrush 5 x0 z7 z- I$ q
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
' P  [  r4 ~4 _  [  C0132DA0E  .  50            push    eax                              ; |pRect ! R0 R9 l4 d2 _
0132DA0F  .  55            push    ebp                              ; |hDC ) _' z( l+ y" F+ t6 \
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect ) }1 L( x) c. P$ x7 T
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
% M, H. G( Z% c3 ^0132DA18  .  55            push    ebp                              ; |hDC : E, V1 s* S1 I' p9 n2 P
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
7 }1 d2 }/ ?% a5 H" }0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
5 P3 P* M1 d) ]0 }- A0 ^+ P- i5 ~8 u/ D0132DA24  .  55            push    ebp                              ; |hDC
7 B* h& C  }$ j3 p, D0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 9 Z4 U& ]3 ^- e( H' U$ i* R. d3 k
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
; E) E. i- j" [  _' L( d0132DA2D  .  55            push    ebp                              ; |hDC ! @  @' w) f) u+ h) O
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
2 g+ W% c0 j3 r8 [2 B/ O0132DA34  .  33F6          xor    esi, esi
  W5 a' C$ J) G/ K/ b0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi # u, _: o9 V6 ]
0132DA39  .  BB 01000000  mov    ebx, 1 2 W1 W0 ]- }$ J) v9 R" G4 D
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx / l" p) Y4 C/ d( U8 g
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
2 o5 U) A# U( h* b& H- j0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi 4 x. q9 w: J6 Y# E( ~5 w7 `
0132DA4A  .  0F8E 20010000 jle    0132DB70 4 q2 s7 o: A8 Y3 x: W
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
5 z, M- ^( r& e! [3 [0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
1 r% N  a7 Z' V# _$ t0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
$ ~5 |# {& [8 }, S6 l4 ^2 O& r: b0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax 9 V2 d( z0 h8 g/ e0 s" c, p
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
) l" F, q1 {! `0 `- ?0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] 4 D. {; e" L& E6 `3 ~
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] : m/ a, l6 T0 l" V/ h* y
0132DA72  .  EB 04        jmp    short 0132DA78 0 x8 f' ^$ j9 i0 n
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] 5 `8 V6 ]  H( U0 E) m; x
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
4 ^" T! [- D# b1 b! v( N0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
- a' B. G. V' z  O, S; x' ?0 ?+ r0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] ; Y3 \- K0 V# C9 i# n2 o
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx 0 y; n- t8 X) K3 O
0132DA86  .  0FB700        movzx  eax, word ptr [eax]
5 i5 a. A6 E" k9 i% _  ]' r6 c0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
/ X9 C0 E+ S! G2 `3 f0132DA8C  .  51            push    ecx                              ; /pABC 3 r* R, r& S8 F
0132DA8D  .  50            push    eax                              ; |LastChar
: a# `/ R& U9 f0132DA8E  .  50            push    eax                              ; |FirstChar
5 o$ k  w  I2 o7 f0132DA8F  .  55            push    ebp                              ; |hDC
! p' M- _- N0 y1 O( s% {0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
2 M& L- p$ I; h/ q% A' g9 u6 G8 d  j0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] . R$ f$ Q- U+ U6 ]8 \4 K1 H
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
  ~; H' d( @8 O7 n* P' ]0132DA9E  .  73 10        jnb    short 0132DAB0
) C1 C, l0 j% U) ~, q0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 - Y4 q' E7 p9 _* B% o" \
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 & z' C7 c8 r9 ^
0132DAAE  .  EB 0C        jmp    short 0132DABC   P5 S" {4 P: d
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1   R% o/ U. s9 P- }2 d5 O; g
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 $ Z% Y0 b) P" x3 Z6 o$ L
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 & V6 G$ ]9 o' Y
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
1 X/ N$ A5 Q, L9 i* Y% M, k+ x0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 7 R' P6 u. _9 ]. p; J- c* _
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
! N* C+ U' X! D, O3 H; O0 d0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
0 w  |& |" l' t$ u; }8 V0132DACE  .  72 14        jb      short 0132DAE4
3 X% U8 ]3 n6 y5 Y5 {! Y! \( x0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
" k1 m, m) s# Q& Q- U( A; q9 X0132DAD3  .  BB 01000000  mov    ebx, 1 2 r2 w- y' S5 h9 R' L  o
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
, B6 k; d* `6 L. j5 Z% H& s8 ~0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
/ s( C! s* }8 H; i4 B) O7 e5 C$ a6 o$ w0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax - R% m  c9 f9 f4 [1 F
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
9 o4 [/ f! a; T) {- n0132DAE8  .  03CB          add    ecx, ebx 3 P* u# m7 u6 b' n* R$ E) H4 }
0132DAEA  .  85C9          test    ecx, ecx
5 b3 g1 l0 L$ ^! b) S4 N' Y6 T0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
+ s2 T6 `$ J- O8 a/ c) F0132DAF0  .  D9C0          fld    st 6 Y6 C2 ~& i! _9 v
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
; I/ T8 F8 X4 k- K* H, j# B; z2 D0 Y0132DAF6  .  DEFA          fdivp  st(2), st ; Q; U, w" u3 f& L) }% U) k
0132DAF8  .  D9C9          fxch    st(1)
/ A# z1 H# i$ X3 _9 n% ^9 A0132DAFA  .  D91E          fstp    dword ptr [esi]
" l% e# B; z" G! P2 L0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] + R" o: ~, y. ]; o; c1 N
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
) [$ S" h! a4 u4 Q  Y0132DB04  .  D9C0          fld    st + W6 W) K' l2 ^4 D( s5 f6 X
0132DB06  .  DEFA          fdivp  st(2), st
5 i1 R4 Z6 d/ B6 G3 \/ g0132DB08  .  D9C9          fxch    st(1) . V. q: f$ h( C/ B" a3 v; b
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
  D/ _/ S" S9 X5 _: x0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 8 s% O1 F1 z+ U
0132DB11  .  7D 06        jge    short 0132DB19
- N: P. \0 _+ G1 M* n! @# C0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
  _" `, {7 T4 i- D, E0132DB19  >  DEF2          fdivrp  st(2), st
& p; y# u! w# s8 ~0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
/ A& J9 x0 g5 R, p7 h, e. S0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 0 d9 f+ K7 o$ x) h" \5 A& A9 i
0132DB21  .  52            push    edx                              ; |String 3 [, L. V7 L& k  C, |
0132DB22  .  50            push    eax                              ; |YStart
$ V! A: M" _4 X$ c; B0132DB23  .  D9C9          fxch    st(1)                            ; | . a5 g6 j6 D' y4 t  t
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
- h' o2 P+ l8 z% _8 F# V0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
" R4 _( }8 x) H  x# `0 }5 f0132DB2B  .  03C8          add    ecx, eax                        ; |
; U8 A5 Z. V: _5 |6 `' u0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 4 i1 y: ~3 g8 `1 k
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | . y6 n5 p* L- e. l6 P4 e/ J
0132DB35  .  8BC3          mov    eax, ebx                        ; | 1 @  n3 O4 J& u4 u5 o+ z5 ^# G9 T% V
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
3 J$ n5 ]+ n( D% x6 G" ~0132DB3A  .  50            push    eax                              ; |XStart
2 f# }# H3 y$ v0132DB3B  .  55            push    ebp                              ; |hDC
. }8 e  d, M3 B0 @% t! D0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | 9 K3 d* c0 b$ K# }6 y
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
) ^9 Q! I9 R& O1 K% S" z0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
% i0 e# K# \7 g( t+ U0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]   |* y/ z1 `8 e/ `
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 % [! _; q. c- S6 V& x, d
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
: q& g& a" L/ W. F1 ~& ^0132DB56  .  83C0 01      add    eax, 1 . b; g. Y: H. b
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] 9 l+ L7 }0 e. h, `6 M8 l+ {
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
( l- I; A1 s( `7 f0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
7 E; B+ H% _! w5 C# D$ R$ A  V: H4 j6 \: T0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax   R6 T; \% a6 H: O, ]! a9 c
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 ' z1 K6 e4 O4 @5 s; c8 @' W6 i
0132DB6E  .  33F6          xor    esi, esi " s  l. X1 U$ b, {
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
9 ~  g  E- n! I; K; q. K0132DB73  .  6A FF        push    -1 , m% P# w3 k# T; n( q
0132DB75  .  83C1 38      add    ecx, 38 6 s9 y: ?! I3 h7 s
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 3 \* [" _+ n* q% \0 b
0132DB7D  .  8BD8          mov    ebx, eax ! N1 O. W1 x* e
0132DB7F  .  3BDE          cmp    ebx, esi
8 |' k* x9 t' A& Y, \0132DB81  .  74 74        je      short 0132DBF7
0 H6 b4 O- X0 c7 w( J1 ]) E' z2 z0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
7 X/ L' @, c# n, }0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] 1 [6 y, T! Z) O/ F4 ^, P: v- Z
0132DB8B  .  52            push    edx                              ; /Buffer
; h' r  s+ }. _% I. t4 x- Y& o0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) ; ~: i; x  I1 {% x) H
0132DB8E  .  50            push    eax                              ; |hObject
6 b1 `8 k/ a8 p+ o. e2 E# h9 X0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA ' Z1 J; v7 A& ]! ^" A
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
2 ^; H5 z4 i9 K0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
, o4 l' \( _( z( G' W0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
$ i  `  w+ r- Y" W3 R0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
  D. y7 n2 Q2 E1 I0132DBA5  .  85C9          test    ecx, ecx
2 K5 j- Q5 u8 z& h0 i/ o0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 ) f) C1 n4 @8 S* e4 [8 Z+ h
0132DBAF  .  7E 46        jle    short 0132DBF7 1 r  k# Z8 B8 P0 W6 n6 l) S6 N
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
% ^5 t9 e6 F0 Q" O. `8 Q" f0132DBB5  >  33C0          xor    eax, eax
) {3 q9 m  u2 C! J9 v  r! ]0132DBB7  .  85D2          test    edx, edx ' Z4 V0 U* L4 D: s
0132DBB9  .  7E 26        jle    short 0132DBE1 ; {! {% C  C( l# l$ u6 G
0132DBBB  .  8BCE          mov    ecx, esi
- Q  W( D+ H5 k% U/ v$ X& S" S0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] 0 o; @& q& l3 x  ^; s9 x
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
4 l7 C1 p4 a5 P5 w8 g0132DBC3  .  C1E2 18      shl    edx, 18 1 {$ n! ]$ V5 K/ M
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
5 q1 j- q8 I& e7 k3 o) ]+ R0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx 7 L9 C& C, B, G% U6 i
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 1 S1 y( J2 U1 L9 B6 Q' S  U
0132DBD3  .  83C0 01      add    eax, 1
+ G. d7 \" K; |- U4 g% Y0132DBD6  .  83C1 03      add    ecx, 3
/ _) ]% f2 M  ?/ ?* L- x0132DBD9  .  3BC2          cmp    eax, edx
/ G# s, z3 I$ d0132DBDB  .^ 7C E3        jl      short 0132DBC0
- L8 P3 @5 y0 a  ], N+ x3 i  N& G- f0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 9 z- G) S3 R, h# L) q
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] + n! m! M+ R9 b! r' q; t9 ]2 Z1 S
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] ! D3 e2 N: ?4 G# y5 X
0132DBE9  .  83C0 01      add    eax, 1
, T' e: R" ^; B0132DBEC  .  3BC1          cmp    eax, ecx
  U0 n, U! M+ z- Y& a0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] 2 Y. C0 W2 X/ C9 `
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
# W" b! l3 U% a: V, ]: ~! o+ [0132DBF5  .^ 7C BE        jl      short 0132DBB5
& Y, D7 K( N" n8 Z7 @2 c0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] ; P" W3 r) \7 e/ R  n5 a( t
0132DBFA  .  6A FF        push    -1 , G  d* L; T& Z0 `4 E* x5 L
0132DBFC  .  83C1 38      add    ecx, 38 * N. z# w& }6 _( W
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> + [% ]. y3 R4 r) L( h0 n
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] ' p0 o' I6 e; g7 _* s( f. r
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
! M4 E- \' h0 s3 o0132DC0E  .  50            push    eax                              ; /hObject
# S. F6 @/ b3 {0132DC0F  .  55            push    ebp                              ; |hDC , ^7 N; F" I9 g4 l( V
0132DC10  .  FFD6          call    esi                              ; \SelectObject
# @# S9 B* c2 c4 B+ z! @1 T) o& w( u0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] # y: r6 X& N' x3 S, b
0132DC16  .  51            push    ecx
6 B  r6 V, U+ @- F, o0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont 9 L$ |( F* n; r3 Z
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
5 E% W2 W9 y" v$ Y0132DC21  .  83C4 04      add    esp, 4   S& E; Y) [8 O0 x
0132DC24  .  52            push    edx
3 g3 Q0 m5 ?4 u0 Q9 a+ _0132DC25  .  55            push    ebp , ?. k$ w: n8 W1 W( ?0 I4 E' c
0132DC26  .  FFD6          call    esi 0 u9 H0 P' N" C) B
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
( S' [( X; B' O( B0132DC2C  .  50            push    eax
2 r/ Q0 C8 T3 N4 H0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
) ~$ S% k* y# {1 f0132DC33  .  83C4 04      add    esp, 4
8 K- z: c0 k% s* E0132DC36  .  55            push    ebp                              ; /hDC
) h+ h8 h& W4 N1 ^! _% z0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 2 X3 H7 F+ d- h2 y
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
" i  ]! q' ?5 y9 F- x# m9 C0132DC41  .  6A 00        push    0 ( O7 U$ b, V4 I% n
0132DC43  .  51            push    ecx 8 L* Q, h  E4 f3 x+ o
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
' d+ C3 B" G  h9 Y0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 9 f5 R0 b$ z1 @  L2 c. g% `
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
( u! g3 `2 t5 r: A2 r4 Z8 W) F0132DC4F  .  6A 01        push    1
' J1 \3 t: }4 d" x0132DC51  .  83C1 38      add    ecx, 38
7 g& u% }! P: ^$ O4 w1 C0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> % j( Q% Y; G; l+ u- A5 E
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] " g' t- C* o& M$ N" R7 r9 P. \: q
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] ! k# P3 Q$ p) r2 K8 ]& P" C
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
, I2 D7 g- b1 ?+ {% Q8 w0132DC61  .  6A 00        push    0 ; D5 a" Z" ~" O9 Y
0132DC63  .  FFD0          call    eax
8 j+ q* l3 n2 h8 Z+ m  s8 v0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
( K+ x* |% e0 k4 {) `! i- H5 x  Q0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
  y: |3 B6 T0 h( d' o6 e7 ^0132DC6C  .  33C0          xor    eax, eax
: P& P& v/ _2 {/ q2 b: e+ M& o0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] & w3 \, R& c& A+ [, I6 \% w( \
0132DC75  .  5D            pop    ebp
* p' M" Y( e; D6 L) ?" u0132DC76  .  0F9CC0        setl    al
$ D8 O, c% d* E0 F/ M: M8 Z: I0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] # N! |' @" f, s( g! `
0132DC80  .  5F            pop    edi . _. P0 q- K7 @' B+ g$ f/ F
0132DC81  .  5E            pop    esi
% J6 Q5 G! S  j" b0132DC82  .  5B            pop    ebx ' z) V+ `& z; d: a& m3 M
0132DC83  .  33CC          xor    ecx, esp
0 l8 j6 A, y/ U2 P3 _, f/ w0132DC85  .  E8 E2460500  call    0138236C $ C% S3 i# j7 d
0132DC8A  .  81C4 98040000 add    esp, 498 4 c+ g' q! O) O/ L/ i, R
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.
( v0 l# b" B9 F* }9 u7 o8 `5 p分析说明也许以后会补上。7 h/ l# i6 G) o  p& l- s( _( V4 ?

( z5 H8 M0 q1 ?& m& A" k# T0 t% A加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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