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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58ac17
mov eax, dword fs:[0]
push eax
sub esp, 0x530
mov eax, dword [0x5f44b0]
xor eax, ebp
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x53c], ecx
cmp dword [ebp + 8], 0
jne 0x440bbe
xor eax, eax
jmp 0x440eb8
cmp dword [ebp + 0xc], 0
jne 0x440bcb
xor eax, eax
jmp 0x440eb8
mov dword [ebp - 0x230], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00401600
mov dword [ebp - 4], 0
push 0x59807c
lea ecx, [ebp - 0x24c]
call fcn.00403850
lea ecx, [ebp - 0x288]
call fcn.00403660
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x268]
call fcn.00401600
mov byte [ebp - 4], 2
lea edx, [ebp - 0x268]
push edx
call fcn.00422dc0
add esp, 4
lea ecx, [ebp - 0x1c]
call fcn.00441e00
mov byte [ebp - 4], 3
lea eax, [ebp - 0x1c]
push eax
push 0x598084
lea ecx, [ebp - 0x268]
call fcn.00401670
push eax
call fcn.00426b70
add esp, 0xc
lea ecx, [ebp - 0x4dc]
push ecx
lea ecx, [ebp - 0x24c]
call fcn.00401670
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x4e0], 0xffffffff
je 0x440e5d
lea edx, [ebp - 0x4dc]
push edx
mov eax, dword [ebp - 0x4e0]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
jne 0x440ca9
jmp 0x440e5d
movzx ecx, word [ebp - 0x4b0]
cmp ecx, 0x2e
jne 0x440cb7
jmp 0x440c74
movzx edx, word [ebp - 0x4ae]
test edx, edx
jne 0x440cc4
jmp 0x440c74
movzx eax, word [ebp - 0x4ae]
cmp eax, 0x2e
jne 0x440cdd
movzx ecx, word [ebp - 0x4ac]
test ecx, ecx
jne 0x440cdd
jmp 0x440c74
lea edx, [ebp - 0x4b0]
push edx
lea ecx, [ebp - 0x288]
call fcn.004036d0
mov eax, dword [ebp - 0x4dc]
and eax, 0x10
je 0x440e58
lea ecx, [ebp - 0x288]
push ecx
call fcn.00422dc0
add esp, 4
lea edx, [ebp - 0x4e8]
push edx
lea ecx, [ebp - 0x1c]
call fcn.0042b900
jmp 0x440d32
push 0
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x4e8]
call fcn.00441e50
lea ecx, [ebp - 0x534]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0044a0c0
push eax
lea ecx, [ebp - 0x4e8]
call fcn.0042f740
movzx edx, al
test edx, edx
je 0x440dc2
lea ecx, [ebp - 0x4e8]
call fcn.004341d0
mov ecx, eax
call fcn.00401670
push eax
lea ecx, [ebp - 0x504]
call fcn.00401600
mov byte [ebp - 4], 4
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x504]
push ecx
call fcn.00419a10
add esp, 8
movzx edx, al
test edx, edx
je 0x440dae
mov dword [ebp - 0x230], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x504]
call fcn.00401640
jmp 0x440dc2
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x504]
call fcn.00401640
jmp 0x440d1e
cmp dword [ebp - 0x230], 0
jne 0x440e58
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x524]
call fcn.00401600
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x524]
call fcn.00404020
push 0x598088
lea ecx, [ebp - 0x524]
call fcn.00403850
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x524]
call fcn.00401670
push eax
mov ecx, dword [ebp - 0x53c]
call fcn.00440b80
mov dword [ebp - 0x508], eax
cmp dword [ebp - 0x508], 0
je 0x440e49
mov dword [ebp - 0x230], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x524]
call fcn.00401640
jmp 0x440e5d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x524]
call fcn.00401640
jmp 0x440c74
mov eax, dword [ebp - 0x4e0]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x538], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0042b390
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x268]
call fcn.00401640
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
call fcn.00401640
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.00401640
mov eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.0049e381
mov esp, ebp
pop ebp
ret 8