发现了一个和字库有关的函数,研究中。
- h! {( R! Z* Y) k* z3 {+ {( t! @0 h1 T0 `; s% | |
0132D7E0 $ 81EC 98040000 sub esp, 498 ( c8 [' F; z! s# c* a) R7 K _
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
$ ?; Z: H0 Z% m- A/ e3 P8 Q0132D7EB . 33C4 xor eax, esp
- T3 P0 O) @1 K8 D0132D7ED . 898424 940400>mov dword ptr [esp+494], eax + N5 A3 M6 l+ d, f1 h7 d7 |$ a
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0]
/ }4 z: t! ]2 b- P+ a# j0132D7FB . 53 push ebx
: K! ^8 ^* Z3 ^0132D7FC . 56 push esi 5 f8 v* m8 ?0 o
0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
( U3 o. o& [2 Z: t/ D0132D804 . 57 push edi . k. K# e! |# _& p; b/ m$ {
0132D805 . 6A 30 push 30 ; /n = 30 (48.) 1 @$ e. }' @* y0 _
0132D807 . 8BF9 mov edi, ecx ; | ! p" X- x0 n/ T/ ^5 F H
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
0 W) t) {# U) C W2 B0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | ( }( Y$ M' r- ^% C
0132D814 . 6A 00 push 0 ; |c = 00
- {3 D/ A* z d/ b+ L3 B7 {0132D816 . 52 push edx ; |s : ~3 z2 [! c X; {8 O
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
7 a2 x+ g9 ~3 P1 F7 @0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | 0 x- V, e$ a% m9 @: v% F1 j/ w
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
+ p8 q/ U0 l) H( C0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
* m+ { O3 N4 `2 Z- l1 b4 E0132D82C . 83C4 0C add esp, 0C # R- ]+ [: w& K- S% U. O5 @
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 * d0 I- a3 b6 V; u
0132D837 . 74 12 je short 0132D84B - C, @0 A: i9 m6 A D+ G
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
0 i! E% E' B1 v2 H. T1 ]0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
( T" I1 e1 F: G V l* K6 O/ |0132D846 . 8947 1C mov dword ptr [edi+1C], eax / _+ K: P- o. g* h4 M
0132D849 . EB 32 jmp short 0132D87D
& x( \! \, C+ F4 G0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
* E+ w; n* P1 L3 z( k0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
8 q; @2 m8 K# Z0132D855 . 33C0 xor eax, eax
% D! z, X' X$ s7 D# L0132D857 . EB 07 jmp short 0132D860 ' n0 T4 y" N& t; f' L
0132D859 . 8DA424 000000>lea esp, dword ptr [esp] ; N6 N, z/ v/ a
0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
& U" O$ h9 j' Z @# L: j; _# |0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx : z9 `% u9 J q6 M
0132D86B . 83C0 01 add eax, 1
H" Z. m0 ]5 T; L0132D86E . 3BC1 cmp eax, ecx
+ Y& U) P3 e3 y0132D870 .^ 7C EE jl short 0132D860
. o3 w2 {2 M1 g+ y- ?6 z. P0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
% U; }8 X7 v: N0132D879 . 894424 0C mov dword ptr [esp+C], eax 5 q8 p L" U1 a$ \- N
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] : m, a s5 c' }
0132D880 . 85C0 test eax, eax
: \% m1 C% N* u9 g9 O' ?0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
0 r' W/ `, Z2 v: v* F4 b, q0132D885 . 75 05 jnz short 0132D88C
9 m& N- q! O3 ^! e3 K- [0132D887 . B8 16263901 mov eax, 01392616 c9 z' _2 {5 f* i( E* L5 z. q2 t
0132D88C > 6A 00 push 0
! x9 H, q' F% X# S- S5 D0132D88E . 6A 00 push 0 # L6 u/ I# H6 |2 a" ?3 R* Q
0132D890 . 50 push eax # G) Y! K {3 V) O
0132D891 . 6A 1F push 1F
- {" b0 J3 p. e, t) Q0132D893 . 8BCE mov ecx, esi
, t4 o6 ]9 g; l0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> 7 k! g/ O# b$ Y# B% ?! B/ T' f: h
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
/ J9 f3 k- C- v0132D8A1 . 6A 00 push 0 2 k2 v+ r7 }/ ^; ]7 x
0132D8A3 . 6A 20 push 20
2 E: D7 S w- `: K0132D8A5 . 51 push ecx & [. L8 i; C$ j1 d) }) d
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
6 ?) p; ]! r# ?8 x7 g) i0132D8AD . 8947 24 mov dword ptr [edi+24], eax
3 {' X2 e4 g$ _& O3 U% s- z) t0132D8B0 . 8B10 mov edx, dword ptr [eax]
$ D+ V0 @/ x' S9 q0 F0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] 7 a( o3 i' }: u$ |* }! {
0132D8B5 . 51 push ecx 2 j; F8 S/ l: R8 Y
0132D8B6 . 8BC8 mov ecx, eax 7 N' B* ]8 X: \! ?% P: h+ f8 A- P
0132D8B8 . FFD2 call edx * ^9 G* k9 V3 f r# |/ m
0132D8BA . 85C0 test eax, eax 0 b$ z2 o% T, ?' H! \5 g
0132D8BC . 75 07 jnz short 0132D8C5
8 l# }9 o W8 E, P1 \0132D8BE . 32C0 xor al, al
# Y; N- N$ V* `0132D8C0 . E9 B4030000 jmp 0132DC79
/ ~( M7 |: E4 f- Q0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
. q, }' l! ~4 m3 D/ A0132D8C8 . 8B01 mov eax, dword ptr [ecx]
8 A: g# [& B. J' {) ]0 p* }0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] " y& c# k9 q1 K* Y8 _8 R2 E% H
0132D8D0 . 55 push ebp
6 t$ y0 E% Y( G3 r+ {8 T8 Y) B1 S) d6 }0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] ; N+ [, C3 M2 s% W, h, n9 a3 @& l1 m
0132D8D5 . 52 push edx 4 N$ Z0 \9 E9 ]/ P$ s; C
0132D8D6 . FFD0 call eax # P8 E. j4 g3 b* H
0132D8D8 . 6A 00 push 0 ; /hDC = NULL 4 w% n; o; R# v, A% K7 H
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
, }1 S$ ?( ~ [' k# d4 C0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] 5 \4 i5 u8 C5 `; n/ X0 o
0132D8E4 . 51 push ecx
- \% m$ U7 R" `* I1 G; p6 [8 V0132D8E5 . 8BE8 mov ebp, eax
' w$ [1 B) I, B7 w! j0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap b" ?% I7 {7 e5 l4 F" e! w
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
2 n. v/ S0 y- H/ `( z0132D8F3 . 83C4 04 add esp, 4
. m# r: e$ F. e1 i& i! J, o0132D8F6 . 50 push eax ; /hObject
G+ x1 l) u' ~& U [0132D8F7 . 55 push ebp ; |hDC
) w' o5 M7 o8 Q' \+ w" o0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | Z4 d7 @% [6 B, P
0132D8FC . FFD6 call esi ; \SelectObject
* w$ n. o' @! J" U1 i, i- G0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] + g6 P- J" f5 ^# L8 S" C
0132D902 . 52 push edx
/ p- s9 \3 R6 y0132D903 . 8BCB mov ecx, ebx
( h# t9 A& _/ m( f% ?7 T! k9 D7 l0132D905 . 894424 40 mov dword ptr [esp+40], eax ; N9 F! _1 @: k% q
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
! c) m1 ?7 W: N* `9 b3 I, Y4 L0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] ' W2 M0 N& U6 C5 O! c: Z3 t/ a
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) ; q' Y7 O/ @. Y. M% P7 B
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY 2 _. P1 Y# n. T" |4 ^8 V: ^% Q
0132D91A . 55 push ebp ; ||hDC
- U }- @ O* i8 L* K: V% ]. T0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
. w7 S; U0 ^- h3 q7 }$ V0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps ; {8 w3 P7 q N; L$ E
0132D924 . 50 push eax ; |Multiplier # f$ \5 g v2 p& |1 U8 H7 S: r
0132D925 . 53 push ebx ; |Multiplicand - `# M9 Z1 Y" ~, k; o
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv % y. h( b, q; y. }& m) L2 e* M% J1 [- T
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
6 ]+ M8 |! s' Q* f, @$ p* m0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] ) M7 Z( h, t3 Y! I6 @! `, u
0132D937 . 51 push ecx ; /FaceName 3 C" h' K% n% U8 w# e
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
4 `+ U1 B* l: @) A0 O& C6 W+ X0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE , `& P J# N: q! `- s+ f
0132D941 . 52 push edx ; |Quality
1 e; C8 w& _+ Y& y0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS # H* \" P O. c5 g
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS
& M# v# z& R6 h- U, J0 V0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET - M, e3 U' m2 \! r0 t a2 c6 Q
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE / O' t) Q6 l& D1 {3 _$ X
0132D94A . 8BD1 mov edx, ecx ; | W; K% O% q) W2 ^
0132D94C . D1EA shr edx, 1 ; | 3 u) L7 Y0 K; H: M! V! N
0132D94E . 83E2 01 and edx, 1 ; | + c* G% N9 g$ N0 Z+ w
0132D951 . 52 push edx ; |Underline
2 _" Y1 l5 @$ U" r ^% O3 c# G; @0132D952 . 83E1 01 and ecx, 1 ; | 6 s. P7 p) y6 B
0132D955 . 51 push ecx ; |Italic
4 S8 Q2 j0 c$ E9 P8 W0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | 8 A( G3 E( G+ k7 t
0132D95D . 51 push ecx ; |Weight - ^7 w( Q3 v4 \( I; i6 N( n
0132D95E . 6A 00 push 0 ; |Orientation = 0
# Z( g8 f. _7 |" \0132D960 . 6A 00 push 0 ; |Escapement = 0
2 G' s$ l4 M1 N) |8 \8 c8 X0132D962 . F7D8 neg eax ; | 0 ~8 \ K0 Z* u$ @, j% j
0132D964 . 6A 00 push 0 ; |Width = 0 3 s- `1 J) \7 e8 F/ {' o* L5 x
0132D966 . 50 push eax ; |Height : G/ b9 E0 Q! J1 C3 l8 R
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA . W; N0 `2 }9 l) C7 f4 y Z
0132D96D . 50 push eax 2 v( E/ z5 e- x5 h1 \. h
0132D96E . 55 push ebp + X2 K. R* h0 G6 V# n# x9 _3 U! y: X
0132D96F . 894424 38 mov dword ptr [esp+38], eax
8 U$ Z; x. a9 Q6 c) \: E0132D973 . FFD6 call esi ; S' B- C( d7 ~0 T6 _3 Y2 j
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
! W) f: q. L1 C0132D979 . 52 push edx ; /pSize
6 i p! R; H" O4 C& T: x" M0132D97A . 6A 01 push 1 ; |TextLen = 1
" K# `; s' |, X, z; {2 v+ d" X/ h0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
0 ?/ o! m2 r5 j; @6 X/ k# b0132D981 . 55 push ebp ; |hDC / h) w; N4 Z8 t4 W: i* K
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | ' v) J7 u) N3 R; g* `: g
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
- C3 l# d: B+ ^% P! ~/ o2 z0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
2 A1 f) ~& K9 [& p& {1 B0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] 7 I* Q, `% L: {5 B+ A. g$ e
0132D993 . 8947 18 mov dword ptr [edi+18], eax
8 H& q, t9 } j/ z0132D996 . 33C9 xor ecx, ecx
' t/ ~8 y9 y. D0 M- s+ n D+ X0132D998 . 8BC6 mov eax, esi
0 i. w& S- `& l* l# Y0132D99A . BA 20000000 mov edx, 20
4 b. P2 S% @. w8 S: j0132D99F . F7E2 mul edx . E- G1 D3 h+ Q* @7 y7 j
0132D9A1 . 0F90C1 seto cl ! C& n D1 @# Q. Y# ]0 Y* _, ]
0132D9A4 . F7D9 neg ecx 1 _) K$ S* Y9 L+ X: ]0 u
0132D9A6 . 0BC8 or ecx, eax ' E9 l) F0 z A+ C1 ^
0132D9A8 . 51 push ecx 9 l2 t4 W( l2 ?5 r) {
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> 9 D- A9 h2 R2 [8 C
0132D9AE . 83C4 04 add esp, 4 3 S7 a& z( W% N
0132D9B1 . 85C0 test eax, eax
$ y2 ^, k2 W7 M/ u8 m: X$ c0132D9B3 . 74 28 je short 0132D9DD * g+ X6 I& r* M+ i9 S8 z" }! F" g
0132D9B5 . 83C6 FF add esi, -1 , o" _; T8 L0 T" P+ ^
0132D9B8 . 78 25 js short 0132D9DF
' g1 q& C% k9 q, |* R' Q r0132D9BA . D9EE fldz
8 a, B4 v1 E. ~# W+ R3 o0 X' |' u0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
3 K' s$ _& @- H e4 }0132D9BF > D951 FC fst dword ptr [ecx-4]
1 u+ n, a- Y7 }0132D9C2 . 83C1 20 add ecx, 20
o6 ]0 o) g4 [0132D9C5 . 83EE 01 sub esi, 1 4 T; D0 O% f1 y8 }4 Z) Q
0132D9C8 . D951 E0 fst dword ptr [ecx-20] 1 N3 F/ f( w! r$ ~* R7 `5 e; Y
0132D9CB . D951 D4 fst dword ptr [ecx-2C]
# E8 g2 t$ y7 g& b0 G0 b0132D9CE . D951 D8 fst dword ptr [ecx-28]
" ?2 P. j H8 T9 q5 @0132D9D1 . D951 DC fst dword ptr [ecx-24]
. h8 D+ Q. j. G, r' c4 B' N0132D9D4 . D951 E0 fst dword ptr [ecx-20] " c4 H2 p/ P5 k- j
0132D9D7 .^ 79 E6 jns short 0132D9BF % r% u2 T& T( |3 O: `+ {0 l! r
0132D9D9 . DDD8 fstp st
, E; Z9 R) J- B3 p% A7 O4 {7 k0132D9DB . EB 02 jmp short 0132D9DF / u/ w* A! v$ V% R2 C: B3 X X
0132D9DD > 33C0 xor eax, eax - \5 n4 Y8 n$ w2 p( {
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; T5 ^9 e n3 C( s+ \) a
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax 2 c; ]3 O# `2 f8 T* e9 n- X* p; }
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] $ p3 T+ o9 U) e# K
0132D9F0 . 50 push eax ; /Bottom N' C: X$ {9 ~# @
0132D9F1 . 51 push ecx ; |Right , q- h; [6 ~6 x1 H
0132D9F2 . 6A 00 push 0 ; |Top = 0 1 U" e' v+ a0 f7 ]; z6 {7 |
0132D9F4 . 6A 00 push 0 ; |Left = 0
$ ], A1 ~9 i P0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
+ T: E2 f2 f) T. x, v0132D9FA . 52 push edx ; |pRect 3 x: s4 F: p% a9 S' h) x
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
/ X; L$ L" c! ^ V4 O0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
$ X4 g' X5 a# X \0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
7 C( e: r9 m# w2 h7 b; h0132DA09 . 50 push eax ; /hBrush
0 u6 Y4 m# j% d& A( L, K% g0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
. Z+ d1 t$ `4 j' Q5 Q) D0132DA0E . 50 push eax ; |pRect . \! z/ x. Z( @# A" b2 \
0132DA0F . 55 push ebp ; |hDC ; L3 N! V- c: J& b& G( ~% d
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
- O4 C5 ^0 G# O0 m; h2 W0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
, k* J% g: Y" H& Z8 K0132DA18 . 55 push ebp ; |hDC : u0 G. S+ K$ i- z+ j* G1 R# Z
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
9 X, ]0 x; p7 J/ ~0 t i, }( p1 ?0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
% \. h0 k( d1 _! P, ?0132DA24 . 55 push ebp ; |hDC
' `6 U) n3 \6 s' h' C4 [7 p0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
6 p/ G8 Y/ A. T) p9 D0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT 5 }. e; k' c/ E8 ~+ x# B
0132DA2D . 55 push ebp ; |hDC 3 n2 _0 e+ T8 ^: I* y' g( B
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode ) c4 Q: I; h5 J( X# Z; e& |
0132DA34 . 33F6 xor esi, esi 0 M9 ^( ~" {/ F! C/ _
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi : `! T, T5 c* v, x% t
0132DA39 . BB 01000000 mov ebx, 1
: G. q$ C, H9 X+ f0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx & ~( N, s6 h% Y. v" M) V
0132DA42 . 897424 14 mov dword ptr [esp+14], esi . N+ M2 K9 k4 M1 u- ~
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
4 U0 b* r& |( g+ w0 N0132DA4A . 0F8E 20010000 jle 0132DB70
" d2 Q+ w2 e/ H, K0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] / U) m- B3 r2 {& {! L
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
& `8 F& o$ O* |+ h& N) W/ S5 F0132DA5B . 897424 20 mov dword ptr [esp+20], esi
+ a- h+ ?1 B; X) S: P: q9 F$ f% i0132DA5F . 894424 10 mov dword ptr [esp+10], eax
+ V1 {/ x% f7 B% K1 h$ Q; e+ H& U' q1 ?0132DA63 . D95C24 38 fstp dword ptr [esp+38]
7 w) f: d q( E; k& R* e4 F# b7 ^8 ?0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
, } P% N* _6 o1 }- b2 n! x8 \0132DA6E . D95C24 2C fstp dword ptr [esp+2C] & I# y# q) C* Z+ G9 d
0132DA72 . EB 04 jmp short 0132DA78 0 J, Q. [1 N1 W5 w8 y; F+ e
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] 0 z& m. D, t, V! M6 z' A5 N& e8 y- Y
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
( Z! J7 G8 F# ~. [: |0132DA7B . 66:8B08 mov cx, word ptr [eax]
4 K0 ]2 J' F. ]4 D7 c! D/ l+ C0132DA7E . 037424 20 add esi, dword ptr [esp+20]
- F. t, L( M" ]$ V u. ^0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
8 H6 H% s/ b% t" V- z* s# A0132DA86 . 0FB700 movzx eax, word ptr [eax] - n' z. H4 v0 A
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
2 X* F: S: n+ Q: L3 |0132DA8C . 51 push ecx ; /pABC L, b N2 w8 _, N; M, h
0132DA8D . 50 push eax ; |LastChar 2 e( ^# U+ u; V6 l
0132DA8E . 50 push eax ; |FirstChar ( q" K, W$ q: [7 F" G
0132DA8F . 55 push ebp ; |hDC
% c4 v! ^; \% ?: \5 ^" I0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
N- D) {+ |/ F! f/ L+ G0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] : a$ r6 j6 w& n' b
0132DA9A . 66:833A 20 cmp word ptr [edx], 20
# a- W: u% P+ n$ N& G4 ]0132DA9E . 73 10 jnb short 0132DAB0
, H' F: r2 J4 E1 b7 w0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
; u0 m: z' U, T" H' y; E/ j9 S0 O0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
5 [. q8 r- g9 ~0132DAAE . EB 0C jmp short 0132DABC
$ q9 y- J1 P: O; H) h) a9 K0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
7 H1 [" V! O! e/ h0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
/ N; ~* c( `; X$ V4 n0 E0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 . Q" ^# _( u$ I# D! l: ?
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] t; W4 W2 O* ^5 Y8 R+ q& t: E
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] 7 I' y' A4 G& c1 A) p4 E% s6 E: o+ ^
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] 7 z3 u3 e, z+ h
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
6 i0 ?: Q. c/ H+ Y" ]# B0132DACE . 72 14 jb short 0132DAE4
/ |1 M( y1 A2 }* G1 a$ ?9 A0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] 7 v$ S& A3 T% @- Y: G8 D, ~( _
0132DAD3 . BB 01000000 mov ebx, 1
" J0 z8 H8 k( ^8 v9 T! s0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] ' d, x {% y' K) m i, u! P
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
' B4 [- U5 ?- E3 E0132DAE0 . 894424 14 mov dword ptr [esp+14], eax 8 E$ V: y) W# ?, V
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
& `/ r5 d$ N* X* a' J0 M0132DAE8 . 03CB add ecx, ebx * \' i" i2 R k' @3 A
0132DAEA . 85C9 test ecx, ecx 9 o4 \0 `! G. t3 K" A' K* B' a7 T
0132DAEC . D94424 38 fld dword ptr [esp+38] " c: R* W/ H. F6 T. |& b
0132DAF0 . D9C0 fld st ; S. |- H% ~0 t+ A/ i/ f
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
5 U+ ^+ q% P! x3 T9 V0132DAF6 . DEFA fdivp st(2), st 9 q- [" V. n8 E( _7 g5 |3 @; p6 r1 `
0132DAF8 . D9C9 fxch st(1) , u' l9 U w+ G" N: l" Q8 ^& c
0132DAFA . D91E fstp dword ptr [esi] y k3 f5 J; i/ K& p! Y2 s/ D
0132DAFC . DB4424 14 fild dword ptr [esp+14] : Z8 U/ v4 z0 n, g A! y
0132DB00 . D94424 2C fld dword ptr [esp+2C]
4 d# s4 ]2 Y* w9 s5 V0132DB04 . D9C0 fld st ]* h4 [4 L ^" S0 y2 c
0132DB06 . DEFA fdivp st(2), st
4 B% K5 X _. A. X5 ]0132DB08 . D9C9 fxch st(1) 2 Q& z) T( Z, T" {, S
0132DB0A . D95E 04 fstp dword ptr [esi+4] . m1 v E' v" w" b1 u" X9 |
0132DB0D . DB4424 18 fild dword ptr [esp+18] 4 t. G- P& @& u! D' g# P+ p
0132DB11 . 7D 06 jge short 0132DB19 $ T9 O6 d' |. Q( @
0132DB13 . D805 50B03801 fadd dword ptr [138B050]
9 E% |$ v& C2 E# Y4 |0 G! a! `0132DB19 > DEF2 fdivrp st(2), st . Y# o; q5 q4 C( \
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
/ K8 D7 |. B# N" G0132DB1F . 6A 01 push 1 ; /StringSize = 1 . A: ]% @* b s' y
0132DB21 . 52 push edx ; |String ( \7 [- A# s8 A) M3 Z
0132DB22 . 50 push eax ; |YStart
S1 M* h3 K# M3 g* W0132DB23 . D9C9 fxch st(1) ; | 2 | i3 ^3 H) H. l+ j% h
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; | ) U* r8 m5 l# Q; J7 l
0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | ; A8 w5 M( k- k) d) |2 w
0132DB2B . 03C8 add ecx, eax ; |
- ]3 a+ `9 ?& W0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | ; E: x9 |7 Q( C. @; ^" g
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | 0 t+ e0 U4 ~1 x7 V. H
0132DB35 . 8BC3 mov eax, ebx ; | ! S2 ~9 G# x7 s5 l4 K
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
9 a! R1 V9 [! y& m0132DB3A . 50 push eax ; |XStart 3 z/ U' F* c9 i) Y0 |
0132DB3B . 55 push ebp ; |hDC
5 T2 @! x. F( _; Z# W, p6 T0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | ) |# A; J% {% Q' t
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW 2 N$ V" ^3 _) t$ \$ e
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] 1 z7 Q6 ] D; b6 N
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18] 5 m( _9 n3 J7 N( J7 h! i
0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 ! @8 i( P, s, i
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
! v# N- s2 N/ f' r9 c0132DB56 . 83C0 01 add eax, 1 1 e8 W, |3 Q, C) V8 o( B0 i0 _
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
0 @9 U8 \. i% i! \: ~- a7 G) e0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
& y( f/ o# Y( b* S5 z0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx ) p' r, ]$ B+ p; h/ c) h1 W
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
2 I# D7 J' R- K$ p4 i9 c0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 2 _! t" @0 `& ^: z) w! C5 M( f
0132DB6E . 33F6 xor esi, esi
: g9 B0 L5 g4 z8 \$ _# B0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24] ' Z& p- g" p+ u) c: C# z
0132DB73 . 6A FF push -1 4 s. v8 g2 T+ m4 @& \
0132DB75 . 83C1 38 add ecx, 38 ( h2 k( |# f0 `& a3 [& o
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> * @% Z: `. m* i+ ^6 \
0132DB7D . 8BD8 mov ebx, eax 3 I/ F1 F4 q/ P+ I9 i4 D/ `( u
0132DB7F . 3BDE cmp ebx, esi
4 V: \1 ^) p0 h0 _, q4 A j( B" f0132DB81 . 74 74 je short 0132DBF7 5 W2 ~7 M; C$ k( J
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
h" L! q! D# F% |* b: v( Z0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
1 |2 F: a' H3 k- D( ~6 u: \4 K0132DB8B . 52 push edx ; /Buffer 7 g# w7 G9 Z, X; M/ P/ u e: E
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
+ j5 z/ f, N6 D3 U3 }; |7 Q( x0132DB8E . 50 push eax ; |hObject
2 S) L1 i; b- i5 i0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
6 f6 @! F: ^9 [' S ]: Q0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] # U3 [, a8 t) x9 G1 j7 g/ z
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1] # s4 B* Q" C3 n4 Y
0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
S. w# e( z, Z4 q) X' X0132DBA1 . 037424 54 add esi, dword ptr [esp+54] 3 k# Q& e, U1 K+ A" z, x. `
0132DBA5 . 85C9 test ecx, ecx
1 M' N6 f" Q/ m4 _' z! \ @0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 , E, V6 b7 y/ I! A
0132DBAF . 7E 46 jle short 0132DBF7
/ o4 M' o; n* |# a$ a5 b0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] 0 e/ s: x( j4 H. S5 n( w" ]+ M
0132DBB5 > 33C0 xor eax, eax
8 ]* l9 u {: Z$ @0132DBB7 . 85D2 test edx, edx ) Y. i+ g9 p0 E
0132DBB9 . 7E 26 jle short 0132DBE1 - v6 E/ Z) `& S D5 h
0132DBBB . 8BCE mov ecx, esi 7 \- M; T) A" s
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
) M* y3 t0 ?; ^* e) q6 V& ~0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
) z1 ?8 \+ P$ B( ^5 h0132DBC3 . C1E2 18 shl edx, 18
9 m: c; Q9 I5 S9 U6 j' L; Q" E1 C0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF % j% C; r- ~ I' x" S
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
+ E! {5 O2 ?/ q0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] 7 e: o7 Y* e6 V9 s2 ~
0132DBD3 . 83C0 01 add eax, 1
! I' y2 y V# V: h6 \0132DBD6 . 83C1 03 add ecx, 3 $ Y, x9 @5 ?6 r1 f9 K. q
0132DBD9 . 3BC2 cmp eax, edx
: N6 q$ e5 x0 n4 b# s4 L0132DBDB .^ 7C E3 jl short 0132DBC0
7 P+ S; m, q. I) g$ J3 ]0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
$ H* I2 J, i3 _& v# K3 K0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] . _/ y' e: U0 [8 p* X! [ p
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
; |- `9 l$ h/ u0 |$ |1 E/ x" D C' H0132DBE9 . 83C0 01 add eax, 1
+ @; J- q3 W% }5 V/ T4 ^7 G1 f0132DBEC . 3BC1 cmp eax, ecx
f o2 ]+ e9 r; f* k7 ^5 u0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] ; N6 e$ e Q3 v d. `' o# J4 z
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax 5 O+ g$ k3 b6 L5 l
0132DBF5 .^ 7C BE jl short 0132DBB5 9 g& e( y. L$ b9 [5 _# I6 }2 M0 o
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] % U, a* W8 M( `$ z! [/ c& r2 P& n
0132DBFA . 6A FF push -1
7 F3 H! x/ S/ W& k) z0132DBFC . 83C1 38 add ecx, 38
' J% K0 r) T; \0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
$ p w- K( m% V; d# x0 C# ]5 k0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] ' \7 P8 F9 H$ j U
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
- D; R. |5 K* c" O( O- S0132DC0E . 50 push eax ; /hObject
* P" G4 t0 e( H# K: B0132DC0F . 55 push ebp ; |hDC ' |; ^. A1 B) n: r: R
0132DC10 . FFD6 call esi ; \SelectObject 2 q2 h- F/ _: r
0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] c6 I# a1 @( y( X) h) r3 k
0132DC16 . 51 push ecx
. H2 s4 D6 a. ?+ O, i0 j1 z0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont * z" f$ h3 W. L |# b
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] 0 f+ M" `. _" Q) W
0132DC21 . 83C4 04 add esp, 4
+ P9 Q% M/ X5 G& Q1 R4 \3 R: p) u5 W0132DC24 . 52 push edx ; ~4 V! ]! u9 Y% A3 N
0132DC25 . 55 push ebp
& @$ \" ~) P' i2 J/ g) C6 t0132DC26 . FFD6 call esi 0 R" K5 T# T$ H7 E h' {* D, e2 U" x
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] 4 n2 S: M8 h7 _& @8 a" o5 \" X2 q
0132DC2C . 50 push eax
& {- w. ]) f' W" \5 z0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont $ U- |, F6 K6 K/ ~# H( n! S
0132DC33 . 83C4 04 add esp, 4
4 E6 C; K+ v; P. Z0132DC36 . 55 push ebp ; /hDC
9 K) [' h3 y4 Z7 e( i0 S0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC * @0 M9 v8 C u
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
% T4 E2 c* B g; f3 k& p6 r0132DC41 . 6A 00 push 0
6 |; j4 a& ~" {: f0132DC43 . 51 push ecx 7 e/ h" h: b, {2 e9 [5 a! \
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
1 d' H7 L6 G4 b* Y0 e0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> ( p1 l. i' G, n7 f+ h* t
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
) c9 u# z9 ^7 ^4 Y% }0132DC4F . 6A 01 push 1 ; D# W; H% e0 t
0132DC51 . 83C1 38 add ecx, 38
4 F: j4 c$ o' |& B4 {) t/ K2 P0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> 3 I( I3 j2 [- X; c7 u* E
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] % z0 q3 P% D4 C* l% s& B. D
0132DC5C . 8B11 mov edx, dword ptr [ecx] p! Q3 _% L5 X& u' _
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] . Z" _; T; T( l/ _! u
0132DC61 . 6A 00 push 0 6 z& q5 \: _3 R5 O- ?! W
0132DC63 . FFD0 call eax 8 q0 `2 f/ |2 t/ [/ j6 Y" N
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
" ?: D* `+ l# n+ m# j0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] 4 h$ D; Q2 F9 [) h
0132DC6C . 33C0 xor eax, eax / f0 U4 s! ]4 ^7 F) b
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 9 ^9 i I$ x& H) v$ v6 M
0132DC75 . 5D pop ebp
, Y3 S* { o& R0132DC76 . 0F9CC0 setl al
7 b9 W1 K0 g$ L$ w0 {2 \0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0]
- f6 p% s% T) b9 H0 a; m0132DC80 . 5F pop edi
f9 g! v( p2 n+ V0132DC81 . 5E pop esi
/ x4 m% Z4 x4 q8 Y% r* J0132DC82 . 5B pop ebx ; c' l3 n$ C* M
0132DC83 . 33CC xor ecx, esp 9 \- R' q2 X* T# _# s% h, H
0132DC85 . E8 E2460500 call 0138236C
; O& P! y5 X. z& v& r0132DC8A . 81C4 98040000 add esp, 498
+ b0 D) E2 J A: _/ E0132DC90 . C2 2800 retn 28 |