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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
) e' E4 @4 ^1 r6 F) a
0 v& K! w, _3 S/ J0 G. J7 W' i9 P0132D7E0  $  81EC 98040000 sub    esp, 498
2 y5 `( l* `" {: }* @3 R8 M* }: z0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] 1 {2 N5 {: B# U; o
0132D7EB  .  33C4          xor    eax, esp
+ l7 w  x/ l6 q) e: F0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
7 u1 J5 c+ `# T  X$ ^9 ^0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
1 A6 B3 K3 r! y7 v) f0 O0132D7FB  .  53            push    ebx * }4 s, J/ L6 v* m( P
0132D7FC  .  56            push    esi
) f. }% Z6 o9 v3 j0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
; [- C* z- M1 {0 z# ^9 ~0132D804  .  57            push    edi - @5 x' h( |) `0 J
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
$ G7 }+ k+ B/ C" d0132D807  .  8BF9          mov    edi, ecx                        ; |
" X3 d# Y6 V0 z& m0 H4 ?0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
2 x5 A) l8 [  Z- y+ L0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
4 e- m' E7 W! N8 m+ f8 M0132D814  .  6A 00        push    0                                ; |c = 00 7 v7 W* ^5 }6 }
0132D816  .  52            push    edx                              ; |s 7 U9 b* J5 s0 Y9 \$ @
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
) _6 {6 D. t/ k0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | ) t2 @, E# T: S( G. q6 c
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
; A( v* ~7 u4 N6 G0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
. Q1 l" \# K$ r, V& z0132D82C  .  83C4 0C      add    esp, 0C * O, h( t& n# W/ G
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
0 B7 B( |$ m' ]8 Z# Y0 v0132D837  .  74 12        je      short 0132D84B
9 G6 n- K) @3 S8 \$ ^0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
2 k8 B7 O/ {5 W& u5 m0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
& X  t  b, c$ o1 P4 B7 M% x0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 2 |! y. D& U. h- e. U5 G
0132D849  .  EB 32        jmp    short 0132D87D
! w" l6 a1 ^- L- L5 O- l% w* S; _0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
; B1 |- o7 i$ _  [. Q0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] * h) n* x" A; X2 Q$ m5 C' o  V2 k  Q: _
0132D855  .  33C0          xor    eax, eax
5 N" e: B( z* ]" p0132D857  .  EB 07        jmp    short 0132D860
' b% {: i3 ~& J) l% g2 E0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] ! P, X* Y" }0 e- H- ]% n4 `& f
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] 1 C5 s- i5 W5 }7 E: y* A  Z
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
( c$ n/ ~8 R8 l9 j! V; H6 u5 q5 p0132D86B  .  83C0 01      add    eax, 1 ; N8 U$ }+ n5 |: M7 e
0132D86E  .  3BC1          cmp    eax, ecx ' Y' n. i# f+ z5 z; N
0132D870  .^ 7C EE        jl      short 0132D860 9 t3 W5 K% [3 W8 N2 R8 m  y' B
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 5 o5 b% n  U! ?; H
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax # K9 v" d% k& p3 f( K
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
/ n% V2 I4 c2 R( t0132D880  .  85C0          test    eax, eax
4 Q- d* o% G4 h$ }& b0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
! L. h* A5 G3 y1 [2 g. A, ]0132D885  .  75 05        jnz    short 0132D88C
% o+ ~0 _% k- I$ a3 M2 k0132D887  .  B8 16263901  mov    eax, 01392616
7 S2 {! f- y4 {  z) E, q* n0132D88C  >  6A 00        push    0 . }  L6 B1 z4 V) t( [
0132D88E  .  6A 00        push    0 ; p. G+ R1 F! H* q$ F- V
0132D890  .  50            push    eax
( @) B0 }( v2 T  T+ _7 ]0132D891  .  6A 1F        push    1F 9 d6 ]: @6 B1 B" w
0132D893  .  8BCE          mov    ecx, esi " U6 X4 i" I) V
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> / [# i- R( g) t2 U
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
* f( F% _" C7 a- k3 |5 I9 E0132D8A1  .  6A 00        push    0 . G+ j' w- r( t6 U4 T  Z, `; g
0132D8A3  .  6A 20        push    20
! p. ]# C& d% d4 T" l  U$ I+ c0132D8A5  .  51            push    ecx 8 f5 a* O1 D$ k) t: k& {. X
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
1 Q" j8 x# z& |' \' Y, m1 B0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
. [; b4 }5 }. W6 g0132D8B0  .  8B10          mov    edx, dword ptr [eax] + R; H0 Z9 k2 w
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
. ?7 b; V/ r0 {/ P5 K4 z5 Q0132D8B5  .  51            push    ecx 7 [* o3 E$ [' P9 u$ U. B
0132D8B6  .  8BC8          mov    ecx, eax ' G2 @) Y( g1 @$ v+ D% n
0132D8B8  .  FFD2          call    edx 3 {6 e" X  u4 V2 c* [- j- n
0132D8BA  .  85C0          test    eax, eax ( Y1 _6 X$ J1 A3 F5 m  ]
0132D8BC  .  75 07        jnz    short 0132D8C5 ! E% {: U4 ]& B7 J  A" m! X( x, Y- a
0132D8BE  .  32C0          xor    al, al
1 ~& \' L, I0 u, x0 \' T0132D8C0  .  E9 B4030000  jmp    0132DC79 ! r& G, \' b- `* Y
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] % _8 U8 N) e* U4 Z1 A! c% @: x$ d
0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
3 ~  D8 o, A+ O! N. P% ]# ?) O0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] 4 u: o4 w3 E% R+ R' j& i5 i/ t, U& n
0132D8D0  .  55            push    ebp
( \/ U; S5 [+ }7 B9 @: R6 K8 _0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
, ~* b" x6 r" d- \0 l, ^8 R$ ?0132D8D5  .  52            push    edx
' A5 ?. o! G' y3 Y1 q4 j0132D8D6  .  FFD0          call    eax
& t4 D0 f: j+ D2 i0132D8D8  .  6A 00        push    0                                ; /hDC = NULL 6 U$ K, L# s' D
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
, r' |: `1 `% L3 j/ f) ~0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
4 r9 K  a2 Q0 R0132D8E4  .  51            push    ecx
) H7 p" j, R* S: W' @$ v" L- u' m0132D8E5  .  8BE8          mov    ebp, eax : r- K; n5 |: s6 N# j
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
% @, ^# f* O3 L0 y, ?0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
5 `! J( [9 w% q0132D8F3  .  83C4 04      add    esp, 4 " l& u& q* b6 H8 x
0132D8F6  .  50            push    eax                              ; /hObject
& ~! p% g6 ~( ?  N0132D8F7  .  55            push    ebp                              ; |hDC
  u. ?- X0 Y0 M+ P. b9 l; P3 L: K9 K$ S0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | - F, p- j+ s/ Q9 V3 k
0132D8FC  .  FFD6          call    esi                              ; \SelectObject 5 ]$ I) F- H: ]2 p: g
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] % h( {, P/ K# O) e5 ]: i
0132D902  .  52            push    edx . \- E# k4 X9 h
0132D903  .  8BCB          mov    ecx, ebx
+ N* u. [' {) c- b& u8 y0132D905  .  894424 40    mov    dword ptr [esp+40], eax * `0 G' s' b1 x& i: \$ B
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=   B, s9 t+ n( X& A7 X' n; r9 c
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] - s- }2 |4 n- U/ p8 L* z! N
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
6 C" \. ?( N& x! P0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY 7 U7 K" S) ~9 E, l
0132D91A  .  55            push    ebp                              ; ||hDC
, X# ^) P6 ?4 g, K; d0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || 0 f8 L/ l, U5 S; G2 _
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 8 ~2 ]/ ]! J- B/ q2 I: @' ~
0132D924  .  50            push    eax                              ; |Multiplier
* `4 _# Y& k2 ^( L: u0 V0132D925  .  53            push    ebx                              ; |Multiplicand , K9 C! y/ Q8 I* K0 ~; ]7 `
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
+ j4 [/ v" l  v6 Q0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
* i8 P& W! _( G0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
! o6 s4 {" x& {# U4 Z0132D937  .  51            push    ecx                              ; /FaceName
* _, G+ p. ^. d  C( x0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
$ i7 _( W7 _3 I* {- q9 i8 k0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE / B) O5 Y+ `- b. j9 R% W5 E
0132D941  .  52            push    edx                              ; |Quality
% M" A( {; C3 G( G: n3 N0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
* @9 D; I; ]" o& D; b0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 9 W! ~7 P. K  S% U
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
! W- D5 D7 f# v( W+ }+ {! m% o2 O0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
2 H' j% ]/ @3 D# R7 T3 o% w0132D94A  .  8BD1          mov    edx, ecx                        ; |
! A8 y1 q# r& \2 m+ j! T& U2 d0132D94C  .  D1EA          shr    edx, 1                          ; | " A' v4 b# h0 A) \
0132D94E  .  83E2 01      and    edx, 1                          ; |
! D4 D, o6 E( r& D4 C0 a/ c" \0132D951  .  52            push    edx                              ; |Underline 5 C, q& @6 R/ k$ r
0132D952  .  83E1 01      and    ecx, 1                          ; | 9 c- j! X% a6 |) z3 w9 H3 |+ D* B
0132D955  .  51            push    ecx                              ; |Italic
. ~5 o! Q9 U2 O" W( w& t0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | + s1 P" U0 O2 l! D
0132D95D  .  51            push    ecx                              ; |Weight
5 j1 d. E$ k& a, W1 D4 [0132D95E  .  6A 00        push    0                                ; |Orientation = 0
: @/ b% X  B! g) M2 J: E0132D960  .  6A 00        push    0                                ; |Escapement = 0
; R6 r! @4 u4 G! o4 o0132D962  .  F7D8          neg    eax                              ; |
+ v8 [/ U5 `3 j, w5 h  t6 Z0132D964  .  6A 00        push    0                                ; |Width = 0 0 `$ f2 S. q: F* k
0132D966  .  50            push    eax                              ; |Height
7 \6 z0 r* ]. S' d3 c7 b0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA 9 T! k1 M! _: e7 _( u: ?& h2 {
0132D96D  .  50            push    eax
, a6 @/ e  d7 G7 Q5 E; X' d$ S, M0132D96E  .  55            push    ebp
% ]  I, C4 i1 g2 n0132D96F  .  894424 38    mov    dword ptr [esp+38], eax & p- B. |; f9 L% A( e, B6 i
0132D973  .  FFD6          call    esi 3 M& l; S- k5 q0 ]. @
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
, {! F0 @. {2 \  q. b& Y% ^5 h5 |4 p0132D979  .  52            push    edx                              ; /pSize 1 \& N- b5 J# f
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
2 ^' v2 r% j6 |! o# w' H; l4 N0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
3 C& W) k9 ]) _3 d* m. D# a0132D981  .  55            push    ebp                              ; |hDC
  M8 i( r& Z) `+ w1 A3 c0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | ! ?8 s, N4 k7 l- k: F. T
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA ! [* v" A. F! a$ E/ M; u- E4 n
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] 6 Z" M3 r6 R/ |% v
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
& V) u0 P: Y4 n  d* S7 i4 I0132D993  .  8947 18      mov    dword ptr [edi+18], eax
+ a5 D& K+ a( k( f0 d) c0132D996  .  33C9          xor    ecx, ecx
0 r, N5 G2 S. X, f  l1 z0132D998  .  8BC6          mov    eax, esi
' \4 h2 k6 ]. D0132D99A  .  BA 20000000  mov    edx, 20
) o- Y, m5 J  d. p- n6 T& h0132D99F  .  F7E2          mul    edx 4 e+ P3 V% o; n; k& b
0132D9A1  .  0F90C1        seto    cl ; i- B. ^( a$ i$ h
0132D9A4  .  F7D9          neg    ecx
* W2 ^8 I+ ?5 h# _0 f4 k* G0132D9A6  .  0BC8          or      ecx, eax
7 T# y. G# R4 B/ f0132D9A8  .  51            push    ecx
; ^4 P7 T. A' ~; |! o4 `, O0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> ! }3 \2 s9 b+ ^5 G/ e( U
0132D9AE  .  83C4 04      add    esp, 4
- I) |1 R) H2 {2 A% y- W0132D9B1  .  85C0          test    eax, eax
. Y: q& `9 W, C( T5 k, Q" ~5 I* m1 w5 k0132D9B3  .  74 28        je      short 0132D9DD
1 f  E' a, W6 o" F8 \0132D9B5  .  83C6 FF      add    esi, -1
% R# q8 v5 S  t2 O# P/ N- n0132D9B8  .  78 25        js      short 0132D9DF   W8 L( o  s; ]# n5 u5 t
0132D9BA  .  D9EE          fldz " G5 ~, @8 a$ T9 [) |% v. f; [
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] ( u7 _; C, y! U
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] + k& @, Q6 c, l: K
0132D9C2  .  83C1 20      add    ecx, 20 5 y" U2 W, u3 f$ W5 \
0132D9C5  .  83EE 01      sub    esi, 1   o' u. w; d0 n9 R. ~: f
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
/ X2 H% z( N$ l3 M) n0 X4 h0 W3 n0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
, u- }% e8 D; }( K* S6 T0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
8 R. Z4 @( l" O! s0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] 8 ~6 R3 |7 j. O
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] * G4 |+ z# @1 T
0132D9D7  .^ 79 E6        jns    short 0132D9BF
7 K/ @6 b$ v: {0132D9D9  .  DDD8          fstp    st , L2 @; W2 ?4 y4 Y) B
0132D9DB  .  EB 02        jmp    short 0132D9DF 4 v+ s8 Z1 I+ L/ U, ]% {; r. L
0132D9DD  >  33C0          xor    eax, eax 6 v  r  g1 ^/ [
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
& Y# X  k2 p' Z7 i: V0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
3 E) W. [* S$ X+ Y' l: N0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
) Z- j3 ^  ]. ^3 ~" }% N0132D9F0  .  50            push    eax                              ; /Bottom 1 j/ I  M, T0 f* @) o
0132D9F1  .  51            push    ecx                              ; |Right
( Z( L: T+ r0 j3 \; W0132D9F2  .  6A 00        push    0                                ; |Top = 0 8 h/ O8 S8 K+ g+ R
0132D9F4  .  6A 00        push    0                                ; |Left = 0
( o# r; t) c$ E4 Z" ]+ x0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
2 I: @; d0 A2 q/ v) `0132D9FA  .  52            push    edx                              ; |pRect
2 g7 Q: ]9 n3 p8 C' O; L9 A# R0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
; J% N- H8 T* t- G7 `: ]0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH ) h# i8 Y5 f. N& G
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
) D( J4 v( A8 J; ~0132DA09  .  50            push    eax                              ; /hBrush * U0 m; q1 ]7 H5 k, E/ W$ Q" _& c$ m7 B- Q
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | " R7 d* i3 V: v" c- R$ s6 S
0132DA0E  .  50            push    eax                              ; |pRect % G2 `8 O5 _' ~2 O/ R* I) F
0132DA0F  .  55            push    ebp                              ; |hDC
/ I3 d) r3 f7 I( D* M) T7 ]3 Y0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect ) n, r2 x; i# t
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> 6 f: v7 P/ i+ O0 e' d- D/ N
0132DA18  .  55            push    ebp                              ; |hDC
2 o1 `/ S5 {/ S& l+ a. K2 X- X2 p4 n0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor 7 Z# p: o; A8 r3 b
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> 2 @* W% Z3 B2 T( T
0132DA24  .  55            push    ebp                              ; |hDC ( I# ]7 m  ]7 V3 U& l5 Q6 o; ^( l
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) j- [5 B0 h( ~3 p$ G& I
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 0 _8 e2 o; _( w; ~# @' f
0132DA2D  .  55            push    ebp                              ; |hDC 1 s2 e2 k2 U6 l& \7 Y" @: H* J
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode 3 l" o" P& r5 q
0132DA34  .  33F6          xor    esi, esi : \; V4 {* `9 S
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
8 x- e- ~/ U* ~4 w0 U4 w0132DA39  .  BB 01000000  mov    ebx, 1
. A4 p" h! u) S0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
8 f1 X5 S% ~* C# B- U& y4 Q: u0132DA42  .  897424 14    mov    dword ptr [esp+14], esi 4 @5 m! i2 I- y; Z4 s
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi " t3 S  @2 G2 M2 m4 {! `( @* K
0132DA4A  .  0F8E 20010000 jle    0132DB70
. G$ ]: I) F, Z0 @# M0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] + z. @6 v9 i3 h' @7 c- k
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] 4 n  K% s! G( E1 h( v
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
8 H" K; E: J/ ?. O/ D7 M, R$ _0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
# t. e& O* w# a0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
  j0 R3 h  ~3 _1 l0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] - r* d  ]1 P' b1 L
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] 5 [7 b2 d7 M0 \! \. Z
0132DA72  .  EB 04        jmp    short 0132DA78 9 S- D# I- ^- r+ {; h
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] : b) O( k7 m: G6 x( }
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
: P5 k1 m5 ]- @8 o. A0132DA7B  .  66:8B08      mov    cx, word ptr [eax] 7 f, z3 f7 w* H  x* [, S6 q
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
  b# s) S. V# M$ E) B# X, [) a0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
% e6 u2 a5 D( j& O' \0132DA86  .  0FB700        movzx  eax, word ptr [eax]
4 W, C4 R! d  ?6 }4 o# k0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
2 w& L7 y  P: S' o7 y0132DA8C  .  51            push    ecx                              ; /pABC ) \5 n& L1 C) U0 C
0132DA8D  .  50            push    eax                              ; |LastChar
; s" r+ u- N$ r; D! Y0132DA8E  .  50            push    eax                              ; |FirstChar $ d) S; t; n1 W5 W/ Z% Z
0132DA8F  .  55            push    ebp                              ; |hDC
  a* K+ O! S* [8 [: ]0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
3 ~, z. h( V' E* _3 C! T0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
( y7 k. _, |+ s$ N1 h  J1 s/ N' W0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
  [' \; j1 G3 R2 l( r3 `" f0132DA9E  .  73 10        jnb    short 0132DAB0 ( D0 ^& g- s' X2 L, t
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 + u5 Z  A) h8 f9 ~. V  z4 U% k
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
( e' P' Y/ i2 `  p3 f" D" \0132DAAE  .  EB 0C        jmp    short 0132DABC
9 J0 s& T7 _% {8 `- U) G+ h6 z0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
) l6 `: N1 ^9 G$ [  h0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 7 A) Z- p0 F4 J( f! ]
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
& \5 c' ~2 f) u4 a, H7 W. f0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
5 F! f' O. I: e3 Y7 ^0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
" q7 d# j7 ^6 ~$ |+ H5 b# @* K2 t& C0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] * F+ |2 v# A  {/ I
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
7 O5 `$ ?* D9 A$ n6 X/ ]0132DACE  .  72 14        jb      short 0132DAE4 + ~, E8 h! |' g! L+ v! j4 U
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] . g- j7 G: r, Z' B' b  A
0132DAD3  .  BB 01000000  mov    ebx, 1
/ P, U. L3 h8 Z( v- v1 o3 |. m0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
- r7 A, p5 P, l1 ]  I$ ?0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx & T' B# {+ ^6 h% r2 _
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
  G/ }( K  y0 X, q8 u6 `/ q0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
% w3 a' B! m3 H" @8 s0132DAE8  .  03CB          add    ecx, ebx ! V+ e( m% B) p/ S. {
0132DAEA  .  85C9          test    ecx, ecx ! k3 |" F5 X' f1 H5 ~. y
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
% @8 k! M- P8 B# [& v0132DAF0  .  D9C0          fld    st
) J4 k$ l0 s7 A! B4 r3 Z1 r0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx ' B+ ~( ?1 e% r7 Z% [/ ^
0132DAF6  .  DEFA          fdivp  st(2), st : ]8 B* X1 z5 B1 }
0132DAF8  .  D9C9          fxch    st(1)
% \1 w  Z2 b. I" X0132DAFA  .  D91E          fstp    dword ptr [esi] + y" k9 u  b, Q8 [4 c
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
2 L! O6 j' s' b+ }8 m0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
9 K! m! F2 u+ M. r1 Y& X8 w3 p0132DB04  .  D9C0          fld    st
3 h, N4 I1 m+ L# D' ]/ N0132DB06  .  DEFA          fdivp  st(2), st
- B( m4 Q7 s6 M& Y9 E0132DB08  .  D9C9          fxch    st(1) 2 c; b, t8 s& L+ i# U$ f
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] - V: e. t3 B) d+ P
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] ) h4 t* a1 B+ A% f5 d6 N7 a
0132DB11  .  7D 06        jge    short 0132DB19
% ^3 {* b5 y: P  U( a' M; ]& P, A0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
& _1 x4 r! Z# K# W0132DB19  >  DEF2          fdivrp  st(2), st
& ]* A% l; ]) g4 M; s0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
0 h+ C; e6 u4 s4 {0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
$ G+ W. x* f5 W0132DB21  .  52            push    edx                              ; |String " l8 ]0 T* l% |# P  J( G
0132DB22  .  50            push    eax                              ; |YStart
- I. K5 C7 X5 D  }0132DB23  .  D9C9          fxch    st(1)                            ; |
# K" ~9 R8 F* o0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
% w1 K) Q+ r' U% d. E( Q0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 4 u7 c* C8 T0 h- T! C
0132DB2B  .  03C8          add    ecx, eax                        ; |
0 `2 Z* a) H. M4 Z0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
+ _( Z' m9 d" k* ~- |: u! A% q0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | , a0 v  g& I* e' `
0132DB35  .  8BC3          mov    eax, ebx                        ; | & }4 N" E7 s; C7 G3 l% G
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
) U% P! T5 @" k9 z( W0 N0132DB3A  .  50            push    eax                              ; |XStart
8 p! s% T2 Z- z7 V9 W+ k3 m0132DB3B  .  55            push    ebp                              ; |hDC . Y0 g# {0 a% N$ n1 V5 O( G
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | 6 Y9 ]) J4 B8 S# R! O
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW $ k- i) O5 u6 h$ X) j, n2 S
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] * A7 p$ n4 M# D
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] ; u1 a% r) ]% z# z' _; S- h3 V
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 8 p) i/ y: F2 x
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 ) h' p+ ]8 Q7 u+ `( d* ~
0132DB56  .  83C0 01      add    eax, 1
5 K, `- T) e+ T* y0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
; Y1 a& g. N2 \$ \5 m: D' q9 B: V* Z0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
6 ~1 W4 `) H. m' Y0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx 7 s0 l8 _* W8 a( x. _# M! n
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
7 L/ o0 Q* s- z! s0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
( L. m' _' f8 ^, f& ^0132DB6E  .  33F6          xor    esi, esi " H# t6 o5 p+ g  \4 }' i8 d2 w+ ?6 Q
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] : }: B1 j  U+ B4 c4 d) K% C2 |
0132DB73  .  6A FF        push    -1
& G, @' d% {  `6 q0132DB75  .  83C1 38      add    ecx, 38 ) Q3 F" b! k/ F- K' t; g) [
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
/ @# |! R# ?' I+ V5 c$ @0 r! n0132DB7D  .  8BD8          mov    ebx, eax 2 }8 y& X$ Z/ N8 s$ a
0132DB7F  .  3BDE          cmp    ebx, esi
/ y" I' l2 w# N7 A0132DB81  .  74 74        je      short 0132DBF7 ' V# R& T+ o0 e& c' W  e" e
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
0 x9 I3 j, e0 f' E) j0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
: S! G' ?+ u+ W  W; U6 Y: f0132DB8B  .  52            push    edx                              ; /Buffer
7 g, ?3 ?* I9 B. Z4 I7 [5 K0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 5 u$ `2 l  [6 g* R, \
0132DB8E  .  50            push    eax                              ; |hObject 9 w9 _& e9 L0 ~4 V9 ]
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA 1 q! u. r, p- n2 O
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
6 S4 u$ q( J% Q0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
+ Y, n, Z+ s7 l9 X9 e0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] # a1 `0 N9 w5 u; q' d
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
, `7 t- L: P& Y; F* t1 o4 G0132DBA5  .  85C9          test    ecx, ecx
5 B7 u5 A& X6 C0 a; R! T0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0   f# \1 i2 W/ Z, A( {3 [  A1 _- F% r
0132DBAF  .  7E 46        jle    short 0132DBF7
; l5 A! n$ d( o0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
6 {. ^) {5 r& H6 {! o2 l0132DBB5  >  33C0          xor    eax, eax
( g% m: c, g  n4 C0132DBB7  .  85D2          test    edx, edx 2 t& q( Z, l- b. h" H
0132DBB9  .  7E 26        jle    short 0132DBE1
/ V) M$ \: p1 g- h1 P' W1 ^0132DBBB  .  8BCE          mov    ecx, esi
# a9 K7 w1 x9 D; U* U) ^0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] + |. O( W+ U# S: z; B6 F8 X
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
. m9 ^' M  r; q" n8 Q# \0132DBC3  .  C1E2 18      shl    edx, 18
5 [0 x7 b1 [7 [0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
# F! ?' V' \. z" w0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx 0 c$ p& _0 ^; Z/ i
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
. Q8 b' T4 y: g5 {/ Z3 q0132DBD3  .  83C0 01      add    eax, 1
) X$ B. m, p. O9 m8 c: Y" |4 u0132DBD6  .  83C1 03      add    ecx, 3 8 ?. `9 G: m* |  ^: Z
0132DBD9  .  3BC2          cmp    eax, edx
, ~2 d) q* k( J! O4 ]0132DBDB  .^ 7C E3        jl      short 0132DBC0 ; H' i; o9 s7 o# A1 G3 D
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
/ }" I/ Z1 V2 Z" l3 o0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
9 F+ g$ X1 l0 i; z- P% @. t0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] # _7 ^% a' D0 b% N3 G( j9 V/ d/ W
0132DBE9  .  83C0 01      add    eax, 1
( ]: u3 @3 J) s# j0132DBEC  .  3BC1          cmp    eax, ecx
& G$ |* Z6 B, \9 ]# U: u) O1 k0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
; L3 v- V) Y7 X5 _5 N. O0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
" p! n+ W# `* G- G2 I/ d0132DBF5  .^ 7C BE        jl      short 0132DBB5
, u4 v7 d  C$ x% }0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] ( Q. f6 j- \6 q) C5 I1 s
0132DBFA  .  6A FF        push    -1 ' {  F8 z- k+ R4 U; @$ C% U
0132DBFC  .  83C1 38      add    ecx, 38   H! m  @! s# f$ \
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
3 a6 q5 f+ C% w5 P3 m6 P4 x0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] $ H4 V+ \/ W* F8 l" F: T2 `
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 6 w) }& n' @2 W3 B
0132DC0E  .  50            push    eax                              ; /hObject 2 C& p  I- w5 L+ S1 Z
0132DC0F  .  55            push    ebp                              ; |hDC ( u9 M- x; W) P* G3 ]
0132DC10  .  FFD6          call    esi                              ; \SelectObject
. T# g* {9 D& }" H0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] & ~1 J4 t+ \: @' [
0132DC16  .  51            push    ecx 7 e0 v, q5 o/ g! i6 M9 s( N6 A' f
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
: I2 ]: v( A9 r& Z: K5 ]0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
6 G6 M& |: ~8 k6 Z0132DC21  .  83C4 04      add    esp, 4
8 Z- O- a+ [# z% J0132DC24  .  52            push    edx ! n+ H  I- C4 t( Z2 G# q8 m1 H/ a
0132DC25  .  55            push    ebp   h1 o* ^' h% o) I. e2 _
0132DC26  .  FFD6          call    esi 6 [# z/ Q$ d: y! h# \* Z9 S
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] % v/ E, Z( T2 P
0132DC2C  .  50            push    eax 4 C& ~" Y4 ^0 }* U
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont & L3 C+ M! {& y# s" e4 C2 T9 N
0132DC33  .  83C4 04      add    esp, 4 9 ^% L- v# k% Y0 _+ E
0132DC36  .  55            push    ebp                              ; /hDC $ e5 Z# R0 A, U& X4 v
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
1 t" H. z- A. U* Q. b3 i/ g0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
9 U6 u: V8 t2 M; ^6 S0132DC41  .  6A 00        push    0 ; |0 J$ Y; G7 L3 h
0132DC43  .  51            push    ecx 0 t7 @# G2 ^, E
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] 0 R' a# e; }8 v8 t+ J& o
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
% ~# @* ~# |! k! J2 i1 `/ X0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
6 P% J$ z+ k4 F0132DC4F  .  6A 01        push    1 4 |; \" Z; w9 R( A
0132DC51  .  83C1 38      add    ecx, 38 9 c0 X' u5 D& u" @2 K
0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
" k8 r. {) X# H7 f0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
# r$ M' O5 ^0 W0132DC5C  .  8B11          mov    edx, dword ptr [ecx] " l! u- [2 _8 t2 J$ K& v
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] $ u' }) u& e+ E: S
0132DC61  .  6A 00        push    0 # A  d  D) A& ]" y- V' b$ x9 {
0132DC63  .  FFD0          call    eax 3 A- ~) {7 D, H( s1 Y
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 2 }2 T, x% f' X; o* ]- K
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
2 b% H4 p1 t) L) S, C0132DC6C  .  33C0          xor    eax, eax
- U& O& J( i% W2 Q2 D7 a) y0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] . f" ^$ D, K5 Q' P2 F2 _3 j
0132DC75  .  5D            pop    ebp ; _) O, b# i1 L) T& x
0132DC76  .  0F9CC0        setl    al
( T. B# E, x" A" j0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] : C& O0 U' i* H% e+ d
0132DC80  .  5F            pop    edi
3 z7 z# u( M, @! }( b/ V6 Q. j2 T  w0132DC81  .  5E            pop    esi 2 J* V! w0 n+ l8 D$ y
0132DC82  .  5B            pop    ebx
2 w9 u9 v: k# `& Z' j4 n( u0132DC83  .  33CC          xor    ecx, esp 4 e! \$ F8 A2 P: `9 W& w
0132DC85  .  E8 E2460500  call    0138236C
( |8 h5 |$ c/ ^6 r0132DC8A  .  81C4 98040000 add    esp, 498
* Y6 X' [: _+ V$ [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.6 f- k/ p' M1 U; D& F( X
分析说明也许以后会补上。( l0 f; M9 n5 G7 u, T
% `! s6 b: E( M* x
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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