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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 % a- X9 A+ F! c4 q
& c( q& E5 d; b# i
0132D7E0  $  81EC 98040000 sub    esp, 498
/ K% ^5 G9 C' P" x' f0 o1 L0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
7 ?* m+ i) g' F5 W. {) S+ l- y0132D7EB  .  33C4          xor    eax, esp
" [* r/ {! `/ `9 W: K- x0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax & ^7 N$ x9 P2 |! O8 k
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] " S) L; \9 s/ Z0 F% D
0132D7FB  .  53            push    ebx 5 l' X2 P0 {! ^3 H% d% u
0132D7FC  .  56            push    esi # A0 M8 i+ R7 [. n
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] # h  E/ V2 E' l/ A$ g
0132D804  .  57            push    edi
: d: D# i/ A. G/ f2 a0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
) d7 }0 k+ i( G$ B7 w) Z  m- @0132D807  .  8BF9          mov    edi, ecx                        ; |
9 e0 s; Q* ~& w0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
$ f: N, L; m- E7 V9 g0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
# R4 t" J, l1 y6 E; D, e+ y0132D814  .  6A 00        push    0                                ; |c = 00
' M6 X1 ]4 G3 E0132D816  .  52            push    edx                              ; |s
6 Y8 }# w% ?5 l- I7 n2 @0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | ' w$ g7 c+ k/ L0 S) \2 D$ i
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
% f* e# I' S" x" t0 L0 }0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 0 F' H- j6 u8 @- O" a( M  c
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
3 [7 k  X, p& L, Q0132D82C  .  83C4 0C      add    esp, 0C
; N2 i; p. F- V+ R0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
9 T3 p1 S4 a2 j, `0 g+ F. I0132D837  .  74 12        je      short 0132D84B ' D) c8 k4 z) ^! l' D
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
' T9 W$ e" G9 s. k" }3 I( y0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" & H- C8 p0 q4 l) s1 P! E, L1 \
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax 3 I. @( M: q0 t6 ?7 B6 P
0132D849  .  EB 32        jmp    short 0132D87D
( ?0 J# D$ e1 o; E: V& B: e" T, u' u0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
& `3 {; V' F& Q' h- [! m0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
& b& F4 V2 K" H( U6 B1 ~$ [0132D855  .  33C0          xor    eax, eax 9 D) ?0 H# o2 V5 {3 H3 t
0132D857  .  EB 07        jmp    short 0132D860
4 c& S; n7 U' `9 L0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] " n" V2 J* I( \) a8 G9 r2 ^9 a
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
* n$ Z9 L( L+ z) v  K0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx * H- }" s4 [* w: @$ c" M
0132D86B  .  83C0 01      add    eax, 1
0 \3 O! z5 e) l9 y$ C2 E0132D86E  .  3BC1          cmp    eax, ecx
5 j! s$ T) Q, S% y7 }0132D870  .^ 7C EE        jl      short 0132D860   o9 @# f6 O  v
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] ! `& a: A0 B1 l7 `' u; p* _, @" X
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
2 P2 ?- X- q) A3 `/ f0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
1 Y/ R0 G' f' T2 K  i& R0132D880  .  85C0          test    eax, eax ( N( z% X8 R. l) P
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] ) d' {* p3 _' j$ A$ R
0132D885  .  75 05        jnz    short 0132D88C
: o1 u5 }; q8 q! @0132D887  .  B8 16263901  mov    eax, 01392616 5 y% Z" J7 L) Z5 e, y" K3 m  x
0132D88C  >  6A 00        push    0
8 q3 s! f9 Q4 ]0 O# h$ j% W5 z0132D88E  .  6A 00        push    0 5 y* k8 u3 T0 C% h3 b  \
0132D890  .  50            push    eax   N- @6 ^9 R8 k0 B& e) Y: l
0132D891  .  6A 1F        push    1F 0 _1 r) h+ g3 h" K  o' n
0132D893  .  8BCE          mov    ecx, esi
0 c% H& t: ]) }, M0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 8 V" n) o& }1 x/ w% S# y' F1 b
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
; S3 T# ^: d! \0132D8A1  .  6A 00        push    0
: |3 D9 }- J, K9 x$ H% t0132D8A3  .  6A 20        push    20 + ]7 N) B; \6 B8 r3 r* d
0132D8A5  .  51            push    ecx
7 x/ t6 r1 l8 {7 ?2 R( w4 x# K0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
7 e, `' m( v: B% B0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
" v6 R6 y# m* g0132D8B0  .  8B10          mov    edx, dword ptr [eax] , b/ |2 e; u9 E3 G
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
( p5 }# T  Y$ [+ }% S0132D8B5  .  51            push    ecx
5 z( G/ \- P. d! g; q7 H1 x6 u- [0132D8B6  .  8BC8          mov    ecx, eax
7 g4 k3 N, z" S$ z1 Q! K. ^0132D8B8  .  FFD2          call    edx 4 M  q3 _. D, c- e9 F! E
0132D8BA  .  85C0          test    eax, eax . u" S# Z2 c! ?% r. q7 ^9 X
0132D8BC  .  75 07        jnz    short 0132D8C5
$ l) V5 x7 j6 N; j0132D8BE  .  32C0          xor    al, al
( ^- o3 x: n! M; {" d4 ~0 X/ J9 i0132D8C0  .  E9 B4030000  jmp    0132DC79
3 Y- ^8 U/ v. m5 @6 a  d0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
1 Q6 x9 q4 C( |: w0132D8C8  .  8B01          mov    eax, dword ptr [ecx] * u7 M% T+ }+ @1 ?8 S8 ~+ v; M
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
; a% F' o7 W8 E8 q8 U" j0132D8D0  .  55            push    ebp + ]3 U0 R+ ~9 b4 E; e
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
; L9 b5 v* Q; P9 \1 N0132D8D5  .  52            push    edx 0 {7 H" \- o% Y: H
0132D8D6  .  FFD0          call    eax
3 E; a, T9 p' n( \7 w: l0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
- e' R+ E$ g0 B- i, F  l0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 2 z; h9 c4 c) C% k, J# F
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]   ]1 `# O6 W6 o7 L" R+ d# o
0132D8E4  .  51            push    ecx
) e! Q. I% E  [2 ?0132D8E5  .  8BE8          mov    ebp, eax % d* x1 N7 k# ~# d; X3 D
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap 2 O( I! _& m' T, o& \
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
3 B6 I+ R' ^- t- \& b+ \; S0132D8F3  .  83C4 04      add    esp, 4
' ~0 x4 K2 }( c1 T( U( {( J. E0132D8F6  .  50            push    eax                              ; /hObject * k! D5 m" U9 q7 ?5 D1 ^
0132D8F7  .  55            push    ebp                              ; |hDC # G1 ]- }6 [' J1 ^* s; l. Q
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | $ m# k; U# y  ^9 R
0132D8FC  .  FFD6          call    esi                              ; \SelectObject 1 q& U$ l$ b) ~5 ]4 Q6 q7 T
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] ) C4 v" b1 }2 ^7 v# [) V
0132D902  .  52            push    edx
( ]4 t0 e2 H  U2 \0 W6 ?0132D903  .  8BCB          mov    ecx, ebx 0 Q* A" _; }+ {4 E9 b
0132D905  .  894424 40    mov    dword ptr [esp+40], eax ) @8 N3 E8 [* f9 s; B9 I: l
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= * C; L, `' j) Q% g
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] * L# ]: p* Q/ _: H3 T
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) , G* \( x$ V8 U0 z7 s
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY % t; c& }7 X/ A+ ~1 k8 U
0132D91A  .  55            push    ebp                              ; ||hDC
: e' _: }0 a+ K3 [0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
/ F$ z. B2 b, u" G. m0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
$ O8 y8 x. {2 e1 [' g6 A0132D924  .  50            push    eax                              ; |Multiplier 0 s( H4 E2 i% L6 M
0132D925  .  53            push    ebx                              ; |Multiplicand ! s0 Y- Z" J/ b* E3 e
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
) ?; N+ _/ s+ ]' b0 H3 i4 v' `( _0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] " |  y! ^' G# K/ o5 v) Q6 o
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
  y' y5 q# a7 v! n: d$ v7 A0132D937  .  51            push    ecx                              ; /FaceName
, c$ F# J' Z/ S* e1 X0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
) J* Q  Q- n( l, u4 b; u# M0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
' ]' o7 b7 Y  q' m, g0132D941  .  52            push    edx                              ; |Quality
+ x' \  V% V  k! z, k5 w0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS
' I0 A3 o3 @1 P& R6 _0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 8 K6 w2 J1 u" i0 s0 V5 N0 r! S
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET $ O; ?0 T: F3 Z% u( o6 i
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
# Y2 d; [& c9 q* l9 r+ _0132D94A  .  8BD1          mov    edx, ecx                        ; |
3 e0 I5 [: X; i0 [$ S0132D94C  .  D1EA          shr    edx, 1                          ; |
- J( i* G- B: b4 d4 Y, z0132D94E  .  83E2 01      and    edx, 1                          ; |
* h8 x  a$ `& E% W0 p8 E5 I; W9 m/ U0132D951  .  52            push    edx                              ; |Underline + ]1 C1 A7 D9 h9 c& P0 H, p
0132D952  .  83E1 01      and    ecx, 1                          ; |
/ ~# U+ d/ A7 d0132D955  .  51            push    ecx                              ; |Italic " y' }0 b. J7 x9 N+ B! z/ J4 k$ _
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
- B- ~0 _5 R1 V5 n# @0132D95D  .  51            push    ecx                              ; |Weight - h* {$ G, {; V
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
$ \. Q$ y9 q8 i& M2 y1 J2 _' i: o' i0132D960  .  6A 00        push    0                                ; |Escapement = 0
& U6 _9 w/ P) Y6 X/ g4 G7 T0132D962  .  F7D8          neg    eax                              ; |
/ v3 l* ]+ a+ Z3 f, G3 L/ b0132D964  .  6A 00        push    0                                ; |Width = 0
8 f) R. t1 E1 K- y8 g* {- R1 t. \0132D966  .  50            push    eax                              ; |Height 1 O: n1 I- l' U
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA ' p$ R  L  ~" c/ k9 i
0132D96D  .  50            push    eax 0 X. Y, v* }/ I/ X) m. N  G& @
0132D96E  .  55            push    ebp 2 X  a7 T6 H1 [2 q9 n1 R- Q
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
2 e0 U, u0 I7 t/ ?7 T! k0132D973  .  FFD6          call    esi
9 o' t' [6 R+ u0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] $ f+ P  X8 J( l* z, r9 f! s
0132D979  .  52            push    edx                              ; /pSize " r( b/ Q( M% t* g
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
, D' D( I! I: k8 H0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
3 X  ^" v6 n3 x4 e- _1 Y0132D981  .  55            push    ebp                              ; |hDC
1 \4 ~) c" E5 q, F- q! s3 o" n5 N0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
( E# R$ C0 l, O) z- q0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
! }) l( X3 G# k* k1 V0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
- @; R$ B) k' L$ V, f- f; N0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
1 C+ z7 b6 B2 P6 C* M0132D993  .  8947 18      mov    dword ptr [edi+18], eax
( B, t9 Q% ^  k2 O, l% Y% _' X; L0132D996  .  33C9          xor    ecx, ecx
, ?% A0 K3 c$ ?0132D998  .  8BC6          mov    eax, esi
& D( p3 a( Q! I9 ~1 I/ Y" ?. ]0132D99A  .  BA 20000000  mov    edx, 20 7 ~; B3 f. O- R  o  I
0132D99F  .  F7E2          mul    edx
' ?' Z3 f, C& p- U2 O0132D9A1  .  0F90C1        seto    cl
0 i4 H2 G$ a! K7 R) s- l* }- A3 M0132D9A4  .  F7D9          neg    ecx 8 h8 a0 U! j. T2 _- e) y# S* V" t$ m
0132D9A6  .  0BC8          or      ecx, eax / U6 u  c# a1 c: h- Z3 H7 T4 n
0132D9A8  .  51            push    ecx
2 X8 H6 Y) D: U: r$ I0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
* g9 M/ M% c& l0132D9AE  .  83C4 04      add    esp, 4 9 Q% N7 I3 C# A
0132D9B1  .  85C0          test    eax, eax 7 x; x1 \9 o6 b& D+ P
0132D9B3  .  74 28        je      short 0132D9DD 1 e4 p) |) R' |- k) P1 E
0132D9B5  .  83C6 FF      add    esi, -1
$ h' K7 _$ Y$ c% F3 @0132D9B8  .  78 25        js      short 0132D9DF
6 Q- ?( E' J- W$ S0 H/ J; l  N0132D9BA  .  D9EE          fldz
+ ?; r) O# O( B9 m3 U  b0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
% D9 ~: h0 A8 X( C0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
- E" T( z/ f6 w2 E4 ?5 K( x0132D9C2  .  83C1 20      add    ecx, 20
2 v0 i4 i+ B8 w: `0132D9C5  .  83EE 01      sub    esi, 1
8 Y8 d0 a3 i$ P: W0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
& A2 P7 P/ T+ A% N$ i: b+ Y- E0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] 3 J' R1 M; B& R3 ?* @
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 2 a6 H) m- B# R' |$ \" T; f/ p
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
. I% `( n2 p. i0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] * A/ z; k& V: u6 s2 @: w6 U6 Y
0132D9D7  .^ 79 E6        jns    short 0132D9BF & C9 v' j; s2 F
0132D9D9  .  DDD8          fstp    st 5 w2 z6 l6 k5 y6 q. j
0132D9DB  .  EB 02        jmp    short 0132D9DF
* V1 i) L. q6 _6 l. y0132D9DD  >  33C0          xor    eax, eax , U3 }7 p& D) I  b9 a/ ^" _
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
9 p# n/ x, ]3 P1 B0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 0 z" A+ }: z0 f3 w) ^
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] * @  h: a) y; G0 h8 j
0132D9F0  .  50            push    eax                              ; /Bottom
; Y2 ]9 \# `1 p9 v0 E0 ^/ }0132D9F1  .  51            push    ecx                              ; |Right 4 Z7 S8 s# a8 @+ p, Y7 ~
0132D9F2  .  6A 00        push    0                                ; |Top = 0
6 s% A/ E8 V4 x8 o' |0132D9F4  .  6A 00        push    0                                ; |Left = 0
7 w' i  {* i7 H+ f- {0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | ! }4 \5 N' n6 a+ V; h+ o
0132D9FA  .  52            push    edx                              ; |pRect
  A  T1 C! W6 d7 m) _" P) w  V0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect - S* C9 M  r1 s1 X; O: S* ^
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
; U1 C; Y# V; D9 w$ W; o4 T  u0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ) [8 |9 {7 \1 R( }2 ]2 c
0132DA09  .  50            push    eax                              ; /hBrush
" k" l) c8 j" z, {5 w0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | 2 J% r6 }. n" o6 C6 j
0132DA0E  .  50            push    eax                              ; |pRect
# r) n/ _# M3 I3 E0132DA0F  .  55            push    ebp                              ; |hDC
8 ~9 d: }& w5 G$ ^0 P0 R0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect # @6 Z, r6 Y! R# s+ ?( Q
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
" `4 I: l8 m) n2 {8 k6 A; Q+ ]0132DA18  .  55            push    ebp                              ; |hDC : F- q8 ^9 W; _7 F2 J6 @, `  ?
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor 1 R! r, T0 w3 [, x- A
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> + Y* _6 w, m" ~7 q  a  o) O
0132DA24  .  55            push    ebp                              ; |hDC ( g) u# k$ d# L' w4 T1 ?$ ?
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor / t. U( W8 m% ~2 \3 B0 l8 e
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
8 J$ h' s5 U1 ^4 E& z% T2 Q6 ?! d0132DA2D  .  55            push    ebp                              ; |hDC ' @7 H  Q5 |! [& Y* O. a
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
+ f4 V) [7 \9 t; `1 s4 b0132DA34  .  33F6          xor    esi, esi
8 o# x$ `% \5 D7 r0 [" U0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi : d: X$ [. N7 h% X; L# ~7 {
0132DA39  .  BB 01000000  mov    ebx, 1
: Q7 b3 T& @6 M; c2 W% Z0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx ; M0 N2 E2 G; s4 Y
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
8 U6 x2 X: L5 E% i3 ?9 i8 z0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
9 F: O* q! G. D9 _# ?0132DA4A  .  0F8E 20010000 jle    0132DB70 . {+ @9 M" J9 n6 C9 H7 _$ v$ s
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 4 q1 k6 u5 L" ^( J* f
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] * d) A; B! m( j" ?! F
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
' _/ K) \  K2 Y! p. P, C0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
& S! e- A8 k. a5 B, }0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] / E) `; |9 x# o& ~2 b
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
1 [' t; b9 f  U, C0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] 2 j# n4 v( v& u* f9 V, [, G
0132DA72  .  EB 04        jmp    short 0132DA78
' l- M6 H; L2 z: v( ^$ v& l7 o: r7 N0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
" J$ q* o# O; N7 X9 B0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
  u# h9 {$ Z$ o0132DA7B  .  66:8B08      mov    cx, word ptr [eax] 2 K) W, t' \; I4 w$ C/ K
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
$ I- t% t# R( b0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
" G/ s& `& w9 r  S7 `0132DA86  .  0FB700        movzx  eax, word ptr [eax]
* j+ V, Z6 ~( M2 q# d' l0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
: p: u" b* k4 n5 H3 q9 l" K0132DA8C  .  51            push    ecx                              ; /pABC 1 l1 ?& D4 o* v. }. R
0132DA8D  .  50            push    eax                              ; |LastChar
# N( u1 n! T# I( D, ^0132DA8E  .  50            push    eax                              ; |FirstChar
" Q' g1 W0 q5 Y0132DA8F  .  55            push    ebp                              ; |hDC
; U' e" }+ \1 l& |0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW ( p% d7 Y, ?$ }5 U
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] : Q) S* c" Q* R
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 0 h2 K$ }; ~" u( H
0132DA9E  .  73 10        jnb    short 0132DAB0
& v4 b8 o- Y; d0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
/ {# ^0 b5 l, J0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
! u3 R( m* T4 R# e7 g) F0132DAAE  .  EB 0C        jmp    short 0132DABC
5 x6 P; U8 g. S/ ^0 t6 f0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 , z9 E  w6 s1 V  i  n4 r
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 3 x( b. T% X5 U
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
: G" W9 ~" U3 ~8 ]7 [0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] 3 {* ?$ _/ P7 i+ o- F3 U  f
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
3 s0 g3 Y" ~; J0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] 2 P1 K  |7 b7 I
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
4 E  I7 @6 `! Q0132DACE  .  72 14        jb      short 0132DAE4
+ n, @+ e- Q3 b5 C' t8 D0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
: o# E% }! N& B0132DAD3  .  BB 01000000  mov    ebx, 1
* N- p% K3 y! k7 J$ \$ E% f0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
$ V9 u/ {( l7 p+ O- Q4 E3 e0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx 7 R& l1 V2 I" G
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax
" v0 X0 ]8 N. }% I* d0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] 4 T% B% E  m* L* I, x
0132DAE8  .  03CB          add    ecx, ebx # `- g% ^. O) ?; S0 g  T
0132DAEA  .  85C9          test    ecx, ecx & C. [7 S: q; Y- F
0132DAEC  .  D94424 38    fld    dword ptr [esp+38] ' T/ T2 j5 l7 t
0132DAF0  .  D9C0          fld    st $ S4 ?, k# M) I+ l, B6 G4 u
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx " Y8 x) n6 k: e) j4 U9 `
0132DAF6  .  DEFA          fdivp  st(2), st
2 x( O. r0 f' i% E! ~0132DAF8  .  D9C9          fxch    st(1) 0 s. ^3 p2 ]4 h. _1 X
0132DAFA  .  D91E          fstp    dword ptr [esi] 9 e  i# K" Y- s5 U9 u: B9 o2 f% H
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
. q. T( u+ w! |5 R# f1 M0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
: D4 |6 N( v) y, g0132DB04  .  D9C0          fld    st
# U, y  d# Z3 Q( H0132DB06  .  DEFA          fdivp  st(2), st   [: |4 b; j+ @
0132DB08  .  D9C9          fxch    st(1)
2 e4 {9 K& P6 F0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] $ A0 l5 y/ h, @  k' v
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] # y6 R+ w  A1 A2 k
0132DB11  .  7D 06        jge    short 0132DB19 % a- h$ `4 k4 K/ [  }2 f
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 3 G% G% W$ T& z9 P
0132DB19  >  DEF2          fdivrp  st(2), st ' ?8 R( v0 b" _& y+ _; p2 [/ t
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
8 T$ I0 D5 e1 M6 a: C* v0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
3 e+ x( X+ W5 Z  e) P: g) v5 J; D0132DB21  .  52            push    edx                              ; |String : p2 X3 j! @1 ?- l5 N$ h
0132DB22  .  50            push    eax                              ; |YStart / A. H! v( y0 c2 D5 K5 e, O+ |  W
0132DB23  .  D9C9          fxch    st(1)                            ; | # d* b1 D3 y4 B8 U5 h0 C
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | 8 u% U* ]* R1 W5 x8 f
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | . L4 d* F; P1 _% r! M
0132DB2B  .  03C8          add    ecx, eax                        ; | ) y. a4 J6 r( T! f" s9 u, N# t) Q
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | # R" B' T" p8 ?3 g! v8 |! Q6 ?. z
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
2 b0 A* G4 W! Z& J8 K0132DB35  .  8BC3          mov    eax, ebx                        ; | 8 x5 P0 P! j+ B, w
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | ( L6 E) j& `! D6 j- E  G4 X% C& c
0132DB3A  .  50            push    eax                              ; |XStart
+ E& e/ \8 r' K, U0132DB3B  .  55            push    ebp                              ; |hDC / h0 r: q! W0 w  I8 k# ]! }
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | , ^6 c4 f- S; |( ^
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
  ~# e! Y6 m! S, s! v6 Q! s  P0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
1 P/ X9 E( b3 W; t3 Y( L0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
! P+ y9 {1 W% T0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
9 V* |9 Y* `( ?6 J4 D  }0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
$ L/ u$ ]) V1 {9 N5 L0132DB56  .  83C0 01      add    eax, 1
% m. Z! [4 l; p+ g0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
1 {; a6 s, u5 ^0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
, F, k9 k' f' x/ g) u0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx ) ]$ H( u" \0 i
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax 1 d" _  x1 x1 [* h
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
$ c( ]/ k7 ^+ h/ i0132DB6E  .  33F6          xor    esi, esi & O( z$ t3 B. F$ x
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
( @, Z( ~& a9 \) v. H! `  Y0 D0132DB73  .  6A FF        push    -1 , e- i& L, @! A, G; k5 [3 T: A
0132DB75  .  83C1 38      add    ecx, 38
8 I- C, s4 m8 j$ n3 b5 [0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf>
$ d- ?2 L8 D+ c8 s3 s0132DB7D  .  8BD8          mov    ebx, eax " L, Q3 d: M; ]- B  n
0132DB7F  .  3BDE          cmp    ebx, esi , ?" P  K' S: i) y2 L4 l4 i
0132DB81  .  74 74        je      short 0132DBF7
% e0 l8 d; ?# p7 B0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]   H$ O) ], ^7 r; I4 i
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
/ t( b/ ?. W/ |; o) n% a. e- d0132DB8B  .  52            push    edx                              ; /Buffer 4 F3 ?( h1 k" J9 Z( V
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) ) D. l) J& G9 f( W, b
0132DB8E  .  50            push    eax                              ; |hObject ; ]/ V* r5 \$ s/ U; k
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA 4 B+ h. |7 y1 h! S
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 8 k* C) r1 j  @
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
9 b* N" }: x5 g7 u1 `; \% B9 i0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] 1 R0 t% E3 D" Y) j5 n( y( T* M" g
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
8 S$ y  Q9 f4 z8 z, b0132DBA5  .  85C9          test    ecx, ecx 0 r; @1 {' }0 `' o# v
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 4 g3 p; j! Z& F, M% Z& X' l& P
0132DBAF  .  7E 46        jle    short 0132DBF7
& s: _6 R9 \& S( n* f0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] ( d/ \. b( G& o! d
0132DBB5  >  33C0          xor    eax, eax
: S$ N+ q$ Q- d: b% Z9 b3 _0132DBB7  .  85D2          test    edx, edx
9 p* ^: Z8 a! ]5 X+ E0132DBB9  .  7E 26        jle    short 0132DBE1
) _+ E: T( m! f0132DBBB  .  8BCE          mov    ecx, esi
- m2 ]  u, a# k" N$ H0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] 0 o3 L2 l* o$ i0 {0 B  q" P# w" t' G$ f3 r
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
9 c& Q& `9 e$ T3 B! |0132DBC3  .  C1E2 18      shl    edx, 18
% S) p  J6 c) ~4 {- J0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF " \  h' P0 w: m
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx ! y; `( `/ B! w0 h! [' Y0 `
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 3 x) r; Z2 r: Z# R4 a7 p
0132DBD3  .  83C0 01      add    eax, 1 ' C( p6 b' S# \+ o$ q
0132DBD6  .  83C1 03      add    ecx, 3 ' s4 k; y; a) S0 i
0132DBD9  .  3BC2          cmp    eax, edx 6 s4 q9 Z; |& c$ ^/ [
0132DBDB  .^ 7C E3        jl      short 0132DBC0
+ T  |6 U6 Q9 G. x! K! y) p, p0 x0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 0 U5 C9 `' g% k% J5 ]
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] . v; ~, A4 I# s$ c: F9 e/ ^
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] , R; l; S# V0 j; T* w
0132DBE9  .  83C0 01      add    eax, 1
3 c. z$ r0 r, m1 Z, Z0132DBEC  .  3BC1          cmp    eax, ecx & L- X+ k- e) L7 K: I( F- T
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
0 o$ Z; i; c) k0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
" s7 ^+ e% X" R5 x' j0132DBF5  .^ 7C BE        jl      short 0132DBB5 / b, b, y' v6 j  w) ~2 m
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
' q9 p( i7 Z4 I- z+ e1 M$ I0132DBFA  .  6A FF        push    -1
6 L$ M% ?. O8 \% J0132DBFC  .  83C1 38      add    ecx, 38
! d4 Q' I5 v  P0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> 6 ]3 T  Q9 M8 ?4 s9 I
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] 0 @4 ^7 }8 X( ~, {, L2 w' l
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 4 }9 l8 R" b" y+ p. o/ V
0132DC0E  .  50            push    eax                              ; /hObject & v/ v* J3 E! i6 ^) N' f
0132DC0F  .  55            push    ebp                              ; |hDC 3 P; Q$ V; l+ O  g: l* e; X7 a" }
0132DC10  .  FFD6          call    esi                              ; \SelectObject
  Z9 e3 Z" v8 z5 |0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] & J9 w2 S; C! M. P$ Y  j7 c
0132DC16  .  51            push    ecx ! N6 l0 O9 P; V: m. N' ?
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont ( a4 i  R* Z: }2 A. R8 F( y- W
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 2 g. s5 [+ ^+ S) N( y' R
0132DC21  .  83C4 04      add    esp, 4 + {7 v3 o# v2 n& c- Q9 g% Z
0132DC24  .  52            push    edx 0 N: Y' u: m0 U; Q/ e0 N! X
0132DC25  .  55            push    ebp
3 D5 l  J% h# l8 j: _- t0132DC26  .  FFD6          call    esi   ]# K% j  M$ ?% K
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] * U& h3 j, T; `. M8 {8 m) z) g
0132DC2C  .  50            push    eax : Y6 v$ R" [  n' M5 C5 T
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
! V' v% V: j0 x- D3 |0132DC33  .  83C4 04      add    esp, 4
5 P" U0 V  I/ s* `5 S4 A+ \0132DC36  .  55            push    ebp                              ; /hDC 1 e* X* c# }: ^: c; g% q
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC : r7 v; _% o/ ]5 \' r
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] / \) a- J* q% @# }# t! ~0 z
0132DC41  .  6A 00        push    0 ) j6 ~1 e% s8 M4 J" ~
0132DC43  .  51            push    ecx 4 x; x8 S. T% {; C, I
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] 6 s$ D/ Q- R8 f9 g/ G
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> ( I  ^/ A+ a, k1 l
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
; o* Q: _8 `- H6 \6 A8 o  }0132DC4F  .  6A 01        push    1
6 Y; X; `; O8 e( ?8 W) F0132DC51  .  83C1 38      add    ecx, 38
7 c! U2 \" L" ~6 g  L( L- t0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> 5 {. m9 Y& `6 t. K
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
6 g, K0 Y0 F5 H- H0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
9 m$ s, c6 D, I* h' u, S2 I! c0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
0 o) s* V* d+ S$ g" _5 P0132DC61  .  6A 00        push    0
7 \) v# w! r4 N) q1 l" {$ j0132DC63  .  FFD0          call    eax % c  B. j7 |: Y$ V6 ^
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
) A& J+ w2 |9 R4 i/ h0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
8 X8 f, a& [- f/ v0132DC6C  .  33C0          xor    eax, eax 2 b: V/ q) E2 W& c. u0 S
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 8 R/ u( p2 J+ S: r2 I  S
0132DC75  .  5D            pop    ebp
$ ^1 s& g4 p6 S) S# S0132DC76  .  0F9CC0        setl    al
! e' s; ]& z( J. a- R' D7 w0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
1 j2 j9 ~* n+ B) Y! z0132DC80  .  5F            pop    edi
$ [2 C8 E4 `  ]" N& ?0132DC81  .  5E            pop    esi
* d/ P- u7 `7 ?* Q0132DC82  .  5B            pop    ebx
4 d* R* Q5 X" B% x0132DC83  .  33CC          xor    ecx, esp ' m3 v- x* B: f1 F9 e
0132DC85  .  E8 E2460500  call    0138236C ( z" V4 H% C6 D' @
0132DC8A  .  81C4 98040000 add    esp, 498 0 C9 ^2 Q( U/ b) T" f' y
0132DC90  .  C2 2800      retn    28
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

地板
 楼主| 发表于 2010-1-10 16:37 | 只看该作者
回楼上,这个调试软件叫ollydbg,即OD,我用的是其修改版olly ice.$ p5 h1 P4 M/ L6 D% h# n+ e
分析说明也许以后会补上。* L; n) \( Y$ X. Z2 {: L' f' b
9 O$ m0 q& ~  V1 d" i) |! k+ D" |. n7 \
加油!
回复 支持 反对

使用道具 举报

板凳
发表于 2010-1-10 13:24 | 只看该作者
再请教 这个调试软件是什么,那里有下载。。
回复 支持 反对

使用道具 举报

沙发
发表于 2010-1-10 13:23 | 只看该作者
不懂,希望能把分析发出来给新人学习  谢谢 [s:45]
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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