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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 , U( F2 R# N# J8 P% V0 q
6 p( g" ^3 f5 A3 z5 Z* |( V6 T
0132D7E0  $  81EC 98040000 sub    esp, 498
. U7 u' ]  e% c% R8 R0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
) w3 B8 g1 X; |4 U, X0132D7EB  .  33C4          xor    eax, esp
. J. M, h# e$ y; `" c/ D# l0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax . P6 A/ n$ p. P  ]5 f+ T2 B8 }
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
# E2 M9 x& F0 P7 H) A0132D7FB  .  53            push    ebx ( h9 @# v7 l5 Z9 J9 w
0132D7FC  .  56            push    esi $ m7 q' X4 x/ h2 {7 ^
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
# C3 e! e- s5 k' |2 X$ I' I0132D804  .  57            push    edi 4 G4 z" z0 R1 Q4 ]6 ^) Q6 l% {. t0 k
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 7 E: d! ]2 x4 v+ W$ V# y
0132D807  .  8BF9          mov    edi, ecx                        ; | $ t/ @, B" ~  y
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
6 [" b- T; j* q9 P0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
1 \  n) l5 g3 W6 Y# n6 b. O" N' b0132D814  .  6A 00        push    0                                ; |c = 00
! I: d) a, ]+ I0132D816  .  52            push    edx                              ; |s
, Y: n: I+ s( _6 x1 B/ |" l! \0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
4 e/ @! g/ O2 k) p5 I0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | . r! Y5 J6 B7 Q- X2 O
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
5 X+ a6 k# y5 e0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset ' c/ ~1 z! n3 s  G, o, e" u
0132D82C  .  83C4 0C      add    esp, 0C 7 R0 \5 p& {' U9 Q( b3 z2 Q
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 # a' D. Y: ?: O2 \5 e+ x
0132D837  .  74 12        je      short 0132D84B
0 }. l/ R9 l& U2 Q7 z: S0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
7 T: e. e  U; r* [4 b: f5 y  J0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" , P9 Q6 |  U- j% h6 c4 w0 B
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax ! r# m" D& z; R# B7 j
0132D849  .  EB 32        jmp    short 0132D87D $ w) B! y! m/ Q  a# k% |, Y
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 8 M) G8 Z  x! y$ m+ Y5 T
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 0 [3 q: r- Q7 C6 X: f2 j6 I
0132D855  .  33C0          xor    eax, eax . I& q9 O- r- \: \- m" L
0132D857  .  EB 07        jmp    short 0132D860 6 Q* Q$ A* n- ?3 f1 J: A  `6 c. A
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
7 D# f+ \8 j% w& o0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
. s! P0 R" Q4 h2 z1 G0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx   x2 L/ H3 J0 l% y! p* f4 p
0132D86B  .  83C0 01      add    eax, 1
0 x3 V) C0 G' l+ T; `0 r6 v0132D86E  .  3BC1          cmp    eax, ecx ; x9 |" {7 q3 S/ i
0132D870  .^ 7C EE        jl      short 0132D860
" ^0 ~  J( @5 ?2 N; S8 x5 g4 W0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] # S" m8 C$ Z+ x9 R4 S" R% v
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
0 k$ x& S3 S, K3 _( ^5 A0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 2 s4 z8 U* A( V9 X1 R/ O8 X
0132D880  .  85C0          test    eax, eax . C& i7 a: p% e) V+ A' A, n
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
& O! G) B$ y9 n  m, P0132D885  .  75 05        jnz    short 0132D88C
, y: r1 i, h1 g/ L& T$ D0132D887  .  B8 16263901  mov    eax, 01392616 7 `; v# G/ f' Q* S* b" W
0132D88C  >  6A 00        push    0 : o3 O2 C* f" K& t6 ?
0132D88E  .  6A 00        push    0
. Y9 U  }% |4 n% p0132D890  .  50            push    eax : g- t0 E3 a" u; ]8 |
0132D891  .  6A 1F        push    1F , p, C8 v2 Y& q8 Y
0132D893  .  8BCE          mov    ecx, esi 1 s: P- y1 Q2 o( J5 Y
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
; e& _& X' b0 j! ^" b6 Y) q0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]   Y5 P! `# b0 u
0132D8A1  .  6A 00        push    0
4 I7 J; J& G# t# |$ A& Z3 c% w0132D8A3  .  6A 20        push    20
" n8 b, A2 o# N) F# }& H0132D8A5  .  51            push    ecx + a9 W+ L7 b# i$ H) P% ]) y' C
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
7 d/ g2 x- S/ s6 P/ {2 i! N: \0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
  o, [8 L# r/ n% B* o3 `0132D8B0  .  8B10          mov    edx, dword ptr [eax] & ^5 w& x+ o6 b& D
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
3 O8 O- n" G5 P' c, L& }6 a! }0132D8B5  .  51            push    ecx
& u2 U1 Y1 H1 k7 N% Z0132D8B6  .  8BC8          mov    ecx, eax
% C* b+ Q; a9 x0132D8B8  .  FFD2          call    edx
1 C" X" G! K9 Y! Z0132D8BA  .  85C0          test    eax, eax
7 H7 a. s$ u9 M; p1 U' H0132D8BC  .  75 07        jnz    short 0132D8C5 3 j/ d+ A( g0 W9 {4 U; ~
0132D8BE  .  32C0          xor    al, al
* Y6 |6 A( y* }6 ?' B* ?0132D8C0  .  E9 B4030000  jmp    0132DC79
5 R* Y' B$ x  f5 h2 j5 F" Y0 `0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]   j3 g" T* s. o% @. I5 z! N
0132D8C8  .  8B01          mov    eax, dword ptr [ecx] ) L. I6 a# ?1 m! p; t5 O$ W
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] ; M9 G* G- Q/ o
0132D8D0  .  55            push    ebp " A4 I& k- K8 Y: `, O& D+ K+ P3 o
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
; T+ y% x9 h& j! D2 t$ a6 s* ?; h0 L0132D8D5  .  52            push    edx 4 @& @" T! u$ G
0132D8D6  .  FFD0          call    eax
$ ~9 R9 M9 R, T3 U% `+ c0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
2 U* x# ]: y: |) |, H# `" J% t0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
5 J  H; i, t, i3 @1 q0 l" r/ Q0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] * e  }. p9 U; B# w4 O" D
0132D8E4  .  51            push    ecx 2 p0 Y0 C( \' n% ?: k' ~
0132D8E5  .  8BE8          mov    ebp, eax
7 P0 t* S3 l+ v& @) D9 m: R8 F0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap " i- d) i! y' m. J! Y
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
. b! H. D" e4 B+ F$ N% t0132D8F3  .  83C4 04      add    esp, 4
6 e+ p8 V2 Z# N# `: ]5 z* o( K0132D8F6  .  50            push    eax                              ; /hObject & d$ X; T5 \1 \) v. G- t
0132D8F7  .  55            push    ebp                              ; |hDC
2 Q% Y" b9 H9 I. ]+ \0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
4 M, u- a2 e0 g0 r; \  e' M# O0132D8FC  .  FFD6          call    esi                              ; \SelectObject + f3 j% |9 N( r" f, V7 t, [0 @
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
: T; y8 i- }; H4 U2 D: o* s0132D902  .  52            push    edx 1 x: J7 K2 X5 e, F; F3 W
0132D903  .  8BCB          mov    ecx, ebx
3 d: I1 k' X0 A  @0132D905  .  894424 40    mov    dword ptr [esp+40], eax   z( L* F8 T+ P5 V4 ~
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
0 ^) K4 A1 ~- U: W0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
- I0 s% ]0 Q8 ?# i, h0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
* o( ]$ _1 [( U0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY   r2 M2 L& U# B; y3 Q/ V# H, c" k7 P
0132D91A  .  55            push    ebp                              ; ||hDC
7 `3 S  h+ c9 \" S# N' \0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || 8 O6 e& j  z$ c- g
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
0 Y, V8 y# U* R6 ~) w. |7 S0132D924  .  50            push    eax                              ; |Multiplier $ \. i: b2 e+ [/ v; I
0132D925  .  53            push    ebx                              ; |Multiplicand * g6 |9 G$ \3 w- H9 {
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
% y, o8 L8 N+ M0 w0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] ! x* r" F7 a* }8 D5 ^/ ]' S/ z
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
( W5 v1 e8 t# n3 }0 n. c0132D937  .  51            push    ecx                              ; /FaceName 9 \# N) _6 r1 ~% G' K  ]
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | 1 w; j4 R6 A) ^! W5 f
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 8 i( z9 U0 \4 q4 I2 o& X
0132D941  .  52            push    edx                              ; |Quality 2 a$ z/ V. ?/ H% [
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS & q3 ]4 @5 ^# B+ h
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
9 V0 M9 Z; r3 H0 t- o0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
) P! E  D/ c% ~3 q3 t6 C$ I1 B/ H9 K0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE % X9 `) I* r7 U7 ~4 r" ]- m) e: `7 N
0132D94A  .  8BD1          mov    edx, ecx                        ; |
! s4 l0 d& X- d1 I9 o/ u7 G0 j0132D94C  .  D1EA          shr    edx, 1                          ; | - y4 j% ^. a- P2 H( ~# `! n8 k
0132D94E  .  83E2 01      and    edx, 1                          ; | : `4 k! o' t/ u+ y
0132D951  .  52            push    edx                              ; |Underline 0 j! P; O" F0 B/ C, N7 x  P+ T
0132D952  .  83E1 01      and    ecx, 1                          ; |
3 i$ T4 q, [. d/ |* M. f0132D955  .  51            push    ecx                              ; |Italic $ o, `1 U$ d! z6 ~7 K
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
- N9 T8 r, o; }0132D95D  .  51            push    ecx                              ; |Weight 1 b) i, X* L# m# H/ a  ]+ E
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
7 q( o, G. k/ d' y0132D960  .  6A 00        push    0                                ; |Escapement = 0 - L0 X& B8 I3 c+ P" ^
0132D962  .  F7D8          neg    eax                              ; | / e' x% T' d- I$ B
0132D964  .  6A 00        push    0                                ; |Width = 0
2 s+ T! Q$ Y' i' D4 Z0132D966  .  50            push    eax                              ; |Height
4 q  i' M. Y' I# I, e6 A. E/ C' U0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
, W1 s9 J) C1 S' i0132D96D  .  50            push    eax
: E' x- [$ L+ F7 k( C0132D96E  .  55            push    ebp ' f  y! _+ a% H( E5 [: f/ p/ H
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
6 ~; W# W: L, a) z6 L0132D973  .  FFD6          call    esi
+ m' J, r- f* x: R4 D0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
+ a  Z, r4 _5 O0 [, V% c+ p) e2 `0132D979  .  52            push    edx                              ; /pSize
$ E( R, I5 E* B# K9 W+ |, y0132D97A  .  6A 01        push    1                                ; |TextLen = 1
) w$ W5 g! m, Q* I0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
  Z7 h$ M- }5 H/ V( V0 ~. f: u0132D981  .  55            push    ebp                              ; |hDC
) X$ W# o0 Z! J( @) T0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | 8 `0 V! A, V# w; o. E2 v" c
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
6 u: F# F! ^# ]1 H) k# T0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
2 l9 S" d! [9 o3 ]. I8 c6 d0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
. Q7 M9 ?2 `( o, r; `7 h2 M, a0132D993  .  8947 18      mov    dword ptr [edi+18], eax & F/ g) k7 D1 t8 _& @$ v* A
0132D996  .  33C9          xor    ecx, ecx
5 m% {  W( W" J& d. R" z  [0132D998  .  8BC6          mov    eax, esi ; m3 i5 w4 G6 T2 z7 v9 n
0132D99A  .  BA 20000000  mov    edx, 20
0 _" i7 X& ^4 ?3 K# g1 C0132D99F  .  F7E2          mul    edx
: z9 |" G0 d& z8 y5 c0132D9A1  .  0F90C1        seto    cl 8 N7 ^2 f5 ]% I9 X
0132D9A4  .  F7D9          neg    ecx 2 H0 m; T) f  e" n9 Q9 p! L
0132D9A6  .  0BC8          or      ecx, eax
! z/ j) L# ^0 y7 A0132D9A8  .  51            push    ecx + v* K5 o3 N' d6 q* g' J! x% f) Z4 ]
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> : @# X8 E8 ~! t  `0 K2 r; V
0132D9AE  .  83C4 04      add    esp, 4 - Q- |8 G# ~$ X) B& E7 v
0132D9B1  .  85C0          test    eax, eax
5 r, H, v' c7 o( q4 |0132D9B3  .  74 28        je      short 0132D9DD
$ J% `+ g+ z" }( w0132D9B5  .  83C6 FF      add    esi, -1
9 f" x- x3 f3 p- X  a% Z. g! v) K0132D9B8  .  78 25        js      short 0132D9DF ( H0 L2 B* Y5 x& T+ Q# T! y
0132D9BA  .  D9EE          fldz
3 Z6 N$ ^* p$ C0 K2 w5 s: R- `0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
" X( k9 i( v8 q* f/ _! ?9 m# c0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] # b7 ^- Z8 `7 ?5 K0 r; X& t  q+ i; v, Q
0132D9C2  .  83C1 20      add    ecx, 20
. m5 d9 O" D" u# z0132D9C5  .  83EE 01      sub    esi, 1
& _6 F& s! r2 w0 @- G0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] 0 ^" p' K0 T3 T% d& |" E4 G) c
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
; h: M. _9 R# N0 k4 j% f0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
7 @! [8 L; l6 V7 p5 s3 d6 y0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
5 e, P3 v3 m/ q" x0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
0 U& p. Q: V3 d2 `0132D9D7  .^ 79 E6        jns    short 0132D9BF
9 o  M) x( W) K: g6 f0132D9D9  .  DDD8          fstp    st 4 Q- h4 g$ N# s' b; o6 M4 r# U
0132D9DB  .  EB 02        jmp    short 0132D9DF 0 J9 d& H+ g7 s, w& C' K7 ?
0132D9DD  >  33C0          xor    eax, eax
0 N4 A. M9 d0 s0 ]0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]   H/ d; I" Z" n! J; n$ C) H5 k
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 9 p6 n( X# W: u5 A4 w
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
$ B2 \0 V8 F/ l/ U& Q+ ?0132D9F0  .  50            push    eax                              ; /Bottom
* u2 B$ A) h8 X0132D9F1  .  51            push    ecx                              ; |Right ! f; \8 F$ h) x0 T' Y  _* h2 I
0132D9F2  .  6A 00        push    0                                ; |Top = 0 5 q! E) M" P! F
0132D9F4  .  6A 00        push    0                                ; |Left = 0
9 M7 Q( F5 M* U* O. A+ l6 m$ s* @2 B0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | $ g$ u" k* \0 l7 ~% j5 ?
0132D9FA  .  52            push    edx                              ; |pRect
* c8 a% G9 [6 @( a1 V0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect 0 R8 Z1 Z* S3 x
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH " @( p& s; k$ b
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject $ V6 q' L/ e0 c8 w1 T& I  x
0132DA09  .  50            push    eax                              ; /hBrush
1 q$ ~, i5 M' |1 I% e3 _0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
+ x; B% g( ]9 |! L0132DA0E  .  50            push    eax                              ; |pRect   T( y, l- y& q
0132DA0F  .  55            push    ebp                              ; |hDC
3 d1 K% K1 k  _' m( a! @8 N% B0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
- Z& f5 ?  _6 @2 u/ ~# M0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> ' }! p+ H# a0 ]: |+ @+ a
0132DA18  .  55            push    ebp                              ; |hDC 2 d, t( s9 s( C/ M" ]
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
/ y  L1 v; g0 z8 Y" }& n0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
* V7 U& P& C$ B9 o& W; N0132DA24  .  55            push    ebp                              ; |hDC
9 X+ l% Y, a) Z# {8 @! L0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
0 R5 q$ {7 R7 `8 e' w0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
4 o- w+ }  n4 P* C: r2 A0132DA2D  .  55            push    ebp                              ; |hDC 7 R- K1 `4 d6 A+ J
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode ' }  ]3 M+ U6 s, L1 }
0132DA34  .  33F6          xor    esi, esi ' P. C/ T$ K% `: ]
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi ( I! Q' N1 m" x4 S8 I: n  [& ^
0132DA39  .  BB 01000000  mov    ebx, 1
! k2 @5 k4 F" y# e: k0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx 3 [4 J  O; ^$ x4 _: ~7 g
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi ) y0 I7 }6 ^9 e7 ?
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi * k  o5 H7 O: g! H; e  J
0132DA4A  .  0F8E 20010000 jle    0132DB70 0 s5 s* i- j' p8 D
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] ( k7 v7 f% q" r/ q# I" z
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
8 U, y: \6 P$ {, W" K  I6 ^8 b  q0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi 9 }2 Y: Z/ A# {3 r
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax 0 A2 K( s, i& q2 T$ U0 h- Y! c
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] ; B8 m! {0 C+ c/ x6 S" N6 m$ p
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
6 G# Z# h  w+ V. V7 E, O0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
; f: l: j+ T! H0132DA72  .  EB 04        jmp    short 0132DA78
! ^0 j: }1 [+ S4 W+ w% j0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
6 \' L' }; ?$ Z$ Q; S( y0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
: K/ y$ e; A  ^, ?0132DA7B  .  66:8B08      mov    cx, word ptr [eax] 4 N6 G1 |' N8 V; j& B' D
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
" [0 N$ c0 ?+ c+ d+ v! a0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
: A, a# [2 W4 h0132DA86  .  0FB700        movzx  eax, word ptr [eax] 3 p2 j: E/ ]  R  X( l  G2 [
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
: J- f. l% _9 \4 m- o  V3 b0132DA8C  .  51            push    ecx                              ; /pABC & B- q: O8 R8 t
0132DA8D  .  50            push    eax                              ; |LastChar
, l1 _) v+ |. ^5 I0132DA8E  .  50            push    eax                              ; |FirstChar
, l* Q# @# x. p4 z! N: Q# K7 o0132DA8F  .  55            push    ebp                              ; |hDC 4 Q. n7 \# I/ u( [* ~2 D# l
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW & I1 t  k/ ?6 K
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
" n* w5 K0 s& M& c% T: a5 |8 u0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
9 B$ [9 T* b' d4 G0132DA9E  .  73 10        jnb    short 0132DAB0
8 L+ t% P& f; j& u) k- m5 X, z0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
6 F, {( _- ?2 q- }0 i. H7 u: i0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 * \8 l5 R; Y( Z4 C/ ^; k
0132DAAE  .  EB 0C        jmp    short 0132DABC 1 l9 [0 t, @. ]# r
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
; E* g+ a- U/ a0 p; t9 K0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 8 U5 n# [8 G0 W% K, u. k
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
/ {8 A5 l) _+ X5 m" I" c% l* U0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
  F/ F# l# e. k7 n& s' A0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
# m8 U' V# _* v+ I5 k; R6 v0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
1 p; M4 |$ r; r) Y5 O4 y0 h+ i+ w0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] ' i, ]+ k" U. F2 L: \3 K' Y
0132DACE  .  72 14        jb      short 0132DAE4 % R- D) n3 f' J, \
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] / v4 k  h* H5 _) q
0132DAD3  .  BB 01000000  mov    ebx, 1 / T7 A0 K9 Y3 A5 B. q1 e
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
7 H3 O) @7 W1 g# A, x6 ~1 U* d0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
. j; O+ M  w, }$ Z9 Z0 s0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
- n9 t& D9 a! V: b4 F5 h0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
; f1 R2 _: p0 X, D6 v$ M4 `6 ?; q0132DAE8  .  03CB          add    ecx, ebx
& ~/ X" i' F) J$ [0132DAEA  .  85C9          test    ecx, ecx
7 `9 J2 V. b+ c1 i5 }0132DAEC  .  D94424 38    fld    dword ptr [esp+38] ! M+ ]  ?# w1 @  `+ K0 v
0132DAF0  .  D9C0          fld    st   e5 j8 E/ X6 U
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
! z+ u, F0 U( ^+ S7 m0132DAF6  .  DEFA          fdivp  st(2), st $ g9 y" p6 r" }2 S" ?
0132DAF8  .  D9C9          fxch    st(1)
4 H# |) j- `0 v4 i0132DAFA  .  D91E          fstp    dword ptr [esi] 1 w! I4 D, J$ r/ h: I( q
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
+ k8 m" i, ^4 S  M; c  Q) H, g! Q' l% U0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] ! [9 d. b# k( i8 b" s, y: L  F5 ?
0132DB04  .  D9C0          fld    st 2 `# d5 l6 s: u
0132DB06  .  DEFA          fdivp  st(2), st
7 K" X, E) p3 E2 X# A1 A; c0132DB08  .  D9C9          fxch    st(1)
0 P6 [6 R* n6 Y/ y" S2 a3 I0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
+ ]5 q; O" p/ j$ x( i% K0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
7 K) P0 b; y# x2 {0132DB11  .  7D 06        jge    short 0132DB19
* Q5 c3 {: E! D0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
! L+ e$ c# D% m) w7 a7 Q8 q0132DB19  >  DEF2          fdivrp  st(2), st # G+ A, W9 X$ K( [1 Q( R" K
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] / E, y; ^% i4 v
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 , e2 k0 }- S( R* l: g2 v
0132DB21  .  52            push    edx                              ; |String 2 n" s$ v  z" i7 T/ w- q5 i
0132DB22  .  50            push    eax                              ; |YStart   T/ b( Q/ r1 P- n- ]% z$ j! J' ~
0132DB23  .  D9C9          fxch    st(1)                            ; |
/ @1 c' T. ]# Q( [' Y8 Q0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
" G' v& F2 ]0 R0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
# g2 Q* b& \+ Z2 ~& q0132DB2B  .  03C8          add    ecx, eax                        ; | / `' i; J$ j: H# S2 P3 J/ ]$ S7 k
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |   @. n/ o0 V4 _& V
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | - P3 u% B" c$ q# }+ V& D
0132DB35  .  8BC3          mov    eax, ebx                        ; |
5 X" L& J: N: U6 G( V- }0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | + S1 t) w6 x1 ^8 S
0132DB3A  .  50            push    eax                              ; |XStart
( J+ s0 U0 Y* G5 y( Q. z# N& H0132DB3B  .  55            push    ebp                              ; |hDC
- K) S+ t- ], [) y- ]0 v' f0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
" R* F& [0 d$ ^, L3 B/ B$ ?8 Z0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW / i  u6 ]$ f5 Q2 B& r. Y4 {+ c+ y
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] & K0 L* J2 w8 \5 B
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] $ J. t6 ?$ }4 V: T1 c1 B8 \. |7 c
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
/ b9 w, O+ v0 q' \. m$ Q! y$ X0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 + T. ?- k8 F9 f; w/ t
0132DB56  .  83C0 01      add    eax, 1   n" F' ^$ Y8 _
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
  Q9 G: N, S* C7 ]0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] # x# q" z6 S6 x% `! ^
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
4 ^. b: R  P+ Y! i! L0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
- `% ]2 ~+ L+ w# ~9 g* V5 }, H0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
& W0 Q+ J) ^# I0132DB6E  .  33F6          xor    esi, esi
2 u8 Y9 G# X+ }$ _& B5 w! m0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] " d% m- J/ y5 y- g, P/ X4 U
0132DB73  .  6A FF        push    -1 : ~& m& ?+ H9 i0 `( A! S- y
0132DB75  .  83C1 38      add    ecx, 38
/ @% d; J* d$ A: I. H  J4 i0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 2 w3 p' p, d( d* v
0132DB7D  .  8BD8          mov    ebx, eax $ D) z: B- J4 v
0132DB7F  .  3BDE          cmp    ebx, esi - ~/ g5 }! Z- _( x5 I* o) o
0132DB81  .  74 74        je      short 0132DBF7 3 {- S$ j$ P! n
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] / B% ^+ L$ @0 v# a# D9 S
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
3 M& i" H% A& ^. W  b- P. f7 v. ]0132DB8B  .  52            push    edx                              ; /Buffer
% y% I( A6 N2 p& u' W, G0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 0 F$ y7 Z4 X' c- `6 T
0132DB8E  .  50            push    eax                              ; |hObject
/ E8 i1 p" i6 t; L! Y6 `0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
% x$ K$ |! D0 ^' M' p8 ]0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
4 B2 H. i7 N" W3 G' {% C) U0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
2 f3 y( w" f# \2 K0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] 0 e) v6 O: C( t: z/ e! T2 C
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] 8 S7 z( O0 X/ t# h: G0 I$ [
0132DBA5  .  85C9          test    ecx, ecx
( F6 r+ M: _2 m$ t0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 ) U6 p& X% C2 q, b* K0 F' t% X9 G3 q
0132DBAF  .  7E 46        jle    short 0132DBF7 ' @- v$ }3 C. e4 j% U  }- ?6 G
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
5 `+ |- }6 C$ J, x5 N3 b4 b3 l0132DBB5  >  33C0          xor    eax, eax $ t7 F7 h/ n8 @# d
0132DBB7  .  85D2          test    edx, edx
/ H# q0 n" Q( N- I; D5 [5 z. d+ E3 h0132DBB9  .  7E 26        jle    short 0132DBE1 9 M$ [( P0 T7 Y% u+ o7 v
0132DBBB  .  8BCE          mov    ecx, esi ! b6 g: Y; w& T0 T& W6 o% x: J
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] * n8 ?0 `* s5 b* q$ G+ w
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
" U( _6 m, P/ e, k3 b# p0132DBC3  .  C1E2 18      shl    edx, 18 + {" Q- Y) l( q" O: [- _* p
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
& z5 u4 A" ?  X9 W# L0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
5 I' q. n0 h7 Y* v! V- c; R0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
2 |% I$ F  p4 X' g+ e0 p0132DBD3  .  83C0 01      add    eax, 1 $ j4 G4 L7 ]. k! f3 |! e- }. i
0132DBD6  .  83C1 03      add    ecx, 3 6 m0 x; _  w$ U
0132DBD9  .  3BC2          cmp    eax, edx / S: z, L: V2 E8 d. u0 [0 U" l9 O
0132DBDB  .^ 7C E3        jl      short 0132DBC0
- L8 ^" W+ }' G9 {& F" p0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] ( ~; P; m' b8 O- q' M$ q  I
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] - T! t$ r  D) F. H8 {! F
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] 4 R$ Z6 F" `. r' p: z$ n
0132DBE9  .  83C0 01      add    eax, 1
3 N4 L: ~. M. V; q5 P0132DBEC  .  3BC1          cmp    eax, ecx 4 B1 e" a) y! J% b
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] 1 H# y+ b& ]0 |7 x2 c# p
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax % J$ X  i# m* q0 B/ z
0132DBF5  .^ 7C BE        jl      short 0132DBB5 ( u; D8 _9 q, t7 o1 w; {
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] $ z7 E3 i) C3 z7 b/ }: ?# }% {
0132DBFA  .  6A FF        push    -1
4 K+ E% c# }; _. `8 Q# U8 x0132DBFC  .  83C1 38      add    ecx, 38 ; X0 y6 ~4 C9 W4 f6 D, s
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
& Z) c; q1 X: A0 d0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] 4 L: O* i* o% L) q. l; W
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 5 X' K* ~* \0 P' {9 i* I
0132DC0E  .  50            push    eax                              ; /hObject 0 x* e' \( C) g' R' z: ^, `. V/ |
0132DC0F  .  55            push    ebp                              ; |hDC
5 I; {9 v' x1 L3 g( H% O0132DC10  .  FFD6          call    esi                              ; \SelectObject % b6 u) L5 Q+ D7 N- v: t0 ~
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] : t2 j: p# K9 @$ O
0132DC16  .  51            push    ecx
7 [2 I) M: r1 F2 |! y: H% x& J0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
# f  R  D9 [3 [8 B; c6 O4 J0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
- C! o. Q7 Q! v( G- i5 C0132DC21  .  83C4 04      add    esp, 4 & g( k, }/ z" t  Z& \& X- q4 c
0132DC24  .  52            push    edx " q  W. M& U  _* [/ _7 C, ]
0132DC25  .  55            push    ebp # ]; ?+ y" |: S" Z, O
0132DC26  .  FFD6          call    esi
2 z& K4 O& }2 L* J# D' o0 k5 u) u) {0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] % c. J( r7 r; ~7 l" ~* @/ ]+ J
0132DC2C  .  50            push    eax
. o# K& ~; @! ^+ L: x! {0 P0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
( n8 ^' @$ A0 V+ `1 N" T* R0132DC33  .  83C4 04      add    esp, 4
3 X% _' ^7 `4 ?4 ]1 o& L, v0132DC36  .  55            push    ebp                              ; /hDC
" ~4 h+ ^& V/ R0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
# \; l  o( m, v( _) t& m0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
+ l* N4 }2 J) _. O! d0132DC41  .  6A 00        push    0 5 {. A! {& T# j, d; s
0132DC43  .  51            push    ecx
/ c9 t: A. g* A7 r) S+ }- e0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
! C4 Q! [: [- K* ?! c5 R1 y! Z0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 9 M. Y( I# \' c. _
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] & Z. a2 q5 S+ v& M1 J3 _( w' Q
0132DC4F  .  6A 01        push    1 ( A# V$ e# C( w
0132DC51  .  83C1 38      add    ecx, 38
% Q& W! G5 g, t. v. w. z! N$ H0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
1 K4 ]% B6 c( F( W* ?2 z0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]   t$ l- v/ j0 H9 K9 a4 [
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
, J; {- ]: {4 k/ F# y+ ]0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] 4 R' ]5 L9 o: X" m
0132DC61  .  6A 00        push    0 2 ~. L, }, y! e& h6 y! t
0132DC63  .  FFD0          call    eax
) h* R( J5 |$ N  c1 v$ F0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 2 q" G+ j5 U3 s* H
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]   Y6 E6 V, `* j* C
0132DC6C  .  33C0          xor    eax, eax 3 M: C. N8 G9 @2 y# a+ }  L. d: G
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] ! Q  R0 M2 ]; t7 F, y
0132DC75  .  5D            pop    ebp & ?* f0 K- G& M0 o8 O
0132DC76  .  0F9CC0        setl    al # z: q3 n7 \0 x- U# [+ k- {5 b
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] ( |1 \0 w$ x. d7 R! \7 K2 o
0132DC80  .  5F            pop    edi - }% T: k- p$ T4 v  h* ~% t
0132DC81  .  5E            pop    esi % B% @& K7 K3 @7 b! Q+ a/ g5 ^
0132DC82  .  5B            pop    ebx
- {" w, t" y; d% h# K# r) L0132DC83  .  33CC          xor    ecx, esp , y) X  d; {% L% m
0132DC85  .  E8 E2460500  call    0138236C
* G5 F) F) K# }! H) ]' j; h0132DC8A  .  81C4 98040000 add    esp, 498 - M. m0 x# A" u# i# ^
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.
  S* T* \: I( R- `6 |$ F分析说明也许以后会补上。) E7 V3 q$ n( P+ G
* N2 M7 t/ l% E, C+ f* m* ^
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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