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

Disassembly:
sub esp, 0x254
mov eax, dword [esp + 0x258]
push ebx
push ebp
mov ebx, edx
mov byte [eax], 0
push esi
mov eax, ebx
mov ebp, ecx
push edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4849e8
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4849f6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor edx, edx
cmp eax, 0xffffffff
sete dl
mov ecx, ebp
mov dword [esp + 0x10], eax
lea eax, [ecx + 1]
mov edi, edx
jmp 0x484a30
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x484a30
sub ecx, eax
mov eax, ebx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x484a40
mov ebx, dword [esp + 0x2b8]
sub eax, esi
sub ecx, eax
test edi, edi
mov byte [ecx + ebp], dl
jne 0x484aba
lea esp, [esp]
test byte [esp + 0x20], 0x10
mov eax, dword [esp + 0x274]
je 0x484cb2
test eax, eax
je 0x484aa6
lea eax, [esp + 0x4c]
push 0x584508
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x484aa6
lea ecx, [esp + 0x4c]
push 0x587914
push ecx
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x484cc6
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x20]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x484a60
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x484aca
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [esp + 0x27c]
dec ebx
test ebx, ebx
jle 0x484fbe
mov edi, ebp
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x484ae0
mov ecx, dword [0x586c38]
lea edx, [esp + 0x20]
push edx
push ebp
mov dword [edi], ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor edx, edx
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, ebp
sete dl
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x484b10
sub eax, esi
test edx, edx
mov byte [eax + ebp - 3], cl
jne 0x484fae
test byte [esp + 0x20], 0x10
je 0x484f96
lea eax, [esp + 0x4c]
push 0x584508
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x484f96
lea ecx, [esp + 0x4c]
push 0x587914
push ecx
call fcn.005809c6
add esp, 8
test eax, eax
je 0x484f96
lea eax, [esp + 0x4c]
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x484b70
mov edi, ebp
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x484b80
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, ebp
dec edi
jmp 0x484ba0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x484ba0
mov dx, word [0x585e88]
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
push eax
mov eax, dword [esp + 0x2b0]
push ecx
mov ecx, dword [esp + 0x2b0]
mov word [edi], dx
mov edx, dword [esp + 0x2b8]
push edx
mov edx, dword [esp + 0x2b0]
push eax
mov eax, dword [esp + 0x2b0]
push ecx
mov ecx, dword [esp + 0x2b0]
push edx
mov edx, dword [esp + 0x2b0]
push eax
mov eax, dword [esp + 0x2b0]
push ecx
mov ecx, dword [esp + 0x2b0]
push edx
mov edx, dword [esp + 0x2b0]
mov edi, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x2b0]
mov esi, dword [esp + 0x290]
push ecx
mov ecx, dword [esp + 0x2b0]
push edx
mov edx, dword [esp + 0x2b0]
push eax
mov eax, dword [esp + 0x2ac]
push ecx
mov ecx, dword [esp + 0x2ac]
push edx
mov edx, dword [esp + 0x2ac]
push ebx
push eax
mov eax, dword [esp + 0x2b0]
push ecx
push edx
mov edx, dword [esp + 0x64]
sub eax, edi
push eax
push esi
mov ecx, ebp
call fcn.004849c0
cmp eax, 0xffffffff
je 0x484fae
mov ecx, edi
add ecx, eax
cmp byte [esi], 0
mov dword [esp + 0x14], ecx
jne 0x484fae
push 0x5c
push ebp
call fcn.00570980
add esp, 8
test eax, eax
je 0x484ca3
push 0x5c
push ebp
mov byte [eax], 0
call fcn.00570980
add esp, 8
test eax, eax
je 0x484ca3
mov byte [eax + 1], 0
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
jmp 0x484fa0
cmp eax, 1
jne 0x484cc6
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push ecx
push edx
jmp 0x484ab0
lea eax, [esp + 0x4c]
push 0x2e
push eax
call fcn.00570260
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x484d2c
push 0x2e
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x484d2c
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x164]
push 0x587980
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 1
push 0
lea edx, [esp + 0x168]
mov ecx, esi
call fcn.00542310
test eax, eax
jne 0x484d43
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push ecx
jmp 0x484ab0
push 1
push 0
lea edx, [esp + 0x54]
mov ecx, esi
call fcn.00542310
test eax, eax
je 0x484aa6
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x26c]
inc edx
test eax, eax
mov dword [esp + 0x14], edx
jle 0x484d61
mov ecx, edx
cmp ecx, eax
jl 0x484ee4
mov eax, dword [esp + 0x270]
test eax, eax
jne 0x484d7b
mov eax, dword [esp + 0x278]
test eax, eax
je 0x484ee4
mov edi, dword [esp + 0x268]
mov edx, edi
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x484d88
lea eax, [esp + 0x4c]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x484d98
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x484da2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x2a0]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x484dd1
mov ecx, dword [esp + 0x268]
call fcn.00512e70
mov esi, dword [esp + 0x270]
test esi, esi
je 0x484e0e
mov ecx, dword [esp + 0x268]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push ecx
push 0
push 0x180
push esi
call edi
cmp eax, 0xffffffff
je 0x484e0e
cmp eax, 0xfffffffe
je 0x484e0e
mov edx, dword [0x5a5524]
push edx
push eax
push 0x19a
push esi
call edi
mov edx, dword [esp + 0x278]
test edx, edx
je 0x484ed1
push 0
xor ecx, ecx
call fcn.004c7e10
xor ecx, ecx
test eax, eax
mov dword [esp + 0x1c], eax
je 0x484f04
mov edx, dword [esp + 0x2b4]
push ebx
push edx
mov edx, dword [esp + 0x2b8]
push edx
mov edx, dword [esp + 0x2b8]
push edx
mov edx, dword [esp + 0x2b8]
push edx
mov edx, dword [esp + 0x2b8]
push edx
mov edx, dword [esp + 0x2b4]
push edx
mov edx, dword [esp + 0x2b4]
mov edi, dword [esp + 0x29c]
push 0
push edx
mov edx, dword [esp + 0x2b8]
push 0
push 0
push edx
mov edx, dword [esp + 0x2c0]
push edx
mov edx, dword [esp + 0x2b8]
push 0
push edx
mov edx, dword [esp + 0x2c4]
test edi, edi
setne cl
push 0
push 0
push 0
push 0
mov dword [esp + 0x2d8], 0
inc ecx
inc edx
push edx
push ecx
mov ecx, dword [esp + 0x2bc]
push ecx
mov ecx, dword [ebx]
mov edx, eax
call fcn.004376c0
lea ecx, [esp + 0x1c]
call fcn.004c8280
mov edx, dword [esp + 0x268]
mov byte [edx], 0
call fcn.0041f220
test eax, eax
jne 0x484f1c
mov eax, dword [esp + 0x26c]
test eax, eax
jle 0x484ef5
cmp dword [esp + 0x14], eax
jge 0x484f2c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push ecx
jmp 0x484ab0
push 2
push 0
xor edx, edx
call fcn.00479790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret 0x54
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x254
ret 0x54
mov edi, dword [esp + 0x268]
mov edx, edi
mov eax, ebp
sub edx, ebp
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x484f40
lea eax, [esp + 0x4c]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x484f50
sub eax, edx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x484f60
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x2a0]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x484f8f
mov ecx, dword [esp + 0x268]
call fcn.00512e70
mov edx, dword [esp + 0x10]
push edx
jmp 0x484fb8
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x484b25
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x484fbe
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret 0x54