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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
! N" _3 w/ m' N8 p4 N* y7 T) [* {+ \5 r& w* S
0132D7E0  $  81EC 98040000 sub    esp, 498
" }8 a7 v$ L" `8 }' ^" Q5 R0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] 2 y" X$ I  m# G! V: J9 a
0132D7EB  .  33C4          xor    eax, esp 1 h/ J( z( I# W3 b
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
% {" R: A8 F* n" v3 P; C5 |. [0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] 2 x+ m# W( T9 z5 ]3 [
0132D7FB  .  53            push    ebx
3 L- t7 c' @6 v& v, r7 J% l% `8 h0132D7FC  .  56            push    esi
3 w+ D( U  R+ a; C* e, g0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] - f$ x( N8 p( T7 t4 F1 ]$ U- w
0132D804  .  57            push    edi 4 F$ j9 V9 k4 M2 U; c" _
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)   G2 ]5 s0 p! X3 r
0132D807  .  8BF9          mov    edi, ecx                        ; | 2 ~* `' m) O3 _7 m: u
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
4 r: [- L# _- K4 I7 V$ x0 n7 S" U0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
5 S' j9 T& L6 C6 u8 ?0132D814  .  6A 00        push    0                                ; |c = 00
4 ]/ K) T5 J& ]% G; @0132D816  .  52            push    edx                              ; |s
8 @, @& A) \5 A' y; \2 P0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | ; M8 i, ^5 h, v4 z( e5 ]  t/ O
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
. x0 r/ U+ q7 i) h9 u0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | # D* L6 y$ H2 I3 J
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
# n# ^% |: ?: F2 \- n* T0132D82C  .  83C4 0C      add    esp, 0C $ w" k. F# D' M- d! `
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 9 a$ f( @( j: i
0132D837  .  74 12        je      short 0132D84B
1 y' v/ e0 c; [, L9 \0 V0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] 7 l' i' W' r4 T7 P6 L
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
$ V5 N" ?% \7 t/ m4 a" i( ?0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax ) P( w) f6 n2 [6 Y" N
0132D849  .  EB 32        jmp    short 0132D87D . e/ t4 w7 f9 k# B, l8 @
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
+ R4 x! `2 y& i8 `1 _0 Q0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
' I' O  }4 T5 g1 @' @- o3 f0132D855  .  33C0          xor    eax, eax
1 q% B3 J$ E8 W3 ]- i" H7 c6 x  N2 s% i0132D857  .  EB 07        jmp    short 0132D860 . e! x  H3 c* b. _
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] 3 f7 o5 e- W, E. K0 K/ {
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] " _0 `) A# z% s! d: W  g8 R' l
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
* n* z3 I7 E6 F4 n; b0132D86B  .  83C0 01      add    eax, 1 & I' K7 j" t: t$ d  Y  ~
0132D86E  .  3BC1          cmp    eax, ecx
1 J( c" ~! u7 m) O0 d8 k0132D870  .^ 7C EE        jl      short 0132D860
" [8 b/ N3 c  k2 l2 V: u/ J0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
! Q4 A) ~" z# d% h0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
" [6 X" D* i" Q) S0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] , {5 L/ c3 r4 F, r
0132D880  .  85C0          test    eax, eax
/ C  X/ @9 ]/ }4 A" ~0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
2 v. ]8 s, Q) p8 e, i' H# S0132D885  .  75 05        jnz    short 0132D88C $ e1 [% W4 `/ Q* j9 k
0132D887  .  B8 16263901  mov    eax, 01392616
3 l' p7 V/ a2 m$ o$ w0132D88C  >  6A 00        push    0 7 j' e3 O+ N# k# P" T9 I9 e& a. k
0132D88E  .  6A 00        push    0 2 U6 d; w4 O6 p0 u0 a
0132D890  .  50            push    eax : O, u$ C" T6 e
0132D891  .  6A 1F        push    1F
9 m$ ]: y* |1 n7 }( K1 ^0132D893  .  8BCE          mov    ecx, esi ( {" l8 U. ~+ u+ {9 o- ?
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
# i2 m. _2 [2 u/ x4 x( ^) z2 `/ O; ?0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
3 [1 ~  k  K" o) z- e/ |0132D8A1  .  6A 00        push    0
6 Y+ I5 H! i1 R3 @  R; N- O; d0132D8A3  .  6A 20        push    20
; c/ c3 x9 Y* K. u8 k0132D8A5  .  51            push    ecx
5 v1 s8 x/ G) _5 g% a; G- n0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]   |1 a; Q- k) W$ H* a' W
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
5 F! ^, W1 g) G9 V0132D8B0  .  8B10          mov    edx, dword ptr [eax] ' j) }. h9 b- \- B
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
+ r" t* Z3 Y9 l; X+ r0132D8B5  .  51            push    ecx ' L' g9 k7 D; ~2 Z
0132D8B6  .  8BC8          mov    ecx, eax
" o* P# C7 l: v0 y, }, s7 W0132D8B8  .  FFD2          call    edx
- `; t/ ?$ M: @2 _. b0132D8BA  .  85C0          test    eax, eax
: M$ |% Z. S* J6 e" f3 a# H+ C+ J0132D8BC  .  75 07        jnz    short 0132D8C5 7 Q, ^, e9 L2 Z6 q5 I1 i# x
0132D8BE  .  32C0          xor    al, al
- u1 d; j$ ?9 A! E% h6 ?0 L$ [0132D8C0  .  E9 B4030000  jmp    0132DC79 , P, C) i1 E. u5 R. |8 C
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] - D3 V9 Z  R4 H3 d3 U# V1 B
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
9 U  S; z9 d! R5 e. K3 R0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] . Y& Z! M: \9 ]' B' E
0132D8D0  .  55            push    ebp , s; u, G) A* ^. w, ~
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
" K" U# o- g+ Z+ O$ k0 p0132D8D5  .  52            push    edx
6 d7 S! M% E5 X, [& c" D0132D8D6  .  FFD0          call    eax
- ^( l: p0 ?+ C. v+ }0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
( @" r# e! r' i- H, }8 a4 J3 X% G0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC . m; q0 T7 R: n5 M
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 5 e- q1 f$ f6 y( Z2 T- Q
0132D8E4  .  51            push    ecx / h; C2 X: h4 d
0132D8E5  .  8BE8          mov    ebp, eax * P& A5 F( j7 s1 d8 j9 v
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
) c* v3 O6 B& e/ u0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject - }% D/ N. ^5 r8 O& y& W7 ~
0132D8F3  .  83C4 04      add    esp, 4 . D  N8 q5 `' v: Z6 B5 u1 c2 [
0132D8F6  .  50            push    eax                              ; /hObject
8 C9 ^, m7 j- M/ g) J$ ^8 c* g, h0132D8F7  .  55            push    ebp                              ; |hDC 3 N/ u# w' J- G& W: h) N, w
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
3 e0 J7 w; q1 g+ y& b0132D8FC  .  FFD6          call    esi                              ; \SelectObject 6 [: _4 ~7 n7 S9 d5 X0 p2 ^
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
8 `* N( s/ H$ o8 i( g0132D902  .  52            push    edx ! f3 T; g) ?/ |  \" m7 B) Y" F" o! [
0132D903  .  8BCB          mov    ecx, ebx
- Q( X' n. [# k, q/ X! h& C# i5 r0132D905  .  894424 40    mov    dword ptr [esp+40], eax
: C1 W* W2 F' M0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
. u( f. X* J% l- u0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
3 f- X/ ]- F% u0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) 2 j/ r% O! k8 z3 `% E# r6 M& R
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
6 {) w  s- |) K9 O0132D91A  .  55            push    ebp                              ; ||hDC
: l# F0 p- I( G! {0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || 1 ?$ n' k2 Z& d: U
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
2 J2 z0 r( f$ i0132D924  .  50            push    eax                              ; |Multiplier % d1 K% F4 F" a$ g3 z; ^. X
0132D925  .  53            push    ebx                              ; |Multiplicand
. x5 A2 a* K/ @: O- I  h  z/ E0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
: |3 F7 i3 y+ c- }1 F0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
7 e1 I! P+ |" A7 [6 ~8 @0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
6 A- N' J% s- T4 o0132D937  .  51            push    ecx                              ; /FaceName
5 d2 e5 ]' ^& N6 s! ~* L$ n0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | - c! d- x9 F3 Z% Q0 V  M
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
' ]7 T/ v/ C# D4 I0132D941  .  52            push    edx                              ; |Quality 0 M6 s8 M+ Z! v; t7 B' M$ \
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
# f4 q) G) ?1 [0 h( w5 H& d0 O) x0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS * G* @" O) U: P( V+ C/ P
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
9 ?9 U0 l2 E4 T1 {0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE 7 U" F! m8 f' [  K- l, n& U$ W. f
0132D94A  .  8BD1          mov    edx, ecx                        ; |
  m# r* M, R! {9 C4 h8 B" k9 C0132D94C  .  D1EA          shr    edx, 1                          ; |
0 x( p0 z+ b0 P7 f0132D94E  .  83E2 01      and    edx, 1                          ; | 5 a; ?0 Q% H/ F
0132D951  .  52            push    edx                              ; |Underline 9 z  P) J& {; t7 N" \# f, L
0132D952  .  83E1 01      and    ecx, 1                          ; |
% J! h: E+ Y1 [# J3 Q. }; p0132D955  .  51            push    ecx                              ; |Italic
. n2 ~2 Y5 K# W  t. w! B# m0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | ) a) j  n! F! D3 C! d4 }4 ]5 \  ]  E
0132D95D  .  51            push    ecx                              ; |Weight
% x- `% ?# |$ F0132D95E  .  6A 00        push    0                                ; |Orientation = 0
: v2 v$ h( W* E; O+ ~3 ?* X4 h5 p0132D960  .  6A 00        push    0                                ; |Escapement = 0
# m0 \/ o; c. p6 K" Z( M; a0132D962  .  F7D8          neg    eax                              ; |
) O7 a5 e9 T7 G* Y7 Q0132D964  .  6A 00        push    0                                ; |Width = 0
" d* X3 {& n+ [: A* h- l0132D966  .  50            push    eax                              ; |Height   A- q: V6 {; c  x/ R
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA $ p5 D4 a4 @7 n% L7 |! ~/ F
0132D96D  .  50            push    eax
9 i0 t, ?9 H4 k7 Y$ W0132D96E  .  55            push    ebp 7 Y7 r7 a3 A4 q! z& X: H
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax - \; g- g6 D6 F. l  W/ q# q: A/ V
0132D973  .  FFD6          call    esi
" U* h3 D# E2 I* M1 A5 l$ V! e0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] # k5 z8 {7 b6 d: O6 h3 m! N3 [6 q
0132D979  .  52            push    edx                              ; /pSize 0 J3 b+ K$ n/ G; {6 w6 W& l3 `7 j
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
& K5 ]' z: r9 U, q0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" ; `2 g/ K. F% Y1 S! V; A" ]1 z
0132D981  .  55            push    ebp                              ; |hDC % E7 N' C8 S1 i' V3 G
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
. S& c& e% f/ k0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
9 s: s: J: ?) _" l; ~6 R0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] 7 g6 H0 D# ^$ g0 s2 o, w& o% x
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] ' n3 p( w$ r- ?+ J  d/ d
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
1 p5 \1 i. U# g9 y+ k' Z$ Y/ c; J0132D996  .  33C9          xor    ecx, ecx 9 q! q" _- B8 C7 D% u  h6 B
0132D998  .  8BC6          mov    eax, esi ) r" D( A# Y) g6 D3 {
0132D99A  .  BA 20000000  mov    edx, 20
$ u1 \& Z# \" \3 f9 w0132D99F  .  F7E2          mul    edx
7 G  V$ z9 g, ^+ c0132D9A1  .  0F90C1        seto    cl
9 n! Z# b8 ?3 |0132D9A4  .  F7D9          neg    ecx
& ~5 J( A( _# s5 w$ w3 D0132D9A6  .  0BC8          or      ecx, eax . o3 C4 m' w5 \7 Z
0132D9A8  .  51            push    ecx ( R9 x9 U0 c# B
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> $ \) M* u0 d6 x; L  o, |4 B5 Z
0132D9AE  .  83C4 04      add    esp, 4 " v, C& @2 Z; r. c* Z: u: E( F
0132D9B1  .  85C0          test    eax, eax
( n/ t4 o8 P: J" a( k0132D9B3  .  74 28        je      short 0132D9DD
/ }8 }/ H0 _. \0132D9B5  .  83C6 FF      add    esi, -1
5 K: w1 a( `& D0132D9B8  .  78 25        js      short 0132D9DF ) {' K8 p/ o* Q
0132D9BA  .  D9EE          fldz . W) l& f: G( F& B
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] - ^1 d  i& r; @
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
8 y/ J- R" v6 j8 P& R- V0132D9C2  .  83C1 20      add    ecx, 20 / M4 W7 P, g4 d/ D0 o7 @
0132D9C5  .  83EE 01      sub    esi, 1 " d  K. g; L! p, f
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
. C% q3 |% E+ }" [: o0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] $ U3 I1 ~, A0 e6 \, y  ^- A
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 3 t; Y  ^3 u  J+ A
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
/ q* h" f" a2 K# R+ S0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
, {4 F! K1 ^/ J- S8 u8 Q9 o0132D9D7  .^ 79 E6        jns    short 0132D9BF
3 e. p7 m4 {% P2 L/ e) r" D0132D9D9  .  DDD8          fstp    st % u9 _& \1 h3 ?; o3 o/ ^% e
0132D9DB  .  EB 02        jmp    short 0132D9DF
4 J' g! c" t2 n5 b6 J0132D9DD  >  33C0          xor    eax, eax
* ~  t2 q4 r! I; Z' H0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 2 e1 X+ n+ s0 z$ D$ z( |
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
6 b  O/ [5 c& _6 K5 I2 v) v0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] / }0 ~' T( z" G! C
0132D9F0  .  50            push    eax                              ; /Bottom : l' }/ K5 f2 W
0132D9F1  .  51            push    ecx                              ; |Right $ ]6 r0 l2 R1 [
0132D9F2  .  6A 00        push    0                                ; |Top = 0
8 u: K# h7 F1 V8 L+ Q4 m0132D9F4  .  6A 00        push    0                                ; |Left = 0 6 P* U! B2 U6 N
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | * u- b/ M& \. |% p" d
0132D9FA  .  52            push    edx                              ; |pRect
9 X- T1 N) T: a) ~* P0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect 3 b+ T: n. W! H. Z' {) w3 f
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
  i# i; U7 O# D+ J+ r# b5 Y/ z: b0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
2 x  |$ ^0 I! I) g  d" u  Y0132DA09  .  50            push    eax                              ; /hBrush
- u4 S/ F2 U2 ?) r8 f0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | 3 u; \' J! b9 u* l
0132DA0E  .  50            push    eax                              ; |pRect + O" M! f/ F* g+ X, J* v
0132DA0F  .  55            push    ebp                              ; |hDC
" t3 o( `8 m- o/ F! ^0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect 1 C4 Y) H1 b$ h! N4 q, {
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
/ z/ _' H5 M6 |% C9 z5 p0132DA18  .  55            push    ebp                              ; |hDC 0 M9 c: T, b9 t. h
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor 9 {/ k1 ^# \, t1 m- f/ ?
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
. ]4 N2 g2 ?& a' Z  f0132DA24  .  55            push    ebp                              ; |hDC
. w* |- h* T' ~$ q0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor % L! @5 P0 ?; a
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 5 U) d3 y. M( U; D; Q
0132DA2D  .  55            push    ebp                              ; |hDC
& F, G. u# ~/ t7 a8 V% a7 i0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
6 f  U$ I- U2 O) {% S0132DA34  .  33F6          xor    esi, esi
' q0 H3 N. G' K. \0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
8 k/ J' e: t1 z" o0 ?6 j8 Q0132DA39  .  BB 01000000  mov    ebx, 1
. c! a) O) V! J! `# I0 z& U0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx + D& u" h5 @  w
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
/ V3 o$ E! E- b0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi 2 N5 a+ R( _. u" s
0132DA4A  .  0F8E 20010000 jle    0132DB70 2 q6 D* B! Y2 [8 |4 k
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] % M( s) ~" ^( ^  d
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] 2 {6 O1 O/ L) k! M) U5 \
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
0 w' D) e' A7 e+ P0 Y, _0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax / g( I7 b* }, z2 J4 H; h. o
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] 0 M# d$ {0 ~# g1 `
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] 4 e3 Y8 F, K/ b
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
' O1 ~8 ^! T3 h0 z1 T( V5 u3 ^5 f0132DA72  .  EB 04        jmp    short 0132DA78 # @( @7 W1 |5 @" x1 A
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] 8 e8 r7 v: r: \
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] 4 J/ X. O* ^7 q; t2 [
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
2 C' M* B* T, Z6 v' v  w; Y/ Y  A0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
# k+ G' C( ~" d1 ]1 }1 u0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx ' c2 s6 C3 l7 u: \6 {: p* M
0132DA86  .  0FB700        movzx  eax, word ptr [eax] 4 R* z# c3 ^; D8 k6 k& r# N+ j; a
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] , K% p, q7 k$ w' J9 n2 r/ J
0132DA8C  .  51            push    ecx                              ; /pABC
  y1 j) X. d# j0 t; H0132DA8D  .  50            push    eax                              ; |LastChar ' f. n: o3 V4 o
0132DA8E  .  50            push    eax                              ; |FirstChar
( X5 F! u4 U  i' F0132DA8F  .  55            push    ebp                              ; |hDC
4 W- l. Z, O. F. g1 v. Y0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 1 F( x+ ?# V7 u
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
6 Q7 x& X! l. c% _$ [  l0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 . Y9 E) V( {' f4 I
0132DA9E  .  73 10        jnb    short 0132DAB0 . ]9 O1 k: N7 K8 H- `' v
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
3 o3 Q+ J% S1 v- H+ X1 B0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 2 U7 J& n3 A2 d
0132DAAE  .  EB 0C        jmp    short 0132DABC
5 |1 }- E: F: M- r& A0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 1 u2 |# E  I6 t0 \7 T8 _" f, l
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
( k  k  \! p- S9 P5 B( k0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
& j4 j; u' J1 E; O1 ~  M6 g0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]   b, J5 F1 T2 y
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 3 {+ L( T- A$ v; R
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
5 G; h, u8 z4 a) R0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
* J. ]4 q9 ~3 C# r/ o0132DACE  .  72 14        jb      short 0132DAE4
$ c0 U$ m* d8 Y+ a0 v# y( z0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] 4 m# q$ I+ w) v+ w1 V  F: R6 z
0132DAD3  .  BB 01000000  mov    ebx, 1
. t6 U; G. u2 Y8 f0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
) M' r4 N# s, O7 N4 b0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
  s0 g! [5 s. `: u4 ^* f0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
! B4 T% I9 W) {& p. |& \* y0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] ) L) h5 F. j) o
0132DAE8  .  03CB          add    ecx, ebx 9 C4 K6 p5 R# H8 y& S
0132DAEA  .  85C9          test    ecx, ecx ! z6 F3 g2 @# x* p' R* ]: q- t
0132DAEC  .  D94424 38    fld    dword ptr [esp+38] ( S' P5 u: e8 }+ T4 i
0132DAF0  .  D9C0          fld    st
) J3 ?/ y/ s6 v# i- P0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
$ K( Y/ ^/ Y  G4 j( k4 R0132DAF6  .  DEFA          fdivp  st(2), st 3 }7 c% N- i7 W
0132DAF8  .  D9C9          fxch    st(1)
$ I5 [0 N( Z! A: ]: w" p0132DAFA  .  D91E          fstp    dword ptr [esi]
( ~* k, ^! A& t8 B& S0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] - a- w8 d# t+ ~" b
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
& E* K" E% B0 I" U' l2 F0132DB04  .  D9C0          fld    st % h  q! q$ M. `, ]1 i. y4 C' ]
0132DB06  .  DEFA          fdivp  st(2), st
: V. r; D' r# p& W1 ?( c0132DB08  .  D9C9          fxch    st(1)
$ H3 U( l+ Q" T, G; p  I0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
7 s: D# G% C- ]/ N0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 7 @4 C0 w  \$ p+ L2 m( g
0132DB11  .  7D 06        jge    short 0132DB19 . K% B% G( X, L5 ?& x3 G
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] ; C  B; q7 f8 G' c' W0 S' R( O
0132DB19  >  DEF2          fdivrp  st(2), st 9 Z0 o+ ^1 U4 G( M, L" r& z
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
6 G, N# i" \/ _0 U4 i0 W0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
, L1 S: U  p- @/ }3 G0132DB21  .  52            push    edx                              ; |String
" e7 t- i2 A0 R1 B( Q, h/ v4 w0132DB22  .  50            push    eax                              ; |YStart 9 W3 F  ~+ P3 E' U
0132DB23  .  D9C9          fxch    st(1)                            ; |
) A$ f# Q; e3 K- C0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | 7 \% V& S& M! P7 k
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
; @' I, j( P4 g! K2 S0132DB2B  .  03C8          add    ecx, eax                        ; |
, K0 p4 I- x/ \0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |   B9 T0 u% G% Q* e' W. T1 @7 D
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
5 V6 H0 {0 p) n* @0132DB35  .  8BC3          mov    eax, ebx                        ; |
5 v1 ~8 I) ~2 W9 @0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | 4 K# d3 \& O+ K0 f8 E
0132DB3A  .  50            push    eax                              ; |XStart # q  ^2 I8 I5 a: K- A5 M
0132DB3B  .  55            push    ebp                              ; |hDC 3 K3 o5 ]: P$ D, h
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
, G- m+ M3 ~: f% j0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
* y% h: v, w+ K( |% N' q0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] 1 S0 C1 u: Z0 v! H8 t
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] - c- K6 ]2 v' C2 O: v7 `
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 + N  A, K- m4 n3 `- z# y& ~
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 # f+ @5 z! c! a5 S+ h
0132DB56  .  83C0 01      add    eax, 1
& X: o+ q4 s, P) E  {0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
/ ]; Z) ^6 \; S8 C& t0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
; q8 o, d6 a- K9 U! G) g0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
9 Y1 I0 g. o+ Z0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
/ a' N5 }  e1 b# h$ o" m1 t, w! u4 Y( i0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 ' D0 @7 o4 ]. d1 \/ X" t
0132DB6E  .  33F6          xor    esi, esi
( J1 T& M) U+ V! V4 I' g, s6 C0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] # G: E9 a3 [9 R2 e5 S; i+ V
0132DB73  .  6A FF        push    -1 & _5 @4 x: K# U+ O
0132DB75  .  83C1 38      add    ecx, 38 7 W. \- W% h& A  p) S/ c
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> ' e* |) [' [& R2 m* r
0132DB7D  .  8BD8          mov    ebx, eax - _+ q- j' q6 [- c  W( _% W9 K: U' N
0132DB7F  .  3BDE          cmp    ebx, esi ; b1 K8 z" a' h! n
0132DB81  .  74 74        je      short 0132DBF7 ' m4 w% C8 r. Q. z
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] + F2 O( {" O9 P9 |1 V. F
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] % _# O- H' R" L; {6 k( e7 Y) ]
0132DB8B  .  52            push    edx                              ; /Buffer * l  ]& b' r5 D
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 6 \' K) h8 D4 y3 h- ^
0132DB8E  .  50            push    eax                              ; |hObject & r6 A8 {0 t$ a
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA + @& u9 m0 c# m
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] / A; R3 e. B8 P# T3 ]
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] 5 j4 u) X$ W! e8 a  t
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] 3 t! x- V& q, S2 J( W
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]   T9 x, b( s  O. U6 B; u' X2 C
0132DBA5  .  85C9          test    ecx, ecx 0 d7 L$ u. M% s2 R
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
3 P# C- x, a; }2 J0132DBAF  .  7E 46        jle    short 0132DBF7 9 _; d: V$ P6 j* \
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
( \1 v- ?* w7 x: w4 a- W" m0132DBB5  >  33C0          xor    eax, eax $ S* N' t1 A, q( v0 @) N2 E5 ^
0132DBB7  .  85D2          test    edx, edx 8 N; j$ V* k; Y
0132DBB9  .  7E 26        jle    short 0132DBE1
, E$ ]; s: T# w; `7 B- g0132DBBB  .  8BCE          mov    ecx, esi " t1 H8 T/ @+ x7 _6 Q
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
0 v. a0 I4 E# z9 d0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] # ]+ ~. m0 @$ p: z# j# T
0132DBC3  .  C1E2 18      shl    edx, 18
8 d1 E- c6 o* _+ O$ Y+ m! u( y0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
  V& l% }; S% W% Z2 r9 |: G0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx 3 w6 h4 K& P. @
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
( c$ i3 b4 N/ B: [" z* b2 w0132DBD3  .  83C0 01      add    eax, 1 ! X' {- r- _; n
0132DBD6  .  83C1 03      add    ecx, 3
- m, k0 ?1 ~% h6 d( a0132DBD9  .  3BC2          cmp    eax, edx 3 T$ M8 Y- l, N9 w
0132DBDB  .^ 7C E3        jl      short 0132DBC0
# c; m3 J2 |6 ]2 n" d  Y. D0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
2 Z% c! @2 d+ T  F3 F* \! M1 V0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
' g; _3 C. I! {& q0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] 3 ]. }! d, i! d
0132DBE9  .  83C0 01      add    eax, 1 0 U; q$ D! U7 y1 y- S! u
0132DBEC  .  3BC1          cmp    eax, ecx $ @. w  Z( z7 P, u
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] ! J! \1 g$ m2 _% T* q
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax 1 _0 `, o, ]# t* O! z! M  D7 h. q
0132DBF5  .^ 7C BE        jl      short 0132DBB5 1 ^) K# l$ S; `: ^7 h) r% [
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
: W) \  ^1 }" n1 f3 y0132DBFA  .  6A FF        push    -1 % Q; N2 W0 O6 x) N, P* y! |
0132DBFC  .  83C1 38      add    ecx, 38
" X9 G) g3 }0 x$ R4 V: K& I0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
6 |7 n6 e# p9 u7 k9 m( x5 F5 t0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
9 g% L) O) ~* V3 ]0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject % I& J; c7 N  }
0132DC0E  .  50            push    eax                              ; /hObject & u4 F) J+ z" t) e0 m" j! Q' x3 U3 n
0132DC0F  .  55            push    ebp                              ; |hDC   i- l$ A, i! p; i& M, q0 c
0132DC10  .  FFD6          call    esi                              ; \SelectObject " u6 r1 s8 i+ r6 ?) R
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] # G: p. n3 f7 i" d5 f2 z- r/ J
0132DC16  .  51            push    ecx 4 c  L9 f7 _; u; |3 R
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont / m5 T1 B5 ?8 e# S, {+ q1 s* @; \
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] ! h6 \( Q7 Z) O5 b
0132DC21  .  83C4 04      add    esp, 4 4 `. A0 A! l3 m2 A
0132DC24  .  52            push    edx % P* c1 H+ K1 n$ I
0132DC25  .  55            push    ebp
* U9 T" _* x# g6 Q6 e4 A0132DC26  .  FFD6          call    esi 9 [4 m! G: J- G; L) f- X
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
+ E' }4 l  i/ p# L$ ^; y0132DC2C  .  50            push    eax
& w7 l  {# [! T0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
# Z( S* T! v( m4 f' u3 n$ E3 L0132DC33  .  83C4 04      add    esp, 4 $ v+ G& Y& f, X. m( ]
0132DC36  .  55            push    ebp                              ; /hDC 6 d9 B2 K, l) A! j6 T% m6 v
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
+ y, T! O& Y4 K1 z3 c& }0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
6 `7 h% R( ]. v% A& f4 w1 r0132DC41  .  6A 00        push    0 " s3 L  _' d3 q& f9 o3 i" _
0132DC43  .  51            push    ecx - S+ {; R6 s: ?; P
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
5 V2 @7 ]! p- \0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 0 x5 G1 I$ |0 q2 t% b$ X
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
# K( }" j% B* H4 v0 T- D8 ]: Z0132DC4F  .  6A 01        push    1
8 U  G8 c$ N& m4 a# P' Y0132DC51  .  83C1 38      add    ecx, 38
8 U; f) a1 P/ D) I* F7 _0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
5 \" j9 S! `: @# z0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] 4 G: J, ~" j' @
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] % _- \0 P- f" H
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
& I$ g1 M' s3 E. i* G) N1 A0132DC61  .  6A 00        push    0
! I2 Y+ [" Y# [7 d6 n9 w0132DC63  .  FFD0          call    eax
% G) e: P" N. Z2 O. `( K9 k0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
* h* f1 ^' i4 V% x9 ~6 O+ C0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
0 A) p  O! o$ V% _  U- R$ U0132DC6C  .  33C0          xor    eax, eax
: R4 p& n" f, r$ D& V) K0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
& |: D! A- s2 W. {% p0132DC75  .  5D            pop    ebp
$ p% Z0 C2 h# H' R3 H0132DC76  .  0F9CC0        setl    al 5 r; u0 d/ B4 E2 F7 ?$ H% i/ a
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 0 R7 o! A2 y$ b. A, J' m, Z$ ]2 |
0132DC80  .  5F            pop    edi 3 g* _. b9 f* S/ `) k2 a
0132DC81  .  5E            pop    esi - L2 ~& l3 G: v5 a
0132DC82  .  5B            pop    ebx
9 [8 P3 o5 j9 C0132DC83  .  33CC          xor    ecx, esp
  \3 w! ^0 u- X; }0132DC85  .  E8 E2460500  call    0138236C
# x/ z" n) h8 i( n" X* o# ^, v. J0132DC8A  .  81C4 98040000 add    esp, 498
, S! A0 n& H# S0132DC90  .  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 k; v# h: n! i) L+ u$ D. L8 V
分析说明也许以后会补上。
* S/ I2 D6 a" d% M* f. E, u3 ^) R$ R$ X! I, P
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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