⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controlpanel.lst

📁 在vb中镶入汇编、VC
💻 LST
📖 第 1 页 / 共 4 页
字号:
	call	___vba@001AA164
	mov	edx, eax
	lea	ecx, DWORD PTR _sObjectFile$[ebp]
	call	@__vbaStrMove
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeVar

; 156  :             tbCommandLine.Text = Left$(sCommandLine, InStr(sCommandLine, "-FA") - 1) & Right$(sCommandLine, Len(sCommandLine) - posObjectFileSwitch + 1)

	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+788]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaObjSet
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	push	1
	push	DWORD PTR _sCommandLine$[ebp]
	push	OFFSET FLAT:___vba@001AF9F8
	push	0
	call	___vbaInStr
	sub	eax, 1
	jo	$L86
	push	eax
	push	DWORD PTR _sCommandLine$[ebp]
	call	___vba@001AC574
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrMove
	push	eax
	push	DWORD PTR _sCommandLine$[ebp]
	call	___vbaLenBstr
	sub	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	jo	$L86
	add	eax, 1
	jo	$L86
	push	eax
	push	DWORD PTR _sCommandLine$[ebp]
	call	___vba@001AA060
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrMove
	push	eax
	call	___vbaStrCat
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrMove
	push	eax
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	DWORD PTR [eax+164]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L314
	push	164					; 000000a4H
	push	OFFSET FLAT:___vba@001AF998
	push	DWORD PTR _unnamed_var1$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -236+[ebp], eax
	jmp	SHORT $L315
$L314:
	and	DWORD PTR -236+[ebp], 0
$L315:
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	3
	call	___vbaFreeStrList
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj
$L138:

; 157  :         End If
; 158  :     End If
; 159  :     DoEvents

	call	___vba@001A9FDC

; 160  : End Sub

	push	$L321
	jmp	SHORT $L316
$L115:
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	9
	call	___vbaFreeStrList
	add	esp, 40					; 00000028H
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	5
	call	___vbaFreeVarList
	add	esp, 24					; 00000018H
	ret	0
$L316:
$L114:
	lea	ecx, DWORD PTR _sCommandLine$[ebp]
	call	@__vbaFreeStr
	lea	ecx, DWORD PTR _sObjectFile$[ebp]
	call	@__vbaFreeStr
$L319:
	ret	0
$L321:
	xor	eax, eax
	mov	ecx, DWORD PTR __$SEHRec$[ebp]
	mov	DWORD PTR fs:__except_list, ecx
	pop	edi
	pop	esi
	pop	ebx
	leave
	ret	4
$L86:
	call	___vbaErrorOverflow
?SetGenerateListing@frmControlPanel@@AAGXXZ ENDP	; frmControlPanel::SetGenerateListing
text$1	ENDS
PUBLIC	?Substitute@frmControlPanel@@AAGXXZ		; frmControlPanel::Substitute
EXTRN	___vbaStrVarMove:NEAR
EXTRN	___vbaVarCat:NEAR
EXTRN	___vba@001AFA58:NEAR
;	COMDAT CONST
; File D:\VB Utility\Compiler\ControlPanel.frm
CONST	SEGMENT
$S161	DB	0cH, 00H
	DB	08H, 00H
	DB	00H, 00H, 00H, 00H
	DB	00H, 00H, 00H, 00H
	DD	FLAT:$L160
CONST	ENDS
;	COMDAT ?Substitute@frmControlPanel@@AAGXXZ
text$1	SEGMENT
_Substitute$ = 24
_sWith$ = 20
_sReplace$ = 16
_sSource$ = 12
_posInstr$ = -24
_Substitute$ = -28
_unnamed_var1$ = -32
_unnamed_var1$ = -48
_unnamed_var1$ = -64
_unnamed_var1$ = -80
_unnamed_var1$ = -96
__$SEHRec$ = -20
?Substitute@frmControlPanel@@AAGXXZ PROC NEAR		; frmControlPanel::Substitute, COMDAT

; 162  : Private Function Substitute(sSource As String, sReplace As String, sWith As String) As String

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH
	push	OFFSET FLAT:___vbaExceptHandler
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	84					; 00000054H
	pop	eax
	call	___vbaChkstk
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR __$SEHRec$[ebp+8], esp
	mov	DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S161
	mov	eax, DWORD PTR _Substitute$[ebp]
	and	DWORD PTR [eax], 0

; 163  :     Dim posInstr As Long
; 164  :     Substitute = sSource

	mov	eax, DWORD PTR _sSource$[ebp]
	mov	edx, DWORD PTR [eax]
	lea	ecx, DWORD PTR _Substitute$[ebp]
	call	@__vbaStrCopy

; 165  :     posInstr = InStr(1, Substitute, sReplace, vbTextCompare)

	push	1
	push	DWORD PTR _Substitute$[ebp]
	mov	eax, DWORD PTR _sReplace$[ebp]
	push	DWORD PTR [eax]
	push	1
	call	___vbaInStr
	mov	DWORD PTR _posInstr$[ebp], eax
