发现了一个和字库有关的函数,研究中。
# T% N, G: r" k6 w1 E, W+ R$ f- [9 f9 ^8 x% j/ ]6 X5 F B1 c
0132D7E0 $ 81EC 98040000 sub esp, 498 - i3 [$ B1 l* L2 h3 ]
0132D7E6 . A1 7CD13A01 mov eax, dword ptr [13AD17C]
+ _ t7 b: D# O9 C" X3 [2 p0132D7EB . 33C4 xor eax, esp
; D! }# b; p' Y3 o0 s/ w3 k0132D7ED . 898424 940400>mov dword ptr [esp+494], eax 6 Q/ F8 @4 ]/ c! ~0 X
0132D7F4 . 8B8424 A00400>mov eax, dword ptr [esp+4A0]
3 ^" C. M+ K' ^" ?* H, T# X" e: y0132D7FB . 53 push ebx & X0 q4 e% q! H% S" K% _( W
0132D7FC . 56 push esi
# G9 k3 b6 J W2 ` K0132D7FD . 8BB424 A40400>mov esi, dword ptr [esp+4A4]
- R: A! ^! z( p9 O; k" ?0132D804 . 57 push edi
) e9 C& n3 t# f7 E3 E, y2 W5 K0132D805 . 6A 30 push 30 ; /n = 30 (48.) 7 l% e% g) V% R# Q1 u
0132D807 . 8BF9 mov edi, ecx ; | & g; k# a2 h% ^% {9 n
0132D809 . 8B8C24 B40400>mov ecx, dword ptr [esp+4B4] ; | + i6 [6 w/ S0 T; N4 e' M) Y
0132D810 . 8D5424 74 lea edx, dword ptr [esp+74] ; | 3 }5 Q7 n: ~% y3 Z2 }% H, x
0132D814 . 6A 00 push 0 ; |c = 00 - G- o" j* L. K" \: v1 a V
0132D816 . 52 push edx ; |s ' h. c& B; k2 n/ p; G% n: q
0132D817 . 894424 30 mov dword ptr [esp+30], eax ; |
4 b; n( e& J1 c, r' ]% b0132D81B . 894C24 24 mov dword ptr [esp+24], ecx ; |
& a) x$ x% H0 L7 E1 x K' ^0132D81F . C74424 78 340>mov dword ptr [esp+78], 34 ; | / ~) s$ t5 A3 @% h" e
0132D827 . E8 284B0500 call <jmp.&MSVCR80.memset> ; \memset 6 s+ Q" _. v$ |+ b5 J- w
0132D82C . 83C4 0C add esp, 0C 1 \) E: A; p$ `% B+ t! i' s
0132D82F . 80BC24 CC0400>cmp byte ptr [esp+4CC], 0 . {' h# S F, s: O6 `
0132D837 . 74 12 je short 0132D84B
& D$ p4 F/ U5 }0 m9 @0132D839 . A1 F8F63A01 mov eax, dword ptr [13AF6F8]
: L% f2 ^; l2 X* \4 P/ m* M3 |0132D83E . C74424 0C F0D>mov dword ptr [esp+C], 013AD6F0 ; UNICODE " !""#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_abcdefghijklmnopqrstuvwxyz" 4 Z; t( `- ^5 B. o. Q
0132D846 . 8947 1C mov dword ptr [edi+1C], eax
; A) s- k( P2 z! F7 e! G, o: V! t1 o4 ]0 f3 u0132D849 . EB 32 jmp short 0132D87D + l$ z+ D3 G" s( U# v6 U
0132D84B > C747 1C 60010>mov dword ptr [edi+1C], 160 , \0 D( X2 q, e: |; k D
0132D852 . 8B4F 1C mov ecx, dword ptr [edi+1C] 2 ?0 E2 G$ B* [& H+ F# @2 K
0132D855 . 33C0 xor eax, eax
5 {# w9 b; ]3 t8 G- [0132D857 . EB 07 jmp short 0132D860
) B9 ^, f& ?& Z8 o4 v: F( J" ?( ^0132D859 . 8DA424 000000>lea esp, dword ptr [esp]
1 Q7 l, i1 ^/ q0132D860 > 8D50 20 lea edx, dword ptr [eax+20] & ^. _1 w' F- w: _7 _( G0 a
0132D863 . 66:899444 A00>mov word ptr [esp+eax*2+A0], dx / E# n. i9 {9 O. }! R
0132D86B . 83C0 01 add eax, 1 . T7 e5 M3 z+ W
0132D86E . 3BC1 cmp eax, ecx 3 d k# a! @! w$ p5 b9 d* l" T
0132D870 .^ 7C EE jl short 0132D860 8 U% k& K6 s# [$ R8 y/ L
0132D872 . 8D8424 A00000>lea eax, dword ptr [esp+A0]
% s9 r7 C4 z: o/ j/ t3 D. E0132D879 . 894424 0C mov dword ptr [esp+C], eax , Y" I2 h. p9 X O9 a6 p3 P( D
0132D87D > 8B47 0C mov eax, dword ptr [edi+C] , ?! }7 t5 P1 ]$ T
0132D880 . 85C0 test eax, eax + b$ e$ W7 b2 D, d( N* Q5 j
0132D882 . 8D5F 0C lea ebx, dword ptr [edi+C] * w/ R( B+ o D
0132D885 . 75 05 jnz short 0132D88C * {4 ?% I3 h$ y% W9 @% v$ d% \3 K
0132D887 . B8 16263901 mov eax, 01392616 8 Q: |1 N8 X- o9 @3 S& U
0132D88C > 6A 00 push 0 + h# S3 K6 _' q9 C6 [1 G x
0132D88E . 6A 00 push 0
( t7 U# d! Q3 A: |* l. c4 l" t, \0132D890 . 50 push eax
% j- e+ S$ A5 p; y5 B* ^0132D891 . 6A 1F push 1F
3 p' b5 ^6 h% F% k2 c9 ^, z9 G0132D893 . 8BCE mov ecx, esi ( m& G% ^8 L2 N
0132D895 . E8 FA8E0300 call <jmp.&CK2.CKContext::CreateObjec>
. ?1 E* C. b' R. d& R( L& P& ?% u0132D89A . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] 4 y/ n# H5 Q7 P9 _; ]
0132D8A1 . 6A 00 push 0 : S1 R/ |# M, Z" i7 ?
0132D8A3 . 6A 20 push 20
7 ~) v* j/ W& h6 o# _0132D8A5 . 51 push ecx ! x& @4 c; K- E: R) e* q
0132D8A6 . 8B8C24 D00400>mov ecx, dword ptr [esp+4D0] " k: q8 ~5 b& ~: z
0132D8AD . 8947 24 mov dword ptr [edi+24], eax K; C9 n" u( y% _$ X. D* ~) \
0132D8B0 . 8B10 mov edx, dword ptr [eax] , B. B5 _+ n7 \9 D, y# v3 n; q
0132D8B2 . 8B52 54 mov edx, dword ptr [edx+54]
3 T+ K( p8 a* }, C3 o: ?2 t0132D8B5 . 51 push ecx
% d; ^* M: g) K1 Z6 a/ i$ @0132D8B6 . 8BC8 mov ecx, eax
9 I1 {' S8 E( N: K! @6 o* C' ~* l0132D8B8 . FFD2 call edx ; ]# y6 W' H3 d* d3 f$ F
0132D8BA . 85C0 test eax, eax
; j+ c# J8 u: r- }7 I( N% _0 w- s) o" @0132D8BC . 75 07 jnz short 0132D8C5 % y" J4 U$ W* Y5 `1 |" {
0132D8BE . 32C0 xor al, al
; n# n7 G: a1 T1 M/ o0132D8C0 . E9 B4030000 jmp 0132DC79 . o! t0 R/ [0 }. v- w3 Z
0132D8C5 > 8B4F 24 mov ecx, dword ptr [edi+24]
+ H" ]8 V7 x/ N7 w: C0132D8C8 . 8B01 mov eax, dword ptr [ecx] . o& o/ v! n+ O6 w8 Z" `& }+ {
0132D8CA . 8B80 88000000 mov eax, dword ptr [eax+88]
' _( q9 e2 `1 t5 j9 O0132D8D0 . 55 push ebp ! U! q4 Z3 K4 t5 N$ i" s
0132D8D1 . 8D5424 70 lea edx, dword ptr [esp+70] - D0 t% D4 L4 {
0132D8D5 . 52 push edx & {3 E5 i% @9 ]7 H
0132D8D6 . FFD0 call eax
7 j1 J# w3 l1 n' k$ l4 r0132D8D8 . 6A 00 push 0 ; /hDC = NULL
% V+ Q- U& q; F% O$ I0132D8DA . FF15 34A43801 call dword ptr [<&GDI32.CreateCompati>; \CreateCompatibleDC
0 x9 ]0 k; G& ~* p! G0132D8E0 . 8D4C24 70 lea ecx, dword ptr [esp+70] " v4 m# b8 ?! \) W" \7 ^
0132D8E4 . 51 push ecx
9 H. ?* B. ]8 `% \, K# Q0132D8E5 . 8BE8 mov ebp, eax ! N" m/ U- Z) C5 e
0132D8E7 . FF15 24A83801 call dword ptr [<&VxMath.VxCreateBitm>; VxMath.VxCreateBitmap
( u# J* K& ~1 c% N0 \8 H% M0132D8ED . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject
5 K% j! f# Y& o. m& E0132D8F3 . 83C4 04 add esp, 4 : a# `/ U2 }" l7 \
0132D8F6 . 50 push eax ; /hObject
2 _8 i! ~# a) d9 E# i2 @0132D8F7 . 55 push ebp ; |hDC 6 [9 j r4 F! G) N! x7 c8 M8 F% B
0132D8F8 . 894424 2C mov dword ptr [esp+2C], eax ; |
5 e* h2 E c- y/ h" n0132D8FC . FFD6 call esi ; \SelectObject ! k: U2 Y* u- W; v8 [
0132D8FE . 8B5424 28 mov edx, dword ptr [esp+28] ) P* [9 m7 [4 Z( ~9 ?8 ?
0132D902 . 52 push edx , ]3 }* z( D7 g* z/ V
0132D903 . 8BCB mov ecx, ebx % P! e. \ N) _# w' _
0132D905 . 894424 40 mov dword ptr [esp+40], eax
5 @( }$ _& A6 |* b0 F0132D909 . FF15 BCA83801 call dword ptr [<&VxMath.XString::ope>; VxMath.XString::operator=
* e Z+ e% I- Q1 _4 X# j0132D90F . 8B9C24 B80400>mov ebx, dword ptr [esp+4B8]
8 v7 b5 l) ?6 _4 d" r" W# B0132D916 . 6A 48 push 48 ; /Divisor = 48 (72.)
' M* a+ D- m5 h. Z* D. q& E0132D918 . 6A 5A push 5A ; |/Index = LOGPIXELSY
" d5 O* G" F, z$ C% o$ D; h) t0132D91A . 55 push ebp ; ||hDC 5 d" D3 v) _: g( b6 ~
0132D91B . 895F 14 mov dword ptr [edi+14], ebx ; ||
( x5 d3 O7 S% I* h8 f2 M$ Y% h* ^( P0132D91E . FF15 64A43801 call dword ptr [<&GDI32.GetDeviceCaps>; |\GetDeviceCaps 5 j, d' ~- Z. W1 f/ Z
0132D924 . 50 push eax ; |Multiplier 8 }0 r" r( x' [0 p& I: N0 Z
0132D925 . 53 push ebx ; |Multiplicand % X3 m0 e; o* V9 f: ]$ ^ D) Z
0132D926 . FF15 DCA43801 call dword ptr [<&KERNEL32.MulDiv>] ; \MulDiv
8 R0 W' b! }/ K4 a, M$ V' D4 w0132D92C . 8B4C24 1C mov ecx, dword ptr [esp+1C] 9 c/ L, a/ L+ T% e, o- f
0132D930 . 8B9424 C00400>mov edx, dword ptr [esp+4C0]
: Y9 c8 W: N+ \0 Y0132D937 . 51 push ecx ; /FaceName
3 F, G' w* M: x7 W& Y# J0132D938 . 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] ; | ) M: E9 q4 V. Z/ O. u
0132D93F . 6A 00 push 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
' c+ k R6 c& Z0132D941 . 52 push edx ; |Quality : h5 [) K; W1 L
0132D942 . 6A 00 push 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS % _. C4 @9 K% w2 S1 n* S
0132D944 . 6A 07 push 7 ; |OutputPrecision = OUT_TT_ONLY_PRECIS : Y' U N6 b) O3 D% D# b
0132D946 . 6A 01 push 1 ; |CharSet = DEFAULT_CHARSET
) }! y( R% D$ f9 p% i. ~. n0 [# t5 V0132D948 . 6A 00 push 0 ; |StrikeOut = FALSE
0 m' q8 @" e) c5 i2 j9 v0132D94A . 8BD1 mov edx, ecx ; | + ^; ^. w% r, {0 @, T9 b1 f; H
0132D94C . D1EA shr edx, 1 ; | 9 v# F. M6 J! j# m
0132D94E . 83E2 01 and edx, 1 ; | 8 C9 l6 o" O2 f2 A1 _
0132D951 . 52 push edx ; |Underline . M7 ~3 s1 A5 r7 E% y n
0132D952 . 83E1 01 and ecx, 1 ; |
! A3 c! C- Z' K0 r' G0132D955 . 51 push ecx ; |Italic
9 K) O2 s9 x$ ~* e5 C0132D956 . 8B8C24 E00400>mov ecx, dword ptr [esp+4E0] ; | 5 T2 P' ]" s$ ^0 p1 _- s0 z
0132D95D . 51 push ecx ; |Weight
0 Q4 h* C$ H. B+ p8 s. B. P0132D95E . 6A 00 push 0 ; |Orientation = 0
2 @- h+ W5 M1 t4 W4 q0 T0132D960 . 6A 00 push 0 ; |Escapement = 0
5 g& i) d; \" S" d% p8 B0132D962 . F7D8 neg eax ; |
, F/ D. [2 B* r0132D964 . 6A 00 push 0 ; |Width = 0 + j2 K: G# e) S/ M; O6 T$ C0 G
0132D966 . 50 push eax ; |Height 2 n z% k- C7 q3 A0 X' @
0132D967 . FF15 60A43801 call dword ptr [<&GDI32.CreateFontA>] ; \CreateFontA
2 H0 P% |. [9 A0 X0132D96D . 50 push eax
2 T1 e Q+ `0 e0132D96E . 55 push ebp
W+ {, u4 c5 Z0132D96F . 894424 38 mov dword ptr [esp+38], eax
. J z- q% R6 m$ m! k9 @8 h0132D973 . FFD6 call esi 5 h5 S; q2 f7 x% j6 Y
0132D975 . 8D5424 58 lea edx, dword ptr [esp+58]
: `- ^% G5 M) d* q$ m/ ]0132D979 . 52 push edx ; /pSize
. K& q* s2 i8 \# o/ |& y" \0132D97A . 6A 01 push 1 ; |TextLen = 1 9 G+ O1 E2 T: ^" z
0132D97C . 68 4CED3801 push 0138ED4C ; |Text = "A" 9 `- M; P, K% ?" q# o. N
0132D981 . 55 push ebp ; |hDC
4 D1 g* r+ K* f' S# [; U0132D982 . 894424 44 mov dword ptr [esp+44], eax ; |
6 O- T# k! i. S6 u- U0132D986 . FF15 5CA43801 call dword ptr [<&GDI32.GetTextExtent>; \GetTextExtentPointA 7 o$ H2 @" x% G* x3 T
0132D98C . 8B4424 5C mov eax, dword ptr [esp+5C]
6 [& b, Z& Q8 p; q/ f G0 M0132D990 . 8B77 1C mov esi, dword ptr [edi+1C] 5 }% W+ ?5 ~. p8 h5 N* t- Y
0132D993 . 8947 18 mov dword ptr [edi+18], eax 2 R- U" n2 a" f9 B" f, ~$ q/ M6 e
0132D996 . 33C9 xor ecx, ecx
4 `1 f% W9 [+ O1 J) c% l0132D998 . 8BC6 mov eax, esi 7 c/ Q% J. V( w* r: d' c9 j1 u' f1 {" ?
0132D99A . BA 20000000 mov edx, 20 6 m) u+ S2 D2 F" \! d
0132D99F . F7E2 mul edx , y1 M8 m+ W5 \! W% B) B+ X
0132D9A1 . 0F90C1 seto cl : R. Z2 H9 Y$ }* {* p) q
0132D9A4 . F7D9 neg ecx ; M1 q. }* O' E( r( h
0132D9A6 . 0BC8 or ecx, eax 2 @: u! S# N' O/ E
0132D9A8 . 51 push ecx
' _5 P9 c3 A( j1 Q% j q! D0132D9A9 . E8 964A0500 call <jmp.&MSVCR80.operator new>
2 |! Q$ t! M y0 I2 O! G3 X0132D9AE . 83C4 04 add esp, 4 + F# u K/ H) d7 W# B
0132D9B1 . 85C0 test eax, eax
8 w, J3 y) g0 O R1 j2 a% U0132D9B3 . 74 28 je short 0132D9DD 5 Y. q6 z" K6 j; s8 U# j+ S5 `: k
0132D9B5 . 83C6 FF add esi, -1
- D+ x) c' A' ^- T0132D9B8 . 78 25 js short 0132D9DF 7 W0 E9 F1 c4 |$ E+ S1 Q) {
0132D9BA . D9EE fldz
* e) C1 x7 n$ B! G# {4 g3 ~0132D9BC . 8D48 0C lea ecx, dword ptr [eax+C] 0 ?- V* q& |4 ]
0132D9BF > D951 FC fst dword ptr [ecx-4] " E0 v% n* F, g9 j1 d H
0132D9C2 . 83C1 20 add ecx, 20
1 Y; m5 a7 e: ~8 `0132D9C5 . 83EE 01 sub esi, 1 a/ u, S' l6 ~: o5 `5 R. B; S9 L
0132D9C8 . D951 E0 fst dword ptr [ecx-20] + O3 W$ G9 J Y) ?4 g& J# y5 d, h
0132D9CB . D951 D4 fst dword ptr [ecx-2C] $ R$ c1 \; y/ A" R, T9 d* a
0132D9CE . D951 D8 fst dword ptr [ecx-28] 4 Y* ^" D( M; d- O3 j
0132D9D1 . D951 DC fst dword ptr [ecx-24]
7 c4 l6 T1 u% l+ q; b0132D9D4 . D951 E0 fst dword ptr [ecx-20]
' W, [2 c1 V( L: K: b4 Z! o0132D9D7 .^ 79 E6 jns short 0132D9BF
. t* K+ _1 h. F0132D9D9 . DDD8 fstp st
5 ?$ n9 ?: c0 x/ I0132D9DB . EB 02 jmp short 0132D9DF & s! v0 f7 S# ~1 ]- k8 S% G
0132D9DD > 33C0 xor eax, eax
* e+ f. P# d4 W- o' ^; h( z0132D9DF > 8B8C24 C80400>mov ecx, dword ptr [esp+4C8] 5 `7 q1 n% v$ A( \+ E1 b( ?- _
0132D9E6 . 8947 20 mov dword ptr [edi+20], eax
( [* g1 v! ~) N0132D9E9 . 8B8424 CC0400>mov eax, dword ptr [esp+4CC] ) ^5 ~6 x& ~) |! f @) n4 C
0132D9F0 . 50 push eax ; /Bottom
! q; v% D# h9 S# C+ ?% { h, u% s0132D9F1 . 51 push ecx ; |Right 3 r; U( j" I3 M. ^1 l& X' k
0132D9F2 . 6A 00 push 0 ; |Top = 0 , ^0 Y3 _7 c" O! K
0132D9F4 . 6A 00 push 0 ; |Left = 0
* |! f9 K/ w& n$ z0132D9F6 . 8D5424 70 lea edx, dword ptr [esp+70] ; |
2 E1 i3 m5 g) E$ }% Z0132D9FA . 52 push edx ; |pRect D, t, u! m" e8 [/ \+ e) O
0132D9FB . FF15 64A73801 call dword ptr [<&USER32.SetRect>] ; \SetRect ; X2 [9 t$ n" e8 E( t6 {( ^
0132DA01 . 6A 04 push 4 ; /ObjType = BLACK_BRUSH
, d4 m5 d$ ?% y0132DA03 . FF15 58A43801 call dword ptr [<&GDI32.GetStockObjec>; \GetStockObject % a' d' P/ P# @! y5 R. }$ D7 T
0132DA09 . 50 push eax ; /hBrush 6 Q* q4 D; k u4 s
0132DA0A . 8D4424 64 lea eax, dword ptr [esp+64] ; | }" M, Y8 T/ F
0132DA0E . 50 push eax ; |pRect
7 j4 E3 ^, V/ d$ ~8 O: p* R' O0132DA0F . 55 push ebp ; |hDC 4 h1 \. \0 x8 [. @2 T
0132DA10 . FF15 68A73801 call dword ptr [<&USER32.FillRect>] ; \FillRect
( Y/ i% _( e6 g8 F0132DA16 . 6A 00 push 0 ; /Color = <BLACK> - l5 z9 }3 U' V8 E
0132DA18 . 55 push ebp ; |hDC
% J& H6 ^5 Z. M) _8 Z6 |0132DA19 . FF15 54A43801 call dword ptr [<&GDI32.SetBkColor>] ; \SetBkColor + l! f0 j. v, U( q/ n1 A
0132DA1F . 68 FFFFFF00 push 0FFFFFF ; /Color = <WHITE>
6 q. J5 N1 V) Y5 j9 [* ^0132DA24 . 55 push ebp ; |hDC
: C) E. Q1 C3 v" Q% A5 C0132DA25 . FF15 50A43801 call dword ptr [<&GDI32.SetTextColor>>; \SetTextColor 9 ]( K7 a* N" l. `6 p
0132DA2B . 6A 01 push 1 ; /BkMode = TRANSPARENT ) ^! h1 { L0 ?* R1 l w
0132DA2D . 55 push ebp ; |hDC : K. }& Q, B4 x6 O6 {5 S$ l" z8 X
0132DA2E . FF15 4CA43801 call dword ptr [<&GDI32.SetBkMode>] ; \SetBkMode
" f4 U" a. _. J% l$ H+ V0132DA34 . 33F6 xor esi, esi
. F: v( ^/ i8 i8 E- k! _7 Y0132DA36 . 3977 1C cmp dword ptr [edi+1C], esi 5 `& y8 b* g" ~) Y
0132DA39 . BB 01000000 mov ebx, 1 ( {$ O- e* f9 c y
0132DA3E . 895C24 18 mov dword ptr [esp+18], ebx
$ l" J$ U( ?# @5 t5 ]6 D' {0132DA42 . 897424 14 mov dword ptr [esp+14], esi
+ [$ \- A* |( g+ S, q2 @0132DA46 . 897424 1C mov dword ptr [esp+1C], esi & _+ a0 A4 f. i* q
0132DA4A . 0F8E 20010000 jle 0132DB70
% h7 o: }4 a" v- X$ e% O5 L0132DA50 . DB8424 C80400>fild dword ptr [esp+4C8] & K7 l S. Z8 R- ~3 ], f" u
0132DA57 . 8B4424 10 mov eax, dword ptr [esp+10] ) ?5 ^: ^- H6 }6 K2 C
0132DA5B . 897424 20 mov dword ptr [esp+20], esi - o* S4 o3 v+ ~# I# x0 X
0132DA5F . 894424 10 mov dword ptr [esp+10], eax ' a6 [2 H$ E6 p- y/ {! v d7 t
0132DA63 . D95C24 38 fstp dword ptr [esp+38]
% S; S# c( S' w( ^8 S0132DA67 . DB8424 CC0400>fild dword ptr [esp+4CC] ) K6 E, g2 a# u% e; t
0132DA6E . D95C24 2C fstp dword ptr [esp+2C]
6 ~, t; b6 m& g0 }! ~7 w7 {0132DA72 . EB 04 jmp short 0132DA78
% a6 ~. W6 R: f) b0132DA74 > 8B4424 10 mov eax, dword ptr [esp+10] 6 h+ C; s* W4 D7 Z
0132DA78 > 8B77 20 mov esi, dword ptr [edi+20]
/ w: A6 j" ^7 f9 U7 z' X0132DA7B . 66:8B08 mov cx, word ptr [eax]
" I3 `# h; p( @1 T- Y6 N0132DA7E . 037424 20 add esi, dword ptr [esp+20]
) s$ q0 a. [' ^* s0132DA82 . 66:894E 10 mov word ptr [esi+10], cx , q/ o6 u, M8 b. g( o* \3 \
0132DA86 . 0FB700 movzx eax, word ptr [eax]
4 k$ R% {( q$ B* t0132DA89 . 8D4E 14 lea ecx, dword ptr [esi+14]
2 _7 @% E V) F5 G( O ^5 I1 z0132DA8C . 51 push ecx ; /pABC ! L, u" M5 U# l; {; Z; Z$ j4 ^" W
0132DA8D . 50 push eax ; |LastChar
0 [5 p( l2 l' g2 [: P% T0132DA8E . 50 push eax ; |FirstChar
& C- p8 X8 V8 S1 B9 S) }0132DA8F . 55 push ebp ; |hDC ; Q5 k' p f# a/ r
0132DA90 . FF15 48A43801 call dword ptr [<&GDI32.GetCharABCWid>; \GetCharABCWidthsW , R$ A; n6 @* y! `; _# F+ Y
0132DA96 . 8B5424 10 mov edx, dword ptr [esp+10] 8 Y' h' V% }1 \* t2 {9 }
0132DA9A . 66:833A 20 cmp word ptr [edx], 20 # F& V; B3 k( A p+ q
0132DA9E . 73 10 jnb short 0132DAB0
@+ k' C1 q1 E' p' F0132DAA0 . C746 14 00000>mov dword ptr [esi+14], 0 ( q, {& S ?# F9 n! C4 c
0132DAA7 . C746 1C 00000>mov dword ptr [esi+1C], 0
. X- ?. O. J) ^0 _! }0132DAAE . EB 0C jmp short 0132DABC
* w/ P$ m4 U0 D4 n0132DAB0 > 8346 14 FF add dword ptr [esi+14], -1
0 X. |8 m0 O* G3 N4 |0 W0132DAB4 . 8346 18 02 add dword ptr [esi+18], 2 $ N+ a8 A j! a. v# | H
0132DAB8 . 8346 1C FF add dword ptr [esi+1C], -1 & [/ a' G+ x) q L5 c# l" q3 n
0132DABC > 8B4E 18 mov ecx, dword ptr [esi+18]
- [( E: p& N$ h/ D% p. {0132DABF . 8D4419 01 lea eax, dword ptr [ecx+ebx+1]
" M% S* l- J% F- ^3 S! r0132DAC3 . 3B8424 C80400>cmp eax, dword ptr [esp+4C8] " K: ]# H3 \! `7 s9 U
0132DACA . 8B4424 14 mov eax, dword ptr [esp+14] - u' k6 U0 m: Y" h: X
0132DACE . 72 14 jb short 0132DAE4 . m* n V2 ]9 P+ G' y
0132DAD0 . 8B57 18 mov edx, dword ptr [edi+18]
% M: P5 D6 h: O0132DAD3 . BB 01000000 mov ebx, 1 5 r- J q# N: @7 u2 C4 I: ^) l
0132DAD8 . 8D4410 01 lea eax, dword ptr [eax+edx+1] - x) [# @% [' D$ P, J: F
0132DADC . 895C24 18 mov dword ptr [esp+18], ebx
9 v/ i, v: s" P; r0132DAE0 . 894424 14 mov dword ptr [esp+14], eax $ `" [8 r* O0 M$ ]! w6 T: u
0132DAE4 > DB4424 18 fild dword ptr [esp+18]
8 X F; h' H+ T* d9 H) D; G+ ~0132DAE8 . 03CB add ecx, ebx 7 _" Z. k: t& J
0132DAEA . 85C9 test ecx, ecx
! E/ E* s" v8 W7 ]0132DAEC . D94424 38 fld dword ptr [esp+38] + v% h$ M' h9 [) r. V
0132DAF0 . D9C0 fld st / V$ a: K$ s. \( Q* @+ ^& n8 k
0132DAF2 . 894C24 18 mov dword ptr [esp+18], ecx : }! `! M( q& `) W/ z
0132DAF6 . DEFA fdivp st(2), st ' ` m" u% N7 U9 c- J! z
0132DAF8 . D9C9 fxch st(1) % D2 g# H* t: m& ~2 n- m% c" I" e$ D) X
0132DAFA . D91E fstp dword ptr [esi]
' ^5 _! |' ~7 |$ O( b" w: Q4 ^0132DAFC . DB4424 14 fild dword ptr [esp+14] 3 D5 @- [) l/ j# E
0132DB00 . D94424 2C fld dword ptr [esp+2C] % m7 u7 c2 u# }% w
0132DB04 . D9C0 fld st 7 }7 `' y' X( @6 `7 w. O% O
0132DB06 . DEFA fdivp st(2), st
3 s! `+ Y! G$ C& T0 K0132DB08 . D9C9 fxch st(1) + t, F7 z: [* }- y( E: D. ?
0132DB0A . D95E 04 fstp dword ptr [esi+4]
) w0 z# @! ~$ |8 ]; d5 K. F0 H0132DB0D . DB4424 18 fild dword ptr [esp+18]
, q, E* ?" e7 s+ l: X. H. C0132DB11 . 7D 06 jge short 0132DB19
( Y, ]3 b. G5 }9 w5 H, B, x1 h0132DB13 . D805 50B03801 fadd dword ptr [138B050] 0 O$ ~% Z% s# e% G+ x
0132DB19 > DEF2 fdivrp st(2), st 3 l9 s, H1 Y. i) r5 s0 b
0132DB1B . 8B5424 10 mov edx, dword ptr [esp+10] ) ~- x2 S. U- k1 ~' P
0132DB1F . 6A 01 push 1 ; /StringSize = 1 - S( g) K7 N' \1 b0 Z; u4 w
0132DB21 . 52 push edx ; |String : \& b2 x A r) _4 N( u
0132DB22 . 50 push eax ; |YStart 2 V* N, |: K2 `4 ]2 [0 | k, B5 U6 P
0132DB23 . D9C9 fxch st(1) ; | q* I$ T* F% [$ J% ^# J
0132DB25 . D95E 08 fstp dword ptr [esi+8] ; |
7 z+ Q1 Y/ u/ z$ L) v7 r0132DB28 . 8B4F 18 mov ecx, dword ptr [edi+18] ; | : k' l2 b- Q, s, P, N q ~$ x
0132DB2B . 03C8 add ecx, eax ; |
4 v/ ^5 P9 u' w0 F1 O& X* y9 B0132DB2D . 894C24 24 mov dword ptr [esp+24], ecx ; | ' H$ c8 o9 d5 t" ^0 B& M
0132DB31 . DA7C24 24 fidivr dword ptr [esp+24] ; |
9 E; z: `) s4 u% X, Z2 R0132DB35 . 8BC3 mov eax, ebx ; | $ R0 e3 V+ Z) `; H" \6 i. {
0132DB37 . 2B46 14 sub eax, dword ptr [esi+14] ; | ' _8 y. i3 i8 L- \$ R5 y
0132DB3A . 50 push eax ; |XStart
, g5 W1 @4 z" S" ], I7 S5 K0132DB3B . 55 push ebp ; |hDC * w2 D2 \$ o4 B+ q
0132DB3C . D95E 0C fstp dword ptr [esi+C] ; | ) Q& ~( O2 U9 a7 W" m$ c4 Y
0132DB3F . FF15 44A43801 call dword ptr [<&GDI32.TextOutW>] ; \TextOutW ( n0 f: W) ^( R0 l+ n
0132DB45 . 8B4424 1C mov eax, dword ptr [esp+1C]
, u, C% k. W% ^4 {0132DB49 . 8B4E 18 mov ecx, dword ptr [esi+18] / f1 z1 y& q" e6 u; b
0132DB4C . 834424 20 20 add dword ptr [esp+20], 20 : F' r3 M* Q R4 \
0132DB51 . 834424 10 02 add dword ptr [esp+10], 2 & S* b4 y6 h4 E) y& r$ ?# ~ q; [
0132DB56 . 83C0 01 add eax, 1 # y2 U6 x5 j! b
0132DB59 . 3B47 1C cmp eax, dword ptr [edi+1C] " Q- [9 k" _9 Y- ^. B: V
0132DB5C . 8D5C0B 01 lea ebx, dword ptr [ebx+ecx+1]
7 ]/ c# `0 c9 {. w9 [& j0132DB60 . 895C24 18 mov dword ptr [esp+18], ebx : z9 p* {3 y/ i: T; R6 b
0132DB64 . 894424 1C mov dword ptr [esp+1C], eax 5 J: Z I" n0 [: O5 C
0132DB68 .^ 0F8C 06FFFFFF jl 0132DA74
' t& w; ]; ~: y3 U% w& J* l& X0132DB6E . 33F6 xor esi, esi
% c6 A9 l }8 k5 E$ |0132DB70 > 8B4F 24 mov ecx, dword ptr [edi+24]
& c/ S. v' l( d0132DB73 . 6A FF push -1 & ^# d: b9 {6 h
0132DB75 . 83C1 38 add ecx, 38
0 O/ I% \8 A f0132DB78 . E8 278E0300 call <jmp.&CK2.CKBitmapData::LockSurf> 9 ~, R) e! A7 |+ f3 d" O: [
0132DB7D . 8BD8 mov ebx, eax
7 v- d! p8 s X+ x$ p3 [: y0 u0132DB7F . 3BDE cmp ebx, esi
- b- W. g9 C( f5 [# R0132DB81 . 74 74 je short 0132DBF7 * b. \( u2 Q' d- t; B
0132DB83 . 8B4424 24 mov eax, dword ptr [esp+24] - S. _; D, x' w# \( t# x
0132DB87 . 8D5424 40 lea edx, dword ptr [esp+40]
+ E. \8 c: o% } I0 ^* h3 K' B0132DB8B . 52 push edx ; /Buffer @% f- w" A2 i8 m/ t
0132DB8C . 6A 18 push 18 ; |BufSize = 18 (24.)
6 {, s$ |7 v5 Y* t2 @. `0132DB8E . 50 push eax ; |hObject ( E; i$ P- M& b2 N) l' Z" ?% V
0132DB8F . FF15 40A43801 call dword ptr [<&GDI32.GetObjectA>] ; \GetObjectA
1 m% r/ e) G5 B* x2 n+ \, ?+ K0132DB95 . 8B4C24 48 mov ecx, dword ptr [esp+48] & O& z! e' X S) N- g8 X
0132DB99 . 8D71 FF lea esi, dword ptr [ecx-1] ) X7 x$ _1 {- U& E( ~& e
0132DB9C . 0FAF7424 4C imul esi, dword ptr [esp+4C]
' C& y; F: t8 ^% u0 y: K; H) T0132DBA1 . 037424 54 add esi, dword ptr [esp+54]
3 A6 ]5 d/ i/ y0132DBA5 . 85C9 test ecx, ecx
: N! Y7 g+ J& O7 p3 P" L+ g0132DBA7 . C74424 14 000>mov dword ptr [esp+14], 0 3 z. L9 c/ H8 b* F' E' g
0132DBAF . 7E 46 jle short 0132DBF7 ! s5 z$ Y$ g( @8 `+ T2 {$ G. E
0132DBB1 . 8B5424 44 mov edx, dword ptr [esp+44] ) ?0 M4 k' D( w: G0 w. e: K+ h
0132DBB5 > 33C0 xor eax, eax 6 j; N9 w# o. `1 b
0132DBB7 . 85D2 test edx, edx , G" H6 L( B# g2 x- [& e. h
0132DBB9 . 7E 26 jle short 0132DBE1
; F5 P- i3 f H: a" `0132DBBB . 8BCE mov ecx, esi : E& R4 G6 i [: K" H' Q3 M
0132DBBD . 8D49 00 lea ecx, dword ptr [ecx]
5 {' u+ x. c7 I1 ~0132DBC0 > 0FB611 movzx edx, byte ptr [ecx]
1 e) }0 O1 L- r* M) C0132DBC3 . C1E2 18 shl edx, 18 v* R8 }) R( C0 d8 q% ?
0132DBC6 . 81CA FFFFFF00 or edx, 0FFFFFF
: d% {: w" u# K! r, P# |0132DBCC . 891483 mov dword ptr [ebx+eax*4], edx
6 y6 ?7 V% T( R0 ]/ x! C0132DBCF . 8B5424 44 mov edx, dword ptr [esp+44]
2 [2 N% Z0 t3 S. p0132DBD3 . 83C0 01 add eax, 1
; ]3 e9 r7 _% V0 f* R0132DBD6 . 83C1 03 add ecx, 3
5 V% t. _9 r I* H$ f5 d0132DBD9 . 3BC2 cmp eax, edx
5 N1 L) K/ h" T2 \0132DBDB .^ 7C E3 jl short 0132DBC0 : m- p: T1 l+ D
0132DBDD . 8B4C24 48 mov ecx, dword ptr [esp+48] ^( p/ p. ?/ d, Y( [
0132DBE1 > 8B4424 14 mov eax, dword ptr [esp+14]
1 S& i! J0 V+ Y& }9 R0132DBE5 . 2B7424 4C sub esi, dword ptr [esp+4C] ( I9 j0 |8 l. X* V$ m! L
0132DBE9 . 83C0 01 add eax, 1 % l* h. S, I. P$ W2 a9 F) A; _
0132DBEC . 3BC1 cmp eax, ecx
) X" T# I5 K7 K0132DBEE . 8D1C93 lea ebx, dword ptr [ebx+edx*4]
8 ~" a' d9 Q! j' A4 {0132DBF1 . 894424 14 mov dword ptr [esp+14], eax 3 M+ U. w& n2 N5 A
0132DBF5 .^ 7C BE jl short 0132DBB5 - G N* m- }& A1 k
0132DBF7 > 8B4F 24 mov ecx, dword ptr [edi+24] & \! E& V+ b0 ~% Z
0132DBFA . 6A FF push -1 9 ~3 }1 `$ ~1 i5 |0 Z, y W
0132DBFC . 83C1 38 add ecx, 38 , T/ f% w r D
0132DBFF . E8 9A8D0300 call <jmp.&CK2.CKBitmapData::ReleaseS> I& m) |' S4 Z
0132DC04 . 8B4424 34 mov eax, dword ptr [esp+34]
: j7 j. c6 E3 l# z, G5 p0132DC08 . 8B35 70A43801 mov esi, dword ptr [<&GDI32.SelectOb>; GDI32.SelectObject 0 } {% N2 m' p; X. P, R3 k% L
0132DC0E . 50 push eax ; /hObject
( ^+ {( k9 n/ S0 D; ^2 v0132DC0F . 55 push ebp ; |hDC
. L! v4 H) |+ ~! [. y5 {5 |' M8 P& R0132DC10 . FFD6 call esi ; \SelectObject 0 W2 ]6 Z* ^( t! I/ J2 U
0132DC12 . 8B4C24 30 mov ecx, dword ptr [esp+30] - N2 ]& p$ p, I/ J( J8 c4 ^
0132DC16 . 51 push ecx & s8 w2 U7 J5 k+ [ C0 w: d/ h
0132DC17 . FF15 28A83801 call dword ptr [<&VxMath.VxDeleteFont>; VxMath.VxDeleteFont
/ Q, z' i" C! M+ n4 ~1 c0132DC1D . 8B5424 40 mov edx, dword ptr [esp+40]
" P. z0 Z4 s8 A5 ~" E0 }0132DC21 . 83C4 04 add esp, 4
- l$ E. w/ k& S5 b2 e0132DC24 . 52 push edx * _: [* H! y, t/ [7 M/ v( T3 ]; N
0132DC25 . 55 push ebp " N0 ~/ [! F4 U/ b! Y
0132DC26 . FFD6 call esi
: D6 z* S; G- j# q, E& b0132DC28 . 8B4424 24 mov eax, dword ptr [esp+24]
) i# U8 s; l6 r' J" w, c8 r0132DC2C . 50 push eax 0 s1 p- n9 b8 \+ x) [& S+ b
0132DC2D . FF15 2CA83801 call dword ptr [<&VxMath.VxDeleteBitm>; VxMath.VxDeleteFont
. L' M9 @- q) v$ V4 Q$ P0132DC33 . 83C4 04 add esp, 4 : B `' a1 F3 g. ]: l C' C) U
0132DC36 . 55 push ebp ; /hDC J* l/ P( y# Q
0132DC37 . FF15 3CA43801 call dword ptr [<&GDI32.DeleteDC>] ; \DeleteDC
6 Y* B, T. R. s, C) i ~0132DC3D . 8B4C24 28 mov ecx, dword ptr [esp+28] + L# b4 \8 u* ]
0132DC41 . 6A 00 push 0 6 y6 a" J8 N0 h( E) ~
0132DC43 . 51 push ecx , Q0 T9 W% ]' C) K8 |9 A; Q* ]
0132DC44 . 8B4F 24 mov ecx, dword ptr [edi+24]
! [) k' a3 v- o' X3 i0 G0 y0132DC47 . E8 4C8A0300 call <jmp.&CK2.CKObject::SetName>
% ~0 `8 Y$ c1 M; J6 N0 V z0132DC4C . 8B4F 24 mov ecx, dword ptr [edi+24] 2 s/ o6 ^% [8 E9 U/ @
0132DC4F . 6A 01 push 1 % K1 @5 n6 S5 c( {) n" Y. F: O
0132DC51 . 83C1 38 add ecx, 38
! i$ ? d: h& H/ U" I0132DC54 . E8 7B8D0300 call <jmp.&CK2.CKBitmapData::SetDesir>
1 [1 V. K% ^7 V% g) i! c0132DC59 . 8B4F 24 mov ecx, dword ptr [edi+24]
8 n9 i& g# y( H% ^0 X$ q7 H# G0 ^0132DC5C . 8B11 mov edx, dword ptr [ecx]
1 j9 x+ E& Z% Z0132DC5E . 8B42 78 mov eax, dword ptr [edx+78] 4 I5 T7 |5 h( }% s( ^5 E V
0132DC61 . 6A 00 push 0 9 i, y* ?/ G' U; C1 S0 f/ `
0132DC63 . FFD0 call eax - a: j3 \3 u0 c2 x& o7 e8 O" U
0132DC65 . 8B4F 18 mov ecx, dword ptr [edi+18]
$ |/ g, c; `, b4 ?5 G8 {5 q0132DC68 . 034C24 14 add ecx, dword ptr [esp+14]
% l& r$ u$ f8 O0132DC6C . 33C0 xor eax, eax
, p8 r6 n/ e/ `3 W0132DC6E . 3B8C24 CC0400>cmp ecx, dword ptr [esp+4CC] 3 }& t F$ i7 ~$ n
0132DC75 . 5D pop ebp
( [3 v1 P# J' O; }- o0132DC76 . 0F9CC0 setl al . j& ] h/ V; Q3 w3 E" t! S9 U6 p7 y. U
0132DC79 > 8B8C24 A00400>mov ecx, dword ptr [esp+4A0] ) y) Y U! l2 W, H8 v. b G
0132DC80 . 5F pop edi
2 r1 A& }% b) }0132DC81 . 5E pop esi
5 ~' H5 j9 T& @( c, I0132DC82 . 5B pop ebx ! b1 y1 j5 G; O- a2 f7 \4 O
0132DC83 . 33CC xor ecx, esp
* _7 M' Z1 J! ^- R5 z- V0132DC85 . E8 E2460500 call 0138236C
/ ?7 u+ N4 p: g, M" I8 @( \1 d0132DC8A . 81C4 98040000 add esp, 498
, K( T7 [$ w" I0132DC90 . C2 2800 retn 28 |