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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x535f75
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x58aae0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x270], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push str.NULL
push eax
call fcn.00512a1a
add esp, 8
test eax, eax
je 0x41311d
call fcn.00415279
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41305e
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x268], eax
lea ecx, [ebp - 0x268]
call fcn.004041b0
push 0x569820
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x26c]
push edx
mov byte [ebp - 4], 2
call fcn.004087e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 3
call fcn.00404520
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x26c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4130cd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x250
lea ecx, [ebp - 0x264]
push 0
push ecx
call fcn.00512e90
mov edi, dword [ebp - 0x268]
add esp, 0xc
lea edx, [ebp - 0x264]
push edx
push edi
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x41314a
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41311d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413143
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x4133be
mov edi, dword [sym.imp.KERNEL32.DLL_FindNextFileW]
mov ebx, 4
jmp 0x413160
mov ecx, 0x56982c
lea eax, [ebp - 0x238]
jmp 0x413170
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x413194
test dx, dx
je 0x413190
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x413194
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x413170
xor eax, eax
jmp 0x413199
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4131d9
mov ecx, 0x569830
lea eax, [ebp - 0x238]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4131cc
test dx, dx
je 0x4131c8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4131cc
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4131a8
xor eax, eax
jmp 0x4131d1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4131d9
xor al, al
jmp 0x4131db
mov al, 1
test byte [ebp - 0x264], 0x10
je 0x4132a9
test al, al
jne 0x41334d
push 0x565468
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x278]
push edx
call fcn.004087e0
add esp, 0xc
lea ecx, [ebp - 0x238]
push ecx
push eax
lea edx, [ebp - 0x26c]
push edx
mov byte [ebp - 4], bl
call fcn.004087e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 5
call fcn.00404520
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x26c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413257
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x278]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41327d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
lea edx, [ebp - 0x268]
mov dword [ebp - 0x280], esp
mov ecx, esp
push edx
call fcn.00404490
mov ecx, dword [ebp - 0x270]
call fcn.00412ff0
lea eax, [ebp - 0x264]
push eax
jmp 0x413354
test al, al
jne 0x41334d
push 0x565468
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x274]
push edx
call fcn.004087e0
add esp, 0xc
lea ecx, [ebp - 0x238]
push ecx
push eax
lea edx, [ebp - 0x27c]
push edx
mov byte [ebp - 4], 6
call fcn.004087e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 7
call fcn.00404520
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x27c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41331a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x274]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413340
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x268]
push ecx
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
lea edx, [ebp - 0x264]
push edx
push esi
call edi
test eax, eax
jne 0x413160
push esi
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.DLL_RemoveDirectoryW]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x268]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413396
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4133bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0051209f
mov esp, ebp
pop ebp
ret 4