发现了一个和字库有关的函数,研究中。 + V! E& u2 h5 D5 o
X6 `4 Y7 g9 g% `! U, i
0132D7E0 $ 81EC 98040000 sub esp, 498 7 v1 {7 {+ w! l
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] 5 E% r6 l% d5 W) j6 R. Y
0132D7EB . 33C4 xor eax, esp , V+ u/ Z3 k; @* C, y% h9 S
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
e& ~- Y* v0 }' V4 y" U9 r0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] ! y! y9 t- z4 m6 ]+ ?
0132D7FB . 53 push ebx 5 w8 ], O- \* a. n. {
0132D7FC . 56 push esi 8 q( ~' r8 j0 q0 @
0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] : X& _3 q4 ~9 P. p3 n
0132D804 . 57 push edi & q7 O$ q6 d, Y6 G
0132D805 . 6A 30 push 30 ; /n = 30 (48.) 4 I- O8 {5 F* }5 n# e
0132D807 . 8BF9 mov edi, ecx ; |
3 ~; l# x3 q X( H) J( Z2 v2 C0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
. W8 ?' V# T$ z3 D& q1 c0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | ; v3 d6 m: \6 X' _: p- U8 S
0132D814 . 6A 00 push 0 ; |c = 00
2 |" o, y$ c0 O. D5 S3 c( o0132D816 . 52 push edx ; |s 2 Q7 a1 l$ j# b3 j
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
4 A. b' a s: L. \0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
. r+ n6 ?$ Z w+ L' G0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
$ E" ?* }/ k6 l0 E: n6 u9 r$ v0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
% q) d1 g; }) k* A, J0132D82C . 83C4 0C add esp, 0C 9 t: r7 O0 N" O8 q# s
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 + G' a! G. Y9 z9 b; w+ {2 ^, l
0132D837 . 74 12 je short 0132D84B 6 Z% ?5 j0 z% T# A3 E
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
8 F7 g' x7 d5 z0 j. W+ `+ ~& a0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" : v* o+ ^* T5 [+ H% y
0132D846 . 8947 1C mov dword ptr [edi+1C], eax 6 K$ ^# x- a1 a+ S3 s2 f
0132D849 . EB 32 jmp short 0132D87D ) x- g; G9 y$ ?% ^( F- r7 a0 I+ p
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
0 O! t5 S7 j5 V0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
+ [2 N( i- a# w4 V6 z0132D855 . 33C0 xor eax, eax
2 C/ x6 C" B* b. f, i# u0132D857 . EB 07 jmp short 0132D860 9 C; m3 Z7 ]5 v* k9 x+ k
0132D859 . 8DA424 000000>lea esp, dword ptr [esp] 2 O' j9 e6 }% v0 b5 j
0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
1 w q: @ X9 L9 K% L/ |6 A0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
5 k( y5 T: _( ]4 b( _& {! H0132D86B . 83C0 01 add eax, 1 ! g& O6 s* Z Z- V/ O5 ]
0132D86E . 3BC1 cmp eax, ecx
2 ?1 G. w+ x( C, Z0132D870 .^ 7C EE jl short 0132D860 2 T* l0 m( q" l1 V
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 9 Q7 \1 [$ C" b4 x0 K" M5 ~
0132D879 . 894424 0C mov dword ptr [esp+C], eax
$ G6 W. S# y" _4 S( q9 U1 H, W0132D87D > 8B47 0C mov eax, dword ptr [edi+C] 5 Y/ O3 w$ ?" R
0132D880 . 85C0 test eax, eax
7 Z* E% `: b- l% m. A0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
# c1 c( g/ i/ L5 b4 t3 \0132D885 . 75 05 jnz short 0132D88C
9 {. ^5 L3 O- G! l: s U0132D887 . B8 16263901 mov eax, 01392616 ! M5 }. M/ c% x- e& ]5 h1 l
0132D88C > 6A 00 push 0 7 [5 y8 p' i- d0 L8 l
0132D88E . 6A 00 push 0 ^1 l, o/ Z0 O, A+ X5 D7 {3 S
0132D890 . 50 push eax
4 O% ^, x: g0 E) p( M0132D891 . 6A 1F push 1F " A$ j9 P, ]" L3 g2 X
0132D893 . 8BCE mov ecx, esi # k$ W$ D3 i: S, @2 V
0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> 0 Y1 `6 y' d5 h0 L
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ( T( Z3 Y5 `% e. C4 b
0132D8A1 . 6A 00 push 0 1 b, K e3 Q2 m0 o
0132D8A3 . 6A 20 push 20
+ |2 a' |1 U( \, s( K7 j; @0132D8A5 . 51 push ecx
+ ^7 S7 S% A5 L7 {2 {0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] % C: N$ p" g" \1 ~1 v2 h9 _& o
0132D8AD . 8947 24 mov dword ptr [edi+24], eax
1 K$ l0 i1 @( y, o0132D8B0 . 8B10 mov edx, dword ptr [eax] # k( ^7 q' v5 ]: a" c B/ M9 v! Y8 H
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
) S. S; l' I6 ^/ f. o X* x0132D8B5 . 51 push ecx , e" X; |) q. U* A' a
0132D8B6 . 8BC8 mov ecx, eax / j k, N4 i" ?/ |6 G4 v
0132D8B8 . FFD2 call edx ' a# g. m0 M, W& E& x) t
0132D8BA . 85C0 test eax, eax
7 M4 w ]4 r6 u8 b/ j' F/ c% I0132D8BC . 75 07 jnz short 0132D8C5
4 `; A+ F0 O, S0132D8BE . 32C0 xor al, al 6 T) x; E c! H9 W3 u, ^
0132D8C0 . E9 B4030000 jmp 0132DC79 " d7 q/ N! o$ r3 I$ t H
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
( O; `, b9 s* E1 B* O0132D8C8 . 8B01 mov eax, dword ptr [ecx]
1 E! Q6 g" A/ x4 M( J0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] 9 H9 _4 ^6 v0 W
0132D8D0 . 55 push ebp # L, s+ c3 o9 Y" o+ Z* Y
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
4 l" e _* o* h: f* D7 c: c0132D8D5 . 52 push edx
! o2 }3 N4 g& @1 e# C% ?0132D8D6 . FFD0 call eax
6 n! O# O+ K9 A# ~. c9 V7 @0132D8D8 . 6A 00 push 0 ; /hDC = NULL
# l2 G- s1 W) |) }/ X7 u0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC ' R. ^/ i: f' ]
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] % W9 u3 t5 p, x2 }6 a" E
0132D8E4 . 51 push ecx
5 ~# V( I8 f) R, P3 }0132D8E5 . 8BE8 mov ebp, eax / V( p* ]6 C; V$ N
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
; W: A( a8 b5 U, \" Y0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
/ K3 {3 J. w) R3 M. T0132D8F3 . 83C4 04 add esp, 4 3 d1 o6 G, i1 G
0132D8F6 . 50 push eax ; /hObject
3 [( [& \) I9 j) y' L$ X. s3 `0132D8F7 . 55 push ebp ; |hDC 6 a: l. v% `" S( W: U9 d( f* l8 A
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | # O" d( F4 J3 @& |# N2 }' {+ m& ]+ J; c
0132D8FC . FFD6 call esi ; \SelectObject * D% w& B5 h8 Z+ K7 [- C8 U
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
6 j1 {6 y; i7 f$ z/ ~0 J0132D902 . 52 push edx
8 s$ j6 P# r. ~0132D903 . 8BCB mov ecx, ebx ( ]& K6 n4 S4 M/ A& ?, U- M
0132D905 . 894424 40 mov dword ptr [esp+40], eax
4 a) c" `' w" \3 n* Z- H' t0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= : E, `: f' S1 Y* r, \7 U
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] 6 p! s3 Q$ v( Y1 J' |4 a
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) $ T7 x% Q9 l5 d) F8 z. q1 q9 G
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY * Q; X5 W0 R( J3 K
0132D91A . 55 push ebp ; ||hDC 0 X! f3 [* F# l2 Z' q
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || # J# b$ g2 ~1 h4 p
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 7 W7 g5 J# i5 T2 Z8 _# `0 L
0132D924 . 50 push eax ; |Multiplier
1 ]6 o/ I0 ~! V. b0132D925 . 53 push ebx ; |Multiplicand
8 G# `* x+ a7 A, w( G; d0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv + Q% N9 a4 j4 n, p- W
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] u3 ^3 s# R1 V6 {- n( o
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] 3 ?/ `3 C, `: V0 a
0132D937 . 51 push ecx ; /FaceName
3 Q3 r9 X. X! q/ ~, U( l. |0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
+ D1 x- N6 l- Y/ [/ r6 Z4 [0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
/ L. D" L1 @& ]* |* d% j+ r9 F0132D941 . 52 push edx ; |Quality
4 B7 H& c) D2 ]/ u0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
6 G3 T6 V* F9 T& r* M0 G8 `# O0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
) y9 `5 G4 ?; N. r# n s; a0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET : N7 k6 I" _- k7 [% J* W4 J6 ^
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
4 \* \2 W: s) T5 L- z0132D94A . 8BD1 mov edx, ecx ; | / y! }! I8 ~8 K' ]- ^2 J
0132D94C . D1EA shr edx, 1 ; |
' Z: c2 h0 B6 e& @( A0132D94E . 83E2 01 and edx, 1 ; | $ x5 ?/ Q& y& Z2 ^
0132D951 . 52 push edx ; |Underline ' N, u" a9 }3 z, U9 V
0132D952 . 83E1 01 and ecx, 1 ; | + f0 I5 x7 z, A: Y( I' @
0132D955 . 51 push ecx ; |Italic
) c4 J# _/ @5 M' t0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | ; i$ D8 i6 x, O, S
0132D95D . 51 push ecx ; |Weight
. U. g* f" T: U$ t" \$ l0132D95E . 6A 00 push 0 ; |Orientation = 0 / e( b2 U, i! h. X% V
0132D960 . 6A 00 push 0 ; |Escapement = 0 # A" R% ^) t2 w" z9 u
0132D962 . F7D8 neg eax ; | + z) n& h- ?2 @: p5 {6 M# E
0132D964 . 6A 00 push 0 ; |Width = 0 1 C* b; K- a" K5 @
0132D966 . 50 push eax ; |Height
, c$ ^, d( v, n8 s0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
' @. r: Q9 ?, V5 Y: S( \; a0132D96D . 50 push eax ! ~( l9 \: a% k- b/ G
0132D96E . 55 push ebp " ~4 q6 H- i' w
0132D96F . 894424 38 mov dword ptr [esp+38], eax
) U/ u E9 ~4 E8 ] h0132D973 . FFD6 call esi 3 R5 s3 T+ m! V$ u
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
' O. ]9 n3 X' v, W# ^" R% P8 [2 i6 q0132D979 . 52 push edx ; /pSize P9 S* |% g ?" S+ ^
0132D97A . 6A 01 push 1 ; |TextLen = 1 2 U J7 S- D4 R7 a' B# P8 S2 ~3 ]3 q
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
; M5 n0 C9 h. Q" ?4 ~$ T' }2 w0132D981 . 55 push ebp ; |hDC 4 Z0 [, C- P7 |+ {% t
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
0 T& }5 L( c; v9 M! C+ a0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
( k a! @% M7 }: K) h; y0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] 6 \# ^3 k2 B! Y5 _1 g0 x1 O% i: q
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
% T9 D9 d: c b' m0132D993 . 8947 18 mov dword ptr [edi+18], eax
3 I" T/ q& P5 G" K" p* t4 h* ~0132D996 . 33C9 xor ecx, ecx
" _ c& B; z4 a& e; S0132D998 . 8BC6 mov eax, esi
) g( T' k0 J! C# f! {; I0132D99A . BA 20000000 mov edx, 20
) }/ F' j D) Y0132D99F . F7E2 mul edx
. J' U( g/ Q4 d- s0132D9A1 . 0F90C1 seto cl 9 X9 o; `" j0 _+ S+ Q+ U
0132D9A4 . F7D9 neg ecx . m* {0 A0 A% [) P7 h" w& P
0132D9A6 . 0BC8 or ecx, eax
9 x8 m7 C; q' h7 D0 \: a& y0132D9A8 . 51 push ecx ; M N* Y+ H% N- n- F
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> $ r3 K: ?2 j- C1 s0 D9 C# V
0132D9AE . 83C4 04 add esp, 4 " r R& ^# c! Y5 n; T H
0132D9B1 . 85C0 test eax, eax 9 j8 `9 G$ z- g" @; a% T
0132D9B3 . 74 28 je short 0132D9DD . u& h2 t2 V' m3 O/ u! K0 ^4 }
0132D9B5 . 83C6 FF add esi, -1 & K; v9 ~+ O$ w4 E/ C
0132D9B8 . 78 25 js short 0132D9DF C9 T; Q ~8 S! [5 t( E# ?
0132D9BA . D9EE fldz
2 k0 A0 d) l& S% A o0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 6 B0 c4 p9 t$ q& f. n( z5 H f
0132D9BF > D951 FC fst dword ptr [ecx-4] 0 r4 ]2 Y0 h6 G4 M9 j8 r4 J1 s0 a0 s+ B
0132D9C2 . 83C1 20 add ecx, 20 $ N+ K. ^1 J3 l& f3 h! }
0132D9C5 . 83EE 01 sub esi, 1 ( U8 _( R% [: @3 W
0132D9C8 . D951 E0 fst dword ptr [ecx-20] ; D- X4 P) ~1 q; Z$ \+ T
0132D9CB . D951 D4 fst dword ptr [ecx-2C] ' \4 p, N! M* }+ r. w W* A
0132D9CE . D951 D8 fst dword ptr [ecx-28] ' g; V/ z/ L; R! E& I
0132D9D1 . D951 DC fst dword ptr [ecx-24] : b: q/ Q6 n. @ r! |3 g) b$ u# Z4 N7 o
0132D9D4 . D951 E0 fst dword ptr [ecx-20] v/ ^7 R1 X$ u* |2 S
0132D9D7 .^ 79 E6 jns short 0132D9BF
' f2 N {7 V9 i0132D9D9 . DDD8 fstp st / {; i3 z% H+ k0 ^ R& V+ E5 [5 K
0132D9DB . EB 02 jmp short 0132D9DF
# e% v/ N. x+ w0132D9DD > 33C0 xor eax, eax + Y. @: ~0 g+ o. ?: Q7 \# u
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; z" H! W6 `( k) Y% q: }7 |
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
+ Q' u6 ?3 E, l0 B# T2 U, U* y0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] ' f6 o* a1 S* P) G; t7 F% C9 ~
0132D9F0 . 50 push eax ; /Bottom ! m" s; @2 U' l8 c' z: `9 d
0132D9F1 . 51 push ecx ; |Right
8 P5 T4 |! a8 X: r! B( c% ~0132D9F2 . 6A 00 push 0 ; |Top = 0
7 S: b6 R. P! G" l0132D9F4 . 6A 00 push 0 ; |Left = 0 & Z. m) Y" I( n) ?% h# j
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
2 Y J( X% ?6 d$ g9 N C0132D9FA . 52 push edx ; |pRect
& a- j3 e% J, |2 S0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
: U4 O3 g; K- L5 I0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH - b" G2 o. N- u- R" J
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
" `* m' \6 |7 u/ k1 U4 K' ~0132DA09 . 50 push eax ; /hBrush
& L" H2 ? G4 Y0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
4 b5 k8 L8 z& `' v5 q0132DA0E . 50 push eax ; |pRect
$ ]* h5 [ z( y6 J' ^& y) s+ e8 V+ [0132DA0F . 55 push ebp ; |hDC
) e" H' m6 r, Y c0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect ; s3 @- M9 N. P1 u% q
0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
5 a9 H& O' ~4 X- t6 Q0132DA18 . 55 push ebp ; |hDC
8 [: U7 ^* q9 h7 a( w0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
# W5 Q" x9 y+ @3 a0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
- e; U8 |2 W3 Z2 J7 s0132DA24 . 55 push ebp ; |hDC $ s, x" R8 o: }8 r# ^/ k- {( m
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor & B4 j* Q2 t6 m5 u2 o: h
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT " ]: B) k; X, b
0132DA2D . 55 push ebp ; |hDC
& x- Y( @- z' t& |0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
/ l, T- H/ L) L0 f1 Y% }8 \ ]/ X0132DA34 . 33F6 xor esi, esi , g' o: _% d! C+ R. h. b
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi
8 b; M8 A! N2 k3 W3 D1 f0132DA39 . BB 01000000 mov ebx, 1 7 y4 m3 q( V- T* V" Q0 \% X
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx 0 |6 k2 e3 Y, a
0132DA42 . 897424 14 mov dword ptr [esp+14], esi
) T/ H/ h( W* f8 o. s; I4 K0 E0132DA46 . 897424 1C mov dword ptr [esp+1C], esi 8 r0 G6 I" {/ e# i; B) E
0132DA4A . 0F8E 20010000 jle 0132DB70 0 E3 r4 G! H, x w) t: {
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] ) `5 Y5 I1 h1 H2 t
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] ) W P" |* Y% U2 H. r% R1 Q& Z* Z
0132DA5B . 897424 20 mov dword ptr [esp+20], esi % ?/ s8 C0 H: I
0132DA5F . 894424 10 mov dword ptr [esp+10], eax
$ Y4 A- W# A; w" V8 C2 r. j% v0132DA63 . D95C24 38 fstp dword ptr [esp+38] 8 J9 L: b" }5 i7 V6 O/ g, B
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
% `" q4 U9 J! s4 T7 J0 J& u0132DA6E . D95C24 2C fstp dword ptr [esp+2C] , y: ?5 P4 {' V- T5 x7 y
0132DA72 . EB 04 jmp short 0132DA78 8 F4 Q' m* ^% V; D9 M2 T
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
9 C' c3 o% D8 t0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
7 `% f! z8 H7 z c2 ?- M# C0132DA7B . 66:8B08 mov cx, word ptr [eax]
" D+ ^0 z3 ]6 ?8 H! {0132DA7E . 037424 20 add esi, dword ptr [esp+20] 5 X2 F1 m8 \1 F# D- m: u/ |. m" q
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
# h4 K R. G, t" p4 q; C u" ` W6 G* G0132DA86 . 0FB700 movzx eax, word ptr [eax] ) B0 s. @- m/ ~; @& h' v) m( U) m( }; K
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
Q: J+ _/ C& W/ L% y0132DA8C . 51 push ecx ; /pABC 2 W [$ z2 Y! q, x A& m k! Q
0132DA8D . 50 push eax ; |LastChar
( h w2 _' I% T9 R! H( O' D0132DA8E . 50 push eax ; |FirstChar
# |/ f! x! `8 O! V0 M0132DA8F . 55 push ebp ; |hDC
" h( K; {9 U+ w! e) ]7 z X0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
8 \% W4 h& o M8 E; Y( X1 T0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] / s6 ]# U& C. d) C5 A5 ^9 m, p
0132DA9A . 66:833A 20 cmp word ptr [edx], 20
8 P- P5 N7 O* Q1 L3 K) x7 u& P. R0132DA9E . 73 10 jnb short 0132DAB0 ; b% G+ m, Z. v' ^9 ^
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
# d+ }3 m3 z* }2 }! j& q" z0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
" E: s p' J1 c9 D# Q0132DAAE . EB 0C jmp short 0132DABC 4 k G9 p4 H7 y! }. n% s
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
1 b8 D6 `. c% p; t0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
. w$ L4 S# a7 a( _, V" }0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
# w! N. j' c# l2 z. n: h' M5 h. F4 G0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] , o! `& F; B" ]# B' Y; N8 [ V
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
# B3 n# M6 `: K) u* |* s! s0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8]
: v, P( G o1 i0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
|2 ?( q6 b5 M* v0132DACE . 72 14 jb short 0132DAE4 / }2 R3 ]+ P; F! A1 v
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] & A6 A1 |0 b9 K; G3 \9 Y. s/ K
0132DAD3 . BB 01000000 mov ebx, 1 . B5 X$ ?( v3 j) c( V3 T
0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
' ?, ?& l& d, S l0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
0 Q$ _. H1 H% X: M" f! B7 W( }0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
- k# c, h t1 o2 n0132DAE4 > DB4424 18 fild dword ptr [esp+18] 4 }. x* T; w2 d; o+ _* }) x
0132DAE8 . 03CB add ecx, ebx 0 W( i1 ?+ I. v! x0 T% V
0132DAEA . 85C9 test ecx, ecx
' [8 p% J. o3 B Z. D0132DAEC . D94424 38 fld dword ptr [esp+38]
$ ?2 F/ H _, i6 ]2 B0132DAF0 . D9C0 fld st
0 ]; t4 |/ N1 Q0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx ! P' ]7 H* j. t8 V
0132DAF6 . DEFA fdivp st(2), st 5 {& \) ]1 k- T9 B
0132DAF8 . D9C9 fxch st(1)
* [0 Z' f% O8 H# J& l0132DAFA . D91E fstp dword ptr [esi] 4 ?- X Y$ x; P. v
0132DAFC . DB4424 14 fild dword ptr [esp+14]
, N9 P K6 g( G# l0132DB00 . D94424 2C fld dword ptr [esp+2C] 1 m% W4 a) r1 j3 j; _
0132DB04 . D9C0 fld st 8 O7 i1 I4 _' ?. U
0132DB06 . DEFA fdivp st(2), st 3 r& c6 W& A, K* u0 c. \# m
0132DB08 . D9C9 fxch st(1) 4 _2 c& p/ T6 c# H, {2 u3 E
0132DB0A . D95E 04 fstp dword ptr [esi+4] 5 f+ y0 N2 [( ?* ^
0132DB0D . DB4424 18 fild dword ptr [esp+18]
, r! N0 a" G! j( I- O5 f$ q0132DB11 . 7D 06 jge short 0132DB19 9 m9 A! ?% p% [; J7 o8 o( [
0132DB13 . D805 50B03801 fadd dword ptr [138B050] * x" F; l, f$ n4 Q/ z, @1 o( e
0132DB19 > DEF2 fdivrp st(2), st $ I; o2 M1 y+ q' Q9 g- b- P
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
8 h2 e; D' ]6 S' K/ G4 v" z$ Y0132DB1F . 6A 01 push 1 ; /StringSize = 1
1 U O2 j9 }$ T6 l! k4 x! _0132DB21 . 52 push edx ; |String - W/ x* V- r7 p1 C( h2 e* v; @$ o
0132DB22 . 50 push eax ; |YStart 2 W3 G4 X; O2 g4 b1 t$ H, ]) c
0132DB23 . D9C9 fxch st(1) ; | / ~) H* ~) I% d( W. ?5 ~ [
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
$ H5 w+ J$ I6 l0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; |
5 `* d8 T% w2 d5 M N% |- p. @0132DB2B . 03C8 add ecx, eax ; | 4 `6 b) f% _, b
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
/ ?/ f A; H; b$ E5 k0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | * h# q: I6 z+ m9 ~( U9 b
0132DB35 . 8BC3 mov eax, ebx ; | / \5 z4 G% S7 k6 z$ ~8 m% K2 z
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
" ` Q' i2 S7 p, U' E5 ]0132DB3A . 50 push eax ; |XStart / y; l( P8 q# V/ _3 Y
0132DB3B . 55 push ebp ; |hDC 6 ]5 L. G6 h/ d
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
0 C7 g1 f- r" m9 R* G0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW 2 G" B2 U" T% h: W8 v, t6 a
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] : i6 t! Y6 s, w$ }
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
; H: g& ^$ P( o* N2 c' F0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 " r3 S0 o/ V# `7 |0 j* M" _
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
' w9 h/ Y( @0 f1 G# l% p0132DB56 . 83C0 01 add eax, 1 ; v- L5 Q7 h. X/ o; z
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
: |8 |8 R1 K; W9 _0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] ' D) Y0 K1 v7 |" Q
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx 1 ~9 Y" l1 X7 S, Z( ]% L5 F
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax & p( p% {% y7 ~' M7 n/ \" M
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
/ _! u8 I6 A6 I8 Z' t2 p. h0132DB6E . 33F6 xor esi, esi 3 @. Y4 K: b+ _8 @
0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24] 0 y) E, w) M! q8 @4 u
0132DB73 . 6A FF push -1
/ s) |3 y9 K5 ~& p% ]8 A, o0132DB75 . 83C1 38 add ecx, 38
8 r8 M) z/ P1 d* L0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 0 F2 A/ I- M" y, R$ V
0132DB7D . 8BD8 mov ebx, eax , U2 w8 j/ _7 c* C: C G
0132DB7F . 3BDE cmp ebx, esi ' [1 E' d* I1 \9 {3 u- @) i: [7 r! M
0132DB81 . 74 74 je short 0132DBF7 & L6 z0 Z% e( b( m6 x2 o1 a. H
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] " c2 f' Y' I& a7 t! w) g7 |
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40] 8 ^! H# |) m T
0132DB8B . 52 push edx ; /Buffer
; [+ e$ @' s+ _3 Q0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) * j; M H% ]6 I7 H
0132DB8E . 50 push eax ; |hObject
/ M( j, u% g" c1 i3 e& w0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA 7 L) n( `4 P2 s+ a: u
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48]
& V% [( {0 _( f* l' `" k! ]0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
6 z/ W$ \) Y: T m* P, Y8 u( T0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
/ s; I# U1 w4 u; W4 b2 Q/ D$ h0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
_) v% e' q# M T M/ u0132DBA5 . 85C9 test ecx, ecx
( A" y. p2 r" n! u3 X! K7 a0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0
?- c" t- K8 N* C$ B; i# u0132DBAF . 7E 46 jle short 0132DBF7 & Q, l% h1 I/ P! _
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
4 I6 K" m3 v; N3 H/ m9 x0132DBB5 > 33C0 xor eax, eax
7 U* P8 M% R- e i: k0132DBB7 . 85D2 test edx, edx . b, `0 v, n# l# ^
0132DBB9 . 7E 26 jle short 0132DBE1 , U7 z, p% i, |7 {& \" ^
0132DBBB . 8BCE mov ecx, esi - d7 R. T) ^8 k, R8 B/ @
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
. d [; A7 |' Y0 d/ Q) F0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] # L0 t+ v+ S' x; ]# ^: E& J
0132DBC3 . C1E2 18 shl edx, 18 , u$ z+ z/ I* _* s8 U Q4 y
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF % r# O) c" E. t, o# H: A1 J2 o3 ^. }
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
; h# H j# l5 r; W0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] 0 L ], n, E$ C: D8 t. s6 F" j
0132DBD3 . 83C0 01 add eax, 1
! X3 r6 h& C( Z% K0132DBD6 . 83C1 03 add ecx, 3 ) m: m3 C4 f! }4 Y- v) n8 O9 F+ \
0132DBD9 . 3BC2 cmp eax, edx
9 ^! z% Q- c2 i0132DBDB .^ 7C E3 jl short 0132DBC0
5 M N) }) ?7 j; V7 H2 x1 u9 o/ d) k0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] ! Q/ L( e$ t0 A, v0 a. e
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] 4 o) s+ u8 X9 }) M' k9 L; X
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] & f" B2 q7 g0 _9 v, A
0132DBE9 . 83C0 01 add eax, 1 ! _4 g p" X, B6 @
0132DBEC . 3BC1 cmp eax, ecx
% p7 u, J& ^6 O- w0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] & C7 k4 }8 z! m/ a: d$ C7 N
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
( Q7 D, V' |/ h! {0132DBF5 .^ 7C BE jl short 0132DBB5 # y2 t8 i7 w" Z
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] 8 e, B4 Z* o' Y4 l2 i
0132DBFA . 6A FF push -1
4 M: z5 o; o7 \& h0132DBFC . 83C1 38 add ecx, 38 & v @' V$ D! ]) Z2 [0 P+ f' H9 Q8 a
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> * k# `+ u% u7 R# {' N
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
$ M' m' f; h' f+ E, a0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
' O3 V$ ^* [. C* i4 {4 l0132DC0E . 50 push eax ; /hObject 7 a( A9 O0 v$ d# J# e) H
0132DC0F . 55 push ebp ; |hDC
$ B/ X1 D% v4 w9 s0132DC10 . FFD6 call esi ; \SelectObject - y, C1 E9 |: |) s
0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30]
8 C6 F, b5 c* Y7 E0132DC16 . 51 push ecx " K r2 }# a3 K% ?: n% d
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
1 I/ V! m. X( y( U' p- X7 E0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
: Y0 v! J8 I- K% s8 m8 ~' B# `0132DC21 . 83C4 04 add esp, 4
, H: T& m" [6 a" a z4 L0132DC24 . 52 push edx
6 j; R6 y5 G* c- _. f0132DC25 . 55 push ebp 4 U- Z7 }6 ^- m+ s" m9 b& A3 |! @
0132DC26 . FFD6 call esi . F0 c( N# j0 x; }* `
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
5 T3 c. R3 y8 N) z0132DC2C . 50 push eax 0 P; e) D8 d+ V9 @5 N
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
! Q( t; Z0 d$ B$ b B) }( \; \ Y0132DC33 . 83C4 04 add esp, 4
. m$ }# y% u+ P8 q% U0132DC36 . 55 push ebp ; /hDC ' J7 Q3 D. B7 N
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
5 N' D, w1 _) r2 z4 |9 R2 \0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
! L& Y" A6 u: C" D) @( F0132DC41 . 6A 00 push 0
( x S( D$ E+ F& ^0 ^: X L+ |, a0132DC43 . 51 push ecx 4 o$ U4 U# Z/ B2 D4 W
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
7 c- ]3 X# K# Q0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
) c2 w" F7 z6 c* }6 a0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] 6 a+ K; @! w* n
0132DC4F . 6A 01 push 1
0 p7 O1 @9 K: G, h* A3 O3 n0132DC51 . 83C1 38 add ecx, 38 / _" y! U9 @' @2 i- L
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> . V& t: n$ g3 i- k
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
7 x! O0 p0 `( `8 t1 c& S0132DC5C . 8B11 mov edx, dword ptr [ecx] 6 I6 s: R9 m- p# _/ ]/ B
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
9 ^, ?! J6 y3 i# ^# ?7 \0132DC61 . 6A 00 push 0
; V- G& e$ y( l3 {$ _% p0132DC63 . FFD0 call eax
7 }; t9 D, [2 l0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] 5 h$ f) \' [2 C5 R. X
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] 7 o) b6 A0 o0 \- g
0132DC6C . 33C0 xor eax, eax / [" a5 z+ S, w7 i
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
5 I7 Q, Y& s8 ?- b# }1 I0132DC75 . 5D pop ebp
9 L3 K+ ^6 V e1 s# K0132DC76 . 0F9CC0 setl al ! J F, `$ u+ n; U$ o
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] + N [$ F, w' H
0132DC80 . 5F pop edi . ], A6 v8 d5 a
0132DC81 . 5E pop esi
0 H" c$ m6 a1 M% E5 u5 d' a0132DC82 . 5B pop ebx 9 u( l- e+ h0 Y/ ?1 M
0132DC83 . 33CC xor ecx, esp
- A. p6 T# R. q' u7 H7 M0132DC85 . E8 E2460500 call 0138236C
/ K' }; q! f- J0132DC8A . 81C4 98040000 add esp, 498
4 _' f$ X5 v9 P1 V8 W1 b0132DC90 . C2 2800 retn 28 |