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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x4390dc
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x439396
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
mov eax, ebx
call fcn.00434fcc
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x25c]
mov ecx, 0x4393ac
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov eax, dword [ebp - 0x25c]
call fcn.00404c2c
push eax
call sub.kernel32.dll_FindFirstFileW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4392fd
lea eax, [ebp - 8]
lea edx, [ebp - 0x22c]
mov ecx, 0x104
call fcn.00404c00
mov eax, dword [ebp - 8]
mov edx, 0x4393b4
call fcn.00404d58
je 0x4392dc
mov eax, dword [ebp - 8]
mov edx, 0x4393bc
call fcn.00404d58
je 0x4392dc
lea eax, [ebp - 0x264]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov edx, dword [ebp - 0x264]
lea eax, [ebp - 0x260]
call fcn.00404674
mov eax, dword [ebp - 0x260]
mov edx, 0x4393cc
call fcn.004080e0
test eax, eax
je 0x4392dc
lea eax, [ebp - 0x26c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov edx, dword [ebp - 0x26c]
lea eax, [ebp - 0x268]
call fcn.00404674
mov eax, dword [ebp - 0x268]
mov edx, 0x4393e0
call fcn.004080e0
test eax, eax
je 0x4392dc
lea eax, [ebp - 0x274]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov edx, dword [ebp - 0x274]
lea eax, [ebp - 0x270]
call fcn.00404674
mov eax, dword [ebp - 0x270]
mov edx, 0x4393fc
call fcn.004080e0
test eax, eax
je 0x4392dc
lea eax, [ebp - 0x27c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov edx, dword [ebp - 0x27c]
lea eax, [ebp - 0x278]
call fcn.00404674
mov eax, dword [ebp - 0x278]
mov edx, 0x439414
call fcn.004080e0
test eax, eax
je 0x4392dc
lea eax, [ebp - 0x280]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov edx, dword [ebp - 0x280]
mov eax, 0x439430
call fcn.00404eb8
test eax, eax
jne 0x4392dc
test byte [ebp - 0x258], 0x10
je 0x4392a7
lea eax, [ebp - 0x284]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov eax, dword [ebp - 0x284]
mov edx, esi
call fcn.004390d4
jmp 0x4392dc
inc dword [0x467d1c]
lea eax, [ebp - 0x28c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404ca8
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x288]
call fcn.00436664
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 0x439138
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4393a0
lea eax, [ebp - 0x28c]
call fcn.00404a9c
lea eax, [ebp - 0x288]
call fcn.004043ec
lea eax, [ebp - 0x284]
mov edx, 3
call fcn.00404ab4
lea eax, [ebp - 0x278]
call fcn.004043ec
lea eax, [ebp - 0x274]
call fcn.00404a9c
lea eax, [ebp - 0x270]
call fcn.004043ec
lea eax, [ebp - 0x26c]
call fcn.00404a9c
lea eax, [ebp - 0x268]
call fcn.004043ec
lea eax, [ebp - 0x264]
call fcn.00404a9c
lea eax, [ebp - 0x260]
call fcn.004043ec
lea eax, [ebp - 0x25c]
call fcn.00404a9c
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404ab4
ret