Function at 0x412e38
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x437836
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x4374
call fcn.00435c70
mov dword [ebp - 0x4318], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x4288], 0
mov dword [ebp - 0x4264], 0
push 4
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x42cc], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x42cc], 0
je 0x412eab
mov ecx, dword [ebp - 0x42cc]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x431c], eax
jmp 0x412eb5
mov dword [ebp - 0x431c], 0
mov eax, dword [ebp - 0x431c]
mov dword [ebp - 0x42c8], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x42c8]
mov dword [ebp - 0x4260], ecx
push 0x49f528
lea ecx, [ebp - 0x4258]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 2
push 0x49f52c
lea ecx, [ebp - 0x428c]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 3
push 0x49f530
lea ecx, [ebp - 0x425c]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 4
push 0x49f534
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x42a8]
call fcn.004354a4
mov byte [ebp - 4], 6
push 0xa
lea ecx, [ebp - 0x4280]
call sub.MFC42.DLL_CStringList::CStringList
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4254]
call fcn.0040fbe0
mov byte [ebp - 4], 8
lea edx, [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4260]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebp - 0x4260]
push eax
lea ecx, [ebp - 0x428c]
call sub.MFC42.DLL_CString::operator_1
push 0x481c50
mov ecx, dword [ebp - 0x4260]
push ecx
lea edx, [ebp - 0x42d0]
push edx
call sub.MFC42.DLL_operator_2
mov dword [ebp - 0x4320], eax
mov eax, dword [ebp - 0x4320]
mov dword [ebp - 0x4324], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x4324]
push ecx
lea ecx, [ebp - 0x4258]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x42d0]
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [ebp - 0x4258]
call fcn.004190e0
push eax
lea ecx, [ebp - 0x42a8]
call sub.MFC42.DLL_CFileFind::FindFile
test eax, eax
je 0x41310d
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x4318]
cmp dword [edx + 0x89e4], 3
je 0x413010
mov eax, dword [ebp - 0x4318]
cmp dword [eax + 0x89e4], 1
je 0x413010
cmp dword [0x4a3ea4], 0
je 0x413015
jmp 0x41310d
lea ecx, [ebp - 0x42a8]
call sub.MFC42.DLL_CFileFind::FindNextFileA
mov dword [ebp - 0x4264], eax
lea ecx, [ebp - 0x42d4]
push ecx
lea ecx, [ebp - 0x42a8]
call sub.MFC42.DLL_CFileFind::GetFilePath
mov dword [ebp - 0x4328], eax
mov edx, dword [ebp - 0x4328]
mov dword [ebp - 0x432c], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x432c]
push eax
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x42d4]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4284]
call fcn.004060b0
mov dword [ebp - 0x42ac], eax
fld dword [0x4966b0]
fcomp dword [0x43b9b0]
fnstsw ax
test ah, 1
je 0x4130a3
cmp dword [ebp - 0x42ac], 0xff
jle 0x4130a1
jmp 0x413100
jmp 0x4130b1
cmp dword [ebp - 0x42ac], 0x200
jle 0x4130b1
jmp 0x413100
lea ecx, [ebp - 0x42a8]
call fcn.00406230
test eax, eax
je 0x4130d3
lea ecx, [ebp - 0x42a8]
call sub.MFC42.DLL_CFileFind::IsDots
test eax, eax
je 0x4130d1
jmp 0x413100
jmp 0x413100
lea ecx, [ebp - 0x4284]
push ecx
lea ecx, [ebp - 0x4280]
call sub.MFC42.DLL_CStringList::AddTail_1
fld dword [0x4966b0]
fcomp dword [0x43b9b0]
fnstsw ax
test ah, 1
je 0x413100
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x4264], 0
jne 0x412fe1
lea ecx, [ebp - 0x4280]
call fcn.0040efc0
test eax, eax
jne 0x413703
mov edx, dword [ebp - 0x4318]
cmp dword [edx + 0x89e4], 3
je 0x413147
mov eax, dword [ebp - 0x4318]
cmp dword [eax + 0x89e4], 1
je 0x413147
cmp dword [0x4a3ea4], 0
je 0x41314c
jmp 0x413703
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x42d8]
push ecx
lea ecx, [ebp - 0x4280]
call sub.MFC42.DLL_CStringList::RemoveHead
mov dword [ebp - 0x4330], eax
mov edx, dword [ebp - 0x4330]
mov dword [ebp - 0x4334], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x4334]
push eax
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x42d8]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4254]
call fcn.0040f950
lea ecx, [ebp - 0x4284]
call fcn.004190e0
push eax
mov ecx, dword [ebp - 0x4318]
add ecx, 0x4ee8
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
mov edx, dword [ebp - 0x4318]
add edx, 0x89ec
push ecx
mov ecx, esp
mov dword [ebp - 0x42dc], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4338], eax
mov eax, dword [ebp - 0x4338]
mov dword [ebp - 0x433c], eax
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x42e0], esp
lea edx, [ebp - 0x4284]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4340], eax
mov byte [ebp - 4], 8
call fcn.0041b734
add esp, 8
mov dword [ebp - 0x4344], eax
cmp dword [ebp - 0x4344], 0
je 0x41328b
push ecx
mov ecx, esp
mov dword [ebp - 0x42e4], esp
push 0x49f538
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x4348], eax
mov eax, dword [ebp - 0x4348]
mov dword [ebp - 0x434c], eax
mov byte [ebp - 4], 0xd
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x42e8], esp
lea edx, [ebp - 0x4284]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4350], eax
lea eax, [ebp - 0x4254]
push eax
mov byte [ebp - 4], 8
call fcn.0041c001
add esp, 0x10
jmp 0x41329a
mov ecx, dword [0x4a3e98]
add ecx, 1
mov dword [0x4a3e98], ecx
mov edx, dword [ebp - 0x4318]
mov eax, dword [edx + 0x23c0]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x4a3e98]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x4318]
cmp dword [edx + 0x27d0], 0
je 0x4132cb
mov eax, dword [0x4a3e98]
shr eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [0x4820b0]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], 9
push 0
lea edx, [ebp - 0x4254]
push edx
mov eax, dword [ebp - 0x4318]
mov ecx, dword [eax + 0x23b8]
push ecx
mov edx, dword [ebp - 0x4318]
call dword [edx + 0x46c4]
mov eax, dword [ebp - 0x4318]
cmp dword [eax + 0x89bc], 0
jne 0x41340c
push ecx
mov ecx, esp
mov dword [ebp - 0x42ec], esp
lea edx, [ebp - 0x4284]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4354], eax
mov ecx, dword [ebp - 0x4318]
call fcn.00417034
mov dword [ebp - 0x4358], eax
cmp dword [ebp - 0x4358], 0
jne 0x41340c
push 0x481c58
lea ecx, [ebp - 0x42f4]
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x435c], eax
mov eax, dword [ebp - 0x435c]
mov dword [ebp - 0x4360], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x4360]
call fcn.004190e0
push eax
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::Find_1
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov byte [ebp - 0x42f0], cl
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x42f4]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0x42f0]
and edx, 0xff
test edx, edx
je 0x413407
push 0x4a3d30
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x4284]
push eax
mov ecx, 0x4a3d78
call sub.MFC42.DLL_CStringList::AddTail_1
fld dword [0x4966b0]
fcomp dword [0x43b9b0]
fnstsw ax
test ah, 1
je 0x4133ea
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4a3d30
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x4284]
call fcn.004190e0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x41310d
push 0x481c64
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x41343b
push 0x481c68
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x41343b
jmp 0x41310d
mov dword [ebp - 0x42b4], 0
mov dword [ebp - 0x42b0], 0
mov dword [ebp - 0x42c0], 0
xor ecx, ecx
mov dword [ebp - 0x42bc], ecx
mov dword [ebp - 0x42b8], ecx
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x42c4], 0
jmp 0x41348a
mov edx, dword [ebp - 0x42c4]
add edx, 1
mov dword [ebp - 0x42c4], edx
mov eax, dword [ebp - 0x4318]
mov ecx, dword [ebp - 0x42c4]
cmp ecx, dword [eax + 0x89a4]
jge 0x4136f1
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x42c4]
imul edx, edx, 0x23e8
mov eax, dword [0x4a19b0]
cmp dword [eax + edx + 8], 1
jne 0x4136ec
push ecx
mov ecx, esp
mov dword [ebp - 0x42f8], esp
lea edx, [ebp - 0x4284]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4364], eax
mov ecx, dword [ebp - 0x4318]
call fcn.00410753
mov dword [ebp - 0x4368], eax
cmp dword [ebp - 0x4368], 0
je 0x41352a
mov eax, dword [ebp - 0x42c4]
imul eax, eax, 0x23e8
mov ecx, dword [0x4a19b0]
mov edx, dword [ecx + eax + 0x10]
add edx, 1
mov eax, dword [ebp - 0x42c4]
imul eax, eax, 0x23e8
mov ecx, dword [0x4a19b0]
mov dword [ecx + eax + 0x10], edx
mov edx, dword [ebp - 0x42c4]
imul edx, edx, 0x23e8
mov eax, dword [0x4a19b0]
mov ecx, dword [eax + edx + 0xc]
add ecx, 1
mov edx, dword [ebp - 0x42c4]
imul edx, edx, 0x23e8
mov eax, dword [0x4a19b0]
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [ebp - 0x42c4]
imul ecx, ecx, 0x23e8
mov edx, dword [0x4a19b0]
mov dword [edx + ecx + 8], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x42c4]
imul ecx, ecx, 0x23e8
mov edx, dword [0x4a19b0]
mov dword [edx + ecx + 0x14], eax
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x42fc], esp
push 0x49f53c
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x436c], eax
mov eax, dword [ebp - 0x436c]
mov dword [ebp - 0x4370], eax
mov byte [ebp - 4], 0xf
push ecx
mov ecx, esp
mov dword [ebp - 0x4300], esp
lea edx, [ebp - 0x4284]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4374], eax
mov eax, dword [ebp - 0x42c4]
imul eax, eax, 0x23e8
mov ecx, dword [0x4a19b0]
lea ecx, [ecx + eax + 0x38]
mov byte [ebp - 4], 8
call fcn.00434ff5
mov edx, dword [ebp - 0x42c4]
imul edx, edx, 0x23e8
mov eax, dword [0x4a19b0]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x42b0], ecx
push 1
mov edx, dword [ebp - 0x42c4]
push edx
lea eax, [ebp - 0x42c0]
push eax
call fcn.0041e90f
add esp, 0xc
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
mov ecx, dword [ebp - 0x42c4]
push ecx
push 0x505
mov edx, dword [ebp - 0x42b0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x481c6c
lea ecx, [ebp - 0x4308]
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x4378], eax
mov eax, dword [ebp - 0x4378]
mov dword [ebp - 0x437c], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x437c]
call fcn.004190e0
push eax
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::Find_1
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov byte [ebp - 0x4304], cl
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4308]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0x4304]
and edx, 0xff
test edx, edx
je 0x4136c6
push 1
push 0
lea ecx, [ebp - 0x4284]
call fcn.004190e0
push eax
call fcn.0040826b
mov eax, dword [ebp - 0x42c4]
imul eax, eax, 0x23e8
mov ecx, dword [0x4a19b0]
mov dword [ecx + eax + 8], 1
mov dword [ebp - 0x42b4], 1
jmp 0x4136f1
jmp 0x41347b
cmp dword [ebp - 0x42b4], 0
je 0x413467
jmp 0x41310d
mov edx, dword [ebp - 0x4260]
mov dword [ebp - 0x4310], edx
mov eax, dword [ebp - 0x4310]
mov dword [ebp - 0x430c], eax
cmp dword [ebp - 0x430c], 0
je 0x413739
push 1
mov ecx, dword [ebp - 0x430c]
call fcn.00418900
mov dword [ebp - 0x4380], eax
jmp 0x413743
mov dword [ebp - 0x4380], 0
lea ecx, [ebp - 0x42a8]
call sub.MFC42.DLL_CFileFind::Close
mov ecx, dword [ebp - 0x4288]
mov dword [ebp - 0x4314], ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4254]
call fcn.0040fc10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4280]
call fcn.00435480
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x42a8]
call sub.MFC42.DLL_CFileFind::CFileFind
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4284]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x425c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x428c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4258]
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 - 0x4314]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4