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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x3a3911
mov eax, dword fs:[0]
push eax
sub esp, 0x8e0
mov eax, dword [0x4116ec]
xor eax, esp
mov dword [esp + 0x8d8], eax
push ebx
push esi
push edi
mov eax, dword [0x4116ec]
xor eax, esp
push eax
lea eax, [esp + 0x8f0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
push 0x24c
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0x84]
push ebx
push edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x88], ebx
call fcn.0033e420
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x299372
mov eax, dword [esi]
jmp 0x299374
mov eax, esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x3c8ec4
push eax
lea eax, [esp + 0x6e4]
push eax
call edi
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x6e0]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x29963b
lea ebx, [ebx]
push 0x206
lea ecx, [esp + 0x4da]
xor eax, eax
push ebx
push ecx
mov word [esp + 0x4e0], ax
call fcn.0033e420
add esp, 0xc
push 0x206
lea eax, [esp + 0x2d2]
xor edx, edx
push ebx
push eax
mov word [esp + 0x2d8], dx
call fcn.0033e420
add esp, 0xc
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.001f4c40
push eax
lea edx, [esp + 0x4dc]
push edx
call edi
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.001f4c40
push eax
lea ecx, [esp + 0x2d4]
push ecx
call edi
test byte [esp + 0x7c], 0x10
je 0x29954e
cmp word [esp + 0xa8], 0x2e
je 0x2995e8
xor edx, edx
mov edi, 7
lea eax, [esp + 0x4d4]
mov word [esp + 0x60], dx
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x299460
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x4d8]
push eax
lea ecx, [esp + 0x68]
call fcn.001f1d20
mov dword [esp + 0x8f8], ebx
xor ecx, ecx
lea eax, [esp + 0x2cc]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], cx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x2994a1
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x2d0]
push edx
lea ecx, [esp + 0x4c]
call fcn.001f1d20
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x4c]
push edx
mov byte [esp + 0x904], 1
call fcn.002992f0
test al, al
sete byte [esp + 0x13]
mov byte [esp + 0x8f8], bl
cmp dword [esp + 0x58], 8
jb 0x299504
mov eax, dword [esp + 0x44]
push eax
call fcn.00338a36
add esp, 4
xor ecx, ecx
mov dword [esp + 0x8f8], 0xffffffff
cmp dword [esp + 0x74], 8
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], cx
jb 0x299532
mov edx, dword [esp + 0x60]
push edx
call fcn.00338a36
add esp, 4
cmp byte [esp + 0x13], bl
je 0x2995e8
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
xor al, al
jmp 0x29963d
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
lea eax, [esp + 0x2cc]
mov dword [esp + 0x8f8], 2
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x299573
sub eax, edx
sar eax, 1
push eax
lea edi, [esp + 0x2c]
lea ecx, [esp + 0x2d0]
call fcn.002648c0
mov ecx, dword [esp + 0x2c]
mov edi, 0x10
add esp, 4
cmp dword [esp + 0x3c], edi
jae 0x2995a9
lea ecx, [esp + 0x28]
mov esi, dword [esp + 0x18]
call fcn.0028e8b0
test al, al
je 0x299607
mov dword [esp + 0x8f8], 0xffffffff
cmp dword [esp + 0x3c], edi
jb 0x2995d4
mov eax, dword [esp + 0x28]
push eax
call fcn.00338a36
add esp, 4
mov esi, dword [esp + 0x24]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x299634
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x2993b0
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [esp + 0x8f8], 0xffffffff
cmp dword [esp + 0x3c], edi
jb 0x299630
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00338a36
add esp, 4
xor al, al
jmp 0x29963d
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov al, 1
mov ecx, dword [esp + 0x8f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8d8]
xor ecx, esp
call fcn.00338a41
mov esp, ebp
pop ebp
ret 0xc