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

Disassembly:
sub esp, 0x360
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x38c]
push 0x103
lea eax, [esp + 0x164]
push edi
push eax
mov dword [esp + 0x28], ecx
call fcn.0047a8e0
add esp, 0xc
lea ecx, [esp + 0x160]
push 0x5c
push ecx
mov byte [esp + 0x26b], 0
call 0x478bf7
add esp, 8
test eax, eax
je 0x427891
lea esi, [eax + 1]
lea edx, [esp + 0x268]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x427867
lea eax, [esp + 0x160]
mov byte [esi], cl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x427880
sub eax, edx
mov ebx, eax
mov dword [esp + 0x14], eax
jmp 0x4278c0
xor eax, eax
jmp 0x4278a0
mov cl, byte [esp + eax + 0x160]
mov byte [esp + eax + 0x268], cl
inc eax
test cl, cl
jne 0x4278a0
xor ebx, ebx
mov byte [esp + 0x160], cl
mov dword [esp + 0x14], ebx
lea edx, [esp + 0x20]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, dword [esp + 0x384]
mov edi, eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp + 0x10], edi
mov esi, eax
test esi, esi
je 0x427982
jmp 0x4278f0
test byte [esp + 0x20], 0x10
je 0x427916
cmp ebp, 1
je 0x427944
cmp byte [esp + 0x4c], 0x2e
jne 0x42791b
mov al, byte [esp + 0x4d]
test al, al
je 0x427944
cmp al, 0x2e
jne 0x42791b
cmp byte [esp + 0x4e], 0
jmp 0x427919
cmp ebp, 3
je 0x427944
cmp byte [esp + 0x160], 0
je 0x427982
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x427930
sub eax, edx
lea ecx, [eax + ebx]
cmp ecx, 0x104
jb 0x427958
lea edx, [esp + 0x20]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov esi, eax
test esi, esi
jne 0x4278f0
jmp 0x427982
inc eax
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + ebx + 0x54]
push ecx
call 0x4777f0
add esp, 0xc
push ebx
lea edx, [esp + 0x164]
push edx
lea eax, [esp + 0x54]
push eax
call fcn.0047b470
add esp, 0xc
mov ebp, dword [0x49d3c8]
mov ebx, dword [esp + 0x374]
test esi, esi
je 0x427b8e
jmp 0x4279a0
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x20]
mov dword [ebp + 0x10], ecx
mov ecx, dword [edi + 0x14]
cmp byte [ecx], 0x6e
jne 0x4279d2
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x18]
push edx
push ebx
push 2
call fcn.004217a0
mov ecx, dword [edi + 0x14]
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, ecx
je 0x4279b3
jmp 0x4279e5
lea eax, [esp + 0x18]
push eax
push ebx
push 3
call fcn.004217a0
mov esi, eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x427a19
cmp esi, 6
jne 0x427cf1
cmp eax, edi
je 0x427a23
mov ecx, dword [esp + 0x37c]
mov dword [ecx], eax
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x360
ret 0x1c
cmp esi, 1
je 0x427a23
cmp esi, 6
jne 0x427a93
cmp dword [esp + 0x380], 0
je 0x427ad4
mov ecx, dword [esp + 0x380]
push 0
push 0xffffffffffffffff
push 0
push ecx
call fcn.0044f1f0
mov esi, eax
cmp esi, 1
jne 0x427a93
mov eax, dword [0x4a0988]
movsx ecx, byte [eax]
mov edi, eax
cmp ecx, 0x30
ja 0x427a93
test ecx, ecx
je 0x427ad4
cmp ecx, 0x30
jne 0x427a69
cmp byte [eax + 1], 0
je 0x427ad4
push 0
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
dec eax
je 0x427aad
dec eax
jne 0x427a93
push edi
call 0x478b3a
fldz
fucompp
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x427ad4
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x360
ret 0x1c
mov eax, edi
call fcn.0040c270
test al, al
je 0x427ac7
push 0x10
push 0
push edi
call 0x478a38
add esp, 0xc
jmp 0x427ad0
push edi
call 0x4781a1
add esp, 4
or eax, edx
jne 0x427a93
mov edi, dword [esp + 0x14]
jmp 0x427ae0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x20]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov esi, eax
test esi, esi
je 0x427b7e
test byte [esp + 0x20], 0x10
je 0x427b25
cmp dword [esp + 0x384], 1
je 0x427ae0
cmp byte [esp + 0x4c], 0x2e
jne 0x427b2f
mov al, byte [esp + 0x4d]
test al, al
je 0x427ae0
cmp al, 0x2e
jne 0x427b2f
cmp byte [esp + 0x4e], 0
jmp 0x427b2d
cmp dword [esp + 0x384], 3
je 0x427ae0
cmp byte [esp + 0x160], 0
je 0x427b7e
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x427b40
sub eax, edx
lea ecx, [eax + edi]
cmp ecx, 0x104
jae 0x427ae0
inc eax
push eax
lea edx, [esp + 0x50]
push edx
lea eax, [esp + edi + 0x54]
push eax
call 0x4777f0
add esp, 0xc
push edi
lea ecx, [esp + 0x164]
push ecx
lea edx, [esp + 0x54]
push edx
call fcn.0047b470
add esp, 0xc
add dword [ebp + 8], 1
adc dword [ebp + 0xc], 0
test esi, esi
jne 0x4279a0
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x427b9e
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [esp + 0x388], 0
je 0x427cdf
mov esi, dword [esp + 0x14]
cmp esi, 0x100
ja 0x427cdf
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x164]
lea ebx, [esp + esi + 0x164]
push edx
mov dword [ebx], 0x2a2e2a
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
je 0x427cdf
lea eax, [esp + 0x268]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x427bf3
mov edi, dword [esp + 0x37c]
mov ebp, dword [esp + 0x378]
sub eax, edx
add eax, esi
mov dword [esp + 0x14], eax
test byte [esp + 0x20], 0x10
je 0x427cbc
cmp byte [esp + 0x4c], 0x2e
jne 0x427c3d
mov al, byte [esp + 0x4d]
test al, al
je 0x427cbc
cmp al, 0x2e
jne 0x427c3d
cmp byte [esp + 0x4e], 0
je 0x427cbc
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x427c44
sub eax, edx
add eax, dword [esp + 0x14]
cmp eax, 0x102
ja 0x427cbc
lea edx, [esp + 0x268]
push edx
lea eax, [esp + 0x50]
push eax
push 0x49202c
push ebx
call 0x477162
mov edx, dword [esp + 0x398]
mov eax, dword [esp + 0x394]
add esp, 0x10
lea ecx, [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x384]
push edx
mov edx, dword [esp + 0x37c]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edi
push ebp
push edx
call fcn.00427810
mov esi, eax
cmp esi, 1
jne 0x4279ff
cmp byte [ebp], 0
jne 0x427cd4
cmp dword [edi], 0
jne 0x427cd4
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x427c10
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x360
ret 0x1c
cmp eax, edi
jne 0x4279f6
mov eax, dword [esp + 0x378]
mov byte [eax], 1
jmp 0x4279ff