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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41a690
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x734
push ebx
push esi
push edi
cmp dword [ebp + 8], 0
jne 0x4022ee
xor eax, eax
jmp 0x4028fa
push 0x250
push 0
lea eax, [ebp - 0x25c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov word [ebp - 0x464], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x462]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x464]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
xor ecx, ecx
mov cx, word [ebp + eax*2 - 0x466]
cmp ecx, 0x5c
je 0x402370
push 0x104
push 0x41c7fc
lea edx, [ebp - 0x464]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncat]
add esp, 0xc
push 0x104
push 0x41c7f8
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.MSVCRT.dll_wcsncat]
add esp, 0xc
mov word [ebp - 0x66c], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x66a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x66c]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x66c]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
xor ecx, ecx
mov cx, word [ebp + eax*2 - 0x66e]
cmp ecx, 0x5c
je 0x4023f6
push 0x104
push 0x41c7fc
lea edx, [ebp - 0x66c]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncat]
add esp, 0xc
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x464]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x670], eax
cmp dword [ebp - 0x670], 0
je 0x402422
cmp dword [ebp - 0x670], 0xffffffff
jne 0x402429
xor eax, eax
jmp 0x4028fa
mov edx, dword [ebp - 0x25c]
and edx, 0x10
test edx, edx
jne 0x40253e
push 0x41c7f4
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x40253e
push 0x41c7ec
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x40253e
lea edx, [ebp - 0x230]
push edx
lea ecx, [ebp - 0x674]
call fcn.00401d60
mov dword [ebp - 0x6a4], eax
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x6a8]
push ecx
lea edx, [ebp - 0x66c]
push edx
lea ecx, [ebp - 0x678]
call fcn.00401d60
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6ac]
mov dword [ebp - 0x6b0], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x6b0]
push ecx
lea edx, [ebp - 0x67c]
push edx
call fcn.00401f90
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x6b8], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x6b8]
call fcn.00401dd0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x67c]
call fcn.00401df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x678]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x674]
call fcn.00401df0
jmp 0x402662
cmp dword [ebp + 0xc], 0
je 0x402662
mov ecx, dword [ebp - 0x25c]
and ecx, 0x10
test ecx, ecx
je 0x402662
push 0x41c7f4
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x402662
push 0x41c7ec
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x402662
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x680]
call fcn.00401d60
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp - 0x6bc]
mov dword [ebp - 0x6c0], ecx
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x6c0]
push edx
lea eax, [ebp - 0x66c]
push eax
lea ecx, [ebp - 0x684]
call fcn.00401d60
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x6c4]
mov dword [ebp - 0x6c8], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x6c8]
push edx
lea eax, [ebp - 0x688]
push eax
call fcn.00401f90
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x6cc]
mov dword [ebp - 0x6d0], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x6d0]
call fcn.00401dd0
push eax
call fcn.004022c0
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x688]
call fcn.00401df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x684]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x680]
call fcn.00401df0
mov edx, 1
test edx, edx
je 0x4028d8
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x670]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x4028c6
mov edx, dword [ebp - 0x25c]
and edx, 0x10
test edx, edx
jne 0x4027a0
push 0x41c7f4
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4027a0
push 0x41c7ec
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4027a0
lea edx, [ebp - 0x230]
push edx
lea ecx, [ebp - 0x68c]
call fcn.00401d60
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x6d8]
push ecx
lea edx, [ebp - 0x66c]
push edx
lea ecx, [ebp - 0x690]
call fcn.00401d60
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x6e0]
push ecx
lea edx, [ebp - 0x694]
push edx
call fcn.00401f90
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x6e8], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x6e8]
call fcn.00401dd0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x694]
call fcn.00401df0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x690]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68c]
call fcn.00401df0
jmp 0x4028c4
cmp dword [ebp + 0xc], 0
je 0x4028c4
mov ecx, dword [ebp - 0x25c]
and ecx, 0x10
test ecx, ecx
je 0x4028c4
push 0x41c7f4
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4028c4
push 0x41c7ec
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4028c4
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x698]
call fcn.00401d60
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 4], 9
mov edx, dword [ebp - 0x6f0]
push edx
lea eax, [ebp - 0x66c]
push eax
lea ecx, [ebp - 0x69c]
call fcn.00401d60
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f4]
mov dword [ebp - 0x6f8], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x6f8]
push edx
lea eax, [ebp - 0x6a0]
push eax
call fcn.00401f90
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x700], ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x700]
call fcn.00401dd0
push eax
call fcn.004022c0
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6a0]
call fcn.00401df0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x69c]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x698]
call fcn.00401df0
jmp 0x4028d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x4028d3
jmp 0x4028d8
jmp 0x402662
mov edx, dword [ebp - 0x670]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x10], 0
je 0x4028f5
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret