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

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

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

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

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

神秘纪事2字库函数

发现了一个和字库有关的函数,研究中。
- h! {( R! Z* Y) k* z3 {+ {( t! @0 h1 T0 `; s% |  |
0132D7E0  $  81EC 98040000 sub    esp, 498 ( c8 [' F; z! s# c* a) R7 K  _
0132D7E6  .  A1 7CD13A01  mov    eax, dword ptr [13AD17C]
$ ?; Z: H0 Z% m- A/ e3 P8 Q0132D7EB  .  33C4          xor    eax, esp
- T3 P0 O) @1 K8 D0132D7ED  .  898424 940400>mov    dword ptr [esp+494], eax + N5 A3 M6 l+ d, f1 h7 d7 |$ a
0132D7F4  .  8B8424 A00400>mov    eax, dword ptr [esp+4A0]
/ }4 z: t! ]2 b- P+ a# j0132D7FB  .  53            push    ebx
: K! ^8 ^* Z3 ^0132D7FC  .  56            push    esi 5 f8 v* m8 ?0 o
0132D7FD  .  8BB424 A40400>mov    esi, dword ptr [esp+4A4]
( U3 o. o& [2 Z: t/ D0132D804  .  57            push    edi . k. K# e! |# _& p; b/ m$ {
0132D805  .  6A 30        push    30                              ; /n = 30 (48.) 1 @$ e. }' @* y0 _
0132D807  .  8BF9          mov    edi, ecx                        ; | ! p" X- x0 n/ T/ ^5 F  H
0132D809  .  8B8C24 B40400>mov    ecx, dword ptr [esp+4B4]        ; |
0 W) t) {# U) C  W2 B0132D810  .  8D5424 74    lea    edx, dword ptr [esp+74]          ; | ( }( Y$ M' r- ^% C
0132D814  .  6A 00        push    0                                ; |c = 00
- {3 D/ A* z  d/ b+ L3 B7 {0132D816  .  52            push    edx                              ; |s : ~3 z2 [! c  X; {8 O
0132D817  .  894424 30    mov    dword ptr [esp+30], eax          ; |
7 a2 x+ g9 ~3 P1 F7 @0132D81B  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | 0 x- V, e$ a% m9 @: v% F1 j/ w
0132D81F  .  C74424 78 340>mov    dword ptr [esp+78], 34          ; |
+ p8 q/ U0 l) H( C0132D827  .  E8 284B0500  call    <jmp.&MSVCR80.memset>            ; \memset
* m+ {  O3 N4 `2 Z- l1 b4 E0132D82C  .  83C4 0C      add    esp, 0C # R- ]+ [: w& K- S% U. O5 @
0132D82F  .  80BC24 CC0400>cmp    byte ptr [esp+4CC], 0 * d0 I- a3 b6 V; u
0132D837  .  74 12        je      short 0132D84B - C, @0 A: i9 m6 A  D+ G
0132D839  .  A1 F8F63A01  mov    eax, dword ptr [13AF6F8]
0 i! E% E' B1 v2 H. T1 ]0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
( T" I1 e1 F: G  V  l* K6 O/ |0132D846  .  8947 1C      mov    dword ptr [edi+1C], eax / _+ K: P- o. g* h4 M
0132D849  .  EB 32        jmp    short 0132D87D
& x( \! \, C+ F4 G0132D84B  >  C747 1C 60010>mov    dword ptr [edi+1C], 160
* E+ w; n* P1 L3 z( k0132D852  .  8B4F 1C      mov    ecx, dword ptr [edi+1C]
8 q; @2 m8 K# Z0132D855  .  33C0          xor    eax, eax
% D! z, X' X$ s7 D# L0132D857  .  EB 07        jmp    short 0132D860 ' n0 T4 y" N& t; f' L
0132D859  .  8DA424 000000>lea    esp, dword ptr [esp] ; N6 N, z/ v/ a
0132D860  >  8D50 20      lea    edx, dword ptr [eax+20]
& U" O$ h9 j' Z  @# L: j; _# |0132D863  .  66:899444 A00>mov    word ptr [esp+eax*2+A0], dx : z9 `% u9 J  q6 M
0132D86B  .  83C0 01      add    eax, 1
  H" Z. m0 ]5 T; L0132D86E  .  3BC1          cmp    eax, ecx
+ Y& U) P3 e3 y0132D870  .^ 7C EE        jl      short 0132D860
. o3 w2 {2 M1 g+ y- ?6 z. P0132D872  .  8D8424 A00000>lea    eax, dword ptr [esp+A0]
% U; }8 X7 v: N0132D879  .  894424 0C    mov    dword ptr [esp+C], eax 5 q8 p  L" U1 a$ \- N
0132D87D  >  8B47 0C      mov    eax, dword ptr [edi+C] : m, a  s5 c' }
0132D880  .  85C0          test    eax, eax
: \% m1 C% N* u9 g9 O' ?0132D882  .  8D5F 0C      lea    ebx, dword ptr [edi+C]
0 r' W/ `, Z2 v: v* F4 b, q0132D885  .  75 05        jnz    short 0132D88C
9 m& N- q! O3 ^! e3 K- [0132D887  .  B8 16263901  mov    eax, 01392616   c9 z' _2 {5 f* i( E* L5 z. q2 t
0132D88C  >  6A 00        push    0
! x9 H, q' F% X# S- S5 D0132D88E  .  6A 00        push    0 # L6 u/ I# H6 |2 a" ?3 R* Q
0132D890  .  50            push    eax # G) Y! K  {3 V) O
0132D891  .  6A 1F        push    1F
- {" b0 J3 p. e, t) Q0132D893  .  8BCE          mov    ecx, esi
, t4 o6 ]9 g; l0132D895  .  E8 FA8E0300  call    <jmp.&CK2.CKContext::CreateObjec> 7 k! g/ O# b$ Y# B% ?! B/ T' f: h
0132D89A  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]
/ J9 f3 k- C- v0132D8A1  .  6A 00        push    0 2 k2 v+ r7 }/ ^; ]7 x
0132D8A3  .  6A 20        push    20
2 E: D7 S  w- `: K0132D8A5  .  51            push    ecx & [. L8 i; C$ j1 d) }) d
0132D8A6  .  8B8C24 D00400>mov    ecx, dword ptr [esp+4D0]
6 ?) p; ]! r# ?8 x7 g) i0132D8AD  .  8947 24      mov    dword ptr [edi+24], eax
3 {' X2 e4 g$ _& O3 U% s- z) t0132D8B0  .  8B10          mov    edx, dword ptr [eax]
$ D+ V0 @/ x' S9 q0 F0132D8B2  .  8B52 54      mov    edx, dword ptr [edx+54] 7 a( o3 i' }: u$ |* }! {
0132D8B5  .  51            push    ecx 2 j; F8 S/ l: R8 Y
0132D8B6  .  8BC8          mov    ecx, eax 7 N' B* ]8 X: \! ?% P: h+ f8 A- P
0132D8B8  .  FFD2          call    edx * ^9 G* k9 V3 f  r# |/ m
0132D8BA  .  85C0          test    eax, eax 0 b$ z2 o% T, ?' H! \5 g
0132D8BC  .  75 07        jnz    short 0132D8C5
8 l# }9 o  W8 E, P1 \0132D8BE  .  32C0          xor    al, al
# Y; N- N$ V* `0132D8C0  .  E9 B4030000  jmp    0132DC79
/ ~( M7 |: E4 f- Q0132D8C5  >  8B4F 24      mov    ecx, dword ptr [edi+24]
. q, }' l! ~4 m3 D/ A0132D8C8  .  8B01          mov    eax, dword ptr [ecx]
8 A: g# [& B. J' {) ]0 p* }0132D8CA  .  8B80 88000000 mov    eax, dword ptr [eax+88] " y& c# k9 q1 K* Y8 _8 R2 E% H
0132D8D0  .  55            push    ebp
6 t$ y0 E% Y( G3 r+ {8 T8 Y) B1 S) d6 }0132D8D1  .  8D5424 70    lea    edx, dword ptr [esp+70] ; N+ [, C3 M2 s% W, h, n9 a3 @& l1 m
0132D8D5  .  52            push    edx 4 N$ Z0 \9 E9 ]/ P$ s; C
0132D8D6  .  FFD0          call    eax # P8 E. j4 g3 b* H
0132D8D8  .  6A 00        push    0                                ; /hDC = NULL 4 w% n; o; R# v, A% K7 H
0132D8DA  .  FF15 34A43801 call    dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
, }1 S$ ?( ~  [' k# d4 C0132D8E0  .  8D4C24 70    lea    ecx, dword ptr [esp+70] 5 \4 i5 u8 C5 `; n/ X0 o
0132D8E4  .  51            push    ecx
- \% m$ U7 R" `* I1 G; p6 [8 V0132D8E5  .  8BE8          mov    ebp, eax
' w$ [1 B) I, B7 w! j0132D8E7  .  FF15 24A83801 call    dword ptr [<&VxMath.VxCreateBitm>;  VxMath.VxCreateBitmap   b" ?% I7 {7 e5 l4 F" e! w
0132D8ED  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
2 n. v/ S0 y- H/ `( z0132D8F3  .  83C4 04      add    esp, 4
. m# r: e$ F. e1 i& i! J, o0132D8F6  .  50            push    eax                              ; /hObject
  G+ x1 l) u' ~& U  [0132D8F7  .  55            push    ebp                              ; |hDC
) w' o5 M7 o8 Q' \+ w" o0132D8F8  .  894424 2C    mov    dword ptr [esp+2C], eax          ; |   Z4 d7 @% [6 B, P
0132D8FC  .  FFD6          call    esi                              ; \SelectObject
* w$ n. o' @! J" U1 i, i- G0132D8FE  .  8B5424 28    mov    edx, dword ptr [esp+28] + g6 P- J" f5 ^# L8 S" C
0132D902  .  52            push    edx
/ p- s9 \3 R6 y0132D903  .  8BCB          mov    ecx, ebx
( h# t9 A& _/ m( f% ?7 T! k9 D7 l0132D905  .  894424 40    mov    dword ptr [esp+40], eax ; N9 F! _1 @: k% q
0132D909  .  FF15 BCA83801 call    dword ptr [<&VxMath.XString::ope>;  VxMath.XString::operator=
! c) m1 ?7 W: N* `9 b3 I, Y4 L0132D90F  .  8B9C24 B80400>mov    ebx, dword ptr [esp+4B8] ' W2 M0 N& U6 C5 O! c: Z3 t/ a
0132D916  .  6A 48        push    48                              ; /Divisor = 48 (72.) ; q' Y7 O/ @. Y. M% P7 B
0132D918  .  6A 5A        push    5A                              ; |/Index = LOGPIXELSY 2 _. P1 Y# n. T" |4 ^8 V: ^% Q
0132D91A  .  55            push    ebp                              ; ||hDC
- U  }- @  O* i8 L* K: V% ]. T0132D91B  .  895F 14      mov    dword ptr [edi+14], ebx          ; ||
. w7 S; U0 ^- h3 q7 }$ V0132D91E  .  FF15 64A43801 call    dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ; {8 w3 P7 q  N; L$ E
0132D924  .  50            push    eax                              ; |Multiplier # f$ \5 g  v2 p& |1 U8 H7 S: r
0132D925  .  53            push    ebx                              ; |Multiplicand - `# M9 Z1 Y" ~, k; o
0132D926  .  FF15 DCA43801 call    dword ptr [<&KERNEL32.MulDiv>]  ; \MulDiv % y. h( b, q; y. }& m) L2 e* M% J1 [- T
0132D92C  .  8B4C24 1C    mov    ecx, dword ptr [esp+1C]
6 ]+ M8 |! s' Q* f, @$ p* m0132D930  .  8B9424 C00400>mov    edx, dword ptr [esp+4C0] ) M7 Z( h, t3 Y! I6 @! `, u
0132D937  .  51            push    ecx                              ; /FaceName 3 C" h' K% n% U8 w# e
0132D938  .  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8]        ; |
4 `+ U1 B* l: @) A0 O& C6 W+ X0132D93F  .  6A 00        push    0                                ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE , `& P  J# N: q! `- s+ f
0132D941  .  52            push    edx                              ; |Quality
1 e; C8 w& _+ Y& y0132D942  .  6A 00        push    0                                ; |ClipPrecision = CLIP_DEFAULT_PRECIS # H* \" P  O. c5 g
0132D944  .  6A 07        push    7                                ; |OutputPrecision = OUT_TT_ONLY_PRECIS
& M# v# z& R6 h- U, J0 V0132D946  .  6A 01        push    1                                ; |CharSet = DEFAULT_CHARSET - M, e3 U' m2 \! r0 t  a2 c6 Q
0132D948  .  6A 00        push    0                                ; |StrikeOut = FALSE / O' t) Q6 l& D1 {3 _$ X
0132D94A  .  8BD1          mov    edx, ecx                        ; |   W; K% O% q) W2 ^
0132D94C  .  D1EA          shr    edx, 1                          ; | 3 u) L7 Y0 K; H: M! V! N
0132D94E  .  83E2 01      and    edx, 1                          ; | + c* G% N9 g$ N0 Z+ w
0132D951  .  52            push    edx                              ; |Underline
2 _" Y1 l5 @$ U" r  ^% O3 c# G; @0132D952  .  83E1 01      and    ecx, 1                          ; | 6 s. P7 p) y6 B
0132D955  .  51            push    ecx                              ; |Italic
4 S8 Q2 j0 c$ E9 P8 W0132D956  .  8B8C24 E00400>mov    ecx, dword ptr [esp+4E0]        ; | 8 A( G3 E( G+ k7 t
0132D95D  .  51            push    ecx                              ; |Weight - ^7 w( Q3 v4 \( I; i6 N( n
0132D95E  .  6A 00        push    0                                ; |Orientation = 0
# Z( g8 f. _7 |" \0132D960  .  6A 00        push    0                                ; |Escapement = 0
2 G' s$ l4 M1 N) |8 \8 c8 X0132D962  .  F7D8          neg    eax                              ; | 0 ~8 \  K0 Z* u$ @, j% j
0132D964  .  6A 00        push    0                                ; |Width = 0 3 s- `1 J) \7 e8 F/ {' o* L5 x
0132D966  .  50            push    eax                              ; |Height : G/ b9 E0 Q! J1 C3 l8 R
0132D967  .  FF15 60A43801 call    dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA . W; N0 `2 }9 l) C7 f4 y  Z
0132D96D  .  50            push    eax 2 v( E/ z5 e- x5 h1 \. h
0132D96E  .  55            push    ebp + X2 K. R* h0 G6 V# n# x9 _3 U! y: X
0132D96F  .  894424 38    mov    dword ptr [esp+38], eax
8 U$ Z; x. a9 Q6 c) \: E0132D973  .  FFD6          call    esi ; S' B- C( d7 ~0 T6 _3 Y2 j
0132D975  .  8D5424 58    lea    edx, dword ptr [esp+58]
! W) f: q. L1 C0132D979  .  52            push    edx                              ; /pSize
6 i  p! R; H" O4 C& T: x" M0132D97A  .  6A 01        push    1                                ; |TextLen = 1
" K# `; s' |, X, z; {2 v+ d" X/ h0132D97C  .  68 4CED3801  push    0138ED4C                        ; |Text = "A"
0 ?/ o! m2 r5 j; @6 X/ k# b0132D981  .  55            push    ebp                              ; |hDC / h) w; N4 Z8 t4 W: i* K
0132D982  .  894424 44    mov    dword ptr [esp+44], eax          ; | ' v) J7 u) N3 R; g* `: g
0132D986  .  FF15 5CA43801 call    dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
- C3 l# d: B+ ^% P! ~/ o2 z0132D98C  .  8B4424 5C    mov    eax, dword ptr [esp+5C]
2 A1 f) ~& K9 [& p& {1 B0132D990  .  8B77 1C      mov    esi, dword ptr [edi+1C] 7 I* Q, `% L: {5 B+ A. g$ e
0132D993  .  8947 18      mov    dword ptr [edi+18], eax
8 H& q, t9 }  j/ z0132D996  .  33C9          xor    ecx, ecx
' t/ ~8 y9 y. D0 M- s+ n  D+ X0132D998  .  8BC6          mov    eax, esi
0 i. w& S- `& l* l# Y0132D99A  .  BA 20000000  mov    edx, 20
4 b. P2 S% @. w8 S: j0132D99F  .  F7E2          mul    edx . E- G1 D3 h+ Q* @7 y7 j
0132D9A1  .  0F90C1        seto    cl ! C& n  D1 @# Q. Y# ]0 Y* _, ]
0132D9A4  .  F7D9          neg    ecx 1 _) K$ S* Y9 L+ X: ]0 u
0132D9A6  .  0BC8          or      ecx, eax ' E9 l) F0 z  A+ C1 ^
0132D9A8  .  51            push    ecx 9 l2 t4 W( l2 ?5 r) {
0132D9A9  .  E8 964A0500  call    <jmp.&MSVCR80.operator new> 9 D- A9 h2 R2 [8 C
0132D9AE  .  83C4 04      add    esp, 4 3 S7 a& z( W% N
0132D9B1  .  85C0          test    eax, eax
$ y2 ^, k2 W7 M/ u8 m: X$ c0132D9B3  .  74 28        je      short 0132D9DD * g+ X6 I& r* M+ i9 S8 z" }! F" g
0132D9B5  .  83C6 FF      add    esi, -1 , o" _; T8 L0 T" P+ ^
0132D9B8  .  78 25        js      short 0132D9DF
' g1 q& C% k9 q, |* R' Q  r0132D9BA  .  D9EE          fldz
8 a, B4 v1 E. ~# W+ R3 o0 X' |' u0132D9BC  .  8D48 0C      lea    ecx, dword ptr [eax+C]
3 K' s$ _& @- H  e4 }0132D9BF  >  D951 FC      fst    dword ptr [ecx-4]
1 u+ n, a- Y7 }0132D9C2  .  83C1 20      add    ecx, 20
  o6 ]0 o) g4 [0132D9C5  .  83EE 01      sub    esi, 1 4 T; D0 O% f1 y8 }4 Z) Q
0132D9C8  .  D951 E0      fst    dword ptr [ecx-20] 1 N3 F/ f( w! r$ ~* R7 `5 e; Y
0132D9CB  .  D951 D4      fst    dword ptr [ecx-2C]
# E8 g2 t$ y7 g& b0 G0 b0132D9CE  .  D951 D8      fst    dword ptr [ecx-28]
" ?2 P. j  H8 T9 q5 @0132D9D1  .  D951 DC      fst    dword ptr [ecx-24]
. h8 D+ Q. j. G, r' c4 B' N0132D9D4  .  D951 E0      fst    dword ptr [ecx-20] " c4 H2 p/ P5 k- j
0132D9D7  .^ 79 E6        jns    short 0132D9BF % r% u2 T& T( |3 O: `+ {0 l! r
0132D9D9  .  DDD8          fstp    st
, E; Z9 R) J- B3 p% A7 O4 {7 k0132D9DB  .  EB 02        jmp    short 0132D9DF / u/ w* A! v$ V% R2 C: B3 X  X
0132D9DD  >  33C0          xor    eax, eax - \5 n4 Y8 n$ w2 p( {
0132D9DF  >  8B8C24 C80400>mov    ecx, dword ptr [esp+4C8] ; T5 ^9 e  n3 C( s+ \) a
0132D9E6  .  8947 20      mov    dword ptr [edi+20], eax 2 c; ]3 O# `2 f8 T* e9 n- X* p; }
0132D9E9  .  8B8424 CC0400>mov    eax, dword ptr [esp+4CC] $ p3 T+ o9 U) e# K
0132D9F0  .  50            push    eax                              ; /Bottom   N' C: X$ {9 ~# @
0132D9F1  .  51            push    ecx                              ; |Right , q- h; [6 ~6 x1 H
0132D9F2  .  6A 00        push    0                                ; |Top = 0 1 U" e' v+ a0 f7 ]; z6 {7 |
0132D9F4  .  6A 00        push    0                                ; |Left = 0
$ ], A1 ~9 i  P0132D9F6  .  8D5424 70    lea    edx, dword ptr [esp+70]          ; |
+ T: E2 f2 f) T. x, v0132D9FA  .  52            push    edx                              ; |pRect 3 x: s4 F: p% a9 S' h) x
0132D9FB  .  FF15 64A73801 call    dword ptr [<&USER32.SetRect>]    ; \SetRect
/ X; L$ L" c! ^  V4 O0132DA01  .  6A 04        push    4                                ; /ObjType = BLACK_BRUSH
$ X4 g' X5 a# X  \0132DA03  .  FF15 58A43801 call    dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
7 C( e: r9 m# w2 h7 b; h0132DA09  .  50            push    eax                              ; /hBrush
0 u6 Y4 m# j% d& A( L, K% g0132DA0A  .  8D4424 64    lea    eax, dword ptr [esp+64]          ; |
. Z+ d1 t$ `4 j' Q5 Q) D0132DA0E  .  50            push    eax                              ; |pRect . \! z/ x. Z( @# A" b2 \
0132DA0F  .  55            push    ebp                              ; |hDC ; L3 N! V- c: J& b& G( ~% d
0132DA10  .  FF15 68A73801 call    dword ptr [<&USER32.FillRect>]  ; \FillRect
- O4 C5 ^0 G# O0 m; h2 W0132DA16  .  6A 00        push    0                                ; /Color = <BLACK>
, k* J% g: Y" H& Z8 K0132DA18  .  55            push    ebp                              ; |hDC : u0 G. S+ K$ i- z+ j* G1 R# Z
0132DA19  .  FF15 54A43801 call    dword ptr [<&GDI32.SetBkColor>]  ; \SetBkColor
9 X, ]0 x; p7 J/ ~0 t  i, }( p1 ?0132DA1F  .  68 FFFFFF00  push    0FFFFFF                          ; /Color = <WHITE>
% \. h0 k( d1 _! P, ?0132DA24  .  55            push    ebp                              ; |hDC
' `6 U) n3 \6 s' h' C4 [7 p0132DA25  .  FF15 50A43801 call    dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
6 p/ G8 Y/ A. T) p9 D0132DA2B  .  6A 01        push    1                                ; /BkMode = TRANSPARENT 5 }. e; k' c/ E8 ~+ x# B
0132DA2D  .  55            push    ebp                              ; |hDC 3 n2 _0 e+ T8 ^: I* y' g( B
0132DA2E  .  FF15 4CA43801 call    dword ptr [<&GDI32.SetBkMode>]  ; \SetBkMode ) c4 Q: I; h5 J( X# Z; e& |
0132DA34  .  33F6          xor    esi, esi 0 M9 ^( ~" {/ F! C/ _
0132DA36  .  3977 1C      cmp    dword ptr [edi+1C], esi : `! T, T5 c* v, x% t
0132DA39  .  BB 01000000  mov    ebx, 1
: G. q$ C, H9 X+ f0132DA3E  .  895C24 18    mov    dword ptr [esp+18], ebx & ~( N, s6 h% Y. v" M) V
0132DA42  .  897424 14    mov    dword ptr [esp+14], esi . N+ M2 K9 k4 M1 u- ~
0132DA46  .  897424 1C    mov    dword ptr [esp+1C], esi
4 U0 b* r& |( g+ w0 N0132DA4A  .  0F8E 20010000 jle    0132DB70
" d2 Q+ w2 e/ H, K0132DA50  .  DB8424 C80400>fild    dword ptr [esp+4C8] / U) m- B3 r2 {& {! L
0132DA57  .  8B4424 10    mov    eax, dword ptr [esp+10]
& `8 F& o$ O* |+ h& N) W/ S5 F0132DA5B  .  897424 20    mov    dword ptr [esp+20], esi
+ a- h+ ?1 B; X) S: P: q9 F$ f% i0132DA5F  .  894424 10    mov    dword ptr [esp+10], eax
+ V1 {/ x% f7 B% K1 h$ Q; e+ H& U' q1 ?0132DA63  .  D95C24 38    fstp    dword ptr [esp+38]
7 w) f: d  q( E; k& R* e4 F# b7 ^8 ?0132DA67  .  DB8424 CC0400>fild    dword ptr [esp+4CC]
, }  P% N* _6 o1 }- b2 n! x8 \0132DA6E  .  D95C24 2C    fstp    dword ptr [esp+2C] & I# y# q) C* Z+ G9 d
0132DA72  .  EB 04        jmp    short 0132DA78 0 J, Q. [1 N1 W5 w8 y; F+ e
0132DA74  >  8B4424 10    mov    eax, dword ptr [esp+10] 0 z& m. D, t, V! M6 z' A5 N& e8 y- Y
0132DA78  >  8B77 20      mov    esi, dword ptr [edi+20]
( Z! J7 G8 F# ~. [: |0132DA7B  .  66:8B08      mov    cx, word ptr [eax]
4 K0 ]2 J' F. ]4 D7 c! D/ l+ C0132DA7E  .  037424 20    add    esi, dword ptr [esp+20]
- F. t, L( M" ]$ V  u. ^0132DA82  .  66:894E 10    mov    word ptr [esi+10], cx
8 H6 H% s/ b% t" V- z* s# A0132DA86  .  0FB700        movzx  eax, word ptr [eax] - n' z. H4 v0 A
0132DA89  .  8D4E 14      lea    ecx, dword ptr [esi+14]
2 X* F: S: n+ Q: L3 |0132DA8C  .  51            push    ecx                              ; /pABC   L, b  N2 w8 _, N; M, h
0132DA8D  .  50            push    eax                              ; |LastChar 2 e( ^# U+ u; V6 l
0132DA8E  .  50            push    eax                              ; |FirstChar ( q" K, W$ q: [7 F" G
0132DA8F  .  55            push    ebp                              ; |hDC
% c4 v! ^; \% ?: \5 ^" I0132DA90  .  FF15 48A43801 call    dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
  N- D) {+ |/ F! f/ L+ G0132DA96  .  8B5424 10    mov    edx, dword ptr [esp+10] : a$ r6 j6 w& n' b
0132DA9A  .  66:833A 20    cmp    word ptr [edx], 20
# a- W: u% P+ n$ N& G4 ]0132DA9E  .  73 10        jnb    short 0132DAB0
, H' F: r2 J4 E1 b7 w0132DAA0  .  C746 14 00000>mov    dword ptr [esi+14], 0
; u0 m: z' U, T" H' y; E/ j9 S0 O0132DAA7  .  C746 1C 00000>mov    dword ptr [esi+1C], 0
5 [. q8 r- g9 ~0132DAAE  .  EB 0C        jmp    short 0132DABC
$ q9 y- J1 P: O; H) h) a9 K0132DAB0  >  8346 14 FF    add    dword ptr [esi+14], -1
7 H1 [" V! O! e/ h0132DAB4  .  8346 18 02    add    dword ptr [esi+18], 2
/ N; ~* c( `; X$ V4 n0 E0132DAB8  .  8346 1C FF    add    dword ptr [esi+1C], -1 . Q" ^# _( u$ I# D! l: ?
0132DABC  >  8B4E 18      mov    ecx, dword ptr [esi+18]   t; W4 W2 O* ^5 Y8 R+ q& t: E
0132DABF  .  8D4419 01    lea    eax, dword ptr [ecx+ebx+1] 7 I' y' A4 G& c1 A) p4 E% s6 E: o+ ^
0132DAC3  .  3B8424 C80400>cmp    eax, dword ptr [esp+4C8] 7 z3 u3 e, z+ h
0132DACA  .  8B4424 14    mov    eax, dword ptr [esp+14]
6 i0 ?: Q. c/ H+ Y" ]# B0132DACE  .  72 14        jb      short 0132DAE4
/ |1 M( y1 A2 }* G1 a$ ?9 A0132DAD0  .  8B57 18      mov    edx, dword ptr [edi+18] 7 v$ S& A3 T% @- Y: G8 D, ~( _
0132DAD3  .  BB 01000000  mov    ebx, 1
" J0 z8 H8 k( ^8 v9 T! s0132DAD8  .  8D4410 01    lea    eax, dword ptr [eax+edx+1] ' d, x  {% y' K) m  i, u! P
0132DADC  .  895C24 18    mov    dword ptr [esp+18], ebx
' B4 [- U5 ?- E3 E0132DAE0  .  894424 14    mov    dword ptr [esp+14], eax 8 E$ V: y) W# ?, V
0132DAE4  >  DB4424 18    fild    dword ptr [esp+18]
& `/ r5 d$ N* X* a' J0 M0132DAE8  .  03CB          add    ecx, ebx * \' i" i2 R  k' @3 A
0132DAEA  .  85C9          test    ecx, ecx 9 o4 \0 `! G. t3 K" A' K* B' a7 T
0132DAEC  .  D94424 38    fld    dword ptr [esp+38] " c: R* W/ H. F6 T. |& b
0132DAF0  .  D9C0          fld    st ; S. |- H% ~0 t+ A/ i/ f
0132DAF2  .  894C24 18    mov    dword ptr [esp+18], ecx
5 U+ ^+ q% P! x3 T9 V0132DAF6  .  DEFA          fdivp  st(2), st 9 q- [" V. n8 E( _7 g5 |3 @; p6 r1 `
0132DAF8  .  D9C9          fxch    st(1) , u' l9 U  w+ G" N: l" Q8 ^& c
0132DAFA  .  D91E          fstp    dword ptr [esi]   y  k3 f5 J; i/ K& p! Y2 s/ D
0132DAFC  .  DB4424 14    fild    dword ptr [esp+14] : Z8 U/ v4 z0 n, g  A! y
0132DB00  .  D94424 2C    fld    dword ptr [esp+2C]
4 d# s4 ]2 Y* w9 s5 V0132DB04  .  D9C0          fld    st   ]* h4 [4 L  ^" S0 y2 c
0132DB06  .  DEFA          fdivp  st(2), st
4 B% K5 X  _. A. X5 ]0132DB08  .  D9C9          fxch    st(1) 2 Q& z) T( Z, T" {, S
0132DB0A  .  D95E 04      fstp    dword ptr [esi+4] . m1 v  E' v" w" b1 u" X9 |
0132DB0D  .  DB4424 18    fild    dword ptr [esp+18] 4 t. G- P& @& u! D' g# P+ p
0132DB11  .  7D 06        jge    short 0132DB19 $ T9 O6 d' |. Q( @
0132DB13  .  D805 50B03801 fadd    dword ptr [138B050]
9 E% |$ v& C2 E# Y4 |0 G! a! `0132DB19  >  DEF2          fdivrp  st(2), st . Y# o; q5 q4 C( \
0132DB1B  .  8B5424 10    mov    edx, dword ptr [esp+10]
/ K8 D7 |. B# N" G0132DB1F  .  6A 01        push    1                                ; /StringSize = 1 . A: ]% @* b  s' y
0132DB21  .  52            push    edx                              ; |String ( \7 [- A# s8 A) M3 Z
0132DB22  .  50            push    eax                              ; |YStart
  S1 M* h3 K# M3 g* W0132DB23  .  D9C9          fxch    st(1)                            ; | 2 |  i3 ^3 H) H. l+ j% h
0132DB25  .  D95E 08      fstp    dword ptr [esi+8]                ; | ) U* r8 m5 l# Q; J7 l
0132DB28  .  8B4F 18      mov    ecx, dword ptr [edi+18]          ; | ; A8 w5 M( k- k) d) |2 w
0132DB2B  .  03C8          add    ecx, eax                        ; |
- ]3 a+ `9 ?& W0132DB2D  .  894C24 24    mov    dword ptr [esp+24], ecx          ; | ; E: x9 |7 Q( C. @; ^" g
0132DB31  .  DA7C24 24    fidivr  dword ptr [esp+24]              ; | 0 t+ e0 U4 ~1 x7 V. H
0132DB35  .  8BC3          mov    eax, ebx                        ; | ! S2 ~9 G# x7 s5 l4 K
0132DB37  .  2B46 14      sub    eax, dword ptr [esi+14]          ; |
9 a! R1 V9 [! y& m0132DB3A  .  50            push    eax                              ; |XStart 3 z/ U' F* c9 i) Y0 |
0132DB3B  .  55            push    ebp                              ; |hDC
5 T2 @! x. F( _; Z# W, p6 T0132DB3C  .  D95E 0C      fstp    dword ptr [esi+C]                ; | ) |# A; J% {% Q' t
0132DB3F  .  FF15 44A43801 call    dword ptr [<&GDI32.TextOutW>]    ; \TextOutW 2 N$ V" ^3 _) t$ \$ e
0132DB45  .  8B4424 1C    mov    eax, dword ptr [esp+1C] 1 z7 Q6 ]  D; b6 N
0132DB49  .  8B4E 18      mov    ecx, dword ptr [esi+18] 5 m( _9 n3 J7 N( J7 h! i
0132DB4C  .  834424 20 20  add    dword ptr [esp+20], 20 ! @8 i( P, s, i
0132DB51  .  834424 10 02  add    dword ptr [esp+10], 2
! v# N- s2 N/ f' r9 c0132DB56  .  83C0 01      add    eax, 1 1 e8 W, |3 Q, C) V8 o( B0 i0 _
0132DB59  .  3B47 1C      cmp    eax, dword ptr [edi+1C]
0 @9 U8 \. i% i! \: ~- a7 G) e0132DB5C  .  8D5C0B 01    lea    ebx, dword ptr [ebx+ecx+1]
& y( f/ o# Y( b* S5 z0132DB60  .  895C24 18    mov    dword ptr [esp+18], ebx ) p' r, ]$ B+ p; h/ c) h1 W
0132DB64  .  894424 1C    mov    dword ptr [esp+1C], eax
2 I# D7 J' R- K$ p4 i9 c0132DB68  .^ 0F8C 06FFFFFF jl      0132DA74 2 _! t" @0 `& ^: z) w! C5 M( f
0132DB6E  .  33F6          xor    esi, esi
: g9 B0 L5 g4 z8 \$ _# B0132DB70  >  8B4F 24      mov    ecx, dword ptr [edi+24] ' Z& p- g" p+ u) c: C# z
0132DB73  .  6A FF        push    -1 4 s. v8 g2 T+ m4 @& \
0132DB75  .  83C1 38      add    ecx, 38 ( h2 k( |# f0 `& a3 [& o
0132DB78  .  E8 278E0300  call    <jmp.&CK2.CKBitmapData::LockSurf> * @% Z: `. m* i+ ^6 \
0132DB7D  .  8BD8          mov    ebx, eax 3 I/ F1 F4 q/ P+ I9 i4 D/ `( u
0132DB7F  .  3BDE          cmp    ebx, esi
4 V: \1 ^) p0 h0 _, q4 A  j( B" f0132DB81  .  74 74        je      short 0132DBF7 5 W2 ~7 M; C$ k( J
0132DB83  .  8B4424 24    mov    eax, dword ptr [esp+24]
  h" L! q! D# F% |* b: v( Z0132DB87  .  8D5424 40    lea    edx, dword ptr [esp+40]
1 |2 F: a' H3 k- D( ~6 u: \4 K0132DB8B  .  52            push    edx                              ; /Buffer 7 g# w7 G9 Z, X; M/ P/ u  e: E
0132DB8C  .  6A 18        push    18                              ; |BufSize = 18 (24.)
+ j5 z/ f, N6 D3 U3 }; |7 Q( x0132DB8E  .  50            push    eax                              ; |hObject
2 S) L1 i; b- i5 i0132DB8F  .  FF15 40A43801 call    dword ptr [<&GDI32.GetObjectA>]  ; \GetObjectA
6 f6 @! F: ^9 [' S  ]: Q0132DB95  .  8B4C24 48    mov    ecx, dword ptr [esp+48] # U3 [, a8 t) x9 G1 j7 g/ z
0132DB99  .  8D71 FF      lea    esi, dword ptr [ecx-1] # s4 B* Q" C3 n4 Y
0132DB9C  .  0FAF7424 4C  imul    esi, dword ptr [esp+4C]
  S. w# e( z, Z4 q) X' X0132DBA1  .  037424 54    add    esi, dword ptr [esp+54] 3 k# Q& e, U1 K+ A" z, x. `
0132DBA5  .  85C9          test    ecx, ecx
1 M' N6 f" Q/ m4 _' z! \  @0132DBA7  .  C74424 14 000>mov    dword ptr [esp+14], 0 , E, V6 b7 y/ I! A
0132DBAF  .  7E 46        jle    short 0132DBF7
/ o4 M' o; n* |# a$ a5 b0132DBB1  .  8B5424 44    mov    edx, dword ptr [esp+44] 0 e/ s: x( j4 H. S5 n( w" ]+ M
0132DBB5  >  33C0          xor    eax, eax
8 ]* l9 u  {: Z$ @0132DBB7  .  85D2          test    edx, edx ) Y. i+ g9 p0 E
0132DBB9  .  7E 26        jle    short 0132DBE1 - v6 E/ Z) `& S  D5 h
0132DBBB  .  8BCE          mov    ecx, esi 7 \- M; T) A" s
0132DBBD  .  8D49 00      lea    ecx, dword ptr [ecx]
) M* y3 t0 ?; ^* e) q6 V& ~0132DBC0  >  0FB611        movzx  edx, byte ptr [ecx]
) z1 ?8 \+ P$ B( ^5 h0132DBC3  .  C1E2 18      shl    edx, 18
9 m: c; Q9 I5 S9 U6 j' L; Q" E1 C0132DBC6  .  81CA FFFFFF00 or      edx, 0FFFFFF % j% C; r- ~  I' x" S
0132DBCC  .  891483        mov    dword ptr [ebx+eax*4], edx
+ E! {5 O2 ?/ q0132DBCF  .  8B5424 44    mov    edx, dword ptr [esp+44] 7 e: o7 Y* e6 V9 s2 ~
0132DBD3  .  83C0 01      add    eax, 1
! I' y2 y  V# V: h6 \0132DBD6  .  83C1 03      add    ecx, 3 $ Y, x9 @5 ?6 r1 f9 K. q
0132DBD9  .  3BC2          cmp    eax, edx
: N6 q$ e5 x0 n4 b# s4 L0132DBDB  .^ 7C E3        jl      short 0132DBC0
7 P+ S; m, q. I) g$ J3 ]0132DBDD  .  8B4C24 48    mov    ecx, dword ptr [esp+48]
$ H* I2 J, i3 _& v# K3 K0132DBE1  >  8B4424 14    mov    eax, dword ptr [esp+14] . _/ y' e: U0 [8 p* X! [  p
0132DBE5  .  2B7424 4C    sub    esi, dword ptr [esp+4C]
; |- `9 l$ h/ u0 |$ |1 E/ x" D  C' H0132DBE9  .  83C0 01      add    eax, 1
+ @; J- q3 W% }5 V/ T4 ^7 G1 f0132DBEC  .  3BC1          cmp    eax, ecx
  f  o2 ]+ e9 r; f* k7 ^5 u0132DBEE  .  8D1C93        lea    ebx, dword ptr [ebx+edx*4] ; N6 e$ e  Q3 v  d. `' o# J4 z
0132DBF1  .  894424 14    mov    dword ptr [esp+14], eax 5 O+ g$ k3 b6 L5 l
0132DBF5  .^ 7C BE        jl      short 0132DBB5 9 g& e( y. L$ b9 [5 _# I6 }2 M0 o
0132DBF7  >  8B4F 24      mov    ecx, dword ptr [edi+24] % U, a* W8 M( `$ z! [/ c& r2 P& n
0132DBFA  .  6A FF        push    -1
7 F3 H! x/ S/ W& k) z0132DBFC  .  83C1 38      add    ecx, 38
' J% K0 r) T; \0132DBFF  .  E8 9A8D0300  call    <jmp.&CK2.CKBitmapData::ReleaseS>
$ p  w- K( m% V; d# x0 C# ]5 k0132DC04  .  8B4424 34    mov    eax, dword ptr [esp+34] ' \7 P8 F9 H$ j  U
0132DC08  .  8B35 70A43801 mov    esi, dword ptr [<&GDI32.SelectOb>;  GDI32.SelectObject
- D; R. |5 K* c" O( O- S0132DC0E  .  50            push    eax                              ; /hObject
* P" G4 t0 e( H# K: B0132DC0F  .  55            push    ebp                              ; |hDC ' |; ^. A1 B) n: r: R
0132DC10  .  FFD6          call    esi                              ; \SelectObject 2 q2 h- F/ _: r
0132DC12  .  8B4C24 30    mov    ecx, dword ptr [esp+30]   c6 I# a1 @( y( X) h) r3 k
0132DC16  .  51            push    ecx
. H2 s4 D6 a. ?+ O, i0 j1 z0132DC17  .  FF15 28A83801 call    dword ptr [<&VxMath.VxDeleteFont>;  VxMath.VxDeleteFont * z" f$ h3 W. L  |# b
0132DC1D  .  8B5424 40    mov    edx, dword ptr [esp+40] 0 f+ M" `. _" Q) W
0132DC21  .  83C4 04      add    esp, 4
+ P9 Q% M/ X5 G& Q1 R4 \3 R: p) u5 W0132DC24  .  52            push    edx ; ~4 V! ]! u9 Y% A3 N
0132DC25  .  55            push    ebp
& @$ \" ~) P' i2 J/ g) C6 t0132DC26  .  FFD6          call    esi 0 R" K5 T# T$ H7 E  h' {* D, e2 U" x
0132DC28  .  8B4424 24    mov    eax, dword ptr [esp+24] 4 n2 S: M8 h7 _& @8 a" o5 \" X2 q
0132DC2C  .  50            push    eax
& {- w. ]) f' W" \5 z0132DC2D  .  FF15 2CA83801 call    dword ptr [<&VxMath.VxDeleteBitm>;  VxMath.VxDeleteFont $ U- |, F6 K6 K/ ~# H( n! S
0132DC33  .  83C4 04      add    esp, 4
4 E6 C; K+ v; P. Z0132DC36  .  55            push    ebp                              ; /hDC
9 K) [' h3 y4 Z7 e( i0 S0132DC37  .  FF15 3CA43801 call    dword ptr [<&GDI32.DeleteDC>]    ; \DeleteDC * @0 M9 v8 C  u
0132DC3D  .  8B4C24 28    mov    ecx, dword ptr [esp+28]
% T4 E2 c* B  g; f3 k& p6 r0132DC41  .  6A 00        push    0
6 |; j4 a& ~" {: f0132DC43  .  51            push    ecx 7 e/ h" h: b, {2 e9 [5 a! \
0132DC44  .  8B4F 24      mov    ecx, dword ptr [edi+24]
1 d' H7 L6 G4 b* Y0 e0132DC47  .  E8 4C8A0300  call    <jmp.&CK2.CKObject::SetName> ( p1 l. i' G, n7 f+ h* t
0132DC4C  .  8B4F 24      mov    ecx, dword ptr [edi+24]
) c9 u# z9 ^7 ^4 Y% }0132DC4F  .  6A 01        push    1 ; D# W; H% e0 t
0132DC51  .  83C1 38      add    ecx, 38
4 F: j4 c$ o' |& B4 {) t/ K2 P0132DC54  .  E8 7B8D0300  call    <jmp.&CK2.CKBitmapData::SetDesir> 3 I( I3 j2 [- X; c7 u* E
0132DC59  .  8B4F 24      mov    ecx, dword ptr [edi+24] % z0 q3 P% D4 C* l% s& B. D
0132DC5C  .  8B11          mov    edx, dword ptr [ecx]   p! Q3 _% L5 X& u' _
0132DC5E  .  8B42 78      mov    eax, dword ptr [edx+78] . Z" _; T; T( l/ _! u
0132DC61  .  6A 00        push    0 6 z& q5 \: _3 R5 O- ?! W
0132DC63  .  FFD0          call    eax 8 q0 `2 f/ |2 t/ [/ j6 Y" N
0132DC65  .  8B4F 18      mov    ecx, dword ptr [edi+18]
" ?: D* `+ l# n+ m# j0132DC68  .  034C24 14    add    ecx, dword ptr [esp+14] 4 h$ D; Q2 F9 [) h
0132DC6C  .  33C0          xor    eax, eax / f0 U4 s! ]4 ^7 F) b
0132DC6E  .  3B8C24 CC0400>cmp    ecx, dword ptr [esp+4CC] 9 ^9 i  I$ x& H) v$ v6 M
0132DC75  .  5D            pop    ebp
, Y3 S* {  o& R0132DC76  .  0F9CC0        setl    al
7 b9 W1 K0 g$ L$ w0 {2 \0132DC79  >  8B8C24 A00400>mov    ecx, dword ptr [esp+4A0]
- f6 p% s% T) b9 H0 a; m0132DC80  .  5F            pop    edi
  f9 g! v( p2 n+ V0132DC81  .  5E            pop    esi
/ x4 m% Z4 x4 q8 Y% r* J0132DC82  .  5B            pop    ebx ; c' l3 n$ C* M
0132DC83  .  33CC          xor    ecx, esp 9 \- R' q2 X* T# _# s% h, H
0132DC85  .  E8 E2460500  call    0138236C
; O& P! y5 X. z& v& r0132DC8A  .  81C4 98040000 add    esp, 498
+ b0 D) E2 J  A: _/ E0132DC90  .  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.
3 ^  e  @0 N$ u# G0 E" J% ?分析说明也许以后会补上。
  y) H3 F( C( ?1 g* U( A1 I8 n2 |6 W% Z1 D4 O
加油!
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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