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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。 6 b  V  E6 d+ p* ]$ X4 a2 ^

5 T9 ]2 }2 _' F9 _5 F9 p: P0132D7E0  $  81EC 98040000 sub    esp, 498
: P' }- y2 t) n% V, X) B& q0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
; l% t  ~5 S' ~0 W% e" E" l2 I6 ]0132D7EB  .  33C4          xor    eax, esp
! A, ]( o( g, |0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax % o: k8 g9 k/ U6 `
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0] , s& G/ U7 r$ `- K/ y' ], @( d
0132D7FB  .  53            push    ebx
  b0 C; a/ o% P3 l/ `0132D7FC  .  56            push    esi
5 {8 S" C. F( I0 x/ s& _4 ~0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
1 T) S# G' {* I; X: T0132D804  .  57            push    edi 5 x  q. {( ~: @* H! m( l5 Q  b0 b
0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
% `! ]3 z/ x  i( C0132D807  .  8BF9          mov    edi, ecx                        ; | $ g5 C6 ^5 Q2 p. d! g
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
. k/ O7 R' A# y0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 8 n- u1 `  A# Q4 @9 T, `8 F8 v
0132D814  .  6A 00        push    0                                ; |c = 00
+ P/ c9 i! ?3 y% e0132D816  .  52            push    edx                              ; |s
" A) f8 d1 s1 ~- n! }( b8 `0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; | % Y, V- Q; h/ ]* u! G: o7 S  T
0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
/ z2 r' o# v7 T7 n0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
) g1 n; J# J. G, w" H' w0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
7 x) d! @2 x2 A) r9 b. H$ D0132D82C  .  83C4 0C      add    esp, 0C 9 `4 i4 o8 Q/ c7 ?7 d8 q( y$ e2 y
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
5 E- X6 @. n$ o0 g, V- @0132D837  .  74 12        je      short 0132D84B % a/ u5 o5 p* M* z% Y, [
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8] 1 {% Y3 Y2 R4 l" J9 S4 y
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
" K* v: j: \$ W# z3 B: q9 W4 H0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
5 |2 [5 J; \. U3 s" |: n) y0132D849  .  EB 32        jmp    short 0132D87D
9 l+ I) d6 J& [, z5 s0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
$ o& w5 r3 _7 N# I0 ]( N; l0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
) R7 C' S& q/ R4 A0132D855  .  33C0          xor    eax, eax
& q5 a+ Q& E4 b1 s7 o0132D857  .  EB 07        jmp    short 0132D860
2 W, ^& A! W; L; p( E+ l0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] $ S  S5 d! i0 ]1 G1 ~2 K0 a
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
7 N, ]& V* s9 V) s4 I0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx
, b: S5 L3 @( R6 \6 r0132D86B  .  83C0 01      add    eax, 1
  m* v3 k' Q8 b" ~1 s' e  Z0132D86E  .  3BC1          cmp    eax, ecx & A: j% P0 L. f1 H
0132D870  .^ 7C EE        jl      short 0132D860
" w, V6 x: v0 W* j" O0 v0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
$ d+ A* I: Q' C1 F) l$ v9 n: j0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 4 Y" P) J% ~$ p% _7 v3 [8 d
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C]
9 T& L4 y: R0 ~6 ^- {0132D880  .  85C0          test    eax, eax
: E  ~$ Z( r& ~1 d4 r/ R0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] 6 M/ G9 L2 c; ~6 L: C! |
0132D885  .  75 05        jnz    short 0132D88C 2 M7 Z2 C, B. v* A+ m
0132D887  .  B8 16263901  mov    eax, 01392616 5 |0 a; M' l3 |1 U' j
0132D88C  >  6A 00        push    0
1 N! M. R$ Q" M; Z2 U4 X0132D88E  .  6A 00        push    0
  t) s: {3 R  j7 m6 L* h0132D890  .  50            push    eax
* M; J9 `2 l  P4 [  J0132D891  .  6A 1F        push    1F # r' K2 A/ p# f. P. m/ m6 t
0132D893  .  8BCE          mov    ecx, esi
; L6 ^. {5 M: O" P0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 9 M2 F6 L% `8 g) M
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 2 ^( x  r6 i+ ?- s7 H# Q3 F6 F
0132D8A1  .  6A 00        push    0 5 k8 ~# t+ e" }% r
0132D8A3  .  6A 20        push    20
- R( Q+ l1 |( B8 Z/ J! C' Z0132D8A5  .  51            push    ecx $ K/ R8 w; k) O' {0 \6 Z
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
$ \; v* ~* r) d* X0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax % y5 q% h" k# x8 n' V( y
0132D8B0  .  8B10          mov    edx, dword ptr [eax] , [# S# S2 U" j& {
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
2 K& D9 ~4 C* t: \4 z( a% V0132D8B5  .  51            push    ecx
7 j3 O  \# n; {. }* K0132D8B6  .  8BC8          mov    ecx, eax
; o# |) a4 x# }, d0132D8B8  .  FFD2          call    edx 7 j5 H$ G+ ]4 X; |3 \+ Y
0132D8BA  .  85C0          test    eax, eax
! i! b; ^. N# l- E: t" J& f0132D8BC  .  75 07        jnz    short 0132D8C5
* ]" F$ I" y8 X; N4 ^( Y0132D8BE  .  32C0          xor    al, al : M; L* M1 j) J5 ?6 F0 c
0132D8C0  .  E9 B4030000  jmp    0132DC79 6 t) V+ k8 T' k! A8 q4 i4 h, ?
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
0 S; W0 n# ]2 r. E5 N4 p8 u/ X0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
% P" w5 |" Z- Q# r. C2 c" D0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] 1 T% _; y8 s' ?' Q$ u4 l" a
0132D8D0  .  55            push    ebp 4 N/ |/ \/ b$ V' V$ P* @0 U
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] / b4 {* U( L1 o- x8 }! m; j
0132D8D5  .  52            push    edx
0 M2 |' e1 L. G( U0132D8D6  .  FFD0          call    eax
0 a1 R$ |' a% o5 L0132D8D8  .  6A 00        push    0                                ; /hDC = NULL % R* o' C$ W' B- {( a0 C' Z
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC ' k4 V8 f, F. C( K
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
: M+ I( `$ {4 H4 Q0132D8E4  .  51            push    ecx 6 J! r7 W' e5 q, H- N, u+ _/ \
0132D8E5  .  8BE8          mov    ebp, eax $ c2 q9 q3 \$ P! \7 _4 N
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
& |- ]. J. L9 _8 v0 s0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
* l% u1 Z1 _3 K! e2 h# C0132D8F3  .  83C4 04      add    esp, 4 $ a7 U' @. `; x3 f/ z. F' t0 ^
0132D8F6  .  50            push    eax                              ; /hObject 8 J. J: G( }, `7 c* T3 E0 w
0132D8F7  .  55            push    ebp                              ; |hDC / n. w/ F6 _7 @2 M% T
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | " R% y2 }8 D% U. }' [. b
0132D8FC  .  FFD6          call    esi                              ; \SelectObject
9 ~% ?/ ?( E3 T% s8 Q0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] 9 L' [/ G, ?$ Q0 n& e, ], S
0132D902  .  52            push    edx
2 \# A8 R6 }- i/ u' w0132D903  .  8BCB          mov    ecx, ebx & t2 d* z0 e' O/ Z6 o. c
0132D905  .  894424 40    mov    dword ptr [esp+40], eax ' L' A, r" U: D: S5 q+ r
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
& X9 |+ _( R: A' q4 o0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
2 w7 o5 X. Z2 P2 U8 u; f0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) 9 u$ W+ Z! {$ j: P  {; S
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
/ h* c9 t3 }5 F# w. L0132D91A  .  55            push    ebp                              ; ||hDC
. s. U4 H* M9 D+ g, s/ I' A0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
/ D0 e3 Y8 b" L7 o# I  @0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps - x# S7 V/ P# L. P3 H
0132D924  .  50            push    eax                              ; |Multiplier + w; e+ [) d* Z6 Y1 `& I2 ~) {
0132D925  .  53            push    ebx                              ; |Multiplicand * |  g7 K& x1 _* Z" @& T3 X9 n+ i
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv ; d6 |( |8 F5 @: N' F$ a0 i
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
1 J, ]3 @$ A) j$ A9 G9 u0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
/ D+ Q) I" {9 z: T0 f0132D937  .  51            push    ecx                              ; /FaceName 7 K8 X2 F* ~# Y+ i4 |3 p
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | 7 W% N$ K8 @3 |4 F( u
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 5 A6 T0 n1 x+ y  h
0132D941  .  52            push    edx                              ; |Quality
% H" r/ b+ ?+ z3 L6 m: _% w7 p) D0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS / j% v, M  k2 Z+ b  O
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS 7 F! A6 P4 V4 v) N
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET - X2 w  ?7 s; g) L* ?& `
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE ) z  t- t  O" S/ b# L# v: n$ R& J# L
0132D94A  .  8BD1          mov    edx, ecx                        ; |
+ @4 G' v$ f% G) M  |6 W" D0132D94C  .  D1EA          shr    edx, 1                          ; |
3 s6 F4 o! {2 L' I' F0132D94E  .  83E2 01      and    edx, 1                          ; |
+ |/ {6 E4 ^" B* P: O! B0132D951  .  52            push    edx                              ; |Underline , S# r% l' m2 X/ g/ m- b" v: t( B0 l
0132D952  .  83E1 01      and    ecx, 1                          ; | - j. }  h% T' W# c8 f
0132D955  .  51            push    ecx                              ; |Italic
; Z) z  R& q/ C9 `. W0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; |
- {) ?: f* O1 j2 o; M- p& N. Z7 @* |0132D95D  .  51            push    ecx                              ; |Weight   \, c# \8 v$ P8 f
0132D95E  .  6A 00        push    0                                ; |Orientation = 0 # T: Y3 E% ~- r4 e( c
0132D960  .  6A 00        push    0                                ; |Escapement = 0   Q0 j* ?) e+ W, W1 B
0132D962  .  F7D8          neg    eax                              ; |
. K& U/ Z& {+ r( g0132D964  .  6A 00        push    0                                ; |Width = 0 2 I5 n$ w9 W+ t2 t5 Q& ]
0132D966  .  50            push    eax                              ; |Height / @9 j5 W" o9 h. P" u
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
! Q, }' h( r9 V& q3 ~0132D96D  .  50            push    eax - W0 A6 [" i/ }, R0 f3 q' ~* j
0132D96E  .  55            push    ebp . z/ u0 s- P: }  q
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
" S' x& ^9 z$ k% U9 Z) c* y- l0132D973  .  FFD6          call    esi
, l# g" F& v- v4 X9 i. }0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58] ) T! t* T/ ^/ u, W/ G  V! t
0132D979  .  52            push    edx                              ; /pSize
3 V( Z0 Q) t$ C8 q0132D97A  .  6A 01        push    1                                ; |TextLen = 1 - m  C  C* H8 f# r
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
7 @, c" L' y7 G4 t0132D981  .  55            push    ebp                              ; |hDC % ~( f  \( t% R2 y7 V
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | : U# W9 w; a$ @3 ~2 T$ a: R
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
; _- P8 l6 I  n/ l9 u/ Z, e7 ^! B! M0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] ' C: {& I( Z& `% u, s4 ]# w
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] 2 ~7 A0 L+ r; ]1 R* n9 N: m& Q$ F
0132D993  .  8947 18      mov    dword ptr [edi+18], eax : S' ?  B* p; d& ?' `) w# W/ c5 g
0132D996  .  33C9          xor    ecx, ecx
, Z4 U  C# ^+ X5 b3 S" z8 s0132D998  .  8BC6          mov    eax, esi 3 w5 y& ]  J" q9 j. ~6 ?7 e
0132D99A  .  BA 20000000  mov    edx, 20 & F3 R2 W9 V2 e2 b
0132D99F  .  F7E2          mul    edx - Z4 @, \9 _" b* y. ~0 |
0132D9A1  .  0F90C1        seto    cl ) s" m, ?8 o1 V& f0 r+ s
0132D9A4  .  F7D9          neg    ecx
. I* `1 u$ n6 r9 S0132D9A6  .  0BC8          or      ecx, eax
. I5 e/ o! R. \% S. ~/ a0132D9A8  .  51            push    ecx ; h. f% N" {; q6 L
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
0 E% a  |& x4 F5 G4 G0132D9AE  .  83C4 04      add    esp, 4 6 m' H( N! P8 C8 b
0132D9B1  .  85C0          test    eax, eax & h1 r8 b, r& \* C/ R
0132D9B3  .  74 28        je      short 0132D9DD
- ]8 l( u8 j) Y5 }3 C0132D9B5  .  83C6 FF      add    esi, -1
# F/ b* D' {1 O5 s0132D9B8  .  78 25        js      short 0132D9DF 4 F( e' x0 k" v% N. n
0132D9BA  .  D9EE          fldz
+ |) z8 [& d$ B3 D* o: k. p; C0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 8 _8 Z  z; P' s5 Y+ V  R
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] * c- _# y6 L# i. t1 z2 X
0132D9C2  .  83C1 20      add    ecx, 20
' w( e, z3 ^6 y$ W: {* H( O% b0132D9C5  .  83EE 01      sub    esi, 1
; G" o! }: E$ C, w0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
0 J5 @6 E6 h) {3 o+ }- `0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] + p* m; b4 f# `. O
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] ! Y1 Y. e8 j1 R5 r! ]( l( w
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] ; s% w6 b5 t. P
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
# p+ J- [7 ]! u; f! J' n$ \7 C0132D9D7  .^ 79 E6        jns    short 0132D9BF - N. i+ |% e8 X  T2 j- D- Z
0132D9D9  .  DDD8          fstp    st ) ?0 C/ y4 P: q: H* _( ?3 ~
0132D9DB  .  EB 02        jmp    short 0132D9DF
' ~+ R" e+ N4 p- Q+ ~) _- O0132D9DD  >  33C0          xor    eax, eax ( r, u. _* c/ V! B
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] # `8 [, }) c5 _
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 9 K" j1 G$ l- `% A) }5 D
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] $ q* [: ^! U0 G. }% J9 _
0132D9F0  .  50            push    eax                              ; /Bottom
/ Z1 J3 h4 q/ F  d0132D9F1  .  51            push    ecx                              ; |Right
2 S; h/ T, w9 D6 Z& s3 o0132D9F2  .  6A 00        push    0                                ; |Top = 0
" E) l. X0 H6 E( O6 m% k- J0132D9F4  .  6A 00        push    0                                ; |Left = 0 1 a# v$ J' w2 |: l4 Z+ f
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
- C4 x' o' ]* e0132D9FA  .  52            push    edx                              ; |pRect
% v4 l8 j8 m; U; F- q; a0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
+ m4 e8 Z. ~. L0 `) X" j0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
: y: f$ n1 \" e; g" X! l+ f0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject 4 Y# K% t$ Q4 z9 g/ L) @
0132DA09  .  50            push    eax                              ; /hBrush
8 a9 j4 K' m( x+ P+ j2 Y0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
% |/ ]: j5 l1 _+ y0132DA0E  .  50            push    eax                              ; |pRect 7 |: d/ R( I+ y5 x' J; u
0132DA0F  .  55            push    ebp                              ; |hDC 8 [3 s' h7 X) r* \: \
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
/ t& ]7 f: i& F" V. y6 z* Q0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
0 v, [! v/ ]  E$ Q% P0132DA18  .  55            push    ebp                              ; |hDC & c! ~# y1 G1 j6 l0 A% p' \
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
3 r& ]+ E6 C$ e" E, c0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
: }: n5 b( G6 t6 ?- R8 v2 p0132DA24  .  55            push    ebp                              ; |hDC 0 u- ?2 ^& {1 `! z4 N
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor . T9 [5 U7 m8 L
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT & @( k' z& y. E. m# S9 C1 D5 b
0132DA2D  .  55            push    ebp                              ; |hDC   G# V4 R8 @, e7 B2 O4 o
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode . H3 E. n( a3 Q7 R* k( A
0132DA34  .  33F6          xor    esi, esi , ^2 }4 Q3 L1 Q
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi
! E. @+ ^$ V. s/ w4 s$ }5 |0132DA39  .  BB 01000000  mov    ebx, 1
( i) @: ^: s& N; d* g0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx " l  k4 l- ~% L" M+ D; b) v
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi ) n9 o) o$ |) R  d7 k% c  Z% k2 @  q
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi 1 }8 E3 H6 W& H0 X' x
0132DA4A  .  0F8E 20010000 jle    0132DB70
) h3 @9 F, K& G0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8]
( m2 Q% J3 |2 }" A2 S: C' R7 Y0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
# n# X$ \7 M. t; Z4 U0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
6 u4 b& d, ]) X3 r6 @) r1 z4 Z# ^4 U0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
( a! J3 i- N4 H+ v  Q) J/ P) `0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
7 z/ ~% p! g8 \7 K0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
2 ~& E0 M6 `/ l% M" a0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
" {$ m- T1 _# ?+ v0132DA72  .  EB 04        jmp    short 0132DA78
- v, q: b5 l( r! T  T* [0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
) R7 `4 D6 o- A6 S/ r( u0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
3 Y* M* n' k  a5 q0132DA7B  .  66:8B08      mov    cx, word ptr [eax] ) p+ Y+ O5 N3 A5 {
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
. m: c. ~0 x% q0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
0 l) Z7 r$ j: F+ \: ^1 ^) I0132DA86  .  0FB700        movzx  eax, word ptr [eax]
6 L( [. y/ @" z4 G8 {5 W0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] ; q1 K* I* ?, @  C& u5 X5 x
0132DA8C  .  51            push    ecx                              ; /pABC 1 q( s- R' ~7 {: V, g5 y
0132DA8D  .  50            push    eax                              ; |LastChar
3 u# [0 }- Q* B0132DA8E  .  50            push    eax                              ; |FirstChar 6 n3 @- O9 ^7 V1 ]1 m8 y& P' u' |
0132DA8F  .  55            push    ebp                              ; |hDC
8 O- N. l1 d) D/ c1 u0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW ( I2 E& N5 l+ X6 v& f9 Z
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10]
: \; _9 c# q8 ~0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
+ G( }* k6 [  a  ^0 k0132DA9E  .  73 10        jnb    short 0132DAB0 1 N: P/ M8 m  d& {3 O$ g
0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
  Z) g2 L1 S0 l4 h' h* S0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
& e- M& g; j, w* ]0132DAAE  .  EB 0C        jmp    short 0132DABC   L, O; G: d0 n" f- y, x8 q; Z
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
7 l1 i4 q# U7 Y, M4 G& p* W9 Q0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 ! ?5 `3 `% g' x( Y: Y
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
% v+ @: |( U% U' h0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
- O% G$ G5 H$ |3 h# c2 t0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] % m7 D/ j1 _6 Z. K/ A5 c& G
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8]
- u- F3 Y9 }0 ?* G, v3 o( r0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] % q$ E2 ^( i. y
0132DACE  .  72 14        jb      short 0132DAE4 4 r3 [. N  |0 }# d
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
0 ]1 T" D( O- @9 ]0132DAD3  .  BB 01000000  mov    ebx, 1   j1 I4 D! c+ s
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] 8 H( M( V* A& Q' \  T
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx : u( t* K. ]+ O. U
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax $ i# _# L1 f/ ^# s: H: p8 j
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18] 0 Y2 ]' Y2 [/ [# O
0132DAE8  .  03CB          add    ecx, ebx
  H" ], E3 D" B4 ^. c; w$ P8 U0132DAEA  .  85C9          test    ecx, ecx
$ \3 I6 f0 o9 W6 S" ^0132DAEC  .  D94424 38    fld    dword ptr [esp+38] 4 ^9 x2 N2 S+ J' G& _# S
0132DAF0  .  D9C0          fld    st . l$ w; k/ ?' I0 R1 D8 C$ c* z
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
1 j0 ?4 T( d! M/ p0132DAF6  .  DEFA          fdivp  st(2), st
' y  c$ J. _# j- t  G9 L& r( k0132DAF8  .  D9C9          fxch    st(1)
" k$ q2 i% x& |/ O. ^# ]/ @0132DAFA  .  D91E          fstp    dword ptr [esi] $ k8 U( c* g" w0 U9 D& Y
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 6 K& `- E6 I0 s) z* p' l  g( {
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] ; }6 d  S( u+ @$ |2 l
0132DB04  .  D9C0          fld    st
8 }8 }# |5 b2 U" |0132DB06  .  DEFA          fdivp  st(2), st ' p3 }; E/ @& K* K& u7 H
0132DB08  .  D9C9          fxch    st(1) 1 F8 o* M8 g, D
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
: G2 H1 s. {) U5 W9 {0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
; J  T* L: F9 l" J+ a0132DB11  .  7D 06        jge    short 0132DB19 9 W" s2 g" c6 q) L6 x. O: ?
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
. [5 b* l+ z+ o+ m6 R5 O3 M' j0132DB19  >  DEF2          fdivrp  st(2), st ) s, v6 h- c& P+ t- G
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] ' x  U& f. @* j, Z4 R6 M) C
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
+ V6 \- [9 G: i' X6 ~6 r! I0132DB21  .  52            push    edx                              ; |String
# i. F! N% t+ W) z9 H8 w4 t0132DB22  .  50            push    eax                              ; |YStart 4 \, m1 |6 N5 F9 N, D  c* W
0132DB23  .  D9C9          fxch    st(1)                            ; |   C5 j7 ~7 e! K9 a8 ?4 L
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
* v& u( C7 u6 E7 I/ Q0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | 1 ^% N2 \1 `# K+ U$ y
0132DB2B  .  03C8          add    ecx, eax                        ; |
/ S! Y, {2 z5 ~* B- [0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
! \8 b; ~. V3 Y0 I7 o2 U) U( z0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
6 z( `/ h3 N7 s) _' v- g2 s) V0132DB35  .  8BC3          mov    eax, ebx                        ; |
" J5 F0 k, d7 P. i& p$ a0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
* r& k' v4 l2 r( |( ^0132DB3A  .  50            push    eax                              ; |XStart : }- m' @% F/ ^! h1 o
0132DB3B  .  55            push    ebp                              ; |hDC
8 m( l7 H' C: [& i% {5 ]  S5 V! m0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | ; G" R3 G! H! H! x3 k9 j# K# E
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW
" L2 \5 h" r0 S* B: [0 q/ s# {6 n  \/ T' {0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] 4 [- B- B+ q0 t
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
9 n4 p- F" a, X( u9 E0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
9 g9 H. ]8 t1 s- J) @$ Q) ~0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
: `8 x2 x; e, N" Y* P, c; O0 o* W0132DB56  .  83C0 01      add    eax, 1 0 }" R" j) U- J) {8 _# O
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] , h0 R; ?1 ~3 v4 t3 v4 {, y$ v
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
! v0 y  }- q& V0 Z) Y# U0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx 8 u' |' S) m, t& m; O+ b% s' A+ U) ?% s
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
% K+ F; n7 ~4 G+ Q2 O0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 6 p: W1 l, T, I5 G# }$ y; U6 C
0132DB6E  .  33F6          xor    esi, esi 7 Z8 l: V$ i" x# m; d# b
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
) {6 I* j0 ?3 J, w  M% C0132DB73  .  6A FF        push    -1
( R. ?0 n. w# C; a9 |0132DB75  .  83C1 38      add    ecx, 38 + P. `8 p5 z0 x4 G9 X
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 0 ~. f" a5 N  }) t
0132DB7D  .  8BD8          mov    ebx, eax 3 N- P* C, Y6 q% w
0132DB7F  .  3BDE          cmp    ebx, esi
5 d! j1 z# Y& N" u- n! n0132DB81  .  74 74        je      short 0132DBF7
1 z+ y# w0 w# o0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
8 R# q; Z/ [* l- R0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] " c9 w) X' F. m  H) p1 |" f  n
0132DB8B  .  52            push    edx                              ; /Buffer 5 ]" P2 F( k- ?7 I
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
+ O  X- G+ K" y+ ]  {0132DB8E  .  50            push    eax                              ; |hObject 8 w/ l/ Q: d. T: [
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
/ l  w  @; |1 r0 [0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
+ d  x6 O* q: C! l0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
" C3 A1 t2 a$ G, q" x1 D0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
, G, n9 G# [, ~+ I& ~/ n* O0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] 6 u- Q# J1 _5 h# s
0132DBA5  .  85C9          test    ecx, ecx * f( Y) _4 l, z! H
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0
: f( }0 D# S/ e/ @0132DBAF  .  7E 46        jle    short 0132DBF7
+ ^" n# k2 K% k5 t0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
/ _0 B8 G. Q4 l- A+ x3 }0132DBB5  >  33C0          xor    eax, eax
' R1 B) t/ \, X, A& o* U  T0132DBB7  .  85D2          test    edx, edx
- R; h7 i5 [% q) l# q  l0132DBB9  .  7E 26        jle    short 0132DBE1
. \2 ~3 c  G: _- V0132DBBB  .  8BCE          mov    ecx, esi
' d/ q2 z# p1 S! o* ?" U0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
4 }7 R9 E1 {5 x. t7 C0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]   g6 p' B6 I: `  z/ _. ~
0132DBC3  .  C1E2 18      shl    edx, 18 - W1 R$ B0 z, V' y6 L1 \( J
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF   K+ d. ?  ^3 |: U
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
5 T$ [4 r0 n# V4 ?% _% c2 k: \1 r) ?0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] + r7 {+ m) |, [- ^: X$ U# N
0132DBD3  .  83C0 01      add    eax, 1
* c9 r$ c" U/ C3 K& g& i3 [0132DBD6  .  83C1 03      add    ecx, 3
, _% U  C0 E; P, `  j$ F  h7 f0132DBD9  .  3BC2          cmp    eax, edx
3 t' j" _( Q" M3 W4 t8 x0132DBDB  .^ 7C E3        jl      short 0132DBC0
# b: G7 j7 W4 W* \& D4 a3 d& v1 f0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48] 6 L! `" i2 n8 Q  v
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
2 K) j2 n1 N* |( f5 [/ x1 |0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] 9 u: i' d6 ?: b( t3 x& U. q5 G
0132DBE9  .  83C0 01      add    eax, 1
. {7 A* g0 ]0 g0 j$ G0132DBEC  .  3BC1          cmp    eax, ecx
4 }8 S7 Y; G- S0 }6 ]6 I0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
' r/ b- h3 o( U6 L- A0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
8 d# Z5 i  ^5 d2 i0132DBF5  .^ 7C BE        jl      short 0132DBB5
5 G6 l9 B; w# d0 P- ?3 s0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
2 ?' i1 L. w# j; n# N0132DBFA  .  6A FF        push    -1 3 }) m; x5 `) U. P* x# s
0132DBFC  .  83C1 38      add    ecx, 38 8 x8 v& n1 f. p. ]3 b5 p
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
; x- B+ w9 K5 Q3 S& D9 _0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
( W& a9 e! y2 c( Z4 V0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 2 A& b/ D9 f9 o! o
0132DC0E  .  50            push    eax                              ; /hObject
, y/ G. {* s* X% z0132DC0F  .  55            push    ebp                              ; |hDC / e/ g( h! ]& G3 K
0132DC10  .  FFD6          call    esi                              ; \SelectObject
, z  ]. D6 p, E2 a0 f0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] # N) F# N3 Z3 j5 n
0132DC16  .  51            push    ecx
" g8 q  v. p* Y% W0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont ' z  y7 Q2 N. D* q2 Y
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
5 n3 V, o# D9 d0132DC21  .  83C4 04      add    esp, 4
. J& L: |+ d+ V; _) C0132DC24  .  52            push    edx 4 j. V0 J! J; y; ~, [
0132DC25  .  55            push    ebp
+ {, t8 Q) {7 Y/ W# |) b4 E0132DC26  .  FFD6          call    esi
9 o5 y1 Y0 I7 J0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
, T' ~9 }. L( Z. W( M" |0132DC2C  .  50            push    eax * k% A2 r: e" J! @
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
4 L$ X9 n2 @* H2 m0132DC33  .  83C4 04      add    esp, 4 " B# v' ~( u/ j1 `+ e- O- G& w+ A" K1 D
0132DC36  .  55            push    ebp                              ; /hDC
2 R, L3 Q! p" y" ?0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
; @' `, K2 l$ W* i0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
; a3 [6 @9 O' n4 w7 h8 J0132DC41  .  6A 00        push    0
$ N/ [% P, B( c. k2 V. E9 `% R# \0 ^, \0132DC43  .  51            push    ecx
" f- I" G) Q; {4 C0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
; r% q* C5 F9 e0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> 1 }( ^* Q1 \) m5 O" }
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] ' X  s1 y' |4 N' ]
0132DC4F  .  6A 01        push    1 ) J$ P8 Z6 U, y( |7 ?* ]
0132DC51  .  83C1 38      add    ecx, 38
- ~; Z9 {) y" c0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
0 O5 o; I  S& _+ K0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
+ ~9 s6 A! |( d6 Z0 ]0132DC5C  .  8B11          mov    edx, dword ptr [ecx] + `) y6 j. a- _/ ~, D
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78]
) v0 T5 E8 P$ N+ M& y5 Z  k" B0 P: |0132DC61  .  6A 00        push    0 5 x6 L  [& n1 a% d& K
0132DC63  .  FFD0          call    eax
$ m' F& W  a/ P1 N0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
; _/ b/ X0 D) ~  j) w0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
) T6 ?" T& Z$ T3 |5 n, |1 z0132DC6C  .  33C0          xor    eax, eax
& o$ [/ D% ?2 O0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC]
& K7 [8 B$ Z8 N0132DC75  .  5D            pop    ebp
$ n+ t, |2 E4 o& X0132DC76  .  0F9CC0        setl    al
) o- u! D9 b' F. x' v' r& I" q0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
- b, k# g9 C& D  q  z0132DC80  .  5F            pop    edi
, H' P) m0 h, n" K0132DC81  .  5E            pop    esi
3 E0 Q' [0 E! K( ~- z# v6 R$ @0132DC82  .  5B            pop    ebx ' t. o' `3 L# v" l& E
0132DC83  .  33CC          xor    ecx, esp % e6 z+ K- C1 p) \& f  f/ _
0132DC85  .  E8 E2460500  call    0138236C
. V& O6 m3 K& ]- T( [5 _! y0132DC8A  .  81C4 98040000 add    esp, 498
6 ~1 f5 W$ Z% L" X/ N0132DC90  .  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." k" P" O5 ~! h
分析说明也许以后会补上。
1 H4 y/ w% P, U" c# D
, J5 K) ]7 }/ K" v, }2 b9 L. i1 m加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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