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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
# T% N, G: r" k6 w1 E, W+ R$ f- [9 f9 ^8 x% j/ ]6 X5 F  B1 c
0132D7E0  $  81EC 98040000 sub    esp, 498 - i3 [$ B1 l* L2 h3 ]
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
+ _  t7 b: D# O9 C" X3 [2 p0132D7EB  .  33C4          xor    eax, esp
; D! }# b; p' Y3 o0 s/ w3 k0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax 6 Q/ F8 @4 ]/ c! ~0 X
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
3 ^" C. M+ K' ^" ?* H, T# X" e: y0132D7FB  .  53            push    ebx & X0 q4 e% q! H% S" K% _( W
0132D7FC  .  56            push    esi
# G9 k3 b6 J  W2 `  K0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
- R: A! ^! z( p9 O; k" ?0132D804  .  57            push    edi
) e9 C& n3 t# f7 E3 E, y2 W5 K0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 7 l% e% g) V% R# Q1 u
0132D807  .  8BF9          mov    edi, ecx                        ; | & g; k# a2 h% ^% {9 n
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; | + i6 [6 w/ S0 T; N4 e' M) Y
0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | 3 }5 Q7 n: ~% y3 Z2 }% H, x
0132D814  .  6A 00        push    0                                ; |c = 00 - G- o" j* L. K" \: v1 a  V
0132D816  .  52            push    edx                              ; |s ' h. c& B; k2 n/ p; G% n: q
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
4 b; n( e& J1 c, r' ]% b0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
& a) x$ x% H0 L7 E1 x  K' ^0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | / ~) s$ t5 A3 @% h" e
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset 6 s+ Q" _. v$ |+ b5 J- w
0132D82C  .  83C4 0C      add    esp, 0C 1 \) E: A; p$ `% B+ t! i' s
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 . {' h# S  F, s: O6 `
0132D837  .  74 12        je      short 0132D84B
& D$ p4 F/ U5 }0 m9 @0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
: L% f2 ^; l2 X* \4 P/ m* M3 |0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 4 Z; t( `- ^5 B. o. Q
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
; A) s- k( P2 z! F7 e! G, o: V! t1 o4 ]0 f3 u0132D849  .  EB 32        jmp    short 0132D87D + l$ z+ D3 G" s( U# v6 U
0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 , \0 D( X2 q, e: |; k  D
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C] 2 ?0 E2 G$ B* [& H+ F# @2 K
0132D855  .  33C0          xor    eax, eax
5 {# w9 b; ]3 t8 G- [0132D857  .  EB 07        jmp    short 0132D860
) B9 ^, f& ?& Z8 o4 v: F( J" ?( ^0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
1 Q7 l, i1 ^/ q0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] & ^. _1 w' F- w: _7 _( G0 a
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx / E# n. i9 {9 O. }! R
0132D86B  .  83C0 01      add    eax, 1 . T7 e5 M3 z+ W
0132D86E  .  3BC1          cmp    eax, ecx 3 d  k# a! @! w$ p5 b9 d* l" T
0132D870  .^ 7C EE        jl      short 0132D860 8 U% k& K6 s# [$ R8 y/ L
0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
% s9 r7 C4 z: o/ j/ t3 D. E0132D879  .  894424 0C    mov    dword ptr [esp+C], eax , Y" I2 h. p9 X  O9 a6 p3 P( D
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] , ?! }7 t5 P1 ]$ T
0132D880  .  85C0          test    eax, eax + b$ e$ W7 b2 D, d( N* Q5 j
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C] * w/ R( B+ o  D
0132D885  .  75 05        jnz    short 0132D88C * {4 ?% I3 h$ y% W9 @% v$ d% \3 K
0132D887  .  B8 16263901  mov    eax, 01392616 8 Q: |1 N8 X- o9 @3 S& U
0132D88C  >  6A 00        push    0 + h# S3 K6 _' q9 C6 [1 G  x
0132D88E  .  6A 00        push    0
( t7 U# d! Q3 A: |* l. c4 l" t, \0132D890  .  50            push    eax
% j- e+ S$ A5 p; y5 B* ^0132D891  .  6A 1F        push    1F
3 p' b5 ^6 h% F% k2 c9 ^, z9 G0132D893  .  8BCE          mov    ecx, esi ( m& G% ^8 L2 N
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec>
. ?1 E* C. b' R. d& R( L& P& ?% u0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 4 y/ n# H5 Q7 P9 _; ]
0132D8A1  .  6A 00        push    0 : S1 R/ |# M, Z" i7 ?
0132D8A3  .  6A 20        push    20
7 ~) v* j/ W& h6 o# _0132D8A5  .  51            push    ecx ! x& @4 c; K- E: R) e* q
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] " k: q8 ~5 b& ~: z
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax   K; C9 n" u( y% _$ X. D* ~) \
0132D8B0  .  8B10          mov    edx, dword ptr [eax] , B. B5 _+ n7 \9 D, y# v3 n; q
0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54]
3 T+ K( p8 a* }, C3 o: ?2 t0132D8B5  .  51            push    ecx
% d; ^* M: g) K1 Z6 a/ i$ @0132D8B6  .  8BC8          mov    ecx, eax
9 I1 {' S8 E( N: K! @6 o* C' ~* l0132D8B8  .  FFD2          call    edx ; ]# y6 W' H3 d* d3 f$ F
0132D8BA  .  85C0          test    eax, eax
; j+ c# J8 u: r- }7 I( N% _0 w- s) o" @0132D8BC  .  75 07        jnz    short 0132D8C5 % y" J4 U$ W* Y5 `1 |" {
0132D8BE  .  32C0          xor    al, al
; n# n7 G: a1 T1 M/ o0132D8C0  .  E9 B4030000  jmp    0132DC79 . o! t0 R/ [0 }. v- w3 Z
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
+ H" ]8 V7 x/ N7 w: C0132D8C8  .  8B01          mov    eax, dword ptr [ecx] . o& o/ v! n+ O6 w8 Z" `& }+ {
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
' _( q9 e2 `1 t5 j9 O0132D8D0  .  55            push    ebp ! U! q4 Z3 K4 t5 N$ i" s
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] - D0 t% D4 L4 {
0132D8D5  .  52            push    edx & {3 E5 i% @9 ]7 H
0132D8D6  .  FFD0          call    eax
7 j1 J# w3 l1 n' k$ l4 r0132D8D8  .  6A 00        push    0                                ; /hDC = NULL
% V+ Q- U& q; F% O$ I0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
0 x9 ]0 k; G& ~* p! G0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] " v4 m# b8 ?! \) W" \7 ^
0132D8E4  .  51            push    ecx
9 H. ?* B. ]8 `% \, K# Q0132D8E5  .  8BE8          mov    ebp, eax ! N" m/ U- Z) C5 e
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap
( u# J* K& ~1 c% N0 \8 H% M0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
5 K% j! f# Y& o. m& E0132D8F3  .  83C4 04      add    esp, 4 : a# `/ U2 }" l7 \
0132D8F6  .  50            push    eax                              ; /hObject
2 _8 i! ~# a) d9 E# i2 @0132D8F7  .  55            push    ebp                              ; |hDC 6 [9 j  r4 F! G) N! x7 c8 M8 F% B
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |
5 e* h2 E  c- y/ h" n0132D8FC  .  FFD6          call    esi                              ; \SelectObject ! k: U2 Y* u- W; v8 [
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] ) P* [9 m7 [4 Z( ~9 ?8 ?
0132D902  .  52            push    edx , ]3 }* z( D7 g* z/ V
0132D903  .  8BCB          mov    ecx, ebx % P! e. \  N) _# w' _
0132D905  .  894424 40    mov    dword ptr [esp+40], eax
5 @( }$ _& A6 |* b0 F0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
* e  Z+ e% I- Q1 _4 X# j0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
8 v7 b5 l) ?6 _4 d" r" W# B0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.)
' M* a+ D- m5 h. Z* D. q& E0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY
" d5 O* G" F, z$ C% o$ D; h) t0132D91A  .  55            push    ebp                              ; ||hDC 5 d" D3 v) _: g( b6 ~
0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
( x5 d3 O7 S% I* h8 f2 M$ Y% h* ^( P0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 5 j, d' ~- Z. W1 f/ Z
0132D924  .  50            push    eax                              ; |Multiplier 8 }0 r" r( x' [0 p& I: N0 Z
0132D925  .  53            push    ebx                              ; |Multiplicand % X3 m0 e; o* V9 f: ]$ ^  D) Z
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv
8 R0 W' b! }/ K4 a, M$ V' D4 w0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C] 9 c/ L, a/ L+ T% e, o- f
0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0]
: Y9 c8 W: N+ \0 Y0132D937  .  51            push    ecx                              ; /FaceName
3 F, G' w* M: x7 W& Y# J0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; | ) M: E9 q4 V. Z/ O. u
0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
' c+ k  R6 c& Z0132D941  .  52            push    edx                              ; |Quality : h5 [) K; W1 L
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS % _. C4 @9 K% w2 S1 n* S
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS : Y' U  N6 b) O3 D% D# b
0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET
) }! y( R% D$ f9 p% i. ~. n0 [# t5 V0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
0 m' q8 @" e) c5 i2 j9 v0132D94A  .  8BD1          mov    edx, ecx                        ; | + ^; ^. w% r, {0 @, T9 b1 f; H
0132D94C  .  D1EA          shr    edx, 1                          ; | 9 v# F. M6 J! j# m
0132D94E  .  83E2 01      and    edx, 1                          ; | 8 C9 l6 o" O2 f2 A1 _
0132D951  .  52            push    edx                              ; |Underline . M7 ~3 s1 A5 r7 E% y  n
0132D952  .  83E1 01      and    ecx, 1                          ; |
! A3 c! C- Z' K0 r' G0132D955  .  51            push    ecx                              ; |Italic
9 K) O2 s9 x$ ~* e5 C0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | 5 T2 P' ]" s$ ^0 p1 _- s0 z
0132D95D  .  51            push    ecx                              ; |Weight
0 Q4 h* C$ H. B+ p8 s. B. P0132D95E  .  6A 00        push    0                                ; |Orientation = 0
2 @- h+ W5 M1 t4 W4 q0 T0132D960  .  6A 00        push    0                                ; |Escapement = 0
5 g& i) d; \" S" d% p8 B0132D962  .  F7D8          neg    eax                              ; |
, F/ D. [2 B* r0132D964  .  6A 00        push    0                                ; |Width = 0 + j2 K: G# e) S/ M; O6 T$ C0 G
0132D966  .  50            push    eax                              ; |Height 2 n  z% k- C7 q3 A0 X' @
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
2 H0 P% |. [9 A0 X0132D96D  .  50            push    eax
2 T1 e  Q+ `0 e0132D96E  .  55            push    ebp
  W+ {, u4 c5 Z0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
. J  z- q% R6 m$ m! k9 @8 h0132D973  .  FFD6          call    esi 5 h5 S; q2 f7 x% j6 Y
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
: `- ^% G5 M) d* q$ m/ ]0132D979  .  52            push    edx                              ; /pSize
. K& q* s2 i8 \# o/ |& y" \0132D97A  .  6A 01        push    1                                ; |TextLen = 1 9 G+ O1 E2 T: ^" z
0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A" 9 `- M; P, K% ?" q# o. N
0132D981  .  55            push    ebp                              ; |hDC
4 D1 g* r+ K* f' S# [; U0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; |
6 O- T# k! i. S6 u- U0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 7 o$ H2 @" x% G* x3 T
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
6 [& b, Z& Q8 p; q/ f  G0 M0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] 5 }% W+ ?5 ~. p8 h5 N* t- Y
0132D993  .  8947 18      mov    dword ptr [edi+18], eax 2 R- U" n2 a" f9 B" f, ~$ q/ M6 e
0132D996  .  33C9          xor    ecx, ecx
4 `1 f% W9 [+ O1 J) c% l0132D998  .  8BC6          mov    eax, esi 7 c/ Q% J. V( w* r: d' c9 j1 u' f1 {" ?
0132D99A  .  BA 20000000  mov    edx, 20 6 m) u+ S2 D2 F" \! d
0132D99F  .  F7E2          mul    edx , y1 M8 m+ W5 \! W% B) B+ X
0132D9A1  .  0F90C1        seto    cl : R. Z2 H9 Y$ }* {* p) q
0132D9A4  .  F7D9          neg    ecx ; M1 q. }* O' E( r( h
0132D9A6  .  0BC8          or      ecx, eax 2 @: u! S# N' O/ E
0132D9A8  .  51            push    ecx
' _5 P9 c3 A( j1 Q% j  q! D0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
2 |! Q$ t! M  y0 I2 O! G3 X0132D9AE  .  83C4 04      add    esp, 4 + F# u  K/ H) d7 W# B
0132D9B1  .  85C0          test    eax, eax
8 w, J3 y) g0 O  R1 j2 a% U0132D9B3  .  74 28        je      short 0132D9DD 5 Y. q6 z" K6 j; s8 U# j+ S5 `: k
0132D9B5  .  83C6 FF      add    esi, -1
- D+ x) c' A' ^- T0132D9B8  .  78 25        js      short 0132D9DF 7 W0 E9 F1 c4 |$ E+ S1 Q) {
0132D9BA  .  D9EE          fldz
* e) C1 x7 n$ B! G# {4 g3 ~0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 0 ?- V* q& |4 ]
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] " E0 v% n* F, g9 j1 d  H
0132D9C2  .  83C1 20      add    ecx, 20
1 Y; m5 a7 e: ~8 `0132D9C5  .  83EE 01      sub    esi, 1   a/ u, S' l6 ~: o5 `5 R. B; S9 L
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] + O3 W$ G9 J  Y) ?4 g& J# y5 d, h
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C] $ R$ c1 \; y/ A" R, T9 d* a
0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] 4 Y* ^" D( M; d- O3 j
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
7 c4 l6 T1 u% l+ q; b0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]
' W, [2 c1 V( L: K: b4 Z! o0132D9D7  .^ 79 E6        jns    short 0132D9BF
. t* K+ _1 h. F0132D9D9  .  DDD8          fstp    st
5 ?$ n9 ?: c0 x/ I0132D9DB  .  EB 02        jmp    short 0132D9DF & s! v0 f7 S# ~1 ]- k8 S% G
0132D9DD  >  33C0          xor    eax, eax
* e+ f. P# d4 W- o' ^; h( z0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] 5 `7 q1 n% v$ A( \+ E1 b( ?- _
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax
( [* g1 v! ~) N0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] ) ^5 ~6 x& ~) |! f  @) n4 C
0132D9F0  .  50            push    eax                              ; /Bottom
! q; v% D# h9 S# C+ ?% {  h, u% s0132D9F1  .  51            push    ecx                              ; |Right 3 r; U( j" I3 M. ^1 l& X' k
0132D9F2  .  6A 00        push    0                                ; |Top = 0 , ^0 Y3 _7 c" O! K
0132D9F4  .  6A 00        push    0                                ; |Left = 0
* |! f9 K/ w& n$ z0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
2 E1 i3 m5 g) E$ }% Z0132D9FA  .  52            push    edx                              ; |pRect   D, t, u! m" e8 [/ \+ e) O
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect ; X2 [9 t$ n" e8 E( t6 {( ^
0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
, d4 m5 d$ ?% y0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject % a' d' P/ P# @! y5 R. }$ D7 T
0132DA09  .  50            push    eax                              ; /hBrush 6 Q* q4 D; k  u4 s
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |   }" M, Y8 T/ F
0132DA0E  .  50            push    eax                              ; |pRect
7 j4 E3 ^, V/ d$ ~8 O: p* R' O0132DA0F  .  55            push    ebp                              ; |hDC 4 h1 \. \0 x8 [. @2 T
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
( Y/ i% _( e6 g8 F0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> - l5 z9 }3 U' V8 E
0132DA18  .  55            push    ebp                              ; |hDC
% J& H6 ^5 Z. M) _8 Z6 |0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor + l! f0 j. v, U( q/ n1 A
0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
6 q. J5 N1 V) Y5 j9 [* ^0132DA24  .  55            push    ebp                              ; |hDC
: C) E. Q1 C3 v" Q% A5 C0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 9 ]( K7 a* N" l. `6 p
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT ) ^! h1 {  L0 ?* R1 l  w
0132DA2D  .  55            push    ebp                              ; |hDC : K. }& Q, B4 x6 O6 {5 S$ l" z8 X
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode
" f4 U" a. _. J% l$ H+ V0132DA34  .  33F6          xor    esi, esi
. F: v( ^/ i8 i8 E- k! _7 Y0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi 5 `& y8 b* g" ~) Y
0132DA39  .  BB 01000000  mov    ebx, 1 ( {$ O- e* f9 c  y
0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
$ l" J$ U( ?# @5 t5 ]6 D' {0132DA42  .  897424 14    mov    dword ptr [esp+14], esi
+ [$ \- A* |( g+ S, q2 @0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi & _+ a0 A4 f. i* q
0132DA4A  .  0F8E 20010000 jle    0132DB70
% h7 o: }4 a" v- X$ e% O5 L0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] & K7 l  S. Z8 R- ~3 ], f" u
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] ) ?5 ^: ^- H6 }6 K2 C
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi - o* S4 o3 v+ ~# I# x0 X
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax ' a6 [2 H$ E6 p- y/ {! v  d7 t
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
% S; S# c( S' w( ^8 S0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] ) K6 E, g2 a# u% e; t
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C]
6 ~, t; b6 m& g0 }! ~7 w7 {0132DA72  .  EB 04        jmp    short 0132DA78
% a6 ~. W6 R: f) b0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] 6 h+ C; s* W4 D7 Z
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
/ w: A6 j" ^7 f9 U7 z' X0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
" I3 `# h; p( @1 T- Y6 N0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
) s$ q0 a. [' ^* s0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx , q/ o6 u, M8 b. g( o* \3 \
0132DA86  .  0FB700        movzx  eax, word ptr [eax]
4 k$ R% {( q$ B* t0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
2 _7 @% E  V) F5 G( O  ^5 I1 z0132DA8C  .  51            push    ecx                              ; /pABC ! L, u" M5 U# l; {; Z; Z$ j4 ^" W
0132DA8D  .  50            push    eax                              ; |LastChar
0 [5 p( l2 l' g2 [: P% T0132DA8E  .  50            push    eax                              ; |FirstChar
& C- p8 X8 V8 S1 B9 S) }0132DA8F  .  55            push    ebp                              ; |hDC ; Q5 k' p  f# a/ r
0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW , R$ A; n6 @* y! `; _# F+ Y
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 8 Y' h' V% }1 \* t2 {9 }
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20 # F& V; B3 k( A  p+ q
0132DA9E  .  73 10        jnb    short 0132DAB0
  @+ k' C1 q1 E' p' F0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0 ( q, {& S  ?# F9 n! C4 c
0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
. X- ?. O. J) ^0 _! }0132DAAE  .  EB 0C        jmp    short 0132DABC
* w/ P$ m4 U0 D4 n0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
0 X. |8 m0 O* G3 N4 |0 W0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2 $ N+ a8 A  j! a. v# |  H
0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 & [/ a' G+ x) q  L5 c# l" q3 n
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]
- [( E: p& N$ h/ D% p. {0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1]
" M% S* l- J% F- ^3 S! r0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] " K: ]# H3 \! `7 s9 U
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] - u' k6 U0 m: Y" h: X
0132DACE  .  72 14        jb      short 0132DAE4 . m* n  V2 ]9 P+ G' y
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18]
% M: P5 D6 h: O0132DAD3  .  BB 01000000  mov    ebx, 1 5 r- J  q# N: @7 u2 C4 I: ^) l
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] - x) [# @% [' D$ P, J: F
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
9 v/ i, v: s" P; r0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax $ `" [8 r* O0 M$ ]! w6 T: u
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
8 X  F; h' H+ T* d9 H) D; G+ ~0132DAE8  .  03CB          add    ecx, ebx 7 _" Z. k: t& J
0132DAEA  .  85C9          test    ecx, ecx
! E/ E* s" v8 W7 ]0132DAEC  .  D94424 38    fld    dword ptr [esp+38] + v% h$ M' h9 [) r. V
0132DAF0  .  D9C0          fld    st / V$ a: K$ s. \( Q* @+ ^& n8 k
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx : }! `! M( q& `) W/ z
0132DAF6  .  DEFA          fdivp  st(2), st ' `  m" u% N7 U9 c- J! z
0132DAF8  .  D9C9          fxch    st(1) % D2 g# H* t: m& ~2 n- m% c" I" e$ D) X
0132DAFA  .  D91E          fstp    dword ptr [esi]
' ^5 _! |' ~7 |$ O( b" w: Q4 ^0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] 3 D5 @- [) l/ j# E
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C] % m7 u7 c2 u# }% w
0132DB04  .  D9C0          fld    st 7 }7 `' y' X( @6 `7 w. O% O
0132DB06  .  DEFA          fdivp  st(2), st
3 s! `+ Y! G$ C& T0 K0132DB08  .  D9C9          fxch    st(1) + t, F7 z: [* }- y( E: D. ?
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4]
) w0 z# @! ~$ |8 ]; d5 K. F0 H0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
, q, E* ?" e7 s+ l: X. H. C0132DB11  .  7D 06        jge    short 0132DB19
( Y, ]3 b. G5 }9 w5 H, B, x1 h0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] 0 O$ ~% Z% s# e% G+ x
0132DB19  >  DEF2          fdivrp  st(2), st 3 l9 s, H1 Y. i) r5 s0 b
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10] ) ~- x2 S. U- k1 ~' P
0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 - S( g) K7 N' \1 b0 Z; u4 w
0132DB21  .  52            push    edx                              ; |String : \& b2 x  A  r) _4 N( u
0132DB22  .  50            push    eax                              ; |YStart 2 V* N, |: K2 `4 ]2 [0 |  k, B5 U6 P
0132DB23  .  D9C9          fxch    st(1)                            ; |   q* I$ T* F% [$ J% ^# J
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; |
7 z+ Q1 Y/ u/ z$ L) v7 r0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | : k' l2 b- Q, s, P, N  q  ~$ x
0132DB2B  .  03C8          add    ecx, eax                        ; |
4 v/ ^5 P9 u' w0 F1 O& X* y9 B0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | ' H$ c8 o9 d5 t" ^0 B& M
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; |
9 E; z: `) s4 u% X, Z2 R0132DB35  .  8BC3          mov    eax, ebx                        ; | $ R0 e3 V+ Z) `; H" \6 i. {
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; | ' _8 y. i3 i8 L- \$ R5 y
0132DB3A  .  50            push    eax                              ; |XStart
, g5 W1 @4 z" S" ], I7 S5 K0132DB3B  .  55            push    ebp                              ; |hDC * w2 D2 \$ o4 B+ q
0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | ) Q& ~( O2 U9 a7 W" m$ c4 Y
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW ( n0 f: W) ^( R0 l+ n
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
, u, C% k. W% ^4 {0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] / f1 z1 y& q" e6 u; b
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 : F' r3 M* Q  R4 \
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2 & S* b4 y6 h4 E) y& r$ ?# ~  q; [
0132DB56  .  83C0 01      add    eax, 1 # y2 U6 x5 j! b
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C] " Q- [9 k" _9 Y- ^. B: V
0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
7 ]/ c# `0 c9 {. w9 [& j0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx : z9 p* {3 y/ i: T; R6 b
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax 5 J: Z  I" n0 [: O5 C
0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74
' t& w; ]; ~: y3 U% w& J* l& X0132DB6E  .  33F6          xor    esi, esi
% c6 A9 l  }8 k5 E$ |0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24]
& c/ S. v' l( d0132DB73  .  6A FF        push    -1 & ^# d: b9 {6 h
0132DB75  .  83C1 38      add    ecx, 38
0 O/ I% \8 A  f0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> 9 ~, R) e! A7 |+ f3 d" O: [
0132DB7D  .  8BD8          mov    ebx, eax
7 v- d! p8 s  X+ x$ p3 [: y0 u0132DB7F  .  3BDE          cmp    ebx, esi
- b- W. g9 C( f5 [# R0132DB81  .  74 74        je      short 0132DBF7 * b. \( u2 Q' d- t; B
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] - S. _; D, x' w# \( t# x
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
+ E. \8 c: o% }  I0 ^* h3 K' B0132DB8B  .  52            push    edx                              ; /Buffer   @% f- w" A2 i8 m/ t
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
6 {, s$ |7 v5 Y* t2 @. `0132DB8E  .  50            push    eax                              ; |hObject ( E; i$ P- M& b2 N) l' Z" ?% V
0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
1 m% r/ e) G5 B* x2 n+ \, ?+ K0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] & O& z! e' X  S) N- g8 X
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] ) X7 x$ _1 {- U& E( ~& e
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
' C& y; F: t8 ^% u0 y: K; H) T0132DBA1  .  037424 54    add    esi, dword ptr [esp+54]
3 A6 ]5 d/ i/ y0132DBA5  .  85C9          test    ecx, ecx
: N! Y7 g+ J& O7 p3 P" L+ g0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 3 z. L9 c/ H8 b* F' E' g
0132DBAF  .  7E 46        jle    short 0132DBF7 ! s5 z$ Y$ g( @8 `+ T2 {$ G. E
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] ) ?0 M4 k' D( w: G0 w. e: K+ h
0132DBB5  >  33C0          xor    eax, eax 6 j; N9 w# o. `1 b
0132DBB7  .  85D2          test    edx, edx , G" H6 L( B# g2 x- [& e. h
0132DBB9  .  7E 26        jle    short 0132DBE1
; F5 P- i3 f  H: a" `0132DBBB  .  8BCE          mov    ecx, esi : E& R4 G6 i  [: K" H' Q3 M
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
5 {' u+ x. c7 I1 ~0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
1 e) }0 O1 L- r* M) C0132DBC3  .  C1E2 18      shl    edx, 18   v* R8 }) R( C0 d8 q% ?
0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
: d% {: w" u# K! r, P# |0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
6 y6 ?7 V% T( R0 ]/ x! C0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
2 [2 N% Z0 t3 S. p0132DBD3  .  83C0 01      add    eax, 1
; ]3 e9 r7 _% V0 f* R0132DBD6  .  83C1 03      add    ecx, 3
5 V% t. _9 r  I* H$ f5 d0132DBD9  .  3BC2          cmp    eax, edx
5 N1 L) K/ h" T2 \0132DBDB  .^ 7C E3        jl      short 0132DBC0 : m- p: T1 l+ D
0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]   ^( p/ p. ?/ d, Y( [
0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14]
1 S& i! J0 V+ Y& }9 R0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C] ( I9 j0 |8 l. X* V$ m! L
0132DBE9  .  83C0 01      add    eax, 1 % l* h. S, I. P$ W2 a9 F) A; _
0132DBEC  .  3BC1          cmp    eax, ecx
) X" T# I5 K7 K0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
8 ~" a' d9 Q! j' A4 {0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax 3 M+ U. w& n2 N5 A
0132DBF5  .^ 7C BE        jl      short 0132DBB5 - G  N* m- }& A1 k
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] & \! E& V+ b0 ~% Z
0132DBFA  .  6A FF        push    -1 9 ~3 }1 `$ ~1 i5 |0 Z, y  W
0132DBFC  .  83C1 38      add    ecx, 38 , T/ f% w  r  D
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>   I& m) |' S4 Z
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
: j7 j. c6 E3 l# z, G5 p0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject 0 }  {% N2 m' p; X. P, R3 k% L
0132DC0E  .  50            push    eax                              ; /hObject
( ^+ {( k9 n/ S0 D; ^2 v0132DC0F  .  55            push    ebp                              ; |hDC
. L! v4 H) |+ ~! [. y5 {5 |' M8 P& R0132DC10  .  FFD6          call    esi                              ; \SelectObject 0 W2 ]6 Z* ^( t! I/ J2 U
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] - N2 ]& p$ p, I/ J( J8 c4 ^
0132DC16  .  51            push    ecx & s8 w2 U7 J5 k+ [  C0 w: d/ h
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
/ Q, z' i" C! M+ n4 ~1 c0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
" P. z0 Z4 s8 A5 ~" E0 }0132DC21  .  83C4 04      add    esp, 4
- l$ E. w/ k& S5 b2 e0132DC24  .  52            push    edx * _: [* H! y, t/ [7 M/ v( T3 ]; N
0132DC25  .  55            push    ebp " N0 ~/ [! F4 U/ b! Y
0132DC26  .  FFD6          call    esi
: D6 z* S; G- j# q, E& b0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
) i# U8 s; l6 r' J" w, c8 r0132DC2C  .  50            push    eax 0 s1 p- n9 b8 \+ x) [& S+ b
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont
. L' M9 @- q) v$ V4 Q$ P0132DC33  .  83C4 04      add    esp, 4 : B  `' a1 F3 g. ]: l  C' C) U
0132DC36  .  55            push    ebp                              ; /hDC   J* l/ P( y# Q
0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC
6 Y* B, T. R. s, C) i  ~0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28] + L# b4 \8 u* ]
0132DC41  .  6A 00        push    0 6 y6 a" J8 N0 h( E) ~
0132DC43  .  51            push    ecx , Q0 T9 W% ]' C) K8 |9 A; Q* ]
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
! [) k' a3 v- o' X3 i0 G0 y0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
% ~0 `8 Y$ c1 M; J6 N0 V  z0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24] 2 s/ o6 ^% [8 E9 U/ @
0132DC4F  .  6A 01        push    1 % K1 @5 n6 S5 c( {) n" Y. F: O
0132DC51  .  83C1 38      add    ecx, 38
! i$ ?  d: h& H/ U" I0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>
1 [1 V. K% ^7 V% g) i! c0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
8 n9 i& g# y( H% ^0 X$ q7 H# G0 ^0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
1 j9 x+ E& Z% Z0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] 4 I5 T7 |5 h( }% s( ^5 E  V
0132DC61  .  6A 00        push    0 9 i, y* ?/ G' U; C1 S0 f/ `
0132DC63  .  FFD0          call    eax - a: j3 \3 u0 c2 x& o7 e8 O" U
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
$ |/ g, c; `, b4 ?5 G8 {5 q0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14]
% l& r$ u$ f8 O0132DC6C  .  33C0          xor    eax, eax
, p8 r6 n/ e/ `3 W0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 3 }& t  F$ i7 ~$ n
0132DC75  .  5D            pop    ebp
( [3 v1 P# J' O; }- o0132DC76  .  0F9CC0        setl    al . j& ]  h/ V; Q3 w3 E" t! S9 U6 p7 y. U
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0] ) y) Y  U! l2 W, H8 v. b  G
0132DC80  .  5F            pop    edi
2 r1 A& }% b) }0132DC81  .  5E            pop    esi
5 ~' H5 j9 T& @( c, I0132DC82  .  5B            pop    ebx ! b1 y1 j5 G; O- a2 f7 \4 O
0132DC83  .  33CC          xor    ecx, esp
* _7 M' Z1 J! ^- R5 z- V0132DC85  .  E8 E2460500  call    0138236C
/ ?7 u+ N4 p: g, M" I8 @( \1 d0132DC8A  .  81C4 98040000 add    esp, 498
, K( T7 [$ w" I0132DC90  .  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.) i; G& |) F1 n0 l. z# j
分析说明也许以后会补上。% D; f3 |# d2 l( S- }+ F/ S+ \. o' ]" e
) t3 x& d  }" i
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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