Function at 0x4090a0
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x46c
mov eax, dword [0x45c040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x468]
push esi
push edi
push 0x250
mov esi, edx
mov byte [ebx], 0
push 0
push eax
mov dword [ebp - 0x46c], esi
mov edi, ecx
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x210]
push 0x208
push 0
push eax
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x210]
push esi
push str._s
push 0xffffffffffffffff
push 0x104
push eax
call fcn.00401640
add esp, 0x14
cmp eax, 0xffffffff
jne 0x409136
push str._FindAndReturnFile__Failed_to_build_Start_Path__r_n
call fcn.00407f00
add esp, 4
mov byte [ebx], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x409174
push str._FindAndReturnFile__FindFirstFileW_Failed__r_n
call fcn.00407f00
add esp, 4
mov byte [ebx], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x43c]
push 0x44f7d8
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push 0x44f7dc
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.steamapps
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.appcache
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push 0x44f80c
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.clientui
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.controller_base
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.depotcache
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.friends
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.graphics
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.htmlcache
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.logs
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.music
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.package
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.public
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.resource
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.servers
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.steam
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.steamui
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.tenfoot
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
lea eax, ds:[ebp - 0x43c]
push str.Applist
push eax
call fcn.0042251d
add esp, 8
test eax, eax
je 0x409489
test byte [ebp - 0x468], 0x10
je 0x409473
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x46c]
lea eax, [ebp - 0x210]
push str._s_s
push 0xffffffffffffffff
push 0x104
push eax
call fcn.00401640
add esp, 0x18
cmp eax, 0xffffffff
je 0x4094b9
lea eax, ds:[ebp - 0x211]
mov byte [ebp - 0x211], 0
push eax
push 1
lea edx, [ebp - 0x210]
mov ecx, edi
call fcn.004090a0
add esp, 8
cmp byte [ebp - 0x211], 1
je 0x4094a6
jmp 0x409489
mov edx, edi
lea ecx, [ebp - 0x43c]
call fcn.00404f80
cmp al, 1
je 0x4094de
lea eax, [ebp - 0x468]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x409174
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
ret
push str._FindAndReturnFile__Failed_to_build_Start_Path___FILE_ATTRIBUTE_DIRECTORY__r_n
nop
call fcn.00407f00
add esp, 4
mov byte [ebx], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x46c]
push str._s_s
push 0xffffffffffffffff
push 0x104
push 0x45edf0
call fcn.00401640
add esp, 0x18
cmp eax, 0xffffffff
jne 0x409534
push str._FindAndReturnFile__Failed_to_build_Start_Path_____FILE_ATTRIBUTE_DIRECTORY__r_n
call fcn.00407f00
add esp, 4
mov byte [ebx], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
mov byte [0x45e8ed], 1
pop ebx
call fcn.0041b32c
mov esp, ebp
pop ebp
ret