发现了一个和字库有关的函数,研究中。 2 b3 ~1 r4 G4 e# e) A1 \ X3 F
! H1 ?6 J% @" q0132D7E0 $ 81EC 98040000 sub esp, 498 : U" X. \4 ]0 H
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] 1 M) R* u# S! @1 |# @* E/ A, L8 K
0132D7EB . 33C4 xor eax, esp , c4 g8 V* U9 U$ U: |
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax 5 e u/ m0 J/ i$ |5 X, e
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] & N3 [) X: n" h1 a
0132D7FB . 53 push ebx : a2 m' K/ m8 v+ h: ~+ A. c# I& E
0132D7FC . 56 push esi
4 N, r+ x& z7 p; ~8 Q+ q2 ] u0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
' e: V1 E5 H8 C: y0132D804 . 57 push edi # A; Z. G$ p3 o% L. C& t Q
0132D805 . 6A 30 push 30 ; /n = 30 (48.) 0 @. z6 D" t: C) N) ], @! l
0132D807 . 8BF9 mov edi, ecx ; |
+ s7 z4 Y$ F# h! D7 s0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | - ^' D' @! @, f3 ? k3 y; i4 H2 a1 z8 [
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | 8 |, ]* E6 g' z, R. V
0132D814 . 6A 00 push 0 ; |c = 00
% ?, \/ W0 S) o( D$ D0132D816 . 52 push edx ; |s
3 d% @6 g% U9 _1 F7 I) f0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | 3 y% J+ A& R d$ S& w1 L
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | 6 K) I u9 x9 b* q o" X+ I
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | 9 f9 r+ l3 h/ K6 i; o% v
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset & j' T1 S& T2 m% B4 F; b8 ^# ?7 l0 n
0132D82C . 83C4 0C add esp, 0C
. U, @9 X; x( [% A1 g/ Y* z0 p- ?0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
3 ~. S# D; G% m: `" y0132D837 . 74 12 je short 0132D84B
; x9 B& p% [* W) F0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] * C3 f9 d% N7 u: m
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
, y5 O w5 ~( ~4 s0132D846 . 8947 1C mov dword ptr [edi+1C], eax 7 |8 B. t, ~" u3 b! \+ Q" x% O( V- [
0132D849 . EB 32 jmp short 0132D87D
; b L& U2 D! }( t a0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 ' d- N' R7 u2 a2 B7 Y: |
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] . l) x1 O* |. S% O/ F
0132D855 . 33C0 xor eax, eax 9 m9 T7 j3 g* w5 ~5 c0 z5 U. G+ X# R
0132D857 . EB 07 jmp short 0132D860 3 l, n- O v' h: Y( I
0132D859 . 8DA424 000000>lea esp, dword ptr [esp] ; z2 W! I- t/ E" A8 B: i% {+ L
0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
3 s. z S% q2 c& m8 d- X* l0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
& H" Z( s \$ i6 P0132D86B . 83C0 01 add eax, 1
, S9 Y1 w) P/ c0132D86E . 3BC1 cmp eax, ecx 2 k4 X, ~% A9 q, m, k8 }' b% X- c
0132D870 .^ 7C EE jl short 0132D860
; Y0 R1 }% E W( M3 {1 X+ d0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 5 t6 e) ^* O. }
0132D879 . 894424 0C mov dword ptr [esp+C], eax 1 ~* @8 n* @( D* ?: A' ]. Q3 ]
0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
( [% E! u3 y }; ]" k% {( w0132D880 . 85C0 test eax, eax
6 V0 S7 x$ v2 B- I6 ~' P0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
( d+ J r9 @: J0132D885 . 75 05 jnz short 0132D88C
# h% E- q' \* t7 D; e0 o3 |0132D887 . B8 16263901 mov eax, 01392616
$ p9 N, Q' h8 g# Z i3 A$ Y0132D88C > 6A 00 push 0 , s }0 X# M7 k
0132D88E . 6A 00 push 0 4 N" T# H& c. K: y: K: X
0132D890 . 50 push eax % l' Q K7 Z9 h+ V' h
0132D891 . 6A 1F push 1F ) ~, k9 t" \: W
0132D893 . 8BCE mov ecx, esi
+ X' z$ p5 I% ^: D3 j6 p O8 M* |0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
# r K( K" [3 b1 ?0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] 3 ]1 a- m M6 ?( {' P1 H7 ]3 f
0132D8A1 . 6A 00 push 0
# V- n, w j6 X6 } W0132D8A3 . 6A 20 push 20
1 C; X% z" b x/ v* A0132D8A5 . 51 push ecx
# K6 N, I2 M* Y# U0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] 1 G3 c c' O5 N+ o; u9 |/ ]: g
0132D8AD . 8947 24 mov dword ptr [edi+24], eax 4 y" H9 H b' y% Y/ C) F
0132D8B0 . 8B10 mov edx, dword ptr [eax] 5 B! Z% g$ k/ p4 m# X$ S
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
+ I* F# P6 ?0 _( y' ?4 e, H0132D8B5 . 51 push ecx
. j8 ~. N) f+ v3 \0132D8B6 . 8BC8 mov ecx, eax
; Z# n% a' c9 H* j0132D8B8 . FFD2 call edx * k/ ]4 j# y1 h8 k j6 g
0132D8BA . 85C0 test eax, eax
5 `, O2 ?9 T( q) k/ h# C0132D8BC . 75 07 jnz short 0132D8C5
5 r2 j0 a6 z1 z( H0132D8BE . 32C0 xor al, al
& g6 a7 \. M$ J! n) j4 C; I0132D8C0 . E9 B4030000 jmp 0132DC79 ) H% }- |$ N8 [5 S
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] ' u1 K% h" Q, {0 J
0132D8C8 . 8B01 mov eax, dword ptr [ecx] & z2 R$ l( J8 {4 v. E$ x, d: i6 x
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] ' ]! U4 m% y2 n$ V
0132D8D0 . 55 push ebp
4 f7 E# h/ g/ T D9 U' F0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] ; M% }' H$ @" H7 \
0132D8D5 . 52 push edx
! H" |! W# N; Q9 Z0132D8D6 . FFD0 call eax 5 {5 A& r* E" F! r$ k# R
0132D8D8 . 6A 00 push 0 ; /hDC = NULL 3 {; d+ O! X2 _4 P/ V4 F# w
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
& k/ \" n2 ]9 d: U% P0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
9 v) p: Q( \# Y9 \0132D8E4 . 51 push ecx ! D% B8 I+ j4 b7 x# ?6 p
0132D8E5 . 8BE8 mov ebp, eax 3 ~* H# ^( a. A: s- ^: X: n
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
[# E% T3 k0 ]. \0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
' ]4 Y( M% Z; H3 m7 T8 e0132D8F3 . 83C4 04 add esp, 4
8 W- p2 v- c; B* |; H; n0132D8F6 . 50 push eax ; /hObject
X/ _3 V. c; N" q* _: Q0132D8F7 . 55 push ebp ; |hDC 2 N! j- T7 J* T- |
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | ( q2 n3 {& r% ^3 L) A
0132D8FC . FFD6 call esi ; \SelectObject
) M; x8 K5 b" M$ N b1 P0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
. U6 T u8 l3 i6 N" a; u: q. V0132D902 . 52 push edx
+ s& {; w' t/ L& n m! c M) {0132D903 . 8BCB mov ecx, ebx ; T+ J0 }+ F' N3 V6 Y
0132D905 . 894424 40 mov dword ptr [esp+40], eax
$ P y& ]& f* Z- T0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= ; l6 y0 z& }" U! E
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] 4 L# E3 b. }) u
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) 3 t* ?! u, v+ f2 C4 \, d L
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
- |" f i0 h1 v8 R0132D91A . 55 push ebp ; ||hDC
2 r2 x7 k# `/ U( E0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || 7 ?0 s4 @8 L/ t, l* K" m9 X
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps $ {% O) ~: V) [0 k4 c( ~9 |0 [
0132D924 . 50 push eax ; |Multiplier 8 j4 e0 ^3 u) D1 W ~" E" p
0132D925 . 53 push ebx ; |Multiplicand $ J0 i( y! C0 T o3 ]# g, _
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv ! y5 t% \- m. M7 J; ?) a. F5 G! @: E$ ~
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] g5 e, j5 i% |5 U7 h
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] 0 f9 _3 b* j- {* \4 r
0132D937 . 51 push ecx ; /FaceName
8 X! K5 C2 B, d& S0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | 5 W% l4 B; D' G
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 1 @( R' i) H- ^( d
0132D941 . 52 push edx ; |Quality ( A$ _) l; n4 Z [: q2 ]
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS - t' i7 A$ H# X( I4 J5 {1 f/ p( [0 v. ~
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS 7 F& K2 J+ s- K) T6 f8 Z
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET : t1 U5 D2 T/ B/ w; I8 P- f2 U
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE % y/ N: U" I4 z m0 O+ z6 B
0132D94A . 8BD1 mov edx, ecx ; | . c# |! \8 k1 l( d6 m, ~% h+ x6 V
0132D94C . D1EA shr edx, 1 ; | D0 C: U/ I, G0 K! C- y
0132D94E . 83E2 01 and edx, 1 ; | 4 S" N% e1 u) C
0132D951 . 52 push edx ; |Underline * G% V2 `* V5 t, F
0132D952 . 83E1 01 and ecx, 1 ; |
. ^3 \7 U0 v: A8 y0132D955 . 51 push ecx ; |Italic
! {$ l+ E0 k: Q; A2 R8 d0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
4 ?; d, n0 [* `3 _9 x% I( }0132D95D . 51 push ecx ; |Weight
' |: e& Z& J/ o9 e0132D95E . 6A 00 push 0 ; |Orientation = 0
1 ^7 c8 q- W2 ^2 A) }0132D960 . 6A 00 push 0 ; |Escapement = 0 + o: n7 p0 ]2 }7 }: [$ v O
0132D962 . F7D8 neg eax ; |
5 y$ M8 v: R1 i7 G' ] {0132D964 . 6A 00 push 0 ; |Width = 0
5 H, O, _1 X7 K- O! F0132D966 . 50 push eax ; |Height
/ } H5 n4 K2 z0 {0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
* {( ?. @* L' \' b* v0 ~) Z0132D96D . 50 push eax 8 V }6 ~5 s, x, b% ^
0132D96E . 55 push ebp . m/ G) ]0 Z& L$ b8 U. V
0132D96F . 894424 38 mov dword ptr [esp+38], eax ; ^/ [! }- |8 i% Z1 o4 C
0132D973 . FFD6 call esi
" L' M& i; r% q: W0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
& @0 f, Y! f! |0132D979 . 52 push edx ; /pSize
/ [/ }8 C. V% Q- u5 B' M0132D97A . 6A 01 push 1 ; |TextLen = 1
1 }8 |( i4 w* M$ F- O; y- m0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A" , r' T, M! v4 l* g
0132D981 . 55 push ebp ; |hDC
( j" I8 N, P4 K4 q2 e4 j8 ^0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | ) Z5 k1 |0 q3 s; i' e: s
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA * W6 a5 i* q# _% o! e, P& o' w" l
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] & o& M T2 T( J) }& q( z
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] X7 @- r C3 e: I! l7 @8 j
0132D993 . 8947 18 mov dword ptr [edi+18], eax
% ?8 @7 v! P) I6 I- _0132D996 . 33C9 xor ecx, ecx
0 u+ l; C- F( D; P; R0132D998 . 8BC6 mov eax, esi
# f- j1 D. n; ]! \" g* K0132D99A . BA 20000000 mov edx, 20 ; k$ ]. Z1 V- A4 ?! M& x
0132D99F . F7E2 mul edx R! h! l6 f; X0 U; W5 o/ T- w$ V
0132D9A1 . 0F90C1 seto cl
5 T1 q8 e7 Y5 _/ ]0132D9A4 . F7D9 neg ecx 0 i' X" q. ]7 t* M4 K
0132D9A6 . 0BC8 or ecx, eax
) `5 m1 \! ?! [/ X! L% ^# E0 r0132D9A8 . 51 push ecx
) k$ e: I+ ~/ A. E& y0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> * p2 ^ l) ~, N9 L7 \6 {
0132D9AE . 83C4 04 add esp, 4 8 u% U0 Z' j9 H o& J3 f1 g1 c% g
0132D9B1 . 85C0 test eax, eax
4 ^- y) W5 x' M0 F9 o% @0132D9B3 . 74 28 je short 0132D9DD
- m. }9 |' |9 e. a. `! c i0132D9B5 . 83C6 FF add esi, -1
- T% X: w& k" M6 n0132D9B8 . 78 25 js short 0132D9DF
; ~7 i$ x) @' O* u% d4 j# f- c0132D9BA . D9EE fldz
1 U& _) a! k, q! F l3 ^/ |0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
, f7 s% l n7 q7 m+ R8 T* y0132D9BF > D951 FC fst dword ptr [ecx-4]
O" B8 l7 s$ D" ~2 t" V0132D9C2 . 83C1 20 add ecx, 20
: Y4 m$ B% @; a8 {1 G2 }% B" E0132D9C5 . 83EE 01 sub esi, 1
, H8 o' x+ [: V0132D9C8 . D951 E0 fst dword ptr [ecx-20]
% S' \ C7 U5 L0132D9CB . D951 D4 fst dword ptr [ecx-2C]
; r) j5 z, o% w% d; Y0132D9CE . D951 D8 fst dword ptr [ecx-28]
+ w" y4 A1 Q* E/ f/ u3 `* D: Q0132D9D1 . D951 DC fst dword ptr [ecx-24] 7 [* y- j6 {4 n; q2 O: r
0132D9D4 . D951 E0 fst dword ptr [ecx-20] + x7 W4 y7 j: `, f/ n& h, F- ^
0132D9D7 .^ 79 E6 jns short 0132D9BF
& ], K4 H# J. a/ Y0132D9D9 . DDD8 fstp st ' Y8 ?6 ^0 `0 U: a' e
0132D9DB . EB 02 jmp short 0132D9DF 1 w! m/ V9 A! i& q
0132D9DD > 33C0 xor eax, eax + U* @: @ v/ F" Z6 C
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] * Z% M% ?/ a. S
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
( f3 h* G% J/ w9 a- {$ H2 S0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] & U8 ?, ?% i# ~# \
0132D9F0 . 50 push eax ; /Bottom & ?5 h9 q4 x! B ]1 W- O2 [4 }( _, h y
0132D9F1 . 51 push ecx ; |Right 3 }- e' I: n% y* w' A
0132D9F2 . 6A 00 push 0 ; |Top = 0
6 O" O, J: O; y8 r$ y0132D9F4 . 6A 00 push 0 ; |Left = 0 , Y9 F& e+ {2 J I: C/ @; b" p
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | 1 L) k* y* n& l t) s& t
0132D9FA . 52 push edx ; |pRect ; v" J" p u3 H5 H1 f$ p: J
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
" I y" Z5 W- {& O0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
$ F3 M( E+ a, ^% X k& w0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject 0 _ k/ l b0 L- y5 G B
0132DA09 . 50 push eax ; /hBrush
' X( H& T/ k4 A* s0 o/ K+ I0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
; T4 v2 f, a4 n* S0132DA0E . 50 push eax ; |pRect
" ]: q" ^4 ] y I% S" b0132DA0F . 55 push ebp ; |hDC - W! v. s+ \' Q- \8 {" j) ]* E( M
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
^$ i Y0 O* ?2 W d' m0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
% U( G# {% ^" C; m' I3 [0132DA18 . 55 push ebp ; |hDC
! b0 t7 W! c9 j5 o5 n" ^0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
^+ z% E. k. F/ ~0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
& |! I, P ]( D4 _- X0132DA24 . 55 push ebp ; |hDC : a6 Z' F" y4 r3 n9 y
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ! M( M0 ]0 T6 G$ c+ T- ~
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
- y- B+ m) G" }0132DA2D . 55 push ebp ; |hDC / `6 n0 l. _1 r" ?" Y& `
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
' Y! C. c( r- S" f9 Q+ U0132DA34 . 33F6 xor esi, esi % ?! A C2 H( q5 J8 w
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi + p# B# k) u! @# v+ F
0132DA39 . BB 01000000 mov ebx, 1 * o) V" H# E( d/ R I a" }
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
. Q$ F& o- T$ W Q5 s/ A7 F9 k0132DA42 . 897424 14 mov dword ptr [esp+14], esi
: X1 w# O4 B0 x7 d0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
. Z0 L$ g' R4 X* S5 [1 }. o+ E0132DA4A . 0F8E 20010000 jle 0132DB70 . S' } F' z% T" |( Z D
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8]
8 _/ z6 `8 B% e5 b0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
- y: n" H0 S/ V/ `6 \2 `0132DA5B . 897424 20 mov dword ptr [esp+20], esi 3 l6 ^$ s: ^! u' e" Y# j3 c/ K
0132DA5F . 894424 10 mov dword ptr [esp+10], eax ' n; @4 O. }5 A7 l( I I- p
0132DA63 . D95C24 38 fstp dword ptr [esp+38] + I' v0 A& O! `2 I$ a$ s6 c# [
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] : Q7 }& ?! z7 _
0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
, B' j& o1 g+ W. j# x* \% t0132DA72 . EB 04 jmp short 0132DA78 9 B! D8 g6 C' r6 \; J/ r
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
( _1 B3 z; c7 J0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
, \5 {/ o: F, G+ M0132DA7B . 66:8B08 mov cx, word ptr [eax] # ? X6 R% d) Q) q5 I' X9 H6 X
0132DA7E . 037424 20 add esi, dword ptr [esp+20] 1 K2 ?4 C* M7 d1 Y% x3 Z% S! g
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
1 O$ l( A1 t2 v) C0132DA86 . 0FB700 movzx eax, word ptr [eax] + {, _. ]: A7 l/ w( N" v' ~
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] # y H5 p# [9 [) t. F
0132DA8C . 51 push ecx ; /pABC
* r" n, E! S! G) ]1 T" ?0132DA8D . 50 push eax ; |LastChar ^- T- k7 B! x8 f
0132DA8E . 50 push eax ; |FirstChar : } {. @) y; h% U5 N
0132DA8F . 55 push ebp ; |hDC
1 v3 D7 w# D+ X6 ]; |2 B0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
% A: o$ H% }* J: F( X& l0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
$ i/ ` C1 H0 \( p8 G0132DA9A . 66:833A 20 cmp word ptr [edx], 20
1 @& o/ ~6 _; I6 R; t. ?+ Q0132DA9E . 73 10 jnb short 0132DAB0 ; H8 ^3 f6 m' f6 _0 [8 |' \
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 / H H) I4 f" ]$ ?9 ~2 I" @+ L
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 # s2 J7 t3 y$ d' W0 V/ V
0132DAAE . EB 0C jmp short 0132DABC
6 X8 k9 _' m$ J# I8 | h! W0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
3 d' I/ G5 P d: K8 Q- k' @. z0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 , v& e1 C2 Y8 @5 P
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 9 o/ ?) k: M3 ^: \$ H @; ?2 Q
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] ~+ T5 } Z0 G4 B' j; R
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] + K, m" x' Z% K( M- X& Z: `# i: X
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] ) f% |( P$ u+ o- U* y# q
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] $ n6 w: z- y2 d) q q- s
0132DACE . 72 14 jb short 0132DAE4 & X: x2 j* ~; I& [ {4 ?$ Q3 s- [
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] - f3 u% b$ m6 F( m
0132DAD3 . BB 01000000 mov ebx, 1
/ @% _. m% b" ]- O, z5 K6 N0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
% D( V4 b4 O8 o8 p* H$ }7 Y0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
% K/ P$ @/ z p2 d0 s0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
5 m/ K) x2 h$ b3 S# K/ a0132DAE4 > DB4424 18 fild dword ptr [esp+18] % T( b k- G% J2 ~
0132DAE8 . 03CB add ecx, ebx # }4 _5 R; T# o1 k1 o6 [
0132DAEA . 85C9 test ecx, ecx # I1 Z9 j( [/ W* A
0132DAEC . D94424 38 fld dword ptr [esp+38] ' E$ {/ D, T- v3 q3 g1 u$ {
0132DAF0 . D9C0 fld st . ?, A& [) `8 l4 e! a2 V
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
, Z, C; ^3 V, Z0132DAF6 . DEFA fdivp st(2), st
; q' N! Y( E- c) S1 c( Z2 |! z0132DAF8 . D9C9 fxch st(1) $ e8 b2 Y' _7 t1 m' Y: Q8 r
0132DAFA . D91E fstp dword ptr [esi]
" N9 ]. B& U5 N& X0132DAFC . DB4424 14 fild dword ptr [esp+14]
8 n$ \9 o$ d0 }/ E( x6 p7 q% A: H# W0132DB00 . D94424 2C fld dword ptr [esp+2C]
, b- n6 ~/ A2 B! @3 i. A0132DB04 . D9C0 fld st
! \' S7 ?7 w! S0 N0132DB06 . DEFA fdivp st(2), st
4 D. q3 W& n7 K* t* ^+ L, Y/ g' f% x! P0132DB08 . D9C9 fxch st(1)
& y: ~% B( M& U: h) }: V& l0 ]0132DB0A . D95E 04 fstp dword ptr [esi+4] V7 K& T" N- V! Y; v$ |2 w* h( Y
0132DB0D . DB4424 18 fild dword ptr [esp+18] ! x2 o: p+ z @' m* s! V( b8 f- I6 n
0132DB11 . 7D 06 jge short 0132DB19
* N8 k1 N3 ]0 B8 ~' \7 G0132DB13 . D805 50B03801 fadd dword ptr [138B050]
1 a; [: p: F) K0132DB19 > DEF2 fdivrp st(2), st t* x) H# L% J: L
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
5 }5 b. |# t! _0132DB1F . 6A 01 push 1 ; /StringSize = 1 % d& m x7 V& m5 s3 B1 q+ z9 J
0132DB21 . 52 push edx ; |String
" m3 w/ a3 a# X( o. z0132DB22 . 50 push eax ; |YStart $ O a0 q' L0 M. x5 I
0132DB23 . D9C9 fxch st(1) ; |
4 E7 |( R0 _$ g# e0 @+ d0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
. @/ ]. U2 g& U* o4 y. C' Z8 ?$ g0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; |
* b1 g3 ~) ]# A7 Z0132DB2B . 03C8 add ecx, eax ; |
/ _: U+ K" l) g8 L' E# P7 E0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | 7 g1 z1 H5 u' I* \, T' K
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | * y$ C6 N1 d" y8 l- ?
0132DB35 . 8BC3 mov eax, ebx ; |
5 @5 N* j m2 A4 y& Y6 J0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
n% R' F v' Y [0132DB3A . 50 push eax ; |XStart
* c! }* T r t0132DB3B . 55 push ebp ; |hDC . x7 Q8 I) Y$ i0 m
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
' ]! F0 B1 j. Z. _& J& }8 Z0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW 9 V* {( t9 y' p: j9 f4 |
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
0 @6 m, C2 d4 v9 {0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
4 ^4 X2 Z* ~5 C' r: i9 H0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 & I' |5 x2 V, f
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
( d G$ {& W& ~1 }& D0132DB56 . 83C0 01 add eax, 1 9 z. ?6 c, l, {5 t: i' }( O { l
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
( q* C, C. d+ o6 @$ u0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] # F+ s7 k5 z6 n' B9 z0 b V
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
+ l! R3 ]9 Y% }5 E! R6 t0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
1 b& E4 A' ~( _. n8 I8 Q0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
: X4 P9 d# Q: s- M: K0132DB6E . 33F6 xor esi, esi
' K; Q2 S: W# a. ~/ X0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
8 V* V- C' Q! Z$ @( o1 R( d, F0132DB73 . 6A FF push -1 $ ?5 k2 h: J0 K0 U% E# q r
0132DB75 . 83C1 38 add ecx, 38
9 L0 c: m- Q4 f2 x7 q0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf>
2 e% Z( l( f E5 W0132DB7D . 8BD8 mov ebx, eax 5 {7 x" i+ e( A7 P1 c* [9 M
0132DB7F . 3BDE cmp ebx, esi
/ x2 ?; x, v+ Y1 N9 p0132DB81 . 74 74 je short 0132DBF7
2 n- D& y* a# _9 \* V) w+ U8 ~2 m0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
( u o3 M$ ?; P) `* p* q8 K* F1 e0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
: b: o: ~3 p+ p9 d- H! X6 |0132DB8B . 52 push edx ; /Buffer % L/ o8 F; `$ f! @! P7 h
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) 9 u& a _ m9 S* a. M
0132DB8E . 50 push eax ; |hObject 8 t" C# v6 _( h3 m- F5 \
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
: B9 D9 C6 {$ x0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] : {9 s" U( c3 G+ f1 k
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
, e) [! I$ E1 y$ g) D, G% U6 }0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
, x. p8 `6 q* l3 H0132DBA1 . 037424 54 add esi, dword ptr [esp+54] 7 x H4 Z5 r# p: Q
0132DBA5 . 85C9 test ecx, ecx - O9 T4 m9 p0 {( h0 Y
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 1 h& I( Y5 ^4 S1 L. Y2 r! `
0132DBAF . 7E 46 jle short 0132DBF7
- l) J7 t+ \2 G7 f& b j( O) F0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] & j* t6 q* `; `2 L" I
0132DBB5 > 33C0 xor eax, eax + M: u E0 `" z. @- b
0132DBB7 . 85D2 test edx, edx 7 Q$ W' o, ]9 Q5 t3 p
0132DBB9 . 7E 26 jle short 0132DBE1 , e3 u1 ~" Y$ n f
0132DBBB . 8BCE mov ecx, esi + z4 b4 w5 c/ m# Z" o
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] ' }+ I# w6 Y( Y2 }. q- F
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] : E: u& y6 k1 I1 W% B7 N0 v Z" P
0132DBC3 . C1E2 18 shl edx, 18 : v8 j1 [% s9 [
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF 2 Y6 x( v/ U* ^, l0 R# n* n$ p
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
) G8 L x0 `. Q1 @0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] + } x: c9 F, m
0132DBD3 . 83C0 01 add eax, 1
7 ^$ D m% J. x n$ V2 c5 p; g0132DBD6 . 83C1 03 add ecx, 3 3 h# K( A& P4 T3 b" L
0132DBD9 . 3BC2 cmp eax, edx
( y5 }2 \- o' T0 D+ m3 x+ W6 ^5 }* V7 _0132DBDB .^ 7C E3 jl short 0132DBC0 8 O j% c5 ]) o# _' P3 ^! x: f
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] - r! |7 H; u: F9 h- A: K
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] + X0 S: H9 |/ m- X/ c0 c
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
1 K4 b- U0 Z, L9 q& t0132DBE9 . 83C0 01 add eax, 1 5 `& |% ?5 c0 s. c! E2 d
0132DBEC . 3BC1 cmp eax, ecx + t7 _- V5 s% L- s! B
0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
$ s0 p/ L5 g" E, H) l0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
8 A- C" B) H+ l( h# `+ N0 v0132DBF5 .^ 7C BE jl short 0132DBB5
5 h, k _& A5 m8 X2 Z0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
( I$ ]& ~: i- n2 ~4 }) A6 w0132DBFA . 6A FF push -1 + a1 j- _. |' u, x" n% z
0132DBFC . 83C1 38 add ecx, 38 9 l! Y! J& @/ Q$ Z$ P5 |: {
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
- _: Z1 ~/ [% M: I; A/ b0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] 2 d1 B1 w8 A2 U% e$ m- Q! N! p0 I! B
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject i0 ~' c3 `/ ^" |! c; Q# a; z6 P
0132DC0E . 50 push eax ; /hObject % A1 o6 C/ z- [8 z- x
0132DC0F . 55 push ebp ; |hDC
5 C" u @6 u+ W5 I2 N; q0132DC10 . FFD6 call esi ; \SelectObject
^: T" a, N4 q K* W! G7 U; u: `# C0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30]
- D+ U" s. W) J/ v' X7 B( w1 T0132DC16 . 51 push ecx $ ^9 |1 s/ e# t) |
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
- ?# [3 k1 R% t' x$ E) C4 a8 k5 G0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] ' \! f3 [8 _# F6 R" s
0132DC21 . 83C4 04 add esp, 4
5 x. @! F" p0 G6 D# u# z1 D8 M0132DC24 . 52 push edx 6 s+ X; g. s4 z, W% G9 E1 {
0132DC25 . 55 push ebp % g. D3 S# n6 R
0132DC26 . FFD6 call esi
$ z$ L; z% X4 l9 M$ b5 N! R0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
5 S' x. Q9 E: }5 @# ?# |0132DC2C . 50 push eax ! N! |! W1 \ {! O- n9 S
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont 0 Z0 ^$ v+ [( B+ H- O# H
0132DC33 . 83C4 04 add esp, 4
0 ]# U' X8 Y' J" _$ K S0132DC36 . 55 push ebp ; /hDC
; Y+ Y; S% B) j3 B0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC 2 g g3 Z9 q! V+ \' b V0 e
0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28] ( c% Y9 b9 {; T% T9 n$ n1 a' }
0132DC41 . 6A 00 push 0 6 t" c( M& x) J, V: w5 H& R
0132DC43 . 51 push ecx
( \+ z2 j2 d% I0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
5 d1 N1 x! R. }! g/ c1 {; b& q! f0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
. ?6 \5 t; }- O F, W; k0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
" a. d$ q9 O1 _0132DC4F . 6A 01 push 1
0 o. f( H# v" t, ^( D; M* \$ z0132DC51 . 83C1 38 add ecx, 38
" f5 ?6 j7 Z3 w$ T0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
3 g0 a, g1 E* G# ~' C, }6 f0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
6 E/ a: M' Z- `# K) n0132DC5C . 8B11 mov edx, dword ptr [ecx]
6 ~# C# b Z: E. [' a& a& v0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
! m: Q6 E0 e3 [% d0 G0132DC61 . 6A 00 push 0 3 P3 W9 M& i. ]# y X% M/ z. U) z
0132DC63 . FFD0 call eax
& n. b& Z" a, J! p! B# |: f0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] % |& l" M; P0 j' H" }" l5 n4 J3 D
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] + z& k- E6 U: v t9 n
0132DC6C . 33C0 xor eax, eax
9 P* w5 x& @: N0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 3 |3 p- u/ P2 L/ I
0132DC75 . 5D pop ebp / ^* y, i, O# `' e" M! N" I
0132DC76 . 0F9CC0 setl al
$ r0 G6 ]/ N! K* r1 |* x8 t0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] 6 k8 z; D( D% }3 y" P
0132DC80 . 5F pop edi
( e: [% p H8 U+ q/ b0132DC81 . 5E pop esi
5 Q" u- r, Q/ \9 R. {0132DC82 . 5B pop ebx ; e1 m. D7 ]1 P- V, h N1 ?
0132DC83 . 33CC xor ecx, esp ' @' n; \" B3 \) }. g: L
0132DC85 . E8 E2460500 call 0138236C 2 ^' c$ j; g, q# A: m6 m) g
0132DC8A . 81C4 98040000 add esp, 498
1 Y' J* V( q9 l$ W, ]0132DC90 . C2 2800 retn 28 |