int
__userpurge CAutoCompletionManagerCL::TargetSubclassProcSTATIC@<eax>(
int
a1@<esi>, HWND a2, unsigned
int
a3, unsigned
int
a4, unsigned
int
a5)
{
CAutoCompletionManagerCL
*
v5;
/
/
ecx
int
result;
/
/
eax
if
( GetPropW(a2, L
"MSENV_ACMgr"
) )
result
=
CAutoCompletionManagerCL::TargetSubclassProc(v5, a2, a4, a5, a1);
else
result
=
DefWindowProcAW(a2, a3, a4, a5);
return
result;
}
text:
5007EA3A
000
push ebp
.text:
5007EA3B
004
mov ebp, esp
.text:
5007EA3D
004
cmp
ebx,
0Eh
.text:
5007EA40
004
push edi
.text:
5007EA41
008
jnz loc_500FEDCF
.text:
5007EA47
008
mov dword ptr [esi
+
34h
],
1
.text:
5007EA4E
.text:
5007EA4E
loc_5007EA4E: ; CODE XREF: CAutoCompletionManagerCL::TargetSubclassProc(HWND__
*
,uint,uint,
long
)
+
803C6
↓j
.text:
5007EA4E
; CAutoCompletionManagerCL::TargetSubclassProc(HWND__
*
,uint,uint,
long
)
+
17B9CA
↓j ...
.text:
5007EA4E
008
mov eax, [esi
+
30h
]
/
/
=
0
不会再调用CallWindowProcAW
.text:
5007EA51
008
xor edi, edi
.text:
5007EA53
008
test eax, eax
.text:
5007EA55
008
jz short loc_5007EA69
.text:
5007EA57
008
push [ebp
+
arg_8]
.text:
5007EA5A
00C
push [ebp
+
arg_4]
.text:
5007EA5D
010
push ebx
.text:
5007EA5E
014
push [ebp
+
arg_0]
.text:
5007EA61
018
push eax
/
/
调用原始函数
.text:
5007EA62
01C
call ?CallWindowProcAW@@YGJP6GJPAUHWND__@@IIJ@Z0IIJ@Z ; CallWindowProcAW(
long
(
*
)(HWND__
*
,uint,uint,
long
),HWND__
*
,uint,uint,
long
)
.text:
5007EA67
008
mov edi, eax
.text:
5007EA69
.text:
5007EA69
loc_5007EA69: ; CODE XREF: CAutoCompletionManagerCL::TargetSubclassProc(HWND__
*
,uint,uint,
long
)
+
1B
↑j
.text:
5007EA69
008
cmp
ebx,
82h
.text:
5007EA6F
008
jz loc_501B3877
.text:
5007EA75