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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41a73c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x738
push ebx
push esi
push edi
cmp dword [ebp + 8], 0
je 0x402d4d
cmp dword [ebp + 0x10], 0
jne 0x402d52
jmp 0x403379
push 0x250
push 0
lea eax, [ebp - 0x25c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov word [ebp - 0x464], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x462]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x464]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
xor ecx, ecx
mov cx, word [ebp + eax*2 - 0x466]
cmp ecx, 0x5c
je 0x402dd4
push 0x104
push 0x41c7fc
lea edx, [ebp - 0x464]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncat]
add esp, 0xc
push 0x104
push 0x41c7f8
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.MSVCRT.dll_wcsncat]
add esp, 0xc
mov word [ebp - 0x66c], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x66a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x66c]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x66c]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
xor ecx, ecx
mov cx, word [ebp + eax*2 - 0x66e]
cmp ecx, 0x5c
je 0x402e5a
push 0x104
push 0x41c7fc
lea edx, [ebp - 0x66c]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncat]
add esp, 0xc
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x464]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x670], eax
cmp dword [ebp - 0x670], 0
je 0x402e86
cmp dword [ebp - 0x670], 0xffffffff
jne 0x402e8b
jmp 0x403379
mov edx, dword [ebp - 0x25c]
and edx, 0x10
test edx, edx
jne 0x402f9d
push 0x41c7f4
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x402f9d
push 0x41c7ec
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x402f9d
lea edx, [ebp - 0x230]
push edx
lea ecx, [ebp - 0x674]
call fcn.00401d60
mov dword [ebp - 0x6a8], eax
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x6ac]
push ecx
lea edx, [ebp - 0x66c]
push edx
lea ecx, [ebp - 0x678]
call fcn.00401d60
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x6b4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x6b4]
push ecx
lea edx, [ebp - 0x67c]
push edx
call fcn.00401f90
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x6bc]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00406ee0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x67c]
call fcn.00401df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x678]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x674]
call fcn.00401df0
jmp 0x4030c8
mov edx, dword [ebp + 0xc]
and edx, 0xff
test edx, edx
je 0x4030c8
mov eax, dword [ebp - 0x25c]
and eax, 0x10
test eax, eax
je 0x4030c8
push 0x41c7f4
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4030c8
push 0x41c7ec
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4030c8
mov eax, dword [ebp + 0x10]
push eax
mov cl, byte [ebp + 0xc]
push ecx
lea edx, [ebp - 0x230]
push edx
lea ecx, [ebp - 0x680]
call fcn.00401d60
mov dword [ebp - 0x6c0], eax
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x6c4]
push ecx
lea edx, [ebp - 0x66c]
push edx
lea ecx, [ebp - 0x684]
call fcn.00401d60
mov dword [ebp - 0x6c8], eax
mov eax, dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x6cc]
push ecx
lea edx, [ebp - 0x688]
push edx
call fcn.00401f90
mov dword [ebp - 0x6d0], eax
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x6d4], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x6d4]
call fcn.00401dd0
push eax
call fcn.00402d20
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x688]
call fcn.00401df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x684]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x680]
call fcn.00401df0
mov ecx, 1
test ecx, ecx
je 0x40336c
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [ebp - 0x670]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x40335a
mov ecx, dword [ebp - 0x25c]
and ecx, 0x10
test ecx, ecx
jne 0x40322d
push 0x41c7f4
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x40322d
push 0x41c7ec
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x40322d
lea ecx, [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x690]
call fcn.00401d60
mov dword [ebp - 0x6d8], eax
mov edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6dc], edx
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x6dc]
push eax
lea ecx, [ebp - 0x66c]
push ecx
lea ecx, [ebp - 0x694]
call fcn.00401d60
mov dword [ebp - 0x6e0], eax
mov edx, dword [ebp - 0x6e0]
mov dword [ebp - 0x6e4], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x6e4]
push eax
lea ecx, [ebp - 0x698]
push ecx
call fcn.00401f90
mov dword [ebp - 0x6e8], eax
mov edx, dword [ebp - 0x6e8]
mov dword [ebp - 0x6ec], edx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x6ec]
call fcn.00401dd0
push eax
lea ecx, [ebp - 0x68c]
call fcn.00401d60
mov byte [ebp - 4], 9
lea eax, [ebp - 0x68c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00406ee0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x68c]
call fcn.00401df0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x698]
call fcn.00401df0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x694]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x690]
call fcn.00401df0
jmp 0x403358
mov ecx, dword [ebp + 0xc]
and ecx, 0xff
test ecx, ecx
je 0x403358
mov edx, dword [ebp - 0x25c]
and edx, 0x10
test edx, edx
je 0x403358
push 0x41c7f4
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x403358
push 0x41c7ec
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x403358
mov edx, dword [ebp + 0x10]
push edx
mov al, byte [ebp + 0xc]
push eax
lea ecx, [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x69c]
call fcn.00401d60
mov dword [ebp - 0x6f0], eax
mov edx, dword [ebp - 0x6f0]
mov dword [ebp - 0x6f4], edx
mov dword [ebp - 4], 0xa
mov eax, dword [ebp - 0x6f4]
push eax
lea ecx, [ebp - 0x66c]
push ecx
lea ecx, [ebp - 0x6a0]
call fcn.00401d60
mov dword [ebp - 0x6f8], eax
mov edx, dword [ebp - 0x6f8]
mov dword [ebp - 0x6fc], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x6a4]
push ecx
call fcn.00401f90
mov dword [ebp - 0x700], eax
mov edx, dword [ebp - 0x700]
mov dword [ebp - 0x704], edx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x704]
call fcn.00401dd0
push eax
call fcn.00402d20
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6a4]
call fcn.00401df0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6a0]
call fcn.00401df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x69c]
call fcn.00401df0
jmp 0x403367
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x403367
jmp 0x40336c
jmp 0x4030c8
mov eax, dword [ebp - 0x670]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret