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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
1 L  u4 q) S" h2 X. P8 w. K0 n0 ]+ R- c
0132D7E0  $  81EC 98040000 sub    esp, 498 3 C5 P+ Q% _9 U/ h
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] ( H; n& v" E) X% \
0132D7EB  .  33C4          xor    eax, esp 9 J0 J6 r6 F( d' M9 O( H: y/ a- X& |! ]( o
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax * \7 H: |1 M' \  G
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] + Y) W% r+ Q; [4 z7 @$ c9 r0 m
0132D7FB  .  53            push    ebx
, o6 S6 w+ h+ r0 L0132D7FC  .  56            push    esi 5 }: Z' S1 F1 c+ k( @6 D1 b
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
! \# `& L; A* C0132D804  .  57            push    edi
( x4 W; Q/ K' O0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
6 L& l0 [) _+ h+ Z- B0132D807  .  8BF9          mov    edi, ecx                        ; | : g* T3 |; K, U- V3 l+ P
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
  z3 W" w6 r$ {0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | " ^( i9 }- Q$ Q) t
0132D814  .  6A 00        push    0                                ; |c = 00
6 L! ~7 \% r. o3 e8 W0132D816  .  52            push    edx                              ; |s
/ \3 f1 W( b' }, o% M+ f0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
. U( Z" ]) B; }/ {6 W* R% l6 o& q' G0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | . @1 R" f2 j# z/ U. ?: R5 \
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
- d" T5 `% j4 u" C' u  z  o0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
5 p/ A8 T5 m# ^) O2 Z8 R, ?1 |& m0132D82C  .  83C4 0C      add    esp, 0C
- t% s. W% \9 g6 `0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 $ @9 K, G0 z6 A; n! z5 Y
0132D837  .  74 12        je      short 0132D84B
9 w8 v6 c8 r, j$ o0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
/ Q3 q0 w0 l. j$ N% W0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
. I2 k$ d& m0 F8 U0 i7 }0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 0 _% j0 n5 F+ m! s8 ]
0132D849  .  EB 32        jmp    short 0132D87D
+ c5 ]6 y! F3 O1 t3 ]0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 , _( [: {" M1 Z( e# i
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] $ j+ }: |8 n/ ~9 E" J
0132D855  .  33C0          xor    eax, eax
7 O0 C& @# `4 @0132D857  .  EB 07        jmp    short 0132D860 & C/ ?5 `- L# Q
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
! L2 z7 r0 D$ J2 }0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
  e* e4 @7 m- @; t% U* J; g$ o0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
3 |8 S2 a' C8 m8 j0132D86B  .  83C0 01      add    eax, 1
- H. F- _# O* y0132D86E  .  3BC1          cmp    eax, ecx % d* \  t" i0 A+ I  X5 _  m
0132D870  .^ 7C EE        jl      short 0132D860
! |; p( d, }3 ~! w0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 1 n" K1 |8 Z2 S5 r
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
: J; v1 u- f1 R  v1 E6 A3 `. b/ M0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 6 v7 H/ c& Y% h3 e3 L  r1 O
0132D880  .  85C0          test    eax, eax 8 J; _. Q- m; v% X
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] % O, f* A8 y2 V/ T  }9 _
0132D885  .  75 05        jnz    short 0132D88C
0 ]% p/ j% B* C3 K! v+ O0132D887  .  B8 16263901  mov    eax, 01392616 - T. R: F! i& Q9 z
0132D88C  >  6A 00        push    0 0 `" d1 v  O- \4 V
0132D88E  .  6A 00        push    0
4 b: [: o7 |' {( J, ~0132D890  .  50            push    eax 5 }6 V9 N5 N" c2 |/ E
0132D891  .  6A 1F        push    1F 5 T- ^' g3 c0 W0 L
0132D893  .  8BCE          mov    ecx, esi
5 O$ E2 ~9 H6 n5 h% j2 U0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
  V7 F8 l7 P: A4 e( w' d* l0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] $ z' b/ q0 t1 B9 N4 e; T
0132D8A1  .  6A 00        push    0 ! Z+ o, Y6 C2 U( {4 G/ g& M' Z
0132D8A3  .  6A 20        push    20 2 @8 y5 L3 V' w- @  |
0132D8A5  .  51            push    ecx 0 e& [  l& w* \2 C4 @
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]   R8 k8 N1 s2 _; E( X
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax 2 o. Z, r7 z9 X- ]& b
0132D8B0  .  8B10          mov    edx, dword ptr [eax]
$ ^3 l5 J0 I5 J1 [0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
; {( V( x+ h# {+ X8 f0132D8B5  .  51            push    ecx ; I& z3 k# E1 J7 A( C$ i. {
0132D8B6  .  8BC8          mov    ecx, eax
/ Z% v- K; S1 Z& n6 S0132D8B8  .  FFD2          call    edx % `/ g" r; d9 p: K
0132D8BA  .  85C0          test    eax, eax
+ z+ O& }' X2 b+ @* s! {6 Y  Z0132D8BC  .  75 07        jnz    short 0132D8C5
( N8 @3 @7 t/ I0132D8BE  .  32C0          xor    al, al + U1 N' s% z8 O* s4 U" K; w) I
0132D8C0  .  E9 B4030000  jmp    0132DC79
8 a6 o: y) B: E* J/ x! f* w0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] + c: Y% S+ w6 x; A9 r0 Y
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
" S9 n' Y/ A/ X2 _4 b0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] 1 f6 H5 Z# `8 Q( K; u5 {4 {5 \0 @
0132D8D0  .  55            push    ebp + n2 B8 G) a, Y3 C4 g1 s
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] ' l, C- Y3 I1 P8 F
0132D8D5  .  52            push    edx
# p' e5 ^' r3 l# [+ P4 I  E! F0132D8D6  .  FFD0          call    eax . j$ K. p+ b7 M3 D! G. k
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL & O- {! K' |3 r  d! s) m
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC ' Z4 J) H2 D, x7 W; u' n( L
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] % J( [5 c4 A& l' L0 x4 ]3 K
0132D8E4  .  51            push    ecx ) n& [1 V& G: E: s
0132D8E5  .  8BE8          mov    ebp, eax 5 }; Q, {3 N" G. z$ S6 q6 R$ Z
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
, W" {3 v+ W& ]+ u, u0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
7 y( S. Y( q) z/ p0132D8F3  .  83C4 04      add    esp, 4 7 B. T+ \5 O) P' O* K7 k, D( z& C
0132D8F6  .  50            push    eax                              ; /hObject : Y) b) u( j& w8 o6 O8 U7 N9 U" B
0132D8F7  .  55            push    ebp                              ; |hDC % C- d& k1 K3 |! v1 h8 W: i
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
0 G7 ^+ o) a: I. o& P* F0132D8FC  .  FFD6          call    esi                              ; \SelectObject + t' F, r0 S* B: x
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
+ g6 S% v9 k7 @# r8 [0132D902  .  52            push    edx * L9 m( B4 H# W2 F5 Q$ M
0132D903  .  8BCB          mov    ecx, ebx * p. ^9 ]3 J% M: x4 Q
0132D905  .  894424 40    mov    dword ptr [esp+40], eax ( t) S) w' v3 S+ l: ^: R
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= $ F/ ]4 H4 Q7 I& B$ X! [
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
4 F: @. x+ _* V3 B+ J0 ^) F0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) # A1 e% P9 m2 L4 R+ T* a* p/ W3 F
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
& y: B, T( z5 e0 P, m- R" @3 C0132D91A  .  55            push    ebp                              ; ||hDC ( T4 ?' K) Z7 k8 Y9 y' y+ [# r
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || $ v2 w5 P& G- i2 j
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
+ m- F) o2 D" }+ j+ K+ l0132D924  .  50            push    eax                              ; |Multiplier " c% W- ~0 r8 }9 ?' u7 ~
0132D925  .  53            push    ebx                              ; |Multiplicand
& t0 E/ S. ^7 w2 l, C0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv 7 y5 `2 a4 a7 u; |& F
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
/ ]( c/ ~' y: J$ ]; P0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]   T& Y0 y. B: ?  _
0132D937  .  51            push    ecx                              ; /FaceName
9 r9 y' S+ D- Y9 Y! _8 r7 b0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | : _" u5 Z9 Y! ]: e/ F6 h
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE $ n0 f0 a2 r- A, e8 o0 G/ n* K
0132D941  .  52            push    edx                              ; |Quality
4 M% ?+ B( r- A6 I0 ~: I0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
- \: K3 D. [. G1 d( U( e2 K/ Z: ~) `0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
7 S- |, V/ j( C+ J$ k. ]1 S0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
& x: s% x- z: Z$ y8 r, |' ^2 p% w' w0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE 0 B5 P, ~2 c. D# r$ A
0132D94A  .  8BD1          mov    edx, ecx                        ; |
8 d6 L; u" R/ J/ w' s2 d) I0132D94C  .  D1EA          shr    edx, 1                          ; | + T' L# e1 J  S
0132D94E  .  83E2 01      and    edx, 1                          ; |
1 F0 Y# j8 B7 N% v0132D951  .  52            push    edx                              ; |Underline * t! R9 _' F8 }+ e8 y9 f5 b; V
0132D952  .  83E1 01      and    ecx, 1                          ; | . b( _3 c1 @& \7 ^; c& _3 J
0132D955  .  51            push    ecx                              ; |Italic
+ G4 ?' _7 H) c& S' U0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
9 x% _1 O# W: O# ~0 c) w: `& R" Q0132D95D  .  51            push    ecx                              ; |Weight
& ~6 |  t- ?! i0132D95E  .  6A 00        push    0                                ; |Orientation = 0
7 q2 p" Q8 f# z# v6 m0132D960  .  6A 00        push    0                                ; |Escapement = 0 ) z1 b$ L+ M& a; @9 ~
0132D962  .  F7D8          neg    eax                              ; | . m& \5 U4 ~  n; l( f" m8 j5 P; h8 D
0132D964  .  6A 00        push    0                                ; |Width = 0 5 G% I# d8 a( N$ U+ f0 f
0132D966  .  50            push    eax                              ; |Height - C( n8 S& y' L( D2 J
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
& D7 p: e; E; _8 ]- w0132D96D  .  50            push    eax
; p! y0 M* G1 a9 j0132D96E  .  55            push    ebp
( g2 c. Z9 v) e+ r, x0132D96F  .  894424 38    mov    dword ptr [esp+38], eax 6 J' a- z5 ^/ l& i# c
0132D973  .  FFD6          call    esi
5 s% [- B, x$ m# d; S0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] 3 M8 m4 G  d  Q2 V1 s
0132D979  .  52            push    edx                              ; /pSize
. a+ p% ^$ Q+ P# o" n0132D97A  .  6A 01        push    1                                ; |TextLen = 1
& P- H- i( [* s) c! w2 c) s$ t0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
' g& _. ]1 F# l6 y; R0132D981  .  55            push    ebp                              ; |hDC ) N% i. B! U! G& x
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
$ m" L$ ?7 _0 N' Y/ t0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
1 ?+ q$ J) A" U1 k: ]  Y0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
& t$ y. z( X& g! t8 _& \0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] ; e4 i. x0 A0 Y6 T3 |. z
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
3 [6 }* W8 q3 {0 E0132D996  .  33C9          xor    ecx, ecx ; \& K$ [9 U: P8 a  [" s
0132D998  .  8BC6          mov    eax, esi
. o4 `* w4 N) D, T- _* ?) I0132D99A  .  BA 20000000  mov    edx, 20
9 a$ v3 j% d; M1 ^" [1 o7 _0132D99F  .  F7E2          mul    edx ) M5 z% @3 |9 s
0132D9A1  .  0F90C1        seto    cl 0 _- O) Z  J7 a
0132D9A4  .  F7D9          neg    ecx
$ g7 u/ d7 t% F; z6 E( h5 D0132D9A6  .  0BC8          or      ecx, eax ' z9 _& h% P& R# |
0132D9A8  .  51            push    ecx ! q7 [9 F  o' }5 Y! k, V& Q
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> 8 V' b/ c+ p. \! }( C
0132D9AE  .  83C4 04      add    esp, 4 5 q* \! f1 z6 M1 c  B$ m) r
0132D9B1  .  85C0          test    eax, eax   r. H! z8 v+ D6 E
0132D9B3  .  74 28        je      short 0132D9DD , y" V+ S* H$ b$ p: K
0132D9B5  .  83C6 FF      add    esi, -1
- ~" q( `) o1 B* g' q( y0132D9B8  .  78 25        js      short 0132D9DF 4 M# i6 m$ ?: r: b7 c: [2 H8 a
0132D9BA  .  D9EE          fldz : Y7 W! J2 v: }+ k* z7 W
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
. {; A& B) _7 ^1 L* C1 ^0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] # ]" r$ i* O/ L! f1 P
0132D9C2  .  83C1 20      add    ecx, 20 : u' q0 a8 O# ^$ `5 c
0132D9C5  .  83EE 01      sub    esi, 1 4 w0 d8 p9 Z+ J/ ~
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] & }  J( t; {' p6 F, t) E
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
% F) u) r- n, H0 R0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
; u9 ^  k/ ?( m0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
; c9 l5 G2 ]6 r' t5 {0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
8 z7 z2 I1 J# `8 o9 j0132D9D7  .^ 79 E6        jns    short 0132D9BF
' Y% j$ s. ]% B0 m0132D9D9  .  DDD8          fstp    st 9 M. B, _+ r$ O/ l5 Q9 i/ Q2 g
0132D9DB  .  EB 02        jmp    short 0132D9DF
1 f2 G, y7 M1 D3 s/ Q  c0132D9DD  >  33C0          xor    eax, eax
" }+ ?. E6 F+ \  X0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
) Q7 d0 F5 k9 |4 G0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
6 u* d1 _& V6 R0 i. C3 N% T0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
( k# g% A0 k/ u  \0132D9F0  .  50            push    eax                              ; /Bottom % m( q; S$ r1 i
0132D9F1  .  51            push    ecx                              ; |Right 0 V5 S* r* B' E! w1 M8 C7 q: p
0132D9F2  .  6A 00        push    0                                ; |Top = 0
9 F5 a- u2 {9 a( w( ^. ?0 e0132D9F4  .  6A 00        push    0                                ; |Left = 0
8 q' L% u5 {" n' Z0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
- T, k- B8 \' R; D1 J. Y0132D9FA  .  52            push    edx                              ; |pRect % ^6 A5 x, g5 v2 ^
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
8 G1 P' d/ D" v; h3 ~1 E9 I9 P0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
9 [6 b7 [# c" V( q: w8 {0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject # ~: b8 u6 c* c) }: H& W0 J# I
0132DA09  .  50            push    eax                              ; /hBrush ( |- `5 ?3 ]8 D  J" \) V
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
4 n. |1 R4 R+ t( ^0132DA0E  .  50            push    eax                              ; |pRect % W+ N6 }2 n3 h' N) V+ t
0132DA0F  .  55            push    ebp                              ; |hDC : g) F0 n  Q, i" Q$ j: L" `; k; U# b
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect 9 o) C1 T0 C, F
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
) W' B. R) u6 O7 t. D1 D0132DA18  .  55            push    ebp                              ; |hDC , F6 k8 [5 I8 u
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
3 }* u5 I8 H( \# [; J' ~8 R) N0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> - d4 {0 D: K& A6 v  q4 j
0132DA24  .  55            push    ebp                              ; |hDC   [+ @3 u: _( Z  t. C0 @
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
: ^4 T3 J7 S+ `0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
& c4 A8 h+ g. A& @0132DA2D  .  55            push    ebp                              ; |hDC / M" c0 v1 k6 m. _  a
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
# K- q3 G7 Z* G; w1 P, J. ^( c' j, s0132DA34  .  33F6          xor    esi, esi * _" m- Y1 k5 h3 @
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
' {/ V, M, ~% R- F" l; R0132DA39  .  BB 01000000  mov    ebx, 1 . l& E) m; s$ ^" A
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx 8 I5 w* t" M5 t9 K+ K8 @1 E
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi " s6 w1 X0 ^/ o% z
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
7 D1 W5 {3 U( s3 D# X0132DA4A  .  0F8E 20010000 jle    0132DB70
6 {: m1 x# _% B3 N" u0 E0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 7 u5 D+ D9 a/ i- ?% l7 @# E
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] 8 V4 h9 z! w. R
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
' P2 S! P: C" P( `0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
- u/ q6 }# W' ]4 K6 a7 z' S' X0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] , |! m# S- o9 H$ Y) g( R" Q8 F
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
* Q, l; e6 ]8 e5 \0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] 2 ~* _6 F3 f" a4 {0 r0 K6 _, E  `
0132DA72  .  EB 04        jmp    short 0132DA78
3 C5 o, Q$ R. N4 @' W) v0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] % b2 m; Y5 G" Y- w  A
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
% m. U4 p+ [/ ^( k1 ]2 l0132DA7B  .  66:8B08      mov    cx, word ptr [eax] ; g& |* d  r/ Q3 Z- `
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] / q: c- ]7 V) q/ K
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
! Q. D) b9 ?- N5 ^0 m/ b0 X0132DA86  .  0FB700        movzx  eax, word ptr [eax]
4 Q! p* F8 E7 A5 |$ R0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
, a2 G  @  f+ D( O+ r3 T0132DA8C  .  51            push    ecx                              ; /pABC
. R7 V- r& f" [0132DA8D  .  50            push    eax                              ; |LastChar + @# [& a" I* i) \* x& u
0132DA8E  .  50            push    eax                              ; |FirstChar
9 q8 s0 k& r" v- |# @0132DA8F  .  55            push    ebp                              ; |hDC & \8 I0 W: f# {& _4 _
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
$ [, o7 j2 C2 Q7 e6 t4 J$ i0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
$ S4 \. `* M) z9 t) Y3 s) n. Q0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
# E9 i: |% G6 f! I) g/ w7 c- J0132DA9E  .  73 10        jnb    short 0132DAB0 , z) m7 I7 l8 v! _! u: V
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
) n2 X! d1 B9 X) R0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
: z. c7 @9 Q. z7 P( |! Y9 `0132DAAE  .  EB 0C        jmp    short 0132DABC
# Z$ U0 @( x; b8 j0 `0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 ! x4 G, K' D  I8 w$ \6 u% u
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
; C4 U6 n: N2 I: ?3 w0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 . w6 g8 ~; }" T; q8 ^" _& O
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
* U% |! Y6 q8 q/ Q0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
* X6 @: }/ O& b( \9 j) ]$ r0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
8 j7 u9 G' H, y& L5 q0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] * X: m) M' r! Z
0132DACE  .  72 14        jb      short 0132DAE4
5 n2 J  s7 d9 y5 [* I$ Q0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] + U# L# N) W5 ]5 r5 i: O
0132DAD3  .  BB 01000000  mov    ebx, 1 $ B' U' R2 U" K
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] 0 h* g2 C- G/ R7 u4 Q
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx " B1 c" J4 x+ M7 O( `2 W
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
+ l! q; t3 {% c9 ^0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
  A! o6 W& H1 E' n7 Y0132DAE8  .  03CB          add    ecx, ebx ( ]$ z- Q, ~5 G' `/ h
0132DAEA  .  85C9          test    ecx, ecx
/ A' P5 e7 ~) X$ m  s3 K4 [0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
5 b5 Y+ y/ C! i/ a7 w3 T0132DAF0  .  D9C0          fld    st
# t9 |% C% U- N. _$ T& |9 h( N0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
0 e( }) }. v" H+ P7 Z5 K" Z# M( T0132DAF6  .  DEFA          fdivp  st(2), st
0 p9 ?' k- P; J; [/ C& t0132DAF8  .  D9C9          fxch    st(1) 7 P- x  i. M, [8 s. a, w
0132DAFA  .  D91E          fstp    dword ptr [esi] 8 J7 H5 a( P7 f* F% d4 {/ P+ w9 P
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
0 E, l. e  y0 g0 {: {8 d5 j0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
9 C& M5 c5 ~: R0132DB04  .  D9C0          fld    st
) B; `) V, J% I$ ^4 N. |4 h$ K0132DB06  .  DEFA          fdivp  st(2), st
2 A7 j' b" x( Z  u3 F6 I3 N& o5 h# o0132DB08  .  D9C9          fxch    st(1) ! E9 L7 ^$ w. [2 t  b9 |$ V8 o- y- f
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
2 v$ S1 R- `/ a" W# P' }$ {0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 2 ]1 A- t& o; l
0132DB11  .  7D 06        jge    short 0132DB19
8 ]3 C- E, m5 k/ J" u& A! C0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 4 m9 u0 D" y% i+ k. e# ^
0132DB19  >  DEF2          fdivrp  st(2), st
" V, F7 N. K5 z% H$ \5 i- @0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
' U9 }$ @0 B/ O, H+ o! v/ I& _& g7 h0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
( E0 G  Y4 M& W! {- b0132DB21  .  52            push    edx                              ; |String 6 j' j+ n6 W6 X3 u1 V
0132DB22  .  50            push    eax                              ; |YStart % j7 }& B4 U4 L
0132DB23  .  D9C9          fxch    st(1)                            ; |
8 Q$ W% ~9 [. e; e5 _0 y6 z0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
. j$ Y: O# S( W! A% g" S) B0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |   d) T! h/ o$ x& a: ^
0132DB2B  .  03C8          add    ecx, eax                        ; | % ]7 |$ Y6 h2 X
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
3 T2 q5 H8 L  C0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 5 h; d, [* U4 R! O1 p6 L# K7 d
0132DB35  .  8BC3          mov    eax, ebx                        ; | ! s' [- [0 w5 g( k; E7 u
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
) j2 b8 a8 k/ Y. K! ], K0 W% z0132DB3A  .  50            push    eax                              ; |XStart 3 [- E+ u% C- @/ p4 n# Z
0132DB3B  .  55            push    ebp                              ; |hDC 9 n) U3 |7 V- T4 ~: H' ?
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | / \$ [" q" z4 L/ @2 X6 S/ o0 M4 W
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
' `  Z) f- _! Q8 Y* s$ c. U1 e$ Y+ l- r0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
" R8 ^+ A4 u- u  @( W' P7 |0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
$ ~- h# U& c8 S0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
" @. s5 H  S6 F0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
0 Y: i% C5 A; J% w3 w6 |+ i: x: [( u0132DB56  .  83C0 01      add    eax, 1
2 ~9 Z2 v- ]# R# x- a$ d  ~9 O0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] ; l6 B) n& _/ _/ ^# R( t
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 1 i' p' x4 l+ Y: f, h" i
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
: k/ H: a! k1 c0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
% S6 J4 `4 q1 x0 l* m0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 : E+ y% L. T; R3 ^: j5 f- ?3 G. m
0132DB6E  .  33F6          xor    esi, esi
8 n+ B2 t6 d' u2 {0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] 6 [* j" [) n  T( H8 \6 r
0132DB73  .  6A FF        push    -1
+ t8 z9 d' N3 K0132DB75  .  83C1 38      add    ecx, 38 , u+ {) s1 d! s+ E, A! x2 C
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 8 @* {9 T8 T- F5 L; f+ N
0132DB7D  .  8BD8          mov    ebx, eax ' X4 H. e' ?9 e5 \! Y
0132DB7F  .  3BDE          cmp    ebx, esi , @1 Z( |2 _# F, k0 q
0132DB81  .  74 74        je      short 0132DBF7
  Q" F7 o1 F6 {- {' d) U' D9 e! e; A/ I0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
, W, B0 O- z- g2 c0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
" V! o4 d& H6 p# D6 ~- |9 m/ c1 S. k0132DB8B  .  52            push    edx                              ; /Buffer
9 o- m% h/ G. W- b& E, H$ A0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
- E* W, Z9 @3 Q4 g0 m0132DB8E  .  50            push    eax                              ; |hObject
( E9 T0 X8 ?7 H# S6 `0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA 1 U/ M; ~: H, U/ i9 b& J
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] * R! ?* X+ ^$ i6 b
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
" p5 Z& C7 E+ U% a* X0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
2 G  y! e9 ?% Z1 |3 ~3 ~+ p1 q. i. ~0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] ! i% k2 [: ~4 L' c9 \0 i8 G
0132DBA5  .  85C9          test    ecx, ecx ' H. j2 O$ A0 x. e; K/ |6 I+ A! u
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0   c& N; g' _- U7 {
0132DBAF  .  7E 46        jle    short 0132DBF7
) L8 D) K' I! F. q2 i) {* N% D0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] & r3 w! d, |# p: S
0132DBB5  >  33C0          xor    eax, eax
7 h* p1 S! f) q9 h8 L; P5 n0132DBB7  .  85D2          test    edx, edx ! D% L( ]3 A8 j9 _; ]- P
0132DBB9  .  7E 26        jle    short 0132DBE1 , I6 C; i/ J8 H9 \
0132DBBB  .  8BCE          mov    ecx, esi
2 A1 ]8 H& b' C2 V$ |3 R5 v4 W/ b0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] * G7 }+ ]" o+ R' b
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 9 f0 J+ @; N4 l
0132DBC3  .  C1E2 18      shl    edx, 18
* n  e, z& P( \( g0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 1 k' n% b- l. b% [# q+ K% G2 Z
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
5 Z, w& [# |; n/ T0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] ( Q3 u( J" Z& @
0132DBD3  .  83C0 01      add    eax, 1 8 \" O" l, a3 ?) I, v8 ~, e2 h  y
0132DBD6  .  83C1 03      add    ecx, 3
  `+ J0 O3 D% g' q7 g) S# {0132DBD9  .  3BC2          cmp    eax, edx
, y- H: q. e( n0132DBDB  .^ 7C E3        jl      short 0132DBC0
, X# y# I  Q6 `. `2 m. Y, P0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] & X  R6 S8 N1 ~* a9 x0 v
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] . Q# W, N: x, O3 w* x9 m* T
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
. r/ m* h) P2 @) S- h* I6 S0 f0132DBE9  .  83C0 01      add    eax, 1 - K& ?4 M2 R" z! t' H* g
0132DBEC  .  3BC1          cmp    eax, ecx
$ G0 ^7 X8 i3 a* y* g0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
. k* ~# A1 M: }$ v: \4 o6 l) J9 L0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
& Q4 m2 v5 r/ f7 \0132DBF5  .^ 7C BE        jl      short 0132DBB5 " P, ^  @$ u$ \4 u8 o8 V/ o$ W
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] * Q# U  c9 n- r$ k) d
0132DBFA  .  6A FF        push    -1
, W! [; {0 N7 j5 s# y4 b0132DBFC  .  83C1 38      add    ecx, 38
( N# V7 u% M4 {; Y0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> # M, z# K( k; o: R, _1 k4 T
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
3 y) ]1 b* }' Z# v0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject ( Z8 b! a$ ~; Q6 s9 ]5 l& }# }. Z7 m/ I
0132DC0E  .  50            push    eax                              ; /hObject
: R2 C- x3 v+ Z9 a; a7 E0132DC0F  .  55            push    ebp                              ; |hDC
$ {# l/ H' p: a* \5 u0132DC10  .  FFD6          call    esi                              ; \SelectObject
- `' @# A0 t1 X# ^9 X0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] ( h2 y6 d5 J* t2 T7 e
0132DC16  .  51            push    ecx
7 X% |$ Y2 J$ G# p- b+ A- a# [' W0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont 8 N! R9 N% w! t( h8 ?
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 0 k& E3 y, ~: Y
0132DC21  .  83C4 04      add    esp, 4 " B" G& Z6 C/ S; K' j
0132DC24  .  52            push    edx 0 p! g( K4 C5 `" B( k
0132DC25  .  55            push    ebp ' }8 L! R- R; u1 @
0132DC26  .  FFD6          call    esi
. R9 P7 P( {: Q5 P0 M" }5 b0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] % A2 k& M! n* P7 f" m
0132DC2C  .  50            push    eax 2 Z0 K8 p7 T4 P6 |5 J
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
5 D5 ~; k  n1 q8 C0132DC33  .  83C4 04      add    esp, 4
1 e: T1 {# W5 D8 P* i0132DC36  .  55            push    ebp                              ; /hDC - k* g4 \0 l9 `
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC - B  d2 V2 c1 y- ]
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] ) _2 {1 m" p4 ~- o, T) }2 X6 Y
0132DC41  .  6A 00        push    0
& `; e$ [8 F+ d8 e& t/ }: {0132DC43  .  51            push    ecx   ]1 @, R0 P' D. S/ i
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] 8 u# l1 ]+ C% ?8 j5 z
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> # `: P# D' ^) R6 u2 W+ v1 C
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] 1 J. ^7 |7 t3 I. k/ r6 Y& q" a
0132DC4F  .  6A 01        push    1 % k' L9 d* _* q, A" T0 i( _. E) h7 c
0132DC51  .  83C1 38      add    ecx, 38 ' M; W% V1 {0 n8 T' ]
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> 0 z/ d* H. \# }. j
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] , t+ z9 K& z4 c$ I# `
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] 8 n  x) ?% p* t8 `. a: N
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
" ]7 b8 }) T' [& i0132DC61  .  6A 00        push    0
' w0 {2 Q: v% ]2 ~1 M" s0132DC63  .  FFD0          call    eax $ k  P8 P" J6 T) _1 D: d
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] . }. n% L/ e- H9 G7 j( Y6 w) Q& r) P
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
. g) D: `' d; j* \. v0132DC6C  .  33C0          xor    eax, eax 6 H8 `4 w' J8 S5 V9 \. m7 u8 `
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] : C* O4 d, t. M5 H& U$ M; H# j: L
0132DC75  .  5D            pop    ebp ' }5 `% `; O- R# q+ k" n( ^
0132DC76  .  0F9CC0        setl    al
# Q* `* ?: ~) W( k9 ~5 T0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 0 K& M/ J3 z9 s/ i6 o  q7 W8 H" Q
0132DC80  .  5F            pop    edi
+ e$ u, u+ m; a0132DC81  .  5E            pop    esi , l3 L5 y0 P! h4 {( R2 K/ a
0132DC82  .  5B            pop    ebx 8 {* a  |0 `9 M- l, O$ {! v
0132DC83  .  33CC          xor    ecx, esp
' V7 g5 x5 r  }4 }3 \0132DC85  .  E8 E2460500  call    0138236C
" c5 m, X9 {# c9 T0132DC8A  .  81C4 98040000 add    esp, 498
* `- T  z9 ]# p! ]/ o3 Z* L1 O% e# x+ t' X0132DC90  .  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.
9 R7 W6 c, r  t. i/ f分析说明也许以后会补上。
0 x! r9 O: N3 c# o  t7 b
, {( s7 `5 o' h6 t9 j# a6 Y加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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