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

Disassembly:
sub esp, 0x250
mov eax, dword [esp + 0x258]
push ebx
push ebp
mov ebp, dword [esp + 0x264]
push esi
push edi
mov byte [ebp], 0
mov dword [esp + 0x14], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48f606
mov ebx, dword [esp + 0x264]
mov edi, ebx
sub eax, ecx
mov esi, ecx
dec edi
jmp 0x48f620
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48f620
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1c]
push eax
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
mov dword [esp + 0x10], eax
mov edi, ecx
mov ecx, ebx
lea eax, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x48f655
sub ecx, eax
mov eax, dword [esp + 0x268]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48f668
sub eax, esi
sub ecx, eax
test edi, edi
mov byte [ecx + ebx], dl
jne 0x48f6da
lea ebx, [ebx]
test byte [esp + 0x1c], 0x10
mov eax, dword [esp + 0x278]
je 0x48f8e9
test eax, eax
je 0x48f6c6
lea edx, [esp + 0x48]
push 0x5e76a8
push edx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x48f6c6
lea eax, [esp + 0x48]
push 0x5ea970
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x48f8ee
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x48f680
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x48f6ec
mov edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebp, dword [esp + 0x280]
dec ebp
test ebp, ebp
jle 0x48fcfb
mov edi, ebx
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x48f700
mov eax, dword [0x5e7eec]
lea ecx, [esp + 0x1c]
push ecx
push ebx
mov dword [edi], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor edx, edx
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, ebx
sete dl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48f730
sub eax, esi
test edx, edx
mov byte [eax + ebx - 3], cl
jne 0x48fceb
test byte [esp + 0x1c], 0x10
je 0x48fcd3
lea edx, [esp + 0x48]
push 0x5e76a8
push edx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x48fcd3
lea eax, [esp + 0x48]
push 0x5ea970
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x48fcd3
lea eax, [esp + 0x48]
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48f790
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48f7a0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
dec edi
jmp 0x48f7c0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x48f7c0
mov cx, word [0x5e9ad8]
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
push edx
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
mov word [edi], cx
mov ecx, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
mov esi, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2b8]
push edx
mov edx, dword [esp + 0x2b8]
push eax
mov eax, dword [esp + 0x2b8]
push ebp
push ecx
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2b8]
push eax
sub ecx, esi
mov esi, dword [esp + 0x2c0]
push ecx
push esi
push edx
push ebx
call fcn.0048f5e0
add esp, 0x64
test eax, eax
jl 0x48fcff
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp byte [esi], 0
mov dword [esp + 0x14], ecx
jne 0x48fceb
push 0x5c
push ebx
call fcn.005ccc30
add esp, 8
test eax, eax
je 0x48f8da
push 0x5c
push ebx
mov byte [eax], 0
call fcn.005ccc30
add esp, 8
test eax, eax
je 0x48f8da
mov byte [eax + 1], 0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
push ecx
jmp 0x48fcdd
cmp eax, 1
je 0x48f95c
lea edx, [esp + 0x48]
push 0x2e
push edx
call fcn.005cbf10
mov esi, dword [esp + 0x270]
add esp, 8
test eax, eax
jne 0x48f946
push 0x2e
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x48f946
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x160]
push 0x5ea9e4
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
push 1
push 0
lea edx, [esp + 0x170]
push edx
push esi
call fcn.00581d70
add esp, 0x1c
jmp 0x48f958
push 1
push 0
lea edx, [esp + 0x50]
push edx
push esi
call fcn.00581d70
add esp, 0x10
test eax, eax
jne 0x48f96b
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
push ecx
jmp 0x48f6d0
mov eax, dword [esp + 0x2bc]
test eax, eax
je 0x48fa1c
mov edx, ebp
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48f980
lea eax, [esp + 0x48]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48f990
mov edi, ebp
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48f9a0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x2a4]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x48f9cc
push ebp
call fcn.0053b420
add esp, 4
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x2bc]
cmp dword [esi + 0x1c], edi
jne 0x48f9f0
mov edx, dword [esi]
push ebp
push edx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x48f95c
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x48f9d7
mov edx, dword [esp + 0x2bc]
push edi
push ebp
push edx
call fcn.004e2f90
add esp, 0xc
test eax, eax
mov byte [ebp], 0
je 0x48fc38
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x2c0]
test eax, eax
je 0x48fa5a
mov ecx, dword [esp + 0x278]
test ecx, ecx
jne 0x48fa47
movzx ecx, word [eax + 2]
mov dx, word [eax]
shl ecx, 0x10
inc dx
movzx edx, dx
or ecx, edx
mov dword [eax], ecx
jmp 0x48fa5a
mov cx, word [eax + 2]
inc cx
movzx edx, cx
movzx ecx, word [eax]
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x270]
inc edx
test eax, eax
mov dword [esp + 0x14], edx
jle 0x48fa78
mov ecx, edx
cmp ecx, eax
jl 0x48fc14
mov eax, dword [esp + 0x274]
test eax, eax
jne 0x48fa92
mov eax, dword [esp + 0x27c]
test eax, eax
je 0x48fc14
mov edx, ebp
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48fa98
lea eax, [esp + 0x48]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48faa8
mov edi, ebp
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48fab4
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x2a4]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x48fae0
push ebp
call fcn.0053b420
add esp, 4
mov esi, dword [esp + 0x274]
test esi, esi
je 0x48fb1e
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push 0
push 0x180
push esi
call edi
cmp eax, 0xffffffff
je 0x48fc34
cmp eax, 0xfffffffe
je 0x48fc34
mov edx, dword [0x6136bc]
push edx
push eax
push 0x19a
push esi
call edi
mov eax, dword [esp + 0x27c]
test eax, eax
je 0x48fbfc
push 0
push eax
push 0
call fcn.004e2f90
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], eax
je 0x48fc34
mov edx, dword [esp + 0x284]
mov esi, dword [esp + 0x2c0]
xor ecx, ecx
test edx, edx
mov edx, dword [esp + 0x2c4]
push edx
push esi
mov esi, dword [esp + 0x2c0]
push esi
mov esi, dword [esp + 0x2c0]
push esi
mov esi, dword [esp + 0x2c0]
push esi
mov esi, dword [esp + 0x2c0]
push esi
mov esi, dword [esp + 0x2c0]
push esi
mov esi, dword [esp + 0x2bc]
push esi
mov esi, dword [esp + 0x2bc]
push 0
push esi
mov esi, dword [esp + 0x2c0]
push 0
push 0
push esi
mov esi, dword [esp + 0x2c8]
push esi
mov esi, dword [esp + 0x2c0]
push 0
push esi
mov esi, dword [esp + 0x2cc]
push 0
setne cl
push 0
push 0
push 0
mov dword [esp + 0x2e0], 0
inc ecx
inc esi
push esi
push ecx
push ebp
push eax
mov eax, dword [edx]
push eax
call fcn.00440870
lea ecx, [esp + 0x7c]
push ecx
mov esi, eax
call fcn.004e33a0
add esp, 0x68
test esi, esi
je 0x48fc48
cmp esi, 2
je 0x48fc5c
mov eax, dword [esp + 0x2bc]
test eax, eax
mov byte [ebp], 0
je 0x48fc14
call fcn.00423d00
test eax, eax
jne 0x48fc70
mov eax, dword [esp + 0x270]
test eax, eax
jle 0x48fc25
cmp dword [esp + 0x14], eax
jge 0x48fc7e
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
push eax
jmp 0x48f6d0
mov byte [ebp], 0
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x250
ret
pop edi
pop esi
mov byte [ebp], 0
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x250
ret
pop edi
pop esi
mov byte [ebp], 0
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0x250
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x250
ret
mov edx, ebp
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48fc84
lea eax, [esp + 0x48]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48fc94
mov edi, ebp
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48fca0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x2a4]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x48fccc
push ebp
call fcn.0053b420
add esp, 4
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x48fcf5
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x48f745
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x48fcfb
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x250
ret