Function at 0x4096f0
Capabilities:
Delete file
Get disk information

Disassembly:
push 0xffffffffffffffff
push 0x40d708
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x30]
call fcn.0040c9e8
lea ecx, [esp + 0x1c]
mov dword [esp + 0x68], 0
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 1
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 3
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x44]
mov byte [esp + 0x68], 4
call fcn.0040ca48
push 0x4278ac
lea ecx, [esp + 0x2c]
mov byte [esp + 0x6c], 5
call fcn.0040abe0
push ecx
mov byte [esp + 0x6c], 6
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x412158
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x2c]
call fcn.0040acb0
lea eax, [edi + 0x8c]
push 0x411200
lea ecx, [esp + 0x28]
push eax
push ecx
call sub.MFC42.DLL_operator_1
push str.AppList.Sec
lea edx, [esp + 0x18]
mov bl, 7
push eax
push edx
mov byte [esp + 0x74], bl
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6c], 8
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 6
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
push str..tmp
lea ecx, [esp + 0x28]
push eax
push ecx
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 9
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 6
call sub.MFC42.DLL_CString::CString
push 0
mov edx, dword [esp + 0x14]
push 0x5002
push edx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CStdioFile::Open
test eax, eax
jne 0x409881
push 0x4278ac
lea ecx, [esp + 0x2c]
call fcn.0040ac70
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push 0x411f7c
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [edi + 0x60]
add esp, 0xc
mov dword [esp + 0x24], 0x4277e4
cmp dword [ecx + 0x2c], 3
jg 0x409976
mov edx, dword [ecx]
lea eax, [esp + 0x28]
push eax
push 0x4277e4
push 3
call dword [edx]
jmp 0x409976
mov ebx, dword [sym.imp.MSVCRT.dll__chdrive]
mov ebp, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov esi, 3
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_2
push esi
mov byte [esp + 0x6c], 0xa
call ebx
add esp, 4
test eax, eax
jne 0x409925
lea ecx, [esi + 0x40]
lea edx, [esp + 0x14]
push ecx
push 0x41144c
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
call ebp
cmp eax, 3
je 0x4098d1
cmp eax, 1
jne 0x409925
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x1c]
push ecx
push 0x412138
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0040c9c4
lea ecx, [esp + 0x2c]
call fcn.0040acb0
lea ecx, [esp + 0x28]
push 1
lea edx, [esp + 0x34]
push ecx
push edx
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.0040c9c4
mov ecx, edi
call fcn.00409160
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 6
call sub.MFC42.DLL_CString::CString
inc esi
cmp esi, 0x1a
jle 0x409892
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CStdioFile::Close
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push str.WhiteListPWD
push ecx
push edx
call fcn.0040a020
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x4278ac
lea ecx, [esp + 0x2c]
call fcn.0040ac70
lea ecx, [esp + 0x28]
mov byte [esp + 0x68], 5
call fcn.0040ad40
lea ecx, [esp + 0x44]
mov byte [esp + 0x68], 4
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x68], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov dword [esp + 0x68], 0xffffffff
call sub.MFC42.DLL_CStdioFile::CStdioFile
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x5c
ret