Function at 0x414780
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0xc94
mov eax, dword [str.Version]
mov ecx, dword [0x42e5e0]
mov edx, dword [0x42e5e4]
push ebx
mov dword [esp + 4], eax
mov eax, dword [0x42e5e8]
mov dword [esp + 8], ecx
mov cx, word [0x42e5ec]
push ebp
push esi
mov dword [esp + 0x14], edx
push edi
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], cx
xor ebp, ebp
lea edx, [esp + 0x234]
mov ecx, 0x93
xor eax, eax
lea edi, [esp + 0x440]
mov dword [esp + 0x43c], ebp
test edx, edx
rep stosd dword es:[edi], eax
je 0x414a26
mov eax, dword [esp + 0xcb0]
cmp eax, ebp
je 0x414a26
mov ebx, dword [sym.imp.MSVCRT.dll_wcscpy]
mov word [eax], bp
mov eax, dword [esp + 0xcac]
lea ecx, [esp + 0x234]
push eax
push ecx
mov word [esp + 0x694], bp
mov word [esp + 0x34], bp
mov word [esp + 0xaa4], bp
call ebx
push 1
lea edx, [esp + 0x240]
push ebp
push edx
call fcn.00422ac0
lea eax, [esp + 0x248]
lea ecx, [esp + 0x8a8]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
lea eax, [esp + 0x8b0]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_wcscat]
mov esi, dword [sym.imp.MSVCRT.dll_wcslen]
mov edi, dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0x24
test ebp, ebp
jne 0x41488e
lea ecx, [esp + 0x43c]
lea edx, [esp + 0x894]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x414a26
jmp 0x4148a5
lea eax, [esp + 0x43c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x414961
test byte [esp + 0x43c], 0x10
jne 0x414867
push 0x42e5cc
call esi
push eax
lea ecx, [esp + 0x470]
push 0x42e5cc
push ecx
call dword [sym.imp.MSVCRT.dll__wcsnicmp]
add esp, 0x10
test eax, eax
jne 0x414867
cmp word [esp + 0x2c], ax
je 0x414924
lea edx, [esp + 0x468]
lea eax, [esp + 0x234]
push edx
push eax
lea ecx, [esp + 0xaa4]
push 0x42e5c0
push ecx
call edi
lea edx, [esp + 0x3c]
push edx
call fcn.00423010
fstp qword [esp + 0x38]
lea eax, [esp + 0xab0]
push eax
call fcn.00423010
fcomp qword [esp + 0x3c]
add esp, 0x18
fnstsw ax
test ah, 1
jne 0x414867
lea ecx, [esp + 0x468]
lea edx, [esp + 0x234]
push ecx
push edx
lea eax, [esp + 0x34]
push 0x42e5c0
push eax
call edi
push 0x42e5cc
call esi
lea ecx, [esp + eax*2 + 0x47c]
lea edx, [esp + 0x6a0]
push ecx
push edx
call ebx
add esp, 0x1c
jmp 0x414867
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp word [esp + 0x68c], 0
je 0x414a26
lea eax, [esp + 0x68c]
push eax
call fcn.004237d0
mov edi, dword [esp + 0xcb8]
lea ecx, [esp + 0x690]
push edi
lea edx, [esp + 0x34]
push ecx
push edx
call fcn.00422fc0
push 0
lea eax, [esp + 0x248]
push 0
push eax
call fcn.00422ac0
mov esi, dword [sym.imp.MSVCRT.dll_wcsrchr]
lea ecx, [esp + 0x250]
push 0x5c
push ecx
call esi
add esp, 0x24
test eax, eax
je 0x414a00
mov ebx, dword [sym.imp.MSVCRT.dll_wcscat]
lea edx, [esp + 0x2c]
push 0x42e5b8
push edx
call ebx
lea eax, [esp + 0x23c]
push 0x5c
push eax
call esi
add eax, 2
lea ecx, [esp + 0x3c]
push eax
push ecx
call ebx
lea edx, [esp + 0x44]
push 0x42e5b4
push edx
call ebx
add esp, 0x20
mov ecx, dword [esp + 0xcb0]
lea eax, [esp + 0x2c]
push edi
push eax
push ecx
call fcn.00422fc0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc94
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc94
ret