发现了一个和字库有关的函数,研究中。
/ W, i( A5 ]* `( ?2 D3 x2 h/ p9 y* W
0132D7E0 $ 81EC 98040000 sub esp, 498
: T p% E! Y8 u; O0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
" k+ \7 L5 U, [7 o* D0132D7EB . 33C4 xor eax, esp
) G( a4 k/ e; H* K. c; x2 k0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
% ^8 v# o" F% D' M$ b) p m0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] 1 |" x- s5 b; r! x+ R# o
0132D7FB . 53 push ebx
@1 K$ ~$ E( k5 \2 T7 x0132D7FC . 56 push esi - v% l" d7 l# p( g( D3 {# n+ S
0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] & b/ |# ?& f& ^$ v: B
0132D804 . 57 push edi
! v$ N4 }$ x+ h0132D805 . 6A 30 push 30 ; /n = 30 (48.)
/ M% U/ }, u. {5 B" g$ X0132D807 . 8BF9 mov edi, ecx ; |
6 ?1 _) h9 C" O1 I& W0 v0 [' `0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
' O6 t8 w, D: @9 R; ^# V, z0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | 7 S% r* R C" v( d c
0132D814 . 6A 00 push 0 ; |c = 00 2 Z1 ~9 c# Y6 s$ |6 S8 Z: N
0132D816 . 52 push edx ; |s
5 f8 v$ y1 N6 H @" X# @* T* I& k0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
0 J1 ~, @. n: V+ l/ l4 J0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
9 k' T/ y6 S: w* J9 W( e6 W: Y' n0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | ' R3 b' [% h0 u; A
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset ; P* g, `2 j6 {& b, S& D
0132D82C . 83C4 0C add esp, 0C ' t0 L$ [, W4 m
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 - Z1 {% ?2 P7 W1 r
0132D837 . 74 12 je short 0132D84B ) V/ \1 a1 j# _
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] I' f: p8 Q! T( Z3 x& c
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
5 r4 Q1 t6 x' o: M- A! W0132D846 . 8947 1C mov dword ptr [edi+1C], eax + u: C. F5 H' g+ ?
0132D849 . EB 32 jmp short 0132D87D : `5 y& W, a+ L# Y1 D) r; r
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
* m/ T" b, M) m5 u3 r% u% l9 s9 d! }0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
. ] _- M! ]) N* ^6 J0132D855 . 33C0 xor eax, eax # \9 ~7 B* t0 j, s: T3 Q
0132D857 . EB 07 jmp short 0132D860 4 P1 ]4 P7 I; J* t) B- z
0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
* N6 J0 m% }. t% A0132D860 > 8D50 20 lea edx, dword ptr [eax+20] : @ D- Y7 Z* z- G. b
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx w2 f, ]! ]- W( T- Y+ Q$ [5 [
0132D86B . 83C0 01 add eax, 1 ( o. A, u1 s# _& M
0132D86E . 3BC1 cmp eax, ecx
0 z3 q. ^, d8 H) P0132D870 .^ 7C EE jl short 0132D860 + c' J& \' T% a0 l
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] ; ~% W- B# [& Y3 x5 x8 j
0132D879 . 894424 0C mov dword ptr [esp+C], eax 8 G% o9 X A- A+ e
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] / t- w% Z: `" a( j& t: d
0132D880 . 85C0 test eax, eax 6 o& P; g" h1 ^" c: z, a9 h
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
/ I/ Y+ I( C% R, E0132D885 . 75 05 jnz short 0132D88C
% u8 `1 a. U. ?. m0132D887 . B8 16263901 mov eax, 01392616
% _0 Q9 K; \9 {8 P$ ~2 b0132D88C > 6A 00 push 0 2 q6 i" w- l* H3 C
0132D88E . 6A 00 push 0
% l- s! J# l' j- e0132D890 . 50 push eax
k* ?/ }8 E4 u0132D891 . 6A 1F push 1F
5 j" b' H2 Q, s+ n0132D893 . 8BCE mov ecx, esi
. N; h' s( O9 f# {0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> , t& K6 b. ~- P3 u/ n. _
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
+ A0 c" Q6 F# F( A6 l: P7 q0132D8A1 . 6A 00 push 0 8 q! V3 q" R7 ~" m0 ^6 n
0132D8A3 . 6A 20 push 20 ' i- {6 T6 v: y) g( x8 w% L
0132D8A5 . 51 push ecx 4 k9 a# U4 E6 V/ y
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] + R# [$ t1 K5 k7 V2 k+ o6 k
0132D8AD . 8947 24 mov dword ptr [edi+24], eax & ^8 s! Q* Z3 s1 K
0132D8B0 . 8B10 mov edx, dword ptr [eax]
( A* C3 {' _# x5 {0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
6 g- D/ e, s; ]4 {+ ~% y" M# O0132D8B5 . 51 push ecx
! K) ?, U( x s9 l0132D8B6 . 8BC8 mov ecx, eax ) f y6 f! }+ N- C# m8 N0 M
0132D8B8 . FFD2 call edx
, p& h$ F ?. p) Y, {$ Z# ~0132D8BA . 85C0 test eax, eax # Q. p# S( X: T6 o" h
0132D8BC . 75 07 jnz short 0132D8C5 - N3 D# N' C4 u
0132D8BE . 32C0 xor al, al 0 j8 |$ {0 v7 a$ _. @& X# @
0132D8C0 . E9 B4030000 jmp 0132DC79
% w; `" e+ l0 J6 c2 u' G! w0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] & f3 D8 ], }6 F Z! s" C
0132D8C8 . 8B01 mov eax, dword ptr [ecx]
) O* e/ H$ A6 ~6 B$ I5 |0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
) c4 B; e) I0 {5 y( e. u( U+ H0132D8D0 . 55 push ebp
6 S& G2 ]0 E0 ^2 v: c4 l: j0 r0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] ( k- T! a: d! u1 `
0132D8D5 . 52 push edx . l: b) T, F/ r4 M
0132D8D6 . FFD0 call eax g' D4 ]( D6 U8 ?5 M) M, v: d
0132D8D8 . 6A 00 push 0 ; /hDC = NULL " b7 I1 z/ I* [6 J! U1 z; }9 a
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC , _) J$ e: ?: I' l4 l+ [- S3 R
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] & Z) ?) `. Z" f
0132D8E4 . 51 push ecx
; D+ z: o1 i7 x* ~% {0132D8E5 . 8BE8 mov ebp, eax h% S, e2 u2 A4 M# h
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
9 v3 P; G3 F/ }6 f3 N7 c8 \) ~0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
9 l0 v, n4 {2 l1 \0132D8F3 . 83C4 04 add esp, 4 ( `1 D4 q( ~# B1 U! q8 |8 b1 _0 K
0132D8F6 . 50 push eax ; /hObject * @+ K, c U. f/ R! c( X. g
0132D8F7 . 55 push ebp ; |hDC " {, E! A; |5 ^: i, N: J
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | / m* E. D* f4 R; l$ U& A
0132D8FC . FFD6 call esi ; \SelectObject
- j! }) s G2 C1 ]# p0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] + W; A2 ~ B3 {7 e
0132D902 . 52 push edx ' h) }0 A/ F+ a8 p$ c
0132D903 . 8BCB mov ecx, ebx
7 c; L/ |8 w* z8 v* ~2 H& N0132D905 . 894424 40 mov dword ptr [esp+40], eax 1 V2 q" f9 i" G- i9 P7 Q$ v
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= * K) S. |; d3 h4 d t
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] 2 C" i7 P: m" I, W+ h% T
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
- O" ~, |; z( v7 C0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
' b1 _9 u# D$ e C4 d- y0132D91A . 55 push ebp ; ||hDC K7 q/ v& W8 s7 ?0 _) T1 B
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
v( M6 o2 ^0 u2 F4 U. |/ e7 c5 J0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 7 p% ]5 i" H1 O7 Z. K' q9 A
0132D924 . 50 push eax ; |Multiplier
, n4 h+ X3 v& Y& \5 p- z# S0132D925 . 53 push ebx ; |Multiplicand
0 ]; W# z# U( _4 H: j' ~! c0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv 6 \" b. I9 }7 {; m1 _! E, _' H! U
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
]1 D8 u0 f9 \! O: G0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
" k; z: f2 Q' v/ _0132D937 . 51 push ecx ; /FaceName
" Q5 H; o' |- D9 |. T7 e0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
- S3 c$ b& ?" q G; T. W0 ~0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
" K. s0 f2 |+ @& }3 J; K! q7 ]0 Q0132D941 . 52 push edx ; |Quality
4 L% i& |& u! B' l! u6 F0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS : M6 U: z6 X# o
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
$ D+ U# E) B+ T; q2 z0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET 3 J4 E6 t% C3 T! n) L! ^0 v$ @, Z/ y
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE , W0 A9 U |, e; r: S! ~4 y
0132D94A . 8BD1 mov edx, ecx ; |
7 u) f* Q- v% N0 M. E! ~0132D94C . D1EA shr edx, 1 ; |
) d7 h% p1 y- A" d4 Q0132D94E . 83E2 01 and edx, 1 ; |
3 e+ `/ x7 M8 _% Q0132D951 . 52 push edx ; |Underline
, e1 z/ N9 b& W) H0132D952 . 83E1 01 and ecx, 1 ; |
P- u' g# D5 [3 @8 H0132D955 . 51 push ecx ; |Italic + `. E9 N) S/ g& }6 E2 z
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | ; p3 B6 i& Z5 B5 L% h: f
0132D95D . 51 push ecx ; |Weight
: V) F6 B+ G O7 D O0132D95E . 6A 00 push 0 ; |Orientation = 0
# m! [" l3 y5 f0132D960 . 6A 00 push 0 ; |Escapement = 0
5 a* d! l( M+ c0132D962 . F7D8 neg eax ; | 9 z# K& H1 h3 M6 @* B; o
0132D964 . 6A 00 push 0 ; |Width = 0 / z0 @: c: |" h' A4 \
0132D966 . 50 push eax ; |Height 3 D: e' w( X1 w3 D
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
& q# G! B A2 P' m$ L0132D96D . 50 push eax
' V# i/ ~ z/ p4 o4 z T9 j0132D96E . 55 push ebp
' e9 `3 [& ]( }! c% ~: d/ b* B0132D96F . 894424 38 mov dword ptr [esp+38], eax 8 W, Z) U* w4 b' A
0132D973 . FFD6 call esi 3 c$ `4 e5 K7 z2 B
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
2 l$ I! E4 }! Y, s8 t U9 k* a0132D979 . 52 push edx ; /pSize 5 S9 _: c# w- ^9 D% ]( p
0132D97A . 6A 01 push 1 ; |TextLen = 1 , L k* Y$ L4 k- `# A
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A" " _0 \' M: I9 P3 i/ s
0132D981 . 55 push ebp ; |hDC
0 R0 h6 x& g% y! D. @) e0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
9 ~3 p2 C+ q' b4 E( Q0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
( v- l2 E. o1 y+ h7 Y& `- o; {0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
7 D8 c- W1 A% P0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
0 s9 f. | A3 N/ J% A' L0132D993 . 8947 18 mov dword ptr [edi+18], eax
/ R2 b/ Z/ S8 Q/ B+ r; _9 \0132D996 . 33C9 xor ecx, ecx
& ~! \3 r2 I: v3 U. |0 C. ]7 r0 X# ?0132D998 . 8BC6 mov eax, esi
" j1 Z2 l! P* _0132D99A . BA 20000000 mov edx, 20
2 y( Q8 S$ Y H" O% c+ y- n0132D99F . F7E2 mul edx * Z5 d q6 N0 A, l& g8 n: O" J
0132D9A1 . 0F90C1 seto cl
i7 H6 _0 a) ?0132D9A4 . F7D9 neg ecx
9 w* ^5 m$ x( Q" l0132D9A6 . 0BC8 or ecx, eax
' v* U9 w! Y: E% V0132D9A8 . 51 push ecx
% r+ h. p+ i$ @9 p, ]2 k( E3 A2 `# \0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> * l9 Z! e3 f0 Q! Q1 z
0132D9AE . 83C4 04 add esp, 4
& _3 v7 `( e8 B. b( V0132D9B1 . 85C0 test eax, eax
6 T% e6 `) _/ x0132D9B3 . 74 28 je short 0132D9DD
* R! ]+ A! ~& N1 h3 ~0132D9B5 . 83C6 FF add esi, -1 2 r# C4 x2 ~, u& ]" v% _+ [
0132D9B8 . 78 25 js short 0132D9DF
5 p2 ^. \$ h4 l _& N, t0 a, f7 Q0132D9BA . D9EE fldz
1 {" ?) P7 U4 Z! V0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 7 U; ^! f8 w( D! a* D6 x
0132D9BF > D951 FC fst dword ptr [ecx-4] , b, r+ V. ~5 N4 D% q: q, R
0132D9C2 . 83C1 20 add ecx, 20 6 H4 L5 P' Q1 k* O- X3 A
0132D9C5 . 83EE 01 sub esi, 1
7 v) O5 ]+ V( e2 D7 {0132D9C8 . D951 E0 fst dword ptr [ecx-20]
& Q6 b& T k) {: Y5 @0132D9CB . D951 D4 fst dword ptr [ecx-2C]
P, m# z7 s' `$ @0132D9CE . D951 D8 fst dword ptr [ecx-28]
" X9 X" t2 j R7 K- N0132D9D1 . D951 DC fst dword ptr [ecx-24]
, j7 _4 M! v! h3 ?: G9 H4 e0132D9D4 . D951 E0 fst dword ptr [ecx-20]
+ S6 I7 x+ O% `% w: {0132D9D7 .^ 79 E6 jns short 0132D9BF % |. I+ t+ t5 b2 D
0132D9D9 . DDD8 fstp st $ l8 p: b; K, Z9 \
0132D9DB . EB 02 jmp short 0132D9DF
4 }0 d9 ^1 Y2 N0 }. k. x( C- l0132D9DD > 33C0 xor eax, eax
8 J& U# n; B2 G0 k1 D0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
( K- t4 k7 ]6 f6 c4 f# B0132D9E6 . 8947 20 mov dword ptr [edi+20], eax 8 g0 }* @, {7 G# O# L5 ~
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] : {9 G( `$ n6 u* K1 M
0132D9F0 . 50 push eax ; /Bottom . w2 i8 Q6 Y/ b7 T$ t$ p j; R1 w
0132D9F1 . 51 push ecx ; |Right
( c: `& J D+ }/ [0132D9F2 . 6A 00 push 0 ; |Top = 0 - m" H# g. [) S
0132D9F4 . 6A 00 push 0 ; |Left = 0
9 C* Q7 t. M) c. G) f0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | ( Q% ^; m# k7 q# q
0132D9FA . 52 push edx ; |pRect
7 j9 @) b" p8 p7 _" j# x. S0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect ) W8 K- [" h- z5 a% O* `
0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
; P( w c! A9 L8 Q0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
% h( K' i5 _+ B6 g- Q) r0 _3 H. L0132DA09 . 50 push eax ; /hBrush
3 f7 [# a: X& K; R0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
" N9 F' ~! Q. O' e0132DA0E . 50 push eax ; |pRect
" i H9 p% H9 E/ Z8 ?0132DA0F . 55 push ebp ; |hDC . }+ Z7 x# {: d( T# w6 Q; v
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect 8 j1 A) ^3 X4 a- s
0132DA16 . 6A 00 push 0 ; /Color = <BLACK> # l; R1 R6 q$ k G4 b
0132DA18 . 55 push ebp ; |hDC 5 z- a5 C) q1 ~6 t4 O. t
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor ; Q% z7 O! I m Y; L1 X( p
0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
) @. {1 }9 N- ^. b' W: f0132DA24 . 55 push ebp ; |hDC + ?* L" ~: M7 Q9 o" G% e* I' C
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor - l! d, t) {* p5 f( b( I1 v' D
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
. O% a; L K3 g0132DA2D . 55 push ebp ; |hDC
5 e+ Y& E0 R$ z; U# M0 }( O0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode ; Y+ E5 G9 v6 y( d' a0 Z1 |9 r
0132DA34 . 33F6 xor esi, esi
, L0 y% H4 k |" j5 x0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi & D1 |; J* K) E4 I2 f0 p. x; }
0132DA39 . BB 01000000 mov ebx, 1
: H4 _; F1 D- L- l7 C' ~ b0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
. b- g* d( ?+ [& b9 m2 I+ g0132DA42 . 897424 14 mov dword ptr [esp+14], esi , A7 p1 k0 g1 L
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi # Y$ |. X9 v% {7 A9 y m' C# o
0132DA4A . 0F8E 20010000 jle 0132DB70
- T( O: {% W; h$ |* b2 [0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] 1 I5 a7 b" y4 m( ]
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
5 Z/ t& C7 l2 `" n& o; B7 l6 p0132DA5B . 897424 20 mov dword ptr [esp+20], esi
+ |+ S/ u. h0 L/ ?7 p0132DA5F . 894424 10 mov dword ptr [esp+10], eax
# O6 w) _# W3 o2 H Q0132DA63 . D95C24 38 fstp dword ptr [esp+38] ) [( Z4 c; D. \9 o1 f
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
. y7 ~" q7 v1 c4 ]0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
- z. Z# v4 z5 L+ ]# V0132DA72 . EB 04 jmp short 0132DA78 ) P/ B0 h3 \7 w2 {& Z% t9 j
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] * |, k. E+ V* I' f
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
( L, I* }$ s r% E$ m* P& K) W1 z2 z0132DA7B . 66:8B08 mov cx, word ptr [eax] 0 Y( U6 Q* G! H, s
0132DA7E . 037424 20 add esi, dword ptr [esp+20] 2 } `5 a& I0 x+ ~2 V7 Q. E7 h
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
8 W2 c3 G7 o3 I- ^) b0132DA86 . 0FB700 movzx eax, word ptr [eax]
0 X8 A, o6 O5 f9 t" a0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] : W3 {: J! G2 U7 V
0132DA8C . 51 push ecx ; /pABC
7 R% u: N+ |; m4 V2 j% {( ~) ^% j; b0132DA8D . 50 push eax ; |LastChar & N8 O+ ?4 w5 d* I6 x: ?
0132DA8E . 50 push eax ; |FirstChar % A. s- z: z+ L' Y
0132DA8F . 55 push ebp ; |hDC $ O& o7 F+ e# D7 q* ~7 g
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
6 {# i. H. D% e8 B0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
" V# Y9 T. F2 J* S1 X0 T# |0132DA9A . 66:833A 20 cmp word ptr [edx], 20
+ q& k; v7 t; r4 d' w; v& y0132DA9E . 73 10 jnb short 0132DAB0
. a+ Z3 |" Z$ R; {/ \/ l4 A0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
/ b, {- H; l# Z" e* [5 @, h, ~* C0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
: p3 ], s1 _5 {# A& L9 {0132DAAE . EB 0C jmp short 0132DABC
6 Y5 B( |% O- y' e4 r, k$ ~0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
4 {% j7 f4 c9 r* h5 h0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 5 g* t. n# A/ g7 K \1 f! `: ]
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 * |- @( V+ m* {" f3 l9 f
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] % u5 \0 E' n. l5 q
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] $ p& E/ s( @) H+ W) W6 p) Q0 t
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] # z, F. Z) p3 G' N% L' o, x
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] 8 K7 E4 [5 {; `1 m/ W0 ?
0132DACE . 72 14 jb short 0132DAE4
0 @3 ^/ _8 V$ Z3 @/ Z0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] # H0 r6 p0 W6 `+ E+ {9 x
0132DAD3 . BB 01000000 mov ebx, 1 - Z! ^/ n2 ^9 E, H
0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] # @* G& p" z: b7 `( n
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx ! B& m3 q1 J" v
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
9 X: A9 u0 @; V* b3 }0132DAE4 > DB4424 18 fild dword ptr [esp+18]
2 X( D4 [ M% Y! f# d+ F. L' ]0132DAE8 . 03CB add ecx, ebx . Q4 i7 \6 b- A$ ~) i! l) L
0132DAEA . 85C9 test ecx, ecx
: `9 g) v" H1 D6 a" y0132DAEC . D94424 38 fld dword ptr [esp+38] , T! h0 W0 w/ v1 @" p: |
0132DAF0 . D9C0 fld st 6 F. m9 e1 C+ {1 Z( p; v
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
3 n7 D9 B1 I& q0132DAF6 . DEFA fdivp st(2), st 3 `3 |: x# Y. @8 h H- W
0132DAF8 . D9C9 fxch st(1) * q, R) u) x" h$ U
0132DAFA . D91E fstp dword ptr [esi] 6 E- k9 F) L# I7 s# o' d1 ~
0132DAFC . DB4424 14 fild dword ptr [esp+14] $ A/ t9 ?" l% W0 U" l& s0 V
0132DB00 . D94424 2C fld dword ptr [esp+2C]
4 A; m, O& K3 t8 L6 ]1 v0132DB04 . D9C0 fld st . q, x v# G1 g- r# k+ |
0132DB06 . DEFA fdivp st(2), st 4 h9 h% K) ^; Y& B
0132DB08 . D9C9 fxch st(1) ( W4 G, U+ `' S5 Z( W: T: c
0132DB0A . D95E 04 fstp dword ptr [esi+4] 0 w5 G1 c/ D/ E) Z9 U7 p
0132DB0D . DB4424 18 fild dword ptr [esp+18]
8 n9 u( F' g& J% Q3 G0132DB11 . 7D 06 jge short 0132DB19 : \& u) o8 W5 T
0132DB13 . D805 50B03801 fadd dword ptr [138B050] ! Q. l4 D3 V9 h, }# w
0132DB19 > DEF2 fdivrp st(2), st
; m: b5 j- y. h' o- p) v+ _0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] / D- @' N9 |* y+ s1 h9 \( h
0132DB1F . 6A 01 push 1 ; /StringSize = 1 ( Y/ y, d, J+ m2 Z: E6 K c6 y
0132DB21 . 52 push edx ; |String 5 w. D5 {) H4 n3 ]1 V* y
0132DB22 . 50 push eax ; |YStart 2 e7 ^+ T- @- b; ]7 P6 o& S+ \
0132DB23 . D9C9 fxch st(1) ; | . h" N' Y! L1 u# {$ M4 k( I3 ^
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; | 8 ~" w" I6 \; h1 G$ c7 K
0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | ' R2 L3 D5 k5 T; ~! F
0132DB2B . 03C8 add ecx, eax ; | ' p4 ` K0 ?6 h( @0 B% }0 \
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
* _7 M9 k& Z# g- ? Z0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; |
; f( J6 E+ c3 ^$ _# d' M0132DB35 . 8BC3 mov eax, ebx ; |
4 V2 b; s: J( j0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | 2 G C8 A: F1 J0 t9 b+ W+ S1 K
0132DB3A . 50 push eax ; |XStart 2 @+ \' D6 j- `
0132DB3B . 55 push ebp ; |hDC ! C& m J; K4 Q" T: L
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
0 E: H$ G* b" M+ b0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW 7 u7 ~8 N. V9 a0 F4 z7 b U% o
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
* Q9 g7 C) Q7 o0 ?) X$ _# _$ i0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
( P5 a4 |2 ]! }/ ]0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 4 d! p: n: b& {/ ?( ^3 x
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
2 N2 }9 ~- I+ k) r0 W* B& H! m3 }0132DB56 . 83C0 01 add eax, 1
3 R2 {5 Z! q5 I2 r2 k: @6 N; @. N0 h0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] 1 L4 z1 K/ J, d' H
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
4 B5 m: H: L+ E7 w0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
( }. t/ \; J: |) h0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
# T9 c% F) w) X4 \: V0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 ) p% v2 s1 ^% u2 B3 Y
0132DB6E . 33F6 xor esi, esi
( }) j) P* m9 J! f0 K3 e0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
+ q L8 S- S& t/ I s, R8 P0132DB73 . 6A FF push -1 3 O0 L; I& A3 z0 T
0132DB75 . 83C1 38 add ecx, 38
7 M# {/ o* U! v6 Q% L0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 7 F: k m1 N' D
0132DB7D . 8BD8 mov ebx, eax
0 |1 v' `2 F5 k8 c( k0132DB7F . 3BDE cmp ebx, esi
7 g, G8 J, z# r/ h5 i; W5 w0132DB81 . 74 74 je short 0132DBF7
& A5 k1 @' E! t# w6 q. w: }, f5 Q9 p2 o0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] * w& {6 A8 ^, H+ r
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
7 ^6 r O' a. \% F2 x0 U7 l7 {/ \0132DB8B . 52 push edx ; /Buffer / W6 s6 o( A- H9 b+ G4 T& _
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
" L J5 \' n) Z e. h; u0132DB8E . 50 push eax ; |hObject ( B; c- K8 r+ k. U, ]. H
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA ( d% }- H, _5 t' w& S
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] ~, `: o1 e. u- l; a% j, r
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
6 \& ]5 N# D$ E7 V4 y; z2 z0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
6 [3 Q8 x, `6 A+ m2 E+ j0132DBA1 . 037424 54 add esi, dword ptr [esp+54] ! K1 v1 w- L$ }( y* @' T
0132DBA5 . 85C9 test ecx, ecx 4 O- J i: M6 C, ~) \
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 2 m, g' l0 Z7 |/ h- a
0132DBAF . 7E 46 jle short 0132DBF7 " p: d* U6 g/ X# O+ y+ N
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
. N0 U q& F' e6 A/ t0 s1 B z9 @0132DBB5 > 33C0 xor eax, eax ! X) _4 k* h( ` l1 A
0132DBB7 . 85D2 test edx, edx
1 x# y, F; j G$ f0132DBB9 . 7E 26 jle short 0132DBE1 5 E+ z/ J" o; b3 W7 c
0132DBBB . 8BCE mov ecx, esi 1 l- ?1 T: W$ f) F; h, t$ f) K
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] + a) N1 t3 d& t* x: @" @
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] ; G* d* q. T: {
0132DBC3 . C1E2 18 shl edx, 18 7 n1 T- Q$ g" H7 v( A
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
& S3 I5 \) x; F: }# x: N) h; ]0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
& s" R+ E7 s9 @% g) G) r% n/ N4 y6 U0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
2 U( _/ ^, g9 S8 j: ^6 c- _0132DBD3 . 83C0 01 add eax, 1
) C3 l. M3 ]3 G8 j1 B7 V) Y0 q- p0132DBD6 . 83C1 03 add ecx, 3
2 Y2 R+ a- [, Z8 q0132DBD9 . 3BC2 cmp eax, edx # o% [( p% K9 y/ `, j
0132DBDB .^ 7C E3 jl short 0132DBC0 8 b1 h. W, E* p
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] 1 Y0 p- D$ I0 D. c! g/ P2 A% d2 P
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
: v; F, P& {5 y9 k# b0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
- ?" X, l" V l( ~$ \& i7 U0 z, Z0132DBE9 . 83C0 01 add eax, 1
$ t& H8 }- [- M& K1 s0132DBEC . 3BC1 cmp eax, ecx
, C5 C6 \% [# H" h, T) h, G7 } D0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] . k l. W2 Q7 j$ j
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
1 N- c9 t5 h' r9 s( V3 @0132DBF5 .^ 7C BE jl short 0132DBB5 7 Q- J# {' G' Y# `! k E
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
* U: O1 g2 {- I0132DBFA . 6A FF push -1
2 F* [, T- l. }8 ?% z$ s0132DBFC . 83C1 38 add ecx, 38
; v( t, a5 K9 f- z+ C8 X6 D0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
; x& Y8 B" J2 P3 O8 W0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] : a- f. a3 R4 O4 `+ Y
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
5 X$ y8 j& t+ q, x7 x. f0132DC0E . 50 push eax ; /hObject
- W5 ^2 ]' M; M9 [; p0132DC0F . 55 push ebp ; |hDC
. k( I7 R8 {9 D& T8 V+ j0132DC10 . FFD6 call esi ; \SelectObject
- F0 l: w+ a7 `" h; w/ _& _0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] # O( C: T1 k d$ u! g# i \) Z
0132DC16 . 51 push ecx 6 I h/ I& S- B2 m2 i
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
- y Q( Q' K! P- R8 a8 u0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] % O- y3 Q0 k& u% L. Y+ a+ l* i
0132DC21 . 83C4 04 add esp, 4
: a! k% k# E" }, T0 |, c: V9 s, K$ r0132DC24 . 52 push edx ( w0 v9 O0 d& F3 {$ G% Q3 K! T
0132DC25 . 55 push ebp
2 b4 A0 R* X- A. ]5 ^- }0132DC26 . FFD6 call esi
5 Y1 h: v1 Z# e( Y1 e- t( t0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] " O$ I0 t1 g& Z8 Z c; d
0132DC2C . 50 push eax # }( g' j9 {' w2 [" v4 C" ]: a
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
- e$ b- [ Z G9 w; I& f5 }0132DC33 . 83C4 04 add esp, 4
- ~, T: j+ a! o, o: J5 |0132DC36 . 55 push ebp ; /hDC % |9 T% L/ g+ N
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
s, u% F( }7 P5 B0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
3 G& r% ~& K) a1 I) p: E0132DC41 . 6A 00 push 0 8 O# `( r4 P% ?2 Z
0132DC43 . 51 push ecx : a+ v) d8 J) V% Y2 ^ L# z
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
' Y+ H0 o% K6 W6 h0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
6 \) Y( ?7 C, [% q1 \0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
. S0 o; e2 o! j( C9 f c* |. R% h0132DC4F . 6A 01 push 1
" y% [; I) P: E0132DC51 . 83C1 38 add ecx, 38
8 H- s- r( E- s0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> 5 P! f+ ~5 X ]3 u8 _& C0 S
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
: Y& C9 f ]; S5 t- L0132DC5C . 8B11 mov edx, dword ptr [ecx] , \! h* W0 s8 v4 l1 E
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] 2 l. f# z$ h" G2 {, e4 f
0132DC61 . 6A 00 push 0 4 g1 A: _- q, f7 a
0132DC63 . FFD0 call eax 9 z0 {. D7 i- c& K
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] 4 k. a" ^) X, J( A5 M+ j. r3 C
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
. M x U! h) C6 |! f7 v2 \0132DC6C . 33C0 xor eax, eax
/ B6 C" W4 ^$ ^1 [0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 1 ?+ J& H5 H( r! ?
0132DC75 . 5D pop ebp
7 B" g+ ~$ A6 y6 C# x& V0 v0132DC76 . 0F9CC0 setl al . @6 u; b/ K) K7 [* @9 u
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] % v% c8 z, Z$ \; _8 t% r
0132DC80 . 5F pop edi 7 K, t7 V4 N( O6 p( V/ m
0132DC81 . 5E pop esi
5 }, @; j1 |9 _. r; i( \5 W0132DC82 . 5B pop ebx
8 L2 t. S$ P* c5 S: f& {8 T, B0132DC83 . 33CC xor ecx, esp * J" I5 k( ]) G* G8 [/ g( M- ]
0132DC85 . E8 E2460500 call 0138236C 2 ?# x4 f3 p) o7 s% b: @
0132DC8A . 81C4 98040000 add esp, 498 : _6 o- {) P/ [$ _4 @5 Z* p# z2 }
0132DC90 . C2 2800 retn 28 |