发现了一个和字库有关的函数,研究中。
; K+ m, `0 \3 A% E# T( \" T( A' c
/ R4 Y" n' @/ P/ w/ c& B0132D7E0 $ 81EC 98040000 sub esp, 498 * D4 x8 Y5 ~: M1 \3 W
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
_% u S( A3 \; M0132D7EB . 33C4 xor eax, esp
6 i9 e4 {8 x, `# U S, F8 r0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
5 L+ V- x* F o0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] ; R+ {& k$ Z& r4 ~
0132D7FB . 53 push ebx
. G" z7 ^* |5 Z- i- ?/ V0132D7FC . 56 push esi
, p' C9 V0 b+ Q* v+ ? n) ?# Z0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
4 Z; U; _+ A) d3 J+ l; s7 m0132D804 . 57 push edi
5 y, S- ]( F5 X7 V2 N0132D805 . 6A 30 push 30 ; /n = 30 (48.)
. w5 I1 g' ?7 F+ D7 o0132D807 . 8BF9 mov edi, ecx ; |
3 W3 o# [5 r @( J0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
# R( b* n" T" g+ z+ x0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | . L: I; d( J& W) G5 F' i
0132D814 . 6A 00 push 0 ; |c = 00
, q4 D9 C: p \) K0132D816 . 52 push edx ; |s # B& p& N [! H4 ]
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
; w, W2 X6 z+ R0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
+ ?9 w4 b' `- U" d- {. a$ e6 w0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
: V6 H& Z9 k6 ?& F, q0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset * _& `' A- `# u
0132D82C . 83C4 0C add esp, 0C ) S: P# a6 m* h* G6 s+ V' s5 z
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 1 W) f0 ~; V5 X5 F
0132D837 . 74 12 je short 0132D84B - e4 W; {9 @- G$ X2 E* ]
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
. V, a8 I6 \) u3 M, q/ z j3 N- O0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" ' y# s( K. ~, m5 }" C$ P4 c
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
# k! R9 K+ @8 B2 p7 L3 [0132D849 . EB 32 jmp short 0132D87D ! M$ ?) j8 C* T" r6 s
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
, ?9 \0 R" s& j; J$ Q0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
) e) a" ^. J: G* r! X0132D855 . 33C0 xor eax, eax
; f/ r+ X E/ p% e0132D857 . EB 07 jmp short 0132D860
0 R3 s+ Y3 p3 z: f4 {0132D859 . 8DA424 000000>lea esp, dword ptr [esp] 7 I! |& l" J% \) o8 \4 h) |8 D6 M
0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
2 E( Y, B/ T) K5 K8 s0 Q' I0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx ! p1 E& j: F/ O A- Z* p
0132D86B . 83C0 01 add eax, 1
/ C2 V' |1 G1 y* H0 W2 P0132D86E . 3BC1 cmp eax, ecx
/ x. r( C* Z9 q( S: ]0132D870 .^ 7C EE jl short 0132D860 * H) k9 s' E; D: J5 b- n3 P
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
& _0 G$ Y4 `" L" i5 b$ o; y0132D879 . 894424 0C mov dword ptr [esp+C], eax " J, u' J' L2 {
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] 3 w) a3 W" G7 b! B, q3 X1 G1 ~$ z
0132D880 . 85C0 test eax, eax & n4 u2 K" X1 {/ I- Y
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] 4 q8 d3 O1 O6 u& }
0132D885 . 75 05 jnz short 0132D88C
& V2 o- O4 ], Z4 z0 D1 W' {% [0132D887 . B8 16263901 mov eax, 01392616 4 ?2 X2 X+ t0 h% ^8 ~: k8 m
0132D88C > 6A 00 push 0 ' |* a6 \, ^* Q( R! l
0132D88E . 6A 00 push 0 & l4 o; H# A, t4 U
0132D890 . 50 push eax $ T p( T! ? _ L
0132D891 . 6A 1F push 1F
5 w! G0 p0 z# d5 r2 k8 X) p0132D893 . 8BCE mov ecx, esi
/ q7 f/ `: c: w, X% j# Q- |. q( d0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
& K) C& a" Q5 |% X* Z0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] # j3 H* Y% w6 q5 w- u/ v
0132D8A1 . 6A 00 push 0 7 u/ i+ d( H; s' o+ H1 v" s! ~3 | k4 s/ Y
0132D8A3 . 6A 20 push 20 - C7 I& G9 k: Y+ |/ ~! G. u2 B
0132D8A5 . 51 push ecx 5 M) u+ Q" T0 X: l# _ |& D% n
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] J9 B; ~* y' x
0132D8AD . 8947 24 mov dword ptr [edi+24], eax
; o* Q& F% m( K$ e. w N0132D8B0 . 8B10 mov edx, dword ptr [eax] " S, c$ C6 U; i
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
: f$ ?' y4 u& p$ U" S0 Q& R" J: l3 E0132D8B5 . 51 push ecx
- @1 _0 r G. Y' X0132D8B6 . 8BC8 mov ecx, eax
4 E" N9 z: N- Z; j0132D8B8 . FFD2 call edx + U' D4 Z. v& }, z2 }
0132D8BA . 85C0 test eax, eax
L, H0 D2 C5 S) w0132D8BC . 75 07 jnz short 0132D8C5 . N( M9 p4 g. V4 b0 U: v
0132D8BE . 32C0 xor al, al
# o( w' q0 N' J: h: E0132D8C0 . E9 B4030000 jmp 0132DC79
7 C- W0 c1 }0 R9 |! N5 [3 P0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
5 v0 E6 D0 P J; D8 Z0132D8C8 . 8B01 mov eax, dword ptr [ecx]
7 `, L# I4 Y, n8 s6 h& F0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
4 T6 n7 Z; J" H# E0132D8D0 . 55 push ebp
! B0 a/ y/ ^& m m @0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
9 D* U( o. O5 U0132D8D5 . 52 push edx v2 z7 b! a' j. n6 f( ?
0132D8D6 . FFD0 call eax / n1 r, f+ c4 b& u8 D4 e6 _
0132D8D8 . 6A 00 push 0 ; /hDC = NULL
4 {3 C2 E$ P; V# \, Z% }& a0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC 7 o) E/ P+ \, p" I* @! H
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] 1 [8 P+ h4 R9 k: F5 A% ^( Y, z! H Y
0132D8E4 . 51 push ecx , }% f, V3 g: B& U- `2 c- a6 W$ V
0132D8E5 . 8BE8 mov ebp, eax - D& {2 H9 l+ p$ U; z. m( ~5 c5 E
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap % g# W- Y! D, d5 P
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject - E- [/ X: G7 X5 w$ I, i- H! D
0132D8F3 . 83C4 04 add esp, 4
; ^! M! Z3 T) c9 _0132D8F6 . 50 push eax ; /hObject
1 b6 k+ C: r3 _" C' w0132D8F7 . 55 push ebp ; |hDC
( k- ^& g6 z/ n' s% k1 m/ H0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
: j8 q4 S& w2 E3 d- n- P2 e0132D8FC . FFD6 call esi ; \SelectObject $ c$ q3 n0 F$ v
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
5 t5 f6 j6 f0 v" i) I; e+ g4 I: ]( h0132D902 . 52 push edx
* A6 p+ L4 C( W, `0132D903 . 8BCB mov ecx, ebx ! E- W% b) ]" u; S8 f) R: `
0132D905 . 894424 40 mov dword ptr [esp+40], eax : A; J5 n, {( K! X! W2 C$ L
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
: m8 r9 ]* U/ S3 N g+ _3 p, }0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
% O+ s. r/ m8 M& G- b I0 \0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
4 R: }5 T& G1 G) T& T0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY 6 t2 b4 ^4 j; l9 w3 t
0132D91A . 55 push ebp ; ||hDC * I! |0 a: `5 b; o
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || 8 |( w; w+ `& ~& ]0 R. g8 \
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps * A1 a. U1 u' ]& R0 }
0132D924 . 50 push eax ; |Multiplier # I* B( E8 b3 X3 E5 n
0132D925 . 53 push ebx ; |Multiplicand - Z- u* [1 E) A8 c1 K% F
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
, A# n& s; a# o- ]5 [$ i0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] * W7 k! \2 [6 Q7 d8 d, C# ?6 j! q
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] 7 l" _ ^9 N* C. E' r
0132D937 . 51 push ecx ; /FaceName
& e& X$ l( \, i9 h0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | * A6 d1 E: I2 i) `
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
( U/ M0 E. E; f- t N: z7 }0132D941 . 52 push edx ; |Quality ; U' f* w. n( \3 v
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS - `# d& A" o7 H6 _; G
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
: o( D6 ~ \/ X3 n, u/ x2 t! m9 l0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET ! b2 a' t; A# T
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
h6 J6 v" v8 p ~0132D94A . 8BD1 mov edx, ecx ; |
. E W1 P- M$ q# ~0132D94C . D1EA shr edx, 1 ; |
6 F( h1 C3 C3 Y5 ^# n) J' W& d0 c2 g0132D94E . 83E2 01 and edx, 1 ; |
. ]$ @. N+ |# O. j4 D( [0132D951 . 52 push edx ; |Underline ! Y$ l# x1 x/ z- g
0132D952 . 83E1 01 and ecx, 1 ; | . T: M7 k2 o1 P8 G/ w2 H
0132D955 . 51 push ecx ; |Italic 8 B& S9 H% t! W' H9 Y4 i1 C8 k n
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | ! l& ~9 w6 G5 {5 V' [! O* I
0132D95D . 51 push ecx ; |Weight 2 p+ ^1 L6 K+ V0 F) k5 |- C+ e" X( c
0132D95E . 6A 00 push 0 ; |Orientation = 0 4 y+ G; i) ^' k9 i" B! G8 P/ ~- H- n
0132D960 . 6A 00 push 0 ; |Escapement = 0 & Y. ~( w6 e8 t& p
0132D962 . F7D8 neg eax ; |
0 d4 q( B5 J# j/ n% z6 h7 V0132D964 . 6A 00 push 0 ; |Width = 0 / B" u' _ W* Y
0132D966 . 50 push eax ; |Height 0 _" w, P* V/ T9 c
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
9 ~" ^# W/ r, a% p0132D96D . 50 push eax 4 h" C6 e7 o# u0 x% @) ~: b
0132D96E . 55 push ebp y- A9 o% l! M6 Y7 E- f+ G
0132D96F . 894424 38 mov dword ptr [esp+38], eax 2 h9 q" _, W, ^! S5 ^: u. J8 _# i
0132D973 . FFD6 call esi * J0 |/ T0 B2 I6 w( A; }
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
% {9 k2 w/ \- N0132D979 . 52 push edx ; /pSize
- y' A) @/ |$ \3 v/ S0132D97A . 6A 01 push 1 ; |TextLen = 1 ; W2 ~9 T1 y$ N: ?, S
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
( r6 U- Y& t9 V. O3 C0132D981 . 55 push ebp ; |hDC
) v0 t) x& Z) }: G5 i0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | * q+ n. r1 k8 t; r4 ]
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
( a+ n L7 O7 p% S) i' U8 {0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
6 P$ X! [/ c |0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
$ ^$ ~+ s( e, [! f. a7 w7 D$ I0132D993 . 8947 18 mov dword ptr [edi+18], eax + ^ a' U. e1 T* c+ B" S( m+ T; B
0132D996 . 33C9 xor ecx, ecx 3 b) g0 x+ J6 o
0132D998 . 8BC6 mov eax, esi & v0 Z/ Y0 n' Z/ v$ n5 [" _
0132D99A . BA 20000000 mov edx, 20 : ?$ A7 t$ @/ a3 L2 f* ?
0132D99F . F7E2 mul edx ' x8 D5 F! f4 h# m' |
0132D9A1 . 0F90C1 seto cl
: v# A+ z# w9 F- {, v, D0132D9A4 . F7D9 neg ecx
6 w1 {4 L( T4 @, K. ?' s# v* d0132D9A6 . 0BC8 or ecx, eax
# o Q, x6 R6 R" q0132D9A8 . 51 push ecx $ f7 A" g' Z6 c) [. G# w1 _7 [2 x$ u
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> ; `' M7 F! {: g# `1 g
0132D9AE . 83C4 04 add esp, 4 / ]% q0 {- `6 j! k! t6 [
0132D9B1 . 85C0 test eax, eax 6 w) \+ j% L- N* w, D
0132D9B3 . 74 28 je short 0132D9DD ( p5 }2 F5 U( q( y i' f% ~
0132D9B5 . 83C6 FF add esi, -1 ; a4 }; s$ `6 ^, I- c/ r
0132D9B8 . 78 25 js short 0132D9DF # a- I6 e$ W% t7 i+ f2 J8 G6 ]
0132D9BA . D9EE fldz # F( X8 a c8 j! n6 I
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
4 z9 z4 \- Z q# G) c! J) Q ?0132D9BF > D951 FC fst dword ptr [ecx-4] ; P0 ~! ^# e& D5 Q
0132D9C2 . 83C1 20 add ecx, 20
6 U7 f3 R4 F5 `: v7 Z2 ^0132D9C5 . 83EE 01 sub esi, 1 ; g1 l4 x. u" l- f( _5 ~
0132D9C8 . D951 E0 fst dword ptr [ecx-20] % r2 F$ U. Q7 j/ S1 v+ N
0132D9CB . D951 D4 fst dword ptr [ecx-2C]
7 t% ?1 s* }& T- F- V) Z% g+ t0132D9CE . D951 D8 fst dword ptr [ecx-28]
/ y% L7 x& e' k" K0132D9D1 . D951 DC fst dword ptr [ecx-24] & A+ t& I5 w# @2 j
0132D9D4 . D951 E0 fst dword ptr [ecx-20] . x3 k+ @3 J2 L$ }- u6 s5 ^/ y: F
0132D9D7 .^ 79 E6 jns short 0132D9BF ( i2 Z! k& A/ E' O9 l
0132D9D9 . DDD8 fstp st . L$ H# s0 h7 a, z( x
0132D9DB . EB 02 jmp short 0132D9DF 8 T" T* G' D$ |& K6 A, j! L
0132D9DD > 33C0 xor eax, eax
" {5 y* Q: B8 Z# {3 o7 T0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
7 h9 y( f1 ] I4 Q5 x1 M0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
g6 ~ v( N. O/ Y- Q# F0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] # w! C- Z& i8 g& W5 K
0132D9F0 . 50 push eax ; /Bottom ( t' y) f2 x" x/ M U- }" z# B
0132D9F1 . 51 push ecx ; |Right " `- r e2 z. F
0132D9F2 . 6A 00 push 0 ; |Top = 0
/ ]8 q0 h: R" j+ K: w( q% { ?0132D9F4 . 6A 00 push 0 ; |Left = 0
" N2 V" V( U5 k9 A# `7 Q0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
* f1 _' s1 O$ B# K# Y8 B/ L7 h$ V% h0132D9FA . 52 push edx ; |pRect & P& r I4 A9 {
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect ' I3 f3 R; g# ]+ `# ?6 Y6 x8 d1 e# v1 r
0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH # m5 m. y7 u3 R
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
; G3 f% K, x& @1 o/ P, g0132DA09 . 50 push eax ; /hBrush - }! b, }4 N/ R( E! A+ D9 s8 C
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | 3 y! ~5 x3 q- Z4 a4 I* \+ P* m
0132DA0E . 50 push eax ; |pRect : B: ]: C' w7 ]+ q0 ^/ ^
0132DA0F . 55 push ebp ; |hDC
$ c: m6 \' a/ |# [3 P) `! L0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
: b c/ A% q' E0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
: _: ~4 \9 }9 ^9 [& T" N6 J# m# Z0132DA18 . 55 push ebp ; |hDC
2 H T% G% k4 v" w# B% o* n! C8 m0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
4 f& H1 z0 G4 f5 j0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE> + m) ~8 s# j$ }/ [% C: f# b* c
0132DA24 . 55 push ebp ; |hDC
! z6 A) f ^4 W9 y# w/ X2 m& D& k0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 8 {6 H$ A' A/ e3 P
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT # `; c$ U9 J* Q- _+ G
0132DA2D . 55 push ebp ; |hDC
- Z& P, w3 n5 p4 W5 w. {2 z$ G0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
$ ~2 w0 ^( e/ \' H& V2 j8 _; q0132DA34 . 33F6 xor esi, esi ' M6 |* v) g2 y& M1 |
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi
2 ~* \: o) w; k, F/ A! e( H0132DA39 . BB 01000000 mov ebx, 1
; M( }7 g* ]+ B' G* p0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx 4 k+ M0 c9 d4 T' k6 i1 S2 W2 p7 H
0132DA42 . 897424 14 mov dword ptr [esp+14], esi
. Z7 _, n/ P% i1 D/ m+ C# b0132DA46 . 897424 1C mov dword ptr [esp+1C], esi % N- v6 F$ v/ L" K* ^
0132DA4A . 0F8E 20010000 jle 0132DB70
. r( z( a2 W! \0 F& e5 P9 \8 `. ?0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] $ d/ Y) a7 a" M8 Q
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] ; c) \/ A' H. t6 S5 c6 P$ j
0132DA5B . 897424 20 mov dword ptr [esp+20], esi : Q% L& g" s! P- V' H! S$ V5 e+ z5 k
0132DA5F . 894424 10 mov dword ptr [esp+10], eax ! W" {7 q! F3 D$ x; l6 k
0132DA63 . D95C24 38 fstp dword ptr [esp+38] ) {; E7 d; e3 [, G
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] ! | W* V7 |/ ~( t
0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
# D! w% H" }% e1 ~7 P# ^0 s0132DA72 . EB 04 jmp short 0132DA78
- g% R* R0 d/ T T6 |5 L0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] 2 ]* x- S! t* W" E: Z
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] 6 q7 a9 J( F2 V! t
0132DA7B . 66:8B08 mov cx, word ptr [eax]
% a l0 J* ~1 K8 S8 ?3 f0132DA7E . 037424 20 add esi, dword ptr [esp+20] ! v7 F! o& K# D: R; c! ^) }6 s
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
, Z* i" C* F( U# W1 N( L0132DA86 . 0FB700 movzx eax, word ptr [eax]
( W! _0 B* f/ r5 R( t E0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
+ E4 B# s' _5 M! Z5 R0132DA8C . 51 push ecx ; /pABC
# W% k) M; h( c: W0132DA8D . 50 push eax ; |LastChar
) B% K. W+ \' Q+ D, v0132DA8E . 50 push eax ; |FirstChar
. u* A$ W8 i8 ~5 K8 b$ X0132DA8F . 55 push ebp ; |hDC % z I7 |8 f5 M$ ^
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW . x. M1 K1 R/ C4 F1 |- ?
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] , x4 _- W% c- w9 r& \; E8 T# A' {
0132DA9A . 66:833A 20 cmp word ptr [edx], 20 " r4 a5 l6 _8 y* G, m. F2 v
0132DA9E . 73 10 jnb short 0132DAB0
8 Y9 \3 D3 ?0 a8 ]0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
( v5 _. B3 K2 [' h. P5 d9 C0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 & M ]. t3 c2 m* } w6 Y5 q
0132DAAE . EB 0C jmp short 0132DABC
1 c) i, `% H8 M0 d0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
) B5 `2 r+ d: G+ C! D- H0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 z- b9 Q3 V+ n0 {/ x# v1 T- q$ t
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
" y8 W/ U# S! M0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] / d" X8 }, H: \! f% D
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] 1 X9 z5 \# R: |+ B# B( l0 m
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] & G3 _7 ~! ?( e
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] B! k4 A9 s, I' a1 G% Y: u
0132DACE . 72 14 jb short 0132DAE4
1 K8 K" L) A) N ^+ J- |0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
8 L* u8 t: e( H; u; Q$ \ }& m0132DAD3 . BB 01000000 mov ebx, 1
$ X+ }( j- K' C0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
. [6 R$ q8 m C" L. A0132DADC . 895C24 18 mov dword ptr [esp+18], ebx 0 k' C# h I: L# q! m1 d
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax , ?6 ~3 n& x# x, k( N& x6 g! A
0132DAE4 > DB4424 18 fild dword ptr [esp+18] 7 ]! ~, T6 Q% s: m. V! U, M* g
0132DAE8 . 03CB add ecx, ebx
0 J# c+ |3 M& g! i7 `0132DAEA . 85C9 test ecx, ecx ; [, t, ?! M% r. `. [! D5 I1 ~
0132DAEC . D94424 38 fld dword ptr [esp+38]
+ S$ c b! i2 D9 t. z/ t0132DAF0 . D9C0 fld st
5 g' I0 T \2 u8 {/ J0 r) f0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
! a' X! }0 F* V0132DAF6 . DEFA fdivp st(2), st
$ F* _6 ?+ U) w5 N" R6 B0132DAF8 . D9C9 fxch st(1) % a% I Z/ n% u; Z% C
0132DAFA . D91E fstp dword ptr [esi]
$ ] d9 a! u1 y' ?6 D0132DAFC . DB4424 14 fild dword ptr [esp+14]
- m' f& K6 a) H: h0132DB00 . D94424 2C fld dword ptr [esp+2C] 1 Y, A' A' Z- S" r
0132DB04 . D9C0 fld st 9 V2 P& L& a/ [" Y2 L
0132DB06 . DEFA fdivp st(2), st ! ^) N/ Q4 D5 D- z b5 N
0132DB08 . D9C9 fxch st(1) & r( N( J; F. V1 M7 n2 d0 g
0132DB0A . D95E 04 fstp dword ptr [esi+4] 2 o& s" X# ~0 M5 i" [" Y% C+ F( k
0132DB0D . DB4424 18 fild dword ptr [esp+18] ' l3 w$ _' p) ?5 _
0132DB11 . 7D 06 jge short 0132DB19
1 T& j, I; I& w7 h3 ?" }0132DB13 . D805 50B03801 fadd dword ptr [138B050] 0 C) e7 A9 ^' Z# `, [) l; J
0132DB19 > DEF2 fdivrp st(2), st
& M+ i2 E& D$ J8 f) w0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
& M9 @* @+ ^- [$ U9 h3 t" C0132DB1F . 6A 01 push 1 ; /StringSize = 1
4 }" A/ n1 `/ ^) R* I0 \% e0132DB21 . 52 push edx ; |String 9 V- Y+ r$ F& d# j% A A
0132DB22 . 50 push eax ; |YStart 5 x. ?2 W B# A% ]) D. P! T Y- \
0132DB23 . D9C9 fxch st(1) ; |
, i) ~: S8 O! E4 y0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
- I2 ~7 T# n" f: s" T2 ~0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | + _2 V- O$ q Y6 l% S8 g" q1 a
0132DB2B . 03C8 add ecx, eax ; | - v) W `4 Q# `8 b
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
: o! F* [' G9 K9 G0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | - r; I1 k8 a1 @0 B, E
0132DB35 . 8BC3 mov eax, ebx ; |
! B" }. a& Y: ?% o! ^/ e0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | ! H h# X2 Z; V4 e. B3 g! x
0132DB3A . 50 push eax ; |XStart ' O) u0 G9 {9 g7 \/ ^" [
0132DB3B . 55 push ebp ; |hDC
) \: v p0 W) u& g' }8 ?% ?, v5 v0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
( o( `$ h- m2 B, ^% n9 s: d0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
" r" X V6 ?& `! E" s! Y0 U0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] " y$ M* L" R. T, k/ x% T- w" d. Q
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18] 5 j9 F" U q5 u$ G7 |' G! Y3 C
0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
, C) {; g; r. X% w2 g0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 , x0 v0 w6 k2 T: c8 e
0132DB56 . 83C0 01 add eax, 1
* b4 t+ o( o% @4 ^0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
8 F+ R- U& Z0 C5 }0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
. M. b- |2 o3 y# e0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
) d( P' f2 D8 l: G$ ]0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
) L Q4 V! O. s) h* S7 m$ f( {" ]0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 2 j, z- K/ H; k3 {' }0 Q" m0 G
0132DB6E . 33F6 xor esi, esi " F' q9 J- n( ]2 [& }; f/ y
0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
. u% _( F7 T, l3 p0132DB73 . 6A FF push -1 + h- V P* l& ~( S
0132DB75 . 83C1 38 add ecx, 38
. z& k/ V& m( Q7 X2 \0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> ( T' a' q/ E0 u: j
0132DB7D . 8BD8 mov ebx, eax
8 U( k# ~( U4 t4 G6 w8 G1 I0132DB7F . 3BDE cmp ebx, esi
3 s4 R- `: {. [6 I0132DB81 . 74 74 je short 0132DBF7 ; [; {+ _8 F2 p( d" g3 @4 k
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] $ ]" q# b% o; G& {- Q- t3 i- x
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
4 i1 [' `* A& j& T6 R- T% ?1 O0132DB8B . 52 push edx ; /Buffer
" L2 n' y0 Y2 c; ^7 [3 v3 L* w7 @$ \" w$ U0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
8 i; Y3 Q1 V! F% T0 X/ j0132DB8E . 50 push eax ; |hObject + k& U* w1 v/ f5 k% g
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
* _; \% d- s9 l" \" S# c) c0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] % z% N! z( U2 v9 B9 @% [ G) Y* d
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
* ~5 E6 W! [ t/ X9 C6 Z0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] ' Z7 Z! S# Q1 \. m) d2 r6 W
0132DBA1 . 037424 54 add esi, dword ptr [esp+54] 0 X. y% Z q7 {
0132DBA5 . 85C9 test ecx, ecx ! C7 ]0 |7 Z) O4 D5 J
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 5 r% t" K- f0 V/ W. Y
0132DBAF . 7E 46 jle short 0132DBF7
+ ^! |! X2 _' ]/ `8 Q/ B: f! S/ |0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] 4 X% \- o1 [$ p; L' o. t
0132DBB5 > 33C0 xor eax, eax , c- j- P. f: d! p5 c4 L
0132DBB7 . 85D2 test edx, edx
# J* b* j. @: [. d0 P0132DBB9 . 7E 26 jle short 0132DBE1
8 H" j s& ]$ X3 O0 e9 V8 P, }5 T0132DBBB . 8BCE mov ecx, esi ' n8 o' v: o; ^. |* B
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
$ b# J. h! `+ q; }# C, w0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] 6 {8 z- G9 s; [0 X/ ]' k; i1 S$ u
0132DBC3 . C1E2 18 shl edx, 18 % I$ ]. T' N5 V u
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
# d7 j# y3 U) d" a) w0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
6 a x7 j) o, k" l$ v% l0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
* s" a2 G7 | s2 j0132DBD3 . 83C0 01 add eax, 1
! h2 s# p) c4 Q$ {& ~0132DBD6 . 83C1 03 add ecx, 3
$ f/ X$ g7 r+ [% T/ L3 H1 [; p+ q0132DBD9 . 3BC2 cmp eax, edx
+ c0 t0 G9 [! U' g, j( [0132DBDB .^ 7C E3 jl short 0132DBC0
) M1 l' r6 \# F, r' z& h, N0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
0 w+ \; n7 N# I& E0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] % G0 Z2 B1 E7 O! i) _) L4 o0 j
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
. F. w6 n% Z% ^7 K" J% a0132DBE9 . 83C0 01 add eax, 1
3 ?& I r) k+ r0 w) X% X0132DBEC . 3BC1 cmp eax, ecx
" ^% k5 a5 P5 k7 Q/ a( d- o* R* ]1 Y0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] 8 g. K+ a) _' Q @
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax , ^' {4 V- k, R7 z) L' M
0132DBF5 .^ 7C BE jl short 0132DBB5 & h$ Z( S9 z# |& a
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
, I k9 w- t" I( v& v) ]$ e0132DBFA . 6A FF push -1
* n6 [7 I% @: J0132DBFC . 83C1 38 add ecx, 38
9 P1 C7 A% V, Y8 i0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
! q$ V# k7 o" O& t$ A$ l& [5 i3 H0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] ) P+ K- h5 x4 M+ P8 i
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 8 c# C/ d. |( [! }% N
0132DC0E . 50 push eax ; /hObject
6 s- @* l4 t8 S# K: m/ w: [) s0132DC0F . 55 push ebp ; |hDC
" X) j7 x$ k3 t7 W2 I( ]0132DC10 . FFD6 call esi ; \SelectObject
$ }0 I. v( C0 v, t& G0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] + O" p3 t) e# Y+ z. \9 W' v) F2 }
0132DC16 . 51 push ecx / E( T! L1 e, ^
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont . q9 b5 g9 s0 o& U, `
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] 6 y* U `6 u- M2 t2 u
0132DC21 . 83C4 04 add esp, 4
! g. n9 M1 U. K0132DC24 . 52 push edx 6 m+ v7 \1 f3 a& j+ _" v/ ~
0132DC25 . 55 push ebp I3 t( h3 ^& a& j6 _+ w0 E( x0 j
0132DC26 . FFD6 call esi , ]/ z# t; Z, y& p& D- }
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
; \& k2 D9 X; H/ k$ Z/ E0132DC2C . 50 push eax
% P; ? {8 J" ?% |: [# X0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
7 \ ?. ]$ i+ l6 B. N! M0132DC33 . 83C4 04 add esp, 4 7 s" H7 a; ]% O. L) i5 h" a0 g% @
0132DC36 . 55 push ebp ; /hDC
9 W. N6 j- F( ^6 }7 a. y0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC 9 V9 m# [8 ?9 V+ f- ^ j
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
6 o5 C3 K2 _) }# ^1 e/ f8 d+ j' p3 ]0132DC41 . 6A 00 push 0
5 {6 I+ R3 v% k, ]& `0132DC43 . 51 push ecx
; D- m U7 v" [* @! g' t0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
" X6 P( o5 J N" c: a0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> ' I% d; l$ G: b9 C
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
' ^& ~2 ^9 Y6 b$ n1 h( v0 I0132DC4F . 6A 01 push 1 5 Y: \5 Q- D2 [, O# d0 {
0132DC51 . 83C1 38 add ecx, 38
& L. R# R8 z* v1 c0 R- R0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> 8 ~* {8 i! Q: `9 S) O
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] ( V n$ z& k0 D
0132DC5C . 8B11 mov edx, dword ptr [ecx] + I1 J, k2 j: T. a( X- W2 {
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] + w' p& _6 h- _1 r5 y4 `. ^0 M# I$ f
0132DC61 . 6A 00 push 0 2 ]# G. L9 g% [: F
0132DC63 . FFD0 call eax % w& {& z& a6 q2 l \
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
. r0 i# E! e' H' H+ A7 V0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] ! T" R3 Y2 C% ]/ ^
0132DC6C . 33C0 xor eax, eax + G6 \% ]1 ~9 B% w9 k9 t
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 8 `6 p+ e& \* r! P2 y
0132DC75 . 5D pop ebp
+ N! X( f/ k% i$ B* w2 f4 T. T- C0132DC76 . 0F9CC0 setl al 4 q- y5 ?' e, w5 Y% D! ]& M
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0]
9 ^+ I+ y, O' ^0 G6 k1 Q$ ~! [0132DC80 . 5F pop edi
* J! n; w$ K( C$ M+ i# d# S- E% b0132DC81 . 5E pop esi # d3 |" r* ]$ ?: A* J! j. m
0132DC82 . 5B pop ebx
3 }% P( A4 y0 d Z1 L& Y: S3 ^0132DC83 . 33CC xor ecx, esp 1 U; }* F1 w' o+ \7 ]: Q2 W& x
0132DC85 . E8 E2460500 call 0138236C 8 D6 G+ |# H4 R( {
0132DC8A . 81C4 98040000 add esp, 498 . X# ?( L' H* X
0132DC90 . C2 2800 retn 28 |