发现了一个和字库有关的函数,研究中。
4 S+ X, I3 A) Y% p
! _% b' z2 P2 V; e0132D7E0 $ 81EC 98040000 sub esp, 498
! v' X" y! ]# i m3 i0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] , s! @/ O3 P3 e+ c! L9 d
0132D7EB . 33C4 xor eax, esp ; P6 `' t, E8 H2 i, ^/ R4 {
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax ( s3 \, U8 c& n/ J& A! z! X1 [
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] " @0 y& k5 e4 O8 k4 r' i
0132D7FB . 53 push ebx 5 L& I% X8 |& T% e o" {, Y; P. H
0132D7FC . 56 push esi
, C5 u. v; o. S0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4] $ J! F9 ?) B9 a
0132D804 . 57 push edi , k! Z- q- d) G& [# K% b+ l
0132D805 . 6A 30 push 30 ; /n = 30 (48.) " T( H r/ o/ Y
0132D807 . 8BF9 mov edi, ecx ; | 0 B) U/ M) {" M2 o1 y' V
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | 1 U& u: Q7 V5 b0 h& n( n
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | , J/ z. y7 f9 O+ w6 R* c
0132D814 . 6A 00 push 0 ; |c = 00 7 R- @1 h1 C/ d% q) V, t
0132D816 . 52 push edx ; |s
, k7 ]5 A6 @2 |$ b( H0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
2 n% T$ {/ ^" N0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | 6 f: V! [( C, S0 C& N
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
/ s& h1 A$ P! ], U* z/ }0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset / B. ]# q' F1 |( v- Y
0132D82C . 83C4 0C add esp, 0C ; v1 ?2 c- o. t# u" R Q
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
" w5 U3 O i7 F$ ]+ y# y0132D837 . 74 12 je short 0132D84B
# @, `5 `! }& B" h( J3 |0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] 1 b: \6 y H# t4 n' N
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" # L7 S" B% T8 n' j
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
, A1 Z3 N6 }% c3 v$ S' \ o3 g0132D849 . EB 32 jmp short 0132D87D
: }! w! t* S# q7 h$ R0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 & V M2 B' k3 P9 ]& x# g
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
8 J4 u6 V: l! J+ b3 }0132D855 . 33C0 xor eax, eax
+ ?" s$ W' s1 y$ v3 N, f$ Z5 ]6 A0132D857 . EB 07 jmp short 0132D860 # V5 L# z( l7 C7 s4 t
0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
1 n9 w; v* R/ Y. ?8 w0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
0 {" ` j( @1 f& ?0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
% f% ^+ ~. C: R( ~% O7 O* o0132D86B . 83C0 01 add eax, 1
. ?: @/ g; `% {# c7 }) N0132D86E . 3BC1 cmp eax, ecx
8 h% V& g v0 H+ @" G$ N0132D870 .^ 7C EE jl short 0132D860 ( ^: ?+ n3 b5 X3 v1 P1 H
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
9 h V4 d/ N& A! `0132D879 . 894424 0C mov dword ptr [esp+C], eax 8 F0 O! ^2 v+ z
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] " A3 z3 T, _9 Q) X) j
0132D880 . 85C0 test eax, eax / @" a- m) `/ R3 }8 o
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] 4 `8 C" [ ~! p: x; M2 M6 v& c
0132D885 . 75 05 jnz short 0132D88C
* A' P" T$ n s4 ?! z0132D887 . B8 16263901 mov eax, 01392616 W% k' T& H9 ^
0132D88C > 6A 00 push 0
+ A. w; |3 i' L6 C7 n, f% b0132D88E . 6A 00 push 0 : @$ C# F I/ O; C9 O& U% P
0132D890 . 50 push eax
' e1 b& l g) C/ p9 b7 B0132D891 . 6A 1F push 1F
2 ~' n. D$ e g3 K/ \0132D893 . 8BCE mov ecx, esi
- J2 Y p8 }1 P* D, o% Q0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
) D. }$ ?5 B8 L0 `0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
2 W( x$ X6 H& O, W- @0132D8A1 . 6A 00 push 0 * h: v' N8 N( w6 t! k
0132D8A3 . 6A 20 push 20 " v C, a3 @& s
0132D8A5 . 51 push ecx 2 K1 p/ b# Q! W) O* ~
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
6 |- k. n+ P* J+ i0 M! a- E0132D8AD . 8947 24 mov dword ptr [edi+24], eax + t1 o4 H$ M1 I1 l4 ^5 j( P
0132D8B0 . 8B10 mov edx, dword ptr [eax]
( x% h/ c* K" K4 C0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
% B8 w7 p) M4 K2 a- {+ _5 k0132D8B5 . 51 push ecx & a p, F1 a& `! |$ g# H
0132D8B6 . 8BC8 mov ecx, eax , L" `7 Z5 ?* P0 g( p9 v
0132D8B8 . FFD2 call edx
2 {) H* \6 {5 u. J0132D8BA . 85C0 test eax, eax ; Z/ ~- b3 k% P: r. s" J) V
0132D8BC . 75 07 jnz short 0132D8C5 ; J h3 ]0 `$ m
0132D8BE . 32C0 xor al, al ( l2 v$ S: N& e4 d7 h+ k/ r. U
0132D8C0 . E9 B4030000 jmp 0132DC79 0 N$ `# b! b6 s1 D% q* q
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] ! R5 @) [( ?8 R8 n( Z/ f
0132D8C8 . 8B01 mov eax, dword ptr [ecx]
6 f4 d& y. c1 s* @9 Z0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] , @9 S% }8 R d% ]
0132D8D0 . 55 push ebp
7 V+ S) `- U2 t; g) ~! N0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
$ M# u' a: r: j) d/ N0132D8D5 . 52 push edx
( m' V& I4 T* O+ i4 e0132D8D6 . FFD0 call eax " u, @6 ^) y3 [
0132D8D8 . 6A 00 push 0 ; /hDC = NULL
\" b9 b9 z. m; O. z0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC # f. @# i9 f9 i7 h5 W
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] & n( x* U' R K& Y! @' s
0132D8E4 . 51 push ecx ' \0 S9 A; @+ P* I
0132D8E5 . 8BE8 mov ebp, eax
t$ a: l& v4 Y0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
4 X; K" P z2 B* s0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
% j0 I- J3 l r, u1 q' ]5 p0132D8F3 . 83C4 04 add esp, 4 # M5 {2 t: A$ S: q9 t `4 B% ?$ W
0132D8F6 . 50 push eax ; /hObject
! z0 |' W" \% k# a; n$ W4 E0132D8F7 . 55 push ebp ; |hDC 1 |- Y) X8 I6 Q0 P$ T
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | , o4 B2 ~$ `) |
0132D8FC . FFD6 call esi ; \SelectObject
* ?2 L: f/ M2 v3 w7 N" w- z6 c0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] + y( H- X) u# i) O( L/ c
0132D902 . 52 push edx
: ~7 g) o1 p6 n1 H5 g7 I, O2 h0132D903 . 8BCB mov ecx, ebx ! o1 Q; p9 ~- M7 y. f+ L
0132D905 . 894424 40 mov dword ptr [esp+40], eax % ^" o l. q, X, Z+ K% o
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= / m/ \" g# z) i5 |& f
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
# ]8 o; [7 Y+ L7 F: o5 U/ C0 |3 }- ?0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) ]4 B( v: m% e7 k# C
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
. z( S. U/ Q& X0132D91A . 55 push ebp ; ||hDC * b4 X' r# z2 Q; y" |( @
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
, y! s; u# q9 M" E* z0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
( t6 g+ g" y+ t) ]* L0132D924 . 50 push eax ; |Multiplier
$ q& y. }0 x& F. S! s0132D925 . 53 push ebx ; |Multiplicand 0 c2 c; o9 |$ L0 Y
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
8 U' m7 T, ?1 z0 @0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
& q/ ]8 j# |( Y' ^: _3 J+ u- y+ J# U0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] - @& w* T1 D Y3 b
0132D937 . 51 push ecx ; /FaceName
# f8 |) n" {) f X4 K0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | ) h' `: } D3 {; K; `" Y- ~( V
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE % K% V/ g. R9 {
0132D941 . 52 push edx ; |Quality 1 M) }& c2 `9 k! e! j
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS , _, W+ v" z* K/ w$ s) c" ]! Z3 t
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS ( o3 t" N) m4 u5 B6 x6 j1 r
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET " S9 x6 A; q; S; G) c! D4 l
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE ; x2 C2 u a2 \4 D! N
0132D94A . 8BD1 mov edx, ecx ; |
: z4 k; |6 P W9 j( W0132D94C . D1EA shr edx, 1 ; |
# I/ y1 `' b+ f6 l" e9 ?' o, O0132D94E . 83E2 01 and edx, 1 ; | 6 X+ N1 R: q) a/ y9 A1 Q0 s& ?6 q
0132D951 . 52 push edx ; |Underline # y* v# r% M' ]! v; F+ ~& g" o
0132D952 . 83E1 01 and ecx, 1 ; |
5 z' q7 Y4 V- g+ w, c7 ^( @0132D955 . 51 push ecx ; |Italic . T0 k5 v+ ~0 O6 r9 P2 |
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
; j/ T) t' O% D4 L! n3 j0132D95D . 51 push ecx ; |Weight Y! G; M9 T% H1 M. t% [
0132D95E . 6A 00 push 0 ; |Orientation = 0 $ D( a' X f1 R' S* E u
0132D960 . 6A 00 push 0 ; |Escapement = 0 # ^: }4 a" y J+ S( H" C
0132D962 . F7D8 neg eax ; | ' T2 A1 n* |( y& i2 D1 x4 ?+ ~- e U
0132D964 . 6A 00 push 0 ; |Width = 0 ( ~2 }9 ^6 a4 B+ |
0132D966 . 50 push eax ; |Height
/ U6 x9 b# T% N. k! D' S- j! @! i0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
! e. Z3 O$ X1 t0132D96D . 50 push eax
c5 c& M6 O: g1 L: p* K+ l0132D96E . 55 push ebp
/ v7 S2 z% h0 R$ m8 U9 I3 @0132D96F . 894424 38 mov dword ptr [esp+38], eax 3 K* j7 K5 G/ |/ P% _1 ?! Q h3 g6 u
0132D973 . FFD6 call esi 4 o1 ~, Y; \& X, y
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] ( @. `5 \) U3 T. W% q7 H
0132D979 . 52 push edx ; /pSize
* X8 }+ m/ q* y2 A! P! p0132D97A . 6A 01 push 1 ; |TextLen = 1 1 o3 m2 r2 U' o& x) r! s0 u
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
/ Z, e1 w# d8 [ J# r' i/ U0132D981 . 55 push ebp ; |hDC
4 q1 J& v; T2 i- I4 d1 l1 ?' p) c0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
0 P; {9 Y+ l# g% H3 ? A7 v0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA G: D8 b# L% O% V
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
' ~# d/ f0 x" I0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
) v& d$ R& v0 f. P0132D993 . 8947 18 mov dword ptr [edi+18], eax
, r/ [! H0 r0 \! b+ [0 k0132D996 . 33C9 xor ecx, ecx # ]/ w2 @% ~: ~! ~4 C; U
0132D998 . 8BC6 mov eax, esi
8 D9 }6 v; `! T: O0132D99A . BA 20000000 mov edx, 20 8 q$ W1 R, G' Z. O# P
0132D99F . F7E2 mul edx 2 e. R2 d; F2 ~; `8 V, t6 T
0132D9A1 . 0F90C1 seto cl # a8 `. U6 U9 h/ F G2 ~4 d
0132D9A4 . F7D9 neg ecx
" e7 q+ E- [" m$ e6 i* A0132D9A6 . 0BC8 or ecx, eax
~% ], Y7 ~5 e N- a* A0132D9A8 . 51 push ecx
% O1 y3 p1 x' d' Z2 P7 S0 j0 Z0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> 6 B0 w' ^- G; S" F& ]4 U& y/ N6 w
0132D9AE . 83C4 04 add esp, 4 t6 j5 ^- i% ^4 T5 s9 m1 C3 b
0132D9B1 . 85C0 test eax, eax + w0 Q1 w; u9 {2 z
0132D9B3 . 74 28 je short 0132D9DD 8 u" w; V2 Q; T! p) c% }+ k
0132D9B5 . 83C6 FF add esi, -1 % _( q& T* `3 C$ p7 o) V
0132D9B8 . 78 25 js short 0132D9DF ; `8 E A" b3 x* v
0132D9BA . D9EE fldz # u# P' W8 p9 j: t4 O8 I( h
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
3 T, h" I8 }0 `, o3 y" z0 k- s$ ^0132D9BF > D951 FC fst dword ptr [ecx-4]
1 y# `8 ?: V+ R& S, |0132D9C2 . 83C1 20 add ecx, 20 6 L' ?" U- [6 m0 T7 q$ Q& A5 C# Z
0132D9C5 . 83EE 01 sub esi, 1 8 f2 C0 P9 I0 {: w: u( l( n
0132D9C8 . D951 E0 fst dword ptr [ecx-20] / J7 t T6 }1 B) p/ I C) N6 {
0132D9CB . D951 D4 fst dword ptr [ecx-2C] 8 h$ b7 P/ }9 l S# ?
0132D9CE . D951 D8 fst dword ptr [ecx-28]
. V7 p5 }' T4 Q% v0132D9D1 . D951 DC fst dword ptr [ecx-24] ( ^1 \# v( K+ m. M; J% K" _
0132D9D4 . D951 E0 fst dword ptr [ecx-20]
1 j4 ^( s. K. k8 y9 m0132D9D7 .^ 79 E6 jns short 0132D9BF / i. G6 Y0 m& p9 h! h& r7 o
0132D9D9 . DDD8 fstp st
- n# |1 u. R6 f( W0132D9DB . EB 02 jmp short 0132D9DF 1 h" q4 x9 n: P1 Q7 x m
0132D9DD > 33C0 xor eax, eax
% k/ r- ]2 G" Q i' d p0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
6 m$ ?8 e: B! C) F; e* S; [% a0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
( l; i$ L" C# ? o+ r l7 @$ N0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
" x. {2 G z3 k( e0132D9F0 . 50 push eax ; /Bottom ) A3 l/ P* r* w; ~# f- o+ f" R- j: W& {
0132D9F1 . 51 push ecx ; |Right
+ P$ l* v& Q' F9 A8 v$ l, c* u$ A0132D9F2 . 6A 00 push 0 ; |Top = 0 - [9 r& z% t) c% B) j' A( h
0132D9F4 . 6A 00 push 0 ; |Left = 0 # {& ]) w5 J' d: c8 L ]( w4 ^
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; | ( \( \6 g0 O8 H4 i
0132D9FA . 52 push edx ; |pRect
; q! J @0 y8 Q0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect $ i* ?" A C% Z: {( X
0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH # B% _8 N. O( W" @) \
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
/ x, v6 M2 {( B( {$ ] |0132DA09 . 50 push eax ; /hBrush 8 p5 |3 }# g& Q# q6 @3 q
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
- t2 W4 ]" O0 T0132DA0E . 50 push eax ; |pRect
# l+ z2 I" b% S8 R, N, S# J0132DA0F . 55 push ebp ; |hDC
$ X& ~$ n m- a& f" M) Y0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect 4 i# |; r, T, B9 t
0132DA16 . 6A 00 push 0 ; /Color = <BLACK> ; I- I v+ v8 ?7 X, _- x. E. w z
0132DA18 . 55 push ebp ; |hDC
" P. ^3 P& \# e4 `$ N0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
7 N2 e$ S0 }6 S9 i! ]! d0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE> % A x' B8 c h7 O# J$ {5 p3 V2 \
0132DA24 . 55 push ebp ; |hDC
% I. w% ^& h3 |0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor
8 L8 q7 ~1 Y" C) ~0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT
+ r9 r- p6 s% b6 y5 G1 T- m+ O0132DA2D . 55 push ebp ; |hDC 3 S( G% l$ s0 K3 |5 S7 n1 d6 m
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode 8 S: `+ k; k1 u8 d
0132DA34 . 33F6 xor esi, esi
5 B& b4 |* Z: [- N; y/ u0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi ' P J5 S: _1 L' j; E2 d1 l( l
0132DA39 . BB 01000000 mov ebx, 1 ! I. Q0 X* [/ g6 q& L1 r
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx 8 w- P# S% I) {4 M
0132DA42 . 897424 14 mov dword ptr [esp+14], esi 4 m1 d1 F& O' a+ r
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi
8 Z% R6 u4 Y. _4 w- y+ i! Q; `7 ~$ f0132DA4A . 0F8E 20010000 jle 0132DB70 : }- N: A8 \ D a
0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] ) l( L! ?3 D7 U5 q" ~( W- p
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
' Z$ R* R V+ C" P/ _9 ~- f3 T0132DA5B . 897424 20 mov dword ptr [esp+20], esi , i" P3 F7 H6 U
0132DA5F . 894424 10 mov dword ptr [esp+10], eax
7 U1 [. O3 d5 U- c& r+ s1 z0132DA63 . D95C24 38 fstp dword ptr [esp+38] 2 u/ W- W, Q% n4 [
0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
/ O" N) z6 A6 P. p5 P! p N( c- P3 L0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
8 ` F0 u9 O; ]9 L0132DA72 . EB 04 jmp short 0132DA78 , y F+ v! q, r" ?+ @3 ?
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] d. G6 P2 o, N8 g8 d0 A- M& q& n
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] - J& m# f2 P; C: H
0132DA7B . 66:8B08 mov cx, word ptr [eax] Z$ {/ n) `0 C# H
0132DA7E . 037424 20 add esi, dword ptr [esp+20] - R9 m V+ ?& y8 Z
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
$ v- d, |3 Q! l$ d0132DA86 . 0FB700 movzx eax, word ptr [eax] 9 P1 ^. G4 A1 M4 e: |" @4 d9 n( h" ^
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] : |8 ?# B3 z- v/ {6 ]
0132DA8C . 51 push ecx ; /pABC ( U8 e. ^$ @9 |) i
0132DA8D . 50 push eax ; |LastChar r, d) n7 q5 y) }0 |
0132DA8E . 50 push eax ; |FirstChar & T, J' u/ j$ M( Q% b! M2 ^
0132DA8F . 55 push ebp ; |hDC
& q$ ~) J/ b V8 s0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
, ~/ S9 |- s6 \0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
: H" u% f; L( s8 X: u& j P) l9 `# p0132DA9A . 66:833A 20 cmp word ptr [edx], 20 0 S! O0 _! d5 }- Q4 ]/ W0 M$ o! l7 A
0132DA9E . 73 10 jnb short 0132DAB0 3 C. G, Z( H# H' K( w: C
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 3 J+ q( ?& k9 ], Q4 E1 {
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0 9 v* h2 W0 y6 Q2 \: u. Z; ^
0132DAAE . EB 0C jmp short 0132DABC 8 ^6 `" z+ K; P3 V' z1 L
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
7 u% d% W. P# ]& h1 O0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2
( l' i. b3 b" P/ y% ^( [0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
4 w2 Q9 [+ \% F$ P, L1 a0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18] ) h; Z# n( m6 v
0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] + V( W) [. R7 [8 U( \2 N; \. I0 u
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] 3 o& K0 M; V' U) v. j
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] ( }) E" A0 z7 m; ]% h* w+ O
0132DACE . 72 14 jb short 0132DAE4 $ ]$ Y8 e- o+ z0 v4 E( L9 l
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
4 l; M! T0 l1 ?6 ~% k. L+ U0132DAD3 . BB 01000000 mov ebx, 1
& f# v ?: k o( m I% u8 L% K& Q0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
, K3 }1 f/ q5 j7 h- J) w4 a7 J0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
2 R/ J6 U! l" q p% I9 J0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
3 Q* }2 \4 r) D) g4 @, Z6 O0132DAE4 > DB4424 18 fild dword ptr [esp+18] % B- y4 d! X1 I8 C6 N1 {
0132DAE8 . 03CB add ecx, ebx
' ^# G( ~; Y% c( F( l: c0132DAEA . 85C9 test ecx, ecx , G; J+ L! ~+ A% k7 o" p2 r
0132DAEC . D94424 38 fld dword ptr [esp+38]
q0 ]7 L/ T& w! a. [' ^! A% ]0132DAF0 . D9C0 fld st 0 U" d+ g7 U% ?' x, R6 u, L2 r
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
; D$ O& O* H4 }% p; J: l) e+ s; a0132DAF6 . DEFA fdivp st(2), st
* P/ V5 G6 m; q7 X/ ^) v3 q0132DAF8 . D9C9 fxch st(1)
5 _5 K/ i; b: {0132DAFA . D91E fstp dword ptr [esi]
, G+ \5 y7 n, ~( S) h0132DAFC . DB4424 14 fild dword ptr [esp+14] 7 E5 j! Z! Y* G8 _
0132DB00 . D94424 2C fld dword ptr [esp+2C]
+ z7 S! t) r& [" B- Z5 {0132DB04 . D9C0 fld st
. n" U% Q; h% U+ p, M% D0132DB06 . DEFA fdivp st(2), st # n6 R& V9 E" h* O% a. c5 L! \4 G
0132DB08 . D9C9 fxch st(1)
0 f6 m6 M; y9 p3 x g/ ~3 i0132DB0A . D95E 04 fstp dword ptr [esi+4] / t3 G9 q0 t$ S9 G& B `
0132DB0D . DB4424 18 fild dword ptr [esp+18]
( u( ~9 r* \+ b3 v6 s0132DB11 . 7D 06 jge short 0132DB19
8 L5 `. k2 A% N" U& @( m" s& i0132DB13 . D805 50B03801 fadd dword ptr [138B050]
& _& t+ j8 j, _$ o9 i% @: P0132DB19 > DEF2 fdivrp st(2), st 5 I% G! z& o3 O
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] 9 A2 r; N, t, B3 S- k; s1 u
0132DB1F . 6A 01 push 1 ; /StringSize = 1
6 W# _0 o% P& ?7 R& w0132DB21 . 52 push edx ; |String 8 G5 [; p2 R. p# M
0132DB22 . 50 push eax ; |YStart ! J* G. {/ k' Q8 F
0132DB23 . D9C9 fxch st(1) ; | * E1 z7 y3 X4 L' Z
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
U' Z3 F0 x) Z" [- H0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | 0 H) S7 q- P, d* z0 a! W) n
0132DB2B . 03C8 add ecx, eax ; |
1 u/ q. L, x( d6 Y6 C, B0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | 2 l# ]) ]% ~ ]" M! H# F/ Z
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | ( E- [8 {6 K2 B4 J1 }
0132DB35 . 8BC3 mov eax, ebx ; | - F" p2 N1 e1 C- ]
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
0 ?) H, C1 q2 \! g9 V0132DB3A . 50 push eax ; |XStart
2 T) N. W( T" }0 y0 |0132DB3B . 55 push ebp ; |hDC 4 F0 k. I4 }. g3 x
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
% v3 g- h. F' X7 O: m0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
6 A" g# m$ i/ b/ z0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] * V; W! L8 N1 J; K+ A- g
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
: M- w5 E% n$ ^0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
6 f/ n6 K$ e4 M9 W) T+ B. w0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 9 X$ ]- V: Z+ D4 Q F5 N
0132DB56 . 83C0 01 add eax, 1
! ?/ E/ E& w2 |0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] 3 x7 t# \! c6 U4 G7 p
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] 5 K8 Z9 R( t1 j$ H3 C
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx
# @1 b3 l, e$ u6 G" i0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
8 g, ?, f6 Q/ \0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 ( F( U$ b8 d3 P P4 ?
0132DB6E . 33F6 xor esi, esi
3 Y8 ^! Z# @! @+ D7 F0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
) a$ [3 P6 M. t+ h8 g0132DB73 . 6A FF push -1
+ L: W3 _5 }9 l8 i# w% d0132DB75 . 83C1 38 add ecx, 38 / l& t+ d- z4 C$ B8 N
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 2 x; P- {( U, c
0132DB7D . 8BD8 mov ebx, eax
, @ H* z+ Y" s: X$ C3 }0132DB7F . 3BDE cmp ebx, esi
& r* v$ f6 o2 H [8 u0132DB81 . 74 74 je short 0132DBF7 : q$ [) V. m: p0 y
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
8 j$ K5 o2 `- j+ g# H0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40] % n) f; |% F& x& k8 P% ]! j! k
0132DB8B . 52 push edx ; /Buffer
" e+ T& M. l' l" X1 {" I0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) ( T$ k# i9 h$ K% W# f3 E3 q
0132DB8E . 50 push eax ; |hObject
, q7 g& X0 \% a8 h3 y5 |3 c& |/ Y0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA 6 W. L. s" b; a5 y, U2 T
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] 9 r- j6 G/ Z- Y) k6 v
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1] + W# j4 [% T _& [9 v; g6 m
0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
+ g9 g a8 g/ I/ S# D0132DBA1 . 037424 54 add esi, dword ptr [esp+54] & K* l3 {# }1 f( Q J5 c. t
0132DBA5 . 85C9 test ecx, ecx , D% g/ M/ b1 d$ `
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 9 c" _/ l$ [. [6 F6 Y
0132DBAF . 7E 46 jle short 0132DBF7 2 J6 E# V* M v) p
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] - U: @2 n8 L. @
0132DBB5 > 33C0 xor eax, eax
4 G! E4 [. d4 W) n9 o4 D9 A0132DBB7 . 85D2 test edx, edx 1 B+ q9 |( k& {% V8 o3 ~& A
0132DBB9 . 7E 26 jle short 0132DBE1 V; a. J K9 S& m; G; P0 I
0132DBBB . 8BCE mov ecx, esi
7 H% x/ c* ]) o0 D0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
4 W" c. K* U0 P8 |) b. R0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] 4 J* k4 e8 X: G7 W. l! O3 [4 R
0132DBC3 . C1E2 18 shl edx, 18
, m7 Q# I4 W; x. O, L- A0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF B6 Y. f5 j4 J! V
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx + l, @% u6 k/ Y5 S5 g8 e
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] 0 n1 G: _2 F3 `3 ~" z! A, I4 J1 s! O
0132DBD3 . 83C0 01 add eax, 1
! [. k! i. J0 h0132DBD6 . 83C1 03 add ecx, 3
0 P6 _5 o+ i3 W0 ~6 }$ K' l0132DBD9 . 3BC2 cmp eax, edx
6 c U. B& m$ {5 i0132DBDB .^ 7C E3 jl short 0132DBC0
# ?* K7 a3 ~& K1 t' I0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] . n! p7 h( k' ^7 l- ?# z; Y
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] ( ^; C% s7 ~5 r* } j" `
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
1 e: @. H0 s; N" F0132DBE9 . 83C0 01 add eax, 1
* U- i6 A1 Q; k0132DBEC . 3BC1 cmp eax, ecx
% o) J, w% S( z# `' L/ \6 V0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
: U- M* c6 ?; V C6 P0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
- h' }: d3 M- m, |! w0132DBF5 .^ 7C BE jl short 0132DBB5
! u0 y5 \" k8 Z, O6 \1 s2 f0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
$ O% E. @. b# q2 y0132DBFA . 6A FF push -1 ; [. D: n# G& \6 N1 _
0132DBFC . 83C1 38 add ecx, 38 8 `5 C& ]0 Y+ V1 R/ O- e+ d% Q
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> 1 F' C% S$ q9 n
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
# p* Z' Q: ?. ]6 l. M0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
$ Z9 Y2 ?* ~/ [) J E0132DC0E . 50 push eax ; /hObject 2 H( |2 s3 S0 F6 D4 O, }
0132DC0F . 55 push ebp ; |hDC
& x% e! G* s' N0132DC10 . FFD6 call esi ; \SelectObject
" p3 @- z% O. {" I$ T$ A0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] ( g" J, R" S/ n( k; U
0132DC16 . 51 push ecx 8 R. a2 I' u# J+ U: X5 b
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont 7 U u& i1 }+ \; t, D, E
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] 5 y X. E3 a6 d; b4 z: ?% W+ v' A
0132DC21 . 83C4 04 add esp, 4
1 V) j9 \" g# k. ^7 d% F0 o0132DC24 . 52 push edx + W' i% H5 ?/ p8 T) q) L( _" ]
0132DC25 . 55 push ebp
5 {2 |( }$ V/ G$ W0132DC26 . FFD6 call esi - C2 U) E' H6 f
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] 4 T: {) G1 ~7 d1 N6 D
0132DC2C . 50 push eax
, M& R4 d& B) y h v" l; F) ~! K0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont ( C& c+ L: Y7 }4 n9 T% n1 a
0132DC33 . 83C4 04 add esp, 4 ) w, w' ~: g$ V% ^4 a5 G
0132DC36 . 55 push ebp ; /hDC ; w8 X. u" R5 u% Y
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
+ l5 S( b5 _; q4 \0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
4 E$ Z( M& |# ?; k* H* j0132DC41 . 6A 00 push 0
: m% l: F! D2 x2 p9 a3 ~. `0132DC43 . 51 push ecx 7 C$ U4 x$ Q! c
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24] + |' g; U* G5 Q! Q) [5 H- a
0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> $ Y- K) \( b7 P( s. O1 Q2 X
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
: o5 U2 Z! i+ I$ D- J0132DC4F . 6A 01 push 1 2 C2 y* W: [3 Q% ^# M& A& e
0132DC51 . 83C1 38 add ecx, 38 8 D+ Z" V8 H6 M' i" U4 X
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> 0 y; M! f# P4 J, E' f8 k+ u4 N
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24] 6 W: i' @8 Y: V7 X6 Z
0132DC5C . 8B11 mov edx, dword ptr [ecx]
' @; h5 z) a5 x* B0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
& g7 {3 ~- o7 C+ Y- z8 v0132DC61 . 6A 00 push 0
) m; F) A6 D% D4 }0132DC63 . FFD0 call eax 3 Z8 {: i* q4 u8 Z8 H
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
& i: C2 O( `$ p0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
6 n) g* A9 t+ x( K' t0 C* ]0132DC6C . 33C0 xor eax, eax
8 h1 u5 k- h' R! Q' v0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
: Z& Q, v/ a+ O/ |) h+ m& ~. B9 W0132DC75 . 5D pop ebp 2 N) c6 w# M& W0 M2 l
0132DC76 . 0F9CC0 setl al 6 @0 \- E9 D/ j; _3 n/ ~
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] ; A) U; ?9 s: Y* X7 G1 T! T- i
0132DC80 . 5F pop edi " `( m; q& {+ p; V
0132DC81 . 5E pop esi
% e! @+ J1 h7 X8 Q/ L+ ?0132DC82 . 5B pop ebx
2 u# `5 w, U4 d4 L+ N+ r7 y0132DC83 . 33CC xor ecx, esp
* v; ~3 H! w% x a: n( T0132DC85 . E8 E2460500 call 0138236C
( N; ^0 A* |, O( [9 H+ g0132DC8A . 81C4 98040000 add esp, 498 + H4 ~. j* H( A5 J$ w7 S% S
0132DC90 . C2 2800 retn 28 |