发现了一个和字库有关的函数,研究中。
4 _8 ]# M( d" F) R
* E' Z7 ` o; }0132D7E0 $ 81EC 98040000 sub esp, 498
6 c9 t4 |( V2 b/ ?. @5 x& U8 ]; I. H0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
L0 M; @; J6 y9 K) t0132D7EB . 33C4 xor eax, esp , y. H- l& \: w2 n# q& y/ }4 Y
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
! }' r* B, U! o( C0 F0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0]
8 n' T' D" N; S+ T" j0132D7FB . 53 push ebx / S+ X! o# ]0 s+ q6 c. A
0132D7FC . 56 push esi " ?! s0 L1 a( J' ^2 y
0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] * U" q- E: k0 b# o+ P
0132D804 . 57 push edi + Y3 u# E! h1 C( {' [" y1 X
0132D805 . 6A 30 push 30 ; /n = 30 (48.)
! m7 e _0 e5 G* u+ [1 X0132D807 . 8BF9 mov edi, ecx ; |
3 e9 r0 k$ H; M1 a0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
6 U+ B5 @6 g2 z2 V0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | 4 I; c3 }# e4 p o5 ~
0132D814 . 6A 00 push 0 ; |c = 00 # Z9 O; p8 @8 T- H4 t# S8 J7 h1 a
0132D816 . 52 push edx ; |s + L( f& i& @" j, [) L' E/ d& m5 m
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | & z1 j, o4 u+ P- F" m
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
, \. g D2 M1 U6 Z! X6 t- R5 w0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
6 n! ]+ `4 u0 ?0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset 7 M( b; A" ~4 x k1 ~
0132D82C . 83C4 0C add esp, 0C . U; Q0 d9 q+ ~+ F0 S" `
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 # Q( B: Z8 G ]& a, R5 {/ W1 Z6 R# Q- K
0132D837 . 74 12 je short 0132D84B ) Z% m8 F+ ^/ B+ l% @2 n
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
1 J7 C% l% @( ^9 t: D0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ( I; i& G% g( V- t* H; q- B" _
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
' h4 p$ }; h5 \3 k/ i1 C0132D849 . EB 32 jmp short 0132D87D
8 t6 j5 d# f! M0 K! _9 o, n0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 * D! q+ Z/ Y. O; c! h
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
+ {! L# @& w9 I9 B0132D855 . 33C0 xor eax, eax 2 ~7 h( o; u7 i k
0132D857 . EB 07 jmp short 0132D860
" ^' Q) ^' N+ Z2 u; p0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
_6 r' z; ?- H1 C) ]0132D860 > 8D50 20 lea edx, dword ptr [eax+20] + c& G9 y! X1 C) V; b5 q% b3 ^
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx 2 a+ G M' s) q# @( ?6 r$ l" W
0132D86B . 83C0 01 add eax, 1
3 K U; l7 Y8 R- J. V0132D86E . 3BC1 cmp eax, ecx
: Q7 }% F& W* B V E0 ^# @4 e0132D870 .^ 7C EE jl short 0132D860 8 \; C1 g0 }& w4 B* D5 V2 s
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 2 ` t+ B3 `3 d9 k) r
0132D879 . 894424 0C mov dword ptr [esp+C], eax ; |& X3 N+ T2 o" E& b* W: m) {
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] ; Q8 m. `& s" e0 c$ ?6 m8 s H
0132D880 . 85C0 test eax, eax
) D! l3 g9 C3 G* a" s# v4 W0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
! A4 _0 y {0 ]1 n- R: d1 v) k0132D885 . 75 05 jnz short 0132D88C 0 w9 W3 L/ g" ]* l* R+ }1 T5 P
0132D887 . B8 16263901 mov eax, 01392616
. n0 I m4 o. L# P: u0132D88C > 6A 00 push 0
7 {3 K- W* o' ^* Q4 P0132D88E . 6A 00 push 0
+ F) j! j* Z# w& Y% x$ }: Z U0132D890 . 50 push eax 4 Y! E) v6 f3 w6 r& w4 p+ s
0132D891 . 6A 1F push 1F
( G4 P% o# S+ W. T3 L0132D893 . 8BCE mov ecx, esi
4 W: ` Q% `- y# C) K: E0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> ; t3 S2 [! K, q( Y% g* \
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] 3 j+ N" D- T" B& A* }
0132D8A1 . 6A 00 push 0 7 K$ |: ]$ Y$ _; r$ T& n
0132D8A3 . 6A 20 push 20
/ d. `4 S5 r8 `2 z! l Y0132D8A5 . 51 push ecx
+ Z6 a7 v P3 Q- ]: x" p0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
3 y. \( g+ k7 y; ?; V. n5 o0132D8AD . 8947 24 mov dword ptr [edi+24], eax
4 j: G6 I6 ~1 O7 |6 n0132D8B0 . 8B10 mov edx, dword ptr [eax] 2 u# B6 P/ n$ ?, V1 x: p; f
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] $ K7 C) m5 S4 q* j
0132D8B5 . 51 push ecx 9 v8 Y. y6 ~ S3 x2 B9 _( r, [
0132D8B6 . 8BC8 mov ecx, eax ! c8 w' T5 K2 b5 q
0132D8B8 . FFD2 call edx
6 c9 Z0 C9 y9 O3 K0132D8BA . 85C0 test eax, eax $ U6 T. x6 K5 ?
0132D8BC . 75 07 jnz short 0132D8C5 + C+ X% f9 M, g/ e. n
0132D8BE . 32C0 xor al, al ) b% E- {! X: _) p6 N5 P
0132D8C0 . E9 B4030000 jmp 0132DC79
4 S( o1 p1 C" x. G2 j8 O6 [) x6 t9 @0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] : s A2 c% V0 B( t% W! k4 H
0132D8C8 . 8B01 mov eax, dword ptr [ecx]
" L: W9 k, u, W8 o" D: M1 O0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
2 [5 D5 L* c. Z9 k0132D8D0 . 55 push ebp
) J& T+ H$ o6 E) v0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] 3 d; G3 L% b* T& o7 n/ F
0132D8D5 . 52 push edx & E/ n, B P9 s1 u( Y9 U
0132D8D6 . FFD0 call eax 3 A2 w( [; L u+ v6 ^) L7 d' _" _
0132D8D8 . 6A 00 push 0 ; /hDC = NULL
6 u, p4 |' n* e0 E) h/ C3 ]5 z0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 0 a$ V& U* t8 d9 G4 }9 W7 Y
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
( ?9 e, {, u9 w) _+ m8 W0132D8E4 . 51 push ecx 9 g" j$ q: K% S2 l; G# U8 A
0132D8E5 . 8BE8 mov ebp, eax 0 p1 f) V$ S1 J& k' T
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap - y6 d$ u" r6 g7 d/ T
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
7 S q- p% V0 ~$ e" }0132D8F3 . 83C4 04 add esp, 4
2 z# N; s* ~1 `" T/ f0132D8F6 . 50 push eax ; /hObject ) F+ v# D7 w" F+ W; \
0132D8F7 . 55 push ebp ; |hDC 7 I) U8 s" @, H6 ~+ R5 Y
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
- i, F! ]7 {: c% Y9 v& r0132D8FC . FFD6 call esi ; \SelectObject 3 L" p0 E6 o! r. O; b. `
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] ' \& L+ q) \7 ]/ G
0132D902 . 52 push edx
/ F8 l- |* K1 W# L1 Y0132D903 . 8BCB mov ecx, ebx
# _, k1 p# Q! K5 u" p0132D905 . 894424 40 mov dword ptr [esp+40], eax . @6 Z. @% Z- o5 [3 z
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= / \- t3 v1 r4 R# {! L
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] 0 Y! C0 N/ u7 L1 K4 w/ i
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
% Z" d9 u: H& d$ x: d0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY & c! e4 E# k+ Z. m4 @
0132D91A . 55 push ebp ; ||hDC
V4 K1 Z% [" q9 \0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
2 J8 D; R& P8 M8 d0 ?0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
' r4 h& K7 M7 S, S1 ~0132D924 . 50 push eax ; |Multiplier
6 e! I! I# A; S: n# a E* X0132D925 . 53 push ebx ; |Multiplicand ( z+ v! }8 N9 X, X, Z6 [3 E+ a
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
5 Q& j! [& q) d0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
" c. r7 `# @; T6 h% {& H! H0 ?0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
" I% q$ P q0 J2 O# f1 A& D0132D937 . 51 push ecx ; /FaceName & a+ k" v* Y( O! _, }
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | " h0 {1 A! Y a7 X" f' y V! y
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 2 ]. ^# x( W9 P6 k/ ]6 l3 @7 S9 ]
0132D941 . 52 push edx ; |Quality
3 T" a9 G6 J( j+ r+ d+ T- f0 `$ K0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
$ _. F! A# v A5 A7 v( E( R0 t0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS 4 [/ ~2 N, U" ]8 h4 v
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
2 ?, G% k% d, k) q- y* \0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
/ m. a1 `2 u6 P9 d7 R0132D94A . 8BD1 mov edx, ecx ; |
2 |& o b( I8 H" A j* u0132D94C . D1EA shr edx, 1 ; | ' _8 U8 x6 d) g" n6 _
0132D94E . 83E2 01 and edx, 1 ; |
0 [7 q- G5 y8 X; H$ W, l* v0132D951 . 52 push edx ; |Underline
% ~$ v' V% D' m% N$ W/ ^2 E# o0132D952 . 83E1 01 and ecx, 1 ; | - y8 t1 ^ U; M: D) H. f
0132D955 . 51 push ecx ; |Italic $ }6 A1 a$ i) C$ i" C
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | X& W; ^2 D; r/ ~
0132D95D . 51 push ecx ; |Weight
/ G9 F7 Z1 F+ e. _- ]# u, u0132D95E . 6A 00 push 0 ; |Orientation = 0 8 q" [4 |) O5 n% B. t2 U! J- J% e
0132D960 . 6A 00 push 0 ; |Escapement = 0
0 F/ H. ^, n" |' A1 p2 ]0132D962 . F7D8 neg eax ; | " I; q6 B- T3 r" Q1 {: `
0132D964 . 6A 00 push 0 ; |Width = 0 ' \. f; ^% @) i, `4 l9 E
0132D966 . 50 push eax ; |Height
0 N. p( w1 @$ x% | L3 r$ E" e0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA , N! h: m; D, F0 i
0132D96D . 50 push eax 8 E. U9 g3 t2 P" p* V- l
0132D96E . 55 push ebp - I: k# x0 _- e7 j4 c5 y9 F+ Z
0132D96F . 894424 38 mov dword ptr [esp+38], eax # F) Q% J5 ~6 v8 Q h, |8 z
0132D973 . FFD6 call esi
! o% V# V! v1 y8 v0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] 5 G! W$ \ v5 X- q- \: ~3 T% `
0132D979 . 52 push edx ; /pSize $ q2 n8 L, x% [" J! @3 W
0132D97A . 6A 01 push 1 ; |TextLen = 1
/ _$ t6 H& c( L% J+ C0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
. B! T& x# g4 q) O- n: B0132D981 . 55 push ebp ; |hDC ( t8 C, N& b& h
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
( H( M5 [8 @) E- _: {% T7 D! a/ @6 L0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 6 d8 L, V7 o) p6 i% V$ A% t1 Y
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] 1 p" s& B2 V! |7 {
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
0 k! w p. I: D0132D993 . 8947 18 mov dword ptr [edi+18], eax ( x: i, e; ~% j0 a* v3 `0 ] ]
0132D996 . 33C9 xor ecx, ecx ' s) L5 l. [1 g) [: {9 s: `' W/ \
0132D998 . 8BC6 mov eax, esi $ t" r R# {$ }$ h' W8 C
0132D99A . BA 20000000 mov edx, 20 , f& `; f2 d$ h; G3 G" z. }
0132D99F . F7E2 mul edx
6 f$ s) i) v" g+ v7 O4 B) S0132D9A1 . 0F90C1 seto cl
1 Q' } ^7 P3 G3 P; h( r0132D9A4 . F7D9 neg ecx 2 t4 |" a5 Z- H V/ v$ O6 Q
0132D9A6 . 0BC8 or ecx, eax 5 v* t* ]. L! | S
0132D9A8 . 51 push ecx 6 e s& h( s1 W( Y* H
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
2 G9 V3 D c2 c' t( g0132D9AE . 83C4 04 add esp, 4 2 ?- [8 l* t* \; S! ]1 T
0132D9B1 . 85C0 test eax, eax
/ e/ j9 j8 G7 F o) D3 g* \0132D9B3 . 74 28 je short 0132D9DD
/ C# a. q! F) B# c" B0132D9B5 . 83C6 FF add esi, -1
9 G4 k( ~8 r+ _4 L0132D9B8 . 78 25 js short 0132D9DF
1 j- H9 ^5 m! T4 u1 X0132D9BA . D9EE fldz
Q/ [' P( {. y+ K2 n4 u0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
& `, b! s9 [' B* l3 F% l: B5 D" y0132D9BF > D951 FC fst dword ptr [ecx-4]
, s% {* \& S- u- W0 L" l* q0 ^' g0132D9C2 . 83C1 20 add ecx, 20 , V, b7 Q+ w/ j% p
0132D9C5 . 83EE 01 sub esi, 1 6 p0 J! n- N6 Q2 Y, c# [( V% }
0132D9C8 . D951 E0 fst dword ptr [ecx-20] 9 J( x$ k1 L; U. X9 F
0132D9CB . D951 D4 fst dword ptr [ecx-2C] 7 e- J+ j' r2 a6 m
0132D9CE . D951 D8 fst dword ptr [ecx-28] 5 s8 P" \2 C' u# T8 K6 q- I
0132D9D1 . D951 DC fst dword ptr [ecx-24] ) y( W# ^, `- i* Y- n
0132D9D4 . D951 E0 fst dword ptr [ecx-20] $ c2 t* ?4 D$ C4 `5 N
0132D9D7 .^ 79 E6 jns short 0132D9BF 0 b! p+ O' f4 ?! X
0132D9D9 . DDD8 fstp st
5 S# n# E3 g; j4 Q0132D9DB . EB 02 jmp short 0132D9DF 6 ~/ g0 @0 y) I' d# y, v/ a5 K
0132D9DD > 33C0 xor eax, eax
; T) h3 L7 E1 g. H/ @1 M0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
8 y$ ?8 y! c3 A( t- P! c0132D9E6 . 8947 20 mov dword ptr [edi+20], eax $ J- }: L$ X$ t3 x+ U
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] 1 n: l a5 F/ v
0132D9F0 . 50 push eax ; /Bottom
, d1 p1 }4 J$ f' S, ]* W$ M0132D9F1 . 51 push ecx ; |Right
, N h0 N2 C7 f, l& N, x1 c _0132D9F2 . 6A 00 push 0 ; |Top = 0 7 `4 W. _. f* g; D; g) N0 ]
0132D9F4 . 6A 00 push 0 ; |Left = 0
; Z2 [/ ^+ J; v0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | ( t- i3 p7 V% `* r* r
0132D9FA . 52 push edx ; |pRect 1 ^; ]1 Y8 X, M5 i$ g
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
% i9 G0 v' k7 d6 c U: z0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
: X! ~( ~( H6 a4 ~7 ?0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject / w# s9 Z0 R( L8 R& ~ m* z
0132DA09 . 50 push eax ; /hBrush
; `1 I B0 p3 F4 P7 g' b0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | 6 U, T( g6 f; ?4 N1 J
0132DA0E . 50 push eax ; |pRect
% v" c0 o! P+ l# U9 f0132DA0F . 55 push ebp ; |hDC
5 O' M2 t. M1 c9 m+ W" b8 J- B. Z/ j0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
( J# u! U- M( w y( p( @/ a0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
2 m- x- w7 C! ]4 k6 O) V6 k+ d3 W2 c0132DA18 . 55 push ebp ; |hDC " {) h4 C6 V7 k3 v7 A
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
5 o' C3 P- I0 p+ G& j0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
6 {/ V7 L) o$ e9 d" N0132DA24 . 55 push ebp ; |hDC / l$ C( y- Y7 ]" m: x9 |/ b8 q
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 4 }* c/ m: e3 S' v; f& B/ @
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
( r6 J( m+ [/ |0132DA2D . 55 push ebp ; |hDC
+ g7 I- H* p P0 Q0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
" A' r: H$ N. O( c H" a3 ^2 Q0132DA34 . 33F6 xor esi, esi
4 F, V. w- J U/ E0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi " S8 }, |4 j6 n: ?) H( ^- I7 U5 a
0132DA39 . BB 01000000 mov ebx, 1
2 J3 J4 r1 l9 V6 S) d! N* \- W0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
# m, n; r% A/ _' l0132DA42 . 897424 14 mov dword ptr [esp+14], esi
0 C; x7 c4 t$ [0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
8 j; G, G3 c! e( V3 `( q+ K: Z0132DA4A . 0F8E 20010000 jle 0132DB70 ' y) z( n% I4 i0 s7 a
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] ( g& ~. J1 q, e. e8 d9 }3 N
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] ( v7 @6 J) Y% b( S0 u7 r8 a
0132DA5B . 897424 20 mov dword ptr [esp+20], esi
2 A# f* f) N1 p: [! D0 T7 l0132DA5F . 894424 10 mov dword ptr [esp+10], eax
( z1 Z1 X2 U: V( |0132DA63 . D95C24 38 fstp dword ptr [esp+38]
+ j2 t7 C- X" A$ G/ w7 d1 K0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
) H0 |2 Y. _# E' j5 H+ a d0132DA6E . D95C24 2C fstp dword ptr [esp+2C] G! a! A( ?3 E; l
0132DA72 . EB 04 jmp short 0132DA78
2 L( n" T2 E+ F# F; b0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] ; G* R! L7 {/ H. x3 w8 {4 s4 i |6 P
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] # m% \7 o7 s& W4 k1 d
0132DA7B . 66:8B08 mov cx, word ptr [eax]
; w8 t0 t$ x$ T! s6 ~: D& y0132DA7E . 037424 20 add esi, dword ptr [esp+20]
3 K& R% L6 Z* I- S/ [- f' R0132DA82 . 66:894E 10 mov word ptr [esi+10], cx 3 C! s# j! x, Q+ Y" R* n; w
0132DA86 . 0FB700 movzx eax, word ptr [eax] ' A3 [, d1 Q: \% O
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
: x; n1 R& o! k' Z# f0132DA8C . 51 push ecx ; /pABC
. s0 s! [% t3 q9 |0132DA8D . 50 push eax ; |LastChar
9 E5 L6 U- D I0132DA8E . 50 push eax ; |FirstChar + J$ L1 q' H. e. ]
0132DA8F . 55 push ebp ; |hDC
, h- z9 H! X: P# |! t: A0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
. r% c3 x1 c( A/ S" W0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] / Q u0 i. y, J8 o- V
0132DA9A . 66:833A 20 cmp word ptr [edx], 20 7 v) ^% ]( o3 b% z* ]
0132DA9E . 73 10 jnb short 0132DAB0 8 L3 P5 ~& ^( g: n. c1 f: `' Q8 e. x
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 : c$ y- N B, E6 I7 x
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
" y( T" T N) u! I& N6 l$ q! b( l' r0132DAAE . EB 0C jmp short 0132DABC + X* W1 [5 P, V- n
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
, U. Y/ n6 U' c8 E: d) Z( i0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
' h( n, }& w4 Q' a4 g# e0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
+ M7 b- G% [. @1 @0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] * H- F0 n4 W3 I V- W* Y6 s3 }: L
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
$ \. N- x: b/ B0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8]
2 C* `4 w9 V) Z% k4 u2 g; U0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] . }! I1 Z$ j+ G
0132DACE . 72 14 jb short 0132DAE4 * p& j" z) L" @
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
1 W" |3 z' l1 n8 p/ z0132DAD3 . BB 01000000 mov ebx, 1
, r, s! T5 N1 `& p# u0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
1 C: T7 o1 N2 x' f: r; F* c0132DADC . 895C24 18 mov dword ptr [esp+18], ebx ) X9 q. D3 [( [- [& S9 P
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax : E* I9 O/ Q! k. K' l9 f, f. }
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
9 [/ x4 y" ?8 z. d G o( j5 q3 k0132DAE8 . 03CB add ecx, ebx
U7 n* X3 P/ n. g( H. ~0132DAEA . 85C9 test ecx, ecx
7 \ L N3 T- _, [( f' |0132DAEC . D94424 38 fld dword ptr [esp+38]
5 }) N; I L& a O0132DAF0 . D9C0 fld st
- _0 ?3 M. _* s) o- _3 j% ^0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx ! v8 Y% o ?: V1 B5 l1 z& B3 D3 k4 L$ j
0132DAF6 . DEFA fdivp st(2), st
1 t6 @) N f7 y+ \& A# u0132DAF8 . D9C9 fxch st(1) 1 P1 ?/ X6 b0 y% a8 J/ t+ q9 c
0132DAFA . D91E fstp dword ptr [esi]
, U3 k7 V* b; g1 v' s! ^+ h! v1 B0132DAFC . DB4424 14 fild dword ptr [esp+14] " X' F' C8 C: o" ]+ R; w
0132DB00 . D94424 2C fld dword ptr [esp+2C] & z+ Q. @! E" G6 a
0132DB04 . D9C0 fld st
+ P# |8 w7 y3 g; o" R, z0132DB06 . DEFA fdivp st(2), st
* X2 c5 y) e' i2 ~2 ~% R0132DB08 . D9C9 fxch st(1)
" J- c5 A: p; t/ w# g) ^0132DB0A . D95E 04 fstp dword ptr [esi+4]
, a$ X& \* p) j6 q0132DB0D . DB4424 18 fild dword ptr [esp+18]
: w+ x* U r7 N! V( M. B5 L0132DB11 . 7D 06 jge short 0132DB19
9 V1 k' V2 x. M7 M' Q0132DB13 . D805 50B03801 fadd dword ptr [138B050]
* q% i. ?! ^# W; P" `! o0132DB19 > DEF2 fdivrp st(2), st
# l( t' G+ r% r( }) V! g0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
3 {' K! j3 q4 N' ?6 M* T; U0132DB1F . 6A 01 push 1 ; /StringSize = 1 2 z: t' l& [: p" g+ r( }
0132DB21 . 52 push edx ; |String : D5 T0 p3 m- i0 E" H/ s" U
0132DB22 . 50 push eax ; |YStart 8 u5 {* ^# V4 w
0132DB23 . D9C9 fxch st(1) ; |
8 O+ [3 ]6 v3 `6 {; P0132DB25 . D95E 08 fstp dword ptr [esi+8] ; | : Q1 f8 T% E# l' G9 M
0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | * p, k, V U) x7 ?/ K
0132DB2B . 03C8 add ecx, eax ; |
_ L% ~) _/ J& `% [0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | $ ]6 Z7 R% w0 O$ H
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; |
3 w' p6 d/ m& A4 m, \3 R0132DB35 . 8BC3 mov eax, ebx ; |
: H, ~" I- x; J; C0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | - \8 h! R5 c. B# {
0132DB3A . 50 push eax ; |XStart
# P7 E4 i- U; G$ r. j/ O0132DB3B . 55 push ebp ; |hDC - {% E( g: {4 j
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
2 s$ k1 u5 `2 b0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
1 @/ }, c4 r3 b+ U0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
7 Z% S) k& ?9 ]# g5 i- H- J0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
, @2 h. a/ v' b8 m4 L1 P/ X( L1 ?" M0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
8 j- d- {% G9 d' K6 s8 Q0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 ! Z; W: a6 G2 C( c% v/ T6 e
0132DB56 . 83C0 01 add eax, 1 6 C' n, q% ]5 x! i# `, p: R6 d
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] " Y/ V2 O: U/ s3 ~! _
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
# c6 V! W. f, G3 ^, ~! X$ o# J! z# B0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
# I0 A2 X0 E d" g* |0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
7 y; F4 H* e- @) Y0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 4 e* W; {: z/ K P; q- B& H# d8 [
0132DB6E . 33F6 xor esi, esi
- W4 E! U& v4 T% j" s) z) v/ T0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
% L/ n* X* F+ o, f. q0132DB73 . 6A FF push -1 ! M1 X0 J3 g9 c# @8 N2 W
0132DB75 . 83C1 38 add ecx, 38 # D$ C* p3 }# K" z; u5 Z% n" j
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf>
, [* P! B: Z. h( h1 @0132DB7D . 8BD8 mov ebx, eax 8 u$ O# S' o5 z8 E
0132DB7F . 3BDE cmp ebx, esi
7 ?/ @+ ~+ x% D$ M8 d* S2 p+ o" c0132DB81 . 74 74 je short 0132DBF7 1 t$ K) o6 V% |6 A4 a
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] . d+ q' i1 U4 G- a! W# M" R- l
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
* ? ?. R2 w! O6 `9 h7 L0132DB8B . 52 push edx ; /Buffer
" Z0 k: c* o' {0 w* Z0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) ! p$ ]0 g' K+ y2 Y& u7 h
0132DB8E . 50 push eax ; |hObject
1 V$ P5 N8 K4 r9 A0 ?0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
+ B+ _! z b1 Z# e/ `! L; g0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] 2 j$ R6 d! T+ w: R a% Y
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
3 A) H1 p: s, O+ P" D) U7 U0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
% {. v4 a+ q5 H7 \: u; \/ p0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
. `# Z8 s, }4 N! V0132DBA5 . 85C9 test ecx, ecx
; G( p2 N! u1 m1 H- x3 w; [0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 6 Y4 n8 ]3 Q7 T& p1 j; J( t' F
0132DBAF . 7E 46 jle short 0132DBF7
9 P7 S) W) J1 {/ u1 i) M/ w0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] + P4 n* g- \1 I, R- l4 P
0132DBB5 > 33C0 xor eax, eax
+ H, f3 Y; o) G# y7 u; T$ o8 R0132DBB7 . 85D2 test edx, edx / V* o$ K5 L: V' e) U
0132DBB9 . 7E 26 jle short 0132DBE1 . @' R; F6 M3 Y% O! i0 q
0132DBBB . 8BCE mov ecx, esi ) v3 a& G4 G! C3 f7 \4 p- p4 a8 B4 @
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] " ^4 @; V8 n; e- n* v; }) i" `
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
% v5 Q# o$ T3 r/ V( G0132DBC3 . C1E2 18 shl edx, 18 ' J- L: `+ V% H4 W) r
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF 7 P3 g, v4 d2 |- T9 O6 D
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx N) a r; [- s! k+ _/ V
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
. K2 Z0 W/ G0 N4 X% J0132DBD3 . 83C0 01 add eax, 1 " s/ n# w1 N2 A/ B# f
0132DBD6 . 83C1 03 add ecx, 3 6 F: Z0 U4 s4 P3 r. g: K) |. w7 M
0132DBD9 . 3BC2 cmp eax, edx 6 E% j6 S/ v7 J x
0132DBDB .^ 7C E3 jl short 0132DBC0 ! g' o; ~4 H4 H6 {5 U
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] 1 @' p# @/ N: K4 c- u; i
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
4 m" v& E d7 [) z0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] , V+ }+ h N4 ]+ s8 Z1 r
0132DBE9 . 83C0 01 add eax, 1 . F4 k4 L$ H6 }0 B
0132DBEC . 3BC1 cmp eax, ecx
& Z, t. Z2 x# a5 d& g+ ~6 ~8 ~0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] 5 i& A* U8 B& I* A7 |. V
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
8 D8 Z' O$ ]5 Q2 K C0132DBF5 .^ 7C BE jl short 0132DBB5 , J$ {& E7 }8 h6 C
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
" c: \: `8 U+ ^6 ?5 o" D2 n0132DBFA . 6A FF push -1
5 I) h6 r9 `9 d; [8 i' p# H; g# D0132DBFC . 83C1 38 add ecx, 38
4 k: y3 g* u( `. E6 I: T, g0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> , O. ]' i% h, l: H2 m
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
g# A/ V9 P$ z' M( S' @, L0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
7 k2 E. v4 f/ h+ Z& o8 @4 E0 R8 f0132DC0E . 50 push eax ; /hObject
9 l8 ~' A% `+ D+ O5 F) _7 ~: _. J/ J0132DC0F . 55 push ebp ; |hDC
$ o( ?' O, u) j3 g0 s8 ~* |4 D$ I0132DC10 . FFD6 call esi ; \SelectObject 2 n6 x# g' ^' Q9 D
0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30]
1 l1 ]2 ~' i, k8 d) q2 r0 i- p0132DC16 . 51 push ecx
% O7 u D. s, J- [! j0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont 6 L1 d6 V+ s% F- q* G
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] ( u5 S3 E7 ^4 G$ ]5 H
0132DC21 . 83C4 04 add esp, 4 & N, h+ b) p; K Y" W
0132DC24 . 52 push edx
7 G# ^" M8 H$ l0132DC25 . 55 push ebp
5 X7 H K& x8 s0 I1 I3 ?0132DC26 . FFD6 call esi
8 y. @1 ^7 w! J! B6 k8 I0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] 7 d& k @4 s! _
0132DC2C . 50 push eax
4 R1 B* f0 ^( ?- S7 A0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
/ | C, F! P+ z& ]7 A4 k0132DC33 . 83C4 04 add esp, 4 5 k+ K3 P m0 f5 R3 i/ f5 @( H3 Q5 ]- L
0132DC36 . 55 push ebp ; /hDC
- `% X: Z- l1 B. S+ J6 g) O0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
) r3 A; X4 A6 g& q Z9 [0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28] # i$ s- ]# W% r- \# o2 f" j% W
0132DC41 . 6A 00 push 0 / K. \3 S4 i- N ]1 Q) i+ A
0132DC43 . 51 push ecx
6 {* E, I1 `9 R3 g# G, R! t# U0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
& z% U( O! j: k. o3 B0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> Y) E8 @ W6 t' E, O* Y
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] " @/ z% Z7 ^5 g! S: H( c
0132DC4F . 6A 01 push 1
+ z9 u; F( G, e! _9 |0132DC51 . 83C1 38 add ecx, 38 ( D" W2 g: j3 a! F. v2 X
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
# @' F% _, U% i( t- e s0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
. w- t/ m* K5 l& w7 ?# m0132DC5C . 8B11 mov edx, dword ptr [ecx] # H5 J' P* V8 x
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
- U5 I; s7 `' F! ?0132DC61 . 6A 00 push 0
& F- i1 X2 y: I0 H/ ^7 Q0132DC63 . FFD0 call eax
0 [" f& [3 g7 r0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
6 l4 J3 ^# `$ T3 ~0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
: f, ]8 e5 P/ g" ~3 h: E3 w! I0132DC6C . 33C0 xor eax, eax
! m! W. e+ @$ S) i& V( R' O R0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
$ Z8 Z( n6 s! d& | a0132DC75 . 5D pop ebp 5 E5 U j9 [6 t( s& J, F1 T6 ?
0132DC76 . 0F9CC0 setl al
5 y# d) Z0 ^8 @' N" d0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] 6 [; I X Y2 ~7 p
0132DC80 . 5F pop edi
! h0 l$ p' f( Q0132DC81 . 5E pop esi
: z' s# V: N0 m/ B f0132DC82 . 5B pop ebx & H. b' k: i5 p
0132DC83 . 33CC xor ecx, esp
" i$ k9 u- t ~" S! _0132DC85 . E8 E2460500 call 0138236C % t5 Q1 v: }' H5 l r; u
0132DC8A . 81C4 98040000 add esp, 498 / T5 Q. d" J X( U0 b( D( X: n* A4 Z
0132DC90 . C2 2800 retn 28 |