发现了一个和字库有关的函数,研究中。 6 b V E6 d+ p* ]$ X4 a2 ^
5 T9 ]2 }2 _' F9 _5 F9 p: P0132D7E0 $ 81EC 98040000 sub esp, 498
: P' }- y2 t) n% V, X) B& q0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
; l% t ~5 S' ~0 W% e" E" l2 I6 ]0132D7EB . 33C4 xor eax, esp
! A, ]( o( g, |0132D7ED . 898424 940400>mov dword ptr [esp+494], eax % o: k8 g9 k/ U6 `
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] , s& G/ U7 r$ `- K/ y' ], @( d
0132D7FB . 53 push ebx
b0 C; a/ o% P3 l/ `0132D7FC . 56 push esi
5 {8 S" C. F( I0 x/ s& _4 ~0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
1 T) S# G' {* I; X: T0132D804 . 57 push edi 5 x q. {( ~: @* H! m( l5 Q b0 b
0132D805 . 6A 30 push 30 ; /n = 30 (48.)
% `! ]3 z/ x i( C0132D807 . 8BF9 mov edi, ecx ; | $ g5 C6 ^5 Q2 p. d! g
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
. k/ O7 R' A# y0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | 8 n- u1 ` A# Q4 @9 T, `8 F8 v
0132D814 . 6A 00 push 0 ; |c = 00
+ P/ c9 i! ?3 y% e0132D816 . 52 push edx ; |s
" A) f8 d1 s1 ~- n! }( b8 `0132D817 . 894424 30 mov dword ptr [esp+30], eax ; | % Y, V- Q; h/ ]* u! G: o7 S T
0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
/ z2 r' o# v7 T7 n0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; |
) g1 n; J# J. G, w" H' w0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset
7 x) d! @2 x2 A) r9 b. H$ D0132D82C . 83C4 0C add esp, 0C 9 `4 i4 o8 Q/ c7 ?7 d8 q( y$ e2 y
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
5 E- X6 @. n$ o0 g, V- @0132D837 . 74 12 je short 0132D84B % a/ u5 o5 p* M* z% Y, [
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8] 1 {% Y3 Y2 R4 l" J9 S4 y
0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
" K* v: j: \$ W# z3 B: q9 W4 H0132D846 . 8947 1C mov dword ptr [edi+1C], eax
5 |2 [5 J; \. U3 s" |: n) y0132D849 . EB 32 jmp short 0132D87D
9 l+ I) d6 J& [, z5 s0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160
$ o& w5 r3 _7 N# I0 ]( N; l0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C]
) R7 C' S& q/ R4 A0132D855 . 33C0 xor eax, eax
& q5 a+ Q& E4 b1 s7 o0132D857 . EB 07 jmp short 0132D860
2 W, ^& A! W; L; p( E+ l0132D859 . 8DA424 000000>lea esp, dword ptr [esp] $ S S5 d! i0 ]1 G1 ~2 K0 a
0132D860 > 8D50 20 lea edx, dword ptr [eax+20]
7 N, ]& V* s9 V) s4 I0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
, b: S5 L3 @( R6 \6 r0132D86B . 83C0 01 add eax, 1
m* v3 k' Q8 b" ~1 s' e Z0132D86E . 3BC1 cmp eax, ecx & A: j% P0 L. f1 H
0132D870 .^ 7C EE jl short 0132D860
" w, V6 x: v0 W* j" O0 v0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
$ d+ A* I: Q' C1 F) l$ v9 n: j0132D879 . 894424 0C mov dword ptr [esp+C], eax 4 Y" P) J% ~$ p% _7 v3 [8 d
0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
9 T& L4 y: R0 ~6 ^- {0132D880 . 85C0 test eax, eax
: E ~$ Z( r& ~1 d4 r/ R0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] 6 M/ G9 L2 c; ~6 L: C! |
0132D885 . 75 05 jnz short 0132D88C 2 M7 Z2 C, B. v* A+ m
0132D887 . B8 16263901 mov eax, 01392616 5 |0 a; M' l3 |1 U' j
0132D88C > 6A 00 push 0
1 N! M. R$ Q" M; Z2 U4 X0132D88E . 6A 00 push 0
t) s: {3 R j7 m6 L* h0132D890 . 50 push eax
* M; J9 `2 l P4 [ J0132D891 . 6A 1F push 1F # r' K2 A/ p# f. P. m/ m6 t
0132D893 . 8BCE mov ecx, esi
; L6 ^. {5 M: O" P0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec> 9 M2 F6 L% `8 g) M
0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] 2 ^( x r6 i+ ?- s7 H# Q3 F6 F
0132D8A1 . 6A 00 push 0 5 k8 ~# t+ e" }% r
0132D8A3 . 6A 20 push 20
- R( Q+ l1 |( B8 Z/ J! C' Z0132D8A5 . 51 push ecx $ K/ R8 w; k) O' {0 \6 Z
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0]
$ \; v* ~* r) d* X0132D8AD . 8947 24 mov dword ptr [edi+24], eax % y5 q% h" k# x8 n' V( y
0132D8B0 . 8B10 mov edx, dword ptr [eax] , [# S# S2 U" j& {
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
2 K& D9 ~4 C* t: \4 z( a% V0132D8B5 . 51 push ecx
7 j3 O \# n; {. }* K0132D8B6 . 8BC8 mov ecx, eax
; o# |) a4 x# }, d0132D8B8 . FFD2 call edx 7 j5 H$ G+ ]4 X; |3 \+ Y
0132D8BA . 85C0 test eax, eax
! i! b; ^. N# l- E: t" J& f0132D8BC . 75 07 jnz short 0132D8C5
* ]" F$ I" y8 X; N4 ^( Y0132D8BE . 32C0 xor al, al : M; L* M1 j) J5 ?6 F0 c
0132D8C0 . E9 B4030000 jmp 0132DC79 6 t) V+ k8 T' k! A8 q4 i4 h, ?
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
0 S; W0 n# ]2 r. E5 N4 p8 u/ X0132D8C8 . 8B01 mov eax, dword ptr [ecx]
% P" w5 |" Z- Q# r. C2 c" D0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] 1 T% _; y8 s' ?' Q$ u4 l" a
0132D8D0 . 55 push ebp 4 N/ |/ \/ b$ V' V$ P* @0 U
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] / b4 {* U( L1 o- x8 }! m; j
0132D8D5 . 52 push edx
0 M2 |' e1 L. G( U0132D8D6 . FFD0 call eax
0 a1 R$ |' a% o5 L0132D8D8 . 6A 00 push 0 ; /hDC = NULL % R* o' C$ W' B- {( a0 C' Z
0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC ' k4 V8 f, F. C( K
0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
: M+ I( `$ {4 H4 Q0132D8E4 . 51 push ecx 6 J! r7 W' e5 q, H- N, u+ _/ \
0132D8E5 . 8BE8 mov ebp, eax $ c2 q9 q3 \$ P! \7 _4 N
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
& |- ]. J. L9 _8 v0 s0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
* l% u1 Z1 _3 K! e2 h# C0132D8F3 . 83C4 04 add esp, 4 $ a7 U' @. `; x3 f/ z. F' t0 ^
0132D8F6 . 50 push eax ; /hObject 8 J. J: G( }, `7 c* T3 E0 w
0132D8F7 . 55 push ebp ; |hDC / n. w/ F6 _7 @2 M% T
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; | " R% y2 }8 D% U. }' [. b
0132D8FC . FFD6 call esi ; \SelectObject
9 ~% ?/ ?( E3 T% s8 Q0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] 9 L' [/ G, ?$ Q0 n& e, ], S
0132D902 . 52 push edx
2 \# A8 R6 }- i/ u' w0132D903 . 8BCB mov ecx, ebx & t2 d* z0 e' O/ Z6 o. c
0132D905 . 894424 40 mov dword ptr [esp+40], eax ' L' A, r" U: D: S5 q+ r
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
& X9 |+ _( R: A' q4 o0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
2 w7 o5 X. Z2 P2 U8 u; f0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.) 9 u$ W+ Z! {$ j: P {; S
0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
/ h* c9 t3 }5 F# w. L0132D91A . 55 push ebp ; ||hDC
. s. U4 H* M9 D+ g, s/ I' A0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
/ D0 e3 Y8 b" L7 o# I @0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps - x# S7 V/ P# L. P3 H
0132D924 . 50 push eax ; |Multiplier + w; e+ [) d* Z6 Y1 `& I2 ~) {
0132D925 . 53 push ebx ; |Multiplicand * | g7 K& x1 _* Z" @& T3 X9 n+ i
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv ; d6 |( |8 F5 @: N' F$ a0 i
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
1 J, ]3 @$ A) j$ A9 G9 u0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
/ D+ Q) I" {9 z: T0 f0132D937 . 51 push ecx ; /FaceName 7 K8 X2 F* ~# Y+ i4 |3 p
0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | 7 W% N$ K8 @3 |4 F( u
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 5 A6 T0 n1 x+ y h
0132D941 . 52 push edx ; |Quality
% H" r/ b+ ?+ z3 L6 m: _% w7 p) D0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS / j% v, M k2 Z+ b O
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS 7 F! A6 P4 V4 v) N
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET - X2 w ?7 s; g) L* ?& `
0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE ) z t- t O" S/ b# L# v: n$ R& J# L
0132D94A . 8BD1 mov edx, ecx ; |
+ @4 G' v$ f% G) M |6 W" D0132D94C . D1EA shr edx, 1 ; |
3 s6 F4 o! {2 L' I' F0132D94E . 83E2 01 and edx, 1 ; |
+ |/ {6 E4 ^" B* P: O! B0132D951 . 52 push edx ; |Underline , S# r% l' m2 X/ g/ m- b" v: t( B0 l
0132D952 . 83E1 01 and ecx, 1 ; | - j. } h% T' W# c8 f
0132D955 . 51 push ecx ; |Italic
; Z) z R& q/ C9 `. W0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; |
- {) ?: f* O1 j2 o; M- p& N. Z7 @* |0132D95D . 51 push ecx ; |Weight \, c# \8 v$ P8 f
0132D95E . 6A 00 push 0 ; |Orientation = 0 # T: Y3 E% ~- r4 e( c
0132D960 . 6A 00 push 0 ; |Escapement = 0 Q0 j* ?) e+ W, W1 B
0132D962 . F7D8 neg eax ; |
. K& U/ Z& {+ r( g0132D964 . 6A 00 push 0 ; |Width = 0 2 I5 n$ w9 W+ t2 t5 Q& ]
0132D966 . 50 push eax ; |Height / @9 j5 W" o9 h. P" u
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
! Q, }' h( r9 V& q3 ~0132D96D . 50 push eax - W0 A6 [" i/ }, R0 f3 q' ~* j
0132D96E . 55 push ebp . z/ u0 s- P: } q
0132D96F . 894424 38 mov dword ptr [esp+38], eax
" S' x& ^9 z$ k% U9 Z) c* y- l0132D973 . FFD6 call esi
, l# g" F& v- v4 X9 i. }0132D975 . 8D5424 58 lea edx, dword ptr [esp+58] ) T! t* T/ ^/ u, W/ G V! t
0132D979 . 52 push edx ; /pSize
3 V( Z0 Q) t$ C8 q0132D97A . 6A 01 push 1 ; |TextLen = 1 - m C C* H8 f# r
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
7 @, c" L' y7 G4 t0132D981 . 55 push ebp ; |hDC % ~( f \( t% R2 y7 V
0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | : U# W9 w; a$ @3 ~2 T$ a: R
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
; _- P8 l6 I n/ l9 u/ Z, e7 ^! B! M0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C] ' C: {& I( Z& `% u, s4 ]# w
0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] 2 ~7 A0 L+ r; ]1 R* n9 N: m& Q$ F
0132D993 . 8947 18 mov dword ptr [edi+18], eax : S' ? B* p; d& ?' `) w# W/ c5 g
0132D996 . 33C9 xor ecx, ecx
, Z4 U C# ^+ X5 b3 S" z8 s0132D998 . 8BC6 mov eax, esi 3 w5 y& ] J" q9 j. ~6 ?7 e
0132D99A . BA 20000000 mov edx, 20 & F3 R2 W9 V2 e2 b
0132D99F . F7E2 mul edx - Z4 @, \9 _" b* y. ~0 |
0132D9A1 . 0F90C1 seto cl ) s" m, ?8 o1 V& f0 r+ s
0132D9A4 . F7D9 neg ecx
. I* `1 u$ n6 r9 S0132D9A6 . 0BC8 or ecx, eax
. I5 e/ o! R. \% S. ~/ a0132D9A8 . 51 push ecx ; h. f% N" {; q6 L
0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
0 E% a |& x4 F5 G4 G0132D9AE . 83C4 04 add esp, 4 6 m' H( N! P8 C8 b
0132D9B1 . 85C0 test eax, eax & h1 r8 b, r& \* C/ R
0132D9B3 . 74 28 je short 0132D9DD
- ]8 l( u8 j) Y5 }3 C0132D9B5 . 83C6 FF add esi, -1
# F/ b* D' {1 O5 s0132D9B8 . 78 25 js short 0132D9DF 4 F( e' x0 k" v% N. n
0132D9BA . D9EE fldz
+ |) z8 [& d$ B3 D* o: k. p; C0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 8 _8 Z z; P' s5 Y+ V R
0132D9BF > D951 FC fst dword ptr [ecx-4] * c- _# y6 L# i. t1 z2 X
0132D9C2 . 83C1 20 add ecx, 20
' w( e, z3 ^6 y$ W: {* H( O% b0132D9C5 . 83EE 01 sub esi, 1
; G" o! }: E$ C, w0132D9C8 . D951 E0 fst dword ptr [ecx-20]
0 J5 @6 E6 h) {3 o+ }- `0132D9CB . D951 D4 fst dword ptr [ecx-2C] + p* m; b4 f# `. O
0132D9CE . D951 D8 fst dword ptr [ecx-28] ! Y1 Y. e8 j1 R5 r! ]( l( w
0132D9D1 . D951 DC fst dword ptr [ecx-24] ; s% w6 b5 t. P
0132D9D4 . D951 E0 fst dword ptr [ecx-20]
# p+ J- [7 ]! u; f! J' n$ \7 C0132D9D7 .^ 79 E6 jns short 0132D9BF - N. i+ |% e8 X T2 j- D- Z
0132D9D9 . DDD8 fstp st ) ?0 C/ y4 P: q: H* _( ?3 ~
0132D9DB . EB 02 jmp short 0132D9DF
' ~+ R" e+ N4 p- Q+ ~) _- O0132D9DD > 33C0 xor eax, eax ( r, u. _* c/ V! B
0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] # `8 [, }) c5 _
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax 9 K" j1 G$ l- `% A) }5 D
0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] $ q* [: ^! U0 G. }% J9 _
0132D9F0 . 50 push eax ; /Bottom
/ Z1 J3 h4 q/ F d0132D9F1 . 51 push ecx ; |Right
2 S; h/ T, w9 D6 Z& s3 o0132D9F2 . 6A 00 push 0 ; |Top = 0
" E) l. X0 H6 E( O6 m% k- J0132D9F4 . 6A 00 push 0 ; |Left = 0 1 a# v$ J' w2 |: l4 Z+ f
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
- C4 x' o' ]* e0132D9FA . 52 push edx ; |pRect
% v4 l8 j8 m; U; F- q; a0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect
+ m4 e8 Z. ~. L0 `) X" j0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
: y: f$ n1 \" e; g" X! l+ f0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject 4 Y# K% t$ Q4 z9 g/ L) @
0132DA09 . 50 push eax ; /hBrush
8 a9 j4 K' m( x+ P+ j2 Y0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
% |/ ]: j5 l1 _+ y0132DA0E . 50 push eax ; |pRect 7 |: d/ R( I+ y5 x' J; u
0132DA0F . 55 push ebp ; |hDC 8 [3 s' h7 X) r* \: \
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
/ t& ]7 f: i& F" V. y6 z* Q0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
0 v, [! v/ ] E$ Q% P0132DA18 . 55 push ebp ; |hDC & c! ~# y1 G1 j6 l0 A% p' \
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
3 r& ]+ E6 C$ e" E, c0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
: }: n5 b( G6 t6 ?- R8 v2 p0132DA24 . 55 push ebp ; |hDC 0 u- ?2 ^& {1 `! z4 N
0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor . T9 [5 U7 m8 L
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT & @( k' z& y. E. m# S9 C1 D5 b
0132DA2D . 55 push ebp ; |hDC G# V4 R8 @, e7 B2 O4 o
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode . H3 E. n( a3 Q7 R* k( A
0132DA34 . 33F6 xor esi, esi , ^2 }4 Q3 L1 Q
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi
! E. @+ ^$ V. s/ w4 s$ }5 |0132DA39 . BB 01000000 mov ebx, 1
( i) @: ^: s& N; d* g0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx " l k4 l- ~% L" M+ D; b) v
0132DA42 . 897424 14 mov dword ptr [esp+14], esi ) n9 o) o$ |) R d7 k% c Z% k2 @ q
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi 1 }8 E3 H6 W& H0 X' x
0132DA4A . 0F8E 20010000 jle 0132DB70
) h3 @9 F, K& G0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8]
( m2 Q% J3 |2 }" A2 S: C' R7 Y0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
# n# X$ \7 M. t; Z4 U0132DA5B . 897424 20 mov dword ptr [esp+20], esi
6 u4 b& d, ]) X3 r6 @) r1 z4 Z# ^4 U0132DA5F . 894424 10 mov dword ptr [esp+10], eax
( a! J3 i- N4 H+ v Q) J/ P) `0132DA63 . D95C24 38 fstp dword ptr [esp+38]
7 z/ ~% p! g8 \7 K0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC]
2 ~& E0 M6 `/ l% M" a0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
" {$ m- T1 _# ?+ v0132DA72 . EB 04 jmp short 0132DA78
- v, q: b5 l( r! T T* [0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
) R7 `4 D6 o- A6 S/ r( u0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
3 Y* M* n' k a5 q0132DA7B . 66:8B08 mov cx, word ptr [eax] ) p+ Y+ O5 N3 A5 {
0132DA7E . 037424 20 add esi, dword ptr [esp+20]
. m: c. ~0 x% q0132DA82 . 66:894E 10 mov word ptr [esi+10], cx
0 l) Z7 r$ j: F+ \: ^1 ^) I0132DA86 . 0FB700 movzx eax, word ptr [eax]
6 L( [. y/ @" z4 G8 {5 W0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14] ; q1 K* I* ?, @ C& u5 X5 x
0132DA8C . 51 push ecx ; /pABC 1 q( s- R' ~7 {: V, g5 y
0132DA8D . 50 push eax ; |LastChar
3 u# [0 }- Q* B0132DA8E . 50 push eax ; |FirstChar 6 n3 @- O9 ^7 V1 ]1 m8 y& P' u' |
0132DA8F . 55 push ebp ; |hDC
8 O- N. l1 d) D/ c1 u0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW ( I2 E& N5 l+ X6 v& f9 Z
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
: \; _9 c# q8 ~0132DA9A . 66:833A 20 cmp word ptr [edx], 20
+ G( }* k6 [ a ^0 k0132DA9E . 73 10 jnb short 0132DAB0 1 N: P/ M8 m d& {3 O$ g
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
Z) g2 L1 S0 l4 h' h* S0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
& e- M& g; j, w* ]0132DAAE . EB 0C jmp short 0132DABC L, O; G: d0 n" f- y, x8 q; Z
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
7 l1 i4 q# U7 Y, M4 G& p* W9 Q0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 ! ?5 `3 `% g' x( Y: Y
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
% v+ @: |( U% U' h0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
- O% G$ G5 H$ |3 h# c2 t0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] % m7 D/ j1 _6 Z. K/ A5 c& G
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8]
- u- F3 Y9 }0 ?* G, v3 o( r0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] % q$ E2 ^( i. y
0132DACE . 72 14 jb short 0132DAE4 4 r3 [. N |0 }# d
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
0 ]1 T" D( O- @9 ]0132DAD3 . BB 01000000 mov ebx, 1 j1 I4 D! c+ s
0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] 8 H( M( V* A& Q' \ T
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx : u( t* K. ]+ O. U
0132DAE0 . 894424 14 mov dword ptr [esp+14], eax $ i# _# L1 f/ ^# s: H: p8 j
0132DAE4 > DB4424 18 fild dword ptr [esp+18] 0 Y2 ]' Y2 [/ [# O
0132DAE8 . 03CB add ecx, ebx
H" ], E3 D" B4 ^. c; w$ P8 U0132DAEA . 85C9 test ecx, ecx
$ \3 I6 f0 o9 W6 S" ^0132DAEC . D94424 38 fld dword ptr [esp+38] 4 ^9 x2 N2 S+ J' G& _# S
0132DAF0 . D9C0 fld st . l$ w; k/ ?' I0 R1 D8 C$ c* z
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx
1 j0 ?4 T( d! M/ p0132DAF6 . DEFA fdivp st(2), st
' y c$ J. _# j- t G9 L& r( k0132DAF8 . D9C9 fxch st(1)
" k$ q2 i% x& |/ O. ^# ]/ @0132DAFA . D91E fstp dword ptr [esi] $ k8 U( c* g" w0 U9 D& Y
0132DAFC . DB4424 14 fild dword ptr [esp+14] 6 K& `- E6 I0 s) z* p' l g( {
0132DB00 . D94424 2C fld dword ptr [esp+2C] ; }6 d S( u+ @$ |2 l
0132DB04 . D9C0 fld st
8 }8 }# |5 b2 U" |0132DB06 . DEFA fdivp st(2), st ' p3 }; E/ @& K* K& u7 H
0132DB08 . D9C9 fxch st(1) 1 F8 o* M8 g, D
0132DB0A . D95E 04 fstp dword ptr [esi+4]
: G2 H1 s. {) U5 W9 {0132DB0D . DB4424 18 fild dword ptr [esp+18]
; J T* L: F9 l" J+ a0132DB11 . 7D 06 jge short 0132DB19 9 W" s2 g" c6 q) L6 x. O: ?
0132DB13 . D805 50B03801 fadd dword ptr [138B050]
. [5 b* l+ z+ o+ m6 R5 O3 M' j0132DB19 > DEF2 fdivrp st(2), st ) s, v6 h- c& P+ t- G
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] ' x U& f. @* j, Z4 R6 M) C
0132DB1F . 6A 01 push 1 ; /StringSize = 1
+ V6 \- [9 G: i' X6 ~6 r! I0132DB21 . 52 push edx ; |String
# i. F! N% t+ W) z9 H8 w4 t0132DB22 . 50 push eax ; |YStart 4 \, m1 |6 N5 F9 N, D c* W
0132DB23 . D9C9 fxch st(1) ; | C5 j7 ~7 e! K9 a8 ?4 L
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
* v& u( C7 u6 E7 I/ Q0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | 1 ^% N2 \1 `# K+ U$ y
0132DB2B . 03C8 add ecx, eax ; |
/ S! Y, {2 z5 ~* B- [0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; |
! \8 b; ~. V3 Y0 I7 o2 U) U( z0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; |
6 z( `/ h3 N7 s) _' v- g2 s) V0132DB35 . 8BC3 mov eax, ebx ; |
" J5 F0 k, d7 P. i& p$ a0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; |
* r& k' v4 l2 r( |( ^0132DB3A . 50 push eax ; |XStart : }- m' @% F/ ^! h1 o
0132DB3B . 55 push ebp ; |hDC
8 m( l7 H' C: [& i% {5 ] S5 V! m0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | ; G" R3 G! H! H! x3 k9 j# K# E
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
" L2 \5 h" r0 S* B: [0 q/ s# {6 n \/ T' {0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C] 4 [- B- B+ q0 t
0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
9 n4 p- F" a, X( u9 E0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
9 g9 H. ]8 t1 s- J) @$ Q) ~0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
: `8 x2 x; e, N" Y* P, c; O0 o* W0132DB56 . 83C0 01 add eax, 1 0 }" R" j) U- J) {8 _# O
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] , h0 R; ?1 ~3 v4 t3 v4 {, y$ v
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
! v0 y }- q& V0 Z) Y# U0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx 8 u' |' S) m, t& m; O+ b% s' A+ U) ?% s
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
% K+ F; n7 ~4 G+ Q2 O0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74 6 p: W1 l, T, I5 G# }$ y; U6 C
0132DB6E . 33F6 xor esi, esi 7 Z8 l: V$ i" x# m; d# b
0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
) {6 I* j0 ?3 J, w M% C0132DB73 . 6A FF push -1
( R. ?0 n. w# C; a9 |0132DB75 . 83C1 38 add ecx, 38 + P. `8 p5 z0 x4 G9 X
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 0 ~. f" a5 N }) t
0132DB7D . 8BD8 mov ebx, eax 3 N- P* C, Y6 q% w
0132DB7F . 3BDE cmp ebx, esi
5 d! j1 z# Y& N" u- n! n0132DB81 . 74 74 je short 0132DBF7
1 z+ y# w0 w# o0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24]
8 R# q; Z/ [* l- R0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40] " c9 w) X' F. m H) p1 |" f n
0132DB8B . 52 push edx ; /Buffer 5 ]" P2 F( k- ?7 I
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
+ O X- G+ K" y+ ] {0132DB8E . 50 push eax ; |hObject 8 w/ l/ Q: d. T: [
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
/ l w @; |1 r0 [0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48]
+ d x6 O* q: C! l0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1]
" C3 A1 t2 a$ G, q" x1 D0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
, G, n9 G# [, ~+ I& ~/ n* O0132DBA1 . 037424 54 add esi, dword ptr [esp+54] 6 u- Q# J1 _5 h# s
0132DBA5 . 85C9 test ecx, ecx * f( Y) _4 l, z! H
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0
: f( }0 D# S/ e/ @0132DBAF . 7E 46 jle short 0132DBF7
+ ^" n# k2 K% k5 t0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
/ _0 B8 G. Q4 l- A+ x3 }0132DBB5 > 33C0 xor eax, eax
' R1 B) t/ \, X, A& o* U T0132DBB7 . 85D2 test edx, edx
- R; h7 i5 [% q) l# q l0132DBB9 . 7E 26 jle short 0132DBE1
. \2 ~3 c G: _- V0132DBBB . 8BCE mov ecx, esi
' d/ q2 z# p1 S! o* ?" U0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
4 }7 R9 E1 {5 x. t7 C0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] g6 p' B6 I: ` z/ _. ~
0132DBC3 . C1E2 18 shl edx, 18 - W1 R$ B0 z, V' y6 L1 \( J
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF K+ d. ? ^3 |: U
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
5 T$ [4 r0 n# V4 ?% _% c2 k: \1 r) ?0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] + r7 {+ m) |, [- ^: X$ U# N
0132DBD3 . 83C0 01 add eax, 1
* c9 r$ c" U/ C3 K& g& i3 [0132DBD6 . 83C1 03 add ecx, 3
, _% U C0 E; P, ` j$ F h7 f0132DBD9 . 3BC2 cmp eax, edx
3 t' j" _( Q" M3 W4 t8 x0132DBDB .^ 7C E3 jl short 0132DBC0
# b: G7 j7 W4 W* \& D4 a3 d& v1 f0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] 6 L! `" i2 n8 Q v
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
2 K) j2 n1 N* |( f5 [/ x1 |0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] 9 u: i' d6 ?: b( t3 x& U. q5 G
0132DBE9 . 83C0 01 add eax, 1
. {7 A* g0 ]0 g0 j$ G0132DBEC . 3BC1 cmp eax, ecx
4 }8 S7 Y; G- S0 }6 ]6 I0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
' r/ b- h3 o( U6 L- A0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
8 d# Z5 i ^5 d2 i0132DBF5 .^ 7C BE jl short 0132DBB5
5 G6 l9 B; w# d0 P- ?3 s0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
2 ?' i1 L. w# j; n# N0132DBFA . 6A FF push -1 3 }) m; x5 `) U. P* x# s
0132DBFC . 83C1 38 add ecx, 38 8 x8 v& n1 f. p. ]3 b5 p
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS>
; x- B+ w9 K5 Q3 S& D9 _0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
( W& a9 e! y2 c( Z4 V0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 2 A& b/ D9 f9 o! o
0132DC0E . 50 push eax ; /hObject
, y/ G. {* s* X% z0132DC0F . 55 push ebp ; |hDC / e/ g( h! ]& G3 K
0132DC10 . FFD6 call esi ; \SelectObject
, z ]. D6 p, E2 a0 f0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] # N) F# N3 Z3 j5 n
0132DC16 . 51 push ecx
" g8 q v. p* Y% W0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont ' z y7 Q2 N. D* q2 Y
0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
5 n3 V, o# D9 d0132DC21 . 83C4 04 add esp, 4
. J& L: |+ d+ V; _) C0132DC24 . 52 push edx 4 j. V0 J! J; y; ~, [
0132DC25 . 55 push ebp
+ {, t8 Q) {7 Y/ W# |) b4 E0132DC26 . FFD6 call esi
9 o5 y1 Y0 I7 J0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
, T' ~9 }. L( Z. W( M" |0132DC2C . 50 push eax * k% A2 r: e" J! @
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
4 L$ X9 n2 @* H2 m0132DC33 . 83C4 04 add esp, 4 " B# v' ~( u/ j1 `+ e- O- G& w+ A" K1 D
0132DC36 . 55 push ebp ; /hDC
2 R, L3 Q! p" y" ?0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
; @' `, K2 l$ W* i0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28]
; a3 [6 @9 O' n4 w7 h8 J0132DC41 . 6A 00 push 0
$ N/ [% P, B( c. k2 V. E9 `% R# \0 ^, \0132DC43 . 51 push ecx
" f- I" G) Q; {4 C0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
; r% q* C5 F9 e0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName> 1 }( ^* Q1 \) m5 O" }
0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] ' X s1 y' |4 N' ]
0132DC4F . 6A 01 push 1 ) J$ P8 Z6 U, y( |7 ?* ]
0132DC51 . 83C1 38 add ecx, 38
- ~; Z9 {) y" c0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
0 O5 o; I S& _+ K0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
+ ~9 s6 A! |( d6 Z0 ]0132DC5C . 8B11 mov edx, dword ptr [ecx] + `) y6 j. a- _/ ~, D
0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
) v0 T5 E8 P$ N+ M& y5 Z k" B0 P: |0132DC61 . 6A 00 push 0 5 x6 L [& n1 a% d& K
0132DC63 . FFD0 call eax
$ m' F& W a/ P1 N0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
; _/ b/ X0 D) ~ j) w0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
) T6 ?" T& Z$ T3 |5 n, |1 z0132DC6C . 33C0 xor eax, eax
& o$ [/ D% ?2 O0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC]
& K7 [8 B$ Z8 N0132DC75 . 5D pop ebp
$ n+ t, |2 E4 o& X0132DC76 . 0F9CC0 setl al
) o- u! D9 b' F. x' v' r& I" q0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0]
- b, k# g9 C& D q z0132DC80 . 5F pop edi
, H' P) m0 h, n" K0132DC81 . 5E pop esi
3 E0 Q' [0 E! K( ~- z# v6 R$ @0132DC82 . 5B pop ebx ' t. o' `3 L# v" l& E
0132DC83 . 33CC xor ecx, esp % e6 z+ K- C1 p) \& f f/ _
0132DC85 . E8 E2460500 call 0138236C
. V& O6 m3 K& ]- T( [5 _! y0132DC8A . 81C4 98040000 add esp, 498
6 ~1 f5 W$ Z% L" X/ N0132DC90 . C2 2800 retn 28 |