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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c0
mov eax, dword [0x58f860]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push 0x250
push 0
lea eax, [ebp - 0x270]
push eax
call fcn.00512af0
add esp, 0xc
lea ecx, [ebp - 0x270]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0xffffffff
jne 0x41bec0
xor eax, eax
jmp 0x41c291
mov eax, dword [ebp - 0x278]
push eax
mov ecx, dword [sym.imp.KERNEL32.dll_FindClose]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.0041e4a0
add esp, 0xc
lea eax, [ebp - 0x18]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0041c8a0
push 0x5c
lea ecx, [ebp - 0xc]
call fcn.0041c920
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0xffffffff
je 0x41bf34
mov edx, dword [ebp - 0x274]
add edx, 1
push edx
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0xc]
call fcn.0041c990
push eax
lea ecx, [ebp - 0xc]
call fcn.0041c8e0
lea ecx, [ebp - 0x280]
call fcn.0040f740
jmp 0x41bf3c
lea ecx, [ebp - 0xc]
call fcn.0041cb30
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 8]
call fcn.0041c8a0
lea edx, [ebp - 0x244]
push edx
lea ecx, [ebp - 0x27c]
call fcn.0041c8a0
push 0x54c044
lea eax, [ebp - 0x27c]
push eax
call fcn.0041cac0
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x41bf90
push 0x54c048
lea edx, [ebp - 0x27c]
push edx
call fcn.0041cac0
add esp, 8
movzx eax, al
test eax, eax
je 0x41bfa0
lea ecx, [ebp - 0x27c]
call fcn.0040f740
jmp 0x41c24d
mov ecx, dword [ebp - 0x270]
and ecx, 0x10
je 0x41c18a
movzx edx, byte [ebp + 0x14]
push edx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x288]
push edx
call fcn.0041ca00
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
push 0x54c050
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x28c]
push edx
call fcn.0041ca00
add esp, 0xc
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.0041ca60
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041ba60
add esp, 0x10
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x281], al
lea ecx, [ebp - 0x290]
call fcn.0040f740
lea ecx, [ebp - 0x28c]
call fcn.0040f740
lea ecx, [ebp - 0x288]
call fcn.0040f740
movzx edx, byte [ebp - 0x281]
test edx, edx
je 0x41c08a
mov dword [ebp - 0x294], 0
lea ecx, [ebp - 0x27c]
call fcn.0040f740
lea ecx, [ebp - 8]
call fcn.0040f740
lea ecx, [ebp - 0xc]
call fcn.0040f740
lea ecx, [ebp - 0x18]
call fcn.0041cd00
mov eax, dword [ebp - 0x294]
jmp 0x41c291
movzx eax, byte [ebp + 0x14]
push eax
push 0x54c054
lea ecx, [ebp - 0x27c]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x29c]
push eax
call fcn.0041ca00
add esp, 0xc
push eax
lea ecx, [ebp - 0x2a0]
push ecx
call fcn.0041ca60
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
push 0x54c05c
lea edx, [ebp - 0x27c]
push edx
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
call fcn.0041ca00
add esp, 0xc
push eax
lea edx, [ebp - 0x2a8]
push edx
call fcn.0041ca60
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041be70
add esp, 0x10
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x295], al
lea ecx, [ebp - 0x2a8]
call fcn.0040f740
lea ecx, [ebp - 0x2a4]
call fcn.0040f740
lea ecx, [ebp - 0x2a0]
call fcn.0040f740
lea ecx, [ebp - 0x29c]
call fcn.0040f740
movzx ecx, byte [ebp - 0x295]
test ecx, ecx
je 0x41c185
mov dword [ebp - 0x2ac], 0
lea ecx, [ebp - 0x27c]
call fcn.0040f740
lea ecx, [ebp - 8]
call fcn.0040f740
lea ecx, [ebp - 0xc]
call fcn.0040f740
lea ecx, [ebp - 0x18]
call fcn.0041cd00
mov eax, dword [ebp - 0x2ac]
jmp 0x41c291
jmp 0x41c242
movzx edx, byte [ebp + 0x14]
push edx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x2b4]
push edx
call fcn.0041ca00
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x2b8]
push edx
call fcn.0041ca00
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041ba60
add esp, 0x10
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x2ad], al
lea ecx, [ebp - 0x2b8]
call fcn.0040f740
lea ecx, [ebp - 0x2b4]
call fcn.0040f740
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x41c242
mov dword [ebp - 0x2bc], 0
lea ecx, [ebp - 0x27c]
call fcn.0040f740
lea ecx, [ebp - 8]
call fcn.0040f740
lea ecx, [ebp - 0xc]
call fcn.0040f740
lea ecx, [ebp - 0x18]
call fcn.0041cd00
mov eax, dword [ebp - 0x2bc]
jmp 0x41c291
lea ecx, [ebp - 0x27c]
call fcn.0040f740
lea edx, [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x278]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x41bf48
mov dword [ebp - 0x2c0], 1
lea ecx, [ebp - 8]
call fcn.0040f740
lea ecx, [ebp - 0xc]
call fcn.0040f740
lea ecx, [ebp - 0x18]
call fcn.0041cd00
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00512610
mov esp, ebp
pop ebp
ret