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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x70
push 0xffffffffffffffff
push 0x461f2c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x170
mov eax, edx
mov dword [ebp + 0x34], 0xf
push ebx
push esi
mov dword [ebp + 0x68], eax
mov esi, dword [eax + 4]
sub esi, dword [eax]
mov eax, 0x2aaaaaab
imul esi
push edi
sar edx, 2
mov edi, ecx
mov eax, edx
mov dword [ebp + 0x30], 0
shr eax, 0x1f
add eax, edx
mov byte [ebp + 0x20], 0
mov dword [ebp + 0x18], eax
push 0xffffffffffffffff
mov dword [ebp - 4], 0
lea ecx, [ebp + 0x50]
push 0
push edi
mov dword [ebp + 0x64], 0xf
mov dword [ebp + 0x60], 0
mov byte [ebp + 0x50], 0
call fcn.00411300
push 1
push 0xffffffffffffffff
lea eax, [ebp + 0x6c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x6c], 0x2f
call fcn.00410a50
mov esi, eax
mov eax, dword [ebp + 0x60]
dec eax
cmp esi, eax
jne 0x42066a
push 1
push 0xffffffffffffffff
lea eax, [ebp + 0x6c]
mov byte [ebp + 0x6c], 0x2f
push eax
lea ecx, [ebp + 0x50]
call fcn.004215b0
push 1
dec eax
mov byte [ebp + 0x6c], 0x2f
push eax
lea eax, [ebp + 0x6c]
push eax
lea ecx, [ebp + 0x50]
call fcn.00410a50
mov esi, eax
cmp esi, 0xffffffff
je 0x420734
inc esi
lea eax, [ebp + 0x38]
push esi
push 0
push eax
mov ecx, edi
call fcn.0040edf0
mov ebx, eax
lea eax, [ebp + 0x20]
cmp eax, ebx
je 0x4206bb
mov eax, dword [ebp + 0x34]
cmp eax, 0x10
jb 0x4206a0
inc eax
lea ecx, [ebp + 0x20]
push eax
push dword [ebp + 0x20]
call fcn.00412370
push ebx
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x34], 0xf
mov dword [ebp + 0x30], 0
mov byte [ebp + 0x20], 0
call fcn.004116e0
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x4206d4
inc eax
lea ecx, [ebp + 0x38]
push eax
push dword [ebp + 0x38]
call fcn.00412370
push 0xffffffffffffffff
push esi
lea eax, [ebp + 0x38]
mov ecx, edi
push eax
call fcn.0040edf0
mov esi, eax
lea eax, [ebp + 0x50]
cmp eax, esi
je 0x42071b
mov eax, dword [ebp + 0x64]
cmp eax, 0x10
jb 0x420700
inc eax
lea ecx, [ebp + 0x50]
push eax
push dword [ebp + 0x50]
call fcn.00412370
push esi
lea ecx, [ebp + 0x50]
mov dword [ebp + 0x64], 0xf
mov dword [ebp + 0x60], 0
mov byte [ebp + 0x50], 0
call fcn.004116e0
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x420734
inc eax
lea ecx, [ebp + 0x38]
push eax
push dword [ebp + 0x38]
call fcn.00412370
cmp dword [edi + 0x14], 0x10
jb 0x42073c
mov edi, dword [edi]
mov ebx, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [ebp - 0x17c]
push eax
push edi
call ebx
mov edi, eax
cmp edi, 0xffffffff
je 0x420886
lea eax, [ebp - 0x150]
push eax
lea edx, [ebp + 0x20]
lea ecx, [ebp + 0x38]
call fcn.00413950
add esp, 4
mov esi, dword [ebp + 0x68]
mov ecx, esi
push eax
mov byte [ebp - 4], 4
call fcn.0040ecf0
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x420794
inc eax
lea ecx, [ebp + 0x38]
push eax
push dword [ebp + 0x38]
call fcn.00412370
lea eax, [ebp - 0x17c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x42087f
nop word [eax + eax]
test byte [ebp - 0x17c], 0x10
je 0x420869
lea eax, [ebp - 0x150]
push eax
lea edx, [ebp + 0x20]
lea ecx, [ebp + 0x38]
call fcn.00413950
add esp, 4
push eax
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.0040ecf0
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x420828
mov ecx, dword [ebp + 0x38]
inc eax
cmp eax, 0x1000
jb 0x42081f
test cl, 0x1f
jne 0x420908
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x420908
sub ecx, eax
cmp ecx, 4
jb 0x420908
cmp ecx, 0x23
ja 0x420908
mov ecx, eax
push ecx
call fcn.00446ee6
add esp, 4
mov ecx, dword [esi + 4]
cmp dword [ecx - 4], 0x10
jb 0x420836
mov edx, dword [ecx - 0x18]
jmp 0x420839
lea edx, [ecx - 0x18]
mov eax, dword [ecx - 8]
add ecx, 0xffffffe8
add eax, edx
cmp dword [ecx + 0x14], 0x10
jb 0x420849
mov ecx, dword [ecx]
xor edx, edx
mov esi, eax
sub esi, ecx
cmp ecx, eax
cmova esi, edx
test esi, esi
je 0x420866
cmp byte [ecx], 0x5c
jne 0x420860
mov byte [ecx], 0x2f
inc edx
inc ecx
cmp edx, esi
jne 0x420858
mov esi, dword [ebp + 0x68]
lea eax, [ebp - 0x17c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4207b0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp + 0x78], 0
je 0x420a38
push 0x4768a8
lea edx, [ebp + 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00413950
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x17c]
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
push ecx
cmovae eax, dword [ebp - 0x3c]
push eax
call ebx
mov edi, dword [ebp + 0x68]
mov esi, eax
cmp esi, 0xffffffff
je 0x420a21
nop word [eax + eax]
test byte [ebp - 0x17c], 0x10
je 0x420a03
mov ecx, 0x4747f0
lea eax, [ebp - 0x150]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42090d
test dl, dl
je 0x420904
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42090d
add eax, 2
add ecx, 2
test dl, dl
jne 0x4208e8
xor eax, eax
jmp 0x420912
call fcn.0044ce5a
sbb eax, eax
or eax, 1
test eax, eax
je 0x420a03
mov ecx, 0x476d48
lea eax, [ebp - 0x150]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420945
test dl, dl
je 0x420941
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420945
add eax, 2
add ecx, 2
test dl, dl
jne 0x420925
xor eax, eax
jmp 0x42094a
sbb eax, eax
or eax, 1
test eax, eax
je 0x420a03
lea eax, [ebp - 0x150]
push eax
lea edx, [ebp + 0x20]
lea ecx, [ebp - 0x24]
call fcn.00413950
push 0x2f
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp]
call fcn.00413b20
lea ecx, [ebp + 0x50]
mov byte [ebp - 4], 8
push ecx
mov edx, eax
lea ecx, [ebp + 0x38]
call fcn.004137e0
add esp, 0xc
mov eax, dword [ebp + 0x14]
cmp eax, 0x10
jb 0x42099e
inc eax
lea ecx, [ebp]
push eax
push dword [ebp]
call fcn.00412370
mov dword [ebp + 0x14], 0xf
mov dword [ebp + 0x10], 0
mov byte [ebp], 0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
jb 0x4209c9
inc eax
lea ecx, [ebp - 0x24]
push eax
push dword [ebp - 0x24]
call fcn.00412370
push 1
mov edx, edi
mov dword [ebp - 0x10], 0xf
lea ecx, [ebp + 0x38]
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x24], 0
call fcn.004205a0
mov byte [ebp - 4], 6
add esp, 4
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x420a03
inc eax
lea ecx, [ebp + 0x38]
push eax
push dword [ebp + 0x38]
call fcn.00412370
lea eax, [ebp - 0x17c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x4208d0
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x28]
cmp eax, 0x10
jb 0x420a3b
inc eax
lea ecx, [ebp - 0x3c]
push eax
push dword [ebp - 0x3c]
call fcn.00412370
jmp 0x420a3b
mov edi, dword [ebp + 0x68]
mov ecx, dword [edi + 4]
mov eax, 0x2aaaaaab
sub ecx, dword [edi]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, dword [ebp + 0x18]
mov eax, dword [ebp + 0x64]
setne bl
cmp eax, 0x10
jb 0x420a6c
inc eax
lea ecx, [ebp + 0x50]
push eax
push dword [ebp + 0x50]
call fcn.00412370
mov ecx, dword [ebp + 0x34]
mov dword [ebp + 0x64], 0xf
mov dword [ebp + 0x60], 0
mov byte [ebp + 0x50], 0
cmp ecx, 0x10
jb 0x420a93
inc ecx
push ecx
push dword [ebp + 0x20]
lea ecx, [ebp + 0x20]
call fcn.00412370
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
lea esp, [ebp + 0x70]
pop ebp
ret