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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5699bf
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x5d2640]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
call fcn.004042a0
lea ecx, [ebp - 0x40]
call fcn.00405f70
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x40]
call fcn.0040d420
mov dword [ebp - 0x298], 0x5792a0
mov edx, dword [ebp - 0x298]
add edx, 2
mov dword [ebp - 0x324], edx
mov eax, dword [ebp - 0x298]
mov cx, word [eax]
mov word [ebp - 0x2a2], cx
add dword [ebp - 0x298], 2
cmp word [ebp - 0x2a2], 0
jne 0x4076a7
mov edx, dword [ebp - 0x298]
sub edx, dword [ebp - 0x324]
sar edx, 1
mov dword [ebp - 0x328], edx
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
push edx
push 0x5792a0
lea ecx, [ebp - 0x40]
call fcn.0040f8a0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
call fcn.004042a0
lea ecx, [ebp - 0x28]
call fcn.00405f70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2ac]
cmp dword [eax + 0x14], 7
jbe 0x407755
mov dword [ebp - 0x2bc], 1
jmp 0x40775f
mov dword [ebp - 0x2bc], 0
mov cl, byte [ebp - 0x2bc]
mov byte [ebp - 0x291], cl
movzx edx, byte [ebp - 0x291]
test edx, edx
je 0x407790
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax]
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], ecx
lea edx, [ebp - 0x290]
push edx
mov eax, dword [ebp - 0x2e8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0xffffffff
jne 0x4077f7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00405e70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00405e70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00405e70
jmp 0x407ac2
push 0x5792ac
lea ecx, [ebp - 0x264]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x407823
push 0x5792b0
lea edx, [ebp - 0x264]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x407828
jmp 0x4079e5
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040d420
mov dword [ebp - 0x29c], 0x5792b8
mov ecx, dword [ebp - 0x29c]
add ecx, 2
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x29c]
mov ax, word [edx]
mov word [ebp - 0x2a4], ax
add dword [ebp - 0x29c], 2
cmp word [ebp - 0x2a4], 0
jne 0x40784d
mov ecx, dword [ebp - 0x29c]
sub ecx, dword [ebp - 0x2ec]
sar ecx, 1
mov dword [ebp - 0x2f0], ecx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2f8]
push ecx
push 0x5792b8
lea ecx, [ebp - 0x28]
call fcn.0040f8a0
lea edx, [ebp - 0x264]
mov dword [ebp - 0x2a0], edx
mov eax, dword [ebp - 0x2a0]
add eax, 2
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2a0]
mov dx, word [ecx]
mov word [ebp - 0x2a6], dx
add dword [ebp - 0x2a0], 2
cmp word [ebp - 0x2a6], 0
jne 0x4078c9
mov eax, dword [ebp - 0x2a0]
sub eax, dword [ebp - 0x2fc]
sar eax, 1
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040f8a0
mov edx, dword [ebp - 0x290]
and edx, 0x10
je 0x407958
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x330], esp
lea eax, [ebp - 0x28]
push eax
call fcn.00404350
call fcn.00407630
add esp, 0x18
jmp 0x4079e5
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2b0], ecx
mov edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x2b0]
cmp dword [eax + 0x14], 7
jbe 0x407985
mov dword [ebp - 0x2c4], 1
jmp 0x40798f
mov dword [ebp - 0x2c4], 0
mov cl, byte [ebp - 0x2c4]
mov byte [ebp - 0x292], cl
movzx edx, byte [ebp - 0x292]
test edx, edx
je 0x4079c0
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax]
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x314]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x290]
push eax
mov ecx, dword [ebp - 0x2b4]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4077f7
mov edx, dword [ebp - 0x2b4]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp + 8]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x2b8]
cmp dword [edx + 0x14], 7
jbe 0x407a3b
mov dword [ebp - 0x2cc], 1
jmp 0x407a45
mov dword [ebp - 0x2cc], 0
mov al, byte [ebp - 0x2cc]
mov byte [ebp - 0x293], al
movzx ecx, byte [ebp - 0x293]
test ecx, ecx
je 0x407a76
mov edx, dword [ebp - 0x2b8]
mov eax, dword [edx]
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00405e70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00405e70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00405e70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0050f496
mov esp, ebp
pop ebp
ret