Function at 0x1000aca0
Capabilities:
Copy file
Create directory
Enumerate files on windows
Get disk information
Get memory capacity
Move file
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], 1
mov dword [ebp - 4], 1
cmp dword [ebp + 0xc], 1
jne 0x1000aecc
movzx eax, byte [0x1003fb00]
test eax, eax
je 0x1000aecc
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 3
jne 0x1000aecc
push 0
call dword [sym.imp.KERNEL32.dll_InterlockedFlushSList]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNamedPipeInfo]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MoveFileTransactedW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ReadConsoleInputW]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AddResourceAttributeAce]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ReOpenFile]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_SelectPalette]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNamedPipeServerSessionId]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetSystemFileCacheSize]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommConfig]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetStringTypeExW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNamedPipeServerSessionId]
push 0
call dword [sym.imp.KERNEL32.dll_SetUserGeoID]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLanguageGroupsW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PowerClearRequest]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSymbolicLinkTransactedW]
push 0
push 0
call dword [sym.imp.GDI32.dll_GetCurrentObject]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRoundRectRgn]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberOfConsoleInputEvents]
push 0
push 0
call dword [sym.imp.GDI32.dll_RestoreDC]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileNameW]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateFontW]
push 0
call dword [sym.imp.KERNEL32.dll_FindVolumeMountPointClose]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
push 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0
push 0
call dword [sym.imp.GDI32.dll_SetMapMode]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentConsoleFont]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFileEx]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
movzx ecx, byte [0x1003fb00]
test ecx, ecx
je 0x1000aedc
call fcn.10009730
cmp dword [0x1003fb04], 0x7a9d792
jne 0x1000b076
push 0
call dword [sym.imp.GDI32.dll_GetLayout]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_Pie]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLongPathNameTransactedW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
push 0
call dword [sym.imp.GDI32.dll_StrokePath]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformationForYear]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
call dword [sym.imp.KERNEL32.dll_DebugBreakProcess]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Wow64SetThreadContext]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetDIBits]
push 0
call dword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ContinueDebugEvent]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PrefetchVirtualMemory]
push 0
call dword [sym.imp.GDI32.dll_CancelDC]
push 0
call dword [sym.imp.KERNEL32.dll_CallbackMayRunLong]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_PlayEnhMetaFileRecord]
push 0
push 0
push 0x1006a8fc
push 0
push 0x1006a928
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExEx]
push 0
call dword [sym.imp.KERNEL32.dll_AttachConsole]
push 0
call dword [sym.imp.KERNEL32.dll_FindAtomW]
push 0
push 0
call dword [sym.imp.GDI32.dll_SetArcDirection]
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_EnumObjects]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
push 0
push 0
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateBitmap]
push 0
push 0
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapFree]
push 0
call dword [sym.imp.GDI32.dll_DeleteMetaFile]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
push 0
push 0
call dword [sym.imp.GDI32.dll_GetDCOrgEx]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 4], 0
jne 0x1000b086
push 0
call fcn.10005840
add esp, 4
cmp dword [0x1003fb04], 0xc01075
jne 0x1000b26c
push 0
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push 0
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0
call dword [sym.imp.KERNEL32.dll_CloseThreadpoolWait]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileNameW]
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCurrentConsoleFontEx]
push 0
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetOutlineTextMetricsW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0
call dword [sym.imp.GDI32.dll_GetLayout]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommConfig]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push 0
push 0x1006a950
push 0x1006a978
call dword [sym.imp.KERNEL32.dll_CopyFile2]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForThreadpoolTimerCallbacks]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetTextExtentExPointW]
call dword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileBandwidthReservation]
push 0
call dword [sym.imp.GDI32.dll_GetTextAlign]
push 0
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0
call dword [sym.imp.GDI32.dll_GetTextCharset]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_AngleArc]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FlsSetValue]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PrefetchVirtualMemory]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileTransactedW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetMailslotInfo]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CheckTokenMembershipEx]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
push 0
push 0
call dword [sym.imp.GDI32.dll_GetAspectRatioFilterEx]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_RtlUnwind]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenWaitableTimerW]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret 0xc