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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x435c2c
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x435ee6
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
mov eax, ebx
call fcn.00431c30
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x25c]
mov ecx, 0x435efc
mov edx, dword [ebp - 4]
call fcn.00404c98
mov eax, dword [ebp - 0x25c]
call fcn.00404c1c
push eax
call sub.kernel32.dll_FindFirstFileW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x435e4d
lea eax, [ebp - 8]
lea edx, [ebp - 0x22c]
mov ecx, 0x104
call fcn.00404bf0
mov eax, dword [ebp - 8]
mov edx, 0x435f04
call fcn.00404d48
je 0x435e2c
mov eax, dword [ebp - 8]
mov edx, 0x435f0c
call fcn.00404d48
je 0x435e2c
lea eax, [ebp - 0x264]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov edx, dword [ebp - 0x264]
lea eax, [ebp - 0x260]
call fcn.00404690
mov eax, dword [ebp - 0x260]
mov edx, 0x435f1c
call fcn.00408120
test eax, eax
je 0x435e2c
lea eax, [ebp - 0x26c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov edx, dword [ebp - 0x26c]
lea eax, [ebp - 0x268]
call fcn.00404690
mov eax, dword [ebp - 0x268]
mov edx, 0x435f30
call fcn.00408120
test eax, eax
je 0x435e2c
lea eax, [ebp - 0x274]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov edx, dword [ebp - 0x274]
lea eax, [ebp - 0x270]
call fcn.00404690
mov eax, dword [ebp - 0x270]
mov edx, 0x435f4c
call fcn.00408120
test eax, eax
je 0x435e2c
lea eax, [ebp - 0x27c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov edx, dword [ebp - 0x27c]
lea eax, [ebp - 0x278]
call fcn.00404690
mov eax, dword [ebp - 0x278]
mov edx, 0x435f64
call fcn.00408120
test eax, eax
je 0x435e2c
lea eax, [ebp - 0x280]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov edx, dword [ebp - 0x280]
mov eax, 0x435f80
call fcn.00404ea8
test eax, eax
jne 0x435e2c
test byte [ebp - 0x258], 0x10
je 0x435df7
lea eax, [ebp - 0x284]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov eax, dword [ebp - 0x284]
mov edx, esi
call fcn.00435c24
jmp 0x435e2c
inc dword [0x464d08]
lea eax, [ebp - 0x28c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404c98
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x288]
call fcn.004332c0
mov edx, dword [ebp - 0x288]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x258]
push eax
push ebx
call sub.kernel32.dll_FindNextFileW
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x435c88
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x435ef0
lea eax, [ebp - 0x28c]
call fcn.00404a8c
lea eax, [ebp - 0x288]
call fcn.004043ec
lea eax, [ebp - 0x284]
mov edx, 3
call fcn.00404aa4
lea eax, [ebp - 0x278]
call fcn.004043ec
lea eax, [ebp - 0x274]
call fcn.00404a8c
lea eax, [ebp - 0x270]
call fcn.004043ec
lea eax, [ebp - 0x26c]
call fcn.00404a8c
lea eax, [ebp - 0x268]
call fcn.004043ec
lea eax, [ebp - 0x264]
call fcn.00404a8c
lea eax, [ebp - 0x260]
call fcn.004043ec
lea eax, [ebp - 0x25c]
call fcn.00404a8c
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404aa4
ret