发现了一个和字库有关的函数,研究中。 * T& Y2 @# Y4 X0 I
% E2 ^8 Y9 E% w9 D* H
0132D7E0 $ 81EC 98040000 sub esp, 498 # ~ k" `% l3 ^7 r
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] 7 q$ |- }1 Z, L! a; m3 n( _1 |9 A: T
0132D7EB . 33C4 xor eax, esp 1 q4 O" ?7 a! N+ A0 v! x7 {& i
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
* @' [ { d# _ c" q0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] 7 ^/ W; O b# t
0132D7FB . 53 push ebx # E; q$ ]: n* h- w* x. T
0132D7FC . 56 push esi
: e: U' s9 v K2 @% ^2 g# R' |0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] 2 D% b$ |1 a& H" z" y& J! P7 M
0132D804 . 57 push edi
/ v0 ^9 p% D; L H3 W. Z0132D805 . 6A 30 push 30 ; /n = 30 (48.)
8 R5 t, W+ A0 @0132D807 . 8BF9 mov edi, ecx ; |
2 z) z) k9 t7 X1 p5 b0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
3 x% X2 L* E' `0 V; I0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; |
$ _8 V( y1 t1 D" M: Q* C0132D814 . 6A 00 push 0 ; |c = 00
$ P, e0 H6 D) S4 ^- {3 c; u9 h0132D816 . 52 push edx ; |s / A) p* C+ o9 W B
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | 5 r( [) r/ }4 B) p- _, M7 d3 V" a
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | 9 ], Z+ P9 L9 W, Q8 z& f9 C
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | ) E: G4 V: R8 M" w- L. X
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
& [5 O! Q5 }# \' \6 {0132D82C . 83C4 0C add esp, 0C , D/ Q+ r0 z0 A! X i" z; K& \4 `
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
; @" L) b8 ]6 j0132D837 . 74 12 je short 0132D84B
9 g K6 O& f- _( r0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
6 ^9 p$ Y8 g8 {- }4 ?) o( K: l0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 1 M) Q- J' z$ v. v/ e4 }7 [' k
0132D846 . 8947 1C mov dword ptr [edi+1C], eax ' E5 z; J' L3 k- T: ?" D
0132D849 . EB 32 jmp short 0132D87D 1 o1 U+ B2 |1 E+ ?1 {& N5 K1 j) |; Y1 ?. I
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
6 N: x4 b+ O- _1 P0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
' I5 ` F& Y! Q) t; O7 o5 C J0132D855 . 33C0 xor eax, eax
/ {: T& }. N6 |2 ^" [0132D857 . EB 07 jmp short 0132D860
; g, O# C) o8 }5 u0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
- ?0 B6 k8 `+ r: o$ U6 w- w0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
; F% E7 S3 P' s# F7 `0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx 9 A0 t. m/ O$ S; ]) p
0132D86B . 83C0 01 add eax, 1 $ ]& A% _2 {. a* d
0132D86E . 3BC1 cmp eax, ecx
' D# o G: n& t9 e* @3 i% D7 C9 E0132D870 .^ 7C EE jl short 0132D860
5 e9 C! F% E8 @9 M3 E0 T( L8 a$ k0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 3 B4 ~7 U% a6 l
0132D879 . 894424 0C mov dword ptr [esp+C], eax
: v! p a- s0 q" J0132D87D > 8B47 0C mov eax, dword ptr [edi+C] 8 @9 C4 W" s g4 a
0132D880 . 85C0 test eax, eax ( k" w& z/ c; v) [
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
8 V( c+ P* U3 H+ o% J3 |& P' n7 K0132D885 . 75 05 jnz short 0132D88C 0 f3 T* D: o: k7 ^
0132D887 . B8 16263901 mov eax, 01392616
! V: P+ m% J! P( Z- G: ~$ v& v5 _# q8 f0132D88C > 6A 00 push 0 - T1 A% {6 ?- }' ?. U
0132D88E . 6A 00 push 0
3 e! E. Z8 J6 R( e# v0 |0132D890 . 50 push eax - m! f- W1 j+ ~2 P4 ^
0132D891 . 6A 1F push 1F $ F4 I( K4 g3 {1 L9 L$ S
0132D893 . 8BCE mov ecx, esi
6 H$ d. C5 z, b7 t; t0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
' P9 C4 {6 }2 ?. h0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
6 r$ c5 j9 Z( r0132D8A1 . 6A 00 push 0 8 F; i& [: b) y" j
0132D8A3 . 6A 20 push 20 ( b7 x; o- j* n8 e
0132D8A5 . 51 push ecx
( R# x2 n" V$ V# X H) b7 G: e0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] # W/ l" l# G/ u6 F' U5 v) Z: z5 ~
0132D8AD . 8947 24 mov dword ptr [edi+24], eax / K, V5 |- D9 N" y% |. p9 b% H: G% w
0132D8B0 . 8B10 mov edx, dword ptr [eax]
% s' N! x7 E$ K% e0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] / \0 H* T9 i0 Z! z
0132D8B5 . 51 push ecx
0 u0 N* |( k. p+ B2 S8 G+ [0132D8B6 . 8BC8 mov ecx, eax , ] ~2 R" Q, y8 ~3 ], ^, D4 Q) l
0132D8B8 . FFD2 call edx
2 f6 `7 }( B& k0132D8BA . 85C0 test eax, eax $ p4 n; u% b$ S' i D* w; A! |
0132D8BC . 75 07 jnz short 0132D8C5 # K" a/ ?+ v8 o4 Q& ?1 d/ J" }
0132D8BE . 32C0 xor al, al
: z" A6 K, E9 t( _$ G0132D8C0 . E9 B4030000 jmp 0132DC79
, h% q0 {: G/ N0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
1 I' X+ S7 |. G4 J1 c0132D8C8 . 8B01 mov eax, dword ptr [ecx]
% I! p3 k5 T! i* u( O6 O. E0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
) C+ }5 N: [) W$ } `3 _0132D8D0 . 55 push ebp
8 b6 {4 D. q) O$ k% H5 d0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
! }# f! ~2 ^. v9 z) t* Q, |& i h* Y0132D8D5 . 52 push edx 5 f$ g8 O n9 T
0132D8D6 . FFD0 call eax
1 f- S- U2 W7 E y3 a& H" ~0132D8D8 . 6A 00 push 0 ; /hDC = NULL
, y+ k+ t- x2 G6 m0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
! i! B, v ~! l/ J7 b% R0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] 4 f+ z9 c D9 X; }- p* y5 I
0132D8E4 . 51 push ecx
7 L9 s: q) ]8 T, f/ k0132D8E5 . 8BE8 mov ebp, eax 7 R/ K! z: T1 L# ?6 v- [, S
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap 9 k7 [6 q* J5 y8 `. O8 C, c6 i7 d9 V
0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
. L. F% e# h) _% o! a J+ r0132D8F3 . 83C4 04 add esp, 4 : j, Y2 n$ t0 h: q; Z! l; P8 n
0132D8F6 . 50 push eax ; /hObject
& A3 N2 o% x$ p0132D8F7 . 55 push ebp ; |hDC / C3 U2 k* B) t6 g: y
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
- ], i- H$ I1 f/ v( q& q" U; n/ r0132D8FC . FFD6 call esi ; \SelectObject 3 A8 |+ S# f$ r) v( L( B+ J; o
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] . k% ]1 k3 I* o. x; N
0132D902 . 52 push edx & u7 ^3 I2 F$ N0 {3 f. t3 i5 z
0132D903 . 8BCB mov ecx, ebx
* o$ e% i0 w, l" N% _8 k. n0132D905 . 894424 40 mov dword ptr [esp+40], eax
$ h/ T8 h& j5 u9 ~" k5 A/ ~0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
% N# d- R' r4 T3 T7 s. A0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
) x) q% O0 \8 e7 N4 d! j _0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
, i# w8 J# V6 ~- J$ | \0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
- A1 _5 Z, l( J" n' L: f. J0132D91A . 55 push ebp ; ||hDC 8 ^1 L- R- a+ K3 x
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || . L' T+ d9 A. j4 `6 c" F; I$ I
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
3 |" r* M! J- h9 V0132D924 . 50 push eax ; |Multiplier
* z' y9 i; Y- M! U/ Q0 n6 Y# i0132D925 . 53 push ebx ; |Multiplicand : Q- t: S; ^6 r: h! }: l
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv 0 |5 U$ |4 K: x; y. G
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] - z% L+ v. Q) z7 r' T: j! W
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] 6 }8 Y0 F) Z7 E, [# B5 T
0132D937 . 51 push ecx ; /FaceName 8 f7 _- J: E" A/ M
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | : f- E' z1 ^) a1 |- ?
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 8 q% Z* }% C# o, H
0132D941 . 52 push edx ; |Quality + c! V% v- S. }9 [0 C, x* _$ r! Y- u
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS _& C$ `( R8 w# @2 O! r$ j
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS # @( Y7 r& R4 T
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
- ^6 k7 \3 X' ~- ?0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
' F. ~7 v, v. a8 w9 A p0132D94A . 8BD1 mov edx, ecx ; | # H V1 h) F8 d. ^, g
0132D94C . D1EA shr edx, 1 ; |
+ U L# O+ d) t7 ~4 ~: w0132D94E . 83E2 01 and edx, 1 ; |
" J! V/ H) B3 A; O0132D951 . 52 push edx ; |Underline " e- X- u3 F$ s9 J& _5 |8 C
0132D952 . 83E1 01 and ecx, 1 ; |
* ~" }1 F" g' d0132D955 . 51 push ecx ; |Italic 1 @! h% `( _, y+ h
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
( i' |. G" T" M+ w B6 }1 ?2 U0132D95D . 51 push ecx ; |Weight
) b& ~ ^3 l1 l) ~3 q0132D95E . 6A 00 push 0 ; |Orientation = 0 & e1 R4 |( m0 N# f9 B6 Q
0132D960 . 6A 00 push 0 ; |Escapement = 0 . |7 w/ @. h5 v$ z' b0 w) U3 V" Q5 G
0132D962 . F7D8 neg eax ; |
3 |2 z+ T$ a: I3 \; m8 }0132D964 . 6A 00 push 0 ; |Width = 0 % n/ W% S# Z0 \' e- ?
0132D966 . 50 push eax ; |Height , R; f( O6 @2 D* K+ S6 f- R
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
' g# y: K, R/ X. o' K* J0132D96D . 50 push eax 5 h+ O3 S+ S8 i f' Y6 [
0132D96E . 55 push ebp
! m: S% b; S% y5 Y1 F0132D96F . 894424 38 mov dword ptr [esp+38], eax : A( v& _9 i4 Q2 @1 k/ o
0132D973 . FFD6 call esi 0 I- y; [8 L5 q, s4 s/ q
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] ( I/ |8 D8 _. k2 I K) B$ K
0132D979 . 52 push edx ; /pSize
: } q# f3 X' Q" H2 s0132D97A . 6A 01 push 1 ; |TextLen = 1
: x( |" ^! t! T0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
5 t5 Y+ N: \; r' p7 @0132D981 . 55 push ebp ; |hDC
9 F5 N6 j% H( @! K: O) Z4 @; k# k+ `3 \; Y0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
% c+ O+ o7 z* _8 Q$ ~0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA ' q% Q% G3 A, D$ a/ h6 P+ U$ ~0 P
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
: d/ F' b; X( R0 M7 r w, r0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
3 l9 E" ~7 \4 @4 \0 j6 l0132D993 . 8947 18 mov dword ptr [edi+18], eax
! ~2 B, r0 @/ T/ e& z+ p, V0132D996 . 33C9 xor ecx, ecx
6 E5 }( x$ ]0 m1 G4 R3 X0132D998 . 8BC6 mov eax, esi u7 w& @3 P5 b) q
0132D99A . BA 20000000 mov edx, 20
6 F( F8 ~5 ]3 K/ S( q0132D99F . F7E2 mul edx
0 v1 h$ [' {- f: `5 T. V0 e0132D9A1 . 0F90C1 seto cl . \5 r8 t( ?. y: X* M
0132D9A4 . F7D9 neg ecx
) k. I9 C+ w2 `+ p0132D9A6 . 0BC8 or ecx, eax
- [& A8 z S* a# B' @, x0132D9A8 . 51 push ecx
" b/ n" Q5 L& X0 q7 l/ _3 _5 R0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> ) H0 w/ p7 F3 X; l' F# L% {9 \- E: q
0132D9AE . 83C4 04 add esp, 4
7 I* l; q, {9 K9 ? C0132D9B1 . 85C0 test eax, eax . @% l6 U# D2 h7 I
0132D9B3 . 74 28 je short 0132D9DD & {4 R) t+ y2 H- y9 u- e" J5 E/ Z
0132D9B5 . 83C6 FF add esi, -1 / ]) G2 _# r$ f
0132D9B8 . 78 25 js short 0132D9DF
( G" r4 C5 X- O- k0132D9BA . D9EE fldz , }% [- j: x3 V0 T. n0 W& B
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 8 g7 P ` B' u! M6 I' C
0132D9BF > D951 FC fst dword ptr [ecx-4] / D' i4 p4 o' m" M6 m( k
0132D9C2 . 83C1 20 add ecx, 20
_" z9 ^2 p: q% u+ U0132D9C5 . 83EE 01 sub esi, 1
) [2 X8 K, Y- I# [$ X4 a8 ]0132D9C8 . D951 E0 fst dword ptr [ecx-20]
* h# I6 a) s, K8 q8 a, K0132D9CB . D951 D4 fst dword ptr [ecx-2C]
4 H; X. R* U f; G/ s) |9 d0132D9CE . D951 D8 fst dword ptr [ecx-28] & n% s( I1 t9 `1 X8 q
0132D9D1 . D951 DC fst dword ptr [ecx-24]
D6 x1 e! I5 ]; ?! I& b; v+ d. e0132D9D4 . D951 E0 fst dword ptr [ecx-20] ' F+ C" `2 D+ h
0132D9D7 .^ 79 E6 jns short 0132D9BF 6 P0 V9 O2 ~! k7 [# V
0132D9D9 . DDD8 fstp st
" a+ Z. K& C3 S. k7 ^% W0132D9DB . EB 02 jmp short 0132D9DF / R# v: x7 e8 ~
0132D9DD > 33C0 xor eax, eax " Z' p! v; j V5 u, }# L3 ^& a
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] * h7 [% M8 Q& b. P3 h% }3 A, `
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
+ }8 A- H4 H+ _: o+ j0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] ! K$ b2 A7 V4 v! b: O8 h7 Z
0132D9F0 . 50 push eax ; /Bottom 1 [% u2 |/ k$ e F) l! w6 e
0132D9F1 . 51 push ecx ; |Right
7 j! d9 x4 V) y5 C/ w0132D9F2 . 6A 00 push 0 ; |Top = 0 * R7 w' C) {4 B- A6 A! n
0132D9F4 . 6A 00 push 0 ; |Left = 0 % O- D0 H4 Z( E" L' d$ u# z! O7 ?
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
6 [6 F% n) }0 \$ t" H6 [# T. e+ H0132D9FA . 52 push edx ; |pRect
/ F. q* m7 ]$ n0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
8 T0 {2 q2 S" [" Z; k$ g0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH * D+ Q% d# w. N+ q" ^4 A
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
, S3 A* M# A1 u; N5 h* s0132DA09 . 50 push eax ; /hBrush
" {# c: r/ X4 @7 m3 Y( i2 I0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | , [5 x7 r) H5 V( I; k
0132DA0E . 50 push eax ; |pRect $ l! j, I" q- M! \( T# b9 g, R
0132DA0F . 55 push ebp ; |hDC : b6 f/ E4 h" v
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
6 b3 ?6 e* ?! x& H; y0132DA16 . 6A 00 push 0 ; /Color = <BLACK> 4 a0 c$ \4 e1 D+ N
0132DA18 . 55 push ebp ; |hDC 0 A) S" ^# i' V9 M9 A3 r( x
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
/ F# h5 E. C/ C1 t" `( r( ]% X) h0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
! {9 ?* j9 d- L: e* j# M0 ~0132DA24 . 55 push ebp ; |hDC
- p8 ?; f" r- I: e$ G0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) @: R6 e# m; I" c* j9 I
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
) j0 N: M* S% G: m/ R5 m0132DA2D . 55 push ebp ; |hDC
- f, j b: \0 W; D0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode 4 Y5 g9 ~7 F8 H s( R4 k
0132DA34 . 33F6 xor esi, esi
' k0 T {% X$ X8 m# Q0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi
% o" p" q1 J+ z" Z Q: O! S0132DA39 . BB 01000000 mov ebx, 1
9 O3 }- B m- H' _' \% [; |0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx ' ]7 O( \1 h8 z, o. D2 C
0132DA42 . 897424 14 mov dword ptr [esp+14], esi
0 H( y, f4 k5 h. z$ \0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
# [/ [, E0 [) N# G0132DA4A . 0F8E 20010000 jle 0132DB70 + X- d9 D7 j- Q
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] $ R H3 Q+ O6 ^5 v
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] " V6 c8 O" R& d; E, l
0132DA5B . 897424 20 mov dword ptr [esp+20], esi # |) m9 I! e6 q3 S( E4 s& m3 J9 k
0132DA5F . 894424 10 mov dword ptr [esp+10], eax . h& p& C `2 [
0132DA63 . D95C24 38 fstp dword ptr [esp+38] % J( J- }3 a$ P% C
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
J0 u1 A& l2 S) I0132DA6E . D95C24 2C fstp dword ptr [esp+2C] ( ]6 Y* l2 u& W- b D; u1 F
0132DA72 . EB 04 jmp short 0132DA78
, U/ O; y: d& Z7 P0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] ' S5 b0 y ?: {6 W. I1 D x5 x' T
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] ; F4 _0 R. [$ H6 `: u. r
0132DA7B . 66:8B08 mov cx, word ptr [eax] + e$ A0 p+ N5 }: n, V0 E* a
0132DA7E . 037424 20 add esi, dword ptr [esp+20]
1 Z( ?" ~/ [0 d0 j, j0132DA82 . 66:894E 10 mov word ptr [esi+10], cx 8 b2 ?" b$ T; M) n3 K f
0132DA86 . 0FB700 movzx eax, word ptr [eax]
6 Z: P9 h% f4 p0 z0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] ) D5 z! Q% d* T3 @; C
0132DA8C . 51 push ecx ; /pABC
) j+ w2 N; w! Z' j, `3 O( ?0132DA8D . 50 push eax ; |LastChar ! N2 n( H, g, `9 O7 W
0132DA8E . 50 push eax ; |FirstChar 1 }$ m. n( f5 N
0132DA8F . 55 push ebp ; |hDC
. T' L& I7 ^- n4 p0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW 7 {. Y+ ~( O+ d3 l! c
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] 3 ~( }) b, `( g& B
0132DA9A . 66:833A 20 cmp word ptr [edx], 20
) _% Z7 r6 T( [5 |* V0132DA9E . 73 10 jnb short 0132DAB0
+ R0 E( W& B) w7 V) `0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 0 H) @6 @ x7 A& A5 U6 L
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
1 {' q# A$ J4 D n* p7 g/ Z* Q0132DAAE . EB 0C jmp short 0132DABC
2 K1 V8 B. Z& f7 j4 [. u0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1 $ i( Z' _& M9 r" M3 e$ h
0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 : r( |8 l; _1 v/ i* ^1 I
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
5 Q! `4 ?. |' R5 @* p& D f5 ]0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] N3 u: E# I/ y& j, \2 o6 c9 j( [: W
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
9 S2 o' O8 Z$ A$ O4 x0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8]
- T8 H8 }2 }6 P$ c; p- a0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] ) N( {- n' f4 X9 Z6 n. U" e" O
0132DACE . 72 14 jb short 0132DAE4 ) X: A; l- `' ]" T
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
" i7 R- N0 m" u5 O0132DAD3 . BB 01000000 mov ebx, 1
4 ]; G v3 }5 z" k' L" ~) [0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] - G H( b5 j' b: v' z- D3 q
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx , Y. ?3 a: Q7 }* v% ~
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax 8 r9 f2 t: }& z" Z& n. [7 O
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
! U) h3 G) e, Z0 B' F0132DAE8 . 03CB add ecx, ebx
% I+ K$ o4 C! J0132DAEA . 85C9 test ecx, ecx - ~: `; d2 w ~0 X5 j
0132DAEC . D94424 38 fld dword ptr [esp+38]
- @5 H# s5 @" W# Q- P; c0132DAF0 . D9C0 fld st
$ a1 g) F( O# f6 C: i& |0 v3 g0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx $ H% I9 d. j9 n
0132DAF6 . DEFA fdivp st(2), st
5 q: h- V0 d; d8 \2 C: b+ I& e0132DAF8 . D9C9 fxch st(1)
/ y& { E& ?/ {* D1 n0132DAFA . D91E fstp dword ptr [esi]
! O+ X+ \% q8 h$ i$ i o u+ G0132DAFC . DB4424 14 fild dword ptr [esp+14]
6 a9 N# K& M: H% C1 r m3 f8 I0132DB00 . D94424 2C fld dword ptr [esp+2C]
: m3 U5 x" f0 J" ^0132DB04 . D9C0 fld st
0 f x% t5 G5 {- f0132DB06 . DEFA fdivp st(2), st
' S( i0 R; c0 h7 [7 i7 O0 b0132DB08 . D9C9 fxch st(1)
% y9 Q" _4 @: m0132DB0A . D95E 04 fstp dword ptr [esi+4]
* `& {5 F& d# `" @9 S0132DB0D . DB4424 18 fild dword ptr [esp+18]
- x" m8 r$ y8 p( W0132DB11 . 7D 06 jge short 0132DB19
& l' @7 C8 v/ W$ T0132DB13 . D805 50B03801 fadd dword ptr [138B050]
( y/ M+ Y# |( N& _3 T0132DB19 > DEF2 fdivrp st(2), st " Z9 f: g9 p/ |" t$ ^+ `! f0 }
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
4 C8 F' K+ X. F k2 S' d+ { o, y' M2 x) N0132DB1F . 6A 01 push 1 ; /StringSize = 1
6 b* q0 P! T# A/ p0 l0132DB21 . 52 push edx ; |String
0 d& y7 ?* N$ D; g0132DB22 . 50 push eax ; |YStart
8 i7 z9 v6 u; q0132DB23 . D9C9 fxch st(1) ; |
. _3 w8 A* d: N* r0132DB25 . D95E 08 fstp dword ptr [esi+8] ; | A% y7 T' h# h( H
0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | 7 A, L! c, t% _1 K+ n1 I0 @* |; a
0132DB2B . 03C8 add ecx, eax ; | ' N4 ^! G/ C+ ^8 q; ^3 \
0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
% H$ \6 c$ @$ u' {* {1 m0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | + t M0 I, G: z0 z
0132DB35 . 8BC3 mov eax, ebx ; | 8 v9 j9 K5 D4 g7 r c$ a
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
' p6 h9 h. y$ P! C2 E& v( x0132DB3A . 50 push eax ; |XStart
" c' U K9 n) k$ r# K0132DB3B . 55 push ebp ; |hDC 6 {4 q; ?: f4 X/ E. y; f6 `, m
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
) P4 h+ s4 @$ | J0 t5 {' p3 U0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
. T- B& V& z# ^ d) @' d0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] ( I4 I' y- Y+ f+ E. K
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
# ?+ t# q: j4 N+ Y& N/ o/ p0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
* ~+ z/ S3 `4 |; H& z7 k0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 6 H i- _. I- g
0132DB56 . 83C0 01 add eax, 1 2 y; H' n3 [" k3 v
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] 1 ?: {, U8 @4 Y& ]4 K( u! t
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] 6 K4 z* b% D" u, i: B) k
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
0 N2 i( A& x4 X# E8 d0132DB64 . 894424 1C mov dword ptr [esp+1C], eax 2 i$ H1 \4 o* P! t2 y# T
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
p3 t: I7 P" P( R, F; z6 P# @0132DB6E . 33F6 xor esi, esi - C* r- _6 O' {9 e( r3 X k- \
0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
1 M9 M( ^' L$ Z/ r q# X8 J0132DB73 . 6A FF push -1
% i2 ?' O1 i" \" V C7 n0132DB75 . 83C1 38 add ecx, 38
4 Z' ~5 T; @% g- O5 ?# j- r0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> % o/ S: a/ r2 T* v
0132DB7D . 8BD8 mov ebx, eax
: V* B C( P: g& S, S) }0 {0 |0132DB7F . 3BDE cmp ebx, esi
5 u% t$ Z3 K, F0 r0 R0 k0132DB81 . 74 74 je short 0132DBF7
# c2 D4 r" A6 c. G2 s0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] ! w+ J+ S& j6 Y2 K5 r& W$ S% T
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
4 t5 ]0 ^+ S- P1 L& w& q0132DB8B . 52 push edx ; /Buffer
# V" v, s' c& c! ^0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
% B: _8 J. t+ t+ @0132DB8E . 50 push eax ; |hObject
+ J) I2 C6 _" C: f* x5 o, i2 z0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA / K9 Z2 \6 d2 i
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48]
/ M C' p! {7 M6 l! e. V0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
, o! g6 c7 x; k6 S- e0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] 3 d+ k$ p1 O, O! M3 _, N( a7 e B
0132DBA1 . 037424 54 add esi, dword ptr [esp+54] % H ~9 k: n: G( R: p1 C& N* I
0132DBA5 . 85C9 test ecx, ecx ( l- }" f- k$ |7 R8 T8 O% J
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 9 n0 d- p# y- p& r
0132DBAF . 7E 46 jle short 0132DBF7 - B" G- q2 i1 O* y) \) `
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
- c! q: T5 i r: I8 K# L0132DBB5 > 33C0 xor eax, eax # d) Y' Y* W z3 T: F# V; b* B
0132DBB7 . 85D2 test edx, edx " j. i0 w$ S" V Y/ K
0132DBB9 . 7E 26 jle short 0132DBE1
" L# M# ^6 n% d/ b! h0132DBBB . 8BCE mov ecx, esi
2 I: ?! _" e" |0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
3 @3 e+ V" Z; S& Q: [/ g) j0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
# q: B8 I% i4 F0 z0132DBC3 . C1E2 18 shl edx, 18 ' T- `- u4 [3 ^ h' j1 a
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF 4 t; Y! [1 o' D) L3 y* d
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
; Y$ d7 n6 t0 B8 Z$ S9 u- {0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
+ g6 Z3 H% j. y( j! t' T7 L0132DBD3 . 83C0 01 add eax, 1
0 o& `6 V8 B8 o# \# |0132DBD6 . 83C1 03 add ecx, 3 9 C4 C! Q$ \- q3 k4 [% t
0132DBD9 . 3BC2 cmp eax, edx
4 K/ F: f7 E# M( K. U6 n! g0132DBDB .^ 7C E3 jl short 0132DBC0
8 I) R: R+ A, g5 V7 ~( p0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
- n N1 T- m3 ~7 b3 D4 U# l0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
# u0 }. U$ ~2 R3 U0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
+ V8 O2 B/ z+ w0132DBE9 . 83C0 01 add eax, 1 2 j6 Y+ \0 x" x0 H1 D) i
0132DBEC . 3BC1 cmp eax, ecx 6 ?5 `5 R9 ^! v
0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] , W( A3 C+ X+ J& s9 F
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax % }3 {5 K) d5 R' q' C
0132DBF5 .^ 7C BE jl short 0132DBB5
& T' U; y9 s6 H! n b0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
2 P" C! o4 V" A& e0132DBFA . 6A FF push -1 . R& }! R7 U9 S$ D3 w
0132DBFC . 83C1 38 add ecx, 38
" L$ w. A" V) h5 P2 R" }0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> ' m/ b+ K5 E2 e7 \: r( A
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] - Q& b4 K% M9 b6 L
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 7 v2 x* T6 E2 s7 i. A# p4 a
0132DC0E . 50 push eax ; /hObject ( l9 ~# v' ^0 C; B' X( Z4 Y. _: I4 d
0132DC0F . 55 push ebp ; |hDC
0 c9 [! e6 `/ L* O( \0132DC10 . FFD6 call esi ; \SelectObject $ l8 `- A2 m0 k" A' @- v
0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] / ^6 F! {7 d' i/ A" [7 |
0132DC16 . 51 push ecx
, b2 ?5 ?6 ^, m$ v1 J0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
$ w6 l1 D& a# w- g! ]0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
9 O8 t) K) _7 O' z; z$ M0132DC21 . 83C4 04 add esp, 4 5 X! O( t' d6 S6 w0 B
0132DC24 . 52 push edx
0 _+ `9 U6 R! m. U0132DC25 . 55 push ebp
$ M% v. c* a. J0 B0132DC26 . FFD6 call esi 2 Q( u% u' Z2 ]6 R
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] ' o; I' b; X1 s, P E5 ]* F5 \
0132DC2C . 50 push eax
4 o( f/ i5 l8 x( j5 e; }$ w0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
) x( J0 ]( N- P P5 u$ |3 V0132DC33 . 83C4 04 add esp, 4 R' t7 z3 c9 s# z8 ^
0132DC36 . 55 push ebp ; /hDC
0 L+ ]2 ?3 C5 |0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC . O7 k/ J2 T0 b0 P l
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28] $ i* G7 ^- ^3 c7 _2 j
0132DC41 . 6A 00 push 0
: V- ?! M1 |: J; k- d; F0132DC43 . 51 push ecx
7 U, |$ Y% _2 H# l( c3 f0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
0 O( e& M% h% @2 U) [; f! W0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> : t1 k( m# v! x4 @% j! i
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
1 @ H8 |" j/ P0132DC4F . 6A 01 push 1 ) o& ?6 U) F: R! \2 y9 n9 R6 h- ~
0132DC51 . 83C1 38 add ecx, 38
2 u4 o5 \5 I' j5 J! S0 w0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> * V( K/ V8 X# C6 G, `" ]1 f5 s
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] 0 b7 R a* H, ?7 |' }3 a* j( \* l
0132DC5C . 8B11 mov edx, dword ptr [ecx] 2 r2 @4 M) F5 p% i9 [3 e
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
( j T8 m$ {2 N* `0132DC61 . 6A 00 push 0 7 W6 ^* ?1 z2 J0 t& L6 q- r+ m' T
0132DC63 . FFD0 call eax " l3 h4 K" S# |
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
) S K! t/ Z% d) H- p. {9 r6 H8 u0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] / \3 r B: J7 ?0 ~3 T( A0 U1 c
0132DC6C . 33C0 xor eax, eax
* \/ m3 Q& a+ j; a' r& v9 |1 G6 W0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] - i' l5 _. V6 j; X2 a, d/ G+ E- l
0132DC75 . 5D pop ebp
3 J7 H6 b2 u, Y8 \5 N; G0132DC76 . 0F9CC0 setl al
, r( L+ g# @) h9 Z1 |: E0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] ! _* Y$ D, W% w' `7 p
0132DC80 . 5F pop edi
- d) ~4 F" @. ^ }) U( v+ w0132DC81 . 5E pop esi & N6 G4 n5 p% J4 m
0132DC82 . 5B pop ebx / e' F, l( j. n/ u
0132DC83 . 33CC xor ecx, esp
3 p9 W* ~# H4 J# D& c6 T9 X' N; V" ]0132DC85 . E8 E2460500 call 0138236C
, D ] x& @: R; W k2 j, H0 l4 \0132DC8A . 81C4 98040000 add esp, 498 L/ I% T& J: ]) [/ a4 `! C4 h: a
0132DC90 . C2 2800 retn 28 |