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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
lea eax, [ebp - 0x268]
push ebx
mov ebx, edx
sub esp, 0x49c
mov word [ebp - 0x480], cx
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_FindFirstFileW]
mov dword [ebp - 0x47c], eax
sub esp, 8
cmp eax, 0xffffffff
je 0x625cf6b8
test esi, esi
je 0x625cf54e
mov eax, ebx
dec eax
jns 0x625cf535
jmp 0x625cf54e
sub eax, 1
jb 0x625cf54e
movzx edx, word [esi + eax*2]
cmp dx, 0x2f
je 0x625cf530
cmp dx, 0x5c
jne 0x625cf6f6
sub eax, 1
jae 0x625cf535
mov dword [ebp - 0x484], 0
lea ebx, [ebp - 0x470]
mov dword [ebp - 0x488], ebx
movsx edi, word [ebp - 0x480]
jmp 0x625cf5b4
movzx eax, word [ebp - 0x23a]
test ax, ax
je 0x625cf590
cmp ax, 0x2e
jne 0x625cf5d3
cmp word [ebp - 0x238], 0
jne 0x625cf5d3
lea esi, [esi]
lea eax, [ebp - 0x268]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x47c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindNextFileW]
sub esp, 8
test eax, eax
je 0x625cf7d0
test byte [ebp - 0x268], 0x10
je 0x625cf590
movzx eax, word [ebp - 0x23c]
cmp ax, 0x2e
je 0x625cf570
test ax, ax
je 0x625cf800
lea eax, [ebp - 0x23c]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x625cf5e0
lea ecx, [ebp - 0x23c]
sub eax, ecx
mov esi, eax
sar esi, 1
add esi, dword [ebp - 0x484]
lea edx, [esi + 3]
cmp edx, 0x103
ja 0x625cf817
mov dword [esp + 8], eax
lea eax, [ebp - 0x23c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x488]
mov dword [esp], eax
call sym._memcpy
mov edx, 0x5c
xor eax, eax
mov ecx, 0x2a
mov word [ebp + esi*2 - 0x470], dx
lea edx, [esi + 2]
mov word [ebp + esi*2 - 0x46e], cx
mov ecx, edi
mov word [ebp + edx*2 - 0x470], ax
mov eax, ebx
mov dword [ebp - 0x480], edx
call sym._delete_file
mov edx, dword [ebp - 0x480]
test eax, eax
js 0x625cf7d0
mov ecx, edi
mov eax, ebx
call sym._delete_folder
test eax, eax
js 0x625cf7d0
xor eax, eax
mov word [ebp + esi*2 - 0x470], ax
test byte [0x625d3028], 8
jne 0x625cf798
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_RemoveDirectoryW]
sub esp, 4
test eax, eax
jne 0x625cf590
mov eax, dword [ebp - 0x47c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
cmp eax, 5
je 0x625cf886
jbe 0x625cf838
cmp eax, 0x50
je 0x625cf6e0
cmp eax, 0xb7
jne 0x625cf890
mov ecx, 0x800a003a
jmp 0x625cf7ee
cmp dx, 0x5c
je 0x625cf71d
sub eax, 1
jb 0x625cf54e
movzx edx, word [esi + eax*2]
cmp dx, 0x2f
jne 0x625cf6f0
lea esi, [esi]
sub eax, 1
jb 0x625cf54e
movzx edx, word [esi + eax*2]
cmp dx, 0x2f
je 0x625cf710
cmp dx, 0x5c
je 0x625cf710
cmp dx, 0x3a
jne 0x625cf738
cmp eax, 1
je 0x625cf868
lea ecx, [eax + 2]
mov dword [ebp - 0x484], ecx
cmp ecx, 0x103
ja 0x625cf817
inc eax
lea edi, [eax + eax]
lea edx, [edi + 2]
lea ebx, [ebp - 0x470]
cmp edi, 4
jae 0x625cf84e
test edi, edi
je 0x625cf778
movzx ecx, byte [esi]
mov byte [ebx], cl
test edi, 2
jne 0x625cf8cd
mov ecx, 0x5c
mov word [ebp + eax*2 - 0x470], cx
lea eax, [ebx + edx]
mov dword [ebp - 0x488], eax
jmp 0x625cf564
mov eax, ebx
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0xc], str.deleting__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.delete_folder
mov dword [esp + 4], 0x625d3028
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x625cf692
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x47c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
mov ecx, dword [ebp - 0x480]
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0x484]
xor eax, eax
lea edx, [esi + 3]
cmp edx, 0x103
jbe 0x625cf60a
mov eax, dword [ebp - 0x47c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
mov ecx, 0x80004005
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 0x800a0035
cmp eax, 2
je 0x625cf7ee
cmp eax, 3
jne 0x625cf890
mov ecx, 0x800a004c
jmp 0x625cf7ee
mov ecx, dword [esi + edi - 4]
mov dword [ebp + edi - 0x474], ecx
lea ecx, [edi - 1]
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
jmp 0x625cf778
mov edx, 8
mov edi, 6
mov eax, 3
mov dword [ebp - 0x484], 4
jmp 0x625cf754
mov ecx, 0x800a0046
jmp 0x625cf7ee
test byte [0x625d3028], 1
jne 0x625cf8a3
mov ecx, 0x80004005
jmp 0x625cf7ee
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Unsupported_error_code:__ld_n
mov dword [esp + 8], str.create_error
mov dword [esp + 4], 0x625d3028
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_1
jmp 0x625cf899
movzx ecx, word [esi + edi - 2]
mov word [ebx + edi - 2], cx
jmp 0x625cf778