发现了一个和字库有关的函数,研究中。
7 w7 U; F. P: U: v9 }7 ?) V* x# [0 V
) {$ R; T( B1 {8 l, U5 H0132D7E0 $ 81EC 98040000 sub esp, 498
' w# W1 n7 I0 Z. `0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
# S6 @/ @3 K' Z0132D7EB . 33C4 xor eax, esp
9 R' _' a' P2 O/ r9 J# I0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
& T! w, l& {7 Q. H0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] & W, z5 k- u4 x5 r# x
0132D7FB . 53 push ebx ) v7 b/ S6 l3 ?
0132D7FC . 56 push esi
# B2 y3 X L! _! h4 q- F7 X6 u7 A0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
o- G0 v M+ W! U0132D804 . 57 push edi & L. b9 Z" }; l7 H5 M8 ~
0132D805 . 6A 30 push 30 ; /n = 30 (48.)
: N8 h* z& A7 q( i1 Z0132D807 . 8BF9 mov edi, ecx ; |
6 j. ]) i; H% V! t" I5 F- ^0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
5 `( o% `! W6 f. K" j8 a0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | ; f% f1 O/ @8 r! w# C6 e. m) y
0132D814 . 6A 00 push 0 ; |c = 00
. }: y% m- b. X" _" K4 u2 |7 c3 D. M6 D0132D816 . 52 push edx ; |s
9 k; i2 |9 K% `- X$ l0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
9 Q. V" |$ a6 x! @; }0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
3 _5 V7 C) L9 U, `& H& ~0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
. G# A3 V! i6 r& J- E/ W0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
( h6 d+ q& N$ W6 Q7 w' p0132D82C . 83C4 0C add esp, 0C ( n' f( z3 c+ {5 W3 {
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
0 `* I% H8 j# k0132D837 . 74 12 je short 0132D84B
5 B& v. a2 G2 b# i R5 Z0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
# J, u& L, R' ]/ W0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ) ?. ^+ Q3 m3 [
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
" w; z' R3 w* @) J" G. @0132D849 . EB 32 jmp short 0132D87D ( c) G! |: F. P k( L+ A
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
. W7 c' Y. F: A! Z6 t, k/ i0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
# G& s2 B' \# u' j6 F/ e0132D855 . 33C0 xor eax, eax
' Q" C' ^( s! b& m4 U0132D857 . EB 07 jmp short 0132D860
, J+ C+ ?( N/ }5 W, v/ e0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
* q7 c8 I) B4 R6 R* z/ A. V0132D860 > 8D50 20 lea edx, dword ptr [eax+20] + i9 q( {2 d7 U, T% e
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx ! x# r" p0 h% y, o* C4 ~
0132D86B . 83C0 01 add eax, 1
! O! [4 C5 W+ \: X0132D86E . 3BC1 cmp eax, ecx
6 x" r5 v$ }. e0132D870 .^ 7C EE jl short 0132D860
9 }7 g4 z( B& P2 K* K0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 7 B2 ]" x, X6 W i
0132D879 . 894424 0C mov dword ptr [esp+C], eax
7 m! t2 j& v$ J0 k5 q. v# L0 s0132D87D > 8B47 0C mov eax, dword ptr [edi+C] . a, _. _' G5 T
0132D880 . 85C0 test eax, eax 5 ~9 a! j; u6 s/ Q# k6 c. F& |
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
+ u3 e1 i* ^4 s+ `0132D885 . 75 05 jnz short 0132D88C 1 a/ J f e( k7 f" b, @
0132D887 . B8 16263901 mov eax, 01392616 8 L6 S% P$ \0 _% o3 n& Y
0132D88C > 6A 00 push 0 ) m9 U! m7 A! E& g/ F0 L
0132D88E . 6A 00 push 0 & [' z3 v4 k6 n2 c! o
0132D890 . 50 push eax
# \( g# f# n" ~- o$ m9 E+ ]2 M0132D891 . 6A 1F push 1F
6 z6 {! Y5 T& X% ^8 u7 B0132D893 . 8BCE mov ecx, esi
3 ]2 d+ n# ^0 p4 q" x0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> / G% w/ Z+ j! s1 u& G( x- R# R9 h8 f
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
3 \& N: G* x9 p; [: c) H6 l' Y/ i0132D8A1 . 6A 00 push 0
) S. ]# c( q: e8 j0132D8A3 . 6A 20 push 20
. M! K+ {) r/ R0132D8A5 . 51 push ecx " k) p1 F" h. T: ?& S
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
- L! w1 j5 i, @7 Y8 r5 B, u0132D8AD . 8947 24 mov dword ptr [edi+24], eax
_: w( k2 C9 c+ J! }0132D8B0 . 8B10 mov edx, dword ptr [eax]
% {% z p K2 N: h0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
7 H% r0 V+ l0 A7 Z4 h0132D8B5 . 51 push ecx
* S: [ Z, T. n5 u4 R& }) u0132D8B6 . 8BC8 mov ecx, eax + X& G, l$ z8 d% h* a
0132D8B8 . FFD2 call edx
/ [, k, Q: B+ ^0132D8BA . 85C0 test eax, eax / z1 E2 Z1 z6 ^4 w) U- T" J/ m
0132D8BC . 75 07 jnz short 0132D8C5 ! i# G, {+ q. P0 E$ @) }: p
0132D8BE . 32C0 xor al, al # L/ o3 p0 {6 e7 G# S# q$ [6 H
0132D8C0 . E9 B4030000 jmp 0132DC79
' e0 A8 w: @2 Q- t0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
6 r f' B9 ^/ }6 t) _0132D8C8 . 8B01 mov eax, dword ptr [ecx] + \3 F- N3 N6 _
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] 3 v3 I' l( v; q7 q" R2 r
0132D8D0 . 55 push ebp + e* _3 U, z( i) i
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
$ n4 e# B2 K% T6 t1 C0 d5 r ~0132D8D5 . 52 push edx % G# v8 [/ \ K$ S: H" v4 |
0132D8D6 . FFD0 call eax ) c& X1 X# n: O
0132D8D8 . 6A 00 push 0 ; /hDC = NULL 1 w5 ?; l- i2 z( N! ^, w9 j
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
" u' V: a3 T+ F0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
7 _; m3 u0 R5 ~ Q- D( r0132D8E4 . 51 push ecx
9 k9 o0 @: ]: n4 }8 b- q* I# ?0132D8E5 . 8BE8 mov ebp, eax 5 z1 ]+ i8 ]% m
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap * P8 |5 m1 x) p: w6 b
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject $ s4 v" I1 Z$ l0 w6 ^9 N( m
0132D8F3 . 83C4 04 add esp, 4
; n, b5 R- D! J7 C z0132D8F6 . 50 push eax ; /hObject & \3 r) {- o! [( f3 a% ~; v
0132D8F7 . 55 push ebp ; |hDC
C7 c2 i! o8 c! q+ P0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
$ X* E+ y/ @2 m* L$ c% b7 X0132D8FC . FFD6 call esi ; \SelectObject
9 k4 p9 K' Z7 m$ w8 {0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] 4 ~9 V! P m" T4 }
0132D902 . 52 push edx 3 D& d( A; S/ e3 k0 X2 q; C' g6 W
0132D903 . 8BCB mov ecx, ebx 2 `( N! B) c& Y# q5 G( l
0132D905 . 894424 40 mov dword ptr [esp+40], eax 7 g- L1 }% g# N( R$ C2 q
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= . g( x& K, h- w/ N7 c
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
# v4 f) c; n5 G4 Y n0 `0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) ! ?# N8 A1 a. B. i- A
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY 3 r, z* e' Q/ [1 G5 i% e
0132D91A . 55 push ebp ; ||hDC 8 F3 S9 _7 f8 X6 f# X' V
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || ; p7 h4 c# q8 Q) m7 N1 y( Z
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ) R; Y* {- r8 a; r9 |+ S8 c
0132D924 . 50 push eax ; |Multiplier 4 N& P0 Y5 O% P7 H$ _) [! T
0132D925 . 53 push ebx ; |Multiplicand
: N$ s3 H' j! f4 F0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv $ P! W( ]4 W8 R8 a
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
3 r; c& F0 f& j& |0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
/ r$ [8 c' `0 h% ? l* A* T4 }0132D937 . 51 push ecx ; /FaceName , o1 @$ E/ d. j" m
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | ; E! G& Z8 P$ b8 N; m4 k; Q
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 0 n- c8 I6 t3 T/ o& ^9 U# R# g3 C
0132D941 . 52 push edx ; |Quality
: L' O/ |# ?$ ?; v) G0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS l+ \. n/ M. f8 x* u
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
1 b) F. A1 {7 A0 w6 Y2 q$ q0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
' M( C C- v& E+ H/ h/ v0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE & e8 p3 H0 ^# \* R- V |' N
0132D94A . 8BD1 mov edx, ecx ; |
" W, e$ w* m5 {) q0132D94C . D1EA shr edx, 1 ; | ! l" d4 t7 U% v+ @) J9 N" z1 N
0132D94E . 83E2 01 and edx, 1 ; |
5 X+ k4 w! k, r$ ?6 I( j0132D951 . 52 push edx ; |Underline
' f: I* \" p2 i: W$ J9 n0132D952 . 83E1 01 and ecx, 1 ; | + T0 p( U, I* P
0132D955 . 51 push ecx ; |Italic
( u$ M4 n2 _7 K, S b5 @( j" I0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
, [ K7 q9 G5 ^0 w: l" @8 @( y0132D95D . 51 push ecx ; |Weight . N( z4 P. t: w+ r4 b
0132D95E . 6A 00 push 0 ; |Orientation = 0 9 q3 b K) l" @2 Q& _$ c' V+ ?! o
0132D960 . 6A 00 push 0 ; |Escapement = 0 4 W: A+ D$ }0 b' j6 e* l8 A
0132D962 . F7D8 neg eax ; | $ q+ k* Z- L8 R# q8 E
0132D964 . 6A 00 push 0 ; |Width = 0
1 R0 }+ A4 N3 y# e1 t; B0132D966 . 50 push eax ; |Height ' K- [* l! M+ W3 a! s/ n- g+ l; v
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA & ]) Z5 P) j6 m9 M% P
0132D96D . 50 push eax : E3 Y" m4 n( w/ M" L5 `
0132D96E . 55 push ebp
( W' u. c+ }6 n4 r0132D96F . 894424 38 mov dword ptr [esp+38], eax
8 G8 o- c: T" d h0132D973 . FFD6 call esi 0 w0 E% k5 s3 }- A: g4 b& ?- {
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] , U' ~8 P* W* Y9 b5 g% l( c
0132D979 . 52 push edx ; /pSize 7 A% \/ I2 P) o" J1 o- }/ [1 V. p
0132D97A . 6A 01 push 1 ; |TextLen = 1 3 T, ?8 f3 w6 b, \* P
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
D0 d: w9 ?2 v; b% i1 R' r0132D981 . 55 push ebp ; |hDC 3 y& p, m7 L& [: s+ p
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
3 E9 f( ~! |6 q: ?0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
% O6 n; W w2 o) @7 s0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
$ v' u5 h/ H' B, R& L$ ?# j0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
- p" j, f6 l9 b) v2 `0 ^5 }0132D993 . 8947 18 mov dword ptr [edi+18], eax
$ r3 N& y: o7 {3 ?7 c7 e4 p/ o0132D996 . 33C9 xor ecx, ecx * `! X6 {& n2 M/ ] G0 c# Q
0132D998 . 8BC6 mov eax, esi
) z2 _* Z7 J5 m0132D99A . BA 20000000 mov edx, 20
5 P8 w# Z9 U) u, v. |1 C0132D99F . F7E2 mul edx * Q# {- t! m( n
0132D9A1 . 0F90C1 seto cl 9 }* @( `1 H' {0 c* A# @0 K
0132D9A4 . F7D9 neg ecx / z% e+ R8 [' v% T5 _% |
0132D9A6 . 0BC8 or ecx, eax . }( Y9 F" j( y8 K B5 H! g! q
0132D9A8 . 51 push ecx
3 I4 Y: F$ B: R7 y" g0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
9 `6 o/ `- f$ ^- X0132D9AE . 83C4 04 add esp, 4
" |9 o6 F c! i% D: p% V) E0132D9B1 . 85C0 test eax, eax " |& H, D- _& ? p x* w) L- M
0132D9B3 . 74 28 je short 0132D9DD
, m( C1 a0 V8 X4 ^, o0132D9B5 . 83C6 FF add esi, -1 ) Y/ X! g3 H$ {6 G2 H9 C
0132D9B8 . 78 25 js short 0132D9DF
" \ i" S: P9 C* Q, w4 V# R0132D9BA . D9EE fldz
( N9 q( q4 S' J/ ?0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] & Y2 `- E" D& p, W) h
0132D9BF > D951 FC fst dword ptr [ecx-4]
( X$ {" }3 E$ X' i0132D9C2 . 83C1 20 add ecx, 20
+ S ?" r+ u) ~* B, r0132D9C5 . 83EE 01 sub esi, 1
8 I' Z( }$ B% |8 G, r' g0132D9C8 . D951 E0 fst dword ptr [ecx-20] ( w9 q, g2 r {% V2 m I
0132D9CB . D951 D4 fst dword ptr [ecx-2C]
# ?" O, p, Z" B! p. Z9 |( [ ~7 A4 x) D0132D9CE . D951 D8 fst dword ptr [ecx-28] 4 G; S# k ]) x7 Y5 Y7 ^
0132D9D1 . D951 DC fst dword ptr [ecx-24] 4 @, T, f3 S/ R/ Y
0132D9D4 . D951 E0 fst dword ptr [ecx-20] " D0 z w3 I, y/ S9 i; Y5 T* I& l
0132D9D7 .^ 79 E6 jns short 0132D9BF 8 _) A) X, D3 J: G! ^- h5 P8 o4 ^+ Y
0132D9D9 . DDD8 fstp st , F) D* n+ } ~" P G
0132D9DB . EB 02 jmp short 0132D9DF + y' e% r6 O* r+ y& l
0132D9DD > 33C0 xor eax, eax * ]& q( e/ ]+ `# A5 d
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
, [5 X1 c7 M9 K6 i0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
- t( F' S. @ D0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
2 W/ q6 l7 Q) V6 [0132D9F0 . 50 push eax ; /Bottom
0 N; W" u. x( V1 E; z* V4 e0132D9F1 . 51 push ecx ; |Right
% d: P' n6 E0 I6 T; M2 y0132D9F2 . 6A 00 push 0 ; |Top = 0 2 t+ E) [8 _. x- I$ |- c
0132D9F4 . 6A 00 push 0 ; |Left = 0
9 w0 p9 g3 Y; }0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
- o, F3 |: q$ p9 M; i3 Z f0132D9FA . 52 push edx ; |pRect
" ]% [% b) i9 F; v0 j- R5 z0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect 2 I7 n4 S; f' B# M2 m0 p$ L
0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
+ t" Y1 x! z8 M7 B+ e2 }0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
' o7 n e \5 \0132DA09 . 50 push eax ; /hBrush
" Z" B n- \" L! N4 N$ H+ e, F0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | 8 I# w9 M0 e$ f1 N
0132DA0E . 50 push eax ; |pRect
- T- s( Q' h1 h0132DA0F . 55 push ebp ; |hDC
/ c( v5 i. N$ b* u& a0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect + L s$ g/ X$ k
0132DA16 . 6A 00 push 0 ; /Color = <BLACK> # N" G1 y4 i. S# a _% Q
0132DA18 . 55 push ebp ; |hDC
9 I/ f3 M. ^ u ?0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
' [3 K0 V5 g; O, i0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
( w6 y$ N% P$ a @3 \# i' L0132DA24 . 55 push ebp ; |hDC
+ l1 M2 {2 Y( `/ T0 P) W3 O0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
+ s- o3 F) u( @7 O$ @% J. }$ l0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT 7 U# c" b2 D& L8 C4 x1 p0 K# y
0132DA2D . 55 push ebp ; |hDC
, w1 T3 l' ]- a; r; q, Y0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
% h$ d/ D' O- X5 M ~- M0132DA34 . 33F6 xor esi, esi
$ P& G( ]. w# f3 t0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi 0 b: n/ s, F& k+ h# f. _
0132DA39 . BB 01000000 mov ebx, 1
+ X% ?4 g: o: I5 k0 u, Z" ^0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
' I4 g3 q; L! j% L5 b- k* r0132DA42 . 897424 14 mov dword ptr [esp+14], esi
6 p0 X* Z% [$ ^, z0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
2 h9 S1 e4 p2 z/ h0132DA4A . 0F8E 20010000 jle 0132DB70
7 R. \! w2 s% \6 s" u) f0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] 8 t% ]$ e O& @7 K0 g
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] ' h4 j1 T) h/ f8 L) Q! e& Q
0132DA5B . 897424 20 mov dword ptr [esp+20], esi $ r9 k# V+ r0 T5 x& ~$ q; D+ C
0132DA5F . 894424 10 mov dword ptr [esp+10], eax
5 M8 j- o- o7 p& ~" |) z' x0132DA63 . D95C24 38 fstp dword ptr [esp+38]
! Z4 ` w( \" _& [4 u0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] ) ~" W' h; z$ i0 i4 O# ~
0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
. j1 J8 a0 B) F0132DA72 . EB 04 jmp short 0132DA78 / }8 o8 V& _- i) p: m2 I8 c
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] 7 M N2 T* O: k) R8 R. h
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] , n- R% O/ J: e5 A
0132DA7B . 66:8B08 mov cx, word ptr [eax] " x% t% T* D0 x% ~! M3 p6 U( W O
0132DA7E . 037424 20 add esi, dword ptr [esp+20]
3 s3 ?) u7 \ V! Y% x0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
5 k7 o o1 g- A' _2 S8 i" @0132DA86 . 0FB700 movzx eax, word ptr [eax] # l/ z& k- r5 N3 z
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
# [" h/ m1 i8 {7 G X9 \( X0132DA8C . 51 push ecx ; /pABC % w {0 k i! w# G* j# k
0132DA8D . 50 push eax ; |LastChar . N, o5 x) H+ r( V9 T% c, f; D
0132DA8E . 50 push eax ; |FirstChar
& F& W5 U$ M" B8 b- h! ~ t0132DA8F . 55 push ebp ; |hDC 2 S: b- [& p5 [" n! {
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW - B! N5 l' U0 {
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
3 i1 S0 O0 R2 f7 D: G$ x0132DA9A . 66:833A 20 cmp word ptr [edx], 20
y/ b6 B" Q8 W9 X6 ~, \0132DA9E . 73 10 jnb short 0132DAB0 : {7 M* E, r r( U" {: u
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 . w. t5 X9 |) f5 _
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 6 b1 I9 l# G3 Y% P8 z
0132DAAE . EB 0C jmp short 0132DABC
8 {- w# ?+ x8 R9 I0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
6 b. l: [" ?( U) Z; i7 @2 k2 F0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
$ m$ b7 P7 W% }0 y4 A: Q- |0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 # A& U, O8 Q) K8 D/ h
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] - Q2 m7 c0 w5 [; v, r
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
% v3 j0 u S3 u$ G0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] " |& L/ I0 I6 S k/ n
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
# `& ~7 X+ t0 x) L* n* m4 ~# R0132DACE . 72 14 jb short 0132DAE4 0 F( H. R, _6 t$ U
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] 5 q9 @# U# `/ N& M* Q. X
0132DAD3 . BB 01000000 mov ebx, 1
3 x' b( F' E# N$ g- P0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] L8 f6 i$ C2 c
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx $ w7 w! S! a7 q% C0 v2 S
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax 0 W$ p R d/ K: E/ N1 V
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
8 K. E4 t/ p/ D q3 d; l6 `0132DAE8 . 03CB add ecx, ebx 2 a/ N, f4 F" x3 T# z
0132DAEA . 85C9 test ecx, ecx
7 V* z2 }* @+ ~- G1 T4 a- @" a0132DAEC . D94424 38 fld dword ptr [esp+38]
! d. h& Q, W1 S9 j% W0132DAF0 . D9C0 fld st + _ c! k& B$ A3 _
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx 0 ?9 O) d) R% m$ P6 J
0132DAF6 . DEFA fdivp st(2), st H1 v' {- u4 ]
0132DAF8 . D9C9 fxch st(1) 7 g( }1 b& _# C; f* Y
0132DAFA . D91E fstp dword ptr [esi] . o* h+ }. s! E4 L- r6 v! f
0132DAFC . DB4424 14 fild dword ptr [esp+14]
% K- d1 |9 m0 r5 [0 I0132DB00 . D94424 2C fld dword ptr [esp+2C]
) D( l) m7 N R) T$ C# _' o8 M0132DB04 . D9C0 fld st 3 i1 A. T5 U# b& g
0132DB06 . DEFA fdivp st(2), st ! d) ^& {( C& C& o- H# l
0132DB08 . D9C9 fxch st(1)
) A0 p4 [& ?3 [0132DB0A . D95E 04 fstp dword ptr [esi+4]
5 K( _& O$ ^- p$ X/ m0132DB0D . DB4424 18 fild dword ptr [esp+18]
2 l0 m$ ]! D. K2 h! `( ]' q0 n0132DB11 . 7D 06 jge short 0132DB19
" h7 ?+ z' J( |/ F4 G) T7 d0132DB13 . D805 50B03801 fadd dword ptr [138B050]
% V: o; M; v+ L+ K+ u9 x0132DB19 > DEF2 fdivrp st(2), st 3 B; J& U7 k( E# ?
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
; i# A) U' `- Z" ]' ~" g0132DB1F . 6A 01 push 1 ; /StringSize = 1
# q: y+ @5 [ P" G2 j0132DB21 . 52 push edx ; |String " X" M7 m9 b! m0 G) H/ O
0132DB22 . 50 push eax ; |YStart
* y8 K" {5 A2 _" p n6 {0132DB23 . D9C9 fxch st(1) ; | 9 E0 B) H. i& I% j" [6 n; Y+ T3 K
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
# c- m8 c* r# B$ u" d) t1 i0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | ( M* F* Q" o" A+ \' [. \
0132DB2B . 03C8 add ecx, eax ; | 5 f) E5 d- _, J; k" ?$ \/ l2 D
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
- j# i9 }1 o" n# a& I5 u0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; |
8 A/ O) L9 k) g/ V) X0132DB35 . 8BC3 mov eax, ebx ; | ) X4 j M7 V0 T5 C! o
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
9 g! w# e$ ^1 p" U- M% X7 _1 ]% }0132DB3A . 50 push eax ; |XStart
" F# d, K: l& L2 ]0132DB3B . 55 push ebp ; |hDC & h7 x( a% Y4 ]. h
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
7 B( f( z; ?8 s4 ]0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
4 D% B s# q) I% R6 S7 O0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] / n) I/ k% O, F# Z( e3 a
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
0 i4 Z0 h+ ]0 J, K( [0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
4 S! V2 G) F; `0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
0 v6 A* a& z1 V1 P0132DB56 . 83C0 01 add eax, 1
4 Y% [2 |) H4 x" C0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] D& w/ ?, {: C; z) `5 p
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
. x! Y; B! K. w/ y6 H2 s0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
6 E- r$ l, F) H0132DB64 . 894424 1C mov dword ptr [esp+1C], eax 1 ?3 W- Y( n) L) ^7 z0 ?
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 1 w$ m% U+ u. n8 F
0132DB6E . 33F6 xor esi, esi
* [! J- _% m' ?0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
5 ] R3 m" `9 M6 h) P6 ]0132DB73 . 6A FF push -1
- {% r3 X& F9 N+ k5 v8 ~: R+ g/ I9 G+ w0132DB75 . 83C1 38 add ecx, 38 ( v$ \+ `' f' U& o( X
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> ( g d h* h( j9 e+ T. c
0132DB7D . 8BD8 mov ebx, eax
- [: L) h- J1 X1 ~" D9 h! k0132DB7F . 3BDE cmp ebx, esi 5 N9 G4 N, `5 p" k# @5 U
0132DB81 . 74 74 je short 0132DBF7 : m. F/ h9 B4 E V9 s8 [
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] # F+ |- A1 m" `3 b3 E+ L1 r
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
, p8 l( y& p8 A: I0132DB8B . 52 push edx ; /Buffer 4 _8 w/ Q" M& T, {/ H
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) * l$ c. L6 J& _3 ^# M8 K
0132DB8E . 50 push eax ; |hObject I$ I" }- L! |' d0 U5 P! x/ h7 _/ K
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA ' }9 H- A% D3 p% W" u0 n/ P: w Z# p
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48]
' B$ I0 c5 J+ }* ^5 p0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
2 f2 R0 _ [$ @/ E0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
2 ?' Q! e! v; L4 Q+ b0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
7 Y& v% U3 ]: ]5 Z" M/ n) a0132DBA5 . 85C9 test ecx, ecx
" c" r( r: E) O3 q8 P0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 p. h( Y6 P2 j' m+ Z2 P
0132DBAF . 7E 46 jle short 0132DBF7
6 V/ P6 e6 Y- e% L8 s8 c0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
# o$ [( \1 v6 S0132DBB5 > 33C0 xor eax, eax ' f1 t' s* `# g% t0 ^5 s
0132DBB7 . 85D2 test edx, edx
" G; i" g8 {1 G+ M$ m0132DBB9 . 7E 26 jle short 0132DBE1
- C* \# G1 w9 P3 M. k6 C& I0132DBBB . 8BCE mov ecx, esi
5 d0 ?% i) J6 l6 I# {$ T3 n0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] + r C: @# t# y4 h3 ]- o
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] 4 a: J& M1 y7 a
0132DBC3 . C1E2 18 shl edx, 18 ; k. R2 m. q! H/ v: P( ~- A
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
8 Z3 W( T8 W9 c2 x1 e5 {0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx 4 e% @4 L1 \2 Z+ y8 r8 g) }$ x! n
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
' I7 {0 Z% R4 d' ~0132DBD3 . 83C0 01 add eax, 1 3 O/ o5 A2 h4 O+ z
0132DBD6 . 83C1 03 add ecx, 3
) s8 H( j! \6 `: i2 @0132DBD9 . 3BC2 cmp eax, edx - ~, {' d2 A4 F! j! [
0132DBDB .^ 7C E3 jl short 0132DBC0 8 D& K `& \0 L" k p
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
4 c; P$ k3 y6 F, g$ L- ^0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] 8 q: w, I/ X8 }1 U( L
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
) K% v6 [; {. M, \! g8 Y% [3 {0132DBE9 . 83C0 01 add eax, 1
; w9 y! e! _& h! ?" @ Z! z0132DBEC . 3BC1 cmp eax, ecx
4 v [/ S. f0 o8 n( G1 U0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
" i- ~& j$ s( g$ `5 w% G0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
* ]2 z, M% C3 Q0 [6 L0132DBF5 .^ 7C BE jl short 0132DBB5
) [" K: M5 N5 o& M7 _% l: G0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
7 b1 S; F4 S# u, ~* p0132DBFA . 6A FF push -1 5 e3 u! t; ?! F2 X" F
0132DBFC . 83C1 38 add ecx, 38 ' z. U5 T s. d6 @ [4 u
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> ( n9 ^7 ]# F5 D4 H+ e* v
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
0 _7 y6 d' e6 H; x0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 6 @: }. p% |- }
0132DC0E . 50 push eax ; /hObject
. F0 G3 x" q2 E/ l6 v0132DC0F . 55 push ebp ; |hDC
, e8 J& P* y- L/ N6 Y0132DC10 . FFD6 call esi ; \SelectObject
3 r; E) H( {( }5 Y1 M G* m' p0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] . m) \, c7 A6 k4 n( q T
0132DC16 . 51 push ecx $ ]) Z2 Z( H% ^$ _
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
% E1 |2 q/ ~9 v* S' x7 h) i0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
4 D1 G) ~8 N$ t+ J8 U8 ]8 _5 e1 t0132DC21 . 83C4 04 add esp, 4
% |3 P; @1 x) s' ]. o) ?0132DC24 . 52 push edx * d: V3 P$ ?; G
0132DC25 . 55 push ebp 4 @0 W- A \+ i
0132DC26 . FFD6 call esi
' ^; Y0 H8 z ~5 o' F, q. V0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] ! [4 P9 g, @: d! M8 o, E( e0 w
0132DC2C . 50 push eax & m) a- v& P- X( w) L+ E
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
8 @! @0 F! w( |8 C0132DC33 . 83C4 04 add esp, 4
$ K m$ Q/ s. ]6 r4 ?3 D/ e) p0132DC36 . 55 push ebp ; /hDC ) t! A7 g- F. c, h, W" R0 }3 [
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
" Q% y0 T" _0 D. h0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
2 C1 f$ }7 s" _1 y0132DC41 . 6A 00 push 0 * V6 m6 y' Z& \/ Y$ F9 o/ k% k
0132DC43 . 51 push ecx 9 B& |3 Y3 W$ F* |: G
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24] E P4 Q. B# I4 b: s
0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
4 E) s" o7 w% m5 @ `0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] 8 @: K* ]6 S( H4 a0 v3 [$ q& k6 x
0132DC4F . 6A 01 push 1
b' I8 L9 }& a. @( v0132DC51 . 83C1 38 add ecx, 38 1 W2 W+ f* W4 n y" m. B6 G
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> ; e$ b. N9 G* J# l( T k' G
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] * Q8 S$ _, t( A5 _: l% r8 e
0132DC5C . 8B11 mov edx, dword ptr [ecx]
2 t- ]2 w! [, ^; u# d2 a; s0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] $ e( f" I- B. o1 y$ E5 M9 Q5 V, @. A
0132DC61 . 6A 00 push 0 % s/ Z* A( y( s1 v9 @- V" S* Q. B' @" |
0132DC63 . FFD0 call eax
7 N* n8 z! L9 B: N. t$ a0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] 2 ]3 i% e' C7 G/ Y$ b
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
2 i3 I4 q, ]/ M; l! z) C4 D0132DC6C . 33C0 xor eax, eax 7 u2 {0 X/ J/ _1 ], w) r8 y8 ^
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
& c% S7 V. L" N* i0 }% u0 R6 g0132DC75 . 5D pop ebp
3 J2 M& m* Z; A, n" M r0132DC76 . 0F9CC0 setl al 5 Q7 x3 L- x$ {' H3 C
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] 7 }9 R& L/ O& B- M& o
0132DC80 . 5F pop edi 4 O+ g8 H0 C8 q8 g, ?, F
0132DC81 . 5E pop esi
2 C$ f3 e3 D, d+ Z5 S0 M) o0132DC82 . 5B pop ebx 5 B% Y8 l5 D. t( s0 L
0132DC83 . 33CC xor ecx, esp n4 S+ z3 `+ w/ e& y) U( }
0132DC85 . E8 E2460500 call 0138236C * f6 B/ X" h: ~: ]
0132DC8A . 81C4 98040000 add esp, 498
3 x2 }1 I& S( z# v" m' C/ z0132DC90 . C2 2800 retn 28 |