Function at 0x415650
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x41d57d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], ebp
call fcn.0041b5bc
push 0x4243bc
lea ecx, [esp + 0x2c]
mov dword [esp + 0x17c], ebp
call sub.MFC42.DLL_CString::CString_1
push str.localhost
push eax
lea eax, [esp + 0x34]
mov ebx, 1
push eax
mov byte [esp + 0x184], bl
call sub.MFC42.DLL_operator_2
mov ecx, dword [esi + 8]
lea edx, [esp + 0x10]
add ecx, 8
mov byte [esp + 0x178], 2
push ecx
push eax
push edx
call sub.MFC42.DLL_operator_3
lea ecx, [esp + 0x2c]
mov byte [esp + 0x178], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x178], 4
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 8]
lea ecx, [esp + 0x14]
add eax, 8
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 8]
mov byte [esp + 0x178], 6
add ecx, 0x4c
push ecx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x14]
mov byte [esp + 0x178], 7
mov ecx, dword [eax - 8]
mov cl, byte [ecx + eax - 1]
cmp cl, 0x2f
je 0x41573a
push 0x2f
lea ecx, [esp + 0x18]
call fcn.0041b994
jmp 0x415751
push 0x4231d4
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x415751
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push 0x74
push edx
call fcn.00413000
add esp, 8
mov ecx, esi
push 0xe130
call fcn.004149f0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.00414980
push 0xe131
mov ecx, esi
call fcn.004149f0
cmp dword [esp + 0x20], ebp
je 0x415796
push 0xe134
mov ecx, esi
call fcn.004149f0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
push 0xe132
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.00414980
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x41581b
lea eax, [esp + 0x14]
push ebp
lea ecx, [esp + 0x34]
push eax
push ecx
mov ecx, esi
call fcn.00415900
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea edx, [esp + 0x30]
push edx
push edi
mov ebp, eax
call ebx
test eax, eax
je 0x415817
lea eax, [esp + 0x14]
push 0
lea ecx, [esp + 0x34]
push eax
push ecx
mov ecx, esi
call fcn.00415900
lea edx, [esp + 0x30]
add ebp, eax
push edx
push edi
call ebx
test eax, eax
jne 0x4157f6
test ebp, ebp
jne 0x415827
push 0xe136
mov ecx, esi
call fcn.004149f0
push 0xe138
mov ecx, esi
call fcn.004149f0
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x41585e
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push 0xe135
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x10]
mov ecx, esi
push edx
call fcn.00414980
push 0xe137
mov ecx, esi
call fcn.004149f0
push 0x42444c
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x24]
mov ecx, esi
push eax
mov byte [esp + 0x17c], 8
call fcn.00414980
lea ecx, [esp + 0x24]
mov byte [esp + 0x178], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x178], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x178], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x178], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov dword [esp + 0x178], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x170]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x16c
ret