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

📄 controlpanel.lst

📁 在vb中镶入汇编、VC
💻 LST
📖 第 1 页 / 共 4 页
字号:
	push	DWORD PTR _aCComponent$[ebp]
	call	DWORD PTR [eax+80]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L291
	push	80					; 00000050H
	push	OFFSET FLAT:___vba@001AF9D4
	push	DWORD PTR _aCComponent$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -104+[ebp], eax
	jmp	SHORT $L292
$L291:
	and	DWORD PTR -104+[ebp], 0
$L292:
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	DWORD PTR -108+[ebp], eax
	cmp	DWORD PTR -108+[ebp], 0
	jle	$L79
	cmp	DWORD PTR -108+[ebp], 3
	jle	SHORT $L80
	cmp	DWORD PTR -108+[ebp], 5
	je	SHORT $L80
	jmp	$L79
$L80:

; 135  :             Case vbext_ct_ClassModule, vbext_ct_StdModule, vbext_ct_VBForm, vbext_ct_MSForm
; 136  :                 lstProjectMembers.AddItem aCComponent.Name

	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
	mov	DWORD PTR _unnamed_var1$[ebp+8], -2147352572 ; 80020004H
	mov	DWORD PTR _unnamed_var1$[ebp], 10	; 0000000aH
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	mov	eax, DWORD PTR _aCComponent$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _aCComponent$[ebp]
	call	DWORD PTR [eax+64]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L293
	push	64					; 00000040H
	push	OFFSET FLAT:___vba@001AF9D4
	push	DWORD PTR _aCComponent$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -112+[ebp], eax
	jmp	SHORT $L294
$L293:
	and	DWORD PTR -112+[ebp], 0
$L294:
	push	16					; 00000010H
	pop	eax
	call	___vbaChkstk
	lea	esi, DWORD PTR _unnamed_var1$[ebp]
	mov	edi, esp
	movsd
	movsd
	movsd
	movsd
	push	DWORD PTR _unnamed_var1$[ebp]
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	DWORD PTR [eax+492]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L295
	push	492					; 000001ecH
	push	OFFSET FLAT:___vba@001AF9AC
	push	DWORD PTR _unnamed_var1$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -116+[ebp], eax
	jmp	SHORT $L296
$L295:
	and	DWORD PTR -116+[ebp], 0
$L296:
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeStr
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj
$L79:

; 137  :             Case Else
; 138  :                 'no code to check
; 139  :         End Select
; 140  :     Next

	lea	eax, DWORD PTR _aCComponent$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	OFFSET FLAT:___vba@001AF9D4
	call	___vbaNextEachCollObj
	mov	DWORD PTR $S69[ebp], eax
$L71:
	cmp	DWORD PTR $S69[ebp], 0
	jne	$L70

; 141  : End Sub

	push	$L302
	jmp	SHORT $L297
$L66:
	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
	push	2
	call	___vbaFreeObjList
	add	esp, 12					; 0000000cH
	ret	0
$L297:
$L65:
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	2
	call	___vbaFreeObjList
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR _aCComponent$[ebp]
	call	@__vbaFreeObj
$L300:
	ret	0
$L302:
	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
?RefreshList@frmControlPanel@@AAGXXZ ENDP		; frmControlPanel::RefreshList
text$1	ENDS
PUBLIC	?SetGenerateListing@frmControlPanel@@AAGXXZ	; frmControlPanel::SetGenerateListing
EXTRN	___vbaInStr:NEAR
EXTRN	___vba@001AF9E8:BYTE
EXTRN	___vba@001AF9F8:BYTE
EXTRN	___vba@001AA164:NEAR
EXTRN	@__vbaVarMove:NEAR
EXTRN	___vbaVarSub:NEAR
EXTRN	___vbaInStrVar:NEAR
EXTRN	___vba@001AA098:NEAR
EXTRN	___vbaFreeVarList:NEAR
EXTRN	___vbaStrCat:NEAR
EXTRN	___vba@001AC574:NEAR
EXTRN	___vba@001AFA08:BYTE
EXTRN	___vba@001AFA38:BYTE
EXTRN	___vba@001AFA24:BYTE
EXTRN	___vba@001BC564:BYTE
EXTRN	___vba@001AA060:NEAR
EXTRN	___vbaLenBstr:NEAR
EXTRN	___vbaFreeStrList:NEAR
EXTRN	___vba@001AFA4C:BYTE
EXTRN	@__vbaFreeVar:NEAR
EXTRN	___vba@001A9FDC:NEAR
EXTRN	___vbaErrorOverflow:NEAR
;	COMDAT CONST
; File D:\VB Utility\Compiler\ControlPanel.frm
CONST	SEGMENT
$S116	DB	06H, 00H
	DB	04H, 00H
	DB	00H, 00H, 00H, 00H
	DD	FLAT:$L114
	DD	FLAT:$L115
