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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x414
cmp dword [ebp + 0x24], 0
mov eax, dword [0x1099a38]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x404], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x408], eax
jne 0x1061664
cmp dword [ebp + 0x20], 0
mov eax, 0x101fe54
jne 0x1061649
mov eax, 0x1009220
push eax
push esi
push 0x101fe2c
call fcn.010430af
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x414], eax
lea edx, [ebp - 0x130]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x106166e
lea eax, [ebp - 0x130]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1061681
sub eax, ecx
lea esi, [ebp + eax - 0x130]
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x130]
push eax
mov dword [ebp - 0x400], esi
mov word [esi], 0x2a
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x40c], eax
je 0x1061969
call fcn.0103c20b
test eax, eax
jne 0x1061a70
test byte [ebp - 0x270], 0x10
jne 0x1061942
lea eax, [ebp - 0x244]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10616e5
push esi
call dword [sym.imp.msvcrt.dll__mbslwr]
pop ecx
push esi
push dword [ebp - 0x408]
call fcn.0107e305
test eax, eax
je 0x1061942
mov edi, dword [eax + 0x10]
test edi, edi
mov dword [ebp - 0x3fc], edi
je 0x1061942
push edi
call fcn.01042ec7
test eax, eax
je 0x1061925
xor eax, eax
mov cl, byte [ebp + eax - 0x130]
mov byte [ebp + eax - 0x380], cl
inc eax
test cl, cl
jne 0x106172c
mov ebx, dword [edi + 0x60]
test ebx, ebx
je 0x1061784
lea esi, [ebp - 0x380]
lea edi, [ebx + 0x78]
mov cl, byte [edi]
mov al, cl
cmp cl, byte [esi]
jne 0x1061771
test al, al
je 0x106176d
mov cl, byte [edi + 1]
mov al, cl
cmp cl, byte [esi + 1]
jne 0x1061771
inc edi
inc edi
inc esi
inc esi
test al, al
jne 0x106174f
xor eax, eax
jmp 0x1061776
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1061780
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1061746
test ebx, ebx
jne 0x1061797
push 0x1e
pop ecx
xor eax, eax
lea edi, [ebp - 0x3f8]
rep stosd dword es:[edi], eax
lea ebx, [ebp - 0x3f8]
mov eax, dword [ebp - 0x250]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebx + 0x68], eax
mov eax, dword [ebp - 0x258]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp - 0x3fc]
mov edi, dword [eax + 0x60]
test edi, edi
je 0x1061858
cmp edi, ebx
je 0x1061846
cmp dword [edi + 0x20], 2
jne 0x1061846
mov eax, dword [edi + 0x30]
test eax, eax
je 0x10617d9
cmp eax, dword [ebx + 0x30]
jne 0x1061846
cmp dword [edi + 0x14], 2
jne 0x1061846
cmp dword [ebx + 0x14], 0
jne 0x1061804
lea eax, [ebx + 0x38]
push eax
lea eax, [ebx + 0x78]
push eax
mov dword [ebx + 0x14], 1
call fcn.0107c2b8
test eax, eax
je 0x1061804
mov dword [ebx + 0x14], 2
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x1061846
mov eax, dword [ebx + 0x3c]
cmp eax, dword [edi + 0x3c]
jne 0x1061846
push edi
call fcn.01042dec
mov ecx, dword [ebx + 0x6c]
cmp edx, ecx
mov esi, eax
mov eax, dword [ebx + 0x68]
jb 0x1061832
ja 0x106182c
cmp esi, eax
jbe 0x1061832
sub esi, eax
sbb edx, ecx
jmp 0x106183a
sub eax, esi
sbb ecx, edx
mov esi, eax
mov edx, ecx
test edx, edx
ja 0x1061846
cmp esi, 0x2faf080
jb 0x1061850
mov edi, dword [edi]
test edi, edi
jne 0x10617c3
test edi, edi
jne 0x1061925
push 0x28
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x404]
push ebx
push dword [ebp - 0x3fc]
call fcn.01042f03
cmp eax, 1
mov dword [ebp - 0x410], eax
je 0x1061884
cmp eax, 2
jne 0x1061925
lea eax, [ebp - 0x3f8]
cmp ebx, eax
jne 0x10618ef
lea eax, [ebp - 0x380]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1061897
mov ecx, dword [0x109a5bc]
sub eax, edx
lea edx, [eax + 0x80]
call fcn.0106e037
mov ebx, eax
test ebx, ebx
je 0x10618ef
push 0x20
pop ecx
lea esi, [ebp - 0x3f8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x380]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x78]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10618d3
mov eax, dword [ebp - 0x3fc]
mov ecx, dword [eax + 0x60]
mov dword [ebx], ecx
mov dword [eax + 0x60], ebx
or dword [ebx + 0xc], 4
cmp dword [ebp - 0x410], 2
jne 0x1061925
test ebx, ebx
je 0x1061925
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.01042b65
test eax, eax
jne 0x1061925
push 0x101fde0
call fcn.01071aad
push 0xe
call fcn.010362fc
mov dword [0x10c65d0], 1
mov eax, dword [ebp - 0x3fc]
mov edi, dword [eax + 8]
test edi, edi
mov dword [ebp - 0x3fc], edi
jne 0x106171c
mov esi, dword [ebp - 0x400]
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x40c]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10616bf
push dword [ebp - 0x40c]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x20], 0
je 0x1061a51
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x130]
push eax
mov word [esi], 0x2a
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x1061a51
test byte [ebp - 0x270], 0x10
je 0x1061a34
push 2
mov edi, 0x1016328
lea esi, [ebp - 0x244]
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1061a34
push 3
mov edi, 0x1016324
lea esi, [ebp - 0x244]
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1061a34
mov edi, dword [ebp - 0x400]
lea eax, [ebp - 0x244]
mov edx, edi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10619de
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10619e9
push dword [ebp - 0x400]
mov esi, 0x10094ec
movsw word es:[edi], word [esi]
call dword [sym.imp.msvcrt.dll__mbslwr]
pop ecx
push 1
push dword [ebp + 0x20]
lea eax, [ebp - 0x130]
push dword [ebp + 0x1c]
push dword [ebp - 0x408]
push dword [ebp - 0x404]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.01061608
call fcn.0103c20b
test eax, eax
jne 0x1061a4a
lea eax, [ebp - 0x270]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1061997
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x24], 0
jne 0x1061a70
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x414]
push eax
push 0x101fdb4
call fcn.010430af
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0106bc50
leave
ret 0x20