发现了一个和字库有关的函数,研究中。 . J1 |( b; z6 c: t: e3 P# }, z
, @# `4 E8 |* ^' r
0132D7E0 $ 81EC 98040000 sub esp, 498
; q3 v' \' F! w# _0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
: r9 V7 p l4 H! n3 |0132D7EB . 33C4 xor eax, esp
0 F7 F' k }% b- ^7 W8 \0132D7ED . 898424 940400>mov dword ptr [esp+494], eax 3 m7 w/ O" T* F4 P% C; L% R# t8 |9 c
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0]
. M% `3 s% f5 O' v- t7 n0132D7FB . 53 push ebx 1 o; J# t3 C! z) V: z
0132D7FC . 56 push esi
* J; l) ]8 y! q# k- I+ p0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] , c |, s ^; y9 m
0132D804 . 57 push edi
, C. v: g# C/ l1 ?0132D805 . 6A 30 push 30 ; /n = 30 (48.)
9 L8 h' y+ e7 X5 q$ k4 }9 s0132D807 . 8BF9 mov edi, ecx ; | 4 ^4 K( l/ {( c
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | ; G& A6 H. N d% A
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | # M$ J* p' j w' E2 C" N
0132D814 . 6A 00 push 0 ; |c = 00
5 J1 L6 \3 ~/ W8 v, ]. c0132D816 . 52 push edx ; |s ; z) f- {4 J' I' k% Z
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
$ ~5 Q5 z: U1 X$ @) m9 \: g0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
3 w2 ]0 o; r: b9 K. g, L* A0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | * ~ r# U" o+ k
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
: e9 b& D( n3 u& F, W# \0132D82C . 83C4 0C add esp, 0C ( u# v- K" c$ j' T0 O+ H j
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
! J3 ~3 p9 P! Z. f! W" i- l* r0132D837 . 74 12 je short 0132D84B
. I5 i, Z! J+ c S( b, K0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] # l' ^! k0 {6 v
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
, Q6 e) M* Z: X- N8 i- J; H$ k6 S0132D846 . 8947 1C mov dword ptr [edi+1C], eax " u$ |) M6 a5 e. m* Q; v
0132D849 . EB 32 jmp short 0132D87D 3 ~( ^+ ^: x% J% d
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 % J( S$ X8 F% ~# \* U3 R% v
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
1 a, g/ a( v; h1 ?0132D855 . 33C0 xor eax, eax a- a& ]+ Z9 n( v! _0 T
0132D857 . EB 07 jmp short 0132D860
6 N: o- G& ]: A" X( |0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
; J _9 X. X+ s. }9 U+ W8 B0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
. t1 F) y! [" p. A" }0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx : h; F7 e8 A+ k
0132D86B . 83C0 01 add eax, 1 ( N4 j. q# h, x- ^4 B6 j6 x- g4 u
0132D86E . 3BC1 cmp eax, ecx 2 e% S) x7 O8 J5 R8 k% j
0132D870 .^ 7C EE jl short 0132D860 7 j6 ^ Q$ Z" _* O, W/ Q% z
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] & O( ^( M. H5 q# L
0132D879 . 894424 0C mov dword ptr [esp+C], eax
1 Q" _. Y5 e" m" E7 j0132D87D > 8B47 0C mov eax, dword ptr [edi+C] 5 Y% j. ^& E; d* m* v8 z( {
0132D880 . 85C0 test eax, eax , k7 r! K# _2 d; o9 `: Z" g5 E
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
9 a2 F. {" F! ~) k* a- P* s0132D885 . 75 05 jnz short 0132D88C ( Y& A6 V9 d1 C6 C
0132D887 . B8 16263901 mov eax, 01392616 6 c9 p. t: A* I% @3 m9 j2 A
0132D88C > 6A 00 push 0 7 t1 {" ?5 ?2 s5 }- ? o
0132D88E . 6A 00 push 0
1 ?' {7 I% l" r- t- o1 _0132D890 . 50 push eax ; i$ r+ A8 {( H7 Y
0132D891 . 6A 1F push 1F
X8 @0 r2 J& X- u: l8 [0132D893 . 8BCE mov ecx, esi
) _- l' @ p* W8 Z! X- K: C0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> + [9 Q: \1 Q0 f' B9 ?- N* [
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ) @* `3 P+ h- A- O
0132D8A1 . 6A 00 push 0 . ?! d2 M% m" c, }+ u/ m! W3 M
0132D8A3 . 6A 20 push 20
8 D, s( x; e/ o# L: R0 z4 Q0132D8A5 . 51 push ecx
! F$ m+ e9 y) W( C0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
* Q: d. X3 h- F* ^0132D8AD . 8947 24 mov dword ptr [edi+24], eax . Y: T. `! r) ]9 @4 P
0132D8B0 . 8B10 mov edx, dword ptr [eax] ! e4 A& D- m1 c1 l
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] . t6 i$ V6 p: I) [' J/ M9 i
0132D8B5 . 51 push ecx 6 Y @$ K- I9 W
0132D8B6 . 8BC8 mov ecx, eax 6 i/ q- w2 H' Q( A2 L
0132D8B8 . FFD2 call edx / P0 L p' d) i- C7 N
0132D8BA . 85C0 test eax, eax
7 [: |7 p- N' q" D& c: n0132D8BC . 75 07 jnz short 0132D8C5 ) l4 B s! R8 O' k
0132D8BE . 32C0 xor al, al , [+ {& v9 u6 Z9 A3 e: g
0132D8C0 . E9 B4030000 jmp 0132DC79 4 Z9 k$ ^, }1 t7 A4 M0 ?7 t5 u* ^
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
' a* j" d5 R) m9 u. {9 |0132D8C8 . 8B01 mov eax, dword ptr [ecx]
1 h) E9 B7 b' S, j3 o( f J0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] . I$ _% I1 I$ Z; ]$ S
0132D8D0 . 55 push ebp
- C1 @9 ^7 N+ M0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
. U* \5 P l3 o* T! Z1 I+ T9 H0132D8D5 . 52 push edx X1 s0 g+ X* V% i$ L- n5 k# V' G5 a3 G: r
0132D8D6 . FFD0 call eax , z; s6 p6 U5 _2 o! {) Y5 m
0132D8D8 . 6A 00 push 0 ; /hDC = NULL # W8 }& Z" K) C- W; p2 w- P8 e. l
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC & z1 [$ P) L8 r5 F# o" m' h5 ]
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
r+ |. M3 M2 k$ a+ n+ |# w0132D8E4 . 51 push ecx $ E' t9 W, Y/ U! C G
0132D8E5 . 8BE8 mov ebp, eax
2 Q* m, T2 k0 ]; ?0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap 7 a1 Q. C O, I7 o; t/ n
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 0 q5 d" u& _$ v5 Z' C
0132D8F3 . 83C4 04 add esp, 4
9 C5 |2 v+ v* s; _: e* Y1 I6 }& A0132D8F6 . 50 push eax ; /hObject
/ C$ s) ~8 @2 J. G& x4 H4 m0132D8F7 . 55 push ebp ; |hDC # L& ~0 z$ f6 e( y: S/ l2 j
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | ' R) ~# s7 G5 m/ J. \2 S
0132D8FC . FFD6 call esi ; \SelectObject ! a9 o& J3 S z3 r! d1 ^, a1 x- k
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] 1 j: e7 B* \5 e* v
0132D902 . 52 push edx
/ }# d8 ~' X2 d5 o* _& b0132D903 . 8BCB mov ecx, ebx $ g. M0 u) c: D6 t( A3 H* j5 C& N
0132D905 . 894424 40 mov dword ptr [esp+40], eax . }% |$ L" h5 l; [
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
5 ?+ c L w. m+ x+ Q k0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] ' I, A0 u+ H* B& D
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
8 T1 A Z( J+ L% k9 }8 [0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
2 x: {6 s7 }, ~( g0132D91A . 55 push ebp ; ||hDC 9 E! M8 ], U+ o9 e
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
! L% n2 t7 J' X0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
3 C# o) }; g( Y G( I* F0132D924 . 50 push eax ; |Multiplier
5 K5 G2 O5 _/ X/ V" k8 S7 M0132D925 . 53 push ebx ; |Multiplicand , G, y2 A+ m9 K* S k) ~& B
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv + J' N; v# m. F7 c4 G
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] 2 I9 V( h6 ]: x( `" t$ L. S
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
5 ~' E6 M; B6 ^% o, d0132D937 . 51 push ecx ; /FaceName " I1 h; ]) ^4 j1 {3 c
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
) u7 K" Q/ ^2 t% _. T. M0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
; w+ Y9 p6 T2 i$ @0132D941 . 52 push edx ; |Quality
; L" @* y+ K y y6 Z- Y8 b. A0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
* S. x5 H9 |* _0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
! ]& e8 N. _9 U5 x3 ?9 C0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET # N4 A) d. q, _8 i& _6 f i. O M
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE # M% o+ F. f7 J# \# W# k' G
0132D94A . 8BD1 mov edx, ecx ; | " a) t% I/ p$ n3 a
0132D94C . D1EA shr edx, 1 ; | 7 q2 I. n. G; E2 l0 k' U9 O2 c
0132D94E . 83E2 01 and edx, 1 ; |
! a% T2 ~2 w( Z0132D951 . 52 push edx ; |Underline
; E) ~3 n5 _1 M. X3 h0132D952 . 83E1 01 and ecx, 1 ; |
! C' {& j% d7 B7 z4 q0132D955 . 51 push ecx ; |Italic
0 r1 r8 L) w, ?- E, u1 E0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | $ I E5 A8 }& z5 T% o
0132D95D . 51 push ecx ; |Weight
3 q5 \' I5 @: @0132D95E . 6A 00 push 0 ; |Orientation = 0
: C. I! x6 D! b* k0132D960 . 6A 00 push 0 ; |Escapement = 0 * q4 n4 m3 P9 F2 K! ^# i
0132D962 . F7D8 neg eax ; | & {2 b+ ?5 c4 B" m% f+ S
0132D964 . 6A 00 push 0 ; |Width = 0
| ]2 M, E3 V& P. ?4 G- |0132D966 . 50 push eax ; |Height + p2 V8 I# @0 [; L7 R
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
. t6 X0 ?7 w0 J/ {0132D96D . 50 push eax ) x# `4 n. _1 l' v
0132D96E . 55 push ebp x0 r" A+ L6 z. g
0132D96F . 894424 38 mov dword ptr [esp+38], eax 8 N- j; W3 E/ c3 |: Y$ r
0132D973 . FFD6 call esi * }: O% D# l; k1 p E5 E4 m
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
- o* ]& o1 E J5 o6 L0132D979 . 52 push edx ; /pSize
( _! A& O7 V% }0132D97A . 6A 01 push 1 ; |TextLen = 1 8 |% n5 F& t: v7 P1 ^
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
. t8 A6 V; I; w, S0132D981 . 55 push ebp ; |hDC
& d' a2 h3 P: Y8 d, U0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
3 V& ~( W3 Q9 j; r0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
9 T% i2 J; b4 X" v6 w0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] & U" T5 `! j n$ m& O. j
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
b7 {9 M! I5 @( h1 q8 M8 R# v6 q0132D993 . 8947 18 mov dword ptr [edi+18], eax - T6 ~$ J3 k! S. Z( E6 A2 }5 K3 B U, U
0132D996 . 33C9 xor ecx, ecx
3 G% r" [% ^1 l9 B1 Z0132D998 . 8BC6 mov eax, esi
, x, [6 U! ^$ X# s4 e6 P6 \0132D99A . BA 20000000 mov edx, 20
) J% `% X4 z Y- h0132D99F . F7E2 mul edx ! V0 l3 g0 p1 z4 H8 q) o' e7 B
0132D9A1 . 0F90C1 seto cl % x8 Y& S: k- T. ^
0132D9A4 . F7D9 neg ecx 8 q: E: E5 [( x C
0132D9A6 . 0BC8 or ecx, eax : @- r! f" P3 n
0132D9A8 . 51 push ecx ' Y1 [5 i6 F3 x: O* `& K
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
) J( q' V f. @. g7 n6 `# H0132D9AE . 83C4 04 add esp, 4 8 I# K0 D/ Z6 p1 ?; b
0132D9B1 . 85C0 test eax, eax
- c5 ^, O! i7 ?) z7 h% U0132D9B3 . 74 28 je short 0132D9DD ' W" h# J# d3 [( B- o" I* [+ O# D' B
0132D9B5 . 83C6 FF add esi, -1
7 ^. K" c. L; _; x. n0132D9B8 . 78 25 js short 0132D9DF
3 n& ~; J2 B8 E* c0132D9BA . D9EE fldz 5 `+ ?5 B7 w6 g4 p4 I6 ~. W& e
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] : S# z! B# N! E9 I, I% T9 Z
0132D9BF > D951 FC fst dword ptr [ecx-4] 8 B5 x, H, o% E5 R
0132D9C2 . 83C1 20 add ecx, 20
! m, U6 Z j. u, d! o0132D9C5 . 83EE 01 sub esi, 1
+ h5 w7 I6 b; v) {0132D9C8 . D951 E0 fst dword ptr [ecx-20]
9 \. T* U" V1 e ]( O I% D0132D9CB . D951 D4 fst dword ptr [ecx-2C]
* j6 n; o+ e H+ H0132D9CE . D951 D8 fst dword ptr [ecx-28] # W! s R K3 r: N2 T0 T
0132D9D1 . D951 DC fst dword ptr [ecx-24]
5 ^: W4 ^" T$ h+ L# K i0132D9D4 . D951 E0 fst dword ptr [ecx-20] # E& [9 x2 N, v8 |5 i/ K4 R; h. E2 ~
0132D9D7 .^ 79 E6 jns short 0132D9BF
8 O2 Q! I6 {( p& |( Q1 L3 d0 b3 w0132D9D9 . DDD8 fstp st 3 `$ B5 p6 x$ ?9 k: T7 ^, [
0132D9DB . EB 02 jmp short 0132D9DF
+ v. |9 Z" N [( x( J8 y _% r6 D0132D9DD > 33C0 xor eax, eax
2 Y* |) A0 {0 a* j& M# t) j0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
5 v8 m6 @% _% ^5 s0132D9E6 . 8947 20 mov dword ptr [edi+20], eax * Q/ C$ H6 K: G3 i
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] + u" L5 p0 }. o1 f( ]+ |
0132D9F0 . 50 push eax ; /Bottom 3 _3 ~2 E4 Q$ O7 `
0132D9F1 . 51 push ecx ; |Right
, \7 l" @2 L1 ?6 @" k0132D9F2 . 6A 00 push 0 ; |Top = 0
' `) n& e- y l! L j0132D9F4 . 6A 00 push 0 ; |Left = 0
0 b% L1 j! C3 i8 v- A `0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | 6 z8 C( ?. L2 ^& A5 y% X% j# r
0132D9FA . 52 push edx ; |pRect ) |: w. Y7 P' W s: ~ U# d' t
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
# y( F/ S" f: w; v2 x0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
" c4 g' }, N' p# V! }2 |* ^0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
9 I6 T; c! U U. s w' I0132DA09 . 50 push eax ; /hBrush
0 M* \# Q n6 S- [' I0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
( G0 x3 l' {( A! ~- |0132DA0E . 50 push eax ; |pRect
- |) `6 o5 b/ r% X* `( h9 l0132DA0F . 55 push ebp ; |hDC
" { Y1 I( d. y+ n. E4 [/ K6 e0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
# t+ e& N" F3 R0132DA16 . 6A 00 push 0 ; /Color = <BLACK> - j% ]5 }' o8 a4 k( l
0132DA18 . 55 push ebp ; |hDC
4 t) y3 s9 b) \$ n7 K9 L: s: C7 j1 |0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor 9 {3 V T( ^3 o* _" B% C
0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE> * _2 a/ z7 `* l B: R
0132DA24 . 55 push ebp ; |hDC % y8 `6 V) ^& k
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
! ^! e$ h! U/ U) g0 o0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
8 U. Y$ d/ J' @! P; B0132DA2D . 55 push ebp ; |hDC
- y& t" `4 [& j5 q6 G( e \0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
% {% z0 v6 a, J9 K0132DA34 . 33F6 xor esi, esi # E$ I: h2 L w' _- d
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi 3 ?0 i' ?# Q1 q
0132DA39 . BB 01000000 mov ebx, 1 $ G: u: p4 E6 {+ p7 y j6 E
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx : b1 m$ d' P/ V$ K& q1 v
0132DA42 . 897424 14 mov dword ptr [esp+14], esi ! A5 W7 K7 r$ z( |# H6 A; f
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
7 ^8 |3 i' @( Q+ F% c0132DA4A . 0F8E 20010000 jle 0132DB70 b3 _4 L' M5 P2 ?
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8]
9 _$ y/ x, b6 d" m0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] ' m+ V$ c! H# D7 Y @
0132DA5B . 897424 20 mov dword ptr [esp+20], esi $ H4 `0 t" D: ~
0132DA5F . 894424 10 mov dword ptr [esp+10], eax
3 z7 b* w0 i0 w/ T6 a) D0132DA63 . D95C24 38 fstp dword ptr [esp+38]
2 ^) _# ^" \5 X$ g# C- L0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
+ L8 W% c" |" G3 v; {2 u0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
U; G2 T4 E c# r" D0132DA72 . EB 04 jmp short 0132DA78
& a' R' _$ ^$ i% m0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
3 j' Q5 [( L% F- C* V0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] . h" _0 y) W0 z' {
0132DA7B . 66:8B08 mov cx, word ptr [eax] . ?! a6 Z* a, h8 [9 Y: g8 I' W) ^
0132DA7E . 037424 20 add esi, dword ptr [esp+20] ' x8 U. [2 x1 _3 u& a5 w9 U( P8 f
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
% S& r/ u; z* z4 q$ D5 e( c3 l0132DA86 . 0FB700 movzx eax, word ptr [eax]
' @1 {# ]; X( i% x& V0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
; o4 F3 L. U. ` c5 _2 _/ g+ y0132DA8C . 51 push ecx ; /pABC 5 g# U) x- y2 B
0132DA8D . 50 push eax ; |LastChar
. T- v9 c3 k* W0132DA8E . 50 push eax ; |FirstChar 6 k/ D }. r+ d
0132DA8F . 55 push ebp ; |hDC
1 t3 ?% e" ]) G: v9 K; t0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 4 m9 V: b$ }, V# k p$ M! X) {1 h; C
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] # b) L6 ~; ~# G& \: E1 R
0132DA9A . 66:833A 20 cmp word ptr [edx], 20 ) V* ~3 }/ b2 m& o: t9 R7 S
0132DA9E . 73 10 jnb short 0132DAB0 4 W+ O. v6 `' Z9 c( R$ j, h5 d7 c
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
! h! C. a2 b+ _0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 $ o( | N2 R" B/ a- |
0132DAAE . EB 0C jmp short 0132DABC ! \$ A6 S! b; {2 m; q
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
, C/ {3 k J3 j" P* E0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
: M5 r/ E3 i6 D0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
4 J. h( }% L! `* c& T% i$ u0 ^/ r: C0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
, X; ^# E, W# B0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] 8 ^+ R1 y4 I! g! m; U1 _$ q7 h
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] , A# ~5 P( e( Y* U8 T( F9 k0 b
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
6 T" H) }% g2 u4 K% g0132DACE . 72 14 jb short 0132DAE4 ' e& D$ e# E; s! o0 B
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] M* @2 `5 Z+ |% G% d+ V, ~6 y
0132DAD3 . BB 01000000 mov ebx, 1
4 {9 b' U2 M( E0 S5 t' V0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] ! J1 a4 m( m+ V t
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx : D( U/ h; i$ v
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax 1 X) l" h4 \- ^( X8 C( O# ^+ D0 M
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
4 |! U' X4 D. {. V' {0132DAE8 . 03CB add ecx, ebx
- t: z, I! n0 e: t# T6 c' v+ S% |$ w7 K0132DAEA . 85C9 test ecx, ecx
3 u# Z9 h8 l3 e3 @; V0 T" |! L3 O0132DAEC . D94424 38 fld dword ptr [esp+38]
* I8 Y' J! @8 f* }* u0132DAF0 . D9C0 fld st
$ e* Z- J. H4 b. U8 m: X$ Q7 K0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
, s7 [2 K1 T6 d( [; s$ W' @1 s0132DAF6 . DEFA fdivp st(2), st * e8 F: a$ Z; V. O- z, q/ v# i
0132DAF8 . D9C9 fxch st(1) # @' ` S1 F4 F+ F! G
0132DAFA . D91E fstp dword ptr [esi]
; n, T, G" v, p# G! ~2 \. b( {% i0132DAFC . DB4424 14 fild dword ptr [esp+14] 7 s# y8 e! o8 d# [# Y
0132DB00 . D94424 2C fld dword ptr [esp+2C] $ n* m6 u3 {$ [ t% }2 h
0132DB04 . D9C0 fld st
/ O- ~$ p: \( S7 Q0132DB06 . DEFA fdivp st(2), st * j F, L9 c. q) {1 d7 \; h4 f/ o/ H
0132DB08 . D9C9 fxch st(1) # d& z& O! Y2 q, w
0132DB0A . D95E 04 fstp dword ptr [esi+4]
7 [0 [: [% q- N( E! }' k' t0132DB0D . DB4424 18 fild dword ptr [esp+18] 3 g+ l9 |2 v8 y) R5 u; L
0132DB11 . 7D 06 jge short 0132DB19 ' [$ J }) O' `. I) z9 b& z/ r! w( G
0132DB13 . D805 50B03801 fadd dword ptr [138B050] ) ?0 ~! h4 H4 {& w9 a
0132DB19 > DEF2 fdivrp st(2), st
! Q! \# ]$ B. T3 s I# u0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] . a f7 D S3 ^! z4 p" B5 x
0132DB1F . 6A 01 push 1 ; /StringSize = 1 * {3 h/ n' ]9 D( u7 C3 {0 m; f
0132DB21 . 52 push edx ; |String . U/ C: P- z" T1 \5 t3 E: q: ~
0132DB22 . 50 push eax ; |YStart . N+ k* b( S- B" I4 l
0132DB23 . D9C9 fxch st(1) ; | $ m4 p5 I' X3 x, D1 U/ W2 }+ H
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; | , G" n' z V4 U9 J
0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; |
1 D/ P* M; z6 }, C. @0132DB2B . 03C8 add ecx, eax ; |
9 r* ^6 M; O$ a, a( j0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | . M! `1 J* B! b' U! R2 b% @9 l5 A( V
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | 7 l8 t6 I" T0 A( Y
0132DB35 . 8BC3 mov eax, ebx ; |
! g1 |# i* t$ m z( D% R% O0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
) E$ @ f/ X$ T! J6 W0132DB3A . 50 push eax ; |XStart
5 s9 @* k6 H4 Y2 M5 Z0132DB3B . 55 push ebp ; |hDC
# V k( C ], l4 k+ e8 a: P0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | p( m* t6 n) O# p! h
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
8 \9 t- P7 ^2 U4 n2 k# I) E3 C0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
: }2 V- S- N5 W/ d* |6 i/ [0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
* ]) Q4 U8 _' D5 H' L0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 ; a4 j: K3 o) g4 |2 b
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 4 [. V( f3 B6 r6 y( g, W
0132DB56 . 83C0 01 add eax, 1 6 c& J( c4 f5 w) P% Y
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
, q5 ^+ s1 k3 `- ?6 H0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
: |1 \% b m$ d6 m" a0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx ) T* u' ~9 v" ?4 f
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax 2 P3 b5 }/ m5 T
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
/ { h& D3 @$ V& I7 I/ A0132DB6E . 33F6 xor esi, esi
0 b ^) w, v W- J0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24] 5 p5 ~" |5 d% q; x
0132DB73 . 6A FF push -1 7 V1 b1 n6 A& Q" ~+ s$ V1 f5 J
0132DB75 . 83C1 38 add ecx, 38
4 q8 t. D; l/ q2 j8 T+ Y. F0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> " u1 a1 _3 y) F2 E
0132DB7D . 8BD8 mov ebx, eax ! {& l7 K$ R) Z3 z* o" u* J# q
0132DB7F . 3BDE cmp ebx, esi & _9 o7 q/ y5 j" f' u6 J
0132DB81 . 74 74 je short 0132DBF7
. ~3 g: Y0 X' ^' f* Z2 x0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] 5 n+ c% j& R! m3 q- x
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40] 5 p& B/ p$ Z, n3 H8 m8 G
0132DB8B . 52 push edx ; /Buffer
Y5 N1 R, I& K! r0 O0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) ( w) H1 `% m; Z2 J
0132DB8E . 50 push eax ; |hObject 5 }& z0 D& n' h0 \2 Q# ^& a, d6 @! y' }
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
* s6 q5 Y# w$ a" d" B4 p0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] ' M1 Z( \5 O7 S4 G
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
& E5 N, @* ^1 O* B" _9 T7 v0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] 3 S7 g; w, N; d, c( \
0132DBA1 . 037424 54 add esi, dword ptr [esp+54] y3 G5 v4 M$ W7 u: N- }9 {6 ]
0132DBA5 . 85C9 test ecx, ecx
( a% P* d* R# i0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0
3 q, t; N: E: v2 Q8 ^0132DBAF . 7E 46 jle short 0132DBF7
: e; P% O& z% \ n+ Y+ q4 n0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] 4 k9 o, O! w" b; m2 n
0132DBB5 > 33C0 xor eax, eax / @1 a/ | B$ o8 {& o
0132DBB7 . 85D2 test edx, edx ! t' A. d p* i
0132DBB9 . 7E 26 jle short 0132DBE1
+ S! v5 l: W! U* m6 k1 b4 f$ ^0132DBBB . 8BCE mov ecx, esi 7 `- D- n7 B4 A I, ]5 R
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] ' D: e- P! B/ C3 E4 |& o$ h
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
/ L# ]% s( \9 w: x- _; `0132DBC3 . C1E2 18 shl edx, 18 . j* | Y g' z2 K, q
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF 9 d( @* \$ v I1 c8 \, a3 \
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
+ ^, y# @& Y, X0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
- {9 a8 o. x. [3 D, _/ T Z- s0132DBD3 . 83C0 01 add eax, 1
! G2 X6 \8 t+ k7 m4 ?2 x- `% V) B0132DBD6 . 83C1 03 add ecx, 3
0 ~- G3 b0 G9 z% z) f0132DBD9 . 3BC2 cmp eax, edx 1 [% n3 B1 S/ q/ i ?2 g$ z( z
0132DBDB .^ 7C E3 jl short 0132DBC0
) z0 H7 m- c+ B' u$ n8 ^. Z0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] * I, c+ A! \% P R( y0 M
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] 2 T& ?) h; |5 B
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
& r. v$ [/ z8 \% P A5 ], I0132DBE9 . 83C0 01 add eax, 1 ! d" C- Q$ A1 v4 x$ y7 {; A
0132DBEC . 3BC1 cmp eax, ecx
# r' l% _# v+ m9 \7 }0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
7 t7 P8 ~( l0 D* {% b0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
, b1 {6 L) E0 G& `$ p R# Z0132DBF5 .^ 7C BE jl short 0132DBB5
1 N0 z% k0 O% N/ f0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] , a; |. V: E' ?, e [
0132DBFA . 6A FF push -1
, D4 D& Q- \) r9 b3 M5 l0132DBFC . 83C1 38 add ecx, 38 - c) P0 a A3 a2 \
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
8 D- y- K5 J3 x6 [6 Z0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] 4 u _$ B' d) R/ [( Y# _) m. ~
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 1 d3 }# Q+ B7 [* c# P- u
0132DC0E . 50 push eax ; /hObject
& f p% X4 q6 F* ?0132DC0F . 55 push ebp ; |hDC 8 q& g. ?1 R* B: r! f6 B
0132DC10 . FFD6 call esi ; \SelectObject
# H2 B* K H( Q1 V2 Z9 Z F1 A0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] # Y2 ^4 v" V/ V. F# q+ c/ Q
0132DC16 . 51 push ecx
5 y; G8 q4 p$ B0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
5 v$ d+ g. S" E$ I4 V5 @ A+ K0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] * B. P- E$ B# }+ B/ U
0132DC21 . 83C4 04 add esp, 4 8 w5 i7 |$ Z5 Y/ u
0132DC24 . 52 push edx
+ p7 W0 m# T. l T1 J0132DC25 . 55 push ebp
! A2 N, [* K6 e8 \9 |6 M; P3 k0132DC26 . FFD6 call esi ! g8 i6 W7 r8 o) I+ Q6 M
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] 6 r0 M0 ^; B+ r: V6 l
0132DC2C . 50 push eax
3 T' X1 s9 j( ^0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont 6 D' r/ o8 }; Y8 L6 p
0132DC33 . 83C4 04 add esp, 4 ( j7 W) {# G% a/ }! p
0132DC36 . 55 push ebp ; /hDC
! l1 ?: _% l" a% ?7 ^0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
5 i1 M7 v" o! T0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
- E# B$ ]4 R1 N& v, t% N% O) E9 E& d0132DC41 . 6A 00 push 0 - h, E \+ p# p3 V6 M: j' z
0132DC43 . 51 push ecx & ]/ a7 y. ]) T1 M5 @: ~& G Y
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24] ( V5 F" Q+ O/ [
0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
0 r) a( z. c0 n9 C0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
4 b8 `# f* {) F j, n0132DC4F . 6A 01 push 1
0 v, G) s2 c L) S& i3 m" |! k* T- ?0132DC51 . 83C1 38 add ecx, 38
4 {) T, [/ S f5 B8 y% H& O0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> + P# O. `. F0 r3 g/ T
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] 2 ^9 c! f2 R& c- U
0132DC5C . 8B11 mov edx, dword ptr [ecx] * M2 J! X- T l0 q
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
$ V6 v) S' Q$ S3 T T5 X0132DC61 . 6A 00 push 0 d( }! \3 f- ~
0132DC63 . FFD0 call eax ( Q+ i5 h X5 E# D9 E; A2 z) w2 }
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
e" n+ { R3 m3 @0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] ' l& }. {* X3 C A L
0132DC6C . 33C0 xor eax, eax
3 f; J+ x7 d- y! O( T6 }0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
( c, j, ^; \( |& T! a; S0132DC75 . 5D pop ebp 6 b, R) N) W, ]
0132DC76 . 0F9CC0 setl al
# b8 h5 Y2 v) ~ B) b' O* \7 q0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] 4 u/ r, B% r$ a( |' v8 t
0132DC80 . 5F pop edi 4 z. A) x, a% P* o
0132DC81 . 5E pop esi
8 @! N1 b' C1 J' Q0132DC82 . 5B pop ebx , `2 a: T0 Y9 m
0132DC83 . 33CC xor ecx, esp ( Z6 T" W: X: R: }' Q% o' l$ ]
0132DC85 . E8 E2460500 call 0138236C " q' z7 K8 a! I* z
0132DC8A . 81C4 98040000 add esp, 498 3 n$ q% q7 `: k+ h8 a4 M
0132DC90 . C2 2800 retn 28 |