CONST	ENDS
;	COMDAT ?SetGenerateListing@frmControlPanel@@AAGXXZ
text$1	SEGMENT
_Me$ = 8
_sCommandLine$ = -20
_posObjectFileSwitch$ = -24
_sObjectFile$ = -28
_unnamed_var1$ = -32
_unnamed_var1$ = -36
_unnamed_var1$ = -40
_unnamed_var1$ = -44
_unnamed_var1$ = -48
_unnamed_var1$ = -52
_unnamed_var1$ = -56
_unnamed_var1$ = -60
_unnamed_var1$ = -64
_unnamed_var1$ = -68
_unnamed_var1$ = -84
_unnamed_var1$ = -100
_unnamed_var1$ = -116
_unnamed_var1$ = -132
_unnamed_var1$ = -148
_unnamed_var1$ = -164
_unnamed_var1$ = -180
_unnamed_var1$ = -196
_unnamed_var1$ = -200
_unnamed_var1$ = -204
_unnamed_var1$ = -208
_unnamed_var1$ = -212
$S117 = -220
__$SEHRec$ = -16
?SetGenerateListing@frmControlPanel@@AAGXXZ PROC NEAR	; frmControlPanel::SetGenerateListing, COMDAT

; 143  : Private Sub SetGenerateListing()

	push	ebp
	mov	ebp, esp
	push	ecx
	push	ecx
	push	OFFSET FLAT:___vbaExceptHandler
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	mov	eax, 220				; 000000dcH
	call	___vbaChkstk
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR __$SEHRec$[ebp+8], esp
	mov	DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S116

; 144  :     Dim sCommandLine As String, posObjectFileSwitch As Long, sObjectFile As String
; 145  :     sCommandLine = tbCommandLine.Text

	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
	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+160]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L308
	push	160					; 000000a0H
	push	OFFSET FLAT:___vba@001AF998
	push	DWORD PTR _unnamed_var1$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -224+[ebp], eax
	jmp	SHORT $L309
$L308:
	and	DWORD PTR -224+[ebp], 0
$L309:
	mov	eax, DWORD PTR _unnamed_var1$[ebp]
	mov	DWORD PTR $S117[ebp], eax
	and	DWORD PTR _unnamed_var1$[ebp], 0
	mov	edx, DWORD PTR $S117[ebp]
	lea	ecx, DWORD PTR _sCommandLine$[ebp]
	call	@__vbaStrMove
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj

; 146  :     If chkGenerateListing.Value = vbChecked Then

	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+772]
	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+224]
	fnclex
	mov	DWORD PTR _unnamed_var1$[ebp], eax
	cmp	DWORD PTR _unnamed_var1$[ebp], 0
	jge	SHORT $L310
	push	224					; 000000e0H
	push	OFFSET FLAT:___vba@001AF984
	push	DWORD PTR _unnamed_var1$[ebp]
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaHresultCheckObj
	mov	DWORD PTR -228+[ebp], eax
	jmp	SHORT $L311
$L310:
	and	DWORD PTR -228+[ebp], 0
$L311:
	movsx	eax, WORD PTR _unnamed_var1$[ebp]
	dec	eax
	neg	eax
	sbb	eax, eax
	inc	eax
	neg	eax
	mov	WORD PTR _unnamed_var1$[ebp], ax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaFreeObj
	movsx	eax, WORD PTR _unnamed_var1$[ebp]
	test	eax, eax
	je	$L118

; 147  :         posObjectFileSwitch = InStr(sCommandLine, "-Fo")

	push	1
	push	DWORD PTR _sCommandLine$[ebp]
	push	OFFSET FLAT:___vba@001AF9E8
	push	0
	call	___vbaInStr
	mov	DWORD PTR _posObjectFileSwitch$[ebp], eax

; 148  :         If posObjectFileSwitch > 1 And InStr(sCommandLine, "-FA") = 0 Then

	push	1
	push	DWORD PTR _sCommandLine$[ebp]
	push	OFFSET FLAT:___vba@001AF9F8
	push	0
	call	___vbaInStr
	test	eax, eax
	jne	$L121
	cmp	DWORD PTR _posObjectFileSwitch$[ebp], 1
	jle	$L121

; 149  :             sObjectFile = Mid$(sCommandLine, posObjectFileSwitch + 3, InStr(posObjectFileSwitch + 4, sCommandLine, Chr(34)) - posObjectFileSwitch - 2)

	mov	eax, DWORD PTR _sCommandLine$[ebp]
	mov	DWORD PTR _unnamed_var1$[ebp+8], eax
	mov	DWORD PTR _unnamed_var1$[ebp], 8
	push	34					; 00000022H
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vba@001AA098
	mov	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	mov	DWORD PTR _unnamed_var1$[ebp+8], eax
	mov	DWORD PTR _unnamed_var1$[ebp], 3
	mov	DWORD PTR _unnamed_var1$[ebp+8], 2
	mov	DWORD PTR _unnamed_var1$[ebp], 2
	mov	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	add	eax, 4
	jo	$L86
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	push	0
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaInStrVar
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaVarSub
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	call	___vbaVarSub
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaVarMove
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	mov	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	add	eax, 3
	jo	$L86
	push	eax
	push	DWORD PTR _sCommandLine$[ebp]
	call	___vba@001AA164
	mov	edx, eax
	lea	ecx, DWORD PTR _sObjectFile$[ebp]
	call	@__vbaStrMove
	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

; 150  :             tbCommandLine.Text = Left$(sCommandLine, posObjectFileSwitch - 1) & "-FAs -Fa" & Substitute(sObjectFile, ".obj", ".lst") & " " & 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
	mov	edx, OFFSET FLAT:___vba@001AFA38
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrCopy
	mov	edx, OFFSET FLAT:___vba@001AFA24
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrCopy
	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 _sObjectFile$[ebp]
	push	eax
	mov	eax, DWORD PTR _Me$[ebp]
	mov	eax, DWORD PTR [eax]
	push	DWORD PTR _Me$[ebp]
	call	DWORD PTR [eax+1808]
	mov	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	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	OFFSET FLAT:___vba@001AFA08
	call	___vbaStrCat
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrMove
	push	eax
	push	DWORD PTR _unnamed_var1$[ebp]
	call	___vbaStrCat
	mov	edx, eax
	lea	ecx, DWORD PTR _unnamed_var1$[ebp]
	call	@__vbaStrMove
	push	eax
	push	OFFSET FLAT:___vba@001BC564
	call	___vbaStrCat
	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 $L312
	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 -232+[ebp], eax
	jmp	SHORT $L313
$L312:
	and	DWORD PTR -232+[ebp], 0
$L313:
	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
$L121:

; 151  :         End If
; 152  :     Else

	jmp	$L138
$L118:

; 153  :         posObjectFileSwitch = InStr(sCommandLine, "-Fo")

	push	1
	push	DWORD PTR _sCommandLine$[ebp]
	push	OFFSET FLAT:___vba@001AF9E8
	push	0
	call	___vbaInStr
	mov	DWORD PTR _posObjectFileSwitch$[ebp], eax

; 154  :         If posObjectFileSwitch > 1 And InStr(sCommandLine, "-FA") > 0 Then

	push	1
	push	DWORD PTR _sCommandLine$[ebp]
	push	OFFSET FLAT:___vba@001AF9F8
	push	0
	call	___vbaInStr
	test	eax, eax
	jle	$L138
	cmp	DWORD PTR _posObjectFileSwitch$[ebp], 1
	jle	$L138

; 155  :             sObjectFile = Mid$(sCommandLine, posObjectFileSwitch + 3, InStr(posObjectFileSwitch + 4, sCommandLine, """") - 3)

	mov	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	add	eax, 4
	jo	$L86
	push	eax
	push	DWORD PTR _sCommandLine$[ebp]
	push	OFFSET FLAT:___vba@001AFA4C
	push	0
	call	___vbaInStr
	sub	eax, 3
	jo	$L86
	mov	DWORD PTR _unnamed_var1$[ebp+8], eax
	mov	DWORD PTR _unnamed_var1$[ebp], 3
	lea	eax, DWORD PTR _unnamed_var1$[ebp]
	push	eax
	mov	eax, DWORD PTR _posObjectFileSwitch$[ebp]
	add	eax, 3
	jo	$L86
	push	eax
	push	DWORD PTR _sCommandLine$[ebp]

⌨️ 快捷键说明

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