发现了一个和字库有关的函数,研究中。 ' ?( m/ V }: d* p# E C9 C
, s) H' [3 ~5 V& C0 l1 t
0132D7E0 $ 81EC 98040000 sub esp, 498 & b% |& `( X) H( U" O5 W# y
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] + D. {. d; b* `1 N' G! F
0132D7EB . 33C4 xor eax, esp 9 O0 {1 P6 G7 E# u
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
7 y2 r8 z0 ~ ]( [+ h0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] " Y4 f u) W, [! j
0132D7FB . 53 push ebx & V0 n9 f" U2 c' t x3 u
0132D7FC . 56 push esi
, q! ]% b) ~- S' a8 q0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
% G7 ]! u4 L* ]- p! U9 z0132D804 . 57 push edi 7 e) j6 y% n Y/ Q
0132D805 . 6A 30 push 30 ; /n = 30 (48.)
* j- c a. z6 k( v) K. D0132D807 . 8BF9 mov edi, ecx ; | ( T: n0 ^) F# g/ g' v0 c) ]3 Y# F
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | 2 S' U1 d3 X& b$ w/ w
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | , u3 m9 Z9 f# m+ ]6 _$ l9 t
0132D814 . 6A 00 push 0 ; |c = 00
% J# Z/ X1 g3 |! \9 ~; x* L0 n0132D816 . 52 push edx ; |s & E |9 ?; {# M4 ]1 z; H7 ?. N. ]
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
0 T* D+ p% g! t4 V7 y0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | / g0 ^1 i0 ~" _: b
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
( k& |. m& K s0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
$ P7 n/ s" ]) c& j0 r" H& ]7 q0132D82C . 83C4 0C add esp, 0C # @( y) Z4 `/ E. H
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
( [" {) a% C! ?4 }" I- ~0132D837 . 74 12 je short 0132D84B
1 A7 M1 M7 O" ]% \( F0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
Q% a! G6 r5 B# }, \0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 0 y3 e5 p5 N3 V+ I. w" \
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
5 N& c- q, L! `- {0132D849 . EB 32 jmp short 0132D87D
0 r: D5 J7 H* W) X0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
' `1 C6 Q! q7 x8 E. \5 S+ S' l& _0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] 5 f6 X. \3 ]0 \3 S
0132D855 . 33C0 xor eax, eax . B1 O' M/ Z# c% l0 ]. ^% a8 q
0132D857 . EB 07 jmp short 0132D860
# ^9 j1 C( J+ Q* t( |0132D859 . 8DA424 000000>lea esp, dword ptr [esp] 5 P# M) g5 _% P9 l
0132D860 > 8D50 20 lea edx, dword ptr [eax+20] + i* I, Q; k0 R& D! K7 C, v, |7 V
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx ) h1 j$ h% L$ P5 M! A" I
0132D86B . 83C0 01 add eax, 1 ) H, N4 F' N$ j# q0 P+ Z+ p
0132D86E . 3BC1 cmp eax, ecx
" `8 K7 O4 e k6 y; M' b0132D870 .^ 7C EE jl short 0132D860 8 T) v7 `/ n2 c+ v+ Y& s" N
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 9 ]: q `6 j% [$ n! `2 X. i1 V
0132D879 . 894424 0C mov dword ptr [esp+C], eax % _, K; c/ B: ]
0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
2 i$ j! J0 z. B8 s8 ] _' A9 v0132D880 . 85C0 test eax, eax 2 F# p- f- v' ]& y5 d. Q
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] 0 U3 I( u! [8 _3 ?8 k# g: _
0132D885 . 75 05 jnz short 0132D88C h2 Y3 d6 S$ z) Z* O! Z3 U
0132D887 . B8 16263901 mov eax, 01392616
- b% G) R8 n% Z4 y0132D88C > 6A 00 push 0
; j! x' \9 A- j, w* ?! m% y0132D88E . 6A 00 push 0 / F+ _3 @' G. m7 @, M5 m f" r7 V+ O
0132D890 . 50 push eax 8 d! D0 ]. y$ n5 {0 M9 c
0132D891 . 6A 1F push 1F
; E9 t8 }5 w0 \/ P6 ?, ?0132D893 . 8BCE mov ecx, esi
; c; b4 T r: e0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> ; P- F& K. U# a
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
# S, |% c% z4 R' d: F0132D8A1 . 6A 00 push 0
* Q- m' R% n0 g9 c0 X0 u2 f0132D8A3 . 6A 20 push 20 w# W" ?- U! R
0132D8A5 . 51 push ecx 4 A2 l }6 b' K v" E% o+ e, g
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
2 e2 ~, E! G, s+ |% |3 l/ Y0132D8AD . 8947 24 mov dword ptr [edi+24], eax
6 c- ?% e; o) K' p0132D8B0 . 8B10 mov edx, dword ptr [eax] # T, U3 E: j- @) S" G
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] 6 x& m- s$ ~; L' Z8 h! d
0132D8B5 . 51 push ecx
1 |. G8 l- g, G/ N' Z0132D8B6 . 8BC8 mov ecx, eax : S. D! L* n8 N( K
0132D8B8 . FFD2 call edx ; j# w/ G' {8 x* }
0132D8BA . 85C0 test eax, eax * n* i( ^0 l/ i4 u2 Q
0132D8BC . 75 07 jnz short 0132D8C5
7 ^2 x! f# C- a9 }' G: k& U. x0132D8BE . 32C0 xor al, al
6 Z( _- n% k; {& K0132D8C0 . E9 B4030000 jmp 0132DC79 * A0 h# x! u7 n0 [2 J5 H
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
+ V0 a `4 N. p, `: Q( [. f1 S0132D8C8 . 8B01 mov eax, dword ptr [ecx] " Q/ p8 O" L9 h7 L5 l3 F
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
4 B4 p {. O/ g0132D8D0 . 55 push ebp 0 v2 B$ y% X' O. _/ [
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
7 b* C2 |/ N# \- o; c% x0132D8D5 . 52 push edx
1 y! K* k* O+ q/ D' ~3 r0132D8D6 . FFD0 call eax
x3 X/ h7 B$ J/ [; l+ j0132D8D8 . 6A 00 push 0 ; /hDC = NULL
8 R. y5 c) _. G7 C4 q L$ m0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 7 w7 r: q% _. s# ?
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] $ A# x$ |' N9 w: x& W9 R
0132D8E4 . 51 push ecx 7 g; G. G" J. A" u
0132D8E5 . 8BE8 mov ebp, eax
6 J# t4 h% N+ [( [7 B0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
8 _: j* c8 g7 A5 y2 m0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
% L4 r- A5 C2 e& Z Q5 W9 H0132D8F3 . 83C4 04 add esp, 4
' s4 L9 ] s+ j1 L/ G; S, p% B0132D8F6 . 50 push eax ; /hObject * u# Z) F, {% c; _
0132D8F7 . 55 push ebp ; |hDC
/ N7 Y2 {+ ], K ` Y6 V4 i0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | 1 f0 v! _/ e3 m, U$ \7 I
0132D8FC . FFD6 call esi ; \SelectObject ' Y" F" q. m9 c1 L8 U: j: e$ D
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] & \ D5 R0 X6 C: m7 ]/ s
0132D902 . 52 push edx ( W6 C8 ?( Z" B8 y- ?" `
0132D903 . 8BCB mov ecx, ebx
4 s& E3 X) v" E0132D905 . 894424 40 mov dword ptr [esp+40], eax
" `: i+ A2 t( b' O% z3 E9 ^: t0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= 0 R, @1 F6 F5 ~7 r, v: k! h
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] 6 d( l. K; G1 `* |7 l# l- F3 D/ C
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
" n; O3 r2 v: Z- p2 [' e0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY 1 `9 y7 A& t2 ~" ^2 c: D
0132D91A . 55 push ebp ; ||hDC
" J+ U- q; z4 y( d- v. C( y9 M; c/ e0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
* d( K) s, `; Q$ @# _5 s8 [& }0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
( w$ k( O& _$ k3 S2 m0132D924 . 50 push eax ; |Multiplier
/ K! E% v3 X' W5 S6 F' H2 M0132D925 . 53 push ebx ; |Multiplicand 4 m% u% [; r9 g
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
/ [& |, y, I8 V q! [! v0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
, m' [+ c1 Y G' M0 v4 ?: U+ G0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
$ j- m5 ~# C+ ]- a5 O, K' s0132D937 . 51 push ecx ; /FaceName 7 Q! p9 N3 N. _6 ]- v
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
* G- P8 {5 o& _" E3 }0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
}, [5 v: j) D% [6 h* B0132D941 . 52 push edx ; |Quality
+ ?" E/ ~: |2 ^( |/ |0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
; ~0 \/ ~+ m* N4 ?4 j* {7 h0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS 9 {" Y+ ]( N- o7 ?+ d
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
4 H/ W; s' S( o, _$ V8 r0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE 0 u8 A' f. Z0 M
0132D94A . 8BD1 mov edx, ecx ; | - Y& j; o# W* | z% e; z
0132D94C . D1EA shr edx, 1 ; |
! w6 U5 K+ p3 Z( g Y0132D94E . 83E2 01 and edx, 1 ; |
# s1 s! q& L: ?. W1 s: }2 r+ F0132D951 . 52 push edx ; |Underline
2 _( u& M/ l% @# f6 C0132D952 . 83E1 01 and ecx, 1 ; | % d! w( c1 @, p; J2 L2 _# K' W
0132D955 . 51 push ecx ; |Italic
3 m c) i# h$ A+ s$ J3 W- H0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
! Z/ E5 h; P7 P a0132D95D . 51 push ecx ; |Weight
; W/ k C: ]3 {9 N, v8 |! b0132D95E . 6A 00 push 0 ; |Orientation = 0
+ P, ~$ b3 t( A4 i7 s7 U+ l0132D960 . 6A 00 push 0 ; |Escapement = 0
" o" S5 @% f a0132D962 . F7D8 neg eax ; | $ w$ f6 p5 W- i( D! E
0132D964 . 6A 00 push 0 ; |Width = 0 " S: O& P# u; H" S1 L
0132D966 . 50 push eax ; |Height 2 ^8 G3 s: Q3 n6 D* l& w6 w5 `4 X
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
' ~( @5 u2 a! r! T0132D96D . 50 push eax * \2 j+ B7 O. ^, J: V
0132D96E . 55 push ebp
, ]' N6 n1 w5 |0 Y. J0132D96F . 894424 38 mov dword ptr [esp+38], eax
4 t5 Y+ e+ ` j( j3 ~7 K0132D973 . FFD6 call esi
) Q+ b+ |9 L4 x1 ]0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] ) S& F) |: T o* E& M+ S' _- ?$ J
0132D979 . 52 push edx ; /pSize 3 L( R* c1 K& {1 A, P
0132D97A . 6A 01 push 1 ; |TextLen = 1 $ f. f! H' t$ i) O( L1 z# @
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
4 O3 y0 n4 J( T; J$ ]% H- r7 h& K0132D981 . 55 push ebp ; |hDC
) Z4 r, L* M) Z) q0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
/ D3 N h4 }& J7 `0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 3 L* v$ P: d0 K5 |0 r$ ~
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] & B) O6 F: X; T0 b- S
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
" [( T- g9 w5 Q4 @; [0132D993 . 8947 18 mov dword ptr [edi+18], eax
) p) e, \ W, H/ p) ]7 X0132D996 . 33C9 xor ecx, ecx
. p1 f9 {0 Y9 j! w& {% k0 }0132D998 . 8BC6 mov eax, esi
0 o& S% a& ~1 a, M, b# Q0132D99A . BA 20000000 mov edx, 20
% v+ X8 G* i/ q% P6 D' D( D0132D99F . F7E2 mul edx
: p3 Y0 ?$ I; g6 z2 `0132D9A1 . 0F90C1 seto cl . `3 h" f8 V: x/ i7 }/ _
0132D9A4 . F7D9 neg ecx ( w& Z: A* m7 ]" n
0132D9A6 . 0BC8 or ecx, eax
, l4 K) ?- Y, ^1 B& `4 u0132D9A8 . 51 push ecx
- k1 R. u7 @+ z/ h0 }9 e6 Y0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
8 ~8 L( S- E9 K' @! y. x; {9 d, h- F0132D9AE . 83C4 04 add esp, 4 * F; G% Y! h; z
0132D9B1 . 85C0 test eax, eax ! L/ S8 m& }3 x) i. d8 R
0132D9B3 . 74 28 je short 0132D9DD
" m" ?& Y2 k- P1 F/ c0132D9B5 . 83C6 FF add esi, -1
3 ^ k1 R( x* s) D0132D9B8 . 78 25 js short 0132D9DF
2 m6 H0 P3 c! f" Y: V" T$ K0132D9BA . D9EE fldz
, n0 I) M* J9 n- y0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 5 f6 [: y% x: q5 i- `# ?
0132D9BF > D951 FC fst dword ptr [ecx-4] ) n, N8 \' T. ^3 C8 F4 ]
0132D9C2 . 83C1 20 add ecx, 20 k& {, E; z( s8 b8 s
0132D9C5 . 83EE 01 sub esi, 1 * o8 H$ L# U8 }
0132D9C8 . D951 E0 fst dword ptr [ecx-20] ) j1 l( S* c' Q8 M; Z
0132D9CB . D951 D4 fst dword ptr [ecx-2C]
" G7 C/ m, c6 J' {0132D9CE . D951 D8 fst dword ptr [ecx-28]
$ e6 n/ p' [* L3 c; O7 U7 S0132D9D1 . D951 DC fst dword ptr [ecx-24] " V4 K# |5 F; E) J7 R% N" Z5 w
0132D9D4 . D951 E0 fst dword ptr [ecx-20] 3 @% n% n3 }% d
0132D9D7 .^ 79 E6 jns short 0132D9BF
2 J% P1 D2 O" w9 w* D6 N0132D9D9 . DDD8 fstp st 3 H- F6 i0 H9 ~6 b" j7 W! H
0132D9DB . EB 02 jmp short 0132D9DF $ Y' N6 ~4 m5 l4 c9 C/ ^8 i: z" H
0132D9DD > 33C0 xor eax, eax
6 N' {5 B5 j2 Z: a9 g0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
% N( B% z t$ ?. }2 \0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
, V& R; n1 Z: d/ B0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] ( t4 z9 t' q; K0 e3 G g/ J. E* s
0132D9F0 . 50 push eax ; /Bottom
1 V$ r0 [7 K6 |) K) |: P+ H1 c0132D9F1 . 51 push ecx ; |Right
. ^5 m m3 h. Z; ^0132D9F2 . 6A 00 push 0 ; |Top = 0 % ]' |6 Q7 \6 f* k
0132D9F4 . 6A 00 push 0 ; |Left = 0 0 d# E& V% W0 a/ i# ~
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | # Q+ l" I4 e) Z* Y) K' ^) d9 C
0132D9FA . 52 push edx ; |pRect 0 X) b/ \! T1 ]- v5 d* Z( Z
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
+ H+ e) J" M( |1 y6 }0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
5 m0 d5 a9 W& Z' W- F! w0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
* Y+ \; E. |) m7 Z1 Z. r0132DA09 . 50 push eax ; /hBrush
& x. X# H: i2 [4 T5 m1 Z0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
. o1 C. U) H* z3 O/ i2 P ^0 {0132DA0E . 50 push eax ; |pRect 8 m2 M0 C9 Y0 |0 u$ Q' Q
0132DA0F . 55 push ebp ; |hDC : t6 @5 j8 {: f3 I: a& s2 s3 [
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
) J/ u+ u/ b% Y( i @: }2 C, a2 y' Y0132DA16 . 6A 00 push 0 ; /Color = <BLACK> $ T. j8 p2 x# T8 _' T! m. I
0132DA18 . 55 push ebp ; |hDC
3 w# |! ~9 t( {2 w) J0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
( G; V. g, o3 |3 g* L+ I% h! S7 L! G0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
q' W6 }* z- h: X6 S0132DA24 . 55 push ebp ; |hDC 0 b0 ^0 K9 p4 R/ }
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) x& c/ v7 q" f, Q: C
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT ' V% P- f. H# k* i
0132DA2D . 55 push ebp ; |hDC - K- B4 \: U& c. B
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode - h# N, v, t M1 ~2 C0 _
0132DA34 . 33F6 xor esi, esi . f) O# R2 e# d1 g @+ W
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi : h$ _# F9 L8 w X& I7 ~1 _
0132DA39 . BB 01000000 mov ebx, 1 4 j* A" v @# y$ w/ W! ~( v
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx & M1 a' J, l1 q& C
0132DA42 . 897424 14 mov dword ptr [esp+14], esi 1 r$ Z* K# T8 X/ b
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
; f$ ^0 t3 P- ?0132DA4A . 0F8E 20010000 jle 0132DB70 / K# V% B- a, n( M. }) P" h( j! N. z
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] 9 S7 r: T: B* s, U$ g3 f
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
; ^, s- P& S/ X* N: q0132DA5B . 897424 20 mov dword ptr [esp+20], esi
: \" h& o! o& t% \/ @1 f0132DA5F . 894424 10 mov dword ptr [esp+10], eax 2 Q" L% s0 I ?* `; F
0132DA63 . D95C24 38 fstp dword ptr [esp+38]
" P3 q7 N) w+ w6 O0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] % v X( d8 x: Q1 z6 @
0132DA6E . D95C24 2C fstp dword ptr [esp+2C] * t4 I( \9 c( i2 x v3 t5 @: a
0132DA72 . EB 04 jmp short 0132DA78 / ^8 h [! q4 n! O8 Q6 j
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
. U: y9 y. ~9 `9 l' Y* R0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
w( [ f. D% P0 i0132DA7B . 66:8B08 mov cx, word ptr [eax] ) V+ n0 B# F8 {
0132DA7E . 037424 20 add esi, dword ptr [esp+20] % r8 }) h; a5 [+ w8 `# s3 ^9 n; n- `: k. q
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
4 z7 K A$ {/ M3 |. p8 f0132DA86 . 0FB700 movzx eax, word ptr [eax] ; Q& f8 w$ v$ _# H$ {- o
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
6 j$ A3 L6 s9 ^0132DA8C . 51 push ecx ; /pABC
+ @( b& `. L( A% H3 h# N0132DA8D . 50 push eax ; |LastChar
7 D- W5 s+ x% F* W m/ t; Z7 z4 u0132DA8E . 50 push eax ; |FirstChar 1 I5 t3 E. a% ]* F. o, U) c
0132DA8F . 55 push ebp ; |hDC 8 v% S, @, ?5 b% C
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
3 Z! z) W' c, `6 U0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
- A: f- ~+ b5 p. @' R0132DA9A . 66:833A 20 cmp word ptr [edx], 20 ' E# Y5 J7 P' e; |9 P2 A i& i
0132DA9E . 73 10 jnb short 0132DAB0 , R8 z3 U+ W" {6 j& t
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
8 ^8 u5 l: j' m. c0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 " B& W% m: K+ R H5 b% Z+ Q
0132DAAE . EB 0C jmp short 0132DABC 7 ^3 f7 ]' L# @# } s# J* u" |
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
- z7 n( E+ ^: E8 Z3 j ^: p5 q0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
( z; @$ M' n) b0 z$ A0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
# W/ Q1 |6 y! l0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
+ @) O% L: U, D- B }& E0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] 7 N3 r+ F7 U, R* h3 a9 |9 t0 U7 v
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] " t9 B# E* ]" f, B( B$ \
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] / ]" g$ O# w6 N, I- O+ D
0132DACE . 72 14 jb short 0132DAE4
4 J1 r; O l- T% I) p6 p0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
1 L: B/ {& |8 Z! o4 X, g E! v0132DAD3 . BB 01000000 mov ebx, 1 / r$ k4 M$ ~! ~, a0 R: Y
0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] * N3 P. ^; Y% A+ T3 Q8 H
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
# D. L. }2 d( ~7 N+ Q0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
: e( ^. H) X2 O; w7 X0132DAE4 > DB4424 18 fild dword ptr [esp+18] / m( D; C( W ^, Q2 S$ j
0132DAE8 . 03CB add ecx, ebx
5 G3 z( d6 x* ^0 K1 m3 M0132DAEA . 85C9 test ecx, ecx
+ ^ e- }8 k3 f; J/ o$ V, ]; D* ~' l0132DAEC . D94424 38 fld dword ptr [esp+38] & _) Y7 V% W- n) S
0132DAF0 . D9C0 fld st 5 A2 j w X5 @$ m* V' T( D/ G
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
+ o3 F6 Q7 |/ H0132DAF6 . DEFA fdivp st(2), st
/ I9 E/ [; E& P. E* J0132DAF8 . D9C9 fxch st(1) ) y1 U8 H; n0 j* X8 f
0132DAFA . D91E fstp dword ptr [esi] - a0 q* p! p8 n, I. k
0132DAFC . DB4424 14 fild dword ptr [esp+14] 8 F# {( o1 s5 t* ~. |% |
0132DB00 . D94424 2C fld dword ptr [esp+2C]
: w ^/ M/ `4 _* ~( S- O. k n0132DB04 . D9C0 fld st
" u7 {* o: s3 v0132DB06 . DEFA fdivp st(2), st
" X1 O$ g$ ^8 t' X0132DB08 . D9C9 fxch st(1) ( h! Y/ l6 \* ?; t' M* x- t6 e
0132DB0A . D95E 04 fstp dword ptr [esi+4]
+ R8 E, i+ C/ P4 L( L& Q0132DB0D . DB4424 18 fild dword ptr [esp+18]
' Y- ?% g/ a k$ f0132DB11 . 7D 06 jge short 0132DB19
8 G3 K3 _' u, W4 B* u0132DB13 . D805 50B03801 fadd dword ptr [138B050]
$ n: }6 F6 u, e9 \" o/ S k7 V0132DB19 > DEF2 fdivrp st(2), st ; R& z# |" N! w( J
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] . ^# V( m0 @4 B7 V2 X/ d; J3 R5 }$ O
0132DB1F . 6A 01 push 1 ; /StringSize = 1 3 \, B' t" n, s! I0 Y1 U$ t: f; G
0132DB21 . 52 push edx ; |String
2 G0 w# B, ?/ Z$ V' L0132DB22 . 50 push eax ; |YStart
+ V( O& X5 |$ q2 d0132DB23 . D9C9 fxch st(1) ; | 4 m) u4 _7 f; q3 n0 _
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
, b. u @9 I- y8 s* k$ b0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; |
- ?0 ~- r' J% T7 l* r& C) `0132DB2B . 03C8 add ecx, eax ; | $ H! O* w; L! ]8 J" ^6 }. B, o
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
) H* K* x4 M( J; l0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | - i: I1 X. u8 c7 z, h9 f( J: c
0132DB35 . 8BC3 mov eax, ebx ; |
/ k0 y" C) Y( P. X0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | 0 ]7 |% O2 h: @
0132DB3A . 50 push eax ; |XStart & n- Q# O' [$ c. j6 j/ e
0132DB3B . 55 push ebp ; |hDC 7 j, b- |0 O( _- S/ t; c) G/ P
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | % N; S# M; ]* }6 J
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
, @( E& H6 _$ b, i( n4 O0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
% a3 K4 V3 E" p, t0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
$ N6 H5 {' c ^' R4 |4 e+ d) B0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
7 k3 ]* U6 |$ G, U$ k/ ^6 n0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
' w! ]! m \6 Z6 ^( C" {0132DB56 . 83C0 01 add eax, 1
: f0 f6 A. d9 v4 @0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
4 ^; q, p* k' h) r0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] ! ` o; Y- P) R) N6 ?1 v
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
9 q1 w* y3 p, E7 E- p" F; ]7 X7 U0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
' X$ q0 p' Y$ y* S; q0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
- ~! C" G. ^& u l( l P& x3 b0132DB6E . 33F6 xor esi, esi
* y& a1 v9 Z9 U& ~* c0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
. E I7 d1 K# j# k0132DB73 . 6A FF push -1
, Y7 C0 J7 [+ o1 K4 V- ]3 s0132DB75 . 83C1 38 add ecx, 38
# Y& f/ o! M5 L, E5 E$ R7 l0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 9 Q4 ?( O# g) a- x1 @
0132DB7D . 8BD8 mov ebx, eax & f$ w7 C6 T3 e& W: U
0132DB7F . 3BDE cmp ebx, esi ( G( i- H+ w% b% B, [3 f& S5 ]
0132DB81 . 74 74 je short 0132DBF7
: c! s: w( `- [5 D F0 z2 Z B0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
3 Y' z& z8 n6 ?5 D5 H" q$ N0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
9 ?! ]5 _' C& \0 [1 O9 U% u0132DB8B . 52 push edx ; /Buffer 8 Y: n3 g" a* @/ | w
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
# n6 M- G- P* |0132DB8E . 50 push eax ; |hObject
* u' e! @. F& R# t1 r) a0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
- A# k% a1 i: Q) |; o& u0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] ) n# U" o. u! v1 t8 t) Q& p
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1] / L3 @( {9 z" O" E, U. c, U
0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] / H0 m, _! X7 ]! R: L
0132DBA1 . 037424 54 add esi, dword ptr [esp+54] , J) G3 k3 f0 ^' l$ f
0132DBA5 . 85C9 test ecx, ecx
! `+ }: [2 s. r7 o0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 . ^$ U* P0 {1 j5 y4 i) j: U
0132DBAF . 7E 46 jle short 0132DBF7 : r3 b4 L9 j P+ K* g
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] - ]7 A; K" W. V1 \
0132DBB5 > 33C0 xor eax, eax " f7 |8 ?+ K8 `+ r
0132DBB7 . 85D2 test edx, edx # `8 T4 Z( |' f R7 D
0132DBB9 . 7E 26 jle short 0132DBE1 ! @/ \- \( Z2 C! j# i5 r- ~6 f
0132DBBB . 8BCE mov ecx, esi
% x" d( ~6 ~7 u* @0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] $ B6 U; x3 m6 }
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] 0 }1 d3 m0 V0 a, W! ?
0132DBC3 . C1E2 18 shl edx, 18
' H, M5 {# c8 c5 {% ~8 e0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
% [8 |4 m7 |+ {3 N, z, z2 @0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
, _, F" Z2 j5 K2 j, L0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] 8 \2 R+ h3 d' `0 A& y d
0132DBD3 . 83C0 01 add eax, 1 " v' A+ ]: `( X; G
0132DBD6 . 83C1 03 add ecx, 3
$ r- M" S5 L' f0132DBD9 . 3BC2 cmp eax, edx
; n& m" p% {& l+ P# p0132DBDB .^ 7C E3 jl short 0132DBC0 6 k# O) [% Q8 ~% k" ]
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
) P! z/ ]/ @0 H% w& i0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
. ]9 _& a, Y/ n9 O1 A0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
7 j4 b6 {. W8 w* G7 t0132DBE9 . 83C0 01 add eax, 1 6 E2 d7 x' c/ x t% a* [
0132DBEC . 3BC1 cmp eax, ecx 1 E8 \7 ?$ Q% P1 I2 R9 V2 s& D4 L
0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
1 S3 e2 d; X. x; [, Y- t9 e) Y0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
: A( F" b8 @/ R H, C7 I3 Y0132DBF5 .^ 7C BE jl short 0132DBB5 % A) A3 a' F. |" e9 _8 l
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
1 {8 W6 F' ?# A/ C0132DBFA . 6A FF push -1
& m/ d' V; e- X# d+ g. q4 D0132DBFC . 83C1 38 add ecx, 38 ; B" i" r- k; g7 u' j
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
# L8 k3 h' B$ Q0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
\& W& X: q# L* M0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
$ e2 @0 B% S7 q: ]# z0132DC0E . 50 push eax ; /hObject
' K/ g5 C' x: r1 Q5 t2 b/ d0132DC0F . 55 push ebp ; |hDC
* s" A; m9 E9 Z4 y9 O1 [ O9 v0132DC10 . FFD6 call esi ; \SelectObject
1 _' Q* V( M, A0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30]
4 _) I7 z9 x, S& G3 E0132DC16 . 51 push ecx
! X* v! g4 r1 B! p- W9 N" J$ R0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont 7 m' c+ `: e4 Q
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
. k4 |) c0 @# w9 [9 R0132DC21 . 83C4 04 add esp, 4
3 [9 O6 m9 N9 U% ?0132DC24 . 52 push edx 6 K4 b; g9 V) ]6 T1 \ }3 k; g
0132DC25 . 55 push ebp
i8 J1 ? @: M0 H9 ^9 ]0132DC26 . FFD6 call esi
+ ~' o, O! y. G' m0 m9 p0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] 4 |3 F# d9 ?* ]. s- L/ N8 {
0132DC2C . 50 push eax 2 \3 U; E$ e; Z" w
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
" E( y9 |' d8 U$ I/ T1 J0132DC33 . 83C4 04 add esp, 4
' e+ @' d, n7 a: E4 P: o8 W0132DC36 . 55 push ebp ; /hDC . f5 O; y' t) [* S; a$ @
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
6 ? E' ^8 @0 E0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28] 3 H, {4 A& N% h$ }, `* {
0132DC41 . 6A 00 push 0 2 J- S* F7 D+ Z9 `: S# v+ h
0132DC43 . 51 push ecx 4 }3 b$ o# I& M! ~% S
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
8 d& s- ?2 r( X9 G6 f$ e0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
$ u+ `- N1 \* W: @ w- ]7 T0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] 7 U' C/ b) K2 e P$ l
0132DC4F . 6A 01 push 1
2 f0 q2 |* f- K. f% y+ j: U0132DC51 . 83C1 38 add ecx, 38
* h! h8 ?8 J! v/ a. D0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> # q: g& A- A0 f A. M8 O& [. {7 m
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
1 N* _7 R7 J' @; z0132DC5C . 8B11 mov edx, dword ptr [ecx] & I' D6 P* t3 g) N+ b' [
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
2 |1 q5 t' v" `6 `0132DC61 . 6A 00 push 0 2 E* z- @0 J) {9 `! J5 B
0132DC63 . FFD0 call eax
3 S3 L- Y' A* U% z% d1 O( ]4 E0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
' A9 v2 J6 K7 C+ a$ B0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
3 l" Y0 j* `) k# Q u5 D3 X4 w0132DC6C . 33C0 xor eax, eax
" u" q- G+ d6 b( S3 ~% w3 U0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 6 f, o7 u( H5 l U) H
0132DC75 . 5D pop ebp 9 {$ I s q5 Z; l0 d) l9 a9 \5 _. H0 D
0132DC76 . 0F9CC0 setl al & D6 }: [- i+ r8 T- O
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0]
, m+ X" z0 O+ X* F/ n0132DC80 . 5F pop edi 4 _+ @7 y9 x4 o B
0132DC81 . 5E pop esi
9 y/ o( O! S( Q2 ]% Z0132DC82 . 5B pop ebx
7 y/ k. f) S( ^( ^0 `: P! N. B5 \0132DC83 . 33CC xor ecx, esp " y/ ~* X$ }- A1 z" I2 p5 @( z" {
0132DC85 . E8 E2460500 call 0138236C
# `- Q+ r8 X" }3 |0132DC8A . 81C4 98040000 add esp, 498
+ w6 B3 Y& U' j2 V. H; D0132DC90 . C2 2800 retn 28 |