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

Disassembly:
push ebp
sub esp, 0x2c0
lea ebp, [esp - 4]
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp + 0x2c0], eax
push 0x34
mov eax, 0x1017d464
call fcn.1008546d
mov ebx, dword [ebp + 0x2cc]
mov edi, dword [ebp + 0x2d0]
xor esi, esi
cmp ebx, esi
mov dword [ebp - 0x3c], ecx
jne 0x10025e89
xor eax, eax
jmp 0x10026101
cmp edi, esi
je 0x10025e82
push ebx
lea ecx, [ebp + 0x26c]
mov dword [ebp - 0x14], esi
call fcn.100015f0
push 0x1018ae98
lea ecx, [ebp + 0x26c]
mov dword [ebp - 4], esi
call fcn.10003640
push esi
lea ecx, [ebp + 0x288]
mov dword [ebp + 0x2a0], 7
call fcn.10001b40
push edi
lea ecx, [ebp + 0x250]
mov byte [ebp - 4], 1
call fcn.100015f0
lea eax, [ebp + 0x250]
push eax
mov byte [ebp - 4], 2
call fcn.1001de88
pop ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
cmp dword [ebp + 0x268], 8
mov eax, dword [ebp + 0x254]
mov byte [ebp - 4], 3
jae 0x10025f08
lea eax, [ebp + 0x254]
lea ecx, [ebp - 0x28]
push ecx
push 0x1018b914
push eax
call fcn.10020d72
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.10010859
cmp dword [ebp + 0x284], 8
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x270]
mov dword [ebp - 0x10], esi
jae 0x10025f3d
lea eax, [ebp + 0x270]
lea ecx, [ebp]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x100260b4
lea eax, [ebp]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, esi
je 0x100260b4
cmp word [ebp + 0x2c], 0x2e
je 0x10025f54
cmp word [ebp + 0x2e], si
je 0x10025f54
cmp word [ebp + 0x2e], 0x2e
jne 0x10025f83
cmp word [ebp + 0x30], si
je 0x10025f54
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp + 0x288]
call fcn.10003610
test byte [ebp], 0x10
je 0x1002600b
push ebx
lea ecx, [ebp + 0x2a4]
call fcn.100015f0
push 0xffffffffffffffff
push esi
lea eax, [ebp + 0x288]
push eax
lea ecx, [ebp + 0x2a4]
mov byte [ebp - 4], 4
call fcn.10003be0
push 0x101ebeec
lea ecx, [ebp + 0x2a4]
call fcn.10003640
cmp dword [ebp + 0x2bc], 8
mov eax, dword [ebp + 0x2a8]
jae 0x10025fe2
lea eax, [ebp + 0x2a8]
mov ecx, dword [ebp - 0x3c]
push edi
push eax
call fcn.10025e49
cmp eax, esi
push esi
lea ecx, [ebp + 0x2a4]
jne 0x100260a6
push 1
mov byte [ebp - 4], 3
call fcn.100017c0
jmp 0x10025f54
lea eax, [ebp + 0x288]
push eax
call fcn.1001de88
pop ecx
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x30]
call fcn.10051a72
jmp 0x10026082
lea ecx, [ebp - 0x30]
call fcn.10005225
cmp dword [eax + 0x18], 8
jb 0x1002603c
mov eax, dword [eax + 4]
jmp 0x1002603f
add eax, 4
push eax
lea ecx, [ebp + 0x2a4]
call fcn.100015f0
lea eax, [ebp + 0x288]
push eax
lea ecx, [ebp + 0x2a4]
mov byte [ebp - 4], 5
call fcn.100075ec
test eax, eax
jne 0x10026068
inc dword [ebp - 0x10]
push esi
push 1
lea ecx, [ebp + 0x2a4]
mov byte [ebp - 4], 3
call fcn.100017c0
lea ecx, [ebp - 0x30]
call fcn.10005246
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.10051a72
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x30]
call fcn.10054d99
test al, al
je 0x10026029
jmp 0x10025f54
xor edi, edi
inc edi
push edi
mov dword [ebp - 0x14], edi
call fcn.100017c0
jmp 0x100260b7
xor edi, edi
inc edi
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x10]
cmp eax, esi
jle 0x100260cf
cmp eax, dword [ebp - 0x40]
jl 0x100260cf
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x28]
call fcn.10010d20
push esi
push edi
lea ecx, [ebp + 0x250]
call fcn.100017c0
push esi
push edi
lea ecx, [ebp + 0x288]
call fcn.100017c0
push esi
push edi
lea ecx, [ebp + 0x26c]
call fcn.100017c0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2c0]
xor ecx, ebp
call fcn.1008545e
add ebp, 0x2c4
leave
ret 8