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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x16cc
call fcn.00448ae0
mov eax, dword [0x5052a0]
xor eax, ebp
mov dword [ebp - 8], eax
push edi
mov dword [ebp - 0x167c], ecx
mov dword [ebp - 0x80c], 0
xor eax, eax
mov word [ebp - 0x808], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x806]
push ecx
call fcn.0043ef50
add esp, 0xc
xor edx, edx
mov word [ebp - 0x1260], dx
push 0x7fe
push 0
lea eax, [ebp - 0x125e]
push eax
call fcn.0043ef50
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1680], ecx
lea edx, [ebp - 0x808]
mov dword [ebp - 0x1684], edx
mov eax, dword [ebp - 0x1684]
mov dword [ebp - 0x1688], eax
mov ecx, dword [ebp - 0x1680]
mov dx, word [ecx]
mov word [ebp - 0x168a], dx
mov eax, dword [ebp - 0x1684]
mov cx, word [ebp - 0x168a]
mov word [eax], cx
mov edx, dword [ebp - 0x1680]
add edx, 2
mov dword [ebp - 0x1680], edx
mov eax, dword [ebp - 0x1684]
add eax, 2
mov dword [ebp - 0x1684], eax
cmp word [ebp - 0x168a], 0
jne 0x40f4e7
lea ecx, [ebp - 0x808]
add ecx, 0xfffffffe
mov dword [ebp - 0x1690], ecx
mov edx, dword [ebp - 0x1690]
mov ax, word [edx + 2]
mov word [ebp - 0x1692], ax
add dword [ebp - 0x1690], 2
cmp word [ebp - 0x1692], 0
jne 0x40f53e
mov edi, dword [ebp - 0x1690]
mov ecx, dword [0x4dd150]
mov dword [edi], ecx
mov edx, dword [0x4dd154]
mov dword [edi + 4], edx
mov ax, word [0x4dd158]
mov word [edi + 8], ax
lea ecx, [ebp - 0xa60]
push ecx
lea edx, [ebp - 0x808]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x40f825
mov dword [ebp - 0x1698], 0x4dd15c
lea eax, [ebp - 0xa34]
mov dword [ebp - 0x169c], eax
mov ecx, dword [ebp - 0x169c]
mov dx, word [ecx]
mov word [ebp - 0x169e], dx
mov eax, dword [ebp - 0x1698]
cmp dx, word [eax]
jne 0x40f61e
cmp word [ebp - 0x169e], 0
je 0x40f612
mov ecx, dword [ebp - 0x169c]
mov dx, word [ecx + 2]
mov word [ebp - 0x16a0], dx
mov eax, dword [ebp - 0x1698]
cmp dx, word [eax + 2]
jne 0x40f61e
add dword [ebp - 0x169c], 4
add dword [ebp - 0x1698], 4
cmp word [ebp - 0x16a0], 0
jne 0x40f5b8
mov dword [ebp - 0x16a4], 0
jmp 0x40f629
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0x16a4], ecx
mov edx, dword [ebp - 0x16a4]
mov dword [ebp - 0x16a8], edx
cmp dword [ebp - 0x16a8], 0
je 0x40f6de
mov dword [ebp - 0x16ac], 0x4dd160
lea eax, [ebp - 0xa34]
mov dword [ebp - 0x16b0], eax
mov ecx, dword [ebp - 0x16b0]
mov dx, word [ecx]
mov word [ebp - 0x16b2], dx
mov eax, dword [ebp - 0x16ac]
cmp dx, word [eax]
jne 0x40f6be
cmp word [ebp - 0x16b2], 0
je 0x40f6b2
mov ecx, dword [ebp - 0x16b0]
mov dx, word [ecx + 2]
mov word [ebp - 0x16b4], dx
mov eax, dword [ebp - 0x16ac]
cmp dx, word [eax + 2]
jne 0x40f6be
add dword [ebp - 0x16b0], 4
add dword [ebp - 0x16ac], 4
cmp word [ebp - 0x16b4], 0
jne 0x40f658
mov dword [ebp - 0x16b8], 0
jmp 0x40f6c9
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0x16b8], ecx
mov edx, dword [ebp - 0x16b8]
mov dword [ebp - 0x16bc], edx
cmp dword [ebp - 0x16bc], 0
jne 0x40f6e3
jmp 0x40f802
lea eax, [ebp - 0xa34]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x4dd168
lea edx, [ebp - 0x1260]
push edx
call fcn.0040d470
add esp, 0x10
mov eax, dword [ebp - 0xa40]
mov dword [ebp - 0x1264], eax
mov ecx, dword [ebp - 0xa60]
and ecx, 0x10
je 0x40f738
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1260]
push ecx
mov ecx, dword [ebp - 0x167c]
call fcn.0040f460
jmp 0x40f802
lea edx, [ebp - 0x1260]
mov dword [ebp - 0x16c0], edx
lea eax, [ebp - 0x1678]
mov dword [ebp - 0x16c4], eax
mov ecx, dword [ebp - 0x16c4]
mov dword [ebp - 0x16c8], ecx
mov edx, dword [ebp - 0x16c0]
mov ax, word [edx]
mov word [ebp - 0x16ca], ax
mov ecx, dword [ebp - 0x16c4]
mov dx, word [ebp - 0x16ca]
mov word [ecx], dx
mov eax, dword [ebp - 0x16c0]
add eax, 2
mov dword [ebp - 0x16c0], eax
mov ecx, dword [ebp - 0x16c4]
add ecx, 2
mov dword [ebp - 0x16c4], ecx
cmp word [ebp - 0x16ca], 0
jne 0x40f75c
cmp dword [ebp + 0x10], 1
jne 0x40f7c4
lea edx, [ebp - 0x1678]
push edx
mov ecx, dword [ebp - 0x167c]
add ecx, 0x2290
call fcn.00415320
jmp 0x40f802
cmp dword [ebp + 0x10], 2
jne 0x40f7e4
lea eax, [ebp - 0x1678]
push eax
mov ecx, dword [ebp - 0x167c]
add ecx, 0x22a0
call fcn.00415320
jmp 0x40f802
cmp dword [ebp + 0x10], 3
jne 0x40f802
lea ecx, [ebp - 0x1678]
push ecx
mov ecx, dword [ebp - 0x167c]
add ecx, 0x22b0
call fcn.00415320
lea edx, [ebp - 0xa60]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40f5a2
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 1
pop edi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00434ee7
mov esp, ebp
pop ebp
ret 0xc