发现了一个和字库有关的函数,研究中。
) e' E4 @4 ^1 r6 F) a
0 v& K! w, _3 S/ J0 G. J7 W' i9 P0132D7E0 $ 81EC 98040000 sub esp, 498
2 y5 `( l* `" {: }* @3 R8 M* }: z0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C] 1 {2 N5 {: B# U; o
0132D7EB . 33C4 xor eax, esp
+ l7 w x/ l6 q) e: F0132D7ED . 898424 940400>mov dword ptr [esp+494], eax
7 u1 J5 c+ `# T X$ ^9 ^0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0]
1 A6 B3 K3 r! y7 v) f0 O0132D7FB . 53 push ebx * }4 s, J/ L6 v* m( P
0132D7FC . 56 push esi
) f. }% Z6 o9 v3 j0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
; [- C* z- M1 {0 z# ^9 ~0132D804 . 57 push edi - @5 x' h( |) `0 J
0132D805 . 6A 30 push 30 ; /n = 30 (48.)
$ G7 }+ k+ B/ C" d0132D807 . 8BF9 mov edi, ecx ; |
" X3 d# Y6 V0 z& m0 H4 ?0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
2 x5 A) l8 [ Z- y+ L0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; |
4 e- m' E7 W! N8 m+ f8 M0132D814 . 6A 00 push 0 ; |c = 00 7 v7 W* ^5 }6 }
0132D816 . 52 push edx ; |s 7 U9 b* J5 s0 Y9 \$ @
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
) _6 {6 D. t/ k0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | ) t2 @, E# T: S( G. q6 c
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
; A( v* ~7 u4 N6 G0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
. Q1 l" \# K$ r, V& z0132D82C . 83C4 0C add esp, 0C * O, h( t& n# W/ G
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
0 B7 B( |$ m' ]8 Z# Y0 v0132D837 . 74 12 je short 0132D84B
9 G6 n- K) @3 S8 \$ ^0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
2 k8 B7 O/ {5 W& u5 m0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
& X t b, c$ o1 P4 B7 M% x0132D846 . 8947 1C mov dword ptr [edi+1C], eax 2 |! y. D& U. h- e. U5 G
0132D849 . EB 32 jmp short 0132D87D
! w" l6 a1 ^- L- L5 O- l% w* S; _0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
; B1 |- o7 i$ _ [. Q0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] * h) n* x" A; X2 Q$ m5 C' o V2 k Q: _
0132D855 . 33C0 xor eax, eax
5 N" e: B( z* ]" p0132D857 . EB 07 jmp short 0132D860
' b% {: i3 ~& J) l% g2 E0132D859 . 8DA424 000000>lea esp, dword ptr [esp] ! P, X* Y" }0 e- H- ]% n4 `& f
0132D860 > 8D50 20 lea edx, dword ptr [eax+20] 1 C5 s- i5 W5 }7 E: y* A Z
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
( c$ n/ ~8 R8 l9 j! V; H6 u5 q5 p0132D86B . 83C0 01 add eax, 1 ; N8 U$ }+ n5 |: M7 e
0132D86E . 3BC1 cmp eax, ecx ' Y' n. i# f+ z5 z; N
0132D870 .^ 7C EE jl short 0132D860 9 t3 W5 K% [3 W8 N2 R8 m y' B
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0] 5 o5 b% n U! ?; H
0132D879 . 894424 0C mov dword ptr [esp+C], eax # K9 v" d% k& p3 f( K
0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
/ n% V2 I4 c2 R( t0132D880 . 85C0 test eax, eax
4 Q- d* o% G4 h$ }& b0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
! L. h* A5 G3 y1 [2 g. A, ]0132D885 . 75 05 jnz short 0132D88C
% o+ ~0 _% k- I$ a3 M2 k0132D887 . B8 16263901 mov eax, 01392616
7 S2 {! f- y4 { z) E, q* n0132D88C > 6A 00 push 0 . } L6 B1 z4 V) t( [
0132D88E . 6A 00 push 0 ; p. G+ R1 F! H* q$ F- V
0132D890 . 50 push eax
( @) B0 }( v2 T T+ _7 ]0132D891 . 6A 1F push 1F 9 d6 ]: @6 B1 B" w
0132D893 . 8BCE mov ecx, esi " U6 X4 i" I) V
0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> / [# i- R( g) t2 U
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
* f( F% _" C7 a- k3 |5 I9 E0132D8A1 . 6A 00 push 0 . G+ j' w- r( t6 U4 T Z, `; g
0132D8A3 . 6A 20 push 20
! p. ]# C& d% d4 T" l U$ I+ c0132D8A5 . 51 push ecx 8 f5 a* O1 D$ k) t: k& {. X
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
1 Q" j8 x# z& |' \' Y, m1 B0132D8AD . 8947 24 mov dword ptr [edi+24], eax
. [; b4 }5 }. W6 g0132D8B0 . 8B10 mov edx, dword ptr [eax] + R; H0 Z9 k2 w
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
. ?7 b; V/ r0 {/ P5 K4 z5 Q0132D8B5 . 51 push ecx 7 [* o3 E$ [' P9 u$ U. B
0132D8B6 . 8BC8 mov ecx, eax ' G2 @) Y( g1 @$ v+ D% n
0132D8B8 . FFD2 call edx 3 {6 e" X u4 V2 c* [- j- n
0132D8BA . 85C0 test eax, eax ( Y1 _6 X$ J1 A3 F5 m ]
0132D8BC . 75 07 jnz short 0132D8C5 ! E% {: U4 ]& B7 J A" m! X( x, Y- a
0132D8BE . 32C0 xor al, al
1 ~& \' L, I0 u, x0 \' T0132D8C0 . E9 B4030000 jmp 0132DC79 ! r& G, \' b- `* Y
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] % _8 U8 N) e* U4 Z1 A! c% @: x$ d
0132D8C8 . 8B01 mov eax, dword ptr [ecx]
3 ~ D8 o, A+ O! N. P% ]# ?) O0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] 4 u: o4 w3 E% R+ R' j& i5 i/ t, U& n
0132D8D0 . 55 push ebp
( \/ U; S5 [+ }7 B9 @: R6 K8 _0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70]
, ~* b" x6 r" d- \0 l, ^8 R$ ?0132D8D5 . 52 push edx
' A5 ?. o! G' y3 Y1 q4 j0132D8D6 . FFD0 call eax
& t4 D0 f: j+ D2 i0132D8D8 . 6A 00 push 0 ; /hDC = NULL 6 U$ K, L# s' D
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
, r' |: `1 `% L3 j/ f) ~0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
4 r9 K a2 Q0 R0132D8E4 . 51 push ecx
) H7 p" j, R* S: W' @$ v" L- u' m0132D8E5 . 8BE8 mov ebp, eax : r- K; n5 |: s6 N# j
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
% @, ^# f* O3 L0 y, ?0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
5 `! J( [9 w% q0132D8F3 . 83C4 04 add esp, 4 " l& u& q* b6 H8 x
0132D8F6 . 50 push eax ; /hObject
& ~! p% g6 ~( ? N0132D8F7 . 55 push ebp ; |hDC
u. ?- X0 Y0 M+ P. b9 l; P3 L: K9 K$ S0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | - F, p- j+ s/ Q9 V3 k
0132D8FC . FFD6 call esi ; \SelectObject 5 ]$ I) F- H: ]2 p: g
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] % h( {, P/ K# O) e5 ]: i
0132D902 . 52 push edx . \- E# k4 X9 h
0132D903 . 8BCB mov ecx, ebx
+ N* u. [' {) c- b& u8 y0132D905 . 894424 40 mov dword ptr [esp+40], eax * `0 G' s' b1 x& i: \$ B
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= B, s9 t+ n( X& A7 X' n; r9 c
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8] - s- }2 |4 n- U/ p8 L* z! N
0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
6 C" \. ?( N& x! P0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY 7 U7 K" S) ~9 E, l
0132D91A . 55 push ebp ; ||hDC
, X# ^) P6 ?4 g, K; d0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || 0 f8 L/ l, U5 S; G2 _
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 8 ~2 ]/ ]! J- B/ q2 I: @' ~
0132D924 . 50 push eax ; |Multiplier
* `4 _# Y& k2 ^( L: u0 V0132D925 . 53 push ebx ; |Multiplicand , K9 C! y/ Q8 I* K0 ~; ]7 `
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
+ j4 [/ v" l v6 Q0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
* i8 P& W! _( G0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
! o6 s4 {" x& {# U4 Z0132D937 . 51 push ecx ; /FaceName
* _, G+ p. ^. d C( x0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
$ i7 _( W7 _3 I* {- q9 i8 k0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE / B) O5 Y+ `- b. j9 R% W5 E
0132D941 . 52 push edx ; |Quality
% M" A( {; C3 G( G: n3 N0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
* @9 D; I; ]" o& D; b0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS 9 W! ~7 P. K S% U
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
! W- D5 D7 f# v( W+ }+ {! m% o2 O0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
2 H' j% ]/ @3 D# R7 T3 o% w0132D94A . 8BD1 mov edx, ecx ; |
! A8 y1 q# r& \2 m+ j! T& U2 d0132D94C . D1EA shr edx, 1 ; | " A' v4 b# h0 A) \
0132D94E . 83E2 01 and edx, 1 ; |
! D4 D, o6 E( r& D4 C0 a/ c" \0132D951 . 52 push edx ; |Underline 5 C, q& @6 R/ k$ r
0132D952 . 83E1 01 and ecx, 1 ; | 9 c- j! X% a6 |) z3 w9 H3 |+ D* B
0132D955 . 51 push ecx ; |Italic
. ~5 o! Q9 U2 O" W( w& t0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | + s1 P" U0 O2 l! D
0132D95D . 51 push ecx ; |Weight
5 j1 d. E$ k& a, W1 D4 [0132D95E . 6A 00 push 0 ; |Orientation = 0
: @/ b% X B! g) M2 J: E0132D960 . 6A 00 push 0 ; |Escapement = 0
; R6 r! @4 u4 G! o4 o0132D962 . F7D8 neg eax ; |
+ v8 [/ U5 `3 j, w5 h t6 Z0132D964 . 6A 00 push 0 ; |Width = 0 0 `$ f2 S. q: F* k
0132D966 . 50 push eax ; |Height
7 \6 z0 r* ]. S' d3 c7 b0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA 9 T! k1 M! _: e7 _( u: ?& h2 {
0132D96D . 50 push eax
, a6 @/ e d7 G7 Q5 E; X' d$ S, M0132D96E . 55 push ebp
% ] I, C4 i1 g2 n0132D96F . 894424 38 mov dword ptr [esp+38], eax & p- B. |; f9 L% A( e, B6 i
0132D973 . FFD6 call esi 3 M& l; S- k5 q0 ]. @
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
, {! F0 @. {2 \ q. b& Y% ^5 h5 |4 p0132D979 . 52 push edx ; /pSize 1 \& N- b5 J# f
0132D97A . 6A 01 push 1 ; |TextLen = 1
2 ^' v2 r% j6 |! o# w' H; l4 N0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
3 C& W) k9 ]) _3 d* m. D# a0132D981 . 55 push ebp ; |hDC
M8 i( r& Z) `+ w1 A3 c0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | ! ?8 s, N4 k7 l- k: F. T
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA ! [* v" A. F! a$ E/ M; u- E4 n
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] 6 Z" M3 r6 R/ |% v
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
& V) u0 P: Y4 n d* S7 i4 I0132D993 . 8947 18 mov dword ptr [edi+18], eax
+ a5 D& K+ a( k( f0 d) c0132D996 . 33C9 xor ecx, ecx
0 r, N5 G2 S. X, f l1 z0132D998 . 8BC6 mov eax, esi
' \4 h2 k6 ]. D0132D99A . BA 20000000 mov edx, 20
) o- Y, m5 J d. p- n6 T& h0132D99F . F7E2 mul edx 4 e+ P3 V% o; n; k& b
0132D9A1 . 0F90C1 seto cl ; i- B. ^( a$ i$ h
0132D9A4 . F7D9 neg ecx
* W2 ^8 I+ ?5 h# _0 f4 k* G0132D9A6 . 0BC8 or ecx, eax
7 T# y. G# R4 B/ f0132D9A8 . 51 push ecx
; ^4 P7 T. A' ~; |! o4 `, O0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new> ! }3 \2 s9 b+ ^5 G/ e( U
0132D9AE . 83C4 04 add esp, 4
- I) |1 R) H2 {2 A% y- W0132D9B1 . 85C0 test eax, eax
. Y: q& `9 W, C( T5 k, Q" ~5 I* m1 w5 k0132D9B3 . 74 28 je short 0132D9DD
1 f E' a, W6 o" F8 \0132D9B5 . 83C6 FF add esi, -1
% R# q8 v5 S t2 O# P/ N- n0132D9B8 . 78 25 js short 0132D9DF W8 L( o s; ]# n5 u5 t
0132D9BA . D9EE fldz " G5 ~, @8 a$ T9 [) |% v. f; [
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] ( u7 _; C, y! U
0132D9BF > D951 FC fst dword ptr [ecx-4] + k& @, Q6 c, l: K
0132D9C2 . 83C1 20 add ecx, 20 5 y" U2 W, u3 f$ W5 \
0132D9C5 . 83EE 01 sub esi, 1 o' u. w; d0 n9 R. ~: f
0132D9C8 . D951 E0 fst dword ptr [ecx-20]
/ X2 H% z( N$ l3 M) n0 X4 h0 W3 n0132D9CB . D951 D4 fst dword ptr [ecx-2C]
, u- }% e8 D; }( K* S6 T0132D9CE . D951 D8 fst dword ptr [ecx-28]
8 R. Z4 @( l" O! s0132D9D1 . D951 DC fst dword ptr [ecx-24] 8 ~6 R3 |7 j. O
0132D9D4 . D951 E0 fst dword ptr [ecx-20] * G4 |+ z# @1 T
0132D9D7 .^ 79 E6 jns short 0132D9BF
7 K/ @6 b$ v: {0132D9D9 . DDD8 fstp st , L2 @; W2 ?4 y4 Y) B
0132D9DB . EB 02 jmp short 0132D9DF 4 v+ s8 Z1 I+ L/ U, ]% {; r. L
0132D9DD > 33C0 xor eax, eax 6 v r g1 ^/ [
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
& Y# X k2 p' Z7 i: V0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
3 E) W. [* S$ X+ Y' l: N0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
) Z- j3 ^ ]. ^3 ~" }% N0132D9F0 . 50 push eax ; /Bottom 1 j/ I M, T0 f* @) o
0132D9F1 . 51 push ecx ; |Right
( Z( L: T+ r0 j3 \; W0132D9F2 . 6A 00 push 0 ; |Top = 0 8 h/ O8 S8 K+ g+ R
0132D9F4 . 6A 00 push 0 ; |Left = 0
( o# r; t) c$ E4 Z" ]+ x0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
2 I: @; d0 A2 q/ v) `0132D9FA . 52 push edx ; |pRect
2 g7 Q: ]9 n3 p8 C' O; L9 A# R0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
; J% N- H8 T* t- G7 `: ]0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH ) h# i8 Y5 f. N& G
0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject
) D( J4 v( A8 J; ~0132DA09 . 50 push eax ; /hBrush * U0 m; q1 ]7 H5 k, E/ W$ Q" _& c$ m7 B- Q
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | " R7 d* i3 V: v" c- R$ s6 S
0132DA0E . 50 push eax ; |pRect % G2 `8 O5 _' ~2 O/ R* I) F
0132DA0F . 55 push ebp ; |hDC
/ I3 d) r3 f7 I( D* M) T7 ]3 Y0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect ) n, r2 x; i# t
0132DA16 . 6A 00 push 0 ; /Color = <BLACK> 6 f: v7 P/ i+ O0 e' d- D/ N
0132DA18 . 55 push ebp ; |hDC
2 o1 `/ S5 {/ S& l+ a. K2 X- X2 p4 n0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor 7 Z# p: o; A8 r3 b
0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE> 2 @* W% Z3 B2 T( T
0132DA24 . 55 push ebp ; |hDC ( I# ]7 m ]7 V3 U& l5 Q6 o; ^( l
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) j- [5 B0 h( ~3 p$ G& I
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT 0 _8 e2 o; _( w; ~# @' f
0132DA2D . 55 push ebp ; |hDC 1 s2 e2 k2 U6 l& \7 Y" @: H* J
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode 3 l" o" P& r5 q
0132DA34 . 33F6 xor esi, esi : \; V4 {* `9 S
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi
8 x- e- ~/ U* ~4 w0 U4 w0132DA39 . BB 01000000 mov ebx, 1
. A4 p" h! u) S0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
8 f1 X5 S% ~* C# B- U& y4 Q: u0132DA42 . 897424 14 mov dword ptr [esp+14], esi 4 @5 m! i2 I- y; Z4 s
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi " t3 S @2 G2 M2 m4 {! `( @* K
0132DA4A . 0F8E 20010000 jle 0132DB70
. G$ ]: I) F, Z0 @# M0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] + z. @6 v9 i3 h' @7 c- k
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] 4 n K% s! G( E1 h( v
0132DA5B . 897424 20 mov dword ptr [esp+20], esi
8 H" K; E: J/ ?. O/ D7 M, R$ _0132DA5F . 894424 10 mov dword ptr [esp+10], eax
# t. e& O* w# a0132DA63 . D95C24 38 fstp dword ptr [esp+38]
j0 R3 h ~3 _1 l0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] - r* d ]1 P' b1 L
0132DA6E . D95C24 2C fstp dword ptr [esp+2C] 5 [7 b2 d7 M0 \! \. Z
0132DA72 . EB 04 jmp short 0132DA78 9 S- D# I- ^- r+ {; h
0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] : b) O( k7 m: G6 x( }
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
: P5 k1 m5 ]- @8 o. A0132DA7B . 66:8B08 mov cx, word ptr [eax] 7 f, z3 f7 w* H x* [, S6 q
0132DA7E . 037424 20 add esi, dword ptr [esp+20]
b# s) S. V# M$ E) B# X, [) a0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
% e6 u2 a5 D( j& O' \0132DA86 . 0FB700 movzx eax, word ptr [eax]
4 W, C4 R! d ?6 }4 o# k0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
2 w& L7 y P: S' o7 y0132DA8C . 51 push ecx ; /pABC ) \5 n& L1 C) U0 C
0132DA8D . 50 push eax ; |LastChar
; s" r+ u- N$ r; D! Y0132DA8E . 50 push eax ; |FirstChar $ d) S; t; n1 W5 W/ Z% Z
0132DA8F . 55 push ebp ; |hDC
a* K+ O! S* [8 [: ]0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
3 ~, z. h( V' E* _3 C! T0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
( y7 k. _, |+ s$ N1 h J1 s/ N' W0132DA9A . 66:833A 20 cmp word ptr [edx], 20
[' \; j1 G3 R2 l( r3 `" f0132DA9E . 73 10 jnb short 0132DAB0 ( D0 ^& g- s' X2 L, t
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 + u5 Z A) h8 f9 ~. V z4 U% k
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
( e' P' Y/ i2 ` p3 f" D" \0132DAAE . EB 0C jmp short 0132DABC
9 J0 s& T7 _% {8 `- U) G+ h6 z0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
) l6 `: N1 ^9 G$ [ h0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 7 A) Z- p0 F4 J( f! ]
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
& \5 c' ~2 f) u4 a, H7 W. f0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
5 F! f' O. I: e3 Y7 ^0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
" q7 d# j7 ^6 ~$ |+ H5 b# @* K2 t& C0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] * F+ |2 v# A {/ I
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
7 O5 `$ ?* D9 A$ n6 X/ ]0132DACE . 72 14 jb short 0132DAE4 + ~, E8 h! |' g! L+ v! j4 U
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18] . g- j7 G: r, Z' B' b A
0132DAD3 . BB 01000000 mov ebx, 1
/ P, U. L3 h8 Z( v- v1 o3 |. m0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1]
- r7 A, p5 P, l1 ] I$ ?0132DADC . 895C24 18 mov dword ptr [esp+18], ebx & T' B# {+ ^6 h% r2 _
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
G/ }( K y0 X, q8 u6 `/ q0132DAE4 > DB4424 18 fild dword ptr [esp+18]
% w3 a' B! m3 H" @8 s0132DAE8 . 03CB add ecx, ebx ! V+ e( m% B) p/ S. {
0132DAEA . 85C9 test ecx, ecx ! k3 |" F5 X' f1 H5 ~. y
0132DAEC . D94424 38 fld dword ptr [esp+38]
% @8 k! M- P8 B# [& v0132DAF0 . D9C0 fld st
) J4 k$ l0 s7 A! B4 r3 Z1 r0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx ' B+ ~( ?1 e% r7 Z% [/ ^
0132DAF6 . DEFA fdivp st(2), st : ]8 B* X1 z5 B1 }
0132DAF8 . D9C9 fxch st(1)
% \1 w Z2 b. I" X0132DAFA . D91E fstp dword ptr [esi] + y" k9 u b, Q8 [4 c
0132DAFC . DB4424 14 fild dword ptr [esp+14]
2 L! O6 j' s' b+ }8 m0132DB00 . D94424 2C fld dword ptr [esp+2C]
9 K! m! F2 u+ M. r1 Y& X8 w3 p0132DB04 . D9C0 fld st
3 h, N4 I1 m+ L# D' ]/ N0132DB06 . DEFA fdivp st(2), st
- B( m4 Q7 s6 M& Y9 E0132DB08 . D9C9 fxch st(1) 2 c; b, t8 s& L+ i# U$ f
0132DB0A . D95E 04 fstp dword ptr [esi+4] - V: e. t3 B) d+ P
0132DB0D . DB4424 18 fild dword ptr [esp+18] ) h4 t* a1 B+ A% f5 d6 N7 a
0132DB11 . 7D 06 jge short 0132DB19
% ^3 {* b5 y: P U( a' M; ]& P, A0132DB13 . D805 50B03801 fadd dword ptr [138B050]
& _1 x4 r! Z# K# W0132DB19 > DEF2 fdivrp st(2), st
& ]* A% l; ]) g4 M; s0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10]
0 h+ C; e6 u4 s4 {0132DB1F . 6A 01 push 1 ; /StringSize = 1
$ G+ W. x* f5 W0132DB21 . 52 push edx ; |String " l8 ]0 T* l% |# P J( G
0132DB22 . 50 push eax ; |YStart
- I. K5 C7 X5 D }0132DB23 . D9C9 fxch st(1) ; |
# K" ~9 R8 F* o0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
% w1 K) Q+ r' U% d. E( Q0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | 4 u7 c* C8 T0 h- T! C
0132DB2B . 03C8 add ecx, eax ; |
0 `2 Z* a) H. M4 Z0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
+ _( Z' m9 d" k* ~- |: u! A% q0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | , a0 v g& I* e' `
0132DB35 . 8BC3 mov eax, ebx ; | & }4 N" E7 s; C7 G3 l% G
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
) U% P! T5 @" k9 z( W0 N0132DB3A . 50 push eax ; |XStart
8 p! s% T2 Z- z7 V9 W+ k3 m0132DB3B . 55 push ebp ; |hDC . Y0 g# {0 a% N$ n1 V5 O( G
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | 6 Y9 ]) J4 B8 S# R! O
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW $ k- i) O5 u6 h$ X) j, n2 S
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] * A7 p$ n4 M# D
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18] ; u1 a% r) ]% z# z' _; S- h3 V
0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 8 p) i/ y: F2 x
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 ) h' p+ ]8 Q7 u+ `( d* ~
0132DB56 . 83C0 01 add eax, 1
5 K, `- T) e+ T* y0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C]
; Y1 a& g. N2 \$ \5 m: D' q9 B: V* Z0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
6 ~1 W4 `) H. m' Y0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx 7 s0 l8 _* W8 a( x. _# M! n
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
7 L/ o0 Q* s- z! s0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
( L. m' _' f8 ^, f& ^0132DB6E . 33F6 xor esi, esi " H# t6 o5 p+ g \4 }' i8 d2 w+ ?6 Q
0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24] : }: B1 j U+ B4 c4 d) K% C2 |
0132DB73 . 6A FF push -1
& G, @' d% { `6 q0132DB75 . 83C1 38 add ecx, 38 ) Q3 F" b! k/ F- K' t; g) [
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf>
/ @# |! R# ?' I+ V5 c$ @0 r! n0132DB7D . 8BD8 mov ebx, eax 2 }8 y& X$ Z/ N8 s$ a
0132DB7F . 3BDE cmp ebx, esi
/ y" I' l2 w# N7 A0132DB81 . 74 74 je short 0132DBF7 ' V# R& T+ o0 e& c' W e" e
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
0 x9 I3 j, e0 f' E) j0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
: S! G' ?+ u+ W W; U6 Y: f0132DB8B . 52 push edx ; /Buffer
7 g, ?3 ?* I9 B. Z4 I7 [5 K0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) 5 u$ `2 l [6 g* R, \
0132DB8E . 50 push eax ; |hObject 9 w9 _& e9 L0 ~4 V9 ]
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA 1 q! u. r, p- n2 O
0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48]
6 S4 u$ q( J% Q0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
+ Y, n, Z+ s7 l9 X9 e0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C] # a1 `0 N9 w5 u; q' d
0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
, `7 t- L: P& Y; F* t1 o4 G0132DBA5 . 85C9 test ecx, ecx
5 B7 u5 A& X6 C0 a; R! T0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 f# \1 i2 W/ Z, A( {3 [ A1 _- F% r
0132DBAF . 7E 46 jle short 0132DBF7
; l5 A! n$ d( o0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
6 {. ^) {5 r& H6 {! o2 l0132DBB5 > 33C0 xor eax, eax
( g% m: c, g n4 C0132DBB7 . 85D2 test edx, edx 2 t& q( Z, l- b. h" H
0132DBB9 . 7E 26 jle short 0132DBE1
/ V) M$ \: p1 g- h1 P' W1 ^0132DBBB . 8BCE mov ecx, esi
# a9 K7 w1 x9 D; U* U) ^0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] + |. O( W+ U# S: z; B6 F8 X
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
. m9 ^' M r; q" n8 Q# \0132DBC3 . C1E2 18 shl edx, 18
5 [0 x7 b1 [7 [0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
# F! ?' V' \. z" w0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx 0 c$ p& _0 ^; Z/ i
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
. Q8 b' T4 y: g5 {/ Z3 q0132DBD3 . 83C0 01 add eax, 1
) X$ B. m, p. O9 m8 c: Y" |4 u0132DBD6 . 83C1 03 add ecx, 3 8 ?. `9 G: m* | ^: Z
0132DBD9 . 3BC2 cmp eax, edx
, ~2 d) q* k( J! O4 ]0132DBDB .^ 7C E3 jl short 0132DBC0 ; H' i; o9 s7 o# A1 G3 D
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
/ }" I/ Z1 V2 Z" l3 o0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
9 F+ g$ X1 l0 i; z- P% @. t0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] # _7 ^% a' D0 b% N3 G( j9 V/ d/ W
0132DBE9 . 83C0 01 add eax, 1
( ]: u3 @3 J) s# j0132DBEC . 3BC1 cmp eax, ecx
& G$ |* Z6 B, \9 ]# U: u) O1 k0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
; L3 v- V) Y7 X5 _5 N. O0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
" p! n+ W# `* G- G2 I/ d0132DBF5 .^ 7C BE jl short 0132DBB5
, u4 v7 d C$ x% }0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] ( Q. f6 j- \6 q) C5 I1 s
0132DBFA . 6A FF push -1 ' { F8 z- k+ R4 U; @$ C% U
0132DBFC . 83C1 38 add ecx, 38 H! m @! s# f$ \
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
3 a6 q5 f+ C% w5 P3 m6 P4 x0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] $ H4 V+ \/ W* F8 l" F: T2 `
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 6 w) }& n' @2 W3 B
0132DC0E . 50 push eax ; /hObject 2 C& p I- w5 L+ S1 Z
0132DC0F . 55 push ebp ; |hDC ( u9 M- x; W) P* G3 ]
0132DC10 . FFD6 call esi ; \SelectObject
. T# g* {9 D& }" H0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] & ~1 J4 t+ \: @' [
0132DC16 . 51 push ecx 7 e0 v, q5 o/ g! i6 M9 s( N6 A' f
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
: I2 ]: v( A9 r& Z: K5 ]0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
6 G6 M& |: ~8 k6 Z0132DC21 . 83C4 04 add esp, 4
8 Z- O- a+ [# z% J0132DC24 . 52 push edx ! n+ H I- C4 t( Z2 G# q8 m1 H/ a
0132DC25 . 55 push ebp h1 o* ^' h% o) I. e2 _
0132DC26 . FFD6 call esi 6 [# z/ Q$ d: y! h# \* Z9 S
0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] % v/ E, Z( T2 P
0132DC2C . 50 push eax 4 C& ~" Y4 ^0 }* U
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont & L3 C+ M! {& y# s" e4 C2 T9 N
0132DC33 . 83C4 04 add esp, 4 9 ^% L- v# k% Y0 _+ E
0132DC36 . 55 push ebp ; /hDC $ e5 Z# R0 A, U& X4 v
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
1 t" H. z- A. U* Q. b3 i/ g0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
9 U6 u: V8 t2 M; ^6 S0132DC41 . 6A 00 push 0 ; |0 J$ Y; G7 L3 h
0132DC43 . 51 push ecx 0 t7 @# G2 ^, E
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24] 0 R' a# e; }8 v8 t+ J& o
0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
% ~# @* ~# |! k! J2 i1 `/ X0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24]
6 P% J$ z+ k4 F0132DC4F . 6A 01 push 1 4 |; \" Z; w9 R( A
0132DC51 . 83C1 38 add ecx, 38 9 c0 X' u5 D& u" @2 K
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
" k8 r. {) X# H7 f0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
# r$ M' O5 ^0 W0132DC5C . 8B11 mov edx, dword ptr [ecx] " l! u- [2 _8 t2 J$ K& v
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] $ u' }) u& e+ E: S
0132DC61 . 6A 00 push 0 # A d D) A& ]" y- V' b$ x9 {
0132DC63 . FFD0 call eax 3 A- ~) {7 D, H( s1 Y
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] 2 }2 T, x% f' X; o* ]- K
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
2 b% H4 p1 t) L) S, C0132DC6C . 33C0 xor eax, eax
- U& O& J( i% W2 Q2 D7 a) y0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] . f" ^$ D, K5 Q' P2 F2 _3 j
0132DC75 . 5D pop ebp ; _) O, b# i1 L) T& x
0132DC76 . 0F9CC0 setl al
( T. B# E, x" A" j0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] : C& O0 U' i* H% e+ d
0132DC80 . 5F pop edi
3 z7 z# u( M, @! }( b/ V6 Q. j2 T w0132DC81 . 5E pop esi 2 J* V! w0 n+ l8 D$ y
0132DC82 . 5B pop ebx
2 w9 u9 v: k# `& Z' j4 n( u0132DC83 . 33CC xor ecx, esp 4 e! \$ F8 A2 P: `9 W& w
0132DC85 . E8 E2460500 call 0138236C
( |8 h5 |$ c/ ^6 r0132DC8A . 81C4 98040000 add esp, 498
* Y6 X' [: _+ V$ [0132DC90 . C2 2800 retn 28 |