Function at 0x554c79
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
mov eax, dword [0x7b088c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x27c], ecx
lea ecx, [ebp - 0x258]
push eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
lea ecx, [ebp - 0x258]
call sym.txupd.exe_public:_int___thiscall_CTXStringW::GetLength_void_const
dec eax
lea ecx, [ebp - 0x258]
push eax
call sym.txupd.exe_public:_wchar_t___thiscall_CTXStringW::GetAt_int_const
cmp ax, 0x5c
je 0x554cf4
push 0x6fdc28
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x264]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
lea ecx, [ebp - 0x258]
push eax
call fcn.0051b603
lea ecx, [ebp - 0x264]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp - 0x278]
push 0x3e8
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x274], edi
mov dword [ebp - 0x270], edi
call fcn.005013c9
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x278]
call fcn.00525104
mov esi, dword [ebp - 0x274]
mov ecx, edi
mov ebx, dword [ebp - 0x278]
mov eax, esi
sub eax, ebx
mov dword [ebp - 0x26c], ecx
sar eax, 2
test eax, eax
je 0x554f1d
lea eax, [ebx + ecx*4]
push eax
lea ecx, [ebp - 0x268]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__
push 0x250
lea eax, [ebp - 0x254]
push edi
push eax
call fcn.00689b00
add esp, 0xc
lea ecx, [ebp - 0x264]
push 0x7002dc
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x280]
push eax
call fcn.00554b84
add esp, 0xc
mov ecx, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x25c], eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x264]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
cmp dword [ebp - 0x25c], 0xffffffff
je 0x554eeb
mov ebx, dword [ebp - 0x25c]
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
mov eax, dword [ebp - 0x254]
add esp, 0xc
test al, 0x10
je 0x554e97
mov ebx, dword [sym.imp.SHLWAPI.dll_StrCmpW]
lea eax, [ebp - 0x228]
push 0x771540
push eax
call ebx
test eax, eax
je 0x554e6c
push 0x700418
lea eax, [ebp - 0x228]
push eax
call ebx
test eax, eax
je 0x554e6c
push 0x6fdc28
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x284]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
lea ecx, [ebp - 0x278]
push eax
call fcn.005014fb
lea ecx, [ebp - 0x284]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov ebx, dword [ebp - 0x25c]
lea eax, [ebp - 0x254]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
lea ecx, [ebp - 0x260]
mov esi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
test esi, esi
jne 0x554de5
jmp 0x554ed8
test al, 1
je 0x554eb1
and eax, 0xfffffffe
lea ecx, [ebp - 0x260]
push eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x260]
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x554e72
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x27c], edi
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp - 0x274]
mov ebx, dword [ebp - 0x278]
inc dword [ebp - 0x26c]
lea ecx, [ebp - 0x268]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov ecx, dword [ebp - 0x26c]
mov eax, esi
sub eax, ebx
sar eax, 2
cmp ecx, eax
jb 0x554d50
mov eax, dword [ebp - 0x27c]
test eax, eax
je 0x554f4b
jmp 0x554f20
xor eax, eax
inc eax
cmp ebx, esi
je 0x554f4b
sub esi, ebx
sar esi, 2
sub esi, 1
js 0x554f4b
lea ebx, [ebx + esi*4]
mov ecx, ebx
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x554f4d
sub ebx, 4
sub esi, 1
jns 0x554f31
mov edi, eax
lea ecx, [ebp - 0x278]
call fcn.005014ba
lea ecx, [ebp - 0x258]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00682c16
mov esp, ebp
pop ebp
ret