Function at 0x407544
Capabilities:
Create directory
Enumerate files on windows
Get file attributes

Disassembly:
push 0x284
mov eax, 0x4bc890
call fcn.004180a8
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x290], ecx
push ecx
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x28c], ebx
mov dword [ebp - 0x278], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__28]
push 1
lea eax, [ebp - 0x284]
mov dword [ebp - 4], ebx
push eax
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
xor ecx, ecx
mov byte [ebp - 4], 1
inc ecx
push 0x5c
push eax
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x28c], ecx
call fcn.004048ef
pop ecx
pop ecx
test al, al
je 0x4075f5
push 1
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
push 3
pop ecx
push 0x2f
push eax
mov dword [ebp - 0x274], ecx
call fcn.004048ef
mov byte [ebp - 0x265], 1
pop ecx
pop ecx
test al, al
jne 0x4075fb
mov byte [ebp - 0x265], bl
mov eax, dword [ebp - 0x274]
test al, 2
je 0x407620
and eax, 0xfffffffd
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x274], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x274]
mov dword [ebp - 4], ebx
test al, 1
je 0x407633
lea ecx, [ebp - 0x284]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0x265], 0
je 0x40764d
push 0x4d4dfc
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
push esi
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x26c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
or edi, 0xffffffff
mov dword [ebp - 0x280], eax
cmp eax, edi
je 0x4078c9
push dword [ebp - 0x270]
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__28]
push 0x5c
push 0x2f
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__22]
push 1
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
push 0x4d3d70
mov ecx, eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__25]
lea ecx, [ebp - 0x270]
mov esi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test esi, esi
je 0x4076e9
push 0x4d3d70
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
push dword [ebp - 0x288]
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
push 0x5c
push 0x2f
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__22]
push 0x5c
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
inc eax
lea ecx, [ebp - 0x264]
push eax
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
push eax
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, edi
jne 0x4077cc
mov esi, str.__t_r_n_
lea ecx, [ebp - 0x264]
push esi
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__11]
push esi
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__12]
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [edi + 1]
push eax
push 0x5c
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__2]
mov edi, eax
test edi, edi
jle 0x4077c3
push edi
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
push ebx
push dword [eax]
call esi
lea ecx, [ebp - 0x270]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x407784
push ebx
push dword [ebp - 0x264]
call esi
push dword [ebp - 0x290]
lea ecx, [ebp - 0x27c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__28]
push 0x5c
push dword [ebp - 0x288]
mov byte [ebp - 4], 4
call sub.VCRUNTIME140.dll_wcschr
pop ecx
pop ecx
test eax, eax
je 0x407838
push 0x5c
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
push eax
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 5
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
mov edi, dword [ebp - 0x280]
lea eax, [ebp - 0x234]
push 0x4d4e20
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x407892
lea eax, [ebp - 0x234]
push 0x4d4e24
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x407892
push ebx
push dword [ebp - 0x264]
lea eax, [ebp - 0x234]
push dword [ebp - 0x27c]
push eax
call fcn.004071f3
add esp, 0x10
test eax, eax
je 0x4078a4
inc dword [ebp - 0x278]
lea eax, [ebp - 0x260]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x407844
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x278]
lea ecx, [ebp - 0x27c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x264]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x26c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, ebx
call fcn.00418057
ret