$L162:

; 166  :     Do While posInstr > 0

	cmp	DWORD PTR _posInstr$[ebp], 0
	jle	$L145

; 167  :         Substitute = Left$(Substitute, posInstr - 1) & sWith & Right(Substitute, Len(Substitute) - (posInstr + Len(sReplace) - 1))

	mov	eax, DWORD PTR _posInstr$[ebp]
	sub	eax, 1
	jo	$L146
	push	eax
	push	DWORD PTR _Substitute$[ebp]
	call	___vba@001AC574
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrMove
	push	eax
	mov	eax, DWORD PTR _sWith$[ebp]
	push	DWORD PTR [eax]
	call	___vbaStrCat
	mov	DWORD PTR _unnamed_var1$[ebp+8], eax
	mov	DWORD PTR _unnamed_var1$[ebp], 8
	lea	eax, DWORD PTR _Substitute$[ebp]
	mov	DWORD PTR _unnamed_var1$[ebp+8], eax
	mov	DWORD PTR _unnamed_var1$[ebp], 16392	; 00004008H
	push	DWORD PTR _Substitute$[ebp]
	call	___vbaLenBstr
	mov	esi, eax
	mov	eax, DWORD PTR _sReplace$[ebp]
	push	DWORD PTR [eax]
	call	___vbaLenBstr
	mov	ecx, DWORD PTR _posInstr$[ebp]
	add	ecx, eax
	jo	$L146
	sub	ecx, 1
	jo	$L146
	sub	esi, ecx
	jo	$L146
	push	esi
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vba@001AFA58
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaVarCat
	push	eax
	call	___vbaStrVarMove
	mov	edx, eax
	lea	ecx, DWORD PTR _Substitute$[ebp]
	call	@__vbaStrMove
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeStr
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	3
	call	___vbaFreeVarList
	add	esp, 16					; 00000010H

; 168  :         posInstr = InStr(posInstr + Len(sWith), Substitute, sReplace)

	mov	eax, DWORD PTR _sWith$[ebp]
	push	DWORD PTR [eax]
	call	___vbaLenBstr
	mov	ecx, DWORD PTR _posInstr$[ebp]
	add	ecx, eax
	jo	SHORT $L146
	push	ecx
	push	DWORD PTR _Substitute$[ebp]
	mov	eax, DWORD PTR _sReplace$[ebp]
	push	DWORD PTR [eax]
	push	0
	call	___vbaInStr
	mov	DWORD PTR _posInstr$[ebp], eax

; 169  :     Loop

	jmp	$L162
$L145:

; 170  : End Function

	push	$L332
	jmp	SHORT $L327
$L160:
	mov	eax, DWORD PTR __$SEHRec$[ebp+16]
	and	eax, 4
	test	eax, eax
	je	SHORT $L167
	lea	ecx, DWORD PTR _Substitute$[ebp]
	call	@__vbaFreeStr
$L167:
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeStr
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	3
	call	___vbaFreeVarList
	add	esp, 16					; 00000010H
	ret	0
$L327:
$L330:
	ret	0
$L332:
	mov	eax, DWORD PTR _Substitute$[ebp]
	mov	ecx, DWORD PTR _Substitute$[ebp]
	mov	DWORD PTR [eax], ecx
	xor	eax, eax
	mov	ecx, DWORD PTR __$SEHRec$[ebp]
	mov	DWORD PTR fs:__except_list, ecx
	pop	edi
	pop	esi
	pop	ebx
	leave
	ret	20					; 00000014H
$L146:
	call	___vbaErrorOverflow
?Substitute@frmControlPanel@@AAGXXZ ENDP		; frmControlPanel::Substitute
text$1	ENDS
PUBLIC	?Form_Load@frmControlPanel@@AAGXXZ		; frmControlPanel::Form_Load
EXTRN	___vbaObjSetAddref:NEAR
EXTRN	?theIDE__Get@clsConnect@@AAGXXZ:NEAR		; clsConnect::theIDE__Get
EXTRN	_modAddIn:BYTE
;	COMDAT CONST
; File D:\VB Utility\Compiler\ControlPanel.frm
CONST	SEGMENT
$S175	DB	05H, 00H
	DB	08H, 00H
	DD	FLAT:$L174
	DB	00H, 00H, 00H, 00H
	DD	FLAT:$L173
CONST	ENDS
;	COMDAT ?Form_Load@frmControlPanel@@AAGXXZ
text$1	SEGMENT
_Me$ = 8
_unnamed_var1$ = -24
__$SEHRec$ = -20
?Form_Load@frmControlPanel@@AAGXXZ PROC NEAR		; frmControlPanel::Form_Load, COMDAT

