Function at 0x546d9c
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 0x547074
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x150]
mov ecx, 0x54708c
mov edx, dword [ebp - 4]
call main
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 0x547038
cmp byte [0xbd34e0], 3
je 0x547040
mov eax, dword [0x55e810]
mov eax, dword [eax]
call fcn.0048fe70
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00404450
push dword [ebp - 4]
push 0x54709c
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.00408764
mov eax, dword [ebp - 0x154]
push eax
lea edx, [ebp - 0x15c]
mov eax, 0x5470a8
call fcn.00408764
mov eax, dword [ebp - 0x15c]
pop edx
call fcn.004047e4
test eax, eax
jg 0x547046
mov eax, dword [ebp - 0x14c]
cmp eax, 0x10
je 0x546eec
cmp eax, 2
je 0x546eec
cmp eax, 4
je 0x546eec
cmp eax, 0x80
je 0x546eec
cmp eax, 0x100
je 0x546eec
test eax, eax
jbe 0x547025
cmp eax, 0x270f
jae 0x547025
push dword [ebp - 4]
push 0x54709c
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.0047002c
mov eax, dword [ebp - 0xc]
mov edx, 0x5470b8
call fcn.004045ec
je 0x546f88
mov eax, dword [ebp - 0xc]
mov edx, 0x5470c4
call fcn.004045ec
je 0x546f88
push dword [ebp - 4]
push 0x54709c
push dword [ebp - 0xc]
lea eax, [ebp - 0x164]
mov edx, 3
call fcn.00404560
mov eax, dword [ebp - 0x164]
call fcn.00409280
test al, al
je 0x546f88
push dword [ebp - 4]
push 0x54709c
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.00546d9c
push dword [ebp - 4]
push 0x54709c
push dword [ebp - 0xc]
lea eax, [ebp - 0x16c]
mov edx, 3
call fcn.00404560
mov eax, dword [ebp - 0x16c]
call fcn.00409270
test al, al
je 0x547025
mov eax, esi
call fcn.00492aa8
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.00492abc
add eax, 0xc
call fcn.004041e0
mov edx, edi
mov eax, esi
call fcn.00492abc
add eax, 0x10
call fcn.004041e0
mov edx, edi
mov eax, esi
call fcn.00492abc
add eax, 0x14
call fcn.004041e0
push dword [ebp - 4]
push 0x54709c
push dword [ebp - 0xc]
mov edx, edi
mov eax, esi
call fcn.00492abc
add eax, 0x28
mov edx, 3
call fcn.00404560
mov edx, edi
mov eax, esi
call fcn.00492abc
add eax, 0x1c
mov edx, 0x5470d0
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 0x546e33
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54707b
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