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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
4 G2 F* s: ?3 c7 `! P+ Q, o9 C+ L8 W% ^1 x* X
0132D7E0  $  81EC 98040000 sub    esp, 498
3 b+ o" o0 p; {0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
5 C8 x9 z* a, V8 \8 D6 w2 K5 O0132D7EB  .  33C4          xor    eax, esp . I/ f1 C; n8 l+ X
0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax $ Q  O6 A1 b4 D* ]$ I; e* w' ?, U4 Q
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
7 w( ^6 n, f; ^; Q6 b, p* U0132D7FB  .  53            push    ebx , @. D3 x% s7 }0 ^2 s) \
0132D7FC  .  56            push    esi ) {" N* p; T: {+ h. O/ ~# s9 X
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
: l* d& d: t6 Z0132D804  .  57            push    edi
" _9 \) v# S* V' j3 N0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
, M( P7 w1 _" X/ n( y& g+ a/ ?0132D807  .  8BF9          mov    edi, ecx                        ; |
/ Z8 i! i) \6 S0 _) Q7 P: D0 Q% L0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
3 v* s6 C6 C) l1 e* z2 L; ~0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | " v" w6 ~$ }% ]6 J1 r2 H
0132D814  .  6A 00        push    0                                ; |c = 00
8 W3 ^* P# ?5 B8 y! q0132D816  .  52            push    edx                              ; |s
; ~  i  `! g! M1 ]# K: H0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | / x) [. h- Q+ X8 ^7 f' ^4 E
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | # N6 V7 X6 z- K  ]% j
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
) e. G6 ^' R- A" [: E: p3 o! H  z" I0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
' P6 a: K+ z) ~; L4 p4 o, M. |1 y0132D82C  .  83C4 0C      add    esp, 0C . I, t2 r; ~# ~: S1 Z% a  D9 ?
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
' h( |8 h& Y/ l  ^" \0132D837  .  74 12        je      short 0132D84B
( `* X3 q# `! B8 s4 t0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] % K, B( m0 G5 Q% B* ~# @
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
* o3 o# C% K8 k0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
" N# N5 l  J. _2 Y" K/ D" g& d) N0132D849  .  EB 32        jmp    short 0132D87D
0 f' w; p4 k6 R8 b% x0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 6 s3 Y3 B: P6 D- w( d/ T. S$ V
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
& p6 ?8 l  @8 }0132D855  .  33C0          xor    eax, eax
. s6 H7 X, I% I8 w7 a* X$ l0132D857  .  EB 07        jmp    short 0132D860 ) ~( Q: N2 D* J5 Z$ f
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] % `# \8 K5 I& z0 E6 S, B* g
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
9 |+ e/ Z. q; B+ P# R) ^0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 2 N  w7 L" {9 U; e4 ^3 ?9 T
0132D86B  .  83C0 01      add    eax, 1 3 G2 Y& m: j5 y: K# c
0132D86E  .  3BC1          cmp    eax, ecx
7 s$ h. f: k# f  _* }! l- b/ N0132D870  .^ 7C EE        jl      short 0132D860
; U# V4 I2 c/ j4 ?# k$ }# W% v. y8 P0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
! I6 A8 ~) T$ u( b: u0 l; E2 k0132D879  .  894424 0C    mov    dword ptr [esp+C], eax % a, a0 r' @+ x  P# a" o7 D1 ^, b
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] ( A0 w3 R9 w$ M3 o
0132D880  .  85C0          test    eax, eax 2 J5 I+ S8 D/ p8 [% S8 A3 ]$ R
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
4 {' S( R% D& U8 ~/ t0132D885  .  75 05        jnz    short 0132D88C . ~4 z8 a( b- ^- i
0132D887  .  B8 16263901  mov    eax, 01392616
; M: {" ?0 {  Y& p0132D88C  >  6A 00        push    0   E5 W1 `- p6 [3 W5 g, F
0132D88E  .  6A 00        push    0
% s  E6 R8 B- V0 V5 G2 w9 `0132D890  .  50            push    eax % b0 n- p' F' B- l5 x& Y: b) g
0132D891  .  6A 1F        push    1F
/ D& Y# E; l/ Z0132D893  .  8BCE          mov    ecx, esi + N; O: m$ _6 ?, p' c
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> ! I  R' d6 V: a. Y# k8 P
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
1 I& `0 p9 R6 X* O$ m: Z0132D8A1  .  6A 00        push    0
& O+ r+ r) J( _' t4 e0132D8A3  .  6A 20        push    20 ' M6 v0 X5 N8 l* c6 n
0132D8A5  .  51            push    ecx
5 ]4 }4 n7 _" ?  m2 p0 x0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
7 g: W3 g% f2 j" @% C0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
, _2 o9 r" k' W6 C0132D8B0  .  8B10          mov    edx, dword ptr [eax] 9 `1 Y' l5 o. v
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
7 \$ d& v# i5 a0132D8B5  .  51            push    ecx ; \( ?1 d  Y& J& F3 C
0132D8B6  .  8BC8          mov    ecx, eax
* I4 s% r, b% ]2 m4 Y0132D8B8  .  FFD2          call    edx
. V0 P$ R, Z) c4 J$ |+ U) B0132D8BA  .  85C0          test    eax, eax 6 I- Q& J( E1 j" i# S# M
0132D8BC  .  75 07        jnz    short 0132D8C5 ! c* |: @0 _# T& v' S& z: \
0132D8BE  .  32C0          xor    al, al
5 j0 G7 c7 s2 J7 O5 U  j7 O0132D8C0  .  E9 B4030000  jmp    0132DC79 : J9 _) |- Z0 i& ~) o
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
: j2 [8 z5 M* f" Z* d0132D8C8  .  8B01          mov    eax, dword ptr [ecx] ! V* ^7 `0 F. r+ O3 p
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
6 w; f1 ?6 D9 c) ?" [% l: s& |; P0132D8D0  .  55            push    ebp % [7 P8 B; u. I0 Q; {; U  Z$ \% D
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70]
0 L1 o5 X( W, R2 D' ^& C$ u6 ^0132D8D5  .  52            push    edx
  \4 f5 x% |; V! M* F: {5 {0132D8D6  .  FFD0          call    eax
/ T2 i/ H( d- o; O0132D8D8  .  6A 00        push    0                                ; /hDC = NULL 8 m% I5 a4 o" H: E
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
8 A& Z2 P" q( V) a0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 1 B& x( \. Z2 ~2 q
0132D8E4  .  51            push    ecx
) B6 T* Q* W4 K0 O& E0132D8E5  .  8BE8          mov    ebp, eax 9 w# j+ Z' b6 q' N; O
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap 6 k: _0 [- J& Z7 d8 M; U
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 9 E2 _' `% a% C  [1 J1 X0 q, [
0132D8F3  .  83C4 04      add    esp, 4
2 I/ S" c/ l# a2 I+ i0132D8F6  .  50            push    eax                              ; /hObject , |, T. A6 q# S0 _: P2 s. V5 ?, _
0132D8F7  .  55            push    ebp                              ; |hDC ) D, Y* Q5 E3 r) b, x( Y; E
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
' W) a. w& U$ O# U# ^' m+ {0132D8FC  .  FFD6          call    esi                              ; \SelectObject
# E, _" w6 u7 Y) s% x0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] 3 e* l; X# Q4 M0 p+ l5 t: v' P
0132D902  .  52            push    edx
2 N' C( u8 }2 [+ Y2 y0132D903  .  8BCB          mov    ecx, ebx + l$ A1 [2 q5 j* [" S: q
0132D905  .  894424 40    mov    dword ptr [esp+40], eax
# W4 o' o$ R6 K" H0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= 9 l4 t% ~$ ?- t. e+ ~9 t
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
+ t1 T2 z8 y3 I; a6 |9 F9 b- d0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) 5 h* b4 u. d# k& K; E
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
( c6 ]# G9 O  Q1 Y0 g2 C# {0132D91A  .  55            push    ebp                              ; ||hDC 5 p- {9 Q5 V9 |$ o8 e8 ]
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
; k, j$ c3 X, T/ K& m6 \9 ?5 O0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ' z" g2 c* G+ P# R- o5 A# J
0132D924  .  50            push    eax                              ; |Multiplier
0 ^# ?& {5 r6 V+ X" A. Z. n0 L+ O0132D925  .  53            push    ebx                              ; |Multiplicand
& e$ l( N% Z3 j0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
- H: j/ ~3 m8 k- \$ C0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] 9 ]: R- C5 `9 y) u# L9 A- X
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] : i  \! l' a9 b8 h9 P
0132D937  .  51            push    ecx                              ; /FaceName . J) x) `  e& E
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | . Q; d& z2 l4 Y1 f, a. u
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 6 {* L; k3 ~3 u
0132D941  .  52            push    edx                              ; |Quality " k& b# i- Y/ @' Y+ P* P% l
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS & d7 J( H* H) k3 I0 C8 q
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 1 N2 w3 g1 P6 ^& J! s
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET ; C* y4 Y9 X% f  j
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
: v( N1 G( K" z$ X+ @0132D94A  .  8BD1          mov    edx, ecx                        ; |
2 ?( i1 F2 {+ D4 i3 d% i$ h7 D+ l0132D94C  .  D1EA          shr    edx, 1                          ; |
; J0 U" V) o# P: k) ^0132D94E  .  83E2 01      and    edx, 1                          ; | - G4 e! e! X4 y0 u/ Z
0132D951  .  52            push    edx                              ; |Underline * b4 J8 C2 z5 u% z1 K8 `$ {7 T
0132D952  .  83E1 01      and    ecx, 1                          ; | - i; x' D# o& i% J  B
0132D955  .  51            push    ecx                              ; |Italic
; o$ r9 u9 z; T) A+ k  m7 @% p7 \0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | 6 I/ j% O. z$ L( c
0132D95D  .  51            push    ecx                              ; |Weight
* n: q- ^8 @& l8 f# o3 R0132D95E  .  6A 00        push    0                                ; |Orientation = 0
+ X: v$ d+ ^$ K1 t# A% q: d0132D960  .  6A 00        push    0                                ; |Escapement = 0
$ O% I8 q7 O" i7 F" F4 D0132D962  .  F7D8          neg    eax                              ; | * [' u, Y( P2 J, v7 m/ h
0132D964  .  6A 00        push    0                                ; |Width = 0 2 x8 m# [% e6 T7 b. g
0132D966  .  50            push    eax                              ; |Height . ]8 `& R/ J- |3 _" z
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
, S% j# |' W+ X2 C% ~" }, N% P' N0 ?0132D96D  .  50            push    eax $ H( U0 y/ K% P* U# K6 x3 {  N
0132D96E  .  55            push    ebp
  b8 ]1 r* M9 t4 Y1 l; B0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
; m$ [( j' U, ~, z* d0132D973  .  FFD6          call    esi % `4 B/ ?  Q& F* k
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] / ~5 d8 [7 _/ y( C& I3 }  U
0132D979  .  52            push    edx                              ; /pSize / E! a' S$ p. H" d# l) C
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
7 {% H1 P/ Y$ c) A: w6 ?8 \, U3 }/ ^, p0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
' _2 t4 }7 y4 m0132D981  .  55            push    ebp                              ; |hDC , V3 ?& X: s' ~+ k  x1 z# p& J! y6 r
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
, L- z& Y2 [+ Y) e0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA + X9 M9 v' r/ ^8 n8 k; ~, v$ y0 ]
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] & i+ G$ e/ w! f& k) V$ O# l% A  ^
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] / R) ~1 T: p1 L$ n3 s) t9 E
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
( }; q) B- |% I1 Y9 c; L7 J7 ~0132D996  .  33C9          xor    ecx, ecx ) S# E8 z3 `: @. K
0132D998  .  8BC6          mov    eax, esi
, U+ X8 {: V6 P, k; D0132D99A  .  BA 20000000  mov    edx, 20 9 d4 N* Q! ?1 W# W) L+ F
0132D99F  .  F7E2          mul    edx
" ?: b/ K2 T+ N0132D9A1  .  0F90C1        seto    cl ) W; v8 g8 J5 [7 A# ?( Z/ d
0132D9A4  .  F7D9          neg    ecx
9 h) h8 V- F- }8 P9 z/ |6 ~0132D9A6  .  0BC8          or      ecx, eax
7 E4 ~8 ~& J& R6 ]5 Z7 R4 y0132D9A8  .  51            push    ecx
! D6 W9 v* ~5 B! {$ t0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> 1 _' o4 T0 Q7 b( `  Y8 T" M
0132D9AE  .  83C4 04      add    esp, 4 # k% j5 A: C% c" q# x
0132D9B1  .  85C0          test    eax, eax 1 S8 v8 U, c* R% r
0132D9B3  .  74 28        je      short 0132D9DD
& k. S+ m( z6 K1 L' l  H0132D9B5  .  83C6 FF      add    esi, -1 ! O0 N0 d' x! u; v. Y
0132D9B8  .  78 25        js      short 0132D9DF
4 h, C: g2 L- a8 X0132D9BA  .  D9EE          fldz
- M7 z6 r  ]* B; p  \0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
( Z6 n' a& T  M& ?, t& N! o0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
$ K3 a& G: f0 f/ ?0132D9C2  .  83C1 20      add    ecx, 20 9 {  [) _7 z, e% [* R+ X3 q
0132D9C5  .  83EE 01      sub    esi, 1
# Z, f" ?5 Y; p0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
: ^1 Q8 C8 L6 [7 |) P$ g0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
6 B7 N" M! @% F( M. N0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
3 m  \- K# Q6 [4 ]0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
7 |0 G) X3 O( w  s0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] ) i2 D: `7 O' z" W- u! m
0132D9D7  .^ 79 E6        jns    short 0132D9BF
7 y5 k: k  d, M! d0132D9D9  .  DDD8          fstp    st 5 Y% ~3 L1 ^- Q4 Q
0132D9DB  .  EB 02        jmp    short 0132D9DF
- d+ ]; D8 F  ^0 G& N7 L0132D9DD  >  33C0          xor    eax, eax 7 l/ k* |" I- e" @( u/ |% \
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 3 P. s! A! n+ p9 l7 @8 X# y
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 8 n( n" g8 h. o0 j$ O. S6 P" O' W
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC]
6 y/ {- h& K% |2 Z0132D9F0  .  50            push    eax                              ; /Bottom 9 ], f( `; D+ i1 F+ E7 h
0132D9F1  .  51            push    ecx                              ; |Right
. K( G/ q) W5 C. R' I0132D9F2  .  6A 00        push    0                                ; |Top = 0
- @0 K1 {+ \5 H0132D9F4  .  6A 00        push    0                                ; |Left = 0 " v. o/ K. v5 E* j  p; l5 S. l7 u
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
7 f. h. E* u+ k! ]% L0132D9FA  .  52            push    edx                              ; |pRect ) a* x& ~' [, e
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
# X$ m! }8 _& b6 Y9 r0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
$ s& z1 ^3 ?: v7 u3 `0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ! [; \/ x$ g. @9 R) F. W
0132DA09  .  50            push    eax                              ; /hBrush
" k: p+ r2 c, R( f, M5 \0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; | ! V0 k' Z( P/ j+ x2 D# D
0132DA0E  .  50            push    eax                              ; |pRect
5 D1 ]& C+ F: j0132DA0F  .  55            push    ebp                              ; |hDC
% a! N9 Y' p4 L  [  J: ]; y0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect ( S4 h0 @" Y3 [7 M+ d
0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
: t1 G; m) r5 F( _' D( F0132DA18  .  55            push    ebp                              ; |hDC $ z- }6 M) U6 R9 ]% l7 |( [% e
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor 0 m/ L2 t, h3 ]7 M$ s
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
% W* a; N/ e8 q0 C" T0132DA24  .  55            push    ebp                              ; |hDC + T* \  F2 |, x' q. z, ^. j
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
- @) \" a9 p6 A. \0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
; Q' d- Y: ^% ~& g0132DA2D  .  55            push    ebp                              ; |hDC 2 ^8 ~  B# r4 W% N
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode 6 z0 j0 d( m! f
0132DA34  .  33F6          xor    esi, esi $ V, S5 e* @. \
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi ' P- h/ {, w& v7 d
0132DA39  .  BB 01000000  mov    ebx, 1 3 D) y' m8 [6 u/ h
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx & c8 q3 g8 H7 }* `6 m
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
& B: ?7 d% G( X8 ~5 m8 n0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi 5 V7 d0 T/ o( g' k3 |( b
0132DA4A  .  0F8E 20010000 jle    0132DB70 1 R+ Z) {+ M- g. `& M) u$ @
0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
+ I) ]  l2 f) z: [! t$ _( u0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] - R6 r0 M+ U- g, E
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi + d7 O) ~; m6 N3 F
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
) O5 {- W- Z; A( n0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] 9 W. v/ {+ v8 k! R6 u: f
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
* d2 H4 V' [2 E3 R0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
0 q2 S! O# T+ C0132DA72  .  EB 04        jmp    short 0132DA78   o% u1 j$ Q: a1 y
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
' T$ ~0 o* d( y+ x+ R0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
- }- t+ j2 e& p2 g& f* a0132DA7B  .  66:8B08      mov    cx, word ptr [eax] ' _2 i( C8 s2 p2 e( h7 g& J0 \
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
. ]% c9 E& F; v$ N' z0 m# [: i0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
. c; K2 w  u3 f+ Q; I0132DA86  .  0FB700        movzx  eax, word ptr [eax]
- O$ D0 Q: K; U$ Q' \) @3 _  z0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
  v% T/ y: ~5 g1 J. ]5 j0132DA8C  .  51            push    ecx                              ; /pABC
+ Z  A0 k5 E6 M) C7 n2 Z' w6 d! y0132DA8D  .  50            push    eax                              ; |LastChar
7 v% j: o# e- z; V0132DA8E  .  50            push    eax                              ; |FirstChar
) l) S5 W6 e5 W+ W# U5 r- B0132DA8F  .  55            push    ebp                              ; |hDC
2 T5 v) g8 o  t( p2 L6 I0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW ) f. @1 W3 ?/ ^  d' V$ i
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 0 ]3 K7 f5 {* ]: w
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 : L6 n* |! U7 O/ |4 m
0132DA9E  .  73 10        jnb    short 0132DAB0
" h5 h  Y5 Z; r0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 " ], g8 q7 j# g3 j# c! I
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
" z0 `0 U# t* D$ X" {! c% k* w0132DAAE  .  EB 0C        jmp    short 0132DABC : H) z2 T2 B8 N% [* v
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1 ; O! L8 ~& S# {' @) J& U
0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 % K0 F% G" d& C" K3 S! X$ n
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
6 d7 h* y0 e: x/ p0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] & I1 G7 K  A, J$ M
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
8 B; z( |! Z2 R. X+ o1 z- p* V0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
" {. C3 v5 Z$ s  A# M: _0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
. C& ~- _8 E+ I& V' U0132DACE  .  72 14        jb      short 0132DAE4 0 y1 d9 _5 r1 T5 f  B0 e# F; K4 d
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
4 J- W6 [; D3 ?# F8 y4 W0132DAD3  .  BB 01000000  mov    ebx, 1
. i3 Q- A2 F( Q+ T1 K0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
" _0 s& Y6 e' f: g' `0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
$ Q+ u; ~6 B0 c2 x- z: r0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 6 \' b# @8 I8 C  j0 G
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] 9 |4 J/ Q. x# ?# r' w" p
0132DAE8  .  03CB          add    ecx, ebx 0 A5 K/ _; m6 l# w; i! s/ x
0132DAEA  .  85C9          test    ecx, ecx ! K  ?5 o0 j( v  j
0132DAEC  .  D94424 38    fld    dword ptr [esp+38] $ z2 Y7 b' o$ t; o, c; S3 `
0132DAF0  .  D9C0          fld    st
8 _  q: r" P, K8 i/ z! r0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx ; u- i  V. i: w
0132DAF6  .  DEFA          fdivp  st(2), st / L, a+ [& h% t2 ?" C2 B: v& d
0132DAF8  .  D9C9          fxch    st(1)
4 k& h8 ^$ w7 y) F7 ]" H0132DAFA  .  D91E          fstp    dword ptr [esi] : U# a% Z" I) w
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 6 g) \' v  @7 E* p7 Y( t+ T
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
  A9 c6 C- e2 v2 o) Z' H0132DB04  .  D9C0          fld    st
7 Q+ g/ Y* S  @/ e0132DB06  .  DEFA          fdivp  st(2), st
7 u9 `0 J, N+ q3 j. Y8 E0132DB08  .  D9C9          fxch    st(1)
  B! d5 G- D+ v3 H+ r, s0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
& V- ]0 I4 x& B/ y0 n# j0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 1 [# N, ]0 e' j2 o
0132DB11  .  7D 06        jge    short 0132DB19 / u$ C% e4 v9 p2 n" U3 I
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 6 g8 x4 E1 b0 @1 F$ e5 ]* Y
0132DB19  >  DEF2          fdivrp  st(2), st
) C8 }! v$ n6 [( F# U0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] & J  R& i( s1 s2 S0 u
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 + ?2 `5 o; f1 Q) ?0 l) z! o
0132DB21  .  52            push    edx                              ; |String & t: s5 E  X. i
0132DB22  .  50            push    eax                              ; |YStart 5 P, V8 p9 I; P0 Y3 r
0132DB23  .  D9C9          fxch    st(1)                            ; |
+ M! F9 [; T: |$ j2 ?0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | ( m" |1 e7 Y* l1 y
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
0 t- t. X$ U$ X( z4 g2 ?3 M4 k9 _0132DB2B  .  03C8          add    ecx, eax                        ; |
' P# ], c4 O' i: [0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | ! d# g( m0 M' Z- |. c- g
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
& z0 s. _! E0 @6 u0132DB35  .  8BC3          mov    eax, ebx                        ; | 7 Q" X: Q. J& P/ _, Z4 `" r
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
/ s8 n# o  N+ j+ e7 \  t0132DB3A  .  50            push    eax                              ; |XStart
3 G+ ]9 C5 x2 M) H0132DB3B  .  55            push    ebp                              ; |hDC - ^$ F1 n" f6 y6 q+ Z
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
3 u$ u0 Z" o" E% ]" c' m7 R0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
" V! W$ D# v9 ~8 t( B, ?0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
6 z3 J7 u" Y+ M  D0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] ' B. C( U/ ^, M: d+ x2 e
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 2 R. K* j$ E. _4 X- Z
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
9 U. Q2 g  z7 E. ~; x5 E) @4 m0132DB56  .  83C0 01      add    eax, 1 , p' A- o2 f* q) L+ Q4 o  ~
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] / I$ ~. v* ~* M( F# d. @2 Q5 B8 U& q
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 8 D/ V: ?1 e2 d. s
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx 5 e: H6 H; s8 d! h. D' n
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
  F9 D: }! }1 E" ~0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
