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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbb4
mov ecx, 0x41
push ebx
push esi
push edi
mov esi, 0x509770
mov edi, dword [ebp + 0x10]
push edi
lea edi, [ebp - 0x244]
rep movsd dword es:[edi], dword [esi]
pop edi
test edi, edi
je 0x430e72
push 4
push 0
push 0
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.00430c48
add esp, 0x14
mov edx, dword [ebp + 0xc]
push edi
xor eax, eax
mov edi, edx
or ecx, 0xffffffff
lea esi, [ebp - 0x244]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push 0x5d090d
push eax
call fcn.004cdf10
add esp, 8
push edi
lea edx, [ebp - 0x244]
push edx
call fcn.004cdf10
add esp, 8
push 0x5d090f
lea ecx, [ebp - 0x244]
push ecx
call fcn.004cdf10
add esp, 8
lea eax, [ebp - 0x140]
push eax
lea edx, [ebp - 0x244]
push edx
call sub.KERNEL32.dll_FindFirstFileA
mov esi, eax
cmp esi, 0xffffffff
jne 0x430ef5
xor eax, eax
jmp 0x4310a4
mov bl, 1
test bl, bl
je 0x431099
lea eax, [ebp - 0x140]
push eax
push esi
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
je 0x431079
lea eax, [ebp - 0x114]
mov edx, 0x5d0912
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x430f3b
test cl, cl
je 0x430ef7
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x430f3b
add eax, 2
add edx, 2
test cl, cl
jne 0x430f1f
je 0x430ef7
lea eax, [ebp - 0x114]
mov edx, 0x5d0914
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x430f66
test cl, cl
je 0x430f64
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x430f66
add eax, 2
add edx, 2
test cl, cl
jne 0x430f48
je 0x430ef7
test byte [ebp - 0x140], 0x10
je 0x430fea
push esi
push edi
mov esi, 0x509874
lea edi, [ebp - 0x348]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push edi
lea eax, [ebp - 0x348]
push eax
call fcn.004cdf10
add esp, 8
push 0x5d0917
lea edx, [ebp - 0x348]
push edx
call fcn.004cdf10
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
lea eax, [ebp - 0x348]
push eax
call fcn.004cdf10
add esp, 8
lea edx, [ebp - 0x348]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00430e38
add esp, 0xc
test eax, eax
jne 0x431091
xor eax, eax
jmp 0x4310a4
push esi
push edi
lea edi, [ebp - 0x44c]
mov esi, 0x509978
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
xor eax, eax
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x44c]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x44c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x5d0919
push eax
call fcn.004cdf10
add esp, 8
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x44c]
push ecx
call fcn.004cdf10
add esp, 8
lea eax, [ebp - 0x44c]
lea edx, [ebp - 0x44c]
push 2
push 0
push eax
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00430c48
add esp, 0x14
test eax, eax
je 0x431091
xor eax, eax
jmp 0x4310a4
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x12
jne 0x431087
xor ebx, ebx
jmp 0x431091
push esi
call sub.KERNEL32.dll_FindClose
xor eax, eax
jmp 0x4310a4
test bl, bl
jne 0x430eff
push esi
call sub.KERNEL32.dll_FindClose
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret