Function at 0x40f49b
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x420031
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x4164
call fcn.0041e970
mov dword [ebp - 0x4108], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x407c], 0
mov dword [ebp - 0x4058], 0
push 4
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x40bc], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x40bc], 0
je 0x40f50e
mov ecx, dword [ebp - 0x40bc]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x410c], eax
jmp 0x40f518
mov dword [ebp - 0x410c], 0
mov eax, dword [ebp - 0x410c]
mov dword [ebp - 0x40b8], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x40b8]
mov dword [ebp - 0x4054], ecx
push 0x435580
lea ecx, [ebp - 0x404c]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 2
push 0x435584
lea ecx, [ebp - 0x4080]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 3
push 0x435588
lea ecx, [ebp - 0x4050]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 4
push 0x43558c
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x409c]
call fcn.0041e2ae
mov byte [ebp - 4], 6
push 0xa
lea ecx, [ebp - 0x4074]
call sub.MFC42.DLL_CStringList::CStringList
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4048]
call fcn.0040cff0
mov byte [ebp - 4], 8
lea edx, [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4054]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebp - 0x4054]
push eax
lea ecx, [ebp - 0x4080]
call sub.MFC42.DLL_CString::operator_1
push 0x42a408
mov ecx, dword [ebp - 0x4054]
push ecx
lea edx, [ebp - 0x40c0]
push edx
call sub.MFC42.DLL_operator_2
mov dword [ebp - 0x4110], eax
mov eax, dword [ebp - 0x4110]
mov dword [ebp - 0x4114], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x4114]
push ecx
lea ecx, [ebp - 0x404c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40c0]
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [ebp - 0x404c]
call fcn.0040d320
push eax
lea ecx, [ebp - 0x409c]
call sub.MFC42.DLL_CFileFind::FindFile
test eax, eax
je 0x40f70b
mov edx, dword [ebp - 0x4108]
cmp dword [edx + 0x84f0], 3
je 0x40f66b
mov eax, dword [ebp - 0x4108]
cmp dword [eax + 0x84f0], 1
je 0x40f66b
cmp dword [0x439af0], 0
je 0x40f670
jmp 0x40f70b
lea ecx, [ebp - 0x409c]
call sub.MFC42.DLL_CFileFind::FindNextFileA
mov dword [ebp - 0x4058], eax
lea ecx, [ebp - 0x40c4]
push ecx
lea ecx, [ebp - 0x409c]
call sub.MFC42.DLL_CFileFind::GetFilePath
mov dword [ebp - 0x4118], eax
mov edx, dword [ebp - 0x4118]
mov dword [ebp - 0x411c], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x411c]
push eax
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40c4]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x409c]
call fcn.00405ff0
test eax, eax
je 0x40f6ec
lea ecx, [ebp - 0x409c]
call sub.MFC42.DLL_CFileFind::IsDots
test eax, eax
je 0x40f6ea
jmp 0x40f6fe
jmp 0x40f6fe
lea ecx, [ebp - 0x4078]
push ecx
lea ecx, [ebp - 0x4074]
call sub.MFC42.DLL_CStringList::AddTail
cmp dword [ebp - 0x4058], 0
jne 0x40f644
lea ecx, [ebp - 0x4074]
call fcn.00413660
test eax, eax
jne 0x40fc7d
mov edx, dword [ebp - 0x4108]
cmp dword [edx + 0x84f0], 3
je 0x40f745
mov eax, dword [ebp - 0x4108]
cmp dword [eax + 0x84f0], 1
je 0x40f745
cmp dword [0x439af0], 0
je 0x40f74a
jmp 0x40fc7d
lea ecx, [ebp - 0x40c8]
push ecx
lea ecx, [ebp - 0x4074]
call sub.MFC42.DLL_CStringList::RemoveHead
mov dword [ebp - 0x4120], eax
mov edx, dword [ebp - 0x4120]
mov dword [ebp - 0x4124], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x4124]
push eax
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40c8]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4048]
call fcn.0040ce30
lea ecx, [ebp - 0x4078]
call fcn.0040d320
push eax
mov ecx, dword [ebp - 0x4108]
add ecx, 0x4c20
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
mov edx, dword [ebp - 0x4108]
add edx, 0x84f8
push ecx
mov ecx, esp
mov dword [ebp - 0x40cc], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4128], eax
mov eax, dword [ebp - 0x4128]
mov dword [ebp - 0x412c], eax
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x40d0], esp
lea edx, [ebp - 0x4078]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4130], eax
mov byte [ebp - 4], 8
call fcn.00414d12
add esp, 8
mov dword [ebp - 0x4134], eax
cmp dword [ebp - 0x4134], 0
je 0x40f881
push ecx
mov ecx, esp
mov dword [ebp - 0x40d4], esp
push 0x435590
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x4138], eax
mov eax, dword [ebp - 0x4138]
mov dword [ebp - 0x413c], eax
mov byte [ebp - 4], 0xd
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x40d8], esp
lea edx, [ebp - 0x4078]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4140], eax
lea eax, [ebp - 0x4048]
push eax
mov byte [ebp - 4], 8
call fcn.004155df
add esp, 0x10
jmp 0x40f890
mov ecx, dword [0x439ae4]
add ecx, 1
mov dword [0x439ae4], ecx
mov edx, dword [ebp - 0x4108]
mov eax, dword [edx + 0x2258]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x439ae4]
mov dword [ebp - 0x18], ecx
mov edx, dword [0x42a5e8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], 9
push 0
lea eax, [ebp - 0x4048]
push eax
mov ecx, dword [ebp - 0x4108]
mov edx, dword [ecx + 0x2250]
push edx
mov eax, dword [ebp - 0x4108]
call dword [eax + 0x43fc]
mov ecx, dword [ebp - 0x4108]
cmp dword [ecx + 0x84cc], 0
jne 0x40f9ba
push ecx
mov ecx, esp
mov dword [ebp - 0x40dc], esp
lea edx, [ebp - 0x4078]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4144], eax
mov ecx, dword [ebp - 0x4108]
call fcn.004126e8
mov dword [ebp - 0x4148], eax
cmp dword [ebp - 0x4148], 0
jne 0x40f9ba
push 0x42a410
lea ecx, [ebp - 0x40e4]
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x414c], eax
mov eax, dword [ebp - 0x414c]
mov dword [ebp - 0x4150], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x4150]
call fcn.0040d320
push eax
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::Find_1
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov byte [ebp - 0x40e0], cl
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40e4]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0x40e0]
and edx, 0xff
test edx, edx
je 0x40f9b5
push 1
lea ecx, [ebp - 0x4078]
call fcn.0040d320
push eax
call fcn.004075d4
lea ecx, [ebp - 0x4078]
call fcn.0040d320
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x40f70b
push 0x42a41c
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x40f9e9
push 0x42a420
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x40f9e9
jmp 0x40f70b
mov dword [ebp - 0x40a4], 0
mov dword [ebp - 0x40a0], 0
mov dword [ebp - 0x40b0], 0
xor eax, eax
mov dword [ebp - 0x40ac], eax
mov dword [ebp - 0x40a8], eax
mov dword [ebp - 0x40b4], 0
jmp 0x40fa30
mov ecx, dword [ebp - 0x40b4]
add ecx, 1
mov dword [ebp - 0x40b4], ecx
mov edx, dword [ebp - 0x4108]
mov eax, dword [ebp - 0x40b4]
cmp eax, dword [edx + 0x84b4]
jge 0x40fbee
mov ecx, dword [ebp - 0x40b4]
imul ecx, ecx, 0x2280
mov edx, dword [0x437854]
cmp dword [edx + ecx + 8], 1
jne 0x40fbe9
push ecx
mov ecx, esp
mov dword [ebp - 0x40e8], esp
lea eax, [ebp - 0x4078]
push eax
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4154], eax
mov ecx, dword [ebp - 0x4108]
call fcn.0040dad4
mov dword [ebp - 0x4158], eax
cmp dword [ebp - 0x4158], 0
je 0x40fac9
mov ecx, dword [ebp - 0x40b4]
imul ecx, ecx, 0x2280
mov edx, dword [0x437854]
mov eax, dword [edx + ecx + 0x10]
add eax, 1
mov ecx, dword [ebp - 0x40b4]
imul ecx, ecx, 0x2280
mov edx, dword [0x437854]
mov dword [edx + ecx + 0x10], eax
mov eax, dword [ebp - 0x40b4]
imul eax, eax, 0x2280
mov ecx, dword [0x437854]
mov edx, dword [ecx + eax + 0xc]
add edx, 1
mov eax, dword [ebp - 0x40b4]
imul eax, eax, 0x2280
mov ecx, dword [0x437854]
mov dword [ecx + eax + 0xc], edx
mov edx, dword [ebp - 0x40b4]
imul edx, edx, 0x2280
mov eax, dword [0x437854]
mov dword [eax + edx + 8], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x40b4]
imul ecx, ecx, 0x2280
mov edx, dword [0x437854]
mov dword [edx + ecx + 0x14], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x40ec], esp
push 0x435594
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x415c], eax
mov eax, dword [ebp - 0x415c]
mov dword [ebp - 0x4160], eax
mov byte [ebp - 4], 0xf
push ecx
mov ecx, esp
mov dword [ebp - 0x40f0], esp
lea edx, [ebp - 0x4078]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4164], eax
mov eax, dword [ebp - 0x40b4]
imul eax, eax, 0x2280
mov ecx, dword [0x437854]
lea ecx, [ecx + eax + 0x34]
mov byte [ebp - 4], 8
call fcn.0041deaf
mov edx, dword [ebp - 0x40b4]
imul edx, edx, 0x2280
mov eax, dword [0x437854]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x40a0], ecx
push 1
mov edx, dword [ebp - 0x40b4]
push edx
lea eax, [ebp - 0x40b0]
push eax
call fcn.00417d56
add esp, 0xc
push 1
mov ecx, dword [ebp - 0x40b4]
push ecx
push 0x505
mov edx, dword [ebp - 0x40a0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x40a4], 1
jmp 0x40fbee
jmp 0x40fa21
cmp dword [ebp - 0x40a4], 0
je 0x40fa15
push 0x42a424
lea ecx, [ebp - 0x40f8]
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x4168], eax
mov eax, dword [ebp - 0x4168]
mov dword [ebp - 0x416c], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x416c]
call fcn.0040d320
push eax
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::Find_1
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov byte [ebp - 0x40f4], cl
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40f8]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0x40f4]
and edx, 0xff
test edx, edx
je 0x40fc78
push 1
lea ecx, [ebp - 0x4078]
call fcn.0040d320
push eax
call fcn.004075d4
jmp 0x40f70b
mov eax, dword [ebp - 0x4054]
mov dword [ebp - 0x4100], eax
mov ecx, dword [ebp - 0x4100]
mov dword [ebp - 0x40fc], ecx
cmp dword [ebp - 0x40fc], 0
je 0x40fcb3
push 1
mov ecx, dword [ebp - 0x40fc]
call fcn.00413680
mov dword [ebp - 0x4170], eax
jmp 0x40fcbd
mov dword [ebp - 0x4170], 0
lea ecx, [ebp - 0x409c]
call sub.MFC42.DLL_CFileFind::Close
mov edx, dword [ebp - 0x407c]
mov dword [ebp - 0x4104], edx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4048]
call fcn.0040d020
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4074]
call fcn.0041e290
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x409c]
call sub.MFC42.DLL_CFileFind::CFileFind
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4078]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4050]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4080]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x404c]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x4104]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4