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

Disassembly:
sub esp, 0x67c
mov eax, dword [0x42e440]
xor eax, esp
mov dword [esp + 0x674], eax
push ebx
push ebp
push esi
push edi
mov ebx, ecx
lea eax, [esp + 0x478]
push ebx
push 0x42aaa8
mov ebp, edx
mov dword [esp + 0x20], ebx
push 0x104
push eax
mov dword [esp + 0x2c], ebp
xor edi, edi
call fcn.00401fe5
add esp, 0x10
lea ecx, [esp + 0x478]
call fcn.00402127
lea ecx, [esp + 0x20]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x405ab0
mov esi, eax
mov ecx, 0x429350
lea eax, [esp + 0x4c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4058f6
test dx, dx
je 0x4058f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4058f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4058d0
mov eax, edi
jmp 0x4058fb
sbb eax, eax
or eax, 1
test eax, eax
je 0x405a15
mov ecx, 0x429290
lea eax, [esp + 0x4c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405932
test dx, dx
je 0x40592e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405932
add eax, 4
add ecx, 4
test dx, dx
jne 0x40590c
mov eax, edi
jmp 0x405937
sbb eax, eax
or eax, 1
test eax, eax
je 0x405a15
lea eax, [esp + 0x4c]
mov esi, 0x104
push eax
push ebx
push str._s_s
lea eax, [esp + 0x27c]
push esi
push eax
call fcn.00401fe5
add esp, 0x14
test byte [esp + 0x20], 0x10
je 0x4059b5
lea eax, [esp + 0x270]
push eax
push 0x42aabc
push esi
push eax
call fcn.00401fe5
add esp, 0x10
lea ecx, [esp + 0x270]
mov edx, ebp
call fcn.0040585f
mov esi, eax
test esi, esi
je 0x405a11
push esi
lea eax, [esp + 0x274]
push eax
push str.add_dir_entries_error:__S__err:__d
call fcn.0040200f
push eax
call fcn.00408506
add esp, 0x10
mov eax, esi
jmp 0x405ab2
lea ecx, [esp + 0x270]
call fcn.00402296
mov ebp, eax
test ebp, ebp
je 0x405a7c
push 0x14
call fcn.0040ed98
mov esi, eax
pop ecx
test esi, esi
je 0x4059f1
mov dword [esi + 4], 1
mov dword [esi + 8], edi
mov dword [esi], 0x42afd8
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
jmp 0x4059f3
mov esi, edi
mov eax, dword [esi]
mov ecx, esi
push ebp
call dword [eax + 4]
mov ebx, eax
test ebx, ebx
jne 0x405a63
mov ebp, dword [esp + 0x1c]
mov ecx, ebp
push esi
call fcn.004056e9
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4058c7
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, ebx
call fcn.00402296
mov ebx, eax
test ebx, ebx
je 0x405a7c
push 0x14
call fcn.0040ed98
mov esi, eax
pop ecx
test esi, esi
je 0x405a81
mov dword [esi + 4], 1
mov dword [esi + 8], edi
mov dword [esi], 0x42afec
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
jmp 0x405a83
push ebx
push ebp
push str.add_dir_entries_Parse_error_on_recurse:__S__err:__d
call fcn.0040200f
push eax
call fcn.00408506
add esp, 0x10
mov eax, ebx
jmp 0x405ab2
push 5
pop eax
jmp 0x405ab2
mov esi, edi
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 4]
mov edi, eax
test edi, edi
je 0x405aa8
push edi
push ebx
push str.add_dir_entries_Parse_error_on_close:__S__err:__d
call fcn.0040200f
push eax
call fcn.00408506
add esp, 0x10
jmp 0x405ab0
push esi
mov ecx, ebp
call fcn.004056e9
mov eax, edi
mov ecx, dword [esp + 0x684]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040bd82
add esp, 0x67c
ret