; 174  : Private Sub Form_Load()

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH
	push	OFFSET FLAT:___vbaExceptHandler
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	12					; 0000000cH
	pop	eax
	call	___vbaChkstk
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR __$SEHRec$[ebp+8], esp
	mov	DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S175
	mov	eax, DWORD PTR _Me$[ebp]
	and	eax, 1
	mov	DWORD PTR __$SEHRec$[ebp+16], eax
	mov	eax, DWORD PTR _Me$[ebp]
	and	al, -2					; fffffffeH
	mov	DWORD PTR _Me$[ebp], eax
	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+4]

; 175  :     Set mIDE = modAddIn.theConnection.theIDE

	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	DWORD PTR _modAddIn
	call	?theIDE__Get@clsConnect@@AAGXXZ		; clsConnect::theIDE__Get
	push	DWORD PTR _unnamed_var1$[ebp]
	mov	eax, DWORD PTR _Me$[ebp]
	add	eax, 52					; 00000034H
	push	eax
	call	___vbaObjSetAddref
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj

; 176  :     RefreshList

	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+1800]

; 177  : End Sub

	mov	DWORD PTR __$SEHRec$[ebp+16], 0
$L174:
	push	$L343
	jmp	SHORT $L338
$L173:
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj
	ret	0
$L338:
$L341:
	ret	0
$L343:
	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+8]
	mov	eax, DWORD PTR __$SEHRec$[ebp+16]
	mov	ecx, DWORD PTR __$SEHRec$[ebp]
	mov	DWORD PTR fs:__except_list, ecx
	pop	edi
	pop	esi
	pop	ebx
	leave
	ret	4
?Form_Load@frmControlPanel@@AAGXXZ ENDP			; frmControlPanel::Form_Load
text$1	ENDS
PUBLIC	?cbSelectAll_Click@frmControlPanel@@AAGXXZ	; frmControlPanel::cbSelectAll_Click
;	COMDAT CONST
; File D:\VB Utility\Compiler\ControlPanel.frm
CONST	SEGMENT
$S193	DB	05H, 00H
	DB	08H, 00H
	DD	FLAT:$L192
	DB	00H, 00H, 00H, 00H
	DD	FLAT:$L191
CONST	ENDS
;	COMDAT ?cbSelectAll_Click@frmControlPanel@@AAGXXZ
text$1	SEGMENT
_Me$ = 8
_idxListMember$ = -24
_unnamed_var1$ = -28
_unnamed_var1$ = -32
_unnamed_var1$ = -36
_unnamed_var1$ = -40
_unnamed_var1$ = -44
_unnamed_var1$ = -48
__$SEHRec$ = -20
?cbSelectAll_Click@frmControlPanel@@AAGXXZ PROC NEAR	; frmControlPanel::cbSelectAll_Click, COMDAT

; 179  : Private Sub cbSelectAll_Click()

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH
	push	OFFSET FLAT:___vbaExceptHandler
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	44					; 0000002cH
	pop	eax
	call	___vbaChkstk
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR __$SEHRec$[ebp+8], esp
	mov	DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S193
	mov	eax, DWORD PTR _Me$[ebp]
	and	eax, 1
	mov	DWORD PTR __$SEHRec$[ebp+16], eax
	mov	eax, DWORD PTR _Me$[ebp]
	and	al, -2					; fffffffeH
	mov	DWORD PTR _Me$[ebp], eax
	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+4]

; 180  :     Dim idxListMember As Long
; 181  :     For idxListMember = 0 To lstProjectMembers.ListCount - 1

	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+784]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaObjSet
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	DWORD PTR [eax+216]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L349
	push	216					; 000000d8H
	push	OFFSET FLAT:___vba@001AF9AC
	push	DWORD PTR _unnamed_var1$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -60+[ebp], eax
	jmp	SHORT $L350
$L349:
	and	DWORD PTR -60+[ebp], 0
$L350:
	mov	ax, WORD PTR _unnamed_var1$[ebp]
	sub	ax, 1
	jo	$L181
	movsx	eax, ax
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	mov	DWORD PTR _unnamed_var1$[ebp], 1
	and	DWORD PTR _idxListMember$[ebp], 0
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj
	jmp	SHORT $L195
$L194:

; 182  :         lstProjectMembers.Selected(idxListMember) = True

	mov	eax, DWORD PTR _idxListMember$[ebp]
	add	eax, DWORD PTR _unnamed_var1$[ebp]
	jo	$L181
	mov	DWORD PTR _idxListMember$[ebp], eax
$L195:
	mov	eax, DWORD PTR _idxListMember$[ebp]
	cmp	eax, DWORD PTR _unnamed_var1$[ebp]
	jg	SHORT $L180
	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+784]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaObjSet
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	push	-1
	mov	ecx, DWORD PTR _idxListMember$[ebp]
	call	@__vbaI2I4
	push	eax
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _unnamed_var1$[ebp]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -