发现了一个和字库有关的函数,研究中。
& l' n2 c1 m. ]0 c$ K+ x: ]$ e
& I; ~7 @# @6 b/ ^0132D7E0 $ 81EC 98040000 sub esp, 498
9 J& T7 i$ J. f) s9 G W, y+ X0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] , J9 B* M( G- H8 K q+ S. O
0132D7EB . 33C4 xor eax, esp
+ h" h f0 O4 x2 {! z6 b& v0132D7ED . 898424 940400>mov dword ptr [esp+494], eax : l7 K. }- p. w% `9 d- l2 p& [- a
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] 7 |' \" E6 ^- s1 l H1 Y7 B7 T# s; C; Q
0132D7FB . 53 push ebx 2 F. f& `8 L( n m+ ?. b; g
0132D7FC . 56 push esi & U I$ T4 ^ W4 ?) j
0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
0 k; A! Z! V8 `# h7 {9 u0132D804 . 57 push edi / u& Q; z" [- r
0132D805 . 6A 30 push 30 ; /n = 30 (48.) 6 a: y0 u/ ^9 d
0132D807 . 8BF9 mov edi, ecx ; |
) y# q8 F; h$ E: |8 M; i% t7 V+ K# E0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | ) T, u6 F- |* p$ m9 s' v. X
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; |
1 d2 G. Q. k5 r6 l0132D814 . 6A 00 push 0 ; |c = 00
/ y+ y/ ~/ \7 _+ e9 M0 v0132D816 . 52 push edx ; |s
; Y# |* B/ l$ K% W' p9 O7 q; [0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | 0 i7 ]8 u( ]) T3 G% Z4 V7 F
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | + S- d/ @5 ?# P" ]# K2 y( E5 \
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | 8 w! e1 J# ]/ k* o K/ n
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
7 x/ V3 { V* C: j4 h1 y9 A0132D82C . 83C4 0C add esp, 0C ' U k0 }+ M- ]
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
7 H0 j# k1 B1 q) \- p) Q0132D837 . 74 12 je short 0132D84B
, ?/ M: g8 h# s n% T0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] 1 h8 ^7 u+ N' `: n% C: Q6 H
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
/ a v9 \ c4 _# }, v6 M- j4 k0132D846 . 8947 1C mov dword ptr [edi+1C], eax 6 K/ D- }' h9 U2 b( R
0132D849 . EB 32 jmp short 0132D87D % y% w2 x* Q) e4 B' j, L* v E
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 ' X, ]: @! s. L( d5 l
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
2 ? O6 P E5 }9 Q/ y7 o4 g4 ]% }7 s0132D855 . 33C0 xor eax, eax
! l* S( J: \) X0132D857 . EB 07 jmp short 0132D860
' L: H3 i) G- G' v ?0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
4 t/ A* z/ O% _ {5 f0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
. j' |! v0 N) w' f9 J0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx 3 e) z3 r: {5 `6 D0 S/ h
0132D86B . 83C0 01 add eax, 1 + u/ X1 n& l4 m) Z% v5 N. f% c
0132D86E . 3BC1 cmp eax, ecx # n2 x, ], j( ~: o8 n9 D n
0132D870 .^ 7C EE jl short 0132D860
: j2 M h) Y$ v( v6 u0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] # |) @0 N, }, Z' A V
0132D879 . 894424 0C mov dword ptr [esp+C], eax 5 V7 h( |2 Z) L" q) X7 J2 B3 k
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] + i3 z; s, I5 d% E% N9 t7 I& f, `# ^5 b
0132D880 . 85C0 test eax, eax $ I- _4 d, }1 J( T
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
0 S P: v5 w& y0132D885 . 75 05 jnz short 0132D88C
' ]( Z! ]0 [" e6 |" ?# s0132D887 . B8 16263901 mov eax, 01392616 0 f' D" k6 H2 m5 T* S$ m0 R
0132D88C > 6A 00 push 0
9 ^. I' D7 O$ U! I6 I0132D88E . 6A 00 push 0
, S# P% X9 ~; Y6 s# I+ f1 ^7 O0132D890 . 50 push eax 5 t* t! ^! c6 Y! m
0132D891 . 6A 1F push 1F
& l! G8 S5 }6 ^. a3 u$ ?8 G) F) Q0132D893 . 8BCE mov ecx, esi * M" e) b4 X. J4 a6 B5 j6 V( N
0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
( T( z. E6 B+ L: R' {/ Z3 }0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
, v2 j/ V9 o0 m! J, E; B; ?0132D8A1 . 6A 00 push 0 * I- l) a; w2 t# c+ G; h* H
0132D8A3 . 6A 20 push 20
) h T: ~8 s8 ~, }+ a" M/ D2 D0132D8A5 . 51 push ecx
1 i7 R# m+ A7 U& j6 b0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] 8 x' K" n- l; ?. ~/ X# @
0132D8AD . 8947 24 mov dword ptr [edi+24], eax
% z" j. ?* Y# n0 S; F0132D8B0 . 8B10 mov edx, dword ptr [eax]
5 o9 r1 Q6 W4 m& Z0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
# ?7 H) \6 b+ `, z8 e/ c, K' [- K0132D8B5 . 51 push ecx
- j S+ D. b: Q' |& U3 w* g A0132D8B6 . 8BC8 mov ecx, eax
! [* m& x# f5 Y0132D8B8 . FFD2 call edx 3 F: s1 J& ^) D3 s
0132D8BA . 85C0 test eax, eax + _: g0 o: w" E5 o# g8 [
0132D8BC . 75 07 jnz short 0132D8C5
/ s+ u/ y4 c6 [; ~0132D8BE . 32C0 xor al, al
- V6 G; a- `/ g* `0 B0132D8C0 . E9 B4030000 jmp 0132DC79
% b7 O* G, _* P" C; b' a0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] ' X, B! i- d- _" k) k
0132D8C8 . 8B01 mov eax, dword ptr [ecx]
# R ]- X; L" |) I0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
4 Z0 x% }0 S0 S' w/ v9 ~4 d! Z! d m0132D8D0 . 55 push ebp " j0 f {+ a- r# o8 z6 d
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] ( u% e- u9 H; J1 n9 @# c
0132D8D5 . 52 push edx
4 A6 ~) c c+ R3 K1 g7 M0132D8D6 . FFD0 call eax
- g! j% |0 _- s0132D8D8 . 6A 00 push 0 ; /hDC = NULL
2 G. Y/ o5 v/ k% g$ |! Y$ Z" V0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
6 [8 Z% W& m. J+ D' e: q/ f0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
0 x3 y3 g: N( K( R2 ?0132D8E4 . 51 push ecx
5 e3 O5 U8 l: M1 `) `+ C+ B0132D8E5 . 8BE8 mov ebp, eax
8 L% O7 B* ~& B( U( {. c0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
" b$ f* H8 P! u' e0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject ) n D3 x& X$ E& n7 r& O
0132D8F3 . 83C4 04 add esp, 4
) E- n! a; x1 n* P* |" c! m! S0132D8F6 . 50 push eax ; /hObject # P3 @# e& [0 ]
0132D8F7 . 55 push ebp ; |hDC
4 _% @1 T0 }$ u: V. J0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
& d7 q3 L+ C: _# `8 i5 N- @5 B0132D8FC . FFD6 call esi ; \SelectObject
& b* m# ^( Q& }, i! o! N0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
, S0 I6 J; @7 k9 k6 l5 b0132D902 . 52 push edx 0 F$ |# I0 d; \1 B
0132D903 . 8BCB mov ecx, ebx 7 u* i$ N! s( r; N# u v+ M; o$ y) d
0132D905 . 894424 40 mov dword ptr [esp+40], eax
0 R2 n% [& T- t8 p0 k0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
- m$ a6 c3 a$ S3 z D# F7 U& ^0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
% a3 F1 C: h5 V5 N) v0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) / K: X6 a: z# z9 D& E
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
0 c( w. f8 u. a! z0132D91A . 55 push ebp ; ||hDC 8 z ]' U/ h; ]- g1 x
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
3 m* I- s! O4 k( ~( D: j& m0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ) Y0 ]" L9 J6 P
0132D924 . 50 push eax ; |Multiplier
) e* f' X0 x9 |7 ]1 o) A: D5 ^0132D925 . 53 push ebx ; |Multiplicand
% c5 I+ x4 [+ I; J2 i6 k5 ^0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
4 i" B* [' u7 G; E9 [* e/ ~5 O0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
! n, S' f& g) w% c; p" T& m& ~0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
$ w% c- Z0 h) I& W* G( f; z; i0132D937 . 51 push ecx ; /FaceName J9 |( m2 r! A9 }3 d! A0 R
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
3 p& b7 J7 F5 ]4 r0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE - |+ S3 N. j$ e& P0 I- s
0132D941 . 52 push edx ; |Quality
( l- p0 L5 d4 ]* E4 w0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
3 f0 D' H5 o; \, x0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
% a; @( ?9 a! X0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
( Y+ h' O( _3 f/ B, y+ r0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE # \) C, w! n! H" m5 ] C
0132D94A . 8BD1 mov edx, ecx ; | 9 w8 e6 ~+ `: N2 B# z0 y v! P
0132D94C . D1EA shr edx, 1 ; | 5 h1 I- d- a& U2 z% `
0132D94E . 83E2 01 and edx, 1 ; | B0 \, @0 M7 \& e1 |
0132D951 . 52 push edx ; |Underline 9 E* v7 h# a1 i2 G" x* H5 O
0132D952 . 83E1 01 and ecx, 1 ; | 6 e, _# d9 B. @$ ^8 i
0132D955 . 51 push ecx ; |Italic 3 @) N% Z! N% S, U: |
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | 6 E# ~' I' O/ f5 g/ L: h; j
0132D95D . 51 push ecx ; |Weight + k S# `# D8 L7 K. T; _! N. r2 p- E
0132D95E . 6A 00 push 0 ; |Orientation = 0
( C- J. s7 p, A% c# P; x: h0132D960 . 6A 00 push 0 ; |Escapement = 0 2 l* c) _* G# p3 W: \
0132D962 . F7D8 neg eax ; | ! {! Y/ c; E( S M/ M: G0 f. K3 B& P
0132D964 . 6A 00 push 0 ; |Width = 0
5 J. S$ W4 ]# i, G% M, Z, G0132D966 . 50 push eax ; |Height
$ v A0 R/ x! {3 @0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
X2 o# u9 F6 p) L# u* \% c) ?0132D96D . 50 push eax + u7 a8 P* F/ _8 e% n' o$ S
0132D96E . 55 push ebp
8 O/ }# c5 u9 X$ F& N# c0132D96F . 894424 38 mov dword ptr [esp+38], eax
3 R) k' r1 I3 f1 J0 z2 `, k0132D973 . FFD6 call esi " H, I& Q M" m! s7 E
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
4 `8 m1 _) X, X1 Q9 K8 o* Q4 z; Z0132D979 . 52 push edx ; /pSize ( O6 U# j2 k/ w7 i
0132D97A . 6A 01 push 1 ; |TextLen = 1 ! K: F- x& c1 D. n+ J8 J" J
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A" 7 k1 @% r5 {& s2 g$ Y
0132D981 . 55 push ebp ; |hDC . p/ j Z2 r4 g9 L" B4 b
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | 2 P% n" O5 H& B/ B5 @; G- M# `
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
/ c8 T: W$ M4 C$ Q; g# L6 D, m0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] * ]) r( D8 l& o1 }& a: H$ e4 m
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] 0 a' d G2 c8 f+ G9 O/ l1 G& F
0132D993 . 8947 18 mov dword ptr [edi+18], eax ' ]7 B- \) k6 V( |1 s; K) }8 }
0132D996 . 33C9 xor ecx, ecx 7 t Z2 r+ s5 ?6 Z5 U* k5 r
0132D998 . 8BC6 mov eax, esi & x- | `' G( T3 C3 r
0132D99A . BA 20000000 mov edx, 20
0 P- c7 g1 B# p, J: N0132D99F . F7E2 mul edx
( C e, E/ j: R0 G0132D9A1 . 0F90C1 seto cl 0 C. s) h M) a4 J# Z9 ~ P' ?
0132D9A4 . F7D9 neg ecx
7 p" n* h+ a' n d6 f% R. j0132D9A6 . 0BC8 or ecx, eax
- U9 ?% @. L: y# M0 K( E% Q0132D9A8 . 51 push ecx + G/ I7 y0 \! t- n% J# J% _
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
p& h+ Q3 x$ j. m/ y7 l2 U0132D9AE . 83C4 04 add esp, 4 7 ~ _# q- o% ]5 O+ ~ {
0132D9B1 . 85C0 test eax, eax
& A5 t4 u6 ^5 x* f0132D9B3 . 74 28 je short 0132D9DD
6 p" [/ B" A5 S0132D9B5 . 83C6 FF add esi, -1
# j/ c0 P+ p( |0132D9B8 . 78 25 js short 0132D9DF - T4 j# ?3 m; }# R; A
0132D9BA . D9EE fldz
4 S. H) b& Y- G& q) m5 G0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] _& }# n$ ?6 n$ S: E: r4 N) }
0132D9BF > D951 FC fst dword ptr [ecx-4] $ Q- ?4 u4 ^* ?
0132D9C2 . 83C1 20 add ecx, 20 ! n1 I6 A ~( b- H
0132D9C5 . 83EE 01 sub esi, 1 - g* h* i$ M3 m$ A1 T
0132D9C8 . D951 E0 fst dword ptr [ecx-20] 9 R! J0 C, D r7 ~# o( X; w( i
0132D9CB . D951 D4 fst dword ptr [ecx-2C]
: I- s0 m+ |$ v/ l9 w! O0132D9CE . D951 D8 fst dword ptr [ecx-28] + t* n$ U! C5 o& [% ~2 q
0132D9D1 . D951 DC fst dword ptr [ecx-24]
- U, y' X5 I$ j0132D9D4 . D951 E0 fst dword ptr [ecx-20]
) T; _: |$ {# }6 F; r, b% z0132D9D7 .^ 79 E6 jns short 0132D9BF - ] `$ d) c- s( n7 ~* _: @
0132D9D9 . DDD8 fstp st |( |9 v7 w( I" o5 a
0132D9DB . EB 02 jmp short 0132D9DF
. `; r4 R$ ^, ]- v+ k0132D9DD > 33C0 xor eax, eax ( k/ @0 F$ V4 e# @- B b0 D( l. G
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] " N' W' e- H9 p' o) {7 R
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax ~7 _; x3 ] Z6 D
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
. N- S* k6 A" ?# I6 l+ t7 g0132D9F0 . 50 push eax ; /Bottom
- Q, F0 `, p7 V0132D9F1 . 51 push ecx ; |Right
$ y1 H: d" j+ q0132D9F2 . 6A 00 push 0 ; |Top = 0 6 d1 l; q+ N7 j4 x' I" X
0132D9F4 . 6A 00 push 0 ; |Left = 0
/ }2 ~. q- S) C5 }9 o& @0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | : t% E8 i$ Y. |$ d( Q1 }
0132D9FA . 52 push edx ; |pRect " u/ F8 h- G) T$ M9 r4 M
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
: o ^+ h$ d+ |+ _' @0 R0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH 1 a5 o' V" X% ]/ y1 s
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject & Q# q3 |- I: l; z. q. R8 _
0132DA09 . 50 push eax ; /hBrush , u" n8 k9 [$ a ]2 y) X3 l$ y. P
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | 3 x" O- |( }6 ]$ D. q3 C! T: ]0 ^; J& D
0132DA0E . 50 push eax ; |pRect
i5 B- @$ X. h9 v" w5 A0132DA0F . 55 push ebp ; |hDC
) a' q+ h0 ^) W9 T0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect J; m2 E* D2 |$ \% Y
0132DA16 . 6A 00 push 0 ; /Color = <BLACK> # x8 Q' z7 S3 v" y
0132DA18 . 55 push ebp ; |hDC + y* [7 W+ [7 n- R U
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
0 M/ Y1 t' {, ~, N0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
( l; N H: U& b1 R/ J9 D) t- ~0132DA24 . 55 push ebp ; |hDC
- O" Z6 R z: d( D0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor % M) i7 T: V9 u4 u3 d4 _
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT 9 {9 {0 j, h' b2 N
0132DA2D . 55 push ebp ; |hDC ! }3 n/ g+ d2 h; B$ E
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode 0 B! a; t( T. V6 ~0 W
0132DA34 . 33F6 xor esi, esi % _3 e+ C* _. h: O5 V
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi
: L) J4 T: ]$ I; \5 D* m0132DA39 . BB 01000000 mov ebx, 1
/ H1 R4 a3 G* r2 F0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx 3 K0 F2 C o! C* \% s
0132DA42 . 897424 14 mov dword ptr [esp+14], esi 6 P/ \# K3 P4 t; s
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
- h' D7 O# x5 F \ a0132DA4A . 0F8E 20010000 jle 0132DB70 % p' z! a: @: a6 [& x" ^, b
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] 4 o( Q! C$ C4 ?* z5 A4 T& ]
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
$ V( E3 z' ?3 z0 E& s/ g+ Z8 C0132DA5B . 897424 20 mov dword ptr [esp+20], esi . _( C/ U# @2 H* z/ {$ u
0132DA5F . 894424 10 mov dword ptr [esp+10], eax 3 @# T6 _3 q5 B& T0 D
0132DA63 . D95C24 38 fstp dword ptr [esp+38] ; M( P/ w! c# P3 W) c( O6 @+ I* t
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] & y1 k1 w- |4 {/ O c5 ^5 S R: k
0132DA6E . D95C24 2C fstp dword ptr [esp+2C] # x" y0 C3 I, [; `0 L; u
0132DA72 . EB 04 jmp short 0132DA78 ! }9 z. y# L; ]2 d/ X
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
, W6 ^8 B( K0 U& ]# }0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
' o7 m |3 J$ r" k0132DA7B . 66:8B08 mov cx, word ptr [eax] ! X8 f3 Q) C* e% P; G- v: m
0132DA7E . 037424 20 add esi, dword ptr [esp+20]
5 m& ` R, F* ~2 m: q* _* a0132DA82 . 66:894E 10 mov word ptr [esi+10], cx - j' H- S. Z; X' E' i6 c6 {: c% n) z
0132DA86 . 0FB700 movzx eax, word ptr [eax]
- C' ^; l0 c9 i3 d% j0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] / N4 x; l* s+ r. t% b6 `" _0 i& a8 j
0132DA8C . 51 push ecx ; /pABC
/ n5 `% }& J i: f* l0132DA8D . 50 push eax ; |LastChar % s# Q6 |# }. x D* B) ~
0132DA8E . 50 push eax ; |FirstChar
9 I* q& H1 l" M6 _. ^3 K: ~% Y0132DA8F . 55 push ebp ; |hDC % C, ^( M. }8 K6 A4 i0 g# X+ [
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
! l0 C9 U9 j7 H; h2 s8 x4 x/ O0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
% m+ V' @( J0 D3 ]9 h- E0132DA9A . 66:833A 20 cmp word ptr [edx], 20
0 p8 _% Z1 e" d0132DA9E . 73 10 jnb short 0132DAB0
: L# R: B G* c/ |0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 0 g- U$ u' X; B# e. O8 I/ r8 X& S
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
/ u. ~7 V+ A( i: R" V1 V" L7 c, H0132DAAE . EB 0C jmp short 0132DABC
2 i0 ]1 n/ R- j X) [0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
6 d( v. E g3 o" Q8 s! }0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 7 y. p% j6 L5 v8 E
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 * l# T7 W* w) m+ }" V
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] ' A% U1 a" @9 ?0 P5 O+ U" C
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] ; S6 d# c/ `+ G% s6 o! ~
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] - l7 l# d9 k3 b( Z4 X
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] 6 z3 }' u) W7 f8 y4 r8 _" M- R
0132DACE . 72 14 jb short 0132DAE4 % Y) ?# y; q8 e* v
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
, `0 X* j8 n4 x; w# m& g. t0132DAD3 . BB 01000000 mov ebx, 1
d: f% i+ k/ h: b* M6 e0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
$ ~2 f% d0 |& t5 l1 y9 \4 P X0132DADC . 895C24 18 mov dword ptr [esp+18], ebx $ f# C% W/ Q( }! y% ~+ t, L& _
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax 6 w% ~8 a3 ?5 ]
0132DAE4 > DB4424 18 fild dword ptr [esp+18] / B6 t+ m5 O4 `. _1 V2 D
0132DAE8 . 03CB add ecx, ebx , Z$ v9 }' u T' o; s9 a
0132DAEA . 85C9 test ecx, ecx
+ `' v4 m% Q1 N' d2 X- {0132DAEC . D94424 38 fld dword ptr [esp+38]
4 Y" x* r% R% f* o+ ~, n3 }, i0132DAF0 . D9C0 fld st
/ m* I+ x6 b3 [ \3 G0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx / v. I& u2 }1 I, Q! H X8 r3 n4 d# o
0132DAF6 . DEFA fdivp st(2), st
" t9 A/ p: Y) M& J6 `" @/ s) R4 a- Z2 A6 }0132DAF8 . D9C9 fxch st(1) 9 H2 ]3 U2 I5 G6 H6 [+ U& c+ n
0132DAFA . D91E fstp dword ptr [esi] , R8 u$ e) y& w% |% C6 V+ Z
0132DAFC . DB4424 14 fild dword ptr [esp+14]
2 V+ g: ]! O; H# }, _' [* H* V0132DB00 . D94424 2C fld dword ptr [esp+2C] ( ^& G+ E$ d+ M
0132DB04 . D9C0 fld st
5 z V$ ?6 S" L/ l0132DB06 . DEFA fdivp st(2), st
& c' P3 J t& ], {+ m0132DB08 . D9C9 fxch st(1) 8 L' g$ f& o! _& P6 t" r
0132DB0A . D95E 04 fstp dword ptr [esi+4]
, Y: b6 A' e2 x( t0132DB0D . DB4424 18 fild dword ptr [esp+18] % ~3 w$ J4 R! z! T" [1 F
0132DB11 . 7D 06 jge short 0132DB19
( l; n: ^; p% @% F }5 T. ]0132DB13 . D805 50B03801 fadd dword ptr [138B050] ; ~6 V* p# N- r! O8 [
0132DB19 > DEF2 fdivrp st(2), st
" E# F( }$ b5 S9 }% k0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
: _8 u2 @9 N& M$ G0 j( p; x! {0132DB1F . 6A 01 push 1 ; /StringSize = 1 ` a. z! M; E8 N" u- M" K( I
0132DB21 . 52 push edx ; |String
3 J2 z$ A( W0 s: k7 ~0132DB22 . 50 push eax ; |YStart / F# {3 l2 L( \
0132DB23 . D9C9 fxch st(1) ; | 9 ]$ b6 O2 y3 W* d4 v
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
1 _3 s2 a. t0 \0 g5 }) b0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | ( [/ c8 {2 b z q
0132DB2B . 03C8 add ecx, eax ; | ! f9 t- Q7 l* Y& ?4 G: v f% H
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
( `4 G$ @. R& k2 p% g# x0 E0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | 4 a9 z4 t: R. j& a
0132DB35 . 8BC3 mov eax, ebx ; |
2 z- N1 d/ k1 a- n# q0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
6 C* A/ P6 X0 B0132DB3A . 50 push eax ; |XStart
$ B8 D. X6 D n6 q0132DB3B . 55 push ebp ; |hDC 5 t( ^9 n* ^% N! {) E
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
' q# s" r5 ~4 V5 ~5 e0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
( ]! ?! O; h9 B( \0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] - }! B* I: F/ e3 y% D. P
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
7 [# l3 B5 V1 X4 V8 k* Y0 F0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
0 W) ]8 l# q' p2 c- v. }( _0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
0 Q* A3 m: B* ]0132DB56 . 83C0 01 add eax, 1
. t4 a+ L7 b) [+ I8 c q P2 h o0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] & F7 k# M. e; G* r/ m- v
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] " ^; L4 F- p3 t! {
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx - W: O: O" T7 G, `8 h; r% q
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
7 J! z0 K4 U$ u& ]7 ?3 Y0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 ; l- `4 { @3 ^( a) I
0132DB6E . 33F6 xor esi, esi
* W$ J, Y) s3 F* T7 e4 F" X3 s0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
& g( a4 _' L' @! v4 G, j0132DB73 . 6A FF push -1
+ R6 I: T& q) q P7 n0132DB75 . 83C1 38 add ecx, 38
C4 T' p+ L; i; _0 h" f0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 5 Y5 V i! y' }3 n3 y
0132DB7D . 8BD8 mov ebx, eax
! k) N# t; o' y$ n4 }$ @0132DB7F . 3BDE cmp ebx, esi 2 L* v" c8 ?0 i9 [5 O" o u
0132DB81 . 74 74 je short 0132DBF7
! Z) j b. t7 b5 K7 F7 [* R9 t4 a w0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
! ]9 q/ J) p6 ` a9 w0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40] - H; Z2 L. _' K6 S5 i
0132DB8B . 52 push edx ; /Buffer $ I1 c1 l1 E! Z
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) 8 o7 P+ C$ ^" L. K
0132DB8E . 50 push eax ; |hObject
* y/ s$ s+ w# [$ H# \! o0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA ( F9 g; x4 B/ c0 _5 y8 E8 y
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] 8 I' M0 q/ @9 c
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1] 0 y: _; q/ l g) y$ ?
0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] ; ?7 I1 Y/ `& ^& z- }! y9 ]0 s
0132DBA1 . 037424 54 add esi, dword ptr [esp+54] 7 Y& s) e T( U3 B' a: A/ m
0132DBA5 . 85C9 test ecx, ecx 6 b- r1 t* Q1 v. k2 m: f
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0
- l# h. w; _3 V; D" _) q0132DBAF . 7E 46 jle short 0132DBF7
, c$ c" H6 |0 S, L0 A1 u7 E0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] ! ^) A0 U; L4 v6 {/ F& v5 Y
0132DBB5 > 33C0 xor eax, eax ) ~4 _9 R1 J n8 n
0132DBB7 . 85D2 test edx, edx
4 x8 {8 `- h* H3 n0132DBB9 . 7E 26 jle short 0132DBE1
6 w) R7 }$ R+ j0 I0132DBBB . 8BCE mov ecx, esi
" S6 M+ T( t# r" ]5 h2 l- m0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
- J: y% G) Q2 ~: A% ^, N0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] . P; X+ }; t5 a7 d
0132DBC3 . C1E2 18 shl edx, 18
8 D$ A R) i4 I2 V3 T0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
* R/ ^1 l) i+ [' W1 v! V7 l0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
J N6 l) P: z* Q" c5 A: v0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] , B3 f1 c# s4 @
0132DBD3 . 83C0 01 add eax, 1 / d1 @7 E+ A& _* ^
0132DBD6 . 83C1 03 add ecx, 3
: t. ]2 }$ L. Y0132DBD9 . 3BC2 cmp eax, edx
3 U% m, z% l0 W8 {! s* U- J7 C0132DBDB .^ 7C E3 jl short 0132DBC0 / M. |' g9 R" q9 B
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
" _ e# D: V7 Z0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] 6 c: ?+ k! V( \7 u
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
& y& R! a9 E4 P# L/ z0 l8 K5 t0132DBE9 . 83C0 01 add eax, 1
7 X7 W6 V) R8 B" M1 b; j9 }0132DBEC . 3BC1 cmp eax, ecx
3 B& V) R" v# K) E7 t* Y0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] ( g4 C1 M, r. K- m
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
5 W5 i. C& L- s; P/ Y- k0132DBF5 .^ 7C BE jl short 0132DBB5 9 H: |7 h( `/ Q& @
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] ! R c* N9 \% H0 o: |' ?
0132DBFA . 6A FF push -1
- e1 h8 O2 ]' ?. b$ q0132DBFC . 83C1 38 add ecx, 38
+ ~* H: `1 j8 u# }9 c8 n L0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> 4 o$ T# D" o% V7 U( v: `2 S' B
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] 7 g7 g- K `! C9 B" D& q! Z
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
" z: \: ]+ |3 F2 _5 y. P* `0132DC0E . 50 push eax ; /hObject
[4 r- H' u$ }0132DC0F . 55 push ebp ; |hDC
' C5 F" V6 z* Z) R4 y) _, z/ w0132DC10 . FFD6 call esi ; \SelectObject
* J+ @3 D0 i5 w8 B( T. V- ]0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30]
1 C0 }6 u N6 N- g5 N# G1 L) E2 s0132DC16 . 51 push ecx # |* b: w/ {: C9 j0 L3 Z
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont " M+ X& R3 |, X& q' L, k$ s2 o- t
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] " ^' e Q1 |- O! D$ T3 c
0132DC21 . 83C4 04 add esp, 4
5 j& i( `7 t- l& k% O; y0 U/ x& x0132DC24 . 52 push edx 4 c1 ?- y& V$ X3 |' [1 f9 ~3 s! j
0132DC25 . 55 push ebp + l; c, w9 o7 a! P* G
0132DC26 . FFD6 call esi # a. F; x3 L7 Q7 e5 F6 ?
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
" f) v7 V0 x9 m, S! d7 h0132DC2C . 50 push eax
. \! I9 U; z$ u+ {/ m" }0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont \6 S$ H! \1 x, }
0132DC33 . 83C4 04 add esp, 4 + t% ~4 D) B' D' T" N
0132DC36 . 55 push ebp ; /hDC : O8 z0 [3 ~, t2 j% m
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC 8 D$ O% n$ x& y
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
0 G: ^; H' ?) _) j$ b0132DC41 . 6A 00 push 0 $ m: a$ f, l8 Y, H
0132DC43 . 51 push ecx ! _* Q2 l2 _5 o% h/ M0 P; D* c
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
( M& w0 }/ R% C2 F7 _0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> : |* a9 m4 f. g* B
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] 8 B$ g g" R# j( I. ^& g
0132DC4F . 6A 01 push 1
% V, {0 G2 p# y) A/ _# [/ b0132DC51 . 83C1 38 add ecx, 38 + y* t" u- i0 O9 J3 U, P: i! \
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
/ u9 O: J. R1 f5 ]) {0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] 4 L. `% [' o6 K, c5 F
0132DC5C . 8B11 mov edx, dword ptr [ecx]
$ B0 o5 r9 n) L0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
7 o1 t- ^' I" h! Q0132DC61 . 6A 00 push 0
+ G, }: }# D6 x$ Q' i0132DC63 . FFD0 call eax ! Y# F$ \6 C% _. H r \" F0 b
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] 5 P+ G. [" @+ g1 L( d
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] / f; M) d7 r6 W) D
0132DC6C . 33C0 xor eax, eax
. R3 s6 [1 \/ y: @0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 8 D9 } |) T7 I( ^. p0 p
0132DC75 . 5D pop ebp
! E4 U! y$ N B* E. M9 L0 C, q/ s0132DC76 . 0F9CC0 setl al / d+ Y; l! T T: I2 V* o7 _% ~( q
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0]
% X- i& E/ [4 y4 w( ^2 a8 w0132DC80 . 5F pop edi
, c7 H4 a& y; } Q: p# |0132DC81 . 5E pop esi
+ n' X, F) u6 K6 S" B- l5 |3 n [0132DC82 . 5B pop ebx . G5 U2 J" D+ z7 m. k& k; i
0132DC83 . 33CC xor ecx, esp 6 N; L! J2 j$ S# X2 f
0132DC85 . E8 E2460500 call 0138236C * s* I5 Y- Q, X- ]% L5 w: e7 B3 e
0132DC8A . 81C4 98040000 add esp, 498
: K, @* t& t+ ~4 e. _1 d9 l0132DC90 . C2 2800 retn 28 |