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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4294
call sub.ntdll.dll__chkstk
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push 0x250
push ebx
mov eax, dword [edi]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x58]
push eax
call sub.ntdll.dll_memset
push 0x2000
lea eax, [esp + 0x22b0]
push ebx
push eax
call sub.ntdll.dll_memset
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcatW]
lea eax, [esp + 0x22b8]
add esp, 0x18
push dword [ebp + 0xc]
push eax
call esi
push 0x1004ad04
lea eax, [esp + 0x22a4]
push eax
call esi
mov eax, dword [edi + 4]
xorps xmm0, xmm0
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x22a4]
movlpd qword [esp + 0x1c], xmm0
push eax
movlpd qword [esp + 0x28], xmm0
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x54], 0x2072024
mov dword [esp + 0x44], 0x3002
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], ebx
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
mov ebx, eax
test ebx, ebx
je 0x10007c76
lea eax, [esp + 0x50]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
test eax, eax
je 0x10007c76
push 0x2e
pop eax
cmp word [esp + 0x7c], ax
jne 0x10007b4c
cmp word [esp + 0x7e], 0
je 0x10007b14
cmp word [esp + 0x7e], ax
jne 0x10007b4c
cmp word [esp + 0x80], 0
je 0x10007b14
test byte [esp + 0x50], 0x10
je 0x10007bca
push 0x2000
lea eax, [esp + 0x2a4]
push 0
push eax
call sub.ntdll.dll_memset
add esp, 0xc
lea eax, [esp + 0x2a0]
push dword [ebp + 0xc]
push eax
call esi
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x2a4]
push eax
call esi
push 0x1004aab4
lea eax, [esp + 0x2a4]
push eax
call esi
push 0xa
call dword [sym.imp.KERNEL32.DLL_Sleep]
push dword [ebp + 0x18]
lea eax, [esp + 0x2a4]
push dword [ebp + 0x14]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
push eax
lea eax, [esp + 0x2ac]
push eax
push edi
call fcn.10007a46
add esp, 0x14
jmp 0x10007b14
push dword [ebp + 0x14]
lea eax, [esp + 0x80]
push eax
call dword [sym.imp.ntdll.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x10007b14
mov eax, dword [ebp + 0x10]
add eax, 0x250
mov dword [esp + 0x40], eax
call fcn.100030eb
mov esi, eax
lea eax, [esp + 0x18]
push 0x38
push eax
push esi
call dword [esi + 0x14]
push 0x250
lea eax, [esp + 0x60]
push eax
push esi
call dword [esi + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call dword [esi + 0x14]
add esp, 0x24
call dword [sym.imp.KERNEL32.DLL_GetCurrentThread]
mov ecx, dword [esp + 0x14]
cdq
push edx
push eax
call fcn.1000af85
pop ecx
pop ecx
test eax, eax
je 0x10007c43
push 0xa
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
je 0x10007c6f
cmp dword [esp + 0x10], 0
je 0x10007c6f
push esi
call dword [esi + 0x18]
pop ecx
push eax
push 0
push esi
call dword [esi + 0x1c]
pop ecx
pop ecx
push eax
mov eax, dword [esp + 0x18]
push eax
call dword [eax + 0x18]
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcatW]
add esp, 0xc
jmp 0x10007b14
mov ecx, esi
call fcn.100031f9
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret