Function at 0x46702d
Capabilities:
Delete file

Disassembly:
mov eax, 0x4ecabd
call fcn.004e1580
mov eax, 0x149c
call fcn.004e15c0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x3c], ecx
test eax, eax
mov dword [ebp - 0x48], eax
jle 0x467a96
call fcn.00430e04
mov ecx, dword [ebp - 0x3c]
mov edi, eax
push ebx
mov dword [ebp - 0x68], edi
call fcn.00466e11
or dword [ebp - 0x60], 0xffffffff
and dword [ebp - 0x2c], 0
push 1
mov dword [ebp - 0x5c], eax
pop eax
mov esi, str.Other
push eax
push str.HintMultiTask
push esi
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.00431542
push 1
push str.AcceptDropDownload
push esi
mov ecx, edi
mov dword [ebp - 0x64], eax
call fcn.00431542
push 1
push str.AcceptMenuDownload
push esi
mov ecx, edi
mov dword [ebp - 0x30], eax
call fcn.00431542
mov esi, str._:____
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [ebx + 0x20]
cmp edi, 8
mov dword [ebp - 0x40], edi
jne 0x4670d7
cmp dword [ebp - 0x30], 0
jne 0x4670f1
and dword [ebp - 0x18], 0
cmp edi, 0xc
je 0x4670e1
cmp edi, 0xd
jne 0x4670e8
test eax, eax
jne 0x4670e8
and dword [ebp - 0x18], eax
cmp edi, 4
jne 0x4670f1
and dword [ebp - 0x18], 0
push 0
push 0x52c7e0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
jne 0x467109
mov dword [ebp - 0x18], 1
push 0
lea ecx, [ebp - 0x188]
call fcn.0048f695
and dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString_3
mov esi, 0x52fdc0
lea ecx, [ebp - 0x24]
push esi
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString_4
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString_4
push ebx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 4
call fcn.00462d64
cmp dword [ebp - 0x5c], 0
mov byte [ebp - 4], 5
je 0x4671f5
lea eax, [ebp - 0x294]
xor esi, esi
push eax
push esi
mov ecx, ebx
call fcn.00466149
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.00466e5c
test eax, eax
je 0x467a48
cmp dword [ebp - 0x18], esi
je 0x4671dd
push esi
lea eax, [ebp - 0x294]
push edi
push eax
lea ecx, [ebp - 0x14a8]
call fcn.00449dc1
push 1
lea ecx, [ebp - 0x14a8]
pop edi
mov byte [ebp - 4], 6
mov dword [ebp - 0xa90], edi
call sub.MFC42.DLL_CDialog::DoModal
cmp eax, edi
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x14a8]
je 0x4671d6
call fcn.0044a219
jmp 0x467a48
call fcn.0044a219
jmp 0x4671e0
push 1
pop edi
lea eax, [ebp - 0x294]
push eax
call fcn.00467d29
pop ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], edi
jmp 0x4671f7
xor esi, esi
cmp dword [ebp - 0x48], esi
mov dword [ebp - 0x38], esi
jle 0x467a48
mov esi, dword [ebp + 8]
push dword [ebp - 0x38]
mov ecx, esi
xor edi, edi
call fcn.00466149
cmp dword [ebp - 0x2c], edi
mov ebx, eax
jne 0x467220
push ebx
call fcn.004662d0
pop ecx
push dword [ebx + 0x28]
lea eax, [ebp - 0x5e8]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0xb0]
push 0x5f
push eax
lea eax, [ebp - 0x5e8]
push eax
call fcn.00467d9b
add esp, 0x14
lea eax, [ebp - 0x5e8]
mov ecx, ebx
push eax
call fcn.0046435b
cmp dword [ebp - 0x18], edi
je 0x4675a3
push dword [ebx + 0x10]
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::operator_2
push dword [ebp - 0x10]
mov dword [ebp - 0x1c], edi
call dword [sym.imp.SHLWAPI.dll_PathIsURLA]
test eax, eax
je 0x467335
mov eax, dword [esi + 0x20]
cmp eax, 0xa
je 0x467335
cmp eax, 2
je 0x467335
cmp eax, 3
je 0x467335
push 1
pop esi
cmp eax, esi
je 0x467335
push dword [ebp - 0x10]
lea ecx, [ebp - 0x188]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [ebp - 0x188]
call fcn.0048f737
push dword [ebp - 0x170]
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::operator_2
push 0x52bf88
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll__mbsicmp]
pop ecx
test eax, eax
pop ecx
jne 0x467335
push edi
push ebx
lea ecx, [ebp - 0x35c]
call fcn.00401dbc
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 7
mov dword [ebp - 0x1c], esi
call fcn.00401f69
cmp eax, esi
je 0x467324
cmp dword [ebp - 0x40], esi
je 0x467324
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 5
call fcn.00401e93
jmp 0x4678eb
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 5
call fcn.00401e93
jmp 0x467338
push 1
pop esi
mov eax, dword [ebx + 0x88]
cmp eax, edi
je 0x467373
cmp eax, 2
je 0x467373
cmp eax, esi
jne 0x467a48
push 0x9c8
call sub.MFC42.DLL_operatornew
pop ecx
mov dword [ebp - 0x30], eax
cmp eax, edi
mov byte [ebp - 4], 9
je 0x467397
push edi
mov ecx, eax
push dword [ebp - 0x40]
push ebx
call fcn.0044545d
jmp 0x467399
push 0xec0
call sub.MFC42.DLL_operatornew
pop ecx
mov dword [ebp - 0x30], eax
cmp eax, edi
mov byte [ebp - 4], 8
je 0x467397
push edi
mov ecx, eax
push dword [ebp - 0x40]
push ebx
call fcn.00449dc1
jmp 0x467399
xor eax, eax
mov esi, eax
mov byte [ebp - 4], 5
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xc0]
test esi, esi
mov edi, eax
je 0x4673b8
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
cmp edi, 1
jne 0x4678ff
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], edi
je 0x4674eb
call fcn.004cbba4
mov esi, eax
xor edi, edi
cmp esi, edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x6c], esi
je 0x4673e6
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x44], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x44]
push ecx
push esi
mov byte [ebp - 4], 0xb
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x44]
xor eax, eax
cmp ecx, edi
mov dword [ebp - 0x4c], eax
je 0x467414
mov eax, dword [ecx]
lea edx, [ebp - 0x4c]
push edx
push 0x52c7d0
push ecx
call dword [eax]
mov eax, dword [ebp - 0x4c]
cmp eax, edi
je 0x4674bc
mov word [ebp - 0x8c], di
xor edx, edx
mov dword [ebp - 0x34], edx
mov ecx, dword [ebx + 0x88]
mov byte [ebp - 4], 0xe
cmp ecx, 1
jne 0x467450
lea edx, [ebp - 0x34]
lea esi, [ebp - 0x8c]
push edx
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
jmp 0x46746c
cmp ecx, 2
jne 0x467497
lea edx, [ebp - 0x34]
lea esi, [ebp - 0x8c]
push edx
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
push eax
call dword [ecx + 0xc8]
mov edx, dword [ebp - 0x34]
xor esi, esi
cmp edx, esi
je 0x467499
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x14]
cmp dword [ebp - 0x1c], esi
jne 0x467917
mov edx, dword [ebp - 0x34]
jmp 0x467499
xor esi, esi
cmp edx, esi
mov byte [ebp - 4], 0xd
je 0x4674a7
mov eax, dword [edx]
push edx
call dword [eax + 8]
lea eax, [ebp - 0x8c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x30]
xor edi, edi
cmp eax, edi
mov byte [ebp - 4], 0xb
je 0x4674ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 0xa
cmp eax, edi
je 0x4674db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, edi
mov byte [ebp - 4], 5
je 0x4674ed
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x4674ed
xor edi, edi
call fcn.0040ff6c
mov ecx, eax
call fcn.0043b213
call fcn.0040ff6c
push dword [eax + 0x20]
nop
nop
nop
nop
nop
pop ecx
call fcn.0040ff6c
mov ecx, eax
call sub.MFC42.DLL_CWnd::IsWindowEnabled
test eax, eax
jne 0x467525
push 1
call fcn.0040ff6c
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x38]
dec eax
cmp eax, esi
jle 0x467590
cmp dword [ebp - 0x2c], edi
jne 0x46759b
cmp dword [ebp - 0x64], edi
je 0x467586
lea eax, [ebp - 0x1c]
push 0x24
push eax
push 0x80cb
push 0x8157
mov dword [ebp - 0x1c], edi
call fcn.00462705
add esp, 0x10
cmp eax, 6
jne 0x467566
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x60], esi
jmp 0x467569
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x1c], edi
je 0x467590
mov ecx, dword [ebp - 0x68]
push edi
push str.HintMultiTask
push str.Other
mov dword [ebp - 0x64], edi
call fcn.0043148e
jmp 0x467590
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x60], esi
cmp dword [ebp - 0x2c], edi
je 0x46766d
xor edi, edi
mov dword [ebp - 0x18], edi
jmp 0x46766d
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x60]
sub eax, edi
cmp eax, 0xa
jl 0x467611
push 0
lea ecx, [ebp - 0x4e8]
call fcn.00401270
cmp dword [ebp - 0x5c], 0
mov byte [ebp - 4], 0x11
je 0x4675e8
lea eax, [ebp - 0x294]
push 0
push eax
push esi
lea ecx, [ebp - 0x4e8]
mov dword [ebp - 0x360], 1
call fcn.004014d1
jmp 0x4675f8
push dword [ebp - 0x38]
lea ecx, [ebp - 0x4e8]
push edi
push esi
call fcn.00401462
test eax, eax
jne 0x4679a7
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 5
call fcn.0040138d
jmp 0x46766d
cmp dword [ebp - 0x2c], 0
je 0x46766d
cmp dword [ebp - 0x5c], 0
je 0x46762c
lea eax, [ebp - 0x294]
push ebx
push eax
call fcn.00468e9d
jmp 0x46766b
mov eax, dword [ebp - 0x40]
cmp eax, 3
je 0x46765c
cmp eax, 5
je 0x46764b
cmp eax, 6
jle 0x467643
cmp eax, 0xd
jle 0x46764b
push ebx
call fcn.004662d0
jmp 0x46766c
push ebx
push edi
mov ecx, esi
call fcn.00466149
push eax
call fcn.00468a1e
jmp 0x46766b
push ebx
push edi
mov ecx, esi
call fcn.00466149
push eax
call fcn.004688f2
pop ecx
pop ecx
push ebx
call fcn.00467d29
cmp dword [ebp - 0x40], 1
pop ecx
jne 0x467686
push ebx
call fcn.00467df5
pop ecx
jmp 0x4678eb
xor edi, edi
mov dword [ebp - 0x3c], edi
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x12
call fcn.0047ea04
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x13
call fcn.004891e4
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x14
call fcn.0040bc88
mov eax, dword [ebx + 0x88]
mov byte [ebp - 4], 0x15
cmp eax, edi
je 0x46772e
cmp eax, 2
je 0x46772e
cmp eax, 1
jne 0x46775d
mov esi, dword [ebx + 0x84]
cmp esi, edi
mov dword [ebp - 0x6c], esi
je 0x4676e7
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [esi]
lea ecx, [ebp - 0x19c]
push ecx
push esi
mov byte [ebp - 4], 0x16
call dword [eax + 0x40]
lea eax, [ebp - 0x19c]
lea ecx, [ebp - 0xa4]
push eax
call fcn.0040bcc8
lea eax, [ebp - 0xa4]
push 2
push eax
lea ecx, [ebp - 0x110]
call fcn.0047eaa7
cmp esi, edi
mov byte [ebp - 4], 0x15
je 0x46775d
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x46775d
push dword [ebx + 0x10]
lea ecx, [ebp - 0xe0]
call fcn.0048954f
push 2
lea ecx, [ebp - 0xe0]
call fcn.00489630
lea eax, [ebp - 0xe0]
push 2
push eax
lea ecx, [ebp - 0x110]
call fcn.0047eaa7
mov dword [ebp - 0x28], edi
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x17
call fcn.0047ee4d
cmp dword [ebp - 0x28], edi
je 0x467793
push dword [ebp - 0x28]
lea eax, [ebx + 4]
push eax
call fcn.00401a3c
push ebx
call fcn.00467df5
jmp 0x46789b
push ebx
call fcn.00467aa7
test eax, eax
pop ecx
je 0x4679f9
cmp dword [ebx + 0x88], 1
jne 0x4677be
push dword [ebx + 0x10]
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString
cmp dword [ebp - 0x18], edi
jne 0x46787b
push dword [ebx + 0x38]
lea ecx, [ebp - 0x58]
call sub.MFC42.DLL_CString::CString_4
push dword [ebx + 0x34]
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x18
call sub.MFC42.DLL_CString::CString_4
mov word [ebp - 0x7c], di
push dword [ebp - 0x58]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
mov byte [ebp - 4], 0x1a
push dword [ebp - 0x54]
call esi
pop ecx
test eax, eax
pop ecx
je 0x46780d
push 3
lea ecx, [ebp - 0x7c]
call fcn.0044f421
mov byte [ebx + 0x74], 3
jmp 0x46783f
mov eax, dword [ebp - 0x54]
cmp dword [eax - 8], edi
jg 0x467825
push 1
lea ecx, [ebp - 0x7c]
call fcn.0044f421
mov byte [ebx + 0x74], 1
jmp 0x46783f
push dword [ebp - 0x58]
push eax
call esi
pop ecx
test eax, eax
pop ecx
jne 0x467857
push 2
lea ecx, [ebp - 0x7c]
call fcn.0044f421
mov byte [ebx + 0x74], 2
sub esp, 0x10
lea esi, [ebp - 0x7c]
mov edi, esp
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push str.STATREFPAGESOURCE
movsd dword es:[edi], dword [esi]
call fcn.00464a7f
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x18
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x17
call sub.MFC42.DLL_CString::CString
xor edi, edi
push ebx
call fcn.00468535
pop ecx
lea eax, [ebp - 0x28]
push dword [ebx + 4]
push eax
call fcn.00401a3c
cmp dword [ebp - 0x28], edi
je 0x46789c
push dword [ebp - 0x28]
call fcn.0040fff6
pop ecx
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x15
cmp eax, edi
je 0x4678ad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x14
call fcn.0040bcc1
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x13
call fcn.00489270
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x12
call fcn.0047ea6b
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 5
cmp eax, edi
je 0x4678eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x48]
jl 0x467203
jmp 0x467a48
cmp dword [ebp - 0x1c], 0
je 0x467a48
push dword [ebx + 0x10]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x467a48
mov dword [ebp + 8], esi
mov eax, dword [ebp - 0x34]
lea edx, [ebp + 8]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0xf
call dword [ecx + 0x18]
push dword [ebp + 8]
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [eax]
push esi
push esi
push eax
mov byte [ebp - 4], 0x10
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_CString::CString
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0xd
cmp eax, esi
je 0x46796a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x8c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xb
cmp eax, esi
je 0x467988
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 0xa
cmp eax, esi
je 0x467999
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 5
cmp eax, esi
jmp 0x467a40
call fcn.0040ff6c
mov ecx, eax
call fcn.0043b213
push 0
call fcn.0040ff6c
mov ecx, eax
call fcn.0043cba5
mov ecx, eax
call fcn.00405483
lea ecx, [ebp - 0x4e8]
call fcn.0042c927
push 1
call fcn.0040ff6c
mov ecx, eax
call fcn.0043cba5
mov ecx, eax
call fcn.00405483
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 5
call fcn.0040138d
jmp 0x467a48
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x15
cmp eax, edi
je 0x467a0a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x14
call fcn.0040bcc1
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x13
call fcn.00489270
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x12
call fcn.0047ea6b
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 5
cmp eax, edi
je 0x467a48
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 4
call fcn.0046325f
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
and byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x188]
call fcn.00407c34
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4