发现了一个和字库有关的函数,研究中。
# Z4 O$ U8 `) t" N3 D1 ^( M! Y
0132D7E0 $ 81EC 98040000 sub esp, 498 0 ~' U, v1 M$ C, c! z% }! W
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
& n) i2 u5 `; }3 \ M I! l0132D7EB . 33C4 xor eax, esp
1 j' y$ Z s0 q6 Y- i1 N0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
& w# J; u# E" Y6 d0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] , J$ G1 s7 R O% X6 d, i' @
0132D7FB . 53 push ebx 5 e6 y; F3 t6 y9 P' p. I
0132D7FC . 56 push esi
+ H# U, H. C" g. [, \) B5 ~* s( o0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] 4 X' P* O* P4 M
0132D804 . 57 push edi
! n, H+ w! _, P5 @" n0132D805 . 6A 30 push 30 ; /n = 30 (48.)
* c" l. {- }( X0132D807 . 8BF9 mov edi, ecx ; |
- F" p' ~9 r4 h1 o5 K9 ^0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
; t" ]; O/ ?( h+ i6 v6 F' c7 f7 O5 u0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | 1 |1 G, |9 ]! B3 N0 a; c+ y2 z/ g
0132D814 . 6A 00 push 0 ; |c = 00 . C; t* X( Q& D5 g
0132D816 . 52 push edx ; |s ( a- b+ d/ x$ T' e
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | 9 n5 n. v1 R" P* @: g
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
4 }/ ~% f* g' o4 A0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | 7 G0 \4 m9 u* p! Q. @" z
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
% ?3 v, G+ x" Z! M- m* Z) e" c. l, ]0132D82C . 83C4 0C add esp, 0C
8 j+ F4 Z9 T* T: d0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 4 T# p( g9 n: Q9 _
0132D837 . 74 12 je short 0132D84B
# D/ x+ d1 v% k) Y7 h/ v0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
5 F, w& w5 t+ P0 m3 g" N7 g% N, d0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
3 v& a2 _ i$ {1 | g0 \. ^6 m0132D846 . 8947 1C mov dword ptr [edi+1C], eax
D$ F0 l( x6 n3 V/ R0132D849 . EB 32 jmp short 0132D87D
& `3 C( ~ a0 N! |8 I0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
* M4 w/ ~: f4 ~$ _# f# y0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
3 C9 v" \. H1 y* z- @" |0132D855 . 33C0 xor eax, eax * n# `0 T0 d, K
0132D857 . EB 07 jmp short 0132D860 : P; \/ v) W1 |( {# u
0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
0 O. U+ u1 w0 a9 m1 R0132D860 > 8D50 20 lea edx, dword ptr [eax+20] 1 F6 m5 r/ D* `3 x
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
, ]7 Q3 ?, u( B0132D86B . 83C0 01 add eax, 1 1 M6 o& U7 }9 L3 @
0132D86E . 3BC1 cmp eax, ecx : p, D( _+ L5 S+ z2 I- P/ D
0132D870 .^ 7C EE jl short 0132D860 * f( P S/ i. H& s+ I# m
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
4 T; K1 Q2 R/ g [* ?5 g0132D879 . 894424 0C mov dword ptr [esp+C], eax
& t& l% c/ x/ J# g$ v0132D87D > 8B47 0C mov eax, dword ptr [edi+C] 3 R; G6 K: c$ }# F- s: G2 _
0132D880 . 85C0 test eax, eax
- d9 u* Y% Q/ Y0 {: E: \$ I0 e9 T0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] - l- ?0 U' q5 ^% [- z; U
0132D885 . 75 05 jnz short 0132D88C # L5 Y `0 s! |: T
0132D887 . B8 16263901 mov eax, 01392616 7 b1 t) a! c1 g9 D
0132D88C > 6A 00 push 0 9 G, ?! r/ e) g/ D1 }
0132D88E . 6A 00 push 0 2 h7 O3 k. e" X' C4 m
0132D890 . 50 push eax 1 p7 j; C% b/ l8 q9 x
0132D891 . 6A 1F push 1F
- s8 c" L6 s, B! i! J0132D893 . 8BCE mov ecx, esi
, h6 z. ]6 f, }2 `/ [* Q0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
+ `: _- T& y$ U5 W1 v9 H+ f. f+ I0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] + M) N% G% N5 g$ S+ B
0132D8A1 . 6A 00 push 0 & J8 t/ a" A# T, ~% y; h
0132D8A3 . 6A 20 push 20 % ~. ~% X' }1 i9 f5 i) G; g
0132D8A5 . 51 push ecx
: _+ h4 b! }. a V0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
* K$ V8 R3 H" ~- g3 l* K" L& i& F0132D8AD . 8947 24 mov dword ptr [edi+24], eax ! f' ~9 o E; U3 G/ i% ^
0132D8B0 . 8B10 mov edx, dword ptr [eax] 4 a: m/ N4 A' c: u5 x2 G
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] 7 Z5 Y, b8 A* v
0132D8B5 . 51 push ecx 8 s: K! ? `/ ~
0132D8B6 . 8BC8 mov ecx, eax
8 L7 S4 O |+ [9 o. }$ h$ z0132D8B8 . FFD2 call edx . ^4 L' F6 {8 [) { z
0132D8BA . 85C0 test eax, eax
+ @; N9 A2 l: c: R& S/ _3 k0132D8BC . 75 07 jnz short 0132D8C5
0 g) [, A/ Z1 d [) D! y) x0132D8BE . 32C0 xor al, al : k1 L( q, u/ h% M6 S
0132D8C0 . E9 B4030000 jmp 0132DC79
+ p, ? b, R0 f8 d5 V0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
' _3 s6 b' \- I1 d( ~0132D8C8 . 8B01 mov eax, dword ptr [ecx] 3 P. R0 V4 v3 e/ p
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
, e9 L' i! N# M; k* @0132D8D0 . 55 push ebp
& |4 L& Q/ M/ u2 }# F0 @9 s5 g2 w. z0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
' p" j2 U) ]) w& K9 P% J( W2 U0132D8D5 . 52 push edx : y8 v" O' D0 {/ C
0132D8D6 . FFD0 call eax / p5 b! g4 P r+ |
0132D8D8 . 6A 00 push 0 ; /hDC = NULL $ `' H1 M3 |) H: {4 e
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 6 ?9 M; g \4 }& ]7 i
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] 6 B# E" `. B* V/ @* q( l
0132D8E4 . 51 push ecx 0 F. O1 r0 M2 h7 k/ [
0132D8E5 . 8BE8 mov ebp, eax 2 T5 b9 {0 d T* t q
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
+ I. [5 M5 L' r, j2 r: T7 k/ E0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
# [# t# d/ e3 j& C" Y' w8 m# v0132D8F3 . 83C4 04 add esp, 4 9 u6 @& x8 g" ?+ X0 w
0132D8F6 . 50 push eax ; /hObject
8 o6 e( H6 W4 i4 a$ f0132D8F7 . 55 push ebp ; |hDC 4 u7 i& D! M; `
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | 2 S) S9 v7 Q c( c/ I/ Q% g* _
0132D8FC . FFD6 call esi ; \SelectObject
5 |; v( `5 F* I8 @6 Q4 M! e" y0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
8 ^) U# E1 C9 i+ c4 q4 v0132D902 . 52 push edx
8 B6 I! }) S# N0132D903 . 8BCB mov ecx, ebx & ^$ [, G0 H O1 C
0132D905 . 894424 40 mov dword ptr [esp+40], eax
6 _' ~- ?3 j# F2 Y0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
. ~' E4 V9 G! \0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
& _! u& S/ {' V+ `& t0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) 9 y) X0 Q- W G9 P' R
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY : v# ^" L( _0 w: a% N+ o
0132D91A . 55 push ebp ; ||hDC
% Y# _& U- n% K f/ z9 p0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
/ P" u" ?+ |' u9 k3 q0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 1 ~9 b8 F, ^- E: e) T# W; v2 s% `
0132D924 . 50 push eax ; |Multiplier
: v" O% {' ?$ P0132D925 . 53 push ebx ; |Multiplicand ( m! Z$ R& P9 }. l
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
+ r9 ]! |3 L% P$ n$ A: N0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] 0 H" U P5 ^7 D! `% w
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] . w3 p; G. ?1 y: t, K. J; B7 \. E: ]
0132D937 . 51 push ecx ; /FaceName
( x2 G5 g/ E2 R. z$ G4 _0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | d u/ P' b$ b7 _+ C6 O
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 6 {3 Z5 o, ^; S6 Z( a; S- W
0132D941 . 52 push edx ; |Quality 1 d% D4 Z9 G$ B# z, G
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
9 k% }% n2 v4 U* I! \" ^: ]2 p1 J0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS " I7 F2 E+ k3 a! `6 ]2 j! J6 L7 j
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
; o- t- P7 k$ @- d0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
6 T/ r2 E2 C/ H9 Z; V0132D94A . 8BD1 mov edx, ecx ; | , e( T( \3 `$ {1 d( v/ n: W
0132D94C . D1EA shr edx, 1 ; |
% J3 g7 q2 C/ y3 }- R& Z- N0132D94E . 83E2 01 and edx, 1 ; |
. S, j6 o: g4 O: R4 V9 Z; g0132D951 . 52 push edx ; |Underline
5 i( q- z# _9 u& d; [ g+ Q0132D952 . 83E1 01 and ecx, 1 ; | " `7 V7 a4 J" P m& j8 k( G
0132D955 . 51 push ecx ; |Italic 4 T7 G7 E8 I2 [! ]2 I
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
4 W* o7 u, u* `. |0132D95D . 51 push ecx ; |Weight # V5 b' A' Q5 ?4 A7 e8 Z ?
0132D95E . 6A 00 push 0 ; |Orientation = 0 / V) ~) e0 X/ `9 V6 m* P
0132D960 . 6A 00 push 0 ; |Escapement = 0 5 ?/ ?) \9 c4 A0 Q3 W' v: Q
0132D962 . F7D8 neg eax ; | 9 X. j5 ]& K. F6 S* s8 c# j7 v' w
0132D964 . 6A 00 push 0 ; |Width = 0 $ E$ T( _1 G" f8 d# U& e
0132D966 . 50 push eax ; |Height
9 {7 Y% h* _8 K& _5 `- `9 N8 b; ~0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA @3 P2 x5 a `
0132D96D . 50 push eax & O/ S7 _) K8 N, O; z& N, K. h6 p
0132D96E . 55 push ebp
5 J5 Q* o, U. i2 j0132D96F . 894424 38 mov dword ptr [esp+38], eax
/ L, z8 l3 R6 V8 |. m$ N8 L' H) P0132D973 . FFD6 call esi
+ \; M( s. [& A/ l; Y9 U0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] 4 b! I5 z# s7 w" j/ \: l9 M( o
0132D979 . 52 push edx ; /pSize 9 }# B! x; _& \6 _4 U- O2 d
0132D97A . 6A 01 push 1 ; |TextLen = 1
: A$ V: d* }9 w' ?3 Z0 d0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A" / y+ o, R1 I+ J" b7 u
0132D981 . 55 push ebp ; |hDC
8 h3 v. O$ x! ` o0 P! z& d0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
3 q1 r6 U; F9 o$ X) o- C- ~0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
+ s* }% `3 z. q& v0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
4 b( [ w7 Y b& l) e0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] ^; I" E" z, Z, u& W8 m) i" h
0132D993 . 8947 18 mov dword ptr [edi+18], eax 4 _# Q( C9 [5 S- Q
0132D996 . 33C9 xor ecx, ecx
) t8 d$ |, u# F+ p' F0132D998 . 8BC6 mov eax, esi V, g0 L+ w! B" U
0132D99A . BA 20000000 mov edx, 20 " a4 y# G ~3 e j
0132D99F . F7E2 mul edx v5 i } w) H$ c! g8 {
0132D9A1 . 0F90C1 seto cl
: Z! v0 ]( g7 v' W, I0 T0132D9A4 . F7D9 neg ecx
9 a4 g' l4 \- ?5 X7 S& K& i0132D9A6 . 0BC8 or ecx, eax , x; j; n X7 B
0132D9A8 . 51 push ecx
* `% j9 l* i( l' f4 y: c0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> + w) p" n5 o- O" ~+ M4 `; Q2 c: \
0132D9AE . 83C4 04 add esp, 4 $ Z' B6 e( y$ b* s% n
0132D9B1 . 85C0 test eax, eax
! N7 q, ^7 H2 S7 c0132D9B3 . 74 28 je short 0132D9DD ) M+ W. H2 C( z+ K# t6 t7 h
0132D9B5 . 83C6 FF add esi, -1 $ \2 o7 d" x4 {/ o
0132D9B8 . 78 25 js short 0132D9DF % J5 H# e8 h' }. _
0132D9BA . D9EE fldz * K" p7 S2 R) V5 s4 q0 g) i) N: b
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] ' x' R# t0 `6 A5 x
0132D9BF > D951 FC fst dword ptr [ecx-4] ; g: `3 _- c F% B7 b) Z
0132D9C2 . 83C1 20 add ecx, 20 : }+ i$ z' o+ H' D! s
0132D9C5 . 83EE 01 sub esi, 1
: I' g. n6 v% S3 L5 e; k0132D9C8 . D951 E0 fst dword ptr [ecx-20]
: _$ o, c* k! q6 S/ Q0132D9CB . D951 D4 fst dword ptr [ecx-2C] 8 D5 t* O7 T( U
0132D9CE . D951 D8 fst dword ptr [ecx-28]
& j% A; {; `* |4 O0132D9D1 . D951 DC fst dword ptr [ecx-24] 0 I( R" |$ H7 w5 D8 r
0132D9D4 . D951 E0 fst dword ptr [ecx-20] ) R+ W" e. \' O( j% {$ P
0132D9D7 .^ 79 E6 jns short 0132D9BF
3 ?9 r1 _% J( O: p& v0132D9D9 . DDD8 fstp st & a1 G8 J$ t* z4 x) z- Y" [
0132D9DB . EB 02 jmp short 0132D9DF
' l2 P }* n# `3 e% V5 ~/ i: J0132D9DD > 33C0 xor eax, eax
3 O8 G- w* n% @2 B- C& o, G2 z0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
3 H0 B) \$ B3 s& I; w5 A0132D9E6 . 8947 20 mov dword ptr [edi+20], eax 5 x2 s/ }. J& v( Q
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
" }! [* D' `7 S; M4 _0132D9F0 . 50 push eax ; /Bottom
1 @2 J# i4 d( R; W3 t9 O9 X0132D9F1 . 51 push ecx ; |Right
. |5 Z8 ]% I! }- k! y6 A0132D9F2 . 6A 00 push 0 ; |Top = 0 6 x6 @: @0 J& F+ d. r/ B" }
0132D9F4 . 6A 00 push 0 ; |Left = 0 2 ^- Z9 ~6 a8 o
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
! A/ d0 c. n) T% A B, o9 @0132D9FA . 52 push edx ; |pRect / }2 C5 t k( b- v
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
* A% N$ o8 o6 d- R0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH ( @4 K. f% z$ [
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ! `& f+ m0 \: S T
0132DA09 . 50 push eax ; /hBrush 5 x0 z7 z- I$ q
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
' P [ r4 ~4 _ [ C0132DA0E . 50 push eax ; |pRect ! R0 R9 l4 d2 _
0132DA0F . 55 push ebp ; |hDC ) _' z( l+ y" F+ t6 \
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect ) }1 L( x) c. P$ x7 T
0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
% M, H. G( Z% c3 ^0132DA18 . 55 push ebp ; |hDC : E, V1 s* S1 I' p9 n2 P
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
7 }1 d2 }/ ?% a5 H" }0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
5 P3 P* M1 d) ]0 }- A0 ^+ P- i5 ~8 u/ D0132DA24 . 55 push ebp ; |hDC
7 B* h& C }$ j3 p, D0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 9 Z4 U& ]3 ^- e( H' U$ i* R. d3 k
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
; E) E. i- j" [ _' L( d0132DA2D . 55 push ebp ; |hDC ! @ @' w) f) u+ h) O
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
2 g+ W% c0 j3 r8 [2 B/ O0132DA34 . 33F6 xor esi, esi
W5 a' C$ J) G/ K/ b0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi # u, _: o9 V6 ]
0132DA39 . BB 01000000 mov ebx, 1 2 W1 W0 ]- }$ J) v9 R" G4 D
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx / l" p) Y4 C/ d( U8 g
0132DA42 . 897424 14 mov dword ptr [esp+14], esi
2 o5 U) A# U( h* b& H- j0132DA46 . 897424 1C mov dword ptr [esp+1C], esi 4 x. q9 w: J6 Y# E( ~5 w7 `
0132DA4A . 0F8E 20010000 jle 0132DB70 4 q2 s7 o: A8 Y3 x: W
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8]
5 z, M- ^( r& e! [3 [0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
1 r% N a7 Z' V# _$ t0132DA5B . 897424 20 mov dword ptr [esp+20], esi
$ ~5 |# {& [8 }, S6 l4 ^2 O& r: b0132DA5F . 894424 10 mov dword ptr [esp+10], eax 9 V2 d( z0 h8 g/ e0 s" c, p
0132DA63 . D95C24 38 fstp dword ptr [esp+38]
) l" F, q1 {! `0 `- ?0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] 4 D. {; e" L& E6 `3 ~
0132DA6E . D95C24 2C fstp dword ptr [esp+2C] : m/ a, l6 T0 l" V/ h* y
0132DA72 . EB 04 jmp short 0132DA78 0 x8 f' ^$ j9 i0 n
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] 5 `8 V6 ] H( U0 E) m; x
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
4 ^" T! [- D# b1 b! v( N0132DA7B . 66:8B08 mov cx, word ptr [eax]
- a' B. G. V' z O, S; x' ?0 ?+ r0132DA7E . 037424 20 add esi, dword ptr [esp+20] ; Y3 \- K0 V# C9 i# n2 o
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx 0 y; n- t8 X) K3 O
0132DA86 . 0FB700 movzx eax, word ptr [eax]
5 i5 a. A6 E" k9 i% _ ]' r6 c0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
/ X9 C0 E+ S! G2 `3 f0132DA8C . 51 push ecx ; /pABC 3 r* R, r& S8 F
0132DA8D . 50 push eax ; |LastChar
: a# `/ R& U9 f0132DA8E . 50 push eax ; |FirstChar
5 o$ k w I2 o7 f0132DA8F . 55 push ebp ; |hDC
! p' M- _- N0 y1 O( s% {0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
2 M& L- p$ I; h/ q% A' g9 u6 G8 d j0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] . R$ f$ Q- U+ U6 ]8 \4 K1 H
0132DA9A . 66:833A 20 cmp word ptr [edx], 20
~; H' d( @8 O7 n* P' ]0132DA9E . 73 10 jnb short 0132DAB0
) C1 C, l0 j% U) ~, q0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 - Y4 q' E7 p9 _* B% o" \
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 & z' C7 c8 r9 ^
0132DAAE . EB 0C jmp short 0132DABC P5 S" {4 P: d
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1 R% o/ U. s9 P- }2 d5 O; g
0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 $ Z% Y0 b) P" x3 Z6 o$ L
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 & V6 G$ ]9 o' Y
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
1 X/ N$ A5 Q, L9 i* Y% M, k+ x0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] 7 R' P6 u. _9 ]. p; J- c* _
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8]
! N* C+ U' X! D, O3 H; O0 d0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
0 w |& |" l' t$ u; }8 V0132DACE . 72 14 jb short 0132DAE4
3 X% U8 ]3 n6 y5 Y5 {! Y! \( x0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
" k1 m, m) s# Q& Q- U( A; q9 X0132DAD3 . BB 01000000 mov ebx, 1 2 r2 w- y' S5 h9 R' L o
0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
, B6 k; d* `6 L. j5 Z% H& s8 ~0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
/ s( C! s* }8 H; i4 B) O7 e5 C$ a6 o$ w0132DAE0 . 894424 14 mov dword ptr [esp+14], eax - R% m c9 f9 f4 [1 F
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
9 o4 [/ f! a; T) {- n0132DAE8 . 03CB add ecx, ebx 3 P* u# m7 u6 b' n* R$ E) H4 }
0132DAEA . 85C9 test ecx, ecx
5 b3 g1 l0 L$ ^! b) S4 N' Y6 T0132DAEC . D94424 38 fld dword ptr [esp+38]
+ s2 T6 `$ J- O8 a/ c) F0132DAF0 . D9C0 fld st 6 Y6 C2 ~& i! _9 v
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
; I/ T8 F8 X4 k- K* H, j# B; z2 D0 Y0132DAF6 . DEFA fdivp st(2), st ; Q; U, w" u3 f& L) }% U) k
0132DAF8 . D9C9 fxch st(1)
/ A# z1 H# i$ X3 _9 n% ^9 A0132DAFA . D91E fstp dword ptr [esi]
" l% e# B; z" G! P2 L0132DAFC . DB4424 14 fild dword ptr [esp+14] + R" o: ~, y. ]; o; c1 N
0132DB00 . D94424 2C fld dword ptr [esp+2C]
) [$ S" h! a4 u4 Q Y0132DB04 . D9C0 fld st + W6 W) K' l2 ^4 D( s5 f6 X
0132DB06 . DEFA fdivp st(2), st
5 i1 R4 Z6 d/ B6 G3 \/ g0132DB08 . D9C9 fxch st(1) . V. q: f$ h( C/ B" a3 v; b
0132DB0A . D95E 04 fstp dword ptr [esi+4]
D/ _/ S" S9 X5 _: x0132DB0D . DB4424 18 fild dword ptr [esp+18] 8 s% O1 F1 z+ U
0132DB11 . 7D 06 jge short 0132DB19
- N: P. \0 _+ G1 M* n! @# C0132DB13 . D805 50B03801 fadd dword ptr [138B050]
_" `, {7 T4 i- D, E0132DB19 > DEF2 fdivrp st(2), st
& p; y# u! w# s8 ~0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
/ A& J9 x0 g5 R, p7 h, e. S0132DB1F . 6A 01 push 1 ; /StringSize = 1 0 d9 f+ K7 o$ x) h" \5 A& A9 i
0132DB21 . 52 push edx ; |String 3 [, L. V7 L& k C, |
0132DB22 . 50 push eax ; |YStart
$ V! A: M" _4 X$ c; B0132DB23 . D9C9 fxch st(1) ; | . a5 g6 j6 D' y4 t t
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
- h' o2 P+ l8 z% _8 F# V0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; |
" R4 _( }8 x) H x# `0 }5 f0132DB2B . 03C8 add ecx, eax ; |
; U8 A5 Z. V: _5 |6 `' u0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | 4 i1 y: ~3 g8 `1 k
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | . y6 n5 p* L- e. l6 P4 e/ J
0132DB35 . 8BC3 mov eax, ebx ; | 1 @ n3 O4 J& u4 u5 o+ z5 ^# G9 T% V
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
3 J$ n5 ]+ n( D% x6 G" ~0132DB3A . 50 push eax ; |XStart
2 f# }# H3 y$ v0132DB3B . 55 push ebp ; |hDC
. }8 e d, M3 B0 @% t! D0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | 9 K3 d* c0 b$ K# }6 y
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
) ^9 Q! I9 R& O1 K% S" z0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
% i0 e# K# \7 g( t+ U0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18] |* y/ z1 `8 e/ `
0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 % [! _; q. c- S6 V& x, d
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
: q& g& a" L/ W. F1 ~& ^0132DB56 . 83C0 01 add eax, 1 . b; g. Y: H. b
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] 9 l+ L7 }0 e. h, `6 M8 l+ {
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
( l- I; A1 s( `7 f0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
7 E; B+ H% _! w5 C# D$ R$ A V: H4 j6 \: T0132DB64 . 894424 1C mov dword ptr [esp+1C], eax R6 T; \% a6 H: O, ]! a9 c
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 ' z1 K6 e4 O4 @5 s; c8 @' W6 i
0132DB6E . 33F6 xor esi, esi " s l. X1 U$ b, {
0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
9 ~ g E- n! I; K; q. K0132DB73 . 6A FF push -1 , m% P# w3 k# T; n( q
0132DB75 . 83C1 38 add ecx, 38 6 s9 y: ?! I3 h7 s
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 3 \* [" _+ n* q% \0 b
0132DB7D . 8BD8 mov ebx, eax ! N1 O. W1 x* e
0132DB7F . 3BDE cmp ebx, esi
8 |' k* x9 t' A& Y, \0132DB81 . 74 74 je short 0132DBF7
0 H6 b4 O- X0 c7 w( J1 ]) E' z2 z0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
7 X/ L' @, c# n, }0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40] 1 [6 y, T! Z) O/ F4 ^, P: v- Z
0132DB8B . 52 push edx ; /Buffer
; h' r s+ }. _% I. t4 x- Y& o0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) ; ~: i; x I1 {% x) H
0132DB8E . 50 push eax ; |hObject
6 b1 `8 k/ a8 p+ o. e2 E# h9 X0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA ' Z1 J; v7 A& ]! ^" A
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48]
2 ^; H5 z4 i9 K0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
, o4 l' \( _( z( G' W0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
$ i ` w+ r- Y" W3 R0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
D. y7 n2 Q2 E1 I0132DBA5 . 85C9 test ecx, ecx
2 K5 j- Q5 u8 z& h0 i/ o0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 ) f) C1 n4 @8 S* e4 [8 Z+ h
0132DBAF . 7E 46 jle short 0132DBF7 1 r k# Z8 B8 P0 W6 n6 l) S6 N
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
% ^5 t9 e6 F0 Q" O. `8 Q" f0132DBB5 > 33C0 xor eax, eax
) {3 q9 m u2 C! J9 v r! ]0132DBB7 . 85D2 test edx, edx ' Z4 V0 U* L4 D: s
0132DBB9 . 7E 26 jle short 0132DBE1 ; {! {% C C( l# l$ u6 G
0132DBBB . 8BCE mov ecx, esi
- Q W( D+ H5 k% U/ v$ X& S" S0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] 0 o; @& q& l3 x ^; s9 x
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
4 l7 C1 p4 a5 P5 w8 g0132DBC3 . C1E2 18 shl edx, 18 1 {$ n! ]$ V5 K/ M
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
5 q1 j- q8 I& e7 k3 o) ]+ R0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx 7 L9 C& C, B, G% U6 i
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] 1 S1 y( J2 U1 L9 B6 Q' S U
0132DBD3 . 83C0 01 add eax, 1
+ G. d7 \" K; |- U4 g% Y0132DBD6 . 83C1 03 add ecx, 3
/ _) ]% f2 M ?/ ?* L- x0132DBD9 . 3BC2 cmp eax, edx
/ G# s, z3 I$ d0132DBDB .^ 7C E3 jl short 0132DBC0
- L8 P3 @5 y0 a ], N+ x3 i N& G- f0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] 9 z- G) S3 R, h# L) q
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] + n! m! M+ R9 b! r' q; t9 ]2 Z1 S
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] ! D3 e2 N: ?4 G# y5 X
0132DBE9 . 83C0 01 add eax, 1
, T' e: R" ^; B0132DBEC . 3BC1 cmp eax, ecx
U0 n, U! M+ z- Y& a0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] 2 Y. C0 W2 X/ C9 `
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
# W" b! l3 U% a: V, ]: ~! o+ [0132DBF5 .^ 7C BE jl short 0132DBB5
& Y, D7 K( N" n8 Z7 @2 c0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] ; P" W3 r) \7 e/ R n5 a( t
0132DBFA . 6A FF push -1 , G d* L; T& Z0 `4 E* x5 L
0132DBFC . 83C1 38 add ecx, 38 * N. z# w& }6 _( W
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> + [% ]. y3 R4 r) L( h0 n
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] ' p0 o' I6 e; g7 _* s( f. r
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
! M4 E- \' h0 s3 o0132DC0E . 50 push eax ; /hObject
# S. F6 @/ b3 {0132DC0F . 55 push ebp ; |hDC , ^7 N; F" I9 g4 l( V
0132DC10 . FFD6 call esi ; \SelectObject
# @# S9 B* c2 c4 B+ z! @1 T) o& w( u0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] # y: r6 X& N' x3 S, b
0132DC16 . 51 push ecx
6 B r6 V, U+ @- F, o0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont 9 L$ |( F* n; r3 Z
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
5 E% W2 W9 y" v$ Y0132DC21 . 83C4 04 add esp, 4 S& E; Y) [8 O0 x
0132DC24 . 52 push edx
3 g3 Q0 m5 ?4 u0 Q9 a+ _0132DC25 . 55 push ebp , ?. k$ w: n8 W1 W( ?0 I4 E' c
0132DC26 . FFD6 call esi 0 u9 H0 P' N" C) B
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
( S' [( X; B' O( B0132DC2C . 50 push eax
2 r/ Q0 C8 T3 N4 H0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
) ~$ S% k* y# {1 f0132DC33 . 83C4 04 add esp, 4
8 K- z: c0 k% s* E0132DC36 . 55 push ebp ; /hDC
) h+ h8 h& W4 N1 ^! _% z0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC 2 X3 H7 F+ d- h2 y
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
" i ]! q' ?5 y9 F- x# m9 C0132DC41 . 6A 00 push 0 ( O7 U$ b, V4 I% n
0132DC43 . 51 push ecx 8 L* Q, h E4 f3 x+ o
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
' d+ C3 B" G h9 Y0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> 9 f5 R0 b$ z1 @ L2 c. g% `
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
( u! g3 `2 t5 r: A2 r4 Z8 W) F0132DC4F . 6A 01 push 1
' J1 \3 t: }4 d" x0132DC51 . 83C1 38 add ecx, 38
7 g& u% }! P: ^$ O4 w1 C0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> % j( Q% Y; G; l+ u- A5 E
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] " g' t- C* o& M$ N" R7 r9 P. \: q
0132DC5C . 8B11 mov edx, dword ptr [ecx] ! k# P3 Q$ p) r2 K8 ]& P" C
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
, I2 D7 g- b1 ?+ {% Q8 w0132DC61 . 6A 00 push 0 ; D5 a" Z" ~" O9 Y
0132DC63 . FFD0 call eax
8 j+ q* l3 n2 h8 Z+ m s8 v0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
( K+ x* |% e0 k4 {) `! i- H5 x Q0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
y: |3 B6 T0 h( d' o6 e7 ^0132DC6C . 33C0 xor eax, eax
: P& P& v/ _2 {/ q2 b: e+ M& o0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] & w3 \, R& c& A+ [, I6 \% w( \
0132DC75 . 5D pop ebp
* p' M" Y( e; D6 L) ?" u0132DC76 . 0F9CC0 setl al
$ D8 O, c% d* E0 F/ M: M8 Z: I0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] # N! |' @" f, s( g! `
0132DC80 . 5F pop edi . _. P0 q- K7 @' B+ g$ f/ F
0132DC81 . 5E pop esi
% J6 Q5 G! S j" b0132DC82 . 5B pop ebx ' z) V+ `& z; d: a& m3 M
0132DC83 . 33CC xor ecx, esp
0 l8 j6 A, y/ U2 P3 _, f/ w0132DC85 . E8 E2460500 call 0138236C $ C% S3 i# j7 d
0132DC8A . 81C4 98040000 add esp, 498 4 c+ g' q! O) O/ L/ i, R
0132DC90 . C2 2800 retn 28 |