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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x22bc
call fcn.00453130
mov eax, dword [0x49f2a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
inc dword [0x4a3d34]
mov dword [ebp - 0x22b0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x22bc], ebx
mov dword [ebp - 0x22b4], esi
mov dword [ebp - 0x22b8], eax
mov dword [ebp - 0x22a8], edi
cmp dword [0x4d659c], edi
je 0x413d2d
dec dword [0x4a3d34]
xor eax, eax
jmp 0x4140eb
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x413d32
sub eax, edx
sar eax, 1
je 0x413d80
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x413d48
sub eax, edx
sar eax, 1
cmp word [ebx + eax*2 - 2], 0x5c
jne 0x413d80
push esi
push ebx
push 0x46b890
mov esi, 0x803
lea eax, [ebp - 0x2054]
push esi
push eax
call fcn.004543c1
push ebx
push 0x46b888
jmp 0x413d9f
push esi
push ebx
push 0x46b87c
mov esi, 0x803
lea eax, [ebp - 0x2054]
push esi
push eax
call fcn.004543c1
push ebx
push 0x46b870
lea eax, [ebp - 0x102c]
push esi
push eax
call fcn.004543c1
add esp, 0x24
cmp dword [ebp + 0x14], edi
je 0x413e10
call dword [sym.imp.___total_physical_size__lu_MB_GetTickCount]
mov ecx, eax
sub ecx, dword [0x4a3d30]
cmp ecx, dword [ebp + 0x14]
jle 0x413e10
mov dword [0x4a3d30], eax
lea eax, [ebp - 0x2054]
push eax
push 0x46b850
call fcn.0045431a
mov esi, eax
mov eax, dword [0x4a3d2c]
pop ecx
pop ecx
cmp esi, eax
jg 0x413dff
push 0x469fcc
sub eax, esi
push eax
push 0x46b848
call fcn.0045431a
add esp, 0xc
push 0x46b844
call fcn.0045431a
pop ecx
mov dword [0x4a3d2c], esi
mov edi, dword [sym.imp.___total_physical_size__lu_MB_FindFirstFileW]
lea eax, [ebp - 0x22a4]
push eax
lea eax, [ebp - 0x102c]
push eax
call edi
mov dword [ebp - 0x22ac], eax
cmp eax, 0xffffffff
je 0x413fad
push 4
pop ebx
mov ecx, 0x46b840
lea eax, [ebp - 0x2278]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x413e67
test dx, dx
je 0x413e63
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x413e67
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x413e43
xor eax, eax
jmp 0x413e6c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x413f80
mov ecx, 0x46b838
lea eax, [ebp - 0x2278]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x413ea3
test dx, dx
je 0x413e9f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x413ea3
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x413e7f
xor eax, eax
jmp 0x413ea8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x413f80
test byte [ebp - 0x22a4], 0x10
je 0x413f80
test dword [ebp - 0x22a4], 0x400
jne 0x413f80
test byte [0x4cdde0], 2
je 0x413efd
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x2278]
push eax
push dword [ebp - 0x22a4]
push dword [0x4a3d34]
push str._4u:_0x_x_push_dir__ws__dirbuf:_ws__n
call fcn.0041c7ee
add esp, 0x14
cmp dword [0x4a3d34], 0x64
jbe 0x413f2b
push 0x64
lea eax, [ebp - 0x102c]
push eax
push dword [ebp - 0x22a4]
lea eax, [ebp - 0x2278]
push eax
push str.Warning:_Directory_depth_for__ws___4u__in__dirbuf:_ws__greater_than__d._Snapshot_doesnt_exclude_files_below_this_directory.
call fcn.0041c7ee
add esp, 0x14
jmp 0x413f80
push 1
push 8
call fcn.00450903
mov esi, eax
lea eax, [ebp - 0x2278]
push eax
call fcn.004542c5
add esp, 0xc
mov dword [esi], eax
lea eax, [ebp - 0x2278]
push eax
push dword [ebp - 0x22b4]
call fcn.0041d3af
test eax, eax
je 0x413f64
push 0x46b788
jmp 0x413f6a
push dword [ebp - 0x22b4]
call fcn.004542c5
pop ecx
mov dword [esi + 4], eax
push esi
lea eax, [ebp - 0x22a8]
push eax
call fcn.0043c081
lea eax, [ebp - 0x22a4]
push eax
push dword [ebp - 0x22ac]
call dword [sym.imp.___total_physical_size__lu_MB_FindNextFileW]
test eax, eax
jne 0x413e38
push dword [ebp - 0x22ac]
call dword [sym.imp.___total_physical_size__lu_MB_FindClose]
mov ebx, dword [ebp - 0x22bc]
push 0x250
lea eax, [ebp - 0x22a4]
push 0
push eax
call fcn.00450230
add esp, 0xc
lea eax, [ebp - 0x22a4]
push eax
lea eax, [ebp - 0x2054]
push eax
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x41401c
test byte [ebp - 0x22a4], 0x10
je 0x413fef
test dword [ebp - 0x22a4], 0x400
je 0x414003
push dword [ebp - 0x22b8]
lea eax, [ebp - 0x22a4]
push ebx
push eax
call dword [ebp - 0x22b0]
lea eax, [ebp - 0x22a4]
push eax
push esi
call dword [sym.imp.___total_physical_size__lu_MB_FindNextFileW]
test eax, eax
jne 0x413fda
push esi
call dword [sym.imp.___total_physical_size__lu_MB_FindClose]
lea eax, [ebp - 0x22a8]
push eax
call fcn.0043c0ea
xor edi, edi
jmp 0x4140ce
lea eax, [ebp - 0x22a8]
push eax
call fcn.0043c0b7
mov esi, eax
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x414042
sub eax, edx
sar eax, 1
je 0x414079
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x414058
sub eax, edx
sar eax, 1
cmp word [ebx + eax*2 - 2], 0x5c
jne 0x414079
push dword [esi]
push ebx
push 0x46b890
jmp 0x414081
push dword [esi]
push ebx
push 0x46b87c
lea eax, [ebp - 0x2054]
push 0x803
push eax
call fcn.004543c1
add esp, 0x14
push dword [ebp - 0x22b8]
lea eax, [ebp - 0x2054]
push dword [ebp - 0x22b0]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [esi + 4]
push eax
call fcn.00413ccc
push dword [esi]
call fcn.0045038b
push dword [esi + 4]
call fcn.0045038b
push esi
call fcn.0045038b
add esp, 0xc
cmp dword [ebp - 0x22a8], edi
jne 0x41402f
dec dword [0x4a3d34]
xor eax, eax
cmp dword [0x4d659c], edi
sete al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450b32
leave
ret 0x18