Function at 0x458170
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x531041
mov eax, dword fs:[0]
push eax
sub esp, 0x1e0
mov eax, dword [0x577760]
xor eax, esp
mov dword [esp + 0x1d8], eax
push ebx
push esi
push edi
mov eax, dword [0x577760]
xor eax, esp
push eax
lea eax, [esp + 0x1f0]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor ebx, ebx
mov eax, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4581d2
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x20]
call fcn.0041c5b0
push 0x561700
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x90]
push ecx
mov dword [esp + 0x204], ebx
call fcn.004264f0
mov esi, 0x10
add esp, 0xc
cmp dword [eax + 0x14], esi
jb 0x458213
mov eax, dword [eax]
lea edx, [esp + 0xa4]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp dword [esp + 0x9c], esi
jb 0x45823d
mov eax, dword [esp + 0x88]
push eax
call fcn.004bf135
add esp, 4
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
cmp edi, 0xffffffff
je 0x458411
lea ecx, [esp + 0xa4]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x45840a
jmp 0x458280
mov ecx, 0x55c408
lea eax, [esp + 0xd0]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4582b0
cmp dl, bl
je 0x4582ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4582b0
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x458290
xor eax, eax
jmp 0x4582b5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4583f3
mov ecx, 0x561264
lea eax, [esp + 0xd0]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4582f0
cmp dl, bl
je 0x4582ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4582f0
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4582d0
xor eax, eax
jmp 0x4582f5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4583f3
test byte [esp + 0xa4], 0x10
je 0x4583a1
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.004264f0
push eax
mov edx, 0x561194
lea eax, [esp + 0x7c]
mov byte [esp + 0x208], 1
call fcn.0042c930
add esp, 0x10
mov byte [esp + 0x1f8], 3
cmp dword [esp + 0x64], esi
jb 0x458357
mov edx, dword [esp + 0x50]
push edx
call fcn.004bf135
add esp, 4
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
cmp dword [esp + 0x80], esi
jae 0x458378
lea eax, [esp + 0x6c]
mov ecx, dword [esp + 0x10]
push eax
call fcn.00458170
mov byte [esp + 0x1f8], bl
cmp dword [esp + 0x80], esi
jb 0x4583f3
mov eax, dword [esp + 0x6c]
push eax
call fcn.004bf135
add esp, 4
jmp 0x4583f3
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x3c]
push eax
call fcn.004264f0
mov eax, dword [esp + 0x40]
add esp, 0xc
cmp dword [esp + 0x48], esi
jae 0x4583c9
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [esp + 0x48], esi
jb 0x4583e3
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004bf135
add esp, 4
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
lea edx, [esp + 0xa4]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x458280
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov dword [esp + 0x1f8], 0xffffffff
cmp dword [esp + 0x2c], esi
jb 0x45843a
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004bf135
add esp, 4
mov ecx, dword [esp + 0x1f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1d8]
xor ecx, esp
call fcn.004be8b8
mov esp, ebp
pop ebp
ret 4