发现了一个和字库有关的函数,研究中。 / x" R4 h# p' `% F Q) K
# t! _6 Y4 V% O, }3 Y- H+ b
0132D7E0 $ 81EC 98040000 sub esp, 498 4 `; J. ~- H/ f' v" C' W
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
! R* N7 r; m* M- A% W* J2 c* G0132D7EB . 33C4 xor eax, esp ! V1 X7 H, t. [6 U2 v
0132D7ED . 898424 940400>mov dword ptr [esp+494], eax ( U1 ?" l4 |4 P7 ]7 r1 t: X
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0] 9 A, Y3 V$ S: L3 u3 y2 D8 F2 ^) [6 l
0132D7FB . 53 push ebx . u. t$ K/ c8 u0 Z) W
0132D7FC . 56 push esi
a# {+ j. t- c0 a0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
[3 H7 ?# O. X- C! G0132D804 . 57 push edi # _6 C, E# h9 u5 r7 S
0132D805 . 6A 30 push 30 ; /n = 30 (48.) % o5 ]7 f" X* D0 J
0132D807 . 8BF9 mov edi, ecx ; |
7 v( r; D6 v, Z* i# A0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; |
' i- T" \4 b+ W1 G# V0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; |
1 u' L r9 J, f+ I/ P+ y0132D814 . 6A 00 push 0 ; |c = 00
) |0 a+ U* M# ~$ m. l3 y0132D816 . 52 push edx ; |s
/ r7 g9 o% c+ v' t, X0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
2 P+ N- ^4 r+ b1 n9 Q0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; | 7 W7 ^3 N o/ D6 T1 e; X
0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | 2 g: n; c. O2 {4 T. n* H- t& g
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset & O; h3 F* t9 j! F. ?% m
0132D82C . 83C4 0C add esp, 0C ! i3 ]# N1 q; a6 j2 N
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0
+ O1 j! X5 W; y# e8 v0132D837 . 74 12 je short 0132D84B % Q V! y! Y/ i0 u+ K
0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
- Y# Z" d* y% a0 l! ?9 p0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz"
& i$ @" S0 r' W5 C7 K6 [4 }0132D846 . 8947 1C mov dword ptr [edi+1C], eax ( o# ^5 a+ y/ f8 V
0132D849 . EB 32 jmp short 0132D87D
# C& b" X- h3 b$ `0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 $ o+ _) z1 p. h7 [! u
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] 2 M, j# x9 b: z, `8 I; [
0132D855 . 33C0 xor eax, eax
% U- @. B( R' l2 H7 e0132D857 . EB 07 jmp short 0132D860
' }" I' ^( a: Q8 I0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
* u4 K% E9 E" A# z0132D860 > 8D50 20 lea edx, dword ptr [eax+20] 9 S; H" d/ n. ~9 i) N& F" D
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx
# o$ F/ {: ~' ~- r/ d) U0132D86B . 83C0 01 add eax, 1 , ?5 n- ?: d5 `/ y3 m1 Y
0132D86E . 3BC1 cmp eax, ecx
0 g# p8 W2 s5 f% K: o0132D870 .^ 7C EE jl short 0132D860
) R' ]2 t8 \1 _0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
k/ t1 l% w3 ^0132D879 . 894424 0C mov dword ptr [esp+C], eax ( o/ ~/ o+ W$ |4 U" o8 a0 G
0132D87D > 8B47 0C mov eax, dword ptr [edi+C]
- p9 @( r; Y0 p/ e6 j5 x0132D880 . 85C0 test eax, eax 4 `# u! C4 |+ U5 P) \
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C]
3 m& }% l4 Q" N( |8 w0132D885 . 75 05 jnz short 0132D88C ) Q& N' p6 e/ C% Z: ^
0132D887 . B8 16263901 mov eax, 01392616
0 i0 L$ a, j- p) @" ?8 y% h# [0132D88C > 6A 00 push 0 % n7 E8 v |2 O& M. {
0132D88E . 6A 00 push 0
8 d. h! N/ A& l5 Y c8 {, ?( x0132D890 . 50 push eax " E; @0 H) `1 d/ W7 k5 d: w
0132D891 . 6A 1F push 1F
3 }% F" ]3 L+ q; \( W+ `$ I/ W0132D893 . 8BCE mov ecx, esi
, I9 U8 m- s4 c' {3 t0 f0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
$ ?5 ~4 S+ X$ F- U, ~0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8]
) b6 b y/ n/ r: u0132D8A1 . 6A 00 push 0 & h, a: F1 E- b5 f( ]. ~
0132D8A3 . 6A 20 push 20 # {2 ^- Z. \6 A9 T
0132D8A5 . 51 push ecx
% u- H4 O7 c/ z, V: o0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] $ W" q( [9 f6 H4 @
0132D8AD . 8947 24 mov dword ptr [edi+24], eax
$ J3 u/ U# ]$ X# s, `, @3 S0132D8B0 . 8B10 mov edx, dword ptr [eax]
1 X: C0 {* m. B$ B, {0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54] * V9 r9 u' f! e1 c
0132D8B5 . 51 push ecx
+ w7 l9 I1 [) }5 |8 ?" D W6 B0132D8B6 . 8BC8 mov ecx, eax 8 |' U3 s3 M2 H7 I
0132D8B8 . FFD2 call edx * x: u9 B) @: H5 N; T
0132D8BA . 85C0 test eax, eax 3 \% g% u0 {" M% W; k
0132D8BC . 75 07 jnz short 0132D8C5 ( h5 g4 g* c$ M0 Q
0132D8BE . 32C0 xor al, al
/ o/ a' _" B& R. H) ]0132D8C0 . E9 B4030000 jmp 0132DC79
: K) O4 I% V5 I9 E9 o8 g0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24] ' ] W1 S$ ?$ _" n5 K' S2 {
0132D8C8 . 8B01 mov eax, dword ptr [ecx] " Z6 B& a7 I1 P0 Q# `
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88] ! E; ~- O. T, }5 a
0132D8D0 . 55 push ebp
; @7 c% c) r0 O9 O5 T6 q0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] 8 F, x, a- |* L& e# R; J. y
0132D8D5 . 52 push edx 8 Q2 `8 o: x% c1 h
0132D8D6 . FFD0 call eax
0 ?+ s+ \/ q/ L0132D8D8 . 6A 00 push 0 ; /hDC = NULL
6 o+ N l- l& d' U- S# Q+ i) n, ^0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
6 j% Y9 R, H# q1 m0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70]
) u: R: }/ B3 A3 [, c3 v: E0132D8E4 . 51 push ecx
. J+ o& @1 a7 k U' z# T* P+ g0132D8E5 . 8BE8 mov ebp, eax 1 w/ _* }2 d) s. V
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
! b/ M6 s) Q _0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
/ F$ r; I& G* K7 g( n- ?( Q0132D8F3 . 83C4 04 add esp, 4 ; f1 n1 L8 K8 ?$ Q1 q; m& v
0132D8F6 . 50 push eax ; /hObject 4 r" M) _7 v. D
0132D8F7 . 55 push ebp ; |hDC
/ b$ ~" G) B: t, C( f) z# [: K: l0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
1 P; R8 \( R7 H; @0132D8FC . FFD6 call esi ; \SelectObject
~- H" I! X: j/ }3 w6 ]0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28]
9 n! S+ a* i: a& ]" k0132D902 . 52 push edx * v' D ]6 c( b5 R3 L' N/ {
0132D903 . 8BCB mov ecx, ebx % `- q# e. O1 M
0132D905 . 894424 40 mov dword ptr [esp+40], eax 6 ~( l: u- U; E6 ?, F: [
0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator= $ o9 A0 \4 W( q
0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
% v; R: w5 Y5 f! D, q0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
, b6 E$ K8 i4 y6 \* p; A: T) O$ i0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
0 j5 a/ z: C0 E: }0132D91A . 55 push ebp ; ||hDC * T* k" V/ `1 H, D
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; || & d# K( d4 `, }, ?+ ^+ e a
0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps
! T% C( G! B) ]% }6 x* M/ B1 @0 o0132D924 . 50 push eax ; |Multiplier 8 Y# R5 Q! o9 Z! n
0132D925 . 53 push ebx ; |Multiplicand
% k! _0 K! h3 ^. R; P3 H0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv " A! I! q y7 I- G8 }: D, c, u7 Z A
0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C]
) u+ f8 e1 u Q; D1 b- G0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0] ) [/ ?( H8 b9 W) M
0132D937 . 51 push ecx ; /FaceName
# C; b, ]( f2 j4 n2 G& @0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; |
! x; _9 z& u2 v- C0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE ! A, r; G! y( z: V; N; x
0132D941 . 52 push edx ; |Quality
& b6 W7 k3 X7 R0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS / O! h7 J w- z9 A0 R/ j
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS : k4 L( r. ?5 E! P- b% ^; k
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
/ P0 q4 O B+ K$ K; i0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE 7 j! ?$ i! _- i
0132D94A . 8BD1 mov edx, ecx ; |
4 o& U" C5 |8 _1 u, M$ A* i+ p$ g0132D94C . D1EA shr edx, 1 ; | 2 h# D) [/ A! t6 O' X' u, e$ ^
0132D94E . 83E2 01 and edx, 1 ; |
" t; u( O% r8 ?8 r" @0132D951 . 52 push edx ; |Underline " ` T6 T* ?/ u- p. g0 n7 L% m' T
0132D952 . 83E1 01 and ecx, 1 ; |
) \6 ?2 j& W0 A( `5 s0132D955 . 51 push ecx ; |Italic 8 }4 T! \$ A2 x5 Y1 \/ h7 W
0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | ! S+ s' ?2 S5 Q" {1 p
0132D95D . 51 push ecx ; |Weight $ I1 `3 N/ t; \% Y( k$ A
0132D95E . 6A 00 push 0 ; |Orientation = 0
0 J3 B. b( `8 `( [! L' h! }0132D960 . 6A 00 push 0 ; |Escapement = 0
2 w: t x- b3 `8 V+ j0132D962 . F7D8 neg eax ; | b% v: R; r W3 e
0132D964 . 6A 00 push 0 ; |Width = 0 + g( w( y, f& c- d C2 M
0132D966 . 50 push eax ; |Height * _: J$ [. a+ z+ i0 S
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
* m+ Q! }' y7 u0132D96D . 50 push eax , u5 j B+ ]/ b$ m, J
0132D96E . 55 push ebp
h! \. g. _$ E! l$ ?9 P! q" R7 j2 \0132D96F . 894424 38 mov dword ptr [esp+38], eax / Y f- [, S3 t. u/ D N: ]
0132D973 . FFD6 call esi
4 K4 h7 ^6 n2 r3 Y0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
# x7 r% R! J) f& Z0132D979 . 52 push edx ; /pSize
% C& z% F9 i* |2 U6 s2 z- m; h. h0132D97A . 6A 01 push 1 ; |TextLen = 1
) |/ X7 n# a' b/ b5 E0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A"
; d" A/ w4 e* B; n o2 u0132D981 . 55 push ebp ; |hDC
3 X0 R2 B4 Q9 V& d$ ~# K0132D982 . 894424 44 mov dword ptr [esp+44], eax ; | ) n% s$ o$ R6 G$ Z
0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA
7 u0 z$ B6 {0 K, K; {9 w0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
+ \9 H |/ f' h0132D990 . 8B77 1C mov esi, dword ptr [edi+1C]
9 ^ V n% C$ l+ j( C. y4 u0132D993 . 8947 18 mov dword ptr [edi+18], eax
& s1 ~! D0 f1 j0132D996 . 33C9 xor ecx, ecx
% U: _% F5 u2 f+ r7 D0132D998 . 8BC6 mov eax, esi
- n- s5 Z: s' b/ ] L0132D99A . BA 20000000 mov edx, 20
" d6 S }' x* b- n0132D99F . F7E2 mul edx ; J; y1 f% A! P# ?3 B
0132D9A1 . 0F90C1 seto cl
% i4 k2 p' L8 l3 {3 ~1 b0132D9A4 . F7D9 neg ecx 9 M+ k, v. [* g/ m! M6 l7 ^0 ]
0132D9A6 . 0BC8 or ecx, eax
0 i3 l1 T& W! x7 q0132D9A8 . 51 push ecx
% C. P3 u1 t. _" j8 `9 I3 t6 m8 J0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
2 r( A' x+ Y4 P) q$ {: d% ]0132D9AE . 83C4 04 add esp, 4
% T5 U; g' u( T0132D9B1 . 85C0 test eax, eax $ x0 S5 H+ F; H7 u
0132D9B3 . 74 28 je short 0132D9DD " n" E+ H0 O, K& C1 K0 i
0132D9B5 . 83C6 FF add esi, -1 # u/ d# [! P S j8 H8 R
0132D9B8 . 78 25 js short 0132D9DF
, J' m! u U; L0132D9BA . D9EE fldz ) s! ], j( A V" [/ R. |* v
0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C]
& `0 b" n; m9 [( O0132D9BF > D951 FC fst dword ptr [ecx-4]
7 f/ b+ o9 [ b) O2 n0132D9C2 . 83C1 20 add ecx, 20 8 \8 }0 N9 D+ ^+ P# R
0132D9C5 . 83EE 01 sub esi, 1 . y7 V; X. ~" Y: Q. D
0132D9C8 . D951 E0 fst dword ptr [ecx-20]
, M0 [7 P1 r) c7 p2 z* @& ^0 R1 @0132D9CB . D951 D4 fst dword ptr [ecx-2C]
B# i: t$ V0 ?' t8 S* J* c0132D9CE . D951 D8 fst dword ptr [ecx-28] 3 v4 S* h9 m8 F/ `& @
0132D9D1 . D951 DC fst dword ptr [ecx-24] ' [# e7 U7 [4 G
0132D9D4 . D951 E0 fst dword ptr [ecx-20]
* i+ ?$ B. S7 k: U6 u, d. N0132D9D7 .^ 79 E6 jns short 0132D9BF 1 e' O" V' _4 W4 C
0132D9D9 . DDD8 fstp st
" t( Q7 ]3 b$ T7 g6 m1 |- \9 Y2 \0132D9DB . EB 02 jmp short 0132D9DF
7 g# S" o# z! b6 \, u& B0132D9DD > 33C0 xor eax, eax
, a& L! J, e; p/ C8 r0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] # ]" [% D( _1 b1 K
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
0 u, m/ C7 r* D5 _1 }0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC]
; [: r, t( [8 ]5 I9 t0132D9F0 . 50 push eax ; /Bottom
+ D& x8 ?8 \$ B0132D9F1 . 51 push ecx ; |Right , d6 N5 {- S4 U, |" ^
0132D9F2 . 6A 00 push 0 ; |Top = 0
[# W4 l5 z, X$ d1 @$ Z* y5 U0132D9F4 . 6A 00 push 0 ; |Left = 0 : a6 i" e% V3 S( f6 K
0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
& Z0 h- Z+ b/ h7 y) K3 D0132D9FA . 52 push edx ; |pRect 2 m T, r/ j' Q6 G ^ G# Z0 c' v' { g
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect # M6 v9 P7 n$ d) d; k- ^9 \. ?
0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
8 X. A) E8 B+ T/ T0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject : p$ K! W! |! G( a! V- X3 C( d
0132DA09 . 50 push eax ; /hBrush
( P% `* s9 b: `; r3 {0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; |
+ U& e, N& s2 h) [0132DA0E . 50 push eax ; |pRect
# }4 R1 R8 b, B& w0 h5 Z; R k n) o. W0132DA0F . 55 push ebp ; |hDC 4 R6 A7 a6 }5 Y2 v, l6 }
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect & [5 e1 [# r \- v0 C& U
0132DA16 . 6A 00 push 0 ; /Color = <BLACK>
2 y1 u" e3 @' q. C0132DA18 . 55 push ebp ; |hDC $ Q/ n( H( B% F
0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor
" @9 G$ K" V0 C* q+ U0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE> 2 {4 v7 C3 A1 G3 z X$ S
0132DA24 . 55 push ebp ; |hDC
+ W2 y1 M7 C8 R6 E+ m( w9 m0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor ) N ?, t) A+ H; x1 o
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT 9 M' N' G f6 |( B+ `
0132DA2D . 55 push ebp ; |hDC
8 U& i v# m" A3 |. E0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode " g. Q& c2 d) H" N
0132DA34 . 33F6 xor esi, esi - N% Z: X& P! { `9 Z& H1 z8 `
0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi 7 u" s: o6 i. n: R- j( \9 a+ r
0132DA39 . BB 01000000 mov ebx, 1 : g6 @) Q/ u/ ?% F, A3 H
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
. z8 Y5 T( o2 r) p5 `$ m1 o0132DA42 . 897424 14 mov dword ptr [esp+14], esi 6 T) S, B/ s c i8 L0 i
0132DA46 . 897424 1C mov dword ptr [esp+1C], esi / S) [6 G. @# m" `; ]. @0 J0 d
0132DA4A . 0F8E 20010000 jle 0132DB70
: [3 R( A: T4 L, h# Y0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8]
, n6 x6 Y: o8 ~6 h u' U# q! p0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10]
! R9 f1 a* M7 n0132DA5B . 897424 20 mov dword ptr [esp+20], esi
1 }- c6 P: @" t% s0132DA5F . 894424 10 mov dword ptr [esp+10], eax ' ]; i' E, P; |$ p% r
0132DA63 . D95C24 38 fstp dword ptr [esp+38]
# k/ \2 q! ?* b" ?0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] : B5 |% n. {7 n( Q7 T
0132DA6E . D95C24 2C fstp dword ptr [esp+2C] ( I+ v9 c" m" S1 Q
0132DA72 . EB 04 jmp short 0132DA78
; g6 J" T! R4 N- z/ i4 `0 }+ S/ P$ [0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10]
4 s; ]$ l" T$ d) b) G# V: h0132DA78 > 8B77 20 mov esi, dword ptr [edi+20] , b" U, a$ G# x! {
0132DA7B . 66:8B08 mov cx, word ptr [eax] ! c8 ^. k+ ~; K2 }3 M7 I
0132DA7E . 037424 20 add esi, dword ptr [esp+20] 5 x/ X& W- R0 X+ m
0132DA82 . 66:894E 10 mov word ptr [esi+10], cx ' {9 T! P, [- b/ _
0132DA86 . 0FB700 movzx eax, word ptr [eax] - |5 D" {# D' a4 Y5 G
0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
y5 K [: b, l8 n; F0132DA8C . 51 push ecx ; /pABC . ^ v K5 {3 @, r3 V
0132DA8D . 50 push eax ; |LastChar
( {8 ? c; ~! v6 t) T2 S8 j+ \0132DA8E . 50 push eax ; |FirstChar 0 H# Y7 ]& Y8 S: U1 X6 L% k
0132DA8F . 55 push ebp ; |hDC $ K, A' E" N1 f+ i
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW
6 L% ~( }9 E5 f/ v8 F5 n6 T0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10]
1 H* v, j8 _+ u4 |: Y+ v- @: U0132DA9A . 66:833A 20 cmp word ptr [edx], 20
, S9 J* C& W* x2 K% K0 V0132DA9E . 73 10 jnb short 0132DAB0 4 ^% U+ p! R. I% q
0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0
" `9 w# d$ c+ _) e/ h4 X9 m, T0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
; f' L# _( _- ]3 N' Q* N9 O0132DAAE . EB 0C jmp short 0132DABC ( \6 v% w0 ~* n
0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
% E) P. |& l) D3 V& S; C3 Z0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 # A& H8 q$ c0 q
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1
( Q! D# a( h8 Q0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
/ r1 o; J+ k" u2 u0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1] * x) v& l C$ W0 s
0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] $ H2 Q; v: e6 P1 O% B
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14]
( O2 I( c! d4 c% m- k+ d0132DACE . 72 14 jb short 0132DAE4 4 B: H/ y1 H, Z' u( x$ k; H9 J6 p
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
m& U' p$ ^4 i9 t! Q* x0132DAD3 . BB 01000000 mov ebx, 1
- _ P- B0 |. j" b7 H5 M0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] $ H7 w6 S! {+ p/ j, a
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
! ~. u" d+ ?+ e! \& [7 e* n0132DAE0 . 894424 14 mov dword ptr [esp+14], eax
5 b) E$ { h# H0132DAE4 > DB4424 18 fild dword ptr [esp+18]
- n7 W7 V- ~! {7 J# ?, D. d0132DAE8 . 03CB add ecx, ebx
7 _' m5 _7 c5 I+ N( Q: E0132DAEA . 85C9 test ecx, ecx
. u2 g* J! @1 K2 D) b- T0132DAEC . D94424 38 fld dword ptr [esp+38]
7 r0 ?; S A: [4 c5 U Y0132DAF0 . D9C0 fld st 0 y0 P) Y4 B1 @* x( Q
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx ; W% B6 H' y- ?3 r0 ]: f4 H
0132DAF6 . DEFA fdivp st(2), st
, s6 i2 j6 L3 V8 | ?( Q/ ~0 b0132DAF8 . D9C9 fxch st(1) 0 L' Z* ~$ ]+ C5 I7 x
0132DAFA . D91E fstp dword ptr [esi]
5 m# U7 L5 [2 o6 l5 {0132DAFC . DB4424 14 fild dword ptr [esp+14] 5 _8 J: a; Y/ e( i" b! i
0132DB00 . D94424 2C fld dword ptr [esp+2C] ) G* {- u# Q7 _* u. ]) E1 O; o
0132DB04 . D9C0 fld st 6 V A, Z/ s3 u
0132DB06 . DEFA fdivp st(2), st
. k# f$ b5 S) E/ b$ p& R0132DB08 . D9C9 fxch st(1) 7 I1 x8 K# i" P$ \& P
0132DB0A . D95E 04 fstp dword ptr [esi+4] 4 B$ u. j# ~; a. ]
0132DB0D . DB4424 18 fild dword ptr [esp+18] , Z) Y/ A7 g2 g& J; |! j
0132DB11 . 7D 06 jge short 0132DB19 5 {) M6 M" W# G: z& ]$ Q3 c
0132DB13 . D805 50B03801 fadd dword ptr [138B050] - K$ E2 b8 _; n( ?- j3 g: }; |7 K
0132DB19 > DEF2 fdivrp st(2), st
' ]7 E( [$ ?' m0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] # A" F6 R9 W4 H$ {- {
0132DB1F . 6A 01 push 1 ; /StringSize = 1
2 h$ ^- z1 x# [4 f( w0132DB21 . 52 push edx ; |String 5 x4 o0 a. k- S( V/ ^* I5 O1 k
0132DB22 . 50 push eax ; |YStart
8 j0 K+ P4 }: U. V7 [1 f) F0132DB23 . D9C9 fxch st(1) ; | ; U, P: j- C' ^( y) t# d
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
, n9 K* U2 C/ I2 A- I0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | 5 Y; d- P8 E% h+ r% b P
0132DB2B . 03C8 add ecx, eax ; |
# D" q. S: c+ s" t0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | . X. d( t. v0 ~% e% ?+ o0 f0 B! ?
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; | 9 d3 j% l- k6 ?% ?
0132DB35 . 8BC3 mov eax, ebx ; |
4 n3 U8 M) o: M- k: z l0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | . ~& x: J; c2 ^) N- i
0132DB3A . 50 push eax ; |XStart
7 q. Q+ ~& o- z6 n6 a- G0132DB3B . 55 push ebp ; |hDC ) u# G3 X& Z P+ m! J
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; |
3 e; I6 E3 H$ I9 S1 W7 ]0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW
) r3 m( _1 A) s$ P( {) p4 M7 f+ f0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
' I8 W5 @5 V4 m) K7 W1 U) R0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18]
) N& {0 K! G {& M9 y5 ^/ t9 p0132DB4C . 834424 20 20 add dword ptr [esp+20], 20
6 ]7 p% T1 A/ Z4 N- U7 w* p0132DB51 . 834424 10 02 add dword ptr [esp+10], 2
9 `. Y( O) s `, }, j2 x9 r6 r0132DB56 . 83C0 01 add eax, 1
. D# g! S0 [2 `* Q0 e0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] 2 B, i: |5 q7 p+ e; g; O$ y
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1] 5 H" c( N1 y, y8 d o# [5 [' `/ B
0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx 2 ^7 P1 J( M. [% [
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax
" e0 v. g' \ q; e+ N8 p6 q0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
, q8 K* Z7 m$ z) i6 Z- f0132DB6E . 33F6 xor esi, esi
( ]6 f) P$ e& C0 z* f4 `6 d0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
( y( I! o+ f7 R3 O3 i0132DB73 . 6A FF push -1 $ M4 {9 f+ n7 O2 ?" _- B
0132DB75 . 83C1 38 add ecx, 38 ! ?6 v6 n3 l' c6 S _
0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf>
+ S4 z- a+ G$ ~- H6 P0132DB7D . 8BD8 mov ebx, eax # q/ y2 C8 n8 T% {
0132DB7F . 3BDE cmp ebx, esi
' z; ^* l& P6 e8 o, ~8 U0132DB81 . 74 74 je short 0132DBF7 9 m; F0 s/ R4 V- B, i' O
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] ; ?3 |# H8 M3 ]" l: W; s
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
' J- _$ b8 p \+ l0132DB8B . 52 push edx ; /Buffer 9 @8 B. O' X1 j9 \# f D2 S
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.) 8 G- w" I9 d% m q8 ^7 x; Z
0132DB8E . 50 push eax ; |hObject 9 l- w* x G! r% G' e$ `, g
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
& d2 C% M5 t3 {, K( j* w2 w' d0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] 5 ~9 U( @' Z9 q* K, x& G5 ?
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1] $ y; E0 [9 O F0 M
0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
/ k7 P6 u5 r! |$ k: G3 @! C) S& u0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
$ o. n# k7 l! X1 a0132DBA5 . 85C9 test ecx, ecx 5 ?6 j6 z# H; v/ H' H1 t
0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 ) I6 _9 ~! T; h! ]6 D
0132DBAF . 7E 46 jle short 0132DBF7 ! t* N/ |) F9 _. X5 A: D$ @
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44]
1 \/ O3 M4 z& v1 K" |; w0132DBB5 > 33C0 xor eax, eax
9 \( {/ U3 ~$ V+ N, ]0132DBB7 . 85D2 test edx, edx
0 Q2 @3 t5 u+ N0132DBB9 . 7E 26 jle short 0132DBE1 $ v) K0 p i, L z8 U* _
0132DBBB . 8BCE mov ecx, esi
* Q) m9 D# S5 P p0132DBBD . 8D49 00 lea ecx, dword ptr [ecx] ) K8 V8 B" o& H" K
0132DBC0 > 0FB611 movzx edx, byte ptr [ecx] ! g4 ~- r5 |) c7 _$ |
0132DBC3 . C1E2 18 shl edx, 18 " f. y# m5 _$ e, }' p! S/ P
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF 5 m( Z& w/ v- J# m* v8 s- {# h
0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx 7 ~# M0 F, q. N% y( i
0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44] 3 Z3 U+ V+ E& s8 p$ Y I
0132DBD3 . 83C0 01 add eax, 1 * P1 C1 L. i( M7 X
0132DBD6 . 83C1 03 add ecx, 3
2 E$ M. i) @, f* e* J0132DBD9 . 3BC2 cmp eax, edx 1 y% k# `( h$ C, D
0132DBDB .^ 7C E3 jl short 0132DBC0
: `4 |! S4 q% G& Z3 w0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48]
& n. A( a0 D. C2 k5 c0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14] 7 p; F3 v. N" ]5 G' M- w G
0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C]
9 e3 Z& B9 R D, V' J0132DBE9 . 83C0 01 add eax, 1 & R. b% | m5 U! T7 J/ R |
0132DBEC . 3BC1 cmp eax, ecx
! r& b5 m: ~% U( M$ S# Y0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4] s0 K" t8 K7 A w' ]% Y
0132DBF1 . 894424 14 mov dword ptr [esp+14], eax
( y# a# q: R& M, W0132DBF5 .^ 7C BE jl short 0132DBB5 * ]3 W) k" C. x9 _5 r
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24]
1 U2 Q/ L/ ?7 J0132DBFA . 6A FF push -1
: Q2 m5 @- @: N: d4 F f0132DBFC . 83C1 38 add ecx, 38
: e8 \- o0 v7 m5 c7 v+ T; w0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> % T, P' u2 {2 k( w F' R
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34] ( w+ p( }8 N9 p- @3 G
0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject " S6 o9 F% e- l. o5 O0 A2 h$ ]; {, {
0132DC0E . 50 push eax ; /hObject
$ ? B+ g2 X6 i4 P6 X. X0132DC0F . 55 push ebp ; |hDC
1 o1 I/ [9 _) z3 H% U/ S( Y0132DC10 . FFD6 call esi ; \SelectObject
4 b/ ^ k3 W5 z B' u, x- w0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] , ?. i: N2 P9 e* S0 A, R
0132DC16 . 51 push ecx
( }; u- L( C" z: Q( }0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
% n+ F3 I4 ?; i/ m. z+ z0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40] 2 J. F8 n% s5 W: [/ f5 W$ m- ^/ h( j
0132DC21 . 83C4 04 add esp, 4
, r. J' G9 p8 K3 v U9 p% m; ?0132DC24 . 52 push edx 2 x5 W: ^, } v( C* F
0132DC25 . 55 push ebp
+ v5 K, E) l, g$ q7 m! B0132DC26 . FFD6 call esi
5 q- Z5 }) } a* \+ S0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24] 5 {, j7 P9 z8 b
0132DC2C . 50 push eax C; \8 g( q# S
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
! t! q: H' E4 ^0132DC33 . 83C4 04 add esp, 4
1 M8 R" i: Y+ |$ D5 d6 k! W0132DC36 . 55 push ebp ; /hDC ' a# @' v: W' y; W
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
# r. ? }7 m! g1 L% M9 G0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28] * i: \/ N: b3 d8 i$ F# r' j
0132DC41 . 6A 00 push 0 . G5 O- g ^3 g+ e; p0 F0 ~
0132DC43 . 51 push ecx ' R1 [7 Y( i7 v0 R3 j: G+ d5 m3 X
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
8 u2 `# j7 t+ S+ ?0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
& r& V$ v% [5 _2 M0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] f' S* X: T( R) \+ p
0132DC4F . 6A 01 push 1 & ]: W# h) r" w' ~- V
0132DC51 . 83C1 38 add ecx, 38 ) k5 R* h) Z ?# w. y. r: E; _
0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir> * F) V H" x: ?: Q
0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
! Y% f$ `8 p( _' D! L% [4 z0132DC5C . 8B11 mov edx, dword ptr [ecx]
7 U# A# Q8 H1 s, R0132DC5E . 8B42 78 mov eax, dword ptr [edx+78]
/ D- A, }" t: q0132DC61 . 6A 00 push 0 6 _" o' A/ d, J- y
0132DC63 . FFD0 call eax ' X A0 c1 |9 I2 ?5 p6 g
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18] % a* b; ~2 s# q: r+ h) w
0132DC68 . 034C24 14 add ecx, dword ptr [esp+14] 0 e& U: i' h) k$ V# r* `* j- ]
0132DC6C . 33C0 xor eax, eax 9 @, f2 u% W; b9 V) p
0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 0 y" q2 c, f- e" ~6 S
0132DC75 . 5D pop ebp
* ?: ]2 x1 J! c0132DC76 . 0F9CC0 setl al
% @5 }" k% {/ B% d/ M0 S6 K( B0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] % w' h9 p$ d2 u& z7 L# e
0132DC80 . 5F pop edi
$ B+ f/ c3 r! S! I% E( d* K0132DC81 . 5E pop esi $ f4 x0 f& k$ e) i
0132DC82 . 5B pop ebx
6 [- H: M/ A- P# p4 h$ J3 O$ {0132DC83 . 33CC xor ecx, esp " |- N E( U6 M( z
0132DC85 . E8 E2460500 call 0138236C
8 Z, {. }# D' N9 j8 ]3 h0132DC8A . 81C4 98040000 add esp, 498
* m: i( Q' ]" l' J: p/ ^0132DC90 . C2 2800 retn 28 |