发现了一个和字库有关的函数,研究中。 ' ?* q# W9 C) e- t9 v7 D
9 X$ {% w, n! X0132D7E0 $ 81EC 98040000 sub esp, 498
0 r5 o% G9 K1 Z; u$ k' j1 i- ?0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
! l8 V" x& m- E; w0132D7EB . 33C4 xor eax, esp
' G2 C" R3 O( J1 m w- @& N3 t. R! `" P0132D7ED . 898424 940400>mov dword ptr [esp+494], eax 3 a2 B$ k2 [- _$ g7 l5 Z
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] " E0 q6 n5 @& N& @1 ~3 D$ C
0132D7FB . 53 push ebx ( A& j* \' e) l+ Q# B" A5 L
0132D7FC . 56 push esi
& w, e( p- E) F0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] + U$ `8 W. o: e9 u9 q! k
0132D804 . 57 push edi
/ F' G8 ], c* l1 k- E7 q0132D805 . 6A 30 push 30 ; /n = 30 (48.) 1 T8 s1 I$ j8 h2 C8 r
0132D807 . 8BF9 mov edi, ecx ; | % {: k0 j5 l; L( Q$ x
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
9 i& n7 @1 c3 w# N# {0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; |
9 A1 K9 l/ v; o( F/ g; \+ E& C1 }0132D814 . 6A 00 push 0 ; |c = 00
( D% X- N0 j6 J, e0132D816 . 52 push edx ; |s ! n- G( C" ?9 C/ u; Z) [1 T, _+ o
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | T" `0 `' Y" b; G
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
$ {; ]- ^8 |2 z9 R, b0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | 7 j3 ?1 ], J0 @" M
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
, s8 r/ d% O5 ?8 A0 T5 L) A0132D82C . 83C4 0C add esp, 0C . g2 \% y8 X7 w& B& `
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 4 f& C" e8 F8 S: e$ M2 F
0132D837 . 74 12 je short 0132D84B
0 q3 P) N& c3 L: ?# h3 t0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
3 M- o3 |1 G/ _% t6 l' b/ F4 B$ Q0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 8 Y# D/ F: d2 t5 Q
0132D846 . 8947 1C mov dword ptr [edi+1C], eax 9 A0 i# I+ X( Y+ s2 u
0132D849 . EB 32 jmp short 0132D87D 7 p; C6 ^; M0 x, O0 t/ i5 u
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
1 g% f" y* J' i/ @/ M I& M7 T0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] 2 j; A B! J0 X! r8 `; t5 o! c
0132D855 . 33C0 xor eax, eax
; X6 {5 J' q( y0132D857 . EB 07 jmp short 0132D860
z0 B6 F, H$ U3 Q8 Y! V0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
! _, U0 H3 ~& v; p) J7 x& v0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
+ h& b" |: M- @. m* s' w- \0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
& H& ^% G! _/ O& e" K- @0132D86B . 83C0 01 add eax, 1
4 s3 P9 U- O3 J" _" }- f; U) |0132D86E . 3BC1 cmp eax, ecx ( @1 J: C5 N1 L4 w. ^8 s
0132D870 .^ 7C EE jl short 0132D860
' d4 Z1 F G! j6 o5 k: [- x0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] ( ]+ s; _# Y) w x+ i; s: r
0132D879 . 894424 0C mov dword ptr [esp+C], eax % b0 z6 x9 Q" ?3 Q& J' {
0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
1 a ~- o1 G+ p# g* H& ^, R3 {0132D880 . 85C0 test eax, eax 1 I3 o" t, z2 x+ B
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] ' f3 W7 X! C% E
0132D885 . 75 05 jnz short 0132D88C
0 @, k8 Y' ]9 O5 r! B) P' H0132D887 . B8 16263901 mov eax, 01392616
' B' ~" Z- b7 ~$ H0132D88C > 6A 00 push 0
: b. a8 B( \9 S; s0132D88E . 6A 00 push 0 + q3 `7 U9 j6 T' Y
0132D890 . 50 push eax
1 l- ]3 k$ {7 K" R- v0132D891 . 6A 1F push 1F
8 b1 j# s) q' Q0 f8 j m; `: E0132D893 . 8BCE mov ecx, esi # W: c/ ^, T6 `% @5 K5 t/ N
0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
8 ~/ |* r4 n s; k5 [ g1 a; _0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ! n! E H1 \; @! e2 p
0132D8A1 . 6A 00 push 0 6 v" v7 D8 @3 Z: W* X
0132D8A3 . 6A 20 push 20
9 w, E' A- M0 |8 n0132D8A5 . 51 push ecx . C5 T! Y: v$ b" @
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] - K( u: t6 c: d
0132D8AD . 8947 24 mov dword ptr [edi+24], eax ; f) K) B% @. Z q8 a
0132D8B0 . 8B10 mov edx, dword ptr [eax]
( `4 q8 y& a/ a0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] # d# j! v! ~0 S. \: ?% K7 y
0132D8B5 . 51 push ecx 7 N# Y5 ~4 s- B' R2 j. J
0132D8B6 . 8BC8 mov ecx, eax 4 ~0 L) o2 p, C5 s4 y8 T$ H% a* B
0132D8B8 . FFD2 call edx & l8 ~1 {3 n& U$ C* `- |: W# o
0132D8BA . 85C0 test eax, eax i( O- F+ m1 m! ~4 \
0132D8BC . 75 07 jnz short 0132D8C5 0 l. K2 q, A1 L" U- Z* z1 d0 i9 y
0132D8BE . 32C0 xor al, al
% X! C! C* n$ J) q9 p9 ?& S0132D8C0 . E9 B4030000 jmp 0132DC79 ; h5 s# j1 `+ o% y! l4 h6 P
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
% U D- ?/ A5 {0132D8C8 . 8B01 mov eax, dword ptr [ecx] 5 s3 A6 C0 N( P; M" n
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
! \' |1 e! g3 x, Z! m. X0132D8D0 . 55 push ebp % T6 A) [0 c, C7 I
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
+ z2 d Q0 d! n5 A3 R0132D8D5 . 52 push edx
5 H }+ w$ i, O2 f0132D8D6 . FFD0 call eax
( l3 _4 s6 E. w0132D8D8 . 6A 00 push 0 ; /hDC = NULL
, ]8 p/ a, m$ {# f* Q0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 5 l$ B/ X/ V0 r9 I
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] 5 k! I o# m. Q8 S
0132D8E4 . 51 push ecx
8 _" Q5 F7 }0 N; K# T5 Y0132D8E5 . 8BE8 mov ebp, eax
$ V! [7 r. l0 ?0 n0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
7 Z& _ ^! {5 x0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject $ s6 m9 d/ I0 e' }
0132D8F3 . 83C4 04 add esp, 4 ; {! }7 Y6 A1 X" P
0132D8F6 . 50 push eax ; /hObject
2 V% S6 b$ n( J3 i) J( w% Q0132D8F7 . 55 push ebp ; |hDC & \: ^- d+ t8 I' z$ u
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | $ ?) l1 O B$ h% c
0132D8FC . FFD6 call esi ; \SelectObject 8 S+ q; M* Y2 d! Z4 s
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] ) d) K( Q1 d) {" t1 W4 u! s2 p. n8 y
0132D902 . 52 push edx " f1 u b9 K' Y/ c. e
0132D903 . 8BCB mov ecx, ebx
; C( @* Y/ [# N$ T1 ^0132D905 . 894424 40 mov dword ptr [esp+40], eax ; }, v. h* h( F/ Q( x6 g
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
+ @3 o8 m' K. i3 e0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] . ]( I$ e% `0 |, K5 G% ~. B& n( r
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
- |* r- G! ]3 B) Y) }0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY 9 { ~+ K! Z) b
0132D91A . 55 push ebp ; ||hDC , c: Y- M8 c. p1 f9 T, ]
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
' ^2 _, }5 q; d: f7 E5 c @0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 3 G: Q, a g# q# O4 V: p: t8 M( z) P2 h
0132D924 . 50 push eax ; |Multiplier
" ^. z) T, S. v4 |0132D925 . 53 push ebx ; |Multiplicand
- Z. W% W9 [/ j9 m" f+ k0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
5 P7 \- D3 i; o' x0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] - N% X. P# D/ s X* W1 G9 k
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] ( S8 _9 F4 u& C) ?0 j
0132D937 . 51 push ecx ; /FaceName
% m( G3 T/ s/ f7 O, m0 |8 ]% B& x' ~0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
l1 b& D" G3 f8 q! W* m+ [0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
9 Y; `6 e7 c% s6 J( N/ ~0132D941 . 52 push edx ; |Quality 3 e+ ]* s8 ^9 D( q5 V/ s! I% ?9 f
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS # n* B v8 L, L3 C+ e
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS # y( y# D" e8 v h
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET 6 p' S& k3 m: R9 w$ v. `; G+ q
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
, ?# C, q( i- l( L1 ^3 g0132D94A . 8BD1 mov edx, ecx ; | $ _8 p# M0 d: n# O) j; O/ R
0132D94C . D1EA shr edx, 1 ; |
! p d% J; H+ `2 H6 H; @0132D94E . 83E2 01 and edx, 1 ; | % P4 q2 F& @0 Y. Z5 q1 \1 D
0132D951 . 52 push edx ; |Underline
! a) }. o/ @- A; x: J& E0 l4 w' d0132D952 . 83E1 01 and ecx, 1 ; | 8 x* D+ H) W- X, w
0132D955 . 51 push ecx ; |Italic " r) J- H- [% K& J
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
3 j/ U( Z0 {8 ^+ w+ k% i0132D95D . 51 push ecx ; |Weight # e x! D0 K! O( J; p+ g
0132D95E . 6A 00 push 0 ; |Orientation = 0
8 {6 s; U: A/ C! H8 A5 i0132D960 . 6A 00 push 0 ; |Escapement = 0
: ~% l, J/ j- `: B0 ? D. W0132D962 . F7D8 neg eax ; |
+ I8 G, w5 ~7 o0 W0132D964 . 6A 00 push 0 ; |Width = 0
! l* c% i, U& y# N* k0132D966 . 50 push eax ; |Height 4 o: W4 T" Q) k ~" m# Q& B
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA % d# O8 j% }& s& O8 Q% ^$ r
0132D96D . 50 push eax " l' [( v. D5 K* ]9 H
0132D96E . 55 push ebp ( ?# {3 x6 K& g8 u
0132D96F . 894424 38 mov dword ptr [esp+38], eax
0 W% J R& H. ~& _* u" N5 p: D0132D973 . FFD6 call esi
* [) O3 t+ f; j+ R( n) h1 w* S0 p0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] # I' N; R0 U$ H2 F1 d
0132D979 . 52 push edx ; /pSize 7 [4 y4 M9 H6 g7 F c4 d5 @
0132D97A . 6A 01 push 1 ; |TextLen = 1
7 L: F9 o, ~/ F# i$ \4 e0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
/ A0 G+ X5 E2 T' V# P' V y, G0132D981 . 55 push ebp ; |hDC " r+ W/ T& K' {) d0 t% @
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | + U% q1 t: {" H% i0 e7 H5 }3 N
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA $ N0 V8 O& \# P% i
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] * _( w* ^6 o, g- y$ E4 u" t
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
: W% n# R' v/ R. F' w3 I0132D993 . 8947 18 mov dword ptr [edi+18], eax
" X- l8 S! C$ C( f) U3 g+ x/ d0132D996 . 33C9 xor ecx, ecx ( F( ]! L3 j: }: k
0132D998 . 8BC6 mov eax, esi ) P8 `4 i5 r& {/ z" u( U! w7 f T- P
0132D99A . BA 20000000 mov edx, 20 $ A) ~4 i/ X Z1 S6 }) G
0132D99F . F7E2 mul edx
+ R" Y, _* }4 \5 d0 r3 H0132D9A1 . 0F90C1 seto cl : s6 y$ S/ r# K& F& w( t
0132D9A4 . F7D9 neg ecx
$ z, C! S9 M2 s, D2 x0132D9A6 . 0BC8 or ecx, eax
6 \9 J2 @& D7 E+ d0132D9A8 . 51 push ecx
: a8 S% i; d& ]0 w6 i k/ c4 l3 |0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
. J3 M# N$ S8 |; k+ ^0 c0132D9AE . 83C4 04 add esp, 4
$ g- F6 I9 Y1 h* s3 y/ z0132D9B1 . 85C0 test eax, eax
. j6 k# |' L& @. ]6 b s0132D9B3 . 74 28 je short 0132D9DD 5 b* d4 L0 e" {+ v' B' l) Y5 R6 ]
0132D9B5 . 83C6 FF add esi, -1 7 c* T' B6 L" N0 W7 S2 B
0132D9B8 . 78 25 js short 0132D9DF 4 n, c' M' m. U9 w
0132D9BA . D9EE fldz 7 q; C/ V. N; J" r ~+ _6 V' y
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
3 A. x, C( o: I- {0132D9BF > D951 FC fst dword ptr [ecx-4]
/ H+ J9 E) m3 P/ k, s$ E0132D9C2 . 83C1 20 add ecx, 20
8 Y/ p8 M E4 S- a; j- }0132D9C5 . 83EE 01 sub esi, 1 8 O3 G! j: m o
0132D9C8 . D951 E0 fst dword ptr [ecx-20]
* c$ r( P7 W( I, e0132D9CB . D951 D4 fst dword ptr [ecx-2C]
5 s, E0 X6 J, d/ f0132D9CE . D951 D8 fst dword ptr [ecx-28] 3 E3 Q& t2 @, q. l8 B0 ]0 o$ R
0132D9D1 . D951 DC fst dword ptr [ecx-24] 0 T8 I; X Z+ \
0132D9D4 . D951 E0 fst dword ptr [ecx-20]
+ C& p" w2 {8 t9 B! J) ?0132D9D7 .^ 79 E6 jns short 0132D9BF
" M# w/ z# @7 W" O! n6 _0132D9D9 . DDD8 fstp st ' s0 r: D* Y5 R6 s+ p4 y0 C# W0 i# t
0132D9DB . EB 02 jmp short 0132D9DF 7 v0 ~! u- N' ~3 K* F3 o! t/ L2 B+ I
0132D9DD > 33C0 xor eax, eax
5 h S) e6 F) Z. {9 h+ Y, \% @; `0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
- W/ u3 a8 p9 R/ I. g* N0132D9E6 . 8947 20 mov dword ptr [edi+20], eax & U1 s% m9 f, f" y- V6 ?$ r
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
5 p0 s& T- @0 y4 K2 |3 m0132D9F0 . 50 push eax ; /Bottom
+ i- j8 Z# ` A5 u- v) R: j& e0132D9F1 . 51 push ecx ; |Right ( E$ A- S7 P+ T6 k
0132D9F2 . 6A 00 push 0 ; |Top = 0 0 L% Y! O" J. P6 X% ~6 g! b
0132D9F4 . 6A 00 push 0 ; |Left = 0
' I5 N) N5 o% y; L0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
) c. \: J, s6 ~( U' a0132D9FA . 52 push edx ; |pRect
0 n1 }* ]! b) g% d+ J8 o0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
, r: z# u5 `; w" B5 j* F( a6 A0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH ) i" O4 k* }8 u
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject ' c7 D& d: {& Z% w+ H+ ?: J
0132DA09 . 50 push eax ; /hBrush ' R2 K: ~- _: u3 l
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
1 C/ _3 U; S O" S# p8 ~ [9 p0132DA0E . 50 push eax ; |pRect
: D$ D! S% K8 G7 N7 }3 u# R2 H0132DA0F . 55 push ebp ; |hDC
) I) z6 E/ b4 r1 ?0 D! m. V0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
, K8 @# Z) I0 Z! e0132DA16 . 6A 00 push 0 ; /Color = <BLACK> # x7 f! t* Z0 p5 V I
0132DA18 . 55 push ebp ; |hDC 8 H6 A) {3 m# G
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
9 |5 y' x& }0 O4 Q0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE> ) s7 A3 y0 g9 ^0 z
0132DA24 . 55 push ebp ; |hDC
/ \8 Z. O. F8 y. A1 |* i3 h7 O0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ' f) [) F# h# P2 Q, }" ^
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT 4 V& p( m1 d7 ^- s/ | J: W# R7 c
0132DA2D . 55 push ebp ; |hDC
# h' C5 j7 [# U1 D: e" Q, ]0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
, q5 L+ {3 ?$ T# n0132DA34 . 33F6 xor esi, esi
( b/ T& J% Y& r% X0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi 5 o! e. `1 c9 J7 w0 Z# l9 z/ i
0132DA39 . BB 01000000 mov ebx, 1 $ |- j6 z4 b' c+ z% R, f3 a* `7 y
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
5 L: q2 ?, |! m% M7 n* K- S0132DA42 . 897424 14 mov dword ptr [esp+14], esi
7 Q& P# N5 p5 O0 L0132DA46 . 897424 1C mov dword ptr [esp+1C], esi # @7 J/ P0 L& T- A8 V
0132DA4A . 0F8E 20010000 jle 0132DB70 3 T& D0 W, `- ~, s/ @
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] + A5 j5 w% b/ F& c( m' Q# l
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
$ e m3 i% F9 q; h; d# w( I- z# h0132DA5B . 897424 20 mov dword ptr [esp+20], esi 8 U( y+ q7 w" B& [% d3 ^
0132DA5F . 894424 10 mov dword ptr [esp+10], eax
, E& @( z1 Y$ E: i- X' X, X0132DA63 . D95C24 38 fstp dword ptr [esp+38] " G# Y W: l. O0 Y8 j+ F2 U
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
+ b, }) {, [" O& J3 j# G; O0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
+ Q% R, \2 @$ p9 u0132DA72 . EB 04 jmp short 0132DA78
{6 c, Z, a7 P5 X, S9 L+ [0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] ) K: g! t3 j: ^# b8 p9 ]6 D
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] * ~" h2 n: B/ }! q
0132DA7B . 66:8B08 mov cx, word ptr [eax]
6 @+ M, U0 j, T5 L9 H0132DA7E . 037424 20 add esi, dword ptr [esp+20] . y& Y! l o- j1 r
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
5 }( L2 m/ N, _0 |& X0132DA86 . 0FB700 movzx eax, word ptr [eax] , U6 o3 J* w% c( T- q& a" ]& y c
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] 7 K8 d9 l/ v& p" B
0132DA8C . 51 push ecx ; /pABC
( P) T* C! R- J0132DA8D . 50 push eax ; |LastChar ' I/ X8 o; T' ^
0132DA8E . 50 push eax ; |FirstChar
2 E& Q* G5 n( i6 u6 e1 u0132DA8F . 55 push ebp ; |hDC 5 V0 V3 x# t. O0 ^* Z
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
p& x( x) B. H- b/ { H L0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] 3 j. | q, z7 h9 u: N% J$ I! x
0132DA9A . 66:833A 20 cmp word ptr [edx], 20
! n! k9 u% E& m! u% \ k0132DA9E . 73 10 jnb short 0132DAB0 $ r9 m5 B o8 |5 C: C$ _* h
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
' r& _( Y, ~5 R! O9 V2 P6 V% U5 F0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 % j( t# T2 U- ^9 x/ _
0132DAAE . EB 0C jmp short 0132DABC : u2 s8 m& ^! r
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
3 e2 a; \8 r. a4 V, B2 a0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 ! Z2 e0 K% a E) Z) o: t$ N7 \7 O
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 ! B( J# k4 `/ ]0 `0 F8 p
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] 4 g: B9 U9 N+ A4 p# E7 H9 ^% U
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] 4 m2 t' L* [& g/ v' `
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] 5 V* u6 P0 s( V) ^# L( z
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] % b. O6 ~8 i1 w
0132DACE . 72 14 jb short 0132DAE4
F/ n( ^/ J; w1 I' a! E! \0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
0 S, w1 v1 n$ I C7 c/ C8 E( q0132DAD3 . BB 01000000 mov ebx, 1
& F0 r# |9 l. G w( D0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
, ~" R; ^9 Q/ v2 U0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
: j- U4 b7 S8 }1 _3 D7 A2 T: h$ V0132DAE0 . 894424 14 mov dword ptr [esp+14], eax , q3 \+ \, @; H/ Y' ^8 H7 U) i4 ^/ B( P
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
) ?) @: @, i( b8 D& S& g& ^+ p: z0132DAE8 . 03CB add ecx, ebx . P- j9 Z9 L" f7 P
0132DAEA . 85C9 test ecx, ecx # ], s. J8 F, X" l* i I
0132DAEC . D94424 38 fld dword ptr [esp+38]
- u0 R6 O3 X3 `5 {" _$ p# ]0132DAF0 . D9C0 fld st
5 G) k7 ]) s+ J& p% h' [0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
* V( @3 v; O9 A2 B% ], G$ i2 \: H0132DAF6 . DEFA fdivp st(2), st
9 _0 ~' @9 H" k$ `0132DAF8 . D9C9 fxch st(1) 5 \4 ?5 |4 j1 Z& [# @/ D
0132DAFA . D91E fstp dword ptr [esi] 6 ]# {7 X, p4 x# ?& V
0132DAFC . DB4424 14 fild dword ptr [esp+14]
/ Y1 W: y5 R; x! g- `4 B0132DB00 . D94424 2C fld dword ptr [esp+2C] 3 v" _1 i& O% }+ y" N4 I3 H [
0132DB04 . D9C0 fld st # W5 Q1 ]; w2 w! {
0132DB06 . DEFA fdivp st(2), st
5 s* @5 N1 u6 ^0 f3 }- m; i; s' s0132DB08 . D9C9 fxch st(1) ( l# N! o" }! j" S; E' J) k
0132DB0A . D95E 04 fstp dword ptr [esi+4] M5 v" {- T* d/ B
0132DB0D . DB4424 18 fild dword ptr [esp+18]
2 ?; @3 E% h4 R M0132DB11 . 7D 06 jge short 0132DB19
4 k7 [+ {) k6 I1 R4 l% H0132DB13 . D805 50B03801 fadd dword ptr [138B050]
; r/ k' Q% V. I, _! ~0 V0132DB19 > DEF2 fdivrp st(2), st , u; O+ y8 [2 _9 u X
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] : I7 G2 N, L& _5 x
0132DB1F . 6A 01 push 1 ; /StringSize = 1 2 ^9 k* L0 W9 \7 E+ P1 m) J
0132DB21 . 52 push edx ; |String
1 a* S0 Z: X/ u. h7 z0132DB22 . 50 push eax ; |YStart
/ f$ [1 y% k, p, z0 s+ z: I$ A0132DB23 . D9C9 fxch st(1) ; | $ b) V+ K a4 E/ ?
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
! |$ n( _+ m$ G" Z, v0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | 8 \* U9 m& g8 @3 {! w4 H
0132DB2B . 03C8 add ecx, eax ; | - B. d' z3 N2 N3 t( w
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
. t: b' y( `- o% J0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | ; d, a+ X4 F* {$ V
0132DB35 . 8BC3 mov eax, ebx ; |
$ \$ ]4 v5 k5 q& d0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
# h" Z h' E! U( D; C0132DB3A . 50 push eax ; |XStart & z2 y. S# f) B# d
0132DB3B . 55 push ebp ; |hDC . l6 r* W. A) \& W# S
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | 8 n& {. x1 j0 N) y' }" o: V+ [& w
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW ' V. V4 p; b& u9 \, N: r6 g
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] 0 v+ U6 c- R: J
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
8 j8 }# F( @4 f. V2 n; \0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
% {, l- q' c6 [0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 % i0 X1 E8 }' [5 c" L
0132DB56 . 83C0 01 add eax, 1 4 z: [- U( y& C. w
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
! F1 y3 O s8 N$ w+ L0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
@ b. K/ v9 s! p0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx ! N# k/ E( |- U6 Y% D4 r
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax . I$ q/ G, X3 r' t. a) ]
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
# q: I+ e C9 E/ t% W1 y0132DB6E . 33F6 xor esi, esi
- M3 W5 b# x+ `/ S5 M0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
* T `" ] ?- p4 s0132DB73 . 6A FF push -1 4 z" x2 x4 n) {( J- D4 t4 u
0132DB75 . 83C1 38 add ecx, 38
/ p/ t; H# q+ u N3 d4 V0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> + v" p* \' C, J# {* A) E- p
0132DB7D . 8BD8 mov ebx, eax 9 I+ @' A( z; V* B
0132DB7F . 3BDE cmp ebx, esi
9 o+ x1 s+ Q4 B( |0132DB81 . 74 74 je short 0132DBF7 * u |4 K- m* T# M& w
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] * K. Q! Q2 q1 ~. m1 W
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
0 q5 E4 K) a+ N8 E3 {# S" g/ V5 W3 n0132DB8B . 52 push edx ; /Buffer 3 r2 ~( n) `1 Y9 C0 G
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) 6 Q* }' g( p+ r; b$ W5 [2 z; E+ {5 J
0132DB8E . 50 push eax ; |hObject
2 r7 E/ S) s* Q* z# L( p* L+ C X8 \0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
# L* H! K$ `7 \8 C9 b0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] 3 u! a i9 i4 t, i* f
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
/ \( N C2 r5 U) ~5 n; l0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
* O1 T/ x# s, [6 {9 x; d2 w, a. a0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
U+ E i" u: n+ L0132DBA5 . 85C9 test ecx, ecx 5 F, {5 ~: E6 O9 {
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0
, L7 |2 t6 Z( R: }! `2 F0132DBAF . 7E 46 jle short 0132DBF7 1 p9 P) w$ z7 R# @& F$ }! Y3 y
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
2 j' C6 k2 S" g4 U0132DBB5 > 33C0 xor eax, eax
0 O: Z8 V6 Y# O2 a0132DBB7 . 85D2 test edx, edx
3 W5 _3 }. r' V2 X. h0132DBB9 . 7E 26 jle short 0132DBE1
5 h& k7 B& B F3 F9 h1 h2 V; B4 f0132DBBB . 8BCE mov ecx, esi
# K" ?$ }0 w& A W+ N- s' m0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
# ~2 w f, D4 o- o Z9 p0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] 4 T* n+ y9 v& X# x
0132DBC3 . C1E2 18 shl edx, 18 : \: ` z6 J0 V* n i, K/ m) m! c/ K
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
* V) y9 ~) G% j0 `( ~) u) K0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx ( o/ x9 k d0 q* d4 I/ Y* r5 o
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
$ N; Z4 q8 `% t$ R; B$ H* @& Z1 _9 Z0132DBD3 . 83C0 01 add eax, 1
$ A' y3 J* t8 N6 @: ]0132DBD6 . 83C1 03 add ecx, 3 + x/ p. ]( p; f
0132DBD9 . 3BC2 cmp eax, edx % e6 S0 C4 i, X2 a! w$ w* _& I: L# `
0132DBDB .^ 7C E3 jl short 0132DBC0
, d/ z/ j. |' ]* [( p0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] : ] f; F5 B \0 D' p: p5 X
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] : H6 D+ x. v# m/ D9 I1 s2 K
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] 6 N, Z, O( o: b9 F" K
0132DBE9 . 83C0 01 add eax, 1 3 n. z% C/ S2 B' F. i
0132DBEC . 3BC1 cmp eax, ecx % e' w2 A9 s$ K5 T7 c% M
0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] 5 E5 m7 m% K4 `% {
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax & P( ^+ S5 D7 [5 y7 P) R
0132DBF5 .^ 7C BE jl short 0132DBB5
" Z7 e+ r' A+ P/ w6 U7 s3 f4 ^- \0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] # f5 t& M0 u+ j/ I' f+ r
0132DBFA . 6A FF push -1
6 M( }2 |6 _+ f. B+ S* _0132DBFC . 83C1 38 add ecx, 38
1 x" z% X& ~. Y$ C0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
4 G1 d$ e- B2 G- l, |0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] ! ^! g6 G! _; C( t: ^1 W
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject ) @- ?; d" ~; S, F0 X
0132DC0E . 50 push eax ; /hObject
( U# R! d; f$ b, K) Y, k" T+ P! ^/ Y0132DC0F . 55 push ebp ; |hDC
3 y+ [ r& E! j: |0132DC10 . FFD6 call esi ; \SelectObject
6 b6 @( `6 ~4 u/ r' F0 [0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30]
8 L$ \9 ~: R6 W! x0132DC16 . 51 push ecx $ N' Z% o( P- X2 v& U* m
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
) g* o$ h1 H' G$ C5 F0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
* ?$ {- W0 Q# C C) |$ q! K0132DC21 . 83C4 04 add esp, 4
, N3 S0 y* U* k, |. x1 \* h5 w0132DC24 . 52 push edx
; Q; R& b& }* Q" b3 w( B0132DC25 . 55 push ebp
1 t, i0 U \0 K R" d# R0132DC26 . FFD6 call esi 5 y- F- c8 [/ H. o
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
7 E, [0 X' z* m; \0132DC2C . 50 push eax
% ]) Z/ ~: c4 g6 V; I- X3 U" L7 ]0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
5 r% O3 ?; @- }: B0 ]/ |8 b0132DC33 . 83C4 04 add esp, 4 3 ~# I6 B8 y, v B
0132DC36 . 55 push ebp ; /hDC ; ]/ b9 x; v+ |" ?% n8 l9 E
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
% X" X2 W% D" ]7 w& i. {0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
4 U" I3 a* H! G5 t0132DC41 . 6A 00 push 0
" J" q$ H5 \0 e7 r0132DC43 . 51 push ecx
+ f. f# C; A1 \+ K) `# H0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24] ' W7 W$ @& P1 i q5 \
0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> 2 Y) s* P6 w w5 ^$ X( L: e5 T% z/ n- \
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] " _6 f/ e; a- G7 T. a2 P! I
0132DC4F . 6A 01 push 1
" x, ~! q, \5 T, y0 \0132DC51 . 83C1 38 add ecx, 38
: C! d2 Y Z$ z0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
; w& e' Q; ?% i( W6 V% L. e0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] " g9 H5 I: r K
0132DC5C . 8B11 mov edx, dword ptr [ecx]
6 d. R' g) @/ V) |3 V1 j0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] 0 b* N( W( M4 ]8 l9 x3 i
0132DC61 . 6A 00 push 0 1 k2 j. b1 S5 ]7 v" K* l0 X
0132DC63 . FFD0 call eax * ?" b2 R( F C) u' r! u( l
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] 5 l' a( z" S+ \) W- }
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] 4 }" |5 ?6 Z; t! D4 t: |+ _( t. o
0132DC6C . 33C0 xor eax, eax , A3 v' I# x0 H0 j1 v
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
' E. E, T8 X( D" q0132DC75 . 5D pop ebp / ]' ]7 m2 ?" c3 y8 I6 c& d
0132DC76 . 0F9CC0 setl al Y/ D- w5 W) ?! d6 B
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] " Q/ J2 |; @" \' d
0132DC80 . 5F pop edi
2 F2 C$ O$ d1 ^/ ~8 `. z9 P0132DC81 . 5E pop esi
/ N% N! A; K- A9 T* p+ c5 Y6 [; s# i' }0132DC82 . 5B pop ebx % K# g# [) z8 g6 H
0132DC83 . 33CC xor ecx, esp
Y& n( J f& c* F& V9 b0 P: s0132DC85 . E8 E2460500 call 0138236C ( r% i' l" l9 x" H# A8 A8 H* ?
0132DC8A . 81C4 98040000 add esp, 498
: Y/ N- R$ U c" Y( ^$ A- e0132DC90 . C2 2800 retn 28 |