发现了一个和字库有关的函数,研究中。 ( t8 b# P) E0 I. p7 R# [
" K6 d! J. u/ \9 P/ @0132D7E0 $ 81EC 98040000 sub esp, 498
$ R4 n% O- h1 A* F& t) Z( f# q0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] . J- U3 U* C" r
0132D7EB . 33C4 xor eax, esp
( g) s& x* D% ~7 w" A: q0132D7ED . 898424 940400>mov dword ptr [esp+494], eax 9 D( k9 n. u0 X* u+ i1 r4 Z
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0]
$ L( a8 k) |- Z0 T0132D7FB . 53 push ebx - a- e+ I C" i( Y
0132D7FC . 56 push esi 9 G8 c! y9 r' D1 o6 t/ z0 W& ~) I
0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] 9 o" d( Y! t# K" Q' T" S6 _
0132D804 . 57 push edi
/ K& M& R+ S8 O. [0132D805 . 6A 30 push 30 ; /n = 30 (48.) ( H: R& M! ^! e5 z
0132D807 . 8BF9 mov edi, ecx ; | 5 N" H. `' Y2 Z3 _
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | 6 k: Z- S n& s6 Y7 d* X
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | ' n1 N) F4 w2 W. J
0132D814 . 6A 00 push 0 ; |c = 00 " F( n- c- ]: ^ C' c
0132D816 . 52 push edx ; |s
! r3 m1 \$ Y0 k5 @/ S1 |! w0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | 5 C9 X5 ~2 M2 ^* X, q; @& G
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | & d3 D0 d1 m! r! q7 d9 I
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
: O) `0 C2 ]3 J8 J5 y0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset - E" V+ ~: G* N; Z2 R2 [
0132D82C . 83C4 0C add esp, 0C
% S) F! \$ S: \5 r1 V1 R0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 $ k% s' a. |* y9 y3 V& `! Y
0132D837 . 74 12 je short 0132D84B
( p/ ]7 S& l, r( V0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] ! {+ V* _6 t2 d* H4 O
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" n3 y( R6 x/ c u# k W9 [1 g7 F
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
7 W8 i( @& z0 t. [# F D, G0132D849 . EB 32 jmp short 0132D87D
( f: J9 S7 |& i6 v9 P& M: U% R X7 F0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 4 T+ [( m! C4 d, K! z
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] ( V4 ~9 B8 O$ O5 `2 a ^' @
0132D855 . 33C0 xor eax, eax . {) J2 P/ g. y+ [
0132D857 . EB 07 jmp short 0132D860
& l6 n0 e. t+ u7 @0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
3 q M7 `" w0 ^0132D860 > 8D50 20 lea edx, dword ptr [eax+20] $ P+ I. ~ E& V# N8 Z2 v
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
. W/ b3 n- h& S$ l% |! Q$ a0132D86B . 83C0 01 add eax, 1 2 Z- A: Z( u4 `3 Y- s8 t& y6 X
0132D86E . 3BC1 cmp eax, ecx 8 N2 K0 b: X+ i) q
0132D870 .^ 7C EE jl short 0132D860
: V' N; w# {& F- [" w7 `0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 1 Q. {8 E8 ~# m
0132D879 . 894424 0C mov dword ptr [esp+C], eax
4 {4 Q) @ p Q! _" T: @8 ~# i0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
7 F/ {1 j1 K5 M- q! N8 c0132D880 . 85C0 test eax, eax
- _8 E( l |6 E, `$ y; i" h0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
- V2 E0 e3 V$ J. p0132D885 . 75 05 jnz short 0132D88C . w! N/ Y# T" i/ t) }, g
0132D887 . B8 16263901 mov eax, 01392616
( E0 B* x: {& j1 e, | u0132D88C > 6A 00 push 0
# S$ T c6 @* d- T) E% [0132D88E . 6A 00 push 0 3 c9 C$ M5 t) F1 @
0132D890 . 50 push eax ! U" V! @ E! \, l: d
0132D891 . 6A 1F push 1F
7 |8 x$ K& {: U7 h0132D893 . 8BCE mov ecx, esi
3 N! |! Q/ i1 M4 A& A0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> 3 D( B( t9 r7 X9 \. D
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
6 P+ C5 g& k- @, M5 g! X7 f0132D8A1 . 6A 00 push 0 - E% a' Z& i W, [( t" Q! X
0132D8A3 . 6A 20 push 20
. H# l' u+ w, S4 b8 }9 C& ]* y! B8 r0132D8A5 . 51 push ecx ' M$ u" Z4 h2 u" Z' ?
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] 1 k7 F! v/ x/ F9 H! S" C' d
0132D8AD . 8947 24 mov dword ptr [edi+24], eax % N4 H$ p( X" ~9 @# ^5 t
0132D8B0 . 8B10 mov edx, dword ptr [eax] 9 O/ B' C; D- ~' B b6 v, v8 {) C
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
6 H9 D [9 ?* T0132D8B5 . 51 push ecx ; }7 s! d9 Y* K7 l! D
0132D8B6 . 8BC8 mov ecx, eax % k; S$ w3 L: c( t, ], r/ S* h
0132D8B8 . FFD2 call edx
R4 A, }6 F( l0132D8BA . 85C0 test eax, eax
& Z: E5 u& u) R* z5 [8 A0 E( Q2 d0132D8BC . 75 07 jnz short 0132D8C5
* \+ X) J+ A) O& H Z0132D8BE . 32C0 xor al, al / S- T2 x7 ?) ^+ X
0132D8C0 . E9 B4030000 jmp 0132DC79
$ a" Y: r1 t6 i' m3 p |# {0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
. z+ ?( x: `+ j0132D8C8 . 8B01 mov eax, dword ptr [ecx] 4 D. |5 P d: T' Z
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] : w) E1 Z5 U$ c' w
0132D8D0 . 55 push ebp 7 M6 j" D- X% Q: \9 n
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] $ Q7 O2 Q, s5 c* z' z; b
0132D8D5 . 52 push edx
7 s5 o' P# H! \! ` T0132D8D6 . FFD0 call eax
# \! s( k/ V( B8 z0 K( D0132D8D8 . 6A 00 push 0 ; /hDC = NULL
+ n! x/ T$ A# H9 M7 [+ R. c' m2 {0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
; W5 Y$ ~% T |+ U3 P0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] - P8 j* K4 \, h
0132D8E4 . 51 push ecx
7 r6 L6 `. ~( i, ~# @* r0132D8E5 . 8BE8 mov ebp, eax 4 D Q3 ^/ |# m/ I" ~0 V
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap 5 q7 d K( x' I
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject , g9 _: v! y/ D! p; G
0132D8F3 . 83C4 04 add esp, 4
4 E* \7 W U/ f. n0132D8F6 . 50 push eax ; /hObject
( u( @; I9 s, r( ~ o# N4 U0132D8F7 . 55 push ebp ; |hDC 5 a9 n) g( u: c; H0 R. t, G
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
& z& L6 B& f, n5 k$ b0132D8FC . FFD6 call esi ; \SelectObject " Y$ {% P3 X8 n+ e% t) Q* E3 J8 w& m
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
9 D O3 O0 l& D0132D902 . 52 push edx
& o7 z% M/ }; J0132D903 . 8BCB mov ecx, ebx
J! y; `! m. ^. t9 i, s9 L$ Y. t0132D905 . 894424 40 mov dword ptr [esp+40], eax
9 G8 n( @' }. r B( h4 a; @1 v0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= 4 t4 n: L, s& J. V/ g
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
0 M$ | }) u4 G- i4 ?- u/ f; B0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
, x# ]' }! C; ]) p. j( F& K0 S# c3 ?0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY : H" c( E# V$ ]1 _7 c
0132D91A . 55 push ebp ; ||hDC 9 p) y+ @( ]) g, \0 R
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
4 j$ f7 Q/ `4 e* v& C0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
" o0 C5 t" h; L, |. Q0132D924 . 50 push eax ; |Multiplier
$ w2 f l5 A' F8 t) u0132D925 . 53 push ebx ; |Multiplicand % n' {! Q; u) k* D
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
) ~: H( t: i7 Q% z0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] 0 b4 Y0 u' X/ `( C5 n
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
: @/ G! M! Q5 @) o% T" P. E" c0132D937 . 51 push ecx ; /FaceName 6 t3 x4 i9 M; ]5 Q5 C' E* y3 z* T
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | 1 Q" L- S; P( M( o7 @
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 2 l$ x0 @/ W g6 ?; I& Q# `$ A
0132D941 . 52 push edx ; |Quality
: j+ S7 o/ X( R. X0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS 4 U0 t& S" R& F+ x3 }4 Y- Q
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS ! K7 C8 g, [9 t' w& h
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
2 l; ?+ R) S$ Q% v) i4 P0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE 3 h3 K+ L1 T) s1 U5 z7 a/ h8 i
0132D94A . 8BD1 mov edx, ecx ; |
7 s) p3 ^" L6 G% K- e& y3 D0132D94C . D1EA shr edx, 1 ; | + n* V8 Y' _5 m7 d# o; G9 Z
0132D94E . 83E2 01 and edx, 1 ; | . J" j. W/ j# Y, Y& `) d% I
0132D951 . 52 push edx ; |Underline
! @; w! p% u. ?0132D952 . 83E1 01 and ecx, 1 ; | & |, Z6 p. z& n: h9 M. a2 e
0132D955 . 51 push ecx ; |Italic
% c% x" f7 Y# x0 e8 w" q: c5 c( p0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
: V) Y0 x# \! c0132D95D . 51 push ecx ; |Weight
0 J3 L0 K% ~; z- i, x0132D95E . 6A 00 push 0 ; |Orientation = 0
" V8 s9 d4 b6 Q6 o0 z0 g% D0132D960 . 6A 00 push 0 ; |Escapement = 0
- R3 k: c7 z* s$ S$ H0132D962 . F7D8 neg eax ; |
4 M7 N% U% }: M0132D964 . 6A 00 push 0 ; |Width = 0
* |# R7 Q$ I0 i+ U' \, k1 N" J8 [4 R0132D966 . 50 push eax ; |Height 6 }) M' `+ ?! N4 C3 h; Y
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA 5 H) v* x ?8 {7 }
0132D96D . 50 push eax
# |( t P0 e# g8 F, H8 m0 M3 s0132D96E . 55 push ebp : @/ w) Z# h, R2 _
0132D96F . 894424 38 mov dword ptr [esp+38], eax
$ H+ C. Y' _- }9 V d0132D973 . FFD6 call esi
! E x2 y' K3 i; ~ E t3 K0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] 7 M! T* W$ W7 s0 p
0132D979 . 52 push edx ; /pSize
( Q5 r+ ]3 y3 Z* l0132D97A . 6A 01 push 1 ; |TextLen = 1 . \5 J% G& g5 A9 I7 ?
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
) r' x8 {/ \* m+ o) z1 ?% v0132D981 . 55 push ebp ; |hDC
- V5 |) x" [$ y# s# b3 q6 p* a4 S) b0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | 2 \4 X& \8 Y; V. B
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 5 `) m* L, F4 Q+ K
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
0 F8 L2 o: \8 V8 v* w) G( ~0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] - r! ]* G1 a: W' `- T
0132D993 . 8947 18 mov dword ptr [edi+18], eax 1 E7 V! s' G& C! z' A5 J& l1 e2 {
0132D996 . 33C9 xor ecx, ecx ( N6 b2 [, Y; Y c' e3 p0 @
0132D998 . 8BC6 mov eax, esi " l7 h& H" e% @4 z: v% f! Y" q
0132D99A . BA 20000000 mov edx, 20
6 ^" l$ o# j0 H* y0 ~: b0132D99F . F7E2 mul edx
; P' H9 I1 D; p- c0132D9A1 . 0F90C1 seto cl ; n9 G- S i) `* J0 X
0132D9A4 . F7D9 neg ecx 9 K1 H( w4 }1 Q: p7 h0 D
0132D9A6 . 0BC8 or ecx, eax & [8 L2 O# L1 W# E7 D
0132D9A8 . 51 push ecx & Z$ C; B4 X+ w" r; k7 L
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
6 {* D$ \& h" I8 p0132D9AE . 83C4 04 add esp, 4 * l# L( q0 y6 {/ j
0132D9B1 . 85C0 test eax, eax 3 v6 h: t* @# g+ f4 w2 ]8 T# |
0132D9B3 . 74 28 je short 0132D9DD ! Y% Q& o: g/ P" F& ~* E
0132D9B5 . 83C6 FF add esi, -1
3 n- I1 n0 c a6 U2 C ?) o0132D9B8 . 78 25 js short 0132D9DF $ ?- u8 W* ]2 J" s5 Y$ T$ m" c
0132D9BA . D9EE fldz 0 e3 z* w( w* {( z& G) L8 i
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 1 [9 n" K. y5 n. }
0132D9BF > D951 FC fst dword ptr [ecx-4] 9 m) C" u: Y* b+ R
0132D9C2 . 83C1 20 add ecx, 20
# r; i- t7 Z+ Y" q" D4 E0132D9C5 . 83EE 01 sub esi, 1
: e! z9 f! R) N7 o4 X0132D9C8 . D951 E0 fst dword ptr [ecx-20] % R$ [+ U9 c* t) \0 x: j) ]- t
0132D9CB . D951 D4 fst dword ptr [ecx-2C] ! G* L# i1 {, d& t! y
0132D9CE . D951 D8 fst dword ptr [ecx-28]
! N l( _0 O* _0132D9D1 . D951 DC fst dword ptr [ecx-24] 6 ?/ G* X- f3 V) N' ?7 Q* u& }
0132D9D4 . D951 E0 fst dword ptr [ecx-20]
4 E" s1 U3 f' R1 o0132D9D7 .^ 79 E6 jns short 0132D9BF
, ?/ a( X4 N @) y" \" I: r0132D9D9 . DDD8 fstp st Z" ]2 @( D& \& w' r8 g* p/ k" v
0132D9DB . EB 02 jmp short 0132D9DF
7 I) @' E* v; H% x/ Y, h# G0132D9DD > 33C0 xor eax, eax 7 ?" q2 w7 F6 a9 k1 E. P) y
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
6 [8 c+ d, Q4 R& H1 M0132D9E6 . 8947 20 mov dword ptr [edi+20], eax ( ~# i, ^- R* v; W1 g$ e$ D
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] , M& A1 l. S* r& e3 I* U/ |$ G' k
0132D9F0 . 50 push eax ; /Bottom . f4 `* y) ~( E
0132D9F1 . 51 push ecx ; |Right
0 m; \" F3 I5 _7 I+ ]0132D9F2 . 6A 00 push 0 ; |Top = 0
+ k, L: j! n4 {+ t* ]. @0132D9F4 . 6A 00 push 0 ; |Left = 0
$ F' A9 T9 v: A* @! H O0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | 4 ?$ O. k$ J |5 S4 A/ Z5 I
0132D9FA . 52 push edx ; |pRect
% y6 B) t7 X3 A0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
: Y% y( A7 T8 z( b6 y0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
% t/ _6 x1 p$ b! w- w, A! p0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
, E0 g8 a3 L& h& s! k: i5 R) p0132DA09 . 50 push eax ; /hBrush
4 K$ I( l5 Y; z2 T& @: B" g0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
! ~* {7 ?5 ]# n3 V3 D6 R n k0132DA0E . 50 push eax ; |pRect , V2 H$ }) o- u. ~0 k
0132DA0F . 55 push ebp ; |hDC " G1 {' K+ ?+ U! a- L6 j, Q( ]
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
! F# q8 s8 ?- I: X2 @3 B- {0132DA16 . 6A 00 push 0 ; /Color = <BLACK> 5 U3 O: k4 S. _9 x6 K
0132DA18 . 55 push ebp ; |hDC 2 |; U0 [( m) u" C' E
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
& {& R4 U+ p/ m; |0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
( f& q! y# k7 B% Y) M6 i# ~0132DA24 . 55 push ebp ; |hDC / ], f. V$ O2 i) R: ?7 Q
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 1 R% G/ e$ w7 y$ a3 X" c) O' V
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
9 n# l# [4 @, f8 W. s8 K1 ^0132DA2D . 55 push ebp ; |hDC 0 `+ M+ t7 ^( h% I2 G& A6 u0 Q
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode ' D! ?2 Q ^/ ~9 G2 ?: v: `
0132DA34 . 33F6 xor esi, esi . K5 r0 X- v( W0 O j1 N# Y) ~5 @
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi ( j2 \+ _+ k ]
0132DA39 . BB 01000000 mov ebx, 1
8 t1 x' Y2 U/ B3 s0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx % d" _- n2 Z/ o
0132DA42 . 897424 14 mov dword ptr [esp+14], esi
+ n2 r! X' v u& ?: C$ u0132DA46 . 897424 1C mov dword ptr [esp+1C], esi * X1 T/ `" e2 J. Q- D: d: E8 m
0132DA4A . 0F8E 20010000 jle 0132DB70 1 R8 }* A) [2 E" M$ F
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] 6 j! }4 G% d: h! X% B
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
* l7 [4 L: ^9 B1 P+ m0 b0132DA5B . 897424 20 mov dword ptr [esp+20], esi
0 C( Q% a5 J- p9 Y( [, c0132DA5F . 894424 10 mov dword ptr [esp+10], eax : W. N( e( `* P' s
0132DA63 . D95C24 38 fstp dword ptr [esp+38] & s6 q6 Q4 X9 Y# ~$ z' X
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] " l; ]7 F2 z9 F. a
0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
" ^: R! ^5 n1 j0132DA72 . EB 04 jmp short 0132DA78 : n( J3 `* Z/ z. _ M
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] " y9 @1 H. E5 ]7 e5 O3 y
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] 0 s; h/ e6 p7 G! i% {
0132DA7B . 66:8B08 mov cx, word ptr [eax]
9 ^8 R: m w; s1 }5 k' f3 P0132DA7E . 037424 20 add esi, dword ptr [esp+20] 4 q5 W) j p, ^. p6 Z) p$ I
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
: I+ ]5 L1 a- L- H! X5 p0132DA86 . 0FB700 movzx eax, word ptr [eax]
) N- q9 }+ F! O1 ]1 G8 Q0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
5 g& R) G/ p4 T0132DA8C . 51 push ecx ; /pABC # k3 R5 f) i, `
0132DA8D . 50 push eax ; |LastChar 4 p$ o8 v' y: ~9 y8 {
0132DA8E . 50 push eax ; |FirstChar : N0 V; V4 T" g; f* Q+ I. c8 i
0132DA8F . 55 push ebp ; |hDC
" z5 b4 T) J/ D O- T0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 6 W5 T7 K$ \' [- o! x, N+ K
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
" K, {7 r1 `. W% I. g$ O+ }0132DA9A . 66:833A 20 cmp word ptr [edx], 20 % j8 @. J9 {4 e* g
0132DA9E . 73 10 jnb short 0132DAB0
- u. W; E/ n1 B0 \0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 * b0 F7 d! l7 R
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 ' W" \) d8 k' \9 g* c6 d
0132DAAE . EB 0C jmp short 0132DABC 6 ?7 l- d) i" \/ P* g/ ~4 Y3 P" T8 L5 E
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
7 U& E- }* o* u0 L, Q0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 , T& V" Q% ?; p8 \
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 # Q0 L( z$ E. @2 s
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] $ B u% i0 W& A
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
: \$ J0 Y7 a! @! k0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8]
7 ]/ f/ A5 p7 a6 I6 z0 s0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
1 I3 V& `5 x2 m2 O5 I7 ?/ {% Z0132DACE . 72 14 jb short 0132DAE4
( L X8 S5 K& B+ y% ^/ Y0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] & z4 A9 \7 K% ? |
0132DAD3 . BB 01000000 mov ebx, 1
5 ?2 b: K l7 g0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] - f; {, v' b% i0 s5 }# M& O
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
2 w* h; F- `( M( v$ K0132DAE0 . 894424 14 mov dword ptr [esp+14], eax . q7 F2 C! U" P. C. H, g; C
0132DAE4 > DB4424 18 fild dword ptr [esp+18] + Q5 ~/ {5 P6 M# [1 f5 D
0132DAE8 . 03CB add ecx, ebx ' n" j( g. A/ A; E m& Q
0132DAEA . 85C9 test ecx, ecx & @5 D5 c6 y* t0 j% S
0132DAEC . D94424 38 fld dword ptr [esp+38]
6 b8 v, O k9 a2 ^0132DAF0 . D9C0 fld st " `0 ^( m# T8 ~5 f. N2 k
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
- t* W) o; J8 o# y8 p8 P0132DAF6 . DEFA fdivp st(2), st
# r0 v/ {3 T1 D! `0 r- L5 W; t0132DAF8 . D9C9 fxch st(1) ) A6 P4 n$ q; K0 J
0132DAFA . D91E fstp dword ptr [esi]
$ I% M5 G$ i8 W0132DAFC . DB4424 14 fild dword ptr [esp+14] 7 o- @5 ^) k* l7 W- z7 [# }2 ?6 h
0132DB00 . D94424 2C fld dword ptr [esp+2C]
( G% i. |- M" [" G }0132DB04 . D9C0 fld st , i2 }+ M9 v7 G: b9 M- O+ d
0132DB06 . DEFA fdivp st(2), st
( q \9 ]' ~+ N( h0132DB08 . D9C9 fxch st(1)
: D! V+ d5 ?$ n5 h! P3 R0132DB0A . D95E 04 fstp dword ptr [esi+4] 1 p9 K M' F- h l3 t
0132DB0D . DB4424 18 fild dword ptr [esp+18]
3 k6 z/ f) Z& {3 z4 G0132DB11 . 7D 06 jge short 0132DB19
, J& S0 v/ ?; W0132DB13 . D805 50B03801 fadd dword ptr [138B050]
4 v7 T, R, J0 K$ g4 a0132DB19 > DEF2 fdivrp st(2), st
; n8 Q* e; ~& f/ `0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] # `+ _" s! X' |/ m& k2 C
0132DB1F . 6A 01 push 1 ; /StringSize = 1 $ C: {: `; h) |8 ^: j9 h4 |
0132DB21 . 52 push edx ; |String
- i% f$ i) i+ Z8 {$ Y: c; u7 E0132DB22 . 50 push eax ; |YStart ! ?8 G5 y, I* k! ?( M7 @
0132DB23 . D9C9 fxch st(1) ; | 0 ]/ D) {+ a/ b# V' s3 s: A: R# A
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
; ?9 E% D. W" {0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; |
/ Y; o2 I( Z9 ?1 C2 O: q0 S0132DB2B . 03C8 add ecx, eax ; | : j0 Y- V* P, f
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | : W0 u+ Q; d. @ i6 C
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | 7 N7 X, |& e3 r$ a! J+ e& j8 i5 j
0132DB35 . 8BC3 mov eax, ebx ; |
* W! s& M/ P9 t; _0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | 4 b. c( Z# G( I7 [* l, d4 z' w
0132DB3A . 50 push eax ; |XStart 5 _# O! z# L; ~* s1 M- ]% k
0132DB3B . 55 push ebp ; |hDC
" W! O; p+ W) r( ]0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | * a- B$ i% X, y* _* v5 T' n/ i2 M
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW , M; J3 x1 n0 U% \+ r
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
* G# @& O" B" |7 q0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
: E% d2 a- ^) n( ^) I0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 $ {( z3 F- [( D7 u; G
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 9 u: ~4 `$ Z' `6 w z5 S
0132DB56 . 83C0 01 add eax, 1 " u0 j: d! `) s6 J6 G
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] ; Z3 H0 b f7 @. S, M
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
) n+ M% u& O+ X0 c' e* p4 |0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
/ O) ]+ w# g3 t/ s( p. [* A0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
; h Z6 B4 d$ Y1 a, l& A0 ~3 C0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
7 f/ C6 R$ L/ d) |4 O5 x0132DB6E . 33F6 xor esi, esi
2 q3 |8 b7 `- @) O/ Q0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
- A$ O& f) y" s# P9 h5 I0132DB73 . 6A FF push -1
- }4 b% R& l7 K, Q" u0132DB75 . 83C1 38 add ecx, 38 # f$ I3 B5 Q2 `# O) A" @
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> ' n6 h0 p- @! i
0132DB7D . 8BD8 mov ebx, eax
7 J" I u. E$ }0132DB7F . 3BDE cmp ebx, esi
& L* i6 F6 r1 W0132DB81 . 74 74 je short 0132DBF7 2 Y6 C h0 T- ]& @, p& a$ O
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] . e6 x {, R9 Y6 _
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
/ g8 H) @- y4 I% L0132DB8B . 52 push edx ; /Buffer
; ]8 l! ]. q C0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
5 c0 W0 A7 a a& V' @. }! |- H0132DB8E . 50 push eax ; |hObject
2 u* [7 Z w1 I/ R/ s$ c6 o. Z0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA 8 s( m! g/ U% K+ H- u5 n) _
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] 4 H" h6 B! H2 p0 }" V( n- h
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
a m9 v7 ?3 f0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] 3 p- R* T$ [% k: b' k f f, m
0132DBA1 . 037424 54 add esi, dword ptr [esp+54] # T3 u6 ]( h5 b, Y# v# b9 \/ M$ N
0132DBA5 . 85C9 test ecx, ecx $ S0 S+ H9 b" i B' L
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0
. P, {8 a" H2 X. Q$ U: S$ q0132DBAF . 7E 46 jle short 0132DBF7 ; e; b: g2 T2 t1 L! X/ y+ \# h7 p, u" @
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] ! R3 }! N# l L+ W
0132DBB5 > 33C0 xor eax, eax
1 D3 ^; A# k0 s& Y$ {2 N# H0132DBB7 . 85D2 test edx, edx
% |3 e: r$ d# v$ z% Q$ m; Q0132DBB9 . 7E 26 jle short 0132DBE1
# X& x* ^( s: }! i& S0132DBBB . 8BCE mov ecx, esi / S6 I% |, B2 j% F
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] 5 ?4 r! ]( M1 \7 R1 m2 O$ [
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] & ]' L# ?- \; @8 F
0132DBC3 . C1E2 18 shl edx, 18 3 i2 y6 b2 `+ B' ]
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF 9 G, {" q' p% q6 Y3 C
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx ) i/ e5 B0 {5 \) M
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] & Y5 j# b/ l4 O/ |8 ~! N" p$ ^
0132DBD3 . 83C0 01 add eax, 1 ' h+ h0 |- D! C' z3 _9 N& I! c
0132DBD6 . 83C1 03 add ecx, 3
& Q& c7 P/ e# O' o( B0132DBD9 . 3BC2 cmp eax, edx
6 K' M5 E k7 N, W) ~1 i0132DBDB .^ 7C E3 jl short 0132DBC0 % [2 Q; P* @: K* N
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
. @7 M: T" n ^" t8 V) ]9 z5 \2 U0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] - N0 l( p1 }: y: l$ o* W! P
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
5 G" h$ d: n$ N! V4 C. w' t0132DBE9 . 83C0 01 add eax, 1
( z& k3 e6 |7 `( q5 x1 u0132DBEC . 3BC1 cmp eax, ecx ! J6 P6 X) D/ \8 t. P
0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] , Q5 y% b/ z/ a! i' T! w
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax ( \0 O* @" ]6 s$ A2 B
0132DBF5 .^ 7C BE jl short 0132DBB5 ) R9 u9 s2 @& M; }# d1 w% M
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] 6 r& [9 z- U4 U2 @. A! C7 Y, P
0132DBFA . 6A FF push -1
# ]0 ~( f$ i/ Q+ o0132DBFC . 83C1 38 add ecx, 38
, [+ w- s, w- [- a* A0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> : k' {9 ^0 j# A
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] 9 S0 Z6 x2 C. v5 T' O& x/ y) `( r
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 2 W9 D j, r+ k( x' ?# \1 x
0132DC0E . 50 push eax ; /hObject
0 S: }3 }/ _; i4 ~- {$ I5 W0132DC0F . 55 push ebp ; |hDC # [: B. |0 Y3 {2 y# \' K, S
0132DC10 . FFD6 call esi ; \SelectObject 5 b; g9 R' [8 q+ t# S+ U/ F( H. v
0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] ) {+ o0 f5 j+ Q1 ?- T
0132DC16 . 51 push ecx 4 ?0 I. I3 k4 g8 I; y% P
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont . {$ i( M3 U* J
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
5 a8 R- [2 ^1 ] h* q! p8 @- f0132DC21 . 83C4 04 add esp, 4 % c& ]+ [6 y: |; P* r. @# Y
0132DC24 . 52 push edx
$ w% P8 y( U# q9 [0132DC25 . 55 push ebp & p7 G0 W: Q( E7 d* Q3 I ]9 s# z
0132DC26 . FFD6 call esi 4 O4 U9 H' n( [1 Q5 Z0 F
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
* l; i2 V3 g8 G, x G- q0132DC2C . 50 push eax 8 B$ [" R0 y$ }; @) f! T4 N" [
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
; m5 T7 S1 i8 V+ F- ]) X( | D0132DC33 . 83C4 04 add esp, 4 6 f4 W: j) o0 |) s! y
0132DC36 . 55 push ebp ; /hDC
) P7 o$ U' X$ w2 y: j* b0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC # x, v- Z/ z! e9 a/ J% H+ N
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
( t/ }" D% E2 G& t1 E. I& l) b0132DC41 . 6A 00 push 0
/ g8 N( q: Y( T6 d. r0132DC43 . 51 push ecx % ^# Z9 h2 f0 s+ ?
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24] 6 Q4 m( u3 a% R5 n) d
0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> 7 w0 y2 ^7 z- V _3 v9 l9 v
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] - d/ B4 j* g- F2 _3 f
0132DC4F . 6A 01 push 1
) @: U: b( A3 U0 d0 i0132DC51 . 83C1 38 add ecx, 38
# _$ C/ |: Z& ]# M0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> $ X& m$ u+ v# T0 ]! Q4 \) m
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] % F4 ]; A1 ?+ D( J
0132DC5C . 8B11 mov edx, dword ptr [ecx] 1 A1 K! v. m4 D2 m6 m7 D
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] & l* N/ M, {0 }' K5 G9 D$ S$ ?$ c% H
0132DC61 . 6A 00 push 0
/ S+ v' K" F4 c0132DC63 . FFD0 call eax
1 k' }6 L& {' C, d5 H! @4 ^0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] ' a6 U+ j, H6 O: w
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] ' N5 f. }0 V% T+ O# c: y4 U( w% m- b
0132DC6C . 33C0 xor eax, eax + ]/ A7 m) B/ L' c/ I
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
1 O2 R6 @4 |) ]8 ]0132DC75 . 5D pop ebp : d; ~. ~& K9 G% @ ?# D
0132DC76 . 0F9CC0 setl al
7 N% H6 Q0 z2 ~( N5 B! E( K0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] 1 |9 T3 A) A( h1 ^2 v$ A
0132DC80 . 5F pop edi
# p3 ^; {" V1 L- W0132DC81 . 5E pop esi
% F! c" t) h' f& b0132DC82 . 5B pop ebx
& b8 U, N5 J* Y4 _8 m/ L0132DC83 . 33CC xor ecx, esp 8 x# H- L A! L0 H {2 p$ Y
0132DC85 . E8 E2460500 call 0138236C
' v! `* n( \; M# l3 C0132DC8A . 81C4 98040000 add esp, 498
1 ?$ ], I5 `6 p0132DC90 . C2 2800 retn 28 |