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

Disassembly:
push ebp
push edi
mov edi, edx
push esi
push ebx
sub esp, 0x158
or ebx, 0xffffffff
mov dword [esp + 0x14], eax
cld
xor eax, eax
mov dword [esp + 0x10], edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x14]
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub ecx, edx
push ecx
call sub.msvcrt.dll_malloc
mov dword [esp + 0xc], eax
push dword [esp + 0x14]
push dword [esp + 0x1c]
push 0x43ea48
push eax
call sub.msvcrt.dll_sprintf
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x20]
call sub.KERNEL32.dll_FindFirstFileA
mov dword [esp + 0x20], eax
add esp, 0x14
test eax, eax
je 0x41bf48
inc eax
je 0x41bf48
lea esi, [esp + 0x44]
push 0x43ea4f
push esi
call sub.msvcrt.dll_strcmp
pop ebp
test eax, eax
pop edx
je 0x41bcdb
push 0x43ea51
push esi
call sub.msvcrt.dll_strcmp
pop ebx
test eax, eax
pop edi
je 0x41bcdb
test byte [esp + 0x18], 0x10
je 0x41bcdb
cld
mov edi, dword [esp + 0x10]
xor edx, edx
or ebp, 0xffffffff
mov al, dl
mov ecx, ebp
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x14]
mov ebx, ecx
mov ecx, ebp
not ebx
repne scasb al, byte es:[edi]
not ecx
add ecx, ebx
push ecx
call sub.msvcrt.dll_malloc
push dword [esp + 0x14]
mov ebx, eax
push dword [esp + 0x1c]
push 0x43ea54
push eax
call sub.msvcrt.dll_sprintf
push dword [esp + 0x180]
mov edx, esi
mov eax, ebx
call fcn.0041bbe8
push ebx
call fcn.0043aa78
add esp, 0x1c
jmp 0x41bf29
cld
xor eax, eax
or ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
lea eax, [esp + ecx + 0x17]
lea ebx, [eax + 0x2c]
cmp ebx, esi
jbe 0x41bd02
cmp byte [eax + 0x2c], 0x2e
je 0x41bd02
dec ebx
cmp ebx, esi
jbe 0x41bd02
cmp byte [ebx], 0x2e
jmp 0x41bcf6
xor eax, eax
cmp byte [ebx], 0x2e
lea ebp, [esp + 0x44]
push 0x43ea4f
push ebp
sete al
add ebx, eax
call sub.msvcrt.dll_strcmp
pop edx
test eax, eax
pop ecx
je 0x41bf29
push 0x43ea51
push ebp
call sub.msvcrt.dll_strcmp
pop esi
test eax, eax
pop edi
je 0x41bf29
cld
or esi, 0xffffffff
xor eax, eax
mov ecx, esi
mov edi, ebx
repne scasb al, byte es:[edi]
cmp ecx, 0xfffffffb
jne 0x41bd5c
push 0x43ea5a
push ebx
call sub.msvcrt.dll__stricmp
pop edx
test eax, eax
pop ecx
je 0x41bd83
cld
xor eax, eax
mov ecx, esi
mov edi, ebx
repne scasb al, byte es:[edi]
cmp ecx, 0xfffffffa
jne 0x41bf29
push str.jpeg
push ebx
call sub.msvcrt.dll__stricmp
pop esi
test eax, eax
pop edi
jne 0x41bf29
cmp dword [esp + 0x38], 0xc350
jbe 0x41bf29
cld
mov edi, dword [esp + 0x14]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x10]
mov edx, ecx
or ecx, 0xffffffff
not edx
repne scasb al, byte es:[edi]
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ebx
sub ebx, ecx
lea ecx, [ebx + edx - 2]
push ecx
call sub.msvcrt.dll_malloc
mov dword [esp + 8], eax
push ebp
push dword [esp + 0x18]
push dword [esp + 0x20]
push 0x43ea63
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x18
push dword [esp + 4]
call sub.msvcrt.dll__strdup
pop ebx
mov dword [esp], eax
push 0x43ea6b
push dword [esp + 8]
call sub.msvcrt.dll_fopen
pop edx
test eax, eax
mov ebx, eax
pop ecx
je 0x41bf1f
push eax
call fcn.0041aa2c
mov dword [esp], ebx
mov esi, eax
call sub.msvcrt.dll_fclose
pop ebp
test esi, esi
je 0x41bf1f
cmp dword [0x44b8f8], 0
jne 0x41be3d
imul eax, dword [esi + 8], 0x64
cdq
idiv dword [esi + 4]
push eax
push 0x64
call fcn.004198c0
pop ebx
test eax, eax
mov ebp, eax
pop edi
jne 0x41be43
push esi
jmp 0x41bf19
push dword [esi + 8]
push dword [esi + 4]
push dword [eax + 8]
push dword [eax + 4]
push 0
push 0
push 0
push 0
push esi
push eax
call fcn.00419e2b
cld
add esp, 0x28
mov edi, dword [esp + 0x16c]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [esp]
mov edx, ecx
or ecx, 0xffffffff
not edx
repne scasb al, byte es:[edi]
not ecx
lea ecx, [ecx + edx + 0xfe]
push ecx
call sub.msvcrt.dll_malloc
pop ecx
mov edi, eax
push dword [esp]
call fcn.004215bd
mov dword [esp], eax
push 0
call sub.msvcrt.dll_time
mov dword [esp], eax
mov eax, dword [0x4453c8]
push dword [eax + 0x48]
push dword [esp + 0x178]
push str._s_d__lu__s
push edi
call sub.msvcrt.dll_sprintf
add esp, 0x18
push 0x43ea7b
push edi
call sub.msvcrt.dll_fopen
pop ebx
test eax, eax
mov ebx, eax
pop edx
jne 0x41beeb
push esi
call fcn.00419a5e
mov dword [esp], ebp
call fcn.00419a5e
mov dword [esp], edi
call fcn.0043aa78
jmp 0x41bf1e
push 0x50
push eax
push ebp
call fcn.0041a53a
add esp, 0xc
push ebx
call sub.msvcrt.dll_fclose
mov dword [esp], edi
call fcn.0043aa78
pop ecx
push dword [esp]
call fcn.0043aa78
mov dword [esp], esi
call fcn.00419a5e
mov dword [esp], ebp
call fcn.00419a5e
pop edx
push dword [esp + 4]
call fcn.0043aa78
pop eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x10]
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
jne 0x41bc55
push dword [esp + 0xc]
call sub.KERNEL32.dll_FindClose
push dword [esp + 8]
call fcn.0043aa78
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret