Function at 0x449ea6
Capabilities:
Check if file exists
Create directory
Delete file
Get common file path
Get file attributes
Set file attributes

Disassembly:
sub esp, 0x454
push ebx
push ebp
push esi
push edi
push dword [0x491cac]
xor ebp, ebp
mov ebx, edx
push dword [0x491ca4]
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, 0x491ca0
mov ecx, esi
call fcn.00403fdc
push esi
mov esi, 0x491eb8
mov ecx, esi
call fcn.004038c3
push 0x5c
mov ecx, esi
call fcn.0040456a
test eax, eax
jle 0x449f0a
mov ecx, dword [0x491ebc]
test ecx, ecx
je 0x449f0a
cmp eax, dword [0x491ec0]
jae 0x449f0a
xor edx, edx
mov dword [0x491ec0], eax
mov word [ecx + eax*2], dx
push 0x4c7500
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
call fcn.0040f827
test al, al
je 0x449f25
xor al, al
jmp 0x44a17b
push 6
push ebp
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea ecx, [esp + 0x248]
call fcn.00403624
lea ecx, [esp + 0x30]
call fcn.00403624
push dword [esp + 0x24c]
push ebp
push ebp
push 0x1a
push ebp
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea ecx, [esp + 0x248]
call fcn.00403fdc
push dword [esp + 0x24c]
lea eax, [esp + 0x34]
push str._sMetaQuotes
push eax
call fcn.004011fb
add esp, 0xc
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, 0xffffffff
je 0x449fbd
test al, 0x10
je 0x449fbd
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov esi, 0x80
push esi
push dword [esp + 0x38]
call edi
mov ecx, dword [esp + 0x34]
call fcn.0040f7a5
test al, al
jne 0x449fe1
mov ecx, dword [esp + 0x34]
call fcn.0040f342
jmp 0x449fe1
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov esi, 0x80
push esi
push dword [esp + 0x38]
call edi
push dword [esp + 0x34]
call ebp
push 0
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [esp + 0x24c]
lea eax, [esp + 0x34]
push str._sMetaQuotesWebInstall
push eax
call fcn.004011fb
add esp, 0xc
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x44a0d7
test al, 0x10
je 0x44a0d7
push esi
push dword [esp + 0x38]
call edi
mov ecx, dword [esp + 0x34]
call fcn.0040f7a5
test al, al
jne 0x44a032
mov ecx, dword [esp + 0x34]
call fcn.0040f342
xor ebp, ebp
sub esp, 0x20
call fcn.0040f0d4
push ecx
push str.main
push ecx
mov esi, 0x4ba070
mov ecx, esi
call fcn.00403785
push str.core.exe
mov ecx, 0x4ba8ec
call fcn.00403488
push 1
push 0x4710d0
push str.acoaoprbuhxvkfywgweedlovptddahwozl
push 0x471148
call fcn.00440b75
sub esp, 0xc
call fcn.00446083
sub esp, 0x10
call fcn.00444f53
cmp byte [0x4c6ef1], 0
jne 0x44a0af
mov edi, 0x4c363c
mov ecx, edi
call fcn.00403c08
test al, al
jne 0x44a0af
push 0x400000
push esi
push 0x40ebed
mov ecx, edi
call fcn.00403ba7
xor esi, esi
push 0x44a186
inc esi
push esi
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
push 0x44a1ae
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
test ebx, ebx
je 0x44a0f6
xor eax, eax
cmp word [ebx], bp
cmovne eax, ebx
jmp 0x44a0f8
push esi
push dword [esp + 0x38]
call edi
push dword [esp + 0x34]
call ebp
xor ebp, ebp
push ebp
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x44a034
mov eax, ebp
push ecx
push eax
call fcn.0044c709
call fcn.0044c83c
push eax
call fcn.00444f05
push 0x45e648
mov ecx, 0x4b9590
call fcn.00445ff1
cmp dword [0x4c74f8], 0
jne 0x44a147
lea eax, [esp + 0x28]
mov dword [esp + 0x18], esi
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], ebp
push eax
push 0x4c74f8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push ebp
push ebp
push ebp
push ebp
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 8
push ecx
mov dword [esp + 0x18], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
sub esp, 0xc
call fcn.0040e5c2
call fcn.0040e3d8
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x454
ret