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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58751d
mov eax, dword fs:[0]
push eax
sub esp, 0x6cc
mov eax, dword [0x6069b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x44c], xmm0
mov dword [ebp - 0x43c], 0
push 8
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
call fcn.005523d2
add esp, 4
mov dword [ebp - 0x44c], eax
test eax, eax
je 0x45920d
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x44c]
lea ecx, [ebp - 0x44c]
mov dword [eax], ecx
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x460], xmm0
mov dword [ebp - 0x450], 0
push 8
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x450], 0
call fcn.005523d2
add esp, 4
mov dword [ebp - 0x460], eax
test eax, eax
je 0x459289
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x460]
lea ecx, [ebp - 0x460]
mov dword [eax], ecx
push esi
lea ecx, [ebp - 0x6c8]
mov byte [ebp - 4], 1
call fcn.004058d0
lea eax, [ebp - 0x6c8]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x460]
call fcn.0045a700
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x6b4]
cmp eax, 8
jb 0x4592d9
inc eax
lea ecx, [ebp - 0x6c8]
push eax
push dword [ebp - 0x6c8]
call fcn.004079a0
xor eax, eax
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
cmp word [esi], ax
jne 0x4592ff
xor ecx, ecx
jmp 0x459313
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x459304
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x438]
call fcn.00406df0
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x44c]
call fcn.0045a700
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x459358
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.004079a0
cmp dword [ebp - 0x43c], 0
je 0x4596db
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [eax + eax]
lea eax, [ebp - 0x6d8]
push eax
lea ecx, [ebp - 0x44c]
call fcn.0045a9b0
mov edx, eax
mov ecx, dword [edx]
test ecx, ecx
jne 0x45938e
xor eax, eax
jmp 0x459390
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [edx + 8]
push 0xffffffffffffffff
mov eax, dword [eax + ecx*4]
xor ecx, ecx
push ecx
mov word [ebp - 0x438], cx
lea ecx, [ebp - 0x438]
push eax
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x428], 0
call fcn.00406a80
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x448]
dec ecx
and ecx, dword [ebp - 0x440]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x459435
mov ecx, dword [esi]
inc eax
cmp eax, 0x7fffffff
ja 0x45970c
add eax, eax
cmp eax, 0x1000
jb 0x45942c
test cl, 0x1f
jne 0x45970c
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x45970c
sub ecx, eax
cmp ecx, 4
jb 0x45970c
cmp ecx, 0x23
ja 0x45970c
mov ecx, eax
push ecx
call fcn.00551edc
add esp, 4
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x45944b
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
sub dword [ebp - 0x43c], 1
jne 0x459461
mov dword [ebp - 0x440], eax
jmp 0x459467
inc dword [ebp - 0x440]
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00555650
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x420]
push 0x5e1b38
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x420]
push 0x5ebdbc
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x250
lea eax, [ebp - 0x6b0]
push 0
push eax
call fcn.00555650
add esp, 0xc
lea eax, [ebp - 0x6b0]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x459550
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x4596ce
mov ecx, dword [ebp - 0x438]
inc eax
cmp eax, 0x7fffffff
ja 0x45970c
add eax, eax
cmp eax, 0x1000
jb 0x45953f
test cl, 0x1f
jne 0x45970c
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x45970c
sub ecx, eax
cmp ecx, 4
jb 0x45970c
cmp ecx, 0x23
ja 0x45970c
mov ecx, eax
push ecx
call fcn.00551edc
add esp, 4
jmp 0x4596ce
cmp word [ebp - 0x684], 0x2e
je 0x45968f
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00555650
cmp dword [ebp - 0x424], 8
lea ecx, [ebp - 0x684]
push ecx
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x218]
push 0x5ed384
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
test byte [ebp - 0x6b0], 0x10
je 0x459686
xor eax, eax
mov dword [ebp - 0x6b4], 7
mov dword [ebp - 0x6b8], 0
mov word [ebp - 0x6c8], ax
cmp word [ebp - 0x218], ax
je 0x4595ef
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4595e0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x6c8]
call fcn.00406df0
lea eax, [ebp - 0x6c8]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x44c]
call fcn.0045a700
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x6b4]
cmp eax, 8
jb 0x45963a
inc eax
lea ecx, [ebp - 0x6c8]
push eax
push dword [ebp - 0x6c8]
call fcn.004079a0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x6c8]
call fcn.004058d0
lea eax, [ebp - 0x6c8]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x460]
call fcn.0045a700
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x6b4]
cmp eax, 8
jb 0x45968f
inc eax
lea ecx, [ebp - 0x6c8]
push eax
push dword [ebp - 0x6c8]
call fcn.004079a0
jmp 0x45968f
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x6b0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x459550
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x4596ce
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.004079a0
cmp dword [ebp - 0x43c], 0
jne 0x459370
cmp dword [ebp - 0x450], 0
je 0x459799
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
lea eax, [ebp - 0x6d8]
push eax
lea ecx, [ebp - 0x460]
call fcn.0045a9b0
mov edx, eax
mov eax, dword [edx]
test eax, eax
jne 0x459711
jmp 0x459713
call fcn.0055ebf1
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [edx + 8]
push 0xffffffffffffffff
mov eax, dword [eax + ecx*4]
xor ecx, ecx
push ecx
mov word [ebp - 0x438], cx
lea ecx, [ebp - 0x438]
push eax
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x428], 0
call fcn.00406a80
lea ecx, [ebp - 0x460]
call fcn.0045a4a0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
call esi
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x45978c
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.004079a0
cmp dword [ebp - 0x450], 0
jne 0x4596f0
lea ecx, [ebp - 0x460]
call fcn.0045a5c0
push 8
push 1
push dword [ebp - 0x460]
call fcn.00407940
add esp, 0xc
mov dword [ebp - 0x460], 0
lea ecx, [ebp - 0x44c]
call fcn.0045a5c0
push 8
push 1
push dword [ebp - 0x44c]
call fcn.00407940
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0xc