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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x39
push 0
push 0
dec ecx
jne 0x409730
push ecx
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040354c
lea esi, [ebp - 0x144]
xor eax, eax
push ebp
push 0x409d3e
push dword fs:[eax]
mov dword fs:[eax], esp
test bl, bl
jne 0x409770
mov eax, dword [ebp - 4]
call fcn.00409640
test al, al
je 0x409d18
mov dword [esi], 0x27
push esi
lea edx, [ebp - 0x14c]
mov eax, 0x409d4c
call fcn.004047c8
mov ecx, dword [ebp - 0x14c]
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 4]
call fcn.004033a8
mov eax, dword [ebp - 0x148]
call fcn.0040355c
push eax
call sub.kernel32.dll_FindFirstFileA
mov edi, eax
cmp edi, 0xffffffff
je 0x409839
test byte [esi], 1
je 0x4097f6
push 0
lea eax, [ebp - 0x154]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov ecx, dword [ebp - 0x154]
lea eax, [ebp - 0x150]
mov edx, dword [ebp - 4]
call fcn.004033a8
mov eax, dword [ebp - 0x150]
call fcn.0040355c
push eax
call sub.kernel32.dll_SetFileAttributesA
lea eax, [ebp - 0x15c]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0x158]
mov edx, dword [ebp - 4]
call fcn.004033a8
mov eax, dword [ebp - 0x158]
call fcn.00409464
push esi
push edi
call sub.kernel32.dll_FindNextFileA
test eax, eax
jne 0x4097b7
push edi
call sub.kernel32.dll_FindClose
mov dword [esi], 0x16
push esi
lea eax, [ebp - 0x160]
mov ecx, 0x409d70
mov edx, dword [ebp - 4]
call fcn.004033a8
mov eax, dword [ebp - 0x160]
call fcn.0040355c
push eax
call sub.kernel32.dll_FindFirstFileA
mov edi, eax
cmp edi, 0xffffffff
je 0x409d18
test byte [esi], 0x10
je 0x409d03
lea eax, [ebp - 0x164]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x164]
mov edx, 0x409d7c
call fcn.004034a8
je 0x409d03
lea eax, [ebp - 0x168]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x168]
mov edx, 0x409d88
call fcn.004034a8
je 0x409d03
lea eax, [ebp - 0x16c]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x16c]
mov edx, 0x409d94
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x170]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x170]
mov edx, 0x409da4
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x174]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x174]
mov edx, 0x409db8
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x178]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x178]
mov edx, 0x409dc8
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x17c]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x17c]
mov edx, 0x409de8
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x180]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x180]
mov edx, 0x409e0c
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x184]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x184]
mov edx, 0x409e20
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x188]
push eax
mov eax, dword [ebp - 4]
call fcn.0040335c
mov edx, eax
sub edx, 0xf
inc edx
mov ecx, 0xf
mov eax, dword [ebp - 4]
call fcn.004035bc
mov eax, dword [ebp - 0x188]
mov edx, 0x409e30
call fcn.004046f0
test eax, eax
jne 0x409cae
lea eax, [ebp - 0x18c]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x18c]
mov edx, 0x409e48
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x190]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x190]
mov edx, 0x409e5c
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x194]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x194]
mov edx, 0x409e74
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x198]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x198]
mov edx, 0x409e94
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x19c]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x19c]
mov edx, 0x409eac
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1a0]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1a0]
mov edx, 0x409ec8
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1a4]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1a4]
mov edx, 0x409ee8
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1a8]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1a8]
mov edx, 0x409efc
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1ac]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1ac]
mov edx, 0x409f14
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1b0]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1b0]
mov edx, 0x409f28
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1b4]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1b4]
mov edx, 0x409f44
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1b8]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1b8]
mov edx, 0x409f74
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1bc]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1bc]
mov edx, 0x409f80
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1c0]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1c0]
mov edx, 0x409f9c
call fcn.004046f0
test eax, eax
je 0x409d03
lea eax, [ebp - 0x1c4]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
mov eax, dword [ebp - 0x1c4]
mov edx, 0x409fb0
call fcn.004046f0
test eax, eax
je 0x409d03
mov eax, dword [ebp - 4]
call fcn.0040335c
cmp eax, 3
jg 0x409cc5
push 0x4e20
call sub.kernel32.dll_Sleep
push dword [ebp - 4]
lea eax, [ebp - 0x1cc]
lea edx, [esi + 0x2c]
mov ecx, 0x104
call fcn.00403344
push dword [ebp - 0x1cc]
push 0x409fc8
lea eax, [ebp - 0x1c8]
mov edx, 3
call fcn.0040341c
mov eax, dword [ebp - 0x1c8]
mov edx, ebx
call fcn.00409728
push esi
push edi
call sub.kernel32.dll_FindNextFileA
test eax, eax
jne 0x40986f
push edi
call sub.kernel32.dll_FindClose
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409d45
lea eax, [ebp - 0x1cc]
mov edx, 0x22
call fcn.00403140
lea eax, [ebp - 4]
call fcn.0040311c
ret