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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 * T& Y2 @# Y4 X0 I
% E2 ^8 Y9 E% w9 D* H
0132D7E0  $  81EC 98040000 sub    esp, 498 # ~  k" `% l3 ^7 r
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C] 7 q$ |- }1 Z, L! a; m3 n( _1 |9 A: T
0132D7EB  .  33C4          xor    eax, esp 1 q4 O" ?7 a! N+ A0 v! x7 {& i
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
* @' [  {  d# _  c" q0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] 7 ^/ W; O  b# t
0132D7FB  .  53            push    ebx # E; q$ ]: n* h- w* x. T
0132D7FC  .  56            push    esi
: e: U' s9 v  K2 @% ^2 g# R' |0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4] 2 D% b$ |1 a& H" z" y& J! P7 M
0132D804  .  57            push    edi
/ v0 ^9 p% D; L  H3 W. Z0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
8 R5 t, W+ A0 @0132D807  .  8BF9          mov    edi, ecx                        ; |
2 z) z) k9 t7 X1 p5 b0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
3 x% X2 L* E' `0 V; I0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
$ _8 V( y1 t1 D" M: Q* C0132D814  .  6A 00        push    0                                ; |c = 00
$ P, e0 H6 D) S4 ^- {3 c; u9 h0132D816  .  52            push    edx                              ; |s / A) p* C+ o9 W  B
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | 5 r( [) r/ }4 B) p- _, M7 d3 V" a
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 9 ], Z+ P9 L9 W, Q8 z& f9 C
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | ) E: G4 V: R8 M" w- L. X
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
& [5 O! Q5 }# \' \6 {0132D82C  .  83C4 0C      add    esp, 0C , D/ Q+ r0 z0 A! X  i" z; K& \4 `
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
; @" L) b8 ]6 j0132D837  .  74 12        je      short 0132D84B
9 g  K6 O& f- _( r0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
6 ^9 p$ Y8 g8 {- }4 ?) o( K: l0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 1 M) Q- J' z$ v. v/ e4 }7 [' k
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax ' E5 z; J' L3 k- T: ?" D
0132D849  .  EB 32        jmp    short 0132D87D 1 o1 U+ B2 |1 E+ ?1 {& N5 K1 j) |; Y1 ?. I
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
6 N: x4 b+ O- _1 P0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
' I5 `  F& Y! Q) t; O7 o5 C  J0132D855  .  33C0          xor    eax, eax
/ {: T& }. N6 |2 ^" [0132D857  .  EB 07        jmp    short 0132D860
; g, O# C) o8 }5 u0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
- ?0 B6 k8 `+ r: o$ U6 w- w0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
; F% E7 S3 P' s# F7 `0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 9 A0 t. m/ O$ S; ]) p
0132D86B  .  83C0 01      add    eax, 1 $ ]& A% _2 {. a* d
0132D86E  .  3BC1          cmp    eax, ecx
' D# o  G: n& t9 e* @3 i% D7 C9 E0132D870  .^ 7C EE        jl      short 0132D860
5 e9 C! F% E8 @9 M3 E0 T( L8 a$ k0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 3 B4 ~7 U% a6 l
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
: v! p  a- s0 q" J0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] 8 @9 C4 W" s  g4 a
0132D880  .  85C0          test    eax, eax ( k" w& z/ c; v) [
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
8 V( c+ P* U3 H+ o% J3 |& P' n7 K0132D885  .  75 05        jnz    short 0132D88C 0 f3 T* D: o: k7 ^
0132D887  .  B8 16263901  mov    eax, 01392616
! V: P+ m% J! P( Z- G: ~$ v& v5 _# q8 f0132D88C  >  6A 00        push    0 - T1 A% {6 ?- }' ?. U
0132D88E  .  6A 00        push    0
3 e! E. Z8 J6 R( e# v0 |0132D890  .  50            push    eax - m! f- W1 j+ ~2 P4 ^
0132D891  .  6A 1F        push    1F $ F4 I( K4 g3 {1 L9 L$ S
0132D893  .  8BCE          mov    ecx, esi
6 H$ d. C5 z, b7 t; t0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
' P9 C4 {6 }2 ?. h0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
6 r$ c5 j9 Z( r0132D8A1  .  6A 00        push    0 8 F; i& [: b) y" j
0132D8A3  .  6A 20        push    20 ( b7 x; o- j* n8 e
0132D8A5  .  51            push    ecx
( R# x2 n" V$ V# X  H) b7 G: e0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] # W/ l" l# G/ u6 F' U5 v) Z: z5 ~
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax / K, V5 |- D9 N" y% |. p9 b% H: G% w
0132D8B0  .  8B10          mov    edx, dword ptr [eax]
% s' N! x7 E$ K% e0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] / \0 H* T9 i0 Z! z
0132D8B5  .  51            push    ecx
0 u0 N* |( k. p+ B2 S8 G+ [0132D8B6  .  8BC8          mov    ecx, eax , ]  ~2 R" Q, y8 ~3 ], ^, D4 Q) l
0132D8B8  .  FFD2          call    edx
2 f6 `7 }( B& k0132D8BA  .  85C0          test    eax, eax $ p4 n; u% b$ S' i  D* w; A! |
0132D8BC  .  75 07        jnz    short 0132D8C5 # K" a/ ?+ v8 o4 Q& ?1 d/ J" }
0132D8BE  .  32C0          xor    al, al
: z" A6 K, E9 t( _$ G0132D8C0  .  E9 B4030000  jmp    0132DC79
, h% q0 {: G/ N0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
1 I' X+ S7 |. G4 J1 c0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
% I! p3 k5 T! i* u( O6 O. E0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
) C+ }5 N: [) W$ }  `3 _0132D8D0  .  55            push    ebp
8 b6 {4 D. q) O$ k% H5 d0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
! }# f! ~2 ^. v9 z) t* Q, |& i  h* Y0132D8D5  .  52            push    edx 5 f$ g8 O  n9 T
0132D8D6  .  FFD0          call    eax
1 f- S- U2 W7 E  y3 a& H" ~0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
, y+ k+ t- x2 G6 m0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
! i! B, v  ~! l/ J7 b% R0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 4 f+ z9 c  D9 X; }- p* y5 I
0132D8E4  .  51            push    ecx
7 L9 s: q) ]8 T, f/ k0132D8E5  .  8BE8          mov    ebp, eax 7 R/ K! z: T1 L# ?6 v- [, S
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap 9 k7 [6 q* J5 y8 `. O8 C, c6 i7 d9 V
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
. L. F% e# h) _% o! a  J+ r0132D8F3  .  83C4 04      add    esp, 4 : j, Y2 n$ t0 h: q; Z! l; P8 n
0132D8F6  .  50            push    eax                              ; /hObject
& A3 N2 o% x$ p0132D8F7  .  55            push    ebp                              ; |hDC / C3 U2 k* B) t6 g: y
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
- ], i- H$ I1 f/ v( q& q" U; n/ r0132D8FC  .  FFD6          call    esi                              ; \SelectObject 3 A8 |+ S# f$ r) v( L( B+ J; o
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] . k% ]1 k3 I* o. x; N
0132D902  .  52            push    edx & u7 ^3 I2 F$ N0 {3 f. t3 i5 z
0132D903  .  8BCB          mov    ecx, ebx
* o$ e% i0 w, l" N% _8 k. n0132D905  .  894424 40    mov    dword ptr [esp+40], eax
$ h/ T8 h& j5 u9 ~" k5 A/ ~0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
% N# d- R' r4 T3 T7 s. A0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
) x) q% O0 \8 e7 N4 d! j  _0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
, i# w8 J# V6 ~- J$ |  \0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
- A1 _5 Z, l( J" n' L: f. J0132D91A  .  55            push    ebp                              ; ||hDC 8 ^1 L- R- a+ K3 x
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || . L' T+ d9 A. j4 `6 c" F; I$ I
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
3 |" r* M! J- h9 V0132D924  .  50            push    eax                              ; |Multiplier
* z' y9 i; Y- M! U/ Q0 n6 Y# i0132D925  .  53            push    ebx                              ; |Multiplicand : Q- t: S; ^6 r: h! }: l
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv 0 |5 U$ |4 K: x; y. G
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] - z% L+ v. Q) z7 r' T: j! W
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] 6 }8 Y0 F) Z7 E, [# B5 T
0132D937  .  51            push    ecx                              ; /FaceName 8 f7 _- J: E" A/ M
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | : f- E' z1 ^) a1 |- ?
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 8 q% Z* }% C# o, H
0132D941  .  52            push    edx                              ; |Quality + c! V% v- S. }9 [0 C, x* _$ r! Y- u
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS   _& C$ `( R8 w# @2 O! r$ j
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS # @( Y7 r& R4 T
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
- ^6 k7 \3 X' ~- ?0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
' F. ~7 v, v. a8 w9 A  p0132D94A  .  8BD1          mov    edx, ecx                        ; | # H  V1 h) F8 d. ^, g
0132D94C  .  D1EA          shr    edx, 1                          ; |
+ U  L# O+ d) t7 ~4 ~: w0132D94E  .  83E2 01      and    edx, 1                          ; |
" J! V/ H) B3 A; O0132D951  .  52            push    edx                              ; |Underline " e- X- u3 F$ s9 J& _5 |8 C
0132D952  .  83E1 01      and    ecx, 1                          ; |
* ~" }1 F" g' d0132D955  .  51            push    ecx                              ; |Italic 1 @! h% `( _, y+ h
0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
( i' |. G" T" M+ w  B6 }1 ?2 U0132D95D  .  51            push    ecx                              ; |Weight
) b& ~  ^3 l1 l) ~3 q0132D95E  .  6A 00        push    0                                ; |Orientation = 0 & e1 R4 |( m0 N# f9 B6 Q
0132D960  .  6A 00        push    0                                ; |Escapement = 0 . |7 w/ @. h5 v$ z' b0 w) U3 V" Q5 G
0132D962  .  F7D8          neg    eax                              ; |
3 |2 z+ T$ a: I3 \; m8 }0132D964  .  6A 00        push    0                                ; |Width = 0 % n/ W% S# Z0 \' e- ?
0132D966  .  50            push    eax                              ; |Height , R; f( O6 @2 D* K+ S6 f- R
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
' g# y: K, R/ X. o' K* J0132D96D  .  50            push    eax 5 h+ O3 S+ S8 i  f' Y6 [
0132D96E  .  55            push    ebp
! m: S% b; S% y5 Y1 F0132D96F  .  894424 38    mov    dword ptr [esp+38], eax : A( v& _9 i4 Q2 @1 k/ o
0132D973  .  FFD6          call    esi 0 I- y; [8 L5 q, s4 s/ q
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] ( I/ |8 D8 _. k2 I  K) B$ K
0132D979  .  52            push    edx                              ; /pSize
: }  q# f3 X' Q" H2 s0132D97A  .  6A 01        push    1                                ; |TextLen = 1
: x( |" ^! t! T0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
5 t5 Y+ N: \; r' p7 @0132D981  .  55            push    ebp                              ; |hDC
9 F5 N6 j% H( @! K: O) Z4 @; k# k+ `3 \; Y0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
% c+ O+ o7 z* _8 Q$ ~0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA ' q% Q% G3 A, D$ a/ h6 P+ U$ ~0 P
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
: d/ F' b; X( R0 M7 r  w, r0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C]
3 l9 E" ~7 \4 @4 \0 j6 l0132D993  .  8947 18      mov    dword ptr [edi+18], eax
! ~2 B, r0 @/ T/ e& z+ p, V0132D996  .  33C9          xor    ecx, ecx
6 E5 }( x$ ]0 m1 G4 R3 X0132D998  .  8BC6          mov    eax, esi   u7 w& @3 P5 b) q
0132D99A  .  BA 20000000  mov    edx, 20
6 F( F8 ~5 ]3 K/ S( q0132D99F  .  F7E2          mul    edx
0 v1 h$ [' {- f: `5 T. V0 e0132D9A1  .  0F90C1        seto    cl . \5 r8 t( ?. y: X* M
0132D9A4  .  F7D9          neg    ecx
) k. I9 C+ w2 `+ p0132D9A6  .  0BC8          or      ecx, eax
- [& A8 z  S* a# B' @, x0132D9A8  .  51            push    ecx
" b/ n" Q5 L& X0 q7 l/ _3 _5 R0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> ) H0 w/ p7 F3 X; l' F# L% {9 \- E: q
0132D9AE  .  83C4 04      add    esp, 4
7 I* l; q, {9 K9 ?  C0132D9B1  .  85C0          test    eax, eax . @% l6 U# D2 h7 I
0132D9B3  .  74 28        je      short 0132D9DD & {4 R) t+ y2 H- y9 u- e" J5 E/ Z
0132D9B5  .  83C6 FF      add    esi, -1 / ]) G2 _# r$ f
0132D9B8  .  78 25        js      short 0132D9DF
( G" r4 C5 X- O- k0132D9BA  .  D9EE          fldz , }% [- j: x3 V0 T. n0 W& B
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 8 g7 P  `  B' u! M6 I' C
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] / D' i4 p4 o' m" M6 m( k
0132D9C2  .  83C1 20      add    ecx, 20
  _" z9 ^2 p: q% u+ U0132D9C5  .  83EE 01      sub    esi, 1
) [2 X8 K, Y- I# [$ X4 a8 ]0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
* h# I6 a) s, K8 q8 a, K0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
4 H; X. R* U  f; G/ s) |9 d0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] & n% s( I1 t9 `1 X8 q
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
  D6 x1 e! I5 ]; ?! I& b; v+ d. e0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] ' F+ C" `2 D+ h
0132D9D7  .^ 79 E6        jns    short 0132D9BF 6 P0 V9 O2 ~! k7 [# V
0132D9D9  .  DDD8          fstp    st
" a+ Z. K& C3 S. k7 ^% W0132D9DB  .  EB 02        jmp    short 0132D9DF / R# v: x7 e8 ~
0132D9DD  >  33C0          xor    eax, eax " Z' p! v; j  V5 u, }# L3 ^& a
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] * h7 [% M8 Q& b. P3 h% }3 A, `
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
+ }8 A- H4 H+ _: o+ j0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] ! K$ b2 A7 V4 v! b: O8 h7 Z
0132D9F0  .  50            push    eax                              ; /Bottom 1 [% u2 |/ k$ e  F) l! w6 e
0132D9F1  .  51            push    ecx                              ; |Right
7 j! d9 x4 V) y5 C/ w0132D9F2  .  6A 00        push    0                                ; |Top = 0 * R7 w' C) {4 B- A6 A! n
0132D9F4  .  6A 00        push    0                                ; |Left = 0 % O- D0 H4 Z( E" L' d$ u# z! O7 ?
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
6 [6 F% n) }0 \$ t" H6 [# T. e+ H0132D9FA  .  52            push    edx                              ; |pRect
/ F. q* m7 ]$ n0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
8 T0 {2 q2 S" [" Z; k$ g0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH * D+ Q% d# w. N+ q" ^4 A
0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
, S3 A* M# A1 u; N5 h* s0132DA09  .  50            push    eax                              ; /hBrush
" {# c: r/ X4 @7 m3 Y( i2 I0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | , [5 x7 r) H5 V( I; k
0132DA0E  .  50            push    eax                              ; |pRect $ l! j, I" q- M! \( T# b9 g, R
0132DA0F  .  55            push    ebp                              ; |hDC : b6 f/ E4 h" v
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
6 b3 ?6 e* ?! x& H; y0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> 4 a0 c$ \4 e1 D+ N
0132DA18  .  55            push    ebp                              ; |hDC 0 A) S" ^# i' V9 M9 A3 r( x
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
/ F# h5 E. C/ C1 t" `( r( ]% X) h0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
! {9 ?* j9 d- L: e* j# M0 ~0132DA24  .  55            push    ebp                              ; |hDC
- p8 ?; f" r- I: e$ G0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) @: R6 e# m; I" c* j9 I
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
) j0 N: M* S% G: m/ R5 m0132DA2D  .  55            push    ebp                              ; |hDC
- f, j  b: \0 W; D0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode 4 Y5 g9 ~7 F8 H  s( R4 k
0132DA34  .  33F6          xor    esi, esi
' k0 T  {% X$ X8 m# Q0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
% o" p" q1 J+ z" Z  Q: O! S0132DA39  .  BB 01000000  mov    ebx, 1
9 O3 }- B  m- H' _' \% [; |0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx ' ]7 O( \1 h8 z, o. D2 C
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
0 H( y, f4 k5 h. z$ \0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
# [/ [, E0 [) N# G0132DA4A  .  0F8E 20010000 jle    0132DB70 + X- d9 D7 j- Q
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] $ R  H3 Q+ O6 ^5 v
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] " V6 c8 O" R& d; E, l
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi # |) m9 I! e6 q3 S( E4 s& m3 J9 k
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax . h& p& C  `2 [
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] % J( J- }3 a$ P% C
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
  J0 u1 A& l2 S) I0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] ( ]6 Y* l2 u& W- b  D; u1 F
0132DA72  .  EB 04        jmp    short 0132DA78
, U/ O; y: d& Z7 P0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] ' S5 b0 y  ?: {6 W. I1 D  x5 x' T
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20] ; F4 _0 R. [$ H6 `: u. r
0132DA7B  .  66:8B08      mov    cx, word ptr [eax] + e$ A0 p+ N5 }: n, V0 E* a
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
1 Z( ?" ~/ [0 d0 j, j0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx 8 b2 ?" b$ T; M) n3 K  f
0132DA86  .  0FB700        movzx  eax, word ptr [eax]
6 Z: P9 h% f4 p0 z0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] ) D5 z! Q% d* T3 @; C
0132DA8C  .  51            push    ecx                              ; /pABC
) j+ w2 N; w! Z' j, `3 O( ?0132DA8D  .  50            push    eax                              ; |LastChar ! N2 n( H, g, `9 O7 W
0132DA8E  .  50            push    eax                              ; |FirstChar 1 }$ m. n( f5 N
0132DA8F  .  55            push    ebp                              ; |hDC
. T' L& I7 ^- n4 p0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 7 {. Y+ ~( O+ d3 l! c
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 3 ~( }) b, `( g& B
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
) _% Z7 r6 T( [5 |* V0132DA9E  .  73 10        jnb    short 0132DAB0
+ R0 E( W& B) w7 V) `0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 0 H) @6 @  x7 A& A5 U6 L
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
1 {' q# A$ J4 D  n* p7 g/ Z* Q0132DAAE  .  EB 0C        jmp    short 0132DABC
2 K1 V8 B. Z& f7 j4 [. u0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 $ i( Z' _& M9 r" M3 e$ h
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 : r( |8 l; _1 v/ i* ^1 I
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
5 Q! `4 ?. |' R5 @* p& D  f5 ]0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]   N3 u: E# I/ y& j, \2 o6 c9 j( [: W
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
9 S2 o' O8 Z$ A$ O4 x0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
- T8 H8 }2 }6 P$ c; p- a0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] ) N( {- n' f4 X9 Z6 n. U" e" O
0132DACE  .  72 14        jb      short 0132DAE4 ) X: A; l- `' ]" T
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
" i7 R- N0 m" u5 O0132DAD3  .  BB 01000000  mov    ebx, 1
4 ]; G  v3 }5 z" k' L" ~) [0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] - G  H( b5 j' b: v' z- D3 q
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx , Y. ?3 a: Q7 }* v% ~
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 8 r9 f2 t: }& z" Z& n. [7 O
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
! U) h3 G) e, Z0 B' F0132DAE8  .  03CB          add    ecx, ebx
% I+ K$ o4 C! J0132DAEA  .  85C9          test    ecx, ecx - ~: `; d2 w  ~0 X5 j
0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
- @5 H# s5 @" W# Q- P; c0132DAF0  .  D9C0          fld    st
$ a1 g) F( O# f6 C: i& |0 v3 g0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx $ H% I9 d. j9 n
0132DAF6  .  DEFA          fdivp  st(2), st
5 q: h- V0 d; d8 \2 C: b+ I& e0132DAF8  .  D9C9          fxch    st(1)
/ y& {  E& ?/ {* D1 n0132DAFA  .  D91E          fstp    dword ptr [esi]
! O+ X+ \% q8 h$ i$ i  o  u+ G0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
6 a9 N# K& M: H% C1 r  m3 f8 I0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
: m3 U5 x" f0 J" ^0132DB04  .  D9C0          fld    st
0 f  x% t5 G5 {- f0132DB06  .  DEFA          fdivp  st(2), st
' S( i0 R; c0 h7 [7 i7 O0 b0132DB08  .  D9C9          fxch    st(1)
% y9 Q" _4 @: m0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
* `& {5 F& d# `" @9 S0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
- x" m8 r$ y8 p( W0132DB11  .  7D 06        jge    short 0132DB19
& l' @7 C8 v/ W$ T0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
( y/ M+ Y# |( N& _3 T0132DB19  >  DEF2          fdivrp  st(2), st " Z9 f: g9 p/ |" t$ ^+ `! f0 }
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
4 C8 F' K+ X. F  k2 S' d+ {  o, y' M2 x) N0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
6 b* q0 P! T# A/ p0 l0132DB21  .  52            push    edx                              ; |String
0 d& y7 ?* N$ D; g0132DB22  .  50            push    eax                              ; |YStart
8 i7 z9 v6 u; q0132DB23  .  D9C9          fxch    st(1)                            ; |
. _3 w8 A* d: N* r0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |   A% y7 T' h# h( H
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 7 A, L! c, t% _1 K+ n1 I0 @* |; a
0132DB2B  .  03C8          add    ecx, eax                        ; | ' N4 ^! G/ C+ ^8 q; ^3 \
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
% H$ \6 c$ @$ u' {* {1 m0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | + t  M0 I, G: z0 z
0132DB35  .  8BC3          mov    eax, ebx                        ; | 8 v9 j9 K5 D4 g7 r  c$ a
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
' p6 h9 h. y$ P! C2 E& v( x0132DB3A  .  50            push    eax                              ; |XStart
" c' U  K9 n) k$ r# K0132DB3B  .  55            push    ebp                              ; |hDC 6 {4 q; ?: f4 X/ E. y; f6 `, m
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
) P4 h+ s4 @$ |  J0 t5 {' p3 U0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
. T- B& V& z# ^  d) @' d0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] ( I4 I' y- Y+ f+ E. K
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
# ?+ t# q: j4 N+ Y& N/ o/ p0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
* ~+ z/ S3 `4 |; H& z7 k0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 6 H  i- _. I- g
0132DB56  .  83C0 01      add    eax, 1 2 y; H' n3 [" k3 v
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] 1 ?: {, U8 @4 Y& ]4 K( u! t
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 6 K4 z* b% D" u, i: B) k
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx
0 N2 i( A& x4 X# E8 d0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax 2 i$ H1 \4 o* P! t2 y# T
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
  p3 t: I7 P" P( R, F; z6 P# @0132DB6E  .  33F6          xor    esi, esi - C* r- _6 O' {9 e( r3 X  k- \
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
1 M9 M( ^' L$ Z/ r  q# X8 J0132DB73  .  6A FF        push    -1
% i2 ?' O1 i" \" V  C7 n0132DB75  .  83C1 38      add    ecx, 38
4 Z' ~5 T; @% g- O5 ?# j- r0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> % o/ S: a/ r2 T* v
0132DB7D  .  8BD8          mov    ebx, eax
: V* B  C( P: g& S, S) }0 {0 |0132DB7F  .  3BDE          cmp    ebx, esi
5 u% t$ Z3 K, F0 r0 R0 k0132DB81  .  74 74        je      short 0132DBF7
# c2 D4 r" A6 c. G2 s0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] ! w+ J+ S& j6 Y2 K5 r& W$ S% T
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
4 t5 ]0 ^+ S- P1 L& w& q0132DB8B  .  52            push    edx                              ; /Buffer
# V" v, s' c& c! ^0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
% B: _8 J. t+ t+ @0132DB8E  .  50            push    eax                              ; |hObject
+ J) I2 C6 _" C: f* x5 o, i2 z0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA / K9 Z2 \6 d2 i
0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
/ M  C' p! {7 M6 l! e. V0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
, o! g6 c7 x; k6 S- e0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C] 3 d+ k$ p1 O, O! M3 _, N( a7 e  B
0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] % H  ~9 k: n: G( R: p1 C& N* I
0132DBA5  .  85C9          test    ecx, ecx ( l- }" f- k$ |7 R8 T8 O% J
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 9 n0 d- p# y- p& r
0132DBAF  .  7E 46        jle    short 0132DBF7 - B" G- q2 i1 O* y) \) `
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
- c! q: T5 i  r: I8 K# L0132DBB5  >  33C0          xor    eax, eax # d) Y' Y* W  z3 T: F# V; b* B
0132DBB7  .  85D2          test    edx, edx " j. i0 w$ S" V  Y/ K
0132DBB9  .  7E 26        jle    short 0132DBE1
" L# M# ^6 n% d/ b! h0132DBBB  .  8BCE          mov    ecx, esi
2 I: ?! _" e" |0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
3 @3 e+ V" Z; S& Q: [/ g) j0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
# q: B8 I% i4 F0 z0132DBC3  .  C1E2 18      shl    edx, 18 ' T- `- u4 [3 ^  h' j1 a
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF 4 t; Y! [1 o' D) L3 y* d
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
; Y$ d7 n6 t0 B8 Z$ S9 u- {0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
+ g6 Z3 H% j. y( j! t' T7 L0132DBD3  .  83C0 01      add    eax, 1
0 o& `6 V8 B8 o# \# |0132DBD6  .  83C1 03      add    ecx, 3 9 C4 C! Q$ \- q3 k4 [% t
0132DBD9  .  3BC2          cmp    eax, edx
4 K/ F: f7 E# M( K. U6 n! g0132DBDB  .^ 7C E3        jl      short 0132DBC0
8 I) R: R+ A, g5 V7 ~( p0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
- n  N1 T- m3 ~7 b3 D4 U# l0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
# u0 }. U$ ~2 R3 U0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
+ V8 O2 B/ z+ w0132DBE9  .  83C0 01      add    eax, 1 2 j6 Y+ \0 x" x0 H1 D) i
0132DBEC  .  3BC1          cmp    eax, ecx 6 ?5 `5 R9 ^! v
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] , W( A3 C+ X+ J& s9 F
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax % }3 {5 K) d5 R' q' C
0132DBF5  .^ 7C BE        jl      short 0132DBB5
& T' U; y9 s6 H! n  b0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
2 P" C! o4 V" A& e0132DBFA  .  6A FF        push    -1 . R& }! R7 U9 S$ D3 w
0132DBFC  .  83C1 38      add    ecx, 38
" L$ w. A" V) h5 P2 R" }0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> ' m/ b+ K5 E2 e7 \: r( A
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] - Q& b4 K% M9 b6 L
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 7 v2 x* T6 E2 s7 i. A# p4 a
0132DC0E  .  50            push    eax                              ; /hObject ( l9 ~# v' ^0 C; B' X( Z4 Y. _: I4 d
0132DC0F  .  55            push    ebp                              ; |hDC
0 c9 [! e6 `/ L* O( \0132DC10  .  FFD6          call    esi                              ; \SelectObject $ l8 `- A2 m0 k" A' @- v
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] / ^6 F! {7 d' i/ A" [7 |
0132DC16  .  51            push    ecx
, b2 ?5 ?6 ^, m$ v1 J0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
$ w6 l1 D& a# w- g! ]0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
9 O8 t) K) _7 O' z; z$ M0132DC21  .  83C4 04      add    esp, 4 5 X! O( t' d6 S6 w0 B
0132DC24  .  52            push    edx
0 _+ `9 U6 R! m. U0132DC25  .  55            push    ebp
$ M% v. c* a. J0 B0132DC26  .  FFD6          call    esi 2 Q( u% u' Z2 ]6 R
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] ' o; I' b; X1 s, P  E5 ]* F5 \
0132DC2C  .  50            push    eax
4 o( f/ i5 l8 x( j5 e; }$ w0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
) x( J0 ]( N- P  P5 u$ |3 V0132DC33  .  83C4 04      add    esp, 4   R' t7 z3 c9 s# z8 ^
0132DC36  .  55            push    ebp                              ; /hDC
0 L+ ]2 ?3 C5 |0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC . O7 k/ J2 T0 b0 P  l
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] $ i* G7 ^- ^3 c7 _2 j
0132DC41  .  6A 00        push    0
: V- ?! M1 |: J; k- d; F0132DC43  .  51            push    ecx
7 U, |$ Y% _2 H# l( c3 f0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
0 O( e& M% h% @2 U) [; f! W0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> : t1 k( m# v! x4 @% j! i
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
1 @  H8 |" j/ P0132DC4F  .  6A 01        push    1 ) o& ?6 U) F: R! \2 y9 n9 R6 h- ~
0132DC51  .  83C1 38      add    ecx, 38
2 u4 o5 \5 I' j5 J! S0 w0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> * V( K/ V8 X# C6 G, `" ]1 f5 s
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] 0 b7 R  a* H, ?7 |' }3 a* j( \* l
0132DC5C  .  8B11          mov    edx, dword ptr [ecx] 2 r2 @4 M) F5 p% i9 [3 e
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
( j  T8 m$ {2 N* `0132DC61  .  6A 00        push    0 7 W6 ^* ?1 z2 J0 t& L6 q- r+ m' T
0132DC63  .  FFD0          call    eax " l3 h4 K" S# |
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
) S  K! t/ Z% d) H- p. {9 r6 H8 u0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] / \3 r  B: J7 ?0 ~3 T( A0 U1 c
0132DC6C  .  33C0          xor    eax, eax
* \/ m3 Q& a+ j; a' r& v9 |1 G6 W0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] - i' l5 _. V6 j; X2 a, d/ G+ E- l
0132DC75  .  5D            pop    ebp
3 J7 H6 b2 u, Y8 \5 N; G0132DC76  .  0F9CC0        setl    al
, r( L+ g# @) h9 Z1 |: E0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] ! _* Y$ D, W% w' `7 p
0132DC80  .  5F            pop    edi
- d) ~4 F" @. ^  }) U( v+ w0132DC81  .  5E            pop    esi & N6 G4 n5 p% J4 m
0132DC82  .  5B            pop    ebx / e' F, l( j. n/ u
0132DC83  .  33CC          xor    ecx, esp
3 p9 W* ~# H4 J# D& c6 T9 X' N; V" ]0132DC85  .  E8 E2460500  call    0138236C
, D  ]  x& @: R; W  k2 j, H0 l4 \0132DC8A  .  81C4 98040000 add    esp, 498   L/ I% T& J: ]) [/ a4 `! C4 h: a
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.
$ n& s; A8 X' x1 x/ ^& k0 T8 q- }分析说明也许以后会补上。. ^' @5 w1 S- g# T5 O8 s" l
9 Q! h  v3 l# i9 m+ I9 g7 ?; M
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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