; s. T8 G- \/ V! Z/ ~3 E2 `0 J0132DB6E  .  33F6          xor    esi, esi , A' R/ [8 z8 {/ ~# J4 [1 q
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]   O% U/ i5 I8 ^( ?& G2 y2 G
0132DB73  .  6A FF        push    -1
' j" E! |; a& t) L% z' S2 B0132DB75  .  83C1 38      add    ecx, 38   [4 Y: z, e6 z; U
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> . `+ `/ M+ t( H3 m
0132DB7D  .  8BD8          mov    ebx, eax ; b$ Z, G1 t1 ^+ K
0132DB7F  .  3BDE          cmp    ebx, esi
9 T- u" j* ?8 n  R0132DB81  .  74 74        je      short 0132DBF7
* k5 i! N5 ?4 e0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] - [$ X6 u5 U, j, n
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] * Q, Q/ L- {: d# w& f5 r) A
0132DB8B  .  52            push    edx                              ; /Buffer
. b4 O* O  L4 y3 n0 K0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) 6 m% c7 B' ]" L0 Y+ n& \
0132DB8E  .  50            push    eax                              ; |hObject
5 U; Z0 v6 p2 f' _1 W" ~0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
6 [6 ^1 H5 B2 k3 C$ F# n; w8 H4 j0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
  }3 Z, A6 y8 n4 H  M- _' f; e0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
# B1 u: q4 ?" `$ W: ?3 t) s0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
& k0 `0 u+ {2 h2 @+ S) r0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] % N9 m9 p1 N8 ^8 }% ~
0132DBA5  .  85C9          test    ecx, ecx
  i4 c' l# D% C2 O, T0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
- E/ G' S, w* h1 n0132DBAF  .  7E 46        jle    short 0132DBF7
8 e2 g& `3 z, M- a& Z0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
# z7 s/ y* o7 I0132DBB5  >  33C0          xor    eax, eax
( C1 x7 T3 M* o* ~3 F1 T' M0132DBB7  .  85D2          test    edx, edx / `1 s  I1 |' t; t$ h
0132DBB9  .  7E 26        jle    short 0132DBE1
! G# I0 |# |" z4 k3 M6 `7 i0132DBBB  .  8BCE          mov    ecx, esi ) X4 @* M. e! ~- O4 K
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx] ) y3 C5 X/ K) N: N% B; j4 {3 O
0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx] 8 E" h4 L) e$ Z, c* B+ z; d
0132DBC3  .  C1E2 18      shl    edx, 18
4 _7 E! P! p& O0 S! @6 K4 w0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
$ e$ K0 @! V$ f; ?1 N+ M0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx * _8 P- b0 y( D8 V* F3 _
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] " n8 z- h+ j( x  J* Q
0132DBD3  .  83C0 01      add    eax, 1
) s: a# ]$ Z0 V( L* _2 K; R- M0132DBD6  .  83C1 03      add    ecx, 3 2 U& p( k9 X4 l, w; x9 K0 d; C
0132DBD9  .  3BC2          cmp    eax, edx
: n5 u. u6 z. j8 h0132DBDB  .^ 7C E3        jl      short 0132DBC0 / k$ T" s- U; b% W! k* E9 q5 E
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 0 S" X7 o5 T5 E/ {8 \- u
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] ( m$ [, {" G- V2 u
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] ) t. Y/ Q' L  \; L8 E# [) F
0132DBE9  .  83C0 01      add    eax, 1
# X2 E; V9 p  ]/ k6 G+ |0132DBEC  .  3BC1          cmp    eax, ecx
# ~' V0 M! U) ?/ t0 A: X0 E  e: f0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] : Y: Y- Z2 |! N1 n
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
/ c, H! ?9 @0 O8 @2 j6 U$ s: w0 {0132DBF5  .^ 7C BE        jl      short 0132DBB5
. `5 L' S* k8 q, h1 }- H0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] * o- R8 O, y! c' T+ \7 V
0132DBFA  .  6A FF        push    -1 # M2 b! v* J; L. L; K, H# j4 a
0132DBFC  .  83C1 38      add    ecx, 38 8 O- \. s2 v5 A
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> : E1 t" d0 y3 {- C
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
- ]# m- N  U6 e2 {1 E' b0 N0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
: v1 F' y% Z' J' E. k1 a9 Q, }0132DC0E  .  50            push    eax                              ; /hObject % w( ^7 Z# |9 m) D+ f
0132DC0F  .  55            push    ebp                              ; |hDC / J" W* x0 i# c- I: z( E2 u. Y
0132DC10  .  FFD6          call    esi                              ; \SelectObject % w" ~/ a+ W' G  Y! M9 }: v' p" T
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] , v1 S* X7 X, x0 U! F) D, G
0132DC16  .  51            push    ecx 9 e4 {0 t* D% X$ ^0 c2 h
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
$ w* _5 t# u* j3 ?5 B0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]   L) l/ G, f9 n5 T, q
0132DC21  .  83C4 04      add    esp, 4
' w' t4 W! f1 U  K$ k9 ?0132DC24  .  52            push    edx ! e; Z9 t0 e) }& o3 P6 o, L' S
0132DC25  .  55            push    ebp $ _2 d4 U* A9 r" D5 T
0132DC26  .  FFD6          call    esi " d9 J2 q  ^3 O4 T- j* m) Z- B
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
9 y8 N5 W5 T  Q, D0132DC2C  .  50            push    eax
0 r; f2 U# w0 t4 O0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
3 h1 C& @2 |2 a  B* Z3 O* ]$ p- S0132DC33  .  83C4 04      add    esp, 4 ; k) s* A; \, j% u! e& c6 V
0132DC36  .  55            push    ebp                              ; /hDC
$ ^3 y, n7 e  M8 u# w2 m0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC , |5 |( Y5 K! R8 p8 f2 X7 J* `, `
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
# w8 I- i! A7 T. {/ C" O3 E$ _0132DC41  .  6A 00        push    0
$ `/ H, e. `: x% |  v& ~# M4 o0132DC43  .  51            push    ecx + V, b1 U) k+ h1 D
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
0 z* j; i/ i- j3 s) L! s, Z0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> ) z) B# U3 m! Y3 f3 F6 T" R- \
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
- ~$ f6 c/ P8 F. G% E, @0132DC4F  .  6A 01        push    1
' p3 O: ?( A2 R0132DC51  .  83C1 38      add    ecx, 38
* z2 f2 j1 E6 N# Q0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
9 N9 e4 I+ w& l- @6 x$ ]$ r0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
6 z, P; H' U1 v5 ^1 g# E9 k5 O0132DC5C  .  8B11          mov    edx, dword ptr [ecx] 5 ~5 {0 u0 c' D& \5 ]7 i0 R
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
& z7 c5 L: F5 I* R5 P& g" m0132DC61  .  6A 00        push    0 , L, N- {6 A$ N- L% T# ?+ s
0132DC63  .  FFD0          call    eax
. J# X7 W( V; C0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
! \% x: C( Q! B: i. q9 g; o) A1 y0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
' h- M1 S4 S9 {" I0132DC6C  .  33C0          xor    eax, eax
. F+ \& l% x; w/ P( [0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
) R6 y" l+ Z) _0132DC75  .  5D            pop    ebp
# j/ j5 v8 Z" I3 Z" V9 M+ B0132DC76  .  0F9CC0        setl    al
- A; T% ?: H7 U/ w+ n1 L7 |0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
3 H- _; j( o/ R) w0132DC80  .  5F            pop    edi 4 d) z  S2 S! }
0132DC81  .  5E            pop    esi
/ ?5 G5 f2 O; `( v( q1 n0132DC82  .  5B            pop    ebx 9 h: [, n4 D- G0 \
0132DC83  .  33CC          xor    ecx, esp 6 B. c$ b# T; Z" u) x3 @
0132DC85  .  E8 E2460500  call    0138236C
+ u2 P2 X8 C2 A: E; N$ j$ {( Q0132DC8A  .  81C4 98040000 add    esp, 498
+ S) s& e+ u2 i4 n3 X0132DC90  .  C2 2800      retn    28
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-1-10 16:37 | 只看该作者
回楼上,这个调试软件叫ollydbg,即OD,我用的是其修改版olly ice.6 ~# z6 R. {8 {  h( ]
分析说明也许以后会补上。, w' c( L, [8 w3 g
9 d9 w8 f5 g) i5 J/ C- |5 ^
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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