Function at 0x51a164
Capabilities:
Enumerate files on windows
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x556ae7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2e0
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x264], 0
mov ecx, dword [ebp + 0x10]
call fcn.0051da40
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0051da40
lea ecx, [ebp + 0xc]
call fcn.0040e860
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
je 0x51a4c2
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp + 8]
call fcn.0040e860
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0xffffffff
jne 0x51a220
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x274], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call sub.MFC42u.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x274]
jmp 0x51a659
lea ecx, [ebp - 0x270]
call sub.MFC42u.DLL_CString::CString_3
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x26c]
call sub.MFC42u.DLL_CString::CString_3
mov byte [ebp - 4], 3
lea edx, [ebp - 0x26c]
push edx
lea eax, [ebp - 0x270]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x278], esp
lea edx, [ebp - 0x230]
push edx
call sub.MFC42u.DLL_CString::CString_2
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a4]
call fcn.00519c4d
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
je 0x51a35a
lea eax, [ebp - 0x270]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.0051da60
lea ecx, [ebp - 0x26c]
push ecx
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0051da60
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x27c]
push ecx
call sub.MFC42u.DLL_operator
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b4], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2b4]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.0051da60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x27c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x230]
push ecx
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x280]
push eax
call sub.MFC42u.DLL_operator
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x2bc], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x2bc]
push edx
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0051da60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x280]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
lea ecx, [ebp - 0x25c]
push ecx
mov edx, dword [ebp - 0x268]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x51a497
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x270]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea edx, [ebp - 0x230]
push edx
call sub.MFC42u.DLL_CString::CString_2
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2a4]
call fcn.00519c4d
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
je 0x51a492
lea eax, [ebp - 0x270]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.0051da60
lea ecx, [ebp - 0x26c]
push ecx
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0051da60
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x288]
push ecx
call sub.MFC42u.DLL_operator
mov dword [ebp - 0x2c8], eax
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x2cc]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.0051da60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x288]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x230]
push ecx
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x28c]
push eax
call sub.MFC42u.DLL_operator
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x2d4]
push edx
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0051da60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
jmp 0x51a35a
mov ecx, dword [ebp - 0x268]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x26c]
call sub.MFC42u.DLL_CString::CString
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x270]
call sub.MFC42u.DLL_CString::CString
call dword [sym.imp.DataMgr.dll_class_CEzcadCfg____cdecl_gf_GetCfg_void_]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x2a4]
call fcn.00519ae5
test eax, eax
je 0x51a592
cmp dword [ebp - 0x264], 1
jne 0x51a580
push 0
lea edx, [ebp - 0x290]
push edx
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0048f7a0
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2dc], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2dc]
call fcn.0040e860
push eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x214
call fcn.00489ab0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x290]
call sub.MFC42u.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
push 1
push ecx
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x398
call fcn.0048f7a0
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x160
call fcn.0051d9a0
jmp 0x51a58d
push 1
mov ecx, dword [ebp - 0x2a4]
call fcn.0051d0eb
jmp 0x51a62c
cmp dword [ebp - 0x264], 1
jne 0x51a61f
push 0
lea edx, [ebp - 0x298]
push edx
mov ecx, dword [ebp + 0x10]
call fcn.0048f7a0
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2e8]
call fcn.0040e860
push eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x214
call fcn.00489ab0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x298]
call sub.MFC42u.DLL_CString::CString
push ecx
mov ecx, esp
mov dword [ebp - 0x29c], esp
push 1
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.0048f7a0
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 0x160
call fcn.0051d9a0
jmp 0x51a62c
push 0
mov ecx, dword [ebp - 0x2a4]
call fcn.0051d0eb
mov edx, dword [ebp - 0x264]
mov dword [ebp - 0x2a0], edx
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call sub.MFC42u.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc