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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe94
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0xc], ebx
mov esi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404690
xor eax, eax
push ebp
push 0x54002c
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x150]
mov ecx, 0x540044
mov edx, dword [ebp - 4]
call fcn.004044ec
mov eax, dword [ebp - 0x150]
call fcn.004046a0
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
setne al
jmp 0x53fff0
cmp byte [0xbce468], 3
je 0x53fff8
mov eax, dword [0x559800]
mov eax, dword [eax]
call fcn.00490fec
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00404450
push dword [ebp - 4]
push 0x540054
push dword [ebp - 0xc]
lea eax, [ebp - 0x158]
mov edx, 3
call fcn.00404560
mov eax, dword [ebp - 0x158]
lea edx, [ebp - 0x154]
call fcn.0040877c
mov eax, dword [ebp - 0x154]
push eax
lea edx, [ebp - 0x15c]
mov eax, 0x540060
call fcn.0040877c
mov eax, dword [ebp - 0x15c]
pop edx
call fcn.004047e4
test eax, eax
jg 0x53fffe
mov eax, dword [ebp - 0x14c]
cmp eax, 0x10
je 0x53fea4
cmp eax, 2
je 0x53fea4
cmp eax, 4
je 0x53fea4
cmp eax, 0x80
je 0x53fea4
cmp eax, 0x100
je 0x53fea4
test eax, eax
jbe 0x53ffdd
cmp eax, 0x270f
jae 0x53ffdd
push dword [ebp - 4]
push 0x540054
push dword [ebp - 0xc]
lea eax, [ebp - 0x160]
mov edx, 3
call fcn.00404560
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 8]
call fcn.004711a8
mov eax, dword [ebp - 0xc]
mov edx, 0x540070
call fcn.004045ec
je 0x53ff40
mov eax, dword [ebp - 0xc]
mov edx, 0x54007c
call fcn.004045ec
je 0x53ff40
push dword [ebp - 4]
push 0x540054
push dword [ebp - 0xc]
lea eax, [ebp - 0x164]
mov edx, 3
call fcn.00404560
mov eax, dword [ebp - 0x164]
call fcn.00409298
test al, al
je 0x53ff40
push dword [ebp - 4]
push 0x540054
push dword [ebp - 0xc]
lea eax, [ebp - 0x168]
mov edx, 3
call fcn.00404560
mov eax, dword [ebp - 0x168]
mov ecx, esi
mov edx, dword [ebp - 8]
call fcn.0053fd54
push dword [ebp - 4]
push 0x540054
push dword [ebp - 0xc]
lea eax, [ebp - 0x16c]
mov edx, 3
call fcn.00404560
mov eax, dword [ebp - 0x16c]
call fcn.00409288
test al, al
je 0x53ffdd
mov eax, esi
call fcn.00493c50
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.00493c64
add eax, 0xc
call fcn.004041e0
mov edx, edi
mov eax, esi
call fcn.00493c64
add eax, 0x10
call fcn.004041e0
mov edx, edi
mov eax, esi
call fcn.00493c64
add eax, 0x14
call fcn.004041e0
push dword [ebp - 4]
push 0x540054
push dword [ebp - 0xc]
mov edx, edi
mov eax, esi
call fcn.00493c64
add eax, 0x28
mov edx, 3
call fcn.00404560
mov edx, edi
mov eax, esi
call fcn.00493c64
add eax, 0x1c
mov edx, 0x540088
call fcn.00404234
lea eax, [ebp - 0x14c]
push eax
push ebx
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x53fdeb
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x540033
lea eax, [ebp - 0x16c]
mov edx, 8
call fcn.00404204
lea eax, [ebp - 0xc]
call fcn.004041e0
lea eax, [ebp - 4]
call fcn.004041e0
ret