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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c0
push esi
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x120]
push esi
call fcn.0042c6c0
cmp byte [ebp - 0x100], 0
jne 0x433abc
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x120]
call fcn.00430630
push dword [ebp - 4]
call fcn.00546a09
add esp, 4
cmp byte [ebp - 0xff], 0
jne 0x433b2b
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x104]
mov esi, dword [ebp + 8]
add eax, eax
push eax
push dword [ebp - 0x108]
mov dword [esi], 3
mov dword [esi + 4], 0
call fcn.00420bb0
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x108], 0
push dword [ebp - 0x118]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x110], 0
call fcn.00420bb0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x10]
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.0042c0a0
add esp, 0xc
cmp dword [ebp - 0x30], 0
jne 0x433b54
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x433b54
push eax
push dword [ebp - 0x38]
lea ecx, [ebp - 0x30]
call fcn.0040e3d0
mov eax, dword [ebp - 0x28]
mov ecx, 0x5b3144
test eax, eax
push ebx
cmovne ecx, eax
lea eax, [ebp - 0x5c0]
push edi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x433c50
test byte [ebp - 0x5c0], 0x10
jne 0x433bdf
lea eax, [ebp - 0x594]
push eax
lea eax, [ebp - 0x20]
push esi
push eax
call fcn.00433260
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
call fcn.00425720
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 4]
add eax, eax
push eax
push dword [ebp - 8]
call fcn.00420bb0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x14]
mov dword [ebp - 8], 0
push dword [ebp - 0x18]
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
call fcn.00420bb0
lea eax, [ebp - 0x5c0]
push eax
push edi
call ebx
test eax, eax
jne 0x433b82
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
cmp eax, 0x12
je 0x433c4a
call dword [sym.imp.KERNEL32.dll_FindClose]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00421450
mov esi, dword [ebp + 8]
lea ecx, [ebp - 4]
add esp, 8
mov dword [esi], 1
push dword [ebp - 0xc]
mov dword [esi + 4], 0
push dword [ebp - 8]
call fcn.00420bb0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
jmp 0x433dc5
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp + 0x18], 0
je 0x433db5
push str..__:
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.00433010
add esp, 0xc
cmp dword [ebp - 0x50], 0
jne 0x433c85
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x433c85
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x50]
call fcn.0040e3d0
mov eax, dword [ebp - 0x48]
mov ecx, 0x5b3144
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x370]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x433d00
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00421450
mov esi, dword [ebp + 8]
lea ecx, [ebp - 4]
add esp, 8
mov dword [esi], 1
push dword [ebp - 0xc]
mov dword [esi + 4], 0
push dword [ebp - 8]
call fcn.00420bb0
lea ecx, [ebp - 0x60]
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
call fcn.0042c7d0
jmp 0x433dc5
test byte [ebp - 0x370], 0x10
je 0x433d83
lea eax, [ebp - 0x344]
push 0x54c5c4
push eax
call fcn.00420c60
add esp, 8
test eax, eax
je 0x433d83
lea eax, [ebp - 0x344]
push 0x54c964
push eax
call fcn.00420c60
add esp, 8
test eax, eax
je 0x433d83
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x80]
push esi
push eax
call fcn.00433260
push dword [ebp + 0x18]
lea eax, [ebp - 0x80]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00433a80
add esp, 0x20
cmp dword [ebp - 8], 0
jne 0x433de1
push dword [ebp - 4]
call fcn.00546a09
add esp, 4
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x80]
call fcn.0042c7d0
lea eax, [ebp - 0x370]
push eax
push edi
call ebx
test eax, eax
jne 0x433d00
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
push edi
cmp eax, 0x12
jne 0x433e27
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x60]
call fcn.0042c7d0
mov esi, dword [ebp + 8]
mov dword [esi], 0
mov dword [esi + 4], 0
lea ecx, [ebp - 0x40]
call fcn.0042c7d0
lea ecx, [ebp - 0x120]
call fcn.0042c7d0
pop edi
pop ebx
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 8]
push 0
mov dword [ebp - 8], 0xffffffff
mov dword [esi], eax
mov eax, dword [ebp - 4]
mov dword [esi + 4], eax
mov dword [ebp - 4], 0
call fcn.00546a09
add esp, 4
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x80]
call fcn.0042c7d0
lea ecx, [ebp - 0x60]
call fcn.0042c7d0
jmp 0x433dc5
call dword [sym.imp.KERNEL32.dll_FindClose]
call ebx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00421450
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x10]
add esp, 8
mov dword [esi], 1
mov dword [esi + 4], 0
call fcn.004213a0
lea ecx, [ebp - 0x60]
call fcn.0042c7d0
jmp 0x433dc5