Function at 0x5690b0
Capabilities:
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7b4
mov eax, dword [0x5ed130]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x7b4], ecx
mov eax, dword [ebp - 0x7b4]
cmp dword [eax + 4], 0
jne 0x5690dc
xor al, al
jmp 0x5693b8
mov ecx, dword [ebp - 0x7b4]
mov edx, dword [ecx + 0x114]
add edx, 1
mov eax, dword [ebp - 0x7b4]
mov dword [eax + 0x114], edx
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x118]
push eax
mov ecx, dword [ebp - 0x7b4]
call fcn.00568ac0
mov dword [ebp - 0x440], 0
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x43c], eax
push 1
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x118]
push eax
call fcn.00568a00
add esp, 0xc
mov dword [ebp - 0x444], 0
movzx ecx, word [ebp - 0x228]
mov dword [ebp - 0x448], ecx
movzx edx, word [ebp - 0x226]
sub edx, 1
mov dword [ebp - 0x44c], edx
movzx eax, word [ebp - 0x222]
mov dword [ebp - 0x450], eax
movzx ecx, word [ebp - 0x220]
mov dword [ebp - 0x454], ecx
movzx edx, word [ebp - 0x21e]
mov dword [ebp - 0x458], edx
movzx eax, word [ebp - 0x21c]
mov dword [ebp - 0x45c], eax
mov cl, byte [0x5db152]
mov byte [ebp - 0x568], cl
push 0x103
push 0
lea edx, [ebp - 0x567]
push edx
call fcn.0043fa10
add esp, 0xc
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x5691f2
push 0
lea ecx, [ebp - 0x568]
push ecx
push 0
push 0
lea edx, [ebp - 0x118]
push edx
call fcn.00445659
add esp, 0x14
jmp 0x56924c
mov eax, dword [ebp - 0x7b4]
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov ecx, dword [ebp - 0x7b4]
add ecx, 8
push ecx
lea edx, [ebp - 0x118]
push edx
call fcn.00443fdf
add esp, 0xc
test eax, eax
je 0x569227
xor al, al
jmp 0x5693b8
mov eax, dword [ebp - 0x7b4]
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [ebp + eax - 0x118]
push ecx
lea edx, [ebp - 0x568]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x5dbbf4
lea eax, [ebp - 0x568]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x45c]
push ecx
lea edx, [ebp - 0x568]
push edx
mov eax, dword [ebp - 0x7b4]
mov ecx, dword [eax + 4]
push ecx
or eax, 0xffffffff
mov ecx, 8
xor edx, edx
call fcn.0042e540
add esp, 0x1c
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x7b4]
mov eax, dword [edx + 4]
call fcn.0042ee20
push 0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x438]
push ecx
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x118]
push eax
call fcn.00445659
add esp, 0x14
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x5dbbf8
push 0x5dbbfc
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x330]
push edx
call fcn.004456a5
add esp, 0x14
lea eax, [ebp - 0x6a8]
push eax
lea ecx, [ebp - 0x330]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 0xffffffff
je 0x5693b6
movsx edx, byte [ebp - 0x67c]
cmp edx, 0x2e
je 0x56938d
push 0
lea eax, [ebp - 0x67c]
push eax
lea ecx, [ebp - 0x438]
push ecx
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x7b0]
push eax
call fcn.004456a5
add esp, 0x14
mov ecx, dword [ebp - 0x6a8]
and ecx, 0x10
je 0x569376
movzx edx, byte [ebp + 0xc]
push edx
lea eax, [ebp - 0x7b0]
push eax
mov ecx, dword [ebp - 0x7b4]
call fcn.005690b0
jmp 0x56938d
movzx ecx, byte [ebp + 0xc]
push ecx
lea edx, [ebp - 0x7b0]
push edx
mov ecx, dword [ebp - 0x7b4]
call fcn.00568b40
lea eax, [ebp - 0x6a8]
push eax
mov ecx, dword [ebp - 0x460]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x569323
mov edx, dword [ebp - 0x460]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov al, 1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0043dd0c
mov esp, ebp
pop ebp
ret 8