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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
$ D0 D: C( G' T: m" W7 e$ A$ t0 D
9 }' x  e' }; W0132D7E0  $  81EC 98040000 sub    esp, 498
2 F& b: H! u3 V: {" \1 Z7 Y6 W0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
( K8 l2 a% `' u: k0 V6 m0132D7EB  .  33C4          xor    eax, esp
% n$ j# |+ P9 o+ U2 v+ A0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax
! ?6 }7 B6 T: l0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
$ n! j1 X6 j" e2 z' e9 b2 P7 S0132D7FB  .  53            push    ebx
: w; Y0 H% _4 E' o. ?- G1 @0132D7FC  .  56            push    esi 8 W2 v! O4 \1 P
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
# y: O" O: u& k# G# K0132D804  .  57            push    edi
4 K3 B% k! W; ?' X& Z3 C0132D805  .  6A 30        push    30                              ; /n = 30 (48.)
" A4 o8 |5 O- Y  O1 n- `3 [" [0132D807  .  8BF9          mov    edi, ecx                        ; | , y7 i/ C( j* b" J. _6 l
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
& l7 [7 r# b* S, r% B2 h: Q0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; |
: o1 j3 x! G) k7 K0132D814  .  6A 00        push    0                                ; |c = 00
( ~; y# r! _: W, k1 S0132D816  .  52            push    edx                              ; |s ) P+ P: i$ u5 p8 X) X% f9 k3 M/ J6 M
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
: g6 h# g# M1 G8 c; y9 S* k) w+ t0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | , w5 U$ D$ ]+ ~' ^! T
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; | 6 X6 A  S5 V0 Q& l5 c
0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset 9 q1 d: ]- x* @; k% z0 u7 ^! K
0132D82C  .  83C4 0C      add    esp, 0C
" N& B& C" E1 {6 Y3 ]0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0
8 W+ T6 w# ~' s0132D837  .  74 12        je      short 0132D84B
9 r% o" M( i# S  g0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
# y$ p; T- q7 r2 W0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 6 s+ J) Z' e7 g) b* P' d& S
0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax
0 F# f+ s$ \# |* I( O( g0132D849  .  EB 32        jmp    short 0132D87D
$ b7 J7 j% w- V' j: o. Q8 w* B0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160 8 y% k! x- ~# G; \( r
0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
6 M7 X! \; h2 K5 H8 [  W5 V0132D855  .  33C0          xor    eax, eax # J, M# S6 g6 f! a
0132D857  .  EB 07        jmp    short 0132D860
; Q) Q. o/ L/ ]& g' l, s- c0132D859  .  8DA424 000000>lea    esp, dword ptr [esp]
, [6 g' ]4 [0 ?6 z: r0132D860  >  8D50 20      lea    edx, dword ptr [eax+20] 1 n! U, Q6 k' U
0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx 2 ?  V2 {/ ], I) u" m6 j6 f# ^. x
0132D86B  .  83C0 01      add    eax, 1 ! T5 z7 M2 {. d: a+ B
0132D86E  .  3BC1          cmp    eax, ecx 4 j6 _2 r) E  S* f7 w; Q8 @8 D
0132D870  .^ 7C EE        jl      short 0132D860
$ ]8 X& Q' ~' P- @9 m0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0] 8 f, {: \* `8 T" ~0 H
0132D879  .  894424 0C    mov    dword ptr [esp+C], eax
8 G# F$ ]: x0 ]2 l. U$ x) x: [0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] ' P0 E) o! i+ D& I
0132D880  .  85C0          test    eax, eax + r. O. r$ n4 d4 l2 R2 G; Q
0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]   |) b. `; H, ^- G5 p% A* A
0132D885  .  75 05        jnz    short 0132D88C
: R1 I3 \7 A7 G* U0 Y& J0132D887  .  B8 16263901  mov    eax, 01392616 ) ?5 ]! v( g5 ^. o
0132D88C  >  6A 00        push    0 8 g/ n+ L0 h& {6 u1 p6 L
0132D88E  .  6A 00        push    0
8 D. b) A4 a6 M3 h& {0132D890  .  50            push    eax , o# y6 z. w( J) H7 U$ D  g; V
0132D891  .  6A 1F        push    1F 2 P9 B; U. o5 {8 G/ c: @1 N$ h
0132D893  .  8BCE          mov    ecx, esi 3 R4 q+ [( _7 W* I* f3 ^9 e! P/ j
0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> ! u" p2 d8 M5 T" ], n
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] & v: H+ X( @: f3 f/ P! A
0132D8A1  .  6A 00        push    0 3 z' B& P) Q& q, L) ~8 _
0132D8A3  .  6A 20        push    20
% n& p' r. Q4 h, t! i5 k) f+ A0132D8A5  .  51            push    ecx
8 X0 _2 ]2 l4 S7 N2 g/ g0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0] . {+ R7 l8 w& r  ~
0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
) Z2 p; r& O# F4 ^( S& R0132D8B0  .  8B10          mov    edx, dword ptr [eax]
- u7 z( M4 O0 o* @" M; q6 E) p- D0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] % `) w) J' P/ B' @' R
0132D8B5  .  51            push    ecx * Q4 @; x' }' ~2 x
0132D8B6  .  8BC8          mov    ecx, eax , H3 A6 e- X' a( Y
0132D8B8  .  FFD2          call    edx
; d# k: o  W' D/ b0132D8BA  .  85C0          test    eax, eax 4 r! A6 a3 ]& y4 u5 _  Z
0132D8BC  .  75 07        jnz    short 0132D8C5
# D6 ]% g7 Z5 P7 G0132D8BE  .  32C0          xor    al, al
1 S$ J* Z" c/ I; _. l* S# W- T0132D8C0  .  E9 B4030000  jmp    0132DC79 6 X0 s/ _. @" |* L
0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24] , V7 _5 [9 [6 D. C
0132D8C8  .  8B01          mov    eax, dword ptr [ecx] 3 Z1 g' f1 `3 i+ k+ U6 f
0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88]
. p6 ]3 h  X  L, t- F0132D8D0  .  55            push    ebp 6 Q3 I" k3 `1 O' M$ _# t# v8 s
0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] ' K+ g2 F% Y7 v! U
0132D8D5  .  52            push    edx / J7 n* p( c# D$ X
0132D8D6  .  FFD0          call    eax : f* F6 |$ ]3 b0 O' C8 s0 f7 x( {
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL $ P9 L8 ^' ?6 r6 [
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC ! d! e" q- i: e8 x2 o2 S' `1 K
0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70]
; @* d$ K- e4 b: E3 _) g8 I0132D8E4  .  51            push    ecx 6 [: i, d# d' f% C7 c7 Y  o
0132D8E5  .  8BE8          mov    ebp, eax & V1 ]) n" Y9 ~! M# }" J5 x7 L
0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap / Y" X' [( q5 j$ E& f2 `/ ]. q
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
9 B) S, I( g3 O8 A' W: F4 l0132D8F3  .  83C4 04      add    esp, 4
; V3 U( w* h" i0132D8F6  .  50            push    eax                              ; /hObject 9 r; X7 B5 F+ u8 d
0132D8F7  .  55            push    ebp                              ; |hDC 6 q5 v& e3 n/ {
0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; | 8 a2 R" e8 f6 U& g
0132D8FC  .  FFD6          call    esi                              ; \SelectObject ( [7 @2 k7 W2 j2 Z7 [& O3 g
0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28]
$ _. w5 z1 e- }$ {( Q& |. i0132D902  .  52            push    edx
, f. |6 l; S* {6 g# `: j' S0132D903  .  8BCB          mov    ecx, ebx 6 v3 l% {) l' u* U. y( `
0132D905  .  894424 40    mov    dword ptr [esp+40], eax / ~& Q. O6 I* O" o8 a/ `' U* f
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator= 2 o3 ]3 ~. i6 n% \
0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8]
/ x* j- F; n5 A5 Q9 k0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) # g0 U* O& i  T) p: l, j* V2 l6 N
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY * h  A+ _% U6 K5 G3 a2 W
0132D91A  .  55            push    ebp                              ; ||hDC
$ H( A9 z* L" G0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; || 5 x; i% W1 c+ f1 l( _1 o) J- P
0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
; o$ B4 {, _0 H1 C9 C5 t$ F- `4 G0132D924  .  50            push    eax                              ; |Multiplier
1 N; I" U; F0 ]$ L2 p4 ^: c8 u8 I0132D925  .  53            push    ebx                              ; |Multiplicand " v: S1 `2 w$ G, ^$ l4 F3 |
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv : z5 W# H! [- h5 d
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
# k& ~- S+ i% I0 K7 w1 `6 S0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] 4 v( `- B$ i, p% y- C
0132D937  .  51            push    ecx                              ; /FaceName 9 H6 G) e% q& v! i
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
- E( i  W$ q0 B! u9 G, m0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
( E. E6 s/ I3 P4 ~* W0132D941  .  52            push    edx                              ; |Quality * T# H$ J- S6 p  h
0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS " S/ [- u6 ?- g1 D/ Q
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
6 Y% x( v3 L9 d2 M" g3 o" W0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET 0 |) g/ O6 f: n; J' Z5 r3 z
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE
9 L& [* l1 b) _, \0132D94A  .  8BD1          mov    edx, ecx                        ; | 1 L) D' c6 z3 b. P8 h
0132D94C  .  D1EA          shr    edx, 1                          ; | ; P$ m9 G3 `: Y7 b1 C2 `
0132D94E  .  83E2 01      and    edx, 1                          ; |
; K' O* O  r0 o  d" {) s6 K0132D951  .  52            push    edx                              ; |Underline
3 _- z% Y/ B. |- C. H0132D952  .  83E1 01      and    ecx, 1                          ; | " F7 d# H$ b/ M# b
0132D955  .  51            push    ecx                              ; |Italic
* h- g+ p" w1 E0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | 3 j6 u2 v# d/ k- d; N! A5 O2 |
0132D95D  .  51            push    ecx                              ; |Weight 1 Q+ d7 I1 t4 }' _
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
2 a  V6 r& N+ d9 H* G4 n/ B) o0132D960  .  6A 00        push    0                                ; |Escapement = 0 4 p5 Z( S8 |+ }+ S; H
0132D962  .  F7D8          neg    eax                              ; | ( n& Z; o2 t4 S, m3 B; {
0132D964  .  6A 00        push    0                                ; |Width = 0
$ g9 b8 W; t7 B" D) ?2 _0132D966  .  50            push    eax                              ; |Height 2 D8 S; u2 \* p5 H  Q* F( M
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
$ K& k( P: X, y$ z! ~/ p5 h* Z0132D96D  .  50            push    eax 2 t# o  U! |; Q6 ~$ n2 N
0132D96E  .  55            push    ebp 6 G" W& g: \% S; B1 g
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
& s, E) s; \) `0132D973  .  FFD6          call    esi   ]; b- c- F" a9 q2 Q4 F) r$ \! X
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
- Z" c: _; F, j& w! `" Z  X6 M0132D979  .  52            push    edx                              ; /pSize : [) R, I, O) `1 z( c
0132D97A  .  6A 01        push    1                                ; |TextLen = 1
. g; c0 ^% k8 @0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
% c; M  }. d  |9 Q" b. v/ a* O" P0132D981  .  55            push    ebp                              ; |hDC
" r- h6 z! P( Q# A2 c0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | 3 \% ?$ X$ C1 X
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA : ^0 A9 `" S/ l' L
0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C] ( V& t6 ]* U% x% v6 P% n. b- E
0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] / X5 _8 z8 _8 L, j4 a
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
8 ~1 M% D& L& P! I0132D996  .  33C9          xor    ecx, ecx
4 i: E" o: E, a" L5 B0132D998  .  8BC6          mov    eax, esi 2 ]- s5 I/ @! G! ?
0132D99A  .  BA 20000000  mov    edx, 20
7 d$ n" K0 B. G/ Y7 u0132D99F  .  F7E2          mul    edx ! f& X+ h( Z9 w8 O" K0 l
0132D9A1  .  0F90C1        seto    cl 8 U2 }" g" ~' O2 `
0132D9A4  .  F7D9          neg    ecx
- d! \$ F' ^; U; @0132D9A6  .  0BC8          or      ecx, eax - f! F' y0 T' L4 D, w
0132D9A8  .  51            push    ecx * h9 p- S& P. \* I
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new>
! d/ a4 ^& P$ b7 B) h& F0132D9AE  .  83C4 04      add    esp, 4 1 D/ _/ {6 N. q' ]
0132D9B1  .  85C0          test    eax, eax
: v! C: O' R2 h. i; T0132D9B3  .  74 28        je      short 0132D9DD
! e" z* V+ Y$ U6 b9 m0132D9B5  .  83C6 FF      add    esi, -1
. s0 L  ?/ n' [( ]0132D9B8  .  78 25        js      short 0132D9DF & m2 X9 m9 y7 l) }5 E7 C
0132D9BA  .  D9EE          fldz ! g8 a7 ~: ^- e3 ?3 |' @
0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C] 0 s: `1 O' s: ]' H. g$ w
0132D9BF  >  D951 FC      fst    dword ptr [ecx-4] 4 G! Y, G3 H3 e$ U
0132D9C2  .  83C1 20      add    ecx, 20 ; Q0 f, L6 m0 f
0132D9C5  .  83EE 01      sub    esi, 1 : r. Q( l8 H# d- W- O$ S
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20]
1 g! E! X) F3 O* r9 E* r' z0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
( U4 y9 o1 p* N' x5 S' ~0132D9CE  .  D951 D8      fst    dword ptr [ecx-28] # l9 b2 `  Y; j6 D
0132D9D1  .  D951 DC      fst    dword ptr [ecx-24] : c6 C/ t4 [; A3 C4 X! V* d+ q
0132D9D4  .  D951 E0      fst    dword ptr [ecx-20]   b: R, O9 Y4 k
0132D9D7  .^ 79 E6        jns    short 0132D9BF
7 S3 Q3 p7 G# }- X1 T0132D9D9  .  DDD8          fstp    st & p! V8 U" \7 O; k! x3 H( F
0132D9DB  .  EB 02        jmp    short 0132D9DF
5 U! I7 \; J5 u, n% u0132D9DD  >  33C0          xor    eax, eax 8 b7 Q  d# x) M1 z0 Y/ E. p2 A/ ?( X1 L
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ! a$ N; J4 X* I0 g0 }" @
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 8 r& |) C* ~4 a, o; M  g
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] 1 {* z, g5 Y: C! ]
0132D9F0  .  50            push    eax                              ; /Bottom ) v- N, b; @! O
0132D9F1  .  51            push    ecx                              ; |Right
# v; g# Y8 w5 l0 Y5 p0132D9F2  .  6A 00        push    0                                ; |Top = 0 ; Q' _& U: U% J) y5 x: h! Z
0132D9F4  .  6A 00        push    0                                ; |Left = 0 8 W  A/ p4 T" o1 I- W2 q, I- K
0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; | 5 `* |3 m/ y  P4 d. Z# ~% c
0132D9FA  .  52            push    edx                              ; |pRect & Q" N+ d% j2 `
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
& F6 G' u  L; q' F0 F5 w& Y  f0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
* m6 v( H$ K0 X' q0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
1 Q% m! e3 k9 E7 `9 X7 s6 I% I8 r& _+ x0132DA09  .  50            push    eax                              ; /hBrush 9 _7 u! E9 n3 o  V7 j0 U$ v. E
0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
6 |: V# }/ w' S* s# L0132DA0E  .  50            push    eax                              ; |pRect
5 \2 [9 K- e% r, ]$ x. z8 [0132DA0F  .  55            push    ebp                              ; |hDC 3 m0 V' c) S5 ]
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
5 S" F6 W6 R. O4 W, ?( ~0132DA16  .  6A 00        push    0                                ; /Color = <BLACK> 4 Y& P7 c9 T2 m# K; r( n" S7 ]' s
0132DA18  .  55            push    ebp                              ; |hDC
7 H6 j2 y/ s! H; ^; O1 d6 c; e0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
- ?$ Z* s3 z2 y5 Q0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE> : p8 r; b4 z) ^# ]1 M& |
0132DA24  .  55            push    ebp                              ; |hDC 3 J( D- ~5 q1 B8 x$ H- t0 A% I1 y
0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ( i& w1 ~4 }5 A: E
0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT
5 s4 y* M# K+ ~  v0132DA2D  .  55            push    ebp                              ; |hDC 9 Q- f$ ^" q* N
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode ; }! R2 p& d' {# Q9 J3 z7 f# T
0132DA34  .  33F6          xor    esi, esi
+ Y9 J5 O; {% e! \; s. Z/ O% _0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi 9 {% m8 t5 _3 s$ H
0132DA39  .  BB 01000000  mov    ebx, 1
( P# N& }( d4 g( g$ z0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx
0 A; R; T$ P: Y0132DA42  .  897424 14    mov    dword ptr [esp+14], esi , |4 i$ i) Q$ N2 v0 t. f1 U
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
' i- M5 y- l5 l* P+ \0132DA4A  .  0F8E 20010000 jle    0132DB70
4 d( Z+ _1 }( ]; ~8 L( z% l0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] - a# P; R4 }6 Y9 f' ^4 _% v6 h
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10] 6 J( A. v, ]0 {/ {
0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi & x- D& E8 f, ~; ]$ s; @
0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax 4 r& ~; M+ ]& v, I. z' h! T
0132DA63  .  D95C24 38    fstp    dword ptr [esp+38] ) B1 x$ h' w. L. U
0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC] : z" {: l' J% h2 O7 p- B
0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] / I2 i3 j5 f' ^& a/ \7 N
0132DA72  .  EB 04        jmp    short 0132DA78
( l6 Q" `1 z$ B( N" W- J. q: C0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10]
( o9 q4 ^) O' @8 _& D6 O1 R, U% j+ Q8 w0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
2 z6 ^/ |7 p- s0 h; F  M: y4 s3 @9 T0132DA7B  .  66:8B08      mov    cx, word ptr [eax] 3 C$ R4 j+ y& f( Q( I) E
0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
8 p/ B2 @- s8 n- s0 P4 ]0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx . h/ y' W! f) j( W9 {
0132DA86  .  0FB700        movzx  eax, word ptr [eax] ' m8 T7 k- \" p5 c
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14] 4 @0 W* u! _- H/ ~: d
0132DA8C  .  51            push    ecx                              ; /pABC
- a, |5 R2 Y7 q% ~0132DA8D  .  50            push    eax                              ; |LastChar % k, `9 i8 F1 ?. i  t' f
0132DA8E  .  50            push    eax                              ; |FirstChar
6 W; |1 A6 `( ?$ F: I( h7 t- a0132DA8F  .  55            push    ebp                              ; |hDC
! ?9 ~7 q- [% E, e0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 1 U$ z8 \9 r" p; J) d* `
0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] 0 S( q$ [7 ?  F
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
( j' }* G" m7 t( N+ F* j) Q6 p0132DA9E  .  73 10        jnb    short 0132DAB0
. n/ |8 u5 F+ G0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
3 p( w! Q$ l! `% h% x' h& d0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
, p3 }: p$ C# E5 t8 V4 }6 J2 e# {, A0132DAAE  .  EB 0C        jmp    short 0132DABC 0 ^  ?. `( ~, Y1 F  i* J
0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
7 g) m9 O- t, _3 \3 ]* R# M' m0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
" J2 j  V" X( h0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1
4 B3 ^& c+ j/ N6 e! B0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18] $ V) ~$ G4 f8 F6 t$ N
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] . T  R4 W4 Q  \  Z7 D
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] ' i7 o* [6 \6 T5 z' ?
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14] - _+ v- j6 o$ ~+ W6 [
0132DACE  .  72 14        jb      short 0132DAE4 " ^: P3 A, x  {0 t; Z
0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] , u& P9 a! f3 H9 H% B
0132DAD3  .  BB 01000000  mov    ebx, 1 1 s" O2 l! ]* {, u) M9 K% g
0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1]
. y! E3 a' R) [1 ~3 J# B% X- R0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx & x! L- L& D- w# k3 H* n0 U9 l
0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax $ P% @/ o+ K; S* u8 @
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
0 ?7 M! ?1 q& l# n7 {0132DAE8  .  03CB          add    ecx, ebx # E; M- ]3 w+ k( z  O
0132DAEA  .  85C9          test    ecx, ecx
" `) ?+ M) E( J5 D* j. T/ K0132DAEC  .  D94424 38    fld    dword ptr [esp+38]
4 P5 M2 A: M, B  V2 i# ?0132DAF0  .  D9C0          fld    st
- F4 p0 o" n! e+ s3 k; x8 t0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx 1 N! m8 _5 L1 p
0132DAF6  .  DEFA          fdivp  st(2), st $ b0 ?2 c: O( N7 T
0132DAF8  .  D9C9          fxch    st(1) * a2 M9 H7 [9 h) j
0132DAFA  .  D91E          fstp    dword ptr [esi] + L: c  P- c, ^' k9 _7 C
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14]
0 z7 L+ B$ A; b5 [% J- c# C0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
# c! A( e2 ^: d# ~1 C0132DB04  .  D9C0          fld    st
2 o# V" C. M: |+ f2 h8 y5 {( L0132DB06  .  DEFA          fdivp  st(2), st
' u7 b- \/ q6 K6 x0 t" _0132DB08  .  D9C9          fxch    st(1) 1 `+ i, v2 Y- Y# _* [+ \
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] ; f" L" b4 C2 \! |# Q1 v& f8 Y
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18]
8 _7 s- E9 N1 n3 D  h8 |0132DB11  .  7D 06        jge    short 0132DB19 " D7 o7 k" n4 V* A7 \6 \' @
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050] ( ?3 y4 @5 h3 J
0132DB19  >  DEF2          fdivrp  st(2), st
8 T$ u# N2 {2 O2 X0 ^2 V1 A0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
. m! X+ g; K5 F% R9 M7 c0132DB1F  .  6A 01        push    1                                ; /StringSize = 1
& |6 N& W) V' |) `- D0132DB21  .  52            push    edx                              ; |String
$ y7 A& D; c. D1 |0132DB22  .  50            push    eax                              ; |YStart * @" @9 s- @- f4 G) W7 G
0132DB23  .  D9C9          fxch    st(1)                            ; |
4 m8 f* K. I* y* l0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | ) S9 F2 V: a* x" d
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; |
: g$ D4 h; ]& a7 ?$ E2 F+ ?0132DB2B  .  03C8          add    ecx, eax                        ; | 6 |" \- u; H) w1 X/ E% G8 ]
0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; |
' H- L1 I/ e5 z) W- A+ W0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | % g. z6 a* I. a! d8 h7 ]) l' m0 b
0132DB35  .  8BC3          mov    eax, ebx                        ; | 5 n/ D$ {5 `+ {
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
% a0 E/ H4 P" |7 \& W0132DB3A  .  50            push    eax                              ; |XStart
  C' p+ p/ `  k; k( q# S0132DB3B  .  55            push    ebp                              ; |hDC
# E* ^8 o4 n! H0 U. J0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; |
4 h7 Z5 U( I$ h! x; y- S8 c0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW " j; m' A" E) T' J  n* N# d0 {
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C]
& U- c/ L' b0 ~( t+ J0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18]
( J; p* A* q7 A; [8 _0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20
# A* t% A: Z  _# i7 Q! k# G0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
2 F  o( }$ G/ }! w" n8 x# p4 r( x0132DB56  .  83C0 01      add    eax, 1
" V, p: r1 x# x! y: ~0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
1 c" d7 i9 p: P2 O# O0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1] 4 U' A1 u2 T6 b' i
0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx ) O- N) y4 q6 G$ c) _
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
% N3 I' V" e: p! V* R/ s0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 / D! g" _% x. S; Y" q4 u
0132DB6E  .  33F6          xor    esi, esi 8 p  U! x( n/ U- H' x9 ^( z4 f
0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] + B  q! D& Q, V# l* k
0132DB73  .  6A FF        push    -1
% y0 x0 J) n; {0 j0132DB75  .  83C1 38      add    ecx, 38
2 c8 H. [& A' W. {0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> * f  F* `2 S* g" x9 K& Y" R, L5 K
0132DB7D  .  8BD8          mov    ebx, eax : z. w: o4 s+ R3 h$ q
0132DB7F  .  3BDE          cmp    ebx, esi
) {! R$ L" G4 M- H4 n/ N( `: K0132DB81  .  74 74        je      short 0132DBF7 , a$ d! E* ^7 q: u7 D7 f
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24] 1 W, U2 {4 n+ u  N, b: t
0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40] $ Q- Q5 c9 X! P
0132DB8B  .  52            push    edx                              ; /Buffer
9 e0 V. t/ Z/ P3 L+ J3 s0 x0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.) ; S* E3 M1 J5 ]: D' _
0132DB8E  .  50            push    eax                              ; |hObject
) H7 r& R; m# z$ y, \) s0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
* }% g* Z# t9 A( V# s0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] & z7 s! ?& s( S1 D
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1]
7 L, g' |) ?6 h; r) K0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
- i: |0 A, s$ ~9 |+ k  v0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] * ], t8 G2 ]: ~: d) l* F
0132DBA5  .  85C9          test    ecx, ecx 7 E4 K' D# @9 p% E+ J; A" A
0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 4 b" D6 O/ @( U8 |* D5 P9 k
0132DBAF  .  7E 46        jle    short 0132DBF7 6 K0 ?- h/ E3 n% z8 A% ^: ^; c
0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44]
" g( K/ V2 L! G7 G9 ^0132DBB5  >  33C0          xor    eax, eax
3 A! k6 @  s9 l3 ]0132DBB7  .  85D2          test    edx, edx 2 T, w8 r- F' s- `
0132DBB9  .  7E 26        jle    short 0132DBE1 , a2 a& d" \0 Z; O) C
0132DBBB  .  8BCE          mov    ecx, esi
* [" l  z6 E; @* h0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
3 {. ~, `- I  K3 i9 p0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
0 A1 x4 }- z. b7 L' C0132DBC3  .  C1E2 18      shl    edx, 18
) E* K6 P# B3 e4 O. y& \: X4 w0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF
, {* |8 u- R8 ]) w& _0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx / S* ?: ~' D2 [  j
0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44]
5 z6 |+ a2 t% ?1 Q0132DBD3  .  83C0 01      add    eax, 1 2 T0 }1 h$ ?0 Y' a
0132DBD6  .  83C1 03      add    ecx, 3 % J* f4 m2 F4 T  o
0132DBD9  .  3BC2          cmp    eax, edx
* ^2 g' B* a! a$ c5 c9 L0132DBDB  .^ 7C E3        jl      short 0132DBC0
$ O. y0 }+ D( Y0 L0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
& @5 @! d6 N1 q9 H+ v, M0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] & |: W% }( }8 \8 F; s- ~# s
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
% _9 F/ d. W4 Q0132DBE9  .  83C0 01      add    eax, 1 3 {& \; E' B3 p, t$ \; }
0132DBEC  .  3BC1          cmp    eax, ecx ( F1 N" v# l- z' @/ \. w8 W, O
0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4]
8 q; z2 U7 R, `0 |; k5 T& ?1 u0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax
7 d6 @& Y- L- U5 s1 }( F' J0132DBF5  .^ 7C BE        jl      short 0132DBB5
* X" w7 [! @( h9 Z0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24]
0 G5 a% }1 K* M! W0132DBFA  .  6A FF        push    -1 4 }& h' I- t7 y
0132DBFC  .  83C1 38      add    ecx, 38   O0 k8 c) P$ n. C* C- V# D# R
0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS> 0 }: n4 \$ b9 P/ d7 Z  B+ D
0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34]
1 U' @' a" o7 j$ S9 Q: z% N0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
* \3 z  ~  ]! y4 E4 m7 ]0132DC0E  .  50            push    eax                              ; /hObject 3 U; s" f& V8 q
0132DC0F  .  55            push    ebp                              ; |hDC
2 Z" {5 L% l7 p) i+ h2 ~% g0132DC10  .  FFD6          call    esi                              ; \SelectObject
5 k$ x" A8 @; ^0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30] " E3 u, M( ^% Z1 I1 |# O
0132DC16  .  51            push    ecx   ?; g6 Q: w6 w6 }: b: T
0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont
% B. f% P! @  x0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40]
. S4 W+ W. @! z7 \( S4 U) K2 _2 m8 Y0132DC21  .  83C4 04      add    esp, 4
+ A" m) S/ O; L2 ]) D1 n& F0132DC24  .  52            push    edx
8 v4 T  K) q9 a% s0132DC25  .  55            push    ebp
) f  f0 O8 t8 U4 U7 ^0132DC26  .  FFD6          call    esi 1 \: o, ~$ O$ z' O5 q
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24]
# D! x5 h1 L# y2 Y  O9 e3 O0132DC2C  .  50            push    eax : s" w: ]$ e0 x( T; h$ |
0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont % \6 V: e1 R3 j  T$ l; i
0132DC33  .  83C4 04      add    esp, 4 0 R: U5 b. ?. H  v, U8 S
0132DC36  .  55            push    ebp                              ; /hDC
0 e3 z& S& z. B0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC 2 a  F& v4 P, K! p9 Z
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
/ v: t! h1 _/ H* E1 Q. D; j0 m0132DC41  .  6A 00        push    0
+ I' B# q) ?3 p- n' l0 U0132DC43  .  51            push    ecx
, d$ c( X! T, ]7 v$ _- n0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24] 1 G( d; k4 v% S) d# Z, \* ?/ o
0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName>
# {& |4 N! X2 n! x" u1 g* o0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
6 W$ M; W  H: \6 W# C6 u4 y& q0132DC4F  .  6A 01        push    1 / Z' o! h/ J% Q7 K. M% E
0132DC51  .  83C1 38      add    ecx, 38
+ _6 x0 u" j6 k: n/ G0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir>   B: ^  z  Z( _7 }: z
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24]
$ C; ^  n& }5 D* J9 B) z0132DC5C  .  8B11          mov    edx, dword ptr [ecx]
8 X3 J: v. e; w) d  C* h0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] : G# O: X* k3 ~: N# ?/ e: `: h; B
0132DC61  .  6A 00        push    0
2 D8 Z! Y( M6 p" g6 z0132DC63  .  FFD0          call    eax
: p. [# o$ ^/ _7 h& N4 O0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18] 6 Y1 a) W3 d( s  [7 ?; @0 e& O! i
0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] * Q4 D4 Z: t* p* V$ m8 D$ K
0132DC6C  .  33C0          xor    eax, eax
+ e& U; r. ?1 I0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] " |; J- R' K) H! y
0132DC75  .  5D            pop    ebp
6 D$ K3 P3 U, i" U+ W2 y* z& i" T0132DC76  .  0F9CC0        setl    al ! L. |) y- e$ j! \5 i% {
0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]   Z5 g  k+ ~3 R# u, d
0132DC80  .  5F            pop    edi 2 D* v: Q- @: B: T' I
0132DC81  .  5E            pop    esi
- c- Q5 F0 ~' Y' l) p0132DC82  .  5B            pop    ebx + \: e* Z7 }& r0 H
0132DC83  .  33CC          xor    ecx, esp
' C% g. Z' A  p* O% u' @8 a0132DC85  .  E8 E2460500  call    0138236C + p  u  L9 M1 S) D" n- }! l
0132DC8A  .  81C4 98040000 add    esp, 498
7 H% ]; G' z2 k. U4 o* o6 ?( t0132DC90  .  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.( \( s& x) i3 Z- p" g
分析说明也许以后会补上。
" O8 }/ l: _) P, r6 e% _3 b" f9 c0 l, q& Y$ `* x3 r: U0 |. E
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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