Function at 0x401750
Capabilities:
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x47c
mov edi, edx
mov esi, ecx
mov eax, dword [ebp + 8]
mov word [ebp - 0x14], 0
mov dword [ebp - 0x18], 0x200020
mov dword [ebp - 0x1c], 0x200020
mov dword [ebp - 0x20], 0x200020
mov dword [ebp - 0x24], 0x200020
test byte [section..data], 8
je 0x4017e0
mov ecx, edi
call sym._wine_dbgstr_wn
mov ebx, eax
mov ecx, esi
call sym._wine_dbgstr_wn
sub esp, 0x24
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Processing_dir__s__spec__s___d__lx__lx_n
mov dword [esp + 8], str.ATTRIB_processdirectory
mov dword [esp], 3
call sym._wine_dbg_log
mov eax, dword [ebp + 8]
add esp, 0x24
test eax, eax
je 0x401880
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx ecx, word [esi + eax]
mov word [ebp + eax - 0x238], cx
add eax, 2
test cx, cx
jne 0x4017f0
lea eax, [ebp - 0x238]
nop
nop
nop
nop
nop
nop
cmp word [eax], 0
lea eax, [eax + 2]
jne 0x401810
mov dword [eax - 2], 0x2a
test byte [section..data], 8
je 0x40185a
lea ecx, [ebp - 0x238]
call sym._wine_dbgstr_wn
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Searching_for_directories_with__s_n
mov dword [esp + 8], str.ATTRIB_processdirectory
mov dword [esp], 3
call sym._wine_dbg_log
add esp, 0x14
lea eax, [ebp - 0x488]
lea ecx, [ebp - 0x238]
push eax
push ecx
call dword [sym.imp.kernel32.dll_FindFirstFileW]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x401976
push ebx
call dword [sym.imp.kernel32.dll_FindClose]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esi + eax]
mov word [ebp + eax - 0x238], cx
add eax, 2
test cx, cx
jne 0x401890
lea eax, [ebp - 0x238]
nop
nop
nop
nop
nop
nop
cmp word [eax], 0
lea eax, [eax + 2]
jne 0x4018b0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edx, word [edi + ecx]
mov word [eax + ecx - 2], dx
add ecx, 2
test dx, dx
jne 0x4018c0
test byte [section..data], 8
je 0x40190b
lea ecx, [ebp - 0x238]
call sym._wine_dbgstr_wn
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Searching_for_files_as__s_n
mov dword [esp + 8], str.ATTRIB_processdirectory
mov dword [esp], 3
call sym._wine_dbg_log
add esp, 0x14
lea ecx, [ebp - 0x488]
lea eax, [ebp - 0x238]
push ecx
push eax
call dword [sym.imp.kernel32.dll_FindFirstFileW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x401c6e
lea ecx, [ebp - 0x45c]
mov eax, dword [ebp + 0x14]
mov edx, eax
or edx, dword [ebp + 0x10]
mov dword [ebp - 0x30], edx
not eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0
mov eax, dword [sym.imp.kernel32.dll_lstrcmpW]
jmp 0x401a5a
lea eax, [ebp - 0x488]
push eax
push ebx
call dword [sym.imp.kernel32.dll_FindNextFileW]
test eax, eax
je 0x401879
test byte [ebp - 0x488], 0x10
je 0x401960
push 0x4032fe
lea eax, [ebp - 0x45c]
push eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
test eax, eax
je 0x401960
push 0x403302
lea eax, [ebp - 0x45c]
push eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
test eax, eax
je 0x401960
xor eax, eax
nop
nop
nop
movzx ecx, word [esi + eax]
mov word [ebp + eax - 0x238], cx
add eax, 2
test cx, cx
jne 0x4019b0
lea eax, [ebp - 0x23a]
nop
nop
nop
nop
nop
nop
cmp word [eax + 2], 0
lea eax, [eax + 2]
jne 0x4019d0
xor ecx, ecx
nop
nop
nop
nop
movzx edx, word [ebp + ecx - 0x45c]
mov word [eax + ecx], dx
add ecx, 2
test dx, dx
jne 0x4019e0
lea eax, [ebp - 0x238]
nop
nop
nop
nop
nop
nop
cmp word [eax], 0
lea eax, [eax + 2]
jne 0x401a00
mov dword [eax - 2], 0x5c
lea ecx, [ebp - 0x238]
mov edx, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 1
call sym._ATTRIB_processdirectory
add esp, 0x10
jmp 0x401960
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x488]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.kernel32.dll_FindNextFileW]
test eax, eax
lea ecx, [ebp - 0x45c]
mov eax, dword [sym.imp.kernel32.dll_lstrcmpW]
je 0x401c75
test byte [section..data], 8
je 0x401a9f
lea ecx, [ebp - 0x45c]
call sym._wine_dbgstr_wn
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found__s_n
mov dword [esp + 8], str.ATTRIB_processdirectory
mov dword [esp], 3
call sym._wine_dbg_log
mov eax, dword [sym.imp.kernel32.dll_lstrcmpW]
lea ecx, [ebp - 0x45c]
add esp, 0x14
push 0x4032fe
push ecx
mov ebx, ecx
mov edi, eax
call eax
test eax, eax
je 0x401a37
push 0x403302
push ebx
call edi
test eax, eax
je 0x401a37
cmp dword [ebp + 0xc], 0
jne 0x401ad2
test byte [ebp - 0x488], 0x10
jne 0x401a37
mov eax, dword [ebp - 0x488]
cmp dword [ebp - 0x30], 0
je 0x401b57
and eax, dword [ebp - 0x2c]
or eax, dword [ebp + 0x10]
mov ecx, 0x80
je 0x401aed
mov ecx, eax
mov dword [ebp - 0x488], ecx
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esi + eax]
mov word [ebp + eax - 0x238], dx
add eax, 2
test dx, dx
jne 0x401b00
lea eax, [ebp - 0x23a]
nop
nop
nop
nop
nop
nop
cmp word [eax + 2], 0
lea eax, [eax + 2]
jne 0x401b20
xor edx, edx
nop
nop
nop
nop
movzx ebx, word [ebp + edx - 0x45c]
mov word [eax + edx], bx
add edx, 2
test bx, bx
jne 0x401b30
push ecx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.kernel32.dll_SetFileAttributesW]
jmp 0x401a30
test al, 2
jne 0x401c1d
test al, 4
jne 0x401c2b
test al, 0x20
jne 0x401c39
test al, 1
jne 0x401c47
test eax, 0x100
jne 0x401c58
test eax, 0x800
je 0x401b8f
mov word [ebp - 0x16], 0x43
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esi + eax]
mov word [ebp + eax - 0x238], cx
add eax, 2
test cx, cx
jne 0x401ba0
lea eax, [ebp - 0x23a]
nop
nop
nop
nop
nop
nop
cmp word [eax + 2], 0
lea eax, [eax + 2]
jne 0x401bc0
xor ecx, ecx
nop
nop
nop
nop
movzx edx, word [ebp + ecx - 0x45c]
mov word [eax + ecx], dx
add ecx, 2
test dx, dx
jne 0x401bd0
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x24]
push eax
push str._1______2_n
call sym._ATTRIB_wprintf
add esp, 0xc
mov dword [ebp - 0x24], 0x200020
mov dword [ebp - 0x20], 0x200020
mov dword [ebp - 0x1c], 0x200020
mov dword [ebp - 0x18], 0x200020
jmp 0x401a30
mov word [ebp - 0x1c], 0x48
test al, 4
je 0x401b67
mov word [ebp - 0x22], 0x53
test al, 0x20
je 0x401b6f
mov word [ebp - 0x24], 0x41
test al, 1
je 0x401b77
mov word [ebp - 0x1a], 0x52
test eax, 0x100
je 0x401b82
mov word [ebp - 0x18], 0x54
test eax, 0x800
jne 0x401b89
jmp 0x401b8f
mov dword [ebp - 0x10], 0
push dword [ebp - 0x28]
call dword [sym.imp.kernel32.dll_FindClose]
mov eax, dword [ebp - 0x10]
add esp, 0x47c
pop esi
pop edi
pop ebx
pop ebp
ret