Function at 0x670e6440
Capabilities:
Delete directory

Disassembly:
push 0xffffffffffffffff
push 0x671609f8
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x672699e0]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.670d6ac0
xor ebp, ebp
cmp byte [esp + 0x38], 0
mov dword [esp + 0x2c], ebp
je 0x670e66e3
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call sym.QtCore4.dll_public:_static_class_QString___cdecl_QDir::cleanPath_class_QString_const__
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x3c], 1
call sym.QtCore4.dll_public:_static_class_QString___cdecl_QDir::toNativeSeparators_class_QString_const__
mov edx, dword [eax]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x28], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x48]
add esp, 0x10
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e64d0
mov edx, dword [esp + 0x38]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x2c], 0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e64ef
mov edx, dword [esp + 0x1c]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 8]
cmp esi, ebp
jle 0x670e65f7
push esi
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x20]
call sym.QtCore4.dll_public:_class_QString___thiscall_QString::left_int_
mov eax, dword [esp + 0x1c]
cmp dword [eax + 8], 2
mov byte [esp + 0x2c], 2
jne 0x670e6546
mov edx, dword [eax + 0xc]
mov ax, word [edx]
lea ecx, [esp + 0x38]
mov word [esp + 0x38], ax
call sym.QtCore4.dll_public:_bool___thiscall_QChar::isLetter_void_const
test al, al
je 0x670e6546
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0xc]
cmp word [ecx + 2], 0x3a
je 0x670e662f
lea edx, [esp + 0x1c]
push edx
xor edi, edi
call fcn.670e4280
add esp, 4
test al, al
je 0x670e664c
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.670ddf90
add esp, 8
mov ecx, eax
mov byte [esp + 0x2c], 3
call sym.QtCore4.dll_public:_unsigned_short_int_const____thiscall_QString::utf16_void_const
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov edx, dword [esp + 0x20]
test eax, eax
setne bl
mov byte [esp + 0x2c], 2
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x670e65a6
mov ecx, dword [esp + 0x20]
push ecx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
test bl, bl
je 0x670e66a3
lea edx, [esp + 0x16]
push edx
call sym.QtCore4.dll_public:_static_class_QChar___cdecl_QDir::separator_void_
movzx eax, word [eax]
add esp, 4
push 1
dec ebp
push ebp
push eax
lea ecx, [esp + 0x24]
call sym.QtCore4.dll_public:_int___thiscall_QString::lastIndexOf_class_QChar__int__enum_Qt::CaseSensitivity_const
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov byte [esp + 0x2c], 0
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x670e65ed
mov eax, dword [esp + 0x1c]
push eax
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov ebp, esi
test esi, esi
jg 0x670e64fe
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e6619
mov edx, dword [esp + 0x18]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov byte [esp + 0x2c], 0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e65f7
mov edx, dword [esp + 0x1c]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
jmp 0x670e65f7
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x2c], 0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e666b
mov edx, dword [esp + 0x1c]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e668d
mov edx, dword [esp + 0x18]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
xor al, al
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x1c]
test ebp, ebp
setne bl
mov byte [esp + 0x2c], 0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e66c7
mov edx, dword [esp + 0x1c]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x670e6740
mov edx, dword [esp + 0x18]
push edx
jmp 0x670e6738
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.670d6ac0
push eax
mov byte [esp + 0x30], 4
call fcn.670e41f0
mov ecx, dword [esp + 0x3c]
add esp, 4
mov bl, al
mov byte [esp + 0x2c], 0
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x670e671e
mov eax, dword [esp + 0x38]
push eax
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x670e6740
mov eax, dword [esp + 0x18]
push eax
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret