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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 ( t8 b# P) E0 I. p7 R# [

" K6 d! J. u/ \9 P/ @0132D7E0  $  81EC 98040000 sub    esp, 498
$ R4 n% O- h1 A* F& t) Z( f# q0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] . J- U3 U* C" r
0132D7EB  .  33C4          xor    eax, esp
( g) s& x* D% ~7 w" A: q0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax 9 D( k9 n. u0 X* u+ i1 r4 Z
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
$ L( a8 k) |- Z0 T0132D7FB  .  53            push    ebx - a- e+ I  C" i( Y
0132D7FC  .  56            push    esi 9 G8 c! y9 r' D1 o6 t/ z0 W& ~) I
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] 9 o" d( Y! t# K" Q' T" S6 _
0132D804  .  57            push    edi
/ K& M& R+ S8 O. [0132D805  .  6A 30        push    30                              ; /n = 30 (48.) ( H: R& M! ^! e5 z
0132D807  .  8BF9          mov    edi, ecx                        ; | 5 N" H. `' Y2 Z3 _
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | 6 k: Z- S  n& s6 Y7 d* X
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | ' n1 N) F4 w2 W. J
0132D814  .  6A 00        push    0                                ; |c = 00 " F( n- c- ]: ^  C' c
0132D816  .  52            push    edx                              ; |s
! r3 m1 \$ Y0 k5 @/ S1 |! w0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | 5 C9 X5 ~2 M2 ^* X, q; @& G
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | & d3 D0 d1 m! r! q7 d9 I
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
: O) `0 C2 ]3 J8 J5 y0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset - E" V+ ~: G* N; Z2 R2 [
0132D82C  .  83C4 0C      add    esp, 0C
% S) F! \$ S: \5 r1 V1 R0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 $ k% s' a. |* y9 y3 V& `! Y
0132D837  .  74 12        je      short 0132D84B
( p/ ]7 S& l, r( V0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] ! {+ V* _6 t2 d* H4 O
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"   n3 y( R6 x/ c  u# k  W9 [1 g7 F
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
7 W8 i( @& z0 t. [# F  D, G0132D849  .  EB 32        jmp    short 0132D87D
( f: J9 S7 |& i6 v9 P& M: U% R  X7 F0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 4 T+ [( m! C4 d, K! z
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] ( V4 ~9 B8 O$ O5 `2 a  ^' @
0132D855  .  33C0          xor    eax, eax . {) J2 P/ g. y+ [
0132D857  .  EB 07        jmp    short 0132D860
& l6 n0 e. t+ u7 @0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
3 q  M7 `" w0 ^0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] $ P+ I. ~  E& V# N8 Z2 v
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
. W/ b3 n- h& S$ l% |! Q$ a0132D86B  .  83C0 01      add    eax, 1 2 Z- A: Z( u4 `3 Y- s8 t& y6 X
0132D86E  .  3BC1          cmp    eax, ecx 8 N2 K0 b: X+ i) q
0132D870  .^ 7C EE        jl      short 0132D860
: V' N; w# {& F- [" w7 `0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 1 Q. {8 E8 ~# m
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
4 {4 Q) @  p  Q! _" T: @8 ~# i0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
7 F/ {1 j1 K5 M- q! N8 c0132D880  .  85C0          test    eax, eax
- _8 E( l  |6 E, `$ y; i" h0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
- V2 E0 e3 V$ J. p0132D885  .  75 05        jnz    short 0132D88C . w! N/ Y# T" i/ t) }, g
0132D887  .  B8 16263901  mov    eax, 01392616
( E0 B* x: {& j1 e, |  u0132D88C  >  6A 00        push    0
# S$ T  c6 @* d- T) E% [0132D88E  .  6A 00        push    0 3 c9 C$ M5 t) F1 @
0132D890  .  50            push    eax ! U" V! @  E! \, l: d
0132D891  .  6A 1F        push    1F
7 |8 x$ K& {: U7 h0132D893  .  8BCE          mov    ecx, esi
3 N! |! Q/ i1 M4 A& A0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 3 D( B( t9 r7 X9 \. D
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
6 P+ C5 g& k- @, M5 g! X7 f0132D8A1  .  6A 00        push    0 - E% a' Z& i  W, [( t" Q! X
0132D8A3  .  6A 20        push    20
. H# l' u+ w, S4 b8 }9 C& ]* y! B8 r0132D8A5  .  51            push    ecx ' M$ u" Z4 h2 u" Z' ?
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] 1 k7 F! v/ x/ F9 H! S" C' d
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax % N4 H$ p( X" ~9 @# ^5 t
0132D8B0  .  8B10          mov    edx, dword ptr [eax] 9 O/ B' C; D- ~' B  b6 v, v8 {) C
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
6 H9 D  [9 ?* T0132D8B5  .  51            push    ecx ; }7 s! d9 Y* K7 l! D
0132D8B6  .  8BC8          mov    ecx, eax % k; S$ w3 L: c( t, ], r/ S* h
0132D8B8  .  FFD2          call    edx
  R4 A, }6 F( l0132D8BA  .  85C0          test    eax, eax
& Z: E5 u& u) R* z5 [8 A0 E( Q2 d0132D8BC  .  75 07        jnz    short 0132D8C5
* \+ X) J+ A) O& H  Z0132D8BE  .  32C0          xor    al, al / S- T2 x7 ?) ^+ X
0132D8C0  .  E9 B4030000  jmp    0132DC79
$ a" Y: r1 t6 i' m3 p  |# {0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
. z+ ?( x: `+ j0132D8C8  .  8B01          mov    eax, dword ptr [ecx] 4 D. |5 P  d: T' Z
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] : w) E1 Z5 U$ c' w
0132D8D0  .  55            push    ebp 7 M6 j" D- X% Q: \9 n
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] $ Q7 O2 Q, s5 c* z' z; b
0132D8D5  .  52            push    edx
7 s5 o' P# H! \! `  T0132D8D6  .  FFD0          call    eax
# \! s( k/ V( B8 z0 K( D0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
+ n! x/ T$ A# H9 M7 [+ R. c' m2 {0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
; W5 Y$ ~% T  |+ U3 P0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] - P8 j* K4 \, h
0132D8E4  .  51            push    ecx
7 r6 L6 `. ~( i, ~# @* r0132D8E5  .  8BE8          mov    ebp, eax 4 D  Q3 ^/ |# m/ I" ~0 V
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap 5 q7 d  K( x' I
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject , g9 _: v! y/ D! p; G
0132D8F3  .  83C4 04      add    esp, 4
4 E* \7 W  U/ f. n0132D8F6  .  50            push    eax                              ; /hObject
( u( @; I9 s, r( ~  o# N4 U0132D8F7  .  55            push    ebp                              ; |hDC 5 a9 n) g( u: c; H0 R. t, G
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
& z& L6 B& f, n5 k$ b0132D8FC  .  FFD6          call    esi                              ; \SelectObject " Y$ {% P3 X8 n+ e% t) Q* E3 J8 w& m
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
9 D  O3 O0 l& D0132D902  .  52            push    edx
& o7 z% M/ }; J0132D903  .  8BCB          mov    ecx, ebx
  J! y; `! m. ^. t9 i, s9 L$ Y. t0132D905  .  894424 40    mov    dword ptr [esp+40], eax
9 G8 n( @' }. r  B( h4 a; @1 v0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= 4 t4 n: L, s& J. V/ g
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
0 M$ |  }) u4 G- i4 ?- u/ f; B0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
, x# ]' }! C; ]) p. j( F& K0 S# c3 ?0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY : H" c( E# V$ ]1 _7 c
0132D91A  .  55            push    ebp                              ; ||hDC 9 p) y+ @( ]) g, \0 R
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
4 j$ f7 Q/ `4 e* v& C0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
" o0 C5 t" h; L, |. Q0132D924  .  50            push    eax                              ; |Multiplier
$ w2 f  l5 A' F8 t) u0132D925  .  53            push    ebx                              ; |Multiplicand % n' {! Q; u) k* D
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
) ~: H( t: i7 Q% z0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] 0 b4 Y0 u' X/ `( C5 n
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
: @/ G! M! Q5 @) o% T" P. E" c0132D937  .  51            push    ecx                              ; /FaceName 6 t3 x4 i9 M; ]5 Q5 C' E* y3 z* T
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | 1 Q" L- S; P( M( o7 @
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 2 l$ x0 @/ W  g6 ?; I& Q# `$ A
0132D941  .  52            push    edx                              ; |Quality
: j+ S7 o/ X( R. X0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS 4 U0 t& S" R& F+ x3 }4 Y- Q
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS ! K7 C8 g, [9 t' w& h
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
2 l; ?+ R) S$ Q% v) i4 P0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE 3 h3 K+ L1 T) s1 U5 z7 a/ h8 i
0132D94A  .  8BD1          mov    edx, ecx                        ; |
7 s) p3 ^" L6 G% K- e& y3 D0132D94C  .  D1EA          shr    edx, 1                          ; | + n* V8 Y' _5 m7 d# o; G9 Z
0132D94E  .  83E2 01      and    edx, 1                          ; | . J" j. W/ j# Y, Y& `) d% I
0132D951  .  52            push    edx                              ; |Underline
! @; w! p% u. ?0132D952  .  83E1 01      and    ecx, 1                          ; | & |, Z6 p. z& n: h9 M. a2 e
0132D955  .  51            push    ecx                              ; |Italic
% c% x" f7 Y# x0 e8 w" q: c5 c( p0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
: V) Y0 x# \! c0132D95D  .  51            push    ecx                              ; |Weight
0 J3 L0 K% ~; z- i, x0132D95E  .  6A 00        push    0                                ; |Orientation = 0
" V8 s9 d4 b6 Q6 o0 z0 g% D0132D960  .  6A 00        push    0                                ; |Escapement = 0
- R3 k: c7 z* s$ S$ H0132D962  .  F7D8          neg    eax                              ; |
4 M7 N% U% }: M0132D964  .  6A 00        push    0                                ; |Width = 0
* |# R7 Q$ I0 i+ U' \, k1 N" J8 [4 R0132D966  .  50            push    eax                              ; |Height 6 }) M' `+ ?! N4 C3 h; Y
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA 5 H) v* x  ?8 {7 }
0132D96D  .  50            push    eax
# |( t  P0 e# g8 F, H8 m0 M3 s0132D96E  .  55            push    ebp : @/ w) Z# h, R2 _
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
$ H+ C. Y' _- }9 V  d0132D973  .  FFD6          call    esi
! E  x2 y' K3 i; ~  E  t3 K0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] 7 M! T* W$ W7 s0 p
0132D979  .  52            push    edx                              ; /pSize
( Q5 r+ ]3 y3 Z* l0132D97A  .  6A 01        push    1                                ; |TextLen = 1 . \5 J% G& g5 A9 I7 ?
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
) r' x8 {/ \* m+ o) z1 ?% v0132D981  .  55            push    ebp                              ; |hDC
- V5 |) x" [$ y# s# b3 q6 p* a4 S) b0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | 2 \4 X& \8 Y; V. B
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 5 `) m* L, F4 Q+ K
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
0 F8 L2 o: \8 V8 v* w) G( ~0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] - r! ]* G1 a: W' `- T
0132D993  .  8947 18      mov    dword ptr [edi+18], eax 1 E7 V! s' G& C! z' A5 J& l1 e2 {
0132D996  .  33C9          xor    ecx, ecx ( N6 b2 [, Y; Y  c' e3 p0 @
0132D998  .  8BC6          mov    eax, esi " l7 h& H" e% @4 z: v% f! Y" q
0132D99A  .  BA 20000000  mov    edx, 20
6 ^" l$ o# j0 H* y0 ~: b0132D99F  .  F7E2          mul    edx
; P' H9 I1 D; p- c0132D9A1  .  0F90C1        seto    cl ; n9 G- S  i) `* J0 X
0132D9A4  .  F7D9          neg    ecx 9 K1 H( w4 }1 Q: p7 h0 D
0132D9A6  .  0BC8          or      ecx, eax & [8 L2 O# L1 W# E7 D
0132D9A8  .  51            push    ecx & Z$ C; B4 X+ w" r; k7 L
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
6 {* D$ \& h" I8 p0132D9AE  .  83C4 04      add    esp, 4 * l# L( q0 y6 {/ j
0132D9B1  .  85C0          test    eax, eax 3 v6 h: t* @# g+ f4 w2 ]8 T# |
0132D9B3  .  74 28        je      short 0132D9DD ! Y% Q& o: g/ P" F& ~* E
0132D9B5  .  83C6 FF      add    esi, -1
3 n- I1 n0 c  a6 U2 C  ?) o0132D9B8  .  78 25        js      short 0132D9DF $ ?- u8 W* ]2 J" s5 Y$ T$ m" c
0132D9BA  .  D9EE          fldz 0 e3 z* w( w* {( z& G) L8 i
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 1 [9 n" K. y5 n. }
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] 9 m) C" u: Y* b+ R
0132D9C2  .  83C1 20      add    ecx, 20
# r; i- t7 Z+ Y" q" D4 E0132D9C5  .  83EE 01      sub    esi, 1
: e! z9 f! R) N7 o4 X0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] % R$ [+ U9 c* t) \0 x: j) ]- t
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] ! G* L# i1 {, d& t! y
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
! N  l( _0 O* _0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] 6 ?/ G* X- f3 V) N' ?7 Q* u& }
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
4 E" s1 U3 f' R1 o0132D9D7  .^ 79 E6        jns    short 0132D9BF
, ?/ a( X4 N  @) y" \" I: r0132D9D9  .  DDD8          fstp    st   Z" ]2 @( D& \& w' r8 g* p/ k" v
0132D9DB  .  EB 02        jmp    short 0132D9DF
7 I) @' E* v; H% x/ Y, h# G0132D9DD  >  33C0          xor    eax, eax 7 ?" q2 w7 F6 a9 k1 E. P) y
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
6 [8 c+ d, Q4 R& H1 M0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax ( ~# i, ^- R* v; W1 g$ e$ D
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] , M& A1 l. S* r& e3 I* U/ |$ G' k
0132D9F0  .  50            push    eax                              ; /Bottom . f4 `* y) ~( E
0132D9F1  .  51            push    ecx                              ; |Right
0 m; \" F3 I5 _7 I+ ]0132D9F2  .  6A 00        push    0                                ; |Top = 0
+ k, L: j! n4 {+ t* ]. @0132D9F4  .  6A 00        push    0                                ; |Left = 0
$ F' A9 T9 v: A* @! H  O0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | 4 ?$ O. k$ J  |5 S4 A/ Z5 I
0132D9FA  .  52            push    edx                              ; |pRect
% y6 B) t7 X3 A0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
: Y% y( A7 T8 z( b6 y0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
% t/ _6 x1 p$ b! w- w, A! p0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
, E0 g8 a3 L& h& s! k: i5 R) p0132DA09  .  50            push    eax                              ; /hBrush
4 K$ I( l5 Y; z2 T& @: B" g0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
! ~* {7 ?5 ]# n3 V3 D6 R  n  k0132DA0E  .  50            push    eax                              ; |pRect , V2 H$ }) o- u. ~0 k
0132DA0F  .  55            push    ebp                              ; |hDC " G1 {' K+ ?+ U! a- L6 j, Q( ]
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
! F# q8 s8 ?- I: X2 @3 B- {0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> 5 U3 O: k4 S. _9 x6 K
0132DA18  .  55            push    ebp                              ; |hDC 2 |; U0 [( m) u" C' E
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
& {& R4 U+ p/ m; |0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
( f& q! y# k7 B% Y) M6 i# ~0132DA24  .  55            push    ebp                              ; |hDC / ], f. V$ O2 i) R: ?7 Q
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 1 R% G/ e$ w7 y$ a3 X" c) O' V
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
9 n# l# [4 @, f8 W. s8 K1 ^0132DA2D  .  55            push    ebp                              ; |hDC 0 `+ M+ t7 ^( h% I2 G& A6 u0 Q
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode ' D! ?2 Q  ^/ ~9 G2 ?: v: `
0132DA34  .  33F6          xor    esi, esi . K5 r0 X- v( W0 O  j1 N# Y) ~5 @
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi ( j2 \+ _+ k  ]
0132DA39  .  BB 01000000  mov    ebx, 1
8 t1 x' Y2 U/ B3 s0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx % d" _- n2 Z/ o
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
+ n2 r! X' v  u& ?: C$ u0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi * X1 T/ `" e2 J. Q- D: d: E8 m
0132DA4A  .  0F8E 20010000 jle    0132DB70 1 R8 }* A) [2 E" M$ F
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] 6 j! }4 G% d: h! X% B
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
* l7 [4 L: ^9 B1 P+ m0 b0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
0 C( Q% a5 J- p9 Y( [, c0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax : W. N( e( `* P' s
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] & s6 q6 Q4 X9 Y# ~$ z' X
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] " l; ]7 F2 z9 F. a
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
" ^: R! ^5 n1 j0132DA72  .  EB 04        jmp    short 0132DA78 : n( J3 `* Z/ z. _  M
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] " y9 @1 H. E5 ]7 e5 O3 y
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] 0 s; h/ e6 p7 G! i% {
0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
9 ^8 R: m  w; s1 }5 k' f3 P0132DA7E  .  037424 20    add    esi, dword ptr [esp+20] 4 q5 W) j  p, ^. p6 Z) p$ I
0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
: I+ ]5 L1 a- L- H! X5 p0132DA86  .  0FB700        movzx  eax, word ptr [eax]
) N- q9 }+ F! O1 ]1 G8 Q0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
5 g& R) G/ p4 T0132DA8C  .  51            push    ecx                              ; /pABC # k3 R5 f) i, `
0132DA8D  .  50            push    eax                              ; |LastChar 4 p$ o8 v' y: ~9 y8 {
0132DA8E  .  50            push    eax                              ; |FirstChar : N0 V; V4 T" g; f* Q+ I. c8 i
0132DA8F  .  55            push    ebp                              ; |hDC
" z5 b4 T) J/ D  O- T0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 6 W5 T7 K$ \' [- o! x, N+ K
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
" K, {7 r1 `. W% I. g$ O+ }0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 % j8 @. J9 {4 e* g
0132DA9E  .  73 10        jnb    short 0132DAB0
- u. W; E/ n1 B0 \0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 * b0 F7 d! l7 R
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0 ' W" \) d8 k' \9 g* c6 d
0132DAAE  .  EB 0C        jmp    short 0132DABC 6 ?7 l- d) i" \/ P* g/ ~4 Y3 P" T8 L5 E
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
7 U& E- }* o* u0 L, Q0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 , T& V" Q% ?; p8 \
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 # Q0 L( z$ E. @2 s
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] $ B  u% i0 W& A
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
: \$ J0 Y7 a! @! k0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
7 ]/ f/ A5 p7 a6 I6 z0 s0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
1 I3 V& `5 x2 m2 O5 I7 ?/ {% Z0132DACE  .  72 14        jb      short 0132DAE4
( L  X8 S5 K& B+ y% ^/ Y0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] & z4 A9 \7 K% ?  |
0132DAD3  .  BB 01000000  mov    ebx, 1
5 ?2 b: K  l7 g0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] - f; {, v' b% i0 s5 }# M& O
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
2 w* h; F- `( M( v$ K0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax . q7 F2 C! U" P. C. H, g; C
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] + Q5 ~/ {5 P6 M# [1 f5 D
0132DAE8  .  03CB          add    ecx, ebx ' n" j( g. A/ A; E  m& Q
0132DAEA  .  85C9          test    ecx, ecx & @5 D5 c6 y* t0 j% S
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
6 b8 v, O  k9 a2 ^0132DAF0  .  D9C0          fld    st " `0 ^( m# T8 ~5 f. N2 k
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
- t* W) o; J8 o# y8 p8 P0132DAF6  .  DEFA          fdivp  st(2), st
# r0 v/ {3 T1 D! `0 r- L5 W; t0132DAF8  .  D9C9          fxch    st(1) ) A6 P4 n$ q; K0 J
0132DAFA  .  D91E          fstp    dword ptr [esi]
$ I% M5 G$ i8 W0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 7 o- @5 ^) k* l7 W- z7 [# }2 ?6 h
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
( G% i. |- M" [" G  }0132DB04  .  D9C0          fld    st , i2 }+ M9 v7 G: b9 M- O+ d
0132DB06  .  DEFA          fdivp  st(2), st
( q  \9 ]' ~+ N( h0132DB08  .  D9C9          fxch    st(1)
: D! V+ d5 ?$ n5 h! P3 R0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] 1 p9 K  M' F- h  l3 t
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
3 k6 z/ f) Z& {3 z4 G0132DB11  .  7D 06        jge    short 0132DB19
, J& S0 v/ ?; W0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
4 v7 T, R, J0 K$ g4 a0132DB19  >  DEF2          fdivrp  st(2), st
; n8 Q* e; ~& f/ `0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] # `+ _" s! X' |/ m& k2 C
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 $ C: {: `; h) |8 ^: j9 h4 |
0132DB21  .  52            push    edx                              ; |String
- i% f$ i) i+ Z8 {$ Y: c; u7 E0132DB22  .  50            push    eax                              ; |YStart ! ?8 G5 y, I* k! ?( M7 @
0132DB23  .  D9C9          fxch    st(1)                            ; | 0 ]/ D) {+ a/ b# V' s3 s: A: R# A
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
; ?9 E% D. W" {0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
/ Y; o2 I( Z9 ?1 C2 O: q0 S0132DB2B  .  03C8          add    ecx, eax                        ; | : j0 Y- V* P, f
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | : W0 u+ Q; d. @  i6 C
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 7 N7 X, |& e3 r$ a! J+ e& j8 i5 j
0132DB35  .  8BC3          mov    eax, ebx                        ; |
* W! s& M/ P9 t; _0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | 4 b. c( Z# G( I7 [* l, d4 z' w
0132DB3A  .  50            push    eax                              ; |XStart 5 _# O! z# L; ~* s1 M- ]% k
0132DB3B  .  55            push    ebp                              ; |hDC
" W! O; p+ W) r( ]0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | * a- B$ i% X, y* _* v5 T' n/ i2 M
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW , M; J3 x1 n0 U% \+ r
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
* G# @& O" B" |7 q0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
: E% d2 a- ^) n( ^) I0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 $ {( z3 F- [( D7 u; G
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 9 u: ~4 `$ Z' `6 w  z5 S
0132DB56  .  83C0 01      add    eax, 1 " u0 j: d! `) s6 J6 G
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] ; Z3 H0 b  f7 @. S, M
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
) n+ M% u& O+ X0 c' e* p4 |0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
/ O) ]+ w# g3 t/ s( p. [* A0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
; h  Z6 B4 d$ Y1 a, l& A0 ~3 C0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
7 f/ C6 R$ L/ d) |4 O5 x0132DB6E  .  33F6          xor    esi, esi
2 q3 |8 b7 `- @) O/ Q0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
- A$ O& f) y" s# P9 h5 I0132DB73  .  6A FF        push    -1
- }4 b% R& l7 K, Q" u0132DB75  .  83C1 38      add    ecx, 38 # f$ I3 B5 Q2 `# O) A" @
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> ' n6 h0 p- @! i
0132DB7D  .  8BD8          mov    ebx, eax
7 J" I  u. E$ }0132DB7F  .  3BDE          cmp    ebx, esi
& L* i6 F6 r1 W0132DB81  .  74 74        je      short 0132DBF7 2 Y6 C  h0 T- ]& @, p& a$ O
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] . e6 x  {, R9 Y6 _
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
/ g8 H) @- y4 I% L0132DB8B  .  52            push    edx                              ; /Buffer
; ]8 l! ]. q  C0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
5 c0 W0 A7 a  a& V' @. }! |- H0132DB8E  .  50            push    eax                              ; |hObject
2 u* [7 Z  w1 I/ R/ s$ c6 o. Z0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA 8 s( m! g/ U% K+ H- u5 n) _
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 4 H" h6 B! H2 p0 }" V( n- h
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
  a  m9 v7 ?3 f0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] 3 p- R* T$ [% k: b' k  f  f, m
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] # T3 u6 ]( h5 b, Y# v# b9 \/ M$ N
0132DBA5  .  85C9          test    ecx, ecx $ S0 S+ H9 b" i  B' L
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
. P, {8 a" H2 X. Q$ U: S$ q0132DBAF  .  7E 46        jle    short 0132DBF7 ; e; b: g2 T2 t1 L! X/ y+ \# h7 p, u" @
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] ! R3 }! N# l  L+ W
0132DBB5  >  33C0          xor    eax, eax
1 D3 ^; A# k0 s& Y$ {2 N# H0132DBB7  .  85D2          test    edx, edx
% |3 e: r$ d# v$ z% Q$ m; Q0132DBB9  .  7E 26        jle    short 0132DBE1
# X& x* ^( s: }! i& S0132DBBB  .  8BCE          mov    ecx, esi / S6 I% |, B2 j% F
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] 5 ?4 r! ]( M1 \7 R1 m2 O$ [
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] & ]' L# ?- \; @8 F
0132DBC3  .  C1E2 18      shl    edx, 18 3 i2 y6 b2 `+ B' ]
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 9 G, {" q' p% q6 Y3 C
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx ) i/ e5 B0 {5 \) M
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] & Y5 j# b/ l4 O/ |8 ~! N" p$ ^
0132DBD3  .  83C0 01      add    eax, 1 ' h+ h0 |- D! C' z3 _9 N& I! c
0132DBD6  .  83C1 03      add    ecx, 3
& Q& c7 P/ e# O' o( B0132DBD9  .  3BC2          cmp    eax, edx
6 K' M5 E  k7 N, W) ~1 i0132DBDB  .^ 7C E3        jl      short 0132DBC0 % [2 Q; P* @: K* N
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
. @7 M: T" n  ^" t8 V) ]9 z5 \2 U0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] - N0 l( p1 }: y: l$ o* W! P
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
5 G" h$ d: n$ N! V4 C. w' t0132DBE9  .  83C0 01      add    eax, 1
( z& k3 e6 |7 `( q5 x1 u0132DBEC  .  3BC1          cmp    eax, ecx ! J6 P6 X) D/ \8 t. P
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] , Q5 y% b/ z/ a! i' T! w
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax ( \0 O* @" ]6 s$ A2 B
0132DBF5  .^ 7C BE        jl      short 0132DBB5 ) R9 u9 s2 @& M; }# d1 w% M
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] 6 r& [9 z- U4 U2 @. A! C7 Y, P
0132DBFA  .  6A FF        push    -1
# ]0 ~( f$ i/ Q+ o0132DBFC  .  83C1 38      add    ecx, 38
, [+ w- s, w- [- a* A0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> : k' {9 ^0 j# A
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] 9 S0 Z6 x2 C. v5 T' O& x/ y) `( r
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 2 W9 D  j, r+ k( x' ?# \1 x
0132DC0E  .  50            push    eax                              ; /hObject
0 S: }3 }/ _; i4 ~- {$ I5 W0132DC0F  .  55            push    ebp                              ; |hDC # [: B. |0 Y3 {2 y# \' K, S
0132DC10  .  FFD6          call    esi                              ; \SelectObject 5 b; g9 R' [8 q+ t# S+ U/ F( H. v
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] ) {+ o0 f5 j+ Q1 ?- T
0132DC16  .  51            push    ecx 4 ?0 I. I3 k4 g8 I; y% P
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont . {$ i( M3 U* J
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
5 a8 R- [2 ^1 ]  h* q! p8 @- f0132DC21  .  83C4 04      add    esp, 4 % c& ]+ [6 y: |; P* r. @# Y
0132DC24  .  52            push    edx
$ w% P8 y( U# q9 [0132DC25  .  55            push    ebp & p7 G0 W: Q( E7 d* Q3 I  ]9 s# z
0132DC26  .  FFD6          call    esi 4 O4 U9 H' n( [1 Q5 Z0 F
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
* l; i2 V3 g8 G, x  G- q0132DC2C  .  50            push    eax 8 B$ [" R0 y$ }; @) f! T4 N" [
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
; m5 T7 S1 i8 V+ F- ]) X( |  D0132DC33  .  83C4 04      add    esp, 4 6 f4 W: j) o0 |) s! y
0132DC36  .  55            push    ebp                              ; /hDC
) P7 o$ U' X$ w2 y: j* b0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC # x, v- Z/ z! e9 a/ J% H+ N
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
( t/ }" D% E2 G& t1 E. I& l) b0132DC41  .  6A 00        push    0
/ g8 N( q: Y( T6 d. r0132DC43  .  51            push    ecx % ^# Z9 h2 f0 s+ ?
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] 6 Q4 m( u3 a% R5 n) d
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 7 w0 y2 ^7 z- V  _3 v9 l9 v
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] - d/ B4 j* g- F2 _3 f
0132DC4F  .  6A 01        push    1
) @: U: b( A3 U0 d0 i0132DC51  .  83C1 38      add    ecx, 38
# _$ C/ |: Z& ]# M0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> $ X& m$ u+ v# T0 ]! Q4 \) m
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] % F4 ]; A1 ?+ D( J
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] 1 A1 K! v. m4 D2 m6 m7 D
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] & l* N/ M, {0 }' K5 G9 D$ S$ ?$ c% H
0132DC61  .  6A 00        push    0
/ S+ v' K" F4 c0132DC63  .  FFD0          call    eax
1 k' }6 L& {' C, d5 H! @4 ^0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] ' a6 U+ j, H6 O: w
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] ' N5 f. }0 V% T+ O# c: y4 U( w% m- b
0132DC6C  .  33C0          xor    eax, eax + ]/ A7 m) B/ L' c/ I
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
1 O2 R6 @4 |) ]8 ]0132DC75  .  5D            pop    ebp : d; ~. ~& K9 G% @  ?# D
0132DC76  .  0F9CC0        setl    al
7 N% H6 Q0 z2 ~( N5 B! E( K0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] 1 |9 T3 A) A( h1 ^2 v$ A
0132DC80  .  5F            pop    edi
# p3 ^; {" V1 L- W0132DC81  .  5E            pop    esi
% F! c" t) h' f& b0132DC82  .  5B            pop    ebx
& b8 U, N5 J* Y4 _8 m/ L0132DC83  .  33CC          xor    ecx, esp 8 x# H- L  A! L0 H  {2 p$ Y
0132DC85  .  E8 E2460500  call    0138236C
' v! `* n( \; M# l3 C0132DC8A  .  81C4 98040000 add    esp, 498
1 ?$ ], I5 `6 p0132DC90  .  C2 2800      retn    28
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

地板
 楼主| 发表于 2010-1-10 16:37 | 只看该作者
回楼上,这个调试软件叫ollydbg,即OD,我用的是其修改版olly ice.& a( }9 E$ E/ B
分析说明也许以后会补上。
% |/ A) d* q% k. S' H
8 A  b0 Q4 ~+ i0 V加油!
回复 支持 反对

使用道具 举报

板凳
发表于 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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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