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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x5e
push 0
push 0
dec ecx
jne 0x4745d5
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040446c
mov eax, dword [ebp - 8]
call fcn.0040446c
xor eax, eax
push ebp
push 0x474980
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x168]
push eax
push dword [ebp - 4]
push dword [ebp - 8]
push 0x474998
lea eax, [ebp - 0x2d0]
mov edx, 3
call fcn.0040433c
mov eax, dword [ebp - 0x2d0]
call fcn.0040447c
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov esi, eax
test esi, esi
jne 0x474649
xor ebx, ebx
jmp 0x474948
mov eax, dword [0x4780c4]
mov eax, dword [eax]
call fcn.00454bbc
test byte [ebp - 0x168], 0x10
jne 0x474801
lea eax, [ebp - 0x2a7]
mov edx, 0xff
call fcn.0040698c
mov eax, dword [ebp - 8]
call fcn.0040427c
mov ecx, eax
test ecx, ecx
jle 0x474699
mov edx, 1
lea eax, [ebp - 0x2a7]
mov ebx, dword [ebp - 8]
mov bl, byte [ebx + edx - 1]
mov byte [eax], bl
inc edx
inc eax
dec ecx
jne 0x47468b
lea eax, [ebp - 0x1a8]
mov edx, 0x40
call fcn.0040698c
mov edx, 0x40
lea eax, [ebp - 0x13c]
lea ecx, [ebp - 0x1a8]
mov bl, byte [eax]
mov byte [ecx], bl
cmp byte [eax], 0
je 0x4746c8
inc ecx
inc eax
dec edx
jne 0x4746ba
push dword [ebp - 4]
push dword [ebp - 8]
lea eax, [ebp - 0x2d8]
lea edx, [ebp - 0x13c]
mov ecx, 0x104
call fcn.0040422c
push dword [ebp - 0x2d8]
lea eax, [ebp - 0x2d4]
mov edx, 3
call fcn.0040433c
mov eax, dword [ebp - 0x2d4]
lea edx, [ebp - 0x2cb]
call fcn.00456ff0
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x2cb]
call fcn.00473da8
lea eax, [ebp - 0x2dc]
lea edx, [ebp - 0x13c]
mov ecx, 0x104
call fcn.0040422c
mov ecx, dword [ebp - 0x2dc]
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 8]
call fcn.004042c8
lea edx, [ebp - 0x2bb]
mov eax, dword [ebp - 0x28]
call fcn.00456f7c
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x2bb]
call fcn.00473da8
push dword [ebp - 0x20]
push 0x4749a4
push dword [ebp - 0x24]
lea eax, [ebp - 0x2e0]
mov edx, 3
call fcn.0040433c
mov edx, dword [ebp - 0x2e0]
mov eax, dword [0x47b5ec]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dl, 1
mov eax, dword [0x411fbc]
call fcn.0040323c
mov dword [ebp - 0x10], eax
push dword [ebp - 4]
push dword [ebp - 8]
lea eax, [ebp - 0x2e8]
lea edx, [ebp - 0x13c]
mov ecx, 0x104
call fcn.0040422c
push dword [ebp - 0x2e8]
lea eax, [ebp - 0x2e4]
mov edx, 3
call fcn.0040433c
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x10]
call fcn.00416028
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.00415878
lea eax, [ebp - 0x2ab]
push eax
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00473fd4
mov eax, dword [ebp - 0x10]
call fcn.0040326c
jmp 0x474877
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0x13c]
mov ecx, 0x104
call fcn.0040422c
mov eax, dword [ebp - 0x1c]
mov edx, 0x4749b0
call fcn.004043c8
je 0x474877
mov eax, dword [ebp - 0x1c]
mov edx, 0x4749bc
call fcn.004043c8
je 0x474877
push dword [ebp - 8]
lea eax, [ebp - 0x2f0]
lea edx, [ebp - 0x13c]
mov ecx, 0x104
call fcn.0040422c
push dword [ebp - 0x2f0]
push 0x4749c8
lea eax, [ebp - 0x2ec]
mov edx, 3
call fcn.0040433c
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.004745cc
lea eax, [ebp - 0x168]
push eax
push esi
call sub.kernel32.dll_FindNextFileA
test eax, eax
jne 0x474649
cmp dword [0x47b5e0], 0xfffffffe
je 0x474940
lea eax, [ebp - 0x2a7]
mov edx, 0xff
call fcn.0040698c
push esi
mov esi, 0x4749cc
lea edi, [ebp - 0x2a7]
mov ecx, 0x3f
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebp - 0x1a8]
mov edx, 0x40
call fcn.0040698c
push esi
mov esi, 0x474acc
lea edi, [ebp - 0x1a8]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
pop esi
mov dl, 1
mov eax, dword [0x411fbc]
call fcn.0040323c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2f4]
mov ecx, 0x474b14
mov edx, dword [0x47b5e4]
call fcn.004042c8
mov edx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x10]
call fcn.00416028
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.00415878
lea eax, [ebp - 0x2ab]
push eax
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00473fd4
mov eax, dword [ebp - 0x10]
call fcn.0040326c
push esi
call sub.kernel32.dll_FindClose_1
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x474987
lea eax, [ebp - 0x2f4]
mov edx, 0xa
call fcn.00403fe0
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00403fe0
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403fe0
ret