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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
- _  }9 r" }9 Q* s, {4 G( v: P4 e9 @9 f0 P% c1 L0 q
0132D7E0  $  81EC 98040000 sub    esp, 498
- C- }) M+ G6 ?4 t3 M/ _) |* D' _0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] : W! {7 q* `% y' Q* c3 ^- |! {
0132D7EB  .  33C4          xor    eax, esp 7 v7 X& h( ?! B& }) Z& e0 G1 ^# H
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax ) P2 z8 h! v* g
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] + B" I; s  k3 _! O+ K4 w( ^
0132D7FB  .  53            push    ebx
7 p3 J# m2 P) J- l5 [3 G0132D7FC  .  56            push    esi
8 v9 S- p* U, P$ l% j+ q3 l0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
% i- h$ D& }# e3 x; H/ b0132D804  .  57            push    edi - E1 B7 y+ g3 V: _
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
+ f$ n. {2 Q/ d) Z3 v2 c% }0132D807  .  8BF9          mov    edi, ecx                        ; | 2 [9 ~4 ^; O. R
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
5 C! E$ p1 e& f( g# p$ r0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
5 P) |' z5 S/ N  B4 z0132D814  .  6A 00        push    0                                ; |c = 00   h( ~6 g  W1 u
0132D816  .  52            push    edx                              ; |s 2 C" w' W3 Q8 n
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | 6 b/ w0 P7 k( B) n; ~# Q& b
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
) r& o& U+ e, [0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | ' o0 L  Y0 A9 F
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
6 b" c, S0 q$ v' k% m0132D82C  .  83C4 0C      add    esp, 0C * V2 d6 j" i, d& H6 T
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
& F& b$ B; y7 Y6 W% O  |! u0132D837  .  74 12        je      short 0132D84B & X2 I5 F/ V* H* `: o
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] 8 d8 Q8 [) J( }& s! r2 x% k
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 6 h: V, r4 r3 A* \3 s6 X5 P& q5 R
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
  o; p; N. `, q( g. \0132D849  .  EB 32        jmp    short 0132D87D 6 M4 ^) _2 p# f6 C) E
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 & W4 W* {( n2 v5 s
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
! j6 ]/ S( h8 [0132D855  .  33C0          xor    eax, eax
7 E! t* n/ e) D0 N5 d0132D857  .  EB 07        jmp    short 0132D860 , f5 R6 B! G" A4 D: G" h  U, J
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] 5 S) ]" m: _, M" w% p' q' o
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] 5 u8 k' W& W! h$ M' ?: }
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 7 t$ S) _( S/ @4 [0 [9 S
0132D86B  .  83C0 01      add    eax, 1
% e' \! ]) u4 m0132D86E  .  3BC1          cmp    eax, ecx / b, u  u& j! C* X* y+ j2 M
0132D870  .^ 7C EE        jl      short 0132D860 9 ^) R. `0 T0 f
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] , l- Z. @# G/ Y; B' C
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
' S/ c- [; ]8 m! q& x- s* |% U# A0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] . b/ Z3 b* w! B, \1 q! T
0132D880  .  85C0          test    eax, eax
0 Q& w6 D5 X* s5 H* C5 M. L* c, e0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] # Z+ P; x( X& c5 L  P& ^9 ~
0132D885  .  75 05        jnz    short 0132D88C
' |7 t8 {$ r- [7 e- R' T0132D887  .  B8 16263901  mov    eax, 01392616
& {- \% h1 k4 o" q- e# p0132D88C  >  6A 00        push    0
- ~% `8 c3 L! p( Q$ H0132D88E  .  6A 00        push    0 + A; e( y# C/ g- U7 H3 x4 ~
0132D890  .  50            push    eax
  U: e: Z. [; Q- X! D' T8 z0132D891  .  6A 1F        push    1F ) K- }  B; F2 M7 d7 [+ l
0132D893  .  8BCE          mov    ecx, esi 3 F7 ^$ N+ ^7 l6 K, H6 m
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
  u0 t: U4 r: _* I  d. z0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] . i9 z+ y9 I( k& I+ p' Y: l! G. O
0132D8A1  .  6A 00        push    0
! r9 b+ b0 W( @5 m0132D8A3  .  6A 20        push    20
# [$ {4 O9 K9 U% z4 l0132D8A5  .  51            push    ecx
# {: U4 A) v3 b/ q1 ~0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] $ U* G1 u1 A( E: B9 D& _
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax # _( ]) e5 h7 v3 d
0132D8B0  .  8B10          mov    edx, dword ptr [eax] ! J6 i& ]: n2 k* F" g; M1 m
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
6 u7 x* J! u* A: G( p; m+ X0132D8B5  .  51            push    ecx " _$ p" W3 x) W5 F; }! g0 T% I
0132D8B6  .  8BC8          mov    ecx, eax $ x( N' Y/ T% [3 U  O/ T+ Z
0132D8B8  .  FFD2          call    edx * K( }9 R: E7 X- f
0132D8BA  .  85C0          test    eax, eax
$ F. g& v0 N' r/ f" p! d) K% T0132D8BC  .  75 07        jnz    short 0132D8C5 ) E% y/ x" G/ p( I5 Z) ~
0132D8BE  .  32C0          xor    al, al 1 T% I) j, s$ R/ k
0132D8C0  .  E9 B4030000  jmp    0132DC79
1 o& W) q  }5 [8 Z, N8 g0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] , Y: x; y3 D& i- J- d- }* r
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
/ a6 E( L2 h; g0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
  X# Q, u; O# k) j& p0132D8D0  .  55            push    ebp
1 Y' W4 ?0 t3 p$ E8 [' m0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] , Q; R% e$ f- z+ `! @
0132D8D5  .  52            push    edx
9 s- G6 n! }5 ]( c/ m2 a0132D8D6  .  FFD0          call    eax
! L7 c+ c" r- R/ |" ~7 L, |0132D8D8  .  6A 00        push    0                                ; /hDC = NULL ' Q& K0 s' w% _, L( n8 V
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 3 M0 |4 ^3 L6 \$ I1 w
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] ; R8 d. V' @7 d+ n4 g$ n# e
0132D8E4  .  51            push    ecx ! f; i) S& o+ z9 s5 Q; Z/ Z9 N
0132D8E5  .  8BE8          mov    ebp, eax ' u3 a$ X3 o& o: m& `
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap 8 L/ B) p2 O7 {& Q
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 0 b" U) {* F9 d4 \0 Z- y! x
0132D8F3  .  83C4 04      add    esp, 4
& V' b5 Y- e7 G# d' K0132D8F6  .  50            push    eax                              ; /hObject ) {& t7 y$ k8 c5 U0 y
0132D8F7  .  55            push    ebp                              ; |hDC
+ r5 w  j6 s. J* Y7 ~: C. A1 |6 F) b1 L0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
* ~# `+ d9 u1 R. @% r+ U, @; I0132D8FC  .  FFD6          call    esi                              ; \SelectObject
2 {$ S: ]3 l- r4 p- Q# E! w0 Y3 q0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] / A) z3 \& ^$ F& G( L
0132D902  .  52            push    edx
" O, Q( L# [% I: A+ r' v# W0132D903  .  8BCB          mov    ecx, ebx
- \2 \7 C; l6 }: J0132D905  .  894424 40    mov    dword ptr [esp+40], eax
3 O" z# ]+ G3 ^" I# [8 v. q0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= 1 C( l1 r5 P: ]6 W! |' c
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] ' ]6 X0 f. n) [/ x- W# e0 J" x
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) ' l* a+ O7 j: t. F
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY - W  \$ E  R$ g1 Z# N+ U# d
0132D91A  .  55            push    ebp                              ; ||hDC   x: K, `: G% G% W. d- a
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
3 O; I1 i( M: ^) @: k+ e0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
+ i+ T# s# E' H4 @' b& j* i2 @$ r+ I0132D924  .  50            push    eax                              ; |Multiplier   E: b2 v2 c, C- J4 R
0132D925  .  53            push    ebx                              ; |Multiplicand 1 `7 |( z+ t2 `; V2 R1 V, E, j
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv ! M) x8 p, m; P: Q6 u
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
2 _5 I/ ^  n# U% q$ x0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] ' e: B; F/ `2 Q2 g0 |" {
0132D937  .  51            push    ecx                              ; /FaceName
4 ?; A; j: j' `; o0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
( N6 O0 q2 f6 O- ~$ h. F8 n0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
/ G: F- F  k; }# v8 h6 o0 N0132D941  .  52            push    edx                              ; |Quality 7 f, o1 \& o' O# g" n
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
, V# ~% {  w# U9 `8 r( d" |/ i0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
) x; U4 v0 C# _/ s0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET   j" w4 ~5 ?& F9 `
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
8 n3 {3 z6 I* K0132D94A  .  8BD1          mov    edx, ecx                        ; | 4 d+ S2 t5 P* g5 y7 B" |3 k6 _0 B
0132D94C  .  D1EA          shr    edx, 1                          ; |
1 u0 H8 [/ b/ ]5 \2 g: R% J+ z0132D94E  .  83E2 01      and    edx, 1                          ; |
) c1 ?  Q( M/ _  ]& o: L4 b% S0132D951  .  52            push    edx                              ; |Underline
! ?- z0 L6 R+ l5 \" m' P0132D952  .  83E1 01      and    ecx, 1                          ; | 6 G* S6 \  L0 C2 G
0132D955  .  51            push    ecx                              ; |Italic 1 @- |  U; _, Q$ ^5 A' {. O
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
' b5 b: L5 t, i" ~0132D95D  .  51            push    ecx                              ; |Weight 9 f/ Z" Q0 L! I# p
0132D95E  .  6A 00        push    0                                ; |Orientation = 0 . ]8 O' Y. o4 f0 S. }
0132D960  .  6A 00        push    0                                ; |Escapement = 0
* V  \' \# q6 s" y: ~0132D962  .  F7D8          neg    eax                              ; |
  r9 W: l: }7 N2 b0132D964  .  6A 00        push    0                                ; |Width = 0 9 v/ x* f: q8 e: L* a# ]" S5 r  J9 a
0132D966  .  50            push    eax                              ; |Height
+ R3 X8 a- p8 z: |# R. X0 ]0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA % |9 D. M, A+ i9 }& I# E
0132D96D  .  50            push    eax   W' w+ B2 v$ |0 V  t
0132D96E  .  55            push    ebp + l1 H: a3 v" T6 [
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax ( j! U3 W* x6 k! _! g) K
0132D973  .  FFD6          call    esi $ f/ d& V% d8 z, o9 F! M8 @
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] 7 Y  E  Q7 z2 C, y
0132D979  .  52            push    edx                              ; /pSize
- ?: h7 o( O: y5 J5 S# S/ l, B0132D97A  .  6A 01        push    1                                ; |TextLen = 1 2 a, I" r, B  |  O( T$ I
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" # O- |3 D* |7 y4 @5 P
0132D981  .  55            push    ebp                              ; |hDC
2 n4 e9 t: q6 G! n0 Z0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | 0 ~1 |2 s. I6 a4 w; u4 s
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA ; p: }* k7 _2 h/ |+ a, k
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
3 J. j3 m0 O4 j1 L5 K5 e0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] . c  X2 ~5 z3 i! y0 \5 j
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
! I9 q$ z$ H; `0132D996  .  33C9          xor    ecx, ecx + ]4 o; q# h; s: |0 v
0132D998  .  8BC6          mov    eax, esi ' c  V1 V$ Z3 O  h2 f  g. Y
0132D99A  .  BA 20000000  mov    edx, 20 4 B# \" F" G4 J, Z: W$ P
0132D99F  .  F7E2          mul    edx 2 z6 Q$ P' Y* F9 F$ A
0132D9A1  .  0F90C1        seto    cl
! j: D- X& b% {- H$ W0132D9A4  .  F7D9          neg    ecx
2 W/ \$ P3 B8 ~- V" s- V; I0132D9A6  .  0BC8          or      ecx, eax : {2 G# M: E! o& P4 T  C1 b6 |
0132D9A8  .  51            push    ecx 9 v( q7 @* o4 U
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
& W& J$ v! b( X0132D9AE  .  83C4 04      add    esp, 4
" R0 D) N% I3 C+ z5 e8 `9 [0132D9B1  .  85C0          test    eax, eax $ F! I7 x! H7 |5 C# M/ N
0132D9B3  .  74 28        je      short 0132D9DD 4 X+ _7 X4 A8 R3 f# i
0132D9B5  .  83C6 FF      add    esi, -1 - N, Q  M0 N: \$ v* ~6 _
0132D9B8  .  78 25        js      short 0132D9DF
" Y* @; w' A9 [- s5 u0132D9BA  .  D9EE          fldz
+ e* o3 D* r% B) V$ }, h- f' A0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 8 V" \5 \' p6 D# o" j1 ~
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
  ?+ ?. t8 D# ]& B0 \9 j( w0132D9C2  .  83C1 20      add    ecx, 20 5 Q- R  o9 Z  v
0132D9C5  .  83EE 01      sub    esi, 1
& d+ u8 o" ]$ j/ D0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] * w& _6 w/ _$ \
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] - E9 {9 N6 I+ T, }3 Z' t4 h* s
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
; z4 u  ^" K7 f) f, o: x4 X0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
" q1 v7 D* P2 k0 _4 Q- {+ N0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
5 \) p8 X" B3 F# m, e; O* ^0132D9D7  .^ 79 E6        jns    short 0132D9BF
* c3 L: p0 {; L6 V0 \4 o$ ]* a0132D9D9  .  DDD8          fstp    st $ \* n# Q" s/ Z/ B2 x
0132D9DB  .  EB 02        jmp    short 0132D9DF
. ^* }, P8 g" d! ]% F$ ^4 I0132D9DD  >  33C0          xor    eax, eax * w5 o7 i+ Y# U" G& Z
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 6 f2 f6 N% [$ v, D' G$ C
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
  b' U" Z, D: i( i0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
! b* ?' \; k" A' @0132D9F0  .  50            push    eax                              ; /Bottom
0 o$ ^  g) q  H) w$ T; h! M0132D9F1  .  51            push    ecx                              ; |Right
4 S! S) s9 m. `0132D9F2  .  6A 00        push    0                                ; |Top = 0
1 Y9 c" V) q1 r% m+ C0132D9F4  .  6A 00        push    0                                ; |Left = 0 2 Z+ Q8 L8 Y' q5 x& H
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
! }" `: P% R) u  H  t& N0132D9FA  .  52            push    edx                              ; |pRect
' ~3 X$ w3 e) d* r% R! }7 m: ~; V0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect ) f4 v+ w5 S, b$ N( P8 J; t( X
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
7 r. m1 Y4 T% m0 [0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
; h! H+ ]. l1 U- _0132DA09  .  50            push    eax                              ; /hBrush ! w2 q  o# S3 E1 B9 h; F
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | ) B- M, a4 ?% {4 r& w1 G
0132DA0E  .  50            push    eax                              ; |pRect
& f2 Q% @4 u! M9 L. Q' s0132DA0F  .  55            push    ebp                              ; |hDC
5 n% ]9 e( {9 p5 s4 v( \; d0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
0 W6 {1 y7 `: j0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
. J% }4 l% o( e# v0132DA18  .  55            push    ebp                              ; |hDC
5 M  Z9 `$ W4 K- N4 l# a4 ^: T0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor % m' X  _. k7 s( @% @: Z
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
- e$ D' l: Z* e- E* s. L9 n$ }+ g4 {  l0132DA24  .  55            push    ebp                              ; |hDC & P0 g' a" \" {+ k! ?
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
! E0 p5 y1 b5 o! ]  n0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
% i8 v7 c! N8 m# f+ V( n9 `0132DA2D  .  55            push    ebp                              ; |hDC ) d" c: c4 z: M, T
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
2 R6 P, H. o  e0 n5 M+ {, C( J" j, n0132DA34  .  33F6          xor    esi, esi
8 C1 w# R& T- G8 e8 i' d9 H0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
$ F: X" c; N, b4 G) E0 E0132DA39  .  BB 01000000  mov    ebx, 1
3 M# m; n6 Y0 m+ I) l) k0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
: i$ ^$ {% Q. d+ z0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
$ @+ ^' @9 ?0 A1 D2 U3 A& D. i4 o0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
$ X6 c9 Y( p1 i0132DA4A  .  0F8E 20010000 jle    0132DB70
+ B  S# i- U( e1 h. ?0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
3 v0 ~, c7 F7 s% h9 k/ Y9 U( F; J0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
% k5 f0 F) J2 _) O" H1 U) L& x0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi " w7 j- F$ a! g' ?0 ~3 E
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax ; e# g  c% Z! \& l1 n! T( B" b! _
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
: @  L9 B9 i! B, J: z. J0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
# V" g* i5 a2 P: c( R0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] - }1 a) h$ r: q
0132DA72  .  EB 04        jmp    short 0132DA78 : I0 i# L. _4 G+ T7 Q2 l3 [
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] % B* P" X- J2 w0 `, X. c4 }
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] : v9 I. H( n( H
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
0 I4 g0 h6 g% T1 M0 c: R% l0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] ) e! d# ]" z3 L7 J
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
2 E" n, g" U. c6 v0132DA86  .  0FB700        movzx  eax, word ptr [eax] + r/ [3 c% ^2 E9 j
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
* c4 l0 m1 v/ Y) x; M* T0132DA8C  .  51            push    ecx                              ; /pABC
+ P4 F0 t. C" z8 s* f/ L+ U: B0 ]+ _$ [0132DA8D  .  50            push    eax                              ; |LastChar
# V) y5 F3 Q" ^5 N- F0132DA8E  .  50            push    eax                              ; |FirstChar % m! E0 }' w$ u4 l/ i
0132DA8F  .  55            push    ebp                              ; |hDC   g9 I; F! y+ [$ g/ d% J
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
8 W* G3 u  x% g5 O! ~: z2 M0 I0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 4 [' e4 t, E' I& Y$ [, k# F
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 " {5 _& |/ o, |4 V+ K; l
0132DA9E  .  73 10        jnb    short 0132DAB0 7 @/ s# A) y8 b7 t
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 8 w1 ~. `- l% e( M
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 , Q/ c1 n, v6 L
0132DAAE  .  EB 0C        jmp    short 0132DABC ' H. f/ Q% ]% |
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 ' F' n* t7 @7 I2 p' x
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 ( L0 L& a3 {4 r; V2 {: |6 T
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 / \( x) i  @; Q0 }( }* [
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] * R) ~7 F1 ~/ t  n3 G5 h$ H/ G% v
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] / }$ t' z" w; d* ?( [
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] ' l1 R! R3 @1 z3 k: I4 x. J
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]   s0 E/ @5 ?4 ^) H* a: C
0132DACE  .  72 14        jb      short 0132DAE4
: S2 {$ b: e- \4 h- L; ^; |" F0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
# L/ x7 Z0 |7 A7 ]5 f: R7 l2 Z0132DAD3  .  BB 01000000  mov    ebx, 1 ; T9 d  C) B! u4 \
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
! z* w  w5 R" F' A' j0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx 6 _1 z/ V6 F7 f3 g
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
/ d" Q% O( v+ P1 }' }" J0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] ) m; X& Q) a0 ^
0132DAE8  .  03CB          add    ecx, ebx
/ P) x3 A0 h4 \* K* G$ X0132DAEA  .  85C9          test    ecx, ecx
& t& G9 B- v* g0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
2 {, E; V; M; M: J5 ]0132DAF0  .  D9C0          fld    st
$ e0 {' B. `& E3 R% Y2 v0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx 5 m. ^7 t, @) l( ]
0132DAF6  .  DEFA          fdivp  st(2), st
1 V- b  w5 n: X; d( B! f! ?0132DAF8  .  D9C9          fxch    st(1) 9 n! w% n7 `' S
0132DAFA  .  D91E          fstp    dword ptr [esi] : b/ i& y6 k- {$ b
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 3 S, c! l& V8 h4 h) }
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
2 `9 t+ I* z0 y0 u- f* b3 {; h9 l! m0132DB04  .  D9C0          fld    st   V* U% u4 Y- C6 ~
0132DB06  .  DEFA          fdivp  st(2), st # R7 ]- G- Z4 N7 b) ]
0132DB08  .  D9C9          fxch    st(1) % E# H2 @0 C. j% q( J+ M
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
5 x  d& _7 {- y' H5 J, O( V/ e0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 4 `% [; q$ [# D0 s/ _
0132DB11  .  7D 06        jge    short 0132DB19 0 K& l. c4 h6 H+ m
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 5 U* u( C& {. W# B; L5 \; x# _$ B
0132DB19  >  DEF2          fdivrp  st(2), st
4 j  a  E, J2 m  k6 l2 ~# l0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] 9 j* s: [. h, s9 c# s
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
/ V% n. b6 @4 o  h/ j# \6 n5 d/ Y) p0132DB21  .  52            push    edx                              ; |String
8 p* w1 w' E3 z1 w9 m0132DB22  .  50            push    eax                              ; |YStart
" Q% K1 k% J7 E! [0132DB23  .  D9C9          fxch    st(1)                            ; |
0 K- r1 x* m# U5 w3 H) S: e8 K9 ?0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | + k% ]0 N7 O1 L( B; I& }
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
; G0 l" |5 {1 l" V0 t0132DB2B  .  03C8          add    ecx, eax                        ; | ; E' z9 E" h7 R" n1 Y
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
8 S: o& R; P1 h" ?1 a0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | $ j# ^& s8 r* w, c+ c. N
0132DB35  .  8BC3          mov    eax, ebx                        ; |
! b0 K9 g6 f6 Z7 J( z: K9 [, |0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | ' G) v' @% g. |5 o: `% C2 J3 t
0132DB3A  .  50            push    eax                              ; |XStart
' [) X* _% o! m5 V% E0132DB3B  .  55            push    ebp                              ; |hDC
, m7 ^7 a5 i: {2 ?2 q0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | ; r/ Y4 N4 H" q; G) X1 q
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW . a1 D, j& w# I3 o! t2 e! f, F" W
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] 1 r- B5 }1 c+ e! r
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
9 x) t% Y; p* p* {" j& i0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
* j* w! q& }5 F% m* j! e1 X0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 & Y1 e7 n( D! K3 N6 D
0132DB56  .  83C0 01      add    eax, 1
) ^3 e1 O- @( y! @! s0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
4 O$ e; E/ g- M3 \0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 9 R9 O( Z* H1 _# C/ f
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx $ q7 u9 j. D" n% ]- h
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax 2 _) B9 B7 H3 p7 [( q
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 " X3 Q  ^: d# U5 {2 |/ k
0132DB6E  .  33F6          xor    esi, esi   ~8 ~! E! M9 a0 W
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
7 O8 K& o7 X# t4 z' U3 x0132DB73  .  6A FF        push    -1 ' k" l" i% A7 m7 A5 J' P0 k
0132DB75  .  83C1 38      add    ecx, 38   W# j& M9 z% r' w( \- d
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
: y4 {' j' Z( r* q! d( w) O0132DB7D  .  8BD8          mov    ebx, eax 5 ^2 w: G$ j8 J8 v8 W
0132DB7F  .  3BDE          cmp    ebx, esi . B& i- z2 s* k7 T& ]* [. A2 i0 t
0132DB81  .  74 74        je      short 0132DBF7 ( A- s8 t. o! l5 Y4 E, m( P
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
4 n# V0 ]% u; b# f7 {( g# ?0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
/ J9 `( S& Y. p& ]" j' f- H0132DB8B  .  52            push    edx                              ; /Buffer
  {! k+ I* }  s$ ]0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
( |) a' O4 d- L& X/ ]; O0132DB8E  .  50            push    eax                              ; |hObject , \4 X4 E) \1 B. ?
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
* s1 z8 k7 [, U* x, x6 J1 Z0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] : Z  g; p$ l! _% q% `# x  D" Y
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
7 P1 g  k0 C$ s1 O8 [. B0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] ' v) v! H2 N  o1 m
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
$ q( X: F6 }. W" h0132DBA5  .  85C9          test    ecx, ecx ' m3 v& o$ M7 r! f
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
2 @2 u0 j* N# B3 l# S5 h' `( a0132DBAF  .  7E 46        jle    short 0132DBF7
: a* L% l0 `5 [: c' x. ?" ^2 k% c0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
# B" W$ s0 u; x. k8 v1 F0132DBB5  >  33C0          xor    eax, eax
$ Y, O8 X4 O) o0132DBB7  .  85D2          test    edx, edx # }0 i* y0 S- g! L6 r
0132DBB9  .  7E 26        jle    short 0132DBE1
2 J0 {, [5 K9 x: R- @) V0132DBBB  .  8BCE          mov    ecx, esi
5 S3 e' }0 M! J/ {0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] & r0 Q, A# G0 u8 |1 @- T
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
! x6 ^. ]8 {8 S7 P1 Q' D0132DBC3  .  C1E2 18      shl    edx, 18
9 X+ \7 r. m* c9 r. \2 [3 x0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
! G2 C0 H( p2 J5 S0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx : y7 j% m& A0 I  \0 S3 Y* f
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
! n- B. j( H1 j" d. D0132DBD3  .  83C0 01      add    eax, 1 & i1 f6 }+ A) Q% a* A
0132DBD6  .  83C1 03      add    ecx, 3
/ f/ E1 H/ g/ G  e' L/ f) f0132DBD9  .  3BC2          cmp    eax, edx
6 F: K3 X! B( J7 }0 Q% E, x# `0132DBDB  .^ 7C E3        jl      short 0132DBC0 7 r& \3 |$ T" g  t( ^6 F  a9 D
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] $ k( @+ @3 k$ I- K
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] , J5 R' L2 S$ q, j; b& T* ?: D0 X
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
! a- z; E0 A' f4 f* I6 E" [# J9 z0132DBE9  .  83C0 01      add    eax, 1
3 w0 H5 Q: @1 R) G& M0132DBEC  .  3BC1          cmp    eax, ecx 0 Y8 H% O2 r$ F5 ]. \. c! H/ V
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
) Q/ G9 P! C. L( v0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
0 G3 n. d/ ]7 t0132DBF5  .^ 7C BE        jl      short 0132DBB5
( G  v! a  C, |3 Y3 g+ w0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
6 a/ e& p$ m+ I. L+ o, }0132DBFA  .  6A FF        push    -1
1 Q$ ?% ?- L$ W) g! R- R0132DBFC  .  83C1 38      add    ecx, 38 " _4 @: c" k  ^8 }/ ~
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> 7 r0 \2 P: ~! x6 L9 A# d' m% k- |
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
/ v+ {/ a, K' y% J" }7 a) f9 ^0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
1 p+ N) h- z% A0 c5 j0132DC0E  .  50            push    eax                              ; /hObject
3 k+ L3 }4 `9 A& Q7 ~* U! Y+ V0132DC0F  .  55            push    ebp                              ; |hDC
$ A$ J1 U/ L4 K5 ~& N, k5 \0132DC10  .  FFD6          call    esi                              ; \SelectObject / t- h. z0 @4 H& m
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]
7 c) v1 }7 H0 B* F% {0132DC16  .  51            push    ecx
/ p8 M2 k2 l6 U/ e& n0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont # P' ~3 H' T3 D5 z5 A& }
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
( B, O4 s6 S6 P* b9 Y2 _/ k; t0132DC21  .  83C4 04      add    esp, 4
4 M+ v1 j$ `6 g, z" N0 e& I/ J0132DC24  .  52            push    edx ) i0 ?  g. G2 v1 x1 u
0132DC25  .  55            push    ebp 6 _1 s1 X% h& E9 a+ B& W
0132DC26  .  FFD6          call    esi 9 Z9 T# w0 g% t  E
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
" O3 ~6 i; @+ c! W/ X1 @1 [# Z0132DC2C  .  50            push    eax 3 I1 q, b9 D9 s& l+ B6 B
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
3 `# F/ z/ b# ~' s0 F: @6 Z% j- A0132DC33  .  83C4 04      add    esp, 4
1 ]/ I' x- \* z0132DC36  .  55            push    ebp                              ; /hDC
! X: n- U& j! ~% e9 g1 \5 ]0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
# K+ e  W3 L+ ?0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] % n5 ^$ l3 ]5 Y
0132DC41  .  6A 00        push    0 ) l7 z4 o; [: Z  N4 Q# ?
0132DC43  .  51            push    ecx ( I; \3 @+ k! d+ `7 ~4 @
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
$ d( }- k& }1 |+ v, T, _! N4 Y) X' [0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
" f8 ~; T4 {* Q% F% f! I0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
* Q+ Q6 }7 z4 k( v  T. Y- w0132DC4F  .  6A 01        push    1 " Q8 O! s2 e; J$ T' b. g
0132DC51  .  83C1 38      add    ecx, 38 . P8 v6 h& |* ^
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
" z3 y) R1 H% }; S5 t0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
" Q# O: Z  H/ _; b' w0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
9 m" e3 F5 V5 h! l1 U% ?5 W0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
* X! b) T8 {) R9 B0 I1 N0 S& u# C0132DC61  .  6A 00        push    0
& o, O# \4 N; m6 s$ H: p6 ^& ]0 ]0132DC63  .  FFD0          call    eax " _( o- }) z" O& G
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] % I6 y1 M# c5 y1 I% g
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] 3 P0 C6 d- W$ e
0132DC6C  .  33C0          xor    eax, eax * O' J) L+ y0 m6 O- p) u1 W
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 4 v' S; F2 U/ f) m/ h! p* U
0132DC75  .  5D            pop    ebp
4 k  G; O+ a4 C8 o9 E. c0132DC76  .  0F9CC0        setl    al : a7 R1 g# M! ?& @. t- f# k0 h
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 3 \$ v: }: G/ b6 w; }; Y
0132DC80  .  5F            pop    edi
/ U; D, T# |/ H! i0132DC81  .  5E            pop    esi , g# Q2 g0 J$ d' A
0132DC82  .  5B            pop    ebx 2 s8 k, A: U; b* S0 d+ o
0132DC83  .  33CC          xor    ecx, esp
' H8 R8 L' _. q2 G' C# f0132DC85  .  E8 E2460500  call    0138236C / Z9 l- t- B0 C  b
0132DC8A  .  81C4 98040000 add    esp, 498 8 L! m1 {( m( M$ S& s- ?* Y
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.
1 L( [) d* D: a2 e  E9 w分析说明也许以后会补上。
5 G, C; L3 T% i3 r, M( x4 z; N3 z  o* C/ _1 ?/ N
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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