Function at 0x43098c
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, 0x50832c
mov edi, dword [ebp + 0x10]
push edi
lea edi, [ebp - 0x244]
rep movsd dword es:[edi], dword [esi]
pop edi
test edi, edi
je 0x4309c6
push 4
push 0
push 0
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.0043079c
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 0x5cf304
push eax
call fcn.004cd308
add esp, 8
push edi
lea edx, [ebp - 0x244]
push edx
call fcn.004cd308
add esp, 8
push 0x5cf306
lea ecx, [ebp - 0x244]
push ecx
call fcn.004cd308
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 0x430a49
xor eax, eax
jmp 0x430bf8
mov bl, 1
test bl, bl
je 0x430bed
lea eax, [ebp - 0x140]
push eax
push esi
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
je 0x430bcd
lea eax, [ebp - 0x114]
mov edx, 0x5cf309
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x430a8f
test cl, cl
je 0x430a4b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x430a8f
add eax, 2
add edx, 2
test cl, cl
jne 0x430a73
je 0x430a4b
lea eax, [ebp - 0x114]
mov edx, 0x5cf30b
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x430aba
test cl, cl
je 0x430ab8
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x430aba
add eax, 2
add edx, 2
test cl, cl
jne 0x430a9c
je 0x430a4b
test byte [ebp - 0x140], 0x10
je 0x430b3e
push esi
push edi
mov esi, 0x508430
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.004cd308
add esp, 8
push 0x5cf30e
lea edx, [ebp - 0x348]
push edx
call fcn.004cd308
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
lea eax, [ebp - 0x348]
push eax
call fcn.004cd308
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.0043098c
add esp, 0xc
test eax, eax
jne 0x430be5
xor eax, eax
jmp 0x430bf8
push esi
push edi
lea edi, [ebp - 0x44c]
mov esi, 0x508534
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 0x5cf310
push eax
call fcn.004cd308
add esp, 8
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x44c]
push ecx
call fcn.004cd308
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.0043079c
add esp, 0x14
test eax, eax
je 0x430be5
xor eax, eax
jmp 0x430bf8
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x12
jne 0x430bdb
xor ebx, ebx
jmp 0x430be5
push esi
call sub.KERNEL32.dll_FindClose
xor eax, eax
jmp 0x430bf8
test bl, bl
jne 0x430a53
push esi
call sub.KERNEL32.dll_FindClose
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret