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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc3c
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea edi, [ebp - 0x360]
lea eax, [ebp - 0x11e]
mov edx, dword [ebp - 4]
call fcn.004b81b0
lea edx, [ebp - 0x11e]
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
call fcn.004aedb4
mov eax, dword [0x4beb54]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
xor eax, eax
mov dword [ebp - 0x1c], eax
mov byte [edi + 0x2c], 0
push edi
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_FindFirstFileA
mov dword [ebp - 0x14], eax
jmp 0x46304d
cmp al, 0x2e
je 0x463039
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
call fcn.004af018
fistp qword [ebp - 0x10]
wait
test byte [edi], 0x10
setne bl
mov eax, dword [0x4be784]
cmp byte [eax + 0x1908], 0
jne 0x462d92
test bl, bl
je 0x462fc4
mov eax, dword [0x4be784]
cmp byte [eax + 0x1909], 0
jne 0x462da9
cmp bl, 1
je 0x462fc4
test bl, bl
jne 0x462dcb
mov edx, dword [0x4be784]
add edx, 0x1a3a
lea eax, [edi + 0x2c]
xor ecx, ecx
call fcn.004ae4fc
cmp al, 1
jl 0x462fc4
mov edx, 0x463068
lea eax, [ebp - 0x380]
call fcn.004b81b0
lea edx, [ebp - 0x11e]
lea eax, [ebp - 0x21e]
call fcn.004b81b0
lea eax, [ebp - 0x21e]
call fcn.004aedb4
lea eax, [edi + 0x2c]
push eax
lea eax, [ebp - 0x21e]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4be784]
cmp byte [eax + 0x1874], 0
je 0x462ed6
push 0
lea eax, [ebp - 0x1d]
push eax
push 0
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x18]
add ecx, 0x15c
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x18]
mov dl, byte [edx + 0x442]
lea eax, [ebp - 0x21e]
call fcn.004a5098
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cdq
cmp edx, 0
jne 0x462e59
cmp eax, 0xfffffffd
jae 0x462ea0
jmp 0x462e5b
jge 0x462ea0
fild dword [ebp - 0x18]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
mov edx, eax
lea eax, [ebp - 0x380]
call fcn.004b81b0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
fild dword [eax + 0x174]
fild qword [ebp - 0x10]
fcompp
fnstsw ax
sahf
jbe 0x462ed6
push 0x46306c
lea eax, [ebp - 0x380]
push eax
call sub.kernel32.dll_lstrcatA
jmp 0x462ed6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
movsx eax, byte [eax + 0x442]
mov edx, dword [0x4be4fc]
cmp byte [edx + eax - 1], 0xff
jne 0x462ed6
lea ecx, [ebp - 0x380]
lea edx, [ebp - 0x21e]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
add eax, 0x15c
call fcn.004a32f8
mov eax, dword [0x4be784]
cmp byte [eax + 0x1875], 0
je 0x462f0c
lea ecx, [ebp - 0x3c1]
mov edx, dword [0x4be784]
mov dl, byte [edx + 0x1875]
lea eax, [ebp - 0x21e]
call fcn.0042edf8
test al, al
jne 0x462f0c
mov byte [ebp - 0x3c1], 0
lea eax, [edi + 4]
call fcn.00411338
lea eax, [edi + 0x14]
call fcn.00411338
lea eax, [edi + 0xc]
call fcn.00411338
lea eax, [ebp - 0x11e]
push eax
push 1
push ebx
mov esi, dword [edi]
push esi
mov eax, dword [ebp - 0x18]
push eax
test esi, 0x800
setne al
push eax
test esi, 0x4000
setne al
push eax
test esi, 2
setne al
push eax
test esi, 4
setne al
push eax
test esi, 1
setne al
push eax
test esi, 0x20
setne al
push eax
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push 0
push 0
lea eax, [edi + 4]
push eax
lea eax, [edi + 0x14]
push eax
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x380]
push eax
lea eax, [ebp - 0x3c1]
push eax
push 0xffffffffffffffff
mov al, byte [ebp - 0x1e]
push eax
lea ecx, [edi + 0x2c]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
call fcn.0045e5d0
test al, al
jne 0x462fc4
mov eax, dword [0x4bed48]
mov byte [eax], 1
jmp 0x463058
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, 0x1f
cdq
idiv ecx
test edx, edx
je 0x462fe4
mov eax, dword [0x4be784]
cmp byte [eax + 0x1875], 0
je 0x462ff3
call fcn.004ae0a4
mov eax, dword [0x4bed48]
cmp byte [eax], 0
jne 0x463058
test bl, bl
je 0x463039
lea edx, [ebp - 0x11e]
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
call fcn.004aedb4
lea eax, [edi + 0x2c]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp + 8]
push eax
mov eax, dword [0x4bedb0]
call fcn.00462cf4
pop ecx
mov eax, dword [0x4bed48]
cmp byte [eax], 0
jne 0x463058
push edi
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x463058
mov al, byte [edi + 0x2c]
test al, al
jne 0x462d5f
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_FindClose
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret