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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
; K+ m, `0 \3 A% E# T( \" T( A' c
/ R4 Y" n' @/ P/ w/ c& B0132D7E0  $  81EC 98040000 sub    esp, 498 * D4 x8 Y5 ~: M1 \3 W
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
  _% u  S( A3 \; M0132D7EB  .  33C4          xor    eax, esp
6 i9 e4 {8 x, `# U  S, F8 r0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
5 L+ V- x* F  o0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] ; R+ {& k$ Z& r4 ~
0132D7FB  .  53            push    ebx
. G" z7 ^* |5 Z- i- ?/ V0132D7FC  .  56            push    esi
, p' C9 V0 b+ Q* v+ ?  n) ?# Z0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
4 Z; U; _+ A) d3 J+ l; s7 m0132D804  .  57            push    edi
5 y, S- ]( F5 X7 V2 N0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
. w5 I1 g' ?7 F+ D7 o0132D807  .  8BF9          mov    edi, ecx                        ; |
3 W3 o# [5 r  @( J0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
# R( b* n" T" g+ z+ x0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | . L: I; d( J& W) G5 F' i
0132D814  .  6A 00        push    0                                ; |c = 00
, q4 D9 C: p  \) K0132D816  .  52            push    edx                              ; |s # B& p& N  [! H4 ]
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
; w, W2 X6 z+ R0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
+ ?9 w4 b' `- U" d- {. a$ e6 w0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
: V6 H& Z9 k6 ?& F, q0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset * _& `' A- `# u
0132D82C  .  83C4 0C      add    esp, 0C ) S: P# a6 m* h* G6 s+ V' s5 z
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 1 W) f0 ~; V5 X5 F
0132D837  .  74 12        je      short 0132D84B - e4 W; {9 @- G$ X2 E* ]
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
. V, a8 I6 \) u3 M, q/ z  j3 N- O0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ' y# s( K. ~, m5 }" C$ P4 c
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
# k! R9 K+ @8 B2 p7 L3 [0132D849  .  EB 32        jmp    short 0132D87D ! M$ ?) j8 C* T" r6 s
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
, ?9 \0 R" s& j; J$ Q0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
) e) a" ^. J: G* r! X0132D855  .  33C0          xor    eax, eax
; f/ r+ X  E/ p% e0132D857  .  EB 07        jmp    short 0132D860
0 R3 s+ Y3 p3 z: f4 {0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] 7 I! |& l" J% \) o8 \4 h) |8 D6 M
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
2 E( Y, B/ T) K5 K8 s0 Q' I0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx ! p1 E& j: F/ O  A- Z* p
0132D86B  .  83C0 01      add    eax, 1
/ C2 V' |1 G1 y* H0 W2 P0132D86E  .  3BC1          cmp    eax, ecx
/ x. r( C* Z9 q( S: ]0132D870  .^ 7C EE        jl      short 0132D860 * H) k9 s' E; D: J5 b- n3 P
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
& _0 G$ Y4 `" L" i5 b$ o; y0132D879  .  894424 0C    mov    dword ptr [esp+C], eax " J, u' J' L2 {
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 3 w) a3 W" G7 b! B, q3 X1 G1 ~$ z
0132D880  .  85C0          test    eax, eax & n4 u2 K" X1 {/ I- Y
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] 4 q8 d3 O1 O6 u& }
0132D885  .  75 05        jnz    short 0132D88C
& V2 o- O4 ], Z4 z0 D1 W' {% [0132D887  .  B8 16263901  mov    eax, 01392616 4 ?2 X2 X+ t0 h% ^8 ~: k8 m
0132D88C  >  6A 00        push    0 ' |* a6 \, ^* Q( R! l
0132D88E  .  6A 00        push    0 & l4 o; H# A, t4 U
0132D890  .  50            push    eax $ T  p( T! ?  _  L
0132D891  .  6A 1F        push    1F
5 w! G0 p0 z# d5 r2 k8 X) p0132D893  .  8BCE          mov    ecx, esi
/ q7 f/ `: c: w, X% j# Q- |. q( d0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
& K) C& a" Q5 |% X* Z0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] # j3 H* Y% w6 q5 w- u/ v
0132D8A1  .  6A 00        push    0 7 u/ i+ d( H; s' o+ H1 v" s! ~3 |  k4 s/ Y
0132D8A3  .  6A 20        push    20 - C7 I& G9 k: Y+ |/ ~! G. u2 B
0132D8A5  .  51            push    ecx 5 M) u+ Q" T0 X: l# _  |& D% n
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]   J9 B; ~* y' x
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
; o* Q& F% m( K$ e. w  N0132D8B0  .  8B10          mov    edx, dword ptr [eax] " S, c$ C6 U; i
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
: f$ ?' y4 u& p$ U" S0 Q& R" J: l3 E0132D8B5  .  51            push    ecx
- @1 _0 r  G. Y' X0132D8B6  .  8BC8          mov    ecx, eax
4 E" N9 z: N- Z; j0132D8B8  .  FFD2          call    edx + U' D4 Z. v& }, z2 }
0132D8BA  .  85C0          test    eax, eax
  L, H0 D2 C5 S) w0132D8BC  .  75 07        jnz    short 0132D8C5 . N( M9 p4 g. V4 b0 U: v
0132D8BE  .  32C0          xor    al, al
# o( w' q0 N' J: h: E0132D8C0  .  E9 B4030000  jmp    0132DC79
7 C- W0 c1 }0 R9 |! N5 [3 P0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
5 v0 E6 D0 P  J; D8 Z0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
7 `, L# I4 Y, n8 s6 h& F0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
4 T6 n7 Z; J" H# E0132D8D0  .  55            push    ebp
! B0 a/ y/ ^& m  m  @0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
9 D* U( o. O5 U0132D8D5  .  52            push    edx   v2 z7 b! a' j. n6 f( ?
0132D8D6  .  FFD0          call    eax / n1 r, f+ c4 b& u8 D4 e6 _
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
4 {3 C2 E$ P; V# \, Z% }& a0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 7 o) E/ P+ \, p" I* @! H
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 1 [8 P+ h4 R9 k: F5 A% ^( Y, z! H  Y
0132D8E4  .  51            push    ecx , }% f, V3 g: B& U- `2 c- a6 W$ V
0132D8E5  .  8BE8          mov    ebp, eax - D& {2 H9 l+ p$ U; z. m( ~5 c5 E
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap % g# W- Y! D, d5 P
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject - E- [/ X: G7 X5 w$ I, i- H! D
0132D8F3  .  83C4 04      add    esp, 4
; ^! M! Z3 T) c9 _0132D8F6  .  50            push    eax                              ; /hObject
1 b6 k+ C: r3 _" C' w0132D8F7  .  55            push    ebp                              ; |hDC
( k- ^& g6 z/ n' s% k1 m/ H0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
: j8 q4 S& w2 E3 d- n- P2 e0132D8FC  .  FFD6          call    esi                              ; \SelectObject $ c$ q3 n0 F$ v
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
5 t5 f6 j6 f0 v" i) I; e+ g4 I: ]( h0132D902  .  52            push    edx
* A6 p+ L4 C( W, `0132D903  .  8BCB          mov    ecx, ebx ! E- W% b) ]" u; S8 f) R: `
0132D905  .  894424 40    mov    dword ptr [esp+40], eax : A; J5 n, {( K! X! W2 C$ L
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
: m8 r9 ]* U/ S3 N  g+ _3 p, }0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
% O+ s. r/ m8 M& G- b  I0 \0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
4 R: }5 T& G1 G) T& T0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY 6 t2 b4 ^4 j; l9 w3 t
0132D91A  .  55            push    ebp                              ; ||hDC * I! |0 a: `5 b; o
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || 8 |( w; w+ `& ~& ]0 R. g8 \
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps * A1 a. U1 u' ]& R0 }
0132D924  .  50            push    eax                              ; |Multiplier # I* B( E8 b3 X3 E5 n
0132D925  .  53            push    ebx                              ; |Multiplicand - Z- u* [1 E) A8 c1 K% F
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
, A# n& s; a# o- ]5 [$ i0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] * W7 k! \2 [6 Q7 d8 d, C# ?6 j! q
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] 7 l" _  ^9 N* C. E' r
0132D937  .  51            push    ecx                              ; /FaceName
& e& X$ l( \, i9 h0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | * A6 d1 E: I2 i) `
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
( U/ M0 E. E; f- t  N: z7 }0132D941  .  52            push    edx                              ; |Quality ; U' f* w. n( \3 v
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS - `# d& A" o7 H6 _; G
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
: o( D6 ~  \/ X3 n, u/ x2 t! m9 l0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET ! b2 a' t; A# T
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
  h6 J6 v" v8 p  ~0132D94A  .  8BD1          mov    edx, ecx                        ; |
. E  W1 P- M$ q# ~0132D94C  .  D1EA          shr    edx, 1                          ; |
6 F( h1 C3 C3 Y5 ^# n) J' W& d0 c2 g0132D94E  .  83E2 01      and    edx, 1                          ; |
. ]$ @. N+ |# O. j4 D( [0132D951  .  52            push    edx                              ; |Underline ! Y$ l# x1 x/ z- g
0132D952  .  83E1 01      and    ecx, 1                          ; | . T: M7 k2 o1 P8 G/ w2 H
0132D955  .  51            push    ecx                              ; |Italic 8 B& S9 H% t! W' H9 Y4 i1 C8 k  n
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | ! l& ~9 w6 G5 {5 V' [! O* I
0132D95D  .  51            push    ecx                              ; |Weight 2 p+ ^1 L6 K+ V0 F) k5 |- C+ e" X( c
0132D95E  .  6A 00        push    0                                ; |Orientation = 0 4 y+ G; i) ^' k9 i" B! G8 P/ ~- H- n
0132D960  .  6A 00        push    0                                ; |Escapement = 0 & Y. ~( w6 e8 t& p
0132D962  .  F7D8          neg    eax                              ; |
0 d4 q( B5 J# j/ n% z6 h7 V0132D964  .  6A 00        push    0                                ; |Width = 0 / B" u' _  W* Y
0132D966  .  50            push    eax                              ; |Height 0 _" w, P* V/ T9 c
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
9 ~" ^# W/ r, a% p0132D96D  .  50            push    eax 4 h" C6 e7 o# u0 x% @) ~: b
0132D96E  .  55            push    ebp   y- A9 o% l! M6 Y7 E- f+ G
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax 2 h9 q" _, W, ^! S5 ^: u. J8 _# i
0132D973  .  FFD6          call    esi * J0 |/ T0 B2 I6 w( A; }
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
% {9 k2 w/ \- N0132D979  .  52            push    edx                              ; /pSize
- y' A) @/ |$ \3 v/ S0132D97A  .  6A 01        push    1                                ; |TextLen = 1 ; W2 ~9 T1 y$ N: ?, S
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
( r6 U- Y& t9 V. O3 C0132D981  .  55            push    ebp                              ; |hDC
) v0 t) x& Z) }: G5 i0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | * q+ n. r1 k8 t; r4 ]
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
( a+ n  L7 O7 p% S) i' U8 {0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
6 P$ X! [/ c  |0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
$ ^$ ~+ s( e, [! f. a7 w7 D$ I0132D993  .  8947 18      mov    dword ptr [edi+18], eax + ^  a' U. e1 T* c+ B" S( m+ T; B
0132D996  .  33C9          xor    ecx, ecx 3 b) g0 x+ J6 o
0132D998  .  8BC6          mov    eax, esi & v0 Z/ Y0 n' Z/ v$ n5 [" _
0132D99A  .  BA 20000000  mov    edx, 20 : ?$ A7 t$ @/ a3 L2 f* ?
0132D99F  .  F7E2          mul    edx ' x8 D5 F! f4 h# m' |
0132D9A1  .  0F90C1        seto    cl
: v# A+ z# w9 F- {, v, D0132D9A4  .  F7D9          neg    ecx
6 w1 {4 L( T4 @, K. ?' s# v* d0132D9A6  .  0BC8          or      ecx, eax
# o  Q, x6 R6 R" q0132D9A8  .  51            push    ecx $ f7 A" g' Z6 c) [. G# w1 _7 [2 x$ u
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> ; `' M7 F! {: g# `1 g
0132D9AE  .  83C4 04      add    esp, 4 / ]% q0 {- `6 j! k! t6 [
0132D9B1  .  85C0          test    eax, eax 6 w) \+ j% L- N* w, D
0132D9B3  .  74 28        je      short 0132D9DD ( p5 }2 F5 U( q( y  i' f% ~
0132D9B5  .  83C6 FF      add    esi, -1 ; a4 }; s$ `6 ^, I- c/ r
0132D9B8  .  78 25        js      short 0132D9DF # a- I6 e$ W% t7 i+ f2 J8 G6 ]
0132D9BA  .  D9EE          fldz # F( X8 a  c8 j! n6 I
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
4 z9 z4 \- Z  q# G) c! J) Q  ?0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] ; P0 ~! ^# e& D5 Q
0132D9C2  .  83C1 20      add    ecx, 20
6 U7 f3 R4 F5 `: v7 Z2 ^0132D9C5  .  83EE 01      sub    esi, 1 ; g1 l4 x. u" l- f( _5 ~
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] % r2 F$ U. Q7 j/ S1 v+ N
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
7 t% ?1 s* }& T- F- V) Z% g+ t0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
/ y% L7 x& e' k" K0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] & A+ t& I5 w# @2 j
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] . x3 k+ @3 J2 L$ }- u6 s5 ^/ y: F
0132D9D7  .^ 79 E6        jns    short 0132D9BF ( i2 Z! k& A/ E' O9 l
0132D9D9  .  DDD8          fstp    st . L$ H# s0 h7 a, z( x
0132D9DB  .  EB 02        jmp    short 0132D9DF 8 T" T* G' D$ |& K6 A, j! L
0132D9DD  >  33C0          xor    eax, eax
" {5 y* Q: B8 Z# {3 o7 T0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
7 h9 y( f1 ]  I4 Q5 x1 M0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
  g6 ~  v( N. O/ Y- Q# F0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] # w! C- Z& i8 g& W5 K
0132D9F0  .  50            push    eax                              ; /Bottom ( t' y) f2 x" x/ M  U- }" z# B
0132D9F1  .  51            push    ecx                              ; |Right " `- r  e2 z. F
0132D9F2  .  6A 00        push    0                                ; |Top = 0
/ ]8 q0 h: R" j+ K: w( q% {  ?0132D9F4  .  6A 00        push    0                                ; |Left = 0
" N2 V" V( U5 k9 A# `7 Q0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
* f1 _' s1 O$ B# K# Y8 B/ L7 h$ V% h0132D9FA  .  52            push    edx                              ; |pRect & P& r  I4 A9 {
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect ' I3 f3 R; g# ]+ `# ?6 Y6 x8 d1 e# v1 r
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH # m5 m. y7 u3 R
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
; G3 f% K, x& @1 o/ P, g0132DA09  .  50            push    eax                              ; /hBrush - }! b, }4 N/ R( E! A+ D9 s8 C
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | 3 y! ~5 x3 q- Z4 a4 I* \+ P* m
0132DA0E  .  50            push    eax                              ; |pRect : B: ]: C' w7 ]+ q0 ^/ ^
0132DA0F  .  55            push    ebp                              ; |hDC
$ c: m6 \' a/ |# [3 P) `! L0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
: b  c/ A% q' E0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
: _: ~4 \9 }9 ^9 [& T" N6 J# m# Z0132DA18  .  55            push    ebp                              ; |hDC
2 H  T% G% k4 v" w# B% o* n! C8 m0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
4 f& H1 z0 G4 f5 j0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> + m) ~8 s# j$ }/ [% C: f# b* c
0132DA24  .  55            push    ebp                              ; |hDC
! z6 A) f  ^4 W9 y# w/ X2 m& D& k0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 8 {6 H$ A' A/ e3 P
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT # `; c$ U9 J* Q- _+ G
0132DA2D  .  55            push    ebp                              ; |hDC
- Z& P, w3 n5 p4 W5 w. {2 z$ G0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
$ ~2 w0 ^( e/ \' H& V2 j8 _; q0132DA34  .  33F6          xor    esi, esi ' M6 |* v) g2 y& M1 |
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
2 ~* \: o) w; k, F/ A! e( H0132DA39  .  BB 01000000  mov    ebx, 1
; M( }7 g* ]+ B' G* p0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx 4 k+ M0 c9 d4 T' k6 i1 S2 W2 p7 H
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
. Z7 _, n/ P% i1 D/ m+ C# b0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi % N- v6 F$ v/ L" K* ^
0132DA4A  .  0F8E 20010000 jle    0132DB70
. r( z( a2 W! \0 F& e5 P9 \8 `. ?0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] $ d/ Y) a7 a" M8 Q
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] ; c) \/ A' H. t6 S5 c6 P$ j
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi : Q% L& g" s! P- V' H! S$ V5 e+ z5 k
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax ! W" {7 q! F3 D$ x; l6 k
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] ) {; E7 d; e3 [, G
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] ! |  W* V7 |/ ~( t
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
# D! w% H" }% e1 ~7 P# ^0 s0132DA72  .  EB 04        jmp    short 0132DA78
- g% R* R0 d/ T  T6 |5 L0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] 2 ]* x- S! t* W" E: Z
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] 6 q7 a9 J( F2 V! t
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
% a  l0 J* ~1 K8 S8 ?3 f0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] ! v7 F! o& K# D: R; c! ^) }6 s
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
, Z* i" C* F( U# W1 N( L0132DA86  .  0FB700        movzx  eax, word ptr [eax]
( W! _0 B* f/ r5 R( t  E0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
+ E4 B# s' _5 M! Z5 R0132DA8C  .  51            push    ecx                              ; /pABC
# W% k) M; h( c: W0132DA8D  .  50            push    eax                              ; |LastChar
) B% K. W+ \' Q+ D, v0132DA8E  .  50            push    eax                              ; |FirstChar
. u* A$ W8 i8 ~5 K8 b$ X0132DA8F  .  55            push    ebp                              ; |hDC % z  I7 |8 f5 M$ ^
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW . x. M1 K1 R/ C4 F1 |- ?
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] , x4 _- W% c- w9 r& \; E8 T# A' {
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 " r4 a5 l6 _8 y* G, m. F2 v
0132DA9E  .  73 10        jnb    short 0132DAB0
8 Y9 \3 D3 ?0 a8 ]0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
( v5 _. B3 K2 [' h. P5 d9 C0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 & M  ]. t3 c2 m* }  w6 Y5 q
0132DAAE  .  EB 0C        jmp    short 0132DABC
1 c) i, `% H8 M0 d0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
) B5 `2 r+ d: G+ C! D- H0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2   z- b9 Q3 V+ n0 {/ x# v1 T- q$ t
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
" y8 W/ U# S! M0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] / d" X8 }, H: \! f% D
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 1 X9 z5 \# R: |+ B# B( l0 m
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] & G3 _7 ~! ?( e
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]   B! k4 A9 s, I' a1 G% Y: u
0132DACE  .  72 14        jb      short 0132DAE4
1 K8 K" L) A) N  ^+ J- |0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
8 L* u8 t: e( H; u; Q$ \  }& m0132DAD3  .  BB 01000000  mov    ebx, 1
$ X+ }( j- K' C0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
. [6 R$ q8 m  C" L. A0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx 0 k' C# h  I: L# q! m1 d
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax , ?6 ~3 n& x# x, k( N& x6 g! A
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] 7 ]! ~, T6 Q% s: m. V! U, M* g
0132DAE8  .  03CB          add    ecx, ebx
0 J# c+ |3 M& g! i7 `0132DAEA  .  85C9          test    ecx, ecx ; [, t, ?! M% r. `. [! D5 I1 ~
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
+ S$ c  b! i2 D9 t. z/ t0132DAF0  .  D9C0          fld    st
5 g' I0 T  \2 u8 {/ J0 r) f0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
! a' X! }0 F* V0132DAF6  .  DEFA          fdivp  st(2), st
$ F* _6 ?+ U) w5 N" R6 B0132DAF8  .  D9C9          fxch    st(1) % a% I  Z/ n% u; Z% C
0132DAFA  .  D91E          fstp    dword ptr [esi]
$ ]  d9 a! u1 y' ?6 D0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
- m' f& K6 a) H: h0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] 1 Y, A' A' Z- S" r
0132DB04  .  D9C0          fld    st 9 V2 P& L& a/ [" Y2 L
0132DB06  .  DEFA          fdivp  st(2), st ! ^) N/ Q4 D5 D- z  b5 N
0132DB08  .  D9C9          fxch    st(1) & r( N( J; F. V1 M7 n2 d0 g
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] 2 o& s" X# ~0 M5 i" [" Y% C+ F( k
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] ' l3 w$ _' p) ?5 _
0132DB11  .  7D 06        jge    short 0132DB19
1 T& j, I; I& w7 h3 ?" }0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 0 C) e7 A9 ^' Z# `, [) l; J
0132DB19  >  DEF2          fdivrp  st(2), st
& M+ i2 E& D$ J8 f) w0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
& M9 @* @+ ^- [$ U9 h3 t" C0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
4 }" A/ n1 `/ ^) R* I0 \% e0132DB21  .  52            push    edx                              ; |String 9 V- Y+ r$ F& d# j% A  A
0132DB22  .  50            push    eax                              ; |YStart 5 x. ?2 W  B# A% ]) D. P! T  Y- \
0132DB23  .  D9C9          fxch    st(1)                            ; |
, i) ~: S8 O! E4 y0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
- I2 ~7 T# n" f: s" T2 ~0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | + _2 V- O$ q  Y6 l% S8 g" q1 a
0132DB2B  .  03C8          add    ecx, eax                        ; | - v) W  `4 Q# `8 b
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
: o! F* [' G9 K9 G0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | - r; I1 k8 a1 @0 B, E
0132DB35  .  8BC3          mov    eax, ebx                        ; |
! B" }. a& Y: ?% o! ^/ e0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | ! H  h# X2 Z; V4 e. B3 g! x
0132DB3A  .  50            push    eax                              ; |XStart ' O) u0 G9 {9 g7 \/ ^" [
0132DB3B  .  55            push    ebp                              ; |hDC
) \: v  p0 W) u& g' }8 ?% ?, v5 v0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
( o( `$ h- m2 B, ^% n9 s: d0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
" r" X  V6 ?& `! E" s! Y0 U0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] " y$ M* L" R. T, k/ x% T- w" d. Q
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] 5 j9 F" U  q5 u$ G7 |' G! Y3 C
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
, C) {; g; r. X% w2 g0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 , x0 v0 w6 k2 T: c8 e
0132DB56  .  83C0 01      add    eax, 1
* b4 t+ o( o% @4 ^0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
8 F+ R- U& Z0 C5 }0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
. M. b- |2 o3 y# e0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
) d( P' f2 D8 l: G$ ]0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
) L  Q4 V! O. s) h* S7 m$ f( {" ]0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 2 j, z- K/ H; k3 {' }0 Q" m0 G
0132DB6E  .  33F6          xor    esi, esi " F' q9 J- n( ]2 [& }; f/ y
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
. u% _( F7 T, l3 p0132DB73  .  6A FF        push    -1 + h- V  P* l& ~( S
0132DB75  .  83C1 38      add    ecx, 38
. z& k/ V& m( Q7 X2 \0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> ( T' a' q/ E0 u: j
0132DB7D  .  8BD8          mov    ebx, eax
8 U( k# ~( U4 t4 G6 w8 G1 I0132DB7F  .  3BDE          cmp    ebx, esi
3 s4 R- `: {. [6 I0132DB81  .  74 74        je      short 0132DBF7 ; [; {+ _8 F2 p( d" g3 @4 k
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] $ ]" q# b% o; G& {- Q- t3 i- x
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
4 i1 [' `* A& j& T6 R- T% ?1 O0132DB8B  .  52            push    edx                              ; /Buffer
" L2 n' y0 Y2 c; ^7 [3 v3 L* w7 @$ \" w$ U0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
8 i; Y3 Q1 V! F% T0 X/ j0132DB8E  .  50            push    eax                              ; |hObject + k& U* w1 v/ f5 k% g
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
* _; \% d- s9 l" \" S# c) c0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] % z% N! z( U2 v9 B9 @% [  G) Y* d
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
* ~5 E6 W! [  t/ X9 C6 Z0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] ' Z7 Z! S# Q1 \. m) d2 r6 W
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] 0 X. y% Z  q7 {
0132DBA5  .  85C9          test    ecx, ecx ! C7 ]0 |7 Z) O4 D5 J
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 5 r% t" K- f0 V/ W. Y
0132DBAF  .  7E 46        jle    short 0132DBF7
+ ^! |! X2 _' ]/ `8 Q/ B: f! S/ |0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] 4 X% \- o1 [$ p; L' o. t
0132DBB5  >  33C0          xor    eax, eax , c- j- P. f: d! p5 c4 L
0132DBB7  .  85D2          test    edx, edx
# J* b* j. @: [. d0 P0132DBB9  .  7E 26        jle    short 0132DBE1
8 H" j  s& ]$ X3 O0 e9 V8 P, }5 T0132DBBB  .  8BCE          mov    ecx, esi ' n8 o' v: o; ^. |* B
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
$ b# J. h! `+ q; }# C, w0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 6 {8 z- G9 s; [0 X/ ]' k; i1 S$ u
0132DBC3  .  C1E2 18      shl    edx, 18 % I$ ]. T' N5 V  u
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
# d7 j# y3 U) d" a) w0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
6 a  x7 j) o, k" l$ v% l0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
* s" a2 G7 |  s2 j0132DBD3  .  83C0 01      add    eax, 1
! h2 s# p) c4 Q$ {& ~0132DBD6  .  83C1 03      add    ecx, 3
$ f/ X$ g7 r+ [% T/ L3 H1 [; p+ q0132DBD9  .  3BC2          cmp    eax, edx
+ c0 t0 G9 [! U' g, j( [0132DBDB  .^ 7C E3        jl      short 0132DBC0
) M1 l' r6 \# F, r' z& h, N0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
0 w+ \; n7 N# I& E0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] % G0 Z2 B1 E7 O! i) _) L4 o0 j
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
. F. w6 n% Z% ^7 K" J% a0132DBE9  .  83C0 01      add    eax, 1
3 ?& I  r) k+ r0 w) X% X0132DBEC  .  3BC1          cmp    eax, ecx
" ^% k5 a5 P5 k7 Q/ a( d- o* R* ]1 Y0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] 8 g. K+ a) _' Q  @
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax , ^' {4 V- k, R7 z) L' M
0132DBF5  .^ 7C BE        jl      short 0132DBB5 & h$ Z( S9 z# |& a
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
, I  k9 w- t" I( v& v) ]$ e0132DBFA  .  6A FF        push    -1
* n6 [7 I% @: J0132DBFC  .  83C1 38      add    ecx, 38
9 P1 C7 A% V, Y8 i0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
! q$ V# k7 o" O& t$ A$ l& [5 i3 H0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] ) P+ K- h5 x4 M+ P8 i
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 8 c# C/ d. |( [! }% N
0132DC0E  .  50            push    eax                              ; /hObject
6 s- @* l4 t8 S# K: m/ w: [) s0132DC0F  .  55            push    ebp                              ; |hDC
" X) j7 x$ k3 t7 W2 I( ]0132DC10  .  FFD6          call    esi                              ; \SelectObject
$ }0 I. v( C0 v, t& G0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] + O" p3 t) e# Y+ z. \9 W' v) F2 }
0132DC16  .  51            push    ecx / E( T! L1 e, ^
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont . q9 b5 g9 s0 o& U, `
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 6 y* U  `6 u- M2 t2 u
0132DC21  .  83C4 04      add    esp, 4
! g. n9 M1 U. K0132DC24  .  52            push    edx 6 m+ v7 \1 f3 a& j+ _" v/ ~
0132DC25  .  55            push    ebp   I3 t( h3 ^& a& j6 _+ w0 E( x0 j
0132DC26  .  FFD6          call    esi , ]/ z# t; Z, y& p& D- }
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
; \& k2 D9 X; H/ k$ Z/ E0132DC2C  .  50            push    eax
% P; ?  {8 J" ?% |: [# X0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
7 \  ?. ]$ i+ l6 B. N! M0132DC33  .  83C4 04      add    esp, 4 7 s" H7 a; ]% O. L) i5 h" a0 g% @
0132DC36  .  55            push    ebp                              ; /hDC
9 W. N6 j- F( ^6 }7 a. y0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 9 V9 m# [8 ?9 V+ f- ^  j
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
6 o5 C3 K2 _) }# ^1 e/ f8 d+ j' p3 ]0132DC41  .  6A 00        push    0
5 {6 I+ R3 v% k, ]& `0132DC43  .  51            push    ecx
; D- m  U7 v" [* @! g' t0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
" X6 P( o5 J  N" c: a0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> ' I% d; l$ G: b9 C
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
' ^& ~2 ^9 Y6 b$ n1 h( v0 I0132DC4F  .  6A 01        push    1 5 Y: \5 Q- D2 [, O# d0 {
0132DC51  .  83C1 38      add    ecx, 38
& L. R# R8 z* v1 c0 R- R0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> 8 ~* {8 i! Q: `9 S) O
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] ( V  n$ z& k0 D
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] + I1 J, k2 j: T. a( X- W2 {
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] + w' p& _6 h- _1 r5 y4 `. ^0 M# I$ f
0132DC61  .  6A 00        push    0 2 ]# G. L9 g% [: F
0132DC63  .  FFD0          call    eax % w& {& z& a6 q2 l  \
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
. r0 i# E! e' H' H+ A7 V0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] ! T" R3 Y2 C% ]/ ^
0132DC6C  .  33C0          xor    eax, eax + G6 \% ]1 ~9 B% w9 k9 t
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 8 `6 p+ e& \* r! P2 y
0132DC75  .  5D            pop    ebp
+ N! X( f/ k% i$ B* w2 f4 T. T- C0132DC76  .  0F9CC0        setl    al 4 q- y5 ?' e, w5 Y% D! ]& M
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
9 ^+ I+ y, O' ^0 G6 k1 Q$ ~! [0132DC80  .  5F            pop    edi
* J! n; w$ K( C$ M+ i# d# S- E% b0132DC81  .  5E            pop    esi # d3 |" r* ]$ ?: A* J! j. m
0132DC82  .  5B            pop    ebx
3 }% P( A4 y0 d  Z1 L& Y: S3 ^0132DC83  .  33CC          xor    ecx, esp 1 U; }* F1 w' o+ \7 ]: Q2 W& x
0132DC85  .  E8 E2460500  call    0138236C 8 D6 G+ |# H4 R( {
0132DC8A  .  81C4 98040000 add    esp, 498 . X# ?( L' H* X
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.
2 b5 p7 @4 X' V- t. ^分析说明也许以后会补上。* `( ~: X( E8 o* v  a0 I+ I

( T, J% Y! U# E' f, p0 L' b% R加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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